@charset "UTF-8";@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");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;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");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;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");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;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");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;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format("woff2");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{--navy-900: #0B1437;--navy-800: #101A40;--navy-700: #182456;--navy-600: #232F66;--navy-500: #2E3D7F;--blue-700: #1D4ED8;--blue-600: #2563EB;--blue-500: #3B82F6;--blue-400: #60A5FA;--blue-100: #DBEAFE;--blue-50: #EFF5FF;--bg: #F4F6FB;--surface: #FFFFFF;--surface-2: #F8FAFC;--border: #E5E9F2;--border-2: #D5DCEA;--ink-1: #0F1A3D;--ink-2: #3B4A6B;--ink-3: #64748B;--ink-4: #94A3B8;--success-600: #15803D;--success-100: #DCFCE7;--warn-600: #B45309;--warn-100: #FEF3C7;--danger-600: #B91C1C;--danger-100: #FEE2E2;--info-600: #0E7490;--info-100: #CFFAFE;--violet-600: #6D28D9;--violet-100: #EDE9FE;--shadow-1: 0 1px 2px rgba(15,26,61,.06), 0 1px 1px rgba(15,26,61,.04);--shadow-2: 0 4px 14px rgba(15,26,61,.08), 0 2px 4px rgba(15,26,61,.04);--shadow-pop: 0 12px 32px rgba(15,26,61,.16), 0 4px 8px rgba(15,26,61,.08);--c-bg: var(--bg);--c-surface: var(--surface);--c-navy: var(--navy-900);--c-primary: var(--blue-600);--c-primary-h: var(--blue-700);--c-muted: var(--ink-3);--c-border: var(--border);--c-text: var(--ink-1);--c-success: var(--success-600);--c-success-bg:var(--success-100);--c-warning: var(--warn-600);--c-warning-bg:var(--warn-100);--c-danger: var(--danger-600);--c-danger-bg: var(--danger-100);--c-info: var(--info-600);--c-info-bg: var(--info-100);--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 10px;--r-xl: 14px;--r-pill:999px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-7: 32px;--s-8: 40px;--s-9: 56px;--ff-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ff-mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace;--font: var(--ff-sans);--font-mono: var(--ff-mono);--fs-11: 11px;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--fs-15: 15px;--fs-16: 16px;--fs-18: 18px;--fs-20: 20px;--fs-24: 24px;--fs-28: 28px;--fs-32: 32px;--lh-tight: 1.2;--lh-snug: 1.35;--lh-base: 1.5;--fw-400: 400;--fw-500: 500;--fw-600: 600;--fw-700: 700;--ease-out: cubic-bezier(.2, .7, .2, 1);--dur-1: .12s;--dur-2: .2s;--dur-3: .32s;--sidebar-w: 240px;--sidebar-w-collapsed: 64px;--topbar-h: 56px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--ff-sans);font-size:var(--fs-14);color:var(--c-text);background:var(--c-bg);line-height:var(--lh-base);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;grid-template-areas:"side top" "side main";min-height:100vh}.app.collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.sidebar{grid-area:side;background:var(--c-navy);color:#fff;display:flex;flex-direction:column;overflow:hidden;position:sticky;top:0;height:100vh}.topbar{grid-area:top;background:var(--c-surface);border-bottom:1px solid var(--c-border);display:flex;align-items:center;padding:0 var(--s-6);gap:var(--s-4);position:sticky;top:0;z-index:10}.main{grid-area:main;padding:var(--s-7);overflow-y:auto}.sidebar .brand{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-5) var(--s-5);border-bottom:1px solid rgba(255,255,255,.08);min-height:var(--topbar-h)}.sidebar .brand .mark{width:32px;height:32px;border-radius:var(--r-md);background:var(--c-primary);display:flex;align-items:center;justify-content:center;font-weight:var(--fw-700);font-size:var(--fs-14);flex-shrink:0}.sidebar .brand .wordmark .title{display:block;font-weight:var(--fw-700);font-size:var(--fs-14);letter-spacing:.05em}.sidebar .brand .wordmark .tld{display:block;font-size:var(--fs-11);color:#ffffff80;letter-spacing:.08em}.side-sec{flex:1;padding:var(--s-4) 0;overflow-y:auto}.side-sec .lbl{font-size:var(--fs-11);font-weight:var(--fw-600);letter-spacing:.08em;text-transform:uppercase;color:#fff6;padding:var(--s-2) var(--s-5);margin-top:var(--s-2)}.side-nav{display:flex;flex-direction:column;gap:2px;padding:0 var(--s-3)}.side-nav a{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);font-size:var(--fs-14);font-weight:var(--fw-500);color:#ffffffb3;transition:background var(--dur-1) var(--ease-out),color var(--dur-1)}.side-nav a:hover{background:#ffffff0f;color:#fff}.side-nav a.active{background:#ffffff1f;color:#fff}.side-nav a svg{width:18px;height:18px;flex-shrink:0}.sidebar .foot{padding:var(--s-4) var(--s-4);border-top:1px solid rgba(255,255,255,.08)}.sidebar .foot .user{display:flex;align-items:center;gap:var(--s-3)}.sidebar .foot .user .avatar{width:32px;height:32px;border-radius:var(--r-pill);background:var(--c-primary);display:flex;align-items:center;justify-content:center;font-size:var(--fs-12);font-weight:var(--fw-700);flex-shrink:0}.sidebar .foot .user .who{flex:1;min-width:0}.sidebar .foot .user .who .n{display:block;font-size:var(--fs-13);font-weight:var(--fw-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar .foot .user .who .r{display:block;font-size:var(--fs-11);color:#ffffff80}.topbar .crumbs{flex:1;display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-14);color:var(--c-muted)}.topbar .crumbs .sep{color:var(--c-border)}.topbar .crumbs .cur{color:var(--c-text);font-weight:var(--fw-500)}.btn{display:inline-flex;align-items:center;gap:var(--s-2);padding:0 var(--s-4);height:36px;border-radius:var(--r-md);font-size:var(--fs-14);font-weight:var(--fw-500);transition:background var(--dur-1),color var(--dur-1),opacity var(--dur-1);white-space:nowrap;flex-shrink:0}.btn.primary{background:var(--c-primary);color:#fff}.btn.primary:hover{background:var(--c-primary-h)}.btn.ghost{background:transparent;color:var(--c-text);border:1px solid var(--c-border)}.btn.ghost:hover{background:var(--c-bg)}.btn.sm{height:30px;padding:0 var(--s-3);font-size:var(--fs-13)}.btn.lg{height:44px;padding:0 var(--s-6);font-size:var(--fs-15)}.btn.icon{padding:0;width:36px;justify-content:center}.btn.icon.sm{width:30px;height:30px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.full{width:100%;justify-content:center}.field{display:flex;flex-direction:column;gap:var(--s-1)}.field label{font-size:var(--fs-13);font-weight:var(--fw-500);color:var(--c-text)}.input,.select,.textarea{height:40px;padding:0 var(--s-3);border:1px solid var(--c-border);border-radius:var(--r-md);font-size:var(--fs-14);color:var(--c-text);background:var(--c-surface);transition:border-color var(--dur-1);width:100%;outline:none}.textarea{height:auto;min-height:96px;padding:var(--s-3);resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #1f3a8a1a}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-xl);overflow:hidden}.card-head{padding:var(--s-5) var(--s-6);border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;gap:var(--s-4)}.card-head h3{font-size:var(--fs-15);font-weight:var(--fw-600)}.card-body{padding:var(--s-6)}.card-foot{padding:var(--s-4) var(--s-6);border-top:1px solid var(--c-border);display:flex;align-items:center;justify-content:flex-end;gap:var(--s-3)}.chip{display:inline-flex;align-items:center;gap:var(--s-1);padding:2px var(--s-2);border-radius:var(--r-pill);font-size:var(--fs-12);font-weight:var(--fw-500);background:var(--c-bg);color:var(--c-text)}.chip .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.chip.success{background:var(--c-success-bg);color:var(--c-success)}.chip.warning{background:var(--c-warning-bg);color:var(--c-warning)}.chip.danger{background:var(--c-danger-bg);color:var(--c-danger)}.chip.info{background:var(--c-info-bg);color:var(--c-info)}.chip.primary{background:#1f3a8a1a;color:var(--c-primary)}.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-size:var(--fs-12);font-weight:var(--fw-600);color:var(--c-muted);text-transform:uppercase;letter-spacing:.04em;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--c-border)}.tbl td{padding:var(--s-3) var(--s-4);font-size:var(--fs-14);border-bottom:1px solid var(--c-border)}.tbl tr:last-child td{border-bottom:none}.tbl tr:hover td{background:var(--c-bg)}.tbl .empty{text-align:center;color:var(--c-muted);padding:var(--s-9)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-6)}.page-head h1{font-size:var(--fs-24);font-weight:var(--fw-700);line-height:var(--lh-tight)}.page-head .eyebrow{font-size:var(--fs-12);font-weight:var(--fw-500);color:var(--c-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--s-1)}.actions{display:flex;align-items:center;gap:var(--s-3)}.muted{color:var(--c-muted);font-size:var(--fs-14)}.mono{font-family:var(--ff-mono);font-size:var(--fs-13)}.login-error{background:var(--c-danger-bg);color:var(--c-danger);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-size:var(--fs-14)}.divider{display:flex;align-items:center;gap:var(--s-3);color:var(--c-muted);font-size:var(--fs-13);margin:var(--s-4) 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--c-border)}.builder-wrap{display:flex;flex-direction:column;height:calc(100vh - 56px);overflow:hidden}.builder-topbar{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-3) var(--s-5);background:var(--c-surface);border-bottom:1px solid var(--c-border);flex-shrink:0}.builder-title{font-weight:600;font-size:var(--fs-16);flex:1}.builder-body{display:grid;grid-template-columns:300px 1fr;flex:1;overflow:hidden}.builder-left{border-right:1px solid var(--c-border);overflow-y:auto;padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3);background:var(--c-bg)}.builder-right{overflow-y:auto;padding:var(--s-6)}.builder-empty{display:flex;align-items:center;justify-content:center;height:100%;text-align:center}.modules-list{display:flex;flex-direction:column;gap:var(--s-2)}.builder-module{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);overflow:hidden}.module-header{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-3);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:500;font-size:var(--fs-14)}.module-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron{font-size:10px;color:var(--c-muted)}.drag-handle{cursor:grab;color:var(--c-muted);font-size:16px;flex-shrink:0}.lessons-list{padding:0 var(--s-3) var(--s-2);display:flex;flex-direction:column;gap:2px}.builder-lesson{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-13)}.builder-lesson:hover{background:var(--c-bg)}.builder-lesson.active{background:var(--c-primary);color:#fff}.builder-lesson.active .drag-handle{color:#fff9}.lesson-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-lesson-btn{margin:var(--s-2) var(--s-3) var(--s-3);width:calc(100% - 24px)}.add-module-btn{margin-top:auto}.lesson-form{max-width:640px}.lesson-form h3{margin-bottom:var(--s-5);font-size:var(--fs-18)}.drive-field-row{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;margin-top:var(--s-2)}.file-name{font-size:var(--fs-13);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachments-list{display:flex;flex-direction:column;gap:var(--s-2);margin-top:var(--s-2)}.attachment-row{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);background:var(--c-bg);border-radius:var(--r-sm);font-size:var(--fs-13)}.attachment-row span{flex:1}.cdk-drag-preview{background:var(--c-surface);border:1px solid var(--c-primary);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);box-shadow:0 4px 16px #00000026}.cdk-drag-placeholder{opacity:.3}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.viewer-wrap{display:grid;grid-template-columns:1fr 320px;height:calc(100vh - 56px);overflow:hidden}.viewer-main{overflow-y:auto;display:flex;flex-direction:column}.viewer-video-box{background:#000;width:100%;aspect-ratio:16/9;flex-shrink:0}.viewer-iframe{width:100%;height:100%;border:none;display:block}.viewer-no-video{display:flex;align-items:center;justify-content:center;height:100%}.viewer-lesson-info{padding:var(--s-5) var(--s-6)}.viewer-breadcrumb{font-size:var(--fs-13);margin-bottom:var(--s-2)}.viewer-lesson-title{font-size:var(--fs-22);font-weight:700;margin-bottom:var(--s-3)}.viewer-lesson-desc{color:var(--c-muted);font-size:var(--fs-15);margin-bottom:var(--s-5);line-height:1.6}.viewer-attachments{margin-bottom:var(--s-5)}.viewer-attachments h4{font-size:var(--fs-14);font-weight:600;margin-bottom:var(--s-3)}.attachment-link{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r-md);font-size:var(--fs-14);text-decoration:none;color:var(--c-text);margin-bottom:var(--s-2);transition:border-color .15s}.attachment-link:hover{border-color:var(--c-primary)}.viewer-actions{display:flex;align-items:center;gap:var(--s-4);padding-top:var(--s-5);border-top:1px solid var(--c-border);flex-wrap:wrap}.viewer-sidebar{border-left:1px solid var(--c-border);display:flex;flex-direction:column;overflow:hidden;background:var(--c-surface)}.sidebar-header{padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--c-border);flex-shrink:0}.sidebar-course-title{font-weight:700;font-size:var(--fs-15);display:block}.sidebar-scroll{overflow-y:auto;flex:1}.sidebar-module{border-bottom:1px solid var(--c-border)}.sidebar-module-title{padding:var(--s-3) var(--s-4);font-size:var(--fs-13);font-weight:700;color:var(--c-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--c-bg)}.sidebar-lesson{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);cursor:pointer;font-size:var(--fs-14);transition:background .1s}.sidebar-lesson:hover{background:var(--c-bg)}.sidebar-lesson.active{background:#1f3a8a14;color:var(--c-primary);font-weight:500}.sidebar-lesson.done .lesson-check{color:var(--c-success)}.lesson-check{flex-shrink:0;font-size:12px;margin-top:2px;color:var(--c-muted)}.lesson-name{line-height:1.4}.quiz-section{margin-top:var(--s-6);padding-top:var(--s-5);border-top:2px solid var(--c-border)}.quiz-header{font-size:var(--fs-15);font-weight:700;margin-bottom:var(--s-4)}.quiz-question-card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--s-4);margin-bottom:var(--s-3)}.quiz-options{display:flex;flex-direction:column;gap:var(--s-2);margin-top:var(--s-3)}.quiz-option-row{display:flex;align-items:center;gap:var(--s-3)}.viewer-quiz{padding:var(--s-5) 0;border-top:1px solid var(--c-border);margin-top:var(--s-5)}.viewer-quiz-title{font-size:var(--fs-18);font-weight:700;margin-bottom:var(--s-4)}.quiz-question-text{font-weight:600;margin-bottom:var(--s-3);line-height:1.4}.quiz-option-label{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-14)}.quiz-option-label:hover{background:var(--c-surface)}.quiz-result{padding:var(--s-4) var(--s-5);border-radius:var(--r-md);font-size:var(--fs-15)}.quiz-passed{background:#10b9811f;color:#065f46;border:1px solid rgba(16,185,129,.3)}.quiz-failed{background:#ef44441a;color:#991b1b;border:1px solid rgba(239,68,68,.25)}.attachment-link .att-icon{font-size:18px}.attachment-link .att-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-link .att-download{font-size:var(--fs-13);color:var(--c-primary);font-weight:500;flex-shrink:0}.wizard-wrap{display:flex;flex-direction:column;min-height:calc(100vh - 56px);background:var(--c-bg)}.wizard-topbar{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-3) var(--s-5);background:var(--c-surface);border-bottom:1px solid var(--c-border)}.wizard-course-title{flex:1;font-weight:600;font-size:var(--fs-16)}.wizard-stepper{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-5) var(--s-6);background:var(--c-surface);border-bottom:1px solid var(--c-border);overflow-x:auto}.wizard-step-pill{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);border-radius:var(--r-pill);background:var(--c-bg);border:1px solid var(--c-border);cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none;flex-shrink:0}.wizard-step-pill:hover{border-color:var(--c-primary)}.wizard-step-pill.active{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.wizard-step-pill.done{background:#10b9811f;border-color:#10b98166;color:#065f46}.wizard-step-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#00000014;font-size:12px;font-weight:700}.wizard-step-pill.active .wizard-step-num{background:#ffffff40}.wizard-step-pill.done .wizard-step-num{background:#10b98140}.wizard-step-label{font-size:var(--fs-14);font-weight:500}.wizard-body{flex:1;padding:var(--s-6) var(--s-6);display:flex;justify-content:center}.wizard-step{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:var(--s-6);width:100%;max-width:720px}.wizard-step-title{font-size:var(--fs-20);font-weight:700;margin-bottom:var(--s-3)}.wizard-source-toggle{display:flex;gap:var(--s-3);margin:var(--s-4) 0;flex-wrap:wrap;align-items:center}.wizard-file-card{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r-md);margin-top:var(--s-3)}.wizard-file-icon{font-size:22px;flex-shrink:0}.wizard-file-name{font-size:var(--fs-14);font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wizard-file-list{display:flex;flex-direction:column;gap:var(--s-2);margin-top:var(--s-4)}.wizard-toggle{display:flex;align-items:center;gap:var(--s-3);font-size:var(--fs-15);cursor:pointer;padding:var(--s-3);background:var(--c-bg);border-radius:var(--r-md)}.wizard-toggle input{width:18px;height:18px}.wizard-actions{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-6);background:var(--c-surface);border-top:1px solid var(--c-border);position:sticky;bottom:0}.wizard-error-banner{margin:0 var(--s-6) var(--s-4);padding:var(--s-4);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--r-md);color:#991b1b}.wizard-partial-banner{margin:0 var(--s-6) var(--s-4);padding:var(--s-4);background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--r-md);color:#92400e}.wizard-partial-banner ul{margin:var(--s-2) 0 0 var(--s-5);font-size:var(--fs-14)}.upload-progress{margin-top:var(--s-3)}.upload-progress-row{display:flex;justify-content:space-between;font-size:var(--fs-13);margin-bottom:6px;color:var(--c-muted)}.upload-progress-pct{font-weight:600;color:var(--c-primary);font-variant-numeric:tabular-nums}.upload-progress-bar{width:100%;height:8px;background:var(--c-border);border-radius:var(--r-pill);overflow:hidden}.upload-progress-bar .fill{height:100%;background:var(--c-primary);border-radius:var(--r-pill);transition:width .15s linear}.quiz-import-row{display:flex;align-items:center;gap:var(--s-3);margin-top:var(--s-4);flex-wrap:wrap;padding:var(--s-3);background:var(--c-bg);border:1px dashed var(--c-border);border-radius:var(--r-md)}.upload-progress-bar.is-processing .fill{background-image:linear-gradient(45deg,rgba(255,255,255,.25) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.25) 50%,rgba(255,255,255,.25) 75%,transparent 75%,transparent);background-size:24px 24px;animation:progress-stripes 1s linear infinite}@keyframes progress-stripes{0%{background-position:0 0}to{background-position:24px 0}}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border)}.tab{padding:9px 14px;font-size:13px;font-weight:500;color:var(--ink-3);border-bottom:2px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:8px;background:transparent;border-left:none;border-right:none;border-top:none}.tab:hover{color:var(--ink-1)}.tab.active{color:var(--blue-700);border-bottom-color:var(--blue-600)}.slide-card-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.slide-icon-box{width:30px;height:30px;border-radius:8px;background:#f9731822;color:#f97316;display:grid;place-items:center;font-size:15px;flex-shrink:0}.slide-card-name{font-size:13px;font-weight:500;color:var(--ink-1)}.slide-card-meta{font-size:11.5px;color:var(--ink-3);margin-top:1px}.viewer-side-pill{display:flex;align-items:center;gap:10px;padding:9px 16px;font-size:13px;cursor:pointer;border-left:3px solid transparent;transition:background .12s}.viewer-side-pill:hover{background:var(--surface-2)}.viewer-side-pill.active{background:var(--blue-50);border-left-color:var(--blue-600);font-weight:600;color:var(--ink-1)}.viewer-side-pill .pill-circle{width:20px;height:20px;border-radius:999px;display:grid;place-items:center;flex-shrink:0;border:1.5px solid var(--border-2);color:transparent;font-size:10px}.viewer-side-pill.done .pill-circle{background:var(--success-600);border-color:var(--success-600);color:#fff}.viewer-side-pill.active .pill-circle{background:var(--blue-600);border-color:var(--blue-600);color:#fff}.quiz-card{padding:24px 28px}.q-step{font-size:12px;color:var(--ink-3);font-weight:500;letter-spacing:.06em;text-transform:uppercase}.q-prompt{font-size:18px;font-weight:600;color:var(--ink-1);line-height:1.4;margin:8px 0 18px}.q-options{display:flex;flex-direction:column;gap:10px}.q-option{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface);font-size:14px;color:var(--ink-1);cursor:pointer;transition:all .12s ease}.q-option:hover{border-color:var(--blue-400);background:var(--blue-50)}.q-option.sel{border-color:var(--blue-600);background:var(--blue-50)}.q-option .radio{width:20px;height:20px;border-radius:999px;border:2px solid var(--border-2);display:grid;place-items:center;flex:0 0 auto}.q-option.sel .radio{border-color:var(--blue-600)}.q-option.sel .radio:after{content:"";width:10px;height:10px;border-radius:999px;background:var(--blue-600)}.q-option .key{width:24px;height:24px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;font-family:var(--font-mono);font-size:11.5px;color:var(--ink-3);margin-left:auto}.q-progress{height:6px;background:var(--border);border-radius:999px;overflow:hidden;margin:14px 0 22px}.q-progress>i{display:block;height:100%;background:var(--blue-600);border-radius:999px;transition:width .2s}.quiz-exam-wrap{max-width:780px;margin:0 auto;padding:24px 28px}.quiz-exam-bar{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:12px;color:var(--ink-3)}.quiz-result-card{overflow:hidden;max-width:660px;margin:0 auto}.quiz-result-header{padding:40px 32px;text-align:center;background:linear-gradient(135deg,var(--success-100),#ECFDF5)}.quiz-result-header.failed{background:linear-gradient(135deg,var(--danger-100),#FEF2F2)}.quiz-result-trophy{width:72px;height:72px;border-radius:999px;background:#fff;display:inline-grid;place-items:center;box-shadow:var(--shadow-2);margin-bottom:14px;font-size:32px}.quiz-result-status{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--success-600)}.quiz-result-status.failed{color:var(--danger-600)}.quiz-result-score{font-size:38px;font-weight:700;margin-top:4px;color:var(--ink-1)}.quiz-result-meta{font-size:13px;color:var(--ink-2)}.quiz-result-list{padding:18px}.quiz-result-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}.quiz-result-row:last-child{border-bottom:none}.quiz-result-bullet{width:24px;height:24px;border-radius:999px;display:grid;place-items:center;font-size:13px;flex-shrink:0}.quiz-result-bullet.ok{background:var(--success-100);color:var(--success-600)}.quiz-result-bullet.bad{background:var(--danger-100);color:var(--danger-600)}.quiz-result-foot{padding:14px 20px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;background:var(--surface-2)}.my-courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:8px}.my-course-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink-1);transition:transform .15s,box-shadow .15s;box-shadow:var(--shadow-1)}.my-course-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);border-color:var(--blue-400)}.my-course-thumb{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,var(--blue-100),var(--blue-50));display:grid;place-items:center}.my-course-thumb img{width:100%;height:100%;object-fit:cover;display:block}.my-course-thumb-placeholder{font-size:48px;opacity:.5}.my-course-badge{position:absolute;top:10px;right:10px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--surface);color:var(--ink-2);border:1px solid var(--border)}.my-course-badge.success{background:var(--success-100);color:var(--success-600);border-color:transparent}.my-course-badge.warn{background:var(--warn-100);color:var(--warn-600);border-color:transparent}.my-course-badge.danger{background:var(--danger-100);color:var(--danger-600);border-color:transparent}.my-course-body{padding:16px;flex:1;display:flex;flex-direction:column;gap:8px}.my-course-title{font-size:15px;font-weight:600;margin:0;line-height:1.3}.my-course-desc{font-size:13px;color:var(--ink-3);margin:0;line-height:1.45;flex:1}.my-course-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.comment-card{display:flex;gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:10px}.comment-avatar{width:36px;height:36px;border-radius:999px;background:linear-gradient(135deg,var(--blue-600),var(--blue-500));color:#fff;display:grid;place-items:center;font-weight:600;font-size:13px;flex-shrink:0}.comment-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.comment-name{font-weight:600;font-size:13.5px;color:var(--ink-1)}.comment-content{margin:4px 0 0;font-size:14px;color:var(--ink-1);white-space:pre-wrap;line-height:1.5}.toast-stack{position:fixed;right:24px;bottom:24px;display:flex;flex-direction:column;gap:10px;z-index:9999;max-width:380px;pointer-events:none}.toast{pointer-events:auto;background:var(--ink-1);color:#fff;border-radius:10px;padding:12px 14px;display:flex;align-items:flex-start;gap:10px;box-shadow:var(--shadow-pop);min-width:280px;cursor:pointer;animation:toastIn .22s cubic-bezier(.1,.9,.2,1);border-left:4px solid transparent}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast.kind-success{border-left-color:#4ade80}.toast.kind-error{border-left-color:#f87171}.toast.kind-warn{border-left-color:#fbbf24}.toast.kind-info{border-left-color:var(--blue-500)}.toast-ico{font-size:18px;line-height:1;flex-shrink:0;margin-top:2px}.toast.kind-success .toast-ico{color:#4ade80}.toast.kind-error .toast-ico{color:#f87171}.toast.kind-warn .toast-ico{color:#fbbf24}.toast.kind-info .toast-ico{color:#93c5fd}.toast-body{flex:1;font-size:13.5px;line-height:1.4}.toast-close{background:transparent;border:none;color:#fff9;cursor:pointer;font-size:14px;padding:0;line-height:1;flex-shrink:0}.toast-close:hover{color:#fff}.toast-confirm-backdrop{position:fixed;inset:0;background:#0f1a3d73;display:grid;place-items:center;z-index:10000;animation:fadeIn .16s ease-out}.toast-confirm{background:var(--surface);border-radius:14px;width:min(440px,92vw);box-shadow:var(--shadow-pop);overflow:hidden;animation:popIn .2s cubic-bezier(.1,.9,.2,1)}@keyframes popIn{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:none}}.toast-confirm-head{padding:18px 20px 8px;font-size:16px;font-weight:600;color:var(--ink-1)}.toast-confirm-body{padding:0 20px 18px;font-size:14px;color:var(--ink-2);line-height:1.5}.toast-confirm-foot{padding:14px 20px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;background:var(--surface-2)}
