:root{color-scheme:dark;--bg:#05060a;--panel:#0b0d13;--ink:#f4f4f6;--muted:#a0a5af;--dim:#6a707c;--line:#262b35;--red:#ff3b61;--red2:#ff7b92;--cyan:#78d9f5;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",system-ui,sans-serif;overflow:hidden}button,input{font:inherit}button{color:inherit}[hidden]{display:none!important}::selection{background:#ff3b614d;color:#fff}
.grain{position:fixed;inset:0;opacity:.045;pointer-events:none;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}
.access-gate{position:fixed;inset:0;z-index:190;display:grid;place-items:center;overflow:hidden;padding:32px 22px;background:radial-gradient(circle at 50% 46%,#121724 0,#07080d 46%,#030407 78%);transition:opacity .85s var(--ease),visibility .85s}.access-gate:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#262c381f 1px,transparent 1px),linear-gradient(90deg,#262c381f 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(circle,#000 12%,transparent 72%);opacity:.52}.access-gate.unlocked{opacity:0;visibility:hidden;pointer-events:none}.gate-orbit{position:absolute;left:50%;top:50%;border:1px solid #303641;border-radius:50%;transform:translate(-50%,-50%);animation:gatePulse 7s ease-in-out infinite}.orbit-one{width:min(76vw,820px);aspect-ratio:1}.orbit-two{width:min(49vw,530px);aspect-ratio:1;animation-delay:-3.2s}.gate-orbit:after{content:"";position:absolute;left:50%;top:-4px;width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 22px var(--red)}.gate-coordinate{position:absolute;font:600 .66rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.19em;color:#69707b}.gate-coordinate-a{left:clamp(20px,5vw,72px);top:clamp(34px,8vh,84px)}.gate-coordinate-b{right:clamp(20px,5vw,72px);bottom:clamp(34px,8vh,84px)}.gate-card{position:relative;z-index:2;width:min(660px,100%);padding:clamp(28px,5vw,60px);border:1px solid #2b313c;border-radius:26px;background:#090b11d9;box-shadow:0 40px 120px #000b,0 0 70px #ff3b610d;backdrop-filter:blur(18px);transition:opacity .5s,transform .5s}.gate-kicker{margin:0 0 24px;color:var(--red2);font:650 .7rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.2em}.gate-card h1{margin:0;font-size:clamp(2.4rem,6vw,5.3rem);line-height:1.08;letter-spacing:-.055em}.gate-card h1 span{color:#7a808b;font-weight:320}.gate-copy{margin:24px 0 34px;color:#959ba6;font-size:1rem;line-height:1.8}.gate-label{display:block;margin-bottom:10px;color:#747b87;font:600 .7rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.16em}.gate-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:11px}.gate-entry input{width:100%;min-height:54px;border:1px solid #353b47;border-radius:999px;background:#05070bcc;color:#fff;outline:none;padding:10px 24px;font:700 1.25rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.58em;transition:.35s}.gate-entry input::placeholder{color:#555b66;letter-spacing:.4em}.gate-entry input:focus{border-color:var(--red);box-shadow:0 0 0 4px #ff3b6114,0 0 35px #ff3b6117}.gate-entry button:disabled,.gate-entry input:disabled{cursor:wait;opacity:.7}.gate-message{min-height:24px;margin:13px 18px 0;color:#747b86;font-size:.82rem}.gate-card.denied{animation:gateShake .42s ease}.gate-card.denied .gate-entry input{border-color:var(--red)}.gate-card.denied .gate-message{color:var(--red2)}.gate-card.accepted{opacity:.72;transform:scale(.985)}.gate-card.accepted .gate-message{color:#f3f3f4}.gate-foot{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);margin:0;white-space:nowrap;color:#565c67;font:600 .62rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.16em}.gate-locked .topbar,.gate-locked .nav-dots,.gate-locked #story{visibility:hidden}
.topbar{position:fixed;inset:0 0 auto;height:56px;z-index:90;display:flex;align-items:center;gap:18px;padding:0 clamp(16px,3vw,44px);background:linear-gradient(#05060af2,#05060a00);pointer-events:none}.brand,.chapter-readout,.music-toggle{font:600 .69rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.16em;white-space:nowrap}.brand{color:#a3a8b2}.chapter-readout{color:#656b77}.progress{height:1px;background:#282d37;position:relative;flex:1}.progress i{position:absolute;inset:-1px auto auto 0;height:3px;width:0;background:var(--red);box-shadow:0 0 20px var(--red);transition:width .9s var(--ease)}.music-toggle{pointer-events:auto;border:1px solid #2e333e;border-radius:999px;padding:8px 12px;background:#090b10cc;color:#969ca7;cursor:pointer;max-width:250px;overflow:hidden;text-overflow:ellipsis}.music-toggle.playing{color:#fff;border-color:#5d3440}
.nav-dots{position:fixed;right:clamp(10px,1.8vw,26px);top:50%;transform:translateY(-50%);z-index:85;display:flex;flex-direction:column;gap:8px}.nav-dots button{width:22px;height:22px;padding:0;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.nav-dots i{width:4px;height:4px;border-radius:6px;background:#4c515b;transition:.6s}.nav-dots button[aria-current="true"] i{height:22px;background:var(--red);box-shadow:0 0 16px var(--red)}
#story{height:100svh;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;scrollbar-width:none}.chapter{min-height:100svh;scroll-snap-align:start;scroll-snap-stop:always;position:relative;display:grid;place-items:center;padding:clamp(78px,10vh,118px) clamp(24px,7vw,110px) clamp(72px,8vh,98px);isolation:isolate;overflow:hidden}.chapter-inner{width:min(1200px,100%);position:relative;z-index:4}.chapter-code{font:650 .72rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.22em;color:var(--red2);text-transform:uppercase;margin:0 0 22px}.chapter h1,.chapter h2{margin:0;font-weight:650;letter-spacing:-.055em;line-height:1.04}.chapter h1{font-size:clamp(3.4rem,8.4vw,7.8rem)}.chapter h2{font-size:clamp(2.6rem,5.8vw,5.35rem)}.hero h1 span{display:block;color:#777d88;font-weight:300;font-size:.44em;letter-spacing:.01em;margin-top:24px}.ghost{color:#767c87;font-weight:300}.lede{color:#a1a6b0;font-size:clamp(1rem,1.45vw,1.18rem);line-height:2;max-width:650px;margin:28px 0 0}.explain{color:#a3a8b2;line-height:2;max-width:820px;margin:26px auto;font-size:clamp(1rem,1.5vw,1.18rem)}.explain strong{color:#fff}.fine{font-size:.82rem;color:#737985;line-height:1.8;max-width:610px}.centered{text-align:center}.narrow{max-width:980px}.reveal{opacity:0;transform:translateY(26px);transition:opacity 1.55s var(--ease),transform 1.55s var(--ease)}.active .reveal{opacity:1;transform:none}.active .reveal.d2{transition-delay:.28s}.active .reveal.d3{transition-delay:.62s}.active .reveal.d4{transition-delay:.98s}
.btn{border:1px solid #3a404c;background:#0a0c12d9;border-radius:999px;min-height:50px;padding:13px 22px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.45s var(--ease)}.btn:hover,.btn:focus-visible{outline:none;border-color:var(--red);box-shadow:0 0 32px #ff3b6129;transform:translateY(-2px)}.btn.primary,.btn.accent{background:var(--red);border-color:var(--red);color:#fff;font-weight:700}.btn.small{min-height:42px;padding:9px 17px;font-size:.88rem}.restart{border:0;background:transparent;color:#858b96;text-decoration:underline;text-underline-offset:6px;cursor:pointer;padding:10px 0;margin-top:22px}
.ambient-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.lab-grid{display:grid;grid-template-columns:minmax(300px,.88fr) minmax(440px,1.12fr);gap:clamp(46px,7vw,105px);align-items:center}.lab-grid.reverse{grid-template-columns:minmax(350px,.9fr) minmax(430px,1.1fr)}.viz-card{border:1px solid #252a35;background:#090b10d9;border-radius:24px;padding:clamp(20px,3vw,34px);box-shadow:0 28px 90px #0008;position:relative}.card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.card-head strong{font-size:.94rem}.card-head span{font:600 .67rem ui-monospace,SFMono-Regular,Consolas,monospace;color:#707681;letter-spacing:.12em}.viz-card canvas{width:100%;height:390px;display:block}.feedback{min-height:26px;color:#979da8;line-height:1.7;font-size:.88rem}.choice-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:30px}.data-foot{text-align:center;color:#757b86;font:.72rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.05em;margin-top:8px}
.intro{background:radial-gradient(circle at 50% 50%,#111522,#05060a 60%)}.intro:before,.intro:after{content:"";position:absolute;border:1px solid #20242d;border-radius:50%;z-index:-1;animation:orbitPulse 9s ease-in-out infinite}.intro:before{width:min(74vw,840px);aspect-ratio:1}.intro:after{width:min(50vw,560px);aspect-ratio:1;animation-delay:-4s}.hero{text-align:center;max-width:940px}.hero .lede{margin-left:auto;margin-right:auto;max-width:620px}.hero .btn{margin-top:38px}.lab-stamp,.model-stamp{position:absolute;font:600 .68rem/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.18em;color:#737985}.lab-stamp{left:clamp(20px,4vw,58px);top:clamp(76px,11vh,116px)}.model-stamp{right:clamp(26px,5vw,74px);bottom:clamp(72px,10vh,115px);text-align:right}.scroll-cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);font:500 .67rem ui-monospace,SFMono-Regular,Consolas,monospace;color:#646a75;letter-spacing:.14em}.scroll-cue:after{content:"";display:block;width:1px;height:20px;margin:9px auto 0;background:linear-gradient(var(--red),transparent);animation:cue 2.5s ease infinite}
.simpson{background:radial-gradient(circle at 78% 45%,#17101a,#06070a 58%)}.local{background:linear-gradient(145deg,#05060a,#0b0d14 55%,#140a10)}.rate-matrix{display:grid;grid-template-columns:130px repeat(3,1fr);gap:9px;margin:38px auto 26px;max-width:940px;text-align:left}.matrix-head{font:650 .7rem ui-monospace,SFMono-Regular,Consolas,monospace;color:#747a85;letter-spacing:.12em;padding:0 13px 7px}.matrix-label{display:flex;align-items:center;font-weight:700;padding:16px}.cell{padding:18px;border:1px solid #252a34;background:#0b0d12;border-radius:10px;color:#9ba0aa}.cell.win{color:#fff;border-color:#3a404a}.cell.total{background:#11141b}.cell.total.win{border-color:var(--red);box-shadow:0 0 24px #ff3b611e;color:var(--red2)}.cell.total.lose{opacity:.65}
.birthday{background:radial-gradient(circle at 24% 50%,#101624,#05060a 60%)}.formula-box{margin-top:28px;padding:18px 20px;border-left:2px solid var(--red);background:#0d1017;display:grid;gap:8px;max-width:620px}.formula-box span{color:#7e8490;font-size:.8rem}.formula-box b{font:650 clamp(1rem,2vw,1.4rem) ui-monospace,SFMono-Regular,Consolas,monospace}.range-wrap{margin-top:24px}.range-wrap label{display:flex;justify-content:space-between;gap:16px;color:#8f95a0;font-size:.86rem}.range-wrap strong{font:700 1.1rem ui-monospace,SFMono-Regular,Consolas,monospace;color:#fff}.range-wrap input{width:100%;accent-color:var(--red);margin-top:12px}.birthday-result{display:flex;align-items:baseline;gap:14px;margin:-4px 0 16px}.birthday-result b{font:700 clamp(2.8rem,5.5vw,5rem) ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-.06em}.birthday-result span{color:#777d88}.specified{background:#040509}.prob-contrast{display:grid;grid-template-columns:1fr 120px 1fr;align-items:center;gap:24px;margin:42px 0}.prob-contrast>div{padding:30px;border:1px solid #282d36;border-radius:20px;background:#090b10}.prob-contrast small,.prob-contrast span{display:block;color:#858b96;line-height:1.6}.prob-contrast b{display:block;font:700 clamp(2.6rem,6vw,5.8rem) ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-.07em;margin:14px 0}.prob-contrast>i{height:1px;background:linear-gradient(90deg,#4a4f59,var(--red));position:relative}.prob-contrast>i:after{content:"≠";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#040509;padding:10px;color:var(--red);font-size:1.5rem}
.pairing{background:radial-gradient(circle at 78% 50%,#181018,#05060a 60%)}.big-equation{font:750 clamp(3.5rem,7vw,7rem) ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-.08em;margin:28px 0 18px}.big-equation span{color:var(--red)}.big-equation small{font-size:.18em;letter-spacing:.04em;color:#7e8490}.seats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.desk{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:4px;border:1px solid #242933;border-radius:7px}.seat{aspect-ratio:1;border-radius:4px;background:#1d2129;color:#505661;display:grid;place-items:center;font:.62rem ui-monospace,SFMono-Regular,Consolas,monospace;transition:.4s}.seat.a{background:#f0f0f2;color:#05060a;box-shadow:0 0 22px #fff6}.seat.b{background:var(--red);color:#fff;box-shadow:0 0 24px #ff3b6188}.desk.hit{border-color:var(--red);box-shadow:0 0 20px #ff3b6130}.sim-bar{height:5px;background:#20242c;border-radius:10px;overflow:hidden}.sim-bar i{display:block;width:0;height:100%;background:var(--red);box-shadow:0 0 16px var(--red);transition:1.2s var(--ease)}
.turn{background:#020307}.teacher-line{opacity:0;max-height:0;overflow:hidden;transform:scale(.96);transition:1.8s var(--ease)}.teacher-line.open{opacity:1;max-height:520px;transform:none;margin-top:34px}.teacher-line p{font-size:clamp(2.3rem,6vw,6rem);font-weight:750;letter-spacing:-.06em;margin:0}.teacher-line span{display:block;color:#8d939e;line-height:1.9;margin:20px 0 24px}.track-switch{display:flex;align-items:center;justify-content:center;gap:16px;font:600 .68rem ui-monospace,SFMono-Regular,Consolas,monospace;color:#777d88;letter-spacing:.12em;margin:20px}.track-switch i{width:90px;height:1px;background:linear-gradient(90deg,#fff,var(--red));box-shadow:0 0 14px var(--red)}
.photo-chapter{padding:0;display:block}.memory-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.74) brightness(.46);transform:scale(1.035);transition:transform 10s ease}.active .memory-photo{transform:scale(1)}.photo-chapter:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#05060a 2%,#05060ae8 25%,#05060a55 62%,#05060ad8);z-index:1}.photo-inner{min-height:100svh;display:flex;align-items:center;padding:clamp(80px,10vh,120px) clamp(24px,8vw,120px);position:relative;z-index:4}.memory-copy{max-width:620px}.quote{font-family:"STKaiti","KaiTi",serif;font-size:clamp(1.7rem,3.3vw,3.1rem);line-height:1.55;margin:0}.quote strong{color:var(--red2);font-weight:500}.sub{color:#a8adb6;line-height:2;margin:26px 0 32px}.memory2:after{background:linear-gradient(270deg,#05060a 2%,#05060ae8 25%,#05060a55 62%,#05060ad8)}.memory2 .photo-inner{justify-content:flex-end}.memory-counter{display:flex;gap:8px;flex-wrap:wrap;margin:30px 0 18px}.memory-chip{border:1px solid #3a3f49;background:#090b10d9;border-radius:999px;padding:11px 15px;cursor:pointer;color:#a8adb6;transition:.4s}.memory-chip:hover,.memory-chip:focus-visible,.memory-chip.on{outline:none;color:#fff;border-color:var(--red);background:#1b0c12}.memory-detail{font-family:"STKaiti","KaiTi",serif;line-height:1.8;color:#eee;min-height:70px;font-size:1.08rem}
.distance{background:radial-gradient(circle at 55% 60%,#111526,#05060a 58%)}.archive{padding:0}.archive-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.34) saturate(.72)}.archive:after{content:"";position:absolute;inset:0;background:linear-gradient(#05060a66,#05060ae8 87%);z-index:1}.archive .chapter-inner{z-index:4}.gigabytes{font:750 clamp(5.2rem,16vw,13rem) ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-.1em;line-height:.85;margin:24px 0}.gigabytes small{font-size:.18em;letter-spacing:.04em;color:#858b96}.trace-word{letter-spacing:-.08em}.trace-word span{display:inline-block;min-width:2em}.trace-word small{white-space:nowrap}
.finale{padding-top:85px;background:#05060a}.final-bg{position:absolute;inset:-35px;width:calc(100% + 70px);height:calc(100% + 70px);object-fit:cover;filter:blur(28px) brightness(.18) saturate(.7);opacity:.9}.finale:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#05060ae8,#05060a88 55%,#05060ae8);z-index:1}.final-grid{display:grid;grid-template-columns:minmax(380px,1.06fr) minmax(380px,.94fr);gap:clamp(38px,6vw,88px);align-items:center;z-index:4}.photo-frame{position:relative;border:1px solid #444a55;background:#0b0d12;padding:10px;border-radius:20px;box-shadow:0 30px 100px #000a;transform:rotate(-1.5deg)}.photo-frame:after{content:"OBSERVED WORLD · 01";position:absolute;right:18px;bottom:-30px;font:600 .66rem ui-monospace,SFMono-Regular,Consolas,monospace;color:#858b95;letter-spacing:.13em}.photo-frame img{display:block;width:100%;height:auto;border-radius:12px}.final-copy h2{font-size:clamp(2.3rem,4.8vw,4.8rem)}.final-letter{color:#b1b6be;line-height:1.95;margin:26px 0;font-family:"STKaiti","KaiTi",serif;font-size:clamp(1.08rem,1.55vw,1.28rem)}.proof{display:grid;gap:8px;border-left:2px solid var(--red);background:#0a0c12d9;padding:17px 20px}.proof span{font:600 .82rem ui-monospace,SFMono-Regular,Consolas,monospace;color:#858b96}.proof b{font-size:1rem;line-height:1.6}.closing{font-family:"STKaiti","KaiTi",serif;color:#f1f1f3;line-height:1.8;margin:24px 0}
@keyframes orbitPulse{50%{transform:scale(1.04);opacity:.55}}@keyframes cue{50%{transform:translateY(8px);opacity:.4}}@keyframes gatePulse{50%{transform:translate(-50%,-50%) scale(1.035);opacity:.55}}@keyframes gateShake{20%{transform:translateX(-9px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(3px)}}
@media(max-width:930px){.lab-grid,.lab-grid.reverse,.final-grid{grid-template-columns:1fr}.chapter{padding-left:24px;padding-right:24px}.lab-grid{gap:34px}.viz-card canvas{height:320px}.nav-dots{display:none}.final-grid{max-width:720px}.photo-frame{max-width:620px;margin:auto}.photo-chapter:after,.memory2:after{background:linear-gradient(#05060a55,#05060ab5 36%,#05060af0 86%)}.photo-inner,.memory2 .photo-inner{justify-content:flex-start;align-items:flex-end}}
@media(max-width:650px){.topbar{padding:0 14px;gap:9px}.chapter-readout{display:none}.brand{font-size:.58rem;max-width:130px;overflow:hidden;text-overflow:ellipsis}.music-toggle{font-size:.6rem;max-width:122px;padding:7px 9px}.chapter{min-height:100svh;height:auto;overflow:visible;padding:76px 20px 70px}.chapter h1{font-size:clamp(3.1rem,16vw,5rem)}.chapter h2{font-size:clamp(2.45rem,12vw,4rem)}.model-stamp{display:none}.lab-stamp{top:76px}.scroll-cue{display:none}.viz-card{padding:17px;border-radius:18px}.viz-card canvas{height:280px}.card-head{align-items:flex-start;flex-direction:column}.rate-matrix{grid-template-columns:82px repeat(3,minmax(105px,1fr));overflow-x:auto;padding-bottom:8px}.matrix-head,.cell,.matrix-label{font-size:.78rem;padding:12px 9px}.prob-contrast{grid-template-columns:1fr;gap:14px}.prob-contrast>i{height:50px;width:1px;margin:auto;background:linear-gradient(#4a4f59,var(--red))}.prob-contrast>i:after{background:#040509}.seats{gap:6px}.desk{padding:3px;gap:2px}.seat{font-size:.5rem}.choice-row{margin-top:20px}.photo-inner{padding:82px 22px}.quote{font-size:clamp(1.55rem,7.3vw,2.25rem)}.finale{padding-top:82px}.final-grid{gap:54px}.photo-frame{transform:none}.final-copy{text-align:center}.proof{text-align:left}.gigabytes{font-size:clamp(4.6rem,24vw,7rem)}.gate-card{padding:28px 22px;border-radius:20px}.gate-card h1{font-size:clamp(2.35rem,11vw,3.6rem)}.gate-entry{grid-template-columns:1fr}.gate-entry .btn{width:100%}.gate-coordinate{display:none}.orbit-one{width:126vw}.orbit-two{width:78vw}.gate-foot{font-size:.53rem;letter-spacing:.1em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.intro:before,.intro:after,.scroll-cue:after,.gate-orbit{animation:none}.memory-photo{transition:none}.btn{transition:none}}

/* Expanded Simpson explanation */
.simpson-analysis{padding-top:88px;padding-bottom:88px}.strata-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px}.stratum{border:1px solid #292f39;border-radius:20px;background:#090b11e8;padding:22px;box-shadow:0 22px 60px #0005}.stratum header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.stratum header span{font-weight:700}.stratum header b{font:650 .66rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.15em;color:#777e89}.duel{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center}.duel>div{display:grid;gap:6px}.duel>div:last-child{text-align:right}.duel small{color:#7f8691}.duel strong{font:700 clamp(1.35rem,2.5vw,2rem) ui-monospace,SFMono-Regular,Consolas,monospace}.duel em{font-style:normal;color:#fff}.duel>i{font:700 1.5rem ui-monospace;color:var(--red)}.stratum p{color:#838a95;margin:18px 0 0;font-size:.86rem}.mix-explainer{display:grid;gap:15px;margin:26px 0}.mix-row{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:center}.mix-row>b{font-size:.84rem;color:#a7acb5}.mix-bar{height:42px;display:flex;border:1px solid #2b303a;border-radius:9px;overflow:hidden;background:#151922}.mix-bar i,.mix-bar span{display:flex;align-items:center;padding:0 12px;font-style:normal;font-size:.74rem;white-space:nowrap;overflow:hidden}.mix-bar i{width:max(76px,var(--share));flex:none;background:#ebedf0;color:#07080c;font-weight:700}.mix-bar span{flex:1;background:#32121b;color:#ff9aac}.mix-bar.reverse i{background:#ff3b61;color:#fff}.center-action{text-align:center}.simpson-analysis .center-action{margin-top:18px}.simpson-conclusion{background:radial-gradient(circle at 25% 44%,#101722,#05060a 62%)}.conclusion-box{margin-top:24px;border-left:2px solid var(--cyan);background:#0c1118;padding:18px 20px;display:grid;gap:9px}.conclusion-box span{color:#7f8793;font:.7rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}.conclusion-box b{line-height:1.75;font-size:.94rem}.standard-result{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px}.standard-result span{display:grid;color:#868d98;font:.72rem ui-monospace,SFMono-Regular,Consolas,monospace}.standard-result b{color:#fff;font-size:1.3rem}.standard-result i{font-style:normal;color:var(--red2);font-size:.78rem}.full-row{grid-column:1/-1}

/* Geographic distance map */
.map-layout{grid-template-columns:minmax(340px,.86fr) minmax(480px,1.14fr)}.map-card{padding-bottom:20px;overflow:hidden}.place-pair{display:grid;grid-template-columns:1fr 70px 1fr;gap:14px;align-items:center;margin-top:28px}.place-pair>div{border:1px solid #292f39;border-radius:15px;padding:16px;background:#090b11}.place-pair>div:last-child{text-align:right}.place-pair small,.place-pair span{display:block;color:#747b86;font-size:.72rem}.place-pair b{display:block;font-size:1.15rem;margin:7px 0}.place-pair>i{height:1px;background:linear-gradient(90deg,#f0f1f3,var(--red));box-shadow:0 0 12px #ff3b6150}.map-card .card-head{padding:0 4px}.map-card #distanceMap{height:430px;border-radius:16px;background:radial-gradient(circle,#151b27,#080a0f);overflow:hidden}.leaflet-container{font-family:inherit}.leaflet-tile-pane{filter:grayscale(1) invert(.86) contrast(.82) brightness(.52) hue-rotate(180deg)}.leaflet-control-attribution{background:#05070bcc!important;color:#777e89!important;font-size:10px!important}.leaflet-control-attribution a{color:#b1b6be!important}.map-marker{background:transparent;border:0}.map-marker i{position:absolute;left:30px;top:18px;width:12px;height:12px;border-radius:50%;background:#f2f3f5;box-shadow:0 0 0 6px #fff2,0 0 24px #fff}.map-marker b{position:absolute;top:-11px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#080a0fe8;border:1px solid #363c47;border-radius:999px;padding:6px 10px;color:#fff;font-size:.72rem}.map-marker.her i{background:var(--red);box-shadow:0 0 0 6px #ff3b612c,0 0 24px var(--red)}.map-marker.her b{border-color:#6a3040}.map-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#8b929d;font-size:.74rem;margin-top:14px}.map-caption span{display:flex;align-items:center;gap:7px}.map-caption b{color:#fff;font:700 .84rem ui-monospace,SFMono-Regular,Consolas,monospace}.map-caption i{width:7px;height:7px;border-radius:50%;display:inline-block;background:#f2f3f5;box-shadow:0 0 10px #fff}.map-caption .dot-her{background:var(--red);box-shadow:0 0 10px var(--red)}.map-fallback{padding:34px;color:#a0a6b1;line-height:1.8}

/* Final photo and timed letter */
.finale{min-height:auto;place-items:start;padding-top:100px;padding-bottom:110px;overflow:visible}.final-grid{align-items:start}.finale .photo-frame{position:sticky;top:94px}.letter-player{margin:28px 0 26px;border:1px solid #343a45;background:#080a0fe8;border-radius:17px;padding:17px}.letter-player>div:first-child{display:flex;justify-content:space-between;gap:15px;color:#8b929d;font:.68rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}.letter-player b{color:#fff;white-space:nowrap}.letter-track{height:4px;background:#242933;border-radius:99px;overflow:hidden;margin:13px 0}.letter-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#fff,var(--red));box-shadow:0 0 16px var(--red);transition:width .45s linear}.letter-player p{margin:0;color:#777e89;font-size:.78rem;line-height:1.65}.letter-player .btn{margin-top:12px}.paced-letter{font-family:"STKaiti","KaiTi",serif;font-size:clamp(1.08rem,1.45vw,1.24rem);line-height:2.05;color:#d2d5da}.letter-paragraph{position:relative;margin:0 0 25px;padding-left:18px;opacity:.12;filter:blur(3px);transform:translateY(10px);transition:opacity 1.8s var(--ease),filter 1.8s var(--ease),transform 1.8s var(--ease);user-select:none}.letter-paragraph:before{content:"";position:absolute;left:0;top:.65em;width:5px;height:5px;border-radius:50%;background:#59606b}.letter-paragraph.visible{opacity:1;filter:none;transform:none;user-select:text}.letter-paragraph.visible:before{background:var(--red);box-shadow:0 0 13px var(--red)}.letter-paragraph strong{color:#fff;font-weight:600}.final-reveal{opacity:0;max-height:0;overflow:hidden;transform:translateY(18px);transition:opacity 1.8s var(--ease),max-height 1.8s var(--ease),transform 1.8s var(--ease)}.final-reveal.open{opacity:1;max-height:500px;transform:none;margin-top:30px}.final-reveal .closing{font-size:1.13rem}

/* Mobile: let long educational pages breathe instead of clipping to one viewport. */
@media(max-width:930px){.strata-grid{grid-template-columns:1fr}.map-layout{grid-template-columns:1fr}.map-card #distanceMap{height:390px}.finale .photo-frame{position:relative;top:auto}.final-copy{max-width:720px;margin:auto}}
@media(max-width:650px){body{overflow:hidden}#story{scroll-snap-type:y proximity;overscroll-behavior-y:contain}.chapter{scroll-snap-stop:normal;min-height:100svh;padding:78px 18px 72px}.simpson-analysis,.simpson-conclusion,.distance,.finale{min-height:auto;padding-top:82px;padding-bottom:82px}.lab-grid,.lab-grid.reverse{gap:30px}.chapter h2{font-size:clamp(2.2rem,10.8vw,3.25rem);line-height:1.08}.lede,.explain{font-size:1rem;line-height:1.85}.viz-card canvas{height:245px}.stratum{padding:18px 15px}.duel{gap:8px}.duel strong{font-size:1.15rem}.mix-row{grid-template-columns:1fr;gap:8px}.mix-bar{height:46px}.mix-bar i,.mix-bar span{font-size:.66rem;padding:0 8px}.simpson-conclusion .full-row{margin-top:0}.standard-result{align-items:flex-end}.standard-result i{max-width:100px;text-align:center}.place-pair{grid-template-columns:1fr 34px 1fr;gap:7px}.place-pair>div{padding:13px 10px}.place-pair span{font-size:.6rem;word-break:break-all}.map-card{padding:14px}.map-card #distanceMap{height:330px;border-radius:12px}.map-caption{font-size:.64rem;flex-wrap:wrap}.map-caption b{order:3;width:100%;text-align:center}.finale{padding-left:18px;padding-right:18px}.final-grid{gap:44px}.final-copy{text-align:left}.final-copy h2{font-size:2.7rem}.letter-player>div:first-child{align-items:flex-start;flex-direction:column;gap:7px}.paced-letter{font-size:1.08rem;line-height:1.95}.letter-paragraph{padding-left:14px;margin-bottom:22px}.photo-frame:after{bottom:-24px}.topbar{height:52px;background:#05060af5}.brand{max-width:105px}.music-toggle{max-width:145px}.chapter-code{line-height:1.65}.choice-row .btn{flex:1 1 135px}.prob-contrast>div{padding:22px 16px}.birthday-result{flex-wrap:wrap}.seats{grid-template-columns:repeat(5,minmax(0,1fr))}.seat{min-width:0}.archive .chapter-inner{padding:0 8px}.gigabytes{letter-spacing:-.12em}}
