*{box-sizing:border-box} :root{font-family:Inter,system-ui,sans-serif;color:#192137;background:#f4f5fa;line-height:1.55;--ink:#111831;--muted:#525d75;--accent:#4833bc;--border:#dce0ec}
body{margin:0} header{background:#fff;border-bottom:1px solid var(--border)} .bar,main{width:min(1120px,calc(100% - 32px));margin:auto}.bar{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:10px}.bar a{font-weight:650;font-size:.9rem;text-decoration:none}.brand{color:var(--ink)}.logo{display:inline-grid;place-items:center;background:var(--accent);color:#fff;width:32px;height:32px;border-radius:9px;margin-right:7px}.brand-sub{color:var(--muted)}
main{padding:28px 0 50px}.hero{position:relative;overflow:hidden;background:#171938;color:white;border-radius:22px;padding:clamp(24px,5vw,56px);isolation:isolate}.hero:after{content:"";position:absolute;inset:0 0 0 52%;z-index:-1;background:radial-gradient(ellipse at 80% 40%,#7255e2 0,transparent 68%),linear-gradient(90deg,transparent,#17193822),repeating-linear-gradient(0deg,transparent 0 23px,#ffffff22 24px 25px),repeating-linear-gradient(90deg,transparent 0 23px,#ffffff22 24px 25px);mask-image:linear-gradient(90deg,transparent,#000)}h1,h2,h3,p{margin:0 0 12px}h1{font-size:clamp(2rem,5vw,3.8rem);letter-spacing:-.055em;line-height:1.08}h2{letter-spacing:-.03em}h3{font-size:1rem}.eyebrow{font:700 .78rem ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.hero .eyebrow,.hero p{color:#e1dcff}.hero a{margin-top:10px}.days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.card,.panel{background:white;border:1px solid var(--border);border-radius:16px;padding:20px}.card h2{font-size:1.25rem}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.between{justify-content:space-between}.lesson-list{list-style:none;padding:0;margin:12px 0 0}.lesson-list a{display:flex;align-items:baseline;gap:9px;text-decoration:none;color:var(--ink);padding:10px 0;border-top:1px solid var(--border)}.lesson-list a:hover{color:var(--accent)}.num,small,.muted{color:var(--muted)}.num,code,pre{font-family:ui-monospace,monospace}.status{font-size:.75rem;margin-left:auto;color:#63401a}.ok{color:#176149}.lesson{max-width:920px;margin:auto}.lesson h1{font-size:clamp(2rem,4vw,3.1rem)}.panel{margin-top:16px}.example{padding:14px;background:#f1edff;border-radius:12px}.example p:last-child{margin:0}.sources{margin-top:16px;color:var(--muted);font-size:.88rem}.footer-nav{margin-top:24px}a{color:var(--accent)} button,.btn,select,input,textarea{font:inherit}button,.btn{cursor:pointer;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--ink);padding:8px 13px;text-decoration:none;display:inline-block;font-weight:650}.primary{background:var(--accent);border-color:var(--accent);color:white}button:hover,.btn:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:3px solid #b158ff;outline-offset:2px}input,select,textarea{border:1px solid #aeb7cc;border-radius:7px;padding:6px;color:var(--ink);max-width:100%;background:white}input[type=range]{accent-color:var(--accent);vertical-align:middle} textarea{display:block;width:100%;min-height:108px;margin:8px 0}pre{white-space:pre-wrap;background:#171938;color:#f4f0ff;padding:12px;border-radius:9px;overflow-wrap:anywhere}
.grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:2px;width:fit-content;max-width:100%;margin:6px 0 12px}.cell{display:grid;place-items:center;width:clamp(19px,6vw,var(--cell,36px));aspect-ratio:1;border:1px solid #cbd1e1;border-radius:4px;padding:0;font:600 clamp(.64rem,2vw,.83rem) ui-monospace,monospace;background:var(--bg,#eef1f9);color:var(--fg,#192137)}.picked{outline:2px solid #ed8c1b;outline-offset:-2px}.grids{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start}.grids>div{max-width:100%}.lab-controls{margin-bottom:14px}.lab-output{overflow-wrap:anywhere}.chart{width:min(100%,480px);height:auto;background:#fafaff;border:1px solid var(--border);border-radius:8px}.question{border-top:1px solid var(--border);padding:16px 0}.feedback{margin-top:8px}.wrong{color:#a42343}.review{background:#fff4df;padding:14px;border-radius:10px;margin-top:12px}.drawing{display:grid;width:fit-content;margin:8px 0}.drawing button{border-radius:0}.progress{width:100%;height:9px;accent-color:var(--accent)}.dashboard-note{margin-top:20px} table{border-collapse:collapse;font-size:.88rem}th,td{padding:4px 8px;border-bottom:1px solid var(--border);text-align:left}.scroll{overflow:auto;max-width:100%}.badge{display:inline-block;padding:3px 9px;border-radius:30px;background:#efebff;color:#402f99;font-size:.8rem;font-weight:700}.hero .badge{background:#ffffff22;color:white}.question label{display:block;margin:5px 0}
@media(max-width:800px){.days{grid-template-columns:1fr}}@media(max-width:420px){.brand-sub{display:none}.panel,.card{padding:14px} main{width:calc(100% - 20px)}}
.vote{display:inline-grid;place-items:center;min-width:1.55rem;padding:2px 4px;border-radius:4px}button[aria-pressed=true]:not(.cell){background:#ece6ff;border-color:#7260c7;color:#342186}.question select{width:min(100%,340px)}dd{margin:0 0 8px 16px}#jump{max-width:min(78vw,380px)}
.walkthrough{margin-top:20px}.walkthrough ol{padding-left:24px}.walkthrough li+li{margin-top:8px}.walkthrough p:last-child{margin-bottom:0}.written-solution{white-space:pre-line}
