@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Space+Grotesk:wght@600;700&display=swap";:root{color-scheme:light;font-family:Inter,system-ui,sans-serif;line-height:1.5;font-weight:450;color:#111;background:linear-gradient(150deg,#f4f0eb,#e8e4de);--panel: rgba(255, 255, 255, .88);--panel-strong: rgba(10, 10, 15, .9);--panel-border: rgba(0, 0, 0, .07);--panel-border-dark: rgba(255, 255, 255, .09);--shadow: 0 4px 20px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .07);--accent: #ff4500;--accent-muted: #ff7038;--text-soft: rgba(255, 255, 255, .72);--text-dim: rgba(255, 255, 255, .42);--r: 13px;--r-sm: 8px}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{min-height:100vh}button,select,input{font:inherit}button,select{border:1px solid rgba(255,255,255,.14);background:#ffffff1a;color:inherit;border-radius:var(--r-sm);padding:.29rem .52rem;font-size:.78rem;font-weight:500;letter-spacing:-.01em;cursor:pointer;transition:background .11s ease,border-color .11s ease,transform .1s ease}button:hover,select:hover{background:#ffffff29;border-color:#ffffff42}button:active{transform:scale(.96)}button[data-active=true]{background:var(--accent);color:#fff;border-color:transparent;font-weight:600}select{min-width:7rem}.shell{min-height:100vh;padding:.6rem}.scene-panel{min-height:calc(100vh - 1.2rem)}.viewer-frame{position:relative;min-height:calc(100vh - 1.2rem);overflow:hidden;border-radius:20px;border:1px solid rgba(255,255,255,.55);box-shadow:var(--shadow);background:#cfd8d4}.scene-host,.scene-host canvas{display:block;width:100%;height:100%}.scene-host{position:absolute;inset:0}.gradient-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#00000024,#0000 16%),linear-gradient(0deg,#00000038,#0000 18%)}.hud{position:absolute;z-index:2}.hud-primary,.hud-controls,.hud-bottom,.hud-attribution{backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%)}.hud-primary{top:.7rem;left:.7rem;max-width:min(14rem,calc(100vw - 2rem));padding:.56rem .68rem .6rem;border-radius:var(--r);background:var(--panel);border:1px solid var(--panel-border);box-shadow:0 2px 10px #00000012}.hud-controls{top:.7rem;right:.7rem;display:grid;gap:.28rem;width:min(10.8rem,calc(100vw - 1.4rem));padding:.46rem;border-radius:var(--r);background:var(--panel-strong);color:#fff;overflow:hidden;box-shadow:0 2px 14px #00000038}.hud-bottom{left:50%;bottom:.7rem;transform:translate(-50%);display:grid;gap:.38rem;width:min(22rem,calc(100vw - 1.4rem))}.focus-card,.hint{margin:0;padding:.38rem .46rem;border-radius:var(--r-sm);background:#ffffff0f;color:#fff;border:1px solid var(--panel-border-dark)}.focus-card label{display:block;margin-bottom:.16rem;color:var(--text-dim);font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.nav-card{display:grid;gap:.28rem}.nav-head{display:flex;align-items:center;justify-content:space-between;gap:.28rem}.north-button{display:inline-flex;align-items:center;gap:.26rem;padding:.22rem .38rem;font-size:.66rem;line-height:1}.north-indicator{position:relative;width:.88rem;height:.88rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#ffffff14}.north-needle{position:absolute;left:50%;top:50%;width:.11rem;height:.36rem;border-radius:999px;background:linear-gradient(180deg,#ff9060,#ff4500);transform-origin:center bottom;transform:translate(-50%,-100%)}.nav-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.22rem}.focus-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.22rem;align-items:center}#marker-select{display:block;width:100%;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:1.4rem}.hud-attribution{left:.7rem;bottom:.7rem;max-width:min(11rem,calc(100vw - 2rem));padding:.3rem .46rem;border-radius:8px;background:#ffffffc2;border:1px solid rgba(0,0,0,.06);font-size:.59rem}.hud-attribution a{color:#555;text-decoration:none}.hud-attribution a:hover{text-decoration:underline}.chip-row{display:flex;gap:.22rem;flex-wrap:wrap}.control-row{display:grid;gap:.22rem}.mode-row,.action-row{grid-template-columns:repeat(2,minmax(0,1fr))}.toggle-row{grid-template-columns:minmax(0,1fr)}.speed-row{grid-template-columns:repeat(4,minmax(0,1fr))}.mode-row button,.action-row button,.toggle-row button,.speed-row button,.focus-row button,.nav-grid button{width:100%;min-width:0}.playback-card{display:grid;gap:.22rem}.eyebrow{margin:0 0 .16rem;font-size:.52rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:#00000061}.hud-controls .eyebrow,.hud-bottom .eyebrow{color:var(--text-dim)}h1{margin:0;font-family:Space Grotesk,system-ui,sans-serif;font-size:clamp(.92rem,1.25vw,1.25rem);line-height:1.1;letter-spacing:-.04em;font-weight:700}.subtitle,.meta,.metric,.hint,.loading-state{margin:0}.subtitle{margin-top:.18rem;font-size:.69rem;color:#00000085;font-weight:500}.meta,.metric{color:var(--text-soft);font-size:.69rem}.slider-label,.focus-card label{line-height:1}.hud-primary .meta,.hud-primary .metric{color:#00000075}button[data-speed]{padding-left:0;padding-right:0}input[type=range]{width:100%;accent-color:var(--accent);margin:0}.loading-state{position:absolute;left:50%;top:.7rem;transform:translate(-50%);padding:.38rem .72rem;border-radius:999px;background:#0a0a0fd6;color:#fff;text-align:center;font-size:.7rem;font-weight:500;letter-spacing:-.01em;z-index:3}.hint{font-size:.76rem;line-height:1.36}.error-shell{min-height:100vh;display:grid;place-content:center;gap:.75rem;max-width:38rem;padding:2rem}@media(max-width:640px){.shell{padding:0}.scene-panel{min-height:100svh}.viewer-frame{min-height:100svh;border-radius:0;border:none;box-shadow:none}.hud-primary{top:.55rem;left:.55rem;max-width:calc(55vw - 1rem);padding:.42rem .52rem}h1{font-size:.88rem}.subtitle{font-size:.62rem}.meta{display:none}.hud-controls{top:.55rem;right:.55rem;width:min(9.6rem,44vw);padding:.38rem;gap:.2rem}button,select{font-size:.73rem;padding:.25rem .4rem}.hud-attribution{display:none}.loading-state{top:auto;bottom:.55rem;left:.55rem;right:.55rem;transform:none}}@media(min-width:641px)and (max-width:900px){.shell{padding:.5rem}.scene-panel,.viewer-frame{min-height:calc(100vh - 1rem)}}
