._flex1_j4t8v_3{flex:1}._monoMuted11_j4t8v_6{font-family:var(--mono);font-size:11px;color:var(--muted)}._trackBadge_j4t8v_14{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.4px;padding:1px 8px;border-radius:var(--r-chip);background:color-mix(in oklch,var(--track, var(--muted)) 14%,var(--surface));color:var(--track-ink, var(--muted))}._trackRule_j4t8v_24{flex:none;width:3px;align-self:stretch;min-height:18px;border-radius:2px;background:var(--track, var(--line-strong))}._kbdAc_j4t8v_32{font-family:var(--mono);font-size:10px;border:1px solid rgba(255,255,255,.35);border-radius:4px;padding:0 5px;line-height:1.6}._monoMuted105_j4t8v_40{font-family:var(--mono);font-size:10.5px;color:var(--muted)}._rowGap10_j4t8v_45{display:flex;align-items:center;gap:10px}._monoMuted105Nowrap_j4t8v_50{font-family:var(--mono);font-size:10.5px;color:var(--muted);white-space:nowrap}._kbdGh_j4t8v_56{font-family:var(--mono);font-size:10px;color:var(--faint);border:1px solid var(--line-strong);border-radius:4px;padding:0 5px;line-height:1.6}._monoSubtle11_j4t8v_65{font-family:var(--mono);font-size:11px;color:var(--muted)}._ghostBtn_j4t8v_70{background:var(--surface);border:1px solid var(--line-strong);color:var(--body);border-radius:8px;padding:5px 12px;font-size:12.5px;font-weight:500}._resultKey_j4t8v_79{color:var(--muted);display:inline-block;min-width:104px}._checkRow_j4t8v_84{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;line-height:1.6;color:var(--body);cursor:pointer}._codeRow_j4t8v_93{display:flex;font-family:var(--mono);font-size:12.5px;line-height:1.65}._accentBtn_j4t8v_99{display:inline-flex;align-items:center;gap:8px;background:var(--cta);border:1px solid var(--cta);color:var(--cta-ink);border-radius:8px;padding:3px 12px;font-size:12px;font-weight:650}._paneShell_j4t8v_111{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-card)}._paneHead_j4t8v_122{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:7px 12px;border-bottom:1px solid var(--line-soft);background:var(--surface)}._gutter_j4t8v_132{flex:none;width:44px;padding-right:14px;text-align:right;color:var(--ed-gutter);-webkit-user-select:none;user-select:none}._monoMuted10_j4t8v_40{font-family:var(--mono);font-size:10px;color:var(--faint)}._monoMuted11Nowrap_j4t8v_145{font-family:var(--mono);font-size:11px;color:var(--muted);white-space:nowrap}._mt3_j4t8v_151{margin-top:3px}._preOut_j4t8v_154{white-space:pre;color:var(--ed-ink)}._iconBtn_j4t8v_158{width:26px;height:26px;background:transparent;border:1px solid var(--line-strong);color:var(--muted);border-radius:6px;font-size:12px}._reviewBar_j4t8v_167{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 16px;min-width:0}._reviewBarNote_j4t8v_176{flex:1 1 220px;min-width:0;line-height:1.5}._reviewBarEnd_j4t8v_181{margin-left:auto}._statusDot_j4t8v_184{width:8px;height:8px;border-radius:50%;background:var(--dot)}._statusLabel_j4t8v_190{font-family:var(--mono);font-size:10.5px;letter-spacing:.8px;text-transform:uppercase;color:var(--fg)}._sessionHead_j4t8v_197{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;min-width:0}._sessionHeadText_j4t8v_204{flex:1 1 200px;min-width:0}._sessionTitle_j4t8v_208{margin:0;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}._sessionQueue_j4t8v_217{display:flex;flex-direction:column;gap:9px;list-style:none;margin:14px 0 12px;padding:0}._sessionStep_j4t8v_225{display:flex;align-items:baseline;gap:10px;min-width:0}._sessionStepNum_j4t8v_231{flex:none;width:16px;font-family:var(--mono);font-size:10.5px;color:var(--muted)}._sessionStepBody_j4t8v_238{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;min-width:0}._sessionStepTitle_j4t8v_245{font-size:14.5px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}._nodeTitle_j4t8v_251{font-size:13.5px;font-weight:650;color:var(--ink);white-space:normal;overflow-wrap:anywhere}._btnWrapLabel_j4t8v_258{white-space:normal;overflow-wrap:anywhere;text-align:left}._nodeNote_j4t8v_263{font-family:var(--mono);font-size:10.5px;line-height:1.5;color:var(--muted);white-space:normal;overflow-wrap:anywhere}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-italic-B9rkokqX.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-italic-Bkkwkp6n.woff) format("woff")}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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 Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-code-latin-400-normal-DGosTW8U.woff2) format("woff2"),url(/assets/fira-code-latin-400-normal-C-QZfXAs.woff) format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-code-latin-500-normal-B6gioGu8.woff2) format("woff2"),url(/assets/fira-code-latin-500-normal-aMLC2AMm.woff) format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-code-latin-600-normal-CvYZpPHg.woff2) format("woff2"),url(/assets/fira-code-latin-600-normal-BmSSHshu.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff")}@font-face{font-family:Source Code Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-code-pro-latin-400-normal-DEXWLoHG.woff2) format("woff2"),url(/assets/source-code-pro-latin-400-normal-Bf_aQirX.woff) format("woff")}@font-face{font-family:Source Code Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-code-pro-latin-500-normal-DrRT_DWv.woff2) format("woff2"),url(/assets/source-code-pro-latin-500-normal-FgltuOLy.woff) format("woff")}@font-face{font-family:Source Code Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-code-pro-latin-600-normal-DVVSlvOB.woff2) format("woff2"),url(/assets/source-code-pro-latin-600-normal-B5rj6vMs.woff) format("woff")}:root{--font-display: "Bricolage Grotesque Variable", "Bricolage Grotesque", system-ui, sans-serif;--font-body: "Instrument Sans Variable", "Instrument Sans", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--efs: 13px;--bg: #f2f4f7;--surface: #ffffff;--surface-2: #f8fafb;--ink: #131f29;--body: #46555f;--muted: #5c6b75;--faint: #64717a;--line: #e2e8ee;--line-soft: #eef1f5;--line-strong: #858d93;--ac: oklch(.62 .13 80);--ac-ink: oklch(.45 .12 80);--ac-wash: oklch(.62 .13 80 / .14);--ac-wash-strong: oklch(.62 .13 80 / .24);--ac-border: oklch(.62 .13 80 / .4);--cta: var(--ink);--cta-ink: #ffffff;--track-js: oklch(.62 .13 80);--track-js-ink: oklch(.5 .13 80);--track-react: oklch(.62 .13 230);--track-react-ink: oklch(.48 .13 230);--track-vue: oklch(.62 .12 155);--track-vue-ink: oklch(.45 .12 155);--track-ts: oklch(.62 .12 280);--track-ts-ink: oklch(.45 .12 280);--st-fragile: oklch(.62 .14 255);--st-fragile-ink: oklch(.5 .14 255);--st-learning: oklch(.643 .13 80);--st-learning-ink: oklch(.54 .13 80);--st-durable: oklch(.62 .12 155);--st-durable-ink: oklch(.45 .12 155);--st-new: var(--muted);--pass: oklch(.5 .12 155);--pass-wash: oklch(.58 .12 155 / .08);--pass-border: oklch(.58 .12 155 / .4);--fail: oklch(.55 .16 30);--fail-wash: oklch(.58 .16 30 / .08);--fail-border: oklch(.58 .16 30 / .4);--overdue: oklch(.55 .15 45);--overdue-wash: oklch(.62 .15 45 / .12);--overdue-border: oklch(.62 .15 45 / .4);--ed-bg: #fbfcfd;--ed-ink: #2b3742;--ed-gutter: #6b757d;--ed-kw: oklch(.48 .17 265);--ed-fn: oklch(.52 .12 75);--ed-lit: oklch(.5 .13 155);--ed-comment: #69757f;--ed-punct: #63727d;--ed-bugline: oklch(.62 .15 45 / .09);--code-chip-bg: oklch(.62 .13 80 / .1);--code-chip-border: oklch(.62 .13 80 / .3);--code-chip-ink: oklch(.45 .12 80);--r-card: 14px;--r-btn: 9px;--r-chip: 999px;--shadow-card: 0 1px 2px rgba(19, 31, 41, .05);--shadow-hover: 0 4px 14px rgba(19, 31, 41, .1);--scrim: rgba(19, 31, 41, .38);--shadow-modal: 0 24px 64px rgba(19, 31, 41, .18);--shadow-drawer: -18px 0 36px rgba(19, 31, 41, .14)}:root{color-scheme:light}html[data-theme=dark]{color-scheme:dark;--bg: #0f171f;--surface: #17222c;--surface-2: #1c2833;--ink: #ecf2f7;--body: #aab8c2;--muted: #8897a3;--faint: #81909b;--line: #263340;--line-soft: #202c38;--line-strong: #627381;--ac: oklch(.72 .13 80);--ac-ink: oklch(.8 .1 80);--ac-wash: oklch(.72 .13 80 / .16);--ac-wash-strong: oklch(.72 .13 80 / .28);--ac-border: oklch(.72 .13 80 / .5);--cta: #ecf2f7;--cta-ink: #0f171f;--track-js: oklch(.72 .13 80);--track-js-ink: oklch(.8 .1 80);--track-react: oklch(.7 .12 230);--track-react-ink: oklch(.78 .1 230);--track-vue: oklch(.7 .12 155);--track-vue-ink: oklch(.78 .1 155);--track-ts: oklch(.7 .11 280);--track-ts-ink: oklch(.78 .09 280);--st-fragile: oklch(.7 .13 255);--st-fragile-ink: oklch(.78 .1 255);--st-learning: oklch(.72 .13 80);--st-learning-ink: oklch(.8 .1 80);--st-durable: oklch(.7 .12 155);--st-durable-ink: oklch(.78 .1 155);--st-new: var(--muted);--pass: oklch(.7 .12 155);--pass-wash: oklch(.7 .12 155 / .12);--pass-border: oklch(.7 .12 155 / .45);--fail: oklch(.68 .15 30);--fail-wash: oklch(.68 .15 30 / .12);--fail-border: oklch(.68 .15 30 / .45);--overdue: oklch(.72 .14 45);--overdue-wash: oklch(.72 .14 45 / .16);--overdue-border: oklch(.72 .14 45 / .45);--ed-bg: #121c26;--ed-ink: #cfdae3;--ed-gutter: #768692;--ed-kw: oklch(.74 .13 265);--ed-fn: oklch(.78 .11 75);--ed-lit: oklch(.74 .12 155);--ed-comment: #778591;--ed-punct: #7b8a95;--ed-bugline: oklch(.72 .14 45 / .13);--code-chip-bg: oklch(.72 .13 80 / .14);--code-chip-border: oklch(.72 .13 80 / .4);--code-chip-ink: oklch(.8 .1 80);--shadow-card: 0 1px 2px rgba(0, 0, 0, .3);--shadow-hover: 0 6px 18px rgba(0, 0, 0, .45);--scrim: rgba(1, 4, 9, .72);--shadow-modal: 0 24px 64px rgba(0, 0, 0, .55);--shadow-drawer: -18px 0 36px rgba(0, 0, 0, .4)}html[data-accent]{--ac: oklch(.6 var(--ac-c) var(--ac-h));--ac-ink: oklch(.45 var(--ac-c) var(--ac-h));--ac-wash: oklch(.6 var(--ac-c) var(--ac-h) / .14);--ac-wash-strong: oklch(.6 var(--ac-c) var(--ac-h) / .24);--ac-border: oklch(.6 var(--ac-c) var(--ac-h) / .4);--code-chip-bg: oklch(.6 var(--ac-c) var(--ac-h) / .1);--code-chip-border: oklch(.6 var(--ac-c) var(--ac-h) / .3);--code-chip-ink: oklch(.45 var(--ac-c) var(--ac-h))}html[data-theme=dark][data-accent]{--ac: oklch(.7 var(--ac-c) var(--ac-h));--ac-ink: oklch(.78 calc(var(--ac-c) - .03) var(--ac-h));--ac-wash: oklch(.7 var(--ac-c) var(--ac-h) / .16);--ac-wash-strong: oklch(.7 var(--ac-c) var(--ac-h) / .28);--ac-border: oklch(.7 var(--ac-c) var(--ac-h) / .5);--code-chip-bg: oklch(.7 var(--ac-c) var(--ac-h) / .14);--code-chip-border: oklch(.7 var(--ac-c) var(--ac-h) / .4);--code-chip-ink: oklch(.78 calc(var(--ac-c) - .03) var(--ac-h))}html[data-accent=teal]{--ac-h: 190;--ac-c: .11}html[data-accent=violet]{--ac-h: 300;--ac-c: .13}html[data-accent=rose]{--ac-h: 15;--ac-c: .13}html[data-codefont=fira]{--mono: "Fira Code", ui-monospace, monospace}html[data-codefont=plex]{--mono: "IBM Plex Mono", ui-monospace, monospace}html[data-codefont=source]{--mono: "Source Code Pro", ui-monospace, monospace}html,body{margin:0;padding:0;height:100%;background:var(--bg, #f2f4f7);color:var(--ink, #131f29);font-family:var(--font-body, "Instrument Sans", system-ui, sans-serif);-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}h1,h2,h3{font-family:var(--font-display, "Bricolage Grotesque", system-ui, sans-serif)}a{color:var(--ac-ink, oklch(.45 .12 80))}a:hover{color:var(--ink, #131f29)}::selection{background:#ae7c004d;background:oklch(.62 .13 80 / .3)}:focus-visible{outline:2px solid var(--ac, oklch(.62 .13 80));outline-offset:1px;border-radius:4px}button{font-family:inherit;cursor:pointer;white-space:nowrap}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c9d2da;border-radius:6px;border:2px solid var(--bg, #f2f4f7)}.cm-editor{height:100%;font-size:inherit}.cm-editor.cm-focused{outline:none}.skipLink{position:absolute;left:8px;top:-48px;z-index:100;background:var(--cta, #131f29);color:var(--cta-ink, #fff);font-weight:650;font-size:13px;padding:8px 14px;border-radius:0 0 8px 8px;transition:top .12s ease}.skipLink:focus{top:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes crFloat{0%{opacity:0;transform:translateY(5px)}12%{opacity:1}68%{opacity:1}to{opacity:0;transform:translateY(-16px)}}@keyframes crSpin{to{transform:rotate(360deg)}}.crChallengeGrid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(340px,420px) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.crChallengeBrief{border-right:1px solid var(--line, #e2e8ee);overflow-y:auto;padding:22px 22px 28px;display:flex;flex-direction:column;gap:4px;background:var(--surface, #fff)}@media (max-width: 700px){.crChallengeGrid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(320px,1fr);overflow-y:auto}.crChallengeBrief{border-right:none;border-bottom:1px solid var(--line, #e2e8ee);overflow-y:visible;padding:18px 16px 22px}}.crHeader{flex:none;display:flex;align-items:center;gap:14px;min-height:52px;padding:0 20px;border-bottom:1px solid var(--line, #e2e8ee);background:var(--surface, #fff)}.crChallengeBar{flex:none;display:flex;align-items:center;gap:12px;min-height:42px;padding:0 20px;border-bottom:1px solid var(--line, #e2e8ee);background:var(--surface, #fff)}@media (max-width: 359px){.crHeader{flex-wrap:wrap;gap:6px 12px;padding:7px 12px}.crHeaderActions{flex-wrap:wrap}.crHeaderRule{display:none}.crChallengeBar{flex-wrap:wrap;gap:6px 10px;padding:6px 12px}}.hbright:hover{filter:brightness(1.25)!important}.hghost:hover{color:var(--ink, #131f29)!important;border-color:var(--ink, #131f29)!important}.hbtn:hover{background:var(--surface-2, #f8fafb)!important;border-color:var(--ink, #131f29)!important}.hicon:hover{background:var(--line-soft, #eef1f5)!important;color:var(--ink, #131f29)!important}.hpillghost:hover{border-color:#c3cdd6!important;color:var(--body, #46555f)!important}.hpractice:hover{border-color:var(--ink, #131f29)!important;background:var(--surface, #fff)!important}.hlearn:hover{background:var(--ac-wash-strong, oklch(.62 .13 80 / .24))!important}.hreveal:hover{border-color:var(--ac, oklch(.62 .13 80))!important;color:var(--ac-ink, oklch(.45 .12 80))!important}.hgiveup:hover{background:#c74c3d29!important}.hclock:hover{border-color:var(--ac, oklch(.62 .13 80))!important;color:var(--ac-ink, oklch(.45 .12 80))!important}.hresetclock:hover{color:var(--body, #46555f)!important;border-color:var(--line-strong, #d5dde4)!important}.hwipe:hover{color:var(--fail, oklch(.55 .16 30))!important;border-color:var(--fail-border, oklch(.58 .16 30 / .4))!important}.hcardtitle:hover{color:var(--ac-ink, oklch(.45 .12 80))!important}.hmapnode:hover{background:var(--surface-2, #f8fafb)!important;border-color:var(--line, #e2e8ee)!important}.hcard:hover{box-shadow:var(--shadow-hover, 0 4px 14px rgba(19, 31, 41, .1))!important}
