:root{color-scheme:dark;--bg:#0b151b;--panel:#102129;--line:#2b4048;--muted:#a3b5bd;--ink:#f1f5f2;--cyan:#7fe0d7;--gold:#edbd73;--sans:'Segoe UI',system-ui,sans-serif;--display:'Bahnschrift','Arial',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.65 var(--sans)}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:transparent;border-radius:6px;padding:.65rem 1rem;min-height:44px}button:hover{background:#1c333c;border-color:var(--cyan)}button:disabled{opacity:.4;cursor:default}a{color:var(--cyan)}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.skip{position:absolute;top:-80px;left:20px;z-index:10;background:var(--bg);padding:12px}.skip:focus{top:12px}.header{display:flex;align-items:center;gap:2rem;max-width:1480px;padding:1.7rem 3.5rem;margin:auto;border-bottom:1px solid var(--line)}.brand{font:700 1.75rem/1 var(--display);letter-spacing:-.05em;text-decoration:none;color:var(--ink)}.brand span{color:var(--cyan);margin-left:.1em;font-weight:400}.edition{font-size:.75rem;letter-spacing:.13em;color:var(--muted)}.header nav{margin-left:auto;display:flex;gap:.6rem}.header button{font-size:.875rem;border-color:transparent}.header button:last-child{border-color:var(--line)}main{max-width:1480px;padding:2rem 3.5rem 2.5rem;margin:auto}.chapter-top{display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.12em;color:var(--muted);margin-bottom:2rem}.theme-label{color:var(--cyan)}.chapter-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}.era{display:flex;align-items:baseline;gap:1rem;color:var(--gold)}.era>span:first-child{font:500 3.3rem/1.15 var(--display);letter-spacing:-.05em}.era>span:last-child{font-size:.75rem;letter-spacing:.12em}h1{font:500 clamp(2.5rem,4.1vw,4.6rem)/1.07 var(--display);letter-spacing:-.055em;margin:1.1rem 0 1.4rem;max-width:13ch}.lead{font-size:1.2rem;line-height:1.55;max-width:40ch;margin:0 0 1.15rem}#history{color:var(--muted);max-width:52ch;margin-bottom:1.5rem}.milestones{border-left:1px solid var(--line);padding-left:1.25rem}.milestone{display:grid;grid-template-columns:4rem 1fr;gap:.4rem;margin:1rem 0}.milestone strong{font:500 .875rem/1.6 var(--display);color:var(--gold)}.milestone p{margin:0;font-size:.875rem;color:var(--muted)}.caveat{margin-top:1.3rem;font-size:.875rem;color:var(--muted)}summary{cursor:pointer;min-height:44px;padding:.6rem 0;color:var(--ink)}.caveat p{margin:.4rem 0 1rem;border-left:2px solid var(--gold);padding-left:1rem}.evidence{display:flex;align-items:center;gap:1rem;border:0;padding:.7rem 0;color:var(--cyan);font-size:.875rem}.evidence span{color:var(--muted);font-size:.75rem}.lab{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:1.6rem 2rem;position:relative}.lab-top{display:flex;justify-content:space-between;font-size:.7rem;letter-spacing:.1em;color:var(--cyan);border-bottom:1px solid var(--line);padding-bottom:1.1rem}.lab-top span:last-child{color:var(--muted)}h2{font:500 1.6rem/1.3 var(--display);letter-spacing:-.035em;margin:1.4rem 0 .5rem}.lab-intro{color:var(--muted);font-size:.95rem;margin:0 0 1.3rem}.takeaway{margin-top:1.5rem;border-top:1px solid var(--line);padding-top:1.2rem}.takeaway span{font-size:.7rem;letter-spacing:.1em;color:var(--cyan)}.takeaway p{margin:.5rem 0 0;font-size:.95rem}.journey{max-width:1480px;padding:1.3rem 3.5rem 1.5rem;margin:auto;border-top:1px solid var(--line)}.progress-row{display:flex;justify-content:space-between;gap:1rem;font-size:.7rem;letter-spacing:.1em;color:var(--muted)}.progress-row span:first-child{color:var(--cyan)}.chapter-track{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin:.85rem 0 1.25rem}.chapter-track button{border-radius:0;border:0;border-top:3px solid var(--line);font:.75rem var(--display);text-align:left;padding:.7rem .1rem;color:var(--muted);min-height:44px}.chapter-track button[aria-current=step]{border-color:var(--cyan);color:var(--cyan)}.chapter-track button.visited{border-color:#56767f}.footer-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem}.footer-controls span{font-size:.8rem;color:var(--muted)}.primary{background:var(--cyan);color:var(--bg);border-color:var(--cyan);font-weight:600}.primary:hover{background:#b4f2eb;color:var(--bg)}dialog{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:8px;width:min(760px,calc(100% - 2rem));max-height:85dvh;padding:2rem}dialog::backdrop{background:#000a;backdrop-filter:blur(6px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dialog-head h2{margin:0}.dialog-head button{font-size:.875rem}dialog>p{color:var(--muted)}.chapter-link{width:100%;text-align:left;display:grid;grid-template-columns:2rem 4rem 1fr;gap:1rem;padding:.9rem;border-radius:0;border:0;border-bottom:1px solid var(--line);font-size:.95rem}.chapter-link span:first-child{color:var(--muted)}.chapter-link span:nth-child(2){color:var(--gold)}.source-section{padding:1rem 0;border-bottom:1px solid var(--line)}.source-section h3{font:500 1.2rem var(--display);margin:.5rem 0}.source-section p,.source-section li{font-size:.9rem;color:var(--muted)}.source-section li{margin:.65rem 0}.source-section ul{padding-left:1.2rem}.source-section a{overflow-wrap:anywhere}.model-label{color:var(--gold);font-size:.75rem}.noscript{padding:2rem}.controls{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.controls button{font-size:.875rem;flex:1}.controls button[aria-pressed=true]{color:var(--bg);background:var(--cyan);border-color:var(--cyan)}.model-note{font-size:.8rem;color:var(--muted);line-height:1.55;margin:1rem 0 0}.stat{font:500 3rem/1.2 var(--display);letter-spacing:-.05em;color:var(--cyan)}.stat small{font:400 .9rem var(--sans);letter-spacing:0;color:var(--muted)}.stat-label{font-size:.85rem;color:var(--muted)}.dot-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:10px;padding:1.7rem 1rem;background-image:linear-gradient(#25383f55 1px,transparent 1px),linear-gradient(90deg,#25383f55 1px,transparent 1px);background-size:25px 25px;margin:1rem 0;border:1px solid var(--line)}.dot{aspect-ratio:1;max-width:18px;width:100%;border-radius:50%;background:var(--cyan);margin:auto;transition:background .3s,opacity .3s}.dot.secondary{background:var(--gold)}.dot.empty{background:#33474e}.legend{display:flex;gap:1.1rem;font-size:.8rem;color:var(--muted)}.legend span:before{content:'';display:inline-block;width:8px;height:8px;background:var(--cyan);margin-right:.5rem;border-radius:50%}.legend span:last-child:before{background:var(--gold)}.bar-row{display:grid;grid-template-columns:5.5rem 1fr 4.5rem;align-items:center;gap:.8rem;margin:1rem 0;font-size:.875rem}.bar-track{height:22px;background:#25383f;overflow:hidden}.bar-fill{height:100%;background:var(--cyan);transition:width .4s}.bar-row:nth-child(even) .bar-fill{background:var(--gold)}.range-label{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem;margin:1rem 0 .4rem}input[type=range]{width:100%;accent-color:var(--cyan);min-height:44px;cursor:pointer}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.4rem 0}.metric{border-top:1px solid var(--line);padding-top:.8rem}.metric strong{font:500 1.8rem var(--display);color:var(--cyan);display:block}.metric span{font-size:.8rem;color:var(--muted)}.formula{padding:1rem;border:1px solid var(--line);font:400 .85rem/1.7 var(--display);color:var(--cyan);margin-top:1rem;overflow-wrap:anywhere}.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1.6rem 0}.flow div{border:1px solid var(--line);padding:1rem .6rem;text-align:center;font-size:.8rem}.flow strong{font:500 1.5rem var(--display);display:block;color:var(--cyan);margin:.5rem 0}.flow span{font-size:.75rem;color:var(--muted)}.mapping{border-top:1px solid var(--line);margin:1rem 0}.map-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border-bottom:1px solid var(--line);padding:.9rem 0;font-size:.875rem}.map-row span:last-child{color:var(--cyan)}.pixel-grid{display:grid;aspect-ratio:1.75;border:1px solid var(--line);gap:1px;background:#0b151b;margin:1rem 0}.pixel-grid span{display:block}.lineage{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1.1rem 0}.lineage button{font-size:.8rem;text-align:left;padding:.7rem}.lineage button strong{display:block;color:var(--gold);font-weight:400;font-size:.75rem}.audit{padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.85rem}.audit b{color:var(--cyan);font-weight:500}.audit p{margin:.3rem 0;color:var(--muted)}svg.chart{width:100%;height:auto;overflow:visible}.chart text{fill:var(--muted);font:13px var(--sans)}.chapter-enter{animation:enter .35s ease-out}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(min-width:1700px){main{padding-top:3rem;padding-bottom:3rem}.chapter-grid{gap:7rem}}
@media(max-width:1000px){.header,main,.journey{padding-left:2rem;padding-right:2rem}.chapter-grid{gap:2.5rem}.edition{display:none}.lab{padding:1.4rem}.era>span:first-child{font-size:2.8rem}h1{font-size:3.2rem}}
@media(max-width:720px){.header{padding:1rem 1.2rem;gap:.5rem}.brand{font-size:1.4rem}.header nav{gap:.15rem}.header button{padding:.5rem .6rem;font-size:.8rem}main{padding:1.5rem 1.2rem 2rem}.chapter-top{margin-bottom:1.5rem;font-size:.65rem;gap:1rem}.chapter-grid{grid-template-columns:1fr;gap:1.8rem}.era>span:first-child{font-size:2.6rem}.era>span:last-child{font-size:.7rem}h1{font-size:clamp(2.7rem,10vw,4rem);max-width:15ch;margin:.8rem 0 1.2rem}.lead{font-size:1.1rem}.lab{padding:1.2rem}.lab-top{font-size:.6rem}.lab h2{font-size:1.5rem}.journey{padding:1.2rem}.progress-row span:last-child{display:none}.chapter-track{gap:4px}.chapter-track button{font-size:.7rem}.footer-controls span{display:none}.footer-controls button{flex:1;font-size:.9rem}dialog{padding:1.3rem}.chapter-link{grid-template-columns:1.3rem 3.2rem 1fr;gap:.6rem}.dialog-head h2{font-size:1.4rem}.metric-grid{gap:.7rem}.lineage{grid-template-columns:repeat(2,1fr)}.bar-row{grid-template-columns:4.5rem 1fr 3.5rem;gap:.5rem}.flow{gap:.4rem}.flow div{padding:.8rem .3rem}.dot-grid{gap:7px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.lab-top,.takeaway span,.progress-row,.model-label{font-size:.75rem}.header button,.lineage button{font-size:.875rem}.land-legend{gap:.8rem;flex-wrap:wrap}.land-legend span:before{background:#68bcaa}.land-legend span:nth-child(2):before{background:#5e97c6}.land-legend span:last-child:before{background:#edbd73}.land-legend+.metric{margin-top:1rem}.metric strong{overflow-wrap:anywhere}#chapter:focus{outline:none}
.lab-intro,.takeaway p,.milestone p,.caveat,.source-section p,.source-section li{font-size:1rem}.model-note,.legend{font-size:.875rem}.era{flex-wrap:wrap}.era>span:last-child{min-width:0;overflow-wrap:anywhere}.formula{font-size:.875rem}
@media(max-width:720px){.chapter-top,.era>span:last-child{font-size:.75rem}.chapter-top{flex-wrap:wrap}.lab-top{font-size:.75rem;gap:.8rem;flex-wrap:wrap}.chapter-track{grid-template-columns:repeat(5,1fr);gap:4px 10px}.chapter-track button{font-size:.875rem;text-align:center}.header nav{gap:0}.header button{padding:.5rem;font-size:.875rem}.flow span{font-size:.75rem}.legend{flex-wrap:wrap}h1{max-width:16ch}.range-label{flex-wrap:wrap}}
.quick-link{display:flex;align-items:center;text-decoration:none;font-size:.875rem;padding:.5rem;min-height:44px}
