/*! tailwindcss v4.3.3 | 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-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}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.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}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.italic{font-style:italic}.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)}.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))}}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-ext-wght-normal-DOFToQv1.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-wght-normal-DayYxulF.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-math-wght-normal-Bl4ZGkZl.woff2)format("woff2-variations");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-symbols-wght-normal-DxQzqQfC.woff2)format("woff2-variations");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-vietnamese-wght-normal-BBxOatbv.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-ext-wght-normal-QAhDxQuo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-wght-normal-Dun_Rd-l.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-ext-wght-normal-EocZY2iu.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f3ee;--surface-1:#fff;--surface-2:#faf8f4;--surface-3:#eeebe4;--surface-inverse:#12191e;--text-1:#12181c;--text-2:#424c53;--text-3:#5f6970;--text-inverse:#f3f6f7;--border-1:#e3dfd6;--border-2:#cfcac0;--focus:#00718d;--accent:#00add8;--accent-hover:#0098bf;--accent-text:#00718d;--accent-soft:#ddf3f9;--on-accent:#06222b;--accent-2:#ffd84d;--accent-2-text:#7a5c00;--accent-2-soft:#fff4c7;--success:#177a41;--success-soft:#e2f4e8;--danger:#c4352b;--danger-soft:#fbe6e3;--on-danger:#fff;--warning:#b45309;--warning-soft:#fdebd8;--info:#1f5fbf;--info-soft:#e4edfb;--prog-low:#d9622b;--prog-low-text:#a8461a;--prog-mid:#e2a919;--prog-mid-text:#7a5c00;--prog-high:#2e9e5b;--prog-high-text:#177a41;--prog-track:#e8e4db;--code-bg:#fbfaf7;--code-gutter:#9aa2a8;--code-line-hl:#f1eee6;--console-bg:#f1eee7;--syn-kw:#b1316a;--syn-type:#00718d;--syn-fn:#1f5fbf;--syn-str:#177a41;--syn-num:#a8461a;--syn-com:#6b7379;--syn-plain:#12181c;--shadow-sm:0 1px 2px #12181c0f;--shadow-md:0 6px 20px -6px #12181c29, 0 1px 2px #12181c0d;--shadow-lg:0 24px 56px -12px #12181c47, 0 2px 6px #12181c0f;--scrim:#12181c6b;--skeleton:#ece8e0;--skeleton-hi:#f6f3ee}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1216;--surface-1:#141b20;--surface-2:#1a232a;--surface-3:#222d35;--surface-inverse:#e9eef1;--text-1:#e9eef1;--text-2:#b3bec5;--text-3:#8b98a1;--text-inverse:#0d1216;--border-1:#24303a;--border-2:#34424d;--focus:#3cc6ea;--accent:#00add8;--accent-hover:#22bee6;--accent-text:#3cc6ea;--accent-soft:#0b2f3a;--on-accent:#06222b;--accent-2:#ffd84d;--accent-2-text:#ffd84d;--accent-2-soft:#3a3210;--success:#4cc685;--success-soft:#12301f;--danger:#ff7a6e;--danger-soft:#3a1715;--on-danger:#2a0b08;--warning:#f5a25b;--warning-soft:#3a2410;--info:#8cb4ff;--info-soft:#15243f;--prog-low:#f08a55;--prog-low-text:#f08a55;--prog-mid:#f2c94c;--prog-mid-text:#f2c94c;--prog-high:#4cc685;--prog-high-text:#4cc685;--prog-track:#26323b;--code-bg:#0a0f12;--code-gutter:#5c6a74;--code-line-hl:#131c22;--console-bg:#070b0d;--syn-kw:#ff7ab6;--syn-type:#3cc6ea;--syn-fn:#8cb4ff;--syn-str:#7ee2a8;--syn-num:#f5a25b;--syn-com:#7d8a93;--syn-plain:#e9eef1;--shadow-sm:0 1px 2px #0006;--shadow-md:0 8px 24px -8px #0009, 0 1px 2px #0006;--shadow-lg:0 28px 64px -12px #000000bf, 0 2px 6px #0006;--scrim:#030608a8;--skeleton:#1c252c;--skeleton-hi:#26313a}:root{--font-sans:"Onest Variable", "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-display:48px;--lh-display:52px;--fs-h1:36px;--lh-h1:42px;--fs-h2:28px;--lh-h2:34px;--fs-h3:22px;--lh-h3:28px;--fs-h4:18px;--lh-h4:24px;--fs-read:18px;--lh-read:30px;--fs-body:16px;--lh-body:24px;--fs-sm:14px;--lh-sm:20px;--fs-xs:13px;--lh-xs:18px;--fs-code:14px;--lh-code:22px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-pill:999px;--dur-1:.12s;--dur-2:.2s;--dur-3:.32s;--dur-4:.48s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-emph:cubic-bezier(.3, 1.3, .5, 1);--hit:44px;--measure:68ch}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text-1);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--accent-text);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--text-1)}::selection{background:var(--accent-soft);color:var(--text-1)}@keyframes gl-spin{to{transform:rotate(360deg)}}@keyframes gl-shimmer{0%{background-position:-320px 0}to{background-position:320px 0}}@keyframes gl-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes gl-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--accent-strong:var(--accent-text);--surface:var(--surface-1);--text:var(--text-1);--muted:var(--text-2);--border:var(--border-1);--soft:var(--accent-soft);--nav:var(--surface-1);--accent-ink:var(--accent-text);--weak-bg:var(--warning-soft);--weak-ink:var(--prog-low-text);--growing-bg:var(--accent-2-soft);--growing-ink:var(--prog-mid-text);--strong-bg:var(--success-soft);--strong-ink:var(--prog-high-text);font-family:var(--font-sans);font-synthesis:none;font-size:1rem;line-height:1.5}body{min-width:320px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled,.button[aria-disabled=true]{cursor:not-allowed;opacity:.45}button,.button{justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--hit);border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--surface-1);color:var(--text-1);font-size:var(--fs-sm);line-height:var(--lh-sm);transition:background var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out);padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}button:hover:not(:disabled),.button:hover{border-color:var(--text-3);background:var(--surface-2);text-decoration:none}button.primary,.button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}button.primary:hover:not(:disabled),.button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}button.subtle,.button.subtle,.ui-button.ghost{background:0 0;border-color:#0000}button.danger,.button.danger{color:var(--on-danger);background:var(--danger);border-color:var(--danger)}button.danger:hover:not(:disabled),.button.danger:hover{background:var(--danger);filter:brightness(.94)}.ui-button.size-s{min-height:36px;padding:7px 12px}.ui-button.size-l{min-height:52px;font-size:var(--fs-body);padding:14px 20px}.ui-button[aria-busy=true] svg{animation:.8s linear infinite gl-spin}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{letter-spacing:-.02em;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;text-wrap:pretty;font-weight:600}h1{font-size:var(--fs-h1);line-height:var(--lh-h1)}h2{font-size:var(--fs-h3);line-height:var(--lh-h3)}h3{font-size:var(--fs-h4);line-height:var(--lh-h4)}h4{font-size:var(--fs-body);line-height:var(--lh-body)}p{margin:12px 0}small{font-size:var(--fs-xs);color:var(--text-3)}strong{font-weight:600}ul,ol{margin:16px 0;padding-left:24px}li{margin:7px 0}svg{flex-shrink:0}pre,code,kbd,.mono{font-family:var(--font-mono)}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font-size:var(--fs-code);line-height:var(--lh-code);background:var(--code-bg);border-radius:var(--r-md);tab-size:4;margin:12px 0;padding:16px}pre.code{background:var(--code-bg);color:var(--syn-plain);border:1px solid var(--border-1)}kbd{border:1px solid var(--border-2);border-radius:var(--r-xs);color:var(--text-2);background:var(--surface-1);white-space:nowrap;padding:2px 5px;font-size:.6875rem}label{font-size:var(--fs-sm);flex-direction:column;gap:8px;font-weight:500;display:flex}input,select,textarea{background:var(--surface-1);color:var(--text-1);border:1px solid var(--border-2);border-radius:var(--r-md);min-width:0;max-width:100%;min-height:var(--hit);font-size:var(--fs-body);padding:11px 14px;font-weight:400}input:focus,select:focus,textarea:focus{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--focus)}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}input::placeholder,textarea::placeholder{color:var(--text-3)}textarea{resize:vertical;line-height:1.5}input[type=checkbox],input[type=radio]{accent-color:var(--accent-text);flex-shrink:0;width:20px;height:20px;min-height:20px;margin:0}:is(label:has(>input[type=checkbox]),label:has(>input[type=radio])){min-height:var(--hit);flex-direction:row;align-items:center}fieldset{border:0;min-width:0;margin:0;padding:0}legend{font-weight:600;font-size:var(--fs-h4);margin-bottom:16px}details{border-top:1px solid var(--border-1);margin:8px 0;padding:14px 0}summary{cursor:pointer;min-height:var(--hit);font-size:var(--fs-sm);align-items:center;gap:8px;font-weight:500;list-style:none;display:flex}summary:before{content:"›";color:var(--text-3);flex-shrink:0;width:16px;font-size:1.375rem;display:inline-block}details[open]>summary:before{transform:rotate(90deg)}summary::-webkit-details-marker{display:none}progress{appearance:none;border-radius:var(--r-pill);background:var(--prog-track);border:0;width:100%;height:6px;overflow:hidden}progress::-webkit-progress-bar{background:var(--prog-track)}progress::-webkit-progress-value{background:var(--accent);border-radius:var(--r-pill)}progress::-moz-progress-bar{background:var(--accent)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.muted{color:var(--text-2);font-weight:400}.eyebrow{font:500 .75rem/16px var(--font-mono);letter-spacing:.06em;color:var(--text-3);text-transform:uppercase}.tag,.pill,.ui-badge{border-radius:var(--r-sm);background:var(--surface-3);color:var(--text-2);align-items:center;gap:6px;padding:4px 8px;font-size:.75rem;font-weight:500;display:inline-flex}.tag-list{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.pill{border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-text);font-family:var(--font-mono);letter-spacing:.06em}.pill i{background:currentColor;border-radius:50%;width:6px;height:6px}.card{padding:var(--sp-6);background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);min-width:0}.stack{gap:var(--sp-6);flex-direction:column;display:flex}.two-col{gap:var(--sp-6);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;margin:20px 0;display:grid}.two-col>*{min-width:0}.button-row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.section-heading h2{margin-top:4px}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin:0 0 28px;display:flex}.page-heading .eyebrow{margin:0 0 10px}.page-heading .muted{max-width:650px;margin:10px 0 0}.version-badge{border:1px solid var(--border-1);border-radius:var(--r-sm);font:.75rem/20px var(--font-mono);color:var(--text-3);background:var(--surface-1);flex-shrink:0;padding:6px 10px}.notice,.feedback{background:var(--accent-soft);border:1px solid var(--border-2);border-radius:var(--r-md);font-size:var(--fs-sm);overflow-wrap:anywhere;margin:16px 0;padding:16px 20px}.success{background:var(--success-soft);border-color:var(--success);color:var(--success)}.error{color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--r-md);overflow-wrap:anywhere;padding:14px}.field-error{color:var(--danger);font-size:var(--fs-sm)}.state{text-align:center;min-height:240px;color:var(--text-2);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:32px;display:flex}.state h1,.state h2{color:var(--text-1)}.state p{max-width:55ch}.empty-gopher{width:120px;height:110px}.loader{border:2px solid var(--border-2);border-top-color:var(--accent-text);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite gl-spin}.skip-link{z-index:100;background:var(--surface-1);padding:12px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:10px}.mobile-only{display:none}.connection-banner{z-index:55;background:var(--warning-soft);color:var(--warning);font-size:var(--fs-sm);flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;padding:12px 24px;display:flex;position:relative}.connection-banner button{color:inherit;background:0 0;border-color:currentColor}.brand{letter-spacing:-.05em;color:inherit;align-items:center;gap:0;font-size:1.75rem;font-weight:700;line-height:1;display:inline-flex}.brand:hover{text-decoration:none}.brand span{color:var(--accent-text);font-weight:400}.brand i{background:var(--accent);border-radius:50%;align-self:flex-end;width:6px;height:6px;margin-bottom:3px;margin-left:5px}.ui-skeleton{border-radius:var(--r-sm);background:var(--skeleton);height:16px;animation:1.4s infinite gl-pulse;display:block}.skeleton-stack{gap:12px;width:min(100%,320px);display:grid}.skeleton-stack .ui-skeleton:first-child{width:70%}.ui-switch{background:0 0;border:none;align-items:center;gap:12px;padding:0;display:inline-flex}.ui-switch-track{border-radius:var(--r-pill);background:var(--surface-3);border:1px solid var(--border-2);width:40px;height:24px;padding:3px}.ui-switch-track:before{content:"";background:var(--text-2);width:16px;height:16px;transition:transform var(--dur-2) var(--ease-out);border-radius:50%;display:block}.ui-switch[aria-checked=true] .ui-switch-track{background:var(--accent);border-color:var(--accent)}.ui-switch[aria-checked=true] .ui-switch-track:before{background:var(--on-accent);transform:translate(16px)}.ui-progress{font-size:var(--fs-xs);color:var(--text-2);gap:8px;display:grid}.ui-progress-head{justify-content:space-between;gap:12px;display:flex}.ui-progress[data-level=low] progress::-webkit-progress-value{background:var(--prog-low)}.ui-progress[data-level=mid] progress::-webkit-progress-value{background:var(--prog-mid)}.ui-progress[data-level=high] progress::-webkit-progress-value{background:var(--prog-high)}.ui-progress[data-level=low] progress::-moz-progress-bar{background:var(--prog-low)}.ui-progress[data-level=mid] progress::-moz-progress-bar{background:var(--prog-mid)}.ui-progress[data-level=high] progress::-moz-progress-bar{background:var(--prog-high)}.ui-ring{width:80px;height:80px;font:500 .875rem/20px var(--font-mono);place-items:center;display:inline-grid;position:relative}.ui-ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.ui-ring circle{fill:none;stroke:var(--prog-track);stroke-width:5px}.ui-ring circle:last-child{stroke:var(--accent);stroke-linecap:round}.ui-segments{border-radius:var(--r-md);background:var(--surface-3);flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.ui-segments button{background:0 0;border-color:#0000;font-weight:400}.ui-segments button[aria-pressed=true]{background:var(--surface-1);box-shadow:var(--shadow-sm);font-weight:600}.ui-tooltip{display:inline-flex;position:relative}.ui-tooltip>span{background:var(--surface-inverse);color:var(--text-inverse);border-radius:var(--r-sm);z-index:80;width:max-content;max-width:240px;padding:6px 10px;font-size:.75rem;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.ui-tooltip:hover>span,.ui-tooltip:focus-within>span{display:block}@media (width<=760px){h1{font-size:var(--fs-h2);line-height:var(--lh-h2)}.page-heading{flex-wrap:wrap;gap:16px;margin-bottom:24px}.page-heading .version-badge{display:none}.card{padding:20px}.two-col{grid-template-columns:minmax(0,1fr);gap:16px}.section-heading{flex-wrap:wrap;gap:12px}.state{padding:24px 16px}}.app-shell{grid-template-columns:240px minmax(0,1fr);min-height:100dvh;display:grid}.app-sidebar{background:var(--surface-2);color:var(--text-2);border-right:1px solid var(--border-1);z-index:35;flex-direction:column;height:100dvh;padding:20px 12px 16px;display:flex;position:sticky;top:0}.shell-brand{color:var(--text-1);align-items:center;gap:12px;margin:0 8px 28px;display:flex}.shell-brand:hover{text-decoration:none}.go-mark{background:var(--accent);width:40px;height:40px;color:var(--on-accent);font:700 .9375rem/1 var(--font-mono);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.shell-brand strong{letter-spacing:-.02em;font-size:1.125rem}.sidebar-caption{font:500 .625rem/16px var(--font-mono);letter-spacing:.06em;color:var(--text-3);margin:0 12px 12px}.app-sidebar nav{flex-direction:column;gap:4px;display:flex}.app-sidebar nav a,.settings-link{min-height:44px;color:var(--text-2);border-radius:var(--r-md);align-items:center;gap:12px;padding:10px 12px;font-size:.875rem;display:flex;position:relative}.app-sidebar nav a:hover,.settings-link:hover{background:var(--surface-3);color:var(--text-1);text-decoration:none}.app-sidebar nav a.active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.nav-dot{background:var(--accent-2);border:1px solid var(--accent-2-text);border-radius:50%;width:7px;height:7px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:24px}.guest-prompt{border:1px solid var(--border-1);border-radius:var(--r-lg);background:var(--surface-1);flex-wrap:wrap;gap:8px;margin-bottom:12px;padding:16px 12px;font-size:.8125rem;display:flex}.guest-prompt>p{color:var(--text-2);margin:0}.guest-prompt .button{width:100%;padding:8px;font-size:.75rem}.avatar{background:var(--accent-2-soft);border:1px solid var(--border-2);width:36px;height:36px;color:var(--accent-2-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8125rem;font-weight:600;display:inline-flex}.app-workspace{flex-direction:column;grid-column:-2/-1;min-width:0;display:flex}.shell-aside{min-width:0;height:100dvh;display:flex;position:sticky;top:0}.shell-aside:empty{display:none}.topbar{border-bottom:1px solid var(--border-1);background:var(--bg);flex-shrink:0;justify-content:space-between;align-items:center;gap:24px;height:64px;padding:0 40px;display:flex}.topbar-left{align-items:center;gap:12px;min-width:0;display:flex}.breadcrumb{color:var(--text-3);flex-wrap:wrap;gap:8px;font-size:.8125rem;display:flex}.breadcrumb>span{align-items:center;gap:8px;min-width:0;display:inline-flex}.breadcrumb i{color:var(--text-3);font-style:normal}.breadcrumb a{color:var(--text-2)}.breadcrumb strong{color:var(--text-1);font-weight:500}.topbar-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.search-trigger{background:var(--surface-1);min-height:36px;color:var(--text-3);gap:8px;padding:7px 12px;font-size:.8125rem;font-weight:400}.search-trigger kbd{margin-left:24px}.sync-status{color:var(--text-3);background:0 0;border:0;gap:6px;padding:6px 0;font-size:.75rem;font-weight:400}.sync-status.has-pending{color:var(--warning)}.sync-status.has-pending svg{animation:1.5s linear infinite gl-spin}.icon-button{background:0 0;border:0;width:44px;min-height:44px;padding:10px}.topbar-menu{display:none}.page-content{column-gap:var(--sp-6);flex:1;grid-template-columns:repeat(12,minmax(0,1fr));align-content:start;width:100%;min-width:0;max-width:1600px;margin:0 auto;padding:32px 40px 40px;display:grid}.page-content>*{grid-column:1/-1;min-width:0}.app-footer{color:var(--text-3);border-top:1px solid var(--border-1);font:.6875rem/18px var(--font-mono);justify-content:space-between;align-items:center;gap:24px;padding:16px 40px;display:flex}.app-footer>span>span{color:var(--accent-text)}.mobile-navigation,.sidebar-backdrop{display:none}.app-shell[data-layout=rail]{grid-template-columns:64px auto minmax(0,1fr)}.app-shell[data-layout=rail] .app-sidebar{padding:12px 10px}.app-shell[data-layout=rail] .shell-brand{margin:0 2px 24px}.app-shell[data-layout=rail] .shell-brand strong,.app-shell[data-layout=rail] .nav-label,.app-shell[data-layout=rail] .sidebar-caption,.app-shell[data-layout=rail] .guest-prompt{display:none}.app-shell[data-layout=rail] .app-sidebar nav a,.app-shell[data-layout=rail] .settings-link{justify-content:center;padding:12px}.app-shell[data-layout=rail] .nav-dot{position:absolute;top:6px;right:6px}.app-shell[data-layout=rail] [data-tooltip]:hover:after,.app-shell[data-layout=rail] [data-tooltip]:focus-visible:after{content:attr(data-tooltip);background:var(--surface-inverse);color:var(--text-inverse);border-radius:var(--r-sm);white-space:nowrap;box-shadow:var(--shadow-md);z-index:80;padding:6px 10px;font-size:.75rem;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)}.app-shell[data-focus=true]{grid-template-columns:minmax(0,1fr)}.app-shell[data-focus=true]>.app-sidebar,.app-shell[data-focus=true]>.sidebar-backdrop,.app-shell[data-focus=true] .topbar,.app-shell[data-focus=true] .mobile-navigation,.app-shell[data-focus=true] .app-footer{display:none}@media (width>=761px) and (width<=1199px){.app-shell{grid-template-columns:64px minmax(0,1fr)}.app-sidebar{padding:12px 10px}.shell-brand{margin:0 2px 24px}.shell-brand strong,.nav-label,.sidebar-caption,.guest-prompt{display:none}.app-sidebar nav a,.settings-link{justify-content:center;padding:12px}.nav-dot{position:absolute;top:6px;right:6px}.app-sidebar [data-tooltip]:hover:after,.app-sidebar [data-tooltip]:focus-visible:after{content:attr(data-tooltip);background:var(--surface-inverse);color:var(--text-inverse);border-radius:var(--r-sm);white-space:nowrap;z-index:80;padding:6px 10px;font-size:.75rem;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)}.topbar{gap:16px;padding:0 24px}.page-content{padding:28px 24px 36px}.search-trigger kbd{margin-left:8px}.app-footer{padding:16px 24px}}@media (width>=761px) and (width<=900px){.sync-status>span{display:none}.topbar-actions{gap:8px}.breadcrumb{font-size:.75rem}}@media (width<=760px){.app-shell,.app-shell[data-layout=rail]{display:block}.shell-aside{display:none}.app-workspace{min-height:100dvh;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.app-sidebar{inset:auto 12px calc(76px + env(safe-area-inset-bottom));border:1px solid var(--border-2);border-radius:var(--r-xl);height:auto;max-height:calc(100dvh - 100px);box-shadow:var(--shadow-lg);padding:20px;display:none;position:fixed;overflow-y:auto}.app-sidebar.open{display:flex}.app-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.app-sidebar nav a{gap:8px;padding:8px;font-size:.75rem}.sidebar-caption,.shell-brand{display:none}.sidebar-bottom{padding-top:12px}.guest-prompt{margin:0 0 8px}.guest-prompt>svg{display:none}.guest-prompt .button{width:auto}.sidebar-backdrop{z-index:34;background:var(--scrim);border:0;border-radius:0;display:block;position:fixed;inset:0}.topbar{gap:8px;height:64px;padding:0 16px}.breadcrumb{font-size:.75rem}.breadcrumb>span:not(:last-child),.breadcrumb i{display:none}.topbar-actions{gap:2px}.search-trigger{background:0 0;border:0;width:44px;min-width:44px;padding:10px}.search-trigger>span,.search-trigger>kbd,.sync-status>span{display:none}.sync-status{min-width:32px}.login-link{padding:8px;font-size:.75rem}.page-content{grid-template-columns:minmax(0,1fr);padding:24px 16px 32px}.app-footer{flex-wrap:wrap;gap:12px;padding:16px;font-size:.625rem}.mobile-navigation{z-index:40;height:calc(64px + env(safe-area-inset-bottom));padding:4px 4px calc(4px + env(safe-area-inset-bottom));border-top:1px solid var(--border-1);background:var(--surface-1);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-navigation>a,.mobile-navigation>button{min-width:0;color:var(--text-3);border-radius:var(--r-md);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px 0;font-size:.625rem;font-weight:500;line-height:14px;text-decoration:none;display:flex}.mobile-navigation>[aria-current=page]{background:var(--accent-soft);color:var(--accent-text)}.app-shell[data-layout=rail] .topbar,.app-shell[data-layout=rail] .mobile-navigation,.app-shell[data-layout=rail] .app-footer{display:none}.app-shell[data-layout=rail] .app-workspace,.app-shell[data-focus=true] .app-workspace{padding-bottom:0}}.map-card{margin-bottom:var(--sp-5)}.map-card .section-heading{margin-bottom:var(--sp-6)}.map-card h2{font-size:var(--fs-h4);line-height:var(--lh-h4)}.dashboard-map{padding:var(--sp-4) var(--sp-5)}.dashboard-map>summary{gap:var(--sp-3);min-height:var(--hit);align-items:center;margin:0;display:flex}.dashboard-map>summary:before{display:none}.dashboard-map>summary:after{content:"+";font:400 24px/1 var(--font-mono);color:var(--accent-text)}.dashboard-map[open]>summary:after{content:"−"}.dashboard-map summary>div:first-of-type{flex:1;min-width:0}.dashboard-map summary strong,.dashboard-map summary span{display:block}.dashboard-map summary span{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--text-2);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.dashboard-map .module-progress{flex-shrink:0;width:136px}.dashboard-map .module-progress progress{margin-top:var(--sp-2);display:block}.dashboard-map .back-link{min-height:var(--hit);font-size:var(--fs-sm);margin-top:var(--sp-3);align-items:center;display:inline-flex}.metro{--line:var(--accent-text);min-width:0}.metro-lines{gap:var(--sp-6);display:grid}.metro-line{gap:var(--sp-4);grid-template-columns:148px minmax(0,1fr);min-width:0;display:grid}.line-0{--line:var(--text-3)}.line-1{--line:var(--accent-text)}.line-2{--line:var(--info)}.line-3{--line:var(--warning)}.line-4{--line:var(--success)}.line-name{gap:var(--sp-2);padding-top:var(--sp-2);font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--text-2);align-items:flex-start;display:flex}.line-name>span{border:1px solid var(--line);border-radius:var(--r-pill);width:24px;height:24px;color:var(--line);font:500 12px/1 var(--font-mono);flex-shrink:0;place-items:center;display:inline-grid}.line-name>strong{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;padding-top:3px}.stations{gap:var(--sp-2);min-width:0;display:flex}.station{justify-content:flex-start;align-items:center;gap:var(--sp-2);min-width:0;padding:var(--sp-2) var(--sp-1);color:var(--text-2);border-radius:var(--r-md);text-align:center;background:0 0;border:1px solid #0000;flex-direction:column;flex:1;display:flex;position:relative}.station:before{content:"";border-top:2px solid var(--line);z-index:0;position:absolute;top:20px;left:-8px;right:-8px}.station:first-child:before{left:50%}.station:last-child:before{right:50%}.station.planned:before{border-top-style:dashed;border-color:var(--border-2)}.station:hover,.station.selected{border-color:var(--border-2);background:var(--surface-2)}.station-dot{z-index:1;border:2px solid var(--line);background:var(--surface-1);width:24px;height:24px;color:var(--line);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid;position:relative}.station.current .station-dot{box-shadow:0 0 0 4px var(--accent-soft);border-color:var(--accent-text)}.station.current .station-dot>span{background:var(--accent-text);border-radius:50%;width:8px;height:8px}.station.done .station-dot{background:var(--line);color:var(--bg)}.station.planned .station-dot{border-style:dashed;border-color:var(--border-2);color:var(--text-3)}.station-id{color:var(--text-1);font:500 12px/16px var(--font-mono);letter-spacing:.06em;position:relative}.station-title{font-size:var(--fs-xs);line-height:var(--lh-xs);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-weight:500}.station-status{color:var(--text-3);font-size:11px;font-weight:400;line-height:16px}.station.current .station-status{color:var(--accent-text)}.station.done .station-status{color:var(--success)}.metro.compact{margin-top:var(--sp-6)}.metro.compact .station-title,.metro.compact .station-status{display:none}.metro-detail-slot{grid-column:1/-1;min-width:0}.metro-detail-slot:empty{display:none}.metro-detail{background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--r-lg);padding:var(--sp-5)}.metro-detail h3{margin-top:var(--sp-2)}.metro-detail p{font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--text-2)}.module-lessons{margin:var(--sp-4) 0;padding:0;list-style:none}.module-lessons li{border-top:1px solid var(--border-1);margin:0}.module-lessons a{align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;min-height:var(--hit);color:var(--text-1);grid-template-columns:20px minmax(0,1fr) auto auto;display:grid}.module-lessons a strong{font-size:var(--fs-sm);line-height:var(--lh-sm);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-weight:500}.module-lessons a:hover strong{color:var(--accent-text)}.module-lessons small{font:400 12px/18px var(--font-mono);color:var(--text-2)}.lesson-state{font-size:var(--fs-xs);color:var(--text-3)}.lesson-state.is-done{color:var(--success)}.module-certificate{gap:var(--sp-2);min-height:var(--hit);font-size:var(--fs-sm);align-items:center;display:inline-flex}.metro-legend{gap:var(--sp-3) var(--sp-5);margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--border-1);color:var(--text-2);font-size:var(--fs-xs);flex-wrap:wrap;align-items:center;display:flex}.metro-legend>span{align-items:center;gap:var(--sp-2);display:inline-flex}.legend-dot{border:2px solid var(--border-2);border-radius:50%;width:10px;height:10px;display:inline-block}.legend-dot.done{background:var(--success);border-color:var(--success)}.legend-dot.current{border-color:var(--accent-text)}.legend-dot.planned{border-style:dashed}.level-exams h2{font-size:var(--fs-h4);line-height:var(--lh-h4)}.level-exams .button-row{margin-top:var(--sp-4)}.level-exams .button{font-size:var(--fs-sm)}@media (width<=1100px){.metro-line{grid-template-columns:120px minmax(0,1fr)}.station-title{font-size:12px;line-height:18px}}@media (width<=600px){.dashboard-map{padding:var(--sp-3)}.dashboard-map>summary{gap:var(--sp-2);flex-wrap:wrap}.dashboard-map>summary>svg{width:18px;height:18px}.dashboard-map .module-progress{order:2;width:100%}.dashboard-map .module-progress span{display:inline}.metro-line{gap:var(--sp-3);grid-template-columns:minmax(0,1fr)}.metro-lines{gap:var(--sp-5)}.line-name{align-items:center;padding-top:0}.line-name>strong{padding-top:0}.metro:not(.compact) .stations{gap:0;display:grid}.metro:not(.compact) .station{gap:var(--sp-3);text-align:left;padding:var(--sp-3) var(--sp-2);grid-template-columns:24px 36px minmax(0,1fr);align-items:center;min-height:72px;display:grid}.metro:not(.compact) .station:before{border-top:0;border-left:2px solid var(--line);width:0;height:auto;inset:0 auto 0 19px}.metro:not(.compact) .station:first-child:before{top:50%}.metro:not(.compact) .station:last-child:before{bottom:50%}.metro:not(.compact) .station.planned:before{border-left-style:dashed;border-color:var(--border-2)}.metro:not(.compact) .station-title{font-size:var(--fs-sm);line-height:var(--lh-sm)}.metro:not(.compact) .station-status{grid-column:3;margin-top:-8px;font-size:11px}.metro:not(.compact) .station-dot,.metro:not(.compact) .station-id{grid-row:1/span 2}.metro-detail{padding:var(--sp-4)}.module-lessons a{gap:var(--sp-2);grid-template-columns:18px minmax(0,1fr) auto}.module-lessons .lesson-state{grid-column:2/-1}.metro-detail .button-row>.button,.metro-detail .button-row>button{flex:1 0 100%}.map-card{padding:var(--sp-4)}.map-card .section-heading{margin-bottom:var(--sp-4)}.metro-legend{gap:var(--sp-2) var(--sp-4);font-size:11px}.level-exams{padding:var(--sp-4)}.level-exams .button{text-align:left;justify-content:flex-start;width:100%}}.today-hero{justify-content:space-between;align-items:center;gap:var(--sp-6);min-height:220px;padding:var(--sp-8);border:1px solid var(--border-1);border-left:4px solid var(--accent);border-radius:var(--r-lg);background:var(--surface-1);display:flex}.today-hero>div:first-child{min-width:0}.today-hero .eyebrow{color:var(--accent-text)}.today-hero h2{max-width:26ch;font-size:var(--fs-h2);line-height:var(--lh-h2);margin:var(--sp-3) 0}.today-hero .primary{margin-top:var(--sp-3)}.today-lesson-meta{gap:var(--sp-3);color:var(--text-2);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.today-lesson-meta>span{align-items:center;gap:var(--sp-1);display:inline-flex}.hero-gopher{flex:0 0 170px;width:170px}.hero-gopher .gopher{width:100%;display:block}.stats-grid{gap:var(--sp-4);margin:var(--sp-5) 0;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stat-card{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--border-1);border-radius:var(--r-lg);background:var(--surface-1);align-items:center;min-width:0;display:flex}.stat-card>div{min-width:0}.stat-card strong{font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:-.02em;font-weight:600}.stat-card strong small{font-size:var(--fs-xs);color:var(--text-2);letter-spacing:normal;font-weight:400}.stat-card p{color:var(--text-2);font-size:var(--fs-xs);line-height:var(--lh-xs);margin:var(--sp-1) 0 0;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.stat-icon{border-radius:var(--r-md);flex-shrink:0;place-items:center;width:40px;height:40px;display:inline-grid}.stat-icon.amber{background:var(--warning-soft);color:var(--warning)}.stat-icon.cyan{background:var(--accent-soft);color:var(--accent-text)}.stat-icon.purple{background:var(--info-soft);color:var(--info)}.stat-icon.green{background:var(--success-soft);color:var(--success)}.today-grid{gap:var(--sp-4);margin-bottom:var(--sp-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.action-card{gap:var(--sp-3);min-height:88px;padding:var(--sp-4);border:1px solid var(--border-1);border-radius:var(--r-lg);background:var(--surface-1);color:var(--text-1);align-items:center;display:flex}.action-card>div{min-width:0}.action-card>svg{color:var(--text-3);margin-left:auto}.action-card:hover{border-color:var(--accent-text);text-decoration:none}.action-card h3{font-size:var(--fs-body);line-height:var(--lh-body)}.action-card p{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--text-2);margin:var(--sp-1) 0 0}.dashboard-lower{gap:var(--sp-5);margin-bottom:var(--sp-5);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;display:grid}.dashboard-lower>.card{padding:var(--sp-5)}.dashboard-lower h2{font-size:var(--fs-h4);line-height:var(--lh-h4)}.skill-map .section-heading{align-items:start;gap:var(--sp-3);margin-bottom:var(--sp-4)}.skill-map .section-heading p{font-size:var(--fs-xs);line-height:var(--lh-xs);margin:var(--sp-1) 0 0}.skill-map .tag{white-space:nowrap}.skill-heatmap{gap:var(--sp-2);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.heat-tile{border:1px solid var(--border-1);border-radius:var(--r-sm);min-width:0;min-height:64px;padding:var(--sp-2) var(--sp-1);text-align:center;grid-template-columns:minmax(0,1fr);align-content:start;gap:2px;display:grid}.heat-tile>span{font:500 11px/16px var(--font-mono);letter-spacing:.04em}.heat-tile>strong{font:600 13px/18px var(--font-mono)}.heat-tile>small{color:inherit;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-size:11px;font-weight:400;line-height:14px}.heat-tile.weak{color:var(--prog-low-text);background:var(--warning-soft)}.heat-tile.growing{color:var(--prog-mid-text);background:var(--accent-2-soft)}.heat-tile.strong{color:var(--prog-high-text);background:var(--success-soft)}.heat-tile.planned,.heat-tile.unscored{color:var(--text-3);background:var(--surface-2)}.heat-tile.planned{border-style:dashed}.heat-tile:hover,.heat-tile[aria-expanded=true]{border-color:currentColor;box-shadow:0 0 0 1px}.heatmap-legend{gap:var(--sp-2) var(--sp-3);color:var(--text-2);margin-top:var(--sp-3);flex-wrap:wrap;font-size:11px;line-height:18px;display:flex}.heatmap-legend>span{align-items:center;gap:5px;display:inline-flex}.heatmap-legend i{border-radius:2px;width:8px;height:8px}.heatmap-legend .weak{background:var(--prog-low)}.heatmap-legend .growing{background:var(--prog-mid)}.heatmap-legend .strong{background:var(--prog-high)}.skill-topics{overscroll-behavior:contain;max-height:260px;margin-top:var(--sp-4);border-top:1px solid var(--border-1);padding-top:var(--sp-4);overflow-y:auto}.skill-topics h3{font-size:var(--fs-sm);line-height:var(--lh-sm);margin-bottom:var(--sp-2)}.skill-topic{gap:var(--sp-3);min-height:var(--hit);padding:var(--sp-2);border-radius:var(--r-sm);color:var(--text-1);font-size:var(--fs-xs);line-height:var(--lh-xs);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;display:grid}.skill-topic>span{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.skill-topic:hover{background:var(--surface-2);text-decoration:none}.skill-topic>strong,.skill-topic>small{font-size:12px}.skill-topic.weak>strong{color:var(--prog-low-text)}.skill-topic.growing>strong{color:var(--prog-mid-text)}.skill-topic.strong>strong{color:var(--prog-high-text)}.skill-recommendation{gap:var(--sp-3);margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--border-1);align-items:center;display:flex}.skill-recommendation>svg{color:var(--accent-text)}.skill-recommendation p{flex:1;min-width:0;margin:0}.skill-recommendation span{color:var(--text-2);font-size:11px;line-height:18px;display:block}.skill-recommendation strong{font-size:var(--fs-xs);line-height:var(--lh-xs);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;display:block}.skill-recommendation .button{padding-inline:var(--sp-3);font-size:12px}.rhythm-card>p{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--text-2)}.activity-chart{align-items:flex-end;gap:var(--sp-1);height:105px;padding:var(--sp-2) 0 var(--sp-6);margin-top:var(--sp-3);display:flex}.activity-day{flex:1;justify-content:center;align-items:flex-end;min-width:0;height:100%;display:flex;position:relative}.activity-day>span{background:var(--accent);border-radius:var(--r-xs) var(--r-xs) 0 0;width:100%;max-width:20px;min-height:3px;display:block}.activity-day>small{text-align:center;font:400 10px/14px var(--font-mono);color:var(--text-3);position:absolute;bottom:-22px;left:0;right:0}.activity-empty{padding:var(--sp-4);border-radius:var(--r-md);background:var(--surface-2)}.completion-forecast{margin-top:var(--sp-4);border-top:1px solid var(--border-1);padding-top:var(--sp-4)}.completion-forecast .eyebrow{margin-bottom:var(--sp-2);display:block}.dashboard-achievements{padding:var(--sp-4) var(--sp-5)}.dashboard-achievements h2{font-size:var(--fs-sm);line-height:var(--lh-sm)}.achievement-grid{gap:var(--sp-3);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.achievement{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);line-height:var(--lh-xs);flex-wrap:wrap;display:flex}.achievement svg{color:var(--accent-2-text)}.achievement small{font:400 11px/16px var(--font-mono)}@media (width<=1100px){.dashboard-lower{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.skill-heatmap{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=800px){.dashboard-lower{grid-template-columns:minmax(0,1fr)}.stats-grid{gap:var(--sp-3)}.stat-card{padding:var(--sp-3);gap:var(--sp-2)}.stat-card .stat-icon{display:none}.skill-heatmap{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (width<=600px){.today-hero{min-height:0;padding:var(--sp-5);gap:var(--sp-3)}.today-hero h2{font-size:var(--fs-h3);line-height:var(--lh-h3)}.today-hero .hero-gopher{display:none}.today-lesson-meta{font-size:var(--fs-xs);line-height:var(--lh-xs)}.today-hero .primary{width:100%}.stats-grid{margin:var(--sp-4) 0;gap:var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:82px}.stat-card .stat-icon{border-radius:var(--r-sm);width:28px;height:28px;display:inline-grid}.stat-card .stat-icon svg{width:16px;height:16px}.stat-card strong{font-size:20px}.stat-card p{font-size:11px;line-height:16px}.today-grid{gap:var(--sp-2);margin-bottom:var(--sp-4);grid-template-columns:minmax(0,1fr)}.action-card{min-height:76px;padding:var(--sp-3)}.action-card h3{font-size:var(--fs-sm);line-height:var(--lh-sm)}.action-card p{font-size:12px;line-height:18px}.dashboard-lower{gap:var(--sp-4)}.dashboard-lower>.card{padding:var(--sp-4)}.skill-heatmap{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.heat-tile{padding:var(--sp-2) 2px}.heat-tile>small{font-size:11px}.skill-map .section-heading{flex-direction:row}.skill-map .section-heading h2{font-size:var(--fs-body);line-height:var(--lh-body)}.skill-map .tag{padding:3px 6px;font-size:11px}.skill-topic{gap:var(--sp-1) var(--sp-3);grid-template-columns:minmax(0,1fr) auto}.skill-topic small{grid-column:1/-1}.skill-recommendation{flex-wrap:wrap}.skill-recommendation .button{margin-left:auto}.dashboard-achievements{padding:var(--sp-4)}.achievement{padding:var(--sp-2) 0}}.landing{max-width:1320px;padding:0 var(--sp-10);margin:auto}.landing-nav{justify-content:space-between;align-items:center;gap:var(--sp-6);border-bottom:1px solid var(--border-1);min-height:96px;display:flex}.landing-nav>a:last-child{align-items:center;gap:var(--sp-2);min-height:var(--hit);font-size:var(--fs-sm);color:var(--text-2);display:inline-flex}.landing main{align-items:center;gap:var(--sp-12);min-height:600px;padding:var(--sp-12) 0;grid-template-columns:1.15fr 1fr;display:grid}.landing-copy{min-width:0}.landing-copy>.pill{border:1px solid var(--border-1);background:var(--surface-1);font:500 11px/16px var(--font-mono);letter-spacing:.06em;padding:var(--sp-2) var(--sp-3)}.landing-copy h1{letter-spacing:-.025em;margin:var(--sp-6) 0;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;text-wrap:balance;font-size:clamp(36px,3.7vw,48px);font-weight:600;line-height:1.12}.landing-copy h1 em{color:var(--accent-text);font-style:normal}.landing-copy>p{font-size:var(--fs-read);color:var(--text-2);max-width:52ch;margin:var(--sp-6) 0 var(--sp-8);line-height:1.65}.landing-copy .button-row{gap:var(--sp-3)}.landing-copy .button-row>*{min-height:52px;padding:var(--sp-3) var(--sp-6)}.landing-facts{gap:var(--sp-3) var(--sp-5);margin-top:var(--sp-5);font-size:var(--fs-xs);color:var(--text-2);flex-wrap:wrap;display:flex}.landing-facts span{align-items:center;gap:var(--sp-2);display:flex}.landing-facts svg{width:16px;color:var(--success)}.landing-lab{background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--r-xl);min-width:0;box-shadow:var(--shadow-md);position:relative}.lab-header{justify-content:space-between;align-items:center;gap:var(--sp-3);border-bottom:1px solid var(--border-1);padding:var(--sp-4) var(--sp-5);display:flex}.landing-code{background:var(--code-bg);color:var(--syn-plain);padding:var(--sp-6);min-height:234px;font:400 var(--fs-code)/var(--lh-code) var(--font-mono);border-radius:0;margin:0}.code-keyword{color:var(--syn-kw)}.code-string{color:var(--syn-str)}.lab-output{gap:var(--sp-2);border-top:1px solid var(--border-1);padding:var(--sp-4) var(--sp-6);background:var(--console-bg);flex-direction:column;display:flex}.lab-output code{font:400 14px/22px var(--font-mono)}.lab-output>span:last-child{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--success);display:flex}.landing-route{padding:var(--sp-5) var(--sp-6);gap:var(--sp-4);font:500 11px/16px var(--font-mono);display:flex}.landing-route span{align-items:center;gap:var(--sp-2);display:flex}.landing-route span:before{content:"";border:2px solid var(--accent-text);border-radius:var(--r-pill);width:10px;height:10px;display:inline-block}.landing-route span+span:before{border-color:var(--border-2)}.landing-lab .landing-gopher{width:106px;bottom:var(--sp-10);right:var(--sp-2);position:absolute}.landing-features{gap:var(--sp-10);border-top:1px solid var(--border-1);padding:var(--sp-8) 0 var(--sp-10);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.landing-features article>span{font:500 12px/16px var(--font-mono);color:var(--accent-text)}.landing-features h2{font-size:var(--fs-h4);line-height:var(--lh-h4);margin:var(--sp-3) 0}.landing-features p{font-size:var(--fs-sm);color:var(--text-2);line-height:1.6}.landing-footer{justify-content:space-between;gap:var(--sp-6);padding:var(--sp-6) 0;border-top:1px solid var(--border-1);font-size:var(--fs-xs);color:var(--text-3);display:flex}.auth-page{min-height:100vh;padding:var(--sp-10) var(--sp-6);background:var(--bg);flex-direction:column;align-items:center;display:flex}.auth-page>.brand{margin:0 0 var(--sp-8)}.auth-card{width:100%;max-width:464px;padding:var(--sp-8);box-shadow:var(--shadow-sm)}.auth-card h1{font-size:var(--fs-h2);line-height:var(--lh-h2);margin-top:var(--sp-3)}.auth-card>.muted{font-size:var(--fs-sm);margin:var(--sp-4) 0 var(--sp-6);line-height:1.6}.auth-card .primary{width:100%}.auth-card .stack{gap:var(--sp-5)}.auth-card small{font-size:var(--fs-xs);font-weight:400}.auth-card .notice{gap:var(--sp-4);flex-direction:column;display:flex}.divider{align-items:center;gap:var(--sp-3);color:var(--text-3);font-size:var(--fs-xs);margin:var(--sp-6) 0;display:flex}.divider:before,.divider:after{content:"";background:var(--border-1);flex:1;height:1px}.github-button{width:100%}.oauth-unavailable{gap:var(--sp-2);text-align:center;flex-direction:column;display:flex}.oauth-unavailable button{width:100%}.oauth-unavailable small{font-size:var(--fs-xs);color:var(--text-3);line-height:1.5}.auth-links{align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);margin:var(--sp-6) 0;text-align:center;flex-direction:column;display:flex}.auth-links a{min-height:var(--hit);align-items:center;display:inline-flex}.back-link{font-size:var(--fs-sm);margin:var(--sp-5) 0 0;color:var(--text-2);min-height:var(--hit);align-content:center;display:block}.diagnostic-page{max-width:900px;margin:0 auto}.diagnostic-card{max-width:740px;margin:var(--sp-8) auto}.diagnostic-card h2{font-size:var(--fs-h3);line-height:var(--lh-h3);margin:var(--sp-6) 0}.diagnostic-card>.button-row{margin-top:var(--sp-6);justify-content:space-between}.diagnostic-result{text-align:center;padding:var(--sp-3) var(--sp-5) var(--sp-6)}.diagnostic-result>.gopher{width:128px;margin:auto;display:block}.diagnostic-result h2{margin:var(--sp-4) 0}.diagnostic-result .button{margin-top:var(--sp-3)}.choices{gap:var(--sp-3);flex-direction:column;display:flex}.choice{align-items:center;gap:var(--sp-3);min-height:52px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border-2);border-radius:var(--r-md);cursor:pointer;flex-direction:row;font-weight:400;display:flex}.choice:has(input:checked){background:var(--accent-soft);border-color:var(--accent-text)}.choice:hover{background:var(--surface-2)}.collection-empty,.screen-error{max-width:740px;margin:var(--sp-6) auto;padding:var(--sp-10) var(--sp-6);text-align:center}.collection-empty p,.screen-error p{max-width:52ch;margin:var(--sp-3) auto var(--sp-5);color:var(--text-2)}.empty-gopher{width:104px;height:auto;max-height:100px}@media (width<=1100px){.landing main{gap:var(--sp-8);grid-template-columns:1fr 1fr}.landing-route{gap:var(--sp-3);flex-wrap:wrap}.landing-lab .landing-gopher{width:80px}}@media (width<=767px){.landing{padding:0 var(--sp-4)}.landing-nav{gap:var(--sp-4);min-height:76px}.landing-nav>a:last-child{font-size:var(--fs-xs)}.landing main{gap:var(--sp-8);padding:var(--sp-8) 0;grid-template-columns:minmax(0,1fr)}.landing-copy h1{margin:var(--sp-5) 0;font-size:36px;line-height:42px}.landing-copy>p{margin:var(--sp-5) 0 var(--sp-6);font-size:16px;line-height:26px}.landing-copy .button-row{flex-wrap:nowrap}.landing-copy .button-row>*{padding-inline:var(--sp-4)}.landing-facts{flex-direction:column}.lab-header{padding:var(--sp-3) var(--sp-4)}.lab-header .eyebrow{font-size:10px}.landing-code{padding:var(--sp-5);min-height:220px;font-size:13px}.lab-output{padding:var(--sp-4) var(--sp-5)}.landing-route{padding:var(--sp-4);gap:var(--sp-3);font-size:10px}.landing-lab .landing-gopher{width:84px}.landing-features{gap:var(--sp-6);padding:var(--sp-6) 0;grid-template-columns:minmax(0,1fr)}.landing-features article{padding-left:var(--sp-4);border-left:2px solid var(--border-2)}.landing-features h2{margin:var(--sp-2) 0}.landing-footer{gap:var(--sp-2);padding:var(--sp-5) 0;flex-direction:column}.auth-page{padding:var(--sp-6) var(--sp-4)}.auth-card{padding:var(--sp-6)}.auth-card h1{font-size:26px;line-height:32px}.diagnostic-card{margin:var(--sp-6) auto}.diagnostic-card .section-heading{flex-wrap:wrap}.diagnostic-card h2{font-size:22px}.diagnostic-card>.button-row>button{flex:1}.diagnostic-result{padding-inline:0}}.question{margin:16px 0 20px}.question>label{margin:16px 0}.question .stack{gap:16px}.quiz-item{border-bottom:1px solid var(--border);margin-bottom:20px;padding:24px 0}.quiz-item:first-of-type{padding-top:10px}.quiz-item>.eyebrow{margin-bottom:12px;display:block}.order-list{margin:20px 0;padding:0;list-style:none}.order-list li{border:1px solid var(--border);background:var(--bg);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}.order-list code{overflow-wrap:anywhere;font-size:.85rem}.order-list li>div{gap:5px;display:flex}.order-list button{min-width:44px;min-height:44px;padding:4px}.bug-lines{background:var(--code-bg);border-radius:12px;max-width:100%;margin:20px 0;padding:10px;overflow:hidden}.bug-lines button{text-align:left;width:100%;min-height:44px;color:var(--syn-plain);background:0 0;border:0;border-radius:5px;justify-content:flex-start;align-items:flex-start;padding:8px 10px;font-size:.85rem;font-weight:400;display:flex}.bug-lines button:hover,.bug-lines button.selected{background:var(--code-line-hl)}.bug-lines button span{min-width:25px;color:var(--code-gutter);font-size:.75rem}.bug-lines code{white-space:pre-wrap;overflow-wrap:anywhere}.feedback strong{font-size:1rem}.feedback h4{margin-top:18px}.feedback button{font-size:.75rem}.feedback .selected{background:var(--accent-strong);color:var(--on-accent)}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 28px;padding-bottom:8px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:9px;padding:8px 16px;font-size:.8rem}.tabs>a{margin-left:auto;font-size:.75rem}.tabs{gap:var(--sp-1);border-bottom:1px solid var(--border-1);margin:0 0 var(--sp-6);padding-bottom:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.tabs button{color:var(--text-2);font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);min-height:var(--hit);background:0 0;border:0}.tabs button[aria-pressed=true],.tabs button[aria-selected=true]{color:var(--accent-text);background:var(--accent-soft)}.tabs>a{font-size:var(--fs-sm);min-height:var(--hit);align-content:center;margin-left:auto}.tab-count{min-width:20px;padding:0 var(--sp-1);font:500 11px/20px var(--font-mono);background:var(--surface-3);color:var(--text-2);border-radius:var(--r-sm);place-items:center;display:inline-grid}.search-field{align-items:center;gap:var(--sp-3);border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--surface-1);padding:var(--sp-1) var(--sp-3);margin-bottom:var(--sp-6);flex-direction:row;min-width:0;display:flex}.search-field input{width:100%;min-width:0;padding:var(--sp-3) var(--sp-1);background:0 0;border:0;font-weight:400}.search-field input:focus-visible{outline:0}.search-field:focus-within{outline:2px solid var(--focus);outline-offset:2px}.search-field>svg{color:var(--text-3)}.search-field button,.search-field kbd{flex-shrink:0}.glossary-grid,.project-grid,.certificate-grid,.library-grid{gap:var(--sp-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.glossary-card{flex-direction:column;align-items:flex-start;display:flex}.glossary-card h2{margin-top:var(--sp-2);font-size:var(--fs-h3);line-height:var(--lh-h3);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.glossary-card h2 small{font:400 13px/20px var(--font-mono);color:var(--text-3);margin-left:var(--sp-2)}.glossary-card>p{font-size:var(--fs-body);line-height:var(--lh-body)}.glossary-card details{width:100%;margin-top:auto}.analogy-box{padding:var(--sp-4) var(--sp-5);background:var(--accent-soft);border:1px solid var(--border-1);border-radius:var(--r-md);font-size:var(--fs-sm);margin:var(--sp-4) 0;width:100%}.analogy-box>strong{font:500 12px/16px var(--font-mono);color:var(--accent-text)}.review-card{max-width:820px;margin:var(--sp-8) auto;text-align:center;padding:var(--sp-8)}.review-card .section-heading{margin-bottom:var(--sp-8);text-align:left;flex-wrap:wrap}.review-card h2{font-size:var(--fs-h2);line-height:var(--lh-h2);max-width:650px;margin:var(--sp-5) auto var(--sp-8);text-wrap:balance}.review-card>.primary{margin:var(--sp-4) auto var(--sp-6)}.card-answer{border-top:1px solid var(--border-1);padding:var(--sp-6) 0;text-align:left;font-size:var(--fs-read);line-height:var(--lh-read)}.review-ratings{gap:var(--sp-3);margin:var(--sp-4) 0 var(--sp-6);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.review-ratings button{gap:var(--sp-2);padding:var(--sp-4) var(--sp-2);font-size:var(--fs-sm);flex-direction:column;display:flex}.review-ratings button:first-child{color:var(--danger)}.review-ratings button:nth-child(2){color:var(--warning)}.review-ratings button:nth-child(3){color:var(--success)}.review-ratings button:nth-child(4){color:var(--accent-text)}.saved-item{justify-content:space-between;gap:var(--sp-3);border-bottom:1px solid var(--border-1);padding:var(--sp-3) 0;font-size:var(--fs-sm);align-items:center;display:flex}.saved-item a{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.saved-item button{min-width:var(--hit);padding:0}.note{border-bottom:1px solid var(--border-1);padding:var(--sp-5) 0;font-size:var(--fs-body)}.note>a,.note>small{font-size:var(--fs-xs)}.note p{margin:var(--sp-2) 0}.search-results{gap:var(--sp-4);margin-top:var(--sp-6);flex-direction:column;display:flex}.search-result{color:var(--text-1);display:block}.search-result:hover{border-color:var(--accent-text);text-decoration:none}.search-result h2{justify-content:space-between;gap:var(--sp-4);margin:var(--sp-2) 0;font-size:var(--fs-h3);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;display:flex}.search-result p{color:var(--text-2);font-size:var(--fs-sm)}.settings-grid{gap:var(--sp-6);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.settings-grid h2{margin-bottom:var(--sp-2);font-size:var(--fs-h3)}.settings-grid .card>p{overflow-wrap:anywhere;font-size:var(--fs-sm)}.settings-grid .card>p .tag{margin-top:var(--sp-2);display:table}.check-grid{gap:var(--sp-2) var(--sp-5);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.check-grid label{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);min-height:var(--hit);flex-direction:row;display:flex}.settings-grid fieldset legend{font-size:var(--fs-sm)}.import-button{cursor:pointer;position:relative;overflow:hidden}.import-button input{opacity:0;cursor:pointer;width:100%;font-size:0;position:absolute;inset:0}.import-button:focus-within{outline:2px solid var(--focus);outline-offset:2px}.confirmation-actions{justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-5);flex-wrap:wrap;display:flex}.certificate{border:1px solid var(--border-2);background:var(--surface-1);padding:var(--sp-10);gap:var(--sp-5);text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.certificate:before{content:"";top:0;inset-inline:var(--sp-10);background:var(--accent);height:3px;position:absolute}.certificate svg{color:var(--accent-text)}.certificate p{font-size:var(--fs-sm);margin:0}.catalog-summary{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-6);flex-wrap:wrap;display:flex}.catalog-summary>.muted{font-size:var(--fs-sm)}.topic-select{display:none}.track-layout{gap:var(--sp-6);grid-template-columns:240px minmax(0,1fr);display:grid}.track-menu{padding:var(--sp-2);height:max-content;top:var(--sp-6);position:sticky}.track-menu>button{text-align:left;justify-content:flex-start;gap:var(--sp-3);width:100%;line-height:1.5;font-size:var(--fs-sm);padding:var(--sp-3) var(--sp-2);background:0 0;border:0;display:flex}.track-menu>button>span{color:var(--text-3);font-size:11px;font-family:var(--font-mono)}.track-menu>button>strong{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;flex:1;font-weight:500}.track-menu>button>small{font-size:11px;font-family:var(--font-mono);padding:0 var(--sp-1);color:var(--text-3)}.track-menu>button.active{background:var(--accent-soft);color:var(--accent-text)}.track-layout>section{min-width:0}.algorithm-pattern>h2{margin:var(--sp-2) 0 var(--sp-3)}.algorithm-pattern>p{font-size:var(--fs-sm);color:var(--text-2)}.task-list{gap:var(--sp-2);margin:var(--sp-6) 0;flex-direction:column;display:flex}.task-list-item{justify-content:flex-start;gap:var(--sp-3);font-size:var(--fs-sm);padding:var(--sp-4);border-radius:var(--r-md)}.task-list-item>span{color:var(--text-3);font-size:12px;font-family:var(--font-mono)}.task-list-item strong{text-align:left;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;flex:1;min-width:0;font-weight:500}.task-list-item small{font-size:12px}.task-list-item.active{border-color:var(--accent-text);background:var(--accent-soft)}.difficulty{padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);background:var(--surface-2)}.difficulty-easy{color:var(--success);background:var(--success-soft)}.difficulty-medium{color:var(--warning);background:var(--warning-soft)}.difficulty-hard{color:var(--danger);background:var(--danger-soft)}.workbench{margin:var(--sp-6) 0}.workbench>h3{font-size:var(--fs-h4);line-height:var(--lh-h4);margin-bottom:var(--sp-4)}.workbench .two-col{font-size:var(--fs-sm)}.workbench .two-col>div>strong{color:var(--text-3);font:500 12px/16px var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.project-tile{color:var(--text-1);min-height:300px;transition:border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);flex-direction:column;display:flex}.project-tile:hover{border-color:var(--accent-text);box-shadow:var(--shadow-sm);text-decoration:none}.project-tile>.section-heading{color:var(--accent-text);margin-bottom:var(--sp-4)}.project-number{font:500 24px/32px var(--font-mono);color:var(--text-3)}.project-tile .eyebrow{margin-bottom:var(--sp-2)}.project-tile h2{font-size:var(--fs-h3);line-height:var(--lh-h3)}.project-tile p{font-size:var(--fs-sm);color:var(--text-2)}.project-link{justify-content:space-between;align-items:center;gap:var(--sp-3);padding-top:var(--sp-5);font-size:var(--fs-sm);color:var(--accent-text);margin-top:auto;display:flex}.project-banner{gap:var(--sp-10);background:var(--accent-soft);margin-bottom:var(--sp-6);justify-content:space-between;align-items:center;display:flex}.project-banner>div{min-width:0;max-width:600px}.project-banner>button{flex-shrink:0}.project-banner h2{margin-top:var(--sp-3)}.project-banner p{font-size:var(--fs-body)}.project-stages{gap:var(--sp-6);margin:var(--sp-8) 0;flex-direction:column;display:flex}.project-stages h3{font-size:var(--fs-h3)}.project-stages li,.project-stages p{font-size:var(--fs-sm)}.project-stages h4,.project-stages label{margin-top:var(--sp-5)}.checklist{padding:0;list-style:none}.checklist label{align-items:flex-start;gap:var(--sp-3);font-size:var(--fs-sm);min-height:var(--hit);flex-direction:row;font-weight:400;line-height:1.8;display:flex}.checklist input{margin-top:var(--sp-1)}.exam-start{max-width:740px;margin:var(--sp-8) auto;text-align:center;padding:var(--sp-10)}.exam-start>svg{margin:0 auto var(--sp-6);color:var(--accent-text)}.exam-start h2{font-size:var(--fs-h2);line-height:var(--lh-h2)}.exam-start p{max-width:580px;margin:var(--sp-5) auto;font-size:var(--fs-body)}.exam-start button{margin-top:var(--sp-5)}.exam-start button svg{color:inherit;margin:0}.timer{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border:1px solid var(--border-2);border-radius:var(--r-md);font:500 20px/28px var(--font-mono);white-space:nowrap;background:var(--surface-1);display:flex}.timer.expired{color:var(--danger);border-color:var(--danger)}.interview-tile{color:var(--text-1);flex-direction:column;align-items:flex-start;min-height:280px;display:flex}.interview-tile>svg{margin:var(--sp-5) 0;color:var(--accent-text);display:block}.interview-tile h2{font-size:var(--fs-h3)}.interview-tile:hover{border-color:var(--accent-text);text-decoration:none}.interview-tile p{font-size:var(--fs-sm);color:var(--text-2)}.interview-tile .project-link{width:100%}.library-grid h2{margin-top:var(--sp-2);font-size:var(--fs-h3)}.source-list{padding:0;list-style:none}.source-list li{gap:var(--sp-1);border-bottom:1px solid var(--border-1);padding:var(--sp-4) 0;flex-direction:column;margin:0;display:flex}.source-list li:last-child{border-bottom:0}.source-list li>a{justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-body);overflow-wrap:anywhere;align-items:center;font-weight:500;display:flex}.source-list li>small{font-size:var(--fs-xs)}.source-list .tag{margin-bottom:var(--sp-1);align-self:flex-start}@media (width<=1100px){.track-layout{gap:var(--sp-5);grid-template-columns:208px minmax(0,1fr)}.track-menu>button{gap:var(--sp-2);font-size:var(--fs-xs)}.project-banner{gap:var(--sp-6)}}@media (width<=900px){.track-layout{grid-template-columns:minmax(0,1fr)}.track-menu{display:none}.topic-select{margin-bottom:var(--sp-5);display:flex}.project-banner{flex-direction:column;align-items:flex-start}.settings-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=767px){.glossary-grid,.project-grid,.certificate-grid,.library-grid{gap:var(--sp-4);grid-template-columns:minmax(0,1fr)}.tabs{gap:var(--sp-1);margin-bottom:var(--sp-5)}.tabs button{padding-inline:var(--sp-3);font-size:var(--fs-xs)}.tabs>a{font-size:var(--fs-xs);margin-left:0}.search-field{gap:var(--sp-2);padding-left:var(--sp-3);margin-bottom:var(--sp-5)}.search-field kbd{display:none}.search-field button{padding-inline:var(--sp-3)}.search-field input{font-size:var(--fs-sm)}.review-card{margin:var(--sp-5) auto;padding:var(--sp-5)}.review-card .section-heading{margin-bottom:var(--sp-5);gap:var(--sp-3)}.review-card h2{margin:var(--sp-5) auto var(--sp-6);font-size:24px;line-height:32px}.review-ratings{gap:var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr))}.review-ratings button{padding:var(--sp-3);flex-direction:row;justify-content:flex-start}.card-answer{font-size:var(--fs-body);line-height:26px}.settings-grid,.settings-grid .stack{gap:var(--sp-4)}.catalog-summary{margin-bottom:var(--sp-5);gap:var(--sp-2)}.catalog-summary>.muted{flex:1 0 100%}.task-list-item{gap:var(--sp-2);padding:var(--sp-3)}.task-list-item small{padding:var(--sp-1);font-size:11px}.task-list-item>svg{width:16px}.project-tile{min-height:280px}.project-banner{gap:var(--sp-4);margin-bottom:var(--sp-5)}.project-banner>button{width:100%}.project-stages{gap:var(--sp-4);margin:var(--sp-6) 0}.exam-start{margin:var(--sp-5) auto;padding:var(--sp-6) var(--sp-5)}.exam-start h2{font-size:24px;line-height:32px}.exam-start p{font-size:var(--fs-sm)}.timer{padding:var(--sp-2) var(--sp-3);font-size:18px}.certificate{padding:var(--sp-6)}.collection-empty,.screen-error{padding:var(--sp-6) var(--sp-5);margin:var(--sp-5) auto}.confirmation-actions>button{flex:1}}.lesson-route{border-right:1px solid var(--border-1);background:var(--surface-1);flex-direction:column;flex:0 0 280px;width:280px;min-height:0;display:flex}.lesson-route-head{border-bottom:1px solid var(--border-1);gap:10px;padding:16px 16px 14px;display:grid}.lesson-route-title{align-items:center;gap:8px;display:flex}.lesson-module-ring{border:3px solid var(--accent);width:30px;height:30px;font:600 11px/1 var(--font-mono);border-radius:50%;flex:none;place-items:center;display:grid}.lesson-route-title>div{flex:1;min-width:0;display:grid}.lesson-route-title strong{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-size:15px;line-height:20px}.lesson-route-caption{font:500 11px/14px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.lesson-route-title>button{width:36px;min-height:36px;color:var(--text-3);background:0 0;border:0;padding:0}.lesson-module-progress{color:var(--text-2);white-space:nowrap;align-items:center;gap:10px;font-size:12px;display:flex}.lesson-module-progress progress{appearance:none;background:var(--prog-track);border:0;border-radius:99px;flex:1;width:100%;min-width:0;height:6px;overflow:hidden}.lesson-module-progress progress::-webkit-progress-bar{background:var(--prog-track)}.lesson-module-progress progress::-webkit-progress-value{background:var(--prog-low);border-radius:99px}.lesson-module-progress progress::-moz-progress-bar{background:var(--prog-low)}.lesson-route-list{flex:1;min-height:0;margin:0;padding:8px;list-style:none;overflow:auto}.lesson-route-link{min-height:56px;color:var(--text-1);border-radius:10px;gap:10px;padding:0 8px;display:flex}.lesson-route-link:hover{background:var(--surface-3);text-decoration:none}.lesson-route-link[aria-current]{background:var(--accent-soft)}.lesson-route-link>span:last-child{flex-direction:column;flex:1;justify-content:center;gap:2px;min-width:0;padding:8px 0;display:flex}.lesson-route-link strong{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-size:14px;font-weight:500;line-height:19px}.lesson-route-link[aria-current] strong{font-weight:600}.lesson-route-link small,.lesson-route-extras small{color:var(--text-3);font-size:12px;line-height:16px}.lesson-route-link[aria-current] small{color:var(--accent-text)}.lesson-route-track{flex:none;place-items:center;width:20px;display:grid;position:relative}.lesson-route-track:before{content:"";background:var(--border-2);width:2px;position:absolute;inset:0 auto}.lesson-route-list li:first-child .lesson-route-track:before{top:50%}.lesson-route-list li:has(+.lesson-route-extras) .lesson-route-track:before{bottom:50%}.lesson-route-track>span{z-index:1;border:2px solid var(--border-2);background:var(--surface-1);border-radius:50%;place-items:center;width:12px;height:12px;display:grid}.completed .lesson-route-track>span{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.lesson-route-link[aria-current] .lesson-route-track>span{border-color:var(--accent);width:16px;height:16px;box-shadow:0 0 0 3px var(--accent-soft), 0 0 0 4px var(--accent)}.lesson-route-extras>a{min-height:52px;color:var(--text-2);border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.lesson-route-extras>a:hover{background:var(--surface-3);text-decoration:none}.lesson-route-extras>a>svg{flex:none}.lesson-route-extras span{display:grid}.lesson-route-extras strong{font-size:14px;font-weight:500;line-height:19px}.lesson-route-map{margin:8px 16px 16px;font-size:13px}.lesson-guest{border:1px solid var(--border-1);background:var(--surface-2);border-radius:12px;gap:8px;margin:8px;padding:14px;font-size:14px;line-height:19px;display:grid}.lesson-guest p{color:var(--text-2);font-size:13px;line-height:18px}.lesson-guest .button{border-radius:8px;justify-self:start;min-height:36px;padding:0 12px;font-size:14px}.lesson-toolbar{border-bottom:1px solid var(--border-1);background:var(--bg);flex:none;padding:8px 16px 4px 12px}.lesson-toolbar-row{align-items:center;gap:6px;min-height:44px;display:flex}.lesson-toolbar button{min-width:40px;height:40px;min-height:40px;color:var(--text-2);background:0 0;border:0;border-radius:10px;padding:0 8px;font-size:14px;font-weight:500}.lesson-toolbar button:hover{background:var(--surface-3);color:var(--text-1)}.lesson-toolbar button[aria-pressed=true]{color:var(--accent-text);background:var(--accent-soft)}.lesson-step-picker{cursor:pointer;border-radius:10px;flex-direction:row;flex:0 auto;align-items:center;gap:10px;min-width:0;height:40px;padding:0 10px;display:flex;position:relative}.lesson-step-picker:focus-within{outline:2px solid var(--focus);outline-offset:2px}.lesson-step-picker:hover{background:var(--surface-3)}.lesson-step-picker strong{white-space:nowrap;align-items:center;gap:4px;font-size:15px;font-weight:600;line-height:1.2;display:flex}.lesson-step-count{color:var(--accent-text);font:500 12px/1 var(--font-mono)}.lesson-step-picker select{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.lesson-toolbar-options{align-items:center;gap:2px;margin-left:auto;display:flex}.lesson-toolbar-options>button>span{display:none}.lesson-toolbar-options>button[aria-label="Выйти из фокуса"]>span{display:inline}.lesson-depth{background:var(--surface-3);border-radius:11px;gap:2px;padding:3px;display:inline-flex}.lesson-depth button{white-space:nowrap;border-radius:8px;height:34px;min-height:34px;padding:0 12px;font-size:13px}.lesson-depth button[aria-pressed=true]{color:var(--text-1);background:var(--surface-1);box-shadow:var(--shadow-sm)}.lesson-toolbar-divider{background:var(--border-1);width:1px;height:24px;margin:0 4px}.lesson-layout .lesson-more,.lesson-phone-icon,.lesson-step-phone-meta,.lesson-phone-progress{display:none}.lesson-stations{padding:2px 4px 0;display:flex}.lesson-station-group{flex-direction:column;min-width:0;display:flex}.lesson-zone-label{font:500 10.5px/14px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);border-left:1px solid var(--border-2);padding-left:6px}.lesson-station-row{display:flex}.lesson-toolbar .lesson-station{border-radius:8px;flex:1;min-width:24px;height:36px;min-height:36px;padding:0;position:relative}.lesson-station-track{background:var(--border-2);height:2px;position:absolute;top:17px;left:0;right:0}.lesson-station-dot{border:2px solid var(--border-2);background:var(--bg);width:10px;height:10px;transition:all var(--dur-2) var(--ease-out);border-radius:50%;position:absolute;top:18px;left:50%;transform:translate(-50%,-50%)}.lesson-station.completed .lesson-station-dot,.lesson-station.completed .lesson-station-track{background:var(--accent);border-color:var(--accent)}.lesson-station.active .lesson-station-dot{border-color:var(--accent);background:var(--bg);width:14px;height:14px;box-shadow:0 0 0 3px var(--accent-soft), 0 0 0 4px var(--accent)}.lesson-station-group:first-child .lesson-station:first-child .lesson-station-track{left:50%}.lesson-station-group:last-child .lesson-station:last-child .lesson-station-track{right:50%}.lesson-language-tabs{flex-wrap:wrap;gap:6px;display:flex}.lesson-language-tabs button{border:1px solid var(--border-1);background:var(--surface-1);min-height:36px;font:500 14px/20px var(--font-sans);border-radius:9px;padding:6px 14px}.lesson-language-tabs button[aria-selected=true]{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-text)}.lesson-comparison{grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:20px;display:grid}.lesson-comparison section{flex-direction:column;gap:12px;min-width:0;display:flex}.lesson-comparison h3{margin:0}.lesson-comparison .prose{font:400 16px/26px var(--font-sans)}.lesson-language-chip{min-height:30px;font:600 14px/20px var(--font-sans);background:var(--surface-3);color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;display:inline-flex}.lesson-language-chip.is-go{background:var(--success-soft);color:var(--success)}.lesson-mistake{border:1px solid var(--border-1);background:var(--surface-1);border-radius:14px;overflow:hidden}.lesson-mistake>header{border-bottom:1px solid var(--border-1);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 18px;display:flex}.lesson-number{font:600 13px/20px var(--font-mono);color:var(--text-3)}.lesson-mistake h3{font:600 18px/24px var(--font-sans);flex:1;margin:0}.lesson-error-kind{background:var(--danger-soft);color:var(--danger);font:500 13px/18px var(--font-sans);border-radius:999px;padding:4px 10px}.lesson-mistake-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px 24px;padding:16px 18px;display:grid}.lesson-mistake-grid section{min-width:0}.lesson-mistake-grid h4{font:500 12px/16px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin:0 0 6px}.lesson-compiler-message{background:var(--console-bg);color:var(--danger);font:400 13px/20px var(--font-mono);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:8px;padding:8px 10px;display:block}.lesson-mistake .prose{font:400 15px/22px var(--font-sans);color:var(--text-2)}.lesson-code-diff{border:1px solid var(--border-1);border-radius:10px;overflow:hidden}.lesson-content .lesson-code-diff pre{font:400 13.5px/22px var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;border:0;border-radius:0;gap:10px;margin:0;padding:6px 12px;display:flex}.lesson-code-diff pre>span{flex:none;font-weight:600}.lesson-code-diff code{white-space:inherit;overflow-wrap:anywhere;min-width:0}.lesson-content .lesson-diff-remove{background:var(--danger-soft)}.lesson-content .lesson-diff-add{background:var(--success-soft)}.lesson-diff-remove>span{color:var(--danger)}.lesson-diff-add>span{color:var(--success)}.lesson-practice-levels{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:10px;display:grid}.lesson-practice-levels button{text-align:left;border:1px solid var(--border-1);background:var(--surface-1);border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;font-weight:600;display:flex}.lesson-practice-levels button[aria-selected=true]{border:2px solid var(--accent);background:var(--accent-soft);padding:13px}.lesson-practice-levels small{font:400 13px/18px var(--font-sans);color:var(--text-3)}.lesson-content [role=tabpanel][hidden]{display:none}.lesson-cheat-tools,.lesson-cheat-tools>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lesson-cheat-tools{justify-content:space-between}.lesson-cheat-tools p{color:var(--text-2);font:400 16px/24px var(--font-sans);margin:0}.lesson-cheat-tools button{border:1px solid var(--border-2);background:var(--surface-1);min-height:40px;font:600 14px/20px var(--font-sans);border-radius:10px;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.lesson-cheatsheet{border:1.5px solid var(--text-1);background:var(--surface-1);border-radius:16px;overflow:hidden}.lesson-cheatsheet>header{background:var(--text-1);color:var(--bg);font:600 13px/20px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;padding:12px 18px}.lesson-cheatsheet>div{padding:18px}.lesson-cheatsheet .prose{font:400 15px/24px var(--font-sans)}.lesson-interview-tip{border:1px solid var(--border-1);background:var(--surface-2);font:400 16px/24px var(--font-sans);border-radius:12px;align-items:center;gap:12px;margin:0;padding:14px 16px;display:flex}.lesson-interview-tip svg{color:var(--accent-text);flex:none}.lesson-interview-list{border:1px solid var(--border-1);background:var(--surface-1);border-radius:14px;overflow:hidden}.lesson-interview-list article+article{border-top:1px solid var(--border-1)}.lesson-interview-list article>h3{font:600 17px/24px var(--font-sans);margin:0;padding:18px 18px 10px}.lesson-interview-list details{padding:0 18px}.lesson-interview-list summary{cursor:pointer;min-height:44px;font:500 14px/20px var(--font-sans);align-items:center;gap:12px;padding:8px 0 14px;list-style:none;display:flex}.lesson-interview-list summary:after{content:"⌄";transition:transform var(--dur-2);margin-left:auto;font-size:18px}.lesson-interview-list details[open]>summary:after{transform:rotate(180deg)}.lesson-interview-level{min-width:64px;height:24px;font:600 12px/1 var(--font-mono);text-transform:capitalize;background:var(--accent-soft);color:var(--accent-text);border-radius:6px;place-items:center;display:inline-grid}.lesson-interview-level.is-senior{background:var(--accent-2-soft);color:var(--accent-2-text)}.lesson-interview-list .prose{font:400 16px/26px var(--font-sans);color:var(--text-2);padding-bottom:18px}.lesson-sources{border:1px solid var(--border-1);background:var(--surface-1);border-radius:14px;margin:0;padding:0;list-style:none;overflow:hidden}.lesson-sources li+li{border-top:1px solid var(--border-1)}.lesson-sources li>a{min-height:64px;color:var(--text-1);align-items:center;gap:14px;padding:14px 18px;text-decoration:none;display:flex}.lesson-sources li>a:hover{background:var(--surface-2)}.lesson-source-icon{background:var(--surface-3);width:36px;height:36px;color:var(--text-2);border-radius:10px;flex:none;place-items:center;display:grid}.lesson-sources a>span:nth-child(2){flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lesson-sources strong{font:600 15px/21px var(--font-sans)}.lesson-sources small{font:400 13px/18px var(--font-mono);color:var(--text-3);overflow-wrap:anywhere}.lesson-sources a>svg{color:var(--text-3);flex:none}.lesson-cards{flex-direction:column;align-items:center;gap:20px;display:flex}.lesson-card-stack{width:100%;max-width:560px;margin:8px 0 0;position:relative}.lesson-card-stack:before,.lesson-card-stack:after{content:"";background:var(--surface-3);border:1px solid var(--border-1);border-radius:20px;position:absolute;inset:0;transform:translateY(14px)scale(.94)}.lesson-card-stack:after{background:var(--surface-2);transform:translateY(7px)scale(.97)}.lesson-layout .lesson-content .lesson-flip-card{z-index:1;border:1px solid var(--border-2);background:var(--surface-1);width:100%;min-height:280px;box-shadow:var(--shadow-md);text-align:left;color:var(--text-1);transition:background var(--dur-3) var(--ease-out);border-radius:20px;flex-direction:column;justify-content:space-between;align-items:stretch;gap:20px;padding:24px 28px;display:flex;position:relative}.lesson-layout .lesson-content .lesson-flip-card.is-flipped{background:var(--accent-soft)}.lesson-card-meta{width:100%;color:var(--text-3);font:500 12px/16px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;gap:12px;display:flex}.lesson-card-text{font:600 clamp(20px, 2vw, 26px)/1.3 var(--font-sans);text-wrap:balance}.lesson-card-hint{font:400 13px/18px var(--font-sans);color:var(--text-3)}.lesson-card-pagination{align-items:center;gap:8px;display:flex}.lesson-card-pagination>button{border:1px solid var(--border-2);background:var(--surface-1);border-radius:10px;place-items:center;min-width:44px;min-height:44px;padding:0;display:grid}.lesson-card-dots{flex-wrap:wrap;justify-content:center;gap:6px;padding:0 6px;display:flex}.lesson-layout .lesson-card-pagination .lesson-card-dots button{background:0 0;border:0;border-radius:0;width:8px;min-width:8px;height:32px;min-height:32px;padding:0;position:relative}.lesson-layout .lesson-card-pagination .lesson-card-dots button:before{content:"";background:var(--border-2);border-radius:4px;position:absolute;inset:12px 0}.lesson-layout .lesson-card-pagination .lesson-card-dots button[aria-current=true]{width:20px}.lesson-layout .lesson-card-pagination .lesson-card-dots button[aria-current=true]:before{background:var(--accent)}.lesson-cards>.primary{min-height:48px;font:600 16px/24px var(--font-sans);text-align:center;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:12px 20px;display:inline-flex}.lesson-card-caption{max-width:44ch;color:var(--text-2);font:400 13px/20px var(--font-sans);text-align:center;margin:0}.lesson-quiz{flex-direction:column;gap:16px;display:flex}.lesson-quiz>.quiz-title{font:600 20px/26px var(--font-sans);margin:0}.lesson-quiz>p.muted{font:400 17px/28px var(--font-sans);margin:0}.lesson-quiz .quiz-item,.lesson-quiz .quiz-item:first-of-type{border:1px solid var(--border-1);background:var(--surface-1);border-radius:14px;margin:0;padding:18px 20px}.lesson-quiz .question{border:0;min-width:0;margin:0;padding:0}.lesson-quiz .question legend{width:100%;font:600 17px/24px var(--font-sans);margin:0 0 14px;padding:0}.quiz-question-number{min-width:28px;font:600 13px/20px var(--font-mono);color:var(--text-3);margin-right:12px;display:inline-block}.lesson-quiz .choices{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:8px;margin:14px 0 0;display:grid}.lesson-quiz .choice{border:1px solid var(--border-1);background:var(--surface-1);min-height:52px;font:400 15px/22px var(--font-sans);border-radius:10px;gap:12px;margin:0;padding:10px 14px}.lesson-quiz .choice:has(input:checked){border-color:var(--accent-text);background:var(--accent-soft)}.lesson-quiz .choice input{accent-color:var(--accent-text);flex:none;width:20px;height:20px}.lesson-quiz .question>pre{margin:0 0 14px}.lesson-quiz .feedback{background:var(--warning-soft);font:400 15px/22px var(--font-sans);border:0;border-radius:10px;margin-top:14px;padding:12px 14px}.lesson-quiz .feedback.success{background:var(--success-soft)}.lesson-quiz .feedback strong{color:var(--warning)}.lesson-quiz .feedback.success strong{color:var(--success)}.lesson-quiz>button.primary{border-radius:10px;align-self:flex-start;min-height:44px;padding:10px 18px}@media (hover:none){.lesson-content .paragraph-note{opacity:1}}@media (width<=600px){.lesson-mistake>header,.lesson-mistake-grid{padding:14px}.lesson-interview-list article>h3,.lesson-interview-list details{padding-inline:14px}.lesson-quiz .quiz-item,.lesson-quiz .quiz-item:first-of-type{padding:16px}.lesson-practice-levels{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.lesson-practice-levels button{padding:10px 8px;font-size:13px}.lesson-practice-levels button[aria-selected=true]{padding:9px 7px}.lesson-practice-levels small{font-size:11px;line-height:16px}.lesson-cards>.primary{width:100%;padding-inline:12px;font-size:14px}.lesson-term-tooltip{width:auto;position:fixed;inset:auto 16px 90px}}.lesson-failure-label{font:400 15px/22px var(--font-sans);color:var(--text-2);margin:0 0 12px}.lesson-content .lesson-body-stack{flex-direction:column;gap:20px;min-width:0;display:flex}.lesson-content .prose{max-width:68ch;font:400 var(--fs-read)/var(--lh-read) var(--font-sans);color:var(--text-1);margin:0}.lesson-content .prose p{line-height:inherit;white-space:pre-line;overflow-wrap:anywhere;text-wrap:pretty;margin:0}.lesson-content .prose>.paragraph+.paragraph{margin-top:20px}.lesson-content .prose ul{margin:0;padding-left:22px}.lesson-content .prose li+li{margin-top:8px}.lesson-content .prose code:not(pre code){font:500 .87em/1.4 var(--font-mono);background:var(--surface-3);overflow-wrap:anywhere;border-radius:5px;padding:2px 5px}.lesson-content .paragraph{min-width:0;position:relative}.lesson-content .paragraph-note{min-height:28px;color:var(--text-3);opacity:0;transition:opacity var(--dur-1) var(--ease-out);background:0 0;border:0;margin:4px -6px 0;padding:2px 6px;font-size:12px}.lesson-content .paragraph:hover>.paragraph-note,.lesson-content .paragraph:focus-within>.paragraph-note{opacity:1}.lesson-content .lesson-reading{max-width:68ch}.lesson-intro{flex-direction:column;gap:32px;display:flex}.lesson-intro-heading{flex-direction:column;gap:16px;display:flex}.lesson-intro-heading .eyebrow{color:var(--accent-text);font:500 12px/16px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin:0}.lesson-content .lesson-intro h1{font:600 clamp(30px, 3.3vw, 46px)/1.1 var(--font-sans);letter-spacing:-.025em;text-wrap:balance;margin:0}.lesson-meta-chips{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.lesson-meta-chips>span{border:1px solid var(--border-1);background:var(--surface-1);min-height:32px;font:500 14px/20px var(--font-sans);color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;display:inline-flex}.lesson-difficulty{gap:3px;display:inline-flex}.lesson-difficulty i{background:var(--border-2);border-radius:2px;width:6px;height:13px;display:block}.lesson-difficulty i.filled{background:var(--text-1)}.lesson-intro-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;display:grid}.lesson-goals-card,.lesson-content .lesson-prerequisites{border:1px solid var(--border-1);background:var(--surface-1);border-radius:14px;margin:0;padding:20px}.lesson-content .lesson-prerequisites{background:var(--surface-2)}.lesson-intro-grid h3{font:500 12px/16px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin:0 0 14px}.lesson-content .goals{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.lesson-content .goals li{font:400 16px/24px var(--font-sans);align-items:flex-start;gap:12px;display:flex}.lesson-goal-number{background:var(--accent-soft);width:24px;height:24px;color:var(--accent-text);font:600 12px/1 var(--font-mono);border-radius:50%;flex:none;place-items:center;display:grid}.lesson-content .prerequisite-links{flex-direction:column;gap:12px;display:flex}.lesson-content .prerequisite-links a{border:1px solid var(--border-1);background:var(--surface-1);min-height:56px;color:var(--text-1);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.lesson-content .prerequisite-links a>span:last-child{flex-direction:column;display:flex}.lesson-content .prerequisite-links strong{font:500 15px/20px var(--font-sans)}.lesson-content .prerequisite-links small{font:400 13px/18px var(--font-sans);color:var(--text-3)}.lesson-prerequisite-status{width:22px;height:22px;color:var(--text-3);flex:none;place-items:center;display:grid}.lesson-prerequisite-status.is-complete{background:var(--success);color:var(--surface-1);border-radius:50%}.lesson-content .lesson-welcome{border:1px dashed var(--border-2);color:var(--text-2);background:0 0;border-radius:14px;align-items:center;gap:16px;margin:0;padding:16px 20px;display:flex}.lesson-content .lesson-welcome p{font:400 16px/24px var(--font-sans);margin:0}.lesson-welcome-mark{border:1px dashed var(--border-2);background:var(--surface-2);width:64px;height:64px;color:var(--accent-text);border-radius:50%;flex:none;place-items:center;display:grid}.lesson-hook,.lesson-analogy{flex-direction:column;gap:20px;display:flex}.lesson-callout-label{color:var(--accent-text);font:600 15px/22px var(--font-sans);align-items:center;gap:8px;display:flex}.lesson-warning{background:var(--warning-soft);border-radius:14px;padding:18px 20px}.lesson-warning h3{color:var(--warning);font:600 15px/20px var(--font-sans);align-items:center;gap:8px;margin:0 0 8px;display:flex}.lesson-warning .prose{font:400 16px/25px var(--font-sans)}.lesson-term-wrap{display:inline;position:relative}.lesson-content .term{border:0;border-bottom:1.5px dotted var(--accent-text);min-height:0;color:inherit;font:inherit;cursor:help;background:0 0;border-radius:0;padding:0;display:inline}.lesson-term-tooltip{z-index:40;border:1px solid var(--border-2);background:var(--surface-1);width:min(290px,100vw - 48px);box-shadow:var(--shadow-md);color:var(--text-2);font:400 14px/20px var(--font-sans);border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;display:flex;position:absolute;top:calc(100% + 8px);left:0}.lesson-term-tooltip:before{content:"";height:10px;position:absolute;top:-10px;left:0;right:0}.lesson-term-tooltip strong{color:var(--text-1);font-weight:600}.lesson-term-tooltip small{font:400 13px/18px var(--font-mono);color:var(--text-3)}.lesson-term-tooltip a{font-size:13px}.lesson-static-code{border:1px solid var(--border-2);background:var(--code-bg);color:var(--syn-plain);font:400 14px/22px var(--font-mono);white-space:pre;border-radius:12px;max-width:100%;margin:0;padding:12px 0;overflow:auto}.lesson-static-code code{font:inherit;color:inherit;display:block}.lesson-code-line{width:max-content;min-width:100%;min-height:22px;padding:0 16px 0 44px;display:block;position:relative}.lesson-code-line:before{content:attr(data-line);text-align:right;width:30px;color:var(--code-gutter);font:inherit;-webkit-user-select:none;user-select:none;position:absolute;left:0}.lesson-static-code .tok-keyword{color:var(--syn-kw)}.lesson-static-code .tok-typeName,.lesson-static-code .tok-className{color:var(--syn-type)}.lesson-static-code .tok-string{color:var(--syn-str)}.lesson-static-code .tok-number,.lesson-static-code .tok-bool{color:var(--syn-num)}.lesson-static-code .tok-comment{color:var(--syn-com);font-style:italic}.lesson-static-code .tok-function{color:var(--syn-fn)}@media (width<=600px){.lesson-intro{gap:24px}.lesson-intro-heading{gap:14px}.lesson-intro-grid{grid-template-columns:1fr}.lesson-goals-card,.lesson-content .lesson-prerequisites{padding:16px}.lesson-content .lesson-welcome{align-items:flex-start;gap:12px;padding:14px}.lesson-welcome-mark{width:44px;height:44px}.lesson-content .lesson-welcome p{font-size:14px;line-height:22px}.lesson-content .paragraph-note{opacity:1}}.editor-with-notes{flex-direction:column;gap:16px;min-width:0;display:flex}.editor.editor{border:1px solid var(--border-2);background:var(--code-bg);min-width:0;max-width:100%;box-shadow:var(--shadow-sm);border-radius:14px;overflow:hidden}.editor .cm-editor{min-height:220px;font:400 14px/22px var(--font-mono)}.editor .cm-scroller{max-height:480px;font-family:var(--font-mono);line-height:22px;overflow:auto}.editor .cm-line{padding:0 24px 0 8px}.editor .cm-focused{outline:2px solid var(--accent);outline-offset:-2px}.editor .cm-gutters .cm-foldGutter{display:none}.editor .cm-lineNumbers .cm-gutterElement{min-width:36px;padding:0 8px 0 6px;font-size:13px}.editor .cm-note-gutter{order:-1;width:13px}.cm-note-marker{background:var(--accent-2-text);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:4px;display:inline-block}.editor .cm-tooltip,.line-tooltip{border:1px solid var(--border-2);background:var(--surface-1);max-width:min(340px,90vw);color:var(--text-1);box-shadow:var(--shadow-md);white-space:normal;font:400 14px/21px var(--font-sans);border-radius:12px;padding:12px 14px}.editor .cm-tooltip .line-tooltip{box-shadow:none;border:0;padding:0}.editor-line-notes{border:1px solid var(--border-1);background:var(--surface-1);border-radius:12px;padding:0;overflow:hidden}.editor-line-notes summary{min-height:48px;font:600 15px/22px var(--font-sans);cursor:pointer;padding:12px 16px}.editor-line-notes summary::marker{color:var(--accent-2-text)}.editor-line-notes ol{gap:10px;margin:0;padding:0 16px 14px;list-style:none;display:grid}.editor-line-notes li{font:400 15px/22px var(--font-sans);grid-template-columns:28px minmax(0,1fr);gap:12px;display:grid}.editor-line-notes li>span:first-child{color:var(--accent-2-text);font:600 13px/22px var(--font-mono)}.run-panel{gap:16px;min-width:0;margin:0;display:grid}.run-toolbar{border:1px solid var(--border-2);background:var(--surface-2);border-radius:14px;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;padding:6px 6px 6px 14px;display:flex}.run-toolbar button,.run-toolbar a{min-height:40px;color:var(--text-2);font:500 14px/20px var(--font-sans);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 12px;text-decoration:none;display:inline-flex}.run-toolbar button:hover,.run-toolbar a:hover{background:var(--surface-3)}.run-toolbar button.primary{background:var(--accent);color:var(--on-accent);font-weight:600}.run-toolbar button.primary:hover{background:var(--accent-hover)}.editor-filename{min-width:72px;color:var(--text-2);font:500 13px/20px var(--font-mono);flex:1;align-items:center;gap:8px;display:flex}.editor-filename>span{background:var(--border-2);border-radius:50%;width:7px;height:7px}.code-workbench{flex-direction:column;min-width:0;display:flex}.code-workbench>.editor-with-notes,.code-workbench>.run-panel{display:contents}.code-workbench .run-toolbar{border-bottom:1px solid var(--border-1);border-radius:14px 14px 0 0;order:0}.code-workbench>.editor-with-notes>.editor{border-top:0;border-radius:0 0 14px 14px;order:1}.code-workbench .editor-line-notes{order:2;margin-top:16px}.code-workbench .run-output-grid{order:3;margin-top:16px}.workbench{flex-direction:column;gap:16px;min-width:0;display:flex}.workbench>.editor-with-notes,.workbench>.run-panel{display:contents}.workbench .run-toolbar{border-radius:14px 14px 0 0;order:1;margin-bottom:-16px}.workbench .editor{border-top:0;border-radius:0 0 14px 14px;order:2}.workbench .editor-line-notes{order:3}.workbench .run-output-grid{order:4}.workbench>details,.workbench>.notice,.workbench>button{order:5}.run-output-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px;min-width:0;display:grid}.run-output-grid>.run-result,.run-output-grid>.run-expected{border:1px solid var(--border-1);background:var(--console-bg);border-radius:12px;min-width:0;margin:0;overflow:hidden}.run-output-grid .result-title{border-bottom:1px solid var(--border-1);color:var(--text-2);font:600 13px/18px var(--font-sans);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}.run-output-grid .result-title strong{font:inherit;flex:1}.run-output-grid .result-title>span{color:var(--text-3);font:400 12px/18px var(--font-mono)}.run-result-body{gap:10px;min-width:0;padding:12px 14px;display:grid}.run-result-body p{overflow-wrap:anywhere;font:400 14px/22px var(--font-sans);margin:0}.run-output-grid pre,.run-result-body pre{color:var(--text-1);white-space:pre-wrap;overflow-wrap:anywhere;font:400 14px/22px var(--font-mono);background:0 0;border:0;border-radius:0;margin:0;padding:0}.run-expected>pre{padding:12px 14px}.run-result-body .run-idle{color:var(--text-3)}.run-output-grid [data-state=compile],.run-output-grid [data-state=panic],.run-output-grid [data-state=error]{border-color:var(--danger)}.run-output-grid [data-state=compile] .result-title,.run-output-grid [data-state=panic] .result-title,.run-output-grid [data-state=error] .result-title,.run-output-grid pre.stderr{color:var(--danger)}.run-output-grid [data-state=timeout],.run-output-grid [data-state=partial]{border-color:var(--warning)}.run-output-grid [data-state=timeout] .result-title,.run-output-grid [data-state=partial] .result-title{color:var(--warning)}.run-output-grid [data-state=success] .result-title{color:var(--success)}.run-output-grid [data-state=offline]{border:1px dashed var(--border-2)}.run-tests-title{font:600 15px/22px var(--font-sans);margin:4px 0 0}.run-result .test-result{background:var(--surface-2);border-radius:10px;min-width:0;padding:0}.run-result .test-result summary{overflow-wrap:anywhere;font:500 13px/20px var(--font-mono);cursor:pointer;padding:10px 12px}.run-result .test-result pre{padding:0 12px 12px;font-size:13px}.run-result .test-result.pass summary{color:var(--success)}.run-result .test-result.fail summary{color:var(--danger)}.run-spinner{animation:.9s linear infinite lesson-editor-spin}@keyframes lesson-editor-spin{to{transform:rotate(360deg)}}.lesson-layout .practice-card{min-width:0;box-shadow:none;background:0 0;border:0;margin:0;padding:0}.practice-columns{grid-template-columns:minmax(0,1fr);gap:28px;display:grid}.practice-statement,.practice-editor{flex-direction:column;gap:16px;min-width:0;display:flex}.practice-card .practice-statement .prose{max-width:68ch;font:400 17px/28px var(--font-sans)}.practice-example-wrap{border:1px solid var(--border-1);background:var(--surface-1);border-radius:12px;overflow:hidden}.practice-example{border-collapse:collapse;table-layout:fixed;width:100%}.practice-example th{text-align:left;color:var(--text-3);background:var(--surface-2);border-bottom:1px solid var(--border-1);font:500 12px/16px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;padding:8px 12px}.practice-example td{vertical-align:top;padding:10px 12px}.practice-example td pre{color:var(--text-1);white-space:pre-wrap;overflow-wrap:anywhere;font:400 13.5px/20px var(--font-mono);background:0 0;border:0;margin:0;padding:0}.practice-card .hints{flex-direction:column;align-items:flex-start;gap:10px;margin:0;display:flex}.practice-card .hints>button,.practice-solution>button{border:1px solid var(--border-2);background:var(--surface-1);width:auto;min-height:40px;color:var(--text-1);font:600 14px/20px var(--font-sans);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.practice-card .hints>.practice-hint{background:var(--accent-2-soft);font:400 15px/22px var(--font-sans);border:0;border-radius:12px;gap:12px;margin:0;padding:12px 14px;display:flex}.practice-hint>span:first-child{font:600 13px/22px var(--font-mono);color:var(--accent-2-text)}.practice-solution{border-top:1px solid var(--border-1);justify-items:start;gap:12px;padding-top:16px;display:grid}.practice-solution>p{font:400 14px/20px var(--font-sans);margin:0}.practice-solution>button:disabled{background:var(--surface-2);color:var(--text-3)}.practice-race,.practice-status{color:var(--warning);background:var(--warning-soft);font:600 12px/16px var(--font-mono);border-radius:6px;align-items:center;gap:6px;padding:5px 8px;display:inline-flex}.practice-status{background:var(--success-soft);color:var(--success)}.practice-open-tests{border:1px solid var(--border-1);background:var(--surface-1);font:500 14px/22px var(--font-sans);border-radius:12px;padding:12px 14px}.practice-open-tests pre{max-width:100%;overflow:auto}@media (width>=1280px){.lesson-layout .practice-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px}.practice-editor .editor-playground{display:none}}@media (width<=600px){.run-toolbar{gap:2px;padding-left:10px}.run-toolbar button,.run-toolbar a{min-height:40px;padding:0 9px;font-size:13px}.editor-playground span,.run-panel-check .editor-playground,.run-panel-check .run-toolbar>button[aria-label=Копировать]{display:none}.editor .cm-editor{font-size:13px}.practice-card .practice-statement .prose{font-size:17px;line-height:28px}}@media (prefers-reduced-motion:reduce){.run-spinner{animation:none}}[data-font=large] .editor .cm-editor{font-size:16px;line-height:26px}[data-font=large] .editor .cm-scroller{line-height:26px}.lesson-layout{background:var(--bg);min-width:0;height:calc(100dvh - 64px);min-height:420px;color:var(--text-1);display:flex}.lesson-main{flex-direction:column;flex:1;min-width:0;display:flex}.lesson-layout.focus-mode{height:100dvh}.lesson-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lesson-layout button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.lesson-layout button.primary:hover{background:var(--accent-hover)}.lesson-offline{color:var(--warning);background:var(--warning-soft);border-bottom:1px solid var(--border-1);flex:none;align-items:center;gap:10px;padding:8px 16px;font-size:14px;line-height:20px;display:flex}.lesson-offline svg{flex:none}.lesson-scroll{flex:1;min-height:0;overflow:hidden auto}.lesson-content{flex-direction:column;gap:28px;width:100%;min-width:0;max-width:820px;margin:0 auto;padding:40px 48px 64px;display:flex;container-type:inline-size}.lesson-step-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.lesson-step-heading .eyebrow{font:500 12px/16px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text)}.lesson-step-heading h2{font:600 clamp(24px, 3.4cqi, 34px)/1.18 var(--font-sans);letter-spacing:-.02em;text-wrap:balance;margin-top:8px}.lesson-block-note{width:36px;min-height:36px;color:var(--text-3);background:0 0;border:0;flex:none;padding:0}.lesson-content .self-check{border:1px solid var(--border-1);background:var(--surface-2);border-radius:12px;padding:14px 18px}.lesson-content .self-check summary{font-size:15px}.lesson-content .self-check p{margin-top:12px;font-size:16px;line-height:25px}.lesson-footer{border-top:1px solid var(--border-1);background:var(--surface-1);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:14px 32px;display:flex}.lesson-footer button{border-radius:10px;min-height:44px;padding:0 16px;font-size:14px}.lesson-shortcuts{color:var(--text-3);align-items:center;gap:6px;font-size:12px;display:flex}.lesson-shortcuts kbd,.lesson-toolbar kbd{font:500 11px/1 var(--font-mono);border:1px solid var(--border-2);border-radius:5px;padding:4px 6px}.lesson-panel{border-left:1px solid var(--border-1);background:var(--surface-1);flex:none;width:min(400px,35vw);min-width:0;padding:20px;overflow:auto}.lesson-panel>.section-heading{margin-bottom:20px}.lesson-panel h3{font-size:18px}.lesson-panel .note{border-bottom:1px solid var(--border-1);padding:14px 0}.lesson-panel .note button{min-height:36px;margin-top:8px;padding:6px 10px;font-size:13px}.lesson-panel .note small{color:var(--text-3);font-size:12px}.lesson-layout.focus-mode>.lesson-main{width:100%}.lesson-layout .notice{flex:none}.modal:has(.lesson-route){border-radius:0;width:320px;max-width:90vw;height:100dvh;max-height:100dvh;margin:0;padding:0}.modal:has(.lesson-route) .modal-head{padding:12px 16px}.modal .lesson-route{border:0;width:100%;height:calc(100% - 70px)}@media (width>=1380px){.lesson-toolbar-options>button>span{display:inline}}@media (width<=1179px){.lesson-step-desktop-prefix{display:none}.lesson-content{max-width:820px;padding:32px 32px 56px}.lesson-panel{width:350px}}@media (width<=767px){.lesson-layout{height:100svh;min-height:0}.lesson-layout .lesson-toolbar{padding:0}.lesson-toolbar-row{flex-wrap:wrap;gap:4px;min-height:56px;padding:0 6px}.lesson-toolbar .lesson-route-toggle,.lesson-toolbar .lesson-bookmark,.lesson-toolbar .lesson-more{width:44px;min-height:44px;padding:0}.lesson-desktop-icon,.lesson-step-count,.lesson-stations{display:none}.lesson-phone-icon{display:block}.lesson-step-phone-meta{font:500 11px/14px var(--font-mono);color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;display:block}.lesson-step-picker{flex-direction:column;flex:1;justify-content:center;align-items:start;gap:0;height:56px;padding:0 4px}.lesson-step-picker strong{white-space:normal;font-size:15px;line-height:20px}.lesson-layout .lesson-more{display:inline-flex}.lesson-toolbar-options{display:none}.lesson-toolbar.is-more .lesson-toolbar-options{flex-wrap:wrap;order:5;gap:6px;width:100%;margin:0;padding:8px 10px 12px;display:flex}.lesson-toolbar.is-more .lesson-toolbar-options>button>span{display:inline}.lesson-toolbar .lesson-depth{flex:1 0 100%;width:100%}.lesson-depth button{flex:1;height:40px}.lesson-toolbar-divider{display:none}.lesson-phone-progress{gap:3px;padding:0 16px 10px;display:flex}.lesson-phone-progress span{background:var(--border-2);border-radius:2px;flex:1;height:4px}.lesson-phone-progress span.completed{background:var(--accent)}.lesson-phone-progress span.active{background:var(--accent-2)}.lesson-content{gap:24px;padding:24px 16px 40px}.lesson-step-heading h2{font-size:26px;line-height:31px}.lesson-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));gap:12px}.lesson-footer>button:first-child{width:48px;min-width:48px;padding:0}.lesson-footer>button:first-child>span,.lesson-shortcuts{display:none}.lesson-layout .lesson-footer>button.primary{flex:1;min-height:48px;font-size:15px}.lesson-panel{z-index:40;width:100%;max-height:calc(100dvh - 66px);padding-bottom:calc(24px + env(safe-area-inset-bottom));border:0;position:fixed;inset:66px 0 0}}@media (prefers-reduced-motion:reduce){.lesson-layout *,.lesson-layout :before,.lesson-layout :after{transition:none!important;animation:none!important}}.lesson-content[data-step=animation],.lesson-content[data-step=code],.lesson-content[data-step=compare],.lesson-content[data-step=internals],.lesson-content[data-step=cheatsheet]{max-width:1040px}.lesson-content[data-step=practice]{max-width:1240px}@media print{.lesson-layout{height:auto;display:block}.lesson-toolbar,.lesson-footer,.lesson-route,.lesson-panel,.paragraph-note{display:none!important}.lesson-scroll{overflow:visible}.lesson-content{max-width:none;padding:12px}}.lesson-layout.focus-mode>.lesson-panel{display:none}[data-font=large] .lesson-layout{--fs-read:20px;--lh-read:34px}.lesson-station-group:has([aria-current=step]) .lesson-zone-label{color:var(--accent-text)}.lesson-layout:not(.route-collapsed):not(.focus-mode) .lesson-route-toggle{display:none}.modal{border:1px solid var(--border-1);border-radius:var(--r-xl);background:var(--surface-1);color:var(--text-1);box-shadow:var(--shadow-lg);width:calc(100% - 32px);max-width:600px;max-height:calc(100dvh - 40px);animation:modal-enter var(--dur-2) var(--ease-out);margin:auto;padding:24px;overflow-y:auto}@keyframes modal-enter{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.modal::backdrop{background:var(--scrim);animation:gl-in var(--dur-2) var(--ease-out)}.modal-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.modal-head h2{font-size:1.25rem;line-height:26px}.modal-head button{background:0 0;border:0;width:44px;min-height:44px;padding:0;font-size:1.5rem}.modal>label{margin:16px 0}.modal p{font-size:.875rem}.modal>.primary,.modal>.danger{margin-top:20px}.modal:has(.confirmation-actions){max-width:440px}.modal:has(.command-input){max-width:560px;padding:16px}.modal:has(.command-input) .modal-head{margin-bottom:8px}.command-input{border-bottom:1px solid var(--border-1);flex-direction:row;align-items:center;gap:12px;padding:0 8px;display:flex}.command-input input{outline-offset:0;background:0 0;border:0;flex:1;min-width:0;padding:12px 0}.command-input input:focus{outline:none}.command-input:focus-within{box-shadow:0 2px 0 var(--focus)}.command-results{flex-direction:column;gap:8px;max-height:50dvh;display:flex;overflow-y:auto}.command-results .eyebrow{padding:16px 8px 8px}.command-results section{min-width:0}.command-results button{text-align:left;background:0 0;border:1px solid #0000;justify-content:flex-start;gap:12px;width:100%;min-height:60px;padding:10px;display:flex}.command-results button.selected{background:var(--accent-soft);border-color:var(--border-1)}.command-results button>div{flex:1;min-width:0}.command-results strong{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-size:.875rem}.command-results p{color:var(--text-2);margin:4px 0 0;font-size:.75rem;font-weight:400}.command-results .tag{font:.625rem/16px var(--font-mono)}.command-footer{border-top:1px solid var(--border-1);color:var(--text-3);flex-wrap:wrap;gap:16px;margin-top:16px;padding:12px 8px 0;font-size:.75rem;display:flex}.sync-items{flex-direction:column;gap:16px;margin-top:24px;display:flex}.sync-item{border:1px solid var(--border-1);border-radius:var(--r-lg);padding:16px}.sync-item .section-heading{margin-bottom:8px;font-size:.875rem}.sync-item>small{font-size:.75rem}.sync-item .button-row button,.conflict-resolution button{padding:8px 12px;font-size:.75rem}.sync-item details summary{font-size:.8125rem}.local-copy{max-height:180px;font-size:.75rem;overflow:auto}.conflict-resolution{border:1px dashed var(--warning);background:var(--warning-soft);border-radius:var(--r-md);margin:16px 0;padding:16px}.conflict-resolution button{margin:4px}.toast{z-index:100;background:var(--surface-inverse);color:var(--text-inverse);box-shadow:var(--shadow-md);border:1px solid var(--border-2);border-radius:var(--r-lg);max-width:calc(100% - 32px);animation:toast-enter var(--dur-2) var(--ease-out);align-items:center;gap:16px;padding:12px 16px;font-size:.875rem;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes toast-enter{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}.toast button{color:inherit;background:0 0;border:0;flex-shrink:0;width:44px;min-height:44px;padding:0;font-size:1.375rem}@media (width<=760px){.toast{bottom:calc(80px + env(safe-area-inset-bottom));width:max-content}.modal{max-height:calc(100dvh - 32px);padding:20px}.command-results .tag{display:none}}[data-font=large]{--fs-display:3rem;--lh-display:3.25rem;--fs-h1:2.25rem;--lh-h1:2.625rem;--fs-h2:1.75rem;--lh-h2:2.125rem;--fs-h3:1.375rem;--lh-h3:1.75rem;--fs-h4:1.125rem;--lh-h4:1.5rem;--fs-read:1.125rem;--lh-read:1.875rem;--fs-body:1rem;--lh-body:1.5rem;--fs-sm:.875rem;--lh-sm:1.25rem;--fs-xs:.8125rem;--lh-xs:1.125rem;--fs-code:.875rem;--lh-code:1.375rem;font-size:18px}[data-theme=dark] .analogy-box,[data-theme=dark] .self-check{border-color:#315d6a}[data-theme=dark] .test-result.pass summary{color:#9ed7b4}[data-theme=dark] .test-result.fail summary{color:#f4b2bb}@media (width<=1000px){.mini-gopher{display:none}}@media (width<=760px){.goals li{gap:10px;font-size:.92rem}.prose{font-size:1rem;line-height:1.95}.practice-card{padding:18px 14px}.practice-card .section-heading{flex-direction:column;align-items:flex-start;gap:8px}.practice-card .two-col{grid-template-columns:1fr;gap:12px}.run-panel .button-row>*{min-height:44px;padding:8px 12px;font-size:.72rem}.hints>button{min-height:44px;padding:8px 10px;font-size:.68rem}.mistake{padding:18px 16px}.self-check{padding:10px 14px}.self-check summary{font-size:.8rem}.flashcard{padding:10px 16px}.question legend{font-size:1rem;line-height:1.7}.order-list li{gap:8px;padding:8px}.order-list code{font-size:.72rem}.bug-lines{padding:7px}.bug-lines button{padding:8px 6px;font-size:.74rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media print{.app-sidebar,.topbar,.app-footer,.toast,button,.button{display:none!important}body{background:var(--bg)!important;color:var(--text-1)!important}.app-shell{display:block!important}.page-content{max-width:none!important;padding:0!important}.card{box-shadow:none;border:0;padding:12px}.certificate{break-inside:avoid}.prose{font-size:12pt}.modal{display:none}}button:not(.term),.button,.topbar .avatar{min-width:44px;min-height:44px}@media (width<=760px){.app-shell button:not(.term),.modal button{min-width:44px;min-height:44px}}.pill,.tabs button[aria-pressed=true],.tabs button[aria-selected=true],.analogy-box>strong{color:var(--accent-ink)}@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-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}
