:root{--ink:#101411;--paper:#e8e3d5;--paper-2:#d7d0bf;--panel:#f1ede2;--green:#9cff57;--amber:#ffb547;--red:#ff6257;--muted:#6f746d;--line:rgba(16,20,17,.18);--mono:"Cascadia Mono","IBM Plex Mono",Consolas,monospace;--display:"Bahnschrift Condensed","Arial Narrow",sans-serif;--serif:"Noto Serif TC","Yu Mincho",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);line-height:1.65}button,a{font:inherit}.noise{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.055;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='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--green);color:var(--ink);padding:.7rem 1rem}.skip-link:focus{top:1rem}
.masthead{height:82px;position:sticky;top:0;z-index:10;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 2.4rem;border-bottom:1px solid #3b423c}.brand{display:flex;align-items:center;gap:.9rem;color:inherit;text-decoration:none}.brand-sigil{width:46px;height:46px;border:1px solid var(--green);display:grid;place-items:center;font:800 22px/1 var(--display);transform:rotate(-3deg)}.brand-sigil span{color:var(--green)}.brand strong,.brand small{display:block;font-family:var(--mono)}.brand strong{letter-spacing:.14em;font-size:.9rem}.brand small{color:#929b94;font-size:.64rem;letter-spacing:.08em}.mast-readout{display:flex;align-items:center;gap:1.4rem;font-family:var(--mono);font-size:.74rem;letter-spacing:.06em}.mast-readout span{display:flex;align-items:center;gap:.5rem}.mast-readout i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green);animation:pulse 1.8s infinite}.mast-readout strong{color:var(--green)}.text-button{border:0;background:none;color:inherit;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:4px;font-family:var(--mono);font-size:.72rem}
.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr)}.course-rail{position:sticky;top:82px;height:calc(100vh - 82px);padding:2rem 1.25rem;background:#cbc4b2;border-right:1px solid var(--line);display:flex;flex-direction:column}.rail-heading{font-family:var(--mono);margin:0 .65rem 1.2rem}.rail-heading span,.rail-heading small{display:block}.rail-heading span{font-weight:800;letter-spacing:.13em}.rail-heading small{color:var(--muted);font-size:.68rem}.stage-button{width:100%;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;padding:.7rem .65rem;cursor:pointer;display:grid;grid-template-columns:2.3rem 1fr;gap:.5rem;color:var(--ink)}.stage-button:last-child{border-bottom:1px solid var(--line)}.stage-button span{font:700 .7rem/1 var(--mono);color:var(--muted);padding-top:.28rem}.stage-button strong,.stage-button small{display:block}.stage-button strong{font:700 .82rem/1.25 var(--display);letter-spacing:.04em}.stage-button small{font-size:.66rem;color:var(--muted)}.stage-button:hover,.stage-button.active{background:var(--ink);color:var(--paper)}.stage-button.active span,.stage-button.active small{color:var(--green)}.stage-button.done span:first-child::after{content:" ✓"}.rail-rule{margin-top:auto;border-left:3px solid var(--red);padding:.8rem .8rem 0}.rail-rule b{font:700 .68rem var(--mono);color:#704037}.rail-rule p{font-size:.78rem;line-height:1.5;margin:.35rem 0}main{min-width:0}
.hero{min-height:610px;padding:5rem clamp(2rem,5vw,6rem) 3.5rem;display:grid;grid-template-columns:minmax(320px,.82fr) minmax(380px,1.18fr);align-items:center;gap:4rem;background:radial-gradient(circle at 22% 25%,rgba(156,255,87,.11),transparent 30%),var(--ink);color:var(--paper);overflow:hidden}.eyebrow{font:700 .68rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin:0 0 1rem}.hero h1{font:750 clamp(3rem,5.6vw,6.3rem)/.92 var(--display);letter-spacing:-.045em;text-transform:uppercase;margin:0}.hero h1 em{font-family:var(--serif);font-weight:400;text-transform:none;color:var(--green);font-size:.72em}.hero-lede{max-width:650px;color:#b9c0b9;font-size:1.05rem;margin:2rem 0}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap}.button{border:1px solid currentColor;padding:.8rem 1.1rem;cursor:pointer;font:700 .76rem var(--mono);letter-spacing:.05em;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--green);color:var(--ink);border-color:var(--green)}.ghost{background:transparent;color:inherit}.compact{padding:.55rem .8rem}.scope-card{background:#080b09;border:1px solid #455047;box-shadow:22px 25px 0 rgba(0,0,0,.25);transform:rotate(1deg)}.scope-header,.scope-footer{padding:.7rem 1rem;display:flex;gap:1.2rem;font:600 .65rem var(--mono);letter-spacing:.06em;color:#8b958d}.scope-header{border-bottom:1px solid #303730}.scope-header b{margin-left:auto;color:var(--green)}.scope-footer{border-top:1px solid #303730;justify-content:space-between}.scope-footer b{color:var(--paper)}.scope{display:block;width:100%;height:auto}.grid-lines{stroke:#273028;stroke-width:1}.wave{fill:none;stroke-width:3;filter:url(#glow)}.clock{stroke:var(--green)}.data{stroke:var(--amber);stroke-dasharray:1600;animation:trace 3s ease-out both}
.status-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#bbc0b0;border-bottom:1px solid var(--line)}.status-strip div{padding:1rem 1.5rem;border-right:1px solid var(--line)}.status-strip span,.status-strip strong{display:block;font-family:var(--mono)}.status-strip span{font-size:.62rem;color:var(--muted);letter-spacing:.1em}.status-strip strong{font-size:.85rem}.status-strip .signal{color:#315d1d}.lesson-panel{min-height:420px;padding:4rem clamp(2rem,5vw,6rem);background:var(--panel);border-bottom:1px solid var(--line)}.lesson-card{max-width:1120px}.lesson-top{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem}.lesson-index{font:800 clamp(4rem,10vw,9rem)/.8 var(--display);color:transparent;-webkit-text-stroke:1px #a8aa9f}.lesson-card h2{font:700 clamp(2.3rem,4vw,4.4rem)/.98 var(--display);margin:.2rem 0 1.1rem;text-transform:uppercase;max-width:820px}.lesson-summary{max-width:780px;font-size:1.02rem}.lesson-grid{margin-top:2rem;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.lesson-grid>div{background:var(--paper);padding:1.25rem}.lesson-grid b{display:block;font:.7rem var(--mono);color:var(--muted);margin-bottom:.4rem}.lesson-grid p{margin:0;font-size:.9rem}.lesson-actions{display:flex;align-items:center;gap:1rem;margin-top:1.5rem}.complete-button.done{background:var(--green);color:var(--ink)}
.section-block{padding:5rem clamp(2rem,5vw,6rem);border-bottom:1px solid var(--line);scroll-margin-top:82px}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:2rem}.section-heading h2{font:700 clamp(2.3rem,4.5vw,4.8rem)/.98 var(--display);text-transform:uppercase;margin:0;max-width:900px}.section-code{font:800 clamp(3rem,8vw,7rem)/1 var(--display);color:transparent;-webkit-text-stroke:1px #aaa99e}.section-intro{font-size:1rem;max-width:820px;color:#4f554f;margin:1.5rem 0 2.4rem}.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.evidence-grid article{background:var(--panel);padding:1.3rem;min-height:190px}.evidence-grid h3{font:700 1.15rem var(--display);margin:1rem 0 .5rem}.evidence-grid p{font-size:.82rem;margin:0;color:#525850}.badge{font:700 .62rem var(--mono);padding:.28rem .45rem;border:1px solid currentColor}.measured{color:#366e1d}.manual{color:#80621b}.inferred{color:#26657a}.pending{color:#914239}
.split-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:3rem}.board-diagram{background:#143b29;min-height:380px;border:12px solid #163125;box-shadow:inset 0 0 0 1px #4f715f,12px 14px 0 rgba(16,20,17,.12);position:relative;padding:2rem;color:#d7e6dc}.board-diagram::before{content:"";position:absolute;inset:18px;background-image:linear-gradient(90deg,transparent 49%,rgba(129,184,150,.13) 50%,transparent 51%),linear-gradient(transparent 49%,rgba(129,184,150,.13) 50%,transparent 51%);background-size:45px 45px}.board-label{position:relative;font:700 .72rem var(--mono);letter-spacing:.09em}.board-label span{float:right;color:#8bb79b}.pin-bank{position:relative;display:flex;justify-content:center;gap:1.5rem;margin:5rem auto 3rem}.pin{position:relative;width:72px;height:72px;background:#b88b2d;border:8px solid #ddb95f;box-shadow:0 0 0 6px #0d2b1d;cursor:pointer;font:800 1rem var(--mono);color:#102519}.pin:hover,.pin.measured{transform:translateY(-5px);box-shadow:0 0 0 6px #0d2b1d,0 0 22px var(--green)}.pin::after{content:"";position:absolute;inset:14px;background:#272b28}.pin.measured::after{background:var(--green)}.meter{position:relative;background:#d4d1bc;color:var(--ink);border:5px solid #242823;padding:.8rem 1rem;max-width:310px;margin:auto;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.1rem 1rem}.meter span,.meter small{font:600 .6rem var(--mono)}.meter strong{font:800 2rem var(--mono);text-align:right}.meter small{grid-column:1/-1;color:#62675f}.lab-notes{align-self:center}.lab-notes p{margin:.45rem 0 1.6rem}.note-tag{display:inline-block;background:var(--amber);padding:.25rem .5rem;font:700 .65rem var(--mono)}.note-tag.truth{background:var(--ink);color:var(--green)}.lab-result{padding:1rem;margin:1rem 0;border-left:4px solid var(--muted);background:var(--paper-2);font-size:.85rem}.lab-result.pass{border-color:#527c39}
.dark-block{background:var(--ink);color:var(--paper)}.dark-block .section-intro{color:#aeb5ae}.dark-block .section-code{-webkit-text-stroke-color:#414942}.register-lab{display:grid;grid-template-columns:.7fr 1fr 1.2fr;gap:1px;background:#3b423c;border:1px solid #3b423c}.register-lab>div{background:#171c18;padding:1.5rem}.method-switch{display:flex;flex-direction:column;gap:.7rem}.method{background:#0d110e;color:#aeb5ae;border:1px solid #384038;padding:1rem;text-align:left;cursor:pointer}.method span{float:left;width:2rem;height:2rem;border:1px solid #626c63;display:grid;place-items:center;margin-right:.8rem;font:700 .7rem var(--mono)}.method strong,.method small{display:block}.method strong{font-family:var(--display);color:var(--paper)}.method small{font-family:var(--mono);font-size:.65rem}.method.active{border-color:var(--green);box-shadow:inset 4px 0 var(--green)}.bit-row{font-family:var(--mono);font-size:.7rem}.bit-row code{display:block;color:var(--green);font-size:1.6rem;margin:.7rem 0}.binary{display:flex;gap:.35rem}.bit{width:42px;padding:.5rem .2rem;text-align:center;border:1px solid #485149;font:700 .7rem var(--mono)}.bit.on{background:var(--green);color:var(--ink)}.register-output p,.pc-scope p{font-size:.78rem;color:#9fa79f;margin-top:1rem}.pc-scope header{display:flex;justify-content:space-between;font:.7rem var(--mono)}.pc-points{height:130px;position:relative;margin:1rem 0;background:repeating-linear-gradient(90deg,#252c26 0,#252c26 1px,transparent 1px,transparent 12.5%);border-bottom:1px solid #555}.pc-dot{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--amber);box-shadow:0 0 12px var(--amber)}
.fault-console{display:grid;grid-template-columns:.75fr 1.25fr;border:1px solid var(--ink)}.symptoms{background:var(--paper-2);padding:1rem}.symptom{width:100%;padding:.8rem;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer;font:700 .78rem var(--mono)}.symptom:hover,.symptom.active{background:var(--ink);color:var(--green)}.console-screen{min-height:330px;background:#090c0a;color:#aeb9b0;padding:1.5rem;font-family:var(--mono)}.console-top{display:flex;gap:1rem;font-size:.62rem;color:#677169;border-bottom:1px solid #283029;padding-bottom:.7rem}.console-top i{flex:1;border-bottom:1px dotted #3d473f}.console-screen pre{white-space:pre-wrap;color:var(--green);font:600 .82rem/1.8 var(--mono)}.fault-action{border-top:1px solid #283029;padding-top:1rem;font-size:.78rem}.fault-action strong{color:var(--amber)}.bug-rack{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1rem}.bug-card{padding:1rem;border:1px solid var(--line);background:var(--panel)}.bug-card b{font:.7rem var(--mono);color:#8a423b}.bug-card strong{display:block;font:700 1rem var(--display);margin:.4rem 0}.bug-card p{font-size:.75rem;margin:0;color:#596057}.myth-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--ink);border:1px solid var(--ink)}.myth-grid article{background:var(--paper);padding:1.5rem}.myth-grid b{font:.65rem var(--mono);color:#a33f35}.myth-grid h3{font:700 1.2rem var(--display);margin:.5rem 0}.myth-grid p{font-size:.82rem;margin:0}
.checkpoint{background:#c7d0b7}.quiz-card{max-width:820px;background:var(--panel);border:1px solid var(--ink);box-shadow:12px 12px 0 var(--ink);padding:2rem}.quiz-meta{font:.7rem var(--mono);color:var(--muted)}.quiz-card h3{font:700 1.7rem var(--display);margin:.8rem 0 1.4rem}.answers{display:grid;gap:.6rem}.answer{background:transparent;border:1px solid var(--line);padding:.8rem;text-align:left;cursor:pointer}.answer:hover{border-color:var(--ink)}.answer.correct{background:var(--green);border-color:var(--ink)}.answer.wrong{background:#f0b7ad;border-color:var(--red)}.quiz-feedback{min-height:3.2rem;margin-top:1rem;font-size:.84rem}.quiz-controls{display:flex;justify-content:space-between;align-items:center}.course-footer{background:var(--ink);color:#929a93;padding:2rem clamp(2rem,5vw,6rem);display:flex;justify-content:space-between;gap:2rem;font:600 .68rem var(--mono)}.course-footer strong,.course-footer span{display:block}.course-footer strong{color:var(--green)}.course-footer p{max-width:560px;margin:0;text-align:right}
@keyframes trace{from{stroke-dashoffset:1600}to{stroke-dashoffset:0}}@keyframes pulse{50%{opacity:.35;box-shadow:0 0 3px var(--green)}}
@media(max-width:1050px){.app-shell{grid-template-columns:190px}.hero{grid-template-columns:1fr;padding-top:3rem}.scope-card{max-width:760px}.evidence-grid{grid-template-columns:1fr 1fr}.register-lab{grid-template-columns:1fr 1fr}.pc-scope{grid-column:1/-1}}
@media(max-width:720px){.masthead{height:auto;padding:.8rem 1rem}.mast-readout span,.mast-readout .text-button{display:none}.app-shell{display:block}.course-rail{position:static;height:auto;padding:1rem;overflow:auto}.rail-heading,.rail-rule{display:none}#stage-nav{display:flex;min-width:max-content}.stage-button{width:150px;border:1px solid var(--line)}.hero{min-height:auto;padding:3.5rem 1.2rem;grid-template-columns:1fr;gap:2rem}.hero h1{font-size:3.2rem}.status-strip{grid-template-columns:1fr 1fr}.lesson-panel,.section-block{padding:3.5rem 1.2rem}.lesson-top,.section-heading{display:block}.lesson-index,.section-code{display:none}.lesson-grid,.evidence-grid,.split-layout,.fault-console,.myth-grid{grid-template-columns:1fr}.register-lab{grid-template-columns:1fr}.pc-scope{grid-column:auto}.bug-rack{grid-template-columns:1fr}.pin-bank{gap:.55rem}.pin{width:55px;height:55px}.course-footer{display:block}.course-footer p{text-align:left;margin-top:1rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
