:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#202d28;background:#f4f6f3;line-height:1.55;--ink:#202d28;--green:#285a49;--muted:#596b63;--line:#dce5df;--paper:#fff;--soft:#edf4ef}*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:clamp(1.75rem,4vw,2.8rem);line-height:1.15;margin:.45rem 0 .7rem;letter-spacing:-.035em}h2{font-size:1.22rem;margin:.15rem 0 .65rem}h3{font-size:1rem;margin:.15rem 0 .65rem}p{margin:.55rem 0 .95rem}small,.muted{color:var(--muted)}button,input,textarea,select{font:inherit}button,.button,select,input:not([type=checkbox],[type=radio]),textarea{min-height:44px;border:1px solid #cbd9d0;border-radius:9px;background:#fff;color:var(--ink)}button,.button{padding:.5rem .85rem;font-weight:650;display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;cursor:pointer}button:hover,.button:hover{background:#f0f6f2}button:disabled{opacity:.55;cursor:default}.primary,.button.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover,.button.primary:hover{background:#20483c}:focus-visible{outline:3px solid #4b8a70;outline-offset:3px}input:not([type=checkbox],[type=radio]),textarea,select{display:block;width:100%;padding:.55rem .7rem;margin:.25rem 0 .6rem}textarea{min-height:130px;resize:vertical}input[type=checkbox],input[type=radio],progress{accent-color:var(--green)}label{font-weight:620;min-width:0}.check{display:inline-flex;align-items:center;gap:.55rem;min-height:44px}.check input{width:18px;height:18px;flex-shrink:0}.layout{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;align-self:start;height:100vh;background:#fbfcfb;border-right:1px solid var(--line);padding:1.55rem 1rem;display:flex;flex-direction:column;gap:1.55rem}.brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--ink);font-weight:760;text-decoration:none}.brand small{display:block;font-size:.65rem;letter-spacing:.13em}.brand-icon{background:var(--green);color:#fff;display:grid;place-items:center;border-radius:11px;width:38px;height:38px;font-size:1.25rem;flex-shrink:0}.sidebar nav{display:grid;gap:.3rem}.sidebar nav a,.sidebar-quiz{min-height:44px;display:flex;align-items:center;gap:.65rem;padding:.6rem .65rem;color:var(--muted);font-weight:650;text-decoration:none;border-radius:8px}.sidebar nav a[aria-current],.sidebar nav a:hover,.sidebar-quiz:hover{background:var(--soft);color:var(--green)}.sidebar nav a span{width:22px;text-align:center}.sidebar-quiz{margin-top:auto;border:1px solid var(--line)}.workbench{width:min(100%,1160px);margin:0 auto;padding:clamp(1rem,4vw,3.25rem);min-width:0}.page-heading{margin:0 0 1.5rem}.page-heading p{color:var(--muted)}.eyebrow{font-size:.72rem;letter-spacing:.13em;color:var(--green);font-weight:780}.panel{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:clamp(1rem,2.4vw,1.45rem);margin-bottom:1rem;min-width:0}.hero{display:flex;justify-content:space-between;align-items:center;background:#e9f1eb;border-color:#d4e4da}.hero h2{font-size:1.6rem;margin:.35rem 0}.hero-symbol{padding:0 2vw;font:5rem ui-monospace,monospace;color:#719787;white-space:nowrap}.progress-grid,.dashboard-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{font-size:1.65rem;display:block}progress{width:100%;display:block;margin:.3rem 0 .5rem}.between,.actions,.task,.inline-form{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.between,.task{justify-content:space-between}.actions{margin:.5rem 0}.inline-form{flex-wrap:nowrap}.inline-form input{min-width:0}.task{border-bottom:1px solid var(--line);padding:.35rem 0}.tag{display:inline-block;border-radius:999px;padding:.23rem .55rem;background:var(--soft);color:var(--green);font-size:.78rem;font-weight:670;margin:.12rem}.clean{padding:0;list-style:none}.clean li{border-bottom:1px solid var(--line);padding:.5rem 0;overflow-wrap:anywhere}.clean small{display:block}.lesson-list a{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;gap:.5rem;align-items:center;min-height:48px;border-top:1px solid var(--line);padding:.35rem 0;text-decoration:none}.lesson-list a:hover{background:var(--soft)}.lesson-number{font:.85rem ui-monospace,monospace;color:var(--muted)}pre{overflow:auto;max-width:100%;background:#172921;color:#edf8f1;padding:1rem;border-radius:9px;font:.88rem/1.65 ui-monospace,Consolas,monospace;tab-size:4}.code{background:#172921;border-radius:9px;color:#edf8f1;margin:.65rem 0 1rem}.code pre{margin:0}.code-header{padding:.45rem .85rem;display:flex;align-items:center;gap:.65rem;border-bottom:1px solid #395549;font-size:.76rem}.code-header button{min-height:34px}.code-header small{color:#c1d7cb}.editor{min-height:220px;font:.91rem/1.6 ui-monospace,Consolas,monospace;white-space:pre;overflow:auto;tab-size:4}details{margin-top:.65rem}summary{cursor:pointer;color:var(--green);padding:.55rem 0}.answer{background:var(--soft);border-radius:9px;padding:.85rem;margin:.8rem 0;overflow-wrap:anywhere}.note-body{white-space:pre-wrap}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}.file-button:focus-within{outline:3px solid #4b8a70}.quiz-shell{width:min(100%,670px);margin:0 auto;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.quiz-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.8rem}.quiz-top a{min-height:44px;display:inline-flex;align-items:center}.quiz-shell fieldset{border:0;margin:0;padding:0;min-width:0}.option{display:flex;align-items:center;gap:.65rem;padding:.7rem;min-height:50px;border:1px solid var(--line);border-radius:9px;margin:.45rem 0;cursor:pointer;overflow-wrap:anywhere}.option input{flex:none}.option.selected{background:var(--soft);border-color:#70a08a}.storage-warning{padding:1rem;background:#fff1d9;color:#633b13;border-bottom:1px solid #e6c592}.blocked{padding:2rem;text-align:center}@media(max-width:800px){.layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);gap:.5rem;padding:.7rem 1rem}.sidebar nav{display:flex;flex-wrap:wrap}.sidebar-quiz{align-self:flex-start;margin-top:0}.hero-symbol{display:none}}@media(max-width:520px){.progress-grid,.dashboard-grid{grid-template-columns:1fr;gap:0}.workbench{padding:1rem}.quiz-shell input,.quiz-shell select{font-size:16px}.quiz-top{margin-bottom:1.3rem}}
