:root{color-scheme:dark;--ink:#f2ede2;--muted:#c7c6bf;--line:rgba(242,237,226,.20);--panel:rgba(15,23,28,.73);--accent:#e9b977;font-family:Inter,Arial,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0;background:#101b28;color:var(--ink);overflow:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit;border:0;background:none;cursor:pointer}button:hover{color:white}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}input[type=range]:focus-visible{outline:1px solid var(--accent);outline-offset:7px}button:disabled{opacity:.45;cursor:wait}[hidden]{display:none!important}#observatory,#scene{position:absolute;inset:0;width:100%;height:100%}#scene{object-fit:cover;outline:none;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(7,19,29,.38),transparent 24%,transparent 65%,rgba(7,14,19,.48))}.topbar{position:absolute;left:48px;right:48px;top:34px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:13px;font-size:16px;letter-spacing:3px;font-weight:500}.brand-mark{font-size:36px;color:var(--accent);line-height:1}.brand-sub{display:block;font-size:8px;letter-spacing:2.8px;margin-top:7px}.mode-switch{display:flex;gap:3px;padding:5px;border:1px solid var(--line);border-radius:30px;background:rgba(16,29,38,.37);backdrop-filter:blur(16px)}.mode-switch button{padding:10px 23px;border-radius:24px;font-size:12px;color:#ddd}.mode-switch .selected{background:var(--ink);color:#283039}.top-actions{display:flex;align-items:center;gap:22px}.text-button{font-size:12px}.icon-button{font-size:24px;line-height:1;width:34px;height:34px;display:inline-grid;place-items:center}.scene-label{position:absolute;left:50px;top:25%;max-width:440px;pointer-events:none}.eyebrow{font-size:9px;font-weight:500;letter-spacing:2.3px;line-height:1.5}.live-dot{display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;margin-right:9px;vertical-align:middle}.scene-label h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(32px,4vw,60px);letter-spacing:-1.7px;line-height:1.08;margin:18px 0 15px;max-width:410px;text-shadow:0 2px 22px #14212d55}.scene-label p{font-size:13px;line-height:1.7;color:#e7e2d8;max-width:320px;margin:0}.glass{background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(20px);box-shadow:0 8px 28px #0000000b}.right-rail{position:absolute;right:40px;top:40%;display:grid;gap:9px}.rail-button{border-radius:7px;text-align:left;padding:12px 15px;font-size:17px;display:flex;gap:11px;align-items:center}.rail-button span{font-size:11px}.rail-button:hover{background:#26323ccd}.transport{position:absolute;left:48px;right:48px;bottom:47px;border-radius:10px;padding:19px 24px 14px}.transport-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.daytime{display:flex;align-items:baseline;gap:12px}.daytime #day-clock{font-size:19px;font-variant-numeric:tabular-nums;font-weight:300}.daytime #day-phase{font-size:8px;letter-spacing:1.5px;color:#d3cfc6}.timeline-label{font-size:9px;letter-spacing:2px}.timeline-label span{font-size:8px;margin-left:13px;color:#a3adae;letter-spacing:1px}.render-status{font-size:10px;color:#dad8ce;display:flex;gap:10px}.status-divider{color:#6e7e83}.timeline-row{display:flex;align-items:center;gap:17px}.play-button{width:27px;height:30px;font-size:15px}.timeline-row input{flex:1}.timeline-row .icon-button{font-size:25px;width:25px}.timeline-ticks{display:flex;justify-content:space-between;padding:3px 43px 0;font-size:7px;letter-spacing:1.7px;color:#aeb7b6}.bottom-note{position:absolute;bottom:19px;left:49px;right:49px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:#b8c0be}.dot-separator{margin:0 9px}input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:20px;cursor:pointer;background:transparent;margin:0}input[type=range]::-webkit-slider-runnable-track{height:2px;background:rgba(232,228,212,.28);border-radius:4px}input[type=range]::-webkit-slider-thumb{appearance:none;width:9px;height:9px;background:var(--accent);border-radius:50%;margin-top:-3.5px;box-shadow:0 0 0 5px #e9b97710}input[type=range]::-moz-range-track{height:2px;background:#f3ead747}input[type=range]::-moz-range-thumb{width:9px;height:9px;background:var(--accent);border:0}input[type=range]:disabled{opacity:.35}input[type=checkbox]{accent-color:var(--accent)}.settings{position:absolute;width:290px;right:40px;top:100px;border-radius:10px;padding:20px 22px;z-index:3}.panel-heading,.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-heading{margin-bottom:22px}.settings h2{font-family:Georgia,serif;font-size:21px;font-weight:400;margin:0}.settings label{display:flex;justify-content:space-between;font-size:11px;margin-top:18px;margin-bottom:6px}.settings output{color:var(--accent)}.settings .check-label{justify-content:flex-start;gap:9px;align-items:center;margin:20px 0}.fine{font-size:10px;line-height:1.7;color:#aeb8b8}.settings .fine{margin-top:18px}.reset-button{font-size:10px;text-decoration:underline;text-underline-offset:4px;padding:8px 0;color:#d4d5cb}select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:#1a2930;color:var(--ink);font-size:11px}.viewpoints{position:absolute;left:50px;bottom:220px}.viewpoints>div{display:flex;gap:8px;margin-top:12px}.viewpoints button{border:1px solid #ffffff35;border-radius:6px;padding:13px;background:#17273088;backdrop-filter:blur(10px);color:#b6c0bf;font-size:9px}.viewpoints button span{display:block;font-size:12px;color:var(--ink);margin-top:6px}.viewpoints .selected{border-color:var(--accent);background:#34372dbb;color:var(--accent)}.viewpoints p{font-size:9px;color:#d3d6cd;margin-top:14px}.compare-panel{position:absolute;right:40px;top:130px;max-width:305px;padding:24px;border-radius:10px}.compare-panel h2{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:11px 0}.compare-panel p{font-size:12px;line-height:1.6}.compare-panel .fine{font-size:10px}.segmented{display:flex;border:1px solid var(--line);border-radius:5px;padding:3px;margin:18px 0}.segmented button{flex:1;font-size:10px;padding:10px 4px;border-radius:3px}.segmented .selected{background:var(--accent);color:#1d282d}.loading-screen{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 40%,#233b48,#111e2a 70%);z-index:20;display:grid;place-items:center;transition:opacity .7s}.loading-inner{width:360px}.loading-inner .eyebrow{color:#dcb588}.loading-inner h2{font:400 58px/1.05 Georgia,serif;letter-spacing:-2px}.loading-inner p{font-size:12px;color:#acb8ba}.loading-track{height:1px;background:#42525a;margin-top:30px;overflow:hidden}.loading-track>div{height:100%;width:30%;background:#e9b977;animation:load 1.8s infinite ease-in-out}@keyframes load{from{transform:translateX(-100%)}to{transform:translateX(440%)}}.toast{position:absolute;bottom:210px;left:50%;transform:translateX(-50%);padding:13px 20px;border-radius:8px;font-size:12px;z-index:30;max-width:80vw}.reveal-button{position:absolute;bottom:22px;right:25px;border-radius:20px;padding:10px 15px;font-size:11px;opacity:.3}.reveal-button:hover{opacity:1}.ui-hidden .topbar,.ui-hidden .scene-label,.ui-hidden .right-rail,.ui-hidden .transport,.ui-hidden .bottom-note,.ui-hidden .viewpoints,.ui-hidden .settings,.ui-hidden .compare-panel,.ui-hidden .vignette{display:none!important}dialog{color:var(--ink);border:1px solid var(--line);border-radius:14px;background:#18262ef5;padding:36px;max-width:830px;width:calc(100% - 36px);box-shadow:0 40px 100px #0007;backdrop-filter:blur(22px)}dialog::backdrop{background:#08101999;backdrop-filter:blur(8px)}dialog h2{font:400 38px/1.1 Georgia,serif;letter-spacing:-.8px;margin:12px 0 20px}dialog p{color:#c3cdca;font-size:13px;line-height:1.8}dialog .eyebrow{color:var(--accent)}.note-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:26px 0;border-top:1px solid var(--line);margin-top:28px}.note-grid article>span{font-size:9px;letter-spacing:1.5px;color:var(--accent)}.note-grid h3{font:400 22px/1.2 Georgia,serif;margin:15px 0}.note-grid p{font-size:11px}.keyboard-guide{border-top:1px solid var(--line);padding-top:20px}.keyboard-guide strong{font-size:11px;font-weight:500}.keyboard-guide p{font-size:11px}#export-dialog{max-width:510px}#export-dialog label{font-size:12px;display:block;margin:20px 0 8px}.primary-button{display:block;width:100%;padding:14px 20px;background:var(--accent);color:#18262e;border-radius:6px;margin-top:20px;font-size:12px}.primary-button:hover{background:#f3cf9b;color:#18262e}progress{width:100%;margin-top:20px;accent-color:var(--accent)}
@media(max-width:800px){.topbar{left:22px;right:22px;top:22px;gap:10px}.brand{font-size:12px;letter-spacing:2px;gap:8px}.brand-mark{font-size:30px}.brand-sub{font-size:6px;letter-spacing:1.8px}.mode-switch button{padding:9px 13px;font-size:11px}.top-actions{gap:5px}.text-button{display:none}.scene-label{left:25px;top:23%;max-width:300px}.scene-label h1{font-size:40px;max-width:300px}.scene-label p{font-size:11px;max-width:240px}.right-rail{right:22px;top:auto;bottom:190px;display:flex}.rail-button{padding:11px;font-size:17px}.rail-button span{display:none}.transport{left:20px;right:20px;bottom:43px;padding:15px 14px 12px}.timeline-label{display:none}.daytime #day-phase{font-size:7px}.render-status{font-size:9px;gap:7px}.timeline-ticks{padding:4px 35px 0;font-size:6px;letter-spacing:1px}.bottom-note{left:22px;right:22px;font-size:6px;letter-spacing:1px;bottom:20px}.settings{right:20px;top:90px;max-height:calc(100dvh - 280px);overflow:auto}.viewpoints{left:25px;bottom:205px}.viewpoints button{padding:10px}.viewpoints>div{gap:5px}.viewpoints p{font-size:8px}.viewpoints .eyebrow{font-size:7px}.compare-panel{right:20px;top:100px;max-width:270px;padding:18px}.compare-panel h2{font-size:23px}.note-grid{grid-template-columns:1fr;gap:14px;padding:20px 0}.note-grid h3{margin:7px 0}.note-grid p{margin-bottom:0}dialog{padding:24px;max-height:85dvh;overflow:auto}.loading-inner{width:280px}.loading-inner h2{font-size:48px}}
@media(max-width:480px){.topbar{flex-wrap:wrap}.mode-switch{order:3;margin:10px auto 0}.scene-label{top:27%;}.scene-label h1{font-size:32px;max-width:240px}.scene-label p{max-width:190px}.viewpoints{bottom:225px}.viewpoints p{max-width:200px}.right-rail{bottom:175px;right:20px}.transport-top{gap:8px}.daytime{gap:7px}.render-status #mode-label{display:none}.render-status .status-divider{display:none}.compare-panel{top:150px;right:20px;max-width:220px}.compare-panel p{font-size:10px}.scene-label.compare-label{display:none}}
@media(prefers-reduced-motion:reduce){.loading-track>div{animation:none}.loading-screen{transition:none}}
.research-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 25px}.research-gallery a{color:var(--ink);text-decoration:none}.research-gallery img{display:block;width:100%;height:90px;object-fit:cover;border-radius:5px;border:1px solid var(--line)}.research-gallery strong{display:block;font-size:11px;font-weight:400;margin-top:9px}.research-gallery span{display:block;font-size:9px;color:var(--muted);margin-top:4px;line-height:1.5}.research-gallery a:hover img{border-color:var(--accent)}#gallery{max-height:90dvh;overflow:auto}@media(max-width:600px){.research-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.top-actions .text-button{display:inline-block;font-size:10px}}
.saved-film{display:inline-block;color:var(--accent);font-size:12px;text-decoration:none;border-bottom:1px solid #e9b97766;padding:5px 0;margin-top:8px}.saved-film:hover{color:white}
