:root{--bg:#0f1420;--panel:#161d2e;--panel-alt:#1c2540;--border:#2a3557;--text:#e8ecf7;--text-dim:#a7b1cc;--accent:#6fb6ff;--accent-2:#7ee2b8;--warn:#ffb86b;--bad:#ff7a90;--good:#7ee2b8;--radius:12px;--radius-sm:8px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--font-body:"Iowan Old Style","Georgia","Palatino Linotype",serif;--font-ui:-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;--text-xs:0.75rem;--text-sm:0.85rem;--text-base:1rem;--text-md:1.05rem;--text-lg:1.45rem;--text-xl:2.1rem;--nav-rail-width:260px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:linear-gradient(160deg,#0b0f19 0,var(--bg) 60%,#121a2c 100%);color:var(--text);font-family:var(--font-body);line-height:1.6}.mono,code{font-family:var(--font-mono)}a{color:var(--accent)}.lesson-layout{display:grid;grid-template-columns:var(--nav-rail-width) minmax(0,1fr);align-items:start;grid-gap:var(--space-6);gap:var(--space-6);max-width:1180px;margin:0 auto;padding:var(--space-5)}.lesson-layout>main{min-width:0;max-width:900px}@media (max-width:800px){.lesson-layout{grid-template-columns:1fr;gap:var(--space-4);padding:var(--space-3)}#sage-nav-rail,.nav-rail{position:static;max-height:none;overflow-x:auto;overflow-y:hidden;white-space:nowrap}#sage-nav-rail .nav-section,.nav-rail .nav-section{display:inline-block;vertical-align:top;white-space:normal;margin-right:var(--space-4)}}#sage-nav-rail,.nav-rail{position:-webkit-sticky;position:sticky;top:var(--space-4);max-height:calc(100vh - var(--space-6));overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);font-family:var(--font-ui)}#sage-nav-rail .nav-title,.nav-rail .nav-title{font-weight:700;letter-spacing:.02em;color:var(--text);margin:0 0 var(--space-4);font-size:var(--text-base)}#sage-nav-rail .nav-section,.nav-rail .nav-section{margin-bottom:var(--space-4)}#sage-nav-rail .nav-section-title,.nav-rail .nav-section-title{text-transform:uppercase;letter-spacing:.08em;font-size:var(--text-xs);color:var(--text-dim);margin:0 0 var(--space-2);font-weight:700}#sage-nav-rail ul,.nav-rail ul{list-style:none;margin:0;padding:0}#sage-nav-rail li,.nav-rail li{margin:0 0 var(--space-1)}#sage-nav-rail a,.nav-rail a{display:block;color:var(--text-dim);text-decoration:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid transparent;font-size:var(--text-sm);line-height:1.4}#sage-nav-rail a:hover,.nav-rail a:hover{color:var(--text);border-color:var(--border);background:var(--panel-alt)}#sage-nav-rail a.is-current,#sage-nav-rail a[aria-current=page],.nav-rail a.is-current,.nav-rail a[aria-current=page]{color:var(--bg);background:var(--accent);border-color:var(--accent);font-weight:700}#sage-nav-rail a.is-current:hover,#sage-nav-rail a[aria-current=page]:hover,.nav-rail a.is-current:hover,.nav-rail a[aria-current=page]:hover{color:var(--bg);background:var(--accent)}@keyframes sage-interactive-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sage-interactive{cursor:pointer;animation:sage-interactive-in .28s ease-out both}a.sage-interactive{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px;outline:2px solid transparent;outline-offset:2px;transition:color .15s,background .15s,border-color .15s,-webkit-text-decoration-color .15s;transition:color .15s,text-decoration-color .15s,background .15s,border-color .15s;transition:color .15s,text-decoration-color .15s,background .15s,border-color .15s,-webkit-text-decoration-color .15s}.sage-interactive:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent-2);text-decoration-color:var(--accent-2)}.sage-interactive:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){.sage-interactive{animation:none}}#sage-quiz h2{font-size:1.6rem}.quiz-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px 26px;margin-bottom:18px}.quiz-card .qhead{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}.quiz-card .qnum{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--text-dim)}.quiz-card p.prompt{font-size:var(--text-md);margin:6px 0 14px}.choice{display:block;width:100%;text-align:left;background:var(--panel-alt);border:1px solid var(--border);color:var(--text);padding:10px 14px;border-radius:var(--radius-sm);margin-bottom:var(--space-2);font-family:var(--font-ui);font-size:.95rem;cursor:pointer;transition:border-color .15s,background .15s}.choice:hover:not([disabled]){border-color:var(--accent)}.choice.correct{background:rgba(126,226,184,.15);border-color:var(--good)}.choice.incorrect{background:rgba(255,122,144,.15);border-color:var(--bad)}.choice[disabled]{cursor:default}.feedback{margin-top:10px;padding:10px 14px;border-radius:var(--radius-sm);font-size:.92rem;display:none}.feedback.show{display:block}.feedback.right{background:rgba(126,226,184,.1);border:1px solid var(--good);color:var(--good)}.feedback.wrong{background:rgba(255,122,144,.1);border:1px solid var(--bad);color:var(--bad)}.feedback .expl{color:var(--text);display:block;margin-top:4px}#quiz-score{font-family:var(--font-ui);color:var(--text-dim);margin-bottom:var(--space-4)}.lesson-lede{padding:var(--space-5) 0 var(--space-4)}.lesson-lede h1{font-size:var(--text-xl);margin:0 0 var(--space-2)}.lesson-lede p{color:var(--text-dim);font-size:var(--text-md);max-width:640px;margin:0}[data-block]{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6) var(--space-5);margin-bottom:var(--space-5)}[data-block=lede]{background:none;border:none;padding:0 0 var(--space-4);margin-bottom:0}[data-sub]{margin-top:var(--space-4)}[data-sub]+[data-sub]{border-top:1px dashed var(--border);padding-top:var(--space-4)}[data-sub=deeper] ul{list-style:none;margin:var(--space-2) 0 0;padding:0}[data-sub=deeper] .ext-use{display:block;color:var(--text-dim);font-size:var(--text-xs);line-height:1.35;margin-top:3px}.lesson-prevnext{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);font-family:var(--font-ui);padding:var(--space-4) 0}.lesson-prevnext a{color:var(--accent);font-size:var(--text-sm)}.lesson-prevnext .placeholder{color:var(--text-dim);opacity:.5;font-size:var(--text-sm)}.sage-error{background:rgba(255,122,144,.1);border:1px solid var(--bad);color:var(--bad);padding:14px 18px;border-radius:var(--radius-sm);font-family:var(--font-ui);margin:var(--space-4) 0}.sage-term{position:relative;border-bottom:1px dotted var(--accent);cursor:help}.sage-term:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.sage-term:after{content:attr(data-def);position:absolute;left:0;bottom:calc(100% + 8px);width:max-content;max-width:280px;white-space:normal;background:var(--panel-alt);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-family:var(--font-ui);font-size:var(--text-sm);line-height:1.4;box-shadow:0 6px 20px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s,transform .15s,visibility .15s;z-index:20;pointer-events:none}.sage-term:focus-visible:after,.sage-term:focus:after,.sage-term:hover:after{opacity:1;visibility:visible;transform:translateY(0)}.sage-term.flip-x:after{left:auto;right:0}.sage-term.flip-down:after{bottom:auto;top:calc(100% + 8px)}@media (prefers-reduced-motion:reduce){.sage-term:after{transition:none}}details.sage-more-info{background:var(--panel-alt);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin:var(--space-4) 0 0}details.sage-more-info>summary{cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--accent);list-style:none}details.sage-more-info>summary::-webkit-details-marker{display:none}details.sage-more-info>summary:before{content:"▸ "}details.sage-more-info[open]>summary:before{content:"▾ "}details.sage-more-info[open]>summary{margin-bottom:var(--space-3)}details.sage-more-info .more-body{color:var(--text-dim);font-size:.95rem;line-height:1.55}details.sage-more-info .more-body :first-child{margin-top:0}