@font-face{font-family:__Bricolage_Grotesque_d6ef78;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Bricolage_Grotesque_d6ef78;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Bricolage_Grotesque_d6ef78;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Bricolage_Grotesque_d6ef78;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Bricolage_Grotesque_d6ef78;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Bricolage_Grotesque_d6ef78;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Bricolage_Grotesque_Fallback_d6ef78;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_d6ef78{font-family:__Bricolage_Grotesque_d6ef78,__Bricolage_Grotesque_Fallback_d6ef78;font-style:normal}.__variable_d6ef78{--font-display:"__Bricolage_Grotesque_d6ef78","__Bricolage_Grotesque_Fallback_d6ef78"}@font-face{font-family:__Instrument_Sans_a0ee2c;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/adb45196eddef626-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Instrument_Sans_a0ee2c;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d0ba92e140f0dc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Instrument_Sans_a0ee2c;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/adb45196eddef626-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Instrument_Sans_a0ee2c;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d0ba92e140f0dc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Instrument_Sans_Fallback_a0ee2c;src:local("Arial");ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.00%;size-adjust:102.74%}.__className_a0ee2c{font-family:__Instrument_Sans_a0ee2c,__Instrument_Sans_Fallback_a0ee2c;font-style:normal}.__variable_a0ee2c{--font-body:"__Instrument_Sans_a0ee2c","__Instrument_Sans_Fallback_a0ee2c"}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__JetBrains_Mono_Fallback_6d24ac;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_6d24ac{font-family:__JetBrains_Mono_6d24ac,__JetBrains_Mono_Fallback_6d24ac;font-style:normal}.__variable_6d24ac{--font-mono:"__JetBrains_Mono_6d24ac","__JetBrains_Mono_Fallback_6d24ac"}:root{--bg:#05080a;--surface:#0a1012;--surface-2:#0f1719;--ink:#c2f7d4;--ink-soft:#6fae87;--ink-faint:#4a715b;--line:rgba(78,240,139,.14);--line-strong:rgba(78,240,139,.36);--cobalt:#4ef08b;--cobalt-deep:#8affc0;--cobalt-wash:rgba(78,240,139,.1);--green:#4ef08b;--green-wash:rgba(78,240,139,.12);--gold:#ffb454;--gold-wash:rgba(255,180,84,.12);--red:#ff6b6b;--red-wash:hsla(0,100%,71%,.12);--cyan:#56d4dd;--btn-bg:#4ef08b;--btn-fg:#04130b;--btn-hover:#8affc0;--radius:6px;--radius-sm:4px;--glow:0 0 10px rgba(78,240,139,.45);color-scheme:dark}html[data-theme=light]{--bg:#eef1e9;--surface:#fff;--surface-2:#f5f7f0;--ink:#0c2417;--ink-soft:#3a5a47;--ink-faint:#79917f;--line:rgba(16,90,50,.16);--line-strong:rgba(16,90,50,.36);--cobalt:#0f9a52;--cobalt-deep:#0a6e3a;--cobalt-wash:rgba(15,154,82,.1);--green:#0f9a52;--green-wash:rgba(15,154,82,.12);--gold:#b1730a;--gold-wash:rgba(177,115,10,.12);--red:#cf463b;--red-wash:rgba(207,70,59,.1);--cyan:#1d7e86;--btn-bg:#0c2417;--btn-fg:#eef1e9;--btn-hover:#11543a;--glow:none;color-scheme:light}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-mono),ui-monospace,"SF Mono",monospace;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;position:relative;background-image:linear-gradient(rgba(78,240,139,.03) 1px,transparent 0),linear-gradient(90deg,rgba(78,240,139,.03) 1px,transparent 0);background-size:46px 46px}body:before{z-index:9999;background:repeating-linear-gradient(180deg,transparent 0,transparent 2px,rgba(0,0,0,.16) 3px);opacity:.4}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none}body:after{z-index:9998;background:radial-gradient(130% 120% at 50% -10%,transparent 55%,rgba(0,0,0,.55))}html[data-theme=light] body{background-image:linear-gradient(rgba(16,90,50,.04) 1px,transparent 0),linear-gradient(90deg,rgba(16,90,50,.04) 1px,transparent 0)}html[data-theme=light] body:after,html[data-theme=light] body:before{display:none}::selection{background:var(--cobalt);color:#04130b}.checkbox,.level-card,.option,.quiz-card,.stage,.stage-nav,.term-window,body{transition:background-color .25s,border-color .25s,color .25s}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px;border-radius:2px}.mono{font-family:var(--font-mono),ui-monospace,monospace;font-size:12.5px;letter-spacing:.01em}.shell{max-width:1060px;margin:0 auto;padding:0 28px}.topbar{display:flex;align-items:center;justify-content:space-between;padding-top:22px}.wordmark{font-family:var(--font-mono),monospace;font-weight:700;font-size:16px;letter-spacing:.02em}.wordmark:before{content:"$ ";color:var(--cobalt)}.wordmark span{color:var(--cobalt);text-shadow:var(--glow)}.topbar .mono{color:var(--ink-faint)}.topbar-right{display:flex;align-items:center;gap:14px}.theme-toggle{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-soft);transition:border-color .15s,color .15s,box-shadow .15s}.theme-toggle:hover{border-color:var(--cobalt);color:var(--cobalt);box-shadow:var(--glow)}.hero{padding-top:38px;padding-bottom:52px}.term-window{border:1px solid var(--line-strong);border-radius:var(--radius);background:linear-gradient(180deg,rgba(78,240,139,.03),transparent 120px),var(--surface);box-shadow:0 0 0 1px rgba(0,0,0,.3),0 24px 60px -30px rgba(0,0,0,.9);overflow:hidden}.term-bar{display:flex;align-items:center;gap:14px;padding:11px 16px;border-bottom:1px solid var(--line);background:var(--surface-2)}.term-bar .dots{display:inline-flex;gap:7px}.term-bar .dots i{width:11px;height:11px;border-radius:50%;background:var(--line-strong)}.term-bar .dots i:first-child{background:#ff5f56}.term-bar .dots i:nth-child(2){background:#ffbd2e}.term-bar .dots i:nth-child(3){background:#27c93f}.term-title{font-size:12px;color:var(--ink-faint);letter-spacing:.02em}.term-meta{margin-left:auto;color:var(--ink-faint)}.term-body{padding:30px 30px 34px}.eyebrow{color:var(--cobalt);margin-bottom:22px;text-shadow:var(--glow)}.eyebrow:before{content:"> ";opacity:.7}.hero h1{font-family:var(--font-mono),monospace;font-weight:700;font-size:clamp(30px,5vw,52px);line-height:1.1;letter-spacing:-.01em;max-width:20ch}.hero h1 em{font-style:normal}.cursor,.hero h1 em{color:var(--cobalt);text-shadow:var(--glow)}.cursor{display:inline-block;width:.6em;margin-left:.08em;animation:blink 1.05s steps(1) infinite}@keyframes blink{50%{opacity:0}}.hero-lede{margin-top:22px;max-width:60ch;color:var(--ink-soft);font-size:15px}.hero-stats{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}.stat{flex:1 1;min-width:150px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;background:var(--surface-2)}.stat .mono{color:var(--ink-faint);display:block;margin-bottom:4px}.stat .mono:before{content:"# ";opacity:.6}.stat strong{font-family:var(--font-mono),monospace;font-size:24px;font-weight:700;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat strong.gold{color:var(--gold)}.workspace{display:grid;grid-template-columns:264px minmax(0,1fr);grid-gap:44px;gap:44px;padding-top:52px;padding-bottom:40px;align-items:start}.sidebar{position:-webkit-sticky;position:sticky;top:24px;display:flex;flex-direction:column;gap:14px}.level-card{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);padding:18px}.level-card .mono{color:var(--ink-faint)}.level-card>.mono:before{content:"● ";color:var(--cobalt);font-size:10px}.level-name{font-family:var(--font-mono),monospace;font-size:21px;font-weight:700;letter-spacing:.01em;color:var(--cobalt);text-shadow:var(--glow);margin:6px 0 14px}.xp-track{height:10px;background:transparent;border:1px solid var(--line);border-radius:2px;padding:2px;overflow:hidden}.xp-track div{height:100%;background-image:repeating-linear-gradient(90deg,var(--gold) 0,var(--gold) 6px,transparent 6px,transparent 9px);transition:width .5s cubic-bezier(.22,1,.36,1)}.xp-row{display:flex;justify-content:space-between;margin-top:10px}.xp-row .mono{color:var(--ink-soft)}.stage-nav{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:8px;display:flex;flex-direction:column;gap:2px}.stage-nav a{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:var(--radius-sm);color:var(--ink-soft);font-size:13px;text-decoration:none;transition:background .15s,color .15s}.stage-nav a:hover{background:var(--surface-2);color:var(--cobalt)}.stage-nav .mono{color:var(--ink-faint);min-width:20px}.stage-nav .tick{margin-left:auto;width:8px;height:8px;border-radius:1px;background:var(--line-strong)}.stage-nav .tick.done{background:var(--green);box-shadow:var(--glow)}.reset-btn{align-self:flex-start;color:var(--ink-faint);font-size:12.5px;padding:6px 10px;border:1px solid transparent;border-radius:var(--radius-sm);transition:color .15s,border-color .15s}.reset-btn:before{content:"rm -rf ";opacity:.55}.reset-btn:hover{color:var(--red);border-color:var(--red)}.rail{position:relative;padding-left:40px;display:flex;flex-direction:column;gap:18px}.rail:before{content:"";bottom:14px;background:var(--line)}.rail-fill,.rail:before{position:absolute;left:11px;top:14px;width:2px}.rail-fill{background:var(--cobalt);box-shadow:var(--glow);transition:height .6s cubic-bezier(.22,1,.36,1)}.stage{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);scroll-margin-top:24px;transition:border-color .2s}.stage.open{border-color:var(--line-strong)}.node{position:absolute;left:-36px;top:22px;width:14px;height:14px;border-radius:2px;background:var(--bg);border:2px solid var(--line-strong);transition:all .25s}.node.full,.node.partial{border-color:var(--cobalt)}.node.full{background:var(--cobalt);box-shadow:var(--glow)}.stage-head{width:100%;display:flex;align-items:baseline;gap:16px;padding:18px 22px;text-align:left}.stage-head .mono{color:var(--cobalt)}.stage-title{font-family:var(--font-mono),monospace;font-size:16px;font-weight:600;letter-spacing:0;text-transform:lowercase;flex:1 1}.stage-title:before{content:"▸ ";color:var(--ink-faint)}.stage.open .stage-title:before{content:"▾ ";color:var(--cobalt)}.stage-meta{display:flex;align-items:center;gap:14px}.stage-count{color:var(--ink-faint)}.stage-count.started{color:var(--cobalt)}.stage-count.complete{color:var(--green)}.chev{display:none}.stage-body{padding:0 22px 20px;border-top:1px solid var(--line)}.stage-blurb{color:var(--ink-soft);font-size:14px;padding:14px 0 6px;max-width:64ch}.stage-blurb:before{content:"// ";color:var(--ink-faint)}.topic{border-bottom:1px solid var(--line)}.topic:last-of-type{border-bottom:none}.topic-head{display:flex;gap:13px;align-items:flex-start;padding:12px 0;cursor:pointer}.topic.open .topic-head{padding-bottom:6px}.topic.locked .topic-head{cursor:not-allowed}.checkbox{flex-shrink:0;width:19px;height:19px;margin-top:2px;border:1.5px solid var(--line-strong);border-radius:3px;display:grid;place-items:center;transition:all .15s;background:var(--bg)}.checkbox.on,.topic:not(.locked) .topic-head:hover .checkbox{border-color:var(--cobalt)}.checkbox.on{background:var(--cobalt);box-shadow:var(--glow)}.checkbox svg{opacity:0;transition:opacity .15s}.checkbox.on svg{opacity:1}.topic-body{flex:1 1;min-width:0}.topic-name{font-weight:500;font-size:14.5px}.topic.done .topic-name{color:var(--ink-faint);text-decoration:line-through;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.topic-why{color:var(--ink-soft);font-size:13px}.topic-status,.topic.done .topic-why{color:var(--ink-faint)}.topic-status{flex-shrink:0;align-self:center;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase}.topic-status:before{content:"[ "}.topic-status:after{content:" ]"}.topic.done .topic-status{color:var(--green)}.topic-status.next{color:var(--cobalt)}.topic.locked{cursor:not-allowed;opacity:.5}.topic.locked .topic-head:hover .checkbox{border-color:var(--line-strong)}.topic.locked .checkbox{color:var(--ink-faint);background:var(--bg)}.topic.locked .checkbox svg{opacity:1}.topic.locked .topic-status{color:var(--ink-faint)}.lesson{margin:0 0 14px 9px;padding:12px 0 4px 22px;border-left:2px solid var(--line-strong)}.lesson-cmd{color:var(--cobalt);margin-bottom:12px}.lesson-cmd:before{content:"› ";color:var(--ink-faint)}.lesson-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.lesson-list li{position:relative;padding-left:20px;color:var(--ink-soft);font-size:13.5px;line-height:1.5}.lesson-list li:before{content:"▸";position:absolute;left:2px;color:var(--cobalt)}.lesson-pt{display:block;color:var(--ink);font-weight:600}.lesson-d{display:block;margin-top:2px}.lesson-code{display:block;margin-top:8px;padding:10px 12px;background:var(--surface);border:1px solid var(--line-strong);border-radius:6px;font-size:12.5px;line-height:1.5;color:var(--ink);white-space:pre;overflow-x:auto}.lesson-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.lesson-done{color:var(--green);text-shadow:var(--glow)}.lesson-reset{color:var(--ink-faint);font-size:12.5px;border-bottom:1px dashed var(--line-strong);padding-bottom:1px;transition:color .15s}.lesson-reset:hover{color:var(--red)}.checkpoint{margin:36px 0 80px;border-top:1px solid var(--line);padding-top:56px}.checkpoint-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:26px}.checkpoint-head h2{font-family:var(--font-mono),monospace;font-size:26px;font-weight:700;letter-spacing:0;color:var(--cobalt);text-shadow:var(--glow)}.checkpoint-head h2:before{content:"## ";color:var(--ink-faint)}.checkpoint-head .mono{color:var(--ink-faint)}.quiz-card{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);padding:28px;max-width:720px}.quiz-intro p{color:var(--ink-soft);max-width:56ch;margin-bottom:22px}.btn{display:inline-flex;align-items:center;gap:8px;background:var(--btn-bg);color:var(--btn-fg);font-weight:600;font-size:13.5px;letter-spacing:.02em;padding:11px 20px;border-radius:var(--radius-sm);transition:background .15s,transform .1s,box-shadow .15s}.btn:before{content:"▶ ";font-size:10px}.btn:hover{background:var(--btn-hover);box-shadow:var(--glow)}.btn:active{transform:scale(.98)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line-strong)}.btn.ghost:before{content:"↻ ";color:var(--ink-faint)}.btn.ghost:hover{background:var(--surface-2);border-color:var(--cobalt);color:var(--cobalt);box-shadow:none}.q-progress{display:flex;gap:5px;margin-bottom:24px}.q-progress span{flex:1 1;height:4px;border-radius:1px;background:var(--line)}.q-progress span.hit{background:var(--green);box-shadow:var(--glow)}.q-progress span.miss{background:var(--red)}.q-progress span.now{background:var(--cobalt)}.q-tag{display:inline-block;border:1px solid var(--line-strong);color:var(--cobalt);border-radius:var(--radius-sm);padding:3px 10px;margin-bottom:14px}.q-tag:before{content:"// ";color:var(--ink-faint)}.q-text{font-family:var(--font-mono),monospace;font-size:18px;font-weight:600;letter-spacing:0;line-height:1.4;margin-bottom:20px}.options{display:flex;flex-direction:column;gap:8px}.option{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:14.5px;background:var(--surface);transition:border-color .15s,background .15s}.option:hover:not(:disabled){border-color:var(--cobalt);background:var(--cobalt-wash)}.option:disabled{cursor:default}.option .key{color:var(--ink-faint);border:1px solid var(--line);border-radius:3px;padding:1px 7px;font-size:12px}.option.correct{background:var(--green-wash)}.option.correct,.option.correct .key{border-color:var(--green);color:var(--green)}.option.wrong{background:var(--red-wash)}.option.wrong,.option.wrong .key{border-color:var(--red);color:var(--red)}.feedback{margin-top:18px;padding:14px 16px;border-radius:var(--radius-sm);border-left:2px solid;font-size:14px;display:flex;flex-direction:column;gap:4px}.feedback.good{background:var(--green-wash);color:var(--green)}.feedback.bad{background:var(--red-wash);color:var(--red)}.feedback .note{color:var(--ink-soft)}.quiz-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}.quiz-foot .mono{color:var(--ink-faint)}.gold-text{color:var(--gold)}.result-score{font-family:var(--font-mono),monospace;font-size:44px;font-weight:700;letter-spacing:-.01em;color:var(--cobalt);text-shadow:var(--glow);margin:6px 0 2px}.result-sub{color:var(--ink-soft);margin-bottom:24px}.breakdown{display:flex;flex-direction:column;gap:8px;margin-bottom:26px}.breakdown-row{display:flex;align-items:center;gap:14px;font-size:13px}.breakdown-row .mono{min-width:24px;color:var(--ink-faint)}.breakdown-row .label{min-width:180px;color:var(--ink-soft);text-transform:lowercase}.breakdown-bar{flex:1 1;height:8px;background:transparent;border:1px solid var(--line);border-radius:2px;overflow:hidden}.breakdown-bar div{height:100%;background-image:repeating-linear-gradient(90deg,var(--cobalt) 0,var(--cobalt) 5px,transparent 5px,transparent 8px)}.result-actions{gap:12px}.footer,.result-actions{display:flex;flex-wrap:wrap}.footer{border-top:1px solid var(--line);padding-top:26px;padding-bottom:40px;justify-content:space-between;gap:16px;color:var(--ink-faint);font-size:12.5px}.footer .mono:before{content:"● ";color:var(--green);font-size:9px;vertical-align:middle}.certificate-section{margin:0 0 80px;border-top:1px solid var(--line);padding-top:56px}.cert-card{background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius);padding:28px;max-width:720px}.cert-eyebrow{color:var(--ink-faint);display:block;margin-bottom:12px}.cert-locked-title{font-family:var(--font-mono),monospace;font-size:20px;font-weight:700;color:var(--ink-soft);margin-bottom:10px}.cert-locked-title:before{content:"🔒 "}.cert-locked-sub{color:var(--ink-soft);font-size:14px;max-width:60ch}.cert-wrap{display:flex;flex-direction:column;gap:22px}.cert-controls{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.cert-field{display:flex;flex-direction:column;gap:6px;flex:1 1;min-width:220px}.cert-field .mono{color:var(--ink-faint)}.cert-field .mono:before{content:"# ";opacity:.6}.cert-field input{font:inherit;font-size:15px;color:var(--ink);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:11px 14px;transition:border-color .15s,box-shadow .15s}.cert-field input:focus{outline:none;border-color:var(--cobalt);box-shadow:var(--glow)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:hover{background:var(--btn-bg);box-shadow:none}.certificate{background:radial-gradient(120% 80% at 50% 0,var(--cobalt-wash),transparent 60%),var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);padding:8px;box-shadow:0 0 0 1px rgba(0,0,0,.3),0 24px 60px -30px rgba(0,0,0,.9)}.cert-inner{position:relative;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:44px 48px 36px;text-align:center;overflow:hidden}.cert-corner{position:absolute;width:18px;height:18px;border:2px solid var(--cobalt)}.cert-corner.tl{top:12px;left:12px;border-right:none;border-bottom:none}.cert-corner.tr{top:12px;right:12px;border-left:none;border-bottom:none}.cert-corner.bl{bottom:12px;left:12px;border-right:none;border-top:none}.cert-corner.br{bottom:12px;right:12px;border-left:none;border-top:none}.cert-brand{font-weight:700;font-size:14px;letter-spacing:.04em;color:var(--ink)}.cert-brand span{color:var(--cobalt);text-shadow:var(--glow)}.cert-kicker{margin-top:6px;text-transform:uppercase;letter-spacing:.4em;color:var(--ink-faint);font-size:11px}.cert-program{font-family:var(--font-mono),monospace;font-size:clamp(26px,4vw,38px);font-weight:700;letter-spacing:-.01em;color:var(--cobalt);text-shadow:var(--glow);margin:18px 0 26px}.cert-presented{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.2em;font-size:11px}.cert-name{font-family:var(--font-mono),monospace;font-size:clamp(24px,4vw,34px);font-weight:700;color:var(--ink);letter-spacing:.01em;margin:10px auto 18px;padding-bottom:12px;max-width:24ch;border-bottom:1px solid var(--line-strong)}.cert-body{color:var(--ink-soft);font-size:14px;line-height:1.6;max-width:56ch;margin:0 auto 28px}.cert-body strong{color:var(--ink)}.cert-meta{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:32px}.cert-meta-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);padding:10px 18px;min-width:120px}.cert-meta-item .mono{display:block;color:var(--ink-faint);margin-bottom:3px}.cert-meta-item strong{font-family:var(--font-mono),monospace;font-size:18px;font-weight:700}.cert-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:8px;padding-top:20px;border-top:1px solid var(--line)}.cert-id,.cert-sig{display:flex;flex-direction:column;gap:3px;text-align:left}.cert-id{text-align:right}.cert-sig-mark{color:var(--cobalt);font-weight:700;font-size:13px}.cert-sig-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.cert-seal{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;border:2px solid var(--cobalt);color:var(--cobalt);box-shadow:var(--glow);flex-shrink:0}.cert-seal span{font-family:var(--font-mono),monospace;font-weight:700;font-size:18px;line-height:1}.cert-seal small{font-size:7px;letter-spacing:.18em}@media print{body:after,body:before{display:none!important}body{background:#fff!important}.cert-noprint,.certificate-section>.checkpoint-head,.checkpoint,.footer,.hero,.topbar,.workspace{display:none!important}.certificate-section{margin:0!important;padding:0!important;border:none!important}.certificate{box-shadow:none!important;border-color:#888!important}}@media (max-width:880px){.workspace{grid-template-columns:1fr;gap:28px;padding-top:36px}.sidebar{position:static}.stage-nav{display:none}.term-body{padding:24px 18px 26px}.rail{padding-left:30px}.node{left:-27px}.quiz-card{padding:20px}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}