:root{--bg:#05070d;--panel:#0a0e1adb;--panel-solid:#0a0e1a;--border:#24304d;--text:#dfe6f5;--muted:#8794b3;--accent:#fc5;--accent-ink:#1a1405;--hover:#ffffff12;--gap:12px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;font:14px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#scene{z-index:0;touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#locators{z-index:10;pointer-events:none;position:fixed;inset:0;overflow:hidden}#locators .is-hidden{visibility:hidden;pointer-events:none}#locators .locator-ring.is-passive,#locators .locator-ring.is-passive:before{pointer-events:none}.locator-ring,.locator-label,.edge-indicator{cursor:pointer;pointer-events:auto;will-change:transform;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;padding:0;position:absolute;top:0;left:0}.locator-ring{--d:14px;--corner:clamp(5px, calc(var(--d) * .22), 14px);width:var(--d);height:var(--d)}.locator-ring:after{content:"";background:var(--c,#cfd8ee);pointer-events:none;width:7px;height:7px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg);box-shadow:0 0 0 1.5px #05070dd9}.locator-ring:before{content:"";border-radius:50%;width:max(44px,100%);height:max(44px,100%);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.locator-ring.is-selected{--t:2px;background:linear-gradient(var(--accent), var(--accent)) left top / var(--corner) var(--t) no-repeat, linear-gradient(var(--accent), var(--accent)) left top / var(--t) var(--corner) no-repeat, linear-gradient(var(--accent), var(--accent)) right top / var(--corner) var(--t) no-repeat, linear-gradient(var(--accent), var(--accent)) right top / var(--t) var(--corner) no-repeat, linear-gradient(var(--accent), var(--accent)) left bottom / var(--corner) var(--t) no-repeat, linear-gradient(var(--accent), var(--accent)) left bottom / var(--t) var(--corner) no-repeat, linear-gradient(var(--accent), var(--accent)) right bottom / var(--corner) var(--t) no-repeat, linear-gradient(var(--accent), var(--accent)) right bottom / var(--t) var(--corner) no-repeat;filter:drop-shadow(0 0 1px #000000e6)}.locator-ring.no-mark:after,.locator-ring.is-selected.is-passive:after{display:none}.locator-label{min-height:22px;color:var(--text);white-space:nowrap;background:#05070db8;border-radius:6px;align-items:center;padding:2px 7px;font-size:12px;display:inline-flex}.locator-label:before{content:"";position:absolute;inset:-11px -6px}.locator-label.is-selected{color:var(--accent-ink);background:var(--accent);font-weight:600}.edge-indicator{--angle:0deg;--ix:0;--iy:1;border:2px solid var(--accent);background:#05070dcc;border-radius:50%;place-items:center;width:44px;height:44px;margin:-22px 0 0 -22px;display:grid}.edge-arrow{border-left:12px solid var(--accent);width:0;height:0;transform:rotate(var(--angle));border-top:7px solid #0000;border-bottom:7px solid #0000}.edge-name{transform:translate(calc(-50% + var(--ix,0) * 56px), calc(-50% + var(--iy,1) * 36px));color:var(--accent);white-space:nowrap;background:#05070dd9;border-radius:6px;padding:1px 6px;font-size:12px;position:absolute;top:50%;left:50%}#toolbar,#menu-sheet,#ficha{z-index:30;position:fixed}#menu-sheet,#ficha{background:var(--panel);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.scale-switch{border:1px solid var(--border);border-radius:12px;flex:none;gap:2px;padding:3px;display:inline-flex}.scale-option{min-height:40px;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:9px;flex:1;padding:0 14px}.scale-option[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);font-weight:600}.menu-bar{gap:4px;display:flex}.tool-btn{min-height:44px;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.tool-btn.on{color:var(--accent);background:#ffcc5524;border-color:#ffcc5573}.tool-label{font-weight:500}.scale-option:not([aria-pressed=true]):hover,.tool-btn:not(.on):hover,.icon-btn:hover,.btn:hover,.body-row:hover,.place-row:hover,.switch-row:hover{background:var(--hover)}#menu-sheet{border-radius:14px;flex-direction:column;display:flex;box-shadow:0 10px 30px #00000073}#menu-sheet:focus{outline:none}.sheet-head{flex:none;justify-content:space-between;align-items:center;gap:8px;padding:10px 8px 6px 16px;display:flex}.sheet-title{margin:0;font-size:15px;font-weight:600}.icon-btn{min-width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0;display:inline-flex}.icon-btn:hover{color:var(--text)}.menu-pane{overscroll-behavior:contain;flex-direction:column;min-height:0;padding:2px 12px 14px;display:flex;overflow-y:auto}.group-title{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:16px 4px 6px;font-size:11px;font-weight:600}.kind-title{color:var(--muted);margin:10px 4px 4px;font-size:12px;font-weight:600}.settings-group:first-child .group-title{margin-top:4px}.pane-note{color:var(--muted);margin:10px 4px 0;font-size:12px;line-height:1.4}.row-note{color:var(--muted);white-space:nowrap;margin-left:auto;padding-left:12px;font-size:12px}.go-tabs{border:1px solid var(--border);border-radius:12px;flex:none;gap:2px;margin-bottom:8px;padding:3px;display:flex}.go-tab{min-height:38px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;padding:0 6px;font-size:13px}.go-tab:hover{background:var(--hover)}.go-tab[aria-selected=true]{color:var(--accent);background:#ffcc5529;font-weight:600}.body-list,.place-list{flex-direction:column;gap:2px;display:flex}.body-row,.place-row{min-height:42px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:0 12px;display:flex}.body-row.on,.place-row.on{border-color:var(--accent);background:#ffcc551a}.place-overview{border-color:var(--border);margin:4px 0 0;font-weight:600}.dot{background:var(--c,#cfd8ee);border-radius:50%;flex:none;width:10px;height:10px}.date-form{flex-direction:column;gap:10px;padding:4px 4px 0;display:flex}.field-row{grid-template-columns:1.5fr 1fr;gap:8px;display:grid}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field-label{color:var(--muted);font-size:12px}.date-input{border:1px solid var(--border);background:var(--panel-solid);width:100%;min-width:0;min-height:42px;color:var(--text);font:inherit;border-radius:10px;padding:0 10px}.date-error{color:#ff8a8a;margin:0;font-size:12px}.form-actions{gap:8px;display:flex}.form-actions .btn.primary{flex:1}.switch-row{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:9px 10px;display:flex}.switch-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.switch-label{font-weight:500}.switch-desc{color:var(--muted);font-size:12px;line-height:1.35}.switch-track{background:#2a3552;border-radius:12px;flex:none;width:40px;height:24px;transition:background .15s;position:relative}.switch-track:after{content:"";background:#c9d2e6;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch-row[aria-checked=true] .switch-track{background:var(--accent)}.switch-row[aria-checked=true] .switch-track:after{background:var(--accent-ink);transform:translate(16px)}.relief-toggle[aria-checked=true] .switch-desc{color:var(--accent)}.lighting-switch,.layer-switch{width:100%;display:flex}.layer-switch{flex-wrap:wrap;margin-top:6px}.lighting-switch .scale-option,.layer-switch .scale-option{padding:0 8px;font-size:13px}#ficha{border-radius:14px;flex-direction:column;display:flex}.ficha-head{align-items:center;gap:8px;min-height:48px;padding:4px 6px 4px 14px;display:flex}.detail-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:15px;font-weight:600;overflow:hidden}.ficha-more{padding:0 10px}.ficha-more[aria-expanded=true]{color:var(--accent)}.ficha-body{overscroll-behavior:contain;min-height:0;padding:0 14px 14px;overflow-y:auto}.btn{border:1px solid var(--border);min-height:40px;color:var(--text);cursor:pointer;background:0 0;border-radius:10px;padding:0 14px}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.btn.primary:hover{background:#ffd877}.detail-actions{flex-wrap:wrap;gap:6px;display:flex}.detail-data{grid-template-columns:auto 1fr;gap:2px 12px;margin:0 0 10px;display:grid}.detail-data dt{color:var(--muted)}.detail-data dd{font-variant-numeric:tabular-nums;margin:0}.scale-note{color:var(--muted);margin:2px 0 10px;font-size:12px}#timebar{z-index:25;background:var(--panel);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:8px 10px 6px;display:flex;position:fixed}.time-controls{align-items:center;gap:6px;display:flex}.warp{font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;min-width:128px;padding:0 6px;display:flex}.warp-factor{color:var(--accent);white-space:nowrap;font:700 22px/1.1 ui-monospace,Cascadia Mono,Consolas,monospace}.warp-equivalent{color:var(--muted);white-space:nowrap;font-size:12px}.warp.is-paused .warp-factor{color:var(--muted)}.time-date{min-height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 8px}.time-date:hover{background:var(--hover);color:var(--text)}.time-date-text{font-variant-numeric:tabular-nums;white-space:nowrap;font:500 12px/1.2 ui-monospace,Cascadia Mono,Consolas,monospace}.time-btn{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;place-items:center;width:44px;height:44px;padding:0;display:inline-grid}.time-btn:hover{background:var(--hover)}.time-btn:focus-visible,.time-date:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.time-btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.time-btn-text{font-size:22px;line-height:1}.time-boundary{border:1px solid var(--accent);color:var(--accent);text-align:center;background:#05070deb;border-radius:8px;margin:0;padding:6px 10px;font-size:12px;position:absolute;bottom:calc(100% + 6px);left:0;right:0}.time-boundary[hidden]{display:none}.time-note,.time-shortcuts{color:var(--muted);margin:8px 0 0;font-size:11px}@media (width>=768px){#timebar{bottom:max(12px, var(--safe-bottom));left:50%;transform:translate(-50%)}#timebar .time-boundary{width:max-content;max-width:90vw;left:50%;right:auto;transform:translate(-50%)}#toolbar{top:max(var(--gap), var(--safe-top));left:max(var(--gap), var(--safe-left));background:var(--panel);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;align-items:center;gap:6px;padding:5px;display:flex}#toolbar .scale-switch{border:0;border-right:1px solid var(--border);border-radius:10px 0 0 10px;padding:0 6px 0 0}#menu-sheet{top:calc(max(var(--gap), var(--safe-top)) + 64px);left:max(var(--gap), var(--safe-left));width:360px;max-height:calc(100vh - max(var(--gap), var(--safe-top)) - 64px - 112px)}#ficha{top:max(var(--gap), var(--safe-top));right:max(var(--gap), var(--safe-right));width:320px;max-height:calc(100vh - 2 * var(--gap) - 112px)}}@media (width>=768px) and (width<=1099px){#ficha{top:calc(max(var(--gap), var(--safe-top)) + 64px);max-height:calc(100vh - max(var(--gap), var(--safe-top)) - 64px - 112px)}.tool-btn{padding:0 10px}}@media (width<=767px){#toolbar{position:static}#toolbar .scale-switch{z-index:30;top:max(12px, var(--safe-top));left:max(12px, var(--safe-left));background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:148px;position:fixed}#toolbar .scale-option{padding:0 8px}#toolbar .menu-bar{z-index:31;padding:6px 8px calc(6px + var(--safe-bottom));background:var(--panel-solid);border-top:1px solid var(--border);gap:2px;position:fixed;bottom:0;left:0;right:0}.tool-btn{flex-direction:column;flex:1;gap:2px;min-height:54px;padding:4px 2px}.tool-label{font-size:11.5px}#menu-sheet{left:max(8px, var(--safe-left));right:max(8px, var(--safe-right));bottom:calc(var(--menubar-h,68px) + 8px);max-height:min(72vh, calc(100vh - var(--menubar-h,68px) - 80px))}#ficha{top:max(12px, var(--safe-top));left:calc(max(12px, var(--safe-left)) + 156px);right:max(12px, var(--safe-right));max-height:50vh}#ficha[data-expanded=true]{top:calc(max(12px, var(--safe-top)) + 56px);left:max(12px, var(--safe-left))}.ficha-head{min-height:46px;padding-left:12px}.ficha-more-text{display:none}.ficha-more,.icon-btn{min-width:44px;height:44px}#timebar{left:max(12px, var(--safe-left));right:max(12px, var(--safe-right));bottom:calc(var(--menubar-h,68px) + 8px)}#timebar .time-controls{justify-content:space-between;width:100%}.warp{flex:1;min-width:0}body[data-sheet-open=true] #timebar{display:none}.btn,.body-row,.place-row,.go-tab,.scale-option,.date-input{min-height:44px}.surface-tabs{flex-wrap:wrap}.surface-tabs .go-tab{flex:30%}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.science-title{color:var(--text);margin:12px 0 6px;font-size:12px;font-weight:600}.swatch-row{align-items:center;gap:6px;min-width:0;display:flex}.swatch{border:1px solid var(--border);border-radius:50%;flex:none;width:14px;height:14px}.provenance-scroll{max-width:100%;overflow-x:auto}.provenance{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:11px}.provenance th{color:var(--muted);text-align:left;font-weight:600}.provenance th,.provenance td{border-bottom:1px solid var(--border);vertical-align:top;padding:3px 4px}.provenance td.num{min-width:4.5em}.source-key{color:var(--accent);white-space:nowrap}.source-key.derivado{color:#8fd3ff}.source-key.maqueta{color:#ff8a7a}.caveats{color:var(--muted);margin:0;padding-left:16px;font-size:11px}.caveats li+li{margin-top:4px}[hidden]{display:none!important}.time-btn:disabled{opacity:.35;cursor:default}.time-btn:disabled:hover{background:0 0}.detail-text{color:var(--text);opacity:.88;margin:0 0 8px;font-size:12.5px;line-height:1.45}#surface-labels{z-index:9;pointer-events:none;position:fixed;inset:0;overflow:hidden}.surface-label{white-space:nowrap;color:#f4f1e8;text-shadow:0 0 3px #000000f2,0 1px 2px #000000e6;margin:-.5em 0 0 -3px;padding-left:9px;font-size:12px;line-height:1;position:absolute;top:0;left:0}.surface-label.clickable{pointer-events:auto;cursor:pointer;margin-top:calc(-.5em - 4px);padding:4px 4px 4px 9px}.surface-label.clickable:hover,.surface-label.clickable:focus-visible{color:var(--accent);text-decoration:underline}.surface-label:before{content:"";background:#f4f1e8;border-radius:50%;width:5px;height:5px;margin-top:-2.5px;position:absolute;top:50%;left:0;box-shadow:0 0 0 1px #000000b3}#place-caption{z-index:25;border:1px solid var(--border);background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:min(440px,100vw - 32px);color:var(--text);border-radius:12px;padding:12px 36px 12px 14px;font-size:13px;line-height:1.4;position:fixed;top:76px;left:50%;transform:translate(-50%)}#place-caption[hidden]{display:none}#place-caption strong{color:var(--accent);margin-bottom:4px;font-size:14px;display:block}#place-caption p{margin:0}#place-caption .caption-note{color:var(--muted);margin-top:6px;font-size:12px}#place-caption .caption-head{align-items:center;gap:10px;display:flex}#place-caption .caption-head strong{flex:1;margin-bottom:0}#place-caption .caption-info{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;flex:none;padding:3px 10px;font-size:12px}#place-caption .caption-info[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}#place-caption .caption-body{margin-top:6px}#place-caption .caption-body[hidden]{display:none}#place-caption .caption-close{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:18px;position:absolute;top:6px;right:6px}#place-caption .caption-close:hover{color:var(--text)}@media (width<=767px){#place-caption{top:auto;bottom:calc(var(--menubar-h,64px) + 104px);font-size:12px}}
