:root{--bg:#0a0a0ac7;--fg:#f4f1ea;--muted:#ffffff8c;--line:#ffffff1f;--accent:#c9a96e;--radius:14px;--serif:"Cormorant Garamond", Georgia, serif;color:var(--fg);font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:300}*{box-sizing:border-box}html,body{background:#0a0a0a;height:100%;margin:0;overflow:hidden}#viewport{position:fixed;inset:0}#viewport canvas{display:block}.panel{background:var(--bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:var(--radius);z-index:2;padding:12px 14px;position:fixed}.row{align-items:center;gap:10px;display:flex}.wrap{flex-wrap:wrap}label{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.chk{cursor:pointer}input,select,button{font:inherit;color:var(--fg)}input[type=search],input[type=date],select{border:1px solid var(--line);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#ffffff12;border-radius:8px;padding:7px 9px}input[type=range]{accent-color:var(--accent);flex:1;min-width:0}input[type=checkbox]{accent-color:var(--accent)}.btn{border:1px solid var(--line);cursor:pointer;white-space:nowrap;color:var(--fg);background:#ffffff17;border-radius:8px;justify-content:center;padding:7px 12px}.btn:hover{background:#ffffff29}.btn.primary{background:var(--accent);color:#14100a;letter-spacing:.04em;border-color:#0000;font-weight:500}.btn.ghost{background:0 0}.btn.round{border-radius:50%;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.btn.file{color:var(--fg);display:inline-flex}#top{flex-direction:column;gap:10px;width:340px;display:flex;top:16px;left:16px}.brand{font-family:var(--serif);letter-spacing:.22em;color:var(--accent);font-size:22px;font-weight:400;text-decoration:none}.brand span{color:var(--muted);letter-spacing:.3em;text-transform:uppercase;vertical-align:3px;margin-left:10px;font-family:Inter,sans-serif;font-size:10px}#search{gap:8px;display:flex}#search input{flex:1;min-width:0}#status{color:var(--muted);min-height:0;font-size:13px}#status:empty{display:none}#status.err{color:#ff8a7a}#info{flex-direction:column;gap:8px;width:250px;max-height:calc(100vh - 250px);display:flex;top:16px;right:16px;overflow-y:auto}#info h2{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:8px 0 0;font-size:11px;font-weight:600}#info h2:first-child{margin-top:0}dl{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;display:grid}dt{color:var(--muted)}dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.note{color:var(--fg);margin:0;font-size:13px;line-height:1.4}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:12px;display:flex}.sw{border-radius:2px;width:10px;height:10px;display:inline-block}.sw.a{background:#eae7e0}.sw.b{background:#dcc9a6;margin-left:6px}.range output{text-align:right;width:36px;color:var(--fg)}.btns{flex-direction:column;gap:6px;display:flex}#infoToggle{z-index:3;background:var(--bg);font-weight:600;display:none;position:fixed;top:16px;right:16px}#timebar{flex-direction:column;gap:10px;width:min(720px,100vw - 32px);display:flex;bottom:16px;left:50%;transform:translate(-50%)}#timebar .row:first-child{flex-wrap:wrap;justify-content:space-between}.presets{gap:6px;display:flex}.presets button{border:1px solid var(--line);cursor:pointer;color:var(--muted);background:0 0;border-radius:999px;padding:4px 10px}.presets button:hover{color:var(--fg);border-color:var(--accent)}#timeVal{text-align:center;font-variant-numeric:tabular-nums;width:64px;color:var(--accent);font-size:20px;font-weight:600}.play{flex:none}#compass{background:var(--bg);border:1px solid var(--line);z-index:2;border-radius:50%;width:48px;height:48px;position:fixed;bottom:150px;right:16px}#compass .rose{position:absolute;inset:0}#compass .rose span{color:var(--accent);font-size:12px;font-weight:600;position:absolute;top:4px;left:50%;transform:translate(-50%)}#compass .rose:after{content:"";border-left:5px solid #0000;border-right:5px solid #0000;border-bottom:10px solid var(--accent);width:0;height:0;margin-left:-5px;position:absolute;top:18px;left:50%}#compass .rose:before{content:"";border-left:5px solid #0000;border-right:5px solid #0000;border-top:10px solid var(--muted);width:0;height:0;margin-left:-5px;position:absolute;top:28px;left:50%}#resetView{z-index:2;background:var(--bg);position:fixed;bottom:206px;right:22px}#attrib{color:#ffffff73;z-index:1;text-shadow:0 1px 2px #0009;font-size:11px;position:fixed;bottom:4px;left:8px}#attrib a{color:inherit}@media (width<=760px){#top{width:auto;padding:10px;top:8px;left:8px;right:8px}#infoToggle{display:inline-flex;top:auto;bottom:170px;right:12px}#info{width:auto;max-height:50vh;display:none;inset:auto 56px 170px 8px}#info.open{display:flex}#timebar{width:calc(100vw - 16px);padding:10px;bottom:8px}#compass{bottom:220px;right:12px}#resetView{bottom:276px;right:18px}}.hint{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.hint a{color:var(--accent)}.hint code{color:var(--fg);font-size:11px}#info h2{letter-spacing:.12em}#timeVal{font-family:var(--serif);font-size:26px;font-weight:400}#consent{z-index:10;-webkit-backdrop-filter:blur(4px);background:#0505058c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}#consent[hidden]{display:none}.cs-box{background:#0c0c0ceb;border:.5px solid #c9a96e59;border-radius:18px;flex-direction:column;gap:14px;max-width:460px;padding:28px 26px 22px;display:flex;box-shadow:0 40px 90px -30px #000000e6}.cs-lab{letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin:0;font-size:9px}.cs-box h2{font-family:var(--serif);text-wrap:balance;margin:0;font-size:34px;font-weight:300;line-height:1.08}.cs-box p{color:#ffffffb8;margin:0;font-size:13.5px;line-height:1.7}.cs-box b{color:#fff;font-weight:400}.cs-btns{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.cs-btns .btn{padding:11px 16px}.cs-note{color:var(--muted)!important;font-size:12px!important}.cs-note a,#attrib a{color:inherit}#loading{z-index:5;pointer-events:none;background:#0a0a0a59;place-items:center;padding:16px;display:grid;position:fixed;inset:0}#loading[hidden]{display:none}.ld-card{pointer-events:auto;-webkit-backdrop-filter:blur(12px);background:#0c0c0ce6;border:.5px solid #c9a96e59;border-radius:18px;align-items:flex-start;gap:18px;max-width:420px;padding:22px 24px;display:flex;box-shadow:0 30px 80px -30px #000000e6}.ld-sun{border:1px dashed #c9a96e73;border-radius:50%;flex:none;width:46px;height:46px;animation:3.2s linear infinite ld-rot;position:relative}.ld-sun i{background:var(--accent);border-radius:50%;width:12px;height:12px;margin-left:-6px;position:absolute;top:-6px;left:50%;box-shadow:0 0 14px #c9a96ee6}@keyframes ld-rot{to{transform:rotate(360deg)}}#loading.err .ld-sun{opacity:.4;animation:none}.ld-body{flex-direction:column;gap:10px;min-width:0;display:flex}.ld-t{font-family:var(--serif);justify-content:space-between;align-items:baseline;gap:14px;margin:0;font-size:24px;font-weight:400;display:flex}.ld-sec{color:var(--muted);font-variant-numeric:tabular-nums;font-family:Inter,sans-serif;font-size:12px}.ld-steps{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);gap:16px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.ld-steps li{align-items:center;gap:7px;display:flex}.ld-steps li:before{content:"";border:1px solid var(--accent);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite ld-pulse}.ld-steps li[data-st=ok]{color:var(--fg)}.ld-steps li[data-st=ok]:before{background:var(--accent);animation:none}.ld-steps li[data-st=err]:before{background:#e0806e;border-color:#e0806e;animation:none}@keyframes ld-pulse{50%{opacity:.25}}.ld-msg{color:#ffffffb3;margin:0;font-size:13px;line-height:1.6}.ld-btns{gap:8px;display:flex}@media (prefers-reduced-motion:reduce){.ld-sun,.ld-steps li:before{animation:none}}
