:root{color:#1d2525;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f6f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}.app-shell{--ink:#14130f;--muted:#6f6a60;--line:#e4ded2;--paper:#fffdf8;--paper-strong:#f1ece1;--field:#fffdf8;--surface-hover:#eef2fb;--surface-soft:#f1ece1;--app-bg:#f7f5f0;--brand-a:#263238;--brand-b:#2f80ed;--brand-c:#19c6ff;--brand-gradient:linear-gradient(135deg, #263238, #2f80ed, #19c6ff, #263238);--flame:#d6443a;--flame-dark:#a3271f;--ember:#c2641a;--ember-soft:#f5e6d3;--mint:#00a878;--mint-soft:#e3f9f0;--teal:#0f8b8d;--teal-soft:#dff4f4;--shadow:0 1px 0 #14130f0a, 0 14px 32px #14130f0f;--shadow-hover:0 16px 36px #2f80ed29;--button-hover:#efe9dc;--ease-out:cubic-bezier(.16, 1, .3, 1);--theme-ease:cubic-bezier(.22, 1, .36, 1);--theme-duration:.26s;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace}.app-shell[data-theme=dark]{--ink:#c9d1d9;--muted:#8b949e;--line:#232b34;--paper:#161b22;--paper-strong:#1b222b;--field:#0f141a;--surface-hover:#1d2530;--surface-soft:#161b22;--app-bg:#0e1116;--brand-a:#20272f;--brand-b:#58a6ff;--brand-c:#79c0ff;--brand-gradient:linear-gradient(135deg, #20272f, #58a6ff, #79c0ff, #20272f);--flame:#f0883e;--flame-dark:#db6d28;--ember:#d29922;--ember-soft:#2b2415;--mint:#3fb950;--mint-soft:#12241a;--teal:#39c5cf;--teal-soft:#102a2c;--shadow:0 1px 0 #0006, 0 16px 40px #00000080;--shadow-hover:0 18px 44px #58a6ff33;--button-hover:#1d2530}html,body{overscroll-behavior:none}html{background:#f7f5f0}html[data-theme=dark]{background:#0e1116}::view-transition-old(root){animation-duration:.36s;animation-timing-function:var(--theme-ease)}::view-transition-new(root){animation-duration:.36s;animation-timing-function:var(--theme-ease)}.app-shell{background:var(--app-bg);min-height:100svh;color:var(--ink);font-family:var(--font-sans);transition:background-color var(--theme-duration) var(--theme-ease), color var(--theme-duration) var(--theme-ease);grid-template-columns:360px minmax(0,1fr);display:grid}.app-shell.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.app-shell *,.app-shell :before,.app-shell :after{transition:background-color var(--theme-duration) var(--theme-ease), border-color var(--theme-duration) var(--theme-ease), box-shadow var(--theme-duration) var(--theme-ease), color var(--theme-duration) var(--theme-ease), opacity .16s ease, transform .16s var(--ease-out)}.sidebar{border-right:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--paper) 92%, transparent), color-mix(in srgb, var(--paper-strong) 84%, transparent)), var(--paper);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);height:100svh;padding:20px 14px;position:sticky;top:0;overflow:hidden auto}.subject-list,.subject-group,.subject-button,.problem-list,.problem-link{min-width:0;max-width:100%}.app-shell.sidebar-collapsed .sidebar{border-right:0;padding:0;overflow:hidden}.app-shell.sidebar-collapsed .sidebar>*{opacity:0;pointer-events:none}.nav-collapse-tab{z-index:20;background:color-mix(in srgb, var(--brand-b) 42%, transparent);color:#0000;width:10px;height:92px;box-shadow:none;cursor:pointer;opacity:.22;border:0;border-radius:999px;place-items:center;display:grid;position:fixed;top:50%;left:355px;transform:translateY(-50%)}.nav-collapse-tab svg{opacity:0;width:14px;height:14px}.nav-collapse-tab:hover,.nav-collapse-tab:focus-visible{border:1px solid color-mix(in srgb, var(--brand-b) 38%, var(--line));background:color-mix(in srgb, var(--field) 96%, transparent);width:24px;color:var(--brand-b);opacity:1;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-b) 14%, transparent), 0 8px 22px color-mix(in srgb, var(--brand-b) 10%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-left:0;border-radius:0 999px 999px 0;left:346px}.nav-collapse-tab:hover svg,.nav-collapse-tab:focus-visible svg{opacity:1}.app-shell.sidebar-collapsed .nav-collapse-tab{opacity:.28;left:0}.app-shell.sidebar-collapsed .nav-collapse-tab:hover,.app-shell.sidebar-collapsed .nav-collapse-tab:focus-visible{opacity:1}.brand{align-items:center;gap:14px;margin-bottom:22px;display:flex}.brand-button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.brand-mark{color:#fff;background:linear-gradient(135deg, var(--brand-a), var(--brand-b), var(--brand-a));width:48px;height:48px;box-shadow:0 12px 32px color-mix(in srgb, var(--brand-a) 26%, transparent);background-size:200% 200%;border-radius:8px;place-items:center;animation:8s ease-in-out infinite brand-shift;display:grid}@keyframes brand-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes ambient-canvas{0%{background-position:0 0}to{background-position:100% 100%}}@keyframes progress-flow{0%{background-position:0%}to{background-position:180%}}@keyframes lesson-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes lesson-accent-pulse{0%,to{box-shadow:inset 3px 0 0 color-mix(in srgb, var(--brand-b) 70%, transparent), 0 8px 22px #0f172a09}50%{box-shadow:inset 3px 0 0 color-mix(in srgb, var(--brand-c) 80%, transparent), 0 12px 30px color-mix(in srgb, var(--brand-b) 10%, transparent)}}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation-duration:1ms}::view-transition-new(root){animation-duration:1ms}.app-shell,.brand-mark,.progress-track div,.mastery-meter div,.lesson-focus-card,.lesson-walkthrough,.lesson-detail-row details{animation:none}.app-shell *,.app-shell :before,.app-shell :after{transition-duration:1ms}}.brand-button:hover .brand-mark{box-shadow:0 16px 36px color-mix(in srgb, var(--brand-a) 32%, transparent);transform:translateY(-2px)rotate(-2deg)scale(1.04)}.eyebrow{color:var(--brand-b);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 2px;font-size:11px;font-weight:600}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:22px;line-height:1.05}.home-button,.theme-toggle{border:1px solid var(--line);background-color:var(--field);width:100%;color:var(--ink);font:inherit;cursor:pointer;background-image:none;border-radius:8px;align-items:center;gap:9px;margin-bottom:16px;padding:10px 12px;font-size:14px;font-weight:900;display:flex}.home-button.active,.home-button:hover,.theme-toggle:hover{border-color:color-mix(in srgb, var(--brand-b) 44%, var(--line));background-color:color-mix(in srgb, var(--brand-b) 9%, var(--field));background-image:linear-gradient(90deg, color-mix(in srgb, var(--brand-b) 12%, transparent), transparent 62%);color:var(--brand-b);box-shadow:inset 3px 0 0 color-mix(in srgb, var(--brand-b) 78%, transparent);transform:none}.theme-toggle{margin-bottom:16px}.progress-block{border:1px solid var(--line);background:linear-gradient(180deg, #ffffff94, transparent), var(--paper-strong);border-radius:8px;gap:12px;margin-bottom:18px;padding:16px;display:grid;box-shadow:0 10px 26px #0f172a0a}.progress-tools{grid-template-columns:1fr 1fr;gap:8px;display:grid}.progress-tools button{border:1px solid var(--line);background-color:var(--field);min-height:34px;color:var(--ink);font:inherit;cursor:pointer;background-image:none;border-radius:8px;justify-content:center;align-items:center;gap:7px;font-size:13px;font-weight:900;transition:border-color .15s,background-color .15s,color .15s,transform .15s;display:inline-flex}.progress-tools button:hover{border-color:var(--teal);color:var(--teal);background-color:var(--teal-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--teal) 16%, transparent);background-image:none;transform:none}.progress-tools button:active{transform:translateY(0)}.progress-tools input{display:none}.import-message{color:#5f6d69;font-size:12px;font-weight:800}.progress-copy{color:var(--muted);justify-content:space-between;font-size:13px;font-weight:800;display:flex}.progress-track{background:color-mix(in srgb, var(--mint) 8%, var(--paper-strong));border-radius:999px;height:10px;overflow:hidden}.progress-track div{border-radius:inherit;background:linear-gradient(90deg, var(--brand-b), var(--brand-c), var(--brand-b));height:100%;transition:width .36s var(--ease-out);background-size:180% 100%;animation:6s linear infinite progress-flow}.time-stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.time-stats span{background:var(--field);color:var(--ink);text-align:center;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:900}.test-stats{border:1px solid color-mix(in srgb, var(--teal) 18%, transparent);background:var(--teal-soft);color:var(--ink);border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:8px;font-size:12px;font-weight:900;display:flex}.app-shell[data-theme=dark] .progress-block{border-color:color-mix(in srgb, var(--brand-b) 18%, var(--line));background:linear-gradient(180deg, color-mix(in srgb, var(--brand-b) 5%, transparent), transparent 46%), #101817;box-shadow:inset 0 1px #ffffff0a,0 12px 30px #0000002e}.app-shell[data-theme=dark] .progress-copy{color:color-mix(in srgb, var(--muted) 92%, #fff)}.app-shell[data-theme=dark] .progress-block>strong{color:var(--ink);font-size:18px;line-height:1.1}.app-shell[data-theme=dark] .time-stats span{border:1px solid color-mix(in srgb, var(--line) 78%, transparent);color:color-mix(in srgb, var(--ink) 94%, var(--brand-c));background:#121f1d}.app-shell[data-theme=dark] .test-stats{border-color:color-mix(in srgb, var(--teal) 26%, var(--line));background:color-mix(in srgb, var(--teal) 13%, #101817);color:color-mix(in srgb, var(--ink) 92%, var(--teal))}.app-shell[data-theme=dark] .progress-tools button{border-color:color-mix(in srgb, var(--line) 88%, transparent);color:var(--ink);box-shadow:none;background:#111b1a}.app-shell[data-theme=dark] .progress-tools button:hover{border-color:color-mix(in srgb, var(--brand-b) 42%, var(--line));background:color-mix(in srgb, var(--brand-b) 9%, #111b1a);color:color-mix(in srgb, var(--brand-b) 78%, #fff)}.search-box{border:1px solid var(--line);background-color:var(--field);color:var(--muted);background-image:none;border-radius:8px;align-items:center;gap:10px;margin-bottom:18px;padding:11px 12px;display:flex}.search-box:focus-within{border-color:var(--brand-a);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-a) 18%, transparent)}.search-box input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0}.filter-stack{gap:14px;margin-bottom:14px;display:grid}.filter-group{gap:8px;display:grid}.filter-group>span{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:900}.filter-row{flex-wrap:wrap;gap:6px;display:flex}.filter-row button{border:1px solid var(--line);background-color:var(--field);color:#52605d;min-height:32px;font:inherit;text-transform:capitalize;background-image:none;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:800}.filter-row button.active,.filter-row button:hover{border-color:var(--ink);background-color:var(--ink);color:#fff;box-shadow:var(--shadow-hover);background-image:none;transform:translateY(-1px)}.filter-summary{color:var(--muted);justify-content:space-between;gap:12px;margin-bottom:18px;font-size:13px;font-weight:800;display:flex}.warning-block{color:#5f4300;background:#fff8e8;border:1px solid #f59f00;border-radius:8px;margin-bottom:18px;padding:10px 12px;font-size:13px}.warning-block summary{cursor:pointer;font-weight:900}.warning-block ul{gap:6px;margin:10px 0 0;padding-left:18px;display:grid}.subject-list{gap:12px;display:grid}.subject-group{gap:8px;display:grid}.subject-button,.problem-link,.icon-button,.choice,.check-button,.reset-button{font:inherit;cursor:pointer}.subject-button{width:100%;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:10px;display:flex}.subject-button.active,.subject-button:hover{border-color:color-mix(in srgb, var(--brand-b) 34%, var(--line));background:linear-gradient(90deg, color-mix(in srgb, var(--brand-b) 11%, transparent), transparent 62%), var(--surface-hover);box-shadow:inset 3px 0 0 color-mix(in srgb, var(--brand-b) 78%, transparent);transform:none}.subject-button span:last-child{flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.subject-button strong{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.scrolling-text{white-space:nowrap;min-width:0;max-width:100%;display:block;position:relative;overflow:hidden}.scrolling-text__static{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;transition:opacity 80ms linear;display:block;overflow:hidden}.scrolling-text__moving{opacity:0;pointer-events:none;width:max-content;max-width:none;transition:opacity 80ms linear, transform var(--scroll-duration,0s) linear;display:block;position:absolute;inset:0 auto 0 0;transform:translate(0)}.scrolling-text.is-overflowing:hover{text-overflow:clip}.scrolling-text.is-overflowing:hover .scrolling-text__static{opacity:0}.scrolling-text.is-overflowing:hover .scrolling-text__moving{opacity:1;transform:translateX(var(--scroll-distance,0px))}@media (prefers-reduced-motion:reduce){.scrolling-text__moving,.scrolling-text__static{transition:none}.scrolling-text.is-overflowing:hover .scrolling-text__static{opacity:1}.scrolling-text.is-overflowing:hover .scrolling-text__moving{opacity:0;transform:translate(0)}}.subject-group:last-child .subject-button small,.subject-group:last-child .subject-progress{display:none}.subject-button small{color:var(--muted);font-family:var(--font-mono);letter-spacing:.02em;font-size:11px;font-weight:500}.subject-progress{background:color-mix(in srgb, var(--ink) 9%, transparent);border-radius:999px;height:6px;margin:-2px 10px 4px;overflow:hidden}.subject-progress div{border-radius:inherit;background:var(--brand-b);min-width:6px;height:100%}.subject-icon{background:var(--field);border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:grid}.problem-list{gap:4px;margin-left:0;display:grid}.problem-link{color:#556260;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:22px minmax(0,1fr) 18px;align-items:center;gap:8px;min-width:0;padding:8px 10px;display:grid}.problem-link:hover{background:linear-gradient(90deg, color-mix(in srgb, var(--brand-b) 9%, transparent), transparent 62%), var(--surface-hover);color:var(--ink);transform:none}.problem-link.active{background:linear-gradient(90deg, color-mix(in srgb, var(--brand-b) 13%, transparent), transparent 68%), var(--surface-hover);color:var(--brand-b);border-left:3px solid;padding-left:7px;transform:none}.problem-link span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.problem-link>svg:last-child{color:var(--teal);justify-self:end}.workspace{min-width:0;padding:24px}.topbar{z-index:1;border:1px solid var(--line);background:color-mix(in srgb, var(--field) 86%, transparent);max-width:980px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px)saturate(1.14);backdrop-filter:blur(18px)saturate(1.14);border-radius:8px;align-items:center;gap:10px;margin:0 auto 18px;padding:10px 12px;display:flex;position:sticky;top:0}.topbar-title{order:-1;margin-right:auto}.topbar-actions{gap:8px;display:flex}.icon-button{border:1px solid var(--line);background-color:var(--field);color:#253131;background-image:none;border-radius:8px;place-items:center;width:40px;height:40px;display:grid}.icon-button:not(:disabled):hover{border-color:color-mix(in srgb, var(--brand-b) 45%, var(--line));background-color:var(--button-hover);color:var(--brand-b);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-b) 16%, transparent), 0 8px 20px color-mix(in srgb, var(--brand-b) 9%, transparent);background-image:none;transform:none}.icon-button:not(:disabled):active,.home-button:active,.theme-toggle:active,.subject-button:active,.problem-link:active,.subject-card:active,.continue-button:active,.run-button:active,.check-button:active,.reset-button:active{transform:translateY(0)scale(.99)}.icon-button:disabled{cursor:not-allowed;opacity:.42}.topbar-title{min-width:0;color:var(--muted);flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:4px 12px;font-size:14px;display:flex}.topbar-title>span{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-b);font-size:11px;font-weight:500}.topbar-title strong{color:var(--ink);font-family:var(--font-mono);font-size:12px;font-weight:500}.problem-panel{border:1px solid var(--line);background:var(--paper);max-width:980px;box-shadow:var(--shadow);border-radius:8px;margin:0 auto;padding:34px}.app-shell:not([data-theme=dark]) .problem-panel{background:linear-gradient(180deg, #ffffffc7, transparent 210px), var(--paper)}.home-panel{gap:18px;max-width:1120px;margin:0 auto;display:grid}.home-hero{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:44px 40px;display:grid}.home-hero h2{color:var(--ink);font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:14px;font-size:48px;font-weight:600;line-height:1.08}.home-hero p:last-child{color:var(--muted);max-width:52ch;margin:0;font-size:17px;line-height:1.6}.continue-button,.run-button,.check-button{position:relative;overflow:hidden}.continue-button{border:1px solid color-mix(in srgb, var(--ink) 14%, transparent);color:#fff;min-height:44px;font:inherit;cursor:pointer;box-shadow:0 10px 24px color-mix(in srgb, var(--ink) 12%, transparent);background-color:#151b1f;background-image:linear-gradient(135deg,#111827,#1f3542);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-weight:900;display:inline-flex}.continue-button:after,.run-button:after,.check-button:after{content:"";pointer-events:none;width:44%;transition:left .42s var(--ease-out);background:linear-gradient(90deg,#0000,#ffffff38,#0000);position:absolute;inset:-40% auto -40% -48%;transform:skew(-18deg)}.continue-button:hover,.run-button:hover,.check-button:hover{border-color:color-mix(in srgb, var(--brand-b) 34%, var(--ink));color:#fff;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-b) 16%, transparent), 0 10px 24px color-mix(in srgb, var(--brand-b) 12%, transparent);background-color:#1b2429;background-image:linear-gradient(135deg,#111827,#23506a)}.continue-button:hover:after,.run-button:hover:after,.check-button:hover:after{left:112%}.continue-button:hover svg{transform:translate(3px)}.home-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.home-stats div{border:1px solid color-mix(in srgb, var(--line) 70%, transparent);background:0 0;border-radius:8px;padding:14px 16px}.home-stats div:hover{border-color:color-mix(in srgb, var(--brand-b) 28%, var(--line));transform:none}.home-stats span,.home-stats strong{display:block}.home-stats span{color:var(--ink);font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:4px;font-size:34px;font-weight:600}.home-stats strong{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:500}.request-lifecycle-view{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:8px;gap:14px;padding:16px;display:grid}.home-section-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.home-section-heading h3{color:var(--ink);text-transform:uppercase;margin:0 0 5px;font-size:15px}.home-section-heading p{color:var(--muted);margin:0;font-weight:800;line-height:1.4}.lifecycle-track{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.lifecycle-hop{border:1px solid var(--line);background:var(--field);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:8px;gap:8px;padding:12px;display:grid}.lifecycle-hop:hover{border-color:var(--brand-b);background:color-mix(in srgb, var(--brand-b) 7%, var(--field));box-shadow:var(--shadow-hover);transform:none}.lifecycle-hop span{background:color-mix(in srgb, var(--brand-b) 12%, var(--field));width:fit-content;color:var(--brand-b);border-radius:999px;padding:4px 7px;font-size:11px;font-weight:900}.lifecycle-hop strong{line-height:1.2}.lifecycle-hop p,.lifecycle-hop small{color:var(--muted);margin:0;line-height:1.4}.lifecycle-hop small{font-size:12px;font-weight:800}.lifecycle-hop em{background:var(--surface-hover);width:fit-content;color:var(--ink);border-radius:999px;padding:5px 8px;font-size:11px;font-style:normal;font-weight:900}.home-search-section{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:8px;gap:12px;padding:16px;display:grid}.home-search-box{border:1px solid var(--line);background:var(--field);color:var(--muted);border-radius:8px;align-items:center;gap:10px;padding:13px 14px;display:flex}.home-search-box:focus-within{border-color:var(--brand-b);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-b) 18%, transparent)}.home-search-box input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:16px;font-weight:800}.home-search-results{gap:8px;display:grid}.home-search-summary{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.home-search-summary strong{color:var(--ink)}.home-result{border:1px solid var(--line);background:var(--field);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;display:grid}.home-result:hover{border-color:var(--brand-b);background-color:var(--button-hover);box-shadow:var(--shadow-hover);background-image:none;transform:none}.home-result-main{gap:4px;min-width:0;display:grid}.home-result-main strong,.home-result-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-result-main small{color:var(--muted);font-size:13px;font-weight:800}.home-result-meta{color:var(--muted);text-transform:capitalize;align-items:center;gap:7px;font-size:12px;font-weight:900;display:flex}.home-result-meta span{background:var(--surface-hover);border-radius:999px;padding:5px 8px}.home-result-meta svg{color:var(--brand-b)}.home-empty-search{border:1px dashed var(--line);color:var(--muted);border-radius:8px;margin:0;padding:14px;font-weight:800}.projects-view{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:8px;gap:14px;padding:16px;display:grid}.project-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.project-card{border:1px solid var(--line);background:var(--field);border-radius:8px;gap:12px;padding:14px;display:grid}.project-card:hover{border-color:var(--brand-b);box-shadow:var(--shadow-hover);transform:none}.project-card-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.project-card-heading h4{color:var(--ink);margin:0;font-size:17px}.project-card-heading span{background:color-mix(in srgb, var(--brand-b) 12%, var(--field));color:var(--brand-b);border-radius:999px;flex:none;padding:5px 8px;font-size:12px;font-weight:900}.project-card p{color:var(--muted);margin:0;line-height:1.45}.project-concepts{flex-wrap:wrap;gap:6px;display:flex}.project-concepts span{background:var(--surface-hover);color:var(--ink);border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900}.project-steps{gap:7px;margin:0;padding-left:18px;display:grid}.project-steps li{color:var(--muted);line-height:1.35}.project-steps button{color:var(--brand-b);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:900}.project-steps button:hover{color:var(--ink);text-decoration:underline}.project-stretch{border-top:1px solid var(--line);padding-top:8px}.project-stretch summary{cursor:pointer;color:var(--ink);font-weight:900}.project-stretch ul{color:var(--muted);margin:8px 0 0;padding-left:18px}.dictionary-view{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:8px;gap:12px;padding:16px;display:grid}.dictionary-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;max-height:420px;padding-right:2px;display:grid;overflow:auto}.dictionary-card{border:1px solid var(--line);background:var(--field);border-radius:8px}.dictionary-card summary{cursor:pointer;color:var(--ink);padding:11px 12px;font-size:14px;font-weight:900;list-style:none}.dictionary-card summary::-webkit-details-marker{display:none}.dictionary-card p,.dictionary-card small{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:10px 12px;font-size:13px;line-height:1.45;display:block}.dictionary-card small{border-top:0;padding-top:0;font-weight:800}.dictionary-card-focus{border-color:var(--brand-b);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-b) 42%, transparent), 0 0 0 4px color-mix(in srgb, var(--brand-b) 16%, transparent)}.home-section{gap:12px;display:grid}.home-section h3{color:var(--ink);text-transform:uppercase;margin-bottom:0;font-size:15px}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.subject-card{border:1px solid var(--line);background:var(--field);min-width:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;padding:14px;display:grid}.subject-card:hover{border-color:var(--card-color,var(--brand-a));background:color-mix(in srgb, var(--card-color,var(--brand-a)) 5%, var(--field));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--card-color,var(--brand-a)) 14%, transparent), 0 14px 34px color-mix(in srgb, var(--card-color,var(--brand-a)) 12%, transparent);transform:none}.subject-card:hover .subject-card-footer svg{transform:translate(4px)}.subject-card-icon{color:#fff;background:var(--card-color,var(--brand-b));width:42px;height:42px;box-shadow:0 4px 12px color-mix(in srgb, var(--card-color,var(--brand-b)) 32%, transparent);border-radius:9px;place-items:center;display:grid}.subject-card-icon svg{color:#fff}.subject-card-copy{gap:4px;min-width:0;display:grid}.subject-card-copy strong{color:var(--ink);font-family:var(--font-display);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:600;overflow:hidden}.subject-card-copy small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.35;display:-webkit-box;overflow:hidden}.subject-card-meta{color:var(--muted);font-size:13px;font-weight:900}.subject-card-progress{background:color-mix(in srgb, var(--mint) 8%, var(--paper-strong));border-radius:999px;grid-column:1/-1;height:6px;overflow:hidden}.subject-card-progress span{border-radius:inherit;height:100%;display:block}.subject-card-footer{color:var(--muted);grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:900;display:flex}.problem-heading,.problem-meta,.problem-type,.actions{align-items:center;display:flex}.problem-heading{justify-content:space-between;gap:16px;margin-bottom:20px}.problem-type,.problem-meta span{background:color-mix(in srgb, var(--brand-b) 8%, var(--field));color:color-mix(in srgb, var(--brand-b) 70%, var(--ink));border-radius:999px;font-size:13px;font-weight:800}.problem-type{text-transform:capitalize;gap:8px;padding:7px 10px}.problem-meta{gap:8px}.problem-meta span{padding:7px 10px}.problem-panel h2{color:var(--ink);margin-bottom:10px;font-size:42px;line-height:1.05}.subject-subtitle{color:#5d6a68;margin-bottom:30px;font-size:17px}.mastery-panel{border:1px solid var(--line);background:linear-gradient(135deg, color-mix(in srgb, var(--brand-b) 7%, transparent), transparent 48%), var(--paper);box-shadow:0 16px 36px color-mix(in srgb, var(--brand-b) 6%, transparent);border-radius:8px;gap:12px;margin:18px 0 24px;padding:16px;display:grid}.mastery-copy{gap:4px;display:grid}.mastery-copy span{color:var(--brand-b);text-transform:uppercase;font-size:12px;font-weight:900}.mastery-copy strong{color:var(--ink);font-size:20px}.mastery-copy p{color:var(--muted);margin:0;line-height:1.45}.mastery-meter{background:color-mix(in srgb, var(--mint) 8%, var(--paper-strong));border-radius:999px;height:10px;overflow:hidden}.mastery-meter div{border-radius:inherit;background:linear-gradient(90deg, var(--brand-b), var(--brand-c), var(--brand-b));height:100%;transition:width .36s var(--ease-out);background-size:180% 100%;animation:6s linear infinite progress-flow}.confidence-ladder{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.confidence-ladder span{border:1px solid var(--line);text-align:center;border-radius:999px;min-width:0;padding:7px 8px;font-size:11px;font-weight:900}.confidence-ladder span.future{background:var(--field);color:var(--muted);opacity:.5}.confidence-ladder span.past{border-color:color-mix(in srgb, var(--mint) 22%, var(--line));background:color-mix(in srgb, var(--mint) 5%, var(--field));color:#52635f}.confidence-ladder span.current{border-color:var(--brand-b);background:color-mix(in srgb, var(--brand-b) 8%, var(--field));color:var(--brand-b);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-b) 18%, transparent)}.mastery-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.mastery-steps span{border:1px solid var(--line);background:var(--field);color:var(--ink);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:2px 8px;padding:10px;display:grid}.mastery-steps svg{color:#84918e;grid-row:span 3;margin-top:2px}.mastery-steps strong{text-overflow:ellipsis;white-space:normal;font-size:13px;overflow:hidden}.mastery-steps small{color:#667571;font-size:12px;font-weight:800}.mastery-steps em{color:var(--muted);font-size:11px;font-style:normal;font-weight:700;line-height:1.3}.mastery-steps span.done{border-color:color-mix(in srgb, var(--mint) 40%, var(--line));background:color-mix(in srgb, var(--mint) 9%, var(--field))}.mastery-steps span.done svg{color:var(--mint)}.learn-first-block{border:1px solid var(--line);background:radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--brand-c) 9%, transparent), transparent 28%), linear-gradient(135deg, color-mix(in srgb, var(--brand-b) 5%, transparent), transparent 45%), var(--paper);border-radius:8px;gap:16px;margin-top:24px;padding:18px;display:grid;box-shadow:0 16px 38px #0f172a0b}.learn-first-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.learn-first-heading h3,.lesson-grid h4,.guided-tutorial-heading h4{color:var(--ink);text-transform:uppercase;margin:0 0 8px;font-size:14px}.learn-first-heading p,.visual-lesson p{color:var(--muted);margin:0;line-height:1.55}.learn-first-heading>span{background:var(--brand-b);color:#fff;border-radius:999px;flex:none;padding:7px 10px;font-size:12px;font-weight:900}.visual-lesson,.lesson-focus{gap:12px;display:grid}.lesson-focus-card{border:1px solid var(--line);background:var(--field);animation:lesson-enter .36s var(--ease-out) both;border-radius:8px;gap:8px;padding:14px;display:grid;box-shadow:0 8px 22px #0f172a09}.lesson-focus-card-primary{border-color:color-mix(in srgb, var(--brand-b) 30%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--brand-b) 7%, transparent), transparent 58%), var(--field);animation:lesson-enter .36s var(--ease-out) both, lesson-accent-pulse 4.8s ease-in-out .7s infinite}.lesson-focus-card-warning{border-color:color-mix(in srgb, var(--flame) 26%, var(--line));background:color-mix(in srgb, var(--flame) 5%, var(--field))}.lesson-focus-card span,.lesson-detail-row summary{color:color-mix(in srgb, var(--brand-b) 76%, var(--ink));letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:900}.lesson-focus-card p{color:var(--ink);margin:0;font-size:18px;line-height:1.55}.lesson-focus-card pre{border:1px solid color-mix(in srgb, var(--brand-b) 18%, var(--line));color:#edf7f1;white-space:pre-wrap;background:#111818;border-radius:8px;margin:0;padding:12px 14px;font:14px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-x:auto}.lesson-walkthrough{border:1px solid var(--line);background:var(--field);animation:lesson-enter .42s var(--ease-out) 80ms both;border-radius:8px;gap:10px;padding:14px;display:grid;box-shadow:0 8px 22px #0f172a09}.lesson-walkthrough h4{color:var(--ink);text-transform:uppercase;margin:0;font-size:14px}.lesson-walkthrough ol{color:var(--muted);gap:10px;margin:0;padding-left:28px;line-height:1.5;display:grid}.lesson-walkthrough li::marker{color:var(--brand-b);font-weight:900}.lesson-detail-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.lesson-detail-row details{border:1px solid var(--line);background:color-mix(in srgb, var(--field) 86%, var(--paper));min-width:0;animation:lesson-enter .42s var(--ease-out) .14s both;border-radius:8px}.lesson-detail-row details[open]{grid-column:1/-1;box-shadow:0 10px 26px #0f172a0b}.lesson-detail-row details:hover{border-color:color-mix(in srgb, var(--brand-b) 34%, var(--line));background:color-mix(in srgb, var(--brand-b) 5%, var(--field))}.lesson-detail-row summary{cursor:pointer;padding:12px 14px;list-style:none}.lesson-detail-row summary::-webkit-details-marker{display:none}.lesson-detail-row summary:after{float:right;color:var(--muted);content:"+"}.lesson-detail-row details[open] summary:after{content:"-"}.lesson-detail-row ul{border-top:1px solid var(--line);color:var(--muted);gap:8px;margin:0;padding:12px 18px 14px 32px;line-height:1.45;display:grid}.interactive-diagram{border:1px solid var(--line);background:var(--field);border-radius:8px;gap:12px;padding:12px;display:grid}.diagram-row{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.diagram-step{align-items:center;gap:8px;min-width:min(100%,160px);display:flex}.diagram-pill{width:100%;max-width:100%;min-height:34px;font:inherit;text-align:left;cursor:pointer;white-space:normal;word-break:normal;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:7px 11px;font-size:13px;font-weight:900;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;display:inline-flex}.diagram-index{background:color-mix(in srgb, currentColor 16%, transparent);color:currentColor;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:11px;line-height:1;display:grid}.diagram-pill>span:last-child{min-width:0;line-height:1.15}.diagram-pill:hover{filter:saturate(1.16);box-shadow:0 8px 20px color-mix(in srgb, currentColor 10%, transparent);transform:none}.diagram-panel{border:1px solid color-mix(in srgb, var(--brand-b) 22%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--brand-b) 8%, transparent), transparent 44%), var(--field);border-radius:8px;gap:8px;padding:12px;display:grid;box-shadow:inset 0 1px #ffffffc7}.diagram-panel-label{background:var(--brand-b);color:#fff;border-radius:999px;width:fit-content;padding:5px 8px;font-size:12px;font-weight:900}.diagram-panel p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.visual-picture{border:1px solid var(--line);background:var(--field);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}.visual-picture span{align-items:center;gap:8px;display:inline-flex}.visual-picture strong{background:color-mix(in srgb, var(--brand-b) 12%, var(--field));min-height:32px;color:var(--ink);border-radius:999px;align-items:center;padding:7px 10px;font-size:13px;display:inline-flex}.visual-picture i{color:var(--brand-b);font-style:normal;font-weight:900}.diagram-explainer-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.diagram-explainer{border:1px solid var(--line);background:var(--field);border-radius:8px;transition:border-color .16s,box-shadow .16s,transform .16s}.diagram-explainer:hover{border-color:color-mix(in srgb, var(--brand-b) 38%, var(--line));box-shadow:var(--shadow-hover);transform:none}.diagram-explainer summary{cursor:pointer;color:var(--ink);align-items:center;gap:8px;padding:10px;font-weight:900;list-style:none;display:flex}.diagram-explainer summary::-webkit-details-marker{display:none}.diagram-explainer summary span{background:color-mix(in srgb, var(--brand-b) 12%, var(--field));width:26px;height:26px;color:var(--brand-b);border-radius:50%;flex:none;place-items:center;font-size:12px;display:grid}.diagram-explainer p{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:10px;font-size:14px;line-height:1.55}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.lesson-grid section{border:1px solid var(--line);background:var(--field);border-radius:8px;padding:14px;box-shadow:0 8px 22px #0f172a09}.lesson-grid ul,.lesson-grid ol{color:var(--muted);gap:8px;margin:0;padding-left:20px;line-height:1.45;display:grid}.lesson-code{border:1px solid color-mix(in srgb, var(--brand-b) 18%, var(--line));color:#edf7f1;white-space:pre;background:#111818;border-radius:8px;margin:8px 0 2px;padding:10px 12px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-x:auto}.glossary-term{border-bottom:2px dotted color-mix(in srgb, var(--brand-b) 72%, currentColor);color:color-mix(in srgb, var(--brand-b) 78%, var(--ink));cursor:help;text-underline-offset:4px;font-style:normal;text-decoration:none;display:inline;position:relative}.glossary-term:after{z-index:40;border:1px solid color-mix(in srgb, var(--brand-b) 28%, var(--line));color:#edf7f1;content:attr(data-definition);opacity:0;pointer-events:none;text-align:left;white-space:normal;background:#111818;border-radius:8px;width:max-content;max-width:min(360px,76vw);padding:10px 12px;font-size:13px;font-weight:800;line-height:1.4;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,6px);box-shadow:0 18px 44px #00000047}.glossary-term:before{z-index:41;border-right:1px solid color-mix(in srgb, var(--brand-b) 28%, var(--line));border-bottom:1px solid color-mix(in srgb, var(--brand-b) 28%, var(--line));content:"";opacity:0;pointer-events:none;background:#111818;width:10px;height:10px;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%,6px)rotate(45deg)}.glossary-term:hover,.glossary-term:focus-visible{color:var(--brand-b)}.glossary-term:hover:after,.glossary-term:hover:before,.glossary-term:focus-visible:after,.glossary-term:focus-visible:before{opacity:1;transform:translate(-50%)}.glossary-term:focus-visible{outline:2px solid color-mix(in srgb, var(--brand-b) 36%, transparent);outline-offset:2px;border-radius:3px}.guided-tutorial-checks{border:1px solid var(--line);background:var(--field);border-radius:8px;gap:12px;padding:14px;display:grid}.recall-checks{border:1px solid var(--line);background:linear-gradient(135deg, color-mix(in srgb, var(--brand-a) 8%, transparent), transparent 42%), var(--field);border-radius:8px;gap:12px;padding:14px;display:grid}.guided-tutorial-heading p{color:var(--muted);margin:0;line-height:1.45}.recall-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.recall-card{border:1px solid var(--line);background:var(--field);border-radius:8px;gap:10px;padding:12px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.recall-card:hover{border-color:color-mix(in srgb, var(--brand-b) 38%, var(--line));box-shadow:var(--shadow-hover);transform:none}.recall-card-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.recall-card-heading span,.recall-card-heading strong{background:color-mix(in srgb, var(--brand-b) 10%, var(--field));color:var(--ink);border-radius:999px;padding:5px 8px;font-size:12px;font-weight:900}.recall-card-heading strong{background:var(--mint);color:#fff}.recall-card h4{color:var(--ink);margin:0;font-size:15px;line-height:1.35}.recall-card textarea{resize:vertical;border:1px solid var(--line);background:var(--field);min-height:100px;color:var(--ink);font:inherit;border-radius:8px;padding:10px;line-height:1.45}.recall-card details{border-top:1px solid var(--line);padding-top:8px}.recall-card summary{cursor:pointer;color:var(--brand-b);font-weight:900}.recall-card p{color:var(--muted);margin:8px 0 0;line-height:1.5}.quick-write-answer{color:var(--muted);gap:8px;margin-top:8px;line-height:1.45;display:grid}.quick-write-answer strong{color:var(--ink)}.quick-write-answer ul{gap:5px;margin:0;padding-left:18px;display:grid}.quick-write-answer p{margin:0}.tutorial-card{background:color-mix(in srgb, var(--brand-b) 5%, var(--field))}.prompt-block,.learning-path,.interview-panel,.explanation-block,.production-block,.walkthrough-block,.example-block,.quiz-block,.coding-block,.review-block,.solution-check-block,.notes-block{margin-top:24px}.prompt-block h3,.interview-panel h3,.explanation-block h3,.production-block h3,.walkthrough-block h3,.example-block h3,.quiz-block h3,.coding-block h3,.review-block h3,.solution-check-block h3,.notes-block h3{color:var(--ink);text-transform:uppercase;margin-bottom:10px;font-size:15px}.prompt-block p{color:var(--ink);font-size:20px;line-height:1.55}.interview-panel{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:8px;gap:12px;padding:16px;display:grid}.interview-answer-list{gap:10px;display:grid}.interview-answer-card{border:1px solid var(--line);background:var(--field);border-radius:8px}.interview-answer-card:hover{border-color:var(--brand-b);box-shadow:var(--shadow-hover)}.interview-answer-card summary{cursor:pointer;color:var(--ink);padding:12px;font-weight:900}.interview-answer-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;display:grid}.interview-answer-grid section{background:var(--surface-soft);border-radius:8px;padding:10px}.interview-answer-grid span{color:var(--brand-b);text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:900;display:block}.interview-answer-grid p{color:var(--muted);margin:0;line-height:1.45}.defend-action{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.defend-action strong,.defend-action p{margin:0;display:block}.defend-action p{color:var(--muted);margin-top:4px;line-height:1.4}.defend-action button{border:1px solid var(--brand-b);background:var(--brand-b);color:#fff;font:inherit;cursor:pointer;border-radius:8px;flex:none;align-items:center;gap:8px;padding:10px 12px;font-weight:900;display:inline-flex}.defend-action button:hover{box-shadow:var(--shadow-hover);transform:none}.defend-action button.done{border-color:var(--mint);background:var(--mint)}.learning-path{grid-template-columns:minmax(0,1fr) minmax(220px,1.15fr) minmax(0,1fr);gap:10px;display:grid}.learning-path>button,.learning-path>div{border:1px solid var(--line);background:var(--field);min-width:0;color:var(--ink);text-align:left;border-radius:8px;padding:12px}.learning-path>button{cursor:pointer;font:inherit}.learning-path>button:not(:disabled):hover{border-color:color-mix(in srgb, var(--brand-b) 42%, var(--line));background-color:var(--button-hover);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-b) 13%, transparent);background-image:none;transform:none}.learning-path>button:disabled{cursor:not-allowed;opacity:.5}.learning-path span,.learning-path small{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:900;display:block}.learning-path strong{color:var(--ink);text-overflow:ellipsis;margin-top:6px;font-size:14px;line-height:1.35;display:block;overflow:hidden}.learning-path button strong{white-space:nowrap}.learning-path div{background:color-mix(in srgb, var(--brand-b) 6%, var(--field))}.learning-path div strong{font-size:15px}.learning-path small{color:var(--teal);margin-top:8px}.explanation-block{border-left:4px solid var(--teal);padding:2px 0 2px 14px}.explanation-block p{color:var(--ink);font-size:16px;line-height:1.65}.production-block{border-left:4px solid var(--flame);padding:2px 0 2px 14px}.production-block p{color:var(--ink);font-size:15px;line-height:1.6}.walkthrough-block ol{color:var(--muted);gap:10px;margin:0;padding-left:22px;display:grid}.walkthrough-block li{padding-left:4px}.example-block pre{color:#ecf3ef;white-space:pre-wrap;background:#172020;border-radius:8px;margin:0;padding:16px;font:14px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:auto}.choices{gap:10px;display:grid}.choice{border:1px solid var(--line);background-color:var(--field);color:var(--ink);text-align:left;background-image:none;border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.choice:hover{border-color:color-mix(in srgb, var(--brand-b) 42%, var(--line));background-color:var(--button-hover);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-b) 13%, transparent);background-image:none;transform:none}.choice span{background:color-mix(in srgb, var(--brand-b) 7%, var(--surface-soft));border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.choice.selected{border-color:var(--brand-b);background:color-mix(in srgb, var(--brand-b) 8%, var(--field));box-shadow:inset 4px 0 0 var(--brand-b), 0 0 0 1px color-mix(in srgb, var(--brand-b) 20%, transparent);color:var(--ink)}.choice.selected span{background:var(--brand-b);color:#fff}.choice.correct{border-color:var(--mint);background:color-mix(in srgb, var(--mint) 10%, var(--field))}.choice.correct span{background:var(--mint);color:#fff}.choice.wrong{border-color:var(--flame);background:color-mix(in srgb, var(--flame) 7%, var(--field))}.choice.wrong span{background:var(--flame);color:#fff}.quiz-result{border-radius:8px;margin-top:12px;padding:12px;font-weight:700}.quiz-result.pass{color:#05714f;background:#effaf5}.quiz-result.fail{color:#b42338;background:#fff1f3}.coding-block{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:8px;gap:12px;padding:16px;display:grid}.coding-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.coding-heading h3{margin-bottom:2px}.coding-heading p{color:var(--muted);font-size:14px;font-weight:800}.run-button{border:1px solid var(--ink);background-color:var(--ink);color:#fff;min-height:40px;font:inherit;background-image:linear-gradient(135deg,#111827,#1f3542);border-radius:8px;align-items:center;gap:8px;padding:9px 13px;font-weight:900;display:inline-flex}.run-button:disabled{cursor:wait;opacity:.7}.coding-instructions,.test-preview{border:1px solid var(--line);background:var(--field);color:var(--muted);border-radius:8px;padding:12px}.coding-instructions strong,.test-preview strong{color:var(--ink);margin-bottom:8px;display:block}.coding-instructions ol,.test-preview ul{gap:8px;margin:0;padding-left:22px;display:grid}.test-preview ul{padding-left:0;list-style:none}.test-preview li{align-items:flex-start;gap:8px;display:flex}.test-preview svg{color:var(--teal);flex:none;margin-top:4px}.code-editor-shell{box-sizing:border-box;border:1px solid var(--ink);background:#111818;border-radius:8px;width:100%;min-height:360px;position:relative;overflow:hidden}.code-highlight,.code-editor{box-sizing:border-box;tab-size:2;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:14px;font:14px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.code-highlight{color:#edf7f1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.code-editor{resize:vertical;color:#0000;caret-color:#edf7f1;-webkit-text-fill-color:transparent;background:0 0;border:0;width:100%;min-height:360px;position:relative}.code-editor:focus{outline:2px solid color-mix(in srgb, var(--brand-b) 60%, transparent);outline-offset:-2px}.test-results{border-radius:8px;gap:10px;padding:12px;display:grid}.test-results.pass{color:#05714f;background:#effaf5}.test-results.fail{color:#9f1239;background:#fff1f3}.console-output{border-top:1px solid #17201f1f;gap:8px;padding-top:10px;display:grid}.console-output pre{color:#edf7f1;white-space:pre-wrap;background:#111818;border-radius:8px;margin:0;padding:10px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-x:auto}.test-results p{margin:0;font-weight:800}.test-results ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.test-results li{color:var(--ink);align-items:flex-start;gap:8px;display:flex}.test-results li.pass svg{color:var(--mint)}.test-results li.fail svg{color:var(--flame)}.test-results li span{gap:2px;display:grid}.test-results li small{color:#7a243a;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.review-card-grid{gap:10px;margin:0;display:grid}.review-card{border:1px solid var(--line);background:var(--field);border-radius:8px;overflow:hidden}.review-card summary{cursor:pointer;color:var(--ink);align-items:flex-start;gap:10px;padding:12px;font-weight:900;line-height:1.35;list-style:none;display:flex}.review-card summary::-webkit-details-marker{display:none}.review-card summary span{background:color-mix(in srgb, var(--brand-b) 12%, var(--field));width:26px;height:26px;color:var(--brand-b);border-radius:50%;flex:none;place-items:center;font-size:12px;display:grid}.review-card div{border-top:1px solid var(--line);color:var(--muted);gap:8px;padding:12px;display:grid}.review-card strong{color:var(--ink)}.review-card ul{gap:8px;margin:0;padding-left:20px;display:grid}.solution-check-block{gap:14px;display:grid}.solution-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.solution-heading h3{margin-bottom:4px}.solution-heading p{color:#5f6d69;margin:0;font-size:14px;font-weight:700}.solution-heading strong{border-radius:999px;flex:none;padding:7px 10px;font-size:13px}.solution-heading strong.pass{color:#05714f;background:#effaf5}.solution-heading strong.fail{color:#b42338;background:#fff1f3}.criterion-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.unlock-note{border:1px dashed color-mix(in srgb, var(--brand-b) 32%, var(--line));background:color-mix(in srgb, var(--brand-b) 6%, var(--field));color:var(--muted);border-radius:8px;margin:2px 0 0;padding:10px 12px;font-size:13px;font-weight:900}.criterion-card{border:1px solid var(--line);background:var(--field);border-radius:8px;gap:10px;padding:14px;display:grid}.criterion-card h4{color:var(--ink);margin:0;font-size:15px;line-height:1.35}.criterion-choices{gap:8px;display:grid}.criterion-choice{border:1px solid var(--line);background-color:var(--field);color:var(--ink);font:inherit;text-align:left;background-image:none;border-radius:8px;grid-template-columns:28px minmax(0,1fr);align-items:flex-start;gap:10px;padding:10px;display:grid}.criterion-choice:hover{border-color:color-mix(in srgb, var(--brand-b) 42%, var(--line));background-color:var(--button-hover);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-b) 13%, transparent);background-image:none;transform:none}.criterion-choice span{background:color-mix(in srgb, var(--brand-b) 7%, var(--surface-soft));border-radius:50%;place-items:center;width:26px;height:26px;font-size:13px;font-weight:900;display:grid}.criterion-choice.selected{border-color:var(--brand-b);background:color-mix(in srgb, var(--brand-b) 8%, var(--field));box-shadow:inset 4px 0 0 var(--brand-b), 0 0 0 1px color-mix(in srgb, var(--brand-b) 20%, transparent);color:var(--ink)}.criterion-choice.selected span{background:var(--brand-b);color:#fff}.criterion-choice.correct{border-color:var(--mint);background:color-mix(in srgb, var(--mint) 10%, var(--field))}.criterion-choice.correct span{background:var(--mint);color:#fff}.criterion-choice.wrong{border-color:var(--flame);background:color-mix(in srgb, var(--flame) 7%, var(--field))}.criterion-choice.wrong span{background:var(--flame);color:#fff}.criterion-feedback{border-radius:8px;margin:0;padding:10px;font-size:14px;font-weight:800;line-height:1.45}.criterion-feedback.pass{color:#05714f;background:#effaf5}.criterion-feedback.fail{color:#9f1239;background:#fff1f3}.notes-block{border:1px solid var(--line);background:var(--field);border-radius:8px}.notes-block summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;list-style:none;display:flex}.notes-block summary::-webkit-details-marker{display:none}.notes-block summary h3{margin:0}.notes-block summary span{color:var(--muted);font-size:13px;font-weight:800}.notes-block textarea{box-sizing:border-box;resize:vertical;border:0;border-top:1px solid var(--line);background:var(--field);width:100%;min-height:180px;color:var(--ink);border-radius:0 0 8px 8px;padding:14px;font:15px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.actions{flex-wrap:wrap;gap:10px;margin-top:22px}.check-button,.reset-button{border-radius:8px;align-items:center;gap:8px;padding:11px 14px;font-weight:800;display:inline-flex}.check-button{border:1px solid var(--ink);background-color:var(--ink);color:#fff;background-image:none}.check-button.done{border-color:var(--mint);background-color:var(--mint);background-image:none}.reset-button{border:1px solid var(--line);background-color:var(--field);color:var(--ink);background-image:none}.reset-button:hover{border-color:var(--flame);color:var(--flame-dark);background:#fff1f3;transform:none;box-shadow:inset 0 0 0 1px #ff5a5f24}button:focus-visible,textarea:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb, var(--brand-a) 32%, transparent);outline-offset:2px}.app-shell[data-theme=dark] .home-button,.app-shell[data-theme=dark] .theme-toggle,.app-shell[data-theme=dark] .progress-tools button,.app-shell[data-theme=dark] .search-box,.app-shell[data-theme=dark] .home-search-box,.app-shell[data-theme=dark] .home-result,.app-shell[data-theme=dark] .filter-row button,.app-shell[data-theme=dark] .subject-icon,.app-shell[data-theme=dark] .icon-button,.app-shell[data-theme=dark] .time-stats span,.app-shell[data-theme=dark] .mastery-panel,.app-shell[data-theme=dark] .mastery-steps span,.app-shell[data-theme=dark] .confidence-ladder span,.app-shell[data-theme=dark] .request-lifecycle-view,.app-shell[data-theme=dark] .dictionary-view,.app-shell[data-theme=dark] .dictionary-card,.app-shell[data-theme=dark] .lifecycle-hop,.app-shell[data-theme=dark] .projects-view,.app-shell[data-theme=dark] .project-card,.app-shell[data-theme=dark] .interactive-diagram,.app-shell[data-theme=dark] .diagram-panel,.app-shell[data-theme=dark] .visual-picture,.app-shell[data-theme=dark] .diagram-explainer,.app-shell[data-theme=dark] .lesson-grid section,.app-shell[data-theme=dark] .recall-card,.app-shell[data-theme=dark] .recall-card textarea,.app-shell[data-theme=dark] .interview-panel,.app-shell[data-theme=dark] .interview-answer-card,.app-shell[data-theme=dark] .interview-answer-grid section,.app-shell[data-theme=dark] .defend-action,.app-shell[data-theme=dark] .review-card,.app-shell[data-theme=dark] .choice,.app-shell[data-theme=dark] .criterion-choice,.app-shell[data-theme=dark] .notes-block,.app-shell[data-theme=dark] .notes-block textarea,.app-shell[data-theme=dark] .reset-button,.app-shell[data-theme=dark] .coding-instructions,.app-shell[data-theme=dark] .test-preview,.app-shell[data-theme=dark] .code-editor-shell{background:var(--field);color:var(--ink)}.app-shell[data-theme=dark] .confidence-ladder span.future{background:var(--field);color:var(--muted);opacity:.5}.app-shell[data-theme=dark] .confidence-ladder span.past{border-color:color-mix(in srgb, var(--mint) 22%, var(--line));background:color-mix(in srgb, var(--mint) 5%, var(--field));color:var(--muted)}.app-shell[data-theme=dark] .confidence-ladder span.current{border-color:var(--brand-b);background:color-mix(in srgb, var(--brand-b) 10%, var(--field));color:color-mix(in srgb, var(--brand-b) 86%, #fff);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-b) 20%, transparent)}.app-shell[data-theme=dark] .check-button,.app-shell[data-theme=dark] .continue-button,.app-shell[data-theme=dark] .run-button{border-color:color-mix(in srgb, var(--brand-b) 28%, var(--line));color:#fff;background:#172225}.app-shell[data-theme=dark] .check-button.done{border-color:var(--mint);background:var(--mint);color:#fff}.app-shell[data-theme=dark] .topbar{background:#121818e6}.app-shell[data-theme=dark] .home-hero h2,.app-shell[data-theme=dark] .home-stats span,.app-shell[data-theme=dark] .subject-card-copy strong,.app-shell[data-theme=dark] .problem-panel h2{color:var(--ink)}.app-shell[data-theme=dark] .home-hero p:last-child,.app-shell[data-theme=dark] .home-stats strong,.app-shell[data-theme=dark] .subject-card-copy small,.app-shell[data-theme=dark] .subject-card-meta,.app-shell[data-theme=dark] .subject-card-footer,.app-shell[data-theme=dark] .mastery-copy p,.app-shell[data-theme=dark] .mastery-steps small,.app-shell[data-theme=dark] .home-result-main small,.app-shell[data-theme=dark] .home-result-meta,.app-shell[data-theme=dark] .home-empty-search,.app-shell[data-theme=dark] .home-section-heading p,.app-shell[data-theme=dark] .lifecycle-hop p,.app-shell[data-theme=dark] .lifecycle-hop small,.app-shell[data-theme=dark] .dictionary-card p,.app-shell[data-theme=dark] .dictionary-card small,.app-shell[data-theme=dark] .project-card p,.app-shell[data-theme=dark] .project-steps li,.app-shell[data-theme=dark] .project-stretch ul,.app-shell[data-theme=dark] .subject-subtitle,.app-shell[data-theme=dark] .learn-first-heading p,.app-shell[data-theme=dark] .visual-lesson p,.app-shell[data-theme=dark] .diagram-panel p,.app-shell[data-theme=dark] .diagram-explainer p,.app-shell[data-theme=dark] .guided-tutorial-heading p,.app-shell[data-theme=dark] .recall-card p,.app-shell[data-theme=dark] .quick-write-answer,.app-shell[data-theme=dark] .interview-answer-grid p,.app-shell[data-theme=dark] .defend-action p,.app-shell[data-theme=dark] .lesson-grid ul,.app-shell[data-theme=dark] .lesson-grid ol,.app-shell[data-theme=dark] .prompt-block p,.app-shell[data-theme=dark] .explanation-block p,.app-shell[data-theme=dark] .production-block p,.app-shell[data-theme=dark] .walkthrough-block ol,.app-shell[data-theme=dark] .review-card div,.app-shell[data-theme=dark] .coding-heading p,.app-shell[data-theme=dark] .solution-heading p,.app-shell[data-theme=dark] .topbar-title,.app-shell[data-theme=dark] .subject-button small{color:var(--muted)}.app-shell[data-theme=dark] .glossary-term{border-bottom-color:color-mix(in srgb, var(--brand-b) 78%, #edf7f1);color:color-mix(in srgb, var(--brand-b) 82%, #edf7f1)}.app-shell[data-theme=dark] .glossary-term:after,.app-shell[data-theme=dark] .glossary-term:before{background:#0b1010}.app-shell[data-theme=dark] .progress-track,.app-shell[data-theme=dark] .subject-progress,.app-shell[data-theme=dark] .subject-card-progress,.app-shell[data-theme=dark] .mastery-meter{background:#273331}.app-shell[data-theme=dark] .home-button.active,.app-shell[data-theme=dark] .home-button:hover,.app-shell[data-theme=dark] .theme-toggle:hover,.app-shell[data-theme=dark] .filter-row button.active,.app-shell[data-theme=dark] .filter-row button:hover{background-color:var(--brand-a);background-image:var(--brand-gradient);border-color:var(--brand-a);color:#fff;background-position:100%;background-size:220% 220%}.app-shell[data-theme=dark] .learning-path>button,.app-shell[data-theme=dark] .learning-path>div,.app-shell[data-theme=dark] .coding-block,.app-shell[data-theme=dark] .criterion-card,.app-shell[data-theme=dark] .subject-card-icon,.app-shell[data-theme=dark] .problem-type,.app-shell[data-theme=dark] .choice span,.app-shell[data-theme=dark] .criterion-choice span{background:var(--surface-soft)}.app-shell[data-theme=dark] .problem-meta span{background:var(--surface-soft);color:var(--muted)}.app-shell[data-theme=dark] .choice.selected,.app-shell[data-theme=dark] .criterion-choice.selected{background:color-mix(in srgb, var(--brand-b) 18%, var(--field));color:var(--ink)}.app-shell[data-theme=dark] .mastery-steps span.done{background:color-mix(in srgb, var(--mint) 16%, var(--surface-soft))}.app-shell[data-theme=dark] .reset-button:hover{color:#ffb5bd;background:#33171c}.app-shell button:hover,.app-shell .subject-card:hover,.app-shell .lifecycle-hop:hover,.app-shell .project-card:hover,.app-shell .recall-card:hover,.app-shell .interview-answer-card:hover,.app-shell .choice:hover,.app-shell .criterion-choice:hover{transform:none}.app-shell button:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 14%, transparent)}.app-shell .subject-card:hover,.app-shell .lifecycle-hop:hover,.app-shell .project-card:hover,.app-shell .recall-card:hover,.app-shell .interview-answer-card:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-b) 14%, transparent), 0 10px 28px color-mix(in srgb, var(--brand-b) 8%, transparent)}.app-shell .nav-collapse-tab,.app-shell .nav-collapse-tab:hover,.app-shell .nav-collapse-tab:focus-visible{transform:translateY(-50%)}.app-shell .continue-button:hover,.app-shell .run-button:hover,.app-shell .check-button:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-b) 16%, transparent), 0 10px 24px color-mix(in srgb, var(--brand-b) 12%, transparent);transform:none}@media (width<=920px){.app-shell{grid-template-columns:1fr}.nav-collapse-tab{top:96px;left:0}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;position:static}.workspace{padding:16px}.problem-panel{padding:22px}.home-hero,.home-stats,.project-grid,.subject-grid,.home-result{grid-template-columns:1fr}.home-result-meta{justify-content:flex-start}.learn-first-heading{flex-direction:column}.lesson-grid,.lesson-detail-row{grid-template-columns:1fr}.mastery-steps,.confidence-ladder{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero{align-items:stretch;padding:22px}.problem-panel h2,.home-hero h2{font-size:31px}.problem-heading{flex-direction:column;align-items:flex-start}.coding-heading{flex-direction:column;align-items:stretch}.solution-heading{flex-direction:column}.learning-path{grid-template-columns:1fr}.learning-path button strong{white-space:normal}}@media (width<=560px){.sidebar{padding:16px}.problem-list{margin-left:0}.topbar{grid-template-columns:40px 1fr 40px}.mastery-steps{grid-template-columns:1fr}.prompt-block p{font-size:17px}}.interactive-lesson{gap:14px;margin:4px 0 18px;display:grid}.interactive-intro{color:var(--muted);margin:0;font-size:15px}.interactive-step{border:1px solid var(--line);background:var(--field);border-radius:10px;gap:10px;padding:14px 16px;display:grid}.interactive-badge{font-family:var(--font-mono);letter-spacing:.04em;text-transform:lowercase;color:var(--brand-b);background:color-mix(in srgb, var(--brand-b) 10%, transparent);border:1px solid color-mix(in srgb, var(--brand-b) 28%, transparent);border-radius:4px;justify-self:start;align-items:center;gap:.4em;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.interactive-badge:before{content:"//";opacity:.55;font-weight:700}.interactive-code,.interactive-output{white-space:pre;border-radius:8px;margin:0;padding:12px 14px;font-size:14px;line-height:1.55;overflow-x:auto}.interactive-code{background:var(--brand-a);color:#e6f0ff}.interactive-output{border:1px dashed var(--line);color:var(--ink);background:#19c6ff14}.interactive-run>summary{cursor:pointer;color:var(--brand-b);width:fit-content;font-size:13px;font-weight:600;list-style:none}.interactive-run>summary::-webkit-details-marker{display:none}.interactive-run[open]>summary{margin-bottom:8px}.interactive-run p{color:var(--muted);margin:8px 0 0;font-size:14px}.interactive-write-link{border:1px solid var(--brand-b);color:var(--brand-b);cursor:pointer;transition:background .16s var(--ease-out), color .16s var(--ease-out);background:0 0;border-radius:8px;justify-self:start;padding:9px 16px;font-size:14px;font-weight:600}.interactive-write-link:hover{background:var(--brand-b);color:#fff}.interactive-write{gap:14px}.interactive-write-lead{color:var(--muted);margin:0;font-size:14px}.inline-drill{border:1px solid var(--line);background:var(--bg,var(--field));border-radius:10px;gap:12px;padding:14px;display:grid}.inline-drill-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.inline-drill .test-preview li.pass{color:var(--ok,#1f9d57)}.inline-drill .test-preview li.fail{color:var(--muted)}.inline-drill-reveal>summary{cursor:pointer;color:var(--muted);width:fit-content;font-size:13px;font-weight:600}.inline-drill-reveal pre{background:var(--brand-a);color:#e6f0ff;border-radius:8px;margin:10px 0 0;padding:12px 14px;font-size:13px;line-height:1.55;overflow-x:auto}.inline-drill-reveal p{color:var(--muted);margin:8px 0 0;font-size:14px}.lesson-prose{gap:12px;max-width:78ch;display:grid}.lesson-prose p{margin:0}.lesson-prose ul{color:var(--ink);gap:6px;margin:0;padding-left:20px;font-size:15px;line-height:1.6;display:grid}.prose-code{background:var(--brand-a);color:#e6f0ff;border-radius:8px;margin:0;padding:12px 14px;font-size:13.5px;line-height:1.55;overflow-x:auto}.concept-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.concept-card{border:1px solid var(--line);background:var(--field);border-radius:10px;align-content:start;gap:6px;padding:12px 14px;display:grid}.concept-card h5{letter-spacing:.04em;text-transform:uppercase;color:var(--brand-b);margin:0;font-size:13px;font-weight:700}.concept-card p{color:var(--ink);margin:0;font-size:14px;line-height:1.55}.flow-chain{counter-reset:flow;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.flow-chain li{counter-increment:flow;border:1px solid var(--line);color:var(--ink);background:var(--field);border-radius:999px;align-items:center;gap:7px;padding:6px 12px 6px 7px;font-size:13.5px;font-weight:600;display:inline-flex}.flow-chain li:before{content:counter(flow);background:color-mix(in srgb, var(--brand-b) 14%, transparent);width:20px;height:20px;color:var(--brand-b);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.flow-chain li:not(:last-child):after{content:"→";color:var(--muted);margin-left:2px;font-weight:400}.production-callout{border:1px solid color-mix(in srgb, var(--flame) 30%, transparent);border-left:4px solid var(--flame);background:color-mix(in srgb, var(--flame) 6%, var(--field));border-radius:10px;padding:14px 16px}.task-block{border:1px solid color-mix(in srgb, var(--brand-b) 30%, var(--line));border-left:3px solid var(--brand-b);background:color-mix(in srgb, var(--brand-b) 5%, var(--field));border-radius:4px;margin-top:18px;padding:14px 16px}.task-block h3{font-family:var(--font-mono);letter-spacing:.02em}.task-block h3:before{content:"❯ ";color:var(--brand-b);font-weight:700}.task-block .lesson-prose p{color:var(--ink);font-size:16.5px;font-weight:500}.learn-body{padding:12px 4px 4px}.learn-body .lesson-prose p{color:var(--ink);font-size:15px;line-height:1.6}.diagram-panel .lesson-prose p{font-size:14.5px;line-height:1.6}.self-check-list{gap:8px;display:grid}.self-check-item{text-align:left;border:1px solid var(--line);background:var(--field);width:100%;color:var(--ink);cursor:pointer;transition:border-color .14s var(--ease-out), background .14s var(--ease-out), transform .14s var(--ease-out);border-radius:10px;align-items:center;gap:10px;padding:12px 14px;font-size:14.5px;line-height:1.5;display:flex}.self-check-item:hover{border-color:var(--brand-b);transform:translateY(-1px)}.self-check-item.checked{border-color:color-mix(in srgb, var(--mint,#00a878) 60%, transparent);background:color-mix(in srgb, var(--mint,#00a878) 8%, var(--field))}.self-check-item.checked svg{color:var(--mint,#00a878)}.self-check-item span{flex:1}.optional-section{border:1px dashed var(--line);border-radius:10px;margin-top:20px;padding:0}.optional-section>summary{cursor:pointer;gap:2px;padding:14px 16px;list-style:none;display:grid}.optional-section>summary::-webkit-details-marker{display:none}.optional-section>summary:before{content:"▸ ";float:left;color:var(--muted);margin-right:8px}.optional-section[open]>summary:before{content:"▾ "}.optional-section>summary h3,.optional-section>summary h4{text-transform:uppercase;color:var(--ink);margin:0;font-size:14px;display:inline}.optional-section>summary p{color:var(--muted);margin:0;font-size:13px}.optional-section[open]{border-style:solid;padding-bottom:14px}.optional-section[open]>:not(summary){margin:0 16px}.celebrate-pop{z-index:60;background:var(--field);border:1px solid color-mix(in srgb, var(--mint,#00a878) 50%, transparent);animation:celebrate-in 2.2s var(--ease-out) both;border-radius:999px;align-items:center;gap:10px;padding:12px 22px;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #0f172a2e}.celebrate-pop strong{color:var(--ink);font-size:15px}.celebrate-pop em{color:var(--mint,#00a878);font-size:13px;font-style:normal;font-weight:800}.celebrate-emoji{animation:celebrate-bounce .6s var(--ease-out) 2;font-size:22px}@keyframes celebrate-in{0%{opacity:0;transform:translate(-50%)translateY(-16px)scale(.9)}10%{opacity:1;transform:translate(-50%)translateY(0)scale(1.04)}14%{transform:translate(-50%)translateY(0)scale(1)}85%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-10px)}}@keyframes celebrate-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)rotate(8deg)}}.interactive-recap{border-color:color-mix(in srgb, var(--mint) 40%, transparent);background:color-mix(in srgb, var(--mint) 6%, var(--field))}.interactive-recap .interactive-badge{color:var(--mint);background:color-mix(in srgb, var(--mint) 12%, transparent)}.interactive-recap ul{color:var(--ink);gap:8px;margin:0;padding-left:20px;font-size:14.5px;font-weight:500;line-height:1.55;display:grid}.lesson-pager{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.lesson-pager-step{border:1px solid var(--line);background:var(--field);cursor:pointer;text-align:left;min-width:150px;transition:border-color .14s var(--ease-out), background .14s var(--ease-out);border-radius:4px;flex:1;align-items:center;gap:10px;padding:10px 14px;display:flex}.lesson-pager-step:hover{border-color:var(--brand-b)}.lesson-pager-step.current{border-color:var(--brand-b);background:color-mix(in srgb, var(--brand-b) 6%, var(--field));box-shadow:inset 0 0 0 1px var(--brand-b)}.lesson-pager-step.done .lesson-pager-dot{background:var(--mint);color:#fff}.lesson-pager-dot{background:color-mix(in srgb, var(--brand-b) 12%, transparent);width:24px;height:24px;color:var(--brand-b);font-family:var(--font-mono);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.lesson-pager-label strong{font-family:var(--font-mono)}.lesson-pager-label{line-height:1.25;display:grid}.lesson-pager-label strong{color:var(--ink);font-size:14px}.lesson-pager-label small{color:var(--muted);font-size:11.5px}.lesson-pager-nav{border:1px solid var(--line);background:var(--field);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;padding:12px 14px;display:flex}.lesson-pager-nav span{color:var(--muted);font-size:13px;font-weight:600}.lesson-pager-nav button{border:1px solid var(--line);background:var(--field);color:var(--ink);cursor:pointer;transition:background .14s var(--ease-out), color .14s var(--ease-out);border-radius:8px;padding:9px 18px;font-size:14px;font-weight:600}.lesson-pager-nav button:disabled{opacity:.4;cursor:default}.lesson-pager-nav .pager-continue:not(:disabled){background:var(--brand-b);border-color:var(--brand-b);color:#fff}.mental-model-block{gap:14px;margin-top:20px;display:grid}.mental-model-card{border:1px solid color-mix(in srgb, var(--brand-b) 32%, var(--line));border-left:3px solid var(--brand-b);background:color-mix(in srgb, var(--brand-b) 6%, var(--field));border-radius:4px;gap:8px;padding:14px 16px;display:grid}.mental-model-card .interactive-badge{color:var(--brand-b);background:color-mix(in srgb, var(--brand-b) 10%, transparent);border-color:color-mix(in srgb, var(--brand-b) 28%, transparent)}.mental-model-card p{color:var(--ink);margin:0;font-size:16px;font-weight:500;line-height:1.55}.predict-snippet{margin-bottom:14px}.predict-snippet>summary{cursor:pointer;color:var(--brand-b);width:fit-content;font-size:13px;font-weight:600}.predict-snippet[open]>summary{margin-bottom:8px}.practice-drills{gap:14px;margin-top:22px;display:grid}.recap-block{margin-top:22px}.track-divider{align-items:center;gap:10px;margin:18px 4px 10px;display:flex}.subject-group:first-child .track-divider{margin-top:4px}.track-divider span{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:10.5px;font-weight:700}.track-divider:after{content:"";background:var(--line);flex:1;height:1px}.mastery-panel{padding:12px 16px}.mastery-steps span em{display:none}.mastery-steps{gap:8px}.task-block{margin-top:14px;padding:12px 16px}.lesson-pager{margin-top:14px}.mental-model-block{margin-top:16px}.interactive-lesson{gap:12px;margin-top:16px;display:grid}.explanation-block,.production-block,.walkthrough-block,.example-block,.quiz-block,.coding-block,.review-block,.solution-check-block,.notes-block{margin-top:16px}.deep-notes[open]>:not(summary){margin-top:14px}.lesson-pager-nav{margin-top:18px}.reference-view .eyebrow{margin-top:8px}.reference-view h2{margin-bottom:18px}.reference-view .lesson-prose{max-width:none}.reference-view .concept-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.reference-facts{border:1px solid color-mix(in srgb, var(--gold,#c9a961) 35%, var(--line));border-left:4px solid var(--gold,#c9a961);background:color-mix(in srgb, var(--gold,#c9a961) 5%, var(--field));border-radius:10px;margin-top:26px;padding:16px 18px}.reference-facts h3{text-transform:uppercase;letter-spacing:.08em;color:var(--ink);margin:0 0 10px;font-size:13px}.reference-facts ul{color:var(--ink);gap:8px;margin:0;padding-left:20px;font-size:14.5px;line-height:1.55;display:grid}.home-track{margin-top:22px}.home-track:first-child{margin-top:0}.home-track-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;padding-bottom:8px;display:flex}.home-track-heading h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:22px;font-weight:600}.home-track-heading span{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:11px}.concept-card.dictionary-card-focus{border-color:var(--brand-b);box-shadow:0 0 0 2px color-mix(in srgb, var(--brand-b) 35%, transparent)}.encyclopedia-index .enc-lede{color:var(--muted);margin:6px 0 18px;font-size:15px}.enc-search{border:1px solid var(--line);background:var(--field);border-radius:10px;align-items:center;gap:10px;margin-bottom:14px;padding:11px 14px;display:flex}.enc-search input{color:var(--ink);background:0 0;border:none;outline:none;width:100%;font-size:15px}.enc-alphabet{flex-wrap:wrap;gap:4px;margin-bottom:18px;display:flex}.enc-alphabet button{border:1px solid var(--line);background:var(--field);min-width:30px;height:30px;color:var(--ink);cursor:pointer;border-radius:7px;font-size:13px;font-weight:600;transition:border-color .14s,background .14s,color .14s}.enc-alphabet button:hover:not(:disabled){border-color:var(--brand-b)}.enc-alphabet button.active{background:var(--brand-b);border-color:var(--brand-b);color:#fff}.enc-alphabet button:disabled{opacity:.3;cursor:default}.enc-list{gap:6px;display:grid}.enc-list-item{text-align:left;border:1px solid var(--line);background:var(--field);cursor:pointer;border-radius:10px;grid-template-columns:minmax(120px,200px) auto 1fr;align-items:baseline;gap:14px;padding:12px 16px;transition:border-color .14s,transform .14s;display:grid}.enc-list-item:hover{border-color:var(--brand-b);transform:translate(2px)}.enc-list-term{color:var(--ink);font-size:15.5px;font-weight:700}.enc-list-cat{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-b);white-space:nowrap;font-size:10px}.enc-list-short{color:var(--muted);font-size:13.5px;line-height:1.45}.enc-empty{color:var(--muted);padding:18px}.enc-back,.enc-index-link{cursor:pointer;background:0 0;border:none}.enc-back{color:var(--brand-b);margin-bottom:10px;padding:4px 0;font-size:13px;font-weight:600}.enc-back-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.enc-back-lesson{border:1px solid var(--brand-b);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:100%;margin-bottom:10px;padding:5px 12px;overflow:hidden}.enc-back-lesson:hover{background:color-mix(in srgb, var(--brand-b) 14%, transparent)}.enc-category{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-b);background:color-mix(in srgb, var(--brand-b) 10%, transparent);border-radius:999px;margin-bottom:10px;padding:4px 12px;font-size:11px;display:inline-block}.encyclopedia-entry h2{margin:0 0 6px}.enc-aka{color:var(--muted);margin:0 0 12px;font-size:13px}.enc-short{color:var(--ink);margin:0 0 18px;font-size:18px;font-weight:500;line-height:1.55}.enc-body .lesson-prose{max-width:none}.enc-diagrams{gap:18px;margin:22px 0;display:grid}.enc-examples,.enc-related{margin-top:22px}.enc-examples h3,.enc-related h3{text-transform:uppercase;letter-spacing:.08em;color:var(--ink);margin:0 0 10px;font-size:13px}.enc-examples ul{color:var(--ink);gap:8px;margin:0;padding-left:20px;font-size:14.5px;line-height:1.55;display:grid}.enc-related-tags{flex-wrap:wrap;gap:8px;display:flex}.enc-related-tags button{border:1px solid var(--line);background:var(--field);color:var(--ink);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500;transition:border-color .14s,color .14s}.enc-related-tags button:hover{border-color:var(--brand-b);color:var(--brand-b)}.enc-stub{color:var(--muted);margin-top:16px;font-size:14px;font-style:italic}.diagram{border:1px solid var(--line);background:var(--field);border-radius:12px;margin:0;padding:18px 16px 12px}.diagram svg{width:100%;height:auto;max-height:320px;display:block}.diagram-node-label{font-family:var(--font-sans,system-ui, sans-serif);font-size:13px;font-weight:600}.diagram-node-sub{font-family:var(--font-mono,ui-monospace, monospace);fill:var(--muted);font-size:10px}.diagram-edge-label{font-family:var(--font-mono,ui-monospace, monospace);fill:var(--muted);font-size:10.5px}.diagram figcaption{color:var(--muted);text-align:center;margin-top:10px;font-size:12.5px;line-height:1.5}.aws-flashcard .aws-card-cat{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.1em;text-transform:uppercase;color:#f90;background:#ff99001f;border-radius:999px;margin-bottom:14px;padding:4px 12px;font-size:11px;display:inline-block}.aws-card-front{border:1px solid var(--line);background:linear-gradient(160deg, color-mix(in srgb, #f90 6%, var(--field)), var(--field));text-align:center;border-radius:14px;margin-bottom:14px;padding:30px 26px}.aws-card-front h2{margin:0;font-size:34px}.aws-card-full{color:var(--muted);margin:6px 0 0;font-size:14px}.aws-card-flip>summary{cursor:pointer;text-align:center;color:#fff;background:#f90;border-radius:10px;padding:11px;font-size:14px;font-weight:700;list-style:none;transition:background .14s}.aws-card-flip>summary::-webkit-details-marker{display:none}.aws-card-flip[open]>summary{background:var(--silver-deep,#888892)}.aws-card-back{border:1px solid var(--line);border-radius:12px;gap:14px;margin-top:12px;padding:18px 20px;display:grid}.aws-card-what{color:var(--ink);margin:0;font-size:16px;font-weight:500;line-height:1.55}.aws-card-section h4{text-transform:uppercase;letter-spacing:.07em;color:var(--brand-b);margin:0 0 6px;font-size:12px}.aws-card-section ul{color:var(--ink);gap:5px;margin:0;padding-left:20px;font-size:14px;line-height:1.5;display:grid}.deep-open{text-align:left;border:1px dashed var(--line);background:var(--field);width:100%;color:var(--ink);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding:13px 16px;transition:border-color .14s,background .14s;display:flex}.deep-open:hover{border-color:var(--brand-b);background:color-mix(in srgb, var(--brand-b) 4%, var(--field))}.deep-open span{font-size:14.5px;font-weight:700}.deep-open small{color:var(--muted);white-space:nowrap;font-size:12.5px}.tutorial-links{gap:6px;display:grid}.tutorial-link{text-align:left;border:1px solid var(--line);background:var(--field);color:var(--ink);cursor:pointer;border-radius:9px;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 15px;transition:border-color .14s,transform .14s;display:flex}.tutorial-link:hover{border-color:var(--brand-b);transform:translate(2px)}.tutorial-link span{font-size:14.5px;font-weight:600}.tutorial-link small{color:var(--muted);white-space:nowrap;font-size:12px}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:modal-fade .16s var(--ease-out,ease) both;background:#080c168c;justify-content:center;align-items:flex-start;padding:5vh 16px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--paper,var(--field));border:1px solid var(--line);width:100%;max-width:820px;max-height:90vh;animation:modal-rise .2s var(--ease-out,ease) both;border-radius:14px;flex-direction:column;display:flex;box-shadow:0 24px 60px #080c164d}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.modal-head h3{margin:0;font-size:17px}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;display:inline-flex}.modal-close:hover{color:var(--ink);background:var(--rule-soft,var(--line))}.modal-body{padding:20px;overflow-y:auto}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.enc-search-clear{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:inline-flex}.enc-search-clear:hover{color:var(--ink);background:var(--rule-soft,var(--line))}.search-box,.home-search-box,.enc-search{position:relative}.sql-drill .coding-instructions p{margin:.35rem 0 0}.sql-schema{margin:.75rem 0}.sql-schema>summary{cursor:pointer;opacity:.8;align-items:center;gap:.4rem;font-size:.82rem;display:inline-flex}.sql-schema pre{margin-top:.5rem;font-size:.8rem;overflow-x:auto}.sql-editor-shell{min-height:7.5rem}.sql-checks{margin-top:.75rem}.sql-error{white-space:pre-wrap;font-family:var(--mono,monospace);color:#ff6b6b;margin:.4rem 0;font-size:.8rem}.sql-result-tables{flex-wrap:wrap;gap:1rem;margin-top:.6rem;display:flex}.sql-result{flex:16rem;min-width:12rem}.sql-result-title{text-transform:uppercase;letter-spacing:.05em;opacity:.7;margin-bottom:.3rem;font-size:.72rem;display:block}.sql-table-scroll{border:1px solid var(--border,#2a2f3a);border-radius:8px;overflow-x:auto}.sql-result table{border-collapse:collapse;width:100%;font-size:.82rem}.sql-result th,.sql-result td{text-align:left;border-bottom:1px solid var(--border,#2a2f3a);white-space:nowrap;padding:.3rem .6rem}.sql-result th{opacity:.85;background:#ffffff08;font-weight:600}.sql-result tr:last-child td{border-bottom:none}.sql-empty{opacity:.6;padding:.4rem .6rem;font-style:italic}.sql-example-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.sql-example .sql-schema{margin:.5rem 0}.sql-example-explain{opacity:.9;margin-top:.6rem}.cold-open{border:1px solid color-mix(in srgb, var(--brand-b) 38%, var(--line));background:linear-gradient(180deg, color-mix(in srgb, var(--brand-b) 7%, transparent), transparent 60%), var(--surface-soft);box-shadow:inset 3px 0 0 color-mix(in srgb, var(--brand-b) 70%, transparent);border-radius:12px;align-items:flex-start;gap:.7rem;margin:0 0 1.4rem;padding:1rem 1.1rem;display:flex}.cold-open .term-callout-prompt{font-family:var(--font-mono);color:var(--brand-b);font-weight:700;line-height:1.5}.cold-open p{color:var(--ink);margin:0;font-size:1.05rem;line-height:1.55}.term-callout{border:1px solid var(--line);background:var(--field);font-family:var(--font-mono);color:var(--ink);border-radius:8px;margin:.6rem 0;padding:.7rem .9rem .7rem 1.7rem;font-size:.86rem;position:relative;overflow-x:auto}.term-callout:before{content:"$";color:var(--brand-b);font-weight:700;position:absolute;left:.7rem}.term-callout code{background:0 0;padding:0}.build-break{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin:1.2rem 0;display:grid}.build-break-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;padding:.9rem 1rem}.build-break-card p{margin:.4rem 0 0;line-height:1.5}.build-break-simple{box-shadow:inset 3px 0 0 color-mix(in srgb, var(--muted) 60%, transparent)}.build-break-actually{box-shadow:inset 3px 0 0 color-mix(in srgb, var(--brand-b) 70%, transparent)}.build-break-breaks{box-shadow:inset 3px 0 0 color-mix(in srgb, var(--flame) 75%, transparent);background:color-mix(in srgb, var(--flame) 6%, var(--surface-soft))}.do-now-block{border:2px solid color-mix(in srgb, var(--brand-b) 46%, var(--line));background:linear-gradient(180deg, color-mix(in srgb, var(--brand-b) 8%, transparent), transparent 40%), var(--paper);border-radius:14px;margin:1.4rem 0;padding:1rem 1.1rem 1.1rem}.do-now-heading{justify-content:space-between;align-items:baseline;margin-bottom:.8rem;display:flex}.do-now-heading h4{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.15rem}.do-now-count{font-family:var(--font-mono);color:var(--brand-b);font-size:.85rem;font-weight:700}.do-now-card{border-top:1px solid var(--line);align-items:flex-start;gap:.7rem;padding:.8rem 0;display:flex}.do-now-card:first-of-type{border-top:none}.do-now-check{color:var(--muted);cursor:pointer;transition:color .15s var(--ease-out);background:0 0;border:none;flex:none;margin-top:.1rem;padding:0;display:inline-flex}.do-now-card.done .do-now-check{color:var(--brand-b)}.do-now-body{flex:1;min-width:0}.do-now-task{margin:0;font-weight:600;line-height:1.55}.do-now-card.done .do-now-task{color:var(--muted)}.war-story{border-left:3px solid var(--ember);background:var(--ember-soft);border-radius:0 10px 10px 0;margin:1.4rem 0 0;padding:.9rem 1.1rem}.war-story-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ember);margin-bottom:.3rem;font-size:.72rem;display:block}.war-story p{margin:0;font-style:italic;line-height:1.55}.lesson-receipt{border:1px solid color-mix(in srgb, var(--brand-b) 30%, var(--line));background:var(--surface-soft);border-radius:14px;margin:1.4rem 0;padding:1.1rem 1.2rem}.receipt-head{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-b);margin-bottom:.8rem;font-size:.75rem}.receipt-row{border-top:1px dashed var(--line);align-items:flex-start;gap:.7rem;padding:.6rem 0;display:flex}.receipt-row:first-of-type{border-top:none}.receipt-icon{flex:none;font-size:1.1rem;line-height:1.4}.receipt-row strong{margin-bottom:.25rem;display:block}.receipt-row ul{margin:0;padding-left:1.1rem}.receipt-row p{margin:0;line-height:1.5}.receipt-row .term-callout{margin:.3rem 0 0}.lesson-stations{z-index:20;border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.25rem;margin:0 0 1.2rem;padding:.6rem .8rem;display:flex;position:sticky;top:0}.lesson-station{font-family:var(--font-mono);color:var(--muted);cursor:pointer;white-space:nowrap;transition:all .15s var(--ease-out);background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.78rem;display:inline-flex}.lesson-station:hover{color:var(--ink)}.lesson-station.done{color:var(--brand-b)}.lesson-station.current{border-color:color-mix(in srgb, var(--brand-b) 46%, var(--line));background:color-mix(in srgb, var(--brand-b) 12%, transparent);color:var(--ink);font-weight:700}.lesson-station-dot{opacity:.65;background:currentColor;border-radius:50%;width:7px;height:7px}.lesson-station.current .lesson-station-dot{opacity:1}.lesson-station-arrow{color:var(--line);font-size:.7rem}.section-time{font-family:var(--font-mono);color:var(--muted);font-size:.72rem;font-weight:600}.lesson-pager-time{font-family:var(--font-mono);color:var(--muted);white-space:nowrap;margin-left:auto;font-size:11px}.lesson-pager-step.read .lesson-pager-dot{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--brand-b) 45%, transparent)}.shortcut-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.shortcut-list li{color:var(--ink);align-items:center;gap:12px;display:flex}.shortcut-list kbd{font-family:var(--font-mono);text-align:center;border:1px solid var(--line);background:var(--surface-soft);min-width:26px;color:var(--ink);border-bottom-width:2px;border-radius:6px;padding:3px 8px;font-size:12px}.shortcut-note{color:var(--muted);margin:14px 0 0;font-size:13px;line-height:1.5}.mobile-nav-toggle,.sidebar-backdrop{display:none}@media (width<=768px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{z-index:60;width:min(86vw,330px);height:100svh;transition:transform .24s var(--ease-out);position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 24px 60px #00000052}.app-shell.mobile-nav-open .sidebar{transform:translate(0)}.app-shell.sidebar-collapsed .sidebar{border-right:1px solid var(--line);padding:20px 14px;overflow-y:auto}.app-shell.sidebar-collapsed .sidebar>*{opacity:1;pointer-events:auto}.nav-collapse-tab{display:none}.mobile-nav-toggle{order:-2;display:inline-flex}.sidebar-backdrop{z-index:55;cursor:pointer;background:#00000073;border:0;margin:0;padding:0;position:fixed;inset:0}.app-shell.mobile-nav-open .sidebar-backdrop{display:block}.workspace{padding:12px}.topbar{flex-wrap:wrap;padding:8px 10px}}.tok-keyword{color:#b4309e;font-weight:600}.tok-string{color:#117a3d}.tok-number{color:#b4530a}.tok-comment{color:#7b8794;font-style:italic}.tok-function{color:#1d6fe0}.tok-literal{color:#b4530a}[data-theme=dark] .tok-keyword{color:#f0a6e6}[data-theme=dark] .tok-string{color:#6fd58f}[data-theme=dark] .tok-number{color:#ffb066}[data-theme=dark] .tok-comment{color:#8a94a3}[data-theme=dark] .tok-function{color:#79b8ff}[data-theme=dark] .tok-literal{color:#ffb066}
