@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,400;1,500&family=Golos+Text:wght@400;500;600;700&family=Manrope:wght@800&family=Plus+Jakarta+Sans:wght@700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap";@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,400;1,500&family=Golos+Text:wght@400;500;600;700&family=Manrope:wght@800&display=swap";@import "https://fonts.googleapis.com/css2?family=Onest:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@800&family=JetBrains+Mono:wght@400;500;600&family=Prata&display=swap";@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAn4ABMAAAAAEwQAAAmOAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjQbgnQcLj9IVkFSgQEGYD9TVEFUgQIAgQovahEICok0h0ULIAAwhzoBNgIkAzwEIAWHJgeBDgwHG6QQUdRKTmoBFD8K42bniObKrG3LZFcMWZzFmrjTFhQ6TVTqPJcInrfrvzq3b2PGn1wwMiNYGTy9ViREYARlL1zAGcPdPqBt3gNWrfKthv4xnM+b9caw+wmjgEUVRjHXhS6jgCK6zf5HiWQacJpGdAgdrbV6g/Rf1BfxRqZVQnrxRVWSJb6RLFnyu0elilmjeoSQCKnxsmwLaddUMjnksriSYuuPl06EAl7KfAiWQjCUETz0zNZ3EII94CDQtzkMfZ/9IkkY8tZRZTDky5ZVwBAM+GYpdd4ZVAWYImnLkiTg48l79gGx3D+VBtLeyg8u7bJAd4uo0pFuQBFysE9C95l0W4Fkiao6GfrDbu77lVU7wk9cV3uqOsXmQiMkhVKl1ugjzUAJBSIkkVWHijkpkVSyUFsgVBuJMA0N+ZnXtyUv5yMigGdfQRmwL1AAjQ3YXG6iIFNSUdPQo8+AISPGAltBMDQRAtyf4ZspLlZkpyOVoMZPvFGWzvk8p5SUC/NWPMj6T2/Yas2EdlON5GkfdkeFwVGjta825H89NIenlLWAPAp5h1KDtRhCaAQWMsFKtEvOKpIhgLHlXPARokkgEGEOAkqxJRQpKYq4ezahIiLHP6hZpqMbV0pUF2vdvEimLEQ/iIUYLgYWs0VXGVlLTOPdaPmFfCC/XrtzqVo1ez7vz6+Kd2+7o11ZJ+4MreLbB5BKVGxobAq4jZYalZ5aX2CKJiwUuc9GNJyi4M8bGyKcdjSRrG4JohdF8buJfmQefbYYREnMFsOoiNliFDVxmRgL0XUmUMLqzW0A4gCQAhWGYCQpFNukwXhIkPMsbRI19ewtw8Cp2Wj/Ro5cM2OTAbJAvZ/L4opBXb9+UHscYuOKM/W8isgwN26Exexjizmfnlp9dE3hOSqdZ/F5QqbckIlPb+oKfXxd6hftJ7Sm/uyPYpONza84CRlMNk/uhOrLpyf53982++zRkXNu3g3VF8qFbx1+7fbHZ9DrB3VXWNSmhnT2vrwS1+1Z+kHGBaZIhnnvuLBTNDeA340D1DWu5/jEa9pVfl6+Jij+yo3EELNixXCLjr173Q5eDP7Y7/L4iQFHbjpaJLFoP4cCsYP6sAPL7gMHNg53yYjqxqTDrYqLDl5DzW/eTLjYxCvucprjI3yl2ykKowKUC2Ox2FJLFo6Fa1HBWLC2jMCIIBEmklkYhmkpmBhTm/LCvJAH5oGcMKcgFEP1xUdho8ANPa6RFD99/PN60fjj9eXy2Eex4B5MpmRapXidzFk1p4uLk3+hn6jAP9ovJcXPPwk8o/0ltizbdbnTprvx4PSxT0VZ3Xc772aN7RflgbXRYwc3hLNO+k878nxGwfuVM8m8Gs7WEoVGWLHwSpx4vNSHBCMNqJ4m15Kp/TfHHVkQd++eY7PGN4W5byTs+6Ft8Ozvb/D60btv37de8ER0mS3P/0sLW84qGjEVkwztPzz06eGUWwKLwPb0D/WFd3vltl2aP276KpM0JNz6AfnAnZ5ADlF2zVyZ2OkxHSMxWPMnSZLbbDR3F1UjPVqp4d68da13F1YZujdWw7271iecO2l9+/4p47Oztjck355/75wFOI+VdGDqbNGs+ISgxg3iB2jb2r+b0CWsNLHIM4sdv8SDSFBP/Oromz6FNCWw2iMTxV0R8QLyBTkpe0j5+pSSJOOTB5Mck/gh3IopuNQnhKj02t3FL80gGbEh89SZcwTxcYt5cZT/nMnB3uXfPy8BSpVMBuRx+ZhACGzDBmwHsJRAjhotOnzuj2wDz3ug2wOUAY2NgZln9/TK/enG/oE4rO1wxvGUFMAxsZ0qNjRC7hl9d17e7imbgDt6uJXhUobDg7v3RX/yRCKxgMhfyiKcZfbpk0wmCcdQlIAOHeakXLvCNt++WfKiozNqSZxxJotn+c0a7DdPsx7DPYgKIDxwwYUZDg9aJbxocTjcwovr9WAsVV32mQoiiIOCHc60Oltst9qCQYuCqN1yHo0Kj60OgI2OqmiuBUWrNA0NDhYCDcdpmMrs1fZZ0xdTzMr1HdPtIHstYhqaPDDA5YxUDx7J4fJiisBSDI/L6G/bn34GNy8Q2g044ZTulAdFLb0tI6NNxfj3DzLjWiNGxje1pz7aXOcNV68lDPEd2SXl6VfBuwmHzdf1gxFy1HvA7pD8I2BnnmyGw852Cg5XbgIdEEGE5UCzen5jTlG6JCU5iajlxVcsXvbcS0SAcg1dcesWJLVK8+hYHOYQ+Pjy+EyVGXP0aPTFagrV9E03hCQvYx+g47KGq+1GsLj8uBIyihNw33YUe8PNC4BOJ3Lm1AglLV3nCuvUdIP+v15tVGbWIwgxLVpPkfpthCGpTKG+oA/DQfsKKvxhScqaN6FuElAUtTKv2UYgOmQegsN/n7njHUju8wM4VTcm+Q8xfX9SFwjTzdVqu95UOWSIGOabH8OGBEba//8Yxl3GcPdP/dMBOoSX/0z5SZmBoLbaPs+9asaMpb36yknKaw6FqWZa6A5vDa02mhkOba1q6KtLV208xrkwmW5C4VD6n2fvRjADy2qDYYnNy+H10Fq0LMbNzS863gkO7iQ8eC48/Ny5m59tOcEso3u7Qg3yrqDL6eKXwJAuWnhylfbWrRObe66rzX59+XDtzusnL66dI/86ArmtLlzED860Ef3bFPV78OX/zFTA11fcBn2Vntb7qiGBSgLBHyuv/uEaqqoTgSpOyjlzh86me1Vriv7i9rLPLvtghWmSnblRbAsBJL/4dScSQTBxOivHMO5QvBBY0iheJvfwWLxLOGzYKZyM4zVc2Cll46zEpeUV4MqGEWZj22SdOxhGAjgs9AEnfT+RoiMfcDb0GS5NncKVxju4Nt/mRk13O9Gz3FLct5oCD6wkwUNrCfHIUg6SMf8LwQGyVaBUqpLPW5BaMpRshEpl8nS1qw5dgnzlik8QBXmdy5UrIH74heTKZKMSilQso4hsRiGraQZRzxpNGqlEJMsXuAU7GlcR8mWSykUpVkWGyIf0a8v4qEQp5CtGsMiZa+4ESYQy+WilCiguHzxMXO54ogShooTV2bj2z1zL6DYSoImoQ8lFUWxMLBNQQgLkV2tHYgUoIbkuREz+fJHKxxWBcnvu3KQppFCxLkguB1NyVSp/TknRvNwYlCdbblWu3ze6owHdWluhE5tgQ6ej2SV65CijijoaRfSiH4Nqz1OpfEW+WeI/oU0ly60zkV9YzOQSYtZVEGYmrysTZAJkY4qZtIBD9/LYTIK7Nww3vMiYBwA=)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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.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{--ds-white:#fff;--ds-grey-50:#ebedf1;--ds-grey-100:#eaeff3;--ds-grey-200:#dbe3ea;--ds-grey-300:#a7b1b8;--ds-grey-400:#7d8893;--ds-grey-500:#5f6b75;--ds-grey-700:#494f56;--ds-grey-900:#393b42;--ds-grey-950:#323232;--ds-ink-700:#454c63;--ds-ink-800:#313646;--ds-ink-900:#232a37;--ds-ink-950:#13171f;--ds-orange-50:#fde7e1;--ds-orange-100:#ffe2d5;--ds-orange-200:#fdc3aa;--ds-orange-400:#fb713e;--ds-orange-500:#f63c18;--ds-orange-600:#e8240f;--ds-orange-700:#c2200c;--ds-orange-dim:#e3693d;--ds-blue-25:#f8fbfd;--ds-blue-50:#f3f7fb;--ds-blue-100:#dcebfa;--ds-blue-200:#cbe1f0;--ds-blue-300:#b3c9dc;--ds-blue-500:#84aed6;--ds-blue-600:#6794c8;--ds-blue-700:#317099;--ds-blue-800:#144e75;--ds-green-50:#ddefe3;--ds-green-100:#c5d9ca;--ds-green-200:#a6c8ae;--ds-green-500:#337d4d;--ds-green-700:#1d6137;--ds-red-50:#fff3f1;--ds-red-100:#ffe4e4;--ds-red-200:#fcd5d5;--ds-red-400:#d75656;--ds-yellow-50:#fff4e1;--ds-yellow-100:#ffe8ca;--ds-yellow-400:#de731e;--ds-violet-50:#eee9fd;--ds-violet-100:#e1dcf2;--ds-violet-200:#c8bde1;--ds-violet-300:#b9b1e1;--ds-violet-400:#887cb6;--ds-violet-500:#55487e;--ds-violet-600:#5b4bb8;--ds-font-ui:"Manrope Variable", "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ds-font-size-10:10px;--ds-font-size-11:11px;--ds-font-size-12:12px;--ds-font-size-14:14px;--ds-font-size-16:16px;--ds-font-size-18:18px;--ds-font-size-20:20px;--ds-font-size-28:28px;--ds-font-weight-regular:400;--ds-font-weight-medium:500;--ds-font-weight-semibold:600;--ds-line-height:1;--ds-letter-spacing-tight:-.02em;--ds-text-xxxs:var(--ds-font-weight-regular) var(--ds-font-size-10) / var(--ds-line-height) var(--ds-font-ui);--ds-text-xxs:var(--ds-font-weight-regular) var(--ds-font-size-11) / var(--ds-line-height) var(--ds-font-ui);--ds-text-xs:var(--ds-font-weight-regular) var(--ds-font-size-12) / var(--ds-line-height) var(--ds-font-ui);--ds-text-s:var(--ds-font-weight-medium) var(--ds-font-size-14) / var(--ds-line-height) var(--ds-font-ui);--ds-text-m:var(--ds-font-weight-medium) var(--ds-font-size-16) / var(--ds-line-height) var(--ds-font-ui);--ds-text-l:var(--ds-font-weight-semibold) var(--ds-font-size-18) / var(--ds-line-height) var(--ds-font-ui);--ds-text-xl:var(--ds-font-weight-semibold) var(--ds-font-size-20) / var(--ds-line-height) var(--ds-font-ui);--ds-text-h1:var(--ds-font-weight-semibold) var(--ds-font-size-28) / var(--ds-line-height) var(--ds-font-ui);--ds-radius-4:4px;--ds-radius-8:8px;--ds-radius-12:12px;--ds-radius-16:16px;--ds-radius-20:20px;--ds-radius-24:24px;--ds-radius-32:32px;--ds-radius-40:40px;--ds-space-4:4px;--ds-space-8:8px;--ds-space-12:12px;--ds-space-16:16px;--ds-space-24:24px;--ds-shadow-card:0 2px 4px 0 #cdd5dd40;--ds-shadow-media:0 12px 32px 0 #141a2459;--ds-glass-window-blur:24px;--ds-glass-window-shadow:0 0 12px 0 #32323233;--ds-glass-floating-blur:12px;--ds-glass-floating-shadow:2px 2px 12px 0 #94abbc40;--ds-glass-modal-blur:24px;--ds-glass-modal-shadow:0 12px 32px 0 #3232322e;--ds-surface-page:var(--ds-grey-50);--ds-surface-card:var(--ds-white);--ds-surface-glass:#ffffffe0;--ds-surface-window:var(--ds-blue-25);--ds-surface-raised:var(--ds-white);--ds-surface-sunken:var(--ds-grey-100);--ds-page-glow:#bdd2e19e;--ds-page-bg:radial-gradient(1500px 1150px at 86% -16%, var(--ds-page-glow), transparent 62%) no-repeat, var(--ds-surface-page);--ds-surface-overlay:#32323266;--ds-text-primary:var(--ds-grey-950);--ds-text-secondary:var(--ds-grey-500);--ds-text-muted:var(--ds-grey-400);--ds-text-on-primary:var(--ds-white);--ds-text-on-secondary:var(--ds-grey-900);--ds-text-disabled:var(--ds-grey-300);--ds-text-inverse:var(--ds-white);--ds-text-link:var(--ds-blue-700);--ds-text-danger:var(--ds-red-400);--ds-border-subtle:var(--ds-grey-200);--ds-border-strong:var(--ds-grey-300);--ds-border-focus:var(--ds-blue-500);--ds-action-primary:var(--ds-orange-400);--ds-action-primary-hover:var(--ds-orange-500);--ds-action-primary-active:var(--ds-orange-600);--ds-action-secondary:var(--ds-grey-100);--ds-action-secondary-hover:var(--ds-grey-200);--ds-action-secondary-active:var(--ds-grey-300);--ds-action-disabled:var(--ds-grey-50);--ds-action-text-hover:var(--ds-grey-400);--ds-status-success:var(--ds-green-500);--ds-status-warning:var(--ds-yellow-400);--ds-status-danger:var(--ds-red-400);--ds-status-info:var(--ds-blue-700);--ds-focus-ring:var(--ds-blue-500);--ds-tag-green-text:var(--ds-green-700);--ds-tag-green-bg:var(--ds-green-50);--ds-tag-green-stroke:var(--ds-green-100);--ds-tag-orange-text:var(--ds-orange-400);--ds-tag-orange-bg:var(--ds-orange-50);--ds-tag-orange-stroke:var(--ds-orange-200);--ds-tag-blue-text:var(--ds-blue-800);--ds-tag-blue-bg:var(--ds-blue-100);--ds-tag-blue-stroke:var(--ds-blue-200);--ds-tag-violet-text:var(--ds-violet-500);--ds-tag-violet-bg:var(--ds-violet-50);--ds-tag-violet-stroke:var(--ds-violet-100);--ds-tag-yellow-text:var(--ds-yellow-400);--ds-tag-yellow-bg:var(--ds-yellow-50);--ds-tag-yellow-stroke:var(--ds-yellow-100);--ds-tag-red-text:var(--ds-red-400);--ds-tag-red-bg:var(--ds-red-100);--ds-tag-red-stroke:var(--ds-red-200);--ds-tag-neutral-text:var(--ds-grey-500);--ds-tag-neutral-bg:var(--ds-grey-100);--ds-tag-neutral-stroke:var(--ds-grey-200);--ds-tag-inverse-text:var(--ds-white);--ds-tag-inverse-bg:var(--ds-grey-950);--ds-tag-inverse-stroke:transparent;--ds-chart-neutral:var(--ds-grey-200);--ds-chart-cool:var(--ds-blue-300);--ds-chart-accent:var(--ds-orange-400);--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.ds{font-family:var(--ds-font-ui);color:var(--ds-text-primary);font-optical-sizing:auto}@font-face{font-family:Cascadia Code;src:url(/fonts/CascadiaCode-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cascadia Code;src:url(/fonts/CascadiaCode-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:var(--ds-action-primary);--primary-hover:var(--ds-action-primary-hover);--primary-light:var(--ds-orange-50);--bg:var(--ds-surface-page);--bg-alt:var(--ds-grey-200);--surface:var(--ds-surface-card);--soft:var(--ds-surface-sunken);--border:var(--ds-border-subtle);--line:var(--ds-grey-100);--text:var(--ds-text-primary);--text-muted:var(--ds-grey-700);--text-heading:var(--ds-text-primary);--danger:var(--ds-status-danger);--success:var(--ds-status-success);--cool:var(--ds-grey-500);--cool-soft:var(--ds-grey-100);--accent-ink:#9b1b11;--ok:var(--ds-green-500);--ok-soft:var(--ds-green-50);--ok-glow:#337d4d6b;--bad:var(--ds-red-400);--bad-soft:var(--ds-red-100);--bad-glow:#d7565661;--field:#211f1b;--field-tx:#f4f2ee;--field-mute:#9a968d;--field-line:#ffffff1a;--ink-bg:#1c1b18;--ink-tx:#f4f2ee;--ink-mute:#97948d;--ink-line:#f4f2ee1a;--ink-hl:#ffffff0f;--ink-hl-2:#ffffff1a;--ink-hl-3:#ffffff29;--radius:var(--ds-radius-16);--r-lg:var(--ds-radius-20);--shadow:0 1px 2px #94abbc1a, 0 4px 12px -2px #94abbc1f, 0 18px 40px -16px #94abbc33;--shadow-lg:0 2px 4px #94abbc1f, 0 12px 32px -10px #94abbc47;--hover:#3232320d;--ease:cubic-bezier(.22, 1, .36, 1);--font-mono:"Cascadia Code", "Fira Code", "Courier New", monospace}.solve-page{max-width:760px}.solve-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);transition:border-color .35s var(--ease), box-shadow .35s var(--ease), transform .2s var(--ease);padding:26px 28px;position:relative}.solve-edge{background:var(--border);width:3px;transition:background .35s var(--ease), box-shadow .35s var(--ease);border-radius:999px;position:absolute;top:24px;bottom:24px;left:0}.solve-card.is-active{border-color:color-mix(in srgb, var(--primary) 45%, transparent);box-shadow:0 1px 2px #0000000a,0 14px 32px #e3702b1a}.solve-card.is-active .solve-edge{background:var(--primary)}.solve-card.is-correct{border-color:color-mix(in srgb, var(--ok) 45%, transparent)}.solve-card.is-correct .solve-edge{background:var(--ok);box-shadow:0 0 18px var(--ok-glow)}.solve-card.is-err{border-color:color-mix(in srgb, var(--bad) 50%, transparent)}.solve-card.is-err .solve-edge{background:var(--bad)}.solve-card.is-wrong{animation:solve-shake .42s var(--ease)}@keyframes solve-shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.solve-card.is-wrong{animation:none}}.solve-answer{background:var(--field);border:1px solid var(--field-line);transition:box-shadow .3s var(--ease), border-color .3s var(--ease);border-radius:14px;align-items:center;gap:10px;padding:5px 5px 5px 16px;display:flex}.solve-answer:focus-within{border-color:color-mix(in srgb, var(--primary) 60%, transparent);box-shadow:0 0 0 4px var(--primary-light)}.solve-answer input{min-width:0;color:var(--field-tx);background:0 0;border:0;outline:none;flex:1;padding:12px 0;font-family:inherit;font-size:15px;font-weight:500}.solve-answer input::placeholder{color:var(--field-mute)}.solve-answer input:read-only{color:var(--ok)}.solve-check{background:var(--primary);color:var(--ds-white);cursor:pointer;white-space:nowrap;transition:filter .25s ease, transform .2s var(--ease);border:0;border-radius:11px;align-items:center;gap:7px;padding:11px 18px;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex;box-shadow:0 6px 16px #e3702b47}.solve-check:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.solve-check:disabled{opacity:.5;cursor:not-allowed}.solve-check.is-done{background:var(--ok);box-shadow:0 6px 16px var(--ok-glow);cursor:default}.solve-check.is-done:hover{filter:none;transform:none}.solve-feedback{align-items:center;gap:9px;font-size:14px;font-weight:600;display:flex}.solve-feedback.ok{color:var(--ok)}.solve-feedback.bad{color:var(--bad)}.solve-feedback .fb-ico{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.solve-feedback.ok .fb-ico{background:var(--ok-soft)}.solve-feedback.bad .fb-ico{background:var(--bad-soft)}.solve-accordion{border-top:1px dashed var(--border);margin-top:16px}.solve-accordion-head{color:var(--accent-ink);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding-top:14px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.solve-accordion-head .chev{transition:transform .3s var(--ease);display:inline-flex}.solve-accordion.open .solve-accordion-head .chev{transform:rotate(90deg)}.solve-accordion-body{opacity:0;max-height:0;transition:max-height .45s var(--ease), opacity .3s ease, margin-top .3s ease;overflow:hidden}.solve-accordion.open .solve-accordion-body{opacity:1;max-height:1600px;margin-top:14px}.tag-chip.is-on{background:var(--primary);color:var(--ds-white);border-color:#0000}.dash-quick-row{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:28px;display:grid}.dash-quick-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);color:var(--text-heading);transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);align-items:center;gap:14px;padding:16px 18px;text-decoration:none;display:flex;position:relative}.dash-quick-card:hover{border-color:color-mix(in srgb, var(--primary) 35%, var(--border));box-shadow:var(--shadow-lg);transform:translateY(-2px)}.dash-quick-ico{background:var(--soft);width:42px;height:42px;color:var(--primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dash-quick-body{flex-direction:column;gap:2px;min-width:0;display:flex}.dash-quick-label{font-size:15px;font-weight:600}.dash-quick-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.dash-quick-badge{background:var(--primary);min-width:22px;height:22px;color:var(--ds-white);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex;position:absolute;top:12px;right:14px}.dash-review-list{flex-direction:column;gap:8px;display:flex}.dash-review-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-heading);transition:background .2s var(--ease), border-color .2s var(--ease);align-items:center;gap:14px;padding:14px 16px;text-decoration:none;display:flex}.dash-review-item:hover{background:var(--soft);border-color:color-mix(in srgb, var(--primary) 30%, var(--border))}.dash-review-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dash-review-title{font-size:14.5px;font-weight:600}.dash-review-meta{color:var(--text-muted);font-size:12.5px}.dash-review-cta{color:var(--accent-ink);flex-shrink:0;font-size:13px;font-weight:600}*{scrollbar-width:thin;scrollbar-color:var(--ds-grey-300) var(--ds-grey-50)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--ds-grey-50);border-radius:3px}::-webkit-scrollbar-thumb{background:var(--ds-grey-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--ds-grey-400)}::-webkit-scrollbar-corner{background:var(--ds-grey-50)}html{background:var(--ds-page-bg);background-attachment:fixed}body{font-family:var(--ds-font-ui);color:var(--text);-webkit-font-smoothing:antialiased;background:0 0;line-height:1.6;transition:background-color .35s,color .35s}h1{font:var(--ds-text-h1);letter-spacing:var(--ds-letter-spacing-tight);color:var(--text-heading)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:none}.navbar,.card,.player-sidebar,.player-module,.player-module-header,.player-lesson-btn,.player-main,.btn,input,textarea,select{transition:background-color .35s,border-color .35s,color .35s}.navbar{z-index:100;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:18px 32px 10px;display:flex;position:sticky;top:0}.navbar:before{content:"";background:linear-gradient(180deg, var(--bg) 62%, transparent);pointer-events:none;z-index:-1;transition:background-color .35s;position:absolute;inset:0}.pill-nav{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:999px;align-items:center;padding:5px;transition:background-color .35s,border-color .35s;display:inline-flex}.nav-item{color:var(--text);white-space:nowrap;cursor:pointer;transition:background .25s var(--ease), color .25s var(--ease);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none}.nav-item:hover{background:var(--soft);color:var(--text);text-decoration:none}.nav-item.active{background:var(--ink-bg);color:var(--ink-tx)}.navbar-logo{color:var(--text-heading);gap:8px;padding:8px 18px 8px 14px;text-decoration:none}.navbar-logo:hover{text-decoration:none}.navbar-logo-mark{transition:transform .4s var(--ease);flex-shrink:0}.navbar-logo:hover .navbar-logo-mark{transform:rotate(-12deg)}.navbar-logo-word{font-family:"Manrope", var(--ds-font-ui);letter-spacing:-.02em;font-size:16px;font-weight:800}.navbar-center{scrollbar-width:none;flex-shrink:1;overflow-x:auto}.navbar-center::-webkit-scrollbar{display:none}.navbar-side{align-items:center;gap:10px;display:flex}.tt-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;width:40px;height:40px;color:var(--text);border-radius:999px;justify-content:center;align-items:center;transition:background .25s,border-color .25s;display:inline-flex;position:relative;overflow:hidden}.tt-btn:hover{background:var(--soft)}.tt-btn .tt-sun,.tt-btn .tt-moon{transition:transform .45s var(--ease), opacity .35s ease;position:absolute}.tt-btn .tt-sun{opacity:1;transform:rotate(0)scale(1)}.tt-btn .tt-moon{opacity:0;transform:rotate(-90deg)scale(.6)}.btn-primary-sm{background:var(--primary);transition:background .15s, box-shadow .25s var(--ease);border-radius:999px;align-items:center;padding:9px 18px;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 1px 2px #0000000f,0 8px 20px #e3702b38;color:var(--ds-white)!important}.btn-primary-sm:hover{background:var(--primary-hover);text-decoration:none!important}.auth-shell{background:var(--bg);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;display:grid}.auth-hero{background:radial-gradient(120% 80% at 0% 0%, #e3702b8c 0%, transparent 55%), radial-gradient(100% 80% at 100% 100%, #38bdf859 0%, transparent 55%), linear-gradient(135deg, var(--primary) 0%, var(--primary) 55%, #3a1f0c 100%);color:var(--ds-white);align-items:center;padding:56px 56px 48px;display:flex;position:relative;overflow:hidden}.auth-hero-glow{pointer-events:none;filter:blur(20px);background:radial-gradient(circle,#ffffff2e 0%,#0000 65%);width:520px;height:520px;position:absolute;inset:-20% -20% auto auto}.auth-hero-inner{width:100%;max-width:480px;margin:0 auto;position:relative}.auth-brand{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:10px;margin-bottom:40px;padding:8px 14px;font-weight:600;display:inline-flex}.auth-brand-icon{font-size:1.15rem}.auth-brand-name{letter-spacing:.01em;font-size:.95rem}.auth-hero-title{font-family:var(--ds-font-ui);letter-spacing:-.01em;color:var(--ds-white);margin:0 0 20px;font-size:clamp(2.2rem,3.8vw,3.4rem);font-weight:600;line-height:1.05}.auth-hero-accent{background:linear-gradient(90deg,#fde68a 0%,#f5c49e 55%,#f9a8d4 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:500}.auth-hero-sub{color:#ffffffd1;max-width:420px;margin:0 0 36px;font-size:1.05rem;line-height:1.55}.auth-hero-features{grid-template-columns:1fr 1fr;gap:12px 18px;margin:0;padding:0;list-style:none;display:grid}.auth-hero-features li{color:#ffffffeb;align-items:center;gap:10px;font-size:.95rem;display:flex}.ahf-icon{background:#ffffff24;border:1px solid #fff3;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:inline-flex}.auth-main{background:var(--surface);justify-content:center;align-items:center;padding:48px 24px;display:flex}.auth-form-wrap{width:100%;max-width:420px}.auth-form-head{margin-bottom:28px}.auth-form-head h2{letter-spacing:-.01em;color:var(--text-heading);margin:0 0 6px;font-size:1.85rem;font-weight:700}.auth-form-head p{color:var(--text-muted);margin:0;font-size:.95rem}.auth-submit{box-shadow:0 6px 20px -8px var(--primary);margin-top:6px;transition:transform .15s,box-shadow .2s;padding:13px!important;font-size:1rem!important;font-weight:600!important}.auth-submit:hover:not(:disabled){box-shadow:0 10px 24px -8px var(--primary);transform:translateY(-1px)}.form-hint{color:var(--text-muted);margin-top:2px;font-size:.8rem}@media (width<=900px){.auth-shell{grid-template-columns:1fr}.auth-hero{min-height:auto;padding:40px 28px 32px}.auth-hero-title{font-size:clamp(1.6rem,6vw,2.2rem)}.auth-hero-sub{margin-bottom:24px}.auth-hero-features{grid-template-columns:1fr 1fr;gap:10px}.auth-main{padding:36px 20px}}@media (width<=520px){.auth-hero-features{grid-template-columns:1fr}}.auth-form{flex-direction:column;gap:16px;display:flex}.password-wrap{display:flex;position:relative}.password-wrap input{flex:1;padding-right:42px!important}.eye-btn{cursor:pointer;width:40px;color:var(--text-muted);background:0 0;border:none;border-radius:0 8px 8px 0;justify-content:center;align-items:center;font-size:1rem;transition:color .15s;display:flex;position:absolute;top:0;bottom:0;right:0}.eye-btn:hover{color:var(--text)}.auth-imm{z-index:50;background:radial-gradient(1500px 1150px at 86% -16%, #bdd2e19e, #bdd2e100 62%), var(--ds-surface-page);color:var(--ds-text-primary);font-family:var(--ds-font-ui);-webkit-font-smoothing:antialiased;position:fixed;inset:0;overflow:auto}.auth-imm .logo-v2{color:var(--ds-text-primary)}.auth-imm .logo-v2-spark{fill:var(--ds-action-primary)}.auth-imm-topbar{z-index:3;justify-content:space-between;align-items:center;padding:28px 36px;display:flex;position:absolute;top:0;left:0;right:0}.auth-imm-tagline{font:var(--ds-text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--ds-text-secondary);font-weight:var(--ds-font-weight-semibold)}.auth-imm-center{z-index:3;box-sizing:border-box;place-items:center;min-height:100%;padding:clamp(72px,10vh,120px) clamp(20px,4vw,40px) clamp(28px,6vh,56px);display:grid;position:relative}.auth-imm-card{box-sizing:border-box;background:var(--ds-surface-card);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-24);width:100%;max-width:440px;box-shadow:var(--ds-shadow-card);padding:clamp(28px,3vw,40px);animation:.4s both auth-imm-enter}@keyframes auth-imm-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.auth-imm-form{flex-direction:column;gap:18px;width:100%;display:flex}.auth-imm-head{flex-direction:column;gap:8px;margin-bottom:2px;display:flex}.auth-imm-title{font-family:var(--ds-font-ui);font-weight:var(--ds-font-weight-semibold);letter-spacing:var(--ds-letter-spacing-tight);color:var(--ds-text-primary);margin:0;font-size:clamp(26px,3.2vw,32px);line-height:1.1}.auth-imm-sub{color:var(--ds-text-secondary);font:var(--ds-text-s);margin:0}.auth-imm-group{flex-direction:column;gap:7px;display:flex}.auth-imm-group>label{font:var(--ds-text-s);font-weight:var(--ds-font-weight-medium);color:var(--ds-text-secondary)}.auth-imm-inputwrap{position:relative}.auth-imm-input{box-sizing:border-box;background:var(--ds-surface-card);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-16);width:100%;min-height:48px;color:var(--ds-text-primary);font:var(--ds-text-s);font-family:var(--ds-font-ui);outline:none;padding:12px 16px;transition:border-color .18s,box-shadow .18s}.auth-imm-input::placeholder{color:var(--ds-text-muted)}.auth-imm-input:focus-visible,.auth-imm-input:focus{outline:2px solid var(--ds-focus-ring);outline-offset:1px;border-color:#0000}.auth-imm-input.has-eye{padding-right:46px}.auth-imm-input.is-error{border-color:var(--ds-status-danger)}.auth-imm-input.is-error:focus{outline-color:var(--ds-status-danger)}.auth-imm-input:-webkit-autofill{-webkit-text-fill-color:var(--ds-text-primary);-webkit-box-shadow:0 0 0 1000px var(--ds-surface-card) inset;caret-color:var(--ds-text-primary)}.auth-imm-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ds-text-primary);-webkit-box-shadow:0 0 0 1000px var(--ds-surface-card) inset;caret-color:var(--ds-text-primary)}.auth-imm-eye{cursor:pointer;color:var(--ds-text-muted);border-radius:var(--ds-radius-8);background:0 0;border:none;padding:8px;line-height:0;transition:color .15s;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-imm-eye:hover{color:var(--ds-text-primary)}.auth-imm-eye:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:2px}.auth-imm-fieldnote{font:var(--ds-text-xs);color:var(--ds-text-secondary)}.auth-imm-fieldnote.is-error{color:var(--ds-status-danger)}.auth-imm-row{justify-content:space-between;align-items:center;margin-top:-2px;display:flex}.auth-imm-row-end{justify-content:flex-end}.auth-imm-link{color:var(--ds-text-secondary);font:var(--ds-text-s);cursor:pointer;font-family:var(--ds-font-ui);background:0 0;border:none;padding:0;text-decoration:none}.auth-imm-link:hover{color:var(--ds-text-primary)}.auth-imm-link:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:2px;border-radius:4px}.auth-imm-submit{border-radius:var(--ds-radius-16);background:var(--ds-action-primary);min-height:48px;color:var(--ds-text-on-primary);font:var(--ds-text-s);font-weight:var(--ds-font-weight-semibold);font-family:var(--ds-font-ui);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:12px 18px;transition:background-color .18s;display:flex}.auth-imm-submit:hover:not(:disabled){background:var(--ds-action-primary-hover)}.auth-imm-submit:hover:not(:disabled) .auth-imm-arrow{transform:translate(3px)}.auth-imm-submit:active:not(:disabled){background:var(--ds-action-primary-active)}.auth-imm-submit:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:2px}.auth-imm-submit:disabled{background:var(--ds-action-disabled);color:var(--ds-text-disabled);cursor:default}.auth-imm-arrow{transition:transform .25s}.auth-imm-spinner{border:2px solid #fff6;border-top-color:var(--ds-white);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite auth-imm-spin;display:inline-block}@keyframes auth-imm-spin{to{transform:rotate(360deg)}}.auth-imm-error{font:var(--ds-text-s);color:var(--ds-tag-red-text);background:var(--ds-tag-red-bg);border:1px solid var(--ds-tag-red-stroke);border-radius:var(--ds-radius-12);padding:10px 14px}.auth-imm-success,.auth-imm-refbadge{font:var(--ds-text-s);color:var(--ds-tag-green-text);background:var(--ds-tag-green-bg);border:1px solid var(--ds-tag-green-stroke);border-radius:var(--ds-radius-12);padding:12px 14px;line-height:1.5}.auth-imm-refbadge b{color:var(--ds-tag-green-text);font-weight:var(--ds-font-weight-semibold)}.auth-imm-foot{text-align:center;color:var(--ds-text-secondary);font:var(--ds-text-s);margin:4px 0 0}.auth-imm-foot a,.auth-imm-switch{color:var(--ds-text-primary);cursor:pointer;font-family:var(--ds-font-ui);font:var(--ds-text-s);font-weight:var(--ds-font-weight-semibold);background:0 0;border:none;padding:0;text-decoration:none}.auth-imm-foot a:hover,.auth-imm-switch:hover{color:var(--ds-action-primary)}.auth-imm-back{color:var(--ds-text-secondary);font:var(--ds-text-s);font-weight:var(--ds-font-weight-medium);cursor:pointer;font-family:var(--ds-font-ui);text-align:center;background:0 0;border:none;margin:4px auto 0;padding:0;text-decoration:none;display:block}.auth-imm-back:hover{color:var(--ds-text-primary)}@media (width<=520px){.auth-imm-topbar{padding:20px 22px}.auth-imm-tagline{display:none}}@media (prefers-reduced-motion:reduce){.auth-imm-card{animation:none}}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text);font-size:.875rem;font-weight:600}.form-group input,.form-group textarea{border:1.5px solid var(--border);color:var(--text-heading);background:var(--bg);resize:vertical;border-radius:8px;padding:10px 14px;font-family:inherit;font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);background:var(--surface);outline:none}.auth-footer{text-align:center;color:var(--text-muted);margin-top:20px;font-size:.9rem}.error-box{color:var(--danger);background:#faf0ec;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:.875rem}.field-error{color:var(--danger,#b3261e);margin-top:6px;font-size:.8rem}.success-box{color:#4e7563;background:#edf2ec;border:1px solid #d2e0d6;border-radius:8px;padding:10px 14px;font-size:.875rem}.auth-forgot-row{justify-content:flex-end;margin-top:6px;display:flex}.auth-forgot-link{color:var(--text-muted);font-size:.85rem;text-decoration:none}.auth-forgot-link:hover{color:var(--primary);text-decoration:underline}.auth-hint{color:var(--text-muted);text-align:center;margin-top:12px;font-size:.85rem}.page{max-width:1100px;margin:0 auto;padding:32px 24px}.dash-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;padding:4px 0 0;display:flex}.dash-hero-eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:500}.dash-hero-greeting{font-family:var(--ds-font-ui);letter-spacing:-.02em;color:var(--text-heading);font-size:clamp(2rem,4vw,3.2rem);font-weight:600;line-height:1.05}.dash-hero-sub{color:var(--text-muted);max-width:520px;margin-top:8px;font-size:1rem;line-height:1.6}.dash-hero-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;padding-bottom:4px;display:flex}.dash-hero-role{background:var(--soft);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:7px 16px;font-size:.85rem;font-weight:600;display:inline-flex}.dash-hero-cta{background:var(--primary);transition:transform .15s var(--ease), box-shadow .2s var(--ease), filter .2s ease;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:8px;max-width:320px;padding:11px 22px;font-size:.9rem;font-weight:600;display:inline-flex;overflow:hidden;box-shadow:0 4px 16px -6px #e3702b66;color:var(--ds-white)!important;text-decoration:none!important}.dash-hero-cta:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 8px 24px -6px #e3702b73}.dash-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px;display:grid}.dash-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);transition:box-shadow .2s var(--ease), transform .2s var(--ease);flex-direction:column;padding:20px;display:flex}.dash-stat:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.dash-stat-icon{background:var(--soft);width:36px;height:36px;color:var(--primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:14px;display:inline-flex}.dash-stat-body{min-width:0}.dash-stat-val{font-family:var(--ds-font-ui);letter-spacing:-.01em;color:var(--text-heading);font-size:2rem;font-weight:600;line-height:1}.dash-stat-lbl{color:var(--text-muted);margin-top:5px;font-size:.8rem}@media (width<=900px){.dash-stats{grid-template-columns:repeat(2,1fr)}.dash-hero{flex-direction:column;align-items:flex-start}.dash-hero-actions{align-items:flex-start;width:100%}}.dash-section{margin-bottom:28px}.dash-section-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.dash-section-head h2{color:var(--text-heading);letter-spacing:-.01em;font-size:1.1rem;font-weight:600}.dash-section-eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:3px;font-size:10px;font-weight:500}.hero-text h1{margin-bottom:6px}.hero-text p{opacity:.85;font-size:1rem}.hero-badge{background:#fff3;border-radius:20px;padding:8px 18px;font-size:.95rem;font-weight:600}.stats-row{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:32px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:4px;padding:20px 24px;display:flex}.stat-number{color:var(--primary);font-size:2rem;font-weight:700}.stat-label{color:var(--text-muted);font-size:.875rem}.section{margin-bottom:32px}.section-header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.section-header h2{color:var(--text-heading);font-size:1.35rem;font-weight:700}.badge-coming-soon{color:#a87623;background:#f4e8d2;border-radius:20px;padding:3px 10px;font-size:.75rem;font-weight:600}.courses-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.course-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);transition:box-shadow .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);height:100%;box-shadow:var(--shadow);flex-direction:column;gap:10px;padding:20px;display:flex}.course-card-link:hover .course-card,.course-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary);transform:translateY(-1px)}.card-enrolled{border-color:var(--primary)}.course-card-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.course-card-title{color:var(--text-heading);margin:0;font-size:1rem;font-weight:600}.course-card-footer{gap:8px;width:100%;margin-top:auto;display:flex}.course-card-footer>*{text-align:center;flex:1 1 0;justify-content:center;min-width:0}.course-card-cta{color:var(--primary);margin-top:auto;font-size:.85rem;font-weight:500}.level-badge{white-space:nowrap;border-radius:20px;width:fit-content;padding:2px 9px;font-size:.72rem;font-weight:600}.level-beginner{color:#4e6b5e;background:#e1e8e2}.level-intermediate{color:#8f641e;background:#f4e8d2}.level-advanced{color:#9d174d;background:#fce7f3}.pub-badge{white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:.7rem;font-weight:600}.pub-yes{color:#395546;background:#e1e8e2}.sc-online{align-items:center;gap:6px;display:inline-flex}.sc-online__dot{background:#22c55e;border-radius:50%;width:7px;height:7px;animation:1.6s ease-out infinite sc-online-pulse;box-shadow:0 0 #22c55e8c}@keyframes sc-online-pulse{0%{box-shadow:0 0 #22c55e8c}to{box-shadow:0 0 0 6px #22c55e00}}@media (prefers-reduced-motion:reduce){.sc-online__dot{animation:none}}.pub-no{color:#854d0e;background:#fef9c3}.course-category{color:var(--primary);background:var(--primary-light);border-radius:20px;width:fit-content;padding:2px 9px;font-size:.72rem;font-weight:600}.course-card h3{color:var(--text-heading);flex:1;font-size:1rem;font-weight:600}.course-meta{color:var(--text-muted);gap:16px;font-size:.8rem;display:flex}.profile-hint{background:var(--primary-light);color:var(--primary);border-radius:8px;align-items:center;gap:10px;padding:14px 20px;font-size:.9rem;display:flex}.profile-page{grid-template-columns:280px 1fr;align-items:start;gap:32px;display:grid}.tg-notify-card{margin-top:32px}.tg-connected-line{margin:0 0 12px}.tg-linking-line{color:var(--text-muted)}.tg-prefs{flex-direction:column;gap:8px;margin:4px 0 16px;display:flex}.tg-pref-row{cursor:pointer;align-items:center;gap:10px;font-size:.95rem;display:flex}.tg-pref-row input[type=checkbox]{accent-color:var(--primary);width:16px;height:16px}.profile-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);padding:32px 24px}.avatar-circle{background:linear-gradient(135deg, var(--primary), var(--primary));border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;margin:0 auto 16px;display:flex;overflow:hidden}.avatar-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.avatar-initials{color:var(--ds-white);font-size:2rem;font-weight:700}.profile-sidebar h2{color:var(--text-heading);font-size:1.2rem;font-weight:700}.profile-email{color:var(--text-muted);margin-top:4px;font-size:.875rem}.role-badge{background:var(--primary-light);color:var(--primary);border-radius:20px;margin-top:12px;padding:4px 14px;font-size:.8rem;font-weight:700;display:inline-block}.profile-since{color:var(--text-muted);margin-top:16px;font-size:.8rem}.profile-form-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px}.profile-form-section h2{color:var(--text-heading);margin-bottom:24px;font-size:1.35rem;font-weight:700}.spinner-center{justify-content:center;align-items:center;height:calc(100vh - 64px);display:flex}.spinner{border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.course-card-link{color:inherit;text-decoration:none;display:block}.course-card-link:hover .course-card{border-color:var(--primary);box-shadow:0 4px 20px #e3702b26}.course-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:.875rem;display:-webkit-box;overflow:hidden}.course-footer{margin-top:auto;padding-top:8px}.btn-outline-sm{color:var(--primary);font-size:.8rem;font-weight:600}.empty-state{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:center;gap:8px;padding:48px;font-size:1rem;display:flex}.empty-state span{font-size:2.5rem}.course-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.course-header h1{color:var(--text-heading);margin:8px 0}.course-description{color:var(--text-muted);max-width:640px;font-size:1rem}.course-meta-row{align-items:center;gap:12px;margin-top:12px;display:flex}.status-badge{border-radius:20px;padding:4px 12px;font-size:.8rem;font-weight:600}.status-badge.published{color:#4e7563;background:#edf2ec}.status-badge.draft{color:#a87623;background:#fefce8}.course-actions{flex-shrink:0;gap:8px;display:flex}.back-link{color:var(--text-muted);font-size:.875rem}.modules-list h2{color:var(--text-heading);margin-bottom:16px;font-size:1.35rem;font-weight:700}.module-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:8px;overflow:hidden}.module-header{cursor:pointer;width:100%;color:var(--text-heading);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:16px 20px;font-size:1rem;font-weight:600;transition:background .15s;display:flex}.module-header:hover{background:var(--bg)}.module-toggle{color:var(--text-muted);font-size:.8rem}.lessons-list{border-top:1px solid var(--border)}.lesson-item{color:var(--text);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 20px 12px 32px;font-size:.9rem;text-decoration:none;transition:background .15s;display:flex}.lesson-item:last-child{border-bottom:none}.lesson-item:hover:not(.muted){background:var(--primary-light);color:var(--primary)}.lesson-item.muted{color:var(--text-muted);cursor:default;font-style:italic}.lesson-duration{color:var(--text-muted);white-space:nowrap;font-size:.8rem}.lesson-page .lesson-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:16px;padding:40px}.lesson-header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.lesson-type-badge{background:var(--primary-light);color:var(--primary);border-radius:20px;padding:4px 12px;font-size:.8rem;font-weight:600}.lesson-page h1{color:var(--text-heading);margin-bottom:24px}.video-wrapper{border-radius:8px;margin-bottom:24px;overflow:hidden}.markdown-content{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:24px;font-size:.95rem;line-height:1.8}.progress-bar-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px;padding:16px 20px}.progress-bar-label{color:var(--text-muted);justify-content:space-between;margin-bottom:8px;font-size:.875rem;font-weight:600;display:flex}.progress-bar-track{background:var(--line);border-radius:999px;height:10px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--primary), var(--primary));border-radius:999px;height:100%;transition:width .4s}.enrolled-card{border-left:3px solid var(--primary)}.mini-progress{margin-top:12px}.mini-progress-track{background:var(--line);border-radius:999px;height:6px;margin-bottom:4px;overflow:hidden}.mini-progress-fill{background:linear-gradient(90deg, var(--primary), var(--primary));border-radius:999px;height:100%;transition:width .4s}.mini-progress-label{color:var(--text-muted);font-size:.78rem}.lesson-item.completed{color:var(--success)}.lesson-item.completed span{opacity:.7;text-decoration:line-through}.lesson-complete-section{margin-top:24px}.btn-success{background:var(--success);color:var(--ds-white);cursor:default;border:none;border-radius:8px;padding:10px 24px;font-size:.95rem;font-weight:600}.lesson-assessments{border-top:1px solid var(--border);margin-top:32px;padding-top:24px}.lesson-assessments h3{color:var(--text-heading);margin-bottom:16px;font-size:1.1rem;font-weight:700}.assessment-links{flex-wrap:wrap;gap:16px;display:flex}.assessment-card{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:200px;color:var(--text);flex:1;align-items:center;gap:16px;padding:16px 20px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.assessment-card:hover{border-color:var(--primary);box-shadow:var(--shadow);text-decoration:none}.challenge-card:hover{border-color:var(--primary)}.assessment-icon{font-size:2rem}.assessment-title{color:var(--text-heading);font-size:1rem;font-weight:700}.assessment-desc{color:var(--text-muted);margin-top:2px;font-size:.85rem}.quiz-page{max-width:780px}.quiz-title{color:var(--text-heading);margin-bottom:4px;font-size:1.8rem;font-weight:800}.quiz-meta{color:var(--text-muted);margin-bottom:28px;font-size:.9rem}.questions-list{flex-direction:column;gap:20px;display:flex}.question-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.question-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.question-num{color:var(--text-muted);font-size:.85rem;font-weight:700}.question-type-badge{background:var(--primary-light);color:var(--primary);border-radius:20px;padding:2px 10px;font-size:.75rem;font-weight:600}.question-text{color:var(--text-heading);margin-bottom:16px;font-size:1rem;font-weight:500}.options-list{flex-direction:column;gap:8px;display:flex}.option-btn{border:2px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text);text-align:left;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;font-size:.95rem;transition:border-color .12s,background .12s;display:flex}.option-btn:hover{border-color:var(--primary);background:var(--primary-light)}.option-btn.selected{border-color:var(--primary);background:var(--primary-light);color:var(--primary);font-weight:600}.option-indicator{min-width:18px;color:var(--primary);font-size:1rem}.text-answer-input{border:2px solid var(--border);border-radius:8px;width:100%;padding:12px 14px;font-family:inherit;font-size:.95rem;transition:border-color .12s}.text-answer-input:focus{border-color:var(--primary);outline:none}.quiz-actions{justify-content:center;margin-top:28px;display:flex}.btn-lg{padding:14px 40px;font-size:1rem}.catalog-filters{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.catalog-search{border:1.5px solid var(--border);background:var(--surface);min-width:200px;color:var(--text);border-radius:8px;flex:1;padding:9px 14px;font-family:inherit;font-size:.9rem;transition:border-color .15s,background .35s,color .35s}.catalog-level-filter{width:160px}.markdown-content h1{color:var(--text-heading);margin:1em 0 .5em;font-size:1.5rem;font-weight:700}.markdown-content h2{color:var(--text-heading);margin:1em 0 .4em;font-size:1.2rem;font-weight:700}.markdown-content h3{color:var(--text-heading);margin:.8em 0 .4em;font-size:1rem;font-weight:700}.markdown-content p{margin-bottom:.8em;line-height:1.7}.markdown-content li{margin-bottom:.3em;line-height:1.6}.markdown-content code{background:var(--soft);font-family:var(--font-mono);border-radius:4px;padding:2px 6px;font-size:.85em}.markdown-content pre{background:var(--ink-bg);color:var(--line);border-radius:8px;margin-bottom:.8em;padding:16px;overflow-x:auto}.markdown-content pre code{background:0 0;padding:0;font-size:.85rem}.markdown-content blockquote{border-left:4px solid var(--primary);color:var(--text-muted);margin:.8em 0;padding-left:16px;font-style:italic}.markdown-content strong{color:var(--text-heading);font-weight:700}.markdown-content hr{border:none;border-top:1px solid var(--border);margin:1.2em 0}.quiz-result-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);max-width:500px;margin:0 auto;padding:48px}.result-icon{border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 20px;font-size:2.2rem;font-weight:900;display:flex}.result-icon.pass{color:var(--success);background:#e1e8e2}.result-icon.fail{color:var(--danger);background:#f7e3dc}.quiz-result-card h2{color:var(--text-heading);margin-bottom:24px;font-size:1.5rem;font-weight:800}.score-circle{margin-bottom:28px}.score-number{color:var(--primary);font-size:3rem;font-weight:900;display:block}.score-label{color:var(--text-muted);font-size:.9rem}.quiz-breakdown{text-align:left;flex-direction:column;gap:10px;margin-top:24px;display:flex}.qr-item{border:1.5px solid var(--border);border-radius:10px;padding:14px 16px}.qr-item.correct{background:#edf2ec;border-color:#a9cdb8}.qr-item.wrong{background:#faf0ec;border-color:#e8a18d}.qr-header{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.qr-indicator{font-size:1rem;font-weight:800}.qr-item.correct .qr-indicator{color:var(--success)}.qr-item.wrong .qr-indicator{color:var(--danger)}.qr-num{color:var(--text-muted);white-space:nowrap;padding-top:2px;font-size:.78rem;font-weight:700}.qr-text{color:var(--text-heading);flex:1;font-size:.875rem;font-weight:500}.qr-details{flex-direction:column;gap:6px;margin-top:10px;padding-left:26px;display:flex}.qr-correct,.qr-selected{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qr-label{color:var(--text-muted);white-space:nowrap;font-size:.75rem;font-weight:700}.qr-answer{border-radius:20px;padding:3px 10px;font-size:.8rem;font-weight:500}.correct-answer{color:#43654f;background:#e1e8e2}.wrong-answer{color:#9e3a26;background:#f7e3dc}.challenge-page{max-width:900px}.challenge-header{margin-bottom:20px}.challenge-header h1{color:var(--text-heading);margin-bottom:8px}.challenge-meta{flex-wrap:wrap;gap:10px;display:flex}.lang-badge,.limit-badge{background:var(--primary-light);color:var(--primary);border-radius:20px;padding:4px 14px;font-size:.8rem;font-weight:600}.limit-badge{background:var(--soft);color:var(--text-muted)}.challenge-description{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:20px;font-size:.95rem;line-height:1.7}.test-cases-section{margin-bottom:24px}.test-cases-section h3{color:var(--text-heading);margin-bottom:12px;font-size:1rem;font-weight:700}.test-case{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:8px;padding:12px 16px;display:flex}.tc-num{color:var(--text-muted);font-size:.85rem;font-weight:700}.tc-row{font-size:.875rem}.tc-row code{background:var(--soft);border-radius:4px;padding:2px 8px;font-size:.85rem}.tc-pts{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:.8rem}.code-editor-section{margin-bottom:20px}.editor-toolbar{color:#a3a098;border-radius:var(--radius) var(--radius) 0 0;background:#26241f;justify-content:space-between;align-items:center;padding:8px 16px;font-size:.85rem;display:flex}.editor-label{font-weight:600}.editor-toolbar .btn-sm{color:var(--line);cursor:pointer;background:#3a372f;border:none;border-radius:6px;padding:4px 12px;font-size:.8rem}.editor-toolbar .btn-sm:hover{background:#475569}.code-editor{width:100%;font-family:var(--font-mono);background:var(--ink-bg);color:var(--line);border-radius:0 0 var(--radius) var(--radius);resize:vertical;tab-size:4;border:none;padding:16px;font-size:.9rem;line-height:1.6}.code-editor:focus{outline:none}.challenge-actions{justify-content:flex-start;margin-bottom:24px;display:flex}.submission-result{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.result-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.result-header h3{color:var(--text-heading);font-size:1.1rem;font-weight:700}.score-badge{border-radius:20px;padding:4px 16px;font-size:1rem;font-weight:700}.score-badge.pass{color:var(--success);background:#e1e8e2}.score-badge.fail{color:var(--danger);background:#f7e3dc}.tc-results{flex-direction:column;gap:8px;display:flex}.tc-result{border-radius:8px;padding:10px 14px;font-size:.9rem;font-weight:600}.tc-result.pass{color:#43654f;background:#e1e8e2}.tc-result.fail{color:#9e3a26;background:#f7e3dc}.actual-output{margin-top:6px;font-size:.85rem;font-weight:400}.actual-output code{background:#0000001a;border-radius:4px;padding:2px 8px}.muted{color:var(--text-muted);font-size:.9rem}.landing{overflow-x:hidden}.navbar-landing{background:0 0;border-bottom-color:#ffffff1f;width:100%;position:absolute}.navbar-landing .navbar-brand{color:var(--ds-white)}.navbar-landing .navbar-brand-text,.navbar-auth .navbar-brand-text{-webkit-text-fill-color:var(--ds-white);color:var(--ds-white);background:0 0}.navbar-landing .navbar-brand-icon,.navbar-auth .navbar-brand-icon{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:none;background:#ffffff2e;border:1px solid #ffffff40}.navbar-auth{z-index:10;background:0 0;border-bottom:none;width:100%;position:absolute}.navbar-auth .theme-toggle{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border-color:#ffffff40}.navbar-auth .theme-toggle .theme-toggle-icon{color:#ffffffe6}.navbar-landing-link{color:#ffffffe6!important}.navbar-landing-link:hover{color:var(--ds-white)!important}.landing-hero{background:linear-gradient(135deg, #8a4216 0%, var(--primary) 40%, var(--primary) 100%);flex-wrap:wrap;justify-content:center;align-items:center;gap:60px;min-height:100vh;padding:100px 40px 80px;display:flex;position:relative;overflow:hidden}.landing-hero:before{content:"";pointer-events:none;background:radial-gradient(at 20% 80%,#e3702b66 0%,#0000 50%),radial-gradient(at 80% 20%,#e3702b4d 0%,#0000 50%);position:absolute;inset:0}.landing-hero:after{content:"";background:linear-gradient(to bottom, transparent 0%, var(--surface) 100%);pointer-events:none;z-index:0;height:160px;position:absolute;bottom:0;left:0;right:0}.landing-hero-content{z-index:1;max-width:560px;position:relative}.landing-badge{color:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:1px solid #ffffff40;border-radius:999px;margin-bottom:24px;padding:6px 16px;font-size:.85rem;font-weight:600;display:inline-block}.landing-h1{letter-spacing:-.02em;color:var(--ds-white);margin-bottom:24px;font-size:clamp(2.6rem,6vw,4rem);font-weight:900;line-height:1.1}.landing-h1-accent{background:linear-gradient(90deg,#a5f3fc,#c4b5fd);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.landing-subtitle{color:#fffc;max-width:480px;margin-bottom:40px;font-size:1.1rem;line-height:1.7}.landing-cta{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.landing-social-proof{color:#ffffffd9;align-items:center;gap:14px;margin-top:28px;font-size:.9rem;display:flex}.lsp-avatars{display:inline-flex}.lsp-avatars span{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff2e;border:2px solid #ffffffb3;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-left:-8px;font-size:.95rem;display:inline-flex}.lsp-avatars span:first-child{margin-left:0}.lsp-text strong{color:#fde68a;letter-spacing:.04em;font-weight:700}.landing-btn-primary{background:var(--ds-white);border-radius:12px;padding:14px 32px;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-block;box-shadow:0 4px 20px #0003;color:var(--primary)!important;text-decoration:none!important}.landing-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #00000040}.landing-btn-ghost{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1.5px solid #ffffff4d;border-radius:12px;padding:14px 28px;font-size:1rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-block;color:#fffffff2!important;text-decoration:none!important}.landing-btn-ghost:hover{background:#fff3;border-color:#ffffff80}.landing-hero-visual{z-index:1;flex-shrink:0;width:380px;height:440px;position:relative}.hero-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff7;border-radius:16px;padding:18px 20px;position:absolute;box-shadow:0 20px 60px #00000040}.hero-card-1{width:320px;animation:4s ease-in-out infinite float1;top:0;left:0}.hc-header{align-items:center;gap:6px;margin-bottom:12px;display:flex}.hc-dot{border-radius:50%;width:10px;height:10px}.hc-dot.red{background:#ff5f57}.hc-dot.yellow{background:#ffbd2e}.hc-dot.green{background:#28ca41}.hc-title{color:#a3a098;margin-left:4px;font-family:monospace;font-size:.75rem}.hc-code{font-family:var(--font-mono);color:#26241f;background:var(--soft);white-space:pre;border-radius:8px;margin-bottom:10px;padding:12px;font-size:.72rem;line-height:1.6}.hc-result{color:#4e7563;background:#edf2ec;border-radius:6px;padding:6px 10px;font-size:.75rem;font-weight:700}.hero-card-2{width:240px;animation:4.5s ease-in-out infinite float2;bottom:40px;right:0}.hc-quiz-title{color:var(--text-muted);margin-bottom:8px;font-size:.72rem;font-weight:700}.hc-quiz-q{color:var(--ink-bg);margin-bottom:10px;font-size:.8rem;font-weight:600;line-height:1.4}.hc-opt{color:#3a372f;border:1.5px solid var(--line);border-radius:6px;margin-bottom:6px;padding:6px 10px;font-size:.75rem}.hc-opt.selected{border-color:var(--primary);color:var(--primary);background:#fbe9dc;font-weight:600}.hc-progress-bar{background:var(--line);border-radius:999px;height:4px;margin:10px 0 4px;overflow:hidden}.hc-progress-fill{background:var(--primary);border-radius:999px;height:100%}.hc-progress-label{color:#a3a098;font-size:.7rem}.hero-card-3{width:200px;animation:5s ease-in-out infinite float3;top:120px;right:20px}.hc-course-title{color:var(--ink-bg);margin-bottom:10px;font-size:.8rem;font-weight:700}.hc-lessons{flex-direction:column;gap:5px;margin-bottom:10px;display:flex}.hc-lesson{color:var(--text-muted);border-radius:4px;padding:4px 6px;font-size:.72rem}.hc-lesson.done{color:#4e7563}.hc-lesson.active{color:var(--primary);background:#fbe9dc;font-weight:700}.hc-course-bar{background:var(--line);border-radius:999px;height:5px;margin-bottom:4px;overflow:hidden}.hc-course-bar div{background:linear-gradient(90deg, var(--primary), var(--primary));border-radius:999px;height:100%}.hc-course-pct{color:#a3a098;font-size:.7rem}@keyframes float1{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes float2{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes float3{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.landing-section{background:var(--ds-white);padding:96px 40px}.landing-section-alt{background:var(--bg-alt);border-top:1px solid var(--border)}.landing-container{max-width:1100px;margin:0 auto}.landing-section-head{text-align:center;margin-bottom:56px}.landing-section-head h2{color:var(--text-heading);letter-spacing:-.02em;margin-bottom:12px;font-size:clamp(1.75rem,3.5vw,2.4rem);font-weight:800}.landing-section-head p{color:var(--text-muted);font-size:1.05rem}.features-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px;display:grid}.feature-card{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:28px 24px;transition:box-shadow .2s,transform .2s,border-color .2s}.feature-card:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:0 8px 30px #e3702b1f}.feature-icon-wrap{border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:18px;display:inline-flex;box-shadow:0 8px 20px -8px}.feature-icon{font-size:1.7rem;line-height:1}.feature-card h3{color:var(--text-heading);margin-bottom:8px;font-size:1.05rem;font-weight:700}.feature-card p{color:var(--text-muted);font-size:.9rem;line-height:1.6}.feature-from-indigo .feature-icon-wrap{background:linear-gradient(135deg, var(--primary), var(--primary));color:var(--primary)}.feature-from-pink .feature-icon-wrap{color:#ec4899;background:linear-gradient(135deg,#ec4899,#f43f5e)}.feature-from-cyan .feature-icon-wrap{color:#06b6d4;background:linear-gradient(135deg,#06b6d4,#3b82f6)}.feature-from-emerald .feature-icon-wrap{color:#10b981;background:linear-gradient(135deg,#10b981,#14b8a6)}.feature-from-amber .feature-icon-wrap{color:#c28b2d;background:linear-gradient(135deg,#c28b2d,#f97316)}.feature-from-fuchsia .feature-icon-wrap{color:#d946ef;background:linear-gradient(135deg,#d946ef,#a855f7)}.section-eyebrow{background:var(--primary-light);color:var(--primary);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;margin-bottom:16px;padding:4px 12px;font-size:.8rem;font-weight:700;display:inline-block}.steps-row{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:8px;display:flex}.step-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:16px;flex:1;min-width:220px;max-width:300px;padding:32px 24px;position:relative}.step-num{background:var(--primary);width:48px;height:48px;color:var(--ds-white);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;font-size:1.1rem;font-weight:800;display:inline-flex}.step-card h3{color:var(--text-heading);margin-bottom:8px;font-size:1rem;font-weight:700}.step-card p{color:var(--text-muted);font-size:.875rem;line-height:1.6}.step-arrow{color:var(--border);z-index:1;font-size:1.5rem;position:absolute;top:50%;right:-20px;transform:translateY(-50%)}.landing-footer{background:#0b1224;padding:24px 40px}.landing-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.landing-brand{color:var(--ds-white);font-size:1.1rem;font-weight:700}.landing-footer-copy{color:var(--text-muted);font-size:.82rem}@media (width<=900px){.landing-hero{padding:100px 24px 60px}.landing-hero-visual,.step-arrow{display:none}.steps-row{flex-direction:column;align-items:center}.step-card{width:100%;max-width:100%}}@media (width<=560px){.landing-social-proof{flex-direction:column;align-items:flex-start;gap:10px}}.edit-course-page{max-width:860px}.edit-course-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.edit-course-actions{gap:8px;display:flex}.btn{cursor:pointer;box-sizing:border-box;white-space:nowrap;border:none;border-radius:12px;justify-content:center;align-items:center;width:auto;padding:8px 18px;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.btn-primary{background:var(--primary);color:var(--ds-white);box-shadow:0 1px 2px #0000000f,0 8px 20px #e3702b38}.btn.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 1px 2px #0000000f,0 12px 28px #e3702b4d}.btn.btn-ghost{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn.btn-ghost:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn.btn-danger{background:var(--danger);color:var(--ds-white);border:none}.btn.btn-danger:hover:not(:disabled){background:#b5432c}.btn.btn-success{color:var(--ds-white);background:#4e7563;border:none}.btn.btn-success:hover:not(:disabled){background:#43654f}.btn.btn-sm{padding:6px 14px;font-size:.82rem}.btn.btn-sm-action{padding:7px 16px;font-size:.875rem}.btn.btn-lg{padding:13px 32px;font-size:1rem}.btn.btn-block{width:100%;padding:12px;font-size:1rem}.edit-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:24px}.edit-section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.edit-section-header h2{color:var(--text-heading);font-size:1.15rem;font-weight:700}.btn-icon{cursor:pointer;color:var(--primary);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:.875rem;font-weight:600;transition:background .15s}.btn-icon:hover{background:var(--primary-light)}.btn-icon-sm{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:.85rem;transition:all .15s}.btn-icon-sm:hover{color:var(--primary);background:var(--primary-light)}.btn-icon-sm.danger:hover{color:var(--danger);background:#f7e3dc}.edit-form{flex-direction:column;gap:14px;display:flex}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.form-input{border:1.5px solid var(--border);color:var(--text);background:var(--surface);border-radius:8px;width:100%;padding:9px 12px;font-family:inherit;font-size:.9rem;transition:border-color .15s,background .15s}.form-input:focus{border-color:var(--primary);background:var(--surface);outline:none}.form-select{appearance:none;cursor:pointer}.form-row-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}.inline-actions{gap:8px;margin-top:4px;display:flex}.btn-sm-action{padding:7px 16px;font-size:.875rem}.course-meta-preview{flex-direction:column;gap:8px;display:flex}.meta-row{color:var(--text);flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem;display:flex}.meta-key{color:var(--text-muted);min-width:80px;font-size:.8rem;font-weight:600}.empty-hint{text-align:center;color:var(--text-muted);background:var(--bg);border-radius:8px;padding:20px;font-size:.9rem}.edit-module{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin-bottom:10px;overflow:hidden}.edit-module-header{background:var(--soft);justify-content:space-between;align-items:center;padding:4px 4px 4px 0;display:flex}.module-toggle-btn{cursor:pointer;color:var(--text-heading);text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:12px 16px;font-size:.95rem;font-weight:600;display:flex}.toggle-arrow{color:var(--text-muted);font-size:.75rem}.mod-title{flex:1}.mod-actions{gap:4px;padding-right:8px;display:flex}.inline-input{border:1.5px solid var(--primary);color:var(--text-heading);background:var(--surface);border-radius:6px;flex:1;padding:4px 10px;font-size:.95rem;font-weight:600}.edit-lessons{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding:8px;display:flex}.edit-lesson{background:var(--bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.lesson-row{justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.lesson-row-info{flex-wrap:wrap;flex:1;align-items:center;gap:10px;display:flex}.lesson-type-icon{font-size:1rem}.lesson-row-title{color:var(--text-heading);font-size:.9rem;font-weight:500}.lesson-row-dur{color:var(--text-muted);font-size:.78rem}.lesson-row-actions{flex-shrink:0;gap:4px;display:flex}.lesson-assess-badges{gap:6px;display:flex}.assess-badge{white-space:nowrap;border-radius:20px;padding:2px 10px;font-size:.75rem;font-weight:600}.assess-badge.has{color:#4e7563;background:#edf2ec}.assess-badge.add{background:var(--primary-light);color:var(--primary);text-decoration:none;transition:background .15s}.assess-badge.add:hover{background:var(--primary-light);text-decoration:none}.assess-badge-del{cursor:pointer;color:var(--danger);background:#f7e3dc;border:none;border-radius:20px;padding:3px 8px;font-size:.75rem;font-weight:600;transition:background .15s}.assess-badge-del:hover{background:#e8a18d}.lesson-edit-form{flex-direction:column;gap:12px;padding:14px;display:flex}.add-lesson-btn,.add-mod-btn{border:2px dashed var(--border);width:100%;color:var(--text-muted);cursor:pointer;text-align:center;background:0 0;border-radius:8px;padding:10px;font-size:.875rem;transition:all .15s;display:block}.add-lesson-btn:hover,.add-mod-btn:hover{border-color:var(--primary);color:var(--primary)}.add-mod-btn{margin-top:10px}.add-lesson-form,.add-mod-form{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;padding:14px;display:flex}.add-content-block{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:12px;padding:16px;display:flex}.add-content-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;font-weight:600}.content-type-picker{flex-wrap:wrap;gap:10px;display:flex}.content-type-btn{background:var(--bg);border:1.5px solid var(--border);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:4px;min-width:80px;padding:12px 20px;transition:border-color .15s,background .15s,transform .15s;display:flex}.content-type-btn:hover{border-color:var(--primary);background:var(--primary-light,#fbe9dc);transform:translateY(-2px)}.ct-icon{font-size:1.4rem;line-height:1}.ct-label{color:var(--text-muted);font-size:.78rem;font-weight:600}.content-type-btn:hover .ct-label{color:var(--primary)}.cancel-add-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.85rem}.cancel-add-btn:hover{color:var(--text)}.add-type-header{align-items:center;gap:10px;margin-bottom:4px;display:flex}.back-type-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem}.back-type-btn:hover{text-decoration:underline}.add-type-label{font-size:.95rem;font-weight:600}.add-content-hint{color:var(--text-muted);font-size:.82rem;font-style:italic}.quiz-builder-page{max-width:860px}.page-title{color:var(--text-heading);margin-bottom:24px}.question-builder{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:20px}.qb-header{align-items:center;gap:10px;margin-bottom:14px;display:flex}.qb-num{color:var(--text-muted);font-size:.875rem;font-weight:700}.qb-type-select{flex-shrink:0;width:auto}.options-builder{flex-direction:column;gap:8px;display:flex}.option-builder-row{align-items:center;gap:10px;display:flex}.opt-radio{cursor:pointer;flex-shrink:0;width:16px;height:16px}.opt-text{flex:1}.add-option-btn{border:1px dashed var(--border);color:var(--primary);cursor:pointer;background:0 0;border-radius:8px;margin-top:4px;padding:8px 16px;font-size:.875rem;font-weight:600;transition:all .15s}.add-option-btn:hover{border-color:var(--primary);background:var(--primary-light)}.add-question-btn{border:2px dashed var(--border);border-radius:var(--radius);width:100%;color:var(--primary);cursor:pointer;background:0 0;margin-bottom:16px;padding:12px;font-size:.9rem;font-weight:600;transition:all .15s;display:block}.add-question-btn:hover{border-color:var(--primary);background:var(--primary-light)}.form-actions{justify-content:flex-start;display:flex}.challenge-builder-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden}.cb-section-header{border-bottom:1px solid var(--border);background:var(--soft);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.cb-section-title{color:var(--text-heading);font-size:.95rem;font-weight:700}.cb-section-hint{color:var(--text-muted);font-size:.8rem}.challenge-builder-section .editor-toolbar,.challenge-builder-section .code-editor{border-radius:0}.tc-builder{border-bottom:1px solid var(--border);padding:16px 20px}.tc-builder:last-of-type{border-bottom:none}.tc-builder-header{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.tc-builder-num{color:var(--text-muted);font-size:.85rem;font-weight:700}.tc-hidden-label{color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;font-size:.85rem;display:flex}.tc-points-group{align-items:center;gap:6px;margin:0;display:flex}.tc-pts-label{color:var(--text-muted);font-size:.85rem}.tc-io{font-family:var(--font-mono);font-size:.85rem}.challenge-builder-section .add-option-btn{margin:12px 20px 16px}.navbar-brand-group{align-items:center;gap:10px;display:flex}.theme-toggle{border:1.5px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;padding:4px 8px;font-size:.95rem;line-height:1;transition:border-color .2s,background .2s}.theme-toggle:hover{border-color:var(--primary);background:var(--hover)}.theme-toggle-icon{color:var(--text-muted);justify-content:center;align-items:center;transition:transform .4s,color .2s;display:flex}.theme-toggle:hover .theme-toggle-icon{color:var(--text)}.theme-toggle:active .theme-toggle-icon{transform:rotate(25deg)}.navbar-links .teacher-link{background:var(--primary);border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:.85rem;display:flex;color:var(--ds-white)!important}.navbar-links .teacher-link:hover{background:var(--primary-hover);text-decoration:none!important}.lesson-nav-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.lesson-prev-next{align-items:center;gap:10px;display:flex}.btn-pn{background:var(--surface);border:1.5px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:.875rem;font-weight:600;transition:all .15s}.btn-pn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-pn:disabled{opacity:.35;cursor:not-allowed}.lesson-counter{color:var(--text-muted);font-size:.85rem}.btn-outline-next{border:1.5px solid var(--primary);color:var(--primary);cursor:pointer;background:0 0;border-radius:8px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:all .15s}.btn-outline-next:hover{background:var(--primary);color:var(--ds-white)}.admin-page{max-width:900px}.admin-table-wrap{border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);overflow-x:auto}.admin-table{border-collapse:collapse;background:var(--surface);width:100%;font-size:.9rem}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--soft);border-bottom:1px solid var(--border);padding:12px 16px;font-size:.78rem;font-weight:700}.admin-table td{border-bottom:1px solid var(--border);padding:12px 16px}.admin-table tr:last-child td{border-bottom:none}.admin-table-self{background:var(--primary-light)}.admin-table-self td{font-weight:500}.role-chip{text-transform:uppercase;border-radius:20px;padding:3px 10px;font-size:.75rem;font-weight:700}.role-chip.role-student{background:var(--soft);color:var(--text-muted)}.role-chip.role-teacher{color:#a87623;background:#f4e8d2}.role-chip.role-admin{color:var(--danger);background:#f7e3dc}.admin-role-select{width:auto;padding:4px 8px;font-size:.85rem}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.admin-search{max-width:320px}.admin-search-count{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.purge-report{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.purge-report li{border-bottom:1px dashed var(--border);justify-content:space-between;gap:12px;padding:4px 0;font-size:.88rem;display:flex}.purge-report li:last-child{border-bottom:none}.purge-ok{color:var(--success,#4e7563)}.purge-err{color:var(--danger);font-weight:600}.lookup-row{gap:8px;display:flex}.lookup-row .form-input{flex:1}.add-mode-tabs{background:var(--bg);border:1px solid var(--border);border-radius:10px;gap:6px;margin-bottom:18px;padding:4px;display:flex}.add-mode-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:8px 12px;font-size:.88rem;font-weight:500;transition:background .15s,color .15s}.add-mode-tab:hover{background:var(--surface);color:var(--text)}.add-mode-tab.active{background:var(--primary);color:var(--ds-white)}.add-mode-hint{color:var(--text-muted);margin-bottom:14px;font-size:.85rem;line-height:1.5}.student-email{color:var(--text-muted);font-size:.85rem}.students-table-wrap{border-radius:var(--radius);border:1px solid var(--border);overflow-x:auto}.students-table{border-collapse:collapse;background:var(--surface);width:100%;font-size:.9rem}.students-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--soft);border-bottom:1px solid var(--border);padding:10px 14px;font-size:.75rem;font-weight:700}.students-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 14px}.students-table tr:last-child td{border-bottom:none}.student-name{color:var(--text);font-weight:600}.student-contacts{color:var(--text-muted);flex-direction:column;gap:2px;font-size:.82rem;display:flex}.price-cell{color:var(--primary);white-space:nowrap;font-weight:600}.notes-cell{text-overflow:ellipsis;white-space:nowrap;max-width:200px;color:var(--text-muted);font-size:.85rem;overflow:hidden}.row-actions{justify-content:flex-end;gap:6px;display:flex}.format-chip{border-radius:20px;padding:3px 10px;font-size:.75rem;font-weight:600}.format-chip.format-individual{color:#0369a1;background:#e0f2fe}.format-chip.format-group{color:#a87623;background:#f4e8d2}.format-chip.format-online{color:#047857;background:#d1fae5}.format-chip.format-offline{background:var(--soft);color:var(--text-muted)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);overscroll-behavior:contain;border-radius:16px;width:100%;max-width:520px;max-height:90vh;padding:28px;overflow-y:auto;box-shadow:0 25px 80px #00000059}.modal-title{margin-bottom:20px;font-size:1.2rem;font-weight:700}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.upcoming-sessions{flex-direction:column;gap:8px;display:flex}.upcoming-session-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:background .2s var(--ease), border-color .2s var(--ease);align-items:center;gap:16px;padding:14px 18px;display:flex}.upcoming-session-card:hover{background:var(--soft);border-color:#0000}.usc-date{background:var(--primary-light);border-radius:10px;flex-direction:column;align-items:center;min-width:46px;padding:8px 6px;display:flex}.usc-day{font-family:var(--ds-font-ui);color:var(--primary);font-size:1.5rem;font-weight:600;line-height:1}.usc-month{color:var(--primary);text-transform:uppercase;font-size:.68rem;font-weight:600}.usc-time{color:var(--text-muted);margin-top:2px;font-size:.72rem}.usc-body{flex:1;min-width:0}.usc-title{color:var(--text);margin-bottom:2px;font-size:.95rem;font-weight:600}.usc-meta{color:var(--text-muted);font-size:.8rem}.usc-status-badge{border-radius:20px;margin-top:5px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-block}.usc-status-badge.done{color:#4e7563;background:#5e8a7426}.usc-status-badge.cancelled{color:#b5432c;background:#c94f351f}.upcoming-session-card.usc-done{opacity:.75}.upcoming-session-card.usc-cancelled{opacity:.55}.usc-actions{flex-direction:column;flex-shrink:0;gap:5px;display:flex}.usc-action-btn{border:1.5px solid var(--border);cursor:pointer;width:30px;height:30px;color:var(--text-muted);background:0 0;border-radius:8px;justify-content:center;align-items:center;font-size:.85rem;transition:color .15s,background .15s,border-color .15s;display:flex}.usc-action-btn:hover{border-color:currentColor}.usc-action-btn.complete:hover{color:#4e7563;background:#5e8a741a}.usc-action-btn.complete.active{color:var(--ds-white);background:#5e8a74;border-color:#5e8a74}.usc-action-btn.reschedule:hover{color:var(--primary);background:var(--primary-light)}.usc-action-btn.cancel:hover{color:#b5432c;background:#c94f351a}.usc-action-btn.cancel.active{color:var(--ds-white);background:#c94f35;border-color:#c94f35}.dashboard-with-sidebar{grid-template-columns:1fr 300px;align-items:start;gap:28px;display:grid}.dash-main{min-width:0}.dash-cal-sidebar{position:sticky;top:80px}@media (width<=900px){.dashboard-with-sidebar{grid-template-columns:1fr}.dash-cal-sidebar{position:static}}.mini-cal-widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.mini-cal-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.mini-cal-month-label{color:var(--text-heading);font-size:.9rem;font-weight:700}.mini-cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.mini-cal-dayname{text-align:center;color:var(--text-muted);text-transform:uppercase;padding:4px 0 8px;font-size:.65rem;font-weight:600}.mini-cal-day{aspect-ratio:1;cursor:pointer;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;transition:background .12s;display:flex}.mini-cal-day:hover{background:var(--hover)}.mini-cal-day-num{color:var(--text);font-size:.82rem;line-height:1}.mini-cal-day.other-month .mini-cal-day-num{color:var(--text-muted);opacity:.35}.mini-cal-day.today{background:var(--primary-light)}.mini-cal-day.today .mini-cal-day-num{color:var(--primary);font-weight:700}.mini-cal-day.selected{background:var(--primary)}.mini-cal-day.selected .mini-cal-day-num{color:var(--ds-white);font-weight:700}.mini-cal-dot{background:var(--primary);border-radius:50%;width:4px;height:4px;margin-top:2px}.mini-cal-day.selected .mini-cal-dot{background:#ffffffbf}.mini-cal-day.other-month .mini-cal-dot{opacity:.3}.mini-cal-sessions{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;display:flex}.mini-cal-session-item{background:var(--bg);border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:.8rem;display:flex}.mini-cal-session-time{color:var(--primary);min-width:38px;font-weight:700}.mini-cal-session-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.mini-cal-session-student{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.mini-cal-empty{border-top:1px solid var(--border);color:var(--text-muted);text-align:center;margin-top:12px;padding-top:10px;font-size:.82rem}.page-topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.course-complete-banner{border-radius:var(--radius);background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border:1.5px solid #6ee7b7;align-items:center;gap:16px;margin-bottom:24px;padding:20px 24px;display:flex}.ccb-icon{font-size:2.5rem;line-height:1}.ccb-title{color:#065f46;margin-bottom:2px;font-size:1.1rem;font-weight:700}.ccb-sub{color:#047857;font-size:.875rem}.profile-stats{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:16px;display:grid}.profile-stat{background:var(--bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:12px 10px;display:flex}.profile-stat-value{color:var(--primary);font-size:1.4rem;font-weight:700}.profile-stat-label{color:var(--text-muted);text-align:center;font-size:.72rem}.task-bank-layout{grid-template-columns:220px 1fr;align-items:start;gap:24px;margin-top:20px;display:grid}@keyframes slideInLeft{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}.task-types-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:5px;padding:10px 8px;display:flex;position:sticky;top:80px}.task-types-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:2px 6px 8px;font-size:.7rem;font-weight:800}.task-type-item{text-align:left;background:var(--bg);border:1.5px solid var(--border);cursor:pointer;width:100%;color:var(--text);animation:.35s both slideInLeft;animation-delay:calc(var(--i,0) * 30ms);border-radius:9px;align-items:center;gap:8px;padding:8px 10px;font-size:.8rem;line-height:1.3;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s,border-color .18s,background .18s,color .18s;display:flex;position:relative;overflow:hidden}.task-type-item:before{content:"";background:var(--primary);opacity:0;border-radius:9px 0 0 9px;width:3px;transition:opacity .18s;position:absolute;top:0;bottom:0;left:0}.task-type-item:hover{border-color:var(--primary);background:var(--surface);color:var(--primary);transform:translateY(-2px)translate(2px);box-shadow:0 4px 16px #e3702b26}.task-type-item:hover:before{opacity:1}.task-type-item.active{background:linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);border-color:var(--primary);color:var(--ds-white);font-weight:600;transform:translate(3px);box-shadow:0 4px 20px #e3702b59}.task-type-item.active:before{opacity:0}.task-type-item.active .ttype-num{color:#ffffffbf}.task-type-item:active{transform:scale(.97)}.ttype-num{min-width:24px;color:var(--primary);background:var(--primary-light,#fbe9dc);text-align:center;border-radius:4px;flex-shrink:0;padding:1px 4px;font-size:.72rem;font-weight:800;transition:color .18s,background .18s}.task-type-item.active .ttype-num{color:var(--ds-white);background:#fff3}.task-type-item:hover:not(.active) .ttype-num{background:#e3702b26}.ttype-name{color:inherit;flex:1}.ttype-all-icon{flex-shrink:0;font-size:.9rem;transition:transform .2s}.task-type-item:hover .ttype-all-icon{transform:rotate(20deg)scale(1.2)}.task-list-area{min-width:0}.task-filters{gap:10px;margin-bottom:16px;display:flex}.catalog-search{border:1.5px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;flex:1;padding:8px 14px;font-size:.9rem}.catalog-search:focus{border-color:var(--primary);outline:none}.catalog-level-filter{min-width:140px}.task-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.task-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);flex-direction:column;gap:8px;padding:16px;text-decoration:none;transition:border-color .2s,box-shadow .2s;display:flex}.task-card:hover{border-color:var(--primary);box-shadow:0 2px 12px #e3702b1f}.task-card-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.task-type-badge{background:var(--primary-light,#fbe9dc);color:var(--primary);border-radius:20px;padding:2px 8px;font-size:.75rem;font-weight:600}.task-card-title{font-size:.92rem;font-weight:600;line-height:1.4}.task-card-meta{flex-wrap:wrap;gap:8px;display:flex}.task-meta-tag{color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:2px 8px;font-size:.75rem}.diff-badge{border-radius:20px;padding:2px 8px;font-size:.72rem;font-weight:700}.diff-easy{color:#4e7563;background:#e1e8e2}.diff-medium{color:#8f641e;background:#fef9c3}.diff-hard{color:#b5432c;background:#f7e3dc}.diff-very-hard{color:#7e1d12;background:#f3d2cc}.task-bank-sidebar-filters{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.task-bank-sidebar-search{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);box-sizing:border-box;border-radius:6px;padding:6px 10px;font-size:.82rem}.task-bank-sidebar-search:focus{border-color:var(--primary);outline:none}.task-bank-sidebar-diff{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:6px;padding:5px 8px;font-size:.82rem}.task-bank-type-num{color:var(--primary);background:var(--primary-light,#fbe9dc);border-radius:4px;flex-shrink:0;margin-right:4px;padding:0 4px;font-size:.68rem;font-weight:700}.task-bank-type-loading,.task-bank-type-empty{color:var(--text-muted);padding:8px 16px;font-size:.8rem;font-style:italic}.task-diff-dot{background:0 0!important;font-size:.55rem!important}.task-diff-dot.diff-easy{color:#4e7563}.task-diff-dot.diff-medium{color:#8f641e}.task-diff-dot.diff-hard{color:#b5432c}.task-diff-dot.diff-very-hard{color:#7e1d12}.task-solve-page{max-width:800px}.task-solve-header{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.back-link{color:var(--text-muted);font-size:.875rem;text-decoration:none}.back-link:hover{color:var(--primary)}.task-solve-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.task-topic-label{color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:2px 8px;font-size:.8rem}.task-solve-title{margin-bottom:16px;font-size:1.3rem;font-weight:700}.task-content-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:24px}.markdown-content{font-size:.95rem;line-height:1.7}.markdown-content p{margin:0 0 12px}.markdown-content ul,.markdown-content ol{margin-bottom:12px;padding-left:20px}.markdown-content code{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-family:monospace;font-size:.88em}.markdown-content pre{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-bottom:12px;padding:16px;overflow-x:auto}.markdown-content pre code{background:0 0;border:none;padding:0}.task-files-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.task-file-link{border:1px solid var(--primary);color:var(--primary);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s;display:inline-flex}.task-file-link:hover{background:var(--primary);color:var(--ds-white)}.task-answer-section{flex-direction:column;gap:12px;display:flex}.task-answer-row{gap:10px;display:flex}.task-answer-input{flex:1}.task-subtasks{flex-direction:column;gap:16px;display:flex}.task-subq{border:1.5px solid var(--border);background:var(--surface-2,var(--surface));border-radius:10px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.task-subq-text{margin-bottom:4px;font-size:.95rem;line-height:1.5}.result-breakdown{flex-direction:column;gap:6px;margin-top:8px;display:flex}.result-part{border-left:3px solid #0000;border-radius:8px;padding:6px 10px;font-size:.9rem}.result-part.part-correct{background:#22c55e1a;border-left-color:#22c55e}.result-part.part-wrong{background:#ef44441a;border-left-color:#ef4444}.task-help-row{flex-wrap:wrap;gap:10px;display:flex}.task-help-btn{border:1.5px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:6px 14px;font-size:.875rem;transition:border-color .15s}.task-help-btn:hover{border-color:var(--primary);color:var(--primary)}.task-hint-box{background:#fefce8;border:1.5px solid #fde047;border-radius:10px;padding:14px 18px}.task-hint-box p{margin:6px 0 0;font-size:.9rem}.task-solution-box{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:16px 20px}.task-result-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:12px;padding:24px;display:flex}.result-correct{background:#edf2ec;border-color:#a9cdb8}.result-wrong{background:#fff5f5;border-color:#e8a18d}.result-icon{font-size:2rem}.result-title{font-size:1.1rem;font-weight:700}.result-answer{color:var(--text-muted);margin-top:4px;font-size:.9rem}.result-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.recs-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:28px;padding:20px}.recs-title{margin-bottom:12px;font-weight:700}.recs-list{flex-direction:column;gap:8px;display:flex}.rec-card{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;flex-direction:column;gap:2px;padding:10px 14px;text-decoration:none;transition:border-color .15s;display:flex}.rec-card:hover{border-color:var(--primary)}.rec-type{color:var(--text-muted);font-size:.75rem}.rec-title{font-size:.9rem;font-weight:600}.task-editor-form{flex-direction:column;gap:18px;margin-top:16px;display:flex}.task-content-area{resize:vertical;min-height:180px;font-family:monospace;font-size:.88rem}.form-hint{color:var(--text-muted);font-size:.78rem;font-weight:400}.form-check-row{align-items:center;display:flex}.form-check-label{cursor:pointer;align-items:center;gap:8px;font-size:.9rem;display:flex}.form-check-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.form-error{color:#b5432c;background:#f7e3dc;border:1px solid #e8a18d;border-radius:8px;padding:10px 14px;font-size:.875rem}.form-actions{justify-content:flex-end;gap:10px;display:flex}.variants-list{flex-direction:column;gap:12px;display:flex}.variant-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.variant-card-info{flex:1;min-width:0}.variant-card-title{margin-bottom:4px;font-size:1rem;font-weight:600}.variant-card-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;display:flex}.variant-score{color:#4e7563;font-weight:600}.variant-in-progress{color:var(--primary);font-weight:600}.variant-solve-page{max-width:1100px}.variant-header{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;display:flex}.variant-title{flex:1;font-size:1.2rem;font-weight:700}.variant-progress-label{color:var(--text-muted);white-space:nowrap;font-size:.875rem}.variant-layout{grid-template-columns:200px 1fr;align-items:start;gap:24px;display:grid}.variant-nav{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;position:sticky;top:80px}.variant-nav-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:12px;font-size:.75rem;font-weight:700}.variant-nav-grid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.variant-nav-btn{aspect-ratio:1;border:1.5px solid var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:6px;font-size:.8rem;font-weight:600;transition:all .15s}.variant-nav-btn:hover{border-color:var(--primary);color:var(--primary)}.variant-nav-btn.answered{color:#4e7563;background:#e1e8e2;border-color:#a9cdb8}.variant-nav-btn.active,.variant-nav-btn.active.answered{background:var(--primary);border-color:var(--primary);color:var(--ds-white)}.variant-task-area{min-width:0}.variant-task-meta{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.variant-task-title{margin-bottom:14px;font-size:1.1rem;font-weight:700}.variant-task-nav{justify-content:space-between;margin-top:20px;display:flex}.variant-results-header{text-align:center;padding:32px 0 24px}.variant-results-header h1{margin-bottom:16px}.variant-score-big{justify-content:center;align-items:baseline;gap:6px;display:flex}.score-number{color:var(--primary);font-size:3rem;font-weight:800}.score-sep{color:var(--text-muted);font-size:2rem}.score-max{color:var(--text-muted);font-size:1.8rem;font-weight:700}.score-pct{color:var(--text-muted);margin-left:4px;font-size:1.1rem}.variant-results-list{flex-direction:column;gap:8px;margin:24px 0;display:flex}.variant-result-row{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;grid-template-columns:140px 1fr auto 48px;align-items:center;gap:12px;padding:12px 16px;display:grid}.row-correct{border-color:#a9cdb8}.row-wrong{border-color:#e8a18d}.vr-num{align-items:center;gap:6px;display:flex}.vr-icon{font-size:1.1rem}.vr-type{color:var(--text-muted);font-size:.8rem;font-weight:600}.vr-title{font-size:.88rem;font-weight:600}.vr-answers{flex-direction:column;gap:2px;font-size:.8rem;display:flex}.vr-your{color:var(--text-muted)}.vr-correct{color:#4e7563;font-weight:600}.vr-score{color:var(--primary);text-align:right;font-size:.9rem;font-weight:700}.variant-results-actions{flex-wrap:wrap;justify-content:center;gap:10px;padding:16px 0 40px;display:flex}.stats-summary-row{grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0;display:grid}.stats-summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:20px 16px}.stats-sum-value{color:var(--primary);margin-bottom:6px;font-size:1.8rem;font-weight:800;line-height:1}.stats-sum-value span{color:var(--text-muted);font-size:1.1rem;font-weight:500}.stats-sum-label{color:var(--text-muted);font-size:.8rem}.stats-layout{grid-template-columns:1fr 280px;align-items:start;gap:24px;display:grid}.stats-main{min-width:0}.stats-type-list{flex-direction:column;gap:6px;display:flex}.stats-type-row{background:var(--surface);border:1px solid var(--border);border-radius:8px;grid-template-columns:36px 1fr 60px 80px;align-items:center;gap:10px;padding:10px 12px;display:grid}.stats-type-num{color:var(--primary);font-size:.8rem;font-weight:700}.stats-type-info{min-width:0}.stats-type-topic{white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:.82rem;font-weight:600;overflow:hidden}.stats-bar-wrap{align-items:center;gap:8px;display:flex}.stats-bar-track{background:var(--bg);border-radius:3px;flex:1;height:6px;overflow:hidden}.stats-bar-fill{border-radius:3px;height:100%;transition:width .4s}.stats-bar-label{text-align:right;min-width:32px;font-size:.75rem;font-weight:700}.stats-type-counts{color:var(--text-muted);text-align:right;font-size:.8rem}.stats-not-started{color:var(--border)}.stats-type-link{color:var(--primary);white-space:nowrap;font-size:.75rem;text-decoration:none}.stats-type-link:hover{text-decoration:underline}.stats-sidebar{position:sticky;top:20px}.stats-recs-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:16px}.stats-recs-title{margin-bottom:12px;font-size:.85rem;font-weight:700}.stats-weak-item{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:6px 0;font-size:.83rem;display:flex}.stats-weak-item:last-child{border-bottom:none}.stats-weak-num{color:var(--primary);min-width:28px;font-weight:700}.stats-weak-name{color:var(--text-muted);flex:1}.stats-weak-rate{font-weight:700}.stats-rec-card{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;flex-direction:column;gap:2px;margin-bottom:8px;padding:10px 12px;text-decoration:none;transition:border-color .15s;display:flex}.stats-rec-card:hover{border-color:var(--primary)}.stats-rec-card:last-child{margin-bottom:0}.stats-rec-type{color:var(--text-muted);font-size:.73rem}.stats-rec-title{font-size:.85rem;font-weight:600;line-height:1.3}.subjects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:8px;display:grid}.subject-card{background:var(--surface);border:1px solid var(--border);color:inherit;animation:.35s both fadeUp;animation-delay:calc(var(--i,0) * 50ms);border-radius:14px;align-items:center;gap:16px;padding:20px;text-decoration:none;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s,border-color .18s;display:flex;position:relative;overflow:hidden}.subject-card:before{content:"";opacity:0;background:linear-gradient(135deg,#e3702b0f 0%,#0000 60%);transition:opacity .2s;position:absolute;inset:0}.subject-card:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:0 8px 24px #e3702b1f}.subject-card:hover:before{opacity:1}.subject-card-icon{flex-shrink:0;font-size:2.4rem;line-height:1}.subject-card-body{flex:1;min-width:0}.subject-card-name{color:var(--text);font-size:1.05rem;font-weight:700}.subject-card-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:.85rem;overflow:hidden}.subject-card-meta{color:var(--text-muted);margin-top:6px;font-size:.78rem}.subject-card-arrow{color:var(--primary);opacity:0;font-size:1.1rem;transition:opacity .18s,transform .18s}.subject-card:hover .subject-card-arrow{opacity:1;transform:translate(3px)}.admin-form-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:28px;padding:20px 24px}.admin-form-title{margin-bottom:16px;font-size:1rem;font-weight:600}.admin-subjects-list{flex-direction:column;gap:10px;margin-top:8px;display:flex}.admin-subject-row{background:var(--surface);border:1px solid var(--border);animation:.3s both fadeUp;animation-delay:calc(var(--i,0) * 40ms);border-radius:12px;align-items:center;gap:14px;padding:16px 20px;display:flex}.admin-subj-icon{flex-shrink:0;font-size:1.8rem}.admin-subj-info{flex:1;min-width:0}.admin-subj-name{font-size:1rem;font-weight:600}.admin-subj-meta{align-items:center;gap:4px;margin-top:2px;font-size:.82rem;display:flex}.admin-subj-slug{background:var(--surface-2);color:var(--text-muted);border-radius:4px;padding:1px 6px;font-family:monospace;font-size:.8rem}.types-table{flex-direction:column;gap:6px;display:flex}.types-table-head{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:12px;padding:6px 14px;font-size:.78rem;font-weight:600;display:flex}.types-table-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s;display:flex}.types-table-row:hover{border-color:var(--primary)}.types-order-num{width:48px;color:var(--primary);flex-shrink:0;font-size:.85rem;font-weight:700}.types-name{font-size:.95rem;font-weight:600}.types-topic{color:var(--text-muted);margin-top:1px;font-size:.8rem}.types-score{text-align:center;width:60px;color:var(--text-muted);flex-shrink:0;font-weight:600}.types-actions{flex-shrink:0;justify-content:flex-end;gap:6px;width:120px;display:flex}.error-boundary-wrap{justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:24px;display:flex}.error-boundary-card{background:var(--surface);border:1px solid var(--border);text-align:center;width:100%;max-width:440px;box-shadow:var(--shadow);border-radius:16px;padding:48px 40px}.error-boundary-icon{margin-bottom:16px;font-size:3rem}.error-boundary-title{color:var(--text-heading);margin-bottom:8px;font-size:1.3rem;font-weight:700}.error-boundary-msg{color:var(--text-muted);margin-bottom:24px;font-family:monospace;font-size:.9rem}.player-layout{height:calc(100vh - 132px);display:flex;overflow:hidden}.player-sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;width:280px;min-width:280px;display:flex;overflow:hidden}.player-sidebar-head{border-bottom:1px solid var(--border);flex-shrink:0;padding:16px}.player-back{color:var(--text-muted);margin-bottom:8px;font-size:.8rem;text-decoration:none;display:block}.player-back:hover{color:var(--primary)}.player-course-title{color:var(--text);font-size:.9rem;font-weight:600;line-height:1.4}.player-course-title-link{color:var(--text);font-size:.95rem;font-weight:700;line-height:1.4;text-decoration:none;transition:color .15s;display:block}.player-course-title-link:hover{color:var(--primary)}.player-progress{border-bottom:1px solid var(--border);flex-shrink:0;padding:10px 16px}.player-progress-text{color:var(--text-muted);margin-bottom:5px;font-size:.75rem}.player-nav{flex:1;padding:4px 0 16px;overflow-y:auto}.player-nav .player-module:last-child{margin-bottom:4px}.player-empty-nav{color:var(--text-muted);padding:24px 16px;font-size:.875rem}.player-module-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:12px 16px 4px;font-size:.68rem;font-weight:700}.player-module{border:1.5px solid var(--border);background:var(--surface);border-radius:10px;margin:8px 10px 0;overflow:hidden}.player-module-header{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;padding:11px 14px;font-size:.85rem;font-weight:600;transition:background .12s;display:flex}.player-module-header:hover{background:var(--hover)}.player-module-header.open{background:var(--hover);border-radius:10px 10px 0 0}.pmh-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pmh-meta{color:var(--text-muted);flex-shrink:0;font-size:.75rem;font-weight:400}.pmh-arrow{color:var(--text-muted);flex-shrink:0;font-size:.65rem}.player-module-lessons{grid-template-rows:0fr;transition:grid-template-rows .28s;display:grid}.player-module-lessons.open{grid-template-rows:1fr}.player-module-lessons-inner{border-top:1.5px solid var(--border);min-height:0;overflow:hidden}.player-lesson-btn{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:8px;padding:9px 14px;font-size:.84rem;text-decoration:none;transition:background .12s;display:flex}.player-lesson-btn:hover{background:var(--hover)}.player-lesson-btn:last-child{border-radius:0 0 8px 8px}.player-lesson-btn.active{background:var(--primary-light);border-left-color:var(--primary);color:var(--primary);font-weight:600}.player-lesson-btn.done{color:var(--text-muted)}.player-lesson-btn.done .pli-icon{color:#4e7563;font-weight:700}.pli-icon{text-align:center;flex-shrink:0;width:18px;font-size:.75rem}.pli-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pli-dur{color:var(--text-muted);flex-shrink:0;font-size:.72rem}.player-main{background:var(--bg);flex:1;min-width:0;overflow-y:auto}.player-content,.player-course-overview{max-width:780px;margin:0 auto;padding:36px 40px 60px}.player-course-overview h1{color:var(--text-heading);line-height:1.1}.player-overview-meta{align-items:center;gap:10px;margin-bottom:16px;display:flex}.player-overview-desc{color:var(--text-muted);margin-bottom:28px;font-size:.95rem;line-height:1.7}.player-overview-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:32px;display:flex}.player-complete-banner{background:var(--cool-soft);border:1px solid var(--border);border-radius:var(--radius);color:var(--cool);align-items:center;gap:16px;margin-bottom:24px;padding:20px 24px;display:flex}.player-nav-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:40px;padding-top:24px;display:flex}.tag-chip{background:var(--primary-light);color:var(--primary);border:1px solid #e3702b40;border-radius:20px;align-items:center;gap:4px;padding:2px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.tag-chip-sm{padding:1px 7px;font-size:.7rem}.tag-chip-removable{padding-right:4px}.tag-remove{cursor:pointer;color:var(--primary);opacity:.6;background:0 0;border:none;padding:0 2px;font-size:.9rem;line-height:1}.tag-remove:hover{opacity:1}.tag-input-wrap{border:1px solid var(--border);background:var(--bg);cursor:text;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;padding:6px 10px;transition:border-color .15s;display:flex}.tag-input-wrap:focus-within{border-color:var(--primary)}.tag-input-field{min-width:120px;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:.95rem}.task-card-tags{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.modal-overlay{z-index:2000;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;width:100%;max-width:680px;max-height:90vh;display:flex}.import-modal{max-width:760px}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-title{color:var(--text-heading);font-size:1.1rem;font-weight:700}.modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0 4px;font-size:1.4rem;line-height:1}.modal-close:hover{color:var(--text)}.modal-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:16px 24px;display:flex}.import-dropzone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:8px;margin:20px 24px 0;padding:32px 24px;transition:border-color .15s,background .15s;display:flex}.import-dropzone:hover,.import-dropzone.dragging{border-color:var(--primary);background:var(--primary-light)}.import-dropzone.has-file{border-color:var(--success);border-style:solid}.import-summary{gap:16px;padding:10px 24px 0;font-size:.875rem;display:flex}.import-ok{color:var(--success);font-weight:600}.import-warn{color:#c28b2d;font-weight:600}.import-preview-wrap{border:1px solid var(--border);border-radius:8px;flex:1;margin:10px 24px 0;overflow-y:auto}.import-table{border-collapse:collapse;width:100%;font-size:.85rem}.import-table th{background:var(--bg);text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:8px 10px;font-size:.75rem;font-weight:600;position:sticky;top:0}.import-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:7px 10px}.import-table tr:last-child td{border-bottom:none}.import-row-err td{background:#c94f350a}.import-title-cell{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.import-format-hint{color:var(--primary);font-size:.8rem}.import-result{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:40px 24px;display:flex}.import-result-icon{font-size:3rem}.import-result h3{font-size:1.2rem;font-weight:700}.import-errors{text-align:left;overscroll-behavior:contain;border:1px solid var(--border);border-radius:8px;width:100%;max-height:200px;margin-top:8px;padding:8px 12px;overflow-y:auto}.import-error-line{color:var(--danger);padding:3px 0;font-family:monospace;font-size:.8rem}.import-warnings{margin-top:8px}.import-warnings .import-error-line{color:var(--warning,#8a5a00)}.account-switcher{position:relative}.account-switcher-btn{background:var(--hover);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:20px;align-items:center;gap:8px;padding:5px 10px 5px 6px;font-size:.875rem;transition:background .15s;display:flex}.account-switcher-btn:hover{background:var(--primary-light);border-color:var(--primary)}.account-avatar-mini{background:var(--primary);width:26px;height:26px;color:var(--ds-white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex}.account-email-mini{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.account-avatar-img{-o-object-fit:cover;object-fit:cover;border-radius:50%}.account-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.account-chevron.open{transform:rotate(180deg)}.account-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:260px;box-shadow:var(--shadow);z-index:1000;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.account-dropdown-section{flex-direction:column;gap:2px;padding:6px;display:flex}.account-dropdown-divider{background:var(--border);height:1px}.account-dropdown-actions{flex-direction:column;gap:2px;padding:6px;display:flex}.account-item{text-align:left;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.account-item-active{background:var(--primary-light)}.account-item-btn{cursor:pointer;width:100%;color:var(--text);background:0 0;border:none}.account-item-btn:hover:not(:disabled){background:var(--hover)}.account-item-btn:disabled{opacity:.6;cursor:default}.account-avatar{background:var(--primary);width:36px;height:36px;color:var(--ds-white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.account-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.account-name{color:var(--text-heading);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.account-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.account-role{color:var(--primary);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:600}.account-check{color:var(--primary);flex-shrink:0;font-weight:700}.account-remove{border:1px solid var(--border);width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;line-height:1;transition:background .15s,color .15s;display:flex}.account-remove:hover{background:var(--danger);border-color:var(--danger);color:var(--ds-white)}.account-spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.6s linear infinite spin}.account-action-btn{cursor:pointer;width:100%;color:var(--text);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:.875rem;transition:background .15s;display:flex}.account-action-btn:hover{background:var(--hover)}.account-action-logout{color:var(--danger)}.account-action-logout:hover{background:#c94f3514}.account-add-form{flex-direction:column;gap:8px;padding:10px 12px 12px;display:flex}.account-add-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.account-add-form input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;width:100%;padding:7px 10px;font-size:.875rem}.account-add-form input:focus{border-color:var(--primary);outline:none}.account-add-error{color:var(--danger);font-size:.8rem}.account-add-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.bank-subject-chips-wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.bank-subject-chips{flex-wrap:wrap;flex:1;gap:6px;display:flex}.bank-subject-chip{border:1.5px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:7px 14px;font-size:.875rem;font-weight:500;transition:all .13s;display:inline-flex}.bank-subject-chip:hover{border-color:var(--primary);color:var(--primary)}.bank-subject-chip.active{background:var(--primary);border-color:var(--primary);color:var(--ds-white);font-weight:600}.bank-chip-badge{color:inherit;letter-spacing:.02em;background:#00000014;border-radius:6px;padding:1px 5px;font-size:.68rem;font-weight:700}.bank-subject-chip.active .bank-chip-badge{background:#ffffff40}.bank-chip-configure{color:var(--text-muted);border-style:dashed}.bank-chip-configure:hover{border-color:var(--primary);color:var(--primary);border-style:solid}.bank-chip-toggle{background:var(--bg);border:1.5px solid var(--border);border-radius:20px;flex-shrink:0;gap:3px;padding:3px;display:flex}.bank-no-subject{color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;padding:48px 24px;display:flex}.bank-no-subject span{font-size:2rem}.bank-no-subject p{font-size:.95rem}.bank-exam-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.bank-exam-tab{border:1.5px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:20px;padding:6px 16px;font-size:.875rem;font-weight:500;transition:all .15s}.bank-exam-tab:hover{border-color:var(--primary);color:var(--primary)}.bank-exam-tab.active{background:var(--primary);border-color:var(--primary);color:var(--ds-white);font-weight:600}.bank-subjects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.bank-subject-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;width:100%;animation:.3s both fadeInUp;animation-delay:calc(var(--i,0) * 40ms);align-items:center;gap:14px;padding:16px 14px 16px 16px;transition:border-color .15s,box-shadow .15s,transform .12s;display:flex}.bank-subject-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 20px #e3702b1f}.bank-subject-icon{flex-shrink:0;font-size:1.8rem;line-height:1}.bank-subject-body{flex:1;min-width:0}.bank-subject-name{color:var(--text-heading);font-size:.95rem;font-weight:600}.bank-subject-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.8rem;overflow:hidden}.bank-subject-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.bank-subject-meta span{color:var(--text-muted);font-size:.78rem}.bank-subject-arrow{color:var(--text-muted);flex-shrink:0;font-size:1.1rem;transition:transform .15s}.bank-subject-card:hover .bank-subject-arrow{color:var(--primary);transform:translate(3px)}.teacher-subject-row{cursor:pointer;border-radius:8px;align-items:center;gap:10px;margin-bottom:2px;padding:8px 10px;transition:background .13s;display:flex}.teacher-subject-row:hover{background:var(--hover)}.teacher-subject-check{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.teacher-subject-icon{flex-shrink:0;font-size:1.2rem}.teacher-subject-name{color:var(--text-heading);flex:1;font-size:.9rem;font-weight:500}.teacher-subject-count{color:var(--text-muted);flex-shrink:0;font-size:.78rem}.bank-teacher-strip{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;padding:8px 12px;display:flex}.bank-teacher-strip-left{align-items:center;gap:4px;display:flex}.bank-teacher-configure{color:var(--primary);background:var(--primary-light);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:5px 12px;font-size:.82rem;font-weight:500;transition:opacity .15s}.bank-teacher-configure:hover{opacity:.8}.bank-filter-bar{background:var(--bg);border:1.5px solid var(--border);border-radius:20px;gap:4px;width:fit-content;margin-bottom:12px;padding:3px;display:flex}.bank-filter-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:16px;padding:4px 16px;font-size:.85rem;font-weight:500;transition:all .13s}.bank-filter-toggle.active{background:var(--surface);color:var(--text-heading);font-weight:600;box-shadow:0 1px 4px #00000014}.exam-badge{background:var(--primary-light);color:var(--primary);letter-spacing:.02em;border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-block}.bank-subject-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.bank-type-chips{flex-wrap:wrap;gap:6px;display:flex}.bank-type-chip{border:1.5px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:16px;padding:5px 13px;font-size:.82rem;font-weight:500;transition:all .13s}.bank-type-chip:hover{border-color:var(--primary);color:var(--primary)}.bank-type-chip.active{background:var(--primary);border-color:var(--primary);color:var(--ds-white);font-weight:600}.bank-proto-btn{width:100%;color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:6px 16px 6px 20px;font-size:.82rem;transition:color .15s,background .15s;display:flex}.bank-proto-btn:before{content:"•";flex-shrink:0;font-size:.6rem}.bank-proto-btn:hover{color:var(--text);background:var(--hover)}.bank-proto-btn.active{color:var(--primary);font-weight:600}.bank-proto-count{color:var(--text-muted);flex-shrink:0;margin-left:auto;font-size:.72rem}.bank-type-active.player-module-header{border-color:var(--primary)}.bank-sidebar-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);opacity:.7;padding:8px 16px 3px 20px;font-size:.68rem;font-weight:600}.bank-tag-btn:before{display:none}.bank-tag-dot{background:var(--primary);opacity:.6;border-radius:50%;flex-shrink:0;width:6px;height:6px}.bank-tag-btn.active .bank-tag-dot{opacity:1}.bank-tag-btn{font-size:.78rem}.bank-tag-btn.active{color:var(--primary);font-weight:600}.bank-task-code{font-family:var(--font-mono);color:var(--primary);background:var(--primary-light,#fbe9dc);letter-spacing:.02em;border-radius:5px;padding:2px 7px;font-size:.78rem;font-weight:700}.bank-source-badge{color:var(--primary);background:#ede9fe;border-radius:12px;padding:2px 8px;font-size:.72rem;font-weight:600}.bank-source-chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.bank-source-chip{border:1.5px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:14px;padding:3px 12px;font-size:.78rem;font-weight:500;transition:all .13s}.bank-source-chip:hover{border-color:var(--primary);color:var(--primary)}.bank-source-chip.active{background:var(--primary);border-color:var(--primary);color:var(--ds-white);font-weight:600}.bank-source-chip.disabled{opacity:.38;cursor:default}.bank-source-chip.disabled:hover{border-color:var(--border);color:var(--text-muted)}.bank-facet-panel{flex-direction:column;gap:8px;margin-top:4px;display:flex}.bank-facet-row{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.bank-facet-row-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);flex-shrink:0;min-width:68px;font-size:.7rem;font-weight:700}.bank-facet-clear-btn{align-self:flex-start;color:var(--text-muted)!important}.bank-facet-clear-btn:hover{color:var(--primary)!important}.attempt-badge{vertical-align:middle;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex;position:relative;top:-1px}.attempt-wrong:before{content:"";background:currentColor;border-radius:1px;width:8px;height:2px;display:block}.attempt-correct{color:#43654f;background:#5e8a7426;border:1.5px solid #43654f}.attempt-wrong{color:#475569;background:#64748b26;border:1.5px solid #475569}.attempt-late{color:#8a6d1f;background:#b48c3226;border:1.5px solid #8a6d1f}.bank-code-search-wrap{align-items:center;margin-bottom:4px;display:inline-flex;position:relative}.bank-code-search{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;outline:none;width:210px;padding:5px 28px 5px 10px;font-size:.82rem;transition:border-color .15s}.bank-code-search:focus{border-color:var(--primary)}.bank-code-search::placeholder{color:var(--text-muted)}.bank-code-search-clear{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0;font-size:1rem;line-height:1;position:absolute;right:6px}.bank-code-search-clear:hover{color:var(--text)}.tag-active-chip{align-items:center;gap:4px;padding-right:6px;display:inline-flex}.tag-active-chip-clear{cursor:pointer;color:var(--ds-white);opacity:.8;background:0 0;border:none;padding:0 2px;font-size:1rem;line-height:1}.tag-active-chip-clear:hover{opacity:1}.tag-chip-custom{color:#059669;background:#10b9811f}.tag-chip-clickable{cursor:pointer;transition:filter .12s}.tag-chip-clickable:hover{filter:brightness(1.15)}.tag-chip-active{outline:2px solid var(--primary);outline-offset:1px}.tag-chip-edit{gap:4px;padding-right:4px}.tag-chip-remove{cursor:pointer;color:var(--primary);opacity:.7;background:0 0;border:none;padding:0 1px;font-size:.85rem;line-height:1}.tag-chip-remove:hover{opacity:1}.tag-chip-add-wrap{align-items:center;gap:4px;display:inline-flex}.tag-chip-input{border:1px solid var(--primary);background:var(--surface);color:var(--text);border-radius:20px;outline:none;width:120px;padding:2px 10px;font-size:.75rem}.tag-chip-add-btn{background:var(--primary);color:var(--ds-white);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.85rem;display:inline-flex}.tag-chip-add-btn:disabled{opacity:.4;cursor:default}.tag-edit-toggle{border:1px solid var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:6px;padding:2px 6px;font-size:.75rem;transition:all .12s}.tag-edit-toggle:hover{border-color:var(--primary);color:var(--primary)}.tag-edit-toggle.active{border-color:var(--success);color:var(--success)}.bank-task-feed{padding:24px 28px}.bank-feed-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px;display:flex}.bank-feed-list{flex-direction:column;gap:14px;display:flex}.bank-feed-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .2s,box-shadow .2s;overflow:hidden}.bank-feed-card:hover{border-color:var(--primary);box-shadow:0 2px 12px #e3702b1a}.bank-feed-card-top{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;display:flex}.bank-feed-solve-btn{flex-shrink:0}.bank-feed-card-content{padding:14px 16px}.bank-feed-card-content .markdown-content{font-size:.9rem;line-height:1.65}.bank-task-detail{max-width:860px;padding:28px 36px}.bank-task-detail-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.bank-task-detail-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bank-task-title{margin:0 0 16px;font-size:1.15rem;font-weight:700;line-height:1.4}.bank-sidebar-icon-btn{width:28px;height:28px;color:var(--text-muted);border-radius:6px;justify-content:center;align-items:center;font-size:.95rem;text-decoration:none;transition:color .15s,background .15s;display:flex}.bank-sidebar-icon-btn:hover{color:var(--primary);background:var(--hover)}.bank-sidebar-toggle{gap:4px;margin-bottom:2px;display:flex}.bank-sidebar-toggle-btn{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;border-radius:6px;flex:1;padding:4px 8px;font-size:.78rem;font-weight:500;transition:all .13s}.bank-sidebar-toggle-btn.active{background:var(--primary);border-color:var(--primary);color:var(--ds-white);font-weight:600}.bank-main-content{padding:28px 32px}.bank-main-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.player-sidebar-tree{flex:1;padding:8px 12px 20px;overflow-y:auto}.sec-tree{flex-direction:column;gap:2px;display:flex}.sec-branch{flex-direction:column;display:flex}.sec-row{border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:4px 6px;transition:background .15s,border-color .15s,opacity .15s;display:flex;position:relative}.sec-row:hover{background:var(--primary-light)}.sec-row.active{background:var(--primary-light);border-color:var(--primary)}.sec-row.dragging{opacity:.4}.sec-row.drop-inside{background:var(--primary-light);outline:2px dashed var(--primary);outline-offset:-2px}.sec-row.drop-before:before,.sec-row.drop-after:after{content:"";background:var(--primary);pointer-events:none;border-radius:2px;height:3px;position:absolute;left:0;right:0}.sec-row.drop-before:before{top:-2px}.sec-row.drop-after:after{bottom:-2px}.sec-row-root{font-weight:600}.sec-row-toggle{cursor:pointer;width:18px;height:22px;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;display:flex}.sec-row-toggle:disabled{cursor:default;opacity:.35}.sec-chevron{transition:transform .2s;display:inline-block}.sec-row-toggle.open .sec-chevron{transform:rotate(90deg)}.sec-row-label{text-align:left;cursor:pointer;min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;flex:1;padding:4px;font-size:.9rem;overflow:hidden}.sec-row.active .sec-row-label{color:var(--primary)}.sec-row-actions{flex-shrink:0;gap:2px;display:none}.sec-row:hover .sec-row-actions,.sec-row.active .sec-row-actions{display:flex}.sec-mini-btn{cursor:pointer;width:22px;height:22px;color:var(--text-muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:.8rem;display:flex}.sec-mini-btn:hover{background:var(--surface);color:var(--primary)}.sec-mini-btn.danger:hover{color:var(--danger,#c94f35)}.sec-children-wrap{grid-template-rows:0fr;transition:grid-template-rows .22s;display:grid}.sec-children-wrap.open{grid-template-rows:1fr}.sec-children-inner{min-height:0;overflow:hidden}.sec-children{border-left:1px solid var(--border);margin-left:15px;padding-left:8px}.sec-tree-add-root{border:1.5px dashed var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:8px;margin-top:10px;padding:8px 12px;font-size:.88rem}.sec-tree-add-root:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.sec-tree-dropzone{border-radius:8px;transition:background .15s}.sec-tree-dropzone.hover{background:var(--primary-light);outline:2px dashed var(--primary);outline-offset:-2px}.bn-suggestion-menu{max-height:min(70vh,540px)!important;overflow-y:auto!important}.bn-wrapper .ProseMirror p,.bn-wrapper .ProseMirror li,.bn-wrapper .ProseMirror blockquote,.bn-wrapper .rte-rendered p,.bn-wrapper .rte-rendered li{font-size:var(--bn-editor-font-size,16px)}.bn-fontsize-bar{color:var(--text-muted);justify-content:flex-end;align-items:center;gap:6px;padding:0 24px 6px;font-size:.8rem;display:flex}.bn-fontsize-label{margin-right:4px}.bn-fontsize-btn{border:1px solid var(--border);cursor:pointer;width:28px;height:28px;color:var(--text);background:0 0;border-radius:6px;justify-content:center;align-items:center;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.bn-fontsize-btn:hover{background:var(--primary-light);border-color:var(--primary)}.bn-fontsize-btn.active{background:var(--primary);color:var(--ds-white);border-color:var(--primary)}.bn-fontsize-btn.bn-fontsize-xs{font-size:.65rem}.bn-fontsize-btn.bn-fontsize-sm{font-size:.78rem}.bn-fontsize-btn.bn-fontsize-md{font-size:.92rem}.bn-fontsize-btn.bn-fontsize-lg{font-size:1.08rem}.bn-fontsize-btn.bn-fontsize-xl{font-size:1.24rem}.bn-tb-fontsize{font-weight:600}.bn-tb-fontsize.bn-tb-fontsize-xs,.bn-tb-fontsize.bn-tb-fontsize-xs *{font-size:.65rem}.bn-tb-fontsize.bn-tb-fontsize-sm,.bn-tb-fontsize.bn-tb-fontsize-sm *{font-size:.78rem}.bn-tb-fontsize.bn-tb-fontsize-md,.bn-tb-fontsize.bn-tb-fontsize-md *{font-size:.92rem}.bn-tb-fontsize.bn-tb-fontsize-lg,.bn-tb-fontsize.bn-tb-fontsize-lg *{font-size:1.08rem}.bn-tb-fontsize.bn-tb-fontsize-xl,.bn-tb-fontsize.bn-tb-fontsize-xl *{font-size:1.24rem}.bn-wrapper .bn-block-content:has(>.task-block){width:100%;max-width:100%;display:block}.task-block{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:100%;margin:6px 0;padding:14px 16px}.task-block-loading,.task-block-empty,.task-block-error{color:var(--text-muted);padding:16px;font-style:italic}.task-block-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:10px;padding-bottom:10px;display:flex}.task-block-badge{background:var(--primary-light);min-width:36px;height:24px;color:var(--primary);border-radius:12px;justify-content:center;align-items:center;padding:0 8px;font-size:.82rem;font-weight:700;display:inline-flex}.task-block-title{flex:1;min-width:0;font-weight:600}.task-block-open{color:var(--primary);background:var(--primary-light);white-space:nowrap;border-radius:6px;padding:4px 10px;font-size:.85rem;text-decoration:none}.task-block-ref{border-radius:12px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.task-block-ref-head{align-items:center;gap:12px;display:flex}.task-block-ref .task-block-content{border-top:1px solid var(--border);padding-top:10px;overflow-x:auto}.task-block-ref .task-block-content img,.task-block-ref .task-block-content svg{max-width:100%;height:auto}.task-block-kind{--kind-tint:var(--ds-violet-600);background:color-mix(in srgb, var(--kind-tint) 15%, transparent);height:24px;color:var(--kind-tint);white-space:nowrap;border-radius:8px;flex:none;align-items:center;padding:0 10px;font-size:.8rem;font-weight:600;display:inline-flex}[data-theme=dark] .task-block-kind{--kind-tint:#a99ce6}.task-block-ref-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.task-block-ref-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;overflow:hidden}.task-block-ref-meta{color:var(--text-muted);font-size:.78rem}.task-block-ref-open{color:var(--text-muted);border-radius:8px;flex:none;padding:6px 10px;font-size:.85rem;font-weight:600;text-decoration:none}.task-block-ref-open:hover{background:var(--surface-2,#0000000a);color:var(--text)}.task-block-content{color:var(--text);font-size:.92rem;line-height:1.6}.task-block-content .markdown-content>:last-child{margin-bottom:0}.task-block-files{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:10px;display:flex}.task-block-file-btn{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary);border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:.88rem;font-weight:600;text-decoration:none;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.task-block-file-btn:hover{background:var(--primary);color:var(--ds-white);transform:translateY(-1px);box-shadow:0 4px 10px #e3702b40}.task-block-file-icon{font-size:1rem}.bn-wrapper .bn-block-content:has(>.proto-block){width:100%;max-width:100%;display:block}.proto-block{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:100%;margin:6px 0;padding:14px 16px}.proto-block-required{border-left:3px solid var(--primary)}.proto-block-empty{color:var(--text-muted);padding:16px;font-style:italic}.proto-block-head{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:10px;display:flex}.proto-block-badge{background:var(--primary-light);height:24px;color:var(--primary);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;padding:0 10px;font-size:.82rem;font-weight:700;display:inline-flex}.proto-block-title{flex:1;min-width:0;font-weight:600}.proto-block-no{color:var(--text-muted);font-family:ui-monospace,JetBrains Mono,monospace;font-weight:700}.proto-block-req-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--primary);border:1px solid var(--primary);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:700}.proto-block-solved-badge{color:var(--success,#4e7563);background:color-mix(in srgb, var(--success,#4e7563) 14%, transparent);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700}.proto-block-settings{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.proto-block-setting{align-items:center;gap:8px;font-size:.88rem;display:flex}.proto-block-setting select,.proto-block-setting input[type=number]{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 8px;font-size:.88rem}.proto-block-setting input[type=number]{width:64px}.proto-block-setting-check{cursor:pointer;-webkit-user-select:none;user-select:none}.proto-block-start{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:14px;display:flex}.proto-block-start p{margin:0;font-size:.92rem}.proto-block-error{color:var(--danger,#b4552d);flex-wrap:wrap;align-items:center;gap:10px;font-size:.9rem;display:flex}.proto-block-content{font-size:.95rem;line-height:1.65}.proto-block-content .markdown-content>:last-child{margin-bottom:0}.proto-block-answer{border-top:1px dashed var(--border);margin-top:12px;padding-top:12px}.proto-block-answer-row{gap:8px;display:flex}.proto-block-answer-row .form-input{flex:1;max-width:320px}.proto-block-verdict{margin-bottom:10px;font-weight:700}.proto-block-verdict-ok{color:var(--success,#4e7563)}.proto-block-verdict-bad{color:var(--danger,#b4552d)}.proto-block-solution{margin-top:12px}.proto-block-solution summary{cursor:pointer;color:var(--primary);font-weight:600}.proto-block-solution .markdown-content{margin-top:8px}.proto-block-again{margin-top:10px}.dialog-overlay{z-index:1200;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;padding:18px 20px;box-shadow:0 20px 60px #0000004d}.dialog-header{color:var(--text-heading);margin-bottom:14px;font-size:1.05rem;font-weight:700}.dialog-body{flex-direction:column;gap:8px;display:flex}.dialog-message{color:var(--text);line-height:1.5}.dialog-footer{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.bn-wrapper .bn-block-content:has(>.quiz-card){width:100%;max-width:100%;display:block}.quiz-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:10px;width:100%;margin:6px 0;padding:12px 14px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.quiz-card:hover{border-color:color-mix(in srgb, var(--primary) 40%, var(--border))}.quiz-card-empty{color:var(--text-muted);padding:16px;font-style:italic}.bn-block-outer:has(>.bn-block>.react-renderer>.bn-block-content>.quiz-card)+.bn-block-outer:has(>.bn-block>.react-renderer>.bn-block-content>.quiz-card){margin-top:-1px}.bn-block-outer:has(>.bn-block>.react-renderer>.bn-block-content>.quiz-card)+.bn-block-outer:has(>.bn-block>.react-renderer>.bn-block-content>.quiz-card) .bn-block-content{padding-top:0}.bn-block-outer:has(>.bn-block>.react-renderer>.bn-block-content>.quiz-card)+.bn-block-outer:has(>.bn-block>.react-renderer>.bn-block-content>.quiz-card) .quiz-card{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.bn-block-outer:has(>.bn-block>.react-renderer>.bn-block-content>.quiz-card):has(+.bn-block-outer>.bn-block>.react-renderer>.bn-block-content>.quiz-card) .bn-block-content{padding-bottom:0}.bn-block-outer:has(>.bn-block>.react-renderer>.bn-block-content>.quiz-card):has(+.bn-block-outer>.bn-block>.react-renderer>.bn-block-content>.quiz-card) .quiz-card{border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.quiz-card-head{border-bottom:1px dashed var(--border);align-items:center;gap:10px;padding-bottom:8px;display:flex}.quiz-card-emoji{font-size:1rem;line-height:1}.quiz-card-kind{--kind-tint:var(--ds-blue-700);background:color-mix(in srgb, var(--kind-tint) 15%, transparent);height:24px;color:var(--kind-tint);white-space:nowrap;border-radius:8px;flex:none;align-items:center;padding:0 10px;font-size:.8rem;font-weight:600;display:inline-flex}[data-theme=dark] .quiz-card-kind{--kind-tint:#86b6de}.quiz-card-title-input{min-width:0;color:var(--text);background:0 0;border:none;border-radius:6px;outline:none;flex:1;padding:2px 4px;font-size:.92rem;font-weight:600;transition:background .12s}.quiz-card-title-input::placeholder{color:var(--text-muted);font-weight:600}.quiz-card-title-input:hover{background:color-mix(in srgb, var(--primary) 6%, transparent)}.quiz-card-title-input:focus{background:color-mix(in srgb, var(--primary) 10%, transparent)}.quiz-card-head-reader{border-bottom-style:solid}.quiz-card-title-text{color:var(--text);font-size:.92rem;font-weight:600}.quiz-mode-switch{background:color-mix(in srgb, var(--text) 7%, transparent);border-radius:999px;flex:none;gap:2px;padding:2px;display:inline-flex}.quiz-mode-switch button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:999px;padding:3px 12px;font-family:inherit;font-size:.78rem;font-weight:600;transition:background .12s,color .12s}.quiz-mode-switch button:hover{color:var(--text)}.quiz-mode-switch button.is-on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001f}.quiz-opts{flex-direction:column;gap:6px;display:flex}.quiz-opt{align-items:center;gap:10px;display:flex}.quiz-opt-radio{cursor:pointer;border:2px solid var(--border-2,var(--border));background:0 0;border-radius:50%;flex:none;width:18px;height:18px;padding:0;transition:border-color .12s,box-shadow .12s}.quiz-opt-radio:hover{border-color:var(--success,#4e7563)}.quiz-opt-radio.is-correct{border-color:var(--success,#4e7563);background:var(--success,#4e7563);box-shadow:inset 0 0 0 3px var(--surface)}.quiz-opt-input{border:1px solid var(--border);min-width:0;color:var(--text);background:0 0;border-radius:8px;outline:none;flex:1;padding:6px 10px;font-family:inherit;font-size:.9rem;transition:border-color .12s,background .12s}.quiz-opt-input::placeholder{color:var(--text-muted)}.quiz-opt-input:focus{border-color:color-mix(in srgb, var(--primary) 50%, var(--border));background:color-mix(in srgb, var(--primary) 6%, transparent)}.quiz-opt-remove{cursor:pointer;width:26px;height:26px;color:var(--text-muted);background:0 0;border:none;border-radius:8px;flex:none;padding:0;font-size:.85rem}.quiz-opt-remove:hover{background:color-mix(in srgb, var(--danger,var(--ds-red-400)) 12%, transparent);color:var(--danger,var(--ds-red-400))}.quiz-opt-add{border:1px dashed var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:999px;align-self:flex-start;margin-top:2px;padding:5px 14px;font-family:inherit;font-size:.82rem;font-weight:600}.quiz-opt-add:hover{color:var(--text);background:color-mix(in srgb, var(--text) 5%, transparent)}.quiz-opts-hint{color:var(--text-muted);font-size:.78rem;line-height:1.45}.quiz-opts-reader{gap:4px;margin-top:4px}.quiz-opt-choice{cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:7px 10px;transition:background .12s,border-color .12s;display:flex}.quiz-opt-choice:hover{background:color-mix(in srgb, var(--primary) 6%, transparent)}.quiz-opt-choice.is-picked{border-color:color-mix(in srgb, var(--primary) 45%, var(--border))}.quiz-opt-choice input{accent-color:var(--primary);flex:none;margin:0}.quiz-opt-text{min-width:0;color:var(--text);flex:1;font-size:.92rem}.quiz-opt-mark{color:var(--success,#4e7563);flex:none;font-weight:700}.quiz-opt-choice.is-correct{background:color-mix(in srgb, var(--success,#4e7563) 12%, transparent);border-color:color-mix(in srgb, var(--success,#4e7563) 40%, transparent)}.quiz-opt-choice.is-wrong{background:color-mix(in srgb, var(--danger,var(--ds-red-400)) 12%, transparent);border-color:color-mix(in srgb, var(--danger,var(--ds-red-400)) 40%, transparent)}.quiz-card-question{resize:vertical;width:100%;min-height:56px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 8px;font-family:inherit;font-size:.95rem;line-height:1.5;transition:border-color .12s,background .12s}.quiz-card-question::placeholder{color:var(--text-muted)}.quiz-card-question:hover{background:color-mix(in srgb, var(--primary) 4%, transparent)}.quiz-card-question:focus{border-color:color-mix(in srgb, var(--primary) 50%, var(--border));background:color-mix(in srgb, var(--primary) 6%, transparent);outline:none}.quiz-card-row{flex-direction:column;gap:8px;display:flex}.quiz-card-field{background:color-mix(in srgb, var(--primary) 5%, transparent);border:1px solid var(--border);border-radius:8px;align-items:center;gap:6px;padding:4px 8px;transition:border-color .12s,background .12s;display:flex}.quiz-card-field:focus-within{border-color:color-mix(in srgb, var(--primary) 50%, var(--border));background:color-mix(in srgb, var(--primary) 10%, transparent)}.quiz-card-field-icon{color:var(--primary);flex-shrink:0;font-size:.85rem;font-weight:700}.quiz-card-input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:2px 0;font-size:.9rem}.quiz-card-input::placeholder{color:var(--text-muted)}.quiz-card-field-multiline{align-items:flex-start;padding-top:6px;padding-bottom:6px}.quiz-card-field-multiline .quiz-card-field-icon{margin-top:2px}.quiz-card-textarea{resize:none;white-space:pre-wrap;tab-size:4;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;line-height:1.45;overflow:hidden}.quiz-card-foot{justify-content:flex-start;gap:8px;display:flex}.quiz-card-files-toggle{color:var(--text-muted);border:1px dashed var(--border);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:.82rem;font-weight:500;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.quiz-card-files-toggle:hover{background:color-mix(in srgb, var(--primary) 6%, transparent);color:var(--primary);border-color:color-mix(in srgb, var(--primary) 40%, var(--border))}.quiz-card-caret{opacity:.7;font-size:.7rem}.quiz-card-files{background:color-mix(in srgb, var(--primary) 4%, transparent);border:1px dashed var(--border);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.quiz-card-files-list{flex-direction:column;gap:4px;display:flex}.quiz-card-file-row{background:var(--surface);border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;padding:4px 8px;font-size:.85rem;display:flex}.quiz-card-file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quiz-card-file-remove{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0 4px;font-size:.85rem}.quiz-card-file-remove:hover{color:#b5432c}.quiz-card-file-thumb{-o-object-fit:contain;object-fit:contain;border-radius:4px;max-width:100%;max-height:120px;margin-bottom:4px;display:block}.quiz-card-paste-hint{color:var(--text-muted);margin-top:6px;font-size:.75rem}.quiz-code-edit{border:1px solid var(--ink-line);background:#2e2b26;border-radius:12px;overflow:hidden}.quiz-code-edit-head{background:var(--ink-hl);border-bottom:1px solid var(--ink-line);justify-content:space-between;align-items:center;height:32px;padding:0 6px 0 8px;display:flex}.quiz-code-edit-head .quiz-code-lang{appearance:none;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-mute);cursor:pointer;field-sizing:content;text-overflow:ellipsis;background-color:#0000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23A3A098' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border:1px solid #0000;border-radius:999px;outline:none;max-width:170px;padding:3px 22px 3px 8px;font-family:inherit;font-size:.72rem;font-weight:600;transition:background-color .15s,border-color .15s}.quiz-code-lang:hover{background-color:#ffffff1a;border-color:#ffffff1f}.quiz-code-lang:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent,var(--ds-orange-400)) 45%, transparent);border-radius:999px}.quiz-code-lang option{color:#1c1a17;background:var(--ds-white)}.quiz-code-remove{color:#ffffff8c;cursor:pointer;background:0 0;border:none;border-radius:7px;flex:none;width:26px;height:26px;padding:0;font-size:.85rem;transition:background .12s,color .12s}.quiz-code-remove:hover{color:var(--ds-white);background:#ffffff1a}.quiz-code-edit .quiz-code-edit-input{resize:none;color:#d4be98;width:100%;caret-color:var(--primary);font-family:var(--font-mono,ui-monospace, monospace);tab-size:4;white-space:pre;background:0 0;border:none;outline:none;min-height:64px;padding:10px 14px;font-size:.875rem;line-height:1.55;display:block;overflow:auto hidden}.quiz-code-edit .quiz-code-edit-input::placeholder{color:#d4be9866}.quiz-code-view{border:1px solid var(--ink-line);background:#2e2b26;border-radius:12px;margin:2px 0;position:relative;overflow:hidden}.quiz-code-view:before{content:attr(data-language);background:var(--ink-hl);border-bottom:1px solid var(--ink-line);height:28px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.06em;box-sizing:border-box;z-index:1;pointer-events:none;align-items:center;padding:4px 14px 0;font-size:.68rem;font-weight:700;display:flex;position:absolute;top:0;left:0;right:0}.bn-wrapper .quiz-code-view pre{color:#d4be98;padding:38px 14px 12px!important}.quiz-card-question-text{color:var(--text);white-space:pre-wrap;word-break:break-word;font-size:1rem;line-height:1.55}.quiz-card-files-readonly{flex-wrap:wrap;gap:8px;display:flex}.quiz-card-file-link{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary);border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .15s,transform .12s;display:inline-flex}.quiz-card-file-link:hover{background:var(--primary);color:var(--ds-white);transform:translateY(-1px)}.quiz-card-img{border-radius:6px;max-width:100%;margin-bottom:10px;display:block}.quiz-card-input-row{align-items:center;gap:8px;display:flex}.quiz-card-input-row .quiz-card-input{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex:1;padding:8px 12px}.quiz-card-input-row .quiz-card-input:focus{border-color:var(--primary);outline:none}.quiz-card-feedback{border-radius:8px;padding:8px 12px;font-size:.92rem;font-weight:600}.quiz-card-feedback.ok{color:#4e7563;background:#5e8a741f;border:1px solid #5e8a744d}.quiz-card-feedback.bad{color:#b5432c;background:#c94f351f;border:1px solid #c94f354d}.quiz-card.quiz-correct{border-color:#5e8a7480}.quiz-card.quiz-wrong{border-color:#c94f3580}.quiz-card-correct-hint{background:#5e8a741a;border:1px solid #5e8a7459;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:6px 8px;padding:8px 12px;font-size:.9rem;display:flex}.quiz-card-correct-hint-label{color:#43654f;flex-shrink:0;font-weight:700}.quiz-card-correct-hint-value{color:var(--text);word-break:break-word;background:#5e8a742e;border-radius:5px;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.quiz-card-explanation{background:color-mix(in srgb, var(--primary) 5%, transparent);border:1px solid var(--border);border-left:3px solid var(--primary);color:var(--text);white-space:pre-wrap;word-break:break-word;box-sizing:border-box;border-radius:6px;max-width:100%;margin:0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;line-height:1.5;overflow-x:auto}.task-picker-overlay{z-index:1300;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.task-picker{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:12px;width:100%;max-width:880px;max-height:85vh;padding:18px;display:flex;box-shadow:0 20px 60px #0000004d}.task-picker-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.task-picker-head h3{color:var(--text-heading);margin:0;font-size:1.1rem}.task-picker-filters{grid-template-columns:1fr 1fr 1.5fr;gap:8px;display:grid}.task-picker-list{flex-direction:column;flex:1;gap:8px;padding-right:4px;display:flex;overflow-y:auto}.task-picker-item{text-align:left;background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:10px;flex-direction:column;gap:6px;padding:12px 14px;transition:border-color .15s,transform .1s;display:flex}.task-picker-item:hover{border-color:var(--primary);transform:translateY(-1px)}.task-picker-item-head{align-items:center;gap:10px;display:flex}.task-picker-num{background:var(--primary-light);min-width:36px;height:22px;color:var(--primary);border-radius:11px;justify-content:center;align-items:center;padding:0 6px;font-size:.78rem;font-weight:700;display:inline-flex}.task-picker-title{flex:1;font-weight:600}.task-picker-preview{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;line-height:1.45;display:-webkit-box;overflow:hidden}.task-picker-statement{color:#1a1a1a;border:1px solid var(--border);cursor:auto;background:#fff;border-radius:8px;padding:12px 14px;font-size:.92rem;line-height:1.5;overflow-x:auto}.task-picker-statement img,.task-picker-statement svg{max-width:100%;height:auto}.task-picker-statement table{border-collapse:collapse}.task-picker-statement-ph{color:#777;min-height:60px;font-size:.85rem;line-height:1.45}.task-picker-facets{flex-direction:column;gap:6px;display:flex}.task-picker-facet-row{align-items:flex-start;gap:10px;display:flex}.task-picker-facet-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex:0 0 52px;padding-top:5px;font-size:.72rem;font-weight:700}.task-picker-facet-chips{flex-wrap:wrap;gap:6px;display:flex}.task-picker-facets .ds-facet-chip{border:1px solid var(--border);background:var(--bg);min-height:24px;color:inherit;cursor:pointer;border-radius:8px;padding:3px 9px;font-family:inherit;font-size:.8rem}.task-picker-facets .ds-facet-chip:hover{border-color:var(--primary)}.task-picker-facets .ds-facet-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.task-picker-facets .ds-facet-chip-count{background:#7f7f7f29;border-radius:9px;font-size:.72rem}.task-picker-facets .ds-facet-chip.active .ds-facet-chip-count{background:#ffffff40}.task-picker-facet-more{color:var(--primary);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:3px 4px;font-family:inherit;font-size:.78rem;font-weight:600}.task-picker-facet-more:hover{text-decoration:underline}@media (width<=720px){.task-picker-filters{grid-template-columns:1fr}}.bn-wrapper{width:100%;position:relative}.bn-wrapper .bn-container{background:0 0}.bn-editable .bn-container{min-height:400px}.bn-readonly .bn-container{min-height:auto}.bn-readonly .bn-side-menu,.bn-readonly .bn-add-block-button{display:none!important}.bn-wrapper .bn-toolbar.bn-formatting-toolbar{pointer-events:none;gap:6px;padding:6px}.bn-wrapper .bn-toolbar.bn-formatting-toolbar>*{pointer-events:auto}.bn-wrapper .bn-block-content[data-content-type=codeBlock]{color:#d4be98;caret-color:var(--primary);border:1px solid var(--ink-line);box-sizing:border-box;border-radius:12px;max-width:100%;margin:6px 0;position:relative;overflow:hidden;background:#2e2b26!important;flex-direction:column!important;display:flex!important}.bn-wrapper .bn-block-content[data-content-type=codeBlock]>div{background:var(--ink-hl);border-bottom:1px solid var(--ink-line);box-sizing:border-box;flex:0 0 36px;align-items:center;width:100%;height:36px;padding:0 116px 0 8px;display:flex}.bn-wrapper .bn-block-content[data-content-type=codeBlock]>div>select{appearance:none;field-sizing:content;text-overflow:ellipsis;z-index:2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23A3A098' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;width:auto;max-width:170px;position:relative;opacity:1!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:var(--ink-mute)!important;cursor:pointer!important;background-color:#0000!important;border:1px solid #0000!important;border-radius:999px!important;outline:none!important;padding:3px 22px 3px 8px!important;font-size:.72rem!important;font-weight:600!important;transition:background-color .15s,border-color .15s!important}.bn-wrapper .bn-block-content[data-content-type=codeBlock]>div>select:hover{background-color:#0000000f!important;border-color:#0000001a!important}.bn-wrapper .bn-block-content[data-content-type=codeBlock]>div>select:focus{background-color:#ffffff1f!important;border-color:#e8814980!important}.bn-wrapper .bn-block-content[data-content-type=codeBlock]>div>select:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent,var(--ds-orange-400)) 45%, transparent)!important;border-radius:999px!important}.bn-wrapper.bn-readonly .bn-block-content[data-content-type=codeBlock]>div[contenteditable=false]{display:none!important}.bn-wrapper.bn-readonly .bn-block-content[data-content-type=codeBlock][data-language]:before{content:attr(data-language);background:var(--ink-hl);border-bottom:1px solid var(--ink-line);height:28px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.06em;box-sizing:border-box;z-index:1;pointer-events:none;align-items:center;padding:4px 14px 0;font-size:.68rem;font-weight:700;display:flex;position:absolute;top:0;left:0;right:0}.bn-wrapper.bn-readonly .bn-block-content[data-content-type=codeBlock][data-language]>pre{padding-top:36px!important}.bn-wrapper .bn-block-content[data-content-type=codeBlock]>pre,.bn-wrapper pre{font-family:var(--font-mono,ui-monospace, monospace);font-size:calc(var(--bn-editor-font-size,16px) * .875);tab-size:4;box-sizing:border-box;white-space:pre;word-wrap:normal;width:100%;max-width:100%;line-height:1.55;overflow-x:auto;background:0 0!important;border:none!important;border-radius:0!important;margin:0!important;padding:12px 14px!important}.bn-wrapper.bn-readonly .bn-block-content[data-content-type=codeBlock]>pre{padding:14px 14px 14px 52px!important}.bn-wrapper.bn-editable .bn-block-content[data-content-type=codeBlock]>pre{min-height:44px;padding:8px 14px 14px 52px!important}.bn-code-gutter{z-index:2;box-sizing:border-box;border-right:1px solid var(--ink-line);width:40px;font-family:var(--font-mono,ui-monospace, monospace);font-size:calc(var(--bn-editor-font-size,16px) * .875);font-variant-numeric:tabular-nums;color:#d4be9861;-webkit-user-select:none;user-select:none;pointer-events:none;position:absolute}.bn-code-gutter span{text-align:right;box-sizing:border-box;width:100%;padding-right:10px;line-height:normal;position:absolute;right:0}.bn-wrapper .bn-code-copy{z-index:6;color:#ffffff8c;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;height:26px;padding:0 10px;font-family:inherit;font-size:12px;font-weight:600;transition:background .12s,color .12s;display:inline-flex;position:absolute}.bn-wrapper .bn-code-copy:hover{color:var(--ds-white);background:#ffffff1a}.bn-wrapper pre code{display:block}.code-copy-btn{color:#ffffff8c;cursor:pointer;-webkit-user-select:none;user-select:none;z-index:3;background:0 0;border:none;border-radius:7px;height:22px;padding:0 10px;font-family:inherit;font-size:12px;font-weight:600;transition:background .15s,color .15s;position:absolute;top:3px;right:6px}.bn-wrapper.bn-readonly .code-copy-btn{z-index:2}.bn-wrapper.bn-readonly .bn-block-content[data-content-type=codeBlock]:not([data-language])>.code-copy-btn{top:8px}.code-copy-btn:hover{color:var(--ds-white);background:#ffffff1a}.code-copy-btn.done{color:#7fb894;background:0 0}.bn-wrapper .bn-container[data-color-scheme=light]{--bn-colors-editor-background:var(--surface);--bn-colors-editor-text:var(--text);--bn-colors-menu-background:var(--surface);--bn-colors-menu-text:var(--text);--bn-colors-border:var(--border)}.bn-wrapper.bn-editable{border-radius:12px}.bn-wrapper .ProseMirror{min-height:380px;padding:18px 24px}.bn-readonly .ProseMirror{min-height:auto;padding:0}.bn-readonly .bn-container{background:0 0!important}.rte{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.rte-toolbar{border-bottom:1px solid var(--border);background:var(--bg,#fafafa);z-index:1;flex-wrap:wrap;gap:2px;padding:8px;display:flex;position:sticky;top:0}.rte-btn{cursor:pointer;min-width:30px;height:30px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:0 8px;font-size:.9rem;font-weight:600;display:inline-flex}.rte-btn:hover{background:var(--primary-light)}.rte-btn.active{background:var(--primary-light);color:var(--primary);border-color:var(--primary)}.rte-btn:disabled{opacity:.35;cursor:not-allowed}.rte-sep{background:var(--border);align-self:stretch;width:1px;margin:4px;display:inline-block}.rte-content{min-height:400px;padding:20px 24px}.rte-content .ProseMirror{outline:none;min-height:400px;line-height:1.7}.rte-content .ProseMirror p{margin:.4em 0}.rte-content .ProseMirror h1{margin:.8em 0 .4em;font-size:1.6rem;font-weight:700}.rte-content .ProseMirror h2{margin:.7em 0 .35em;font-size:1.3rem;font-weight:700}.rte-content .ProseMirror h3{margin:.6em 0 .3em;font-size:1.1rem;font-weight:600}.rte-content .ProseMirror img{border-radius:8px;max-width:100%;height:auto;margin:.4em 0}.rte-content .ProseMirror blockquote{border-left:4px solid var(--primary);color:var(--text-muted);margin:.6em 0;padding-left:14px;font-style:italic}.rte-content .ProseMirror code{background:var(--bg,#f3f4f6);font-family:var(--font-mono);border-radius:4px;padding:2px 5px;font-size:.9em}.rte-content .ProseMirror pre{color:#e4e4e7;background:#1e1e1e;border-radius:8px;margin:.6em 0;padding:14px 18px;overflow-x:auto}.rte-content .ProseMirror pre code{color:inherit;background:0 0;padding:0}.rte-content .ProseMirror a{color:var(--primary);text-decoration:underline}.rte-content .ProseMirror ul,.rte-content .ProseMirror ol{margin:.4em 0;padding-left:1.4em}.rte-content .ProseMirror table{border-collapse:collapse;width:100%;margin:.6em 0}.rte-content .ProseMirror th,.rte-content .ProseMirror td{border:1px solid var(--border);padding:6px 10px}.rte-content .ProseMirror th{background:var(--primary-light);font-weight:600}.rte-content .ProseMirror hr{border:none;border-top:1px solid var(--border);margin:1em 0}.rte-content .ProseMirror .rte-video{border-radius:8px;height:0;margin:.6em 0;padding-bottom:56.25%;position:relative;overflow:hidden}.rte-content .ProseMirror .rte-video iframe{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.rte-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-muted);pointer-events:none;height:0}.rte-loading{text-align:center;color:var(--text-muted);padding:40px}.rte-rendered{color:var(--text);line-height:1.7}.rte-rendered h1{color:var(--text-heading);margin:1em 0 .5em;font-size:1.8rem;font-weight:700}.rte-rendered h2{color:var(--text-heading);margin:.9em 0 .45em;font-size:1.4rem;font-weight:700}.rte-rendered h3{color:var(--text-heading);margin:.8em 0 .4em;font-size:1.15rem;font-weight:600}.rte-rendered p{margin:.6em 0}.rte-rendered img{border-radius:8px;max-width:100%;height:auto}.rte-rendered blockquote{border-left:4px solid var(--primary);color:var(--text-muted);margin:.8em 0;padding-left:14px;font-style:italic}.rte-rendered code{background:var(--bg,#f3f4f6);font-family:var(--font-mono);border-radius:4px;padding:2px 5px;font-size:.9em}.rte-rendered pre{color:#e4e4e7;background:#1e1e1e;border-radius:8px;padding:14px 18px;overflow-x:auto}.rte-rendered pre code{color:inherit;background:0 0;padding:0}.rte-rendered a{color:var(--primary);text-decoration:underline}.rte-rendered ul,.rte-rendered ol{padding-left:1.4em}.rte-rendered table{border-collapse:collapse;width:100%;margin:.8em 0}.rte-rendered th,.rte-rendered td{border:1px solid var(--border);padding:6px 10px}.rte-rendered th{background:var(--primary-light);font-weight:600}.rte-rendered hr{border:none;border-top:1px solid var(--border);margin:1.2em 0}.rte-rendered .rte-video{border-radius:8px;height:0;margin:.8em 0;padding-bottom:56.25%;position:relative;overflow:hidden}.rte-rendered .rte-video iframe{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.ec-view-pane,.ec-edit-pane{flex-direction:column;gap:16px;animation:.25s ec-fade-in;display:flex}.ec-view-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.ec-view-header h1{color:var(--text-heading);margin:0}.ec-edit-header{align-items:center;gap:10px;display:flex}.ec-title-input{flex:1;font-size:1.15rem;font-weight:600}.ec-edit-actions{flex-shrink:0;gap:8px;display:flex}.edit-course-layout{grid-template-columns:320px 1fr;gap:24px;max-width:1600px;min-height:calc(100vh - 64px);margin:0 auto;padding:20px 24px;display:grid}.edit-course-sidebar{flex-direction:column;align-self:start;gap:16px;max-height:calc(100vh - 100px);display:flex;position:sticky;top:80px;overflow-y:auto}.edit-course-main{background:var(--surface);border:1px solid var(--border);border-radius:14px;min-height:400px;padding:24px}.ec-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.ec-overview-link{cursor:pointer;width:100%;color:var(--text);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s;display:flex}.ec-overview-link:hover{background:color-mix(in srgb, var(--primary) 6%, transparent);border-color:color-mix(in srgb, var(--primary) 30%, var(--border))}.ec-overview-link.active{background:color-mix(in srgb, var(--primary) 14%, transparent);border-color:var(--primary);color:var(--primary)}.ec-overview-icon{font-size:1.1rem;line-height:1}.ec-overview-hint{color:var(--text-muted);background:color-mix(in srgb, var(--primary) 4%, transparent);border-left:3px solid var(--primary);border-radius:0 8px 8px 0;margin-bottom:12px;padding:10px 14px;font-size:.85rem;line-height:1.5}.player-overview-content{margin:16px 0}.player-overview-content .bn-wrapper{margin:0}.player-overview-content .ProseMirror{padding:0}.status-badge.public{color:#4e7563;background:#5e8a7424;border:1px solid #5e8a744d}.status-badge.private{color:#a87623;background:#c28b2d24;border:1px solid #c28b2d4d}.invite-create{flex-direction:column;gap:6px;margin-top:4px;display:flex}.invite-create-row{align-items:center;gap:6px;display:flex}.invite-uses-input{text-align:center;width:80px}.invite-list{flex-direction:column;gap:6px;margin-top:6px;display:flex}.invite-row{background:var(--bg,color-mix(in srgb, var(--primary) 4%, transparent));border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:.88rem;transition:opacity .15s;display:flex}.invite-row.inactive{opacity:.55}.invite-row-meta{align-items:center;gap:8px;min-width:0;display:flex}.invite-row-count{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.invite-row-actions{gap:4px;display:flex}.invite-tag{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:2px 6px;font-size:.68rem;font-weight:700}.invite-tag.revoked{color:#b5432c;background:#c94f3524}.invite-tag.exhausted{color:var(--text-muted);background:#a3a0982e}.invite-page{background:var(--bg,transparent);justify-content:center;align-items:center;min-height:100dvh;padding:64px 20px 40px;display:flex;position:relative}.invite-page-brand{letter-spacing:.02em;color:var(--text-heading,var(--text));font-size:1.05rem;font-weight:800;text-decoration:none;position:absolute;top:22px;left:50%;transform:translate(-50%)}.invite-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:16px;flex-direction:column;align-items:center;width:100%;max-width:480px;padding:32px 28px;display:flex;box-shadow:0 10px 40px #00000014}.invite-card-icon{margin-bottom:8px;font-size:3rem}.invite-card-title{color:var(--text-heading);margin:0 0 16px;font-size:1.4rem}.invite-course-name{color:var(--text);font-size:1.2rem;font-weight:700}.invite-course-desc{color:var(--text-muted);margin:12px 0 20px;font-size:.95rem;line-height:1.5}.invite-stats{background:color-mix(in srgb, var(--primary) 6%, transparent);border-radius:10px;gap:16px;margin:8px 0 24px;padding:12px 16px;display:flex}.invite-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.invite-stat-label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.04em;font-size:.75rem}.invite-stat-value{color:var(--primary);font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:700}.invite-card .btn{min-width:220px}.invite-login-hint{color:var(--text-muted);margin-top:10px;font-size:.85rem}.ec-unsaved{white-space:nowrap;color:var(--warning,#b5432c);align-items:center;font-size:.78rem;font-weight:600;display:inline-flex}.ec-attach{border:1px dashed var(--border);background:color-mix(in srgb, var(--primary) 4%, transparent);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 14px;padding:8px 12px;display:flex}.ec-attach-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.8rem;font-weight:700}.ec-attach-hint{color:var(--text-muted);font-size:.78rem}.ec-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.ec-card-header h3{color:var(--text-heading);margin:0;font-size:.95rem;font-weight:700}.ec-meta{flex-direction:column;gap:8px;display:flex}.ec-title{color:var(--text);font-size:1.02rem;font-weight:600}.ec-desc{color:var(--text-muted);font-size:.85rem;line-height:1.4}.ec-tags{flex-wrap:wrap;gap:6px;display:flex}.ec-card-actions{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:8px;display:flex}.ec-mod-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ec-mod-item{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:background .15s,border-color .15s;display:flex}.ec-mod-item:hover{background:var(--primary-light)}.ec-mod-item.active{background:var(--primary-light);border-color:var(--primary);font-weight:600}.ec-mod-num{background:var(--border);width:22px;height:22px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.ec-mod-item.active .ec-mod-num{background:var(--primary);color:var(--ds-white)}.ec-mod-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.9rem;overflow:hidden}.ec-mod-count{color:var(--text-muted);background:var(--border);text-align:center;border-radius:8px;min-width:18px;padding:2px 6px;font-size:.75rem}.ec-empty{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;display:flex}.ec-empty-icon{opacity:.6;margin-bottom:12px;font-size:3rem}.ec-empty-title{color:var(--text);margin-bottom:6px;font-size:1.1rem;font-weight:600}.ec-empty-sub{font-size:.9rem}.ec-module-pane{flex-direction:column;gap:20px;animation:.25s ec-fade-in;display:flex}@keyframes ec-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ec-module-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.ec-module-header h2{color:var(--text-heading);margin:0;font-size:1.3rem}.ec-module-actions{flex-shrink:0;gap:6px;display:flex}.ec-mod-input{font-size:1.15rem;font-weight:600}.ec-lessons{flex-direction:column;gap:10px;display:flex}@media (width<=900px){.edit-course-layout{grid-template-columns:1fr;padding:12px}.edit-course-sidebar{max-height:none;position:static}}.lesson-blocks{flex-direction:column;gap:18px;display:flex}.lesson-block{line-height:1.6}.lesson-block-heading h1,.lesson-block-heading h2,.lesson-block-heading h3{color:var(--text-heading);margin:0}.lesson-block-heading h1{font-size:1.8rem;font-weight:700}.lesson-block-heading h2{font-size:1.35rem;font-weight:700}.lesson-block-heading h3{font-size:1.1rem;font-weight:600}.block-image{margin:0}.block-image img{border-radius:10px;max-width:100%;height:auto;display:block;box-shadow:0 2px 10px #0000000f}.block-image figcaption,.block-video figcaption{color:var(--text-muted);text-align:center;margin-top:8px;font-size:.88rem}.block-file{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;align-items:center;gap:14px;padding:14px 18px;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.block-file:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.block-file-icon{flex-shrink:0;font-size:1.6rem}.block-file-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.block-file-name{overflow-wrap:anywhere;font-weight:600}.block-file-size{color:var(--text-muted);font-size:.82rem}.block-file-action{color:var(--primary);background:var(--primary-light);border-radius:8px;flex-shrink:0;padding:6px 12px;font-size:.85rem;font-weight:600}.block-callout{border:1px solid #e3702b40;border-left:4px solid var(--primary);background:linear-gradient(#e3702b0d,#e3702b05);border-radius:10px;gap:14px;padding:16px 18px;display:flex}.callout-icon{flex-shrink:0;font-size:1.5rem;line-height:1}.callout-text{flex:1}.callout-text .markdown-content>:last-child{margin-bottom:0}.blocks-editor{flex-direction:column;gap:14px;display:flex}.blocks-editor-toolbar{background:var(--surface);border:1px solid var(--border);z-index:2;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.blocks-editor-title{font-size:1.05rem;font-weight:700}.blocks-editor-actions{gap:8px;display:flex}.block-editor-row{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:10px;padding:14px;display:flex}.block-editor-side{flex-direction:column;flex-shrink:0;gap:4px;display:flex}.block-editor-body{flex:1;min-width:0}.block-type-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px;font-size:.82rem;font-weight:600}.code-input{font-family:var(--font-mono);font-size:.88rem;line-height:1.5}.add-block-btn{border:1.5px dashed var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:10px;align-self:center;padding:8px 16px;font-size:.9rem;transition:border-color .15s,color .15s,background .15s}.add-block-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.block-picker{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}.block-picker-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin-bottom:12px;display:grid}.block-picker-btn{background:var(--bg,var(--ds-white));border:1px solid var(--border);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;transition:all .15s;display:flex}.block-picker-btn:hover{border-color:var(--primary);background:var(--primary-light)}.bp-icon{font-size:1.6rem}.bp-label{font-size:.85rem;font-weight:500}.block-image-preview{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.block-image-preview img{border:1px solid var(--border);border-radius:8px;max-width:100%;max-height:280px}.block-file-preview{background:var(--primary-light);border-radius:8px;align-items:center;gap:12px;padding:8px 12px;display:flex}.blocks-modal-overlay{z-index:1000;overscroll-behavior:contain;background:#00000080;justify-content:center;align-items:flex-start;padding:24px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.blocks-modal{background:var(--bg,#f7f7fa);border-radius:14px;width:100%;max-width:1400px;padding:20px;box-shadow:0 20px 60px #00000040}.blocks-editor-split{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.blocks-editor-pane{background:var(--surface);border:1px solid var(--border);overscroll-behavior:contain;border-radius:12px;flex-direction:column;gap:14px;max-height:calc(100vh - 180px);padding:16px;display:flex;overflow-y:auto}.blocks-editor-preview{background:var(--bg,var(--ds-white))}.pane-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);background:inherit;z-index:1;margin:-16px -16px 0;padding:12px 16px;font-size:.82rem;font-weight:700;position:sticky;top:0}@media (width<=1024px){.blocks-editor-split{grid-template-columns:1fr}.blocks-editor-pane{max-height:none}}@media (width<=768px){.player-layout{flex-direction:column;height:auto;overflow:visible}.player-sidebar{width:100%;min-width:unset;max-height:45vh}.player-content,.player-course-overview{padding:20px 16px 40px}.stats-row,.profile-page{grid-template-columns:1fr}.navbar{padding:0 16px}.page{padding:20px 16px}.assessment-links{flex-direction:column}.form-row-2,.form-row-3{grid-template-columns:1fr}.edit-course-topbar{flex-direction:column;align-items:flex-start}.lesson-row{flex-wrap:wrap}.task-bank-layout{grid-template-columns:1fr}.task-types-sidebar{position:static}.variant-layout{grid-template-columns:1fr}.variant-nav{position:static}.stats-summary-row{grid-template-columns:repeat(2,1fr)}.stats-layout{grid-template-columns:1fr}.stats-sidebar{position:static}.variant-result-row{grid-template-rows:auto auto;grid-template-columns:100px 1fr}.vr-score{grid-area:2/1}.variant-results-actions{flex-direction:column;align-items:stretch}}.hw-manage-page{max-width:860px;margin:0 auto}.hw-manage-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.hw-manage-head h1{margin:0 0 4px}.hw-form-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:14px;margin-bottom:24px;padding:20px;display:flex}.hw-form-card h3{margin:0}.hw-lookup-row{align-items:center;gap:8px;display:flex}.hw-lookup-row .form-input{flex:1}.hw-resolved{color:#4e7563;margin-top:6px;font-size:.9rem;font-weight:600}.hw-picked-list{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.hw-picked-row{background:color-mix(in srgb, var(--primary) 5%, transparent);border:1px solid var(--border);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.hw-picked-num{background:var(--primary);width:22px;height:22px;color:var(--ds-white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.hw-picked-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;overflow:hidden}.hw-form-actions{justify-content:flex-end;gap:10px;display:flex}.hw-list{flex-direction:column;gap:10px;display:flex}.hw-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;transition:border-color .15s;display:flex}.hw-card:hover{border-color:color-mix(in srgb, var(--primary) 40%, var(--border))}.hw-card-main{flex:1;min-width:0}.hw-card-title{margin-bottom:4px;font-size:1rem;font-weight:600}.hw-card-meta{color:var(--text-muted);flex-wrap:wrap;gap:6px;font-size:.85rem;display:flex}.hw-card-side{flex-shrink:0;align-items:center;gap:10px;display:flex}.hw-score{font-variant-numeric:tabular-nums;color:var(--primary);font-weight:700}.status-badge.hw-status-submitted{color:#4e7563;background:#5e8a7424;border:1px solid #5e8a744d}.status-badge.hw-status-assigned{color:var(--primary);background:#e3702b24;border:1px solid #e3702b4d}.status-badge.hw-status-in_progress{color:#a87623;background:#c28b2d24;border:1px solid #c28b2d4d}.task-picker-item.picked{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, transparent)}.task-picker-check{color:var(--primary);white-space:nowrap;margin-left:auto;font-size:.78rem;font-weight:700}.hw-solve-page{max-width:760px;margin:0 auto}.hw-solve-head{align-items:baseline;gap:12px;margin:12px 0 20px;display:flex}.hw-solve-head h1{margin:0}.hw-solve-due{color:#a87623;font-size:.9rem;font-weight:600}.hw-solve-scorecard{background:color-mix(in srgb, var(--primary) 8%, transparent);border:1px solid var(--border);border-radius:14px;flex-direction:column;align-items:center;gap:4px;margin-bottom:20px;padding:20px;display:flex}.hw-solve-score-big{color:var(--primary);font-variant-numeric:tabular-nums;font-size:2.4rem;font-weight:800}.hw-solve-score-label{color:var(--text-muted)}.hw-solve-tasks{flex-direction:column;gap:16px;display:flex}.hw-solve-task{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:16px 18px;display:flex}.hw-solve-task.correct{border-color:#5e8a7480}.hw-solve-task.wrong{border-color:#c94f3580}.hw-solve-task-head{align-items:center;gap:10px;display:flex}.hw-solve-task-num{background:var(--primary);width:26px;height:26px;color:var(--ds-white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;display:inline-flex}.hw-solve-task-title{font-weight:600}.hw-solve-task-content{color:var(--text);line-height:1.6;overflow-x:auto}.hw-solve-input{width:100%}.hw-solve-verdict{flex-direction:column;gap:6px;display:flex}.hw-solve-answer-row{gap:8px;font-size:.92rem;display:flex}.hw-solve-answer-label{color:var(--text-muted);min-width:110px}.ans-ok{color:#4e7563;font-family:ui-monospace,monospace;font-weight:700}.ans-bad{color:#b5432c;font-family:ui-monospace,monospace;font-weight:700}.hw-solve-badge{border-radius:6px;align-self:flex-start;padding:4px 10px;font-size:.85rem;font-weight:700}.hw-solve-badge.ok{color:#4e7563;background:#5e8a7424}.hw-solve-badge.bad{color:#b5432c;background:#c94f3524}.hw-solve-submit-bar{background:linear-gradient(to top, var(--bg,var(--surface)) 60%, transparent);justify-content:center;margin-top:20px;padding:16px 0;display:flex;position:sticky;bottom:0}.hw-solve-submit-bar .btn{min-width:240px}.dash-hw-list{flex-direction:column;gap:10px;display:flex}.dash-hw-card{border-radius:var(--radius);transition:background .18s var(--ease);color:var(--text);justify-content:space-between;align-items:center;gap:16px;margin:0 -4px;padding:12px 14px;text-decoration:none;display:flex}.dash-hw-card:hover{background:var(--soft)}.dash-hw-main{min-width:0}.dash-hw-title{color:var(--text);margin-bottom:2px;font-weight:600}.dash-hw-meta{color:var(--text-muted);font-size:.85rem}.dash-hw-go{color:var(--primary);white-space:nowrap;font-weight:600}.dash-hw-score{color:var(--primary);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}html.vt-theme::view-transition-old(root){mix-blend-mode:normal;animation:none}html.vt-theme::view-transition-new(root){mix-blend-mode:normal;animation:none}html.vt-theme::view-transition-old(root){z-index:1}html.vt-theme::view-transition-new(root){z-index:2}@keyframes vt-page-out{to{opacity:0;transform:translateY(-10px)scale(.995)}}@keyframes vt-page-in{0%{opacity:0;transform:translateY(14px)scale(.995)}}html:not(.vt-theme)::view-transition-old(root){animation:.26s cubic-bezier(.22,1,.36,1) both vt-page-out}html:not(.vt-theme)::view-transition-new(root){animation:.34s cubic-bezier(.22,1,.36,1) both vt-page-in}::view-transition-group(navbar){animation:none}::view-transition-old(navbar){display:none}::view-transition-new(navbar){animation:none}html.vt-theme *{transition:none!important}::view-transition-group(*){animation-duration:.45s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(*){-o-object-fit:cover;object-fit:cover;height:100%}::view-transition-new(*){-o-object-fit:cover;object-fit:cover;height:100%}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.serif-display{font-family:var(--ds-font-ui);letter-spacing:-.02em;color:var(--text-heading);font-weight:500;line-height:1}.serif-accent{font-family:var(--ds-font-ui);letter-spacing:-.01em;font-weight:500}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);font-size:11px;font-weight:500}.num{font-variant-numeric:tabular-nums;letter-spacing:0}.ink-card{background:var(--ink-bg);color:var(--ink-tx);border-radius:var(--r-lg);transition:background-color .35s,color .35s}.ink-card .eyebrow{color:inherit;opacity:.6}.chip{background:var(--soft);border:1px solid var(--border);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:500;display:inline-flex}.chip-warm{background:var(--primary-light);color:var(--primary);border-color:#0000}.chip-cool{background:var(--cool-soft);color:var(--cool);border-color:#0000}.chip-dark{background:var(--ink-bg);color:var(--ink-tx);border-color:#0000}.chip-on-ink{background:var(--ink-hl-2);color:currentColor;border-color:#0000}.dot{border-radius:999px;flex-shrink:0;width:8px;height:8px;display:inline-block}.icon-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;width:40px;height:40px;color:var(--text);transition:background .25s var(--ease), border-color .25s var(--ease);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--soft)}.ava{color:#5a2a0c;border:2px solid var(--surface);width:40px;height:40px;box-shadow:0 0 0 1px var(--border);background:linear-gradient(135deg,#efd9c5,#d17b4a);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.ava-cool{color:#243b33;background:linear-gradient(135deg,#dde6e0,#7a9286)}.ava-ink{color:var(--ds-white);background:linear-gradient(135deg,#5c544c,#1a1714)}.ava-sand{color:#3d2a14;background:linear-gradient(135deg,#e8ddcb,#a88b66)}.ava-sm{width:32px;height:32px;font-size:11px}.ava-lg{width:56px;height:56px;font-size:18px}.row-hover{transition:background .2s var(--ease);border-radius:14px}.row-hover:hover{background:var(--hover)}.hover-lift{transition:transform .3s var(--ease), box-shadow .3s var(--ease)}.hover-lift:hover{transform:translateY(-1px)}.progress-track{background:var(--soft);border-radius:999px;height:6px;overflow:hidden}.progress-fill{background:var(--primary);height:100%;transition:width .8s var(--ease);border-radius:999px}.week-strip{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.day-slot{background:var(--soft);cursor:pointer;min-height:96px;color:var(--text);transition:background .2s var(--ease), color .2s var(--ease);border-radius:10px;flex-direction:column;gap:4px;padding:10px 8px;display:flex}.day-slot:hover{background:var(--primary-light)}.day-slot.today{background:var(--ink-bg);color:var(--ink-tx)}.day-slot.today .slot-tile{background:var(--ink-hl-2);color:var(--ink-tx);border-color:#0000}.slot-tile{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:4px 6px;font-size:10px;font-weight:600}.slot-tile.busy{background:var(--primary);color:var(--ds-white);border-color:#0000}.slot-tile.cool{background:var(--cool);color:var(--ds-white);border-color:#0000}.enter{opacity:0;animation:enterUp .8s var(--ease) both;transform:translateY(12px)}.enter-1{animation-delay:40ms}.enter-2{animation-delay:.14s}.enter-3{animation-delay:.24s}.enter-4{animation-delay:.34s}.enter-5{animation-delay:.44s}.enter-6{animation-delay:.54s}@keyframes enterUp{to{opacity:1;transform:translateY(0)}}.navbar,.page{z-index:1;position:relative}@media (prefers-reduced-motion:reduce){.enter{opacity:1!important;animation:none!important;transform:none!important}}.logo-v2{color:var(--text-heading);flex-shrink:0;display:inline-block;overflow:visible}.logo-v2-ring{stroke:currentColor}.logo-v2-word{fill:currentColor;font-family:Plus Jakarta Sans,Manrope,system-ui,sans-serif;font-weight:800}.logo-v2-spark{fill:var(--primary)}.logo-v2--inherit{color:inherit}.logo-v2--inherit .logo-v2-spark{fill:currentColor}.logo-v2-sign{transition:transform .4s var(--ease);transform-box:fill-box;transform-origin:50%}.logo-v2:hover .logo-v2-sign{transform:rotate(-12deg)}.logo-v2--animate .logo-v2-ring{stroke-dasharray:100;animation:.42s cubic-bezier(.22,1,.36,1) both logoRing}.logo-v2--animate .logo-v2-word{animation:.34s cubic-bezier(.22,1,.36,1) .28s both logoWord}.logo-v2--animate .logo-v2-spark{transform-box:fill-box;transform-origin:50%;animation:.42s cubic-bezier(.34,1.56,.64,1) .4s both logoSpark,.42s ease-out .4s both logoGlow}@keyframes logoRing{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@keyframes logoWord{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}@keyframes logoSpark{0%{opacity:0;transform:scale(0)rotate(-35deg)}55%{opacity:1}72%{transform:scale(1.18)rotate(4deg)}to{transform:scale(1)rotate(0)}}@keyframes logoGlow{0%,50%{filter:drop-shadow(0 0 #0000)}72%{filter:drop-shadow(0 0 4px var(--primary))}to{filter:drop-shadow(0 0 1.5px #0000)}}@media (prefers-reduced-motion:reduce){.logo-v2--animate .logo-v2-ring,.logo-v2--animate .logo-v2-word,.logo-v2--animate .logo-v2-spark{animation:none!important}}.text-muted{color:var(--text-muted)}.profile-teacher-block{border-top:1px solid var(--border);margin-top:8px;padding-top:18px}.profile-teacher-title{margin:0 0 4px}.profile-teacher-hint{margin:0 0 16px;font-size:.88rem}.cert-edit-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.cert-edit-item{align-items:center;gap:8px;display:flex}.cert-edit-item input{flex:1}.cert-edit-link{font-size:20px;text-decoration:none}.bank-topic-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);padding:8px 10px 3px;font-size:.72rem;font-weight:700}.bank-topic-label--d1{text-transform:none;letter-spacing:.02em;font-size:.74rem;font-weight:600}.bank-diff-dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.bank-diff-dot--easy{background:var(--success,#4e7563)}.bank-diff-dot--medium{background:#c99b2e}.bank-diff-dot--hard{background:var(--danger,#c94f35)}.bank-diff-dot--very_hard{background:#8e2417}.bank-topic-toggle{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;width:100%;display:flex}.bank-topic-toggle:hover{color:var(--text)}.bank-topic-toggle .bank-proto-count{margin-left:auto}.bank-topic-arrow{flex:none;font-size:.8em;transition:transform .12s;display:inline-block}.bank-topic-arrow.open{transform:rotate(90deg)}.bank-topic-select{border:1px solid var(--border,#3a352c);background:var(--surface,transparent);height:28px;color:var(--text);cursor:pointer;border-radius:14px;max-width:260px;padding:0 10px;font-size:.8rem}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-bottom-24{bottom:-6rem}.-bottom-28{bottom:-7rem}.-left-20{left:-5rem}.-left-24{left:-6rem}.-right-16{right:-4rem}.-right-20{right:-5rem}.-right-24{right:-6rem}.-top-16{top:-4rem}.-top-20{top:-5rem}.-top-24{top:-6rem}.right-2{right:.5rem}.top-2{top:.5rem}.z-10{z-index:10}.col-span-12{grid-column:span 12/span 12}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mt-1{margin-top:-.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-32{height:8rem}.h-44{height:11rem}.h-48{height:12rem}.h-64{height:16rem}.h-72{height:18rem}.h-80{height:20rem}.h-full{height:100%}.h-px{height:1px}.min-h-\[8rem\]{min-height:8rem}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-64{width:16rem}.w-72{width:18rem}.w-80{width:20rem}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-\[1420px\]{max-width:1420px}.max-w-\[480px\]{max-width:480px}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-rotate-90{--tw-rotate:-90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.overflow-hidden{overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.break-all{word-break:break-all}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.\!px-2{padding-left:.5rem!important;padding-right:.5rem!important}.\!px-4{padding-left:1rem!important;padding-right:1rem!important}.\!py-0\.5{padding-top:.125rem!important;padding-bottom:.125rem!important}.\!py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pl-4{padding-left:1rem}.pr-5{padding-right:1.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-center{text-align:center}.text-right{text-align:right}.\!text-\[10px\]{font-size:10px!important}.\!text-\[13px\]{font-size:13px!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-\[\.06em\]{letter-spacing:.06em}.tracking-\[\.07em\]{letter-spacing:.07em}.tracking-\[\.16em\]{letter-spacing:.16em}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-\[var\(--cd-ink-2\)\]{color:var(--cd-ink-2)}.text-\[var\(--cd-muted\)\]{color:var(--cd-muted)}.text-\[var\(--cd-tx-2\)\]{color:var(--cd-tx-2)}.text-\[var\(--les-ink-2\)\]{color:var(--les-ink-2)}.text-\[var\(--les-muted\)\]{color:var(--les-muted)}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.opacity-100{opacity:1}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:opacity-100:hover{opacity:1}@media (width>=640px){.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-span-9{grid-column:span 9/span 9}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:justify-end{justify-content:flex-end}.md\:p-7{padding:1.75rem}.md\:p-8{padding:2rem}.md\:text-6xl{font-size:3.75rem;line-height:1}}@media (width>=1024px){.lg\:col-span-10{grid-column:span 10/span 10}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:flex{display:flex}}.k-page{max-width:1120px;margin:0 auto;padding:4px 2px 56px}.k-page-narrow{max-width:760px}.k-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin-bottom:28px;display:flex}.k-head-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.k-title{color:var(--text-heading,var(--text));margin-top:6px}.k-sub{color:var(--cd-muted,var(--text-muted));max-width:62ch;margin-top:8px;line-height:1.6}.k-serif{font-family:var(--ds-font-ui);letter-spacing:-.01em;font-weight:500}.k-num{font-variant-numeric:tabular-nums;letter-spacing:0}.k-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg,var(--radius,16px));box-shadow:var(--shadow,0 1px 2px #2820120a);transition:background-color .35s,border-color .35s,box-shadow .3s,transform .3s}.k-card-pad{padding:24px}.k-ink-card{background:var(--cd-inv-bg,#1c1b18);color:var(--cd-inv-tx,#f4f2ee);border-radius:var(--r-lg,var(--radius,16px))}.k-hover-lift:hover{transform:translateY(-2px);box-shadow:0 1px 2px #1a17140d,0 16px 30px #1a171414}.k-section-head{justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 14px;display:flex}.k-section-title{letter-spacing:-.01em;color:var(--text-heading,var(--text));font-size:1.15rem;font-weight:600}.k-icon-tile{background:var(--cd-accent-soft,color-mix(in srgb, var(--accent,var(--primary)) 14%, var(--surface)));width:40px;height:40px;color:var(--cd-accent,var(--accent,var(--primary)));border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.k-chip{background:var(--soft,var(--bg-alt,#0000000a));border:1px solid var(--border);color:var(--cd-tx-2,var(--text-muted));border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:500;display:inline-flex}.k-chip-warm{background:var(--cd-accent-soft,color-mix(in srgb, var(--accent,var(--primary)) 14%, var(--surface)));color:var(--cd-accent,var(--accent,var(--primary)));border-color:#0000}.k-chip-ok{background:color-mix(in srgb, var(--success,#2e9e6b) 14%, var(--surface));color:var(--success,#2e9e6b);border-color:#0000}.k-stat{padding:18px 20px}.k-stat-value{font-variant-numeric:tabular-nums;color:var(--text-heading,var(--text));font-size:1.9rem;font-weight:700;line-height:1}.k-stat-value span{color:var(--text-muted);font-size:1rem;font-weight:600}.k-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:6px;font-size:12px}.k-progress{background:var(--soft,var(--bg-alt,#0000000f));border-radius:999px;height:6px;overflow:hidden}.k-progress-fill{background:var(--cd-accent,var(--accent,var(--primary)));border-radius:999px;height:100%;transition:width .8s cubic-bezier(.16,1,.3,1)}.k-grid{gap:16px;display:grid}.k-grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.k-grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (prefers-reduced-motion:reduce){.k-card,.k-progress-fill{transition:none}}:is(.markdown-content,.hw-solve-task-content,.task-block-content){--th-border:var(--border,#dbe3ea);--th-line:var(--line,#eaeff3);--th-muted:var(--text-muted,#494f56);--th-soft:color-mix(in srgb, var(--text,#323232) 5%, transparent);--th-head:color-mix(in srgb, var(--text,#323232) 8%, transparent)}:is(.markdown-content,.hw-solve-task-content,.task-block-content) table{border-collapse:collapse;max-width:100%;font-size:.94em;line-height:1.45}:is(.markdown-content,.hw-solve-task-content,.task-block-content) :is(td,th)>p{margin:0 0 .35em;line-height:1.45}:is(.markdown-content,.hw-solve-task-content,.task-block-content) :is(td,th)>p:last-child{margin-bottom:0}:is(.markdown-content,.hw-solve-task-content,.task-block-content) img{max-width:100%;height:auto}.fipi-table-wrap{scrollbar-width:thin;max-width:100%;margin:10px 0 14px;overflow-x:auto}table.fipi-table{border:1px solid var(--th-border)}table.fipi-table :is(td,th){border:1px solid var(--th-border);vertical-align:middle;text-align:left;padding:5px 10px}table.fipi-table tr:first-child :is(td,th) b:only-child{font-weight:600}table.fipi-table--grid :is(td,th){text-align:center;font-variant-numeric:tabular-nums;min-width:2.2em;padding:4px 8px}table.fipi-table--grid tr:first-child :is(td,th),table.fipi-table--grid :is(td,th):first-child{background:var(--th-head);font-weight:600}pre.fipi-code{white-space:pre;tab-size:4;background:var(--th-soft);color:inherit;border-radius:8px;margin:8px 0;padding:8px 12px;font:.86em/1.5 JetBrains Mono,ui-monospace,Consolas,Courier New,monospace;overflow-x:auto}table.fipi-table td>pre.fipi-code{background:0 0;border-radius:0;margin:0;padding:2px 0}table.fipi-table td:has(>pre.fipi-code){vertical-align:top}table.fipi-list{margin:4px 0 10px}table.fipi-list td{vertical-align:top;border:0;padding:3px 8px 3px 0}table.fipi-list td.lbl{white-space:nowrap;width:1%;padding-right:10px;font-weight:600}.fipi-cols{flex-wrap:wrap;align-items:flex-start;gap:10px 28px;margin:6px 0 12px;display:flex}.fipi-col{flex:260px;min-width:0}:is(.fipi-col:has(>.fipi-fig:only-child),.fipi-col:has(>.fipi-table-wrap:only-child)){flex:0 auto}.fipi-col>:first-child{margin-top:0}.fipi-col>:last-child{margin-bottom:0}.fipi-col>p{margin:0 0 .6em}.fipi-col>p:last-child{margin-bottom:0}p.fipi-fig{text-align:center;margin:10px 0 14px}img.fipi-figure{image-rendering:auto;border-radius:6px;max-width:100%;height:auto;display:inline-block}img.fipi-inline{vertical-align:middle;max-width:100%;height:auto;margin:0 2px;display:inline-block}:is(.markdown-content,.hw-solve-task-content,.task-block-content) math{font-size:1.04em}p.fipi-files-note,p.fipi-missing-note{border:1px dashed var(--th-border);color:var(--th-muted);border-radius:10px;align-items:center;gap:8px;margin:0 0 12px;padding:8px 12px;font-size:.92em;display:flex}p.fipi-files-note:before{content:"📎";font-style:normal}p.fipi-missing-note:before{content:"⚠️";font-style:normal}.fipi-stimulus{border-left:3px solid var(--th-border);background:var(--th-soft);border-radius:0 10px 10px 0;margin:0 0 16px;padding:12px 16px;font-size:.95em}.fipi-stimulus>p{margin:0 0 .55em;line-height:1.6}.fipi-stimulus>:last-child{margin-bottom:0}ol.fipi-options{margin:6px 0 10px;padding-left:0;list-style:none}ol.fipi-options>li{border-left:2px solid var(--th-line);margin:0 0 4px;padding:5px 0 5px 12px;line-height:1.5}@media (width<=640px){.fipi-cols{gap:8px 16px}.fipi-col{flex-basis:100%}table.fipi-table :is(td,th){padding:4px 7px}}.ds-btn{appearance:none;border-radius:var(--ds-radius-16);min-height:39px;font:var(--ds-text-s);letter-spacing:0;color:var(--ds-text-on-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:10px 18px;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s,transform .1s ease-out;display:inline-flex}.ds-btn:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:2px}.ds-btn:disabled,.ds-btn[aria-disabled=true]{cursor:not-allowed;color:var(--ds-text-disabled)}.ds-btn.has-icon-right{padding-right:12px}.ds-btn.has-icon-left{padding-left:12px}.ds-btn .ds-btn-icon{flex-shrink:0;width:16px;height:16px;display:inline-flex}.ds-btn .ds-btn-icon>svg,.ds-btn .ds-btn-icon>img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.ds-btn--text-menu .ds-btn-icon{width:11px;height:11px}.ds-btn--primary{background:var(--ds-action-primary);color:var(--ds-text-on-primary)}.ds-btn--primary:hover:not(:disabled){background:var(--ds-action-primary-hover)}.ds-btn--primary:active:not(:disabled),.ds-btn--primary.is-active:not(:disabled){background:var(--ds-action-primary-active)}.ds-btn--primary:disabled{background:var(--ds-action-disabled);color:var(--ds-text-disabled)}.ds-btn--secondary{background:var(--ds-action-secondary);border-color:var(--ds-border-subtle)}.ds-btn--secondary:hover:not(:disabled){background:var(--ds-action-secondary-hover);border-color:#0000}.ds-btn--secondary:active:not(:disabled){background:var(--ds-action-secondary-active);border-color:#0000}.ds-btn--secondary.is-active:not(:disabled){background:var(--ds-grey-500);color:var(--ds-text-on-primary);border-color:#0000}.ds-btn--secondary.is-active:not(:disabled):hover{background:var(--ds-grey-700)}.ds-btn--secondary:disabled{background:var(--ds-action-disabled);border-color:#0000}.ds-btn--tertiary{border-color:var(--ds-border-subtle);background:0 0}.ds-btn--tertiary:hover:not(:disabled){background:var(--ds-action-secondary);border-color:#0000}.ds-btn--tertiary:active:not(:disabled),.ds-btn--tertiary.is-active:not(:disabled){background:var(--ds-action-secondary-hover);border-color:#0000}.ds-btn--tertiary:disabled{border-color:var(--ds-grey-100);background:0 0}.ds-btn--text-menu{min-height:35px;padding:8px 12px}.ds-btn--text-menu.has-icon-right{padding-right:6px}.ds-btn--text-menu:hover:not(:disabled){background:var(--ds-action-secondary)}.ds-btn--text-menu:active:not(:disabled),.ds-btn--text-menu.is-active:not(:disabled){background:var(--ds-action-secondary-hover)}.ds-btn--text{min-height:24px;font:var(--ds-text-xs);gap:4px;padding:4px 8px}.ds-btn--text.has-icon-right{padding-right:4px}.ds-btn--text:hover:not(:disabled),.ds-btn--text:active:not(:disabled),.ds-btn--text.is-active:not(:disabled){color:var(--ds-action-text-hover)}.ds-btn--icon{border-radius:var(--ds-radius-20);width:56px;height:56px;min-height:0;padding:16px;position:relative}.ds-btn--icon .ds-btn-icon{width:24px;height:24px}.ds-btn--icon:hover:not(:disabled){background:var(--ds-action-secondary)}.ds-btn--icon:active:not(:disabled),.ds-btn--icon.is-active:not(:disabled){background:var(--ds-action-secondary-hover)}.ds-btn--icon .ds-btn-dot{background:var(--ds-action-primary);border-radius:50%;width:8px;height:8px;position:absolute;top:14px;left:30px}.ds-btn--icon:disabled .ds-btn-dot{background:var(--ds-text-disabled)}.ds-btn.is-loading{pointer-events:none;position:relative;color:#0000!important}.ds-btn.is-loading>*{visibility:hidden}.ds-btn.is-loading:after{content:"";border:2px solid var(--ds-text-disabled);visibility:visible;border-top-color:#0000;border-radius:50%;width:16px;height:16px;margin:auto;animation:.7s linear infinite ds-spin;position:absolute;inset:0}.ds-btn--primary.is-loading:after{border-color:var(--ds-text-on-primary);border-top-color:#0000}@keyframes ds-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ds-btn.is-loading:after{animation-duration:1.6s}}.ds-field{flex-direction:column;gap:6px;display:flex}.ds-field-label{font:var(--ds-text-s);color:var(--ds-text-primary)}.ds-field-hint{font:var(--ds-text-xs);color:var(--ds-text-muted)}.ds-field-error{font:var(--ds-text-xs);color:var(--ds-status-danger)}.ds-input{appearance:none;border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-16);background:var(--ds-grey-50);width:100%;min-height:48px;font:var(--ds-text-s);color:var(--ds-text-primary);padding:12px 16px;transition:border-color .12s,box-shadow .12s,background-color .12s}.ds-input::placeholder{color:var(--ds-text-muted);opacity:1}.ds-input:focus{border-color:var(--ds-focus-ring);box-shadow:0 0 0 1px var(--ds-focus-ring);outline:none}.ds-input[aria-invalid=true]{background:var(--ds-red-50);border-color:var(--ds-status-danger)}.ds-input[aria-invalid=true]:focus{box-shadow:0 0 0 1px var(--ds-status-danger)}.ds-input:disabled{background:var(--ds-grey-100);border-color:var(--ds-border-subtle);opacity:.65;cursor:not-allowed}textarea.ds-input{resize:vertical;min-height:96px}select.ds-input{cursor:pointer}.ds-tag{border-radius:var(--ds-radius-8);min-height:23px;font:var(--ds-text-xs);white-space:nowrap;border:1px solid #0000;align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.ds-tag--green{color:var(--ds-tag-green-text);background:var(--ds-tag-green-bg);border-color:var(--ds-tag-green-stroke)}.ds-tag--orange{color:var(--ds-tag-orange-text);background:var(--ds-tag-orange-bg);border-color:var(--ds-tag-orange-stroke)}.ds-tag--blue{color:var(--ds-tag-blue-text);background:var(--ds-tag-blue-bg);border-color:var(--ds-tag-blue-stroke)}.ds-tag--violet{color:var(--ds-tag-violet-text);background:var(--ds-tag-violet-bg);border-color:var(--ds-tag-violet-stroke)}.ds-tag--yellow{color:var(--ds-tag-yellow-text);background:var(--ds-tag-yellow-bg);border-color:var(--ds-tag-yellow-stroke)}.ds-tag--red{color:var(--ds-tag-red-text);background:var(--ds-tag-red-bg);border-color:var(--ds-tag-red-stroke)}.ds-tag--dark{color:var(--ds-white);background:var(--ds-grey-950);border-color:var(--ds-grey-950)}.ds-tag--secondary{color:var(--ds-text-on-secondary);background:var(--ds-action-secondary);border-color:var(--ds-border-subtle)}.ds-card{background:var(--ds-surface-card);border-radius:var(--ds-radius-20);box-shadow:var(--ds-shadow-card)}.ds-glass{background:var(--ds-surface-glass);border-radius:var(--ds-radius-20);-webkit-backdrop-filter:blur(var(--ds-glass-floating-blur));box-shadow:var(--ds-glass-floating-shadow)}.ds-glass--window{background:var(--ds-surface-window);-webkit-backdrop-filter:blur(var(--ds-glass-window-blur));box-shadow:var(--ds-glass-window-shadow)}.ds-glass--modal{-webkit-backdrop-filter:blur(var(--ds-glass-modal-blur));box-shadow:var(--ds-glass-modal-shadow)}.ds-skeleton{border-radius:var(--ds-radius-8);background:linear-gradient(90deg, var(--ds-grey-100) 25%, var(--ds-grey-50) 45%, var(--ds-grey-100) 65%);background-size:200% 100%;animation:1.4s ease-in-out infinite ds-shimmer;display:block}@keyframes ds-shimmer{0%{background-position:200% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.ds-skeleton{background:var(--ds-grey-100);animation:none}}.ds-facet-chip{align-items:center;gap:6px;display:inline-flex}.ds-facet-chip-count{background:var(--ds-grey-100,#7f7f7f2e);min-width:18px;height:18px;color:inherit;border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:.68rem;font-weight:600;line-height:1;display:inline-flex}.ds-facet-chip.active .ds-facet-chip-count{background:#ffffff40}.ds-facet-chip:disabled{opacity:.38;cursor:default;pointer-events:none}.ds-scroll{overscroll-behavior:contain;overflow:auto}.ds-pop{opacity:0;pointer-events:none;transition:opacity .15s ease-in,transform .15s ease-in;transform:scale(.96)}.ds-pop.is-open{opacity:1;pointer-events:auto;transition:opacity .2s ease-out,transform .2s cubic-bezier(.23,1,.32,1);transform:none}.ds-pop-fade{opacity:0;pointer-events:none;transition:opacity .15s ease-in}.ds-pop-fade.is-open{opacity:1;pointer-events:auto;transition:opacity .2s ease-out}@media (prefers-reduced-motion:reduce){.ds-pop,.ds-pop.is-open,.ds-pop-fade,.ds-pop-fade.is-open{transition:none}}.ds-stagger-in>*{animation:.22s cubic-bezier(.23,1,.32,1) both ds-stagger-in}.ds-stagger-in>:nth-child(2){animation-delay:25ms}.ds-stagger-in>:nth-child(3){animation-delay:50ms}.ds-stagger-in>:nth-child(4){animation-delay:75ms}.ds-stagger-in>:nth-child(5){animation-delay:.1s}.ds-stagger-in>:nth-child(6){animation-delay:.125s}.ds-stagger-in>:nth-child(7){animation-delay:.15s}.ds-stagger-in>:nth-child(8){animation-delay:.175s}.ds-stagger-in>:nth-child(9){animation-delay:.2s}.ds-stagger-in>:nth-child(n+10){animation-delay:.22s}@keyframes ds-stagger-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ds-stagger-in>*{animation:none}}.ds-btn:active:not(:disabled){transform:scale(.97)}@media (prefers-reduced-motion:reduce){.ds-btn:active:not(:disabled){transform:none}}@keyframes ds-badge-pop{0%{transform:scale(.5)}60%{transform:scale(1.15)}to{transform:scale(1)}}.ds-ico{width:var(--ds-ico-size,24px);height:var(--ds-ico-size,24px);-webkit-mask:var(--ds-ico) center / contain no-repeat;-webkit-mask:var(--ds-ico) center / contain no-repeat;mask:var(--ds-ico) center / contain no-repeat;background-color:currentColor;flex:none;display:inline-block}:root{--cl-bg:#ece8e0;--cl-surface:#fff;--cl-soft:#e8e3d9;--cl-tx:#1c1b18;--cl-tx-2:#2b2a26;--cl-muted:#6f6c64;--cl-tx-3:#a3a098;--cl-accent:#e3702b;--cl-accent-soft:#fbe9dc;--cl-accent-on:#fff;--cl-note-ink:#a6511c;--cl-cool:#7a9286;--cl-cool-soft:#e1e8e2;--cl-line:#e7e1d7;--cl-border:#e0dace;--cl-shadow:0 1px 2px #3228160d, 0 4px 12px -2px #3228160f, 0 18px 40px -16px #3228161a;--cl-shadow-lg:0 2px 4px #3228160f, 0 12px 32px -10px #32281624;--cl-inv-bg:#1c1b18;--cl-inv-tx:#f4f2ee;--cl-inv-mute:#97948d;--cl-inv-line:#f4f2ee1a;--cl-r-sm:12px;--cl-r-md:18px;--cl-r-lg:21px;--cl-ease:cubic-bezier(.22, 1, .36, 1)}.claria{background:var(--cl-bg);color:var(--cl-tx);font-family:var(--ds-font-ui);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:16px;line-height:1.55;transition:background-color .35s,color .35s;position:relative;overflow-x:hidden}.claria p,.claria li{line-height:1.65}.claria a{color:inherit;text-decoration:none}.claria :focus{outline:none}.claria :focus-visible{outline:2px solid var(--cl-accent);outline-offset:3px;border-radius:6px}.cl-container{max-width:1280px;margin:0 auto}.cl-section{z-index:1;padding:80px 24px;position:relative}.cl-serif{font-family:var(--ds-font-ui);letter-spacing:-.005em;font-weight:500}.cl-display{font-family:var(--ds-font-ui);letter-spacing:-.015em;font-size:clamp(50px,8vw,104px);font-weight:500;line-height:.98}.cl-h-section{font-family:var(--ds-font-ui);letter-spacing:-.01em;font-size:clamp(38px,5vw,62px);font-weight:500;line-height:1.02}.cl-stat-num{font-family:var(--ds-font-ui);letter-spacing:-.01em;font-size:64px;font-weight:500;line-height:1}.cl-muted{color:var(--cl-muted)}.cl-mono{font-variant-numeric:tabular-nums}.cl-glow{filter:blur(90px);opacity:.42;pointer-events:none;border-radius:999px;position:absolute}.cl-underline-accent{background-image:linear-gradient(transparent 70%, var(--cl-accent-soft) 70%);background-repeat:no-repeat;background-size:100% 100%;padding:0 4px}.cl-card{background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:var(--cl-r-lg);box-shadow:var(--cl-shadow);transition:background-color .35s ease, border-color .35s ease, transform .3s var(--cl-ease), box-shadow .3s var(--cl-ease)}.cl-ink-card{background:var(--cl-inv-bg);color:var(--cl-inv-tx);border-radius:var(--cl-r-lg);transition:background-color .35s ease, color .35s ease, transform .3s var(--cl-ease), box-shadow .3s var(--cl-ease)}.cl-hover-lift:hover{transform:translateY(-1px)}.cl-card.cl-hover-lift:hover{box-shadow:var(--cl-shadow-lg)}.cl-ink-card.cl-hover-lift:hover{box-shadow:0 20px 40px #1a17142e}.cl-preview{border-radius:var(--cl-r-lg);background:var(--cl-surface);border:1px solid var(--cl-border);position:relative;overflow:hidden;box-shadow:0 30px 80px #1a171414}.cl-pill-nav{background:var(--cl-surface);border:1px solid var(--cl-border);box-shadow:var(--cl-shadow);border-radius:999px;align-items:center;padding:6px;transition:background-color .35s,border-color .35s;display:inline-flex}.cl-nav-item{color:var(--cl-tx-2);cursor:pointer;border-radius:999px;padding:9px 16px;font-size:14px;font-weight:500;transition:background .25s,color .25s}.cl-nav-item:hover{background:var(--cl-soft)}.cl-nav-item.active{background:var(--cl-inv-bg);color:var(--cl-inv-tx)}.cl-logo{align-items:center;gap:8px;display:inline-flex}.cl-logo-mark{color:var(--cl-tx);transition:color .35s ease, transform .4s var(--cl-ease);flex-shrink:0}.cl-logo:hover .cl-logo-mark{transform:rotate(-12deg)}.cl-logo-word{letter-spacing:-.02em;color:var(--cl-tx);font-family:Manrope,system-ui,sans-serif;font-size:18px;font-weight:800;transition:color .35s}.cl-theme-toggle{background:var(--cl-surface);border:1px solid var(--cl-border);cursor:pointer;width:40px;height:40px;color:var(--cl-tx-2);border-radius:999px;justify-content:center;align-items:center;transition:background .25s,border-color .25s;display:inline-flex;position:relative;overflow:hidden}.cl-theme-toggle:hover{background:var(--cl-soft)}.cl-theme-toggle .cl-icon-sun,.cl-theme-toggle .cl-icon-moon{transition:transform .45s var(--cl-ease), opacity .35s ease;position:absolute}.cl-theme-toggle .cl-icon-sun{opacity:1;transform:rotate(0)scale(1)}.cl-theme-toggle .cl-icon-moon{opacity:0;transform:rotate(-90deg)scale(.6)}.cl-btn-primary{background:var(--cl-accent);color:var(--cl-accent-on);border-radius:var(--cl-r-sm);cursor:pointer;transition:transform .28s var(--cl-ease), box-shadow .28s ease, filter .25s ease;border:none;align-items:center;gap:8px;padding:13px 22px;font-family:inherit;font-size:15px;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #0000000f,0 8px 20px #e3702b38}.cl-btn-primary:hover{filter:brightness(1.05);box-shadow:0 1px 2px #0000000f,0 12px 28px #e3702b52}.cl-btn-ghost{color:var(--cl-tx);border-radius:var(--cl-r-sm);border:1px solid var(--cl-border);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:13px 22px;font-family:inherit;font-size:15px;font-weight:600;transition:background .25s,border-color .25s;display:inline-flex}.cl-btn-ghost:hover{background:var(--cl-soft);border-color:var(--cl-tx-2)}.cl-btn-white{background:var(--ds-white);color:#000;border-radius:var(--cl-r-sm);cursor:pointer;align-items:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:600;transition:background .25s;display:inline-flex}.cl-btn-white:hover{background:#f4efe6}.cl-chip{background:var(--cl-soft);border:1px solid var(--cl-border);color:var(--cl-tx-2);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.cl-chip-dark{background:var(--cl-inv-bg);color:var(--cl-inv-tx);border-color:#0000}.cl-chip-on-ink{color:var(--cl-inv-tx);background:#ffffff14;border-color:#0000}.cl-dot{border-radius:999px;width:8px;height:8px;display:inline-block}.cl-grid-bento{grid-template-columns:repeat(12,1fr);gap:16px;display:grid}.cl-col-4{grid-column:span 4}.cl-col-5{grid-column:span 5}.cl-col-7{grid-column:span 7}.cl-col-12{grid-column:span 12}@media (width<=768px){.cl-col-4,.cl-col-5,.cl-col-7{grid-column:span 12}}.cl-note{font-family:var(--ds-font-ui);color:var(--cl-note-ink);letter-spacing:.005em;font-size:19px;font-style:italic;font-weight:500;line-height:1.35}.cl-note-quiet{color:var(--cl-muted)}.cl-ruled{position:relative}.cl-margin-label{letter-spacing:.22em;text-transform:uppercase;color:var(--cl-tx-3);margin-bottom:18px;font-size:11px;font-weight:600;display:inline-block}@media (width>=1140px){.cl-ruled{padding-left:104px}.cl-ruled:before{content:"";background:color-mix(in srgb, var(--cl-accent) 36%, transparent);width:1px;position:absolute;top:6px;bottom:6px;left:44px}.cl-margin-label{writing-mode:vertical-rl;margin:0;position:absolute;top:0;left:23px;transform:rotate(180deg)}}.cl-scrap{background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:10px;position:relative;box-shadow:0 2px 6px #1a17140d,0 14px 30px #1a171412}.cl-scrap:before{content:"";background:color-mix(in srgb, var(--cl-accent) 15%, transparent);border-radius:2px;width:54px;height:16px;position:absolute;top:-9px;left:50%;transform:translate(-50%)rotate(-2deg)}.cl-diptych{grid-template-columns:minmax(0,1fr) 72px minmax(0,1.1fr);align-items:stretch;gap:20px;display:grid}@media (width<=900px){.cl-diptych{grid-template-columns:minmax(0,1fr)}.cl-diptych-arrow{display:none}}.cl-hw-sheet{--cl-rule-h:38px;background:repeating-linear-gradient(180deg, transparent 0, transparent calc(var(--cl-rule-h) - 1px), var(--cl-line) calc(var(--cl-rule-h) - 1px), var(--cl-line) var(--cl-rule-h)), var(--cl-surface);border:1px solid var(--cl-border);border-radius:var(--cl-r-lg)}.cl-hand{font-family:var(--ds-font-ui);font-size:22px;font-style:italic;font-weight:500;line-height:var(--cl-rule-h)}.cl-err{-webkit-text-decoration:underline wavy var(--cl-accent) 2px;-webkit-text-decoration:underline wavy var(--cl-accent) 2px;text-decoration:underline wavy var(--cl-accent) 2px;text-underline-offset:6px}.cl-hw-grid{grid-template-columns:minmax(0,1fr) 176px;display:grid}.cl-hw-margin{border-left:1px solid color-mix(in srgb, var(--cl-accent) 36%, transparent)}@media (width<=640px){.cl-hw-grid{grid-template-columns:minmax(0,1fr)}.cl-hw-margin{border-left:none;border-top:1px dashed color-mix(in srgb, var(--cl-accent) 40%, transparent)}}.cl-draw,.cl-draw-reveal{stroke-dasharray:1;stroke-dashoffset:1px}.cl-draw,.is-in .cl-draw-reveal{animation:cl-draw .7s var(--cl-ease) forwards;animation-delay:var(--d,0s)}@keyframes cl-draw{to{stroke-dashoffset:0}}.cl-enter{opacity:0;animation:cl-enter-up .85s var(--cl-ease) both;transform:translateY(14px)}.cl-enter-1{animation-delay:50ms}.cl-enter-2{animation-delay:.18s}.cl-enter-3{animation-delay:.32s}.cl-enter-4{animation-delay:.46s}.cl-enter-5{animation-delay:.62s}.cl-enter-6{animation-delay:.8s}@keyframes cl-enter-up{to{opacity:1;transform:translateY(0)}}[data-cl-reveal]{opacity:0;transition:opacity .8s var(--cl-ease), transform .8s var(--cl-ease);will-change:opacity, transform;transform:translateY(20px)}[data-cl-reveal].is-in{opacity:1;transform:translateY(0)}[data-cl-reveal-stagger]>*{opacity:0;transition:opacity .7s var(--cl-ease), transform .7s var(--cl-ease);transform:translateY(16px)}[data-cl-reveal-stagger].is-in>*{opacity:1;transform:translateY(0)}[data-cl-reveal-stagger].is-in>:first-child{transition-delay:0s}[data-cl-reveal-stagger].is-in>:nth-child(2){transition-delay:70ms}[data-cl-reveal-stagger].is-in>:nth-child(3){transition-delay:.14s}[data-cl-reveal-stagger].is-in>:nth-child(4){transition-delay:.21s}[data-cl-reveal-stagger].is-in>:nth-child(5){transition-delay:.28s}[data-cl-reveal-stagger].is-in>:nth-child(6){transition-delay:.35s}[data-cl-reveal-stagger].is-in>:nth-child(7){transition-delay:.42s}.cl-count-up{font-variant-numeric:tabular-nums;display:inline-block}@media (prefers-reduced-motion:reduce){.cl-enter,[data-cl-reveal],[data-cl-reveal-stagger]>*{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}.cl-draw,.cl-draw-reveal{stroke-dashoffset:0!important;animation:none!important}}.cl-shell{min-height:100vh}.cl-frame{z-index:1;max-width:1420px;margin:0 auto;padding:20px 24px 48px;position:relative}.cl-topbar{z-index:40;background:color-mix(in srgb, var(--cl-surface) 88%, transparent);-webkit-backdrop-filter:blur(24px);border-radius:20px;align-items:center;gap:16px;margin-bottom:28px;padding:8px 14px;display:flex;position:sticky;top:12px}.cl-topbar .cl-logo{background:var(--cl-surface);border:1px solid var(--cl-border);box-shadow:var(--cl-shadow);border-radius:999px;padding:7px 18px 7px 16px}.cl-topbar-actions{align-items:center;gap:12px;margin-left:auto;display:inline-flex}.cl-search{background:var(--cl-surface);border:1px solid var(--cl-border);max-width:480px;color:var(--cl-muted);border-radius:999px;flex:1;align-items:center;gap:8px;padding:8px 14px;display:none}.cl-search input{min-width:0;color:var(--cl-tx);background:0 0;border:0;outline:none;flex:1;font-family:inherit;font-size:13px}.cl-search input::placeholder{color:var(--cl-muted)}.cl-kbd{background:var(--cl-bg);border:1px solid var(--cl-border);color:var(--cl-muted);border-radius:6px;padding:2px 6px;font-family:ui-monospace,monospace;font-size:10px}@media (width>=1024px){.cl-search{display:flex}}.cl-icon-btn{background:var(--cl-surface);border:1px solid var(--cl-border);cursor:pointer;width:40px;height:40px;transition:background .25s var(--cl-ease);color:var(--cl-tx-2);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.cl-icon-btn:hover{background:var(--cl-soft)}.cl-noti{position:relative}.cl-noti-dot{background:var(--cl-accent);border-radius:999px;width:8px;height:8px;position:absolute;top:8px;right:8px}.cl-ava{color:#5a2a0c;cursor:pointer;border:2px solid var(--cl-surface);width:40px;height:40px;box-shadow:0 0 0 1px var(--cl-border);background:linear-gradient(135deg,#efd9c5,#d17b4a);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.cl-shell-grid{z-index:1;grid-template-columns:1fr;gap:20px;display:grid;position:relative}@media (width>=900px){.cl-shell-grid{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:24px}}.cl-shell-main{min-width:0}.cl-sidebar{flex-direction:column;display:flex}@media (width>=900px){.cl-sidebar{position:sticky;top:20px}}.cl-sidebar-card{-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);border-radius:var(--cl-r-lg);background:#161512b8;border:1px solid #ffffff12;padding:12px;box-shadow:0 20px 50px #00000047}.cl-sidenav{flex-direction:column;gap:4px;display:flex}.cl-side-link{cursor:pointer;transition:background .2s var(--cl-ease), color .2s var(--cl-ease);text-align:left;color:#f4f2eebd;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;width:100%;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;display:flex;position:relative}.cl-side-link:hover{color:var(--ds-white);background:#ffffff0f}.cl-side-link.active{color:var(--ds-white);background:#ffffff1a}.cl-ico{color:#f4f2eebd;width:30px;height:30px;transition:background .2s var(--cl-ease), color .2s var(--cl-ease);background:#ffffff12;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.cl-side-link:hover .cl-ico,.cl-side-link.active .cl-ico{color:var(--ds-white);background:#ffffff24}.cl-side-trail{opacity:.7;margin-left:auto;font-size:10px}.cl-side-badge{color:var(--ds-white);background:#ffffff24;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:600}.cl-side-badge.warm{background:var(--cl-accent);color:var(--ds-white)}.cl-side-divider{background:#ffffff14;height:1px;margin:10px 4px}.cl-streak{margin-top:16px;padding:20px}.cl-streak-label{text-transform:uppercase;letter-spacing:.07em;opacity:.6;font-size:11px;font-weight:500}.cl-streak-row{align-items:baseline;gap:8px;margin-top:8px;display:flex}.cl-streak-num{font-family:var(--ds-font-ui);font-size:48px;font-weight:500;line-height:1}.cl-streak-unit{opacity:.8;font-size:16px}.cl-streak-bars{gap:6px;margin-top:16px;display:flex}.cl-streak-bars span{background:#ffffff17;border-radius:999px;flex:1;height:8px;box-shadow:inset 0 0 0 1px #ffffff38}.cl-streak-bars span.dim{box-shadow:none;background:#e8814973}.cl-streak-bars span.on{background:var(--cl-accent);box-shadow:none}.cl-streak-note{opacity:.8;margin-top:12px;font-size:11px;line-height:1.45}.cl-streak-note b{opacity:1;font-weight:600}@media (width<=899px){.cl-sidenav{flex-direction:row;gap:6px;padding-bottom:4px;overflow-x:auto}.cl-sidenav .cl-side-link{white-space:nowrap;width:auto}}.ds-modal-scrim{z-index:1100;background:#32323266;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.ds-modal{border-radius:var(--ds-radius-24);background:var(--ds-surface-window);-webkit-backdrop-filter:blur(24px);box-shadow:var(--ds-glass-modal-shadow);overscroll-behavior:contain;border:1px solid #fff;outline:none;flex-direction:column;align-items:flex-start;gap:16px;max-height:calc(100vh - 32px);padding:24px;display:flex;overflow:auto}.ds-modal-icon{border-radius:var(--ds-radius-40);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.ds-modal-icon.is-neutral{background:var(--ds-grey-100)}.ds-modal-icon.is-danger{background:var(--ds-red-100)}.ds-modal-title{font:600 20px/normal var(--ds-font-ui);letter-spacing:-.4px;color:var(--ds-text-primary);margin:0}.ds-modal-message{font:500 14px/normal var(--ds-font-ui);color:var(--ds-text-primary);margin:0}.ds-modal-actions{gap:8px;width:100%;display:flex}.ds-modal-actions .ds-btn{flex:1 0 0;justify-content:center;min-width:0}.ds-btn--destructive{background:var(--ds-action-primary-active)}.ds-btn--destructive:hover:not(:disabled){background:#d11f0d}.ds-pm{z-index:1000;transform-origin:100% 0;width:400px;max-width:calc(100vw - var(--ds-pm-right,36px) - 12px);overscroll-behavior:contain;border:1px solid var(--ds-surface-card);border-radius:var(--ds-radius-12);background:var(--ds-surface-window);-webkit-backdrop-filter:blur(24px);max-height:80vh;box-shadow:var(--ds-glass-window-shadow);font-family:var(--ds-font-ui);color:var(--ds-text-primary);flex-direction:column;gap:8px;padding:8px;display:flex;position:fixed;overflow-y:auto}.ds-pm-summary{border-radius:var(--ds-radius-16);background:var(--ds-grey-50);flex-direction:column;gap:12px;padding:16px;display:flex}.ds-pm-user{align-items:center;gap:12px;display:flex}.ds-pm-user-copy{flex-direction:column;flex:1;align-items:flex-start;gap:4px;min-width:0;display:flex}.ds-pm-name{font:600 18px/normal var(--ds-font-ui);letter-spacing:-.36px;text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.ds-pm-email{font:400 12px/normal var(--ds-font-ui);color:var(--ds-grey-400);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.ds-pm-edit{border-radius:var(--ds-radius-16);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.ds-pm-edit:hover{background:var(--ds-grey-200)}.ds-pm-ava{border-radius:var(--ds-radius-20);background:var(--ds-grey-200);width:40px;height:40px;font:600 13px/1 var(--ds-font-ui);color:var(--ds-text-primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ds-pm-ava.is-big{width:48px;height:48px;font-size:15px}.ds-pm-ava{overflow:hidden}.ds-pm-ava img{-o-object-fit:cover;object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.ds-pm-row{border-radius:var(--ds-radius-16);cursor:pointer;text-align:left;width:100%;min-height:56px;font-family:var(--ds-font-ui);color:var(--ds-text-primary);background:0 0;border:0;align-items:center;gap:12px;padding:8px 12px;display:flex}.ds-pm-row:hover:not(:disabled){background:var(--ds-grey-100)}.ds-pm-row.is-inset{padding:8px 12px}.ds-pm-row:disabled{cursor:default}.ds-pm-row-icon{border-radius:var(--ds-radius-16);background:var(--ds-grey-200);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.ds-pm-row-icon.is-red{background:var(--ds-red-100)}.ds-pm-row-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.ds-pm-row-title{font:500 14px/normal var(--ds-font-ui);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ds-pm-row-sub{font:400 12px/normal var(--ds-font-ui);color:var(--ds-grey-400);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ds-pm-row.is-danger{background:var(--ds-red-50)}.ds-pm-row.is-danger:hover{background:var(--ds-red-100)}.ds-pm-row.is-danger .ds-pm-row-title{color:var(--ds-red-400)}.ds-pm-accounts-title{font:500 16px/normal var(--ds-font-ui);letter-spacing:-.32px;align-items:center;gap:8px;padding:8px 12px 4px;display:flex}.ds-pm-accounts-title span{font:400 12px/normal var(--ds-font-ui);color:var(--ds-grey-400)}.ds-pm-account{min-height:64px}.ds-pm-account.is-current{background:var(--ds-grey-100)}.ds-pm-account-head{align-items:center;gap:8px;min-width:0;display:flex}.ds-pm-current-dot{background:var(--ds-status-success);border-radius:50%;flex-shrink:0;width:8px;height:8px}.ds-pm-add{flex-direction:column;gap:8px;width:100%;display:flex}.ds-pm-add-head{flex-direction:column;gap:4px;padding:8px 8px 12px;display:flex}.ds-pm-add-sub{font:400 12px/normal var(--ds-font-ui);color:var(--ds-grey-400);margin:0}.ds-pm-add-error{font:500 12px/normal var(--ds-font-ui);color:var(--ds-red-400);margin:0}.ds-pm-add-actions{gap:8px;width:100%;display:flex}.ds-pm-add-submit{flex:1 0 0;justify-content:center}.ds-pm-add-register{background:var(--ds-grey-100);justify-content:center;width:100%;height:48px}.ds-gs-scrim{z-index:1100;background:#32323266;justify-content:center;align-items:flex-start;padding:96px 16px 24px;display:flex;position:fixed;inset:0}.ds-gs{border:1px solid var(--ds-surface-card);border-radius:var(--ds-radius-24);background:var(--ds-surface-window);-webkit-backdrop-filter:blur(24px);width:720px;max-width:100%;max-height:calc(100vh - 120px);box-shadow:var(--ds-glass-modal-shadow);font-family:var(--ds-font-ui);color:var(--ds-text-primary);flex-direction:column;gap:12px;padding:12px;display:flex}.ds-gs-input{border:1px solid var(--ds-blue-500);border-radius:var(--ds-radius-16);background:var(--ds-grey-50);flex-shrink:0;align-items:center;gap:12px;height:56px;padding:14px 12px 14px 16px;display:flex}.ds-gs-input input{min-width:0;font:500 16px/normal var(--ds-font-ui);letter-spacing:-.32px;color:var(--ds-text-primary);background:0 0;border:0;outline:none;flex:1}.ds-gs-input input::placeholder{color:var(--ds-grey-400)}.ds-gs-clear{border-radius:var(--ds-radius-8);cursor:pointer;opacity:.6;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.ds-gs-clear:hover{opacity:1;background:var(--ds-grey-100)}.ds-gs-key{border:1px solid var(--ds-grey-200);border-radius:var(--ds-radius-8);background:var(--ds-grey-100);font:400 11px/normal var(--ds-font-ui);color:var(--ds-grey-700);flex-shrink:0;padding:5px 8px}.ds-gs-key.is-enter{background:var(--ds-blue-100);border-color:var(--ds-blue-200);color:var(--ds-blue-800)}.ds-gs-hint{font:400 12px/normal var(--ds-font-ui);color:var(--ds-text-secondary);flex-shrink:0;margin:0;padding:2px 4px 0}.ds-gs-hint.is-error{background:var(--ds-red-50);color:var(--ds-red-400)}.ds-gs-chips{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.ds-gs-chip{border:1px solid var(--ds-grey-200);border-radius:var(--ds-radius-12);background:var(--ds-grey-50);font:400 12px/normal var(--ds-font-ui);color:var(--ds-text-primary);cursor:pointer;padding:6px 12px}.ds-gs-chip:hover{background:var(--ds-grey-100)}.ds-gs-chip.is-active{background:var(--ds-blue-100);border-color:var(--ds-blue-200);color:var(--ds-blue-800)}.ds-gs-body{overscroll-behavior:contain;flex-direction:column;flex:1;gap:12px;min-height:0;display:flex;overflow-y:auto}.ds-gs-section{flex-direction:column;gap:6px;display:flex}.ds-gs-head{flex-direction:column;gap:4px;display:flex}.ds-gs-head-row{justify-content:space-between;align-items:center;display:flex}.ds-gs-head h3{font:500 16px/normal var(--ds-font-ui);letter-spacing:-.32px;margin:0}.ds-gs-head-sub{font:400 12px/normal var(--ds-font-ui);color:var(--ds-grey-400);margin:0}.ds-gs-link{font:400 12px/normal var(--ds-font-ui);color:var(--ds-blue-700);cursor:pointer;background:0 0;border:0;padding:0}.ds-gs-link:hover{text-decoration:underline}.ds-gs-row{border-radius:var(--ds-radius-16);text-align:left;width:100%;min-height:64px;font-family:var(--ds-font-ui);color:var(--ds-text-primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:10px 12px;display:flex}.ds-gs-row:hover,.ds-gs-row.is-active{background:var(--ds-grey-100)}.ds-gs-row-icon{border-radius:var(--ds-radius-12);background:var(--ds-blue-50);width:40px;height:40px;color:var(--ds-blue-700);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ds-gs-row-copy{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.ds-gs-row-title{font:500 14px/normal var(--ds-font-ui);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ds-gs-row-sub{font:400 12px/normal var(--ds-font-ui);color:var(--ds-grey-400);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ds-gs-row-meta{flex-shrink:0}.ds-gs-row-kind{font:400 11px/normal var(--ds-font-ui);color:var(--ds-grey-400)}.ds-gs-mark{color:var(--ds-action-primary);background:0 0}.ds-gs-best{border-radius:var(--ds-radius-16);background:var(--ds-blue-50);align-items:center;gap:8px;padding-right:12px;display:flex}.ds-gs-best .ds-gs-row:hover,.ds-gs-best .ds-gs-row.is-active{background:0 0}.ds-gs-best .ds-gs-row-icon{background:var(--ds-blue-100);color:var(--ds-blue-800)}.ds-gs-divider{background:var(--ds-grey-200);flex-shrink:0;height:1px}.ds-gs-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;display:flex}.ds-gs-empty img{opacity:.6}.ds-gs-empty-title{font:500 20px/normal var(--ds-font-ui);letter-spacing:-.4px;margin:4px 0 0}.ds-gs-empty-sub{max-width:460px;font:400 12px/1.5 var(--ds-font-ui);color:var(--ds-grey-400);margin:0}.ds-gs-empty-chips{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.ds-gs-loading{font:400 12px/normal var(--ds-font-ui);color:var(--ds-grey-400);margin:0;padding:16px 12px}.ds-gs-help{border-top:1px solid var(--ds-border-subtle);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:12px 4px 2px;display:flex}.ds-gs-help span{font:400 11px/normal var(--ds-font-ui);color:var(--ds-grey-400);align-items:center;gap:6px;display:inline-flex}@media (width<=720px){.ds-gs-scrim{padding:24px 12px}.ds-gs-help{justify-content:flex-start}}.ds-iv{z-index:1200;font-family:var(--ds-font-ui);background:#323232bd;flex-direction:column;justify-content:flex-start;gap:24px;padding:24px 32px 48px;display:flex;position:fixed;inset:0}.ds-iv-head{flex-shrink:0;align-items:center;gap:12px;height:56px;padding:0 12px;display:flex}.ds-iv-name{font:500 14px/normal var(--ds-font-ui);color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:50vw;overflow:hidden}.ds-iv-meta{font:400 12px/normal var(--ds-font-ui);color:var(--ds-grey-50);white-space:nowrap}.ds-iv-spacer{flex:1}.ds-iv-control{border-radius:var(--ds-radius-40);-webkit-backdrop-filter:blur(6px);width:48px;height:48px;box-shadow:var(--ds-glass-floating-shadow);cursor:pointer;background:#f8fbfdb3;border:1px solid #fff;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ds-iv-control:hover{background:#fff}.ds-iv-canvas{border-radius:var(--ds-radius-20);background:var(--ds-blue-50);width:min(960px,100%);min-height:0;max-height:600px;box-shadow:var(--ds-shadow-media);border:1px solid #fff;flex:1;justify-content:center;align-items:center;margin:0 auto;display:flex;overflow:hidden}.ds-iv-img{-o-object-fit:contain;object-fit:contain;max-width:100%;max-height:100%}.katex.katex{font-family:KaTeX_Main,Golos Text,system-ui,Times New Roman,sans-serif}.formula-copyable .katex{cursor:pointer;border-radius:4px;padding:0 .12em;transition:background-color .15s,box-shadow .15s}.formula-copyable .katex:hover{background-color:#e07a4f24}.formula-copyable .katex.formula-copied{background-color:#e07a4f52}.formula-copy-toast{z-index:9999;white-space:nowrap;pointer-events:none;color:#fff;opacity:0;background:#141416eb;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:600;line-height:1.4;animation:.15s forwards formula-copy-toast-in,.3s 1s forwards formula-copy-toast-out;position:fixed;transform:translate(-50%,-130%);box-shadow:0 4px 14px #0000004d}@keyframes formula-copy-toast-in{0%{opacity:0;transform:translate(-50%,-110%)}to{opacity:1;transform:translate(-50%,-130%)}}@keyframes formula-copy-toast-out{to{opacity:0;transform:translate(-50%,-160%)}}@media (prefers-reduced-motion:reduce){.formula-copy-toast{opacity:1;animation:none}.formula-copyable .katex{transition:none}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC)format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.16.47"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.chat-task-card{background:var(--th-surface,var(--cc-surface,#fff));border:1px solid var(--th-border,var(--cc-border,#0000001a));width:min(100%,520px);color:var(--th-text,var(--cc-text,#1a1a1a));text-align:left;border-radius:12px;flex-direction:column;gap:8px;margin:4px 0 6px;padding:10px 12px;display:flex}.chat-task-card__head{align-items:baseline;gap:8px;font-size:14px;font-weight:600;line-height:1.3;display:flex}.chat-task-card__num{background:var(--th-head,var(--cc-surface-2,#0000000f));border-radius:999px;flex:none;padding:1px 7px;font-size:12px}.chat-task-card__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chat-task-card.is-expanded .chat-task-card__title{white-space:normal}.chat-task-card__body{width:100%;max-height:180px;color:inherit;font:inherit;text-align:left;cursor:zoom-in;background:0 0;border:0;padding:0;font-size:13px;line-height:1.45;display:block;position:relative;overflow:hidden}.chat-task-card.is-expanded .chat-task-card__body{cursor:zoom-out;max-height:none}.chat-task-card__body--loading,.chat-task-card__body--muted{cursor:default;opacity:.65}.chat-task-card__content{font-size:13px}.chat-task-card__content>:first-child{margin-top:0}.chat-task-card__content>:last-child{margin-bottom:0}.chat-task-card__content img{max-width:100%;height:auto}.chat-task-card__content .fipi-table-wrap{max-width:100%}.chat-task-card__fade{background:linear-gradient(to bottom, transparent, var(--th-surface,var(--cc-surface,#fff)));pointer-events:none;height:48px;position:absolute;inset:auto 0 0}.chat-task-card__foot{justify-content:flex-end;display:flex}.chat-task-card__open{color:var(--primary,var(--cc-accent,#e8632b));font-size:13px;font-weight:600;text-decoration:none}.chat-task-card__open:hover{text-decoration:underline}.chat-task-card__open.is-disabled{opacity:.5}.chat-link{color:inherit;text-underline-offset:2px;overflow-wrap:anywhere;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.chat-link:hover{opacity:.8}.ds-cw-scrim{z-index:1050;background:#32323266;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ds-cw{border:1px solid var(--ds-surface-card);border-radius:var(--ds-radius-24);background:var(--ds-surface-window);-webkit-backdrop-filter:blur(24px);width:1280px;max-width:calc(100vw - 48px);height:760px;max-height:calc(100vh - 48px);box-shadow:var(--ds-glass-window-shadow);font-family:var(--ds-font-ui);color:var(--ds-text-primary);gap:8px;padding:8px;display:flex}.ds-cw-side{border:1px solid var(--ds-grey-200);border-radius:var(--ds-radius-20);background:var(--ds-surface-window);flex-direction:column;flex-shrink:0;gap:8px;width:408px;min-height:0;padding:12px;display:flex}.ds-cw-tools{align-items:center;gap:8px;display:flex}.ds-cw-search{border:1px solid var(--ds-grey-200);border-radius:var(--ds-radius-16);background:var(--ds-grey-50);flex:1;align-items:center;gap:12px;min-width:0;height:48px;padding:12px 16px;display:flex}.ds-cw-search input{min-width:0;font:500 14px/normal var(--ds-font-ui);color:var(--ds-text-primary);background:0 0;border:0;outline:none;flex:1}.ds-cw-search input::placeholder{color:var(--ds-grey-400)}.ds-cw-compose{border-radius:var(--ds-radius-16);background:var(--ds-action-primary);cursor:pointer;border:0;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.ds-cw-compose:hover{background:var(--ds-action-primary-hover)}.ds-cw-compose img{filter:brightness(0)invert()}.ds-cw-compose[aria-pressed=true]{background:var(--ds-action-primary-active)}.ds-cw-list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow-y:auto}.ds-cw-row{border:1px solid var(--ds-grey-200);border-radius:var(--ds-radius-16);background:var(--ds-surface-window);cursor:pointer;text-align:left;width:100%;min-height:88px;font-family:var(--ds-font-ui);color:var(--ds-text-primary);align-items:center;gap:12px;padding:12px;display:flex}.ds-cw-row:hover{background:var(--ds-grey-50)}.ds-cw-row.is-unread{background:var(--ds-blue-50,#f3f7fb)}.ds-cw-row.is-active{background:var(--ds-grey-100)}.ds-cw-ava-wrap{flex-shrink:0;display:inline-flex;position:relative}.ds-cw-ava{border-radius:var(--ds-radius-20);-o-object-fit:cover;object-fit:cover;background:var(--ds-grey-200);width:48px;height:48px;font:600 14px/1 var(--ds-font-ui);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ds-cw-presence{border-radius:var(--ds-radius-40);background:var(--ds-green-500);border:2px solid var(--ds-surface-card);width:12px;height:12px;position:absolute;bottom:-1px;right:-1px}.ds-cw-row-copy{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.ds-cw-row-name{min-width:0;font:500 14px/normal var(--ds-font-ui);white-space:nowrap;align-items:center;gap:8px;display:flex;overflow:hidden}.ds-cw-row-sub{font:400 12px/normal var(--ds-font-ui);color:var(--ds-grey-400);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ds-cw-row-sub.is-typing,.ds-cw-head-email.is-typing,.ds-cw-typing-dots{color:var(--ds-blue-700,#317099)}.ds-cw-typing-dots{font:400 12px/normal var(--ds-font-ui)}.ds-cw-row-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.ds-cw-row-time{font:400 11px/normal var(--ds-font-ui);color:var(--ds-grey-400)}.ds-cw-unread{border-radius:var(--ds-radius-40);background:var(--ds-orange-50,#fde7e1);font:400 11px/normal var(--ds-font-ui);color:var(--ds-action-primary);padding:3px 7px}.ds-cw-role{border-radius:var(--ds-radius-8);font:400 11px/normal var(--ds-font-ui);border:1px solid #0000;flex-shrink:0;padding:4px 8px}.ds-cw-role.is-student{background:var(--ds-blue-100,#dcebfa);border-color:var(--ds-blue-200);color:var(--ds-blue-800,#144e75)}.ds-cw-role.is-teacher{background:var(--ds-yellow-50,#fff4e1);border-color:var(--ds-yellow-100,#ffe8ca);color:var(--ds-yellow-400,#de731e)}.ds-cw-hint{font:400 12px/1.5 var(--ds-font-ui);color:var(--ds-grey-400);margin:8px}.ds-cw-room{border:1px solid var(--ds-grey-200);border-radius:var(--ds-radius-20);background:var(--ds-grey-50);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.ds-cw-head{background:var(--ds-surface-window);flex-shrink:0;align-items:center;gap:12px;height:72px;padding:12px 16px;display:flex}.ds-cw-head-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.ds-cw-head-name{font:500 16px/normal var(--ds-font-ui);letter-spacing:-.32px}.ds-cw-head-email{font:400 12px/normal var(--ds-font-ui);color:var(--ds-grey-400)}.ds-cw-menu-root{position:relative}.ds-cw-more{border-radius:var(--ds-radius-16);background:var(--ds-grey-100);cursor:pointer;border:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.ds-cw-more:hover{background:var(--ds-grey-200)}.ds-cw-menu{z-index:5;border:1px solid var(--ds-surface-card);border-radius:var(--ds-radius-12);background:var(--ds-surface-window);-webkit-backdrop-filter:blur(24px);min-width:180px;box-shadow:var(--ds-glass-window-shadow);padding:6px;position:absolute;top:calc(100% + 6px);right:0}.ds-cw-menu-item{border-radius:var(--ds-radius-8);text-align:left;width:100%;font:500 14px/normal var(--ds-font-ui);color:var(--ds-text-primary);cursor:pointer;background:0 0;border:0;padding:9px 12px;display:block}.ds-cw-menu-item:hover{background:var(--ds-grey-100)}.ds-cw-menu-item.is-danger{color:var(--ds-red-400)}.ds-cw-menu-item.is-danger:hover{background:var(--ds-red-50)}.ds-cw-pinbar{background:var(--ds-surface-window);border-top:1px solid var(--ds-grey-100);border-bottom:1px solid var(--ds-grey-100);flex-shrink:0;align-items:center;gap:4px;padding:6px 16px;display:flex}.ds-cw-pinbar-body{border-radius:var(--ds-radius-8);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;min-width:0;padding:6px 8px;display:flex}.ds-cw-pinbar-body:hover{background:var(--ds-grey-100)}.ds-cw-pinbar-icon{font-size:14px}.ds-cw-pinbar-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.ds-cw-pinbar-author{font:500 11px/normal var(--ds-font-ui);color:var(--ds-blue-800)}.ds-cw-pinbar-text{font:400 12px/normal var(--ds-font-ui);color:var(--ds-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ds-cw-pinbar-unpin{border-radius:var(--ds-radius-8);width:28px;height:28px;font:400 13px/normal var(--ds-font-ui);color:var(--ds-grey-400);cursor:pointer;background:0 0;border:0;flex-shrink:0}.ds-cw-pinbar-unpin:hover{background:var(--ds-grey-100);color:var(--ds-text-primary)}.ds-cw-ctx-emoji{justify-content:center;width:20px;font-size:14px;display:inline-flex}.ds-cw-messages{overscroll-behavior:contain;flex-direction:column;flex:1;gap:12px;min-height:0;padding:20px;display:flex;overflow-y:auto}.ds-cw-msg-block{flex-direction:column;gap:12px;display:flex}.ds-cw-day{justify-content:center;align-items:center;height:32px;display:flex}.ds-cw-day span{border-radius:var(--ds-radius-40);background:var(--ds-grey-100);font:400 11px/normal var(--ds-font-ui);color:var(--ds-grey-400);padding:6px 12px}.ds-cw-msg-row{align-items:center;gap:6px;display:flex}.ds-cw-msg-row.is-mine{justify-content:flex-end}.ds-cw-msg-tools{flex-shrink:0;order:2;align-items:center;gap:2px;display:flex}.ds-cw-msg-row.is-mine .ds-cw-msg-tools{order:0}.ds-cw-reply-btn{border-radius:var(--ds-radius-8);cursor:pointer;opacity:0;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:opacity .12s;display:flex}.ds-cw-msg-row:hover .ds-cw-reply-btn,.ds-cw-reply-btn:focus-visible{opacity:.7}.ds-cw-reply-btn:hover{opacity:1;background:var(--ds-grey-100)}.ds-cw-msg-block.is-highlighted .ds-cw-bubble{box-shadow:0 0 0 2px var(--ds-blue-500);transition:box-shadow .2s}.ds-cw-quote{border:0;border-left:3px solid var(--ds-blue-500);border-radius:var(--ds-radius-8);background:var(--ds-blue-50);text-align:left;width:100%;font-family:var(--ds-font-ui);cursor:pointer;flex-direction:column;gap:4px;padding:8px 8px 8px 12px;display:flex}.ds-cw-quote:hover{background:var(--ds-blue-100)}.ds-cw-quote-author{font:400 12px/normal var(--ds-font-ui);color:var(--ds-blue-800)}.ds-cw-quote-text{font:400 11px/1.35 var(--ds-font-ui);color:var(--ds-grey-400);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ds-cw-forwarded{font:400 11px/normal var(--ds-font-ui);color:var(--ds-grey-400);align-items:center;gap:6px;display:inline-flex}.ds-cw-forwarded img{opacity:.7}.ds-cw-sender{font:600 11px/normal var(--ds-font-ui);color:var(--ds-grey-500)}.ds-cw-edited{font:400 11px/normal var(--ds-font-ui);color:var(--ds-grey-400);font-style:italic}.ds-cw-fwd-list{overscroll-behavior:contain;flex-direction:column;gap:4px;width:100%;max-height:320px;display:flex;overflow-y:auto}.ds-cw-fwd-list .ds-cw-row{border:1px solid var(--ds-grey-200);min-height:64px}.ds-cw-reply-preview{border-left:3px solid var(--ds-blue-500);border-radius:var(--ds-radius-8);background:var(--ds-blue-50);flex-direction:column;gap:2px;padding:6px 28px 6px 10px;display:flex;position:relative}.ds-cw-reply-preview button{width:18px;height:18px;color:var(--ds-grey-400);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:11px;line-height:1;position:absolute;top:6px;right:6px}.ds-cw-reply-preview button:hover{background:var(--ds-grey-200)}.ds-cw-reply-preview.is-edit{border-left-color:var(--ds-action-primary);background:var(--ds-orange-50)}.ds-cw-reply-preview.is-edit .ds-cw-quote-author{color:var(--ds-action-primary)}.ds-cw-bubble{border-radius:var(--ds-radius-16);border:1px solid;flex-direction:column;gap:8px;max-width:360px;padding:12px;display:flex}.ds-cw-bubble.is-in{background:var(--ds-grey-100);border-color:var(--ds-grey-200);border-bottom-left-radius:var(--ds-radius-4)}.ds-cw-bubble.is-out{background:var(--ds-orange-50,#fde7e1);border-color:var(--ds-orange-200,#fdc3aa);border-bottom-right-radius:var(--ds-radius-4)}.ds-cw-text{font:500 14px/normal var(--ds-font-ui);word-break:break-word;white-space:pre-wrap;margin:0}.ds-cw-meta{font:400 11px/normal var(--ds-font-ui);color:var(--ds-grey-400);justify-content:flex-end;align-items:center;gap:6px;display:flex}.ds-cw-ctx{z-index:1060;border:1px solid var(--ds-surface-card);border-radius:var(--ds-radius-12);background:var(--ds-surface-window);-webkit-backdrop-filter:blur(24px);width:264px;box-shadow:var(--ds-glass-window-shadow);flex-direction:column;gap:4px;padding:8px;display:flex;position:fixed}.ds-cw-ctx-item{border-radius:var(--ds-radius-12);text-align:left;width:100%;height:44px;font:500 14px/normal var(--ds-font-ui);color:var(--ds-text-primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:10px 12px;display:flex}.ds-cw-ctx-item:hover:not(:disabled){background:var(--ds-grey-100)}.ds-cw-ctx-item:disabled{opacity:.5;cursor:default}.ds-cw-ctx-item.is-danger{background:var(--ds-red-50);color:var(--ds-red-400)}.ds-cw-ctx-item.is-danger:hover{background:var(--ds-red-100)}.ds-cw-muted-mark{vertical-align:-2px;opacity:.6;margin-right:4px}.ds-cw-bubble.is-error{border-color:var(--ds-red-400)}.ds-cw-failed{color:var(--ds-red-400)}.ds-cw-retry{border-radius:var(--ds-radius-8);width:18px;height:18px;color:var(--ds-red-400);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;display:inline-flex}.ds-cw-retry:hover{background:var(--ds-red-100)}.ds-cw-file{border:1px solid var(--ds-grey-200);border-radius:var(--ds-radius-16);background:var(--ds-grey-100);width:100%;min-height:72px;color:inherit;align-items:center;gap:12px;padding:12px;text-decoration:none;display:flex}a.ds-cw-file:hover{background:var(--ds-grey-200)}.ds-cw-file-icon{border-radius:var(--ds-radius-16);background:var(--ds-blue-50);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.ds-cw-file-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.ds-cw-file-name{font:500 14px/normal var(--ds-font-ui);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ds-cw-file-sub{font:400 12px/normal var(--ds-font-ui);color:var(--ds-grey-400)}.ds-cw-spinner{border:2px solid var(--ds-blue-200);border-top-color:var(--ds-blue-700);border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:.8s linear infinite ds-cw-spin}.ds-cw-spinner.is-small{border-width:2px;width:14px;height:14px}@keyframes ds-cw-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ds-cw-spinner{animation-duration:2.4s}}.ds-cw-attachment{border:1px solid var(--ds-grey-200);border-radius:var(--ds-radius-16);background:var(--ds-grey-100);width:100%;color:inherit;font:inherit;text-align:left;cursor:zoom-in;flex-direction:column;gap:8px;padding:8px;text-decoration:none;display:flex}.ds-cw-attachment:hover{background:var(--ds-grey-200)}.ds-cw-attachment-preview{border-radius:var(--ds-radius-12);background:var(--ds-blue-50,#f3f7fb);justify-content:center;align-items:center;height:164px;display:flex;overflow:hidden}.ds-cw-attachment-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.ds-cw-attachment-info{justify-content:space-between;align-items:center;gap:8px;display:flex}.ds-cw-attachment-name{font:500 14px/normal var(--ds-font-ui);align-items:center;gap:6px;display:flex}.ds-cw-composer{border:1px solid var(--ds-grey-200);border-radius:var(--ds-radius-20);background:var(--ds-grey-50);flex-shrink:0;align-items:flex-end;gap:12px;margin:0 16px 16px;padding:12px;display:flex}.ds-cw-attach{border-radius:var(--ds-radius-16);background:var(--ds-grey-100);cursor:pointer;border:0;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.ds-cw-attach:hover:not(:disabled){background:var(--ds-grey-200)}.ds-cw-field{border-radius:var(--ds-radius-16);background:var(--ds-grey-100);flex-direction:column;flex:1;gap:8px;min-width:0;padding:12px 16px;display:flex}.ds-cw-field textarea{resize:none;font:400 13px/1.4 var(--ds-font-ui);color:var(--ds-text-primary);background:0 0;border:0;outline:none;max-height:120px}.ds-cw-field textarea::placeholder{color:var(--ds-grey-400);font-size:12px}.ds-cw-attached{width:72px;position:relative}.ds-cw-attached img{-o-object-fit:cover;object-fit:cover;border-radius:var(--ds-radius-8);width:72px;height:54px}.ds-cw-attached button{background:var(--ds-grey-950,#323232);width:18px;height:18px;color:var(--ds-text-on-primary);cursor:pointer;border:0;border-radius:50%;font-size:10px;position:absolute;top:-6px;right:-6px}.ds-cw-send{border-radius:var(--ds-radius-16);background:var(--ds-blue-200,#cbe1f0);cursor:pointer;border:0;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.ds-cw-send:disabled{opacity:.55;cursor:default}.ds-cw-send:hover:not(:disabled){background:var(--ds-blue-300,#a9cbe4)}.ds-cw-empty{font:400 13px/normal var(--ds-font-ui);color:var(--ds-grey-400);flex:1;justify-content:center;align-items:center;display:flex}.ds-cw-info{border:1px solid var(--ds-grey-200);border-radius:var(--ds-radius-20);background:var(--ds-surface-window);flex-direction:column;flex-shrink:0;gap:8px;width:320px;min-height:0;padding:12px;display:flex}.ds-cw-info-head{justify-content:space-between;align-items:center;padding:4px 4px 0;display:flex}.ds-cw-info-title{font:600 15px/normal var(--ds-font-ui)}.ds-cw-info-close{border-radius:var(--ds-radius-8);width:32px;height:32px;color:var(--ds-grey-400);font:400 14px/1 var(--ds-font-ui);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex}.ds-cw-info-close:hover{background:var(--ds-grey-100);color:var(--ds-text-primary)}.ds-cw-info-tabs{border:1px solid var(--ds-grey-200);border-radius:var(--ds-radius-16);background:var(--ds-grey-50);gap:4px;padding:4px;display:flex}.ds-cw-info-tab{border-radius:var(--ds-radius-12,12px);font:500 13px/normal var(--ds-font-ui);color:var(--ds-grey-400);cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:1;padding:8px 10px}.ds-cw-info-tab:hover{color:var(--ds-text-primary)}.ds-cw-info-tab.is-active{background:var(--ds-surface-window);color:var(--ds-text-primary);box-shadow:0 1px 2px #0000000f}.ds-cw-info-body{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow-y:auto}.ds-cw-member{border-radius:var(--ds-radius-16);align-items:center;gap:12px;padding:8px;display:flex}.ds-cw-member:hover{background:var(--ds-grey-50)}.ds-cw-member .ds-cw-row-name{font-size:14px}.ds-cw-row-sub.is-online{color:var(--ds-green-500,#3ba55d)}.ds-cw-you{border-radius:var(--ds-radius-8);font:400 11px/normal var(--ds-font-ui);background:var(--ds-grey-100);border:1px solid var(--ds-grey-200);color:var(--ds-grey-400);flex-shrink:0;padding:4px 8px}.ds-cw-info-sub{font:600 12px/normal var(--ds-font-ui);color:var(--ds-grey-400);text-transform:uppercase;letter-spacing:.04em;margin:4px 4px 0}.ds-cw-info-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.ds-cw-info-photo{border:1px solid var(--ds-grey-200);border-radius:var(--ds-radius-8);background:var(--ds-grey-50);cursor:pointer;aspect-ratio:1;padding:0;overflow:hidden}.ds-cw-info-photo img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.ds-cw-info-photo:hover img{opacity:.85}.ds-cw-info-files{flex-direction:column;gap:8px;display:flex}@media (width<=900px){.ds-cw{flex-direction:column;height:auto}.ds-cw-side{width:100%;max-height:40vh}.ds-cw-info{width:100%;max-height:45vh}}.ds-fabs{z-index:60;flex-direction:column;align-items:flex-end;gap:16px;display:flex;position:fixed;bottom:36px;right:36px}.ds-fab{border-radius:var(--ds-radius-20);background:var(--ds-surface-glass);-webkit-backdrop-filter:blur(6px);width:72px;height:72px;box-shadow:var(--ds-glass-floating-shadow);cursor:pointer;border:0;justify-content:center;align-items:center;padding:24px;transition:background .15s,box-shadow .15s,transform .15s;display:flex}.ds-fab:hover{background:var(--ds-surface-card);transform:translateY(-1px)}.ds-fab:focus-visible{outline:2px solid var(--ds-action-primary);outline-offset:2px}.ds-fab img{display:block}.ds-fab{position:relative}.ds-fab-unread{border-radius:var(--ds-radius-40);background:var(--ds-action-primary);min-width:18px;color:var(--ds-text-on-primary);font:600 10px/1.2 var(--ds-font-ui);padding:2px 5px;animation:.26s cubic-bezier(.23,1,.32,1) ds-badge-pop;position:absolute;top:calc(50% - 20px);left:calc(50% + 2px);right:auto}@media (prefers-reduced-motion:reduce){.ds-fab-unread{animation:none}}.ds-qa-panel{transform-origin:100% 100%;overscroll-behavior:contain;border-radius:var(--ds-radius-24);background:var(--ds-surface-window);-webkit-backdrop-filter:blur(12px);border:1px solid #ffffffb8;flex-direction:column;gap:16px;width:513px;max-width:calc(100vw - 48px);max-height:calc(100vh - 160px);padding:24px 16px;display:flex;position:relative;overflow-y:auto;box-shadow:0 0 31.8px #32323233}.ds-qa-head{flex-direction:column;gap:2px;display:flex}.ds-qa-title{font:600 18px/normal var(--ds-font-ui);color:var(--ds-text-primary,#323232);margin:0}.ds-qa-sub{font:500 12px/normal var(--ds-font-ui);color:var(--ds-text-secondary);margin:0}.ds-qa-rows{flex-direction:column;gap:8px;display:flex}.ds-qa-row{border-radius:var(--ds-radius-16);background:#f8fbfdad;justify-content:space-between;align-items:flex-start;gap:12px;min-height:64px;padding:12px;display:flex}.ds-qa-cat{font:600 14px/normal var(--ds-font-ui);color:var(--ds-text-primary,#323232);flex-shrink:0;align-items:center;gap:10px;padding-top:7px;display:flex}.ds-qa-icon{border-radius:var(--ds-radius-8);justify-content:center;align-items:center;width:40px;height:40px;display:flex}.ds-qa-icon.is-white{background:var(--ds-surface-card)}.ds-qa-icon.is-violet{background:var(--ds-violet-100)}.ds-qa-icon.is-orange{background:var(--ds-orange-100)}.ds-qa-icon.is-blue{background:var(--ds-blue-200)}.ds-qa-icon.is-green{background:var(--ds-green-100)}.ds-qa-icon.is-grey{background:var(--ds-grey-200)}.ds-qa-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.ds-qa-actions .ds-btn{white-space:nowrap}.ds-qa-counter{border-radius:var(--ds-radius-12);background:var(--ds-action-primary,#fb713e);min-width:27px;color:var(--ds-text-on-primary);font:400 10px/normal var(--ds-font-ui);justify-content:center;align-items:center;padding:3px 8px;display:inline-flex}@media (width<=560px){.ds-fabs{bottom:16px;right:16px}.ds-qa-row{flex-direction:column;align-items:flex-start}.ds-qa-actions{justify-content:flex-start}}.ds-fab--qa img{transition:transform .26s cubic-bezier(.23,1,.32,1)}.ds-fab--qa.is-open img{transform:rotate(45deg)}@media (prefers-reduced-motion:reduce){.ds-fab--qa img{transition:none}}.ds-nt{z-index:1000;transform-origin:100% 0;width:480px;max-width:calc(100vw - var(--ds-nt-right,36px) - 16px);border:1px solid var(--ds-surface-card);border-radius:var(--ds-radius-24);background:var(--ds-surface-window);-webkit-backdrop-filter:blur(24px);max-height:min(600px,100vh - 96px);box-shadow:var(--ds-glass-window-shadow);font-family:var(--ds-font-ui);color:var(--ds-text-primary);flex-direction:column;gap:12px;padding:14px;display:flex;position:fixed}.ds-nt-head{flex-shrink:0;align-items:center;gap:10px;padding:2px 4px;display:flex}.ds-nt-head h2{font:600 20px/normal var(--ds-font-ui);letter-spacing:-.4px;margin:0}.ds-nt-count{border-radius:var(--ds-radius-8);background:var(--ds-orange-50);font:400 12px/normal var(--ds-font-ui);color:var(--ds-action-primary);padding:4px 8px}.ds-nt-spacer{flex:1}.ds-nt-readall{font:400 12px/normal var(--ds-font-ui);color:var(--ds-grey-700);cursor:pointer;background:0 0;border:0;padding:0 4px}.ds-nt-readall:hover{color:var(--ds-grey-950);text-decoration:underline}.ds-nt-settings{border-radius:var(--ds-radius-16);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.ds-nt-settings:hover{background:var(--ds-grey-200)}.ds-nt-body{overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.ds-nt-tabs{border-radius:var(--ds-radius-12);background:var(--ds-surface-sunken);flex-shrink:0;grid-template-columns:repeat(3,1fr);gap:2px;padding:3px;display:grid;position:relative}.ds-nt-tabs-indicator{border-radius:var(--ds-radius-8);background:var(--ds-surface-card);box-shadow:var(--ds-shadow-card);pointer-events:none;transition:left .22s cubic-bezier(.23,1,.32,1),width .22s cubic-bezier(.23,1,.32,1);position:absolute;top:3px;bottom:3px}.ds-nt-tab{z-index:1;border-radius:var(--ds-radius-8);min-height:38px;font:500 13px/normal var(--ds-font-ui);letter-spacing:-.13px;color:var(--ds-grey-700);white-space:nowrap;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:8px 10px;transition:color .12s;display:flex;position:relative}.ds-nt-tab:hover,.ds-nt-tab.is-active{color:var(--ds-text-primary)}.ds-nt-tab:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.ds-nt-tabs-indicator{transition:none}}.ds-nt-tab-dot{background:var(--ds-action-primary);border-radius:50%;flex-shrink:0;width:6px;height:6px}.ds-nt-item{border-radius:var(--ds-radius-16);text-align:left;width:100%;font-family:var(--ds-font-ui);color:var(--ds-text-primary);background:0 0;border:0;align-items:flex-start;gap:14px;padding:14px 12px;display:flex;position:relative}.ds-nt-item+.ds-nt-item:before{content:"";background:var(--ds-border-subtle);height:1px;position:absolute;top:0;left:12px;right:12px}.ds-nt-item.is-clickable{cursor:pointer}.ds-nt-item:hover{background:var(--ds-blue-50)}.ds-nt-item:hover:before,.ds-nt-item:hover+.ds-nt-item:before{background:0 0}.ds-nt-item:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:2px}.ds-nt-ava{border-radius:var(--ds-radius-12);border:0;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.ds-nt-ava.is-blue{background:var(--ds-blue-50);color:var(--ds-blue-700)}.ds-nt-ava.is-violet{background:var(--ds-violet-50);color:var(--ds-violet-600)}.ds-nt-ava.is-green{background:var(--ds-green-50);color:var(--ds-green-500)}.ds-nt-ava.is-red{background:var(--ds-red-50);color:var(--ds-red-400)}.ds-nt-ava.is-grey{background:var(--ds-grey-50);color:var(--ds-grey-500)}.ds-nt-copy{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.ds-nt-line{align-items:center;gap:10px;min-width:0;display:flex}.ds-nt-dot{background:var(--ds-action-primary);border-radius:50%;flex-shrink:0;width:8px;height:8px}.ds-nt-dot.is-hidden{background:0 0}.ds-nt-title{min-width:0;font:500 14px/normal var(--ds-font-ui);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ds-nt-text{font:400 12px/1.45 var(--ds-font-ui);color:var(--ds-grey-400);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ds-nt-time{font:400 11px/normal var(--ds-font-ui);color:var(--ds-grey-400);white-space:nowrap;flex-shrink:0}.ds-nt-del{border-radius:var(--ds-radius-8);cursor:pointer;opacity:0;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin:-4px -4px -4px 0;transition:opacity .12s,background-color .12s;display:flex}.ds-nt-item:hover .ds-nt-del,.ds-nt-del:focus-visible{opacity:1}.ds-nt-del:hover{opacity:1;background:var(--ds-red-50)}.ds-nt-hint{font:400 12px/1.5 var(--ds-font-ui);color:var(--ds-grey-400);text-align:center;margin:0;padding:36px 12px}.ds-shell{--ds-gutter:36px;--ds-topbar-top:12px;min-height:100vh;font-family:var(--ds-font-ui);color:var(--ds-text-primary);background:0 0;position:relative;overflow-x:clip}.ds-shell>:not(.ds-fabs):not(.ds-drawer):not(.ds-topbar){z-index:1;position:relative}.ds-topbar-bell{border-radius:var(--ds-topbar-btn-radius);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;width:55px;height:56px;display:flex;position:relative}.ds-topbar-bell:hover{background:var(--ds-grey-100)}.ds-topbar-bell img{flex:none;width:auto;height:20px}.ds-topbar-bell-badge{border-radius:var(--ds-radius-40);background:var(--ds-action-primary);color:#fff;min-width:18px;font:600 10px/1.2 var(--ds-font-ui);justify-content:center;align-items:center;padding:2px 5px;animation:.26s cubic-bezier(.23,1,.32,1) ds-badge-pop;display:inline-flex;position:absolute;top:calc(50% - 18px);left:calc(50% - 1px)}@media (prefers-reduced-motion:reduce){.ds-topbar-bell-badge{animation:none}}.ds-topbar{--ds-topbar-pad:var(--ds-space-4);--ds-topbar-radius:var(--ds-radius-24);--ds-topbar-btn-radius:calc(var(--ds-topbar-radius) - var(--ds-topbar-pad));margin:var(--ds-topbar-top) var(--ds-gutter) 0;padding:var(--ds-topbar-pad);justify-content:space-between;align-items:center;gap:var(--ds-space-8);background:var(--ds-surface-glass);border-radius:var(--ds-topbar-radius);min-height:64px;box-shadow:var(--ds-glass-floating-shadow);display:flex}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.ds-topbar{-webkit-backdrop-filter:blur(var(--ds-glass-window-blur)) saturate(1.6);background:#ffffffd1}}.ds.ds-shell .ds-topbar{z-index:20;top:var(--ds-topbar-top);position:sticky}.ds-topbar-brand{align-items:center;gap:var(--ds-space-12);color:var(--ds-text-primary);padding:0 22px;text-decoration:none;display:flex}.ds-topbar-brand img{width:30px;height:30px;display:block}.ds-topbar-brand img.ds-topbar-wordmark{width:80px;height:36px}.ds-topbar-nav{align-items:center;gap:var(--ds-space-4);display:flex}.ds-topbar-nav .ds-btn{text-decoration:none}.ds-topbar-nav .ds-btn[aria-current=page]{background:var(--ds-action-secondary-hover)}.ds-nav-badge{border-radius:var(--ds-radius-12);background:var(--ds-action-primary);color:var(--ds-white);font:var(--ds-text-xxxs);justify-content:center;align-items:center;padding:4px 8px;display:inline-flex}.ds-nav-dropdown{position:relative}.ds-nav-dropdown-menu{min-width:200px;padding:var(--ds-space-8);background:var(--ds-surface-glass);border-radius:var(--ds-radius-20);-webkit-backdrop-filter:blur(var(--ds-glass-floating-blur));box-shadow:var(--ds-glass-floating-shadow);z-index:30;flex-direction:column;gap:2px;display:flex;position:absolute;top:calc(100% + 8px);left:0}.ds-nav-dropdown-menu .ds-btn{justify-content:flex-start}.ds-nav-caret{transform-origin:50%;flex:none;justify-content:center;align-items:center;width:16px;height:16px;transition:transform .12s;display:inline-flex;transform:rotate(90deg)}.ds-nav-caret>img{width:auto;max-width:100%;height:auto;max-height:100%;display:block}[aria-expanded=true]>.ds-nav-caret{transform:rotate(270deg)}.ds-topbar-search{appearance:none;align-items:center;gap:var(--ds-space-12);min-width:var(--ds-topbar-search-min,200px);height:48px;padding:var(--ds-space-12) var(--ds-space-16);background:var(--ds-grey-50);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-16);font:var(--ds-text-s);color:var(--ds-text-muted);cursor:pointer;flex:0 280px;transition:border-color .12s,background-color .12s;display:flex}.ds-topbar-search:hover{background:var(--ds-grey-100)}.ds-topbar-search:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:2px}.ds-topbar-search img{width:20px;height:20px}.ds-topbar-search .ph{text-align:left;flex:1}.ds-topbar-search kbd{background:var(--ds-grey-200);color:#7c7c7c;height:24px;font:var(--ds-text-s);border-radius:10px;align-items:center;gap:2px;padding:4px 8px;display:inline-flex}.ds-topbar-search kbd img{width:12px;height:12px}.ds-topbar-right{align-items:center;gap:var(--ds-space-8);display:flex}.ds-topbar-right .ds-avatar{border-radius:var(--ds-topbar-btn-radius);-o-object-fit:cover;object-fit:cover;width:55px;height:56px;padding:0;overflow:hidden}.ds-topbar-right .ds-avatar img{-o-object-fit:cover;object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.ds-main{padding:12px var(--ds-gutter) 36px}.ds-main--slide-fwd{animation:.42s cubic-bezier(.23,1,.32,1) ds-main-slide-fwd}.ds-main--slide-back{animation:.42s cubic-bezier(.23,1,.32,1) ds-main-slide-back}@keyframes ds-main-slide-fwd{0%{opacity:0;transform:translate(64px)}to{opacity:1;transform:none}}@keyframes ds-main-slide-back{0%{opacity:0;transform:translate(-64px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ds-main--slide-fwd,.ds-main--slide-back{animation:none}}@media (width<=1100px){.ds-shell{--ds-gutter:16px}.ds-topbar{--ds-topbar-pad:var(--ds-space-12);margin:var(--ds-topbar-top) var(--ds-gutter) 0}.ds-topbar-brand{padding:0 10px}.ds-main{padding:12px var(--ds-gutter) 24px}}.ds-burger{border-radius:var(--ds-topbar-btn-radius);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;width:55px;height:56px;display:none}.ds-burger,.ds-topbar-bell{color:var(--ds-text-primary)}.ds-burger:hover{background:var(--ds-grey-100)}.ds-burger:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:2px}.ds-page-scrim{z-index:50;background:0 0;position:absolute;inset:0}.ds-shell-page{--ds-page-travel:min(69vw, 360px);--ds-page-x:none;z-index:1;background:var(--ds-page-bg);min-height:100vh;translate:var(--ds-page-x);touch-action:pan-y;transition:translate .3s cubic-bezier(.32,.72,0,1),border-radius .3s cubic-bezier(.32,.72,0,1);position:relative}.ds-shell-page.is-shifted{--ds-page-x:var(--ds-page-travel) 0;border-radius:var(--ds-radius-24);box-shadow:var(--ds-glass-window-shadow);overflow:clip}@media (prefers-reduced-motion:reduce){.ds-shell-page{transition:none}}.ds-drawer{z-index:0;gap:var(--ds-space-8);overscroll-behavior:contain;width:min(69vw,360px);padding:var(--ds-space-16) 22px;background:var(--ds-surface-glass);-webkit-backdrop-filter:blur(var(--ds-glass-window-blur));font-family:var(--ds-font-ui);color:var(--ds-text-primary);visibility:hidden;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.ds-drawer.is-open,.ds-shell-page:active~.ds-drawer{visibility:visible}.ds-shell:has(.ds-shell-page[style*=--ds-page-x]) .ds-drawer{visibility:visible}.ds-shell:not(.is-compact) .ds-drawer{display:none}.ds-shell:not(.is-compact) .ds-shell-page{translate:none}.ds-drawer-head{z-index:1;justify-content:space-between;align-items:center;gap:var(--ds-space-8);margin:calc(var(--ds-space-16) * -1) -22px 0;padding:var(--ds-space-16) 22px 31px;background:0 0;display:flex;position:sticky;top:0}.ds-drawer-title{font:var(--ds-text-l);letter-spacing:var(--ds-letter-spacing-tight);color:var(--ds-text-primary)}.ds-drawer-close{border-radius:var(--ds-radius-12);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.ds-drawer-close:hover{background:var(--ds-grey-100)}.ds-drawer-search{align-items:center;gap:var(--ds-space-12);width:100%;min-height:48px;padding:var(--ds-space-12) var(--ds-space-16);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-16);background:var(--ds-grey-50);font:var(--ds-text-s);color:var(--ds-text-muted);cursor:pointer;display:flex}.ds-drawer-search img{width:20px;height:20px}.ds-drawer-nav{margin-top:var(--ds-space-8);flex-direction:column;gap:2px;display:flex}.ds-drawer-link{align-items:center;gap:var(--ds-space-8);min-height:48px;padding:0 var(--ds-space-16);border-radius:var(--ds-radius-16);font:var(--ds-text-m);letter-spacing:var(--ds-letter-spacing-tight);color:var(--ds-text-primary);text-decoration:none;display:flex}.ds-drawer-link:hover{background:var(--ds-surface-sunken)}.ds-drawer-link.active{background:var(--ds-action-secondary)}.ds-drawer-link:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:-2px}.ds-shell.is-compact .ds-topbar-nav,.ds-shell.is-compact .ds-topbar-search{display:none}.ds-shell.is-compact .ds-burger{display:flex}.ds-shell.is-compact .ds-topbar{justify-content:flex-start;gap:var(--ds-space-4);flex-wrap:nowrap}.ds-shell.is-compact .ds-topbar-right{margin-left:auto}@media (width<=720px){.ds-shell{--ds-gutter:12px;--ds-topbar-top:8px}.ds-topbar{margin:var(--ds-topbar-top) var(--ds-gutter) 0}.ds-topbar-brand{gap:var(--ds-space-8);padding:0 4px}.ds-topbar-brand img{width:26px;height:26px}.ds-topbar-brand img.ds-topbar-wordmark{width:66px;height:30px}.ds-topbar{--ds-topbar-btn:calc(64px - var(--ds-topbar-pad) * 2)}.ds-topbar-right{gap:var(--ds-space-4);align-self:stretch;align-items:center}.ds-burger,.ds-topbar-bell,.ds-topbar-right .ds-avatar{width:var(--ds-topbar-btn);height:var(--ds-topbar-btn);border-radius:var(--ds-topbar-btn-radius);flex:none}.ds-burger,.ds-topbar-bell{padding:var(--ds-space-8)}.ds-topbar-right .ds-avatar{padding:0}.ds-main{padding:8px var(--ds-gutter) 24px}}.ds-main--student .k-title,.ds-main--student .k-serif,.ds-main--student .page-title,.ds-main--student .cpage-title,.ds-main--student .cedit-course-title,.ds-main--student .cedit-pane-title,.ds-main--student .cedit-title-input{font-family:var(--ds-font-ui);font-weight:var(--ds-font-weight-semibold);letter-spacing:var(--ds-letter-spacing-tight)}.ds-main--student .k-title,.ds-main--student .cpage-title{font-size:clamp(1.6rem,1.25rem + 1.3vw,2.15rem);line-height:1.1}.ds-main--student .page-title{font-size:clamp(1.5rem,1.2rem + 1.1vw,1.9rem);line-height:1.15}.ds-main--student .cedit-pane-title{font-size:1.35rem}.ds-main--student .cedit-course-title{font-size:1.25rem}.ds-main--student .k-eyebrow,.ds-main--student .cpage-eyebrow{color:var(--ds-text-secondary)}.ds-main--student .k-card,.ds-main--student .card,.ds-main--student .dash-stat,.ds-main--student .cpage-hero,.ds-main--student .cpage-card,.ds-main--student .cedit-card,.ds-main--student .cedit-canvas,.ds-main--student .solve-card,.ds-main--student .edit-section,.ds-main--student .au-toolbar,.ds-main--student .au-panel,.ds-main--student .chat,.ds-main--student .variant-card,.ds-main--student .variant-nav,.ds-main--student .score-forecast,.ds-main--student .step-locked-card,.ds-main--student .step-comment,.ds-main--student .report-row,.ds-main--student .player-split-condition,.ds-main--student .mystats-bars,.ds-main--student .mystats-heatmap,.ds-main--student .mystats-breakdown,.ds-main--student .hw-solve-task{background:var(--ds-surface-card);border-radius:var(--ds-radius-20);box-shadow:var(--ds-shadow-card)}.ds-main--student .step-comment,.ds-main--student .report-row,.ds-main--student .hint-card,.ds-main--student .course-welcome{border-radius:var(--ds-radius-12)}.ds-main--student .player-sidebar,.ds-main--student .player-progress{background:var(--ds-surface-card);border-color:var(--ds-border-subtle)}.ds-main--student .k-hover-lift:hover{box-shadow:var(--ds-glass-modal-shadow)}.ds-main--student .btn{border-radius:var(--ds-radius-16);min-height:39px;font-weight:var(--ds-font-weight-semibold)}.ds-main--student .btn.btn-sm{min-height:32px}.ds-main--student .btn.btn-primary,.ds-main--student .btn-primary-sm,.ds-main--student .solve-check{background:var(--ds-action-primary);color:var(--ds-text-on-primary);box-shadow:none}.ds-main--student .btn.btn-primary:hover:not(:disabled),.ds-main--student .btn-primary-sm:hover,.ds-main--student .solve-check:hover:not(:disabled){background:var(--ds-action-primary-hover);filter:none;box-shadow:none}.ds-main--student .btn.btn-primary:active:not(:disabled),.ds-main--student .solve-check:active:not(:disabled){background:var(--ds-action-primary-active)}.ds-main--student .solve-check{border-radius:var(--ds-radius-16)}.ds-main--student .solve-check.is-done{background:var(--ds-status-success);box-shadow:none}.ds-main--student .btn.btn-ghost,.ds-main--student .btn-outline-sm,.ds-main--student .btn-pn,.ds-main--student .btn-outline-next{background:var(--ds-action-secondary);border:1px solid var(--ds-border-subtle);color:var(--ds-text-on-secondary)}.ds-main--student .btn.btn-ghost:hover:not(:disabled),.ds-main--student .btn-outline-sm:hover:not(:disabled),.ds-main--student .btn-pn:hover:not(:disabled){background:var(--ds-action-secondary-hover);color:var(--ds-text-on-secondary);border-color:#0000}.ds-main--student .btn-outline-next:hover{background:var(--ds-action-primary);color:var(--ds-text-on-primary);border-color:#0000}.ds-main--student .btn.btn-success{background:var(--ds-status-success)}.ds-main--student .btn.btn-success:hover:not(:disabled){background:var(--ds-tag-green-text)}.ds-main--student .btn.btn-danger{background:var(--ds-status-danger)}.ds-main--student .btn.btn-danger:hover:not(:disabled){background:var(--ds-orange-700)}.ds-main--student .btn-icon-sm.danger:hover{background:var(--ds-red-50)}.ds-main--student .player-focus-btn,.ds-main--student .code-font-btn,.ds-main--student .player-split-toggle,.ds-main--student .player-split-expand{background:var(--ds-action-secondary);border-color:var(--ds-border-subtle);border-radius:var(--ds-radius-8)}.ds-main--student .btn:focus-visible,.ds-main--student button:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:2px}.ds-main--student .form-group input,.ds-main--student .form-group textarea,.ds-main--student .form-input,.ds-main--student select{background:var(--ds-grey-50);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-16);color:var(--ds-text-primary)}.ds-main--student .form-group input,.ds-main--student .form-input{min-height:48px}.ds-main--student .form-group input:focus,.ds-main--student .form-group textarea:focus,.ds-main--student .form-input:focus,.ds-main--student select:focus,.ds-main--student .au-search:focus,.ds-main--student .chat-input:focus,.ds-main--student .chat-picker__search:focus{border-color:var(--ds-focus-ring);box-shadow:0 0 0 1px var(--ds-focus-ring);background:var(--ds-grey-50);outline:none}.ds-main--student .form-group input::-moz-placeholder{color:var(--ds-text-muted)}.ds-main--student .form-group textarea::-moz-placeholder{color:var(--ds-text-muted)}.ds-main--student .form-input::-moz-placeholder{color:var(--ds-text-muted)}.ds-main--student .au-search::-moz-placeholder{color:var(--ds-text-muted)}.ds-main--student .chat-input::-moz-placeholder{color:var(--ds-text-muted)}.ds-main--student .form-group input::placeholder,.ds-main--student .form-group textarea::placeholder,.ds-main--student .form-input::placeholder,.ds-main--student .au-search::placeholder,.ds-main--student .chat-input::placeholder{color:var(--ds-text-muted)}.ds-main--student .au-search,.ds-main--student .chat-input,.ds-main--student .chat-picker__search,.ds-main--student .dash-search-input{background:var(--ds-grey-50);border-color:var(--ds-border-subtle);border-radius:var(--ds-radius-12);color:var(--ds-text-primary)}.ds-main--student .solve-answer{border-radius:var(--ds-radius-16)}.ds-main--student .solve-answer:focus-within{border-color:var(--ds-focus-ring);box-shadow:0 0 0 1px var(--ds-focus-ring)}.ds-main--student .form-check-label input[type=checkbox]{accent-color:var(--ds-action-primary)}.ds-main--student .error-box{background:var(--ds-red-50);border-color:var(--ds-red-200);color:var(--ds-status-danger)}.ds-main--student .success-box{background:var(--ds-tag-green-bg);border-color:var(--ds-tag-green-stroke);color:var(--ds-tag-green-text)}.ds-main--student .k-chip,.ds-main--student .chip,.ds-main--student .au-chip,.ds-main--student .au-badge,.ds-main--student .au-count,.ds-main--student .bank-subject-chip{border-radius:var(--ds-radius-8);background:var(--ds-action-secondary);border-color:var(--ds-border-subtle);color:var(--ds-text-on-secondary)}.ds-main--student .tag-chip{border-radius:var(--ds-radius-8);background:var(--ds-tag-orange-bg);border-color:var(--ds-tag-orange-stroke);color:var(--ds-tag-orange-text)}.ds-main--student .k-chip-warm,.ds-main--student .chip-warm{background:var(--ds-tag-orange-bg);border-color:var(--ds-tag-orange-stroke);color:var(--ds-tag-orange-text)}.ds-main--student .k-chip-ok{background:var(--ds-tag-green-bg);border-color:var(--ds-tag-green-stroke);color:var(--ds-tag-green-text)}.ds-main--student .chip-cool{background:var(--ds-tag-blue-bg);border-color:var(--ds-tag-blue-stroke);color:var(--ds-tag-blue-text)}.ds-main--student .chip-dark{background:var(--ds-grey-950);border-color:var(--ds-grey-950);color:var(--ds-white)}.ds-main--student .au-chip.is-on,.ds-main--student .tag-chip.is-on,.ds-main--student .bank-subject-chip.active,.ds-main--student .bank-exam-tab.active{background:var(--ds-action-primary);color:var(--ds-text-on-primary);border-color:#0000}.ds-main--student .au-chip--warn.is-on{background:var(--ds-status-danger)}.ds-main--student .au-badge--ok,.ds-main--student .level-beginner,.ds-main--student .pub-yes,.ds-main--student .status-badge.published,.ds-main--student .attempt-correct,.ds-main--student .hw-resolved{background:var(--ds-tag-green-bg);color:var(--ds-tag-green-text);border-color:#0000}.ds-main--student .au-badge--warn,.ds-main--student .level-intermediate,.ds-main--student .pub-no,.ds-main--student .status-badge.draft,.ds-main--student .attempt-late{background:var(--ds-tag-yellow-bg);color:var(--ds-tag-yellow-text);border-color:#0000}.ds-main--student .level-advanced{background:var(--ds-tag-orange-bg);color:var(--ds-tag-orange-text);border-color:#0000}.ds-main--student .au-badge--danger,.ds-main--student .attempt-wrong{background:var(--ds-tag-red-bg);color:var(--ds-tag-red-text);border-color:#0000}.ds-main--student .au-diff--medium{background:var(--ds-status-warning)}.ds-main--student .au-diff--very_hard{background:var(--ds-orange-700)}.ds-main--student .k-progress,.ds-main--student .player-progress-bar,.ds-main--student .score-forecast-bar{background:var(--ds-grey-100);border-radius:999px}.ds-main--student .k-progress-fill,.ds-main--student .player-progress-fill,.ds-main--student .score-forecast-fill{background:var(--ds-action-primary);border-radius:999px}.ds-main--student .mystats-bar-track{background:var(--ds-grey-100)}.ds-main--student .mystats-bar-fill{background:var(--ds-action-primary)}.ds-main--student .mystats-cell{background:var(--ds-grey-100)}.ds-main--student .back-link,.ds-main--student .cpage-back,.ds-main--student .cedit-back,.ds-main--student .player-back,.ds-main--student .player-breadcrumb a{color:var(--ds-text-secondary)}.ds-main--student .back-link:hover,.ds-main--student .cpage-back:hover,.ds-main--student .cedit-back:hover,.ds-main--student .player-back:hover,.ds-main--student .player-breadcrumb a:hover{color:var(--ds-action-primary)}.ds-main--student .students-table-wrap{border-radius:var(--ds-radius-12);border-color:var(--ds-border-subtle)}.ds-main--student .students-table th{background:var(--ds-grey-100);color:var(--ds-text-secondary);border-bottom-color:var(--ds-border-subtle)}.ds-main--student .students-table td{border-bottom-color:var(--ds-border-subtle)}.ds-main--student .chat-send,.ds-main--student .chat-unread{color:var(--ds-text-on-primary)}.ds-main--student .chat-delete:hover{background:var(--ds-red-50);color:var(--ds-status-danger)}.ds-main--student .chat-msg__quote{background:var(--ds-grey-100);border-left-color:var(--ds-action-primary)}.ds-main--student .chat-msg__bubble{border-radius:16px 16px 16px 5px}.ds-main--student .chat-msg--mine .chat-msg__bubble{background:var(--ds-orange-50);border-color:var(--ds-orange-200);border-radius:16px 16px 5px}.ds-main--student .player-lesson-btn.done .pli-icon,.ds-main--student .sec-status-done,.ds-main--student .course-outcome-check,.ds-main--student .au-gen-solved{color:var(--ds-status-success)}.ds-main--student .course-complete-banner{background:var(--ds-tag-green-bg);border-color:var(--ds-tag-green-stroke)}.ds-main--student .step-complete-badge{background:var(--ds-status-success)}.ds-main--student .hw-solve-due{color:var(--ds-tag-yellow-text)}.ds-main--student .ans-ok{color:var(--ds-tag-green-text)}.ds-main--student .ans-bad{color:var(--ds-status-danger)}.ds-main--student .hw-solve-badge.ok{background:var(--ds-tag-green-bg);color:var(--ds-tag-green-text)}.ds-main--student .hw-solve-badge.bad{background:var(--ds-tag-red-bg);color:var(--ds-tag-red-text)}.ds-main--student .hw-solve-task.correct{border-color:var(--ds-green-200)}.ds-main--student .hw-solve-task.wrong{border-color:var(--ds-red-200)}.ds-main--student .hw-solve-task-num{background:var(--ds-action-primary)}.ds-main--student .quiz-card-correct-hint-label{color:var(--ds-tag-green-text)}.ds-main--student .variant-nav-btn.answered{background:var(--ds-tag-green-bg);border-color:var(--ds-tag-green-stroke);color:var(--ds-tag-green-text)}.ds-main--student .variant-nav-btn.active,.ds-main--student .variant-nav-btn.active.answered{background:var(--ds-action-primary);border-color:var(--ds-action-primary);color:var(--ds-text-on-primary)}.ds-main--student .result-correct{background:var(--ds-tag-green-bg);border-color:var(--ds-green-200)}.ds-main--student .result-wrong{background:var(--ds-red-50);border-color:var(--ds-red-200)}.ds-main--student .variant-score{color:var(--ds-status-success)}.ds-main--student .au-bank-cell{background:var(--ds-grey-50);border-color:var(--ds-border-subtle)}.ds-main--student .au-bank-cell.is-solved{background:var(--ds-tag-green-bg);color:var(--ds-tag-green-text);border-color:#0000}.ds-main--student .au-bank-cell.is-late{background:var(--ds-tag-yellow-bg);color:var(--ds-tag-yellow-text);border-color:#0000}.ds-main--student .au-bank-cell.is-tried{background:var(--ds-tag-red-bg);color:var(--ds-tag-red-text);border-color:#0000}.ds-main--student .au-bank-cell.is-active{outline-color:var(--ds-action-primary)}.ds-main--student .au-typenum{color:var(--ds-action-primary);background:var(--ds-orange-50)}.cc-app{--bg:var(--ds-surface-page);--bg-1:var(--ds-blue-50);--surface:var(--ds-surface-card);--surface-2:var(--ds-surface-sunken);--surface-3:var(--ds-grey-200);--border:var(--ds-border-subtle);--border-2:var(--ds-border-strong);--text:var(--ds-text-primary);--text-2:var(--ds-grey-700);--text-3:var(--ds-grey-700);--text-4:var(--ds-grey-500);--accent:var(--ds-action-primary);--accent-2:var(--ds-action-primary-hover);--accent-ink:var(--ds-text-on-primary);--accent-solid:var(--ds-orange-700);--accent-solid-2:#9b1b11;--teal:var(--ds-status-success);--teal-2:var(--ds-tag-green-text);--gold:var(--ds-status-warning);--danger:var(--ds-status-danger);--danger-2:#bc3037;--warn:#af4800;--ok:var(--ds-green-500);--ok-2:var(--ds-tag-green-text);--accent-bg:#fb713e1a;--teal-bg:#337d4d1a;--danger-bg:#d756561a;--warn-bg:#af48001a;--ok-bg:#337d4d1a;--shadow:0 1px 2px #94abbc2e;--shadow-lg:0 22px 50px -24px #94abbc73;--ring:0 0 0 3px #84aed673;--hover:#3232320d;--r-xs:7px;--r-sm:10px;--r:13px;--r-lg:17px;--r-xl:22px;--pill:999px;--maxw:1320px;--font:var(--ds-font-ui);--mono:var(--ds-font-ui);--serif:var(--ds-font-ui);--primary:var(--accent);--text-heading:var(--text);--text-muted:var(--text-3);--soft:var(--surface-2);--success:var(--ok);--line:var(--border);color:var(--text);font-family:var(--font);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;background:0 0;min-height:100vh;font-size:14px;line-height:1.5;position:relative}.cc-app a{color:var(--teal);text-decoration:none}.cc-app button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.cc-app .mono{font-family:var(--mono);font-feature-settings:"tnum" 1;letter-spacing:-.02em}.cc-app :focus-visible{box-shadow:var(--ring);border-radius:8px;outline:none}.cc-app ::selection{background:var(--accent);color:var(--accent-ink)}.cc-app .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:600}.cc-app .link-more{color:var(--teal);border-radius:var(--r-xs);align-items:center;gap:5px;padding:5px 8px;font-size:12.5px;font-weight:600;transition:background .15s;display:inline-flex}.cc-app .link-more:hover{background:var(--teal-bg)}.cc-app .link-more svg{width:13px;height:13px}.cc-app .btn{border-radius:var(--r-sm);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 16px;font-size:13.5px;font-weight:600;line-height:1;transition:transform .12s,background .15s,border-color .15s;display:inline-flex}.cc-app .btn svg{flex:none;width:15px;height:15px}.cc-app .btn:active{transform:translateY(1px)}.cc-app .btn--primary,.cc-app .btn.btn-primary{background:var(--accent-solid);color:var(--accent-ink);box-shadow:0 6px 18px -8px #94abbc8c}.cc-app .btn--primary:hover,.cc-app .btn.btn-primary:hover{background:var(--accent-solid-2);color:var(--accent-ink)}.cc-app .btn--ghost,.cc-app .btn.btn-ghost{background:var(--surface-2);border-color:var(--border-2);color:var(--text)}.cc-app .btn--ghost:hover,.cc-app .btn.btn-ghost:hover{background:var(--surface-3);border-color:var(--text-4);color:var(--text)}.cc-app .btn--quiet{border-color:var(--border-2);color:var(--text-2);background:0 0}.cc-app .btn--quiet:hover{background:var(--surface-2);color:var(--text)}.cc-app .btn--teal{background:var(--teal);color:var(--ds-white)}.cc-app .btn--teal:hover{background:var(--teal-2)}.cc-app .btn--sm,.cc-app .btn.btn-sm{border-radius:var(--r-xs);height:32px;padding:0 12px;font-size:12.5px}.cc-app .btn.btn-danger{background:var(--danger-bg);color:var(--danger-2);border-color:#0000}.cc-app .btn.btn-danger:hover{background:#e5654e38}.cc-app .tag{border-radius:var(--pill);background:var(--surface-3);height:22px;color:var(--text-2);border:1px solid var(--border);align-items:center;gap:5px;padding:0 9px;font-size:11px;font-weight:600;display:inline-flex}.cc-app .tag--teal{background:var(--teal-bg);color:var(--teal-2);border-color:#0000}.cc-app .tag--ok{background:var(--ok-bg);color:var(--ok-2);border-color:#0000}.cc-app .tag--warn{background:var(--warn-bg);color:var(--warn);border-color:#0000}.cc-app .tag--danger{background:var(--danger-bg);color:var(--danger-2);border-color:#0000}.cc-app .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.cc-app .avatar{width:40px;height:40px;color:var(--text);background:linear-gradient(150deg,var(--surface-3),var(--surface-2));border:1px solid var(--border-2);border-radius:12px;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.cc-app .avatar--sm{border-radius:9px;width:30px;height:30px;font-size:11px}.cc-app .count-pill{font-family:var(--mono);color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--pill);padding:2px 8px;font-size:11px;font-weight:600}.cc-app .panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}.cc-app .chip{border-radius:var(--pill);height:28px;color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);align-items:center;gap:6px;padding:0 11px;font-size:12px;font-weight:600;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.cc-app .chip:hover{color:var(--text);border-color:var(--border-2)}.cc-app .chip.is-active{background:var(--teal-bg);color:var(--teal-2);border-color:#0000}.cc-app .seg{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--pill);padding:3px;display:inline-flex}.cc-app .seg button,.cc-app .seg a{border-radius:var(--pill);height:28px;color:var(--text-3);align-items:center;gap:6px;padding:0 13px;font-size:12.5px;font-weight:600;transition:color .15s,background .15s;display:inline-flex}.cc-app .seg button:hover,.cc-app .seg a:hover{color:var(--text)}.cc-app .seg button.is-active,.cc-app .seg a.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.cc-app .topbar{z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:saturate(140%)blur(14px);backdrop-filter:saturate(140%)blur(14px);border-bottom:1px solid var(--border);position:sticky;top:0}.cc-app .topbar__inner{max-width:var(--maxw);align-items:center;gap:18px;margin:0 auto;padding:11px 24px;display:flex}.cc-app .brand{letter-spacing:-.02em;color:var(--text);align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.cc-app .brand-logo{width:auto;height:26px;color:var(--text);flex:none;display:block;overflow:visible}.cc-app .brand-sign{transform-box:fill-box;transform-origin:50%;transition:transform .4s cubic-bezier(.22,1,.36,1)}.cc-app .brand:hover .brand-sign{transform:rotate(-12deg)}.cc-app .nav{align-items:center;gap:2px;margin-left:6px;display:flex}.cc-app .nav a{border-radius:var(--r-xs);color:var(--text-3);white-space:nowrap;padding:8px 12px;font-size:13.5px;font-weight:500;transition:color .15s,background .15s;position:relative}.cc-app .nav a:hover{color:var(--text);background:var(--surface-2)}.cc-app .nav a.is-active{color:var(--text)}.cc-app .nav a.is-active:after{content:"";background:var(--teal);border-radius:2px;height:2px;position:absolute;bottom:-12px;left:12px;right:12px}.cc-app .nav .nav-unread{border-radius:var(--pill);min-width:17px;height:17px;font-size:10.5px;font-weight:700;font-family:var(--mono);background:var(--accent);color:var(--accent-ink);vertical-align:1px;justify-content:center;align-items:center;margin-left:6px;padding:0 5px;display:inline-flex}.cc-app .topbar__spacer{flex:1}.cc-app .topbar__icons{align-items:center;gap:6px;display:flex}.cc-app .search{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);min-width:210px;height:36px;color:var(--text-3);text-align:left;align-items:center;gap:8px;padding:0 10px 0 12px;font-size:13px;transition:border-color .15s;display:flex}.cc-app .search:hover{border-color:var(--border-2)}.cc-app .search svg{width:15px;height:15px}.cc-app .search .search__ph{color:var(--text-3);flex:1}.cc-app .search kbd{font-family:var(--mono);color:var(--text-3);background:var(--surface-3);border:1px solid var(--border);border-radius:5px;padding:2px 5px;font-size:10.5px}.cc-app .iconbtn{border-radius:var(--r-sm);width:36px;height:36px;color:var(--text-2);border:1px solid #0000;place-items:center;transition:background .15s,color .15s,border-color .15s;display:grid;position:relative}.cc-app .iconbtn:hover{background:var(--surface-2);color:var(--text);border-color:var(--border)}.cc-app .iconbtn svg{width:18px;height:18px}.cc-app .cc-main{max-width:var(--maxw);z-index:1;margin:0 auto;padding:24px 24px 40px;position:relative}.cc-app .block{margin-bottom:26px}.cc-app .section-head{align-items:center;gap:12px;margin-bottom:13px;display:flex}.cc-app .section-head h2{letter-spacing:-.02em;align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.cc-app .section-head .spacer{flex:1}.cc-app .page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:6px 0 22px;display:flex}.cc-app .page-head .eyebrow{margin-bottom:9px}.cc-app .page-title{line-height:1.1}.cc-app .page-title b{color:var(--accent);font-style:normal;font-weight:400}.cc-app .page-sub{color:var(--text-2);margin-top:8px;font-size:13.5px}.cc-app .page-head__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cc-app .panel__head{justify-content:space-between;align-items:center;gap:10px;padding:14px 16px 10px;display:flex}.cc-app .panel__head h3{letter-spacing:-.01em;align-items:center;gap:9px;font-size:14px;font-weight:700;display:flex}.cc-app .panel__body{padding:4px 8px 8px}.cc-app .panel__foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;display:flex}.cc-app .panel__foot .muted{color:var(--text-3);font-size:11.5px}.cc-app .subhead{letter-spacing:.02em;color:var(--text-2);text-transform:uppercase;align-items:center;gap:9px;padding:13px 16px 9px;font-size:12px;font-weight:700;display:flex}.cc-app .subhead .count-pill{text-transform:none;letter-spacing:0;margin-left:auto}.cc-app .qrow{cursor:pointer;color:inherit;align-items:center;gap:13px;padding:12px 16px;transition:background .14s;display:flex}.cc-app .qrow+.qrow{border-top:1px solid var(--border)}.cc-app .qrow:hover{background:var(--surface-2)}.cc-app .qrow__main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.cc-app .qrow__title{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;color:var(--text);font-size:13.5px;font-weight:600;overflow:hidden}.cc-app .qrow__sub{color:var(--text-3);font-size:11.5px}.cc-app .qrow__count{font-family:var(--mono);color:var(--text-2);text-align:right;flex:none;font-size:12px}.cc-app .qrow__when{color:var(--text-3);text-align:right;white-space:nowrap;flex:none;width:130px;font-size:11.5px}.cc-app .qrow__go{color:var(--text-4);border-radius:8px;flex:none;place-items:center;width:30px;height:30px;transition:background .14s,color .14s;display:grid}.cc-app .qrow:hover .qrow__go{color:var(--teal-2);background:var(--teal-bg)}.cc-app .qrow__go svg{width:16px;height:16px}.cc-app .course{border-radius:var(--r-xs);cursor:pointer;color:inherit;align-items:center;gap:11px;padding:11px 8px;transition:background .14s;display:flex}.cc-app .course+.course{border-top:1px solid var(--border)}.cc-app .course:hover{background:var(--surface-2)}.cc-app .course__mark{width:34px;height:34px;color:var(--text-2);background:var(--surface-3);border:1px solid var(--border);border-radius:9px;flex:none;place-items:center;display:grid}.cc-app .course__mark svg{width:16px;height:16px}.cc-app .course__body{flex:1;min-width:0}.cc-app .course__title{letter-spacing:-.01em;color:var(--text);font-size:13px;font-weight:600}.cc-app .course__meta{color:var(--text-3);margin-top:1px;font-size:11.5px}.cc-app .panel table{border-collapse:collapse;width:100%}.cc-app .panel thead th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--text-4);border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 18px;font-size:10.5px;font-weight:600}.cc-app .panel th.num,.cc-app .panel td.num{text-align:right}.cc-app .panel tbody td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 18px;font-size:13px}.cc-app .panel tbody tr{transition:background .14s}.cc-app .panel tbody tr:hover{background:var(--surface-2)}.cc-app .panel tbody tr:last-child td{border-bottom:none}.cc-app .stu{align-items:center;gap:11px;display:flex}.cc-app .stu__name{letter-spacing:-.01em;color:var(--text);font-weight:600}.cc-app .rate{font-family:var(--mono);letter-spacing:-.02em;font-weight:600}.cc-app .next-cell{font-family:var(--mono);color:var(--text-2);white-space:nowrap;font-size:12px}.cc-app .next-cell.is-today{color:var(--accent-2);font-weight:600}.cc-app .students__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px 12px;display:flex}.cc-app .students__head h3{align-items:center;gap:9px;font-size:14px;font-weight:700;display:flex}.cc-app .filters{flex-wrap:wrap;gap:7px;display:flex}.cc-app .appfooter{max-width:var(--maxw);z-index:1;border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:14px 24px 32px;display:flex;position:relative}.cc-app .shortcuts{color:var(--text-4);gap:16px;font-size:11.5px;display:flex}.cc-app .shortcuts span{align-items:center;gap:6px;display:inline-flex}.cc-app .shortcuts kbd{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);color:var(--text-3);border-radius:5px;padding:1px 5px;font-size:10px}.cc-app .k-page{z-index:1;max-width:none;padding:0;position:relative}.cc-app .k-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:6px 0 22px;display:flex}.cc-app .k-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:9px;font-size:11px;font-weight:600}.cc-app .k-title{letter-spacing:-.01em;font-size:28px;font-weight:400;line-height:1.1;font-family:var(--serif);color:var(--text)}.cc-app .k-sub{color:var(--text-2);margin-top:8px;font-size:13.5px}.cc-app .k-head-actions{align-items:center;gap:8px;display:flex}.cc-app .k-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);color:var(--text)}.cc-app .k-card-pad{padding:16px 18px}.cc-app .back-link{color:var(--teal);border-radius:var(--r-xs);align-items:center;gap:6px;margin-bottom:10px;padding:5px 8px;font-size:12.5px;font-weight:600;transition:background .15s;display:inline-flex}.cc-app .back-link:hover{background:var(--teal-bg)}.cc-app .empty-state{text-align:center;background:var(--surface);border:1px dashed var(--border-2);border-radius:var(--r-lg);color:var(--text-2);flex-direction:column;align-items:center;gap:8px;padding:28px 20px;font-size:13.5px;display:flex}.cc-app .error-box{background:var(--danger-bg);color:var(--danger-2);border-radius:var(--r-sm);border:1px solid #0000;margin:10px 0;padding:10px 13px;font-size:13px}.cc-app .spinner{border-color:var(--border-2);border-top-color:var(--accent)}.cc-app .text-muted{color:var(--text-4)}.cc-app .form-group{margin-bottom:14px}.cc-app .form-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;font-size:11.5px;font-weight:600;display:block}.cc-app .form-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text);font:inherit;padding:9px 12px;font-size:13.5px;transition:border-color .15s}.cc-app .form-input::placeholder{color:var(--text-4)}.cc-app .form-input:focus{border-color:var(--teal);box-shadow:var(--ring);outline:none}.cc-app select.form-input,.cc-app .form-select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-repeat:no-repeat;background-size:5px 5px}.cc-app .form-select option{background:var(--surface);color:var(--text)}.cc-app .form-row-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.cc-app .modal-overlay{z-index:70;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a090699;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cc-app .modal-card{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overscroll-behavior:contain;width:100%;max-width:480px;max-height:90vh;padding:20px;overflow-y:auto}.cc-app .modal-title{letter-spacing:-.01em;margin-bottom:14px;font-size:17px;font-weight:700}.cc-app .modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.cc-app .status-badge{border-radius:var(--pill);background:var(--surface-3);height:22px;color:var(--text-2);border:1px solid var(--border);align-items:center;padding:0 9px;font-size:11px;font-weight:600;display:inline-flex}.cc-app .status-badge.hw-status-submitted{background:var(--ok-bg);color:var(--ok-2);border-color:#0000}.cc-app .status-badge.hw-status-assigned{background:var(--accent-bg);color:var(--accent-2);border-color:#0000}.cc-app .status-badge.hw-status-in_progress{background:var(--warn-bg);color:var(--warn);border-color:#0000}.cc-app .pub-badge{border-radius:var(--pill);align-items:center;height:22px;padding:0 9px;font-size:11px;font-weight:600;display:inline-flex}.cc-app .pub-badge.pub-yes{background:var(--ok-bg);color:var(--ok-2)}.cc-app .pub-badge.pub-no{background:var(--surface-3);color:var(--text-3);border:1px solid var(--border)}.cc-app .hw-score{font-family:var(--mono);color:var(--accent-2);font-weight:600}.cc-app .btn-icon-sm{width:30px;height:30px;color:var(--text-3);border:1px solid #0000;border-radius:8px;place-items:center;transition:background .14s,color .14s;display:inline-grid}.cc-app .btn-icon-sm:hover{background:var(--surface-2);color:var(--text)}.cc-app .btn-icon-sm.danger:hover{background:var(--danger-bg);color:var(--danger-2)}.cc-app .add-mode-tabs{gap:8px;margin-bottom:14px;display:flex}.cc-app .add-mode-tab{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);height:38px;color:var(--text-2);flex:1;justify-content:center;align-items:center;gap:7px;font-size:13px;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.cc-app .add-mode-tab:hover{color:var(--text);border-color:var(--border-2)}.cc-app .add-mode-tab.active{background:var(--teal-bg);color:var(--teal-2);border-color:#0000}.cc-app .add-mode-hint{color:var(--text-3);margin-bottom:12px;font-size:12.5px;line-height:1.5}.cc-app .lookup-row,.cc-app .hw-lookup-row{gap:8px;display:flex}.cc-app .lookup-row .form-input{flex:1}.cc-app .hw-resolved{color:var(--ok-2);margin-top:6px;font-size:12.5px}.cc-app .hw-picked-list{flex-direction:column;gap:6px;margin-top:8px;display:flex}.cc-app .hw-picked-row{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);align-items:center;gap:10px;padding:8px 11px;display:flex}.cc-app .hw-picked-num{font-family:var(--mono);color:var(--text-3);font-size:11.5px}.cc-app .hw-picked-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;overflow:hidden}.cc-app .hw-form-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.cc-app .btn-sm-action{border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--border-2);height:30px;color:var(--text);padding:0 11px;font-size:12.5px;font-weight:600}.cc-app .btn-sm-action:hover{background:var(--surface-3)}@media (width<=900px){.cc-app .nav{scrollbar-width:none;margin-left:0;overflow-x:auto}.cc-app .nav::-webkit-scrollbar{display:none}.cc-app .search{min-width:120px}.cc-app .search kbd{display:none}}@media (width<=680px){.cc-app .cc-main{padding:18px 14px 30px}.cc-app .topbar__inner{gap:10px;padding:10px 14px}.cc-app .page-title,.cc-app .k-title{font-size:24px}.cc-app .form-row-2{grid-template-columns:1fr}.cc-app .qrow__when,.cc-app .shortcuts,.cc-app .search,.cc-app .panel thead th.hide-sm,.cc-app .panel td.hide-sm{display:none}}.cc-app .admin-tabs{margin:-6px 0 20px}.cc-app .admin-page{max-width:1100px}.cc-app .admin-table-wrap{box-shadow:var(--shadow)}.cc-app .admin-table th{color:var(--text-3)}.cc-app .admin-table-self{background:var(--surface-2)}.cc-app .role-chip.role-student{background:var(--surface-2);color:var(--text-2)}.cc-app .role-chip.role-teacher{background:var(--warn-bg);color:var(--warn)}.cc-app .role-chip.role-admin{background:var(--danger-bg);color:var(--danger-2)}.cc-app .exam-badge{background:var(--accent-bg,#e07a3f24);color:var(--accent,#e07a3f)}.cc-app .admin-name-cell{align-items:center;gap:6px;display:inline-flex}.cc-app .admin-name-cell .btn-icon-sm{opacity:.55}.cc-app .admin-name-cell .btn-icon-sm:hover{opacity:1}.cc-app .admin-actions-cell{align-items:center;gap:8px;display:inline-flex}.cc-app .success-box{background:var(--ok-bg);color:var(--ok-2);border:1px solid #0000}@media (prefers-reduced-motion:reduce){.cc-app *{transition:none!important;animation:none!important}}.ds-main{--bg:var(--ds-surface-page);--bg-alt:var(--ds-surface-sunken);--surface:var(--ds-surface-card);--surface-2:var(--ds-surface-sunken);--surface-3:var(--ds-grey-200);--soft:var(--ds-surface-sunken);--border:var(--ds-border-subtle);--border-2:var(--ds-border-strong);--line:var(--ds-border-subtle);--text:var(--ds-text-primary);--text-heading:var(--ds-text-primary);--text-2:var(--ds-text-secondary);--text-3:var(--ds-text-secondary);--text-4:var(--ds-text-muted);--text-muted:var(--ds-text-secondary);--primary:var(--ds-action-primary);--primary-hover:var(--ds-action-primary-hover);--accent:var(--ds-action-primary);--danger:var(--ds-status-danger);--success:var(--ds-status-success);--radius:var(--ds-radius-16);--hover:#3232320d}.ds-main .btn{border-radius:var(--ds-radius-16);min-height:39px;font:var(--ds-text-s);color:var(--ds-text-on-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:10px 18px;text-decoration:none;transition:background-color .12s,border-color .12s;display:inline-flex}.ds-main .btn svg{flex:none;width:16px;height:16px}.ds-main .btn:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:2px}.ds-main .btn--primary,.ds-main .btn.btn-primary{background:var(--ds-action-primary);color:var(--ds-text-on-primary)}.ds-main .btn--primary:hover,.ds-main .btn.btn-primary:hover{background:var(--ds-action-primary-hover)}.ds-main .btn--ghost,.ds-main .btn.btn-ghost{background:var(--ds-action-secondary);border-color:var(--ds-border-subtle)}.ds-main .btn--ghost:hover,.ds-main .btn.btn-ghost:hover{background:var(--ds-action-secondary-hover);border-color:#0000}.ds-main .btn--quiet{border-color:var(--ds-border-subtle);background:0 0}.ds-main .btn--quiet:hover{background:var(--ds-action-secondary)}.ds-main .btn--teal,.ds-main .btn.btn-success{background:var(--ds-action-secondary);border-color:var(--ds-border-subtle);color:var(--ds-text-on-secondary)}.ds-main .btn--teal:hover,.ds-main .btn.btn-success:hover{background:var(--ds-action-secondary-hover);border-color:#0000}.ds-main .btn.btn-danger{background:var(--ds-tag-red-bg);border-color:var(--ds-tag-red-stroke);color:var(--ds-status-danger)}.ds-main .btn-sm,.ds-main .btn--sm{min-height:32px;font:var(--ds-text-xs);padding:6px 12px}.ds-main .btn:disabled{background:var(--ds-action-disabled);color:var(--ds-text-disabled);cursor:default}.ds-main .form-input{border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-16);background:var(--ds-surface-card);width:100%;height:48px;font:var(--ds-text-s);color:var(--ds-text-primary);padding:12px 16px}.ds-main .form-input::placeholder{color:var(--ds-text-muted)}.ds-main .form-input:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:1px;border-color:#0000}.ds-main .aero{--r-xs:var(--ds-radius-8);--r-sm:var(--ds-radius-12);--r:var(--ds-radius-16);--r-lg:var(--ds-radius-20);--r-xl:var(--ds-radius-24);--pill:var(--ds-radius-16);font-size:14px}.ds-main .aero .ax-btn{border-radius:var(--ds-radius-16);height:auto;min-height:39px;font:var(--ds-text-s);letter-spacing:0;color:var(--ds-text-on-secondary);gap:6px;padding:10px 18px}.ds-main .aero .ax-btn svg{width:16px;height:16px}.ds-main .aero .ax-btn--primary{background:var(--ds-action-primary);color:var(--ds-text-on-primary);box-shadow:none}.ds-main .aero .ax-btn--primary:hover{background:var(--ds-action-primary-hover)}.ds-main .aero .ax-btn--quiet,.ds-main .aero .ax-btn--teal{background:var(--ds-action-secondary);border-color:var(--ds-border-subtle);color:var(--ds-text-on-secondary);box-shadow:none}.ds-main .aero .ax-btn--quiet:hover,.ds-main .aero .ax-btn--teal:hover{background:var(--ds-action-secondary-hover);color:var(--ds-text-primary);border-color:#0000}.ds-main .aero .ax-btn--sm{min-height:32px;font:var(--ds-text-xs);padding:6px 12px}.ds-main .aero .ax-seg{border-radius:var(--ds-radius-16);background:var(--ds-surface-sunken);border-color:var(--ds-border-subtle);gap:4px;padding:4px}.ds-main .aero .ax-seg button,.ds-main .aero .ax-seg a{border-radius:var(--ds-radius-12);height:31px;font:var(--ds-text-s);color:var(--ds-text-secondary);padding:0 14px}.ds-main .aero .ax-seg button.is-active,.ds-main .aero .ax-seg a.is-active{background:var(--ds-surface-card);color:var(--ds-text-primary);box-shadow:var(--ds-shadow-card)}.ds-main .aero .ax-chip{border-radius:var(--ds-radius-12);height:28px;font:var(--ds-text-xs);background:var(--ds-surface-card);border-color:var(--ds-border-subtle);color:var(--ds-text-secondary);padding:0 12px}.ds-main .aero input[type=text],.ds-main .aero input[type=search],.ds-main .aero .ax-search input,.ds-main .aero .axm__f input,.ds-main .aero .axm__f select,.ds-main .aero .axm__f textarea{border-radius:var(--ds-radius-12);font:var(--ds-text-s)}.ds-main .aero :focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:2px;box-shadow:none;border-radius:var(--ds-radius-12)}.ds-main .page-head{align-items:stretch;gap:var(--ds-space-16);flex-direction:column;margin:0 0 20px;display:flex}.ds-main .page-sub{font:var(--ds-text-s);color:var(--ds-text-secondary);margin:6px 0 0}.ds-main .page-head__actions{align-items:center;gap:var(--ds-space-8);flex-wrap:wrap;justify-content:space-between;width:100%;display:flex}.ds-main .page-head__search{flex:none;width:280px;height:39px;padding:8px 16px}.ds-main .page-head__buttons{align-items:center;gap:var(--ds-space-8);flex-wrap:wrap;flex:none;display:flex}@media (width<=900px){.ds-main .page-head__search{flex:100%;width:auto}}.ds-main .panel{background:var(--ds-surface-card);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-24);box-shadow:var(--ds-shadow-card);overflow:hidden}.ds-main .students__head,.ds-main .panel__head{justify-content:space-between;align-items:center;gap:var(--ds-space-16);flex-wrap:wrap;padding:18px 24px 14px;display:flex}.ds-main .students__head h3,.ds-main .panel__head h3{align-items:center;gap:var(--ds-space-8);font:var(--ds-text-l);letter-spacing:var(--ds-letter-spacing-tight);color:var(--ds-text-primary);margin:0;display:flex}.ds-main .count-pill{border-radius:var(--ds-radius-16);background:var(--ds-surface-sunken);color:var(--ds-text-secondary);font:var(--ds-text-xs);padding:2px 10px}.ds-main .filters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ds-main .chip{appearance:none;border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-16);background:var(--ds-surface-card);height:32px;color:var(--ds-text-secondary);font:var(--ds-text-s);cursor:pointer;padding:0 14px;transition:background-color .12s,border-color .12s,color .12s}.ds-main .chip:hover{background:var(--ds-surface-sunken);color:var(--ds-text-primary)}.ds-main .chip.is-active{background:var(--ds-action-secondary);color:var(--ds-text-primary);border-color:#0000}.ds-main .chip:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:2px}.ds-main .panel table,.ds-main table{border-collapse:collapse;table-layout:auto;width:100%}.ds-main thead th{background:var(--ds-surface-sunken);border-top:1px solid var(--ds-border-subtle);border-bottom:1px solid var(--ds-border-subtle);text-align:left;white-space:nowrap;font:var(--ds-text-s);color:var(--ds-text-secondary);padding:12px 24px}.ds-main thead th.num,.ds-main tbody td.num{text-align:right}.ds-main tbody td{border-bottom:1px solid var(--ds-border-subtle);font:var(--ds-text-s);color:var(--ds-text-primary);vertical-align:middle;padding:14px 24px}.ds-main tbody tr:last-child td{border-bottom:0}.ds-main tbody tr{transition:background-color .12s}.ds-main tbody tr:hover{background:var(--ds-blue-50)}.ds-main .stu{align-items:center;gap:var(--ds-space-12);min-width:0;display:flex}.ds-main .stu__name{font-weight:var(--ds-font-weight-semibold);color:var(--ds-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ds-main .avatar{border-radius:var(--ds-radius-12);background:var(--ds-surface-sunken);width:40px;height:40px;color:var(--ds-text-secondary);font:var(--ds-text-s);font-weight:var(--ds-font-weight-semibold);flex:none;place-items:center;display:grid}.ds-main .avatar--sm{border-radius:var(--ds-radius-8);width:32px;height:32px;font:var(--ds-text-xs);font-weight:var(--ds-font-weight-semibold)}.ds-main .rate{font-weight:var(--ds-font-weight-semibold);white-space:nowrap}.ds-main .tag{border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-12);background:var(--ds-surface-sunken);color:var(--ds-text-secondary);font:var(--ds-text-xs);white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;display:inline-flex}.ds-main .tag--teal,.ds-main .tag--ok{background:var(--ds-tag-green-bg);border-color:var(--ds-tag-green-stroke);color:var(--ds-tag-green-text)}.ds-main .tag--warn{background:var(--ds-tag-yellow-bg);border-color:var(--ds-tag-yellow-stroke);color:var(--ds-tag-yellow-text)}.ds-main .tag--danger{background:var(--ds-tag-red-bg);border-color:var(--ds-tag-red-stroke);color:var(--ds-tag-red-text)}.ds-main .qrow{align-items:center;gap:var(--ds-space-12);border-bottom:1px solid var(--ds-border-subtle);cursor:pointer;padding:14px 24px;transition:background-color .12s;display:flex}.ds-main .qrow:last-child{border-bottom:0}.ds-main .qrow:hover{background:var(--ds-blue-50)}.ds-main .qrow__main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ds-main .qrow__title{font:var(--ds-text-s);font-weight:var(--ds-font-weight-semibold);color:var(--ds-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ds-main .qrow__title a{color:inherit;text-decoration:none}.ds-main .qrow__title a:hover{text-decoration:underline}.ds-main .qrow__sub{font:var(--ds-text-xs);color:var(--ds-text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ds-main .qrow__count{font:var(--ds-text-s);font-weight:var(--ds-font-weight-semibold);color:var(--ds-text-primary);white-space:nowrap;flex:none}.ds-main .qrow .tag,.ds-main .qrow .btn,.ds-main .qrow .btn-icon-sm{flex:none}.ds-main .btn-icon-sm.danger:hover{background:var(--ds-tag-red-bg);color:var(--ds-status-danger)}.ds-main .panel__foot .muted{color:var(--ds-text-secondary)}.ds-main .filters .form-select{border-radius:var(--ds-radius-16);width:auto;height:32px;min-height:32px;font:var(--ds-text-s);color:var(--ds-text-secondary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%235f6b75' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-position:right 13px center;padding:0 34px 0 14px}.ds-main .filters .form-select:hover{background-color:var(--ds-surface-sunken);color:var(--ds-text-primary)}.ds-main .btn-icon-sm{border-radius:var(--ds-radius-8);width:32px;height:32px;color:var(--ds-text-muted);cursor:pointer;background:0 0;border:0;place-items:center;transition:background-color .12s,color .12s;display:inline-grid}.ds-main .btn-icon-sm:hover{background:var(--ds-surface-sunken);color:var(--ds-text-primary)}.ds-main .btn-icon-sm svg{width:16px;height:16px}.ds-main .btn-icon-sm:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:2px}.ds-main .panel__foot{justify-content:space-between;align-items:center;gap:var(--ds-space-12);border-top:1px solid var(--ds-border-subtle);font:var(--ds-text-xs);color:var(--ds-text-secondary);padding:12px 24px;display:flex}@media (width<=900px){.ds-main thead th,.ds-main tbody td{padding-left:16px;padding-right:16px}.ds-main .hide-sm{display:none}}.ds-main .course,.ds-main .qrow,.ds-main .crow{align-items:center;gap:var(--ds-space-12);border-radius:var(--ds-radius-12);color:inherit;cursor:pointer;padding:12px 14px;transition:background-color .12s;display:flex}.ds-main .course+.course,.ds-main .qrow+.qrow,.ds-main .crow+.crow{border-top:1px solid var(--ds-border-subtle)}.ds-main .course:hover,.ds-main .qrow:hover,.ds-main .crow:hover{background:var(--ds-blue-50)}.ds-main .course__mark,.ds-main .crow__icon,.ds-main .qrow__icon{border-radius:var(--ds-radius-8);background:var(--ds-surface-sunken);border:1px solid var(--ds-border-subtle);width:34px;height:34px;color:var(--ds-text-secondary);flex:none;place-items:center;display:grid}.ds-main .course__mark svg,.ds-main .crow__icon svg,.ds-main .qrow__icon svg{width:16px;height:16px}.ds-main .course__body,.ds-main .qrow__main,.ds-main .crow__main{flex:1;min-width:0}.ds-main .course__title,.ds-main .qrow__title,.ds-main .crow__title{font:var(--ds-text-s);font-weight:var(--ds-font-weight-semibold);color:var(--ds-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ds-main .course__meta,.ds-main .qrow__sub,.ds-main .crow__sub{font:var(--ds-text-xs);color:var(--ds-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.ds-main .course .tag,.ds-main .course .btn,.ds-main .qrow .tag,.ds-main .qrow .btn{flex:none}.ds-main .course__actions,.ds-main .qrow__actions{flex-wrap:wrap;flex:none;align-items:center;gap:6px;display:flex}.ds-main{--font:var(--ds-font-ui);--serif:var(--ds-font-ui);font-family:var(--ds-font-ui)}.ds-main :not(code):not(pre):not(kbd):not(samp):not([class*=mono]):not(.num):not(.rate){font-family:var(--ds-font-ui)}.ds-main .btn,.ds-main .btn:hover,.ds-main .btn:active,.ds-main .aero .ax-btn,.ds-main .aero .ax-btn:hover{box-shadow:none;filter:none;transform:none}.ds-main textarea,.ds-main .form-textarea{resize:vertical;min-height:104px;padding:12px 16px;line-height:1.45}.ds-main select,.ds-main .form-select{appearance:none;border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-16);background-color:var(--ds-surface-card);width:100%;min-height:48px;font:var(--ds-text-s);color:var(--ds-text-primary);cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%235f6b75' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding:12px 40px 12px 16px}.ds-main select:focus-visible,.ds-main .form-select:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:1px;border-color:#0000}.ds-main .form-label,.ds-main .k-label{font:var(--ds-text-xs);font-weight:var(--ds-font-weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--ds-text-secondary);margin:0 0 6px;display:block}.ds-main .form-group+.form-group{margin-top:var(--ds-space-16)}.ds-main .k-page,.ds-main .k-page-narrow,.ds-main .dsts,.ds-main .dspf,.ds-main .cpage,.ds-main .cedit,.ds-main .aero{max-width:none;margin-left:0;margin-right:0;padding-left:0;padding-right:0}.toast-stack{z-index:4000;pointer-events:none;flex-direction:column;align-items:center;gap:8px;max-width:min(480px,100vw - 32px);display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;cursor:pointer;background:var(--surface,var(--ds-white));color:var(--text,inherit);border:1px solid var(--border,#0000001f);box-shadow:0 6px 24px #00000029, var(--shadow,0 1px 2px #0000000f);border-radius:12px;align-items:flex-start;gap:10px;padding:11px 16px;font-size:13.5px;line-height:1.45;animation:.18s toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast.is-leaving{animation:.15s ease-in forwards toast-out}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.toast,.toast.is-leaving{animation:none}}.toast__icon{border-radius:999px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;font-size:11px;font-weight:700;display:inline-flex}.toast--success .toast__icon{background:color-mix(in srgb, var(--success,#4c8c5c) 18%, transparent);color:var(--success,#4c8c5c)}.toast--error .toast__icon{background:color-mix(in srgb, var(--danger,#b3402e) 18%, transparent);color:var(--danger,#b3402e)}.toast--info .toast__icon{background:var(--soft,#0000000f);color:var(--text-muted,inherit)}.toast--error{border-color:color-mix(in srgb, var(--danger,#b3402e) 45%, var(--border,transparent))}.toast__msg{word-break:break-word}.err-state{border:1px dashed color-mix(in srgb, var(--danger,#b3402e) 40%, var(--border,transparent));background:color-mix(in srgb, var(--danger,#b3402e) 6%, transparent);color:var(--text,inherit);border-radius:12px;align-items:center;gap:10px;padding:14px 16px;font-size:13.5px;display:flex}.err-state--compact{border-radius:9px;padding:8px 12px;font-size:12.5px}.err-state__icon{color:var(--danger,#b3402e);flex:none}.err-state__msg{flex:auto;min-width:0}.err-state__retry{font:inherit;border:1px solid var(--border,#00000026);background:var(--surface,var(--ds-white));color:var(--text,inherit);cursor:pointer;border-radius:8px;flex:none;padding:5px 12px;font-size:12.5px;font-weight:600}.err-state__retry:hover{border-color:var(--text-muted,currentColor)}.empty-state{text-align:center;color:var(--text-muted,inherit);padding:28px 20px}.empty-state__title{color:var(--text,inherit);font-weight:600}.empty-state__hint{margin-top:6px;max-width:46ch;margin-inline:auto;font-size:13px;line-height:1.5}.empty-state__action{justify-content:center;margin-top:14px;display:flex}.call-page{color:#fffefb;background:#141311;flex-direction:column;height:100dvh;display:flex}.call-page--state{justify-content:center;align-items:center}.call-topbar{background:#1c1b18;border-bottom:1px solid #fffefb14;flex:none;align-items:center;gap:14px;min-height:52px;padding:8px 14px;display:flex}.call-back{width:32px;height:32px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:18px;transition:background .15s;display:inline-flex}.call-back:hover{background:#fffefb1a}.call-title-wrap{flex-direction:column;min-width:0;margin-right:auto;display:flex}.call-title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.call-subtitle{opacity:.55;font-size:12px}.call-share{color:inherit;font:inherit;cursor:pointer;white-space:nowrap;background:#fffefb0f;border:1px solid #fffefb2e;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:12.5px;font-weight:600;transition:background .15s;display:inline-flex}.call-share:hover{background:#fffefb24}.call-share:focus-visible{outline-offset:2px;outline:2px solid #fffefb}.call-timer{font-variant-numeric:tabular-nums;opacity:.8;font-size:13px;font-weight:600}.call-status{background:#fffefb14;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.call-status-dot{background:#8a8478;border-radius:50%;width:8px;height:8px}.call-status--live .call-status-dot{background:#2f9e63}.call-status--connecting .call-status-dot{background:#d99b2b;animation:1s ease-in-out infinite call-pulse}.call-status--offline .call-status-dot{background:#c2483f}@keyframes call-pulse{50%{opacity:.35}}.call-stage{flex:auto;min-height:0;display:flex;position:relative}.call-board{color:#1c1b18;background:#f6f5f2;min-width:0}.call-videos{flex-direction:column;min-width:0;display:flex;position:relative}.call-tile{background:#22211d;position:relative;overflow:hidden}.call-video{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.call-video--mirror{transform:scaleX(-1)}.call-video--contain{-o-object-fit:contain;object-fit:contain}.call-stage--video .call-board{visibility:hidden;opacity:0;pointer-events:none;position:absolute;inset:0}.call-stage--video .call-videos{flex:auto}.call-stage--video .call-tile--remote{position:absolute;inset:0}.call-stage--video .call-tile--local{aspect-ratio:4/3;z-index:2;border:1px solid #fffefb29;border-radius:14px;width:220px;position:absolute;bottom:96px;right:20px;box-shadow:0 12px 32px #0006}.call-stage--video .call-dock{z-index:3;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.call-stage--board .call-board{flex:auto}.call-stage--board .call-videos{background:#141311;border-left:1px solid #fffefb14;flex:0 0 300px;gap:12px;padding:12px}.call-stage--board .call-tile{aspect-ratio:4/3;border-radius:16px;flex:none}.call-stage--board .call-dock{align-self:center;margin-top:auto}.call-placeholder,.call-ended{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:0 24px;display:flex;position:absolute;inset:0}.call-placeholder{background:radial-gradient(70% 55% at 50% 42%,#ffe7c424,#0000 70%),radial-gradient(60% 50% at 20% 100%,#809cff1a,#0000 70%),linear-gradient(#2a2823 0%,#1a1917 100%)}.call-avatar{color:#fffefb;background:#3a3833;border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;margin-bottom:6px;font-size:34px;font-weight:700;display:flex;overflow:hidden;box-shadow:0 0 0 4px #fffefb14,0 16px 40px #00000073}.call-avatar img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.call-stage--board .call-avatar{width:56px;height:56px;font-size:22px}.call-placeholder-name{font-size:18px;font-weight:700}.call-stage--board .call-placeholder-name{font-size:14px}.call-placeholder-sub,.call-ended-sub{color:#fffefba6;max-width:360px;font-size:13.5px}.call-ended-title{font-size:20px;font-weight:700}.call-ended-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;display:flex}.call-pill{color:#fffefb;font:inherit;cursor:pointer;background:#fffefb14;border:1px solid #fffefb33;border-radius:999px;padding:9px 18px;font-size:13.5px;font-weight:600;transition:background .15s}.call-pill:hover{background:#fffefb29}.call-pill--primary{background:#2f9e63;border-color:#2f9e63}.call-pill--primary:hover{background:#278a55}.call-gate{text-align:center;background:#1c1b18;border:1px solid #fffefb1a;border-radius:22px;flex-direction:column;align-items:center;gap:12px;width:min(440px,100vw - 32px);padding:32px 28px 28px;display:flex;box-shadow:0 24px 64px #00000073}.call-gate-form{display:contents}.call-gate-brand{letter-spacing:.12em;text-transform:uppercase;opacity:.5;font-size:13px;font-weight:800}.call-gate-kicker{letter-spacing:.04em;text-transform:uppercase;opacity:.6;font-size:12.5px}.call-gate-title{overflow-wrap:anywhere;font-size:22px;font-weight:700;line-height:1.2}.call-gate-label{opacity:.75;margin-top:8px;font-size:13px}.call-gate-input{width:100%;font:inherit;color:#fffefb;background:#fffefb0f;border:1px solid #fffefb2e;border-radius:12px;padding:12px 14px;font-size:15px}.call-gate-input::placeholder{color:#fffefb59}.call-gate-input:focus{outline-offset:1px;outline:2px solid #2f9e63}.call-gate .call-pill{margin-top:4px}.call-gate .call-pill:disabled{opacity:.45;cursor:not-allowed}.call-gate-hint{color:#fffefb8c;max-width:320px;font-size:12.5px}.call-dock{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1c1b18d9;border-radius:999px;gap:10px;padding:10px;display:flex;box-shadow:0 12px 32px #00000059}.call-btn{cursor:pointer;color:#fffefb;background:#fffefb1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .15s,transform .1s;display:inline-flex}.call-btn:hover{background:#fffefb38}.call-btn:active{transform:scale(.94)}.call-btn:focus-visible{outline-offset:2px;outline:2px solid #fffefb}.call-btn--off{background:#c2483f66}.call-btn--active{background:#2f9e6380}.call-btn--hangup{background:#c2483f}.call-btn--hangup:hover{background:#a93c34}.call-invite{z-index:1200;color:#fffefb;background:#1c1b18;border-radius:14px;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:10px 12px 10px 16px;font-size:13.5px;animation:.25s ease-out call-invite-in;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #1c1b1859}@keyframes call-invite-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.call-invite-dot{background:#2f9e63;border-radius:50%;flex:none;width:9px;height:9px;animation:1s ease-in-out infinite call-pulse}.call-invite-text{flex-direction:column;min-width:0;display:flex}.call-invite-sub{opacity:.6;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.call-invite-accept,.call-invite-decline{font:inherit;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700}.call-invite-accept{color:#fff;background:#2f9e63}.call-invite-accept:hover{background:#278a55}.call-invite-decline{color:#fffefb;background:#fffefb1a}.call-invite-decline:hover{background:#fffefb33}@media (width<=760px){.call-subtitle,.call-status,.call-share span{display:none}.call-share{padding:6px 9px}.call-stage--video .call-tile--local{width:120px;bottom:88px;right:12px}.call-stage--board{flex-direction:column}.call-stage--board .call-videos{border-top:1px solid #fffefb14;border-left:none;flex-direction:row;flex:none;align-items:center;gap:8px;height:112px;padding:8px}.call-stage--board .call-tile{aspect-ratio:4/3;border-radius:12px;height:96px}.call-stage--board .call-dock{gap:6px;margin-left:auto;padding:6px}.call-stage--board .call-btn{width:36px;height:36px}.call-invite{flex-wrap:wrap;justify-content:flex-end}}.call-body{flex:auto;min-height:0;display:flex}.call-body>.call-stage{flex:auto;min-width:0}.call-rail{background:#141311;border-right:1px solid #fffefb14;flex-direction:column;flex:0 0 216px;gap:10px;min-height:0;padding:12px 10px;display:flex;overflow-y:auto}.call-rail-tools{flex-direction:column;gap:6px;display:flex}.call-rail-tool{color:#fffefb;font:inherit;cursor:pointer;background:#fffefb0f;border:1px solid #fffefb1f;border-radius:10px;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.call-rail-tool:hover{background:#fffefb1f}.call-rail-tool:focus-visible{outline-offset:2px;outline:2px solid #fffefb}.call-rail-tool--on{background:#2f9e6359;border-color:#2f9e63b3}.call-rail-tool--on:hover{background:#2f9e6380}.call-rail-list{flex-direction:column;gap:10px;display:flex}.call-rail-tile{cursor:pointer;background:#22211d;border:2px solid #0000;border-radius:14px;transition:border-color .15s,transform .1s;overflow:hidden}.call-rail-tile:hover{border-color:#fffefb59}.call-rail-tile:focus-visible{border-color:#fffefb;outline:none}.call-rail-tile:active{transform:scale(.985)}.call-rail-tile--speaking{border-color:#2f9e63;box-shadow:0 0 0 3px #2f9e6340}.call-rail-tile--ended{opacity:.6}.call-rail-video{aspect-ratio:4/3;background:#1a1917;position:relative}.call-rail-placeholder{background:radial-gradient(70% 55% at 50% 42%,#ffe7c424,#0000 70%),linear-gradient(#2a2823 0%,#1a1917 100%);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.call-rail-placeholder .call-avatar{width:48px;height:48px;font-size:18px}.call-rail-flags{gap:4px;display:flex;position:absolute;bottom:6px;left:6px}.call-rail-flag{color:#fffefb;background:#c2483f8c;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.call-rail-flag--on{background:#2f9e6399}.call-rail-hangup{color:#fffefb;cursor:pointer;opacity:0;background:#c2483fd9;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:opacity .15s;display:inline-flex;position:absolute;top:6px;right:6px}.call-rail-tile:hover .call-rail-hangup,.call-rail-tile:focus-within .call-rail-hangup{opacity:1}.call-rail-hangup:hover{background:#a93c34}.call-rail-meta{justify-content:space-between;align-items:baseline;gap:8px;padding:6px 9px 7px;font-size:12.5px;display:flex}.call-rail-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.call-rail-sub{opacity:.6;font-variant-numeric:tabular-nums;white-space:nowrap}.call-rail-speaking{color:#2f9e63;font-weight:700}.call-rail-add{color:#fffefbbf;width:100%;font:inherit;cursor:pointer;background:0 0;border:1px dashed #fffefb40;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:12.5px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex}.call-rail-add:hover{color:#fffefb;background:#fffefb14}.call-badge{z-index:2;color:#fffefb;background:#1c1b18cc;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex;position:absolute;top:14px;left:14px}.call-badge--mic{color:#f0b5af}.call-hint{z-index:3;color:#fffefb;background:#1c1b18eb;border:1px solid #ffd67859;border-radius:12px;align-items:flex-start;gap:10px;max-width:min(560px,100% - 28px);padding:10px 12px 10px 14px;font-size:13px;line-height:1.4;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}.call-hint-text{flex:auto}.call-hint-close{color:inherit;font:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;flex:none;padding:0 2px;font-size:18px;line-height:1}.call-hint-close:hover{opacity:1}.call-stage--board .call-hint{max-width:none;position:static;transform:none}.call-float{z-index:1150;color:#fffefb;background:#1c1b18;border-radius:16px;align-items:center;gap:6px;max-width:calc(100vw - 32px);padding:6px 6px 6px 8px;animation:.25s ease-out call-invite-in;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 12px 32px #1c1b1859}.call-float-main{min-width:0;color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:4px 8px 4px 4px;display:flex}.call-float-main:hover{background:#fffefb14}.call-float-dot{background:#2f9e63;border-radius:50%;flex:none;width:9px;height:9px;animation:1.4s ease-in-out infinite call-pulse}.call-float-text{flex-direction:column;min-width:0;display:flex}.call-float-name{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:700;overflow:hidden}.call-float-sub{opacity:.6;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.call-float-btn{cursor:pointer;color:#fffefb;background:#fffefb1f;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;width:38px;height:38px;transition:background .15s;display:inline-flex}.call-float-btn:hover{background:#fffefb38}.call-float-btn--off{background:#c2483f66}.call-float-btn--hangup{background:#c2483f}.call-float-btn--hangup:hover{background:#a93c34}@media (width<=760px){.call-body{flex-direction:column}.call-rail{border-bottom:1px solid #fffefb14;border-right:none;flex-direction:row;flex:none;align-items:stretch;gap:8px;padding:8px;overflow:auto hidden}.call-rail-tools{flex-direction:row;flex:none}.call-rail-tool span{display:none}.call-rail-tool{padding:7px 9px}.call-rail-list{flex-direction:row}.call-rail-tile{flex:0 0 132px}.call-rail-hangup{opacity:1}.call-rail-add{flex:none;padding:8px 12px}.call-float{max-width:none;bottom:10px;left:10px;right:10px}.call-float-main{flex:auto}}.call-rail-addwrap{position:relative}.call-rail-menu{background:#22211d;border:1px solid #fffefb24;border-radius:14px;flex-direction:column;gap:4px;padding:6px;display:flex;box-shadow:0 12px 32px #0006}.call-rail-menuitem{color:#fffefb;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.call-rail-menuitem:hover:not(:disabled){background:#fffefb1a}.call-rail-menuitem:disabled{opacity:.5;cursor:progress}.call-rail-menuitem>svg{opacity:.85;flex:none}.call-rail-menuitem span{flex-direction:column;min-width:0;display:flex}.call-rail-menuitem b{font-size:13px}.call-rail-menuitem small{opacity:.6;font-size:11.5px}.call-rail-search{box-sizing:border-box;color:#fffefb;width:100%;font:inherit;background:#fffefb0f;border:1px solid #fffefb29;border-radius:9px;padding:7px 10px;font-size:13px}.call-rail-search::placeholder{color:#fffefb66}.call-rail-search:focus{outline-offset:1px;outline:2px solid #2f9e63}.call-rail-students{flex-direction:column;max-height:220px;display:flex;overflow-y:auto}.call-rail-student{color:#fffefb;font:inherit;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:8px;flex:none;padding:7px 10px;font-size:13px;overflow:hidden}.call-rail-student:hover:not(:disabled){background:#fffefb1a}.call-rail-hint{opacity:.6;flex:none;padding:8px 10px;font-size:12.5px}.call-rail-menuback{color:#fffefbb3;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;align-self:flex-start;padding:5px 8px;font-size:12.5px}.call-rail-menuback:hover{color:#fffefb;background:#fffefb14}@media (width<=760px){.call-rail-addwrap{flex:none}.call-rail-menu{z-index:5;width:240px;position:absolute;top:0;left:0}}.cas{text-align:left;color:#fffefb;background:#1c1b18;border:1px solid #fffefb1f;border-radius:18px;flex-direction:column;width:min(560px,100%);max-height:calc(100vh - 32px);animation:.2s ease-out call-invite-in;display:flex;box-shadow:0 24px 64px #00000080}.cas-head{border-bottom:1px solid #fffefb14;justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.cas-head h2{margin:0;font-size:17px;font-weight:700}.cas-close{color:#fffefb;cursor:pointer;background:#fffefb14;border:none;border-radius:50%;width:32px;height:32px;font-size:20px;line-height:1}.cas-close:hover{background:#fffefb29}.cas-body{flex-direction:column;gap:6px;padding:8px 20px 12px;display:flex;overflow-y:auto}.cas-section{border-bottom:1px solid #fffefb12;flex-direction:column;gap:10px;padding:12px 0;display:flex}.cas-section:last-child{border-bottom:none}.cas-grid{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.cas-field{flex-direction:column;gap:6px;min-width:0;display:flex}.cas-label{letter-spacing:.04em;text-transform:uppercase;opacity:.65;font-size:11.5px;font-weight:700}.cas-label b{opacity:1;color:#fffefb;text-transform:none;letter-spacing:0;margin-left:4px}.cas-hint{opacity:.6;margin:0;font-size:12.5px;line-height:1.4}.cas-hint b{opacity:1}.cas-error{color:#f0b5af;font-size:12.5px}.cas select{color:#fffefb;width:100%;font:inherit;background:#2a2823;border:1px solid #fffefb29;border-radius:9px;padding:8px 10px;font-size:13px}.cas select:disabled{opacity:.5}.cas input[type=range]{appearance:none;background:linear-gradient(90deg, #2f9e63 var(--pct,50%), #fffefb24 var(--pct,50%));border-radius:999px;outline:none;width:100%;height:8px;margin:6px 0}.cas input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fffefb;border:none;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 6px #0006}.cas input[type=range]::-moz-range-thumb{cursor:pointer;background:#fffefb;border:none;border-radius:50%;width:18px;height:18px}.cas input[type=range]:disabled{opacity:.45}.cas-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.cas-btn{color:#fffefb;font:inherit;cursor:pointer;white-space:nowrap;background:#fffefb14;border:1px solid #fffefb2e;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700}.cas-btn:hover:not(:disabled){background:#fffefb29}.cas-btn:disabled{opacity:.45;cursor:not-allowed}.cas-btn--active{background:#2f9e6373;border-color:#2f9e63cc}.cas-btn--primary{background:#2f9e63;border-color:#2f9e63}.cas-btn--primary:hover{background:#278a55}.cas-btn--ghost{background:0 0}.cas-meter{background:#fffefb1f;border-radius:999px;flex:160px;height:10px;overflow:hidden}.cas-meter-fill{background:#8a8478;height:100%;transition:width 60ms linear}.cas-meter--open .cas-meter-fill{background:#2f9e63}.cas-radios{flex-direction:column;gap:6px;display:flex}.cas-radio{cursor:pointer;border:1px solid #fffefb1a;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.cas-radio--on{background:#2f9e631f;border-color:#2f9e63cc}.cas-radio input{accent-color:#2f9e63}.cas-radio span{flex-direction:column;display:flex}.cas-radio b{font-size:13.5px}.cas-radio small{opacity:.6;font-size:12px}.cas-key{color:#fffefb;min-width:120px;font:inherit;cursor:pointer;background:#2a2823;border:1px dashed #fffefb59;border-radius:9px;padding:8px 14px;font-size:13px;font-weight:700}.cas-key--rec{border-style:solid;border-color:#2f9e63;animation:1s ease-in-out infinite call-pulse}.cas-sens{padding-top:4px;position:relative}.cas-sens-track{background:#fffefb1f;border-radius:999px;height:12px;position:relative;overflow:hidden}.cas-sens-zone{background:#2f9e6338;position:absolute;top:0;bottom:0;right:0}.cas-sens-level{background:#8a8478;transition:width 60ms linear;position:absolute;top:0;bottom:0;left:0}.cas-sens-level--open{background:#2f9e63}.cas-sens-thumb{background:#fffefb;border-radius:2px;width:3px;height:18px;margin-left:-1px;position:absolute;top:-3px}.cas-sens input[type=range]{opacity:.001;background:0 0;height:20px;margin:0;position:absolute;top:0;left:0;right:0}.cas-sens--auto input[type=range]{pointer-events:none}.cas-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex;position:relative}.cas-toggle--disabled{opacity:.5;cursor:not-allowed}.cas-toggle-text{flex-direction:column;display:flex}.cas-toggle-text span{font-size:13.5px;font-weight:600}.cas-toggle-text small{opacity:.6;font-size:12px}.cas-toggle input{opacity:0;width:0;height:0;position:absolute}.cas-switch{background:#fffefb2e;border-radius:999px;flex:none;width:40px;height:24px;transition:background .15s;position:relative}.cas-switch:after{content:"";background:#fffefb;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.cas-toggle input:checked+.cas-switch{background:#2f9e63}.cas-toggle input:checked+.cas-switch:after{transform:translate(16px)}.cas-toggle input:focus-visible+.cas-switch{outline-offset:2px;outline:2px solid #fffefb}.cas-foot{border-top:1px solid #fffefb14;justify-content:space-between;gap:10px;padding:12px 20px 16px;display:flex}.cas--pop{z-index:6;width:min(520px,100vw - 24px);max-height:min(78vh,680px);animation:.15s ease-out call-pop-in;position:absolute;bottom:calc(100% + 12px);left:0}@media (width<=600px){.cas-grid{grid-template-columns:1fr}}.call-btn-split{border-radius:999px;align-items:center;display:inline-flex;position:relative}.call-btn-split .call-btn{border-radius:22px 0 0 22px;padding-right:2px}.call-btn-caret{color:#fffefb;cursor:pointer;background:#fffefb1f;border:none;border-left:1px solid #00000040;border-radius:0 22px 22px 0;justify-content:center;align-items:center;width:22px;height:44px;transition:background .15s;display:inline-flex}.call-btn-caret:hover,.call-btn-split--open .call-btn-caret{background:#fffefb38}.call-btn-caret:focus-visible{outline-offset:2px;outline:2px solid #fffefb}.call-btn-split--open .call-btn-caret svg{transform:rotate(180deg)}.call-micmenu{color:#fffefb;z-index:5;text-align:left;background:#22211d;border:1px solid #fffefb24;border-radius:14px;width:280px;max-height:min(60vh,440px);padding:8px;animation:.15s ease-out call-pop-in;position:absolute;bottom:calc(100% + 12px);left:0;overflow-y:auto;box-shadow:0 16px 40px #00000080}@keyframes call-pop-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.call-micmenu-title{letter-spacing:.05em;text-transform:uppercase;opacity:.6;padding:8px 10px 4px;font-size:11px;font-weight:700}.call-micmenu-title b{opacity:1;text-transform:none;letter-spacing:0;margin-left:4px}.call-micmenu-item{color:#fffefb;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:7px 8px;font-size:13px;display:flex}.call-micmenu-item:hover:not(:disabled){background:#fffefb1a}.call-micmenu-item:disabled{opacity:.5;cursor:default}.call-micmenu-item--on{color:#7fd6a4}.call-micmenu-check{flex:0 0 16px;justify-content:center;display:inline-flex}.call-micmenu-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.call-micmenu-hint{opacity:.55;padding:6px 10px;font-size:12px}.call-micmenu-range{appearance:none;background:linear-gradient(90deg, #2f9e63 var(--pct,50%), #fffefb24 var(--pct,50%));border-radius:999px;outline:none;width:calc(100% - 20px);height:6px;margin:4px 10px 8px}.call-micmenu-range::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fffefb;border:none;border-radius:50%;width:14px;height:14px}.call-micmenu-range::-moz-range-thumb{cursor:pointer;background:#fffefb;border:none;border-radius:50%;width:14px;height:14px}.call-micmenu-settings{border-top:1px solid #fffefb1a;border-radius:0 0 8px 8px;margin-top:4px;padding-top:10px}@media (width<=760px){.call-micmenu{width:min(280px,90vw);left:50%;transform:translate(-30%)}}.call-micmenu{flex-direction:column;width:min(560px,100vw - 24px);min-height:380px;display:flex}.call-micmenu-cols{flex:auto;grid-template-columns:1fr 1fr;gap:4px 12px;display:grid}.call-micmenu-col{flex-direction:column;min-width:0;display:flex}.call-micmenu-col .call-micmenu-title:first-child{padding-top:4px}.call-micmenu-switch{cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;font-size:13px;display:flex;position:relative}.call-micmenu-switch:hover{background:#fffefb0f}.call-micmenu-switch--disabled{opacity:.5;cursor:not-allowed}.call-micmenu-switch input{opacity:0;width:0;height:0;position:absolute}.call-micmenu-switch .cas-switch{width:34px;height:20px}.call-micmenu-switch .cas-switch:after{width:14px;height:14px}.call-micmenu-switch input:checked+.cas-switch:after{transform:translate(14px)}.call-micmenu-switch input:checked+.cas-switch{background:#2f9e63}.call-micmenu-switch input:focus-visible+.cas-switch{outline-offset:2px;outline:2px solid #fffefb}.call-micmenu-seg{background:#fffefb14;border-radius:10px;gap:4px;margin:2px 8px 6px;padding:3px;display:flex}.call-micmenu-segbtn{color:#fffefbbf;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1 1 0;padding:6px 8px;font-size:12.5px;font-weight:600}.call-micmenu-segbtn:hover{color:#fffefb}.call-micmenu-segbtn--on{color:#fffefb;background:#2f9e63}.call-micmenu-hint b{color:#fffefb;opacity:1}.cas--pop{height:min(78vh,680px)}@media (width<=760px){.call-micmenu-cols{grid-template-columns:1fr}.call-micmenu{min-height:0}}
