/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-1{top:calc(var(--spacing) * 1)}.top-3{top:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--bg:#0d1117;--bg-subtle:#11161d;--surface:#161b22;--surface-2:#1c2129;--panel:#222832;--editor:#0f141b;--border:#30363d;--border-strong:#3d444d;--text:#f0f3f6;--text-soft:#c9d1d9;--text-muted:#8b949e;--text-faint:#6e7681;--primary:#0a84ff;--primary-strong:#0966cc;--primary-soft:#0a84ff24;--success:#30d158;--success-text:#7ee787;--success-soft:#30d15824;--warning:#ff9f0a;--warning-text:#f2cc60;--warning-soft:#ff9f0a24;--danger:#ff453a;--danger-text:#ff7b72;--danger-soft:#ff453a24;--radius-xs:4px;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--hairline-color:#ffffff1a;--hairline:.5px solid var(--hairline-color);--shadow-panel:0 0 0 .5px #ffffff0f, 0 1px 2px #0003, 0 8px 24px #00000047;--motion-fast:.2s ease;--motion-panel:.26s ease;--motion-shake:.42s ease;--ease-apple:cubic-bezier(.4, 0, .2, 1);--ease-overshoot:cubic-bezier(.34, 1.56, .64, 1);--motion-instant:.12s;--motion-quick:.2s;--motion-base:.28s;--motion-emphasized:.48s;--font-body:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", "Segoe UI Variable", system-ui, sans-serif;--font-display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", system-ui, sans-serif;--font-tech:ui-monospace, "SF Mono", Menlo, Monaco, "Cascadia Mono", "Roboto Mono", monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=light]{--bg:#f5f6f7;--bg-subtle:#eceff3;--surface:#fff;--surface-2:#f6f8fa;--panel:#eef1f5;--editor:#fff;--border:#d0d7de;--border-strong:#afb8c1;--text:#24292f;--text-soft:#57606a;--text-muted:#6e7781;--text-faint:#6f767e;--primary:#007aff;--primary-strong:#0056b3;--primary-soft:#007aff1a;--success:#34c759;--success-text:#116329;--success-soft:#34c7591a;--warning:#ff9500;--warning-text:#7d4e00;--warning-soft:#ff95001a;--danger:#ff3b30;--danger-text:#a40e26;--danger-soft:#ff3b301a;--hairline-color:#00000017;--hairline:.5px solid var(--hairline-color);--shadow-panel:0 0 0 .5px #0000000f, 0 1px 2px #0000000a, 0 8px 24px #0000000f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{background:var(--bg);min-width:320px;min-height:100%;overflow-x:hidden}body{background:var(--bg);min-width:320px;min-height:100svh;color:var(--text);font-family:var(--font-body);margin:0;overflow-x:hidden}button,a,input,select{-webkit-tap-highlight-color:transparent}::selection{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in srgb, var(--primary) 28%, transparent)}}::selection{color:var(--text)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=tab]:focus-visible,[role=button]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{box-shadow:0 0 0 1.5px var(--bg), 0 0 0 4px var(--primary);outline:none}@supports (color:color-mix(in lab, red, red)){button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=tab]:focus-visible,[role=button]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{box-shadow:0 0 0 1.5px var(--bg), 0 0 0 4px color-mix(in srgb, var(--primary) 36%, transparent)}}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--text);font-family:var(--font-display);letter-spacing:-.01em;font-weight:700}h1{font-size:24px;line-height:1.18}h2{font-size:16px;line-height:1.25}p{color:var(--text-soft);font-size:14px;line-height:1.58}#root{min-height:100svh}.app-shell{min-height:100svh;padding-bottom:calc(78px + env(safe-area-inset-bottom));background:var(--bg)}.skip-link{z-index:400;border-radius:var(--radius-md);background:var(--primary-strong);color:#fff;box-shadow:0 0 0 1.5px #fff, var(--shadow-panel);transition:transform .16s var(--ease-apple);padding:12px 20px;font-size:15px;font-weight:600;text-decoration:none;position:fixed;top:8px;left:50%;transform:translate(-50%,calc(-100% - 16px))}.skip-link:focus,.skip-link:focus-visible{outline:none;transform:translate(-50%)}.app-toolbar{z-index:50;min-height:52px;padding:max(8px, env(safe-area-inset-top)) 12px 8px;border-bottom:var(--hairline);background:var(--surface);justify-content:space-between;align-items:center;gap:10px;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.app-toolbar{background:color-mix(in srgb, var(--surface) 72%, transparent)}}.app-toolbar{-webkit-backdrop-filter:blur(24px)saturate(180%)}.toolbar-left,.brand-lockup,.toolbar-status,.top-nav,.progress-chip,.streak-chip,.level-chip,.status-badge,.metric-chip,.output-state,.console-state,.hint-status,.next-note,.editor-file-tab,.editor-dialect,.editor-toolbar-actions,.editor-language-picker,.auth-brand,.auth-footnotes div,.auth-product-line{align-items:center;display:inline-flex}.toolbar-left{gap:18px;min-width:0}.brand-lockup{min-width:0;color:var(--text);gap:9px;text-decoration:none}.brand-mark{width:var(--brand-size,34px);height:var(--brand-size,34px);border:1px solid var(--primary);flex:none;justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.brand-mark{border:1px solid color-mix(in srgb, var(--primary) 42%, transparent)}}.brand-mark{border-radius:var(--radius-sm);background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.brand-mark{background:color-mix(in srgb, var(--primary) 13%, var(--surface))}}.brand-mark svg{width:72%;height:72%}.brand-mark .brand-fill{fill:var(--primary)}@supports (color:color-mix(in lab, red, red)){.brand-mark .brand-fill{fill:color-mix(in srgb, var(--primary) 24%, transparent)}}.brand-mark .brand-core,.brand-mark .brand-node{fill:var(--primary)}.brand-mark .brand-stroke{fill:none;stroke:var(--primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:3.1px}.brand-mark .brand-route{fill:none;stroke:var(--text);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;opacity:.92}.brand-copy{gap:1px;min-width:0;display:grid}.brand-name{color:var(--text);font-family:var(--font-tech);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;line-height:1.1;overflow:hidden}.brand-copy>span:last-child{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.1;display:none;overflow:hidden}.top-nav{gap:2px}.top-nav-link{border-radius:var(--radius-sm);min-height:36px;color:var(--text-muted);transition:color var(--motion-fast), background-color var(--motion-fast);padding:0 10px;font-size:13px;font-weight:600;text-decoration:none}.top-nav-link:hover,.top-nav-link.active{color:var(--text);background:var(--surface-2)}.top-nav-link.is-muted{cursor:default}.toolbar-status{justify-content:flex-end;gap:6px;min-width:0}.toolbar-icon,.theme-toggle,.toolbar-signout,.ghost-action,.bookmark-button{border:1px solid var(--border);border-radius:var(--radius-md);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-muted);background:var(--surface-2);transition:transform var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast), background-color var(--motion-fast);flex:none;justify-content:center;align-items:center;display:inline-flex}.theme-toggle,.toolbar-signout,.toolbar-icon,.bottom-nav-item,.practice-pane-tabs button,.level-strip button,.topic-strip button,.workspace-tabs button,.primary-action,.secondary-action,.filter-button{touch-action:manipulation}@media (hover:hover) and (pointer:fine){.toolbar-icon:hover,.theme-toggle:hover,.toolbar-signout:hover,.ghost-action:hover,.bookmark-button:hover{color:var(--text);border-color:var(--border-strong);background:var(--panel)}}.toolbar-icon:active,.theme-toggle:active,.toolbar-signout:active,.ghost-action:active,.bookmark-button:active{transform:scale(.94)}.level-chip,.progress-chip,.streak-chip,.status-badge,.metric-chip{border:1px solid var(--border);background:var(--surface-2);min-height:28px;color:var(--text-soft);font-family:var(--font-tech);white-space:nowrap;border-radius:999px;padding:0 9px;font-size:11px;font-weight:700;line-height:1}.progress-chip,.streak-chip,.metric-chip{gap:6px;text-decoration:none}.metric-chip strong{color:var(--text)}.status-success,.status-easy,.metric-success{color:var(--success-text);background:var(--success-soft);border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.status-success,.status-easy,.metric-success{border-color:color-mix(in srgb, var(--success) 42%, transparent)}}.status-warning,.status-medium,.metric-warning{color:var(--warning-text);background:var(--warning-soft);border-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.status-warning,.status-medium,.metric-warning{border-color:color-mix(in srgb, var(--warning) 42%, transparent)}}.status-danger,.status-hard{color:var(--danger-text);background:var(--danger-soft);border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.status-danger,.status-hard{border-color:color-mix(in srgb, var(--danger) 44%, transparent)}}.status-topic{color:var(--primary);background:var(--primary-soft);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.status-topic{border-color:color-mix(in srgb, var(--primary) 38%, transparent)}}.status-level{color:var(--text);background:var(--panel)}.status-neutral{color:var(--text-muted)}.app-main{animation:page-fade var(--motion-panel) both}.page{width:min(100%,1180px);margin:0 auto;padding:16px 12px 0}.pyodide-banner{left:50%;bottom:max(16px, env(safe-area-inset-bottom));z-index:250;border-radius:var(--radius-lg);background:var(--surface);border:var(--hairline);width:min(420px,100% - 24px);box-shadow:var(--shadow-panel);flex-direction:column;gap:0;display:flex;position:fixed;overflow:hidden;transform:translate(-50%)}.pyodide-banner-bar{background:linear-gradient(90deg, transparent 0%, var(--primary) 50%, transparent 100%);background-size:200% 100%;height:3px;animation:1.1s linear infinite skeleton-shimmer}@media (prefers-reduced-motion:reduce){.pyodide-banner-bar{background:var(--primary);animation:none}}.pyodide-banner-body{flex-direction:column;gap:2px;padding:10px 14px 12px;display:flex}.pyodide-banner-body strong{color:var(--text);font-size:13px;font-weight:600}.pyodide-banner-body span{color:var(--text-muted);font-size:12px;line-height:1.45}.practice-empty-state{border:var(--hairline);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;align-items:flex-start;gap:12px;max-width:520px;margin:32px auto;padding:24px;display:flex}.practice-empty-title{margin:0;font-size:20px;line-height:1.25}.practice-empty-desc{color:var(--text-soft);margin:0;font-size:14px;line-height:1.55}.practice-empty-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.practice-empty-cta{border-radius:var(--radius-md);align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}@keyframes hero-item-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.landing-hero-anim>*{opacity:0;animation:.42s cubic-bezier(.4,0,.2,1) forwards hero-item-in}.landing-hero-anim>:first-child{animation-delay:50ms}.landing-hero-anim>:nth-child(2){animation-delay:.15s}.landing-hero-anim>:nth-child(3){animation-delay:.25s}.landing-hero-anim .landing-features>li{opacity:0;animation:.42s cubic-bezier(.4,0,.2,1) forwards hero-item-in}.landing-hero-anim .landing-features>li:first-child{animation-delay:.35s}.landing-hero-anim .landing-features>li:nth-child(2){animation-delay:.45s}.landing-hero-anim .landing-features>li:nth-child(3){animation-delay:.55s}.landing-hero-anim .landing-features>li:nth-child(4){animation-delay:.65s}@media (prefers-reduced-motion:reduce){.landing-hero-anim>*,.landing-hero-anim .landing-features>li{opacity:1;animation:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(-16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.toast{animation:.22s cubic-bezier(.4,0,.2,1) toast-in}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.route-skeleton{flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:60vh;padding:24px 16px;display:flex}.route-skeleton-compact{min-height:30vh}.route-skeleton-chart{border-bottom:1px solid var(--text);align-items:flex-end;gap:6px;height:56px;padding-bottom:2px;display:flex}@supports (color:color-mix(in lab, red, red)){.route-skeleton-chart{border-bottom:1px solid color-mix(in srgb, var(--text) 14%, transparent)}}.route-skeleton-compact .route-skeleton-chart{gap:5px;height:40px}.route-skeleton-bar{background:linear-gradient(to top, var(--primary-strong), var(--primary));transform-origin:bottom;border-radius:3px 3px 1px 1px;width:8px;height:12px;animation:1.2s cubic-bezier(.4,0,.2,1) infinite route-skeleton-bar-pulse;display:block}.route-skeleton-compact .route-skeleton-bar{width:6px}.route-skeleton-bar:first-child{animation-delay:0s}.route-skeleton-bar:nth-child(2){animation-delay:.12s}.route-skeleton-bar:nth-child(3){animation-delay:.24s}.route-skeleton-bar:nth-child(4){animation-delay:.36s}.route-skeleton-bar:nth-child(5){animation-delay:.48s}@keyframes route-skeleton-bar-pulse{0%,to{opacity:.45;height:12px}50%{opacity:1;height:52px}}.route-skeleton-compact .route-skeleton-bar{animation-name:route-skeleton-bar-pulse-compact}@keyframes route-skeleton-bar-pulse-compact{0%,to{opacity:.45;height:10px}50%{opacity:1;height:36px}}.route-skeleton-label{letter-spacing:.02em;color:var(--text);margin:0;font-size:13px;font-weight:500}@supports (color:color-mix(in lab, red, red)){.route-skeleton-label{color:color-mix(in srgb, var(--text) 65%, transparent)}}@media (prefers-reduced-motion:reduce){.route-skeleton-bar{opacity:.7;height:32px;animation:none}.route-skeleton-bar:first-child{height:20px}.route-skeleton-bar:nth-child(2){height:32px}.route-skeleton-bar:nth-child(3){height:44px}.route-skeleton-bar:nth-child(4){height:38px}.route-skeleton-bar:nth-child(5){height:26px}}.welcome-splash{z-index:9000;background:var(--bg);place-items:center;padding:24px;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.welcome-splash{background:color-mix(in srgb, var(--bg) 92%, transparent)}}.welcome-splash{-webkit-backdrop-filter:saturate(140%)blur(8px);animation:.28s cubic-bezier(.2,.7,.2,1) both welcome-splash-in}.welcome-splash-exit{pointer-events:none;animation:.36s forwards welcome-splash-out}.welcome-splash-card{border-radius:var(--radius-lg);background:var(--surface);border:var(--hairline);text-align:center;flex-direction:column;align-items:center;gap:16px;padding:32px 36px;display:flex;box-shadow:0 24px 60px -16px #00000040}.welcome-splash-greeting{letter-spacing:-.01em;color:var(--text);margin:0;font-size:20px;font-weight:600}.welcome-splash-sub{letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin:0;font-size:12px;font-weight:500}@supports (color:color-mix(in lab, red, red)){.welcome-splash-sub{color:color-mix(in srgb, var(--text) 50%, transparent)}}@keyframes welcome-splash-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes welcome-splash-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)}}@media (prefers-reduced-motion:reduce){.welcome-splash{animation:none}.welcome-splash-exit{animation:.2s linear forwards welcome-splash-out-instant}@keyframes welcome-splash-out-instant{to{opacity:0}}}.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}.route-loading,.empty-state{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:160px;color:var(--text-muted);font-family:var(--font-tech);place-items:center;font-size:12px;display:grid}.app-error-banner,.auth-status,.sql-error{border:1px solid var(--danger);margin:10px 12px 0;padding:10px 12px}@supports (color:color-mix(in lab, red, red)){.app-error-banner,.auth-status,.sql-error{border:1px solid color-mix(in srgb, var(--danger) 38%, transparent)}}.app-error-banner,.auth-status,.sql-error{border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger-text);font-family:var(--font-tech);font-size:13px;line-height:1.5}.auth-status-ready{color:var(--primary);background:var(--primary-soft);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.auth-status-ready{border-color:color-mix(in srgb, var(--primary) 38%, transparent)}}.auth-screen{background:var(--bg);place-items:center;min-height:100svh;padding:18px 14px;display:grid}.auth-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(100%,430px);box-shadow:var(--shadow-panel);gap:18px;padding:18px;display:grid}.auth-panel-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.auth-brand{gap:10px}.auth-brand span{gap:2px;display:grid}.auth-brand strong{color:var(--text);font-family:var(--font-tech);font-size:15px;line-height:1.1}.auth-brand small{color:var(--text-muted);font-size:12px;line-height:1.1}.auth-copy,.auth-form,.auth-footnotes{gap:12px;display:grid}.auth-product-line{color:var(--text-muted);font-family:var(--font-tech);gap:8px;font-size:11px;font-weight:700}.auth-product-line svg{color:var(--primary)}.auth-copy h1{font-size:24px}.auth-form label{color:var(--text-soft);font-family:var(--font-tech);font-size:12px;font-weight:700}.auth-input-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--editor);min-height:48px;transition:border-color var(--motion-fast), box-shadow var(--motion-fast);grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;padding:0 12px;display:grid}.auth-input-wrap:focus-within{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.auth-input-wrap:focus-within{border-color:color-mix(in srgb, var(--primary) 62%, transparent)}}.auth-input-wrap:focus-within{box-shadow:0 0 0 3px var(--primary)}@supports (color:color-mix(in lab, red, red)){.auth-input-wrap:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent)}}.auth-input-wrap svg{color:var(--primary)}.auth-input-wrap input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:16px}.auth-input-wrap input::placeholder{color:var(--text-faint)}.auth-footnotes{gap:8px;padding-top:2px}.auth-footnotes div{min-height:26px;color:var(--text-muted);gap:8px;font-size:12px}.auth-footnotes svg{color:var(--success)}.primary-action,.secondary-action,.filter-button{border-radius:var(--radius-sm);min-height:40px;font-family:var(--font-tech);transition:transform var(--motion-fast), border-color var(--motion-fast), background-color var(--motion-fast), color var(--motion-fast), opacity var(--motion-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.primary-action{color:#fff;background:var(--primary-strong);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.primary-action{border-color:color-mix(in srgb, var(--primary) 52%, transparent)}}.auth-form .primary-action,.console-next-row .primary-action{background:var(--success);border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.auth-form .primary-action,.console-next-row .primary-action{border-color:color-mix(in srgb, var(--success) 52%, transparent)}}.landing-root{grid-template-columns:1fr 1fr;min-height:100svh;display:grid}.landing-hero{background:var(--bg);justify-content:center;align-items:center;padding:56px 52px;display:flex;position:relative;overflow:hidden}.landing-hero:before{content:"";background:radial-gradient(ellipse at center, var(--primary), transparent 65%);width:540px;height:540px;position:absolute;top:25%;left:15%}@supports (color:color-mix(in lab, red, red)){.landing-hero:before{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--primary) 22%, transparent), transparent 65%)}}.landing-hero:before{filter:blur(40px);opacity:.7;pointer-events:none;z-index:0;animation:hero-glow-pulse 8s var(--ease-apple) infinite}@keyframes hero-glow-pulse{0%,to{opacity:.65;transform:scale(1)}50%{opacity:.85;transform:scale(1.06)}}.landing-grid-bg{background-image:radial-gradient(circle, var(--border-strong) 1.2px, transparent 1.2px);opacity:.45;pointer-events:none;z-index:0;background-size:26px 26px;position:absolute;inset:0}.landing-hero-inner{z-index:1;gap:44px;width:100%;max-width:500px;display:grid;position:relative}.landing-brand-lockup{align-items:center;gap:13px;display:flex}.landing-brand-name{font-family:var(--font-tech);color:var(--text);letter-spacing:-.3px;font-size:20px;font-weight:700}.landing-headline h1{font-family:var(--font-display);letter-spacing:-.028em;color:var(--text);margin:0 0 18px;font-size:clamp(2.5rem,4.2vw,3.4rem);font-weight:800;line-height:1.06}.landing-headline p{color:var(--text-soft);max-width:400px;margin:0;font-size:15px;line-height:1.65}.landing-features{gap:18px;margin:0;padding:0;list-style:none;display:grid}.landing-features li{color:var(--text-soft);align-items:flex-start;gap:12px;font-size:14px;line-height:1.55;display:flex}.landing-features li svg{color:var(--primary);flex-shrink:0;margin-top:2px}.landing-features strong{color:var(--text)}.landing-auth-col{background:var(--bg-subtle);border-left:1px solid var(--border);justify-content:center;align-items:center;padding:36px 28px;display:flex}.auth-card{background:var(--surface);gap:22px;width:min(100%,400px);padding:30px;display:grid}@supports (color:color-mix(in lab, red, red)){.auth-card{background:color-mix(in srgb, var(--surface) 78%, transparent)}}.auth-card{-webkit-backdrop-filter:blur(30px)saturate(180%);border:var(--hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel)}.auth-card-top{justify-content:space-between;align-items:center;display:flex}.auth-brand-pill{font-family:var(--font-tech);color:var(--text);align-items:center;gap:9px;font-size:14px;font-weight:700;display:flex}.auth-card-copy h2{color:var(--text);letter-spacing:-.01em;margin:0 0 6px;font-size:20px;font-weight:700}.auth-card-copy p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.55}.auth-method-tabs{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.auth-method-tabs button{border-radius:var(--radius-sm);font-family:var(--font-tech);color:var(--text-muted);transition:background var(--motion-fast), color var(--motion-fast), box-shadow var(--motion-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:9px 12px;font-size:12px;font-weight:700;display:flex}.auth-method-tabs button.is-active{background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:0 1px 4px #0000002e}.auth-method-tabs button:not(.is-active):hover{color:var(--text-soft);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.auth-method-tabs button:not(.is-active):hover{background:color-mix(in srgb, var(--surface) 50%, transparent)}}.auth-form-v2{gap:14px;display:grid}.auth-field{gap:7px;display:grid}.auth-field label{font-family:var(--font-tech);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.auth-field-label-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.auth-inline-link{color:var(--primary);font-family:var(--font-tech);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:color var(--motion-fast);background:0 0;border:none;padding:0;font-size:11px;font-weight:700}.auth-inline-link:hover{color:var(--primary-strong);text-decoration:underline}.landing-auth-col-solo{background:var(--bg);border-left:none;grid-column:1/-1}.auth-submit{background:var(--primary);color:#fff;border:1px solid var(--primary);justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin-top:4px;display:flex}@supports (color:color-mix(in lab, red, red)){.auth-submit{border:1px solid color-mix(in srgb, var(--primary) 58%, transparent)}}.auth-submit{border-radius:var(--radius-md);font-family:var(--font-tech);cursor:pointer;transition:background var(--motion-fast), transform var(--motion-fast), opacity var(--motion-fast);font-size:13px;font-weight:700}.auth-submit:hover:not(:disabled){background:var(--primary-strong);transform:translateY(-1px)}.auth-submit:disabled{opacity:.55;cursor:not-allowed}.auth-mode-toggle{color:var(--text-muted);text-align:center;margin:0;font-size:13px}.auth-mode-toggle button{color:var(--primary);cursor:pointer;font-weight:600;font-size:inherit;transition:color var(--motion-fast);background:0 0;border:none;padding:0;font-family:inherit}.auth-mode-toggle button:hover{color:var(--primary-strong)}.auth-install-cta{background:var(--primary-soft);color:var(--primary);border:1px solid var(--primary);justify-content:center;align-items:center;gap:7px;margin:0 auto;padding:9px 14px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.auth-install-cta{border:1px solid color-mix(in srgb, var(--primary) 36%, transparent)}}.auth-install-cta{border-radius:var(--radius-sm);font-family:var(--font-tech);cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast), transform var(--motion-fast);font-size:12px;font-weight:700}.auth-install-cta:hover{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.auth-install-cta:hover{background:color-mix(in srgb, var(--primary) 18%, var(--primary-soft))}}.auth-install-cta:hover{border-color:var(--primary);transform:translateY(-1px)}.auth-footnotes-v2{justify-content:center;align-items:center;gap:18px;padding-top:4px;display:flex}.auth-footnotes-v2 span{color:var(--text-faint);align-items:center;gap:6px;font-size:12px;display:flex}@media (width<=767px){.landing-root{grid-template-columns:1fr}.landing-hero{display:none}.landing-auth-col{background:var(--bg);border-left:none;align-items:flex-start;min-height:100svh;padding:24px 16px}.auth-card{width:100%;max-width:440px;margin:0 auto;padding:24px 20px}}.secondary-action,.filter-button{color:var(--text-soft);background:var(--surface-2);border-color:var(--border)}@media (hover:hover) and (pointer:fine){.primary-action:hover,.secondary-action:hover,.filter-button:hover{border-color:var(--border-strong);filter:brightness(1.06);transform:translateY(-1px)}}.primary-action:active,.secondary-action:active,.filter-button:active{filter:brightness(.96);transition:transform 80ms var(--ease-apple), filter 80ms var(--ease-apple);transform:scale(.97)}.primary-action:disabled,.secondary-action:disabled,.ghost-action:disabled{opacity:.48;transform:none}.run-button svg,.editor-running-overlay svg{animation:.82s linear infinite run-spin}.run-button svg:not(.lucide-loader-circle){animation:none}.home-page{padding-top:8px;padding-bottom:40px}.difficulty-strip{touch-action:pan-x;-webkit-overflow-scrolling:touch;gap:6px;padding:0;display:flex;overflow-x:auto}.diff-btn{border:1px solid var(--border);min-height:44px;color:var(--text-muted);font-family:var(--font-tech);transition:color var(--motion-fast), background-color var(--motion-fast), border-color var(--motion-fast);background:0 0;border-radius:999px;flex:none;padding:0 16px;font-size:12px;font-weight:700}.diff-btn.diff-all.is-active{color:var(--text);background:var(--surface-2);border-color:var(--border-strong)}.diff-btn.diff-easy.is-active{color:var(--success-text);background:var(--success-soft);border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.diff-btn.diff-easy.is-active{border-color:color-mix(in srgb, var(--success) 42%, transparent)}}.diff-btn.diff-medium.is-active{color:var(--warning-text);background:var(--warning-soft);border-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.diff-btn.diff-medium.is-active{border-color:color-mix(in srgb, var(--warning) 42%, transparent)}}.diff-btn.diff-hard.is-active{color:var(--danger-text);background:var(--danger-soft);border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.diff-btn.diff-hard.is-active{border-color:color-mix(in srgb, var(--danger) 44%, transparent)}}.diff-btn:not(.is-active):hover{color:var(--text-soft);background:var(--surface-2)}@supports (color:color-mix(in lab, red, red)){.diff-btn:not(.is-active):hover{background:color-mix(in srgb, var(--surface-2) 60%, transparent)}}.problem-num{color:var(--text-faint);font-family:var(--font-tech);width:36px;font-size:11px;font-weight:700}.xp-cell{width:64px}.xp-pill{border:1px solid var(--warning);align-items:center;gap:4px;min-height:22px;padding:0 7px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.xp-pill{border:1px solid color-mix(in srgb, var(--warning) 38%, transparent)}}.xp-pill{background:var(--warning-soft);color:var(--warning-text);font-family:var(--font-tech);border-radius:999px;font-size:11px;font-weight:700}.xp-ranking-card{border:1px solid var(--warning);gap:12px;padding:20px;display:grid}@supports (color:color-mix(in lab, red, red)){.xp-ranking-card{border:1px solid color-mix(in srgb, var(--warning) 28%, var(--border))}}.xp-ranking-card{border-radius:var(--radius-lg);background:linear-gradient(160deg, var(--warning), var(--surface))}@supports (color:color-mix(in lab, red, red)){.xp-ranking-card{background:linear-gradient(160deg, color-mix(in srgb, var(--warning) 6%, var(--surface)), var(--surface))}}.xp-ranking-card{box-shadow:var(--shadow-panel)}.xp-ranking-header{color:var(--text-muted);font-family:var(--font-tech);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.xp-trophy{color:var(--warning-text)}.xp-total-row{align-items:baseline;gap:6px;display:flex}.xp-bolt{color:var(--warning-text);align-self:center}.xp-total-value{color:var(--text);font-family:var(--font-tech);font-size:32px;font-weight:400;line-height:1}.xp-total-label{color:var(--text-muted);font-family:var(--font-tech);font-size:13px;font-weight:700}.xp-breakdown{border-top:1px solid var(--border);gap:8px;padding-top:4px;display:grid}.xp-row{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.xp-row strong{color:var(--text-soft);font-family:var(--font-tech);margin-left:auto;font-size:11px;font-weight:700}.xp-flame{color:var(--warning-text);flex:none}.xp-view-link{color:var(--primary);font-family:var(--font-tech);font-size:11px;font-weight:700;text-decoration:none}.xp-view-link:hover{text-decoration:underline}.coming-soon-state{text-align:center;place-items:center;gap:12px;padding:48px 24px;display:grid}.coming-soon-icon{border:1px solid var(--border);background:var(--surface-2);width:64px;height:64px;color:var(--text-muted);border-radius:50%;place-items:center;display:grid}.coming-soon-state h3{color:var(--text);font-size:16px}.coming-soon-state p{max-width:38ch;color:var(--text-muted);font-size:13px;line-height:1.6}.home-content-grid{grid-template-columns:1fr;gap:20px;margin-top:16px;display:grid}@media (width>=1024px){.home-content-grid{grid-template-columns:1fr 300px;align-items:start}}.home-main-col{gap:10px;min-width:0;display:grid}.home-side-col{gap:12px;display:grid}.daily-challenge-card{border:1px solid var(--primary);padding:24px}@supports (color:color-mix(in lab, red, red)){.daily-challenge-card{border:1px solid color-mix(in srgb, var(--primary) 28%, var(--border))}}.daily-challenge-card{border-radius:var(--radius-lg);background:linear-gradient(160deg, var(--primary), var(--surface))}@supports (color:color-mix(in lab, red, red)){.daily-challenge-card{background:linear-gradient(160deg, color-mix(in srgb, var(--primary) 7%, var(--surface)), var(--surface))}}.daily-challenge-card{box-shadow:var(--shadow-panel)}.ai-smart-card{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.ai-smart-card{border-color:color-mix(in srgb, var(--primary) 32%, transparent)}}.ai-smart-card{background:linear-gradient(165deg, var(--surface), var(--primary-soft))}.card-kicker{color:var(--primary);font-family:var(--font-tech);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:5px;margin-bottom:12px;font-size:11px;font-weight:800;display:inline-flex}.daily-challenge-card h3{margin-bottom:8px;font-size:18px}.daily-challenge-card p{color:var(--text-soft);margin-bottom:20px;font-size:13px;line-height:1.5}.stats-mini-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-panel);padding:20px}.stats-mini-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.stats-mini-card h3{font-size:14px}.stats-mini-card .stat-rows{margin-top:0}.stat-rows{gap:12px;margin-top:16px;display:grid}.stat-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.stat-row:last-child{border-bottom:0;padding-bottom:0}.stat-row span{color:var(--text-muted);font-size:12px}.stat-row strong{color:var(--text);font-family:var(--font-tech);font-size:14px}.text-link{color:var(--primary);font-size:12px;font-weight:600;text-decoration:none}.board-streak{color:var(--warning-text);align-items:center;gap:6px;font-weight:700;display:flex}.problem-board,.progress-shell{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.problem-hub-header{justify-content:space-between;align-items:center;gap:16px;padding:0 0 4px;display:flex}.hub-title{gap:6px;min-width:0;display:grid}.hub-start{flex:none;min-width:116px}.hub-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:0;display:grid}.hub-actions{gap:6px;display:inline-flex}.hub-search{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:42px;color:var(--text-muted);transition:border-color var(--motion-fast), box-shadow var(--motion-fast);grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:0 13px;display:grid}.hub-search:focus-within{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hub-search:focus-within{border-color:color-mix(in srgb, var(--primary) 50%, transparent)}}.hub-search:focus-within{box-shadow:0 0 0 3px var(--primary)}@supports (color:color-mix(in lab, red, red)){.hub-search:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 10%, transparent)}}.hub-search input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:16px}.hub-search input::placeholder{color:var(--text-faint)}.icon-only{width:42px;padding:0}.level-strip,.topic-strip{touch-action:pan-x;-webkit-overflow-scrolling:touch;gap:4px;padding:0;display:flex;position:relative;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 16px calc(100% - 24px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 16px calc(100% - 24px),#0000 100%)}.level-strip button,.topic-strip button{border-radius:var(--radius-md);min-height:44px;color:var(--text-muted);transition:color var(--motion-fast), background-color var(--motion-fast), border-color var(--motion-fast);background:0 0;border:1px solid #0000;flex:none;padding:0 14px;font-size:13px;font-weight:600}.level-strip button.is-active,.topic-strip button.is-active{color:var(--text);background:var(--surface-2);border-color:var(--border)}.level-strip button:not(.is-active):hover,.topic-strip button:not(.is-active):hover{color:var(--text-soft);background:var(--surface-2)}@supports (color:color-mix(in lab, red, red)){.level-strip button:not(.is-active):hover,.topic-strip button:not(.is-active):hover{background:color-mix(in srgb, var(--surface-2) 60%, transparent)}}.topic-strip button.is-soon{opacity:.6}.soon-badge{background:var(--primary);border-radius:4px;align-items:center;height:16px;margin-left:4px;padding:0 5px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.soon-badge{background:color-mix(in srgb, var(--primary) 18%, transparent)}}.soon-badge{color:var(--primary);font-family:var(--font-tech);letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;font-size:10px;font-weight:700}.problem-board{overflow:hidden}.board-summary-row{border-bottom:1px solid var(--border);min-height:46px;color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;padding:0 14px;font-size:13px;display:flex}.board-summary-row>div{align-items:center;gap:8px;display:inline-flex}.board-summary-row strong{color:var(--text);font-family:var(--font-tech);font-size:12px}.problem-table-wrap,.submissions-table-wrap{overflow-x:auto}.problem-table,.submissions-table,.result-table{border-collapse:collapse;width:100%}.problem-table th,.problem-table td,.submissions-table th,.submissions-table td,.result-table th,.result-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:11px 14px}.problem-table th,.submissions-table th,.result-table th{color:var(--text-muted);background:var(--surface-2);font-family:var(--font-tech);font-size:11px;font-weight:700}.problem-table td,.submissions-table td,.result-table td{color:var(--text-soft);font-size:13px}.problem-table tr:hover,.submissions-table tr:hover{background:var(--surface-2)}@supports (color:color-mix(in lab, red, red)){.problem-table tr:hover,.submissions-table tr:hover{background:color-mix(in srgb, var(--surface-2) 70%, transparent)}}.company-badge{background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;vertical-align:middle;border-radius:999px;align-items:center;gap:5px;margin-top:5px;padding:2px 8px 2px 3px;text-decoration:none;display:inline-flex}.company-logo-wrap{background:var(--co-bg,#6b7280);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex;overflow:hidden}.company-logo-svg{width:12px;height:12px;fill:var(--co-fg,#fff);flex-shrink:0;display:block}.company-logo-fallback{color:var(--co-fg,#fff);font-size:10px;font-weight:800;font-family:var(--font-tech);line-height:1}.company-badge-name{color:var(--text-soft);font-size:11px;font-weight:600;font-family:var(--font-body)}.company-cell{white-space:nowrap}.company-cell .company-badge{margin-top:0}.company-cell .company-logo-wrap,.company-cell .company-logo-img{width:22px;height:22px}.problem-table-company .problem-title-link{max-width:none}.problem-title-link{color:var(--text);font-weight:700;text-decoration:none;display:block}.problem-title-link:hover{color:var(--primary)}.problem-table small,.submissions-table small{color:var(--text-faint);margin-top:3px;font-size:12px;display:block}.row-solved{color:var(--success)}.row-unsolved{color:var(--text-faint)}.progress-layout-v2{gap:16px;padding-bottom:40px;display:grid}.xp-section{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--primary), var(--surface));align-items:center;gap:24px;padding:20px 24px;display:flex}@supports (color:color-mix(in lab, red, red)){.xp-section{background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 8%, var(--surface)), var(--surface))}}.xp-section{box-shadow:var(--shadow-panel)}.xp-section-left{flex:none;align-items:center;gap:16px;display:flex}.xp-section-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rank-badge{border-radius:var(--radius-md);min-width:100px;font-family:var(--font-tech);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;justify-content:center;align-items:center;padding:6px 14px;font-size:11px;font-weight:800;display:inline-flex}.level-picker{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;transition:border-color var(--motion-fast), background var(--motion-fast);align-items:center;gap:6px;padding:4px 10px 4px 12px;font-size:12px;line-height:1.2;display:inline-flex}.level-picker:hover{border-color:var(--border-strong)}.level-picker:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary)}@supports (color:color-mix(in lab, red, red)){.level-picker:focus-within{box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 22%, transparent)}}.level-picker-label{color:var(--text-muted);font-weight:500}.level-picker-control{color:var(--text);align-items:center;gap:4px;font-weight:600;display:inline-flex;position:relative}.level-picker-control select{appearance:none;color:inherit;font:inherit;cursor:pointer;opacity:0;background:0 0;border:0;width:100%;margin:0;padding:0 18px 0 0;position:absolute;inset:0}.level-picker-control>[aria-hidden]{color:var(--text-muted);font-size:10px}.rank-beginner{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.rank-apprentice{background:#22c55e}@supports (color:color-mix(in lab, red, red)){.rank-apprentice{background:color-mix(in srgb, #22c55e 12%, var(--surface))}}.rank-apprentice{color:#4ade80;border:1px solid #22c55e4d}.rank-analyst{background:var(--primary-soft);color:var(--primary);border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.rank-analyst{border:1px solid color-mix(in srgb, var(--primary) 32%, transparent)}}.rank-senior{background:#0ea5e9}@supports (color:color-mix(in lab, red, red)){.rank-senior{background:color-mix(in srgb, #0ea5e9 12%, var(--surface))}}.rank-senior{color:#38bdf8;border:1px solid #0ea5e94d}.rank-expert{background:var(--warning-soft);color:var(--warning-text);border:1px solid var(--warning)}@supports (color:color-mix(in lab, red, red)){.rank-expert{border:1px solid color-mix(in srgb, var(--warning) 38%, transparent)}}.rank-master{background:#f43f5e}@supports (color:color-mix(in lab, red, red)){.rank-master{background:color-mix(in srgb, #f43f5e 12%, var(--surface))}}.rank-master{color:#fb7185;border:1px solid #f43f5e4d}.xp-section-value{color:var(--text);font-family:var(--font-tech);align-items:center;gap:8px;font-size:20px;font-weight:700;line-height:1;display:inline-flex}.xp-section-value svg{color:var(--warning-text)}.xp-section-sub{color:var(--text-muted);margin-top:4px;font-size:12px;line-height:1}.xp-bar-wrap{flex:auto;gap:8px;min-width:0;display:grid}.xp-bar-track{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.xp-bar-fill{background:linear-gradient(90deg, var(--primary), var(--primary));border-radius:999px;height:100%}@supports (color:color-mix(in lab, red, red)){.xp-bar-fill{background:linear-gradient(90deg, var(--primary), color-mix(in srgb, var(--primary) 60%, #0ea5e9))}}.xp-bar-fill{min-width:4px;transition:width .8s cubic-bezier(.16,1,.3,1)}.xp-bar-labels{color:var(--text-faint);font-family:var(--font-tech);justify-content:space-between;font-size:10px;font-weight:700;display:flex}.stats-grid-v2{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.stat-tile-v2{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);align-items:center;gap:12px;padding:14px 16px;display:flex}.stat-tile-icon{border-radius:var(--radius-sm);flex:none;place-items:center;width:34px;height:34px;display:grid}.stat-tile-blue .stat-tile-icon{background:var(--primary-soft);color:var(--primary)}.stat-tile-orange .stat-tile-icon{background:var(--warning-soft);color:var(--warning-text)}.stat-tile-purple .stat-tile-icon{background:#0ea5e9}@supports (color:color-mix(in lab, red, red)){.stat-tile-purple .stat-tile-icon{background:color-mix(in srgb, #0ea5e9 12%, var(--surface))}}.stat-tile-purple .stat-tile-icon{color:#38bdf8}.stat-tile-green .stat-tile-icon{background:var(--success-soft);color:var(--success-text)}.stat-tile-body{gap:2px;min-width:0;display:grid}.stat-tile-value{color:var(--text);font-family:var(--font-tech);font-size:20px;font-weight:700;line-height:1}.stat-tile-label{color:var(--text-muted);font-size:11px;font-weight:600}.progress-panels-grid{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:start;gap:12px;display:grid}.progress-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.progress-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:48px;padding:0 16px;display:flex}.progress-panel-header h2{font-size:13px;font-weight:700}.progress-panel-header span{color:var(--text-faint);font-family:var(--font-tech);font-size:11px;font-weight:700}.topic-mastery-list{display:grid}.topic-mastery-row{border-bottom:1px solid var(--border);gap:8px;padding:14px 16px;display:grid}.topic-mastery-row:last-child{border-bottom:0}.topic-mastery-info{justify-content:space-between;align-items:center;gap:8px;display:flex}.topic-mastery-name{color:var(--text);font-size:13px;font-weight:600}.topic-mastery-info small{color:var(--text-muted);font-family:var(--font-tech);white-space:nowrap;font-size:11px;font-weight:700}.coming-soon-tag{background:var(--primary-soft);border-radius:999px;padding:2px 7px;color:var(--primary)!important;font-size:10px!important}.topic-mastery-bar-wrap{align-items:center;gap:10px;display:flex}.topic-mastery-bar{background:var(--surface-2);border-radius:999px;flex:auto;height:6px;overflow:hidden}.topic-mastery-fill{background:linear-gradient(90deg, var(--primary-strong), var(--primary));border-radius:999px;min-width:0;height:100%;transition:width .6s cubic-bezier(.16,1,.3,1)}.topic-mastery-pct{color:var(--text-faint);font-family:var(--font-tech);text-align:right;min-width:28px;font-size:10px;font-weight:700}.activity-empty{text-align:center;place-items:center;gap:12px;padding:40px 24px;display:grid}.activity-empty-icon{border:1px solid var(--border);background:var(--surface-2);width:56px;height:56px;color:var(--text-muted);border-radius:50%;place-items:center;display:grid}.activity-empty p{color:var(--text-muted);font-size:13px}.activity-cta{min-height:36px;padding:0 16px;font-size:12px}.activity-list{display:grid}.activity-card{border-bottom:1px solid var(--border);min-height:56px;transition:background-color var(--motion-fast);align-items:center;gap:12px;padding:10px 16px;display:flex}.activity-card:last-child{border-bottom:0}.activity-card:hover{background:var(--surface-2)}@supports (color:color-mix(in lab, red, red)){.activity-card:hover{background:color-mix(in srgb, var(--surface-2) 60%, transparent)}}.activity-card-status{flex:none}.activity-pass .activity-card-status{color:var(--success-text)}.activity-fail .activity-card-status{color:var(--danger-text)}.activity-card-body{flex:auto;gap:5px;min-width:0;display:grid}.activity-card-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.activity-card-meta{align-items:center;gap:8px;display:flex}.activity-card-time{color:var(--text-faint);font-family:var(--font-tech);align-items:center;gap:4px;font-size:11px;font-weight:700;display:inline-flex}.activity-card-xp{background:var(--warning-soft);border:1px solid var(--warning);border-radius:999px;flex:none;align-items:center;gap:3px;padding:3px 8px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.activity-card-xp{border:1px solid color-mix(in srgb, var(--warning) 30%, transparent)}}.activity-card-xp{color:var(--warning-text);font-family:var(--font-tech);font-size:11px;font-weight:700}.readiness-header,.trending-icon,.points-badge,.points-label,.points-value{display:none}.topic-info{gap:4px;display:grid}.topic-bar-container{align-items:center;display:flex}@media (width<=768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.progress-layout{grid-template-columns:1fr}}.progress-head>div{gap:6px;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.stat-tile{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);grid-template-columns:auto minmax(0,1fr);gap:6px 8px;min-height:84px;padding:12px;display:grid}.stat-tile svg{color:var(--primary)}.stat-tile span{color:var(--text);font-family:var(--font-tech);align-self:center;font-size:20px;font-weight:700;line-height:1}.stat-tile small{color:var(--text-muted);grid-column:1/-1;font-size:12px;font-weight:700}.progress-layout{grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);gap:12px;display:grid}.coverage-panel,.history-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);min-width:0;overflow:hidden}.panel-title-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:46px;padding:0 12px;display:flex}.panel-title-row span{color:var(--text-muted);font-size:12px}.topic-bars{gap:0;display:grid}.topic-bar-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,130px) minmax(0,1fr);align-items:center;gap:12px;min-height:58px;padding:10px 12px;display:grid}.topic-bar-row:last-child{border-bottom:0}.topic-bar-row span{color:var(--text);font-size:13px;font-weight:700}.topic-bar-row small{color:var(--text-muted);margin-top:3px;font-size:12px;display:block}.topic-bar{background:var(--surface);border-radius:999px;height:7px;overflow:hidden}.topic-bar span{border-radius:inherit;background:var(--primary);height:100%;display:block}.practice-page{flex-direction:column;gap:8px;width:100%;max-width:none;height:calc(100dvh - 52px);padding:8px 10px 10px;display:flex;overflow:hidden}.app-shell:has(.practice-page){padding-bottom:0}.app-shell:has(.practice-page) .bottom-nav{display:none}.practice-command-bar{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:46px;padding:6px 10px;display:grid}.workspace-header-left{align-items:center;gap:12px;display:flex}.back-button{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--text-muted);transition:color var(--motion-fast), background-color var(--motion-fast), transform 80ms var(--ease-apple);justify-content:center;align-items:center;text-decoration:none;display:flex}@media (hover:hover) and (pointer:fine){.back-button:hover{color:var(--text);background:var(--surface-2)}}.back-button:active{transform:scale(.94)}.success-overlay{z-index:100;background:var(--bg);place-items:center;padding:20px;display:grid;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.success-overlay{background:color-mix(in srgb, var(--bg) 65%, transparent)}}.success-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:page-fade var(--motion-panel) both}.success-card{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);width:min(100%,360px);box-shadow:var(--shadow-panel);text-align:center;flex-direction:column;align-items:center;padding:32px 24px;display:flex}.success-badge{width:72px;height:72px;color:var(--success-text);background:var(--success-soft);border:2px solid var(--success);border-radius:50%;place-items:center;margin-bottom:20px;display:grid}@supports (color:color-mix(in lab, red, red)){.success-badge{border:2px solid color-mix(in srgb, var(--success) 32%, transparent)}}.success-content h2{margin-bottom:8px;font-size:20px}.success-content p{margin-bottom:24px}.success-metrics{justify-content:center;gap:12px;margin-bottom:24px;display:flex}.success-metric{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);gap:4px;padding:10px 16px;display:grid}.success-metric span{color:var(--text-faint);text-transform:uppercase;font-size:11px}.success-metric strong{color:var(--text);font-size:14px}.success-action{width:100%}.achievement-backdrop{z-index:200;-webkit-backdrop-filter:blur(10px)saturate(160%);background:#00000080;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.achievement-sheet{background:var(--surface);flex-direction:column;align-items:center;width:min(100%,420px);padding:36px 28px 28px;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.achievement-sheet{background:color-mix(in srgb, var(--surface) 88%, transparent)}}.achievement-sheet{-webkit-backdrop-filter:blur(40px)saturate(180%);border:var(--hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel);text-align:center}.achievement-close{background:var(--surface-2);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);border:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;right:10px}.achievement-close:hover{background:var(--panel);color:var(--text)}.achievement-trophy{background:linear-gradient(140deg, var(--warning), var(--primary));border-radius:50%;place-items:center;width:84px;height:84px;margin-bottom:18px;display:grid}@supports (color:color-mix(in lab, red, red)){.achievement-trophy{background:linear-gradient(140deg, color-mix(in srgb, var(--warning) 30%, transparent), color-mix(in srgb, var(--primary) 20%, transparent))}}.achievement-trophy{color:var(--warning-text);border:1px solid var(--warning)}@supports (color:color-mix(in lab, red, red)){.achievement-trophy{border:1px solid color-mix(in srgb, var(--warning) 32%, transparent)}}.achievement-badge{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin:0 0 6px;font-size:24px;font-weight:800}.achievement-message{color:var(--text-soft);max-width:320px;margin:0 0 22px;font-size:14px;line-height:1.5}.achievement-xp{border:var(--hairline);border-radius:var(--radius-md);background:var(--primary-soft);justify-content:center;align-items:baseline;gap:8px;margin-bottom:22px;padding:10px 18px;display:flex}.achievement-xp span{font-family:var(--font-tech);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.achievement-xp strong{font-family:var(--font-display);color:var(--primary);font-size:22px;font-weight:800}.achievement-continue{width:100%}.toast-viewport{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));z-index:300;pointer-events:none;flex-direction:column;gap:10px;width:min(100vw - 32px,360px);display:flex;position:fixed}.toast-viewport>*{pointer-events:auto}.toast{background:var(--surface);grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 12px 12px 14px;display:grid}@supports (color:color-mix(in lab, red, red)){.toast{background:color-mix(in srgb, var(--surface) 78%, transparent)}}.toast{-webkit-backdrop-filter:blur(24px)saturate(180%);border:var(--hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);cursor:grab}.toast:active{cursor:grabbing}.toast-icon{color:var(--text-muted);align-self:start;margin-top:1px}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--danger)}.toast-warning .toast-icon{color:var(--warning)}.toast-info .toast-icon{color:var(--primary)}.toast-body{gap:2px;min-width:0;display:grid}.toast-title{color:var(--text);font-size:13px;font-weight:600;line-height:1.35}.toast-desc{color:var(--text-muted);font-size:12px;line-height:1.4}.toast-action{border:var(--hairline);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-family:var(--font-tech);cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast);align-self:center;padding:6px 10px;font-size:11px;font-weight:700}.toast-action:hover{background:var(--panel);border-color:var(--border-strong)}.toast-close{width:28px;height:28px;color:var(--text-faint);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:4px;right:4px}.toast{position:relative}.toast-close:hover{background:var(--surface-2);color:var(--text)}@media (width<=640px){.toast-viewport{top:auto;bottom:max(80px, calc(env(safe-area-inset-bottom) + 80px));width:auto;left:12px;right:12px}}.sheet-backdrop{z-index:300;padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(10px)saturate(160%);background:#00000073;place-items:center;display:grid;position:fixed;inset:0}.sheet{background:var(--surface);flex-direction:column;width:100%;max-height:88dvh;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.sheet{background:color-mix(in srgb, var(--surface) 84%, transparent)}}.sheet{-webkit-backdrop-filter:blur(40px)saturate(180%);border:var(--hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel);overscroll-behavior:contain;overflow:hidden}.sheet-sm{max-width:380px}.sheet-md{max-width:520px}.sheet-lg{max-width:720px}.sheet-handle{background:var(--border-strong);opacity:.5;pointer-events:none;border-radius:2px;width:36px;height:4px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.sheet-header{justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 24px 12px;display:flex}.sheet-title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text);margin:0 0 4px;font-size:18px;font-weight:700}.sheet-desc{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.sheet-close{background:var(--surface-2);width:44px;height:44px;color:var(--text-muted);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast), transform 80ms var(--ease-apple);border:none;border-radius:50%;flex-shrink:0;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.sheet-close:hover{background:var(--panel);color:var(--text)}}.sheet-close:active{transform:scale(.94)}.sheet-body{padding:12px 24px 24px;overflow-y:auto}.sheet-actions{flex-direction:column;gap:10px;margin-top:8px;display:flex}.sheet-actions .secondary-action,.sheet-actions .primary-action{width:100%;min-height:44px}.danger-action{background:var(--danger)!important;color:var(--surface)!important;border-color:var(--danger)!important}@supports (color:color-mix(in lab, red, red)){.danger-action{border-color:color-mix(in srgb, var(--danger) 60%, transparent)!important}}.danger-action:hover:not(:disabled){background:var(--danger)!important}@supports (color:color-mix(in lab, red, red)){.danger-action:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 86%, var(--text))!important}}.settings-tabs{background:var(--surface-2);border:var(--hairline);border-radius:var(--radius-md);gap:4px;margin-bottom:18px;padding:4px;display:flex}.settings-tab{border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-tech);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:1px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:11px;font-weight:700;display:inline-flex}.settings-tab.is-active{background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:0 1px 4px #0000002e}@media (width<=420px){.settings-tab{gap:4px;padding:10px 6px;font-size:12px}}.settings-section{gap:18px;display:grid}.settings-field{gap:8px;display:grid}.settings-field label{font-family:var(--font-tech);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.settings-readonly{background:var(--surface-2);border:var(--hairline);border-radius:var(--radius-md);color:var(--text-soft);padding:11px 14px;font-size:13px}.settings-theme-group{grid-template-columns:1fr 1fr;gap:8px;display:grid}.settings-theme-option{border:var(--hairline);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-soft);font-family:var(--font-tech);cursor:pointer;transition:all var(--motion-fast);justify-content:center;align-items:center;gap:8px;padding:14px;font-size:12px;font-weight:700;display:inline-flex}.settings-theme-option.is-active{background:var(--primary-soft);color:var(--primary);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.settings-theme-option.is-active{border-color:color-mix(in srgb, var(--primary) 40%, transparent)}}.settings-description{color:var(--text-secondary);margin:4px 0 10px;font-size:12px;line-height:1.55}.settings-key-active{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.settings-key-badge{font-size:12px;font-family:var(--font-tech);background:var(--success,#28c840);align-items:center;gap:5px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.settings-key-badge{background:color-mix(in srgb, var(--success,#28c840) 12%, transparent)}}.settings-key-badge{color:var(--success-text,#1a9e2e);border:var(--hairline);border-color:var(--success,#28c840)}@supports (color:color-mix(in lab, red, red)){.settings-key-badge{border-color:color-mix(in srgb, var(--success,#28c840) 35%, transparent)}}.settings-key-badge{border-radius:var(--radius-sm);padding:4px 10px}.settings-key-form{flex-direction:column;gap:8px;display:flex}.settings-key-explainer{margin:4px 0 0;padding-left:16px}.settings-key-explainer li{margin-bottom:3px}.settings-danger{border:var(--hairline);border-color:var(--danger);padding:18px}@supports (color:color-mix(in lab, red, red)){.settings-danger{border-color:color-mix(in srgb, var(--danger) 28%, var(--border))}}.settings-danger{border-radius:var(--radius-md);background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.settings-danger{background:color-mix(in srgb, var(--danger) 5%, transparent)}}.settings-danger h3{color:var(--danger-text);margin:0 0 6px;font-size:14px}.settings-danger p{color:var(--text-muted);margin:0 0 14px;font-size:12.5px;line-height:1.5}.onboarding-progress{justify-content:center;gap:6px;margin-bottom:18px;display:flex}.onboarding-dot{background:var(--border-strong);width:6px;height:6px;transition:all var(--motion-fast);border-radius:50%}.onboarding-dot.is-active{background:var(--primary);border-radius:999px;width:22px}.onboarding-dot.is-done{background:var(--success)}.onboarding-step{min-height:200px;margin-bottom:20px}.onboarding-welcome,.onboarding-ready{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:8px;display:flex}.onboarding-welcome p,.onboarding-ready p{color:var(--text-soft);max-width:380px;font-size:14px;line-height:1.55}.onboarding-icon{color:var(--primary)}.onboarding-level-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.onboarding-focus-grid{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.onboarding-choice{border:var(--hairline);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-soft);cursor:pointer;transition:all var(--motion-fast);text-align:left;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;display:flex}.onboarding-choice strong{color:var(--text);font-size:14px;font-weight:600}.onboarding-choice span{color:var(--text-muted);font-size:12.5px;line-height:1.5}.onboarding-choice.is-active{background:var(--primary-soft);border-color:var(--primary)}.onboarding-choice.is-active strong{color:var(--primary)}.onboarding-focus{text-align:center;align-items:center}.onboarding-focus svg{color:var(--text-muted)}.onboarding-focus.is-active svg{color:var(--primary)}.onboarding-actions{border-top:var(--hairline);justify-content:space-between;gap:10px;padding-top:8px;display:flex}.onboarding-actions .secondary-action,.onboarding-actions .primary-action{min-height:40px;padding:0 18px}@media (width<=420px){.onboarding-level-grid,.onboarding-focus-grid{grid-template-columns:1fr}.onboarding-choice{min-height:56px;padding:12px}.onboarding-focus{flex-direction:row;justify-content:flex-start;gap:12px}.onboarding-welcome p,.onboarding-ready p{font-size:13.5px}}.heatmap-wrap{background:var(--surface);border:var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);max-width:100%;padding:20px;overflow-x:auto}.heatmap-header{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.heatmap-title{font-family:var(--font-tech);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.heatmap-total{color:var(--text-muted);font-size:13px}.heatmap-total strong{color:var(--text);font-weight:700}.heatmap-grid{grid-template-rows:repeat(7,1fr);grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:column;gap:3px;min-width:max-content;display:grid}.heatmap-cell{aspect-ratio:1;background:var(--surface-2);border-radius:3px;width:100%}.heatmap-cell.lvl-0{background:var(--border)}@supports (color:color-mix(in lab, red, red)){.heatmap-cell.lvl-0{background:color-mix(in srgb, var(--border) 60%, transparent)}}.heatmap-cell.lvl-1{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.heatmap-cell.lvl-1{background:color-mix(in srgb, var(--success) 28%, var(--surface-2))}}.heatmap-cell.lvl-2{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.heatmap-cell.lvl-2{background:color-mix(in srgb, var(--success) 50%, var(--surface-2))}}.heatmap-cell.lvl-3{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.heatmap-cell.lvl-3{background:color-mix(in srgb, var(--success) 72%, var(--surface-2))}}.heatmap-cell.lvl-4{background:var(--success)}.heatmap-legend{color:var(--text-faint);justify-content:flex-end;align-items:center;gap:4px;margin-top:12px;font-size:11px;display:flex}.heatmap-legend>span:not(.heatmap-cell){margin:0 4px}.heatmap-legend .heatmap-cell{width:11px;height:11px}@media (width<=480px){.heatmap-wrap{padding:16px}.heatmap-grid{aspect-ratio:auto;grid-template-rows:repeat(7,18px);grid-template-columns:repeat(12,18px);grid-auto-rows:18px;padding-bottom:4px;overflow-x:auto}.heatmap-cell{aspect-ratio:auto;width:18px;height:18px}}@media (width<=640px){.sheet-backdrop{align-items:end;padding:0}.sheet{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:92vh;padding-bottom:env(safe-area-inset-bottom);max-width:none!important}}.cmdk-backdrop{z-index:250;padding:max(12vh, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));padding-top:max(12dvh, env(safe-area-inset-top));-webkit-backdrop-filter:blur(10px)saturate(160%);background:#0000006b;place-items:start center;display:grid;position:fixed;inset:0}.cmdk-shell{background:var(--surface);width:min(100%,580px)}@supports (color:color-mix(in lab, red, red)){.cmdk-shell{background:color-mix(in srgb, var(--surface) 78%, transparent)}}.cmdk-shell{-webkit-backdrop-filter:blur(40px)saturate(180%);border:var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);overflow:hidden}.cmdk-root{flex-direction:column;max-height:70dvh;display:flex}.cmdk-search{border-bottom:var(--hairline);grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.cmdk-search input{color:var(--text);font-family:var(--font-body);background:0 0;border:none;outline:none;font-size:16px}.cmdk-search input::placeholder{color:var(--text-faint)}.cmdk-search svg{color:var(--text-muted)}.cmdk-kbd,.cmdk-kbd-sm{border:var(--hairline);background:var(--surface-2);color:var(--text-muted);font-family:var(--font-tech);letter-spacing:.04em;text-transform:uppercase;border-radius:5px;justify-content:center;align-items:center;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.cmdk-kbd-sm{margin-left:auto;font-size:10px}.cmdk-list{flex:1;padding:8px;overflow-y:auto}.cmdk-group{margin-bottom:6px}.cmdk-group [cmdk-group-heading]{color:var(--text-faint);font-family:var(--font-tech);text-transform:uppercase;letter-spacing:.06em;padding:6px 10px 4px;font-size:10px;font-weight:700}.cmdk-list [cmdk-item]{border-radius:var(--radius-sm);color:var(--text-soft);cursor:pointer;transition:background var(--motion-instant), color var(--motion-instant);grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 10px;font-size:13.5px;display:grid}.cmdk-list [cmdk-item][data-selected=true]{background:var(--primary-soft);color:var(--text)}.cmdk-list [cmdk-item] svg{color:var(--text-muted)}.cmdk-list [cmdk-item][data-selected=true] svg{color:var(--primary)}.cmdk-empty{text-align:center;color:var(--text-muted);padding:24px;font-size:13px}.cmdk-q-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cmdk-q-diff{font-family:var(--font-tech);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}@media (width<=640px){.cmdk-backdrop{padding:max(env(safe-area-inset-top), 16px) 12px 12px;align-items:start;min-height:100dvh}.cmdk-shell{width:100%}.cmdk-root{max-height:70dvh}.cmdk-search{padding:12px 14px}.cmdk-search input{font-size:17px}}.challenge-track{gap:6px;min-width:0;display:grid}.challenge-track-label{min-width:0;color:var(--text-muted);font-family:var(--font-tech);justify-content:space-between;align-items:center;gap:10px;font-size:11px;font-weight:700;display:flex}.challenge-track-label strong{color:var(--text)}.challenge-track-bar{background:var(--editor);border-radius:999px;height:4px;overflow:hidden}.challenge-track-bar span{border-radius:inherit;background:var(--primary);height:100%;display:block}.workspace-timer{min-width:96px;color:var(--text-soft);font-family:var(--font-tech);justify-content:flex-end;gap:6px;font-size:12px;font-weight:700}.workspace-timer svg{color:currentColor}.workspace-timer small{color:var(--text-faint)}.timer-warning{color:var(--warning-text)}.timer-danger{color:var(--danger-text)}.practice-workspace{flex:auto;grid-template-columns:52px minmax(0,1fr);gap:8px;min-height:0;display:grid}.workspace-rail{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;align-items:center;min-height:0;padding:8px 5px;display:flex}.workspace-rail-brand{display:none}.workspace-rail-items{gap:4px;width:100%;display:grid}.rail-item{border-radius:var(--radius-sm);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-muted);transition:color var(--motion-fast), background-color var(--motion-fast), border-color var(--motion-fast), transform 80ms var(--ease-apple);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.rail-item:hover{color:var(--text);background:var(--surface-2);border-color:var(--border)}}.rail-item:active{transform:scale(.94)}.rail-item.is-active{color:var(--primary);background:var(--primary-soft);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.rail-item.is-active{border-color:color-mix(in srgb, var(--primary) 32%, transparent)}}.rail-item span,.workspace-rail-bottom span{display:none}.workspace-rail button:hover,.workspace-rail button.is-active{color:var(--text);border-color:var(--border);background:var(--surface-2)}.workspace-rail-bottom{width:40px;height:40px;color:var(--text-faint);justify-content:center;align-items:center;margin-top:auto;display:inline-flex}.workspace-main{flex:auto;min-width:0;min-height:0;display:flex;position:relative}.problem-pane-header{border-bottom:1px solid var(--border);align-items:stretch;display:flex}.problem-pane-header .workspace-tabs{border-bottom:none;flex:auto}.problem-collapse-btn{border-radius:var(--radius-sm);width:34px;color:var(--text-muted);cursor:pointer;transition:color var(--motion-fast), background-color var(--motion-fast), border-color var(--motion-fast);background:0 0;border:1px solid #0000;flex:0 0 34px;justify-content:center;align-items:center;margin-right:6px;display:inline-flex}@media (hover:hover) and (pointer:fine){.problem-collapse-btn:hover{color:var(--text);background:var(--surface-2);border-color:var(--border)}}.problem-collapse-btn:active{transition:transform 80ms var(--ease-apple);transform:scale(.94)}.problem-collapse-btn:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.problem-collapse-handle{border:1px solid var(--border);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--surface);height:28px;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:color var(--motion-fast), background-color var(--motion-fast), transform var(--motion-fast);border-left:none;align-items:center;gap:4px;padding:0 8px 0 6px;font-size:11px;font-weight:600;display:inline-flex;position:absolute;top:8px;left:0}.problem-collapse-handle:hover{color:var(--text);background:var(--surface-2);transform:translate(2px)}.problem-collapse-handle:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.workspace-pane{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;min-height:0;overflow:hidden}.problem-pane{flex-direction:column;height:100%;display:flex}.editor-pane{flex-direction:column;gap:0;height:100%;display:flex}.console-pane{flex-direction:column;height:100%;display:flex}.resize-handle{background:var(--border);z-index:1;flex-shrink:0;transition:background .15s}.resize-handle--vertical{cursor:col-resize;width:5px}.resize-handle--horizontal{cursor:row-resize;height:5px}.resize-handle:hover,.resize-handle[data-separator=active]{background:var(--primary)}.workspace-tabs{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:2px;min-height:42px;padding:0 8px;display:flex}.workspace-tabs button{border-radius:var(--radius-sm);min-height:34px;color:var(--text-muted);transition:color var(--motion-fast), background-color var(--motion-fast), border-color var(--motion-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.workspace-tabs button:hover,.workspace-tabs button.is-active{color:var(--text);background:var(--surface-2)}.workspace-tabs button.is-active{border-color:var(--border)}.workspace-tabs button:disabled{opacity:.42}.problem-pane-scroll,.console-body{min-height:0;overflow:auto}.problem-pane-scroll{flex:auto;padding:16px}.pane-fade{animation:.22s both pane-fade}.problem-description{gap:14px;display:grid}.problem-meta-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.bookmark-button{width:44px;min-width:44px;height:44px;min-height:44px;transition:color var(--motion-fast), background-color var(--motion-fast), transform 80ms var(--ease-apple);margin-left:auto}.bookmark-button:active{transform:scale(.94)}.problem-description h1{max-width:18ch;color:var(--text);font-family:var(--font-body);font-size:24px;font-weight:800;line-height:1.08}.problem-description p{color:var(--text-soft);font-size:15px;line-height:1.62}.problem-signal-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.signal-item{color:var(--text-soft);align-items:center;gap:6px;font-size:13px;display:inline-flex}.signal-badge{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-muted);padding:2px 8px;font-size:11px;font-weight:700}.problem-tables-mini{gap:10px;margin-bottom:16px;display:grid}.table-definition{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);padding:10px 14px}.table-def-name{margin-bottom:6px;font-size:12px;font-weight:700}.table-def-cols{flex-wrap:wrap;gap:6px;display:flex}.table-def-cols code{background:var(--editor);color:var(--primary);font-family:var(--font-tech);border-radius:3px;padding:2px 6px;font-size:11px}.problem-markdown{gap:10px;display:grid}.md-p{color:var(--text-soft);margin:0;font-size:14px;line-height:1.65}.md-strong{color:var(--text);font-weight:700}.md-h3{color:var(--text);font-family:var(--font-tech);margin:4px 0 0;font-size:13px;font-weight:700}.md-inline-code{background:var(--editor);color:var(--primary);font-family:var(--font-tech);border-radius:4px;padding:1px 5px;font-size:13px}.md-code-block{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--editor);color:var(--text-soft);font-family:var(--font-tech);white-space:pre;margin:0;padding:12px 14px;font-size:12px;line-height:1.65;overflow-x:auto}.md-table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);overflow-x:auto}.md-table{border-collapse:collapse;width:100%}.md-th{border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-family:var(--font-tech);text-align:left;white-space:nowrap;padding:8px 12px;font-size:11px;font-weight:700}.md-td{border-bottom:1px solid var(--border);color:var(--text-soft);padding:7px 12px;font-size:13px}.md-table tr:last-child .md-td{border-bottom:0}.md-ul{gap:4px;margin:0;padding-left:20px;display:grid}.md-li{color:var(--text-soft);font-size:14px;line-height:1.55}.example-block{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);gap:10px;margin:16px 0;padding:16px;display:grid}.example-title{color:var(--text);font-family:var(--font-tech);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:800}.example-label{color:var(--text-faint);font-family:var(--font-tech);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.example-explanation-text{color:var(--text-soft);margin:0;font-size:13px;font-style:italic;line-height:1.5}.example-schema-grid{gap:10px;display:grid}.example-data-table{gap:6px;display:grid}.example-data-label{color:var(--text-soft);font-family:var(--font-tech);font-size:11px;font-weight:700}.example-data-table table{border-collapse:collapse;border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;overflow:hidden}.example-data-table th{border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-family:var(--font-tech);text-align:left;white-space:nowrap;padding:6px 10px;font-size:10px;font-weight:700}.example-data-table td{border-bottom:1px solid var(--border);color:var(--text-soft);font-family:var(--font-tech);padding:6px 10px;font-size:12px}.example-data-table tr:last-child td{border-bottom:0}.null-cell{color:var(--text-faint);font-style:italic}.table-more-rows{color:var(--text-faint);font-family:var(--font-tech);padding:4px 2px;font-size:11px}.problem-tool-row{flex-wrap:wrap;gap:8px;display:flex}.problem-tool-row button{border:1px solid var(--border);min-height:30px;color:var(--text-muted);background:var(--surface-2);font-family:var(--font-tech);border-radius:999px;padding:0 10px;font-size:11px;font-weight:700}.problem-facts{border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid;overflow:hidden}.problem-facts div{border-right:1px solid var(--border);background:var(--bg-subtle);gap:5px;padding:11px;display:grid}.problem-facts div:last-child{border-right:0}.problem-facts span{color:var(--text-muted);font-size:12px}.problem-facts strong{color:var(--text);font-family:var(--font-tech);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.criteria-block,.schema-table,.solution-pane,.hint-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle)}.criteria-block{gap:10px;padding:12px;display:grid}.criteria-title,.schema-table-title{color:var(--text);font-family:var(--font-tech);align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.criteria-title svg,.schema-table-title svg{color:var(--primary)}.keyword-list{flex-wrap:wrap;gap:7px;display:flex}.keyword-list span{border:1px solid var(--border);min-height:28px;color:var(--text-muted);background:var(--surface);font-family:var(--font-tech);border-radius:999px;padding:6px 9px;font-size:11px;font-weight:700}.schema-pane,.schema-stack{gap:12px;display:grid}.schema-pane-heading{align-items:flex-start;gap:10px;display:flex}.schema-pane-heading svg{color:var(--primary);margin-top:2px}.schema-pane-heading div{gap:5px;display:grid}.schema-table{overflow:hidden}.schema-table-title{border-bottom:1px solid var(--border);min-height:38px;padding:0 11px}.schema-table-scroll{overflow-x:auto}.schema-table table{border-collapse:collapse;width:100%}.schema-table th,.schema-table td{border-bottom:1px solid var(--border);text-align:left;color:var(--text-soft);padding:8px 10px;font-size:12px}.schema-table th{color:var(--text-muted);background:var(--surface-2);font-family:var(--font-tech);font-size:11px}.solution-pane{gap:12px;padding:13px;display:grid}.solution-title{color:var(--text);font-family:var(--font-tech);font-size:12px;font-weight:700}.solution-pane pre,.solution-block pre{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--editor);color:var(--text-soft);font-family:var(--font-tech);white-space:pre-wrap;margin:0;padding:12px;font-size:12px;line-height:1.65;overflow-x:auto}.locked-solution,.submissions-empty{color:var(--text-muted);align-items:center;gap:10px;font-size:13px;display:flex}.locked-solution svg,.submissions-empty svg{color:var(--primary);flex:none}.hint-panel{opacity:0;max-height:0;transition:max-height var(--motion-panel), opacity var(--motion-panel), transform var(--motion-panel);flex:none;margin:0 12px 12px;overflow:hidden;transform:translateY(12px)}.hint-panel.is-open{opacity:1;max-height:380px;transform:translateY(0)}.hint-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:10px 12px;display:flex}.section-kicker{color:var(--text-faint);font-family:var(--font-tech);text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:700;display:block}.hint-status{border:1px solid var(--border);min-height:28px;color:var(--text-muted);background:var(--surface);font-family:var(--font-tech);border-radius:999px;gap:6px;padding:0 9px;font-size:11px;font-weight:700}.hint-status.is-ready{color:var(--success-text);background:var(--success-soft)}.hint-panel-body{gap:12px;padding:12px;display:grid}.hint-copy{gap:10px;display:flex}.hint-copy svg{color:var(--primary);flex:none;margin-top:2px}.muted-copy{color:var(--text-muted)}.mobile-challenge-strip{display:none}.editor-section{background:var(--editor);flex-direction:column;flex:auto;min-height:0;display:flex}.editor-titlebar,.console-titlebar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:0 10px;display:flex}.editor-file-tab{border:1px solid var(--border);border-bottom-color:var(--surface);border-radius:var(--radius-sm) var(--radius-sm) 0 0;min-height:30px;color:var(--text);background:var(--editor);font-family:var(--font-tech);gap:8px;padding:0 10px;font-size:12px;font-weight:700}.editor-file-tab span{background:var(--success);border-radius:50%;width:7px;height:7px}.editor-toolbar-actions{gap:8px}.editor-language-picker,.editor-dialect{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:30px;color:var(--text-soft);background:var(--surface-2);font-family:var(--font-tech);gap:6px;padding:0 9px;font-size:11px;font-weight:700}.editor-language-picker{position:relative}.editor-language-picker select{z-index:1;max-width:132px;min-height:28px;color:inherit;appearance:none;font-family:var(--font-tech);background:0 0;border:0;outline:0;padding:0 20px 0 0;font-size:11px;font-weight:700;position:relative}.editor-language-picker svg{z-index:0;color:var(--text-muted);pointer-events:none;position:absolute;right:7px}.sql-editor-shell{background:var(--editor);flex:auto;min-height:0;position:relative;overflow:hidden}.sql-editor-shell .cm-editor{background:0 0;height:100%}@media (width<=860px){.sql-editor-shell .cm-content{font-size:16px;line-height:1.45}.sql-editor-shell .cm-gutters{font-size:13px}}.sql-editor-shell .cm-scroller{overflow:auto}.editor-running-overlay{color:var(--text);background:var(--editor);place-items:center;gap:8px;display:grid;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.editor-running-overlay{background:color-mix(in srgb, var(--editor) 72%, transparent)}}.editor-running-overlay{font-family:var(--font-tech);font-size:12px;font-weight:700}.editor-statusbar{border-top:1px solid var(--border);min-height:28px;color:var(--text-faint);background:var(--surface);justify-content:flex-end;align-items:center;gap:14px;padding:0 10px;display:flex}@supports (color:color-mix(in lab, red, red)){.editor-statusbar{background:color-mix(in srgb, var(--surface) 74%, var(--editor))}}.editor-statusbar{font-family:var(--font-tech);font-size:10px;font-weight:700}.workspace-action-row{border-top:1px solid var(--border);background:var(--surface);align-items:center;gap:6px;min-height:52px;padding:8px;display:flex}.run-test-action{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:72px;min-height:36px;color:var(--text-soft);background:var(--surface-2);font-family:var(--font-tech);touch-action:manipulation;transition:color var(--motion-fast), background-color var(--motion-fast), border-color var(--motion-fast), transform var(--motion-fast);justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex}.run-test-action:hover:not(:disabled){color:var(--text);background:var(--panel);border-color:var(--border-strong)}.run-test-action:disabled{opacity:.45;cursor:not-allowed}.submit-action{min-width:100px}.action-row-secondary{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.workspace-action-row .primary-action{min-width:100px}.workspace-action-row .secondary-action{min-width:80px;min-height:36px}.workspace-action-row .ghost-action{min-height:36px}.workspace-action-row small{color:inherit;opacity:.8}.console-state-ran{color:var(--primary);background:var(--primary-soft);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.console-state-ran{border-color:color-mix(in srgb, var(--primary) 38%, transparent)}}.console-titlebar>span:first-child{color:var(--text);font-family:var(--font-tech);font-size:12px;font-weight:700}.console-state{border:1px solid var(--border);min-height:26px;font-family:var(--font-tech);border-radius:999px;gap:6px;padding:0 9px;font-size:11px;font-weight:700}.console-state-success{color:var(--success-text);background:var(--success-soft);border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.console-state-success{border-color:color-mix(in srgb, var(--success) 42%, transparent)}}.console-state-error{color:var(--danger-text);background:var(--danger-soft);border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.console-state-error{border-color:color-mix(in srgb, var(--danger) 44%, transparent)}}.console-body{background:var(--bg-subtle);flex:auto}.output-panel{background:var(--bg-subtle);gap:12px;min-height:100%;padding:12px;display:grid}.output-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.output-metrics{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.output-metrics>span,.output-state{border:1px solid var(--border);min-height:26px;color:var(--text-muted);background:var(--surface);font-family:var(--font-tech);border-radius:999px;padding:0 8px;font-size:11px;font-weight:700}.output-state{gap:6px}.success-state{color:var(--success-text);background:var(--success-soft);border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.success-state{border-color:color-mix(in srgb, var(--success) 42%, transparent)}}.error-state{color:var(--danger-text);background:var(--danger-soft);border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.error-state{border-color:color-mix(in srgb, var(--danger) 44%, transparent)}}.output-message{color:var(--text-soft);font-family:var(--font-tech);font-size:12px}.output-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.output-grid-single{grid-template-columns:minmax(0,1fr)}.result-table-wrap,.result-table-empty{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;overflow:auto}.result-table-empty{min-height:116px;color:var(--text-muted);align-items:center;gap:10px;padding:12px;font-size:13px;display:flex}.result-table-empty svg{color:var(--primary)}.result-label{min-height:34px;color:var(--text-muted);font-family:var(--font-tech);padding:10px 11px 0;font-size:11px;font-weight:700}.result-table th,.result-table td{font-family:var(--font-tech);padding:8px 11px;font-size:11px}.output-success{animation:.6s both success-pulse}.output-error,.output-invalid{animation:error-shake var(--motion-shake) both}.submission-list{gap:0;display:grid}.submission-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 12px;display:flex}.submission-row strong{color:var(--text);font-size:13px;display:block}.submission-row span{color:var(--text-muted);margin-top:3px;font-size:12px;display:block}.submission-row small{color:var(--text-faint);font-family:var(--font-tech);font-size:11px}.submission-success{box-shadow:inset 3px 0 0 var(--success)}.submission-error,.submission-invalid{box-shadow:inset 3px 0 0 var(--danger)}.submission-ran{box-shadow:inset 3px 0 0 var(--primary)}.console-next-row,.next-note{border-top:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;display:flex}.console-next-row{margin-top:12px;padding:10px 12px}.console-next-row span,.next-note{color:var(--text-muted);font-size:12px}.console-next-row strong{color:var(--text);font-family:var(--font-tech);margin-top:3px;display:block}.next-note{border:1px solid var(--border);border-radius:var(--radius-md);min-height:36px;font-family:var(--font-tech);padding:0 10px;font-weight:700}.practice-pane-tabs{display:none}.bottom-nav{right:10px;bottom:max(10px, env(safe-area-inset-bottom));z-index:60;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:5px;display:grid;position:fixed;left:10px}@supports (color:color-mix(in lab, red, red)){.bottom-nav{background:color-mix(in srgb, var(--surface) 94%, transparent)}}.bottom-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-panel)}.bottom-nav-item{border-radius:var(--radius-md);min-height:48px;color:var(--text-muted);place-items:center;gap:3px;font-size:11px;font-weight:700;text-decoration:none;display:grid}.bottom-nav-item.active{color:var(--text);background:var(--surface-2)}.home-mobile-stats{display:none}.topic-strip,.difficulty-strip,.level-strip,.workspace-tabs{scrollbar-width:none;-ms-overflow-style:none}.topic-strip::-webkit-scrollbar{display:none}.difficulty-strip::-webkit-scrollbar{display:none}.level-strip::-webkit-scrollbar{display:none}.workspace-tabs::-webkit-scrollbar{display:none}@media (width<=860px){.top-nav,.toolbar-icon,.streak-chip{display:none}.app-toolbar{min-height:58px;padding-left:10px;padding-right:10px}.brand-copy>span:last-child{display:none}.toolbar-status{gap:5px}.progress-chip{text-overflow:ellipsis;max-width:88px;overflow:hidden}.theme-toggle,.toolbar-signout{width:44px;min-width:44px;height:44px;min-height:44px}.page{padding-left:10px;padding-right:10px}.problem-hub-header{flex-direction:column;align-items:stretch}.hub-start{width:100%}.hub-toolbar{grid-template-columns:minmax(0,1fr) auto}.hub-toolbar .icon-only{display:none}.problem-table,.problem-table tbody,.problem-table tr,.problem-table td{display:block}.problem-table thead{display:none}.problem-table tr{border-bottom:1px solid var(--border);padding:10px 12px}.problem-table td{border-bottom:0;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;display:flex}.problem-table td:before{content:attr(data-label);color:var(--text-faint);font-family:var(--font-tech);text-transform:uppercase;font-size:10px;font-weight:700}.problem-table td[data-label=\#],.problem-table td[data-label=Status]{display:none}.problem-table td[data-label=Title]{justify-content:stretch;padding-top:12px;display:grid}.problem-table td[data-label=Title]:before{display:none}.problem-table td[data-label=XP]{padding-bottom:12px}.stats-grid,.stats-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}.xp-section{flex-direction:column;align-items:stretch;gap:16px;padding:16px}.xp-section-left{justify-content:space-between}.progress-panels-grid{grid-template-columns:1fr}.progress-layout{grid-template-columns:minmax(0,1fr)}.topic-bar-row{grid-template-columns:minmax(0,116px) minmax(0,1fr)}.submissions-table{min-width:560px}.practice-page{height:calc(100dvh - 58px);padding:8px 8px calc(90px + env(safe-area-inset-bottom));overscroll-behavior:none}.practice-workspace{overscroll-behavior:contain}.practice-command-bar{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;min-height:50px}.challenge-track-label{gap:8px}.workspace-timer{min-width:82px;font-size:11px}.workspace-timer small{display:none}.practice-workspace{min-height:0;display:block;overflow:hidden}.workspace-rail{display:none}.workspace-main{height:100%;display:block}.workspace-pane{height:100%;display:none}.practice-workspace[data-active-pane=problem] .problem-pane,.practice-workspace[data-active-pane=editor] .editor-pane,.practice-workspace[data-active-pane=results] .console-pane{display:flex}.problem-collapse-handle{display:none}.problem-collapse-btn{flex:0 0 44px;width:44px;height:44px}.practice-workspace[data-problem-collapsed=true][data-active-pane=problem] .problem-pane{display:flex}input,textarea,select{font-size:16px}.workspace-tabs{overflow-x:auto}.workspace-tabs button{flex:none;min-height:38px}.problem-pane-scroll{padding:14px}.problem-description h1{font-size:20px}.problem-facts{grid-template-columns:minmax(0,1fr)}.problem-facts div{border-right:0;border-bottom:1px solid var(--border)}.problem-facts div:last-child{border-bottom:0}.mobile-challenge-strip{border:0;border-bottom:1px solid var(--border);color:var(--text);background:var(--surface);text-align:left;gap:6px;padding:10px 12px;display:grid}.mobile-challenge-strip>span{gap:6px;display:flex}.mobile-challenge-strip strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.editor-titlebar{gap:8px}.editor-toolbar-actions{gap:6px;min-width:0}.editor-dialect{display:none}.editor-language-picker select{max-width:118px;font-size:16px}.workspace-action-row{flex-wrap:wrap;align-items:stretch;min-height:auto}.workspace-action-row .primary-action{flex:130px;min-height:44px}.workspace-action-row .secondary-action{flex:110px;min-height:44px}.workspace-action-row .ghost-action{width:44px;min-width:44px;height:44px;min-height:44px}.output-grid{grid-template-columns:minmax(0,1fr)}.output-header{display:grid}.output-metrics{justify-content:flex-start}.practice-pane-tabs{right:8px;bottom:max(8px, calc(env(safe-area-inset-bottom) + 4px));z-index:70;border:var(--hairline);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:6px 8px;display:grid;position:fixed;left:8px}@supports (color:color-mix(in lab, red, red)){.practice-pane-tabs{background:color-mix(in srgb, var(--surface) 70%, transparent)}}.practice-pane-tabs{-webkit-backdrop-filter:blur(24px)saturate(180%);box-shadow:var(--shadow-panel)}.practice-pane-tabs button{transition:background-color var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast), transform 80ms var(--ease-apple)}.practice-pane-tabs button:active{transform:scale(.96)}.bottom-nav-item:active{transition:transform 80ms var(--ease-apple);transform:scale(.96)}.practice-pane-tabs button{border-radius:var(--radius-md);min-height:48px;color:var(--text-muted);transition:color var(--motion-fast), background-color var(--motion-fast), border-color var(--motion-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.practice-pane-tabs button.is-active{color:var(--primary);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.practice-pane-tabs button.is-active{border-color:color-mix(in srgb, var(--primary) 28%, transparent)}}.practice-pane-tabs button.is-active{background:var(--primary-soft)}.next-note,.home-side-col{display:none}.home-mobile-stats{min-height:38px;color:var(--text-muted);font-family:var(--font-tech);align-items:center;gap:10px;padding:0 2px;font-size:12px;font-weight:700;display:flex}.mobile-stat{align-items:center;gap:5px;display:inline-flex}.mobile-stat svg{color:var(--primary);flex:none}.mobile-stat:first-child svg,.mobile-stat:nth-child(3) svg{color:var(--warning-text)}.mobile-stat:nth-child(5) svg{color:var(--success-text)}.mobile-stat-sep{background:var(--border-strong);flex:none;width:1px;height:14px}.primary-action,.secondary-action{min-height:44px}.workspace-action-row .primary-action,.workspace-action-row .secondary-action,.workspace-action-row .ghost-action{min-height:46px}.bottom-nav-item,.practice-pane-tabs button{min-height:52px}.hub-start{display:none}.coming-soon-state{padding:32px 16px}}@media (width>=861px){.app-shell{padding-bottom:0}.bottom-nav,.workspace-settings-btn{display:none}.brand-copy>span:last-child{display:block}.home-page,.progress-page{padding-top:20px}}@media (width>=1280px){.home-page,.progress-page{width:min(100%,1220px)}}@media (width<=430px){.brand-mark{width:31px;height:31px}.brand-name{font-size:13px}.progress-chip{max-width:72px}.auth-panel,.progress-shell{padding:14px}.stats-grid{gap:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.output-error,.output-invalid,.output-success{animation-name:reduced-fade!important}}@keyframes page-fade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes pane-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes run-spin{to{transform:rotate(360deg)}}@keyframes success-pulse{0%{box-shadow:0 0 #2ea04300}38%{box-shadow:0 0 0 4px #2ea04329}to{box-shadow:0 0 #2ea04300}}@keyframes error-shake{0%,to{transform:translate(0)}22%{transform:translate(-5px)}44%{transform:translate(4px)}66%{transform:translate(-3px)}82%{transform:translate(2px)}}@keyframes reduced-fade{0%{opacity:.88}to{opacity:1}}.dialect-strip{border-bottom:1px solid var(--border);background:var(--bg-subtle);scrollbar-width:none;flex-shrink:0;gap:4px;padding:6px 12px;display:flex;overflow-x:auto}.dialect-strip::-webkit-scrollbar{display:none}.dialect-pill{border-radius:var(--radius-xs);color:var(--text-muted);font-family:var(--font-tech);cursor:pointer;transition:color var(--motion-fast), background var(--motion-fast), border-color var(--motion-fast);background:0 0;border:1px solid #0000;flex-shrink:0;padding:3px 10px;font-size:11px;line-height:1.5}.dialect-pill:hover:not(:disabled){color:var(--text-soft);background:var(--surface-2);border-color:var(--border)}.dialect-pill.is-active{color:var(--primary);background:var(--primary-soft);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.dialect-pill.is-active{border-color:color-mix(in srgb, var(--primary) 35%, transparent)}}.dialect-pill:disabled{opacity:.4;cursor:not-allowed}.insights-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:20px;padding:20px}.insights-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.insights-title{color:var(--primary);align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.insights-meta{align-items:center;gap:8px;display:flex}.insights-age{color:var(--text-muted);font-size:11px}.insights-refresh{padding:4px}.insights-refresh .spin{animation:1s linear infinite run-spin}.insights-summary{color:var(--text-soft);margin-bottom:14px;font-size:13px;line-height:1.6}.insights-columns{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px;display:grid}.insights-col-header{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);align-items:center;gap:5px;margin-bottom:6px;font-size:11px;font-weight:600;display:flex}.insights-col ul{margin:0;padding:0;list-style:none}.insights-col li{color:var(--text-soft);border-left:2px solid var(--border);margin-bottom:4px;padding:2px 0 2px 8px;font-size:12px}.insights-focus{margin-bottom:14px}.insights-focus-item{color:var(--text-soft);align-items:flex-start;gap:8px;margin-bottom:6px;font-size:12px;display:flex}.insights-priority-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:3px}.insights-steps-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:600}.insights-steps ol{margin:0;padding-left:18px}.insights-steps li{color:var(--text-soft);margin-bottom:4px;font-size:12px;line-height:1.5}.insights-motivation{color:var(--text-muted);text-align:center;border-top:1px solid var(--border);margin-top:14px;padding-top:12px;font-size:12px;font-style:italic}.insights-empty{text-align:center;color:var(--text-muted);padding:24px 0;font-size:13px}.insights-empty p{margin-bottom:12px}.insights-error{color:var(--danger-text)}.insights-coming-soon{text-align:left;background:var(--accent);border-radius:10px;align-items:center;gap:10px;padding:14px 16px;display:flex}@supports (color:color-mix(in lab, red, red)){.insights-coming-soon{background:color-mix(in oklab, var(--accent) 8%, transparent)}}.insights-coming-soon{color:var(--text)}.insights-coming-soon svg{color:var(--accent);flex-shrink:0}.insights-coming-soon p{margin:0;line-height:1.5}.insights-skeleton{flex-direction:column;gap:10px;display:flex}.skeleton-line,.skeleton-block{background:var(--surface-2);position:relative;overflow:hidden}.skeleton-line:after,.skeleton-block:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--surface) 50%, transparent 100%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.skeleton-line:after,.skeleton-block:after{background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--surface) 60%, transparent) 50%, transparent 100%)}}.skeleton-line:after,.skeleton-block:after{animation:1.6s ease-in-out infinite skeleton-shimmer;transform:translate(-100%)}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.skeleton-line{border-radius:6px;height:12px}.skeleton-line.wide{width:90%}.skeleton-line.medium{width:65%}.skeleton-line.short{width:40%}.skeleton-row{gap:12px;display:flex}.skeleton-block{border-radius:var(--radius-md);background:var(--surface-2);flex:1;height:60px}.quality-badge-wrap{border-top:1px solid var(--border);padding:12px 0 4px}.quality-badge-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.quality-badge-stats{flex-wrap:wrap;gap:8px;display:flex}.quality-stat{color:var(--text-muted);align-items:center;gap:3px;font-size:11px;display:flex}.quality-percentile{color:var(--primary)}.quality-keywords-ok{color:var(--success-text)}.quality-analyse-btn{align-items:center;gap:4px;padding:3px 10px;font-size:11px;display:flex}.quality-flags{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.quality-flag{border-radius:var(--radius-xs);align-items:flex-start;gap:5px;padding:4px 8px;font-size:11px;display:flex}.quality-warn{background:var(--warning-soft);color:var(--warning-text)}.quality-tip{background:var(--primary-soft);color:var(--text-soft)}.quality-deep-idle,.quality-deep-loading,.quality-deep-error{text-align:center;color:var(--text-muted);padding:16px;font-size:13px}.quality-deep-idle p{margin-bottom:12px}.quality-deep-loading{justify-content:center;align-items:center;gap:8px;display:flex}.quality-deep-loading .spin{animation:1s linear infinite run-spin}.quality-deep-result{font-size:12px}.quality-grade{margin-bottom:8px;font-size:13px}.quality-summary{color:var(--text-soft);margin-bottom:12px;line-height:1.6}.quality-cols{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}.quality-col h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);align-items:center;gap:4px;margin-bottom:6px;font-size:11px;display:flex}.quality-col ul{margin:0;padding:0;list-style:none}.quality-col li{color:var(--text-soft);border-left:2px solid var(--border);margin-bottom:3px;padding:2px 0 2px 8px;font-size:12px}.quality-improvement{margin-bottom:8px}.quality-improvement strong{color:var(--text);font-size:12px}.quality-improvement p{color:var(--text-soft);margin:2px 0}.quality-improvement code{font-family:var(--font-tech);color:var(--primary);font-size:11px}.quality-thinking{background:var(--surface-2);border-radius:var(--radius-sm);margin-bottom:10px;padding:10px}.quality-thinking-label{color:var(--text-muted);font-size:11px}.quality-thinking p{color:var(--text-soft);margin:4px 0 0;font-size:12px}.quality-alternative h4{color:var(--text);margin-bottom:6px;font-size:12px}.quality-alternative pre{background:var(--editor);border-radius:var(--radius-sm);padding:8px;overflow-x:auto}.quality-alternative code{font-family:var(--font-tech);color:var(--text-soft);font-size:11px}.quality-tradeoff{color:var(--text-muted);margin-top:4px;font-size:11px;font-style:italic}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.guest-shell{flex-direction:column;min-height:100dvh;display:flex}.guest-bar{border-bottom:1px solid var(--border);background:var(--surface);z-index:20;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.guest-bar-brand{letter-spacing:-.01em;align-items:center;gap:8px;font-weight:600;display:inline-flex}.guest-bar-actions{align-items:center;gap:12px;display:inline-flex}.guest-bar-progress{color:var(--text-muted,#6b7280);font-variant-numeric:tabular-nums;font-size:13px}.guest-bar-cta{appearance:none;cursor:pointer;font:inherit;color:#fff;background:var(--accent,#0a84ff);border:none;border-radius:9px;padding:7px 14px;font-size:13px;font-weight:600;transition:filter .15s}.guest-bar-cta:hover{filter:brightness(1.06)}.soft-wall-overlay{z-index:60;-webkit-backdrop-filter:blur(6px);background:#0f141e8c;justify-content:center;align-items:center;padding:20px;animation:.2s soft-wall-fade;display:flex;position:fixed;inset:0}@keyframes soft-wall-fade{0%{opacity:0}to{opacity:1}}.soft-wall-card{background:var(--surface,#fff);border:1px solid var(--border);text-align:center;border-radius:18px;width:min(420px,100%);padding:28px 26px 22px;box-shadow:0 12px 40px #0000002e,0 2px 8px #00000014}.soft-wall-badge{width:44px;height:44px;color:var(--accent,#0a84ff);background:color-mix(in srgb, var(--accent,#0a84ff) 12%, transparent);border-radius:50%;justify-content:center;align-items:center;margin-bottom:14px;display:inline-flex}.soft-wall-card h2{letter-spacing:-.02em;margin:0 0 8px;font-size:20px}.soft-wall-card p{color:var(--text-muted,#6b7280);margin:0 0 20px;font-size:14px;line-height:1.5}.soft-wall-cta{appearance:none;cursor:pointer;width:100%;font:inherit;color:#fff;background:var(--accent,#0a84ff);border:none;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:15px;font-weight:600;transition:filter .15s;display:inline-flex}.soft-wall-cta:hover{filter:brightness(1.06)}.soft-wall-dismiss{appearance:none;cursor:pointer;font:inherit;color:var(--text-muted,#6b7280);background:0 0;border:none;margin-top:12px;padding:6px;font-size:13px}.soft-wall-dismiss:hover{color:var(--text,#111)}.auth-try-cta-wrap{flex-direction:column;align-items:center;gap:10px;margin-top:18px;display:flex}.auth-or{text-align:center;width:100%;color:var(--text-muted,#6b7280);font-size:12px;position:relative}.auth-or:before,.auth-or:after{content:"";background:var(--border);width:calc(50% - 18px);height:1px;position:absolute;top:50%}.auth-or:before{left:0}.auth-or:after{right:0}.auth-try-cta{appearance:none;cursor:pointer;width:100%;font:inherit;color:var(--accent,#0a84ff);background:color-mix(in srgb, var(--accent,#0a84ff) 8%, transparent);border:1px solid color-mix(in srgb, var(--accent,#0a84ff) 30%, transparent);border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:14px;font-weight:600;transition:background .15s,filter .15s;display:inline-flex}.auth-try-cta:hover{background:color-mix(in srgb, var(--accent,#0a84ff) 14%, transparent)}.landing-fresh-badge{color:var(--primary-strong,var(--accent,#0a84ff));background:color-mix(in srgb, var(--accent,#0a84ff) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent,#0a84ff) 22%, transparent);border-radius:999px;align-self:flex-start;align-items:center;gap:.4rem;padding:.32rem .72rem;font-size:.78rem;font-weight:600;display:inline-flex}.landing-headline-soft{color:var(--text-muted);font-weight:600}.landing-stats{flex-wrap:wrap;gap:1.75rem;margin:0;padding:0;list-style:none;display:flex}.landing-stats li{flex-direction:column;line-height:1.2;display:flex}.landing-stats strong{letter-spacing:-.01em;color:var(--text);font-size:1.15rem;font-weight:700}.landing-stats span{color:var(--text-muted);font-size:.78rem}.landing-logos{flex-direction:column;gap:.6rem;display:flex}.landing-logos-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint,var(--text-muted));font-size:.72rem;font-weight:600}.landing-logos-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.landing-logo-chip{border:1px solid var(--hairline,var(--border));background:#fff;border-radius:9px;justify-content:center;align-items:center;height:34px;padding:0 .6rem;display:inline-flex;box-shadow:0 1px 2px #0000000d}.landing-logo-chip img{object-fit:contain;width:auto;max-width:82px;height:18px;display:block}.landing-logo-chip.is-failed img{display:none}.landing-logo-chip.is-failed:after{content:attr(data-name);color:#1d1d1f;font-size:.8rem;font-weight:650}.landing-mobile-hero{display:none}@media (width<=767px){.landing-root .landing-auth-col{flex-direction:column;justify-content:flex-start;align-items:center}.landing-mobile-hero{flex-direction:column;gap:.7rem;width:100%;max-width:440px;margin:0 auto 1.1rem;display:flex}.landing-mobile-hero h1{letter-spacing:-.02em;color:var(--text);margin:0;font-size:1.65rem;font-weight:700;line-height:1.12}.landing-mobile-hero p{color:var(--text-soft,var(--text-muted));margin:0;font-size:.9rem;line-height:1.5}.landing-mobile-hero .landing-stats{gap:1.25rem}.landing-mobile-hero .landing-stats strong{font-size:1.02rem}}.guest-welcome{background:color-mix(in srgb, var(--accent,#0a84ff) 9%, transparent);border-bottom:1px solid color-mix(in srgb, var(--accent,#0a84ff) 18%, transparent);color:var(--text);align-items:center;gap:.75rem;padding:.6rem 1rem;font-size:.9rem;display:flex}.guest-welcome-text{flex:1;line-height:1.4}.guest-welcome-x{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:7px;flex:none;padding:.35rem .45rem;font-size:.9rem;line-height:1}.guest-welcome-x:hover{background:color-mix(in srgb, var(--accent,#0a84ff) 12%, transparent);color:var(--text)}.legal-root{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;display:flex}.legal-header{border-bottom:1px solid var(--hairline,var(--border));background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(180%)blur(12px);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex;position:sticky;top:0}.legal-brand{color:var(--text);align-items:center;gap:.55rem;font-size:.98rem;font-weight:650;text-decoration:none;display:inline-flex}.legal-back{color:var(--text-muted);border-radius:8px;align-items:center;gap:.3rem;padding:.4rem .6rem;font-size:.86rem;font-weight:550;text-decoration:none;transition:color .15s,background .15s;display:inline-flex}.legal-back:hover{color:var(--text);background:var(--surface-2,var(--bg-subtle))}.legal-doc{width:100%;max-width:720px;margin:0 auto;padding:2.5rem 1.5rem 4rem;line-height:1.65}.legal-doc h1{letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.85rem;font-weight:700}.legal-updated{color:var(--text-faint,var(--text-muted));margin:0 0 1.5rem;font-size:.82rem}.legal-intro{color:var(--text-soft,var(--text-muted));margin:0 0 2rem;font-size:1.02rem}.legal-section{margin:0 0 1.75rem}.legal-section h2{letter-spacing:-.01em;margin:0 0 .6rem;font-size:1.1rem;font-weight:650}.legal-section p{color:var(--text-soft,var(--text));margin:0 0 .75rem}.legal-section ul{flex-direction:column;gap:.5rem;margin:.25rem 0 0;padding-left:1.15rem;display:flex}.legal-section li{color:var(--text-soft,var(--text))}.legal-crosslink{border-top:1px solid var(--hairline,var(--border));color:var(--text-muted);margin-top:2.5rem;padding-top:1.5rem;font-size:.92rem}.legal-doc a{color:var(--primary);font-weight:550;text-decoration:none}.legal-doc a:hover{text-decoration:underline}.lp-root{--lp-inset:max(20px, calc((100% - 1100px) / 2));background:var(--bg);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased}.lp-btn{cursor:pointer;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1.05rem;font-size:.92rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s,filter .15s;display:inline-flex}.lp-btn:active{transform:translateY(1px)}.lp-btn-lg{border-radius:13px;padding:.78rem 1.4rem;font-size:1rem}.lp-btn-primary{background:var(--primary,var(--accent,#0a84ff));color:#fff}.lp-btn-primary:hover{filter:brightness(1.05)}.lp-btn-ghost{background:var(--surface,transparent);color:var(--text);border-color:var(--border-strong,var(--border))}.lp-btn-ghost:hover{background:var(--surface-2,var(--bg-subtle))}.lp-link-btn{cursor:pointer;color:var(--text-soft,var(--text));background:0 0;border:none;padding:.5rem .4rem;font-size:.92rem;font-weight:600}.lp-link-btn:hover{color:var(--text)}.lp-nav{z-index:20;padding:.75rem var(--lp-inset);background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:saturate(180%)blur(14px);border-bottom:1px solid var(--hairline,var(--border));justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.lp-nav-brand{cursor:pointer;color:var(--text);background:0 0;border:none;align-items:center;gap:.5rem;font-size:1rem;font-weight:650;display:inline-flex}.lp-nav-actions{align-items:center;gap:.55rem;display:flex}.lp-hero{padding:4.5rem var(--lp-inset) 3.5rem;grid-template-columns:1.05fr .95fr;align-items:center;gap:3rem;display:grid}.lp-badge{color:var(--primary-strong,var(--accent,#0a84ff));background:color-mix(in srgb, var(--accent,#0a84ff) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent,#0a84ff) 22%, transparent);border-radius:999px;align-items:center;gap:.4rem;padding:.34rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.lp-hero h1{letter-spacing:-.03em;margin:1.1rem 0 0;font-size:clamp(2.3rem,5vw,3.4rem);font-weight:760;line-height:1.05}.lp-hero-accent{color:var(--text-muted);font-weight:700}.lp-hero-sub{color:var(--text-soft,var(--text-muted));max-width:34rem;margin:1.1rem 0 0;font-size:1.08rem;line-height:1.6}.lp-hero-cta{flex-wrap:wrap;gap:.7rem;margin:1.75rem 0 0;display:flex}.lp-hero-stats{gap:2.25rem;margin:2rem 0 0;padding:0;list-style:none;display:flex}.lp-hero-stats strong{letter-spacing:-.02em;font-size:1.5rem;font-weight:750;display:block}.lp-hero-stats span{color:var(--text-muted);font-size:.82rem}.lp-preview{justify-content:center;display:flex}.lp-window{background:var(--surface,var(--bg-subtle));border:1px solid var(--border);border-radius:16px;width:100%;max-width:420px;overflow:hidden;box-shadow:0 1px 2px #0000000a,0 24px 48px -24px #00000059}.lp-window-bar{background:var(--surface-2,var(--bg-subtle));border-bottom:1px solid var(--hairline,var(--border));align-items:center;gap:.4rem;padding:.65rem .9rem;display:flex}.lp-dot{background:var(--border-strong,#c8c8cc);border-radius:50%;width:11px;height:11px}.lp-dot:first-child{background:#ff5f57}.lp-dot:nth-child(2){background:#febc2e}.lp-dot:nth-child(3){background:#28c840}.lp-window-title{color:var(--text-muted);margin-left:.5rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.76rem}.lp-code{color:var(--text);white-space:pre-wrap;margin:0;padding:1.1rem 1.2rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.84rem;line-height:1.7}.lp-kw{color:var(--primary,var(--accent,#0a84ff));font-weight:650}.lp-fn{color:var(--champagne,#a8842c)}.lp-result{border-top:1px solid var(--hairline,var(--border));padding:.9rem 1.2rem 1.1rem;font-size:.84rem}.lp-result-head,.lp-result-row{justify-content:space-between;padding:.32rem 0;display:flex}.lp-result-head{color:var(--text-muted);border-bottom:1px solid var(--hairline,var(--border));font-weight:600}.lp-result-row{font-variant-numeric:tabular-nums}.lp-result-pass{color:var(--success,#28a745);background:color-mix(in srgb, var(--success,#28a745) 13%, transparent);border-radius:8px;align-items:center;gap:.35rem;margin-top:.7rem;padding:.3rem .65rem;font-size:.78rem;font-weight:600;display:inline-flex}.lp-logos{padding:1.5rem var(--lp-inset) 2.5rem;border-top:1px solid var(--hairline,var(--border));border-bottom:1px solid var(--hairline,var(--border));flex-direction:column;align-items:center;gap:1rem;display:flex}.lp-logos-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint,var(--text-muted));font-size:.74rem;font-weight:600}.lp-logos-row{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.lp-logo-chip{border:1px solid var(--hairline,var(--border));background:#fff;border-radius:10px;justify-content:center;align-items:center;height:38px;padding:0 .75rem;display:inline-flex}.lp-logo-chip img{object-fit:contain;width:auto;max-width:92px;height:20px;display:block}.lp-logo-chip.is-failed img{display:none}.lp-logo-chip.is-failed:after{content:attr(data-name);color:#1d1d1f;font-size:.85rem;font-weight:650}.lp-section{padding:4rem var(--lp-inset)}.lp-section-alt{background:var(--bg-subtle)}.lp-h2{letter-spacing:-.02em;text-align:center;margin:0 0 2.5rem;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:720}.lp-steps{grid-template-columns:repeat(3,1fr);gap:1.75rem;display:grid}.lp-step-n{width:34px;height:34px;color:var(--primary-strong,var(--accent,#0a84ff));background:color-mix(in srgb, var(--accent,#0a84ff) 12%, transparent);border-radius:10px;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.lp-step h3{margin:.9rem 0 .4rem;font-size:1.1rem;font-weight:650}.lp-step p{color:var(--text-soft,var(--text-muted));margin:0;line-height:1.6}.lp-features{grid-template-columns:repeat(4,1fr);gap:1.25rem;display:grid}.lp-feature{background:var(--surface,var(--bg));border:1px solid var(--hairline,var(--border));border-radius:14px;padding:1.5rem}.lp-feature-icon{width:42px;height:42px;color:var(--primary,var(--accent,#0a84ff));background:color-mix(in srgb, var(--accent,#0a84ff) 11%, transparent);border-radius:11px;justify-content:center;align-items:center;display:inline-flex}.lp-feature h3{margin:1rem 0 .4rem;font-size:1.04rem;font-weight:650}.lp-feature p{color:var(--text-soft,var(--text-muted));margin:0;font-size:.92rem;line-height:1.55}.lp-coverage{text-align:center;max-width:40rem;margin:0 auto}.lp-cov-topics{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-bottom:1.5rem;display:flex}.lp-cov-pill{color:var(--text-muted);background:var(--surface,var(--bg-subtle));border:1px solid var(--hairline,var(--border));border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .9rem;font-size:.9rem;font-weight:600;display:inline-flex}.lp-cov-on{color:var(--primary-strong,var(--accent,#0a84ff));background:color-mix(in srgb, var(--accent,#0a84ff) 10%, transparent);border-color:color-mix(in srgb, var(--accent,#0a84ff) 22%, transparent)}.lp-cov-levels{color:var(--text-soft,var(--text-muted));font-size:1.05rem;line-height:1.6}.lp-faq{gap:1.25rem;max-width:46rem;margin:0 auto;display:grid}.lp-faq-item h3{margin:0 0 .4rem;font-size:1.05rem;font-weight:650}.lp-faq-item p{color:var(--text-soft,var(--text-muted));margin:0;line-height:1.6}.lp-cta{text-align:center;padding:4.5rem var(--lp-inset)}.lp-cta h2{letter-spacing:-.02em;margin:0;font-size:clamp(1.7rem,3.2vw,2.3rem);font-weight:740}.lp-cta p{color:var(--text-soft,var(--text-muted));margin:.75rem 0 0;font-size:1.05rem}.lp-cta-row{flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:1.75rem;display:flex}.lp-footer{padding:2.5rem var(--lp-inset) 3rem;border-top:1px solid var(--hairline,var(--border));flex-direction:column;align-items:center;gap:.6rem;display:flex}.lp-footer-brand{align-items:center;gap:.5rem;font-weight:650;display:inline-flex}.lp-footer-tag{color:var(--text-muted);margin:0;font-size:.88rem}.lp-footer-links{align-items:center;gap:.5rem;font-size:.88rem;display:flex}.lp-footer-links a{color:var(--text-soft,var(--text-muted));text-decoration:none}.lp-footer-links a:hover{color:var(--text)}@media (width<=880px){.lp-hero{grid-template-columns:1fr;gap:2.25rem;padding-top:3rem}.lp-preview{order:-1}.lp-steps{grid-template-columns:1fr}.lp-features{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.lp-features{grid-template-columns:1fr}.lp-hero-stats{gap:1.5rem}.lp-nav .lp-link-btn{display:none}}
