:root{--plum:#734473;--aubergine:#56004e;--pear:#ebe986;--olive:#909000;--aubergine-deep:#3d0037;--olive-dark:#6b6b00;--pear-dark:#c8c655;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:48px;--container:1200px;--measure:40rem;--tap-min:44px;--font-display:"jubilat", Georgia, "Times New Roman", serif;--font-body:"rotunda", Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--radius:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--rule-track:4px;--duration:.2s;--transition-control:background-color var(--duration) ease, color var(--duration) ease, border-color var(--duration) ease;--transition-card:border-color .25s ease, box-shadow .25s ease, transform .25s ease;--focus-ring:0 0 0 3px #73447359}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--accent:var(--plum);--accent-hover:var(--aubergine);--accent-tint:#f3eaf3;--on-accent:#fff;--page:#f4f2f5;--card:#fff;--tint:#f8f6f9;--fg:#1f2430;--heading:var(--aubergine);--muted:#6b6472;--line:#e4e0e8;--ok:var(--olive-dark);--ok-tint:#f4f4e4;--ok-line:var(--pear-dark);--bad:#a32b2b;--bad-tint:#fbebeb;--bad-line:#dfa3a3;--stop:#a32b2b;--safe:#a85b12;--band:linear-gradient(135deg, var(--aubergine) 0%, var(--aubergine-deep) 100%);--on-band:#fff;--on-band-muted:#ffffffc7;--on-band-tint:#ffffff1f;--band-orb:#73447338;--shadow:0 1px 2px #56004e0f;--shadow-hover:0 4px 20px #7344730f;--shadow-raised:0 8px 32px #7344731a;--shadow-sticky:0 2px 8px #56004e0f}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent:#c79bc6;--accent-hover:var(--pear);--accent-tint:#2e2333;--on-accent:#1e1722;--page:#150f17;--card:#1e1722;--tint:#241c28;--fg:#f1ecf1;--heading:#f7f3f6;--muted:#a99fab;--line:#3a2f3d;--ok:#c2c25a;--ok-tint:#23231a;--ok-line:var(--olive-dark);--bad:#e99a9a;--bad-tint:#2a1919;--bad-line:#773939;--stop:#e99a9a;--safe:#e0a06a;--band:linear-gradient(135deg, var(--aubergine) 0%, var(--aubergine-deep) 100%);--on-band:#fff;--on-band-muted:#ffffffc7;--on-band-tint:#ffffff1f;--band-orb:#73447338;--shadow:0 1px 2px #0006;--shadow-hover:0 4px 20px #00000073;--shadow-raised:0 8px 32px #0000008c;--shadow-sticky:0 2px 8px #00000073}*{box-sizing:border-box}body{background:var(--page);color:var(--fg);font-family:var(--font-body);margin:0;font-size:16px;line-height:1.6}.wrap{max-width:44rem;margin:0 auto;padding:2rem 1.25rem 6rem}a{color:var(--accent)}a:hover{color:var(--accent-hover)}h1,h2,h3{font-family:var(--font-display);color:var(--heading)}h1{letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.9rem;font-weight:700;line-height:1.15}h2{letter-spacing:-.01em;margin:2.25rem 0 .75rem;font-size:1.3rem;font-weight:600;line-height:1.25}h3{margin:1.5rem 0 .5rem;font-size:1.05rem;font-weight:600;line-height:1.25}.eyebrow{font-family:var(--font-body);letter-spacing:.125em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;font-size:.75rem;font-weight:700;display:block}.sub{color:var(--muted);margin:0 0 1.25rem;font-size:1.02rem}.meta{color:var(--muted);font-size:.82rem}.empty{color:var(--muted)}.ok{color:var(--ok);font-size:.9rem}.err{color:var(--bad);font-size:.9rem}hr{border:0;border-top:1px solid var(--line);margin:2.25rem 0}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{border:1px solid var(--line);text-align:left;padding:.45rem .65rem}code{background:var(--accent-tint);border-radius:3px;padding:.1rem .3rem;font-size:.9em}.appbar{z-index:40;background:var(--card);border-bottom:1px solid var(--line);box-shadow:var(--shadow-sticky);position:sticky;top:0}.appbar-inner{max-width:var(--container);flex-wrap:wrap;align-items:stretch;gap:clamp(.75rem,2.5vw,1.75rem);min-height:68px;margin:0 auto;padding:0 clamp(1rem,3vw,2rem);display:flex}.appbar-inner>:not(.appbar-nav){align-self:center}.appbar-logo{flex:none;width:auto;height:34px}.appbar-word{flex:none;line-height:1;display:none}.appbar-word b{font-family:var(--font-display);letter-spacing:-.02em;color:var(--heading);font-size:20px;font-weight:700}.appbar-word span{letter-spacing:.3em;text-transform:uppercase;color:var(--pear);margin-left:.35rem;font-size:10px}:root[data-theme=dark] .appbar-logo{display:none}:root[data-theme=dark] .appbar-word{display:block}.appbar-rule{background:var(--line);flex:none;width:1px;height:26px}.appbar-title{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);flex:none;font-size:.8rem;font-weight:700}.appbar-nav{flex-wrap:wrap;align-self:stretch;align-items:stretch;gap:clamp(.6rem,2vw,1.5rem);margin-left:auto;display:flex}.appbar-nav button{font:inherit;min-height:var(--tap-min);cursor:pointer;color:var(--muted);transition:var(--transition-control);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;padding:0;font-size:.875rem;font-weight:700;display:inline-flex}.appbar-nav button:hover:not(:disabled){color:var(--accent);background:0 0}.appbar-nav button.on{color:var(--heading);border-bottom-color:var(--pear)}:root[data-theme=dark] .appbar-nav button.on{color:var(--fg)}.appbar-right{flex:none;align-items:center;gap:.75rem;display:flex}.appbar-who{color:var(--muted);white-space:nowrap;font-size:.8rem}.appbar-right button.link{min-height:var(--tap-min);align-items:center;padding:0 .25rem;font-size:.8rem;display:inline-flex}.signedin{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.75rem;display:flex}.nav-left{flex-wrap:wrap;align-items:baseline;gap:.4rem;display:inline-flex}button.signout{color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);min-height:var(--tap-min);background:0 0;flex:none;padding:.35rem .8rem;font-size:.84rem;font-weight:700}button.signout:hover:not(:disabled){background:var(--bad-tint);border-color:var(--bad-line);color:var(--bad)}button{font:inherit;min-height:var(--tap-min);border-radius:var(--radius);border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);cursor:pointer;padding:.55rem 1.15rem;font-size:.92rem;font-weight:700}button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button:disabled{opacity:.45;cursor:default}button.secondary,button.quiet{color:var(--accent);border-color:var(--line);background:0 0;font-weight:400}button.secondary:hover:not(:disabled),button.quiet:hover:not(:disabled){background:var(--accent-tint);border-color:var(--accent);color:var(--accent-hover)}button.link{color:var(--accent);background:0 0;border:0;padding:0;font-size:.82rem;font-weight:400;text-decoration:underline}button.link:hover:not(:disabled){color:var(--accent-hover);background:0 0}textarea,select,input[type=email],input[type=password]{width:100%;font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:6px;padding:.55rem;font-size:.95rem}textarea:focus,select:focus,input:focus{outline:2px solid var(--accent);outline-offset:1px}select{width:auto}.progressbar{background:var(--line);border-radius:999px;height:6px;overflow:hidden}.progressbar span{background:var(--accent);border-radius:999px;height:100%;transition:width .25s;display:block}.course{max-width:var(--container);flex-wrap:wrap;align-items:flex-start;gap:clamp(1.25rem,4vw,2.75rem);margin:0 auto;padding:clamp(1.25rem,4vw,2.75rem) clamp(1rem,3vw,2rem) 4.5rem;font-size:17px;line-height:1.6;display:flex}.chapnav{flex:13rem;max-width:16.25rem;position:sticky;top:84px}.chapnav-back{padding:0 0 .875rem;font-size:.8125rem;font-weight:700}.chapnav-title{margin:0 0 .25rem;font-size:1.3125rem;line-height:1.25}.chapnav-meta{color:var(--muted);margin:0 0 1.125rem;font-size:.8125rem}.chapnav .progressbar{height:6px;margin-bottom:1.125rem}.chapnav-steps{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.chapnav-steps button{text-align:left;width:100%;font:inherit;min-height:0;color:var(--muted);cursor:pointer;transition:var(--transition-control);background:0 0;border:0;border-left:3px solid #0000;border-radius:0;align-items:baseline;gap:.625rem;padding:.4375rem .625rem;font-size:.875rem;display:flex}.chapnav-steps button:hover:not(:disabled){background:var(--tint);color:var(--accent)}.chapnav-n{font-variant-numeric:tabular-nums;opacity:.75;flex:none;font-size:.75rem}.chapnav-steps li.done button{color:var(--fg)}.chapnav-steps li.now button{border-left-color:var(--pear);background:var(--tint);color:var(--fg);font-weight:700}.chapmain{flex:999 27.5rem;min-width:0;max-width:45rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(1.375rem,4vw,2.5rem)}.step-badge{background:var(--accent-tint);color:var(--accent);letter-spacing:.07em;text-transform:uppercase;border-radius:999px;margin:0 0 1.1rem;padding:.22rem .6rem;font-size:.72rem;font-weight:700;display:inline-block}:root[data-theme=dark] .step-badge{color:var(--accent-hover)}.card h1{margin:0 0 .5rem;font-size:22px}.card h2{margin:0 0 .9rem;font-size:22px}.card>:last-child{margin-bottom:0}.card p,.card li{font-size:17px;line-height:1.6}.course .prompt{margin:0 0 1.1rem}.course .preamble{color:var(--muted);margin:0 0 .8rem;font-style:italic}.rule-note{border-left:3px solid var(--accent);background:var(--accent-tint);color:var(--fg);border-radius:0 6px 6px 0;margin:0 0 1.25rem;padding:.6rem .8rem;font-size:.86rem;line-height:1.5}.hero-inner-narrow{max-width:48rem}.hero-strands{flex-wrap:wrap;gap:.875rem;margin-top:1.5rem;display:flex}.hero-strand{border-radius:var(--radius-md);background:var(--on-band-tint);color:var(--on-band);padding:.625rem 1rem;font-size:.875rem}.hero-strand strong{color:var(--pear);margin-right:.25rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:.875rem;margin-top:2rem;display:flex}.preview-note{margin-top:1rem;font-size:.875rem}button.on-band{background:var(--pear);color:var(--aubergine-deep)}button.on-band:hover:not(:disabled){color:var(--aubergine-deep);background:#fff}button.quiet.on-band{color:var(--on-band);background:0 0;border:1px solid #ffffff80}button.quiet.on-band:hover:not(:disabled){color:var(--on-band);background:#ffffff1f}button.link.on-band{color:var(--on-band-muted);background:0 0}button.link.on-band:hover:not(:disabled){color:var(--pear);background:0 0}ul.options.choices{margin:0 0 1.25rem;padding:0;list-style:none}ul.options.choices li{margin:.625rem 0}ul.options.choices label{min-height:var(--tap-min);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);cursor:pointer;transition:var(--transition-control);align-items:flex-start;gap:.875rem;padding:1rem 1.125rem;font-size:1.0625rem;line-height:1.55;display:flex}ul.options.choices label:hover{border-color:var(--accent);background:var(--accent-tint)}ul.options.choices input{accent-color:var(--accent);flex:none;width:18px;height:18px;margin:.3125rem 0 0}.choice-text{flex:1}.choice-mark{flex:none;font-size:1.125rem;font-weight:700}.choice.right label{border-color:var(--ok);background:var(--ok-tint)}.choice.wrong label{border-color:var(--bad);background:var(--bad-tint)}.choice.right .choice-mark{color:var(--ok)}.choice.wrong .choice-mark{color:var(--bad)}.choice.settled label{opacity:.7}li.choice.right label{border-color:var(--ok-line);background:var(--ok-tint)}li.choice.right .choice-mark{color:var(--ok)}li.choice.wrong label{border-color:var(--bad-line);background:var(--bad-tint)}li.choice.wrong .choice-mark{color:var(--bad)}li.choice.settled label{cursor:default}li.choice.settled label:hover{border-color:var(--line);background:var(--card)}li.choice.right label:hover{border-color:var(--ok-line);background:var(--ok-tint)}li.choice.wrong label:hover{border-color:var(--bad-line);background:var(--bad-tint)}.sortrow{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;margin:.5rem 0;padding:.7rem .9rem;display:flex}.sortrow.right{border-color:var(--ok-line);background:var(--ok-tint)}.sortrow.wrong{border-color:var(--bad-line);background:var(--bad-tint)}.feedback-block{border:0;border-left:4px solid var(--accent);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--accent-tint);margin:1.625rem 0 0;padding:1.125rem 1.25rem}.feedback-block.right{border-left-color:var(--ok);background:var(--ok-tint)}.feedback-block.wrong{border-left-color:var(--bad);background:var(--bad-tint)}.verdict-line{font-family:var(--font-display);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.feedback-block.right .verdict-line{color:var(--ok)}.feedback-block.wrong .verdict-line{color:var(--bad)}.feedback-block p{margin:.4rem 0 0;font-size:1.0625rem;line-height:1.6}.attempt-line{color:var(--muted);margin:.7rem 0 0!important;font-size:.78rem!important}.course-nav{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;margin-top:2rem;padding-top:1.25rem;display:flex}.course-nav-right{align-items:center;gap:.6rem;display:flex}.field{margin:1rem 0}.field label{margin-bottom:.3rem;font-size:.95rem;font-weight:700;display:block}.field .help{color:var(--muted);margin:0 0 .45rem;font-size:.86rem}figure.asset{margin:1.4rem 0}figure.asset img,figure.asset video{border:1px solid var(--line);background:var(--page);border-radius:8px;width:100%;max-width:100%;height:auto;display:block}figure.asset audio{width:100%;display:block}figure.asset figcaption{color:var(--muted);margin-top:.55rem;font-size:.84rem;line-height:1.45}.asset-loading,.asset-error{border:1px dashed var(--line);text-align:center;color:var(--muted);border-radius:8px;padding:1.25rem;font-size:.86rem}.asset-error{border-style:solid;border-color:var(--bad-line);color:var(--bad)}.review-asset{margin:1.4rem 0}.review-asset figure.asset{margin:0}.review-asset>.meta{margin:.4rem 0 0;font-size:.8rem}.review-asset.pending{border-left:3px solid var(--accent);background:var(--accent-tint);border-radius:0 8px 8px 0;padding:.9rem 1rem}.review-asset.pending>.meta{color:var(--accent-hover);font-weight:600}.embed{aspect-ratio:16/9;border:1px solid var(--line);background:#000;border-radius:8px;width:100%;position:relative;overflow:hidden}.embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.card table{max-width:100%;display:block;overflow-x:auto}@media (width<=480px){.wrap{padding:1.25rem .8rem 4rem}.course,.card p,.card li,ul.options.choices label{font-size:16px}.card h1,.card h2{font-size:20px}ul.options.choices label{padding:.8rem .875rem}.sortrow{flex-direction:column;align-items:stretch;gap:.5rem}.sortrow select{width:100%}}.callout{border-left:3px solid var(--line);background:var(--accent-tint);border-radius:0 6px 6px 0;margin:1.25rem 0;padding:.85rem 1rem}.callout .kind{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem;font-size:.7rem;font-weight:700;display:block}.callout-stop{border-left-color:var(--stop)}.callout-safeguard{border-left-color:var(--safe)}.callout-note,.callout-example{border-left-color:var(--accent)}details.stuck{border:1px solid var(--line);background:var(--card);border-radius:8px;margin:1.25rem 0 0;padding:.6rem .9rem}details.stuck>summary{cursor:pointer;color:var(--accent);font-size:.86rem;font-weight:700;list-style-position:outside}details.stuck[open]>summary,details.stuck textarea{margin-bottom:.6rem}details.stuck .course-nav-right{justify-content:flex-end}.screen{margin:0}.stage{border-top:1px dashed var(--line);margin-top:1.4rem;padding-top:1.1rem}.stage:first-of-type{border-top:0;margin-top:0;padding-top:0}.chapters{padding:0;list-style:none}.chapters li{border-top:1px solid var(--line);padding:.9rem 0}.chapters a{font-size:1.05rem;font-weight:700;text-decoration:none}.hero{background:var(--band);color:var(--on-band);padding:clamp(2rem,6vw,4rem) 0 clamp(1.75rem,5vw,3.25rem);position:relative;overflow:hidden}.hero-orb{background:var(--band-orb);pointer-events:none;border-radius:50%;width:380px;height:380px;position:absolute;top:-140px;right:-80px}.hero-inner{z-index:2;max-width:var(--container);flex-wrap:wrap;align-items:flex-end;gap:clamp(1.5rem,4vw,3rem);margin:0 auto;padding:0 clamp(1rem,3vw,2rem);display:flex;position:relative}.hero-main{flex:999 26rem}.eyebrow-on-band{color:var(--pear)}.hero-title{color:var(--on-band);margin:0 0 .75rem;font-size:clamp(1.75rem,5vw,3rem);line-height:1.1}.hero-sub{max-width:35rem;color:var(--on-band-muted);margin:0;font-size:clamp(1rem,1.8vw,1.125rem);line-height:1.6}.hero-readiness{margin:1.25rem 0 0}.readiness-pill{border-radius:var(--radius-pill);background:var(--on-band-tint);color:var(--on-band);align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.8rem;font-weight:700;display:inline-flex}.readiness-dot{background:var(--pear);border-radius:50%;width:8px;height:8px}.hero-progress{max-width:32rem;margin-top:1.75rem}.hero-progress-row{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;font-size:.8rem;display:flex}.hero-progress-count{color:var(--pear);font-weight:700}.hero-progress-level{color:var(--on-band-muted)}.progressbar.on-band{background:#ffffff29;height:8px}.progressbar.on-band span{background:var(--pear)}.hero-stats{flex-wrap:wrap;flex:16rem;gap:clamp(1rem,3vw,2rem);display:flex}.statblock{min-width:7.5rem}.statblock-value{font-family:var(--font-display);color:var(--pear);font-size:1.75rem;font-weight:700;line-height:1.1;display:block}.statblock-label{color:var(--on-band-muted);margin-top:.35rem;font-size:.8rem;display:block}.page{max-width:var(--container);margin:0 auto;padding:clamp(2rem,5vw,3.5rem) clamp(1rem,3vw,2rem)}.page-tight{max-width:calc(var(--measure) + 12rem);padding-top:clamp(1.25rem,3vw,2rem);padding-bottom:0}.withheld{padding-top:0;padding-bottom:clamp(2rem,5vw,3.5rem)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1.5rem;display:flex}.section-head .eyebrow{margin-bottom:.5rem}.section-title{margin:0;font-size:clamp(1.375rem,3vw,2rem)}.chapgrid{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:clamp(.75rem,2vw,1.25rem);display:grid}.chapcard{background:var(--card);border:1px solid var(--line);border-top:var(--rule-track) solid var(--line);border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow);transition:var(--transition-card);cursor:pointer;flex-direction:column;gap:.625rem;padding:1.125rem 1.25rem 1.25rem;display:flex}.chapcard:hover{border-color:var(--accent);box-shadow:var(--shadow-raised);transform:translateY(-3px)}.chapcard:focus-visible{box-shadow:var(--focus-ring);outline:0}.state-rule-complete{border-top-color:var(--ok)}.state-rule-submitted{border-top-color:var(--safe)}.state-rule-in_progress{border-top-color:var(--accent)}.chapcard-top{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.chapcard-num{font-family:var(--font-display);color:var(--muted);font-size:1.625rem;font-weight:700;line-height:1}.state-rule-complete .chapcard-num{color:var(--ok)}.state-rule-submitted .chapcard-num{color:var(--safe)}.state-rule-in_progress .chapcard-num{color:var(--accent)}.chapcard-min{color:var(--muted);white-space:nowrap;font-size:.75rem}.chapcard-title{margin:0;font-size:1.1875rem;line-height:1.25}.chapcard-chips{flex-wrap:wrap;gap:.375rem;display:flex}.chip{letter-spacing:.06em;border-radius:var(--radius-pill);background:var(--accent-tint);color:var(--accent);cursor:help;padding:.1875rem .5rem;font-size:.6875rem;font-weight:700}.chapcard-foot{margin-top:auto;padding-top:.5rem}.chapcard-bar{background:var(--line);border-radius:var(--radius-pill);height:4px;margin-bottom:.5rem;overflow:hidden}.chapcard-bar span{border-radius:var(--radius-pill);background:var(--muted);height:100%;display:block}.state-rule-complete .chapcard-bar span{background:var(--ok)}.state-rule-submitted .chapcard-bar span{background:var(--safe)}.state-rule-in_progress .chapcard-bar span{background:var(--accent)}.chapcard-state{color:var(--muted);font-size:.8125rem;font-weight:700}.state-rule-complete .chapcard-state{color:var(--ok)}.state-rule-submitted .chapcard-state{color:var(--safe)}.state-rule-in_progress .chapcard-state{color:var(--accent)}.unbuilt{border:1px dashed var(--line);border-radius:var(--radius-md);background:var(--tint);margin-top:clamp(2rem,5vw,3.5rem);padding:1.25rem 1.375rem}.unbuilt-tag{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin-bottom:.5rem;padding:.125rem .4375rem;font-size:.6875rem;font-weight:700;display:inline-block}.unbuilt p{color:var(--muted);max-width:var(--measure);margin:0;font-size:.9375rem;line-height:1.6}.unbuilt strong{color:var(--fg)}.state{white-space:nowrap;border:1px solid var(--line);color:var(--muted);vertical-align:middle;border-radius:3px;padding:.12rem .45rem;font-size:.72rem;font-weight:700;display:inline-block}.state-complete{color:var(--ok);border-color:var(--ok-line)}.state-submitted{color:var(--safe);border-color:var(--safe)}.state-in_progress{color:var(--accent);border-color:var(--accent)}@media (width<=900px){.course{padding-bottom:3.5rem;display:block}.chapnav{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);max-width:none;margin-bottom:1.5rem;padding:1rem 1.125rem;position:static}.chapnav-steps{max-height:13rem;overflow-y:auto}.chapmain{max-width:none}}@media (width<=700px){.hero-inner{display:block}.hero-stats{margin-top:2rem}.section-head{align-items:stretch}.section-head button{width:100%}}@media (hover:none){.chapnav-steps button,.chapnav-back,.appbar-nav button,details.stuck>summary,details.editor>summary,details.build-notes>summary,button.link{min-height:var(--tap-min);align-items:center;display:flex}.chapnav-back,button.link{display:inline-flex}}@media (width<=560px){.appbar-inner{row-gap:.25rem;min-height:0;padding-top:.625rem;padding-bottom:.625rem}.appbar-title,.appbar-rule{display:none}.appbar-nav{flex-basis:100%;order:3;gap:1.125rem;margin-left:0}.appbar-nav button{min-height:var(--tap-min);padding-bottom:.375rem}.appbar-right{gap:.625rem;margin-left:auto}.appbar-who{display:none}.hero{padding-top:2rem;padding-bottom:1.75rem}.hero-orb{width:220px;height:220px;top:-90px;right:-60px}.hero-stats{gap:1.5rem}.hero-actions{display:block}.hero-actions button{width:100%;margin-bottom:.625rem}.chapgrid{grid-template-columns:1fr}.course{padding-left:.875rem;padding-right:.875rem}.card{border-radius:var(--radius-md);padding:1.25rem 1.125rem}.course-nav{flex-wrap:wrap;gap:.625rem}.course-nav>button,.course-nav-right{width:100%}.course-nav-right{justify-content:stretch}.course-nav-right button{flex:1}.feedback-block{padding:1rem 1rem 1rem .875rem}.unbuilt{padding:1rem 1.125rem}}.signin{max-width:24rem}.signin label{margin:1.25rem 0 .3rem;font-size:.9rem;display:block}.signin>button[type=submit]{margin-top:1.25rem}.signin-alt{color:var(--muted);margin:1rem 0 0;font-size:.86rem}.signin-alt button.link{font-size:.86rem}.signin .hint{color:var(--muted);margin:.3rem 0 0;font-size:.8rem}.password-notice{border-color:var(--safe)}.banner{background:var(--accent-tint);border:1px solid var(--line);color:var(--fg);border-radius:6px;margin:0 0 1.5rem;padding:.7rem .95rem;font-size:.86rem;line-height:1.5}.modeswitch{border:1px solid var(--line);border-radius:6px;margin:0 0 1.75rem;display:inline-flex;overflow:hidden}.modeswitch button{color:var(--muted);background:0 0;border:0;border-radius:0;padding:.45rem .95rem;font-size:.84rem;font-weight:400}.modeswitch button:hover:not(:disabled){background:var(--accent-tint);color:var(--accent-hover)}.modeswitch button.on{background:var(--accent);color:var(--on-accent)}.modeswitch button.on:hover:not(:disabled){background:var(--accent-hover);color:var(--on-accent)}.tag{border:1px solid var(--line);color:var(--muted);vertical-align:middle;white-space:nowrap;border-radius:3px;padding:.12rem .45rem;font-size:.72rem;font-weight:700;display:inline-block}.tag-approved{color:var(--ok);border-color:var(--ok-line)}.tag-in-review{color:var(--safe);border-color:var(--safe)}.tag-draft-ai{color:var(--bad);border-color:var(--bad-line)}.review-notes{border:1px solid var(--accent);background:var(--card);border-radius:8px;margin:0 0 1.5rem;padding:1rem 1.15rem 1.15rem}.review-notes>h2{margin:0 0 .8rem;font-size:1rem}.review-notes .rn{margin-top:.95rem}.review-notes .rn:first-of-type{margin-top:0}.review-notes .rn>h3{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 .3rem;font-size:.74rem;font-weight:700}.review-notes .rn-decisions>h3{color:var(--bad)}.review-notes .rn-missing>h3{color:var(--safe)}.review-notes ul{margin:0;padding-left:1.15rem}.review-notes li{margin:.3rem 0;line-height:1.55}.review-block{border-top:1px solid var(--line);margin:2rem 0;padding-top:1.25rem}ul.options{margin:0 0 1rem;padding:0;list-style:none}ul.options li{margin:.4rem 0}ul.options label{cursor:pointer;align-items:baseline;gap:.6rem;display:flex}ul.options.keyed li{border:1px solid var(--line);border-radius:6px;margin:.4rem 0;padding:.5rem .7rem}ul.options.keyed li p{margin:0}ul.options.keyed .is-correct{border-color:var(--ok-line);background:var(--ok-tint)}ul.options.keyed .is-misreading{border-color:var(--bad-line);background:var(--bad-tint)}.feedback{margin-top:.3rem!important}.badge{text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--line);color:var(--muted);border-radius:3px;margin-left:.5rem;padding:.05rem .35rem;font-size:.68rem;font-weight:700;display:inline-block}.badge.ok{color:var(--ok);border-color:var(--ok-line)}.badge.warn{color:var(--bad);border-color:var(--bad-line)}details.editor{border:1px solid var(--line);background:var(--card);border-radius:6px;margin-top:.9rem;padding:.55rem .8rem}details.editor>summary{cursor:pointer;color:var(--accent);font-size:.84rem;font-weight:700;list-style-position:outside}details.editor[open]>summary{margin-bottom:.75rem}details.editor>summary .meta{font-weight:400}.editable{margin:0 0 1rem}.editable>label{color:var(--muted);margin-bottom:.25rem;font-size:.78rem;font-weight:700;display:block}.editable input[type=text]{font-size:.92rem}.editable textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92rem;line-height:1.5}.editable-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.35rem;display:flex}.editable-state{font-size:.78rem}.editable-state .unsaved{color:var(--bad);font-weight:700}.editable-actions{gap:.45rem;display:inline-flex}.editable-actions button{padding:.3rem .75rem;font-size:.8rem}.editable-actions button.danger{background:var(--bad);border-color:var(--bad);color:var(--card)}.editable-actions button.danger:hover:not(:disabled){background:var(--bad);border-color:var(--bad);opacity:.85}details.editor.media>summary{color:var(--fg)}.dropzone{border:2px dashed var(--line);background:var(--page);border-radius:8px;margin:.5rem 0 1rem;padding:1rem 1.1rem;transition:border-color .12s,background .12s}.dropzone.over{border-color:var(--accent);background:var(--accent-tint)}.dropzone>p{margin:0 0 .5rem;font-size:.9rem}.dropzone .chosen{color:var(--accent-hover);background:var(--accent-tint);border-radius:4px;padding:.3rem .5rem;font-size:.85rem;font-weight:700;display:inline-block}ul.guidance{color:var(--muted);margin:.75rem 0 0;padding:0;font-size:.8rem;line-height:1.5;list-style:none}ul.guidance li{margin:.25rem 0}ul.guidance strong{color:var(--fg)}ul.attached{margin:.5rem 0 1rem;padding:0;list-style:none}ul.attached li{border:1px solid var(--line);word-break:break-all;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:.75rem;margin:.4rem 0;padding:.55rem .7rem;font-size:.85rem;display:flex}ul.attached button{flex:none}.pending-edits{border:1px solid var(--accent);background:var(--accent-tint);border-radius:8px;margin:0 0 1.5rem;padding:.7rem 1rem;font-size:.88rem;line-height:1.5}.pending-edits strong{color:var(--accent-hover)}.stale-warning{border:2px solid var(--bad);background:var(--bad-tint);border-radius:8px;margin:0 0 1.75rem;padding:.9rem 1.1rem;font-size:.9rem;line-height:1.5}.stale-warning p{margin:0 0 .5rem}.stale-warning p:last-child{margin-bottom:0}.stale-warning ul{margin:.5rem 0;padding-left:1.25rem}.stale-warning li{margin:.2rem 0}.stale-warning strong{color:var(--bad)}.source-missing{border:1px solid var(--bad-line);background:var(--bad-tint);border-radius:6px;margin:0;padding:.6rem .75rem;font-size:.82rem;line-height:1.5}.decision{background:var(--accent-tint);border:1px solid var(--line);border-radius:6px;margin-top:1rem;padding:.8rem .9rem}.decision-actions{align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.ptos{background:var(--accent-tint);border:1px solid var(--line);border-radius:6px;padding:.4rem 1.1rem 1.1rem}.ptos dt{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:1rem;font-size:.74rem;font-weight:700}.ptos dd{margin:.2rem 0 0}
