@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07111f;--bg-soft:#0b1728;--text:#eef7ff;--muted:#a9bdd3;--card:#ffffff14;--line:#ffffff26;--accent:#38bdf8;--accent2:#a78bfa;--ok:#34d399;--danger:#f87171;--warning:#fbbf24;--shadow:0 18px 48px #0000003d;--nav-height:82px;--sidebar-width:280px;--page-padding:28px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef7ff;--bg-soft:#eaf3ff;--text:#102033;--muted:#52657a;--card:#ffffffb8;--line:#1428461f;--accent:#0284c7;--accent2:#7c3aed;--ok:#059669;--shadow:0 18px 48px #46648c38}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{background:radial-gradient(circle at top left, #38bdf83d, transparent 28rem), radial-gradient(circle at top right, #a78bfa33, transparent 30rem), var(--bg);color:var(--text);overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,select{cursor:pointer}.protect-content,.question-card,.problem-workspace,.workspace-block,.scenario-box,.question-prompt,.learning-panel,.search-panel,.topic-section,.page-title,.hero-card{-webkit-user-select:text;user-select:text}.app-shell{width:100%;height:100vh;overflow:hidden}.nav,.navbar{z-index:1000;height:var(--nav-height);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);background:#07111ff0;justify-content:space-between;align-items:center;padding:14px 24px;display:flex;position:fixed;top:0;bottom:auto;left:0;right:0}.brand{align-items:center;gap:12px;font-weight:950;display:flex}.logo{background:linear-gradient(135deg, var(--accent), var(--accent2));color:#fff;border-radius:14px;place-items:center;width:42px;height:42px;font-weight:950;display:grid}.nav nav{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.nav a{color:var(--text);font-weight:750}.nav a.active,.sidebar a.active{color:var(--accent);font-weight:900}.icon-btn{background:linear-gradient(135deg, var(--accent), var(--accent2));color:#fff;border:0;border-radius:999px;place-items:center;width:46px;height:46px;display:grid}.layout{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);width:100%;height:100vh;padding-top:var(--nav-height);display:grid;overflow:hidden}.sidebar{top:calc(var(--nav-height) + 24px);width:calc(var(--sidebar-width) - 48px);height:calc(100vh - var(--nav-height) - 48px);border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(#ffffff13,#ffffff09);border-radius:28px;flex-direction:column;gap:12px;padding:18px;display:flex;position:fixed;left:24px;overflow-y:auto}.sidebar a{color:var(--text);border-radius:16px;padding:13px 14px}.sidebar a:hover{background:#ffffff14}.sidebar a.active{background:#38bdf814;border:1px solid #38bdf89e}.coffee{background:#38bdf81f;margin-top:12px}.page-wrap,.main-content{width:100%;height:calc(100vh - var(--nav-height));padding:var(--page-padding);scrollbar-width:thin;grid-column:2;overflow:hidden auto}.glass,.glass-lite,.hero-card,.page-title,.topic-section,.learning-map,.search-panel,.topic-library,.category-library,.progress-card,.question-card,.workspace-block,.scenario-box,.question-prompt,.learning-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(135deg,#ffffff13,#ffffff09)}.question-card,.workspace-block,.scenario-box,.question-prompt,.learning-panel{border-radius:22px;padding:18px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;margin:0 0 10px;font-size:.76rem;font-weight:950;color:var(--accent)!important}.hero-card h1,.page-title h1{margin:0 0 14px;font-size:clamp(2.4rem,5.8vw,5rem);line-height:1}.hero-card p,.page-title p,.section-head p{color:var(--muted);font-size:1.04rem;line-height:1.65}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.section-head,.library-head,.search-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.section-head h2,.library-head h2,.search-header h2{margin:4px 0 8px}.btn,.mark,.page-btn,.clear-search{background:linear-gradient(135deg, var(--accent), var(--accent2));color:#fff;border:0;border-radius:999px;padding:10px 16px;font-weight:900}.btn.ghost{border:1px solid var(--line);color:var(--text);background:0 0}.btn.ghost:hover,.page-btn:hover:not(.active){border-color:var(--accent);color:var(--accent)}.btn:disabled,.page-btn:disabled{opacity:.45;cursor:not-allowed}.mark{border:1px solid var(--line);color:var(--text);background:#ffffff1a}.dashboard-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;display:grid}.stat{border-radius:28px;padding:24px}.stat h2{color:var(--accent);margin:0;font-size:3rem}.topic-picker,.card-grid,.category-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px;display:grid}.topic-tab,.category-card{border:1px solid var(--line);min-height:156px;color:var(--text);text-align:left;background:#ffffff0b;border-radius:24px;gap:8px;padding:20px;transition:transform .18s,border-color .18s,background .18s;display:grid}.topic-tab:hover,.category-card:hover{background:#38bdf812;border-color:#38bdf899;transform:translateY(-2px)}.topic-tab strong,.category-card strong{margin:6px 0;font-size:1.05rem;display:block}.topic-tab small,.category-card p,.category-card span,.category-card em{color:var(--muted);line-height:1.5}.topic-tab em{color:var(--muted);margin-top:8px;font-style:normal;display:block}.library-count-pill,.featured-badge{width:-moz-fit-content;width:fit-content;color:var(--accent);background:#38bdf81a;border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:900}.topic-library-controls,.category-library-controls{grid-template-columns:minmax(240px,1.4fr) minmax(180px,.7fr) minmax(180px,.7fr);gap:14px;margin-bottom:18px;display:grid}.topic-library-controls label,.category-library-controls label,.search-field{gap:8px;display:grid}.topic-library-controls label,.category-library-controls label span,.search-field span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;font-weight:900}input,select{border:1px solid var(--line);width:100%;min-height:46px;color:var(--text);background:#00000024;border-radius:16px;outline:none;padding:0 14px}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px #38bdf81f}.advanced-search-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffff09;border-radius:28px;overflow:hidden}.advanced-search-panel>summary{cursor:pointer;gap:4px;padding:20px 22px;list-style:none;display:grid}.advanced-search-panel>summary::-webkit-details-marker{display:none}.advanced-search-panel>summary small{color:var(--muted);line-height:1.45}.advanced-search-panel>summary:after{content:"Open search";border:1px solid var(--line);color:var(--accent);border-radius:999px;justify-self:start;margin-top:8px;padding:7px 11px;font-size:.78rem;font-weight:900}.advanced-search-panel[open]>summary:after{content:"Hide search"}.advanced-search-panel .search-panel{border:0;border-top:1px solid var(--line);box-shadow:none;background:#00000014;border-radius:0;margin:0}.search-grid{grid-template-columns:minmax(260px,2fr) repeat(3,minmax(150px,1fr));gap:14px;display:grid}.search-header p{color:var(--muted);max-width:820px;line-height:1.6}.search-status{color:var(--muted);margin-top:14px;font-size:.94rem}.clear-search{border:1px solid var(--line);color:var(--text);background:#ffffff0f}.advanced-search-panel .search-results-section,.advanced-search-panel .empty-state,.advanced-search-panel .loading-card{margin:18px 22px 22px}.question-card{gap:16px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.clickable-problem-card{cursor:pointer}.clickable-problem-card:hover,.question-card:hover{border-color:#38bdf89e;transform:translateY(-2px);box-shadow:0 18px 50px #38bdf81f}.clickable-problem-card:focus-visible{outline-offset:4px;outline:3px solid #38bdf8cc}.clickable-problem-card button,.clickable-problem-card a,.clickable-problem-card summary,.clickable-problem-card input,.clickable-problem-card select,.clickable-problem-card textarea{cursor:auto}.clickable-problem-card button,.clickable-problem-card a,.clickable-problem-card summary{cursor:pointer}.question-card.done{outline:2px solid var(--ok)}.q-top{justify-content:space-between;gap:12px;display:flex}.question-card h3,.problem-workspace h3{margin:0;font-size:1.35rem;line-height:1.35}.question-text,.explain,.scenario-box p,.question-prompt p,.learning-panel p,.workspace-block p,.workspace-block li{color:var(--muted);white-space:pre-line;line-height:1.68}.meta-strip,.tags,.concept-row,.question-actions,.hero-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pill,.tags span,.time-pill,.type-pill,.concept-row span{color:var(--accent);background:#38bdf824;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:900}.type-coding{color:var(--ok);background:#34d39924}.type-optimization{color:var(--accent2);background:#a78bfa29}.type-debugging{color:var(--warning);background:#f59e0b29}.type-mcq{color:#f0abfc;background:#ec489924}.mini-label{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;align-items:center;gap:6px;margin-bottom:6px;font-size:.68rem;font-weight:950;display:inline-flex}.option-btn{border:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:#ffffff0e;border-radius:18px;grid-template-columns:42px 1fr;align-items:center;gap:12px;padding:12px;transition:transform .15s,border-color .15s,background .15s;display:grid}.option-btn:hover{border-color:var(--accent);transform:translateY(-1px)}.answer-banner{border:1px solid var(--line);border-radius:18px;padding:12px 14px;font-weight:850}.problem-workspace{flex-direction:column;gap:16px;display:flex}.think-box{background:linear-gradient(135deg,#38bdf81a,#a78bfa12)}.practice-mode-banner{color:var(--muted);background:#38bdf814;border:1px dashed #38bdf86b;border-radius:18px;padding:13px 15px;line-height:1.55}.visual-model p{color:var(--text);background:#00000029;border-radius:14px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.solution-header{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:8px;display:flex}.solution-header strong{color:var(--ok);background:#34d3991f;border:1px solid #34d3994d;border-radius:999px;padding:8px 12px}.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.insight-grid div{border:1px solid var(--line);background:#0000001a;border-radius:18px;padding:14px}.insight-grid strong{margin-bottom:6px;display:block}.reference-box{color:var(--muted);margin-top:14px}.reference-box summary{cursor:pointer;color:var(--text);font-weight:850}.progress-card{justify-content:flex-start;align-items:center;gap:22px;display:flex}.track{fill:none;stroke:#ffffff24;stroke-width:13px}.meter{fill:none;stroke:var(--accent);stroke-width:13px;stroke-linecap:round;transform-origin:50%;transition:all .4s;transform:rotate(-90deg)}.progress-list{gap:12px;display:grid}.progress-row{border:1px solid var(--line);background:#ffffff0a;border-radius:20px;grid-template-columns:1fr auto 180px;align-items:center;gap:14px;padding:18px;display:grid}meter{width:100%}.pagination{border-radius:22px;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:16px 18px;display:flex}.pagination-summary,.pagination-status{color:var(--muted);font-size:.95rem;font-weight:800}.pagination-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-btn{border:1px solid var(--line);min-width:42px;height:42px;color:var(--text);background:#ffffff0f;padding:0 12px}.page-btn.active{background:linear-gradient(135deg, var(--accent), var(--accent2));color:#fff;border-color:#0000}.loading-card,.empty-state{border:1px solid var(--line);color:var(--muted);background:#ffffff0b;border-radius:24px;padding:24px}.empty-state{text-align:center}.loader-dot{background:var(--accent);width:14px;height:14px;box-shadow:22px 0 var(--accent2), 44px 0 var(--ok);border-radius:50%;animation:1s ease-in-out infinite pulseDots}@keyframes pulseDots{50%{opacity:.35;transform:translateY(-3px)}}.confetti-wrap{z-index:99;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}.confetti-wrap i{background:linear-gradient(var(--accent), var(--accent2));width:10px;height:16px;animation:2.4s ease-in forwards fall;position:absolute;top:-20px}@keyframes fall{to{top:105%;transform:translate(80px)rotate(720deg)}}.question-card,.topic-tab,.progress-row{content-visibility:auto;contain-intrinsic-size:1px 420px;contain:content}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:1100px){:root{--sidebar-width:0px}.layout{grid-template-columns:1fr}.sidebar{display:none}.page-wrap,.main-content{grid-column:1;padding:22px 18px 80px}.search-grid,.topic-library-controls,.category-library-controls{grid-template-columns:1fr 1fr}.search-input-wrap{grid-column:1/-1}.dashboard-grid{grid-template-columns:1fr 1fr}}@media (max-width:760px){body{overflow:auto}.app-shell{height:auto;min-height:100vh;overflow:visible}.nav,.navbar{flex-direction:column;align-items:flex-start;gap:12px;height:auto;padding:14px 16px;position:sticky}.layout{height:auto;min-height:100vh;padding-top:0;overflow:visible}.page-wrap,.main-content{height:auto;overflow:visible}.search-grid,.topic-library-controls,.category-library-controls,.card-grid,.topic-picker,.category-grid,.dashboard-grid,.insight-grid,.progress-row{grid-template-columns:1fr}.pagination{flex-direction:column;align-items:flex-start}.pagination-controls{width:100%}.pagination-controls .btn{flex:auto}}.random-controls,.filters{border:1px solid var(--line);background:#ffffff0b;border-radius:24px;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;align-items:center;gap:12px;padding:18px;display:grid}.random-controls select,.filters select{width:100%;min-height:48px}.random-controls .btn,.filters .btn{white-space:nowrap;height:48px}@media (max-width:900px){.random-controls,.filters{grid-template-columns:1fr}.random-controls .btn,.filters .btn{width:100%}}.result-open-button{text-align:left;cursor:pointer;width:100%}.result-open-button:hover{border-color:var(--accent);color:var(--accent)}.search-preview-card{color:var(--text);border-radius:26px;gap:14px;padding:20px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.search-preview-card:hover{border-color:#38bdf8a6;transform:translateY(-2px);box-shadow:0 18px 50px #38bdf81f}.search-preview-card.done{outline:2px solid var(--ok)}.search-preview-body h3{margin:0 0 8px;font-size:1.25rem}.search-preview-body p{color:var(--muted);margin:0;line-height:1.65}.open-focused-link{color:var(--accent);font-weight:950}.topic-library-controls-4{grid-template-columns:minmax(260px,1.6fr) minmax(160px,.8fr) minmax(160px,.8fr) minmax(160px,.8fr)}.question-card.done,.search-preview-card.done,.topic-tab.done{background:linear-gradient(135deg,#34d39929,#38bdf80f);border-color:#34d399d9;box-shadow:0 0 0 1px #34d39959,0 18px 45px #34d3991f}.question-card.done:before,.search-preview-card.done:before{content:"✓ Completed";width:-moz-fit-content;width:fit-content;color:var(--ok);background:#34d3992e;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:950}.topic-tab.done:after{content:"✓ Fully completed";width:-moz-fit-content;width:fit-content;color:var(--ok);background:#34d3992e;border-radius:999px;margin-top:8px;padding:6px 10px;font-size:.78rem;font-weight:950}@media (max-width:1100px){.topic-library-controls-4{grid-template-columns:1fr 1fr}}@media (max-width:760px){.topic-library-controls-4{grid-template-columns:1fr}:root{--nav-height:126px;--mobile-header-row-height:40px}body{overflow:hidden auto}.nav,.navbar,.topbar{z-index:5000;height:var(--nav-height);grid-template-columns:48px minmax(0,1fr) auto;grid-template-rows:var(--mobile-header-row-height) 1fr;border-bottom:1px solid var(--theme-border,var(--line));background:var(--theme-bg-soft,var(--bg-soft));grid-template-areas:"menu spacer theme""search search search";align-items:center;gap:10px 8px;padding:8px 12px 14px;display:grid;position:fixed;top:0;left:0;right:0;box-shadow:0 12px 30px #0000002e}.topbar.is-menu-open .global-search{visibility:hidden;pointer-events:none}.topbar-title,.topbar-links{display:none!important}.topbar .global-search{order:initial;flex:unset;grid-area:search;place-self:center;width:min(100%,680px);min-width:0;max-width:none}.global-search-control input{height:46px;min-height:46px;font-size:.95rem}.mobile-menu-toggle{z-index:5200;border:2px solid var(--theme-accent,var(--accent));background:var(--theme-surface,#ffffff0f);width:42px;height:38px;color:var(--theme-text,var(--text));border-radius:999px;flex-direction:column;grid-area:menu;justify-content:center;justify-self:start;align-items:center;gap:4px;padding:0;display:inline-flex;position:relative}.mobile-menu-toggle span{background:currentColor;border-radius:999px;width:18px;height:2px}.icon-btn{grid-area:theme;justify-self:end;width:auto;min-width:72px;height:38px;padding:0 14px;font-size:.78rem;line-height:1}.mobile-nav-backdrop{inset:var(--nav-height) 0 0;z-index:4800;-webkit-backdrop-filter:blur(2px);background:#0000009e;border:0;padding:0;display:none;position:fixed}.mobile-nav-backdrop.is-open{display:block}.mobile-nav-panel{top:calc(var(--nav-height) + 10px);z-index:5100;border:1px solid var(--theme-border,var(--line));background:var(--theme-bg-soft,var(--bg-soft));border-radius:22px;flex-direction:column;gap:10px;padding:12px;display:none;position:fixed;left:12px;right:12px;box-shadow:0 24px 60px #00000061}.mobile-nav-panel.is-open{display:flex}.mobile-nav-panel a,.mobile-coffee-link{background:var(--theme-surface,#ffffff0a);width:100%;color:var(--theme-text,var(--text));border:1px solid #0000;border-radius:16px;padding:14px 16px;font-size:1rem;font-weight:800;text-decoration:none}.mobile-nav-panel a.active{border-color:var(--theme-accent,var(--accent));background:var(--theme-active-bg,#38bdf81f);color:var(--theme-accent-strong,var(--accent))}.mobile-coffee-link{border-color:var(--theme-accent,var(--accent));text-align:center;margin-top:4px;font-weight:800}.layout{padding-top:var(--nav-height);display:block}.sidebar,.app-sidebar{display:none!important}.page-wrap,.main-content{height:auto;min-height:calc(100vh - var(--nav-height));padding:12px 12px 80px;overflow:hidden visible}.page,.category-page,.progress-page,.problem-page,.random-page{max-width:100%}.advanced-search-panel{display:none!important}}@media (max-width:420px){.nav,.navbar,.topbar{grid-template-columns:44px minmax(0,1fr) auto;padding-inline-start:10px;padding-inline-end:10px}.mobile-menu-toggle{width:40px}.icon-btn{min-width:64px;padding-inline-start:10px;padding-inline-end:10px;font-size:.72rem}}@media (min-width:761px){.mobile-menu-toggle,.mobile-nav-panel,.mobile-nav-backdrop{display:none!important}}.visual-walkthrough-panel{background:radial-gradient(circle at 0 0,#38bdf814,#0000 32%),linear-gradient(#ffffff0a,#ffffff05);border:1px solid #38bdf829;gap:14px;display:grid}.visual-walkthrough-header{gap:4px;display:grid}.visual-summary{color:var(--muted);line-height:1.55}.visual-diagram{gap:14px;display:grid}.visual-progress-track{background:#38bdf81f;border-radius:999px;height:6px;overflow:hidden}.visual-progress-track span{border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#6366f1);height:100%;display:block}.visual-state-hud{gap:8px;display:flex;overflow-x:auto}.visual-state-hud div{background:#ffffff0f;border:1px solid #38bdf81f;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;display:flex}.visual-state-hud small{color:#7dd3fc;letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:900}.visual-state-hud strong{color:var(--text)}.visual-playback-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.visual-playback-controls button{color:var(--text);background:#0ea5e91f;border:1px solid #38bdf838;border-radius:999px;padding:8px 14px;font-weight:900;box-shadow:0 6px 16px #02061729}.visual-playback-controls button:hover{background:#0ea5e92e;border-color:#38bdf870}.visual-playback-controls .primary-playback{color:#fff;background:linear-gradient(135deg,#0284c7,#4f46e5);border-color:#0000;box-shadow:0 8px 22px #2563eb47}.visual-playback-controls span{color:var(--muted);font-weight:800}.visual-diagram-frames{scroll-snap-type:x mandatory;gap:18px;padding-bottom:10px;display:flex;overflow:auto hidden}.visual-frame-button{text-align:left;scroll-snap-align:center;background:0 0;border:0;flex:0 0 min(760px,95vw);padding:0}.visual-frame{background:linear-gradient(#0f172ae0,#07111feb);border:1px solid #38bdf81f;border-radius:24px;grid-template-columns:minmax(340px,1.3fr) minmax(220px,.7fr);align-items:start;gap:18px;padding:18px;display:grid;box-shadow:0 18px 40px #00000047,0 0 0 1px #38bdf80a}.visual-frame.active{border-color:#38bdf857;transform:translateY(-3px);box-shadow:0 24px 54px #38bdf829,0 0 0 3px #38bdf814}.visual-frame-top{grid-column:1/-1}.visual-frame-labels{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.visual-frame span{color:#38bdf8;letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:900}.visual-frame-type-tag{color:#7dd3fc;text-transform:uppercase;background:#38bdf81f;border-radius:999px;padding:4px 10px;font-size:.64rem;font-style:normal;font-weight:900}.visual-frame-image-shell{background:radial-gradient(circle at 0 0,#3b82f629,#0000 45%),linear-gradient(#071426,#0f172a);border:1px solid #38bdf81f;border-radius:18px;overflow:hidden}.visual-frame-image{width:100%;height:auto;display:block}.visual-frame-side{align-content:start;gap:14px;display:grid}.visual-frame code{white-space:pre;color:#dbeafe;background:#02061785;border:1px solid #38bdf814;border-radius:14px;margin:0;padding:12px;font-size:.8rem;line-height:1.45;overflow-x:auto}.visual-metrics-grid{flex-wrap:wrap;gap:10px;display:flex}.visual-metric{background:#ffffff0d;border:1px solid #38bdf814;border-radius:14px;flex:110px;gap:4px;min-width:110px;padding:10px 12px;display:grid}.visual-metric small{color:#7dd3fc;letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:900}.visual-metric strong{color:#f8fbff;font-size:1rem}.visual-frame small{color:#cbd5e1;line-height:1.6}.visual-step-list{margin:0;padding:0;list-style:none}.production-mapping-grid{flex-wrap:wrap;gap:10px;display:flex}.production-chip{color:#7dd3fc;background:#38bdf814;border:1px solid #38bdf824;border-radius:999px;padding:8px 12px;font-size:.82rem;font-weight:700}.focused-problem-page{gap:18px;padding-top:18px}.focused-problem-page .problem-breadcrumb,.compact-problem-breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:0;font-size:.92rem;font-weight:700;display:flex}.compact-problem-breadcrumb a{color:var(--muted);text-decoration:none}.compact-problem-breadcrumb a:hover{color:var(--accent)}.reference-problem-intro{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:20px;display:flex}.reference-problem-intro h1{margin:0 0 10px;font-size:clamp(2rem,3vw,3.4rem);line-height:1.05}.reference-problem-intro p{max-width:920px;color:var(--muted);margin:14px 0 0;font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.55}.problem-meta-pills{flex-wrap:wrap;gap:7px;margin-top:4px;display:flex}.problem-meta-pills span{border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;min-height:22px;padding:3px 9px;font-size:.68rem;font-weight:900;line-height:1;display:inline-flex}.problem-meta-pills .meta-pill{color:var(--accent);background:#ffffff09}.problem-meta-pills .difficulty-pill{border-color:#0000}.problem-meta-pills .difficulty-easy{color:#86efac;background:#22c55e2e;border-color:#22c55e52}.problem-meta-pills .difficulty-medium{color:#fbbf24;background:#f59e0b2e;border-color:#f59e0b57}.problem-meta-pills .difficulty-hard{color:#fca5a5;background:#ef44442e;border-color:#ef444457}.reference-mark{flex:none}.focused-problem-page .compact-problem-header{margin-bottom:0;padding:20px 24px}.focused-problem-page .compact-problem-header h1{margin-bottom:10px;font-size:clamp(2rem,4vw,3.6rem);line-height:1.02}.focused-problem-workspace{background:var(--card);border:1px solid var(--line);border-radius:16px;gap:0;min-width:0;padding:0;display:grid;overflow:hidden}.focused-problem-topline{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.focused-tabs{border-bottom:1px solid var(--line);background:#ffffff04;align-items:center;gap:18px;min-height:58px;padding:0 16px;display:flex;overflow-x:auto}.focused-tab-btn{min-height:58px;color:var(--muted);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:0 10px;font-size:.98rem;font-weight:800;display:inline-flex}.focused-tab-btn span{font-weight:900}.focused-tab-btn:hover{color:var(--text)}.focused-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.focused-tab-content{min-width:0;padding:22px 26px 26px;overflow:hidden}.focused-panel-stack{gap:18px;min-width:0;display:grid}.focused-two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;display:grid}.focused-problem-workspace .workspace-block,.focused-problem-workspace .learning-panel{min-width:0;margin:0}.focused-problem-workspace .visual-walkthrough-panel.reference-visual-panel{background:var(--card);border-radius:14px;gap:12px;padding:16px}.focused-problem-workspace .visual-summary{margin:0}.focused-problem-workspace .visual-diagram{gap:12px}.focused-problem-workspace .visual-diagram-frames{gap:14px;padding-bottom:6px}.focused-problem-workspace .visual-frame{border-radius:14px;padding:14px}.focused-problem-workspace .visual-frame-button{flex-basis:min(680px,92vw)}.focused-problem-workspace .visual-step-list{gap:8px;display:grid}.focused-problem-workspace .visual-step-list li{border:1px solid var(--line);background:#ffffff08;border-radius:10px;gap:10px;padding:10px 12px;display:flex}.focused-problem-workspace .visual-step-list li>span{background:var(--accent);color:#0d0f14;border-radius:999px;flex:0 0 24px;place-items:center;width:24px;height:24px;font-weight:900;display:grid}.focused-problem-workspace .visual-step-list p{color:var(--muted);margin:4px 0 0}.focused-code-block{gap:10px;width:100%;min-width:0;max-width:100%;display:grid;overflow:hidden}.focused-code-block pre{border:1px solid var(--line);-webkit-overflow-scrolling:touch;background:#0206179e;border-radius:14px;width:100%;min-width:0;max-width:100%;margin:0;padding:16px;display:block;overflow:auto hidden}.focused-code-block code{white-space:pre;width:max-content;min-width:100%;max-width:none;color:var(--text);display:block}.focused-concepts,.focused-tags{padding:0 26px 22px}:root[data-theme=light] .visual-walkthrough-panel{background:radial-gradient(circle at 0 0,#38bdf814,#0000 32%),linear-gradient(#fffffff5,#eff6ffe0)}:root[data-theme=light] .visual-frame{background:linear-gradient(#fffffffa,#eff6ffeb);box-shadow:0 14px 36px #0f172a14,0 2px 6px #0ea5e914}:root[data-theme=light] .visual-frame code{color:#0f172a;background:#f8fafcf2}:root[data-theme=light] .visual-frame small{color:#475569}:root[data-theme=light] .visual-metric{background:#ffffffd6}:root[data-theme=light] .visual-metric strong,:root[data-theme=light] .visual-state-hud strong{color:#0f172a}:root[data-theme=light] .visual-playback-controls button,:root[data-theme=light] .visual-state-hud div{color:#075985;background:#e0f2fe;border-color:#0284c747;box-shadow:0 8px 18px #0ea5e924}:root[data-theme=light] .visual-playback-controls button:hover{background:#bae6fd;border-color:#0284c76b}:root[data-theme=light] .visual-playback-controls .primary-playback{color:#fff;background:linear-gradient(135deg,#0284c7,#4f46e5);box-shadow:0 10px 24px #2563eb47}:root[data-theme=light] .production-chip{color:#075985}:root[data-theme=light] .focused-problem-workspace{background:var(--card)}:root[data-theme=light] .focused-tabs{background:#fff6}:root[data-theme=light] .focused-code-block pre{background:#f8fafc}:root[data-theme=light] .problem-meta-pills .meta-pill{color:#9f6f1d;background:#fff7e8}:root[data-theme=light] .problem-meta-pills .difficulty-easy{color:#166534;background:#dcfce7;border-color:#86efac}:root[data-theme=light] .problem-meta-pills .difficulty-medium{color:#9a3412;background:#ffedd5;border-color:#fdba74}:root[data-theme=light] .problem-meta-pills .difficulty-hard{color:#991b1b;background:#fee2e2;border-color:#fca5a5}@media (max-width:920px){.visual-frame{grid-template-columns:1fr}.visual-frame-button{flex-basis:95vw}.focused-two-col,.reference-problem-intro{grid-template-columns:1fr}.reference-problem-intro{display:grid}.focused-tab-content{padding:18px}}.focused-tabs-wrap{border-bottom:1px solid var(--line);background:#ffffff04;justify-content:space-between;align-items:stretch;gap:12px;display:flex}.focused-tabs-wrap .focused-tabs{background:0 0;border-bottom:0;flex:auto}.focus-mode-toggle{border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:#ffffff0a;border-radius:999px;align-self:center;margin-right:14px;padding:8px 12px;font-size:.82rem;font-weight:850}.focus-mode-toggle:hover,.focus-mode-toggle.active{color:var(--text);background:#38bdf81a;border-color:#38bdf847}.focused-workspace-layout{grid-template-columns:minmax(0,1fr) minmax(230px,300px);gap:0;min-width:0;display:grid}.focused-problem-workspace.focus-mode .focused-workspace-layout{grid-template-columns:minmax(0,1fr)}.problem-support-panel{border-left:1px solid var(--line);background:#ffffff05;align-content:start;gap:14px;padding:22px 22px 26px;display:grid}.problem-support-panel section,.reinforcement-card,.workspace-empty-state{border:1px solid var(--line);background:#ffffff09;border-radius:14px;min-width:0;padding:14px}.problem-support-panel p,.reinforcement-card p,.workspace-empty-state p{color:var(--muted);margin:6px 0 0;line-height:1.55}.compact-chip-row{flex-wrap:wrap;gap:7px;margin-top:8px;display:flex}.compact-chip-row span{color:var(--accent);background:#38bdf814;border:1px solid #38bdf82e;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:850}.compact-chip-row.muted span{color:var(--muted);border-color:var(--line);background:#ffffff08}.workspace-empty-state{background:#ffffff05;border-style:dashed;gap:4px;display:grid}.learning-reinforcement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.reinforcement-card ul{color:var(--muted);margin:8px 0 0;padding-left:18px;line-height:1.5}.focused-mcq-panel{border:1px solid var(--line);background:#ffffff09;border-radius:14px;gap:12px;padding:16px;display:grid}.option-list{gap:10px;display:grid}.option-btn{border:1px solid var(--line);width:100%;color:var(--text);text-align:left;cursor:pointer;background:#ffffff09;border-radius:12px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.option-btn strong{width:30px;height:30px;color:var(--accent);background:#38bdf81f;border-radius:999px;place-items:center;display:grid}.option-btn span{line-height:1.45}.option-btn em{color:var(--muted);background:#ffffff0f;border-radius:999px;padding:4px 8px;font-size:.7rem;font-style:normal;font-weight:900}.option-btn:hover,.option-btn.selected{background:#38bdf814;border-color:#38bdf857}.answer-banner{color:var(--text);border:1px solid var(--line);background:#ffffff0a;border-radius:12px;padding:10px 12px;line-height:1.45}.visual-image-panel{border:1px solid var(--line);background:#ffffff08;border-radius:14px;width:100%;max-width:100%;height:auto;display:block}.problem-meta-pills .topic-pill{color:var(--accent);background:#38bdf81a;border-color:#38bdf833}:root[data-theme=light] .focused-tabs-wrap,:root[data-theme=light] .problem-support-panel,:root[data-theme=light] .focused-mcq-panel,:root[data-theme=light] .problem-support-panel section,:root[data-theme=light] .reinforcement-card,:root[data-theme=light] .workspace-empty-state{background:#ffffff9e}:root[data-theme=light] .option-btn{background:#ffffffc7}:root[data-theme=light] .option-btn:hover,:root[data-theme=light] .option-btn.selected{background:#eff6ff}@media (max-width:1100px){.focused-workspace-layout{grid-template-columns:1fr}.problem-support-panel{border-left:0;border-top:1px solid var(--line)}}@media (max-width:720px){.focused-tabs-wrap{display:grid}.focus-mode-toggle{width:calc(100% - 28px);margin:0 14px 12px}.learning-reinforcement-grid,.focused-two-col{grid-template-columns:1fr}.option-btn{grid-template-columns:32px minmax(0,1fr)}.option-btn em{grid-column:2;justify-self:start}}.focused-problem-page,.focused-problem-workspace,.focused-problem-workspace p,.focused-problem-workspace li,.problem-support-panel p,.reinforcement-card p,.workspace-empty-state p,.focused-tab-btn,.focus-mode-toggle,.reference-action-group .btn,.reference-action-group .mark,.problem-meta-pills span,.compact-chip-row span,.option-btn,.answer-banner,.mini-label{font-family:var(--font-sans,system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif)}.focused-problem-page .reference-problem-intro h1{font-family:var(--font-serif,Georgia, serif);letter-spacing:0;font-size:clamp(2rem,3vw,2.6rem);font-style:italic;font-weight:400;line-height:1.02}.focused-problem-workspace h2,.focused-problem-workspace h3,.focused-problem-workspace strong,.problem-support-panel strong{font-family:var(--font-sans,system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);letter-spacing:0;font-weight:700}.focused-problem-page p,.focused-problem-page li,.focused-problem-workspace p,.focused-problem-workspace li,.problem-support-panel p,.reinforcement-card p,.workspace-empty-state p{letter-spacing:0;font-size:.94rem;font-weight:500;line-height:1.6}.focused-tab-btn,.focus-mode-toggle,.reference-action-group .btn,.reference-action-group .mark,.problem-meta-pills span,.compact-chip-row span,.answer-banner{font-weight:700}.mini-label{letter-spacing:.08em;font-size:.68rem;font-weight:700}.option-btn span{font-weight:500}.option-btn strong{letter-spacing:0;font-weight:700}.option-btn em{font-weight:700}.focused-code-block code,.focused-code-block pre,.visual-model p{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace)}.learning-hero{grid-template-columns:minmax(0,2fr) minmax(280px,.9fr);align-items:stretch;gap:24px;display:grid}.learning-hero-panel{border-radius:28px;flex-direction:column;justify-content:center;gap:12px;padding:24px;display:flex}.learning-hero-panel span{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:900}.learning-hero-panel strong{font-family:var(--font-serif);font-size:1.8rem;font-style:italic;font-weight:400;line-height:1.2}.learning-hero-panel p{color:var(--muted);margin:0;line-height:1.7}.learning-stats-grid{align-items:stretch}.learning-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.learning-dashboard-card{border-radius:30px;flex-direction:column;gap:16px;min-height:100%;padding:28px;display:flex}.learning-dashboard-card h2{margin:0;font-size:1.4rem}.learning-dashboard-card p{color:var(--muted);line-height:1.7}.dashboard-card-action{margin-top:auto}.dashboard-mini-progress{gap:10px;margin-top:14px;display:grid}.dashboard-mini-progress span{color:var(--text);font-size:.92rem;font-weight:800}.weak-area-list{gap:10px;display:grid}.weak-area-row{border:1px solid var(--line);background:#ffffff0a;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;transition:border-color .18s,transform .18s;display:flex}.weak-area-row span{color:var(--text);font-weight:700}.weak-area-row strong{color:var(--accent)}.dashboard-checklist{color:var(--muted);gap:14px;padding-left:18px;display:grid}.dashboard-checklist li{line-height:1.7}.dashboard-checklist strong{color:var(--text)}@media (max-width:1200px){.learning-dashboard-grid{grid-template-columns:1fr}}@media (max-width:980px){.learning-hero{grid-template-columns:1fr}}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f2ec;--bg-soft:#f0ece5;--bg-card:#fff;--bg-sidebar:#fffdf8;--text:#1a1814;--text-primary:#1a1814;--text-secondary:#6b6560;--text-muted:#9a958e;--text-sidebar:#1a1814;--text-sidebar-muted:#6b6560;--card:#fff;--line:#e8e3da;--border:#e8e3da;--border-strong:#d4cdc2;--sidebar-border:#e4dccf;--sidebar-hover:#f3eee6;--sidebar-active-bg:#f5ead6;--sidebar-active-border:#dcc38e;--sidebar-active-text:#8a6318;--sidebar-coffee-bg:#f5ead6;--sidebar-logo-ink:#1a1814;--button-bg:#f5ead6;--button-border:#d8bd80;--button-text:#1a1814;--button-hover-bg:#ead8af;--button-hover-border:#c8a96e;--button-hover-text:#1a1814;--button-secondary-bg:#fff;--button-secondary-border:#e8e3da;--button-secondary-text:#1a1814;--button-secondary-hover-bg:#f5f2ec;--button-secondary-hover-border:#d4cdc2;--button-secondary-hover-text:#1a1814;--accent:#c8a96e;--accent2:#2c5f8a;--accent-dark:#9a7429;--accent-light:#f5ead6;--ok:#3d7a5f;--danger:#c0392b;--warning:#b07d1a;--blue:#2c5f8a;--green-light:#e8f3ed;--red-light:#fdf0ee;--blue-light:#e8f0f7;--surface-subtle:#faf8f4;--done-bg:linear-gradient(180deg, #fff, #f7fbf8);--code-bg:#1a1814;--code-text:#f5f2ec;--shadow:0 1px 3px #1a181414, 0 8px 22px #1a18140f;--shadow-soft:0 1px 2px #1a18140f;--font-serif:"Instrument Serif", Georgia, serif;--font-sans:"DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", SFMono-Regular, Consolas, monospace;--nav-height:56px;--sidebar-width:220px;--footer-height:36px;--page-padding:32px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f0f0d;--bg-soft:#151410;--bg-card:#1e1c17;--bg-sidebar:#0a0a08;--text:#f5f2ec;--text-primary:#f5f2ec;--text-secondary:#d1c7b8;--text-muted:#9a9286;--text-sidebar:#f5f2ec;--text-sidebar-muted:#8b8580;--card:#1e1c17;--line:#34302a;--border:#34302a;--border-strong:#5a513f;--sidebar-border:#20201d;--sidebar-hover:#f5f2ec0f;--sidebar-active-bg:#c8a96e29;--sidebar-active-border:#c8a96e38;--sidebar-active-text:#d4b675;--sidebar-coffee-bg:#c8a96e1a;--sidebar-logo-ink:#11100d;--button-bg:#24211b;--button-border:#6b5936;--button-text:#f5f2ec;--button-hover-bg:#302b23;--button-hover-border:#d4b675;--button-hover-text:#fffaf0;--button-secondary-bg:#181713;--button-secondary-border:#3f382e;--button-secondary-text:#f5f2ec;--button-secondary-hover-bg:#24211b;--button-secondary-hover-border:#d4b675;--button-secondary-hover-text:#f5f2ec;--accent:#d4b675;--accent2:#78a8cc;--accent-dark:#f0d89d;--accent-light:#d4b67529;--ok:#8bc39b;--danger:#ff9a8b;--warning:#e7b867;--blue:#9cc5e5;--green-light:#8bc39b29;--red-light:#ff9a8b24;--blue-light:#9cc5e529;--surface-subtle:#ffffff09;--done-bg:linear-gradient(180deg, #8bc39b1f, #141310fa);--code-bg:#090907;--code-text:#f5f2ec;--shadow:0 1px 2px #00000059, 0 10px 26px #0000003d;--shadow-soft:0 1px 2px #0000004d}html,body,#root{width:100%;min-height:100%}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-sans);margin:0;font-size:14px;line-height:1.5;overflow:hidden}.app-shell{background:var(--bg);width:100%;min-height:100vh;overflow:hidden}.layout{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);width:100%;height:100vh;min-height:100vh;padding-top:0;display:grid;overflow:hidden}.page-wrap,.main-content{width:100%;height:100vh;padding:calc(var(--nav-height) + var(--page-padding)) var(--page-padding) calc(48px + var(--footer-height));scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;grid-column:2;overflow:hidden auto}.page{gap:24px;width:100%;max-width:1220px;margin:0 auto;display:grid}.nav,.navbar,.topbar{inset:0 0 auto var(--sidebar-width);z-index:1000;height:var(--nav-height);background:var(--bg-card);border:0;border-bottom:1px solid var(--border);box-shadow:none;color:var(--text-primary);-webkit-backdrop-filter:none;border-radius:0;align-items:center;gap:18px;padding:0 28px;display:flex;position:fixed;overflow:hidden}.topbar-title{min-width:180px;color:var(--text-primary);font-family:var(--font-serif);margin-right:auto;font-size:21px;font-style:italic;line-height:1}.topbar-links,.nav nav{flex-wrap:nowrap;align-items:center;gap:4px;display:flex}.topbar-links a,.nav nav a{color:var(--text-secondary);border-radius:8px;padding:8px 10px;font-size:13px;font-weight:600}.topbar-links a:hover,.nav nav a:hover{color:var(--text-primary);background:var(--bg)}.topbar-links a.active,.nav nav a.active{color:var(--accent-dark);background:var(--accent-light)}.icon-btn{background:var(--accent-light);width:auto;min-width:68px;height:34px;color:var(--accent-dark);box-shadow:none;border:1px solid #c8a96e52;border-radius:20px;padding:0 12px;font-size:12px;font-weight:700}.sidebar{z-index:1010;width:var(--sidebar-width);border:0;border-right:1px solid var(--sidebar-border);background:var(--bg-sidebar);height:100vh;box-shadow:none;border-radius:0;flex-direction:column;gap:16px;padding:24px 0;display:flex;position:fixed;top:0;bottom:0;left:0;right:auto;overflow:hidden auto}.sidebar-logo{border-bottom:1px solid var(--sidebar-border);color:var(--text-sidebar);align-items:center;gap:10px;padding:0 20px 28px;display:flex}.logo-mark{background:var(--accent);width:32px;height:32px;color:var(--sidebar-logo-ink);font-family:var(--font-serif);border-radius:8px;flex:0 0 32px;place-items:center;font-size:18px;font-style:italic;display:grid}.logo-text{color:var(--text-sidebar);font-size:13px;font-weight:600;line-height:1.25}.logo-text span{color:var(--text-sidebar-muted);font-size:11px;font-weight:400;display:block}.nav-section{gap:4px;padding:0 12px;display:grid}.nav-label{color:var(--text-sidebar-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;padding:0 8px;font-size:10px;font-weight:700}.nav-item,.sidebar a{min-height:38px;color:var(--text-sidebar-muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:13.5px;font-weight:500;line-height:1.2;display:flex}.nav-item:hover,.sidebar a:hover{background:var(--sidebar-hover);color:var(--text-sidebar)}.nav-item.active,.sidebar a.active{border-color:var(--sidebar-active-border);background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:700}.coffee-link{background:var(--sidebar-coffee-bg);color:var(--text-sidebar);margin:0 12px}.sidebar-spacer{flex:1}.glass,.glass-lite,.hero-card,.page-title,.topic-section,.learning-map,.search-panel,.topic-library,.category-library,.progress-card,.question-card,.workspace-block,.scenario-box,.question-prompt,.learning-panel,.search-preview-card,.advanced-search-panel,.loading-card,.empty-state,.random-controls,.filters{border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow);color:var(--text-primary)}.hero-card,.page-title,.topic-section,.learning-map,.search-panel,.topic-library,.category-library,.progress-card{border-radius:12px;padding:20px}.learning-hero{border:0;border-bottom:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;grid-template-columns:minmax(0,1.95fr) minmax(230px,.65fr);align-items:stretch;gap:16px;padding:6px 0 8px}.learning-hero-panel{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:16px}.learning-hero-panel span,.stat-label,.eyebrow,.mini-label,.library-count-pill,.featured-badge{letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:700;color:var(--accent-dark)!important}.hero-card h1,.page-title h1,.problem-detail-header h1{color:var(--text-primary);font-family:var(--font-serif);letter-spacing:0;margin:0 0 8px;font-size:clamp(2rem,4vw,3rem);font-style:italic;font-weight:400;line-height:1.02}.learning-hero h1{max-width:1120px;color:var(--text-primary);font-family:var(--font-serif);letter-spacing:0;margin:0 0 6px;font-size:clamp(1.85rem,2.45vw,2.35rem);font-style:italic;font-weight:400;line-height:1.08}.page-title h1,.problem-detail-header h1{font-size:clamp(2rem,3vw,2.6rem)}.section-head h2,.library-head h2,.search-header h2,.learning-map h2,.topic-library h2,.category-library h2,.learning-dashboard-card h2,.empty-state h3{color:var(--text-primary);font-family:var(--font-serif);margin:0 0 6px;font-size:1.45rem;font-style:italic;font-weight:400;line-height:1.15}.hero-card p,.page-title p,.section-head p,.search-header p,.learning-hero-panel p,.learning-dashboard-card p,.topic-tab small,.category-card p,.category-card span,.category-card em,.render-note,.search-status,.pagination-summary,.pagination-status,.question-text,.explain,.scenario-box p,.question-prompt p,.learning-panel p,.workspace-block p,.workspace-block li,.search-preview-body p{color:var(--text-secondary);font-size:.94rem;line-height:1.6}.question-prompt p{color:var(--text-primary);font-weight:600}.hero-actions{gap:8px;margin-top:14px}.btn,.mark,.page-btn,.clear-search{border:1px solid var(--button-border);background:var(--button-bg);min-height:34px;color:var(--button-text);box-shadow:none;border-radius:7px;padding:7px 12px;font-size:12.5px;font-weight:700}.btn:hover,.mark:hover,.page-btn:hover:not(.active),.clear-search:hover{border-color:var(--button-hover-border);background:var(--button-hover-bg);color:var(--button-hover-text);transform:translateY(-1px)}.btn.ghost,.mark,.page-btn,.clear-search{background:var(--button-secondary-bg);border-color:var(--button-secondary-border);color:var(--button-secondary-text)}.btn.ghost:hover,.mark:hover,.page-btn:hover:not(.active),.clear-search:hover{border-color:var(--button-secondary-hover-border);background:var(--button-secondary-hover-bg);color:var(--button-secondary-hover-text)}.dashboard-grid{grid-template-columns:minmax(220px,1.05fr) repeat(3,minmax(120px,.65fr));gap:12px}.stat{background:var(--bg-card);border:1px solid var(--border);min-height:86px;box-shadow:var(--shadow);border-radius:12px;padding:14px 16px;position:relative;overflow:hidden}.stat:after,.learning-dashboard-card:after,.topic-tab:after,.category-card:after{content:"";background:var(--accent);opacity:0;height:2px;transition:opacity .18s;position:absolute;top:0;bottom:auto;left:0;right:0}.stat:hover:after,.learning-dashboard-card:hover:after,.topic-tab:hover:after,.category-card:hover:after{opacity:1}.stat h2{color:var(--text-primary);font-family:var(--font-serif);margin:0 0 6px;font-size:1.72rem;font-weight:400;line-height:1}.stat p,.progress-card p{margin:0;font-size:.9rem}.progress-card svg{width:78px}.track{stroke:var(--border)}.meter{stroke:var(--accent)}.progress-card text{fill:var(--text-primary);font-size:16px;font-weight:700}.learning-dashboard-page{align-content:start;gap:18px;width:100%;display:grid}.learning-dashboard-page .learning-hero{margin-bottom:2px}.learning-dashboard-page .category-library{margin-top:4px}.learning-dashboard-page .category-library-controls{margin:20px 0 14px}.learning-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.learning-dashboard-card,.weak-area-row{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:20px;position:relative;overflow:hidden}.weak-area-row{box-shadow:none;padding:12px 14px}.weak-area-row:hover{border-color:var(--accent);transform:translateY(-1px)}.weak-area-row span,.weak-area-row strong,.dashboard-checklist strong{color:var(--text-primary)}.dashboard-checklist{color:var(--text-secondary);gap:8px}.topic-picker,.card-grid,.category-grid{gap:14px}.card-grid.compact-grid{align-items:start}.topic-tab,.category-card,.search-preview-card{background:var(--bg-card);border:1px solid var(--border);min-height:126px;box-shadow:var(--shadow);color:var(--text-primary);border-radius:12px;padding:18px;position:relative;overflow:hidden}.category-card{grid-template-rows:auto auto 1fr auto;gap:12px;display:grid}.category-card-top,.category-stats-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.category-card-top{justify-content:flex-start}.category-stats-row{color:var(--text-secondary);margin-top:auto}.category-card p,.category-card .eyebrow,.category-card .featured-badge{margin:0}.topic-tab:hover,.category-card:hover,.search-preview-card:hover{border-color:var(--accent);background:var(--bg-card);box-shadow:var(--shadow);transform:translateY(-1px)}.topic-tab.active{border-color:var(--accent);background:var(--accent-light);outline:2px solid #c8a96e3d}.topic-tab strong,.category-card strong,.search-preview-body h3{color:var(--text-primary);margin:0 0 4px;font-size:1rem;font-weight:700}.road{flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:10px;display:flex}.road span{border:1px solid var(--border);background:var(--surface-subtle);min-height:28px;color:var(--text-secondary);border-radius:999px;align-items:center;padding:5px 10px;font-size:.88rem;font-weight:600;display:inline-flex}.library-count-pill,.featured-badge,.pill,.tags span,.time-pill,.type-pill,.concept-row span{background:var(--accent-light);width:-moz-fit-content;width:fit-content;color:var(--accent-dark);border:1px solid #c8a96e42;border-radius:20px;padding:4px 9px;font-size:.72rem;font-weight:700;line-height:1.2}.type-coding,.type-optimization{background:var(--green-light);color:var(--ok);border-color:#3d7a5f38}.type-debugging{color:var(--warning);background:#fff4e0;border-color:#b07d1a38}.type-mcq,.type-system-design,.type-production-scenario{background:var(--blue-light);color:var(--blue);border-color:#2c5f8a38}.topic-library-controls,.category-library-controls,.search-grid,.random-controls,.filters{gap:12px}.random-controls,.filters{border-radius:12px;padding:16px}input,select,textarea{border:1px solid var(--border);background:var(--bg-card);min-height:38px;color:var(--text-primary);border-radius:8px;padding:0 12px;font-size:.92rem}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c8a96e2e}textarea{resize:vertical;min-height:78px;padding:10px 12px;line-height:1.45}.advanced-search-panel{background:var(--bg-card);border-radius:12px;overflow:hidden}.search-only-card{padding:14px}.search-only-card .search-panel{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.search-only-panel .search-field{gap:8px;display:grid}.header-search{margin-top:16px}.page-title .header-search .search-panel{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.page-title .header-search textarea{min-height:64px}.advanced-search-panel>summary{padding:16px 18px}.advanced-search-panel>summary span{color:var(--text-primary);font-size:1rem;font-weight:700}.advanced-search-panel>summary small{color:var(--text-secondary)}.advanced-search-panel>summary:after{color:var(--accent-dark);background:var(--accent-light);border-color:#c8a96e47;border-radius:7px}.question-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow);contain:none;contain-intrinsic-size:auto;content-visibility:visible;border-radius:12px;align-content:start;align-self:start;gap:11px;padding:16px;display:grid}.problem-workspace{gap:11px}.clickable-problem-card:hover,.question-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-1px)}.clickable-problem-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.question-card.done,.search-preview-card.done,.topic-tab.done{background:var(--done-bg);box-shadow:var(--shadow);border-color:#3d7a5f73}.question-card.done:before,.search-preview-card.done:before,.topic-tab.done:after{background:var(--green-light);width:-moz-fit-content;width:fit-content;color:var(--ok);border-radius:20px;padding:4px 9px;font-size:.72rem;font-weight:700}.q-top{align-items:flex-start;gap:8px}.meta-strip,.tags,.concept-row,.question-actions{gap:6px}.question-card h3,.problem-workspace h3{color:var(--text-primary);margin:0;font-size:1.08rem;font-weight:700;line-height:1.32}.workspace-block,.scenario-box,.question-prompt,.learning-panel,.think-box,.visual-model,.practice-mode-banner,.answer-banner,.reference-box,.option-btn{border:1px solid var(--border);background:var(--surface-subtle);box-shadow:none;border-radius:10px;padding:11px 12px}.think-box{background:var(--accent-light);border-color:#c8a96e3d}.practice-mode-banner{color:var(--text-secondary);border-style:dashed;line-height:1.5}.practice-mode-banner strong{color:var(--text-primary)}.mini-label{margin:0 0 4px;display:inline-flex}.workspace-block p,.scenario-box p,.question-prompt p,.learning-panel p,.reference-box p{margin:0}.workspace-block ul,.workspace-block ol,.learning-panel ul,.learning-panel ol{margin:6px 0 0;padding-left:20px}.option-list{gap:8px}.option-btn{width:100%;color:var(--text-primary);text-align:left;grid-template-columns:32px 1fr;gap:10px}.option-btn:hover{border-color:var(--accent);background:var(--bg-card);transform:translateY(-1px)}.option-btn strong{background:var(--accent-light);width:26px;height:26px;color:var(--accent-dark);font-size:.78rem}.option-btn.selected{border-color:var(--accent);background:var(--accent-light)}.option-btn.correct{background:var(--green-light);border-color:#3d7a5f6b}.option-btn.wrong{background:var(--red-light);border-color:#c0392b52}.answer-banner.correct{background:var(--green-light);border-color:#3d7a5f52}.answer-banner.wrong{background:var(--red-light);border-color:#c0392b42}.solution-header{gap:8px;margin-bottom:8px}.solution-header strong{background:var(--green-light);color:var(--ok);border-color:#3d7a5f38;border-radius:20px;padding:5px 9px;font-size:.78rem}.insight-grid{gap:10px;margin-top:10px}.insight-grid div{background:var(--bg-card);border:1px solid var(--border);box-shadow:none;border-radius:10px;padding:12px}.reference-box{margin-top:10px}.reference-box summary{color:var(--text-primary);font-weight:700}.visual-walkthrough-panel{border-color:var(--border);background:var(--surface-subtle);gap:12px}.visual-progress-track{background:var(--border);height:4px}.visual-progress-track span{background:var(--accent)}.visual-state-hud div,.visual-playback-controls button,.production-chip,.visual-metric{border-color:var(--border);background:var(--bg-card);color:var(--text-primary);box-shadow:none}.visual-state-hud small,.visual-metric small,.visual-frame span{color:var(--accent-dark)}.visual-state-hud strong,.visual-metric strong{color:var(--text-primary)}.visual-playback-controls button{border-radius:7px;padding:7px 12px;font-size:12px;font-weight:700}.visual-playback-controls .primary-playback{background:var(--button-bg);border-color:var(--button-border);color:var(--button-text)}.visual-frame{border-color:var(--border);background:var(--bg-card);box-shadow:var(--shadow);border-radius:12px;grid-template-columns:minmax(320px,1.25fr) minmax(220px,.75fr);padding:16px}.visual-frame-button{flex-basis:min(100%,760px)}.visual-frame.active{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}.visual-frame-image-shell{border-color:var(--border);background:var(--bg);border-radius:10px}.visual-frame code,.visual-model p{border:1px solid var(--border);background:var(--code-bg);color:var(--code-text);font-family:var(--font-mono);border-radius:8px}.visual-frame small{color:var(--text-secondary)}.visual-frame-type-tag{background:var(--accent-light);color:var(--accent-dark)}.progress-list{gap:8px}.progress-row{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:10px;grid-template-columns:minmax(0,1fr) auto minmax(160px,220px);gap:14px;padding:12px 14px}meter{height:8px;accent-color:var(--accent)}.pagination{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;margin-top:12px;padding:12px 14px}.page-btn{min-width:34px;height:34px}.page-btn.active{border-color:var(--button-border);background:var(--button-bg);color:var(--button-text)}.loading-card,.empty-state{background:var(--bg-card);border-radius:12px;padding:18px}.loader-dot{background:var(--accent);box-shadow:22px 0 var(--blue), 44px 0 var(--ok)}.problem-breadcrumb{box-shadow:none;color:var(--text-muted);background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:.88rem;display:flex}.problem-breadcrumb a{color:var(--text-secondary)}.problem-breadcrumb a:hover,.open-focused-link{color:var(--accent-dark)}.problem-detail-header{border:0;border-bottom:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;padding:0 0 20px}.status-bar{bottom:0;right:0;left:var(--sidebar-width);z-index:1000;height:var(--footer-height);border-top:1px solid var(--border);background:var(--bg-card);scrollbar-width:none;align-items:center;gap:20px;padding:0 28px;display:flex;position:fixed;overflow:auto hidden;box-shadow:0 -1px 3px #1a18140a}.status-bar::-webkit-scrollbar{display:none}.status-item{color:var(--text-muted);white-space:nowrap;flex:none;align-items:center;gap:5px;font-size:12px;display:flex}.status-item strong{color:var(--text-primary);font-weight:600}.status-sep{background:var(--border);flex:none;width:1px;height:14px}.search-preview-card.done:before,.question-card.done:before{content:"Completed"}.topic-tab.done:after{content:"Fully completed"}@media (max-width:1100px){:root,:root[data-theme=light],:root[data-theme=dark]{--sidebar-width:0px;--page-padding:18px}body{overflow:hidden auto}.app-shell,.layout{height:auto;min-height:100vh;overflow:visible}.layout{padding-top:var(--nav-height);flex-direction:column;display:flex}.nav,.navbar,.topbar{top:0;bottom:auto;left:0;right:0}.topbar-links{display:none}.sidebar{top:var(--nav-height);z-index:990;border-right:0;border-bottom:1px solid var(--sidebar-border);scrollbar-width:none;flex-direction:row;align-items:center;gap:8px;width:100%;height:auto;min-height:50px;max-height:none;padding:8px 12px;display:flex;position:sticky;overflow:auto hidden}.sidebar::-webkit-scrollbar{display:none}.sidebar-logo,.nav-label,.sidebar-spacer,.coffee-link{display:none}.nav-section{align-items:center;gap:8px;padding:0;display:flex}.nav-item,.sidebar a{white-space:nowrap;flex:none;min-height:34px;padding:8px 10px}.page-wrap,.main-content{height:auto;min-height:0;padding:var(--page-padding) var(--page-padding) calc(56px + var(--footer-height));grid-column:1;overflow:visible}.status-bar{padding:0 var(--page-padding);left:0}.dashboard-grid,.learning-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-hero{grid-template-columns:1fr}.search-grid,.topic-library-controls,.category-library-controls,.topic-library-controls-4{grid-template-columns:1fr 1fr}.card-grid.compact-grid{grid-template-columns:1fr}}@media (max-width:760px){:root,:root[data-theme=light],:root[data-theme=dark]{--nav-height:54px;--page-padding:12px}.nav,.navbar,.topbar{height:var(--nav-height);gap:10px;padding:0 12px}.topbar-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:19px;overflow:hidden}.icon-btn{min-width:58px;height:32px;padding:0 10px}.sidebar{top:var(--nav-height);min-height:48px;padding:7px 10px}.status-bar{gap:12px}.page{gap:14px;max-width:none}.learning-dashboard-page{gap:14px}.learning-dashboard-page .category-library-controls{margin:14px 0 12px}.category-card{gap:10px}.hero-card,.page-title,.topic-section,.learning-map,.search-panel,.topic-library,.category-library,.progress-card,.learning-dashboard-card,.stat,.question-card{border-radius:10px;padding:14px}.learning-hero{padding-top:0}.hero-card h1,.page-title h1,.learning-hero h1,.problem-detail-header h1{font-size:clamp(1.85rem,10vw,2.35rem)}.dashboard-grid,.learning-dashboard-grid,.search-grid,.topic-library-controls,.category-library-controls,.topic-library-controls-4,.card-grid,.topic-picker,.category-grid,.insight-grid,.progress-row{grid-template-columns:1fr}.q-top,.pagination,.section-head,.library-head,.search-header{flex-direction:column;align-items:stretch;gap:8px}.workspace-block,.scenario-box,.question-prompt,.learning-panel,.think-box,.visual-model,.practice-mode-banner,.answer-banner,.reference-box,.option-btn{padding:10px}.visual-frame{grid-template-columns:1fr;padding:12px}.visual-frame-button{flex-basis:min(100%,680px)}.progress-card{flex-direction:column;align-items:flex-start}}.problem-meta-pills .meta-pill,.problem-meta-pills span.meta-pill,.reference-problem-intro .problem-meta-pills .meta-pill,.reference-problem-intro .problem-meta-pills span.meta-pill{color:var(--muted)!important;background:#94a3b81a!important;border-color:#94a3b838!important}.problem-meta-pills .topic-pill,.problem-meta-pills span.topic-pill,.reference-problem-intro .problem-meta-pills .topic-pill,.reference-problem-intro .problem-meta-pills span.topic-pill{color:#2dd4bf!important;background:#2dd4bf1f!important;border-color:#2dd4bf5c!important;font-weight:900!important}.problem-meta-pills .difficulty-pill,.reference-problem-intro .problem-meta-pills .difficulty-pill{font-weight:900!important}.problem-meta-pills .difficulty-easy,.reference-problem-intro .problem-meta-pills .difficulty-easy{color:#4ade80!important;background:#22c55e2e!important;border-color:#22c55e57!important}.problem-meta-pills .difficulty-medium,.reference-problem-intro .problem-meta-pills .difficulty-medium{color:#fb923c!important;background:#f973162e!important;border-color:#f9731657!important}.problem-meta-pills .difficulty-hard,.reference-problem-intro .problem-meta-pills .difficulty-hard{color:#f87171!important;background:#ef44442e!important;border-color:#ef44445c!important}:root[data-theme=light] .problem-meta-pills .meta-pill,:root[data-theme=light] .problem-meta-pills span.meta-pill,:root[data-theme=light] .reference-problem-intro .problem-meta-pills .meta-pill,:root[data-theme=light] .reference-problem-intro .problem-meta-pills span.meta-pill{color:var(--muted)!important;background:#78716c14!important;border-color:#78716c33!important}:root[data-theme=light] .problem-meta-pills .topic-pill,:root[data-theme=light] .problem-meta-pills span.topic-pill,:root[data-theme=light] .reference-problem-intro .problem-meta-pills .topic-pill,:root[data-theme=light] .reference-problem-intro .problem-meta-pills span.topic-pill{color:#0f766e!important;background:#ccfbf1!important;border-color:#5eead4!important}:root[data-theme=light] .problem-meta-pills .difficulty-easy,:root[data-theme=light] .reference-problem-intro .problem-meta-pills .difficulty-easy{color:#166534!important;background:#dcfce7!important;border-color:#86efac!important}:root[data-theme=light] .problem-meta-pills .difficulty-medium,:root[data-theme=light] .reference-problem-intro .problem-meta-pills .difficulty-medium{color:#9a3412!important;background:#ffedd5!important;border-color:#fdba74!important}:root[data-theme=light] .problem-meta-pills .difficulty-hard,:root[data-theme=light] .reference-problem-intro .problem-meta-pills .difficulty-hard{color:#991b1b!important;background:#fee2e2!important;border-color:#fca5a5!important}.app-shell{--sidebar-width:280px;--topbar-height:72px;--content-max-width:1500px;--content-pad-x:28px;--content-pad-y:28px;--brand-logo-size:42px;--brand-row-height:96px;--brand-gap:12px;--brand-pad-x:20px;--radius-sm:10px;--radius-md:14px;--radius-lg:22px;--font-body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:Georgia, "Times New Roman", serif}.app-shell.light{--theme-bg:#f3f0ea;--theme-bg-soft:#fbfaf7;--theme-surface:#fff;--theme-surface-soft:#f8f4ec;--theme-border:#ded7cb;--theme-border-strong:#cfbe98;--theme-text:#1b1a17;--theme-text-soft:#625e59;--theme-muted:#526176;--theme-accent:#c6a765;--theme-accent-strong:#9a6b19;--theme-accent-soft:#f3e7cf;--theme-active-bg:#f3e7cf;--theme-shadow:0 12px 30px #241b0f1a}.app-shell.dark{--theme-bg:#0b0f14;--theme-bg-soft:#111822;--theme-surface:#151a24;--theme-surface-soft:#121923;--theme-border:#2a3342;--theme-border-strong:#3a4658;--theme-text:#f4f5fb;--theme-text-soft:#a9b2c5;--theme-muted:#7d8aa2;--theme-accent:#35e0c8;--theme-accent-strong:#35e0c8;--theme-accent-soft:#35e0c821;--theme-active-bg:#35e0c821;--theme-shadow:0 14px 34px #0000005c}.app-shell,.app-shell *{box-sizing:border-box}.app-shell{background:var(--theme-bg);width:100%;height:100vh;color:var(--theme-text-soft);font-family:var(--font-body);overflow:hidden}.app-shell .layout{width:100%;height:100vh;padding-top:var(--topbar-height);grid-template-columns:var(--sidebar-width) minmax(0, 1fr);background:var(--theme-bg);display:grid;overflow:hidden}.app-shell .page-wrap{width:100%;height:calc(100vh - var(--topbar-height));padding:var(--content-pad-y) var(--content-pad-x) 80px;background:var(--theme-bg);grid-column:2;overflow:hidden auto}.app-shell .page{width:100%;max-width:var(--content-max-width);margin:0 auto}.app-shell .nav,.app-shell .navbar{z-index:1000;height:var(--topbar-height);min-height:var(--topbar-height);padding:0 24px 0 calc(var(--sidebar-width) + 28px);background:var(--theme-bg-soft);color:var(--theme-text);border-bottom:1px solid var(--theme-border);box-shadow:none;-webkit-backdrop-filter:none;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;bottom:auto;left:0;right:0}.app-shell .nav nav,.app-shell .navbar nav{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.app-shell .nav a,.app-shell .navbar a{color:var(--theme-text-soft);font-weight:800}.app-shell .nav a.active,.app-shell .navbar a.active{color:var(--theme-accent-strong)}.app-shell .icon-btn{border:2px solid var(--theme-accent-strong);width:auto;min-width:74px;height:42px;color:var(--theme-accent-strong);background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-weight:900;display:inline-flex}.app-shell .sidebar{z-index:1001;width:var(--sidebar-width);min-width:var(--sidebar-width);max-width:var(--sidebar-width);border:0;border-right:1px solid var(--theme-border);background:var(--theme-bg-soft);height:100vh;box-shadow:none;border-radius:0;flex-direction:column;gap:0;padding:0;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.app-shell .brand,.app-shell .sidebar .brand{height:var(--brand-row-height);min-height:var(--brand-row-height);max-height:var(--brand-row-height);padding:0 var(--brand-pad-x);align-items:center;gap:var(--brand-gap);border-bottom:1px solid var(--theme-border);margin:0;display:flex}.app-shell .logo,.app-shell .brand .logo{width:var(--brand-logo-size);height:var(--brand-logo-size);min-width:var(--brand-logo-size);min-height:var(--brand-logo-size);max-width:var(--brand-logo-size);max-height:var(--brand-logo-size);flex:0 0 var(--brand-logo-size);aspect-ratio:1;background:var(--theme-accent);color:#081015;font-family:var(--font-display);box-shadow:none;border-radius:12px;place-items:center;margin:0;padding:0;font-size:22px;font-style:italic;font-weight:400;line-height:1;display:grid}.app-shell .brand strong,.app-shell .brand h1,.app-shell .brand-title{color:var(--theme-text);margin:0;font-size:15px;font-weight:900;line-height:1.12}.app-shell .brand small,.app-shell .brand p,.app-shell .brand-subtitle{color:var(--theme-muted);margin:2px 0 0;font-size:14px;font-weight:650;line-height:1.12;display:block}.app-shell .sidebar nav{padding:18px 14px}.app-shell .sidebar a{border-radius:var(--radius-sm);min-height:40px;color:var(--theme-text-soft);background:0 0;border:1px solid #0000;align-items:center;padding:0 12px;font-weight:750;text-decoration:none;display:flex}.app-shell .sidebar a:hover{background:var(--theme-accent-soft);color:var(--theme-accent-strong)}.app-shell .sidebar a.active{background:var(--theme-active-bg);color:var(--theme-accent-strong);border-color:var(--theme-accent)}.app-shell .coffee{min-height:38px;color:var(--theme-text-soft);background:0 0;margin:auto 14px 16px}.app-shell.light,.app-shell.dark{--bg:var(--theme-bg);--bg-soft:var(--theme-bg-soft);--text:var(--theme-text);--muted:var(--theme-text-soft);--card:var(--theme-surface);--line:var(--theme-border);--accent:var(--theme-accent);--accent2:var(--theme-accent);--shadow:var(--theme-shadow)}.app-shell .glass,.app-shell .glass-lite,.app-shell .hero-card,.app-shell .page-title,.app-shell .topic-section,.app-shell .learning-map,.app-shell .search-panel,.app-shell .topic-library,.app-shell .category-library,.app-shell .progress-card,.app-shell .question-card,.app-shell .workspace-block,.app-shell .scenario-box,.app-shell .question-prompt,.app-shell .learning-panel{border-color:var(--theme-border)}.app-shell .problem-tags,.app-shell .problem-meta,.app-shell .tag-list,.app-shell .pill-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.app-shell .pill,.app-shell .tags span,.app-shell .tag,.app-shell .badge,.app-shell .time-pill,.app-shell .type-pill,.app-shell .concept-row span{white-space:nowrap;border-radius:999px;min-height:24px;padding:4px 10px;font-size:12px;font-weight:850;line-height:1}.app-shell .framework-pill,.app-shell .pill.category,.app-shell .tag.category,.app-shell .category-pill{color:var(--theme-accent-strong);border:1px solid var(--theme-accent);background:var(--theme-accent-soft)}.app-shell .difficulty-medium,.app-shell .pill.difficulty-medium{color:#ff8a2a;background:#ff8a2a29;border:1px solid #ff8a2ab3}.app-shell .difficulty-easy,.app-shell .pill.difficulty-easy{color:#2ed596;background:#2ed59629;border:1px solid #2ed596b3}.app-shell .difficulty-hard,.app-shell .pill.difficulty-hard{color:#ff5d73;background:#ff5d7329;border:1px solid #ff5d73bf}@media (max-width:760px){.app-shell{--sidebar-width:0px;--content-pad-x:18px;--content-pad-y:24px}.app-shell .nav,.app-shell .navbar{padding-left:18px}.app-shell .sidebar{display:none}.app-shell .layout{grid-template-columns:1fr}.app-shell .page-wrap{grid-column:1}}:root[data-theme=dark]{--bg:#0b0f14;--bg-soft:#101720;--bg-card:#171e29;--bg-sidebar:#101821;--text:#f4f7fb;--text-primary:#f4f7fb;--text-secondary:#aeb8ca;--text-muted:#738198;--text-sidebar:#f4f7fb;--text-sidebar-muted:#9aa6ba;--card:#171e29;--line:#243042;--border:#283449;--border-strong:#3a475e;--sidebar-border:#243042;--sidebar-hover:#30e0c714;--sidebar-active-bg:#30e0c724;--sidebar-active-border:#30e0c7d9;--sidebar-active-text:#30e0c7;--sidebar-coffee-bg:#30e0c70f;--sidebar-logo-ink:#071014;--button-bg:#14b8a624;--button-border:#5eead4c7;--button-text:#99f6e4;--button-hover-bg:#14b8a638;--button-hover-border:#5eead4;--button-hover-text:#ccfbf1;--button-secondary-bg:#0f172ac7;--button-secondary-border:#5eead494;--button-secondary-text:#99f6e4;--button-secondary-hover-bg:#14b8a629;--button-secondary-hover-border:#5eead4;--button-secondary-hover-text:#ccfbf1;--accent:#30e0c7;--accent2:#8fc6ff;--accent-dark:#30e0c7;--accent-light:#30e0c724;--ok:#58e0a0;--danger:#ff7272;--warning:#ffb86b;--blue:#74b9ff;--green-light:#58e0a029;--red-light:#ff727224;--blue-light:#74b9ff29;--surface-subtle:#ffffff09;--done-bg:linear-gradient(180deg, #30e0c71a, #171e29fa);--code-bg:#070b10;--code-text:#f4f7fb}:root[data-theme=dark] body,:root[data-theme=dark] .app-shell,:root[data-theme=dark] .main-content,:root[data-theme=dark] .page-shell{background:var(--bg);color:var(--text)}:root[data-theme=dark] .hero-card,:root[data-theme=dark] .section-card,:root[data-theme=dark] .stat-card,:root[data-theme=dark] .topic-library,:root[data-theme=dark] .panel,:root[data-theme=dark] .content-card,:root[data-theme=dark] .problem-card,:root[data-theme=dark] .progress-row,:root[data-theme=dark] .question-card,:root[data-theme=dark] .visual-panel,:root[data-theme=dark] .topic-card,:root[data-theme=dark] .page-hero,:root[data-theme=dark] .dashboard-hero,:root[data-theme=dark] .page-header-card{background:var(--card);border-color:var(--border);color:var(--text)}:root[data-theme=dark] .section-kicker,:root[data-theme=dark] .eyebrow,:root[data-theme=dark] .metric-value,:root[data-theme=dark] .nav-link.active,:root[data-theme=dark] .top-nav .active{color:var(--accent)}:root[data-theme=dark] .btn,:root[data-theme=dark] .coffee-btn,:root[data-theme=dark] .page-btn.active{border-color:var(--button-border);background:var(--button-bg);color:var(--button-text);box-shadow:0 0 0 1px #5eead414}:root[data-theme=dark] .btn:hover,:root[data-theme=dark] .coffee-btn:hover,:root[data-theme=dark] .page-btn.active:hover{border-color:var(--button-hover-border);background:var(--button-hover-bg);color:var(--button-hover-text);box-shadow:0 0 0 3px #5eead429}:root[data-theme=dark] .btn.ghost,:root[data-theme=dark] .page-btn,:root[data-theme=dark] .mark,:root[data-theme=dark] .clear-search{border-color:var(--button-secondary-border);background:var(--button-secondary-bg);color:var(--button-secondary-text)}:root[data-theme=dark] .btn.ghost:hover,:root[data-theme=dark] .page-btn:hover:not(.active),:root[data-theme=dark] .mark:hover,:root[data-theme=dark] .clear-search:hover{border-color:var(--button-secondary-hover-border);background:var(--button-secondary-hover-bg);color:var(--button-secondary-hover-text);box-shadow:0 0 0 3px #5eead429}:root[data-theme=dark] .btn:focus-visible{border-color:#5eead4;outline:none;box-shadow:0 0 0 3px #5eead42e}:root[data-theme=dark] .coffee-btn:focus-visible{border-color:#5eead4;outline:none;box-shadow:0 0 0 3px #5eead42e}:root[data-theme=dark] .page-btn:focus-visible{border-color:#5eead4;outline:none;box-shadow:0 0 0 3px #5eead42e}:root[data-theme=dark] .mark:focus-visible{border-color:#5eead4;outline:none;box-shadow:0 0 0 3px #5eead42e}:root[data-theme=dark] .clear-search:focus-visible{border-color:#5eead4;outline:none;box-shadow:0 0 0 3px #5eead42e}:root[data-theme=dark] .btn:disabled,:root[data-theme=dark] .page-btn:disabled,:root[data-theme=dark] .mark:disabled,:root[data-theme=dark] .clear-search:disabled{color:#94a3b8bf;box-shadow:none;opacity:1;cursor:not-allowed;background:#0f172a73;border-color:#94a3b847}html body #root aside.sidebar.app-sidebar>.nav-section:first-of-type,html body #root .app-shell.light aside.sidebar.app-sidebar>.nav-section:first-of-type,html body #root .app-shell.dark aside.sidebar.app-sidebar>.nav-section:first-of-type,html[data-theme=light] body #root .app-shell.light aside.sidebar.app-sidebar>.nav-section:first-of-type,html[data-theme=dark] body #root .app-shell.dark aside.sidebar.app-sidebar>.nav-section:first-of-type{margin-top:var(--sidebar-logo-section-gap)!important;box-shadow:none!important;border-top:0!important}.app-sidebar .nav-section .nav-item{grid-template-columns:24px minmax(0,1fr);align-items:center;column-gap:12px;display:grid!important}.app-sidebar .nav-icon{color:currentColor;fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;opacity:.82;justify-self:center;width:20px;height:20px;transition:opacity .18s,transform .18s;display:block}.app-sidebar .nav-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-sidebar .nav-section .nav-item:hover .nav-icon,.app-sidebar .nav-section .nav-item.active .nav-icon{opacity:1}.app-sidebar .nav-section .nav-item.active .nav-icon{transform:translate(1px)}.app-sidebar .coffee-link{white-space:nowrap;justify-content:center;align-items:center;gap:8px;display:flex!important}.category-page .page-title{position:relative}.category-page .header-search{z-index:90;pointer-events:auto;width:min(100%,520px);margin-top:18px;position:sticky;top:72px}.category-page .header-search .search-panel{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.category-page .header-search .search-field{gap:8px;display:grid}.category-page .header-search .search-field>span{padding-left:0}.category-page .compact-search-control{width:100%;position:relative}.category-page .compact-search-control input{resize:none;border-radius:12px;width:100%;height:42px;min-height:42px;padding:0 14px 0 42px}.category-page .compact-search-icon{z-index:1;color:var(--text-secondary);pointer-events:none;font-size:18px;line-height:1;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.category-page .compact-search-control:focus-within .compact-search-icon{color:var(--accent-dark)}.reference-action-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.reference-action-group .btn,.reference-action-group .mark{white-space:nowrap}.focused-problem-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;margin-top:0;display:flex!important}.category-page .topic-tab:hover,.category-page .topic-tab.active,.category-page .topic-tab.active:hover{filter:none!important;-webkit-backdrop-filter:none!important}.category-page .topic-tab.done:before,.category-page .topic-tab.done:after{content:none!important;display:none!important}.category-page .topic-tab.done{overflow:hidden}.category-page .topic-tab.done .eyebrow{z-index:1;position:relative}@media (min-width:1100px){.category-page .header-search{top:8px;left:calc(var(--sidebar-width) + 250px);z-index:5000;width:clamp(280px,25vw,420px);margin-top:0;position:fixed}.category-page .header-search .search-field>span{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.category-page .compact-search-control input{background:var(--button-secondary-bg);height:38px;min-height:38px;box-shadow:var(--shadow-soft);border-radius:999px}}@media (min-width:1500px){.category-page .header-search{left:calc(var(--sidebar-width) + 300px);width:clamp(340px,28vw,520px)}}.app-shell .topbar,.app-shell.light .topbar,.app-shell.dark .topbar{isolation:isolate;z-index:1000!important;overflow:visible!important}@media (min-width:761px){.nav.topbar,.navbar.topbar,.topbar{grid-template-columns:minmax(180px,1fr) minmax(320px,700px) minmax(90px,1fr);align-items:center;gap:18px;display:grid}.topbar-title{justify-self:start;min-width:0;margin-right:0}.topbar .global-search{justify-self:center}.topbar .icon-btn{justify-self:end}}.topbar .global-search{z-index:1001;width:min(100%,700px);min-width:220px;max-width:700px;position:relative}.global-search-control{z-index:2;width:100%;display:block;position:relative}.global-search-control svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.global-search-control input{background:var(--button-secondary-bg);border:1px solid var(--border);width:100%;height:38px;min-height:38px;color:var(--text-primary);box-shadow:var(--shadow-soft);border-radius:999px;outline:none;padding:0 14px 0 42px}.global-search-control input::placeholder{color:var(--text-muted)}.global-search-control:focus-within svg{color:var(--accent-dark)}.global-search-control input:focus{border-color:var(--accent-dark);box-shadow:0 0 0 3px var(--accent-soft)}.global-search-panel,.global-search.global-search .global-search-panel.glass-lite{z-index:20002;isolation:isolate;border-radius:18px;max-height:min(70vh,520px);padding:12px;position:absolute;top:calc(100% + 12px);left:0;right:0;overflow-y:auto;background:var(--bg-card)!important;border:1px solid var(--border-strong,var(--border))!important;opacity:1!important;filter:none!important;-webkit-backdrop-filter:none!important;transform:none!important;box-shadow:0 24px 80px #000000b8,0 0 0 1px #ffffff0a!important}.global-search-panel:before{content:"";z-index:-1;border-radius:inherit;background:var(--bg-card);position:absolute;top:0;bottom:0;left:0;right:0}.global-search-head{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-weight:800;display:flex}.global-search-head button,.global-search-empty button{border:1px solid var(--border);background:var(--button-secondary-bg);color:var(--text-primary);cursor:pointer;border-radius:999px;padding:6px 10px;font-weight:800}.global-search-results{gap:8px;display:grid}.global-search-result{border:1px solid var(--border);color:var(--text-primary);border-radius:14px;gap:4px;padding:10px 12px;text-decoration:none;display:grid;box-shadow:0 1px #ffffff08;background:var(--bg-card)!important;opacity:1!important}.global-search-result:hover{border-color:var(--accent-dark);outline:none}.global-search-result:focus-visible{border-color:var(--accent-dark);outline:none}.global-search-result span,.global-search-result small,.global-search-status,.global-search-empty p{color:var(--text-secondary)}.global-search-result strong{font-size:.95rem}.global-search-result.done{border-color:var(--success-border,var(--accent-dark))}.global-search-empty{text-align:left;gap:8px;display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:980px) and (min-width:761px){.nav.topbar,.navbar.topbar,.topbar{grid-template-columns:minmax(140px,.85fr) minmax(260px,1.5fr) minmax(74px,.85fr);gap:12px}.topbar .global-search{width:min(100%,560px);min-width:0}}@media (max-width:760px){:root,.app-shell{--nav-height:126px}.app-shell{min-height:100vh!important;overflow:hidden auto!important}.app-shell .nav.topbar,.app-shell .navbar.topbar,.app-shell .topbar{top:0!important;left:auto!important;right:auto!important;z-index:5000!important;width:100%!important;height:var(--nav-height)!important;grid-template:"menu spacer theme"40px"search search search"1fr/48px minmax(0,1fr) auto!important;align-items:center!important;gap:10px 8px!important;padding:8px 12px 14px!important;display:grid!important;position:sticky!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;overflow:visible!important}.app-shell .topbar-title{display:none!important}.app-shell .topbar .mobile-menu-toggle{grid-area:menu!important;place-self:center start!important}.app-shell .topbar .icon-btn{grid-area:theme!important;place-self:center end!important;width:auto!important;min-width:72px!important;height:38px!important;margin:0!important;padding:0 14px!important;position:static!important;transform:none!important}.app-shell .topbar .global-search{order:initial!important;grid-area:search!important;place-self:center!important;width:min(100%,680px)!important;min-width:0!important;max-width:none!important;margin:0!important}.app-shell .topbar.is-menu-open .global-search{visibility:hidden!important;pointer-events:none!important}.app-shell .layout{height:auto!important;min-height:auto!important;padding-top:0!important;display:block!important;overflow:visible!important}.app-shell .page-wrap,.app-shell .main-content{height:auto!important;min-height:calc(100vh - var(--nav-height))!important;grid-column:auto!important;padding:24px 12px 80px!important;overflow:hidden visible!important}.global-search-control input{height:46px;min-height:46px;font-size:.95rem}.global-search-panel,.global-search.global-search .global-search-panel.glass-lite{top:calc(var(--nav-height,126px) + 8px);max-height:min(70vh,520px);position:fixed;left:12px;right:12px}}@media (max-width:420px){.app-shell .nav.topbar,.app-shell .navbar.topbar,.app-shell .topbar{grid-template-columns:44px minmax(0,1fr) auto!important;padding-inline-start:10px!important;padding-inline-end:10px!important}.app-shell .topbar .icon-btn{min-width:64px!important;padding-inline-start:10px!important;padding-inline-end:10px!important;font-size:.72rem!important}}:root{--sidebar-logo-section-gap:24px}aside.sidebar.app-sidebar>a.sidebar-logo{width:100%!important;height:var(--topbar-height,var(--nav-height))!important;min-height:var(--topbar-height,var(--nav-height))!important;max-height:var(--topbar-height,var(--nav-height))!important;border-bottom:1px solid var(--theme-border,var(--border))!important;box-shadow:none!important;color:var(--theme-text,var(--text-primary))!important;background:0 0!important;border-radius:0!important;justify-content:flex-start!important;align-items:center!important;margin:0!important;padding:0 20px!important;display:flex!important;overflow:hidden!important}aside.sidebar.app-sidebar>a.sidebar-logo:before,aside.sidebar.app-sidebar>a.sidebar-logo:after{content:none!important;display:none!important}aside.sidebar.app-sidebar>a.sidebar-logo>.brand-logo{width:208px!important;max-width:calc(var(--sidebar-width) - 40px)!important;height:auto!important;max-height:calc(var(--topbar-height,var(--nav-height)) - 14px)!important;object-fit:contain!important;object-position:left center!important;margin:0!important;display:block!important}aside.sidebar.app-sidebar>a.sidebar-logo>.logo-mark,aside.sidebar.app-sidebar>a.sidebar-logo>.logo-text{display:none!important}.app-shell.light aside.sidebar.app-sidebar>a.sidebar-logo>.brand-logo-light,html[data-theme=light] aside.sidebar.app-sidebar>a.sidebar-logo>.brand-logo-light{display:block!important}.app-shell.light aside.sidebar.app-sidebar>a.sidebar-logo>.brand-logo-dark,html[data-theme=light] aside.sidebar.app-sidebar>a.sidebar-logo>.brand-logo-dark,.app-shell.dark aside.sidebar.app-sidebar>a.sidebar-logo>.brand-logo-light,html[data-theme=dark] aside.sidebar.app-sidebar>a.sidebar-logo>.brand-logo-light{display:none!important}.app-shell.dark aside.sidebar.app-sidebar>a.sidebar-logo>.brand-logo-dark,html[data-theme=dark] aside.sidebar.app-sidebar>a.sidebar-logo>.brand-logo-dark{display:block!important}aside.sidebar.app-sidebar>.nav-section:first-of-type{margin-top:var(--sidebar-logo-section-gap)!important;box-shadow:none!important;border-top:0!important}@media (min-width:641px) and (max-width:900px){.app-shell .layout,.app-shell.light .layout,.app-shell.dark .layout{grid-template-columns:var(--sidebar-width) minmax(0, 1fr)!important;width:100%!important;height:100vh!important;display:grid!important;overflow:hidden!important}.app-shell .topbar,.app-shell.light .topbar,.app-shell.dark .topbar,.app-shell .nav,.app-shell.light .nav,.app-shell.dark .nav,.app-shell .navbar,.app-shell.light .navbar,.app-shell.dark .navbar{inset:0 0 auto var(--sidebar-width)!important}.app-shell .sidebar,.app-shell .app-sidebar,.app-shell.light .sidebar,.app-shell.light .app-sidebar,.app-shell.dark .sidebar,.app-shell.dark .app-sidebar{width:var(--sidebar-width)!important;border-radius:0!important;height:100vh!important;min-height:100vh!important;margin:0!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;right:auto!important}.app-shell .page-wrap,.app-shell .main-content,.app-shell.light .page-wrap,.app-shell.light .main-content,.app-shell.dark .page-wrap,.app-shell.dark .main-content{width:100%!important;height:100vh!important;min-height:100vh!important;padding:calc(var(--nav-height) + var(--page-top-gap)) var(--page-x) calc(var(--page-bottom-gap) + var(--footer-height))!important;grid-column:2!important;overflow:hidden auto!important}.app-shell .status-bar,.app-shell.light .status-bar,.app-shell.dark .status-bar{left:var(--sidebar-width)!important}}.problem-list-grid{grid-template-columns:1fr;gap:10px;display:grid}.compact-problem-card{min-height:auto;box-shadow:var(--shadow-soft,none);gap:8px;padding:13px 14px}.compact-problem-card .q-top{align-items:center}.compact-problem-card h3{font-size:1rem;line-height:1.28}.compact-problem-card .question-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.compact-problem-card .meta-strip{min-width:0}.compact-problem-card .pill,.compact-problem-card .time-pill,.compact-problem-card .type-pill{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.compact-problem-card .mark{white-space:nowrap;flex:none;min-height:30px;padding:6px 10px}@media (max-width:640px){.compact-problem-card{padding:12px}.compact-problem-card .q-top{align-items:flex-start}.compact-problem-card .mark{margin-left:auto}}
