:root{--ink: #f3ead9;--ink-dim: rgba(243, 234, 217, .62);--glass: rgba(16, 18, 42, .55);--line: rgba(243, 234, 217, .18);--font: "Avenir Next", "Segoe UI", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#0b0d24;color:var(--ink);font:15px/1.4 var(--font)}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#scene.dragging{cursor:grabbing}.bank-titles span{position:fixed;top:0;left:0;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim);pointer-events:none;will-change:transform}.search{position:fixed;left:50%;top:max(16px,env(safe-area-inset-top));transform:translate(-50%);width:min(320px,78vw)}.search input{width:100%;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:var(--glass);color:var(--ink);font:inherit;outline:none;backdrop-filter:blur(6px)}.search input::placeholder{color:var(--ink-dim)}.search input:focus{border-color:#f3ead973}.suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;margin:0;padding:4px;list-style:none;background:#0e1028eb;border:1px solid var(--line);border-radius:12px;max-height:50vh;overflow:auto}.suggest li{padding:7px 12px;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;gap:12px}.suggest li[aria-selected=true],.suggest li:hover{background:#f3ead91a}.suggest .meta{color:var(--ink-dim);font-size:13px}.focus{position:fixed;left:0;top:0;padding:5px 11px;border-radius:999px;white-space:nowrap;background:#0e1028c7;border:1px solid var(--line);font-size:13px;pointer-events:none}.intro{position:fixed;left:50%;top:36%;transform:translate(-50%,-50%);width:min(560px,88vw);text-align:center;pointer-events:none;text-shadow:0 0 18px rgba(8,9,26,.8);animation:intro-in 1.2s ease-out both}.intro h1{margin:0 0 12px;font-size:clamp(32px,5.2vw,54px);font-weight:300;letter-spacing:.06em}.intro-lede{margin:0 0 14px;font-size:clamp(15px,1.6vw,18px)}.intro-key{margin:0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim)}.intro-key span{white-space:nowrap}@keyframes intro-in{0%{opacity:0}to{opacity:1}}.hint{position:fixed;left:50%;top:70px;transform:translate(-50%);color:var(--ink-dim);font-size:13px;pointer-events:none;transition:opacity .8s}.timeline{position:fixed;left:0;right:0;bottom:0;display:flex;align-items:center;gap:14px;padding:14px max(18px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:linear-gradient(to top,#08091ab3,#08091a00)}.year{font-size:40px;font-weight:300;letter-spacing:.02em;min-width:2.6em;font-variant-numeric:tabular-nums}.play{width:36px;height:36px;flex:none;border-radius:50%;border:1px solid var(--line);background:var(--glass);color:var(--ink);cursor:pointer;display:grid;place-items:center;padding:0}.play:before{content:"";width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor}.play.paused:before{width:0;height:0;border:0;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:3px}#scrub{flex:1;accent-color:#f0c987;height:24px}.speed{display:flex;flex:none;border:1px solid var(--line);border-radius:999px;background:var(--glass);overflow:hidden}.speed button{border:0;background:transparent;color:var(--ink-dim);font:inherit;font-size:13px;padding:7px 10px;cursor:pointer;font-variant-numeric:tabular-nums}.speed button[aria-pressed=true]{color:var(--ink);background:#f3ead924}.speed button:focus-visible,.play:focus-visible{outline:2px solid #f0c987;outline-offset:1px}.search .note{position:absolute;top:calc(100% + 6px);left:0;right:0;padding:8px 12px;border-radius:12px;background:#0e1028eb;border:1px solid var(--line);font-size:13px;color:var(--ink-dim)}.focus.pinned{border-color:#f0c987b3;box-shadow:0 0 18px #f0c98740}.pair-tag{position:fixed;left:0;top:0;padding:1px 7px;border-radius:999px;font-size:11px;color:#ffd98f;background:#0e102899;pointer-events:none;font-variant-numeric:tabular-nums}.corner{position:fixed;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));display:flex;gap:8px}.corner>button,.share>button{height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--glass);color:var(--ink);font:inherit;font-size:14px;cursor:pointer;backdrop-filter:blur(6px)}.corner button:hover{border-color:#f3ead973}.corner button:focus-visible,.about-close:focus-visible,.about a:focus-visible{outline:2px solid #f0c987;outline-offset:2px}.share{position:relative}.share-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:150px;padding:4px;display:grid;background:#0e1028f0;border:1px solid var(--line);border-radius:12px}.share-menu[hidden],.toast[hidden]{display:none}.share-menu button{text-align:left;padding:8px 12px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:14px;cursor:pointer}.share-menu button:hover,.share-menu button:focus-visible{background:#f3ead91a;outline:none}.toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%);padding:7px 14px;border-radius:999px;background:#0e1028e6;border:1px solid var(--line);font-size:13px;pointer-events:none}.about{position:fixed;inset:0;background:#0506128c;display:grid;place-items:center;padding:20px;z-index:10}.about[hidden]{display:none}.about-card{position:relative;width:min(560px,100%);max-height:min(82vh,760px);overflow:auto;padding:26px 28px 22px;background:#0e1028f5;color:var(--ink);border:1px solid var(--line);border-radius:18px;line-height:1.55}.about-card h2{margin:0 32px 10px 0;font-size:22px;font-weight:500}.about-card h3{margin:18px 0 6px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}.about-card p,.about-card li{font-size:14.5px}.about-card ul{margin:0;padding-left:18px}.about-card li{margin:6px 0}.about-card b{font-weight:600}.about-card a{color:#f0c987}.about-card code{font-size:13px}.about-foot{margin:18px 0 0;color:var(--ink-dim);font-size:13px!important}.about-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:20px;line-height:1;cursor:pointer}@media(max-width:640px){.search{left:16px;transform:none;width:calc(100vw - 172px)}.corner{gap:6px}.timeline{flex-wrap:wrap;row-gap:4px;padding-top:6px}#scrub{order:-1;flex-basis:100%}.year{font-size:34px}.toast{bottom:128px}.corner>button,.share>button{padding:0 11px;font-size:13px}}
