:root{--bg:#070a12;--ink:#ece7db;--muted:#96a0b1;--line:#ece7db24;--accent:#ff6b35;--signal:#4fd1c5;--panel:#090c14bd;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans:"Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;padding:0;overflow-x:hidden}body{overscroll-behavior-y:none}::selection{background:var(--accent);color:#0b0d12}.app{position:relative}.stage{z-index:0;transition:opacity .4s;position:fixed;top:0;bottom:0;left:0;right:0}.stage.is-hidden{opacity:0;pointer-events:none}.stage canvas{display:block;width:100%!important;height:100%!important}.scroll-space{z-index:1;position:relative}.anchor{height:100vh}.progress-rail{z-index:40;background:#ffffff0f;height:2px;position:fixed;top:0;left:0;right:0}.progress-rail span{transform-origin:0;background:linear-gradient(90deg, #4fd1c5b3, var(--accent));width:100%;height:100%;display:block}.hud{z-index:30;pointer-events:none;justify-content:space-between;align-items:flex-start;padding:26px 30px;display:flex;position:fixed;top:0;left:0;right:0}.hud>*{pointer-events:auto}.hud-actions{align-items:center;gap:8px;display:flex}.brand{grid-template-rows:auto auto;grid-template-columns:8px auto;align-items:center;gap:2px 12px;display:grid}.brand-dot{background:var(--signal);border-radius:50%;grid-row:1/span 2;width:7px;height:7px;animation:3.4s ease-in-out infinite pulse;box-shadow:0 0 12px #4fd1c5e6}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}.brand-name{letter-spacing:.02em;font-size:13px;font-weight:500}.brand-sub{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:9.5px}.ghost-button{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#ffffff05;border-radius:999px;align-items:center;gap:4px;padding:9px 16px;font-size:10px;text-decoration:none;transition:border-color .25s,background .25s,color .25s;display:inline-flex}.ghost-button:hover{background:#ff6b3514;border-color:#ff6b3599;outline:none}.ghost-button:focus-visible{background:#ff6b3514;border-color:#ff6b3599;outline:none}.hero{z-index:12;text-align:left;pointer-events:none;opacity:0;place-content:center start;justify-items:start;padding:0 7vw;transition:opacity .7s,transform .7s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;transform:translateY(10px)}.hero.is-visible{opacity:1;transform:none}.hero>*{max-width:min(560px,52vw)}.hero-kicker{font-family:var(--mono);text-transform:uppercase;letter-spacing:.28em;color:var(--muted);margin:0 0 26px;font-size:10px}.hero-title{letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(2.8rem,6.6vw,6rem);font-weight:300;line-height:.88}.hero-sub{color:#cfd6e2;margin:30px 0 0;font-size:clamp(.95rem,1.7vw,1.15rem);font-weight:300;line-height:1.6}.hero-hint{font-family:var(--mono);text-transform:uppercase;letter-spacing:.22em;color:var(--muted);margin:42px 0 0;padding-bottom:22px;font-size:9.5px;position:relative}.hero-hint:after{content:"";background:linear-gradient(to bottom, var(--muted), transparent);width:1px;height:14px;animation:2.4s ease-in-out infinite drop;position:absolute;bottom:0;left:0}@keyframes drop{0%,to{opacity:.4;transform:scaleY(.35)}50%{opacity:1;transform:scaleY(1)}}.card{z-index:20;background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px)saturate(120%);opacity:0;pointer-events:none;border-radius:3px;width:min(408px,37vw);max-height:72vh;transition:opacity .55s,transform .55s cubic-bezier(.22,1,.36,1);position:fixed;top:50%;right:30px;overflow:hidden;transform:translateY(-50%)translate(16px);box-shadow:0 30px 80px #0000008c}.card.is-visible{opacity:1;pointer-events:auto;transform:translateY(-50%)translate(0)}.card:after{content:"";pointer-events:none;background:linear-gradient(#090c1400,#090c14f5);height:54px;position:absolute;bottom:0;left:0;right:0}.card-scroll{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;max-height:72vh;padding:26px 26px 30px;overflow-y:auto}.card-scroll::-webkit-scrollbar{width:6px}.card-scroll::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:3px}.card-head{align-items:baseline;gap:14px;display:flex}.card-index{font-family:var(--mono);letter-spacing:.1em;color:var(--accent);padding-top:6px;font-size:11px}.card-title{letter-spacing:-.02em;margin:0;font-size:1.7rem;font-weight:500;line-height:1.05}.card-machine{font-family:var(--mono);text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin:6px 0 0;font-size:9.5px}.card-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);justify-content:space-between;gap:12px;margin:18px 0 0;padding:12px 0;font-size:9.5px;display:flex}.card-year{color:var(--ink);white-space:nowrap}.signal{margin:18px 0 0}.signal-bars{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.signal-bar{background:#ffffff1a;height:3px;transition:background .6s,box-shadow .6s}.signal-bar.is-on{background:var(--signal);box-shadow:0 0 10px #4fd1c580}.signal-bar.is-lost.is-on{background:var(--accent);box-shadow:0 0 10px #ff6b3573}.signal-words{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#96a0b18c;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:7px;font-size:7.5px;display:grid}.signal-words .is-current{color:var(--ink)}.card-status{color:#cdd5e3;margin:12px 0 0;font-size:12px;line-height:1.5}.facts{margin:22px 0 0}.fact{border-bottom:1px solid #ece7db12;margin:0 0 16px;padding:0 0 16px}.fact:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.fact dt{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin-bottom:7px;font-size:9px}.fact dd{color:#d6dce8;margin:0;font-size:13.5px;font-weight:300;line-height:1.62}.voice{border-left:2px solid var(--accent);color:#f0e6d2;margin:24px 0 0;padding:0 0 0 16px;font-size:13.5px;font-weight:300;line-height:1.68}.voice-tag,.note-tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin-bottom:8px;font-size:8.5px;font-style:normal;display:block}.note{color:#e3cfc2;background:#ff6b3512;border:1px solid #ff6b3542;border-radius:2px;margin:20px 0 0;padding:13px 14px;font-size:11.5px;line-height:1.6}.sources{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.sources-title{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-size:8.5px}.sources ul{margin:10px 0 0;padding:0;list-style:none}.sources li{margin-bottom:6px}.sources a{font-family:var(--mono);color:#a9c0d8;border-bottom:1px dotted #a9c0d866;font-size:10px;line-height:1.5;text-decoration:none}.sources a:hover{color:var(--signal);border-bottom-color:var(--signal)}.timeline{z-index:25;width:min(760px,100% - 60px);position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.timeline-track{background:var(--line);height:1px;margin-bottom:16px;position:relative}.timeline-fill{transform-origin:0;background:linear-gradient(90deg, var(--signal), var(--accent));opacity:.85;position:absolute;top:0;bottom:0;left:0;right:0}.timeline ul{grid-template-columns:repeat(4,1fr);gap:10px;margin:0;padding:0;list-style:none;display:grid}.timeline-item{text-align:left;cursor:pointer;color:#b2bccceb;background:0 0;border:0;flex-direction:column;gap:3px;width:100%;padding:0;transition:color .3s;display:flex}.timeline-item:hover{color:var(--ink)}.timeline-item:focus-visible{outline:1px solid var(--accent);outline-offset:6px}.timeline-dot{border:1px solid;border-radius:50%;width:6px;height:6px;margin-bottom:5px;transition:background .3s,box-shadow .3s,border-color .3s}.timeline-item.is-active{color:var(--ink)}.timeline-item.is-active .timeline-dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 12px #ff6b35cc}.timeline-year{font-family:var(--mono);letter-spacing:.08em;opacity:.9;font-size:9px}.timeline-name{letter-spacing:.01em;font-size:12.5px;font-weight:500}.timeline-where{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;opacity:.72;font-size:8.5px}.credits{z-index:25;font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:#96a0b199;pointer-events:none;font-size:8.5px;position:fixed;top:84px;left:30px}.loader{z-index:80;background:#05070d;place-items:center;transition:opacity .8s,visibility .8s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.loader.is-done{opacity:0;visibility:hidden;pointer-events:none}.loader-inner{text-align:center;width:min(420px,100% - 56px)}.loader-kicker{font-family:var(--mono);text-transform:uppercase;letter-spacing:.3em;color:var(--signal);margin:0 0 26px;font-size:9px}.loader-title{letter-spacing:-.04em;margin:0;font-size:clamp(2.4rem,7vw,3.6rem);font-weight:300;line-height:1}.loader-sub{font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin:12px 0 34px;font-size:9.5px}.loader-track{background:#ffffff1f;height:1px;overflow:hidden}.loader-track span{transform-origin:0;background:linear-gradient(90deg, var(--signal), var(--accent));width:100%;height:100%;transition:transform .35s;display:block}.loader-count{font-family:var(--mono);letter-spacing:.14em;color:var(--muted);margin:14px 0 0;font-size:10px}.loader-note{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:#96a0b173;margin:40px 0 0;font-size:8.5px}.reading{z-index:70;background:var(--bg);overscroll-behavior:contain;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.reading-bar{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#070a12eb;justify-content:space-between;align-items:center;gap:16px;padding:18px 30px;display:flex;position:sticky;top:0}.reading-kicker{font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;color:var(--muted);font-size:9px}.reading-body{max-width:740px;margin:0 auto;padding:64px 28px 120px}.reading-head h1{letter-spacing:-.04em;margin:0;font-size:clamp(2.4rem,7vw,3.4rem);font-weight:300;line-height:1}.reading-sub{font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin:12px 0 0;font-size:10px}.reading-intro{color:#cfd6e2;margin:34px 0 0;font-size:16px;font-weight:300;line-height:1.7}.reading-chapter{border-top:1px solid var(--line);margin-top:72px;padding-top:32px}.reading-chapter-head{align-items:baseline;gap:16px;display:flex}.reading-index{font-family:var(--mono);color:var(--accent);letter-spacing:.1em;font-size:11px}.reading-chapter h2{letter-spacing:-.02em;margin:0;font-size:1.9rem;font-weight:500}.reading-machine{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:6px 0 0;font-size:9.5px}.reading-status{color:var(--signal);margin:18px 0 0;font-size:13px}.reading-facts{margin:28px 0 0}.reading-facts dt{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin-bottom:8px;font-size:9px}.reading-facts dd{color:#d6dce8;margin:0 0 22px;font-size:15px;font-weight:300;line-height:1.72}.reading-voice{border-left:2px solid var(--accent);color:#f0e6d2;margin:8px 0 0;padding-left:18px;font-size:15px;font-weight:300;line-height:1.72}.reading-sources{font-family:var(--mono);color:var(--muted);margin-top:24px;font-size:10px;line-height:1.7}.reading-sources a{color:#a9c0d8;border-bottom:1px dotted #a9c0d866;text-decoration:none}.reading-footer{border-top:1px solid var(--line);font-family:var(--mono);color:#96a0b1b3;margin-top:80px;padding-top:28px;font-size:10px;line-height:1.8}@media (max-width:960px){.card{width:auto;max-height:46vh;top:auto;bottom:92px;left:14px;right:14px;transform:translateY(14px)}.card.is-visible{transform:translateY(0)}.card-scroll{max-height:46vh;padding:18px 18px 22px}.hud{padding:18px}.timeline{width:calc(100% - 36px);bottom:18px}.timeline-where,.credits{display:none}.timeline ul{gap:6px}.timeline-name{font-size:11px}.hero{text-align:center;place-content:start center;justify-items:center;padding:16vh 22px 0}.hero>*{max-width:100%}.hero-hint:after{left:50%}}@media (max-width:560px){.brand-sub{display:none}.hud-actions{gap:6px}.hud-actions .ghost-button{letter-spacing:.1em;padding:8px 10px;font-size:9px}.hud-external-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.card{max-height:44vh;bottom:88px}.card-scroll{max-height:44vh}.timeline-year{font-size:8px}.timeline-name{font-size:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.play-block{background:#4fd1c50f;border:1px solid #4fd1c547;border-radius:2px;margin:20px 0 0;padding:15px 16px 16px}.play-tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--signal);margin-bottom:8px;font-size:8.5px;display:block}.play-title{color:var(--ink);margin:0 0 12px;font-size:14px;font-weight:500}.play-button{width:100%;font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:#06110f;background:var(--signal);cursor:pointer;border:0;border-radius:2px;padding:11px 14px;font-size:10px;transition:filter .2s}.play-button:hover{filter:brightness(1.12);outline:none}.play-button:focus-visible{filter:brightness(1.12);outline:none}.game{z-index:90;background:#05070d;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.game-stage{position:absolute;top:0;bottom:0;left:0;right:0}.game-stage canvas{display:block;width:100%!important;height:100%!important}.game-bar{z-index:3;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 28px;display:flex;position:relative}.game-bar>*{pointer-events:auto}.game-kicker{font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin:0 0 4px;font-size:8.5px}.game-title{letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:500}.game-hud{z-index:3;width:190px;position:absolute;top:92px;left:28px}.hud-row{border-bottom:1px solid #ece7db1a;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;display:flex}.hud-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:8.5px}.hud-value{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:13px}.hud-value.is-danger{color:var(--accent)}.gauge{background:#ffffff1f;height:3px;margin-top:12px;overflow:hidden}.gauge span{transform-origin:0;width:100%;height:100%;transition:transform .12s linear;display:block}.game-controls{z-index:3;gap:10px;width:min(440px,100% - 32px);display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.ctrl{height:62px;color:var(--ink);font-family:var(--mono);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#090c14b8;border:1px solid #ece7db3d;border-radius:3px;flex:1;font-size:15px}.ctrl:active{background:#4fd1c533}.ctrl-main{background:var(--accent);border-color:var(--accent);color:#150a05;letter-spacing:.1em;flex:2.2;font-weight:600}.ctrl-main:active{background:#ff8459}.game-panel{z-index:4;border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#090c14e6;border-radius:3px;width:min(520px,100% - 32px);max-height:min(70vh,560px);padding:24px 26px;position:absolute;bottom:104px;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 30px 80px #0009}.game-lead{color:#d6dce8;margin:0 0 14px;font-size:14px;font-weight:300;line-height:1.65}.game-list{color:var(--muted);margin:0 0 18px;padding-left:18px;font-size:12.5px;line-height:1.7}.game-list strong{color:var(--ink);font-family:var(--mono);font-size:11px}.game-cta{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:#150a05;background:var(--accent);cursor:pointer;border:0;border-radius:2px;padding:13px 22px;font-size:10px;transition:filter .2s}.game-cta:hover{filter:brightness(1.12);outline:none}.game-cta:focus-visible{filter:brightness(1.12);outline:none}.game-foot{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:#96a0b199;margin:12px 0 0;font-size:9px}.game-result-title{letter-spacing:-.02em;margin:0 0 14px;font-size:1.5rem;font-weight:400}.game-result.is-win .game-result-title{color:var(--signal)}.game-result.is-loss .game-result-title{color:var(--accent)}.game-lesson{border-left:2px solid var(--accent);color:#f0e6d2;margin:16px 0 20px;padding-left:14px;font-size:13px;font-weight:300;line-height:1.7}.game-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.energy-panel{width:min(560px,100% - 32px);top:50%;bottom:auto;transform:translate(-50%,-50%)}.energy-sol{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:14px;display:flex}.energy-sol-label{font-family:var(--mono);color:var(--ink);font-size:12px;display:block}.energy-date{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:9px}.energy-numbers{font-family:var(--mono);color:var(--muted);gap:16px;font-size:10px;display:flex}.energy-numbers strong{color:var(--signal);font-size:14px}.energy-actions{gap:8px;margin:18px 0;display:grid}.energy-action{text-align:left;border:1px solid var(--line);color:var(--ink);font-family:var(--sans);cursor:pointer;background:#ffffff08;border-radius:2px;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;font-size:13.5px;transition:border-color .2s,background .2s;display:flex}.energy-action:hover:not(:disabled){background:#4fd1c512;border-color:#4fd1c580}.energy-action:disabled{opacity:.34;cursor:not-allowed}.energy-action.is-done{background:#4fd1c51a;border-color:#4fd1c573}.energy-cost{font-family:var(--mono);letter-spacing:.1em;color:var(--muted);white-space:nowrap;font-size:10px}.energy-state{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:16px;padding:12px 0;font-size:9.5px;display:flex}.energy-state strong{color:var(--ink)}.energy-log{min-height:54px;margin:14px 0 18px}.energy-log p{font-family:var(--mono);color:#96a0b1d9;margin:0 0 5px;font-size:10px;line-height:1.5}.energy-result{top:50%;bottom:auto;transform:translate(-50%,-50%)}.epilogue{z-index:26;opacity:0;pointer-events:none;background:radial-gradient(at 50% 42%,#070a12d6,#070a12f7 70%);place-items:center;padding:0 24px;transition:opacity .7s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.epilogue.is-visible{opacity:1;pointer-events:auto}.epilogue-inner{text-align:center;width:min(680px,100%)}.epilogue-kicker{font-family:var(--mono);text-transform:uppercase;letter-spacing:.28em;color:var(--accent);margin:0 0 18px;font-size:9px}.epilogue-title{letter-spacing:-.02em;margin:0;font-size:clamp(1.6rem,3.6vw,2.5rem);font-weight:300;line-height:1.15}.epilogue-text{max-width:60ch;margin:28px auto 0}.epilogue-text p{color:#cfd6e2;margin:0 0 14px;font-size:14.5px;font-weight:300;line-height:1.72}.epilogue-stats{justify-content:center;gap:56px;margin:34px 0 30px;display:flex}.epilogue-number{letter-spacing:-.03em;color:var(--ink);font-size:2.1rem;font-weight:300;display:block}.epilogue-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:8.5px}.epilogue-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.epilogue-credit{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#96a0b18c;margin:40px 0 0;font-size:8.5px;line-height:1.7}@media (max-width:960px){.game-bar{padding:16px 18px}.game-hud{width:150px;top:78px;left:18px}.game-panel{max-height:62vh;padding:20px;bottom:92px}.epilogue-stats{gap:28px}.epilogue-text p{font-size:13.5px}.epilogue{align-items:start;padding:12vh 20px 0;overflow-y:auto}}@media (max-width:560px){.game-controls{gap:6px}.ctrl{height:56px;font-size:13px}.epilogue-stats{gap:18px}.epilogue-number{font-size:1.7rem}}.epilogue{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(at 50% 42%,#070a12f2,#070a12fe 72%)}.game-energy{background:radial-gradient(at 50% 0,#ff6b3517,#0000 60%),radial-gradient(at 50% 100%,#4fd1c50d,#0000 55%),#05070d}.energy-action.is-done:disabled{opacity:.92}.energy-action.is-done .energy-action-name:before{content:"✓ ";color:var(--signal)}@media (max-width:960px){.energy-panel,.energy-result{width:auto;max-height:none;top:88px;bottom:20px;left:14px;right:14px;overflow-y:auto;transform:none}.game-result.energy-result{top:88px;bottom:20px}}.app-main{position:relative}.reading-game{color:#cfd6e2;background:#4fd1c50d;border:1px solid #4fd1c540;border-radius:2px;margin:18px 0 0;padding:13px 15px;font-size:12.5px;line-height:1.65}.game:focus{outline:none}.reading-epilogue h2{margin:8px 0 20px;font-size:1.7rem}.reading-epilogue p{color:#cfd6e2;font-size:15px;font-weight:300;line-height:1.72}.reading-stats{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);gap:28px;margin-top:26px;font-size:10px;display:flex}.reading-stats strong{font-family:var(--sans);color:var(--ink);letter-spacing:-.02em;font-size:1.6rem;font-weight:300;display:block}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.interview-button{width:100%;font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--signal);cursor:pointer;background:0 0;border:1px solid #4fd1c559;border-radius:2px;margin-top:10px;padding:10px 14px;font-size:9.5px;transition:background .2s,border-color .2s}.interview-button:hover{border-color:var(--signal);background:#4fd1c51a;outline:none}.interview-button:focus-visible{border-color:var(--signal);background:#4fd1c51a;outline:none}.interview{background:#06080f;grid-template-rows:auto minmax(0,1fr) auto auto;display:grid}.interview .game-bar{position:static}.interview-subtitle{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:4px 0 0;font-size:9px}.interview-actions{align-items:center;gap:16px;display:flex}.pips{gap:5px;display:flex}.pips span{border:1px solid #4fd1c580;border-radius:50%;width:9px;height:9px;transition:background .3s,box-shadow .3s}.pips span.is-on{background:var(--signal);box-shadow:0 0 9px #4fd1c5b3}.interview-scene{min-height:0;transition:filter 2.5s;position:relative}.interview-scene canvas{display:block;width:100%!important;height:100%!important}.interview-scene.is-dead{filter:saturate(.35)brightness(.62)}.interview-box{border-top:1px solid var(--line);cursor:pointer;background:linear-gradient(#080b12e0,#080b12fc);grid-template-columns:96px minmax(0,1fr);gap:18px;max-height:46vh;padding:18px 28px 22px;display:grid;overflow-y:auto}.portrait{background:#0a0e18;border:1px solid #ece7db29;border-radius:2px;flex:none;width:96px;height:118px;margin:0;position:relative;overflow:hidden}.portrait img{object-fit:cover;width:100%;height:100%;display:block;-webkit-mask-image:radial-gradient(130% 115% at 50% 36%,#000 58%,#0000 100%);mask-image:radial-gradient(130% 115% at 50% 36%,#000 58%,#0000 100%)}.portrait.is-speaking{animation:6s ease-in-out infinite portrait-float}@keyframes portrait-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.portrait-mono{width:100%;height:100%;color:var(--ink);background:radial-gradient(circle at 50% 38%,#ffffff12,#0000 70%);place-items:center;font-size:2.2rem;font-weight:300;display:grid}.interview-content{min-width:0}.interview-speaker{font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;color:var(--signal);margin:0 0 6px;font-size:9px}.interview-line{color:#e6e1d5;min-height:3.3em;margin:0;font-size:15px;font-weight:300;line-height:1.65}.caret{vertical-align:-2px;background:var(--accent);width:7px;height:.95em;margin-left:2px;animation:1s steps(2,start) infinite caret-blink;display:inline-block}@keyframes caret-blink{50%{opacity:0}}.choices{gap:6px;margin:14px 0 0;padding:0;list-style:none;display:grid}.choice{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:#ffffff06;border:1px solid #ece7db1f;border-radius:2px;gap:12px;padding:9px 12px;transition:border-color .18s,background .18s,transform .18s;animation:.32s both choice-in;display:flex}.choice:first-child{animation-delay:0s}.choice:nth-child(2){animation-delay:45ms}.choice:nth-child(3){animation-delay:90ms}.choice:nth-child(4){animation-delay:.135s}.choice:nth-child(5){animation-delay:.18s}.choice:nth-child(6){animation-delay:.225s}.choice:nth-child(7){animation-delay:.27s}@keyframes choice-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.choice:hover{background:#4fd1c512;border-color:#4fd1c58c;outline:none}.choice:focus-visible{background:#4fd1c512;border-color:#4fd1c58c;outline:none}.choice-key{font-family:var(--mono);color:var(--signal);min-width:12px;padding-top:2px;font-size:10px}.choice-body{min-width:0;display:block}.choice-cat{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin-bottom:3px;font-size:7.5px;display:block}.choice-label{font-size:13px;line-height:1.4;display:block}.entry{margin-top:12px}.entry-title{margin:0 0 6px;font-size:1.1rem;font-weight:500}.entry-count{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0;font-size:9.5px}.entry-fragments{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.entry-fragments li{border-left:2px solid var(--signal);color:#d6dce8;padding-left:13px;font-size:12.5px;line-height:1.5}.entry-empty{color:var(--accent);margin:14px 0 0;font-size:12.5px}.entry-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.interview-hint{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:#96a0b18c;background:#080b12fc;margin:0;padding:8px 28px 12px;font-size:8.5px}.catalog{background:#06080f;grid-template-rows:auto minmax(0,1fr);display:grid}.catalog .game-bar{position:static}.catalog-body{padding:0 28px 40px;overflow-y:auto}.catalog-list{gap:14px;max-width:920px;margin:0;padding:0;list-style:none;display:grid}.catalog-item{border:1px solid var(--line);background:#ffffff05;border-radius:3px;grid-template-columns:76px minmax(0,1fr);gap:16px;padding:16px;display:grid}.catalog-item.is-found{border-color:#4fd1c54d}.catalog-item .portrait{width:76px;height:92px}.catalog-item-name{margin:0 0 4px;font-size:14px;font-weight:500}.catalog-item-count{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--signal);margin:0;font-size:9px}.catalog-fragments{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.catalog-fragments li{color:#c9d1e0;border-left:1px solid #4fd1c573;padding-left:11px;font-size:12px;line-height:1.5}.catalog-empty{color:var(--muted);margin:10px 0 0;font-size:12px}.catalog-connect{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--signal);cursor:pointer;background:0 0;border:1px solid #4fd1c559;border-radius:2px;margin-top:12px;padding:8px 14px;font-size:9px}.catalog-connect:hover{background:#4fd1c51a;outline:none}.catalog-connect:focus-visible{background:#4fd1c51a;outline:none}.catalog-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:920px;margin-top:26px;padding-top:18px;display:flex}.catalog-footer p{max-width:52ch;color:var(--muted);margin:0;font-size:12px;line-height:1.6}.catalog-reset{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:#96a0b199;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;font-size:8.5px;text-decoration:underline}@media (max-width:960px){.interview{grid-template-rows:auto minmax(0,.9fr) auto auto}.interview-box{grid-template-columns:68px minmax(0,1fr);gap:12px;max-height:52vh;padding:14px 16px 18px}.portrait{width:68px;height:84px}.interview-line{font-size:14px}.interview .game-bar{padding:14px 16px}.interview-actions{gap:10px}.interview-hint{padding:6px 16px 10px}.catalog-body{padding:0 16px 28px}.catalog-item{grid-template-columns:60px minmax(0,1fr);gap:12px;padding:13px}.catalog-item .portrait{width:60px;height:74px}}@media (min-width:961px){.choices{grid-template-columns:1fr 1fr}}.catalog-list,.catalog-footer{margin-left:auto;margin-right:auto}.interview-scene canvas{transform:translateZ(0)}@media (max-width:960px){.interview{grid-template-rows:auto minmax(0,1fr) auto auto}.interview-box{max-height:58vh;padding:12px 14px 14px}.interview-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.interview .ghost-button{white-space:nowrap;padding:8px 11px;font-size:8.5px}.interview .game-kicker{letter-spacing:.14em;font-size:7.5px}.interview .game-title{font-size:1.05rem}.interview-subtitle{display:none}.choice{gap:8px;padding:8px 10px}.choice-cat{display:none}.choice-label{font-size:12.5px;line-height:1.32}.interview-line{min-height:2.9em;font-size:13.5px}.portrait{width:58px;height:72px}.interview-box{grid-template-columns:58px minmax(0,1fr);gap:10px}}@media (max-width:560px){.sound-toggle-label{display:none}}
