:root{color-scheme:dark;--bg:#101628;--surface:#1a2541;--ink:#f4f6ff;--muted:#bbc6e0;--line:#526388;--accent:#9ce9ce;font:16px/1.55 system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}header{display:flex;gap:1.4rem;padding:1rem clamp(1rem,5vw,4rem);border-bottom:1px solid var(--line)}a{color:var(--accent)}.brand{font-weight:750;text-decoration:none}main{max-width:1470px;margin:auto;padding:clamp(1rem,4vw,3rem)}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(12rem,22rem);gap:1.4rem;align-items:end;margin-bottom:2rem}.hero h1{font-size:clamp(2.2rem,5.5vw,4.7rem);line-height:1;letter-spacing:-.055em;margin:.3rem 0 .6rem}.hero p{max-width:58ch}.eyebrow{color:var(--accent);font-weight:750;font-size:.73rem;letter-spacing:.12em}.progress-card,.panel,aside{background:var(--surface);border:1px solid var(--line);border-radius:.75rem;padding:1rem;min-width:0}.progress-card progress{display:block;width:100%;accent-color:var(--accent);margin-top:.35rem}.progress-card p,.small{color:var(--muted);font-size:.88rem;margin:.35rem 0}.course{display:grid;grid-template-columns:minmax(13rem,1fr) minmax(0,4fr);gap:1rem;align-items:start}aside{position:sticky;top:1rem}aside h2,.panel h3{margin:.1rem 0 .55rem;font-size:1.14rem}aside nav{display:grid;gap:.35rem}aside button{text-align:left;width:100%;font-size:.89rem}.lesson-top h2{font-size:clamp(1.6rem,4vw,2.6rem);line-height:1.08;margin:.2rem 0}.lesson-top p{margin:.25rem 0 .65rem}.panel{margin-bottom:.8rem}.panel p{margin:.35rem 0 .65rem}.prediction{border-left:3px solid var(--accent);padding:.35rem .75rem}.prediction p{margin:.1rem 0}.work{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.8rem}.controls,.heading{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}.heading{justify-content:space-between}.heading span{color:var(--muted);font-size:.8rem}.secondary{margin-top:.5rem}.next{justify-content:space-between}button,textarea{color:var(--ink);background:#101a32;border:1px solid var(--line);border-radius:.45rem;font:inherit;padding:.42rem .65rem}button{font-weight:650;cursor:pointer}button:hover,button[aria-current=true]{color:var(--accent);border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}.primary,.primary:hover{color:#112c27;background:var(--accent);border-color:var(--accent)}textarea,pre{font:.87rem/1.5 ui-monospace,monospace}textarea{display:block;width:100%;resize:vertical;margin:.35rem 0 .65rem;tab-size:2}#source{white-space:pre;overflow:auto}pre{overflow:auto;padding:.55rem;border-radius:.45rem;background:#101a32}iframe{display:block;width:100%;height:24rem;background:#10172c;border:1px solid var(--line);border-radius:.5rem}summary{color:var(--accent);cursor:pointer;margin-top:.4rem}.result{border-left:3px solid var(--accent);padding:.35rem .65rem;min-height:2rem}.discovery-learning-context{margin-top:1.7rem}.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:absolute;top:1rem;left:1rem;background:var(--bg);z-index:2}:focus-visible{outline:3px solid #ffdf93;outline-offset:3px}@media(max-width:1120px){.work{grid-template-columns:1fr}}@media(max-width:760px){.hero,.course{grid-template-columns:1fr}aside{position:static}aside nav{grid-template-columns:repeat(2,minmax(0,1fr))}iframe{height:22rem}}@media(max-width:390px){aside nav{grid-template-columns:1fr}}
.tabs{display:flex;gap:.55rem;flex-wrap:wrap}.action{display:inline-block;padding:.4rem .75rem;border-radius:.45rem;font-weight:700;text-decoration:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:.65rem;min-width:0;padding:1rem;margin-bottom:.8rem}.card h3{margin:.1rem 0 .6rem}.panel:not(.card){background:transparent;border:0;padding:0}.work{margin-bottom:.8rem}.course aside{max-height:85vh;overflow:auto}.course aside h3{font-size:.9rem;margin:.65rem 0 .25rem}label{display:block;font-weight:650}label input,label select{display:block;background:#101a32;color:var(--ink);border:1px solid var(--line);border-radius:.4rem;padding:.35rem;max-width:100%}pre{white-space:pre-wrap;overflow-wrap:anywhere}dt{font-weight:750}dd{margin:0 0 .45rem;overflow-wrap:anywhere}#trace{max-height:12rem;overflow:auto;padding-left:1.75rem}#trace button{margin:.2rem 0;text-align:left}#notice{min-height:1.2rem}[hidden]{display:none!important}@media(max-width:760px){.course aside{max-height:none}.course aside nav{display:block}.course aside button{margin:.15rem 0}}
