@font-face{font-family:plexSans;src:url(../media/IBMPlexSans_Regular_Latin1-s.p.43q90wiqyhwlb.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:plexSans;src:url(../media/IBMPlexSans_Italic_Latin1-s.p.1lv6tyl3g7mpv.woff2)format("woff2");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:plexSans;src:url(../media/IBMPlexSans_Medium_Latin1-s.p.1my6hem6b9vxn.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:plexSans;src:url(../media/IBMPlexSans_SemiBold_Latin1-s.p.0m_mu9yh_5a_v.woff2)format("woff2");font-display:swap;font-weight:600}@font-face{font-family:plexSans Fallback;src:local(Arial);ascent-override:101.35%;descent-override:27.19%;line-gap-override:0.0%;size-adjust:101.13%}._0aahFq_className{font-family:plexSans,plexSans Fallback,system-ui,Segoe UI,Arial,sans-serif}._0aahFq_variable{--font-plex-sans:"plexSans", "plexSans Fallback", system-ui, Segoe UI, Arial, sans-serif}
@font-face{font-family:fraunces;src:url(../media/Fraunces72ptSoft_SemiBold-s.p.0eu_r3gbaa_7h.woff2)format("woff2");font-display:swap;font-weight:600}@font-face{font-family:fraunces Fallback;src:local(Arial);ascent-override:97.59%;descent-override:25.45%;line-gap-override:0.0%;size-adjust:100.21%}.s3COla_className{font-family:fraunces,fraunces Fallback,Georgia,serif}.s3COla_variable{--font-fraunces:"fraunces", "fraunces Fallback", Georgia, serif}
@font-face{font-family:jetbrainsMono;src:url(../media/JetBrainsMono_Regular-s.1rfjn6e-wskeg.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:jetbrainsMono Fallback;src:local(Arial);ascent-override:77.57%;descent-override:22.82%;line-gap-override:0.0%;size-adjust:131.49%}.ShLHNG_className{font-family:jetbrainsMono,jetbrainsMono Fallback,ui-monospace,Menlo,monospace}.ShLHNG_variable{--font-jetbrains-mono:"jetbrainsMono", "jetbrainsMono Fallback", ui-monospace, Menlo, monospace}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:var(--font-plex-sans), "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:var(--font-fraunces), "Fraunces", Georgia, serif;--font-mono:var(--font-jetbrains-mono), "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--font-size-caption:12px;--font-size-small:13px;--font-size-body:15px;--font-size-reading:16px;--font-size-lead:18px;--font-size-title:20px;--font-size-heading:26px;--font-size-display:34px;--font-size-hero:clamp(36px, 5.2vw, 60px);--line-height-tight:1.15;--line-height-body:1.55;--line-height-reading:1.7;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--shadow-sm:0 1px 2px var(--color-shadow);--shadow-md:0 1px 2px var(--color-shadow), 0 6px 18px var(--color-shadow);--shadow-lg:0 2px 6px var(--color-shadow), 0 18px 48px var(--color-shadow);--measure:72ch;--color-page:#f7f5f0;--color-surface:#fff;--color-surface-raised:#fcfbf8;--color-surface-sunken:#f1eee7;--color-surface-hover:#f4f1ea;--color-surface-inverse:#161a23;--color-text:#161a23;--color-text-secondary:#4a505c;--color-text-muted:#5f6573;--color-text-inverse:#f7f5f0;--color-line:#e4dfd5;--color-line-strong:#d3cdc0;--color-control-border:#8a8577;--color-placeholder:#5f6573;--color-brand:#2f49c8;--color-brand-hover:#2539a6;--color-brand-soft:#e8ecfb;--color-brand-soft-strong:#d4dcf8;--color-brand-line:#b9c5f1;--color-brand-line-strong:#7f93e0;--color-accent:#e0612f;--color-accent-text:#b8431c;--color-accent-soft:#fbe9df;--color-action:var(--color-brand);--color-action-hover:var(--color-brand-hover);--color-on-action:#fff;--color-link:var(--color-brand);--color-focus:#2f49c8;--color-focus-ring:#b9c5f1;--color-success:#17694a;--color-success-soft:#e1f2e8;--color-success-line:#a9d6bd;--color-warning:#8a4f00;--color-warning-soft:#fbeed6;--color-warning-line:#ecc98a;--color-danger:#a8302b;--color-danger-soft:#fbe4e1;--color-danger-line:#efb3ad;--color-scrollbar:#b9b3a6;--color-shadow:#2a221414;--color-backdrop:#11141bb3;--color-logo-tile:#fff;--color-logo-tile-line:#e4dfd5;--tag-easy-fg:#17694a;--tag-easy-bg:#e1f2e8;--tag-medium-fg:#8a4f00;--tag-medium-bg:#fbeed6;--tag-hard-fg:#a8302b;--tag-hard-bg:#fbe4e1;--tag-coding-fg:#2f3fa8;--tag-coding-bg:#e8ebfa;--tag-sql-fg:#0b6463;--tag-sql-bg:#dbf1ef;--tag-design-fg:#74328a;--tag-design-bg:#f3e5f6;--tag-ml-fg:#9a2c57;--tag-ml-bg:#fae2eb;--tag-ood-fg:#6a5710;--tag-ood-bg:#f2ecd2;--tag-neutral-fg:#4a505c;--tag-neutral-bg:#efece5;--code-bg:#f6f4ee;--code-text:#1f2430;--code-comment:#6a6f7a;--code-keyword:#8a2d8f;--code-string:#17694a;--code-number:#a14600;--code-title:#2f49c8;--code-built-in:#0b6463;--code-meta:#6a5710;--editor-bg:var(--color-surface);--editor-text:var(--code-text);--editor-comment:#5f6573;--editor-gutter-bg:var(--color-surface-raised);--editor-gutter-text:var(--color-text-muted);--editor-gutter-active-text:var(--color-text);--editor-active-line:#f6f4ee;--editor-selection:#dde3f9;--editor-cursor:var(--color-brand);--editor-bracket-bg:#e1f2e8;--editor-bracket-line:#17694a;--run-output-bg:var(--color-surface-sunken);--run-error-text:var(--color-danger);--background:var(--color-page);--surface:var(--color-surface);--ink:var(--color-text);--muted:var(--color-text-muted);--line:var(--color-line);--blue:var(--color-action);--blue-hover:var(--color-action-hover);--blue-soft:var(--color-brand-soft);--green:var(--color-success)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-page:#0e1117;--color-surface:#171b23;--color-surface-raised:#1a1f28;--color-surface-sunken:#1e232d;--color-surface-hover:#222834;--color-surface-inverse:#ece8e0;--color-text:#ece8e0;--color-text-secondary:#c4bfb5;--color-text-muted:#a29d93;--color-text-inverse:#161a23;--color-line:#2a303c;--color-line-strong:#363d4b;--color-control-border:#6b7383;--color-placeholder:#a29d93;--color-brand:#9db0ff;--color-brand-hover:#b9c6ff;--color-brand-soft:#1c2550;--color-brand-soft-strong:#26326b;--color-brand-line:#34417e;--color-brand-line-strong:#5a6cc0;--color-accent:#f08a5d;--color-accent-text:#f4a27c;--color-accent-soft:#3a2116;--color-on-action:#0b1020;--color-focus:#9db0ff;--color-focus-ring:#34417e;--color-success:#7fd6a8;--color-success-soft:#163126;--color-success-line:#2b5a44;--color-warning:#f2c27a;--color-warning-soft:#3a2a10;--color-warning-line:#6b4f20;--color-danger:#ff9c93;--color-danger-soft:#3e1b19;--color-danger-line:#6e3330;--color-scrollbar:#4a5160;--color-shadow:#00000059;--color-backdrop:#05070bcc;--color-logo-tile:#f7f5f0;--color-logo-tile-line:#f7f5f0;--tag-easy-fg:#7fd6a8;--tag-easy-bg:#163126;--tag-medium-fg:#f2c27a;--tag-medium-bg:#3a2a10;--tag-hard-fg:#ff9c93;--tag-hard-bg:#3e1b19;--tag-coding-fg:#b9c6ff;--tag-coding-bg:#1f2856;--tag-sql-fg:#7fdcd5;--tag-sql-bg:#10302f;--tag-design-fg:#e3b2f0;--tag-design-bg:#34203b;--tag-ml-fg:#ffa8c8;--tag-ml-bg:#3d1a28;--tag-ood-fg:#e6d38a;--tag-ood-bg:#332c12;--tag-neutral-fg:#c4bfb5;--tag-neutral-bg:#242a35;--code-bg:#12161d;--code-text:#e6e2da;--code-comment:#8f96a3;--code-keyword:#e3a6f2;--code-string:#8fdcb0;--code-number:#f6b77e;--code-title:#a9bbff;--code-built-in:#7fdcd5;--code-meta:#e6d38a;--editor-bg:var(--color-surface);--editor-text:var(--code-text);--editor-comment:#a29d93;--editor-gutter-bg:var(--color-surface-raised);--editor-gutter-text:var(--color-text-muted);--editor-gutter-active-text:var(--color-text);--editor-active-line:#1e232d;--editor-selection:#263052;--editor-cursor:var(--color-brand);--editor-bracket-bg:#163126;--editor-bracket-line:#7fd6a8;--run-output-bg:var(--color-surface-sunken);--run-error-text:var(--color-danger)}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-page:#0e1117;--color-surface:#171b23;--color-surface-raised:#1a1f28;--color-surface-sunken:#1e232d;--color-surface-hover:#222834;--color-surface-inverse:#ece8e0;--color-text:#ece8e0;--color-text-secondary:#c4bfb5;--color-text-muted:#a29d93;--color-text-inverse:#161a23;--color-line:#2a303c;--color-line-strong:#363d4b;--color-control-border:#6b7383;--color-placeholder:#a29d93;--color-brand:#9db0ff;--color-brand-hover:#b9c6ff;--color-brand-soft:#1c2550;--color-brand-soft-strong:#26326b;--color-brand-line:#34417e;--color-brand-line-strong:#5a6cc0;--color-accent:#f08a5d;--color-accent-text:#f4a27c;--color-accent-soft:#3a2116;--color-on-action:#0b1020;--color-focus:#9db0ff;--color-focus-ring:#34417e;--color-success:#7fd6a8;--color-success-soft:#163126;--color-success-line:#2b5a44;--color-warning:#f2c27a;--color-warning-soft:#3a2a10;--color-warning-line:#6b4f20;--color-danger:#ff9c93;--color-danger-soft:#3e1b19;--color-danger-line:#6e3330;--color-scrollbar:#4a5160;--color-shadow:#00000059;--color-backdrop:#05070bcc;--color-logo-tile:#f7f5f0;--color-logo-tile-line:#f7f5f0;--tag-easy-fg:#7fd6a8;--tag-easy-bg:#163126;--tag-medium-fg:#f2c27a;--tag-medium-bg:#3a2a10;--tag-hard-fg:#ff9c93;--tag-hard-bg:#3e1b19;--tag-coding-fg:#b9c6ff;--tag-coding-bg:#1f2856;--tag-sql-fg:#7fdcd5;--tag-sql-bg:#10302f;--tag-design-fg:#e3b2f0;--tag-design-bg:#34203b;--tag-ml-fg:#ffa8c8;--tag-ml-bg:#3d1a28;--tag-ood-fg:#e6d38a;--tag-ood-bg:#332c12;--tag-neutral-fg:#c4bfb5;--tag-neutral-bg:#242a35;--code-bg:#12161d;--code-text:#e6e2da;--code-comment:#8f96a3;--code-keyword:#e3a6f2;--code-string:#8fdcb0;--code-number:#f6b77e;--code-title:#a9bbff;--code-built-in:#7fdcd5;--code-meta:#e6d38a;--editor-bg:var(--color-surface);--editor-text:var(--code-text);--editor-comment:#a29d93;--editor-gutter-bg:var(--color-surface-raised);--editor-gutter-text:var(--color-text-muted);--editor-gutter-active-text:var(--color-text);--editor-active-line:#1e232d;--editor-selection:#263052;--editor-cursor:var(--color-brand);--editor-bracket-bg:#163126;--editor-bracket-line:#7fd6a8;--run-output-bg:var(--color-surface-sunken);--run-error-text:var(--color-danger)}*{box-sizing:border-box}body{background:var(--color-page);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);-webkit-font-smoothing:antialiased;font-feature-settings:"kern", "liga";margin:0}button,input,select,textarea{font:inherit}code,pre,kbd,.code-area textarea{font-variant-ligatures:none}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button,a{transition:background-color .14s,color .14s,border-color .14s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}input,textarea,select{color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:1}a{color:inherit;text-decoration:none}svg{flex-shrink:0}h1,h2,h3,p{margin:0}button{background:0 0;border:0}::selection{background:var(--color-brand-soft-strong)}.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}.skip-link{z-index:100;background:var(--color-surface);border-radius:6px;padding:12px;position:fixed;top:-100px;left:12px}.skip-link:focus{top:12px}.app-shell{min-height:100vh}.sidebar{background:var(--color-surface-raised);border-right:1px solid var(--color-line);z-index:20;flex-direction:column;width:232px;padding:31px 18px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:10px;width:fit-content;padding:0 10px;font-size:28px;font-weight:600;display:flex}.brand-mark{background:var(--color-action);width:34px;height:34px;color:var(--color-on-action);box-shadow:var(--shadow-sm);border-radius:10px;place-items:center;display:grid}.brand-dot{color:var(--color-accent)}.workspace-label{color:var(--color-text-muted);letter-spacing:.025em;padding:31px 13px 11px;font-size:12px;font-weight:500}.sidebar nav{gap:5px;display:grid}.nav-link{color:var(--color-text-secondary);font-size:var(--font-size-body);border-radius:var(--radius);white-space:nowrap;align-items:center;gap:11px;min-height:44px;padding:10px 12px;font-weight:500;display:flex}.nav-link:hover{background:var(--color-surface-sunken);color:var(--ink)}.nav-link.active{background:var(--color-surface);color:var(--color-text);box-shadow:inset 3px 0 0 var(--color-accent), var(--shadow-sm);font-weight:600}.nav-link.active svg{color:var(--color-brand)}.nav-link small{background:var(--color-brand-soft);border-radius:5px;margin-left:auto;padding:0 5px;font-size:12px}.sidebar-middle{flex:1}.company-shortcuts{font-size:var(--font-size-small);gap:4px;padding:0 12px;display:grid}.shortcut-label{color:var(--color-text-secondary);font-size:var(--font-size-caption);letter-spacing:.04em;text-transform:uppercase;margin-top:8px;font-weight:600}.shortcut-link{border-radius:var(--radius);color:var(--color-text);white-space:nowrap;align-items:center;gap:9px;margin-inline:-8px;padding:6px 8px;display:flex;overflow:hidden}.shortcut-link>span:last-child{text-overflow:ellipsis;overflow:hidden}.shortcut-link.is-target{font-weight:600}.shortcut-link:hover,.shortcut-link.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.sidebar-rule{border-top:1px solid var(--line);margin:27px 13px}.sidebar-plan{padding:1px 13px}.sidebar-plan-icon{color:var(--color-link);margin-bottom:14px;display:inline-flex}.sidebar-plan strong{font-size:15px;font-weight:600;line-height:1.5;display:block}.sidebar-plan p{color:var(--muted);max-width:153px;margin:9px 0 14px;font-size:12px;line-height:1.7}.sidebar-plan-link{color:var(--blue);align-items:center;gap:7px;padding:0;font-size:12px;font-weight:600;display:flex}.sidebar-plan-link:hover{color:var(--blue-hover);text-decoration:underline}.local-profile{border-top:1px solid var(--line);text-align:left;align-items:center;gap:10px;width:100%;margin-top:38px;padding:17px 4px 0;display:flex}.local-profile>svg{color:var(--muted);margin-left:auto}.sidebar-plan-badge{margin:10px 0 0 4px}.dialog-plan{margin:0 0 16px}.theme-toggle{border-radius:var(--radius-pill);width:36px;height:36px;color:var(--color-text-secondary);place-items:center;display:inline-grid}.theme-toggle:hover{background:var(--color-surface-sunken);color:var(--color-text)}.avatar{background:var(--color-warning-soft);border:1px solid var(--color-warning-line);width:32px;height:32px;color:var(--color-text-secondary);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid}.avatar.is-guest{background:var(--color-page);border-color:var(--color-control-border);color:var(--color-text-muted)}.local-profile strong{font-size:var(--font-size-caption);font-weight:600;display:block}.local-profile small{font-size:var(--font-size-caption);color:var(--muted);align-items:center;gap:5px;margin-top:2px;display:flex}.local-dot{background:var(--color-success);border-radius:50%;width:5px;height:5px}.local-dot.is-guest{background:var(--color-text-muted)}.main-shell{margin-left:232px}.topbar{border-bottom:1px solid var(--color-line);background:var(--color-page);align-items:center;gap:16px;height:64px;padding:0 40px;display:flex}.breadcrumb{flex:auto;min-width:0}.breadcrumb ol{min-width:0;font-size:var(--font-size-small);color:var(--color-text-muted);align-items:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.breadcrumb li{white-space:nowrap;align-items:center;gap:8px;min-width:0;display:flex}.breadcrumb li:last-child{flex:auto}.breadcrumb li>a,.breadcrumb li>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.breadcrumb a:hover{color:var(--color-action);text-decoration:underline}.breadcrumb [aria-current=page]{color:var(--color-text);font-weight:500}.breadcrumb svg{flex-shrink:0}.topbar-actions{flex-shrink:0;align-items:center;gap:12px;margin-left:auto;display:flex}.local-badge{font-size:var(--font-size-caption);color:var(--color-text-muted);border-radius:6px;align-items:center;gap:7px;padding:7px 9px;display:flex}.local-badge.is-failed,.local-badge.is-conflict{color:var(--color-danger);background:var(--color-danger-soft)}.local-badge:hover{background:var(--background)}.local-badge>span{background:var(--color-scrollbar);border-radius:50%;width:5px;height:5px}.main-content{outline:0;max-width:1540px;margin:0 auto;padding:36px 40px 0}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;display:flex}h1{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(28px,2.8vw,36px);font-weight:600;line-height:1.15}.page-heading p{color:var(--color-text-secondary);font-size:var(--font-size-body);margin-top:8px}.button{border-radius:var(--radius);min-height:42px;font-weight:600;font-size:var(--font-size-small);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;line-height:1.4;transition:background-color .14s,color .14s,border-color .14s,box-shadow .14s;display:inline-flex}.button.large{min-height:50px;font-size:var(--font-size-reading);border-radius:var(--radius-lg);padding:12px 22px}.button.primary{background:var(--color-action);color:var(--color-on-action);box-shadow:0 1px 0 #ffffff26 inset, 0 1px 2px var(--color-shadow), 0 4px 12px var(--color-shadow)}.button.primary:hover:not(:disabled){background:var(--color-action-hover)}.button.secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-line-strong);box-shadow:var(--shadow-sm)}.button.secondary:hover:not(:disabled){border-color:var(--color-control-border);background:var(--color-surface-hover)}.button.selected-button{color:var(--color-link);border-color:var(--color-brand-line);background:var(--color-brand-soft)}.button.completed-button{color:var(--color-success);background:var(--color-success-soft);border-color:var(--color-success-line)}.full-width{width:100%}.panel{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.overview-stats{border:1px solid var(--line);border-radius:var(--radius);background:var(--color-surface);grid-template-columns:repeat(3,1fr);margin-bottom:26px;padding:23px 0;display:grid}.overview-stats>div{align-items:center;gap:14px;padding:0 25px;display:flex}.overview-stats>div+div{border-left:1px solid var(--line)}.stat-icon{border-radius:10px;flex-shrink:0;place-items:center;width:41px;height:41px;display:grid}.stat-icon.blue{background:var(--color-brand-soft);color:var(--color-link)}.stat-icon.green{background:var(--color-success-soft);color:var(--color-success)}.stat-icon.amber{background:var(--color-warning-soft);color:var(--color-warning)}.overview-stats strong{letter-spacing:-.8px;font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;font-size:25px;font-weight:600;line-height:1.2;display:flex}.overview-stats strong span{letter-spacing:0;color:var(--color-text-secondary);font-size:12px;font-weight:500}.overview-stats small{color:var(--color-text-muted);margin-top:5px;font-size:12px;display:block}.overview-feature-grid{grid-template-columns:minmax(0,1.7fr) minmax(275px,1fr);gap:24px;display:grid}.next-problem{background:var(--color-brand-soft);border:1px solid var(--color-brand-line);border-radius:var(--radius);padding:25px 29px 27px;position:relative;overflow:hidden}.next-problem>:not(.feature-decoration){z-index:1;position:relative}.feature-topline{color:var(--color-link);justify-content:space-between;align-items:center;display:flex}.feature-topline>span{color:var(--color-text-muted);align-items:center;gap:7px;font-size:12px;font-weight:500;display:flex}.tiny-blue-dot{background:var(--color-action);border-radius:50%;width:5px;height:5px}.next-problem h2{letter-spacing:-.75px;max-width:90%;margin-top:22px;font-size:25px;font-weight:600;line-height:1.3}.feature-tags{color:var(--color-text-secondary);align-items:center;gap:12px;margin-top:12px;font-size:12px;display:flex}.next-problem p{max-width:335px;color:var(--color-text-muted);margin:19px 0 21px;font-size:12px;line-height:1.8}.next-problem .button{padding-inline:17px}.feature-decoration{color:var(--color-brand-line);font-family:var(--font-mono);pointer-events:none;align-items:center;gap:9px;font-size:93px;font-weight:400;line-height:1;display:flex;position:absolute;bottom:15px;right:22px;transform:rotate(-8deg)}.feature-decoration i{background:var(--color-brand-soft-strong);border-radius:50%;width:14px;height:14px}.plan-preview{flex-direction:column;padding:23px 23px 22px;display:flex}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-heading h2{letter-spacing:-.15px;font-size:14px;font-weight:600}.section-heading>svg{color:var(--color-text-muted)}.section-heading.outside{min-height:24px;margin:28px 0 14px}.section-heading.outside h2{font-size:15px}.plan-progress{align-items:center;gap:18px;margin:20px 0 16px;display:flex}.progress-ring{flex-shrink:0;place-items:center;width:79px;height:79px;display:grid;position:relative}.progress-ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.progress-ring circle{fill:none;stroke-width:5px}.ring-track{stroke:var(--color-line)}.ring-fill{stroke:var(--blue);stroke-linecap:round}.progress-ring>span{letter-spacing:-.7px;font-size:22px;font-weight:600}.progress-ring small{color:var(--color-text-secondary);margin-left:2px;font-size:13px}.plan-progress strong{font-size:15px;font-weight:600}.plan-progress p{color:var(--color-text-muted);margin-top:4px;font-size:12px}.plan-preview-copy{color:var(--muted);margin-bottom:19px;font-size:12px;line-height:1.8}.plan-preview .button{margin-top:auto}.overview-bottom-grid{grid-template-columns:minmax(0,1.7fr) minmax(275px,1fr);gap:24px;display:grid}.text-button{color:var(--blue);align-items:center;gap:5px;padding:4px 0;font-size:12px;font-weight:500;display:inline-flex}.text-button:hover{text-decoration:underline}.problem-row{grid-template-columns:25px minmax(0,1fr) 125px 74px 32px;align-items:center;gap:13px;min-height:74px;padding:15px 20px;transition:background-color .14s;display:grid}.problem-row+.problem-row{border-top:1px solid var(--color-line)}.problem-row:hover{background:var(--color-surface-raised)}.row-status{place-items:center;display:grid}.row-status.is-complete{color:var(--color-success)}.status-dot{border:1.5px solid var(--color-line);border-radius:50%;width:15px;height:15px}.problem-name{text-align:left;flex-direction:column;justify-content:center;align-self:stretch;gap:3px;min-width:0;padding:0;display:flex}.problem-name>span{font-size:12px;font-weight:500;line-height:1.5}.problem-name:hover>span{color:var(--blue)}.problem-name small{color:var(--color-text-muted);font-size:12px;font-weight:400}.row-company,.row-company small{color:var(--color-text-muted);font-size:12px}.difficulty,.type-tag{width:fit-content;min-height:22px;font-size:var(--font-size-caption);border-radius:var(--radius-pill);color:var(--tag-neutral-fg);background:var(--tag-neutral-bg);letter-spacing:.01em;white-space:nowrap;align-items:center;gap:5px;padding:2px 9px;font-weight:600;line-height:1.4;display:inline-flex}.difficulty:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.difficulty.easy{color:var(--tag-easy-fg);background:var(--tag-easy-bg)}.difficulty.medium{color:var(--tag-medium-fg);background:var(--tag-medium-bg)}.difficulty.hard{color:var(--tag-hard-fg);background:var(--tag-hard-bg)}.type-tag{border-radius:var(--radius-sm);font-weight:500}.tone-coding{color:var(--tag-coding-fg);background:var(--tag-coding-bg)}.tone-sql{color:var(--tag-sql-fg);background:var(--tag-sql-bg)}.tone-design{color:var(--tag-design-fg);background:var(--tag-design-bg)}.tone-ml{color:var(--tag-ml-fg);background:var(--tag-ml-bg)}.tone-ood{color:var(--tag-ood-fg);background:var(--tag-ood-bg)}.icon-button{width:32px;height:32px;color:var(--color-text-muted);border-radius:6px;justify-content:center;align-items:center;padding:6px;display:inline-flex}.icon-button:hover:not(:disabled){background:var(--color-brand-soft);color:var(--blue)}.icon-button.is-saved{color:var(--blue)}.compact-table .problem-row{grid-template-columns:19px minmax(0,1fr) 62px 27px;gap:10px;padding:15px 17px}.compact-table .row-company{display:none}.compact-table .problem-name>span{font-size:12px}.compact-table .difficulty{padding:3px 6px;font-size:12px}.quiet-tip{align-items:center;gap:13px;margin:19px 3px 0;display:flex}.tip-mark{color:var(--color-text-muted);align-self:flex-start;margin-top:2px}.quiet-tip p{color:var(--color-text-muted);font-size:12px;line-height:1.8}.quiet-tip strong{color:var(--color-text-secondary);font-weight:500}.company-list{padding:7px 18px}.company-list button{text-align:left;align-items:center;gap:12px;width:100%;min-height:55px;padding:11px 0;display:flex}.company-list button+button{border-top:1px solid var(--color-line)}.company-list button:hover strong{color:var(--blue)}.company-avatar{border:1px solid var(--color-line);width:29px;height:29px;color:var(--color-text-muted);background:var(--color-surface-raised);border-radius:8px;place-items:center;font-weight:700;display:grid}.company-tone-1{color:var(--color-warning)}.company-tone-2{color:var(--color-text-muted)}.company-tone-3{color:var(--color-success)}.company-tone-4{color:var(--color-text-muted)}.company-list strong{font-size:12px;font-weight:500}.company-list button>span:last-of-type{color:var(--color-text-muted);margin-left:auto;font-size:12px}.company-list button>svg{color:var(--color-text-muted)}.company-note{color:var(--color-text-muted);margin:11px 2px;font-size:12px}.page-footer{border-top:1px solid var(--color-line);color:var(--color-text-muted);font-size:var(--font-size-caption);gap:8px;margin-top:32px;padding:24px 0 28px;display:grid}.page-disclaimer{max-width:90ch;line-height:1.6}.mini-brand{color:var(--color-text-muted);letter-spacing:-.7px;font-size:15px;font-weight:700}.library-toolbar{gap:14px;display:flex}.search-box{background:var(--color-surface);border:1px solid var(--color-control-border);border-radius:var(--radius);min-width:0;color:var(--color-text-muted);flex:1;align-items:center;gap:11px;min-height:47px;padding:4px 14px;display:flex}.search-box:focus-within{border-color:var(--color-brand-line-strong);box-shadow:0 0 0 3px var(--color-focus-ring)}.search-box input{background:0 0;border:0;outline:none;width:100%;min-width:0;height:35px;font-size:12px}.search-box input:focus-visible{outline:none}kbd{background:var(--color-surface-sunken);border:1px solid var(--color-line);color:var(--color-text-muted);white-space:nowrap;border-radius:4px;padding:2px 5px;font-family:inherit;font-size:12px}.select-wrap{background:var(--color-surface);border:1px solid var(--color-control-border);border-radius:var(--radius);align-items:center;min-width:130px;max-width:210px;display:inline-flex;position:relative}.select-wrap select{appearance:none;cursor:pointer;background:0 0;border:0;width:100%;min-width:0;padding:8px 30px 8px 11px;font-size:12px}.select-wrap svg{color:var(--color-text-muted);pointer-events:none;position:absolute;right:10px}.sort-select{min-width:162px}.filter-bar{flex-wrap:wrap;align-items:center;gap:10px;padding:18px 0 24px;display:flex}.filter-symbol{color:var(--color-text-muted);margin-right:1px}.checkbox-label{color:var(--color-text-muted);cursor:pointer;align-items:center;gap:6px;margin-left:auto;font-size:12px;display:inline-flex}input[type=checkbox]{width:13px;height:13px;accent-color:var(--blue)}.results-meta{color:var(--color-text-muted);justify-content:space-between;gap:10px;margin:0 1px 12px;font-size:12px;display:flex}.results-meta>span:first-child{color:var(--color-text-muted);font-size:12px}.results-meta strong{color:var(--ink);font-weight:600}.table-heading{background:var(--color-surface-raised);border-bottom:1px solid var(--color-line);color:var(--color-text-muted);grid-template-columns:25px minmax(0,1fr) 125px 74px 32px;align-items:center;gap:13px;padding:13px 20px;font-size:12px;display:grid}.table-heading .row-company{font-size:12px}.unavailable-row .problem-name{color:var(--color-text-muted)}.pagination{border-top:1px solid var(--line);color:var(--color-text-muted);justify-content:space-between;align-items:center;padding:11px 21px;font-size:12px;display:flex}.pagination>div{align-items:center;gap:14px;display:flex}.footnote{color:var(--color-text-muted);align-items:center;gap:7px;padding:17px 2px 0;font-size:12px;display:flex}.empty-state{text-align:left;flex-direction:column;align-items:flex-start;padding:28px 25px;display:flex}.empty-state h2{letter-spacing:-.5px;font-size:18px;font-weight:600}.empty-actions{flex-wrap:wrap;justify-content:flex-start;gap:12px;display:flex}.empty-state p{max-width:60ch;color:var(--muted);margin:12px 0 23px;font-size:13px;line-height:1.8}.plan-empty{flex-wrap:wrap;align-items:center;gap:12px 20px;padding:20px 25px;display:flex}.plan-empty p{font-size:var(--font-size-body);color:var(--ink);flex:32ch;margin:0;line-height:1.6}.plan-summary{align-items:center;gap:24px;margin-bottom:25px;padding:24px 30px;display:flex}.plan-summary h2{letter-spacing:-.35px;font-size:19px;font-weight:600}.plan-summary p{color:var(--muted);margin-top:6px;font-size:12px}.plan-summary .button{margin-left:auto}.completion-toggle{border:1px solid var(--color-line);width:24px;height:24px;color:var(--color-text-muted);border-radius:50%;place-items:center;padding:0;font-size:12px;display:grid}.completion-toggle:hover{border-color:var(--color-control-border)}.completion-toggle.is-complete{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success-line)}.back-link{color:var(--color-text-muted);align-items:center;gap:7px;margin-bottom:21px;padding:0;font-size:12px;display:flex}.back-link:hover{color:var(--blue)}.question-heading{justify-content:space-between;align-items:flex-start;gap:25px;display:flex}.question-heading h1{max-width:820px;font-size:clamp(26px,2.6vw,34px);line-height:1.18}.question-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:13px;display:flex}.metadata-chip{border:1px solid var(--color-line-strong);border-radius:var(--radius-pill);min-height:26px;font-size:var(--font-size-caption);color:var(--color-text-secondary);background:var(--color-surface);align-items:center;gap:6px;padding:1px 10px 1px 2px;font-weight:500;display:inline-flex}.metadata-chip:hover{border-color:var(--color-control-border);color:var(--color-text)}.metadata-chip>span[aria-hidden]{width:22px;height:22px;box-shadow:none;border-radius:50%}.metadata-chip:hover{color:var(--blue);border-color:var(--color-brand-line)}.stage-tag{color:var(--color-text-muted);font-size:12px}.question-actions{flex-shrink:0;gap:8px;display:flex}.question-actions .button{min-height:36px;padding:8px 12px;font-size:12px}.topic-row{flex-wrap:wrap;gap:6px;margin-top:13px;display:flex}.topic-row span{font-size:var(--font-size-caption);color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-pill);padding:2px 9px}.question-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;margin:25px 0 35px;display:grid}.workspace-panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:0 22px;display:flex}.workspace-panel-heading>span:first-child{align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.workspace-panel-heading svg{color:var(--color-text-muted)}.recovered-label{color:var(--color-text-muted);background:var(--color-surface-sunken);border-radius:4px;padding:2px 6px;font-size:12px}.statement-content{padding:25px 25px 20px}.statement-text p{font-size:var(--font-size-reading);line-height:var(--line-height-reading);color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:19px}.statement-text h2{font-size:var(--font-size-reading);color:var(--color-text);margin:28px 0 12px;font-weight:600}.statement-text>:first-child{margin-top:0}.statement-table{border:1px solid var(--line);border-radius:8px;max-width:100%;margin:0 0 19px;overflow-x:auto}.statement-table:focus-visible,.statement-pre:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.statement-table table{border-collapse:collapse;min-width:100%;font-size:var(--font-size-small);font-variant-numeric:tabular-nums;color:var(--color-text)}.statement-table th,.statement-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap;padding:7px 12px}.statement-table th{background:var(--color-surface-sunken);font-weight:600}.statement-table tr:last-child td{border-bottom:0}.statement-pre{background:var(--color-surface-sunken);max-width:100%;font:var(--font-size-caption) / 1.7 var(--font-mono);white-space:pre;tab-size:12;border-radius:8px;margin:0 0 19px;padding:12px 14px;overflow-x:auto}.constraint-line{white-space:nowrap}.statement-original{border-block:1px solid var(--line);margin:0 0 19px}.statement-original summary{min-height:44px;font-size:var(--font-size-body);color:var(--color-text);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-weight:500;list-style:none;display:flex}.statement-original summary::-webkit-details-marker{display:none}.statement-original summary:hover{color:var(--blue)}.statement-original summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.statement-original[open] summary svg{transform:rotate(180deg)}.statement-original-body{padding:4px 0 8px}.source-note{border-top:1px solid var(--line);color:var(--color-text-muted);gap:8px;margin-top:27px;padding-top:18px;font-size:12px;line-height:1.7;display:flex}.source-note>svg{margin-top:2px}.source-note a{color:var(--color-text-muted);white-space:nowrap;align-items:flex-start;gap:4px;margin-left:auto;display:flex}.source-note a svg{margin-top:2px}.source-note a:hover{text-decoration:underline}.missing-statement{text-align:center;color:var(--color-text-muted);padding:40px 5px}.missing-statement h2{color:var(--color-text-secondary);margin:15px 0;font-size:20px;font-weight:500}.missing-statement p{font-size:13px;line-height:1.8}.examples{margin-top:32px}.examples h2{font-size:var(--font-size-title);font-weight:600}.example-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.example-card{border:1px solid var(--color-line);border-left:3px solid var(--color-brand);border-radius:var(--radius);background:var(--color-surface-raised);min-width:0;padding:16px 18px}.example-card h3{font-size:var(--font-size-body);margin:0 0 10px;font-weight:600}.example-card dl{gap:10px;margin:0;display:grid}.example-card dl>div{grid-template-columns:96px minmax(0,1fr);align-items:start;gap:4px 12px;display:grid}.example-card dt{color:var(--color-text-muted);font-size:var(--font-size-caption);letter-spacing:.05em;text-transform:uppercase;padding-top:7px;font-weight:600}.example-card dd{min-width:0;margin:0}.example-value{border-radius:var(--radius-sm);background:var(--code-bg);color:var(--code-text);font:14px/1.65 var(--font-mono);font-variant-ligatures:none;white-space:pre-wrap;overflow-wrap:anywhere;max-height:22em;margin:0;padding:6px 10px;overflow:auto}.example-name{color:var(--code-title)}.example-explanation{padding-top:4px}.example-explanation .statement-text p{font-size:var(--font-size-body);color:var(--color-text-secondary);margin-bottom:8px;line-height:1.65}.example-explanation .statement-text p:last-child{margin-bottom:0}.example-note{color:var(--color-text-muted);margin:7px 0 12px;font-size:12px;line-height:1.7}.editor-panel{max-height:calc(100vh - 40px);position:sticky;top:20px;overflow-y:auto}.editor-tabs{border-bottom:1px solid var(--line);align-items:stretch;gap:15px;min-height:52px;padding:0 19px;display:flex}.editor-tabs>button{color:var(--color-text-muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:0 1px;font-size:12px;display:flex}.editor-tabs>button[aria-selected=true]{color:var(--blue);border-color:var(--blue);font-weight:500}.autosave-label{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:5px;margin-left:auto;font-size:12px;display:flex}.autosave-label>span{background:var(--color-scrollbar);border-radius:50%;width:4px;height:4px}.editor-toolbar{background:var(--color-surface-raised);color:var(--color-text-muted);border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:10px;padding:10px 20px;font-size:12px;display:flex}.editor-toolbar>span:last-child{color:var(--color-text-muted);font-size:12px}.code-area{background:var(--editor-bg);height:415px;display:flex;overflow:hidden}.code-editor{flex:1;min-width:0;height:100%}.code-editor .cm-editor{height:100%;font-size:13px}.code-editor .cm-editor.cm-focused{outline:2px solid var(--color-focus);outline-offset:-2px}.code-editor .cm-scroller{font-family:var(--font-mono);font-variant-ligatures:none;line-height:1.8;overflow:auto}.code-editor .cm-content{padding:16px 0}.code-editor .cm-line{padding:0 16px 0 8px}.code-editor .cm-lineNumbers .cm-gutterElement{min-width:32px;padding:0 10px 0 12px}.code-editor .cm-editor:has(.cm-selectionBackground) .cm-activeLine{background-color:#0000}.code-editor.is-readonly .cm-editor{opacity:.75;cursor:not-allowed}.code-editor .cm-scroller::-webkit-scrollbar{width:10px;height:10px}.code-editor .cm-scroller::-webkit-scrollbar-track{background:var(--color-surface-sunken)}.code-editor .cm-scroller::-webkit-scrollbar-thumb{border:2px solid var(--color-line);background:var(--color-scrollbar);border-radius:6px}@supports not selector(::-webkit-scrollbar){.code-editor .cm-scroller{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar) var(--color-surface-sunken)}}.code-preview{min-width:0;font:13px/1.8 var(--font-mono);font-variant-ligatures:none;color:var(--editor-text);white-space:pre;flex:1;margin:0;padding:16px 16px 16px 60px;overflow:auto}.code-area.is-wrapped .code-preview{white-space:pre-wrap;overflow-wrap:anywhere}.editor-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.language-menu{position:relative}.language-button{white-space:nowrap;border:1px solid var(--color-control-border);background:var(--color-surface);min-height:32px;color:var(--color-text);font-size:var(--font-size-small);border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-weight:500;display:inline-flex}.language-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.language-caption{color:var(--color-text-secondary);font-weight:400}.language-list{z-index:30;background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius);min-width:220px;box-shadow:var(--shadow-md);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0}.language-list li{border-radius:var(--radius-sm);min-height:36px;color:var(--color-text);font-size:var(--font-size-small);cursor:pointer;align-items:center;gap:8px;padding:6px 10px;display:flex}.language-list li:hover,.language-list li:focus{background:var(--color-surface-hover);outline:none}.language-list li:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.language-list li[aria-checked=true]{font-weight:500}.language-check{width:14px;color:var(--color-action);display:inline-flex}.language-note{color:var(--color-text-secondary);font-size:var(--font-size-caption);margin-left:auto}.starter-confirm{border-bottom:1px solid var(--color-line);background:var(--color-surface-sunken);color:var(--color-text);font-size:var(--font-size-small);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:10px 16px;display:flex}.starter-confirm>div{gap:8px;display:flex}.code-area textarea{resize:none;width:100%;min-width:0;font:13px/1.8 var(--font-mono);color:var(--color-text-secondary);white-space:pre;tab-size:4;background:0 0;border:0;outline:0;flex:1;padding:19px 16px 19px 0;overflow:auto}.code-area textarea:focus-visible{box-shadow:inset 2px 0 var(--color-focus-ring);outline:none}.code-area textarea{overflow-x:auto}.code-area textarea::-webkit-scrollbar{width:10px;height:10px}.code-area textarea::-webkit-scrollbar-track{background:var(--color-surface-sunken)}.code-area textarea::-webkit-scrollbar-thumb{border:2px solid var(--color-line);background:var(--color-scrollbar);border-radius:6px}@supports not selector(::-webkit-scrollbar){.code-area textarea{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar) var(--color-surface-sunken)}}.code-area .code-fallback{padding-left:16px}.code-area.is-wrapped textarea{white-space:pre-wrap;overflow-wrap:anywhere;padding-left:16px}.wrap-toggle{border:1px solid var(--color-line);background:var(--surface);min-height:32px;color:var(--ink);font-size:var(--font-size-caption);border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-weight:500;display:inline-flex}.wrap-toggle:hover{border-color:var(--color-line)}.wrap-toggle[aria-pressed=true]{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.wrap-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.scratchpad-note{border-top:1px solid var(--color-line);color:var(--color-text-muted);background:var(--color-surface-raised);align-items:center;gap:7px;padding:11px 16px;font-size:12px;display:flex}.run-panel{border-top:1px solid var(--color-line);background:var(--color-surface)}.run-bar{flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 16px;display:flex}.run-button{min-height:36px}.run-note{color:var(--color-text-secondary);font-size:var(--font-size-small);flex:220px;margin:0}.run-shortcut{color:var(--color-text-muted)}.run-status:empty{display:none}.run-status{border-top:1px solid var(--color-line);color:var(--color-text);font-size:var(--font-size-small);padding:8px 16px;font-weight:600}.run-status.is-timeout,.run-status.is-failed{color:var(--color-warning);background:var(--color-warning-soft)}.run-output{gap:10px;max-height:420px;padding:0 16px 16px;display:grid;overflow:auto}.run-output h3,.run-case dt{color:var(--color-text-secondary);font-size:var(--font-size-caption);letter-spacing:.04em;text-transform:uppercase;margin:0;font-weight:600}.run-output pre,.run-case pre{border-radius:var(--radius-sm);background:var(--run-output-bg);color:var(--color-text);font:13px/1.6 var(--font-mono);font-variant-ligatures:none;white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0;padding:8px 10px}.run-output pre.run-error,.run-case pre.run-error{color:var(--run-error-text)}.run-hint{color:var(--color-text-secondary);font-size:var(--font-size-small);margin:0}.run-group{gap:6px;min-width:0;display:grid}.run-cases{gap:6px;margin:0;padding:0;list-style:none;display:grid}.run-case{border:1px solid var(--color-line);border-radius:var(--radius-sm)}.run-case summary{cursor:pointer;min-height:36px;font-size:var(--font-size-small);align-items:center;gap:8px;padding:6px 10px;display:flex}.run-case summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.run-case-label{color:var(--color-text);font-weight:500}.run-case-status{margin-left:auto;font-weight:600}.run-case.is-passed summary{color:var(--color-success)}.run-case.is-failed summary{color:var(--color-danger)}.run-case.is-error summary{color:var(--color-warning)}.run-case dl{gap:6px;margin:0;padding:0 10px 10px;display:grid}.run-case dd{margin:0}.editor-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:16px;display:flex}.editor-footer>span{color:var(--color-text-muted);font-size:12px}.editor-footer .button{min-height:35px;padding:9px 12px;font-size:12px}.notes-prompt{color:var(--color-text-muted);padding:18px 20px 0;font-size:12px}.notes-body textarea{resize:vertical;background:var(--color-surface);width:100%;min-height:450px;color:var(--color-text-secondary);border:0;padding:20px;font-size:13px;line-height:1.9}.notes-body textarea:focus-visible{outline-offset:-4px}.input-limit{color:var(--color-warning);background:var(--color-warning-soft);padding:8px 16px;font-size:12px}.loading-state{min-height:340px;color:var(--color-text-muted);justify-content:center;align-items:center;gap:12px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{border:1px solid var(--color-line);background:var(--color-surface);box-shadow:0 8px 35px var(--color-shadow);color:var(--color-success);z-index:50;border-radius:9px;align-items:center;gap:9px;padding:13px 18px;font-size:12px;display:flex;position:fixed;bottom:26px;left:calc(50% + 100px);transform:translate(-50%)}.storage-warning{color:var(--color-warning);background:var(--color-warning-soft);border:1px solid var(--color-warning-line);border-radius:8px;justify-content:space-between;gap:16px;margin-bottom:20px;padding:13px 16px;font-size:12px;display:flex}.storage-warning button{color:var(--color-warning);font-weight:600;text-decoration:underline}.about-dialog{border:1px solid var(--line);width:calc(100% - 32px);max-width:470px;box-shadow:0 25px 100px var(--color-shadow);color:var(--ink);border-radius:15px;padding:0}.about-dialog::backdrop{background:var(--color-backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-content{padding:33px;position:relative}.dialog-close{position:absolute;top:12px;right:12px}.dialog-content h2{letter-spacing:-.5px;margin:18px 0 12px;font-size:23px;font-weight:600}.dialog-content>p{color:var(--muted);font-size:13px;line-height:1.8}.about-facts{border-block:1px solid var(--line);margin:22px 0;padding:14px 0}.about-facts>div{color:var(--color-text-muted);justify-content:space-between;gap:12px;padding:6px 0;font-size:12px;display:flex}.about-facts strong{color:var(--color-text-secondary);font-weight:500}.dialog-content>p.about-note{color:var(--color-text-muted);margin-bottom:22px;font-size:12px}.workspace-label,.local-badge,.overview-stats small,.plan-progress p,.problem-name small,.row-company,.results-meta,.company-note,.company-list button>span:last-of-type,.quiet-tip p,.page-footer,.footnote,.checkbox-label,.table-heading,.table-heading .row-company,.autosave-label,.source-note,.example-note,.scratchpad-note,.editor-footer>span,.notes-prompt,.stage-tag,.topic-row span,.editor-toolbar>span:last-child{color:var(--color-text-secondary)}.notes-body textarea::placeholder,.icon-button{color:var(--color-text-muted)}@media (min-width:1500px){.main-content{padding-top:44px}.overview-feature-grid,.overview-bottom-grid{grid-template-columns:minmax(0,1.8fr) minmax(340px,1fr)}.next-problem{padding:30px 34px}.next-problem h2{margin-top:29px;font-size:30px}.next-problem p{max-width:410px;font-size:13px}.plan-preview{padding:26px 28px}.plan-progress{margin-block:25px}.compact-table .problem-name>span{font-size:12px}}@media (max-width:1200px){.sidebar{width:205px;padding-inline:13px}.main-shell{margin-left:205px}.main-content,.topbar{padding-inline:26px}.overview-stats>div{gap:11px;padding-inline:18px}.overview-stats strong{flex-wrap:wrap;gap:3px 6px;font-size:22px}.overview-stats strong span,.overview-stats small{font-size:12px}.overview-feature-grid,.overview-bottom-grid{grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr);gap:18px}.next-problem{padding-inline:23px}.next-problem h2{font-size:24px}.plan-preview{padding-inline:20px}.feature-decoration{opacity:.7;right:10px}.question-workspace{gap:14px}.question-actions{flex-wrap:wrap;justify-content:flex-end;max-width:130px}.question-heading{gap:16px}.statement-content{padding-inline:20px}.editor-tabs{flex-wrap:wrap;gap:12px;padding-inline:14px}.autosave-label,.editor-footer>span{display:none}.editor-footer{justify-content:flex-end}.select-wrap{min-width:117px}.checkbox-label{margin-left:0}}@media (max-width:1000px){.sidebar{width:185px;padding-inline:10px}.main-shell{margin-left:185px}.brand{padding-inline:10px;font-size:28px}.brand-mark{width:32px;height:32px}.nav-link{gap:8px;padding-inline:11px;font-size:12px}.overview-feature-grid,.overview-bottom-grid{grid-template-columns:minmax(0,1fr)}.plan-preview{grid-template-columns:1fr 1fr;column-gap:25px;display:grid}.plan-preview .section-heading{grid-column:1/-1}.plan-progress{grid-row:2/4;margin-bottom:0}.plan-preview-copy{margin-top:20px;margin-bottom:10px}.plan-preview .button{align-self:end}.overview-bottom-grid{gap:0}.company-list{grid-template-columns:1fr 1fr;gap:0 25px;display:grid}.company-list button:nth-child(2){border-top:0}.overview-stats{padding-block:20px}.overview-stats .stat-icon{display:none}.overview-stats strong{font-size:24px;display:block}.overview-stats strong span{margin-top:4px;display:block}.overview-stats small{display:none}.page-heading{flex-direction:column;align-items:flex-start;gap:16px}.overview-bottom-grid .compact-table .problem-row{grid-template-columns:19px minmax(0,1fr) 100px 64px 27px}.compact-table .row-company{display:block}.problem-row,.table-heading{grid-template-columns:22px minmax(0,1fr) 82px 63px 27px;gap:9px;padding-inline:16px}.results-meta>span:nth-child(2){display:none}.plan-summary{flex-wrap:wrap;gap:16px;padding:20px}.plan-summary .button{margin-left:95px}.question-workspace{grid-template-columns:1fr}.editor-panel{max-height:none;position:static;overflow-y:visible}.editor-tabs{gap:20px}.autosave-label{display:flex}.editor-footer>span{display:block}.editor-footer{justify-content:space-between}}@media (max-width:720px){.sidebar{border-right:0;border-bottom:1px solid var(--line);width:100%;padding:17px 18px 0;position:static}.brand{gap:9px;padding-inline:0;font-size:27px}.brand-mark{border-radius:9px;width:30px;height:30px}.brand-mark svg{width:21px;height:21px}.workspace-label,.sidebar-middle,.local-profile,.plan-label{display:none}.sidebar nav{margin-top:13px;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin-inline:-6px;display:grid}.nav-link{border-bottom:2px solid #0000;border-radius:0;flex-direction:column;justify-content:center;gap:5px;min-width:0;padding:8px 2px 11px;font-size:12px}.nav-link.active{box-shadow:none;border-bottom-color:var(--color-accent);background:0 0}.nav-link svg{width:16px;height:16px}.nav-link small{display:none}.main-shell{margin-left:0}.topbar{height:44px;padding-inline:20px}.breadcrumb ol,.breadcrumb li{gap:6px}.local-badge{padding-right:0}.main-content{padding:27px 20px 0}h1{letter-spacing:-.85px;font-size:26px}.page-heading{gap:17px;margin-bottom:24px}.page-heading p{font-size:12px;line-height:1.7}.page-heading>.button{min-height:36px;padding:8px 12px;font-size:12px}.overview-stats{margin-bottom:20px;padding-block:17px}.overview-stats>div{padding-inline:15px}.overview-stats strong{font-size:25px}.overview-stats strong span{font-size:12px}.next-problem{padding:22px}.next-problem h2{max-width:100%;font-size:25px}.next-problem p{max-width:260px}.plan-preview{padding:22px;display:flex}.plan-progress{margin:18px 0 6px}.plan-preview-copy{margin:12px 0 18px}.company-list{grid-template-columns:1fr}.company-list button:nth-child(2){border-top:1px solid var(--color-line)}.section-heading.outside{margin-top:24px}.overview-bottom-grid .compact-table .problem-row,.problem-row,.table-heading{grid-template-columns:17px minmax(0,1fr) 58px 25px;gap:8px;padding-inline:13px}.row-company,.compact-table .row-company{display:none}.problem-name>span,.compact-table .problem-name>span,.problem-name small{font-size:12px}.difficulty{padding:3px 6px;font-size:12px}.problem-row{min-height:74px}.row-save{width:28px;height:34px}.library-toolbar{gap:9px}.search-box{gap:6px;min-height:44px;padding-inline:10px}.search-box input{font-size:12px}.search-box kbd{display:none}.sort-select{width:113px;min-width:113px}.sort-select select{padding-left:9px;font-size:12px}.filter-bar{gap:8px;padding-block:13px 20px}.filter-symbol{display:none}.filter-bar .select-wrap{min-width:calc(50% - 4px);max-width:calc(50% - 4px)}.filter-bar .select-wrap select{padding:9px 28px 9px 10px;font-size:12px}.checkbox-label{min-height:28px;margin-top:5px}.filter-bar>.text-button{margin-left:auto;padding-inline:8px}.results-meta{font-size:12px}.pagination{padding-inline:13px}.pagination>div{gap:7px}.footnote{align-items:flex-start;font-size:12px}.footnote svg{margin-top:1px}.empty-state{padding:44px 21px}.empty-state h2{font-size:20px}.empty-state p{font-size:12px}.plan-summary{gap:17px;padding:21px}.plan-summary h2{font-size:17px}.plan-summary p{font-size:12px}.plan-summary .button{width:100%;margin:0}.plan-summary .progress-ring{width:60px;height:60px}.plan-summary>div:nth-child(2){flex:1}.completion-toggle{width:21px;height:21px}.back-link{margin-bottom:17px}.question-heading{flex-direction:column;gap:17px}.question-heading h1{font-size:26px}.question-actions{justify-content:flex-start;max-width:none}.question-actions .button{min-height:37px}.topic-row{margin-top:15px}.question-workspace{gap:20px;margin-top:20px}.statement-content{padding:22px 19px}.statement-text p{font-size:var(--font-size-reading)}.workspace-panel-heading{padding-inline:19px}.editor-tabs{gap:14px;padding-inline:14px}.autosave-label{font-size:12px}.editor-footer{gap:8px;padding:14px}.editor-footer>span{font-size:12px}.code-area{height:350px}.editor-toolbar{flex-wrap:wrap;padding-inline:14px}.language-caption{display:none}.code-editor .cm-editor,.code-preview{font-size:16px}.notes-body textarea{min-height:390px}.toast{width:max-content;max-width:calc(100vw - 32px);font-size:12px;bottom:16px;left:50%}.storage-warning{flex-direction:column;gap:8px;font-size:12px}.storage-warning button{text-align:left;padding:0}}@media (max-width:380px){.nav-link{gap:4px;padding-inline:5px;font-size:12px}.nav-link svg{width:14px;height:14px}.main-content{padding-inline:16px}.overview-stats>div{padding-inline:10px}.overview-stats strong span{font-size:12px}.autosave-label{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.auth-page{align-content:center;justify-items:center;gap:25px;min-height:100vh;padding:36px 20px;display:grid}.auth-brand{font-family:var(--font-display);letter-spacing:-.02em;font-size:32px;font-weight:600}.auth-brand span{color:var(--color-accent)}.auth-card{width:min(100%,460px);padding:32px}.auth-card h1{margin:24px 0 12px;font-size:32px;line-height:1.15}.auth-card>p{color:var(--muted);margin-bottom:25px}.auth-card form{gap:18px;display:grid}.auth-card form>label{gap:7px;font-weight:600;display:grid}.auth-card input{background:var(--color-surface);border:1px solid var(--color-control-border);border-radius:var(--radius);width:100%;padding:11px 12px}.auth-card form>small{color:var(--muted);margin-top:-10px}.auth-links{color:var(--blue);flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:24px;font-weight:600;display:flex}.auth-error{background:var(--color-danger-soft);color:var(--color-danger);border-radius:7px;padding:12px}.auth-success{background:var(--color-success-soft);color:var(--color-success);border-radius:var(--radius);padding:12px}.auth-hint{color:var(--color-text-secondary);font-size:var(--font-size-small);line-height:1.6}.auth-hint a{color:var(--color-link);text-underline-offset:2px;font-weight:600;text-decoration:underline}.signin-notice,.recovery-notice{border:1px solid var(--color-brand-line);background:var(--blue-soft);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0;padding:16px 20px;display:flex}.signin-notice span{color:var(--muted);flex:1}.save-notice{flex-wrap:wrap}.notice-actions,.account-buttons{flex-wrap:wrap;gap:10px;display:flex}.notice-actions button{background:0 0;border:1px solid;border-radius:6px;padding:6px 10px}.recovery-notice .notice-actions{margin-left:auto}.account-email{overflow-wrap:anywhere;font-weight:650}.legacy-import{border-top:1px solid var(--line);margin-top:28px;padding-top:18px}.legacy-import h3{margin:0}.upload-label{cursor:pointer;position:relative}.upload-label input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.upload-label:focus-within{outline:3px solid var(--color-focus);outline-offset:3px}.import-preview{background:var(--background);border-radius:8px;margin-top:20px;padding:15px}.import-preview details{margin:10px 0}.import-preview summary{cursor:pointer}.import-preview ul{max-height:160px;padding-left:20px;overflow:auto}.import-preview code{overflow-wrap:anywhere;font-size:12px}.import-confirm{white-space:normal;align-items:flex-start;margin:18px 0}.about-dialog{max-height:calc(100vh - 40px);overflow-y:auto}.local-profile strong{text-overflow:ellipsis;max-width:150px;overflow:hidden}textarea:disabled{opacity:.75;cursor:not-allowed}@media (max-width:600px){.auth-card{padding:24px}.auth-card h1{font-size:26px}.signin-notice{flex-direction:column;align-items:flex-start}.notice-actions{width:100%}}.question-parts{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:22px;display:flex}.question-parts>span{color:var(--muted);font-size:12px}.question-parts>div{flex-wrap:wrap;gap:6px;display:flex}.question-parts button{border:1px solid var(--line);background:var(--surface);overflow-wrap:anywhere;border-radius:6px;min-height:44px;padding:10px 14px;font-size:12px}.question-parts button:hover,.question-parts button[aria-current=page]{color:var(--blue);background:var(--blue-soft);border-color:var(--color-brand-line)}.question-parts button[aria-current=page]{font-weight:600}.question-reader,.question-workspace .editor-panel{min-width:0}.reader-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:stretch;gap:0 22px;min-height:54px;padding:0 24px;display:flex}.reader-tabs>button{min-width:44px;min-height:54px;color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;padding:14px 0 12px;font-size:13px}.reader-tabs>button:hover{color:var(--blue)}.reader-tabs>button[aria-selected=true]{color:var(--color-text);border-color:var(--color-accent);font-weight:600}.question-workspace [role=tab]:focus-visible{outline:2px solid var(--blue);outline-offset:-4px;border-radius:4px}.reader-content{overflow-wrap:anywhere;min-width:0}.reader-content:focus-visible,.question-workspace [role=tabpanel]:focus-visible,.question-workspace .editor-panel:focus-visible{outline:2px solid var(--blue);outline-offset:-4px}.reader-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:20px;display:flex}.reader-content h2{color:var(--color-text);font-size:var(--font-size-title);font-weight:600;line-height:1.35}.study-heading{gap:2px;display:grid}.study-kicker{color:var(--color-accent-text);font-size:var(--font-size-caption);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.reader-heading .recovered-label{color:var(--color-text-secondary);font-size:12px}.reader-content .statement-text p,.study-text p{max-width:var(--measure);font-size:var(--font-size-reading);line-height:var(--line-height-reading);color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 18px}.study-text:last-child p:last-child{margin-bottom:0}.reader-intro{color:var(--muted);margin-top:7px;font-size:13px;line-height:1.7}.hint-group+.hint-group{margin-top:32px}.hint-disclosure{border-bottom:1px solid var(--line)}.hint-disclosure:first-of-type{border-top:1px solid var(--line);margin-top:16px}.hint-disclosure summary{cursor:pointer;justify-content:space-between;align-items:center;gap:14px;min-height:52px;padding:14px 0;font-size:14px;font-weight:500;list-style:none;display:flex}.hint-disclosure summary::-webkit-details-marker{display:none}.hint-disclosure summary:hover{color:var(--blue)}.hint-disclosure summary:focus-visible,.study-section h2:focus-visible,.reference-code pre:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.hint-disclosure[open] summary svg{transform:rotate(180deg)}.hint-body{padding-bottom:20px}.study-provenance{color:var(--muted);margin:5px 0 18px;font-size:12px;line-height:1.6}.study-section+.study-section{border-top:1px solid var(--line);margin-top:30px;padding-top:28px}.study-section h2{scroll-margin-top:24px}.reference-code{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--code-bg);min-width:0;margin:20px 0;overflow:hidden}.reference-code:last-child{margin-bottom:0}.reference-code-heading{border-bottom:1px solid var(--color-line);color:var(--color-text-muted);font-size:var(--font-size-caption);letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 14px;font-weight:600;display:flex}.reference-code pre{white-space:pre;scrollbar-color:var(--color-scrollbar) var(--code-bg);font:13px/1.75 var(--font-mono);font-variant-ligatures:none;color:var(--code-text);tab-size:4;margin:0;padding:16px;overflow-x:auto}.highlighted .hl-keyword,.highlighted .hl-operator{color:var(--code-keyword)}.highlighted .hl-string,.highlighted .hl-subst{color:var(--code-string)}.highlighted .hl-number,.highlighted .hl-literal,.highlighted .hl-symbol{color:var(--code-number)}.highlighted .hl-comment{color:var(--code-comment);font-style:italic}.highlighted .hl-title,.highlighted .hl-function,.highlighted .hl-class{color:var(--code-title)}.highlighted .hl-built_in,.highlighted .hl-type{color:var(--code-built-in)}.highlighted .hl-meta,.highlighted .hl-attr,.highlighted .hl-property{color:var(--code-meta)}.reference-code code{font:inherit}.guide-contents{border-bottom:1px solid var(--line);margin-bottom:28px;padding-bottom:18px}.guide-contents ol{margin:10px 0 0;padding:0;list-style:none}.guide-contents button{text-align:left;min-height:44px;color:var(--blue);overflow-wrap:anywhere;padding:8px 0;font-size:13px;line-height:1.6}.guide-contents button:hover{text-underline-offset:3px;text-decoration:underline}.reader-practice-jump{display:none}@media (max-width:1000px){.reader-practice-jump{border-bottom:1px solid var(--line);padding:8px 20px;display:flex}.reader-practice-jump button{min-height:44px;color:var(--blue);align-items:center;gap:8px;padding:8px 0;font-size:13px;font-weight:500;display:flex}.question-workspace .editor-panel{scroll-margin-top:16px}}@media (max-width:720px){.reader-tabs{gap:0 14px;padding-inline:19px}.reader-tabs>button{font-size:12px}.reference-code pre{padding:14px;font-size:12px}.question-parts{gap:8px}}.trial-notice{border:1px solid var(--color-accent);border-radius:var(--radius);background:var(--color-accent-soft);color:var(--color-text);font-size:var(--font-size-body);border-left-width:4px;align-items:flex-start;gap:10px;margin:0 0 20px;padding:12px 16px;line-height:1.6;display:flex}.trial-notice svg{color:var(--color-action);flex-shrink:0;margin-top:4px}.trial-notice.is-ended{background:var(--color-surface)}.trial-notice a,.kept-notes-help a{color:var(--color-action);font-weight:500}.kept-notes{border:1px solid var(--color-control-border);border-radius:var(--radius);background:var(--color-page);margin:0 24px 24px;padding:16px 20px}.kept-notes h2{font-size:var(--font-size-title);margin:0 0 6px}.kept-notes-help{color:var(--color-text-secondary);font-size:var(--font-size-body);margin:0 0 12px}.kept-notes-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--font-size-reading);line-height:1.6}.auth-card .auth-trial{background:var(--blue-soft);color:var(--color-text);font-size:var(--font-size-body);border-radius:8px;margin:0 0 16px;padding:10px 14px;line-height:1.6}.attempt-history{gap:10px;min-width:0;padding:12px 16px;display:grid}.attempt-history h3,.attempt-history h4{margin:0}.attempt-history .run-output{padding:0}.attempt-history-item{text-align:left;width:100%;display:grid}.attempt-history .run-hint{overflow-wrap:anywhere}.timed-practice{gap:16px;min-width:0;display:grid}.timed-practice h1,.timed-practice h2,.timed-practice h3,.timed-practice p{margin:0}.timed-panel{gap:12px;min-width:0;padding:16px;display:grid}.timed-fieldset{border:1px solid var(--color-line);border-radius:var(--radius-sm);min-width:0}.timed-options{gap:8px;max-height:20rem;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.timed-options label{align-items:baseline;gap:8px;display:flex}.timed-options small{color:var(--color-text-muted);display:block}.timed-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.timed-timer{flex-wrap:wrap;align-items:center;display:flex}.timed-timer [role=timer]{font:700 1.6rem var(--font-mono);font-variant-numeric:tabular-nums}.timed-parts button[aria-pressed=true]{border-color:var(--color-focus)}.timed-history,.timed-review-list{gap:12px;margin:0;padding-inline-start:20px;display:grid}.timed-history span,.timed-review-list details{margin-top:4px;display:block}.timed-reflection{resize:vertical;width:100%;min-height:7rem}.timed-practice .run-hint{overflow-wrap:anywhere}@media (max-width:1000px){.timed-columns{grid-template-columns:minmax(0,1fr)}}
