@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-ext-wght-normal-IYF56FF6.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-wght-normal-JEOLYBOO.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-ext-wght-normal-EOVOK2B5.woff2") format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-wght-normal-IRE366VL.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-vietnamese-wght-normal-CE5GGD3W.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-ext-wght-normal-HA22NDSG.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-wght-normal-NRMW37G5.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/plus-jakarta-sans-cyrillic-ext-wght-normal-JQUONSEA.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/plus-jakarta-sans-vietnamese-wght-normal-TOS5SH3L.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/plus-jakarta-sans-latin-ext-wght-normal-UBEBQO7H.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/plus-jakarta-sans-latin-wght-normal-XZSBT77D.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/jetbrains-mono-cyrillic-ext-wght-normal-BUWC6ZS3.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/jetbrains-mono-cyrillic-wght-normal-ENSFVLK4.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/jetbrains-mono-greek-wght-normal-Y3BRZMJV.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/jetbrains-mono-vietnamese-wght-normal-SP6EBKAH.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/jetbrains-mono-latin-ext-wght-normal-TSLVDSQR.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/jetbrains-mono-latin-wght-normal-VBS632QH.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Plus Jakarta Sans Variable", "Plus Jakarta Sans", var(--font-sans);--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--gray-0: #ffffff;--gray-25: #f9fafb;--gray-50: #f4f5f8;--gray-100: #eceef2;--gray-150: #e4e7ec;--gray-200: #d8dce4;--gray-300: #c0c6d1;--gray-400: #9aa1b0;--gray-500: #6b7385;--gray-600: #4b5364;--gray-700: #363c4a;--gray-800: #232833;--gray-900: #12151d;--indigo-50: #f1f2fe;--indigo-100: #e4e6fd;--indigo-200: #cdd1fb;--indigo-300: #abb1f7;--indigo-400: #868ef1;--indigo-500: #666fe8;--indigo-600: #5159da;--indigo-700: #434abe;--indigo-800: #383d99;--indigo-900: #2e3277;--paper: var(--gray-50);--surface: var(--gray-0);--surface-2: var(--gray-25);--surface-3: var(--gray-100);--surface-raised: #ffffff;--surface-sunken: #f1f3f6;--hover: color-mix(in srgb, var(--ink) 3.5%, var(--surface));--pressed: color-mix(in srgb, var(--ink) 7%, var(--surface));--line: var(--gray-150);--line-strong: var(--gray-200);--line-hover: var(--gray-300);--ink: var(--gray-900);--ink-2: var(--gray-600);--ink-3: var(--gray-500);--ink-4: var(--gray-400);--on-accent: #ffffff;--mix-soft: 9%;--mix-soft-hi: 15%;--mix-line: 30%;--accent: var(--indigo-600);--accent-hi: var(--indigo-700);--accent-strong: var(--indigo-600);--accent-ink: var(--indigo-700);--accent-soft: color-mix(in srgb, var(--accent) var(--mix-soft), transparent);--accent-soft-hi: color-mix(in srgb, var(--accent) var(--mix-soft-hi), transparent);--accent-line: color-mix(in srgb, var(--accent) var(--mix-line), transparent);--accent-grad: linear-gradient(135deg, #5b67e8 0%, #7a4fd0 100%);--link: var(--accent);--link-hover: var(--accent-hi);--green: #13854f;--green-strong: #13854f;--green-ink: #0b6a3e;--amber: #b26a00;--amber-ink: #8a5200;--red: #d03b3b;--red-hi: #b83131;--red-strong: #d03b3b;--red-ink: #a12b2b;--blue: #2470cc;--blue-ink: #1b5aa6;--violet: #7a4fd0;--violet-ink: #6340b0;--teal: #0f8b8d;--green-soft: color-mix(in srgb, var(--green) var(--mix-soft), transparent);--green-line: color-mix(in srgb, var(--green) var(--mix-line), transparent);--amber-soft: color-mix(in srgb, var(--amber) calc(var(--mix-soft) + 2%), transparent);--amber-line: color-mix(in srgb, var(--amber) var(--mix-line), transparent);--red-soft: color-mix(in srgb, var(--red) var(--mix-soft), transparent);--red-line: color-mix(in srgb, var(--red) var(--mix-line), transparent);--blue-soft: color-mix(in srgb, var(--blue) var(--mix-soft), transparent);--blue-line: color-mix(in srgb, var(--blue) var(--mix-line), transparent);--violet-soft: color-mix(in srgb, var(--violet) var(--mix-soft), transparent);--violet-line: color-mix(in srgb, var(--violet) var(--mix-line), transparent);--teal-soft: color-mix(in srgb, var(--teal) var(--mix-soft), transparent);--accent-glow: color-mix(in srgb, var(--accent-strong) 30%, transparent);--accent-glow-md: color-mix(in srgb, var(--accent-strong) 45%, transparent);--accent-glow-lg: color-mix(in srgb, var(--accent-strong) 55%, transparent);--red-glow: color-mix(in srgb, var(--red-strong) 30%, transparent);--red-glow-lg: color-mix(in srgb, var(--red-strong) 50%, transparent);--green-glow: color-mix(in srgb, var(--green-strong) 30%, transparent);--green-pulse: color-mix(in srgb, var(--green) 55%, transparent);--ink-ring: color-mix(in srgb, var(--ink) 6%, transparent);--line-soft: color-mix(in srgb, var(--line-strong) 58%, transparent);--line-faint: color-mix(in srgb, var(--line) 70%, transparent);--code-bg: #f6f7fa;--code-ink: #2b3350;--selection: color-mix(in srgb, var(--accent) 22%, transparent);--skeleton-hi: #f8f9fb;--overlay: rgba(13, 15, 26, .44);--toast-bg: #161a24;--tooltip-bg: #161a24;--tooltip-ink: #f3f4f8;--glass: color-mix(in srgb, var(--surface) 78%, transparent);--input-bg: var(--surface);--input-bg-focus: var(--surface);--thumb: #ffffff;--chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5.5 7.75l4.5 4.5 4.5-4.5' stroke='%236b7385' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--d-bg: #0f1226;--d-bg-2: #171b33;--d-bg-3: #222743;--d-line: #2d3352;--d-line-soft: #232842;--d-ink: #e6e8f2;--d-ink-2: #a2a8c3;--d-ink-3: #717896;--d-accent: #8f9bff;--d-green: #5fd49b;--d-amber: #f2b85a;--d-red: #f47a7a;--sidebar-bg: radial-gradient(120% 50% at 0% 0%, #20265a 0%, rgba(32, 38, 90, 0) 62%), linear-gradient(180deg, #10132a 0%, #0c0f22 100%);--radius-xs: 4px;--radius-sm: 6px;--radius: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 999px;--space-0: 0;--space-px: 1px;--space-0-5: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--control-h: 36px;--control-h-sm: 30px;--control-h-xs: 26px;--control-h-lg: 44px;--text-display: 40px;--text-h1: 26px;--text-h2: 18px;--text-h3: 15px;--text-h4: 13.5px;--text-body: 14px;--text-small: 12.5px;--text-caption: 11.5px;--tracking-display: -.032em;--tracking-tight: -.02em;--tracking-snug: -.01em;--tracking-caps: .06em;--shadow-xs: 0 1px 2px rgba(16, 20, 36, .05);--shadow-sm: 0 1px 2px rgba(16, 20, 36, .05), 0 1px 3px rgba(16, 20, 36, .05);--shadow-md: 0 2px 4px -1px rgba(16, 20, 36, .05), 0 6px 16px -4px rgba(16, 20, 36, .1);--shadow-lg: 0 4px 8px -2px rgba(16, 20, 36, .06), 0 18px 36px -10px rgba(16, 20, 36, .18);--shadow-xl: 0 8px 16px -6px rgba(16, 20, 36, .08), 0 32px 64px -16px rgba(16, 20, 36, .3);--highlight: inset 0 1px 0 rgba(255, 255, 255, 0);--ring-color: color-mix(in srgb, var(--accent) 22%, transparent);--ring: 0 0 0 2px var(--ring-color);--focus-ring: 0 0 0 2px var(--ring-color);--ring-danger-color: color-mix(in srgb, var(--red) 20%, transparent);--ring-danger: 0 0 0 2px var(--ring-danger-color);--dur-1: .12s;--dur-2: .18s;--dur-3: .24s;--dur-4: .36s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--z-base: 1;--z-sticky: 20;--z-topbar: 25;--z-sidebar: 40;--z-dropdown: 50;--z-popover: 60;--z-expanded: 950;--z-overlay: 1000;--z-palette: 1050;--z-toast: 1100;--z-tooltip: 1200;--sidebar-w: 264px;--page-max: 1280px;--course-max: 1320px}:root[data-theme=dark]{--gray-0: #12141b;--gray-25: #161922;--gray-50: #0b0d12;--gray-100: #1d2029;--gray-150: #242833;--gray-200: #2f343f;--gray-300: #434957;--gray-400: #5f6574;--gray-500: #8a90a0;--gray-600: #b3b8c5;--gray-700: #cfd3dc;--gray-800: #e2e5eb;--gray-900: #eef0f4;--indigo-50: #171a36;--indigo-100: #1e2148;--indigo-200: #2a2e66;--indigo-300: #3b418c;--indigo-400: #525ac4;--indigo-500: #6d76ee;--indigo-600: #7c84f2;--indigo-700: #9ba1f8;--indigo-800: #bdc1fb;--indigo-900: #dfe1fd;--surface-raised: #191c25;--surface-sunken: #0e1015;--hover: color-mix(in srgb, var(--ink) 4.5%, var(--surface));--pressed: color-mix(in srgb, var(--ink) 8%, var(--surface));--on-accent: #ffffff;--mix-soft: 15%;--mix-soft-hi: 23%;--mix-line: 36%;--accent: var(--indigo-500);--accent-hi: var(--indigo-600);--accent-strong: #5a63dc;--accent-ink: #aab0fa;--accent-grad: linear-gradient(135deg, #6c77f0 0%, #9a6bf0 100%);--link: #9ba1f8;--link-hover: #bdc1fb;--green: #4cc38a;--green-strong: #23915c;--green-ink: #7fdcae;--amber: #f0b44c;--amber-ink: #f6cd85;--red: #f07171;--red-hi: #f48b8b;--red-strong: #d64d4d;--red-ink: #f7a5a5;--blue: #5aa2f0;--blue-ink: #9cc6f7;--violet: #a888f0;--violet-ink: #c9b4f7;--teal: #3cc2c4;--code-bg: #0e1016;--code-ink: #c9cff0;--selection: color-mix(in srgb, var(--accent) 36%, transparent);--skeleton-hi: #262a36;--overlay: rgba(3, 4, 8, .64);--toast-bg: #232733;--tooltip-bg: #2a2e3b;--tooltip-ink: #f3f4f8;--glass: color-mix(in srgb, var(--paper) 74%, transparent);--input-bg: color-mix(in srgb, var(--paper) 45%, var(--surface));--input-bg-focus: color-mix(in srgb, var(--paper) 25%, var(--surface));--thumb: #2b2f3b;--chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5.5 7.75l4.5 4.5 4.5-4.5' stroke='%238a90a0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--sidebar-bg: radial-gradient(120% 50% at 0% 0%, #1b2050 0%, rgba(27, 32, 80, 0) 62%), linear-gradient(180deg, #0b0d1c 0%, #08090f 100%);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .35);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35), 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 2px 4px -1px rgba(0, 0, 0, .4), 0 8px 18px -4px rgba(0, 0, 0, .5);--shadow-lg: 0 4px 10px -2px rgba(0, 0, 0, .45), 0 20px 40px -10px rgba(0, 0, 0, .65);--shadow-xl: 0 10px 20px -6px rgba(0, 0, 0, .5), 0 36px 72px -16px rgba(0, 0, 0, .8);--highlight: inset 0 1px 0 rgba(255, 255, 255, .045);--ring-color: color-mix(in srgb, var(--accent) 32%, transparent);--ring-danger-color: color-mix(in srgb, var(--red) 28%, transparent)}.theme-switching,.theme-switching *,.theme-switching *:before,.theme-switching *:after{transition:background-color .28s ease,border-color .28s ease,color .28s ease,fill .28s ease,box-shadow .28s ease!important}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--text-body);line-height:1.55;color:var(--ink);background:var(--paper);font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:var(--link);text-decoration:none;transition:color var(--dur-1) ease}a:hover{color:var(--link-hover)}h1,h2,h3,h4{margin:0;font-family:var(--font-display);color:var(--ink);letter-spacing:var(--tracking-snug);line-height:1.25;text-wrap:balance}h1{font-size:var(--text-h1);font-weight:700;letter-spacing:var(--tracking-tight)}h2{font-size:var(--text-h2);font-weight:650}h3{font-size:var(--text-h3);font-weight:650}h4{font-size:var(--text-h4);font-weight:650}p{margin:0}code,pre,kbd,.mono{font-family:var(--font-mono);font-feature-settings:normal;font-variant-ligatures:none}.num,.tnum{font-variant-numeric:tabular-nums}::selection{background:var(--selection)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-display{font:700 var(--text-display)/1.08 var(--font-display);letter-spacing:var(--tracking-display);color:var(--ink);text-wrap:balance}.text-h1{font:700 var(--text-h1)/1.2 var(--font-display);letter-spacing:var(--tracking-tight)}.text-h2{font:650 var(--text-h2)/1.3 var(--font-display);letter-spacing:var(--tracking-snug)}.text-h3{font:650 var(--text-h3)/1.35 var(--font-display)}.text-h4{font:650 var(--text-h4)/1.35 var(--font-display)}.text-body{font-size:var(--text-body);line-height:1.55}.text-small{font-size:var(--text-small);line-height:1.5}.text-caption{font-size:var(--text-caption);line-height:1.4;color:var(--ink-3)}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}kbd,.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:5px;border:1px solid var(--line-strong);border-bottom-width:2px;background:var(--surface);color:var(--ink-2);font:550 11px/1 var(--font-mono);white-space:nowrap;vertical-align:middle}.kbd-group{display:inline-flex;gap:3px;align-items:center}.btn kbd,.btn .kbd{height:18px;min-width:18px;border-width:1px;background:color-mix(in srgb,currentColor 12%,transparent);border-color:color-mix(in srgb,currentColor 22%,transparent);color:inherit;opacity:.9}hr{border:0;border-top:1px solid var(--line);margin:16px 0}.divider-label{display:flex;align-items:center;gap:12px;color:var(--ink-3);font-size:var(--text-caption);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase}.divider-label:before,.divider-label:after{content:"";flex:1;border-top:1px solid var(--line)}.page{max-width:var(--page-max);margin:0 auto;padding:28px 32px 64px}.with-section-tabs .page{padding-top:24px}.with-section-tabs .page>.page-head>div>.eyebrow:not(a){display:none}.page-narrow{max-width:880px}.page-wide{max-width:1440px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-bottom:24px}.page-head .eyebrow{margin-bottom:8px}.page-head h1{text-wrap:balance}.page-head .subtitle,.page-head .description{color:var(--ink-2);margin-top:6px;max-width:680px;text-wrap:pretty}.page-head.bordered{padding-bottom:20px;border-bottom:1px solid var(--line)}.page-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.admin-stage .page{max-width:none;margin:0;padding:0}.admin-stage .page-head{align-items:center;margin-bottom:20px}.admin-stage .page-head>div:first-child{flex:1 1 380px;min-width:0}.admin-stage .page-head>div>.eyebrow:not(a){display:none}.admin-stage .page-head h1{font-size:23px}.admin-stage .page-head .subtitle{font-size:13.5px;margin-top:4px}.eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-caption);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-3)}.eyebrow a{color:var(--ink-3)}.eyebrow a:hover{color:var(--accent)}.breadcrumbs ol,ol.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:2px;list-style:none;margin:0;padding:0;font-size:var(--text-small);color:var(--ink-3)}.breadcrumbs li{display:inline-flex;align-items:center;gap:2px;min-width:0}.breadcrumbs li+li:before{content:"";width:14px;height:14px;flex-shrink:0;background:currentColor;opacity:.55;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat}.breadcrumbs a{color:var(--ink-3);padding:2px 4px;border-radius:5px}.breadcrumbs a:hover{color:var(--ink);background:var(--hover)}.breadcrumbs [aria-current=page]{color:var(--ink);font-weight:550;padding:2px 4px}.label{font-size:var(--text-caption);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.muted{color:var(--ink-3)}.secondary{color:var(--ink-2)}.small{font-size:var(--text-small)}.tiny{font-size:var(--text-caption)}.strong{font-weight:600}.nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stack{display:flex;flex-direction:column;gap:16px}.stack-xs{display:flex;flex-direction:column;gap:4px}.stack-sm{display:flex;flex-direction:column;gap:8px}.stack-lg{display:flex;flex-direction:column;gap:24px}.stack-xl{display:flex;flex-direction:column;gap:32px}.row{display:flex;align-items:center;gap:8px}.row-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.spread{display:flex;align-items:center;justify-content:space-between;gap:12px}.grow{flex:1;min-width:0}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:16px}.split{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}@media(max-width:1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){.page{padding:20px 16px 48px}.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}h1{font-size:22px}.text-display{font-size:30px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs),var(--highlight)}.card-pad{padding:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;border-bottom:1px solid var(--line)}.card-head h2,.card-head h3{font-size:15px;letter-spacing:var(--tracking-snug)}.card-head .hint{font-size:var(--text-small);color:var(--ink-3);margin-top:1px}.card-head>a.small,.card-head>.card-link{display:inline-flex;align-items:center;gap:2px;font-weight:550}.card-body{padding:20px}.card-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px)}.card-foot.spread{justify-content:space-between}.card-media{border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0;overflow:hidden;aspect-ratio:16 / 7;background:var(--surface-3)}.card-media>img,.card-media>video{width:100%;height:100%;object-fit:cover;display:block}.card-muted{background:var(--surface-2);box-shadow:none}.card-flat{box-shadow:none}.card-raised{box-shadow:var(--shadow-md),var(--highlight);border-color:var(--line)}.card-accent{border-color:var(--accent-line);background:linear-gradient(180deg,var(--accent-soft),transparent 120px),var(--surface)}a.card,.card-interactive,button.card{color:inherit;display:block;text-align:inherit;font:inherit;transition:border-color var(--dur-2) ease,box-shadow var(--dur-2) ease,transform var(--dur-2) var(--ease-out)}button.card{width:100%;cursor:pointer}a.card:hover,.card-interactive:hover,button.card:hover{border-color:var(--line);box-shadow:var(--shadow-md),var(--highlight);color:inherit}a.card:active,.card-interactive:active,button.card:active{transform:translateY(0) scale(.995)}.stat{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px 18px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-xs),var(--highlight);min-width:0}.stat-label{font-size:var(--text-small);color:var(--ink-2);font-weight:550}.stat-value{font-family:var(--font-display);font-size:28px;font-weight:700;line-height:1.1;letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;color:var(--ink)}.stat-value .unit{font-size:.55em;font-weight:600;color:var(--ink-3);margin-left:2px;letter-spacing:0}.stat-hint{font-size:12px;color:var(--ink-3)}.stat-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-soft)}.stat-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:2px}.trend{display:inline-flex;align-items:center;gap:3px;height:20px;padding:0 6px;border-radius:6px;font:600 11.5px/1 var(--font-sans);font-variant-numeric:tabular-nums;background:var(--surface-3);color:var(--ink-2);white-space:nowrap}.trend:before{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent}.trend.up{background:var(--green-soft);color:var(--green-ink)}.trend.up:before{border-bottom:5px solid currentColor}.trend.down{background:var(--red-soft);color:var(--red-ink)}.trend.down:before{border-top:5px solid currentColor}.trend.flat:before{display:none}.btn{--spinner: var(--ink-2);position:relative;height:var(--control-h);padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:550 13.5px/1 var(--font-sans);letter-spacing:-.005em;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;text-decoration:none;box-shadow:var(--shadow-xs),var(--highlight);-webkit-tap-highlight-color:transparent;transition:background-color var(--dur-1) ease,border-color var(--dur-1) ease,color var(--dur-1) ease,box-shadow var(--dur-2) ease,transform var(--dur-1) var(--ease-out),opacity var(--dur-1) ease}.btn:hover{background:var(--hover);border-color:var(--line);color:var(--ink)}.btn:active{transform:scale(.97);transition-duration:60ms}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none}.btn.loading:disabled,.btn[aria-busy=true]:disabled{opacity:1;cursor:progress}.exam-course-picker .trigger{appearance:none;-webkit-appearance:none;display:flex;align-items:center;gap:10px;width:100%;min-height:var(--control-h-lg);padding:8px 10px 8px 12px;border-radius:var(--radius-md);text-align:left;font:inherit;color:var(--ink);cursor:pointer;border:1px solid var(--line-strong);background:var(--input-bg);box-shadow:var(--shadow-xs)}.exam-course-picker .trigger .copy,.course-picker-panel .copy{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25}.exam-course-picker .trigger .code,.course-picker-panel .code{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--course, var(--accent-ink))}.exam-course-picker .trigger .name,.course-picker-panel .name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-course-picker .swatch,.course-picker-panel .swatch{width:28px;height:28px;border-radius:8px;flex-shrink:0;background:var(--course, var(--accent));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--course, var(--accent)) 35%,transparent)}.qform .block-label{display:block;margin-bottom:8px;font:650 11px/1.2 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.qform .kinds.segmented{display:flex;width:100%}.qform .kinds.segmented .kind{appearance:none;-webkit-appearance:none;flex:1;position:relative;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--ink-2);font:550 12.5px var(--font-sans);cursor:pointer;box-shadow:none;white-space:nowrap}.qform .kinds.segmented .kind:hover{color:var(--ink);background:transparent}.qform .kinds.segmented .kind.on{border:0;background:var(--thumb);color:var(--ink);box-shadow:var(--shadow-sm)}.qform .kinds.segmented .kind:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--accent)}.qform .kinds.segmented .kind-icon{width:auto;height:auto;border-radius:0;background:none;color:inherit;display:inline-flex}.qform .kinds.segmented .kind.on .kind-icon{background:none;color:inherit}.qform .kinds.segmented .kind-check{display:none}.qform .options{display:flex;flex-direction:column;gap:4px}.qform .options.need-mark{padding:4px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--red-line);background:color-mix(in srgb,var(--red-soft) 55%,transparent)}.qform .option{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 6px;border-radius:10px}.qform .option.correct{background:var(--green-soft)}.qform .option .input{flex:1;min-width:0}.qform .option.correct .input{border-color:var(--line);background:var(--input-bg)}.qform .option>.btn{flex-shrink:0}.qform .pick{appearance:none;-webkit-appearance:none;width:20px;height:20px;flex-shrink:0;border-radius:50%;border:1.5px solid var(--line-strong);background:var(--surface);cursor:pointer;color:#fff;display:grid;place-items:center;padding:0}.qform .pick.box{border-radius:5px}.qform .pick.on{border-color:var(--green);background:var(--green-strong)}.qform .pick:hover{border-color:var(--green)}.qform .pick:focus-visible{outline:none;box-shadow:var(--focus-ring)}.qform .letter{width:16px;flex-shrink:0;font:650 12px var(--font-mono);color:var(--ink-3)}.qform .option.correct .letter{color:var(--green-ink)}.qform .ok{flex-shrink:0;font:650 11px/1 var(--font-sans);color:var(--green-ink);padding:4px 8px;border-radius:999px;background:var(--surface)}.qform .add{align-self:flex-start;margin-top:4px}@media(max-width:600px){.qform .kinds.segmented{display:grid;grid-template-columns:1fr 1fr}.qform .kinds.segmented .kind{height:36px}.qform .ok{display:none}}.qform-exercise-panel{position:fixed;z-index:1080;overflow:auto;padding:6px;border-radius:14px;background:var(--surface-raised);border:1px solid var(--line);box-shadow:var(--shadow-lg),var(--highlight)}.qform-exercise-panel .search{margin:2px 2px 8px}.qform-exercise-panel .ex-opt{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;text-align:left;font:inherit;color:inherit;cursor:pointer;border:0;border-radius:10px;background:transparent}.qform-exercise-panel .ex-opt:hover,.qform-exercise-panel .ex-opt.on{background:var(--hover)}.qform-exercise-panel .ex-opt.on{box-shadow:inset 0 0 0 1px var(--accent-line)}.qform-exercise-panel .ex-copy{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25}.qform-exercise-panel .ex-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qform-exercise-panel .ex-meta{font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qform-exercise-panel .tick{color:var(--accent);flex-shrink:0}.qform-exercise-panel .ex-empty{margin:0;padding:16px 10px;text-align:center;color:var(--ink-3);font-size:13px}.btn-primary{--spinner: var(--on-accent);color:var(--on-accent);background:linear-gradient(180deg,color-mix(in srgb,#fff 9%,var(--accent-strong)) 0%,var(--accent-strong) 100%);border-color:color-mix(in srgb,#000 14%,var(--accent-strong));box-shadow:inset 0 1px #fff3,0 1px 2px var(--accent-glow),0 2px 6px -2px var(--accent-glow-md);text-shadow:0 1px 0 rgba(0,0,0,.08)}.btn-primary:hover{color:var(--on-accent);background:linear-gradient(180deg,color-mix(in srgb,#fff 15%,var(--accent-strong)),color-mix(in srgb,#fff 4%,var(--accent-strong)));border-color:color-mix(in srgb,#000 18%,var(--accent-strong));box-shadow:inset 0 1px #ffffff38,0 1px 2px var(--accent-glow),0 6px 14px -4px var(--accent-glow-lg)}.btn-primary:focus-visible{box-shadow:inset 0 1px #fff3,var(--focus-ring)}.btn-danger{--spinner: #fff;color:#fff;background:linear-gradient(180deg,color-mix(in srgb,#fff 8%,var(--red-strong)) 0%,var(--red-strong) 100%);border-color:color-mix(in srgb,#000 14%,var(--red-strong));box-shadow:inset 0 1px #ffffff2e,0 1px 2px var(--red-glow)}.btn-danger:hover{color:#fff;border-color:color-mix(in srgb,#000 20%,var(--red-strong));background:linear-gradient(180deg,color-mix(in srgb,#000 2%,var(--red-strong)),color-mix(in srgb,#000 10%,var(--red-strong)));box-shadow:inset 0 1px #ffffff29,0 6px 14px -4px var(--red-glow-lg)}.btn-danger:focus-visible{box-shadow:0 0 0 1px var(--red),var(--ring-danger)}.btn-success{--spinner: #fff;color:#fff;background:linear-gradient(180deg,color-mix(in srgb,#fff 8%,var(--green-strong)) 0%,var(--green-strong) 100%);border-color:color-mix(in srgb,#000 14%,var(--green-strong));box-shadow:inset 0 1px #ffffff2e,0 1px 2px var(--green-glow)}.btn-success:hover{color:#fff;border-color:color-mix(in srgb,#000 20%,var(--green-strong));background:linear-gradient(180deg,var(--green-strong),color-mix(in srgb,#000 8%,var(--green-strong)))}.btn-danger-ghost{--spinner: var(--red);color:var(--red);border-color:var(--red-line);background:var(--surface)}.btn-danger-ghost:hover{background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 45%,transparent);color:var(--red)}.btn-danger-ghost:focus-visible{box-shadow:0 0 0 1px var(--red),var(--ring-danger)}.btn-ghost{border-color:transparent;background:transparent;box-shadow:none;color:var(--ink-2)}.btn-ghost:hover{background:var(--hover);border-color:transparent;color:var(--ink)}.btn-ghost:active{background:var(--pressed)}.btn-soft{--spinner: var(--accent);background:var(--accent-soft);border-color:transparent;color:var(--accent-ink);box-shadow:none}.btn-soft:hover{background:var(--accent-soft-hi);border-color:transparent;color:var(--accent-ink)}.btn-link{--spinner: var(--accent);height:auto;padding:0;border:0;background:none;box-shadow:none;color:var(--link);border-radius:4px}.btn-link:hover{background:none;color:var(--link-hover);text-decoration:underline;text-underline-offset:3px}.btn-link:active{transform:none}.btn-xs{height:var(--control-h-xs);padding:0 8px;font-size:12px;gap:5px;border-radius:var(--radius-sm)}.btn-sm{height:var(--control-h-sm);padding:0 10px;font-size:12.5px;gap:6px}.btn-lg{height:var(--control-h-lg);padding:0 20px;font-size:14.5px;border-radius:var(--radius-md);gap:9px}.btn-block{width:100%}.btn-icon{width:var(--control-h);padding:0}.btn-icon.btn-sm{width:var(--control-h-sm)}.btn-icon.btn-xs{width:var(--control-h-xs)}.btn-icon.btn-lg{width:var(--control-h-lg)}.btn-pill{border-radius:var(--radius-full)}.btn .nudge{transition:transform var(--dur-2) var(--ease-out)}.btn:hover .nudge{transform:translate(2px)}.btn.loading,.btn[aria-busy=true]{color:transparent!important;text-shadow:none;pointer-events:none}.btn.loading>*,.btn[aria-busy=true]>*{visibility:hidden}.btn.loading:after,.btn[aria-busy=true]:after{content:"";position:absolute;inset:0;margin:auto;width:16px;height:16px;border-radius:50%;border:2px solid transparent;border-color:color-mix(in srgb,var(--spinner) 28%,transparent);border-top-color:var(--spinner);animation:spin .65s linear infinite}.btn-sm.loading:after,.btn-xs.loading:after,.btn-sm[aria-busy=true]:after,.btn-xs[aria-busy=true]:after{width:13px;height:13px}.btn-group,.btn-split{display:inline-flex;align-items:stretch;border-radius:var(--radius);box-shadow:var(--shadow-xs)}.btn-group>.btn,.btn-split>.btn{border-radius:0;box-shadow:none}.btn-group>.btn:first-child,.btn-split>.btn:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.btn-group>.btn:last-child,.btn-split>.btn:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.btn-group>.btn+.btn,.btn-split>.btn+.btn{margin-left:-1px}.btn-group>.btn:hover,.btn-group>.btn:focus-visible,.btn-split>.btn:hover,.btn-split>.btn:focus-visible{z-index:1}.btn-group>.btn.on,.btn-group>.btn[aria-pressed=true]{background:var(--surface-3);color:var(--ink);box-shadow:inset 0 1px 2px #0000000f}.btn-split>.btn:last-child{width:32px;padding:0}.btn-split>.btn-primary+.btn-primary{border-left-color:color-mix(in srgb,#fff 28%,var(--accent-strong))}.btn-group:has(.btn-primary),.btn-split:has(.btn-primary){box-shadow:0 2px 6px -2px var(--accent-glow-md)}.link-btn{border:0;background:none;padding:0;color:var(--link);font:inherit;cursor:pointer;border-radius:4px}.link-btn:hover{color:var(--link-hover);text-decoration:underline;text-underline-offset:3px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.field-label,.field-head>label{font-size:13px;font-weight:550;color:var(--ink)}.field-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.field .help,.field-hint{font-size:12px;color:var(--ink-3);line-height:1.45}.optional{font-size:12px;font-weight:450;color:var(--ink-3);margin-left:4px}.required:after{content:" *";color:var(--red);font-weight:600}.char-count{margin-left:auto;font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;transition:color var(--dur-1) ease}.char-count.near{color:var(--amber)}.char-count.over{color:var(--red);font-weight:600}.field .error-text,.field-error{display:flex;align-items:flex-start;gap:5px;font-size:12px;line-height:1.45;color:var(--red);animation:field-error-in var(--dur-3) var(--ease-out) both}.field .error-text:before,.field-error:before{content:"";width:14px;height:14px;margin-top:1px;flex-shrink:0;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M12 7.5v5.5M12 16.5h.01'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M12 7.5v5.5M12 16.5h.01'/%3E%3C/svg%3E") center / contain no-repeat}@keyframes field-error-in{0%{opacity:0;transform:translateY(-4px)}}.input,.select,.textarea{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--input-bg);color:var(--ink);font:14px/1.4 var(--font-sans);padding:8px 11px;box-shadow:var(--shadow-xs);transition:border-color var(--dur-1) ease,box-shadow var(--dur-2) ease,background-color var(--dur-1) ease}.input,.select{height:var(--control-h)}.input-sm{height:var(--control-h-sm);font-size:13px;padding:4px 9px}.input-lg{height:var(--control-h-lg);font-size:15px;padding:10px 13px;border-radius:var(--radius-md)}.select.input-sm{padding-right:28px;background-position:right 8px center}.textarea{min-height:96px;resize:vertical;line-height:1.55}.textarea.code{font:13px/1.55 var(--font-mono);white-space:pre;tab-size:4}.input::placeholder,.textarea::placeholder{color:var(--ink-4);opacity:1}.input:hover,.select:hover,.textarea:hover{border-color:var(--line);background:var(--surface-2)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,var(--line-strong));background:var(--input-bg-focus);box-shadow:0 0 0 2px var(--ring-color)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-sunken);color:var(--ink-3);border-color:var(--line);box-shadow:none;cursor:not-allowed}.input[readonly],.textarea[readonly]{background:var(--surface-2);border-color:var(--line);box-shadow:none}.input[readonly]:focus,.textarea[readonly]:focus{border-color:var(--line-hover);box-shadow:0 0 0 2px var(--ink-ring)}.input.invalid,.select.invalid,.textarea.invalid,.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true],.input.ng-invalid.ng-touched,.select.ng-invalid.ng-touched,.textarea.ng-invalid.ng-touched{border-color:var(--red)}.input.invalid:focus,.select.invalid:focus,.textarea.invalid:focus,.input[aria-invalid=true]:focus,.select[aria-invalid=true]:focus,.textarea[aria-invalid=true]:focus,.input.ng-invalid.ng-touched:focus,.select.ng-invalid.ng-touched:focus,.textarea.ng-invalid.ng-touched:focus{border-color:var(--red);box-shadow:var(--ring-danger)}.input.valid{border-color:var(--green-line)}.input[type=number]{font-variant-numeric:tabular-nums}.input[type=number]::-webkit-inner-spin-button{opacity:.45}.input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:16px;height:16px;cursor:pointer;background:var(--ink-4);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm3.7 12.3a1 1 0 0 1-1.4 1.4L12 13.4l-2.3 2.3a1 1 0 0 1-1.4-1.4l2.3-2.3-2.3-2.3a1 1 0 0 1 1.4-1.4l2.3 2.3 2.3-2.3a1 1 0 0 1 1.4 1.4L13.4 12z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm3.7 12.3a1 1 0 0 1-1.4 1.4L12 13.4l-2.3 2.3a1 1 0 0 1-1.4-1.4l2.3-2.3-2.3-2.3a1 1 0 0 1 1.4-1.4l2.3 2.3 2.3-2.3a1 1 0 0 1 1.4 1.4L13.4 12z'/%3E%3C/svg%3E") center / contain no-repeat;transition:background-color var(--dur-1) ease}.input[type=search]::-webkit-search-cancel-button:hover{background:var(--ink-2)}.select{appearance:none;-webkit-appearance:none;padding-right:34px;cursor:pointer;text-overflow:ellipsis;background-image:var(--chevron);background-repeat:no-repeat;background-position:right 11px center;background-size:14px 14px}.select[multiple],.select[size]:not([size="1"]){height:auto;padding-right:11px;background-image:none}.select option{background:var(--surface-raised);color:var(--ink)}.control-soft{border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink-2);font:inherit;box-shadow:var(--shadow-xs);transition:background-color var(--dur-2) ease,box-shadow var(--dur-2) ease,border-color var(--dur-2) ease}.control-soft:hover{border-color:var(--line);background:var(--surface-2);box-shadow:var(--shadow-sm)}.control-soft:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 35%,var(--line));box-shadow:0 0 0 2px var(--ring-color);background:var(--surface)}.select.control-soft{appearance:none;padding-right:34px;cursor:pointer;background-image:var(--chevron);background-repeat:no-repeat;background-position:right 11px center;background-size:14px 14px}.input.control-soft{height:var(--control-h);padding:8px 12px}.select.control-soft{height:var(--control-h);padding:0 34px 0 12px;font-size:13px}.control-soft.with-icon{padding-left:36px}.control-icon{position:absolute;left:11px;top:0;bottom:0;display:grid;place-items:center;color:var(--ink-4);pointer-events:none;transition:color var(--dur-2) ease}.control-field{position:relative;display:inline-flex;align-items:center}.control-field:focus-within .control-icon{color:var(--accent)}.input-group{position:relative;display:flex;align-items:center;min-width:0}.input-group>.input{padding-left:36px}.input-group>.lead{position:absolute;left:11px;top:0;bottom:0;align-items:center;color:var(--ink-3);pointer-events:none;display:flex;z-index:1;transition:color var(--dur-1) ease}.input-group:focus-within>.lead{color:var(--accent)}.input-group>.trail{position:absolute;right:4px;top:0;bottom:0;margin-block:auto;z-index:1}.input-group>.trail-text{position:absolute;right:11px;top:0;bottom:0;display:flex;align-items:center;z-index:1;color:var(--ink-3);font-size:12.5px;pointer-events:none}.input-group>.input.has-trail{padding-right:40px}.input-group>.input-lg{padding-left:40px}.input-group:has(>.input-lg)>.lead{left:13px}.input-join{display:flex;align-items:stretch;min-width:0;border-radius:var(--radius);box-shadow:var(--shadow-xs)}.input-join>*{border-radius:0!important;box-shadow:none}.input-join>*:first-child{border-top-left-radius:var(--radius)!important;border-bottom-left-radius:var(--radius)!important}.input-join>*:last-child{border-top-right-radius:var(--radius)!important;border-bottom-right-radius:var(--radius)!important}.input-join>*+*{margin-left:-1px}.input-join>.input,.input-join>.select,.input-join>.input-group{flex:1;min-width:0;position:relative}.input-join>.input:focus,.input-join>.select:focus,.input-join>.btn:focus-visible{z-index:2}.input-join>.addon{display:flex;align-items:center;gap:6px;padding:0 11px;height:var(--control-h);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink-3);font-size:13.5px;white-space:nowrap}.input-join>.btn{height:var(--control-h)}input[type=checkbox],input[type=radio]{-webkit-appearance:none;appearance:none;margin:0;width:16px;height:16px;flex-shrink:0;display:inline-grid;place-content:center;vertical-align:-3px;cursor:pointer;border:1.5px solid var(--line-hover);background:var(--input-bg);color:var(--on-accent);transition:background-color var(--dur-1) ease,border-color var(--dur-1) ease,box-shadow var(--dur-2) ease,transform var(--dur-1) var(--ease-out)}input[type=checkbox]{border-radius:5px}input[type=radio]{border-radius:50%}input[type=checkbox]:before{content:"";width:10px;height:10px;background:currentColor;transform:scale(0);transition:transform var(--dur-2) var(--ease-spring);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5 10-11'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5 10-11'/%3E%3C/svg%3E") center / contain no-repeat}input[type=checkbox]:indeterminate:before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E") center / contain no-repeat}input[type=radio]:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;transform:scale(0);transition:transform var(--dur-2) var(--ease-spring)}input[type=checkbox]:checked,input[type=checkbox]:indeterminate,input[type=radio]:checked{background:var(--accent-strong);border-color:var(--accent-strong)}input[type=checkbox]:checked:before,input[type=checkbox]:indeterminate:before,input[type=radio]:checked:before{transform:scale(1)}input[type=checkbox]:hover:not(:disabled):not(:checked),input[type=radio]:hover:not(:disabled):not(:checked){border-color:var(--accent)}input[type=checkbox]:active:not(:disabled),input[type=radio]:active:not(:disabled){transform:scale(.9)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:none;box-shadow:var(--ring)}input[type=checkbox]:disabled,input[type=radio]:disabled{opacity:.5;cursor:not-allowed}.check{display:inline-flex;align-items:flex-start;gap:9px;cursor:pointer;font-size:13.5px;line-height:1.4}.check input{width:16px;height:16px;margin:1.5px 0 0;flex-shrink:0}.check:has(input:disabled){cursor:not-allowed;color:var(--ink-3)}.choice-card{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;transition:border-color var(--dur-1) ease,background-color var(--dur-1) ease,box-shadow var(--dur-2) ease}.choice-card:hover{border-color:var(--line);background:var(--surface-2)}.choice-card:has(input:checked){border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--accent-soft)}.choice-card:has(input:focus-visible):not(:has(input:checked)){outline:none;border-color:color-mix(in srgb,var(--accent) 55%,var(--line-strong));box-shadow:0 0 0 2px var(--ring-color)}.choice-card:has(input:checked) input:focus-visible{box-shadow:none}.choice-card input{margin-top:2px}.switch,.switch-row{position:relative;cursor:pointer;font-size:13.5px}.switch{display:inline-flex;align-items:center;gap:10px}.switch-row{display:flex;align-items:flex-start;gap:12px}.switch-row>span:last-child{display:flex;flex-direction:column;gap:2px}.switch>input,.switch-row>input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.switch>.track,.switch-row>.track{position:relative;width:36px;height:20px;border-radius:999px;background:var(--line-strong);flex-shrink:0;box-shadow:inset 0 1px 2px #00000014;transition:background-color var(--dur-2) ease,box-shadow var(--dur-2) ease}.switch-row>.track{margin-top:1px}.switch>.track>i,.switch-row>.track>i{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000002e,0 1px 4px #00000014;transition:transform var(--dur-3) var(--ease-spring)}.switch:hover>.track,.switch-row:hover>.track{background:var(--line-hover)}.switch>input:checked+.track,.switch-row>input:checked+.track{background:var(--accent-strong)}.switch>input:checked+.track>i,.switch-row>input:checked+.track>i{transform:translate(16px)}.switch>input:focus-visible+.track,.switch-row>input:focus-visible+.track{box-shadow:var(--ring)}.switch>input:disabled+.track,.switch-row>input:disabled+.track{opacity:.5}.switch:active>.track>i,.switch-row:active>.track>i{transform:scale(.9)}.switch:active>input:checked+.track>i,.switch-row:active>input:checked+.track>i{transform:translate(16px) scale(.9)}input[type=checkbox].toggle{position:relative;display:inline-block;width:36px;height:20px;border-radius:999px;border:0;background:var(--line-strong);box-shadow:inset 0 1px 2px #00000014;vertical-align:middle}input[type=checkbox].toggle:before{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transform:none;-webkit-mask:none;mask:none;box-shadow:0 1px 2px #0000002e,0 1px 4px #00000014;transition:transform var(--dur-3) var(--ease-spring)}input[type=checkbox].toggle:checked{background:var(--accent-strong)}input[type=checkbox].toggle:checked:before{transform:translate(16px)}input[type=checkbox].toggle:active:not(:disabled){transform:none}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:22px;background:transparent;cursor:pointer;margin:0}input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--line)}input[type=range]::-moz-range-track{height:6px;border-radius:999px;background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--line)}input[type=range]::-moz-range-progress{height:6px;border-radius:999px;background:var(--accent)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;margin-top:-6px;border-radius:50%;background:#fff;border:5px solid var(--accent-strong);box-shadow:var(--shadow-sm);transition:transform var(--dur-2) var(--ease-spring),box-shadow var(--dur-2) ease}input[type=range]::-moz-range-thumb{width:18px;height:18px;box-sizing:border-box;border-radius:50%;background:#fff;border:5px solid var(--accent-strong);box-shadow:var(--shadow-sm);transition:transform var(--dur-2) var(--ease-spring),box-shadow var(--dur-2) ease}input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.12)}input[type=range]:hover::-moz-range-thumb{transform:scale(1.12)}input[type=range]:focus-visible{outline:none}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:var(--shadow-sm),var(--ring)}input[type=range]:focus-visible::-moz-range-thumb{box-shadow:var(--shadow-sm),var(--ring)}input[type=range]:disabled{opacity:.5;cursor:not-allowed}.dropzone{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;padding:14px;border:1.5px dashed var(--line-strong);border-radius:var(--radius-lg);background:var(--surface-2);color:var(--ink-2);cursor:pointer;transition:border-color var(--dur-1) ease,background-color var(--dur-1) ease,box-shadow var(--dur-2) ease,transform var(--dur-2) var(--ease-out)}.dropzone:hover{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-ink)}.dropzone.drag-over,.dropzone.over,.dropzone[data-over=true]{border-color:var(--accent);border-style:solid;background:var(--accent-soft-hi);color:var(--accent-ink);box-shadow:0 0 0 2px var(--ring-color)}.dropzone-lg{flex-direction:column;gap:10px;padding:32px 20px}.dropzone .dropzone-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--surface-raised);border:1px solid var(--line);box-shadow:var(--shadow-sm);color:var(--accent);transition:transform var(--dur-3) var(--ease-spring)}.dropzone:hover .dropzone-icon,.dropzone.drag-over .dropzone-icon{transform:translateY(-3px)}.dropzone .dropzone-title{font-weight:600;color:var(--ink)}.dropzone .dropzone-hint{font-size:12px;color:var(--ink-3)}.form-section{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:12px 40px;padding:28px 0;border-top:1px solid var(--line)}.form-section:first-child{border-top:0;padding-top:4px}.form-section-head h2,.form-section-head h3{font-size:15px}.form-section-head p{font-size:13px;color:var(--ink-3);margin-top:4px;text-wrap:pretty}.form-section-body{display:flex;flex-direction:column;gap:16px;min-width:0}.form-section-body.card{padding:20px}@media(max-width:860px){.form-section{grid-template-columns:minmax(0,1fr);padding:22px 0}}.form-section.stacked{grid-template-columns:minmax(0,1fr);gap:14px;padding:20px 0}.form-section.stacked:first-child{padding-top:2px}.form-section-head:has(>.form-section-icon){display:flex;align-items:flex-start;gap:12px}.form-section-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-soft-hi)}.form-section-head .form-section-icon+div p{margin-top:2px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 18px}.form-grid .full,.form-grid-3 .full{grid-column:1 / -1}.form-grid-3 .span-2{grid-column:span 2}@media(max-width:700px){.form-grid,.form-grid-3{grid-template-columns:minmax(0,1fr)}.form-grid-3 .span-2{grid-column:auto}}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-top:8px}.form-actions .form-status{margin-right:auto;display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}.form-actions .form-status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 3px var(--amber-soft)}.form-actions.sticky{position:sticky;bottom:16px;z-index:var(--z-sticky);margin-top:24px;padding:10px 12px 10px 18px;background:var(--glass);-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),var(--highlight);animation:rise-in var(--dur-3) var(--ease-out) both}.form-errors{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius-md);background:var(--red-soft);border:1px solid var(--red-line);color:var(--red-ink);font-size:13.5px;animation:shake .38s var(--ease-out) both}.form-errors p{margin:0;font-weight:650}.form-errors ul{margin:4px 0 0;padding-left:18px}.form-errors li{margin:2px 0}.form-errors a{color:inherit;text-decoration:underline;text-underline-offset:2px}@keyframes shake{20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.swatches{display:flex;gap:10px;flex-wrap:wrap}.swatch{position:relative;width:28px;height:28px;padding:0;border:0;border-radius:50%;cursor:pointer;background:var(--course, var(--swatch, var(--accent)));box-shadow:inset 0 0 0 1px #0000001a;transition:transform var(--dur-2) var(--ease-spring),box-shadow var(--dur-2) ease}.swatch:hover{transform:scale(1.1)}.swatch:focus-visible{outline:none;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.swatch.on,.swatch[aria-checked=true],.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--course, var(--swatch, var(--accent)))}.swatch.on:after,.swatch[aria-checked=true]:after,.swatch[aria-pressed=true]:after{content:"";position:absolute;inset:0;margin:auto;width:12px;height:12px;background:#fff;animation:pop-in var(--dur-2) var(--ease-spring) both;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5 10-11'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5 10-11'/%3E%3C/svg%3E") center / contain no-repeat}.tag-input{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:var(--control-h);padding:4px 6px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--input-bg);box-shadow:var(--shadow-xs);cursor:text;transition:border-color var(--dur-1) ease,box-shadow var(--dur-2) ease}.tag-input:hover{border-color:var(--line);background:var(--surface-2)}.tag-input:focus-within{border-color:color-mix(in srgb,var(--accent) 55%,var(--line-strong));box-shadow:0 0 0 2px var(--ring-color)}.tag-input>input{flex:1;min-width:90px;height:24px;border:0;outline:0;background:transparent;font:14px var(--font-sans);color:var(--ink);padding:0 4px}.tag-input>input::placeholder{color:var(--ink-4)}.tag{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border-radius:6px;background:var(--surface-3);color:var(--ink);font:550 12.5px/1 var(--font-sans);white-space:nowrap;box-shadow:inset 0 0 0 1px var(--line-soft);animation:pop-in var(--dur-2) var(--ease-spring) both}.tag:has(>button){padding-right:3px}.tag>button{display:grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--ink-3);cursor:pointer;font:inherit;transition:background-color var(--dur-1) ease,color var(--dur-1) ease}.tag>button:hover{background:var(--pressed);color:var(--ink)}.tag-accent{background:var(--accent-soft);color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent-soft-hi)}.stepper{display:flex;list-style:none;margin:0;padding:0;counter-reset:step}.stepper>li{counter-increment:step;flex:1;display:flex;align-items:center;gap:10px;min-width:0;font-size:13px;font-weight:550;color:var(--ink-3)}.stepper>li:last-child{flex:0 0 auto}.stepper>li:not(:last-child):after{content:"";flex:1;min-width:16px;height:2px;margin:0 6px;border-radius:2px;background:linear-gradient(90deg,var(--accent) 50%,var(--line) 50%) right / 200% 100% no-repeat;transition:background-position var(--dur-4) var(--ease-out)}.stepper>li.done:not(:last-child):after{background-position:left}.stepper .step-dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink-3);font:650 12px/1 var(--font-sans);transition:background-color var(--dur-2) ease,border-color var(--dur-2) ease,color var(--dur-2) ease,box-shadow var(--dur-3) ease}.stepper .step-dot:before{content:counter(step)}.stepper .step-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stepper>li.current{color:var(--ink)}.stepper>li.current .step-dot{border-color:var(--accent);color:var(--accent-ink);box-shadow:0 0 0 4px var(--ring-color)}.stepper>li.done{color:var(--ink-2)}.stepper>li.done .step-dot{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.stepper>li.done .step-dot:before{content:"";width:12px;height:12px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5 10-11'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5 10-11'/%3E%3C/svg%3E") center / contain no-repeat}@media(max-width:600px){.stepper>li:not(.current) .step-label{display:none}}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.toolbar .search{width:280px;max-width:100%}.toolbar .toolbar-count{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}.toolbar .toolbar-count strong{color:var(--ink);font-weight:650}@media(max-width:700px){.toolbar .search{width:100%}.toolbar .toolbar-count{margin-left:0}}.segmented{position:relative;display:inline-flex;padding:3px;gap:2px;border-radius:9px;isolation:isolate;max-width:100%;overflow-x:auto;scrollbar-width:none;background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--line-faint)}.segmented button,.segmented>a{position:relative;z-index:1;height:28px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:var(--ink-2);font:550 12.5px var(--font-sans);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:color var(--dur-1) ease,background-color var(--dur-1) ease,box-shadow var(--dur-1) ease}.segmented button:hover,.segmented>a:hover{color:var(--ink)}.segmented button:focus-visible,.segmented>a:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}.segmented button.on,.segmented>a.on{background:var(--thumb);color:var(--ink);box-shadow:var(--shadow-sm)}.segmented button:disabled{opacity:.5;cursor:not-allowed}.segmented>.lm-ind{position:absolute;z-index:0;top:3px;bottom:3px;left:0;width:var(--ind-w, 0px);transform:translate(var(--ind-x, 0px));border-radius:6px;background:var(--thumb);pointer-events:none;opacity:0;box-shadow:var(--shadow-sm),0 0 0 1px var(--line-faint)}.segmented[data-ind]>.lm-ind{opacity:1}.segmented[data-ind=off]>.lm-ind{opacity:0}.segmented[data-ind=live]>.lm-ind{transition:transform var(--dur-3) var(--ease-out),width var(--dur-3) var(--ease-out),opacity var(--dur-2) ease}.segmented[data-ind] button.on,.segmented[data-ind]>a.on{background:transparent;box-shadow:none}.segmented[data-ind=off] button.on{background:var(--thumb);box-shadow:var(--shadow-sm)}.segmented-block{display:flex}.segmented-block>button{flex:1}.tabs{position:relative;display:flex;gap:2px;margin-bottom:20px;overflow-x:auto;isolation:isolate;box-shadow:inset 0 -1px 0 var(--line);scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button,.tabs a{position:relative;height:42px;padding:0 12px;border:0;background:none;cursor:pointer;color:var(--ink-3);font:550 13.5px var(--font-sans);white-space:nowrap;display:inline-flex;align-items:center;gap:7px;transition:color var(--dur-1) ease}.tabs button:before,.tabs a:before{content:"";position:absolute;inset:6px 2px;z-index:-1;border-radius:7px;background:var(--hover);opacity:0;transition:opacity var(--dur-1) ease}.tabs button:hover,.tabs a:hover{color:var(--ink)}.tabs button:hover:before,.tabs a:hover:before{opacity:1}.tabs button:focus-visible,.tabs a:focus-visible{outline:none}.tabs button:focus-visible:before,.tabs a:focus-visible:before{opacity:1;box-shadow:var(--ring)}.tabs .on{color:var(--ink)}.tabs .on lm-icon{color:var(--accent)}.tabs .on:after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;background:var(--accent);border-radius:2px 2px 0 0}.tabs[data-ind] .on:after{opacity:0}.tabs>.lm-ind{position:absolute;left:0;bottom:0;height:2px;width:var(--ind-w, 0px);transform:translate(var(--ind-x, 0px));background:var(--accent);border-radius:2px 2px 0 0;pointer-events:none}.tabs[data-ind=off]>.lm-ind{opacity:0}.tabs[data-ind=live]>.lm-ind{transition:transform var(--dur-3) var(--ease-out),width var(--dur-3) var(--ease-out)}.tabs .count{font-size:11px;font-weight:600;padding:1px 6px;border-radius:999px;background:var(--surface-3);color:var(--ink-2);font-variant-numeric:tabular-nums;transition:background-color var(--dur-1) ease,color var(--dur-1) ease}.tabs .on .count{background:var(--accent-soft);color:var(--accent-ink)}@property --fade-l{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --fade-r{syntax: "<length>"; inherits: false; initial-value: 0px;}.table-wrap{overflow-x:auto;position:relative}@supports (animation-timeline: scroll()){.table-wrap{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--fade-l),#000 calc(100% - var(--fade-r)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--fade-l),#000 calc(100% - var(--fade-r)),transparent 100%);animation:edge-fade linear both;animation-timeline:scroll(self inline)}.page>.table-wrap,.stagger>.table-wrap{animation:rise-in .42s var(--ease-out) both,edge-fade linear both;animation-timeline:auto,scroll(self inline)}}@keyframes edge-fade{0%{--fade-l: 0px;--fade-r: 28px}8%{--fade-l: 28px}92%{--fade-r: 28px}to{--fade-l: 28px;--fade-r: 0px}}.table-scroll{max-height:var(--table-max-h, 480px);overflow:auto}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}.table th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-2);padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.table th:first-child{border-top-left-radius:calc(var(--radius-lg) - 1px)}.table th:last-child{border-top-right-radius:calc(var(--radius-lg) - 1px)}.table td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr{transition:background-color var(--dur-1) ease}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover,.table tbody tr.hoverable:hover,.table-hover tbody tr:hover{background:var(--hover)}.table tbody tr.selected,.table tbody tr[aria-selected=true]{background:var(--accent-soft)}.table tbody tr.selected>td:first-child,.table tbody tr[aria-selected=true]>td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.table .right{text-align:right}.table .center{text-align:center}.table .actions{text-align:right;white-space:nowrap;width:1%}.table-compact td,.table-compact th{padding:8px 12px}.table-comfortable td{padding:16px}.table-comfortable th{padding:12px 16px}.table-sticky thead th{position:sticky;top:var(--sticky-top, 0px);z-index:2;box-shadow:inset 0 -1px 0 var(--line)}.table th.sortable,.table th[aria-sort]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--dur-1) ease}.table th.sortable:hover,.table th[aria-sort]:hover{color:var(--ink)}.table th.sortable:after,.table th[aria-sort]:after{content:"";display:inline-block;width:12px;height:12px;margin-left:4px;vertical-align:-2px;background:currentColor;opacity:.45;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 9l4-4 4 4M8 15l4 4 4-4'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 9l4-4 4 4M8 15l4 4 4-4'/%3E%3C/svg%3E") center / contain no-repeat}.table th[aria-sort=ascending],.table th[aria-sort=descending]{color:var(--ink)}.table th[aria-sort=ascending]:after,.table th[aria-sort=descending]:after{opacity:1;color:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5M6 11l6-6 6 6'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5M6 11l6-6 6 6'/%3E%3C/svg%3E") center / contain no-repeat;background:var(--accent)}.table th[aria-sort=descending]:after{transform:rotate(180deg)}.cell-person{display:flex;align-items:center;gap:10px;min-width:0}.cell-person .who{display:flex;flex-direction:column;min-width:0;line-height:1.3}.cell-person .who .name{font-weight:550}.cell-person .who .sub{font-size:var(--text-small);color:var(--ink-3)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 16px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-2)}.pagination .page-numbers{display:inline-flex;align-items:center;gap:2px}.pagination .page-num{min-width:30px;height:30px;padding:0 6px;border:0;border-radius:7px;background:transparent;color:var(--ink-2);font:550 12.5px var(--font-sans);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--dur-1) ease,color var(--dur-1) ease}.pagination .page-num:hover{background:var(--hover);color:var(--ink)}.pagination .page-num.on{background:var(--accent-soft);color:var(--accent-ink)}.pagination .page-gap{min-width:20px;text-align:center;color:var(--ink-4)}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap;line-height:1;background:var(--surface-3);color:var(--ink-2);border:1px solid transparent}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.badge .dot.live{animation:dot-pulse 1.8s ease-out infinite}.badge-green{background:var(--green-soft);color:var(--green-ink);border-color:color-mix(in srgb,var(--green) 16%,transparent)}.badge-amber{background:var(--amber-soft);color:var(--amber-ink);border-color:color-mix(in srgb,var(--amber) 18%,transparent)}.badge-red{background:var(--red-soft);color:var(--red-ink);border-color:color-mix(in srgb,var(--red) 16%,transparent)}.badge-blue{background:var(--blue-soft);color:var(--blue-ink);border-color:color-mix(in srgb,var(--blue) 16%,transparent)}.badge-accent{background:var(--accent-soft);color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 16%,transparent)}.badge-violet{background:var(--violet-soft);color:var(--violet-ink);border-color:color-mix(in srgb,var(--violet) 16%,transparent)}.badge-outline{background:transparent;border-color:var(--line-strong);color:var(--ink-2)}.badge-dark{background:var(--ink);color:var(--surface)}.badge-sm{height:18px;padding:0 6px;font-size:10.5px;gap:4px}.badge-lg{height:26px;padding:0 10px;font-size:12.5px}.badge-square{border-radius:6px}.badge>button{display:grid;place-items:center;width:16px;height:16px;margin-right:-4px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;opacity:.7;cursor:pointer;transition:background-color var(--dur-1) ease,opacity var(--dur-1) ease}.badge>button:hover{opacity:1;background:color-mix(in srgb,currentColor 16%,transparent)}@keyframes dot-pulse{0%{box-shadow:0 0 color-mix(in srgb,currentColor 55%,transparent)}to{box-shadow:0 0 0 6px transparent}}.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 7px;border-radius:var(--radius-sm);font:550 11.5px/1.5 var(--font-mono);background:var(--surface-3);color:var(--ink-2);white-space:nowrap;box-shadow:inset 0 0 0 1px var(--line-soft)}.notice{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border-radius:var(--radius-md);font-size:13.5px;border:1px solid;line-height:1.5}.notice lm-icon{margin-top:1px;flex-shrink:0}.notice .notice-title{display:block;font-weight:650;margin-bottom:1px}.notice .notice-body{flex:1;min-width:0}.notice .notice-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.notice-error{background:var(--red-soft);border-color:var(--red-line);color:var(--red-ink)}.notice-warn{background:var(--amber-soft);border-color:var(--amber-line);color:var(--amber-ink)}.notice-success{background:var(--green-soft);border-color:var(--green-line);color:var(--green-ink)}.notice-info{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-ink)}.notice-neutral{background:var(--surface-2);border-color:var(--line);color:var(--ink-2)}.notice-error lm-icon{color:var(--red)}.notice-warn lm-icon{color:var(--amber)}.notice-success lm-icon{color:var(--green)}.notice-info lm-icon{color:var(--accent)}.callout{border-width:0 0 0 3px;border-radius:4px var(--radius-md) var(--radius-md) 4px}.notice[role=alert]{animation:rise-in var(--dur-3) var(--ease-out) both}.empty{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:48px 24px;color:var(--ink-3)}.empty h3{color:var(--ink);font-size:15px}.empty p{max-width:440px;text-wrap:pretty}.empty .empty-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;margin-bottom:6px;background:linear-gradient(180deg,var(--surface) 0%,var(--surface-3) 100%);color:var(--ink-3);border:1px solid var(--line);box-shadow:var(--shadow-sm),var(--highlight)}.skeleton{background-color:var(--surface-3);background-image:linear-gradient(90deg,transparent 0%,var(--skeleton-hi) 50%,transparent 100%);background-size:200% 100%;background-repeat:no-repeat;animation:shimmer 1.5s var(--ease-in-out) infinite;border-radius:var(--radius-sm)}.skeleton-text{height:12px;border-radius:4px}.skeleton-title{height:18px;border-radius:5px;width:40%}.skeleton-circle{border-radius:50%}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--accent-line);border-top-color:var(--accent);animation:spin .65s linear infinite;display:inline-block;flex-shrink:0}.spinner-sm{width:12px;height:12px;border-width:1.5px}.spinner-lg{width:24px;height:24px;border-width:2.5px}.spinner-light{border-color:#ffffff59;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.progress{position:relative;height:6px;border-radius:999px;background:var(--surface-3);overflow:hidden}.progress>div{height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 70%,#fff) 0%,var(--accent) 100%);transition:width var(--dur-4) var(--ease-out)}@starting-style{.progress>div{width:0}}.progress.green>div{background:linear-gradient(90deg,color-mix(in srgb,var(--green) 70%,#fff),var(--green))}.progress.amber>div{background:linear-gradient(90deg,color-mix(in srgb,var(--amber) 70%,#fff),var(--amber))}.progress.red>div{background:linear-gradient(90deg,color-mix(in srgb,var(--red) 70%,#fff),var(--red))}.progress-sm{height:4px}.progress-lg{height:10px}.progress.indeterminate>div{width:40%!important;animation:indeterminate 1.3s var(--ease-in-out) infinite}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(250%)}}.avatar{width:32px;height:32px;border-radius:50%;display:inline-grid;place-items:center;flex-shrink:0;font:650 12px var(--font-display);color:#fff;letter-spacing:.02em;-webkit-user-select:none;user-select:none;box-shadow:inset 0 0 0 1px #ffffff24,inset 0 -8px 16px -8px #0000002e;text-shadow:0 1px 1px rgba(0,0,0,.12)}.avatar-xs{width:20px;height:20px;font-size:8.5px}.avatar-sm{width:26px;height:26px;font-size:10.5px}.avatar-lg{width:56px;height:56px;font-size:19px}.avatar-xl{width:76px;height:76px;font-size:26px}.avatar-stack{display:inline-flex;align-items:center}.avatar-stack>*+*{margin-left:-8px}.avatar-stack .avatar{box-shadow:0 0 0 2px var(--surface),inset 0 0 0 1px #ffffff24}.avatar-stack .avatar-more{display:inline-grid;place-items:center;background:var(--surface-3);color:var(--ink-2);text-shadow:none;font-family:var(--font-sans)}.avatar-stack>*:hover{z-index:1}.dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px 20px;margin:0;font-size:13.5px}.dl dt{color:var(--ink-3)}.dl dd{margin:0;color:var(--ink);min-width:0}.menu{position:absolute;z-index:var(--z-dropdown);min-width:200px;padding:5px;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-lg),var(--highlight);animation:menu-in var(--dur-2) var(--ease-out) both;transform-origin:top center}.menu button,.menu a{display:flex;width:100%;align-items:center;gap:10px;padding:7px 9px;border:0;border-radius:6px;background:none;color:var(--ink);font:500 13.5px var(--font-sans);text-align:left;cursor:pointer;transition:background-color 80ms ease,color 80ms ease}.menu button:hover,.menu a:hover,.menu .active{background:var(--hover);color:var(--ink)}.menu button:focus-visible,.menu a:focus-visible{outline:none;background:var(--hover);box-shadow:inset 0 0 0 1px var(--accent-line)}.menu .danger{color:var(--red)}.menu .danger:hover{background:var(--red-soft);color:var(--red)}.menu hr{border:0;border-top:1px solid var(--line);margin:5px -5px}.menu .menu-label{padding:6px 9px 4px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.menu .shortcut{margin-left:auto;color:var(--ink-4);font-size:12px}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}}.popover{position:absolute;z-index:var(--z-popover);padding:14px;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),var(--highlight);animation:menu-in var(--dur-2) var(--ease-out) both}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 8px);z-index:var(--z-tooltip);transform:translate(-50%);padding:5px 8px;border-radius:6px;background:var(--tooltip-bg);color:var(--tooltip-ink);font:500 12px/1.3 var(--font-sans);letter-spacing:0;text-transform:none;white-space:nowrap;box-shadow:var(--shadow-md);pointer-events:none;display:none}[data-tip]:hover:after,[data-tip]:focus-visible:after{display:block;animation:tip-show var(--dur-2) var(--ease-out) .32s both}[data-tip]:focus-visible:after{animation-delay:0ms}[data-tip-pos=bottom]:after{bottom:auto;top:calc(100% + 8px)}[data-tip-pos=bottom-end]:after{bottom:auto;top:calc(100% + 8px);left:auto;right:0;transform:none}[data-tip-pos=top-end]:after{left:auto;right:0;transform:none}[data-tip-pos=right]:after{left:calc(100% + 8px);bottom:auto;top:50%;transform:translateY(-50%)}[data-tip-pos=left]:after{left:auto;right:calc(100% + 8px);bottom:auto;top:50%;transform:translateY(-50%)}@keyframes tip-show{0%{opacity:0;translate:0 3px}}[data-tip=""]:after{display:none}details.accordion{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs)}details.accordion+details.accordion{margin-top:8px}.accordion-group{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs);overflow:hidden}.accordion-group>details.accordion{border:0;border-radius:0;box-shadow:none;margin:0;background:transparent}.accordion-group>details.accordion+details.accordion{border-top:1px solid var(--line)}details.accordion>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:13px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;color:var(--ink);border-radius:inherit;transition:background-color var(--dur-1) ease}details.accordion>summary::-webkit-details-marker{display:none}details.accordion>summary:hover{background:var(--hover)}details.accordion>summary:focus-visible{outline:none;box-shadow:inset var(--ring)}details.accordion>summary:after{content:"";margin-left:auto;width:16px;height:16px;flex-shrink:0;background:var(--ink-3);transition:transform var(--dur-3) var(--ease-out);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat}details.accordion[open]>summary:after{transform:rotate(180deg)}details.accordion[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0}details.accordion>.accordion-body{padding:2px 16px 16px;color:var(--ink-2);font-size:13.5px}@supports (interpolate-size: allow-keywords){details.accordion{interpolate-size:allow-keywords}details.accordion::details-content{height:0;overflow:clip;transition:height var(--dur-3) var(--ease-out),content-visibility var(--dur-3) allow-discrete}details.accordion[open]::details-content{height:auto}}.timeline{list-style:none;margin:0;padding:0}.timeline-item{position:relative;display:flex;gap:12px;padding-bottom:16px}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;left:11px;top:26px;bottom:2px;width:1px;background:var(--line)}.timeline-item:last-child:before{display:none}.timeline-dot{position:relative;width:23px;height:23px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-4)}.timeline-dot:after{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.timeline-dot:has(lm-icon):after{display:none}.timeline-item[data-tone=accent] .timeline-dot{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.timeline-item[data-tone=green] .timeline-dot{color:var(--green);background:var(--green-soft);border-color:var(--green-line)}.timeline-item[data-tone=amber] .timeline-dot{color:var(--amber);background:var(--amber-soft);border-color:var(--amber-line)}.timeline-item[data-tone=red] .timeline-dot{color:var(--red);background:var(--red-soft);border-color:var(--red-line)}.timeline-item[data-tone=blue] .timeline-dot{color:var(--blue);background:var(--blue-soft);border-color:var(--blue-line)}.timeline-item[data-tone=violet] .timeline-dot{color:var(--violet);background:var(--violet-soft);border-color:var(--violet-line)}.timeline-body{flex:1;min-width:0;padding-top:2px;font-size:13px;line-height:1.45}.timeline-time{font-size:11.5px;color:var(--ink-3);white-space:nowrap;padding-top:3px;font-variant-numeric:tabular-nums}[data-color=indigo]{--course: #4f5bd5;--course-soft: #eef0ff}[data-color=teal]{--course: #0f8b8d;--course-soft: #e3f5f5}[data-color=amber]{--course: #c27803;--course-soft: #fff4e0}[data-color=rose]{--course: #d23f6a;--course-soft: #fdebf0}[data-color=violet]{--course: #7a4fd0;--course-soft: #f2ecfd}[data-color=sky]{--course: #1f84c7;--course-soft: #e6f3fb}[data-color=emerald]{--course: #17885a;--course-soft: #e5f6ee}[data-color=slate]{--course: #55607a;--course-soft: #eef0f5}:root[data-theme=dark] [data-color]{--course-soft: color-mix(in srgb, var(--course) 18%, transparent)}:root[data-theme=dark] [data-color=indigo]{--course: #7880f0}:root[data-theme=dark] [data-color=teal]{--course: #2fb3b5}:root[data-theme=dark] [data-color=amber]{--course: #e9a53a}:root[data-theme=dark] [data-color=rose]{--course: #ec6a8f}:root[data-theme=dark] [data-color=violet]{--course: #a888f0}:root[data-theme=dark] [data-color=sky]{--course: #4ba8e6}:root[data-theme=dark] [data-color=emerald]{--course: #3fbf87}:root[data-theme=dark] [data-color=slate]{--course: #8d97b3}.prose{color:var(--ink);font-size:14.5px;line-height:1.7}.prose :is(h2,h3,h4){font-size:15px;font-weight:650;margin:20px 0 8px}.prose :is(h2,h3,h4):first-child{margin-top:0}.prose p{margin:0 0 12px}.prose p:last-child{margin-bottom:0}.prose code{font-size:12.5px;background:var(--surface-3);padding:1px 6px;border-radius:4px;color:var(--code-ink)}.prose pre{margin:0 0 14px;padding:12px 14px;background:var(--code-bg);border:1px solid var(--line);border-radius:var(--radius);overflow:auto}.prose pre code{background:none;padding:0;font-size:12.5px}.prose ul,.prose ol{margin:0 0 12px;padding-left:22px}.prose li{margin:3px 0}.prose li::marker{color:var(--ink-3)}.prose strong{font-weight:650}.prose hr{margin:20px 0}.prose img{max-width:100%;border-radius:var(--radius)}.prose table{border-collapse:collapse;margin:0 0 14px;font-size:13.5px}.prose th,.prose td{border:1px solid var(--line);padding:6px 10px;text-align:left}.prose th{background:var(--surface-2);font-weight:600}.prose a{color:var(--link);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--link) 40%,transparent);text-underline-offset:2px}.prose a:hover{text-decoration-color:var(--link)}.prose blockquote{margin:0 0 12px;padding:8px 14px;border-left:3px solid var(--accent-line);background:var(--surface-2);border-radius:0 8px 8px 0;color:var(--ink-2)}html.lm-modal-open body{overflow:hidden!important}.lm-overlay{position:fixed;inset:0;z-index:var(--z-overlay);background:color-mix(in srgb,var(--ink) 46%,transparent);display:flex;align-items:center;justify-content:center;padding:24px 16px;overflow:hidden;animation:fade-in var(--dur-2) ease both}.lm-dialog{position:relative;width:100%;max-width:540px;background:var(--surface-raised);border-radius:var(--radius-xl);border:1px solid var(--line);box-shadow:var(--shadow-xl),var(--highlight);display:flex;flex-direction:column;max-height:min(720px,calc(100dvh - 48px));overflow:hidden;animation:dialog-in var(--dur-4) var(--ease-spring) both}.lm-dialog:focus{outline:none}.lm-dialog.sm{max-width:420px}.lm-dialog.wide{max-width:760px}.lm-dialog.xwide{max-width:1040px}.lm-dialog.full{max-width:min(1320px,calc(100vw - 32px));height:min(860px,calc(100dvh - 48px))}.lm-dialog-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 16px 22px;border-bottom:1px solid transparent;transition:border-color var(--dur-2) ease,box-shadow var(--dur-2) ease}.lm-dialog-head .lm-dialog-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;margin-right:2px;background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-soft-hi)}.lm-dialog-head .lm-dialog-icon.danger{background:var(--red-soft);color:var(--red);box-shadow:inset 0 0 0 1px var(--red-line)}.lm-dialog-head .lm-dialog-titles{flex:1;min-width:0;padding-top:2px}.lm-dialog-head h2{font-size:16.5px;letter-spacing:var(--tracking-snug)}.lm-dialog-head p{color:var(--ink-3);margin-top:3px;font-size:13.5px}.lm-dialog-head>.btn{margin:-4px -6px 0 0}.lm-dialog-body{padding:2px 22px 20px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0}.lm-dialog-foot{position:relative;z-index:1;display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 20px;border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 calc(var(--radius-xl) - 1px) calc(var(--radius-xl) - 1px);transition:box-shadow var(--dur-2) ease}.lm-dialog-foot:empty{display:none}.lm-dialog[data-scrolled-top=false] .lm-dialog-head{border-bottom-color:var(--line);box-shadow:0 6px 12px -10px #00000040}.lm-dialog[data-scrolled-bottom=false] .lm-dialog-foot{box-shadow:0 -8px 14px -12px #0000004d}.lm-overlay.leaving{animation:fade-out var(--dur-2) ease both;pointer-events:none}.lm-overlay.leaving .lm-dialog{animation:dialog-out var(--dur-2) var(--ease-in) both}.lm-overlay.stacked{background:color-mix(in srgb,var(--overlay) 55%,transparent)}.lm-expanded{position:fixed!important;inset:0!important;z-index:var(--z-expanded);margin:0!important;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;border-radius:0!important;overscroll-behavior:contain;animation:expand-in var(--dur-3) var(--ease-out) both}html.lm-expanded-open,html.lm-expanded-open body{overflow:hidden}.lm-flash{border-radius:16px;animation:lm-flash 2.2s var(--ease-out)}@keyframes lm-flash{0%,55%{box-shadow:0 0 0 3px var(--accent),0 0 0 10px var(--accent-soft)}to{box-shadow:0 0 0 3px transparent,0 0 0 18px transparent}}@keyframes expand-in{0%{opacity:0}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px) scale(.965)}}@keyframes dialog-out{to{opacity:0;transform:translateY(6px) scale(.98)}}@keyframes sheet-in{0%{transform:translateY(100%)}}@keyframes sheet-out{to{transform:translateY(100%)}}@media(max-width:600px){.lm-overlay{align-items:flex-end;padding:12px 0 0}.lm-dialog,.lm-dialog.sm,.lm-dialog.wide,.lm-dialog.xwide,.lm-dialog.full{max-width:100%;max-height:calc(100dvh - 24px);border-radius:18px 18px 0 0;border-bottom:0;animation:sheet-in var(--dur-4) var(--ease-out) both;padding-bottom:env(safe-area-inset-bottom)}.lm-dialog.full{height:calc(100dvh - 24px)}.lm-dialog:before{content:"";position:absolute;top:7px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:4px;background:var(--line-strong)}.lm-dialog-head{padding-top:22px}.lm-dialog-foot{border-radius:0}.lm-dialog-foot>.btn{flex:1}.lm-overlay.leaving .lm-dialog{animation:sheet-out var(--dur-3) var(--ease-in) both}}.lm-toasts{position:fixed;right:20px;bottom:20px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 32px));pointer-events:none}.lm-toast{--tone: var(--accent);position:relative;overflow:hidden;pointer-events:auto;display:flex;gap:12px;align-items:flex-start;padding:12px 12px 13px;border-radius:var(--radius-lg);background:var(--surface-raised);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-lg),var(--highlight);font-size:13.5px;line-height:1.45;animation:toast-in var(--dur-4) var(--ease-spring) both;transition:transform var(--dur-3) var(--ease-out),opacity var(--dur-2) ease}.lm-toast.success{--tone: var(--green)}.lm-toast.error{--tone: var(--red)}.lm-toast.warning{--tone: var(--amber)}.lm-toast .toast-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;color:var(--tone);background:color-mix(in srgb,var(--tone) var(--mix-soft-hi),transparent)}.lm-toast .toast-text{flex:1;min-width:0;padding-top:4px;overflow-wrap:anywhere}.lm-toast .toast-title{display:block;font-weight:650;margin-bottom:1px}.lm-toast .toast-action{margin-top:1px;flex-shrink:0}.lm-toast .toast-close{display:grid;place-items:center;width:26px;height:26px;margin:1px -2px 0 0;flex-shrink:0;padding:0;border:0;border-radius:7px;background:none;color:var(--ink-3);cursor:pointer;transition:background-color var(--dur-1) ease,color var(--dur-1) ease}.lm-toast .toast-close:hover{color:var(--ink);background:var(--hover)}.lm-toast .toast-bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--tone);opacity:.55;transform-origin:left;animation:toast-bar linear both;animation-duration:var(--ttl, 4s)}.lm-toasts:hover .toast-bar,.lm-toasts:focus-within .toast-bar{animation-play-state:paused}.lm-toast.leaving{animation:toast-out var(--dur-2) var(--ease-in) both}@keyframes toast-in{0%{opacity:0;transform:translateY(16px) scale(.96)}}@keyframes toast-out{to{opacity:0;transform:translate(24px) scale(.98)}}@keyframes toast-bar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes slide-in{0%{opacity:0;transform:translateY(10px)}}@media(max-width:600px){.lm-toasts{right:16px;left:16px;bottom:16px;width:auto}@keyframes toast-out{to{opacity:0;transform:translateY(16px)}}}.page>*{animation:rise-in .42s var(--ease-out) both}.page>*:nth-child(2){animation-delay:40ms}.page>*:nth-child(3){animation-delay:80ms}.page>*:nth-child(4){animation-delay:.12s}.page>*:nth-child(n+5){animation-delay:.16s}.rise{animation:rise-in .42s var(--ease-out) both}.fade{animation:fade-in var(--dur-3) ease both}.pop{animation:pop-in var(--dur-3) var(--ease-spring) both}.stagger>*{animation:rise-in .38s var(--ease-out) both}.stagger>*:nth-child(2){animation-delay:35ms}.stagger>*:nth-child(3){animation-delay:70ms}.stagger>*:nth-child(4){animation-delay:105ms}.stagger>*:nth-child(5){animation-delay:.14s}.stagger>*:nth-child(6){animation-delay:175ms}.stagger>*:nth-child(7){animation-delay:.21s}.stagger>*:nth-child(n+8){animation-delay:.24s}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--green-pulse)}to{box-shadow:0 0 0 7px transparent}}.lift{transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) ease,border-color var(--dur-2) ease}a.card:hover,.card-interactive:hover,.lift:hover{transform:translateY(-2px)}.lift:hover{box-shadow:var(--shadow-md),var(--highlight)}.press{transition:transform var(--dur-1) var(--ease-out)}.press:active{transform:scale(.97)}::view-transition-old(root){animation:90ms ease-in both fade-out}::view-transition-new(root){animation:var(--dur-3) var(--ease-out) both fade-in}.presence{width:9px;height:9px;border-radius:50%;background:var(--ink-4);border:2px solid var(--surface);flex-shrink:0}.presence.on{background:var(--green);animation:pulse-ring 1.8s ease-out infinite}.gradient-text{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.cdk-drag-preview{box-sizing:border-box;border-radius:12px;background:var(--surface-raised);box-shadow:var(--shadow-xl);opacity:.97;color:var(--ink)}.cdk-drag-placeholder{opacity:.4}.cdk-drag-animating{transition:transform .22s var(--ease-out)}.cdk-drop-list-dragging .cdk-drag:not(.cdk-drag-placeholder){transition:transform .22s var(--ease-out)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.spinner,.btn.loading:after,.btn[aria-busy=true]:after{animation:spin 1.6s linear infinite!important}}
