:root{color:#e5eefc;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#08111f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}html{scroll-behavior:smooth}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}a,button{font:inherit}a{color:inherit}:focus-visible{outline-offset:3px;outline:2px solid #91d0ffe6}::selection{color:#f5f9ff;background:#6ea3ff42}img{max-width:100%;display:block}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e6eef8;--motion-fast:.14s;--motion-base:.18s;--motion-slow:.24s;--motion-ease:cubic-bezier(.22, 1, .36, 1);--motion-emphasis:cubic-bezier(.2, .8, .2, 1);--app-bg:radial-gradient(circle at top left, #6366f138, transparent 28%), radial-gradient(circle at top right, #38bdf829, transparent 24%), linear-gradient(180deg, #07111f 0%, #07111f 72%, #081423 100%);--panel-bg:#09101ee0;--panel-bg-strong:#0c1424f0;--panel-border:#94a3b829;--panel-muted-bg:#0f172ae0;--panel-soft-bg:#0f172ab8;--text-main:#e6eef8;--text-muted:#9fb0c8;--text-soft:#8fa1ba;--tag-bg:#1e293bb8;--input-bg:#0f172ae0;--question-bg:#0f172ac2;--question-hover-bg:#141f35e0;--surface-highlight:#38bdf81f;--surface-highlight-strong:#38bdf82e;--footer-bg:linear-gradient(180deg, #08122100 0%, #081221ad 18%, #081221eb 100%);--footer-divider:#7dd3fc1f;--button-shadow:0 10px 24px #07111f3d;--button-shadow-strong:0 18px 38px #0f172a52;--panel-shadow:0 24px 60px #02061738;--panel-shadow-soft:0 16px 34px #0206171f;--focus-ring:0 0 0 3px #38bdf829;--easy-color:#86efac;--easy-bg:#14532d40;--medium-color:#fcd34d;--medium-bg:#78350f40;--hard-color:#fca5a5;--hard-bg:#7f1d1d40;background:#07111f;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#122033;--app-bg:radial-gradient(circle at top left, #38bdf824, transparent 24%), radial-gradient(circle at top right, #6366f11a, transparent 22%), linear-gradient(180deg, #f8fbff 0%, #eff5fb 65%, #e8eff8 100%);--panel-bg:#ffffffdb;--panel-bg-strong:#fffffff5;--panel-border:#94a3b838;--panel-muted-bg:#f4f8fcfa;--panel-soft-bg:#f7fafdfa;--text-main:#122033;--text-muted:#52637a;--text-soft:#6b7d93;--tag-bg:#eaf0f8f2;--input-bg:#fffffff5;--question-bg:#f7fafdfa;--question-hover-bg:#eff5fb;--surface-highlight:#38bdf814;--surface-highlight-strong:#38bdf824;--footer-bg:linear-gradient(180deg, #e8eff800 0%, #e8eff8b3 18%, #e8eff8fa 100%);--footer-divider:#38bdf82e;--button-shadow:0 12px 24px #94a3b829;--button-shadow-strong:0 18px 36px #94a3b838;--panel-shadow:0 24px 60px #94a3b838;--panel-shadow-soft:0 16px 34px #94a3b824;--focus-ring:0 0 0 3px #38bdf824;--easy-color:#166534;--easy-bg:#bbf7d0b3;--medium-color:#92400e;--medium-bg:#fde68ac7;--hard-color:#b91c1c;--hard-bg:#fecacad1;background:#eef4fb}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--app-bg);min-width:320px;min-height:100vh;color:var(--text-main);margin:0}body:before{content:"";pointer-events:none;opacity:.9;background:radial-gradient(circle at 20% 10%,#7dd3fc14,#0000 24%),radial-gradient(circle at 80% 6%,#818cf814,#0000 22%);position:fixed;inset:0}button,select,input,textarea{font:inherit}button,select,input,textarea,.panel,.question-row,.example-card,.results-panel,.test-card,.optimal-solution-block,.header-stats div,.app-header,.about-footer,.panel-restore-bar,.workspace-tab,.theme-switcher,.runtime-pill{transition:background-color var(--motion-base) var(--motion-ease), border-color var(--motion-base) var(--motion-ease), box-shadow var(--motion-slow) var(--motion-ease), color var(--motion-fast) linear, opacity var(--motion-fast) linear, transform var(--motion-base) var(--motion-emphasis)}.app-shell{min-height:100vh;padding:24px;position:relative}.app-header{border:1px solid var(--panel-border);background:linear-gradient(180deg, color-mix(in srgb, var(--panel-bg-strong) 88%, transparent), color-mix(in srgb, var(--panel-bg) 96%, transparent));-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);width:min(1680px,100%);box-shadow:var(--panel-shadow);border-radius:28px;justify-content:space-between;align-items:center;gap:28px;margin:0 auto 20px;padding:24px 28px;display:flex}.header-intro{max-width:60ch}.app-header h1,.problem-header h2,.editor-header h2{margin:6px 0 0}.app-header h1{letter-spacing:-.04em;font-size:clamp(2rem,1.45rem + 1.5vw,3rem)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#7dd3fc;margin:0;font-size:.72rem}.subtle-text{color:var(--text-muted);margin:8px 0 0}.header-stats{gap:14px;display:flex}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center}.runtime-pill{white-space:nowrap;background:color-mix(in srgb, var(--surface-highlight) 58%, var(--tag-bg));border-color:#7dd3fc33;justify-content:center;align-self:stretch;align-items:center;min-height:52px;padding-inline:16px;font-weight:600;display:inline-flex}.theme-switcher{border:1px solid var(--panel-border);background:color-mix(in srgb, var(--panel-muted-bg) 84%, transparent);border-radius:16px;align-items:center;gap:8px;padding:6px;display:inline-flex}.theme-switcher .ghost-button{padding:9px 12px}.theme-switcher .ghost-button.is-active{background:var(--panel-bg-strong);box-shadow:inset 0 0 0 1px #38bdf82e}.header-stats div{background:var(--panel-muted-bg);border:1px solid var(--panel-border);border-radius:20px;min-width:96px;padding:13px 16px;box-shadow:inset 0 1px #ffffff0a}.stat-card strong{font-size:1.15rem}.header-stats strong,.header-stats span{display:block}.header-stats span{color:var(--text-soft);margin-top:6px}.layout-grid{grid-template-columns:minmax(280px,.9fr) minmax(420px,1.15fr) minmax(420px,1.15fr);align-items:stretch;gap:20px;width:min(1680px,100%);margin:0 auto;display:grid}.layout-grid.two-panels.sidebar-problem-layout,.layout-grid.two-panels.sidebar-workspace-layout{grid-template-columns:minmax(280px,.9fr) minmax(420px,1.25fr)}.layout-grid.two-panels.problem-workspace-layout{grid-template-columns:repeat(2,minmax(420px,1fr))}.layout-grid.one-panel{grid-template-columns:minmax(0,1fr)}.panel{border:1px solid var(--panel-border);background:linear-gradient(180deg, color-mix(in srgb, var(--panel-bg-strong) 92%, transparent), color-mix(in srgb, var(--panel-bg) 96%, transparent));-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);min-height:78vh;box-shadow:var(--panel-shadow-soft);min-width:0;animation:panel-enter var(--motion-slow) var(--motion-ease);border-radius:28px;flex-direction:column;padding:20px;display:flex;position:relative;overflow:hidden}.panel-section-accent{opacity:.85;background:linear-gradient(90deg,#0000 0%,#7dd3fca8 18%,#6366f18c 50%,#0000 100%);height:1px;position:absolute;inset:0 0 auto}.about-footer{border-top:1px solid var(--panel-border);background:var(--footer-bg);margin-top:24px;padding:32px 24px 40px}.about-footer-inner{border-top:1px solid var(--footer-divider);justify-content:space-between;gap:24px;width:min(1680px,100%);margin:0 auto;padding:28px 28px 0;display:flex}.about-copy{max-width:72ch}.about-copy h2{margin:8px 0 0;font-size:clamp(1.35rem,1.1rem + .9vw,1.9rem)}.about-footer .subtle-text{max-width:64ch}.about-meta{flex-wrap:wrap;place-content:flex-start flex-end;gap:10px;min-width:220px;padding-top:4px;display:flex}.about-meta .tag-pill{background:color-mix(in srgb, var(--panel-muted-bg) 75%, transparent)}.panel-restore-bar{border:1px solid var(--panel-border);background:color-mix(in srgb, var(--panel-bg) 82%, transparent);width:min(1680px,100%);animation:restore-bar-enter .2s var(--motion-ease);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 auto 18px;padding:14px 18px;display:flex}.panel-restore-actions,.panel-topbar,.panel-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-restore-actions,.panel-topbar,.panel-title-row,.question-row,.editor-actions,.panel-topbar>*,.panel-title-row>*,.question-row>*{min-width:0}.panel-title-row{width:100%}.panel-topbar{border-bottom:1px solid #94a3b81f;margin-bottom:18px;padding-bottom:16px}.sidebar-controls,.problem-header,.editor-header,.question-group-header,.meta-row,.control-row{gap:12px;display:flex}.control-row,.meta-row,.optimal-solution-header{flex-wrap:wrap}.sidebar-controls,.problem-header,.editor-header{flex-direction:column}.search-input,select,.editor-textarea{border:1px solid var(--panel-border);background:var(--input-bg);width:100%;color:var(--text-main);border-radius:16px}.search-input,select{padding:13px 14px}.search-input:hover,select:hover,.editor-textarea:hover{border-color:#94a3b84d}.search-input:focus,select:focus,.editor-textarea:focus{box-shadow:var(--focus-ring);border-color:#7dd3fc9e;outline:none}.sidebar-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.sidebar-summary div{border:1px solid var(--panel-border);background:color-mix(in srgb, var(--panel-muted-bg) 88%, transparent);border-radius:18px;padding:14px 16px}.sidebar-summary strong,.sidebar-summary span{display:block}.sidebar-summary strong{font-size:1.15rem}.sidebar-summary span{color:var(--text-soft);margin-top:5px}.question-list{flex-direction:column;flex:1;gap:20px;min-height:0;margin-top:6px;padding-right:4px;display:flex;overflow:auto}.question-group{flex-direction:column;gap:10px;display:flex}.question-group-header{justify-content:space-between;align-items:center;padding-inline:4px}.question-group-header h2,.content-block h3,.results-panel h3{margin:0}.question-row{text-align:left;border:1px solid var(--panel-border);background:var(--question-bg);width:100%;color:inherit;cursor:pointer;border-radius:20px;justify-content:space-between;align-items:center;gap:12px;padding:15px 16px;display:flex;position:relative;overflow:hidden}.question-row:before{content:"";background:0 0;width:3px;transition:inherit;position:absolute;inset:0 auto 0 0}.question-row:hover{background:var(--question-hover-bg);border-color:#94a3b852;transform:translateY(-1px);box-shadow:0 14px 28px #0206171a}.question-group{animation:fade-slide-up .22s var(--motion-ease)}.question-row:focus-visible{box-shadow:var(--focus-ring);border-color:#7dd3fcb8}.question-row strong,.question-row p{display:block}.question-row p{color:var(--text-muted);margin:6px 0 0;font-size:.92rem}.question-row.selected{background:color-mix(in srgb, var(--question-hover-bg) 84%, var(--surface-highlight));border-color:#38bdf8b3;box-shadow:0 0 0 1px #38bdf840,0 14px 30px #08122114}.question-row.selected:before{background:linear-gradient(#38bdf8 0%,#6366f1 100%)}.question-row.solved strong,.question-row.solved p{opacity:.74;-webkit-text-decoration:line-through #94a3b8a6;text-decoration:line-through #94a3b8a6;text-decoration-thickness:1px}.question-row.solved{border-color:#94a3b829}.question-list-empty{background:color-mix(in srgb, var(--panel-soft-bg) 70%, transparent);border:1px dashed #94a3b833;border-radius:18px;margin:0;padding:18px}.difficulty-pill,.tag-pill{border:1px solid #94a3b82e;border-radius:999px;align-items:center;padding:6px 10px;font-size:.82rem;display:inline-flex}.difficulty-pill.easy{color:var(--easy-color);background:var(--easy-bg)}.difficulty-pill.medium{color:var(--medium-color);background:var(--medium-bg)}.difficulty-pill.hard{color:var(--hard-color);background:var(--hard-bg)}.tag-pill{color:var(--text-main);background:var(--tag-bg)}.meta-row{flex-wrap:wrap;margin:18px 0}.content-block{background:color-mix(in srgb, var(--panel-soft-bg) 72%, transparent);border:1px solid color-mix(in srgb, var(--panel-border) 88%, transparent);border-radius:22px;margin-top:18px;padding:18px}.content-block h3{margin-bottom:12px}.content-block p,.content-block li,.example-card p,.test-card p{color:var(--text-main);line-height:1.6}.optimal-solution-block{background:color-mix(in srgb, var(--surface-highlight) 80%, transparent);border:1px solid #7dd3fc2e;border-radius:22px;padding:18px}.optimal-solution-block.is-revealed{border-color:#7dd3fc52;box-shadow:inset 0 1px #ffffff0a,0 16px 28px #08122114}.optimal-solution-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.card-actions{gap:10px;margin-top:16px;display:flex}.card-actions-bottom-right{justify-content:flex-end;align-items:center}.optimal-solution-note{max-width:56ch}.optimal-solution-list{animation:reveal-content .22s var(--motion-ease);transform-origin:top;margin:14px 0 0;padding-left:18px}.card-actions .subtle-text{margin:0}.example-card,.results-panel,.test-card{border:1px solid var(--panel-border);background:var(--panel-soft-bg);border-radius:20px;padding:16px}.example-card+.example-card,.test-card+.test-card{margin-top:12px}.problem-panel,.editor-panel{overflow-y:auto}.problem-panel,.editor-panel,.sidebar-panel{scrollbar-gutter:stable}.editor-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.workspace-tabs{border:1px solid var(--panel-border);background:color-mix(in srgb, var(--panel-muted-bg) 84%, transparent);border-radius:16px;flex-shrink:0;align-items:center;gap:8px;padding:6px;display:inline-flex}.workspace-tab{padding:9px 14px}.workspace-tab.is-active{background:var(--panel-bg-strong);box-shadow:inset 0 0 0 1px #38bdf82e}.editor-actions .primary-button{margin-left:auto}.editor-actions>*{min-width:0}.ghost-button,.primary-button{cursor:pointer;will-change:transform;border:none;border-radius:14px;padding:10px 15px;font-weight:600}.ghost-button{background:var(--panel-muted-bg);color:var(--text-main);border:1px solid var(--panel-border)}.ghost-button.is-active{background:var(--panel-bg-strong);border-color:#38bdf84d}select option{color:#122033}.primary-button{color:#fff;background:linear-gradient(135deg,#38bdf8,#6366f1);font-weight:700;box-shadow:inset 0 1px #ffffff2e}.ghost-button:hover:not(:disabled),.primary-button:hover:not(:disabled){transform:translateY(-1px)}.primary-button:hover:not(:disabled){box-shadow:var(--button-shadow-strong)}.ghost-button:hover:not(:disabled){background:color-mix(in srgb, var(--panel-muted-bg) 90%, var(--surface-highlight));border-color:#94a3b847}.ghost-button:active:not(:disabled),.primary-button:active:not(:disabled){transform:translateY(0)}.primary-button:active:not(:disabled){box-shadow:none}.ghost-button:focus-visible,.primary-button:focus-visible,.workspace-tab:focus-visible,.question-row:focus-visible{outline:none}.ghost-button:disabled,.primary-button:disabled,.question-row:disabled{cursor:not-allowed;opacity:.6}.editor-shell{border:1px solid var(--panel-border);border-radius:22px;min-height:clamp(360px,52vh,720px);margin-top:14px;overflow:hidden;box-shadow:inset 0 1px #ffffff08}.editor-shell>section{min-height:inherit}.results-panel{margin-top:18px}.results-panel h3{margin-bottom:8px}.result-summary{font-weight:700}.question-row strong,.problem-header h2,.editor-header h2,.results-panel p,.test-card p{overflow-wrap:anywhere}.test-results{flex-direction:column;gap:12px;display:flex}.test-card.passed{background:color-mix(in srgb, var(--panel-soft-bg) 82%, #22c55e1a);border-color:#22c55e61}.test-card.failed{background:color-mix(in srgb, var(--panel-soft-bg) 82%, #f8717114);border-color:#f8717161}.error-text{color:#f87171}@keyframes fade-slide-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-content{0%{opacity:0;transform:translateY(4px)scaleY(.985)}to{opacity:1;transform:translateY(0)scaleY(1)}}@keyframes panel-enter{0%{opacity:0;transform:translateY(8px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes restore-bar-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}button,select,input,textarea,.panel,.question-row,.example-card,.results-panel,.test-card,.optimal-solution-block,.header-stats div,.app-header,.about-footer,.panel-restore-bar,.workspace-tab,.theme-switcher,.runtime-pill,.question-group,.optimal-solution-list,.card-actions{transition:none;animation:none}.ghost-button:hover:not(:disabled),.primary-button:hover:not(:disabled),.question-row:hover{box-shadow:none;transform:none}.ghost-button,.primary-button{will-change:auto}}@media (width<=1280px){.layout-grid{grid-template-columns:minmax(240px,.8fr) minmax(320px,1fr) minmax(320px,1fr)}}@media (width<=1100px){.layout-grid,.layout-grid.two-panels.sidebar-problem-layout,.layout-grid.two-panels.sidebar-workspace-layout,.layout-grid.two-panels.problem-workspace-layout{grid-template-columns:1fr 1fr}.sidebar-panel{grid-column:1/-1;min-height:420px}.problem-panel,.editor-panel{min-height:60vh}}@media (width<=820px){.app-shell{padding:16px}.layout-grid,.layout-grid.two-panels,.layout-grid.one-panel{grid-template-columns:1fr}.panel,.sidebar-panel,.problem-panel,.editor-panel{min-height:auto}.question-list{max-height:420px}.app-header,.panel-restore-bar,.panel-topbar,.panel-title-row,.about-footer-inner,.theme-switcher,.workspace-tabs{flex-direction:column;align-items:flex-start}.sidebar-summary{grid-template-columns:1fr}.editor-actions .primary-button{margin-left:0}.about-footer{margin-top:20px;padding:24px 16px 32px}.about-footer-inner{padding:24px 0 0}.about-meta{justify-content:flex-start;min-width:0}.header-stats{flex-wrap:wrap;width:100%}}
