:root{--bg0:#05070a;--bg1:#0b0f14;--panel:#0d1116cc;--text:#ece7db;--muted:#9aa3ad;--faint:#616b76;--line:#ffffff14;--accent:#c99a4b;--accent-soft:#c99a4b24;--radius:14px;--serif:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg0);width:100%;height:100%;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;overflow:hidden}body{background:linear-gradient(180deg, #0d1218 0%, var(--bg0) 46%, #040608 100%)}#stage{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;top:0;bottom:0;left:0;right:0}.vignette{pointer-events:none;z-index:2;background:radial-gradient(80% 66% at 50% 44%,#0000 55%,#0000006b 100%),linear-gradient(#0000004d,#0000 16% 78%,#00000080);position:fixed;top:0;bottom:0;left:0;right:0}.eyebrow{letter-spacing:.01em;color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:500;line-height:1.2;display:flex}.dot{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.topbar{z-index:10;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 26px;display:flex;position:fixed;top:0;left:0;right:0}.brand,.current{pointer-events:auto}.brand h1{font-family:var(--serif);letter-spacing:-.02em;text-shadow:0 2px 26px #0009;margin:6px 0 8px;font-size:clamp(32px,4vw,52px);font-weight:400;line-height:1}.stats{color:var(--faint);letter-spacing:.01em;white-space:nowrap;align-items:center;gap:0;font-size:12px;display:flex}.stats span+span{border-left:1px solid var(--line);margin-left:10px;padding-left:10px}.current{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(14px);border-radius:12px;align-items:center;gap:12px;padding:8px 14px 8px 8px;transition:border-color .3s;display:flex;box-shadow:0 12px 40px #0006}.current-card{aspect-ratio:2/3;background:#090c10;border:1px solid #ffffff1a;border-radius:8px;flex:none;width:68px;position:relative;overflow:hidden}.current-card img{object-fit:contain;width:100%;height:100%;display:block}.current-card .scanline{display:none}.current-meta{min-width:122px}.current-time{letter-spacing:.01em;font-variant-numeric:tabular-nums;color:var(--text);margin:6px 0 2px;font-size:19px;font-weight:450}.current-name{color:var(--faint);white-space:nowrap;text-overflow:ellipsis;max-width:158px;font-size:11px;overflow:hidden}.mesh-badge{color:var(--accent);background:#090c10;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:none;position:absolute;top:0;bottom:0;left:0;right:0}.mesh-badge svg{opacity:.9;width:30px;height:30px}.mesh-badge span{letter-spacing:.08em;font-size:10px;font-weight:600}.current.is-mesh .current-card img{display:none}.current.is-mesh .mesh-badge{display:flex}.current.is-mesh{border-color:#c99a4b66}.hint{z-index:8;letter-spacing:.01em;color:#fff6;pointer-events:none;white-space:nowrap;font-size:11.5px;transition:opacity 1.2s;position:fixed;bottom:196px;left:50%;transform:translate(-50%)}.hint.hidden{opacity:0}.finale{z-index:9;border-left:2px solid var(--accent);text-align:left;opacity:0;pointer-events:none;text-shadow:0 2px 26px #0009;max-width:300px;padding-left:14px;transition:opacity .9s,transform .9s cubic-bezier(.22,1,.36,1);position:fixed;bottom:208px;left:26px;transform:translateY(10px)}.finale.show{opacity:1;transform:translateY(0)}.finale .eyebrow{color:var(--accent);margin-bottom:6px}.finale h2{font-family:var(--serif);letter-spacing:-.015em;margin:0 0 6px;font-size:clamp(26px,2.4vw,34px);font-weight:400;line-height:1.02}.finale-meta{letter-spacing:.01em;color:var(--muted);font-size:11.5px}.glass{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 60px #00000080}.timeline{z-index:20;border-radius:var(--radius);width:min(1120px,100vw - 32px);padding:12px 14px 10px;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.tl-top{grid-template-columns:auto auto minmax(90px,1fr) auto;align-items:center;gap:14px;margin-bottom:10px;display:grid}.transport{align-items:center;gap:2px;display:flex}.icon-btn{-webkit-appearance:none;appearance:none;color:#8d959f;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;transition:color .15s,background .15s;display:grid}.icon-btn svg{width:15px;height:15px}.icon-btn:hover{color:#fff;background:#ffffff12}.icon-btn:active{background:#ffffff1a}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.play-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.speeds button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.thumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.play-btn{-webkit-appearance:none;appearance:none;background:var(--accent);color:#1a1408;cursor:pointer;border:0;border-radius:50%;place-items:center;width:38px;height:38px;margin:0 4px;padding:0;transition:background .15s;display:grid}.play-btn:hover{background:#d8ab60}.play-btn svg{width:16px;height:16px}.icon-pause,.play-btn.is-playing .icon-play{display:none}.play-btn.is-playing .icon-pause{display:block}.tl-status{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;font-size:11.5px;display:flex}#tl-index{color:var(--text);font-weight:600}#tl-time{color:var(--faint);font-variant-numeric:tabular-nums;font-size:11.5px}.tl-progress{--p:0%;align-items:center;min-width:80px;height:24px;display:flex;position:relative}.tl-progress:before,.tl-progress:after{content:"";pointer-events:none;border-radius:99px;height:3px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.tl-progress:before{background:#ffffff1f;right:0}.tl-progress:after{width:var(--p);background:var(--accent)}#scrub{-webkit-appearance:none;appearance:none;z-index:2;cursor:pointer;background:0 0;width:100%;height:24px;margin:0;position:relative}#scrub::-webkit-slider-runnable-track{background:0 0;height:24px}#scrub::-moz-range-track{background:0 0;height:24px}#scrub::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--text);border:3px solid var(--accent);border-radius:50%;width:13px;height:13px;margin-top:5.5px}#scrub::-moz-range-thumb{background:var(--text);border:3px solid var(--accent);border-radius:50%;width:8px;height:8px}.ticks{pointer-events:none;z-index:1;height:6px;position:absolute;top:9px;bottom:auto;left:0;right:0}.tick{background:#c99a4b99;width:1px;height:6px;position:absolute;top:0;transform:translate(-.5px)}.speeds{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:9px;align-items:center;gap:2px;padding:3px;display:flex}.speeds button{-webkit-appearance:none;appearance:none;color:var(--muted);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 9px;font-size:11.5px;transition:color .15s,background .15s}.speeds button:hover{color:var(--text)}.speeds button.active{color:var(--accent);background:var(--accent-soft)}.strip-wrap{border-top:1px solid var(--line);padding-top:8px;position:relative}.strip{scrollbar-width:none;align-items:stretch;gap:4px;padding:2px 1px;display:flex;position:relative;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 1.6% 98.4%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 1.6% 98.4%,#0000 100%)}.strip::-webkit-scrollbar{display:none}.thumb{-webkit-appearance:none;appearance:none;cursor:pointer;opacity:.55;background:#10141a;border:1px solid #ffffff14;border-radius:6px;flex:none;width:auto;height:54px;padding:0;transition:opacity .18s,border-color .18s;position:relative;overflow:hidden}.thumb img{object-fit:cover;pointer-events:none;width:auto;height:100%;display:block}.thumb:hover{opacity:.95;border-color:#ffffff38}.thumb.current{opacity:1;border-color:var(--accent);z-index:2}.gap{color:#c99a4bb3;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:4px;width:24px;font-size:10px;display:flex}.gap:before{content:"";background:repeating-linear-gradient(#c99a4b80 0 2px,#0000 2px 4px);width:1px;height:14px}.mesh-thumb{color:#c99a4be6;background:#0d1116;border-style:dashed;border-color:#c99a4b59;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:54px;display:flex}.mesh-thumb svg{opacity:.9;width:22px;height:22px}.mesh-thumb span{letter-spacing:.06em;font-size:10px;font-weight:600}.mesh-thumb.current{border-style:solid}.loader{z-index:100;background:var(--bg0);place-items:center;transition:opacity .7s,visibility .7s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.loader.done{opacity:0;visibility:hidden;pointer-events:none}.loader-inner{text-align:center;width:min(340px,100vw - 64px)}.loader-mark{border:1px solid #c99a4b80;border-radius:50%;place-items:center;width:40px;height:40px;margin:0 auto 20px;display:grid}.loader .eyebrow{color:var(--accent);justify-content:center;margin-bottom:10px}.loader h2{font-family:var(--serif);letter-spacing:-.015em;margin:0 0 26px;font-size:clamp(26px,4vw,36px);font-weight:400}.bar{background:#ffffff1a;border-radius:99px;height:2px;overflow:hidden}.bar>div{background:var(--accent);border-radius:99px;width:0%;height:100%;transition:width .28s}.loader-text{color:var(--faint);font-variant-numeric:tabular-nums;margin-top:12px;font-size:12px}@media (max-width:900px){.topbar{padding:16px 18px}.brand h1{font-size:36px}.current-card{width:58px}.current-name{max-width:104px}.hint{bottom:188px}.finale{bottom:202px}}@media (max-width:720px){.current{display:none}.timeline{width:calc(100vw - 18px);padding:10px 11px 8px;bottom:9px}.tl-top{grid-template-columns:auto 1fr auto;gap:8px 10px}.tl-status{justify-content:center;display:flex}#tl-time{display:none}.tl-progress{grid-area:2/1/auto/-1}.speeds{display:flex}.thumb{height:46px}.mesh-thumb{width:46px}.gap{width:18px}.hint{bottom:160px}.finale{border-left:none;border-right:2px solid var(--accent);text-align:right;max-width:220px;padding-left:0;padding-right:10px;top:100px;bottom:auto;left:auto;right:14px}.finale .eyebrow{display:none}.finale h2{margin:0 0 3px;font-size:20px}.finale-meta{font-size:10.5px}}@media (max-width:520px){.topbar{padding:14px}.brand h1{margin:6px 0;font-size:29px}.brand .stats{display:none}.tl-top{gap:6px 8px}.icon-btn{width:26px;height:26px}.play-btn{width:32px;height:32px;margin:0 2px}.current{border-radius:10px;padding:5px}.hint{display:none}.finale{top:92px}}@media (max-height:640px) and (min-width:721px){.timeline{bottom:8px}.finale{bottom:154px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
