@font-face{font-family:DM Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/dm-sans-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/dm-sans-latin-ext.woff2)format("woff2");unicode-range:U+100-2AF,U+304,U+308,U+329,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 600;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,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 600;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2)format("woff2");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root,[data-theme=light]{--brand-deep:#05080f;--brand-mid:#0a1220;--brand-high:#13233a;--brand-white:#fafafa;--brand-ice:#9fd8ff;--brand-ice-deep:#3a9fe0;--brand-ice-ink:#1a6aa8;--brand-muted:#9fb3c8;--accent:var(--brand-ice-deep);--accent-2:var(--brand-ice);--accent-3:var(--brand-ice);--accent-text:var(--brand-ice-ink);--accent-ink:var(--brand-deep);--bg:#f3f7fb;--surface:#fff;--surface-2:#eaf1f8;--surface-3:#dbe7f3;--border:transparent;--line:#d3e0ed;--border-strong:transparent;--text:var(--brand-mid);--text-muted:#45596e;--text-faint:#5c7087;--glass-bg:var(--surface);--glass-bd:var(--border);--glass-over:var(--surface);--glass-blur:0px;--lg-rim-shadow:none;--accent-soft:color-mix(in oklch, var(--accent) 12%, var(--surface));--accent-softer:color-mix(in oklch, var(--accent) 6%, var(--surface));--accent-line:transparent;--st-pending:#b57e2d;--st-approved:#4f7a3f;--st-bad:#c0392b;--st-draft:var(--accent-text);--st-pending-bg:color-mix(in oklch, var(--st-pending) 14%, var(--surface));--st-approved-bg:color-mix(in oklch, var(--st-approved) 14%, var(--surface));--st-bad-bg:color-mix(in oklch, var(--st-bad) 13%, var(--surface));--st-draft-bg:color-mix(in oklch, var(--st-draft) 14%, var(--surface));--radius-xs:10px;--radius:20px;--radius-sm:14px;--radius-lg:28px;--radius-pill:999px;--elev-rest:0 1px 2px oklch(25% .05 250/.08), 0 3px 10px oklch(25% .05 250/.09);--elev-raised:0 1px 2px oklch(25% .05 250/.09), 0 8px 22px oklch(25% .05 250/.14);--elev-float:0 2px 8px oklch(25% .05 250/.1), 0 20px 48px oklch(25% .05 250/.18);--elev-inset:inset 0 1px 2px oklch(25% .05 250/.07);--shadow-xs:0 1px 2px oklch(25% .05 250/.06);--shadow-sm:0 1px 2px oklch(25% .05 250/.07), 0 4px 14px oklch(25% .05 250/.07);--shadow-md:0 1px 2px oklch(25% .05 250/.07), 0 4px 14px oklch(25% .05 250/.07), 0 14px 34px oklch(25% .05 250/.11);--shadow-lg:0 2px 8px oklch(25% .05 250/.08), 0 20px 50px oklch(25% .05 250/.16);--shadow-inset:inset 0 1px 2px oklch(25% .05 250/.07);--ring:0 0 0 3px color-mix(in oklch, var(--accent) 22%, transparent);--ease-out:cubic-bezier(.2, 0, 0, 1);--ease-entry:cubic-bezier(.2, .7, .2, 1);--ease-pop:cubic-bezier(.34, 1.28, .55, 1);--dur-1:.12s;--dur-2:.2s;--dur-3:.32s;--dur-4:.48s;--ease-in:cubic-bezier(.4, 0, 1, 1);--dur-exit:.16s;--font-display:"DM Sans", system-ui, sans-serif;--font-body:"DM Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--sidebar-w:252px;--topbar-h:60px;--color-primary:var(--accent);--color-secondary:var(--accent-text);--color-accent:var(--accent);--color-highlight:var(--accent);--color-surface:var(--surface-2);--color-background:var(--bg);--color-text:var(--text);--color-text-muted:var(--text-muted);--color-success:#4caf50;--color-warning:#ff9800;--color-danger:#f44336;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm-alias:var(--radius-sm);--radius-md:var(--radius);--radius-lg-alias:var(--radius-lg)}[data-theme=dark]{--bg:var(--brand-deep);--surface:var(--brand-mid);--surface-2:var(--brand-high);--surface-3:#1d3452;--border:transparent;--border-strong:transparent;--line:#1f3552;--text:var(--brand-white);--text-muted:var(--brand-muted);--text-faint:#7f95ab;--accent:var(--brand-ice);--accent-2:var(--brand-ice);--accent-3:var(--brand-ice);--accent-text:var(--brand-ice);--accent-ink:var(--brand-deep);--glass-bg:var(--surface);--glass-bd:var(--border);--glass-over:var(--surface);--lg-rim-shadow:none;--accent-soft:color-mix(in oklch, var(--accent) 32%, var(--surface));--accent-softer:color-mix(in oklch, var(--accent) 18%, var(--surface));--accent-line:transparent;--shadow-xs:0 1px 2px oklch(0% 0 0/.4);--shadow-sm:0 1px 3px oklch(0% 0 0/.5);--shadow-md:0 6px 16px oklch(0% 0 0/.55);--shadow-lg:0 22px 48px oklch(0% 0 0/.65);--shadow-inset:inset 0 1px 3px #00000059;--elev-rest:0 1px 2px #0006, 0 2px 10px #0000004d;--elev-raised:0 1px 2px #00000073, 0 8px 24px #0006;--elev-float:0 2px 8px #00000080, 0 18px 44px #0000007a;--elev-inset:inset 0 1px 3px #00000059;--st-bad:oklch(72% .17 25);--st-pending-bg:color-mix(in oklch, var(--st-pending) 26%, var(--surface));--st-approved-bg:color-mix(in oklch, var(--st-approved) 26%, var(--surface));--st-bad-bg:color-mix(in oklch, var(--st-bad) 26%, var(--surface));--st-draft-bg:color-mix(in oklch, var(--st-draft) 26%, var(--surface));--color-surface:var(--surface-2);--color-background:var(--bg);--color-text:var(--text);--color-text-muted:var(--text-muted)}.ambience{z-index:-1;pointer-events:none;background:radial-gradient(120% 80% at 50% -10%, color-mix(in oklch, var(--brand-ice-deep) 8%, transparent), transparent 60%);position:fixed;inset:0;overflow:hidden}.ambience:before,.ambience:after{content:"";position:absolute;inset:0}.ambience:before{opacity:.55;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Ccircle cx='61.9' cy='141.5' r='0.58' fill='%233a9fe0' fill-opacity='0.32'/%3E%3Ccircle cx='17.0' cy='3.4' r='0.82' fill='%233a9fe0' fill-opacity='0.30'/%3E%3Ccircle cx='49.9' cy='186.5' r='0.67' fill='%233a9fe0' fill-opacity='0.27'/%3E%3Ccircle cx='223.9' cy='60.3' r='0.48' fill='%233a9fe0' fill-opacity='0.34'/%3E%3Ccircle cx='174.6' cy='16.6' r='0.78' fill='%2313233a' fill-opacity='0.25'/%3E%3Ccircle cx='8.1' cy='225.0' r='0.64' fill='%233a9fe0' fill-opacity='0.34'/%3E%3Ccircle cx='239.5' cy='102.7' r='0.80' fill='%233a9fe0' fill-opacity='0.39'/%3E%3Ccircle cx='34.9' cy='95.0' r='0.42' fill='%233a9fe0' fill-opacity='0.23'/%3E%3Ccircle cx='251.0' cy='113.4' r='0.71' fill='%233a9fe0' fill-opacity='0.27'/%3E%3Ccircle cx='216.7' cy='149.2' r='0.67' fill='%233a9fe0' fill-opacity='0.31'/%3E%3Ccircle cx='235.1' cy='177.3' r='0.86' fill='%233a9fe0' fill-opacity='0.40'/%3E%3Ccircle cx='174.5' cy='42.4' r='0.83' fill='%2313233a' fill-opacity='0.34'/%3E%3Ccircle cx='54.9' cy='216.2' r='0.69' fill='%233a9fe0' fill-opacity='0.21'/%3E%3Ccircle cx='125.3' cy='166.1' r='0.64' fill='%233a9fe0' fill-opacity='0.36'/%3E%3Ccircle cx='106.7' cy='39.2' r='0.55' fill='%233a9fe0' fill-opacity='0.37'/%3E%3Ccircle cx='11.5' cy='159.8' r='0.42' fill='%233a9fe0' fill-opacity='0.30'/%3E%3Ccircle cx='239.7' cy='72.6' r='0.52' fill='%2313233a' fill-opacity='0.25'/%3E%3Ccircle cx='20.0' cy='155.9' r='0.42' fill='%2313233a' fill-opacity='0.39'/%3E%3Ccircle cx='75.8' cy='68.5' r='0.74' fill='%233a9fe0' fill-opacity='0.25'/%3E%3Ccircle cx='249.3' cy='233.1' r='0.59' fill='%233a9fe0' fill-opacity='0.37'/%3E%3Ccircle cx='100.4' cy='225.4' r='0.74' fill='%2313233a' fill-opacity='0.32'/%3E%3Ccircle cx='244.6' cy='131.8' r='0.62' fill='%2313233a' fill-opacity='0.39'/%3E%3C/svg%3E")}.ambience:after{opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520'%3E%3Ccircle cx='122.7' cy='53.6' r='1.00' fill='%2313233a' fill-opacity='0.22'/%3E%3Ccircle cx='10.3' cy='285.7' r='0.94' fill='%2313233a' fill-opacity='0.26'/%3E%3Ccircle cx='279.1' cy='143.9' r='0.89' fill='%2313233a' fill-opacity='0.27'/%3E%3Ccircle cx='490.3' cy='13.3' r='1.12' fill='%233a9fe0' fill-opacity='0.40'/%3E%3Ccircle cx='100.6' cy='161.1' r='1.11' fill='%233a9fe0' fill-opacity='0.22'/%3E%3Ccircle cx='315.0' cy='349.3' r='1.05' fill='%2313233a' fill-opacity='0.26'/%3E%3Ccircle cx='145.6' cy='491.2' r='1.21' fill='%233a9fe0' fill-opacity='0.20'/%3E%3Ccircle cx='151.8' cy='366.6' r='0.96' fill='%2313233a' fill-opacity='0.30'/%3E%3Ccircle cx='311.4' cy='224.1' r='0.88' fill='%233a9fe0' fill-opacity='0.26'/%3E%3Ccircle cx='414.6' cy='42.2' r='1.03' fill='%233a9fe0' fill-opacity='0.33'/%3E%3C/svg%3E");background-position:130px 70px}[data-theme=dark] .ambience{background:radial-gradient(120% 80% at 50% -10%, var(--brand-high), transparent 65%)}[data-theme=dark] .ambience:before{opacity:.7;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Ccircle cx='34.9' cy='220.3' r='0.78' fill='%23fafafa' fill-opacity='0.40'/%3E%3Ccircle cx='197.9' cy='122.8' r='0.59' fill='%23fafafa' fill-opacity='0.39'/%3E%3Ccircle cx='7.4' cy='217.3' r='0.62' fill='%23fafafa' fill-opacity='0.66'/%3E%3Ccircle cx='69.2' cy='208.5' r='0.70' fill='%23fafafa' fill-opacity='0.76'/%3E%3Ccircle cx='8.0' cy='6.6' r='0.67' fill='%23fafafa' fill-opacity='0.66'/%3E%3Ccircle cx='252.0' cy='188.7' r='0.66' fill='%23fafafa' fill-opacity='0.77'/%3E%3Ccircle cx='143.7' cy='89.9' r='0.74' fill='%23fafafa' fill-opacity='0.78'/%3E%3Ccircle cx='240.9' cy='108.2' r='0.86' fill='%239fd8ff' fill-opacity='0.40'/%3E%3Ccircle cx='163.6' cy='188.1' r='0.55' fill='%239fd8ff' fill-opacity='0.50'/%3E%3Ccircle cx='187.6' cy='184.9' r='0.87' fill='%23fafafa' fill-opacity='0.58'/%3E%3Ccircle cx='236.6' cy='49.4' r='0.54' fill='%23fafafa' fill-opacity='0.73'/%3E%3Ccircle cx='131.4' cy='153.1' r='0.42' fill='%23fafafa' fill-opacity='0.68'/%3E%3Ccircle cx='105.1' cy='172.8' r='0.58' fill='%239fd8ff' fill-opacity='0.70'/%3E%3Ccircle cx='191.9' cy='22.5' r='0.73' fill='%23fafafa' fill-opacity='0.70'/%3E%3Ccircle cx='135.4' cy='102.2' r='0.64' fill='%23fafafa' fill-opacity='0.56'/%3E%3Ccircle cx='80.2' cy='220.6' r='0.71' fill='%239fd8ff' fill-opacity='0.53'/%3E%3Ccircle cx='44.3' cy='130.6' r='0.89' fill='%23fafafa' fill-opacity='0.59'/%3E%3Ccircle cx='223.7' cy='60.4' r='0.66' fill='%239fd8ff' fill-opacity='0.51'/%3E%3Ccircle cx='236.5' cy='171.4' r='0.70' fill='%239fd8ff' fill-opacity='0.35'/%3E%3Ccircle cx='203.8' cy='213.3' r='0.84' fill='%239fd8ff' fill-opacity='0.58'/%3E%3Ccircle cx='33.6' cy='202.1' r='0.50' fill='%23fafafa' fill-opacity='0.57'/%3E%3Ccircle cx='94.8' cy='144.1' r='0.87' fill='%23fafafa' fill-opacity='0.57'/%3E%3Ccircle cx='92.8' cy='90.0' r='0.67' fill='%239fd8ff' fill-opacity='0.70'/%3E%3Ccircle cx='86.1' cy='156.0' r='0.80' fill='%239fd8ff' fill-opacity='0.43'/%3E%3Ccircle cx='152.0' cy='223.9' r='0.80' fill='%23fafafa' fill-opacity='0.36'/%3E%3Ccircle cx='245.3' cy='18.3' r='0.83' fill='%23fafafa' fill-opacity='0.36'/%3E%3C/svg%3E")}[data-theme=dark] .ambience:after{opacity:.8;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520'%3E%3Ccircle cx='497.1' cy='492.9' r='0.83' fill='%23fafafa' fill-opacity='0.66'/%3E%3Ccircle cx='87.9' cy='420.7' r='1.31' fill='%239fd8ff' fill-opacity='0.77'/%3E%3Ccircle cx='315.5' cy='302.2' r='0.90' fill='%239fd8ff' fill-opacity='0.79'/%3E%3Ccircle cx='417.9' cy='447.3' r='1.11' fill='%239fd8ff' fill-opacity='0.74'/%3E%3Ccircle cx='231.3' cy='139.5' r='0.82' fill='%23fafafa' fill-opacity='0.66'/%3E%3Ccircle cx='484.6' cy='472.0' r='1.05' fill='%23fafafa' fill-opacity='0.75'/%3E%3Ccircle cx='122.8' cy='12.4' r='1.00' fill='%23fafafa' fill-opacity='0.73'/%3E%3Ccircle cx='187.0' cy='267.1' r='1.14' fill='%239fd8ff' fill-opacity='0.86'/%3E%3Ccircle cx='381.9' cy='471.4' r='1.26' fill='%239fd8ff' fill-opacity='0.66'/%3E%3Ccircle cx='446.7' cy='231.8' r='1.37' fill='%239fd8ff' fill-opacity='0.82'/%3E%3Ccircle cx='239.9' cy='275.8' r='1.09' fill='%239fd8ff' fill-opacity='0.73'/%3E%3Ccircle cx='432.4' cy='184.0' r='1.33' fill='%239fd8ff' fill-opacity='0.66'/%3E%3Ccircle cx='377.5' cy='289.9' r='1.07' fill='%23fafafa' fill-opacity='0.92'/%3E%3Ccircle cx='423.6' cy='434.2' r='1.33' fill='%239fd8ff' fill-opacity='0.85'/%3E%3C/svg%3E")}.ambience i{background:var(--brand-ice-deep);opacity:.12;border-radius:50%;width:3px;height:3px;animation:7s ease-in-out infinite star-twinkle;position:absolute}[data-theme=dark] .ambience i{background:var(--brand-white);box-shadow:0 0 6px var(--brand-ice);opacity:.25}.ambience i:first-child{animation-duration:6s;top:18%;left:12%}.ambience i:nth-child(2){animation-duration:9s;animation-delay:-3s;top:12%;left:78%}.ambience i:nth-child(3){animation-duration:7.5s;animation-delay:-1s;top:58%;left:64%}.ambience i:nth-child(4){animation-duration:8.5s;animation-delay:-5s;top:72%;left:28%}.ambience i:nth-child(5){animation-duration:6.5s;animation-delay:-2s;top:82%;left:90%}.ambience i:nth-child(6){animation-duration:10s;animation-delay:-6s;top:32%;left:45%}@keyframes star-twinkle{0%,to{opacity:.1}50%{opacity:.9}}[data-theme=light] .ambience i{animation-name:star-twinkle-soft}@keyframes star-twinkle-soft{0%,to{opacity:.06}50%{opacity:.35}}.ambience .shoot{background:linear-gradient(90deg, transparent, var(--brand-ice));width:140px;height:2px;box-shadow:0 0 8px var(--brand-ice);opacity:0;transform-origin:100%;pointer-events:none;will-change:transform, opacity;border-radius:2px;position:absolute;top:0;left:0}.ambience .shoot.is-on{animation:shoot var(--sd,.8s) cubic-bezier(.3, 0, .6, 1) both}@keyframes shoot{0%{opacity:0;transform:translate(var(--sx), var(--sy)) rotate(var(--sa)) translateX(0) scaleX(.3)}20%{opacity:1}to{opacity:0;transform:translate(var(--sx), var(--sy)) rotate(var(--sa)) translateX(420px) scaleX(1)}}[data-theme=light] .ambience .shoot{display:none}@media (prefers-reduced-motion:reduce){.ambience i,.ambience .shoot{animation:none}}.reveal{opacity:0;transition:opacity var(--dur-3) var(--ease-out), transform var(--dur-3) var(--ease-out);transition-delay:var(--reveal-delay,0s);transform:translateY(14px)}.reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.ambience i{animation:none}.reveal,.reveal.is-in{opacity:1;filter:none;transition:none;transform:none}}@supports (corner-shape:bevel){.btn,.cx-build-btn,.cx-send,.cx-main,.cx-side,.cx-dlg,.cx-pill,.cc-card,.ai-card,.auth-card,.courses-card,.pl-card,.rv-card,.dashboard-stat-card,.dashboard-course-card,.ps-card,.ps-choose-card{corner-shape:round bevel round bevel}.btn,.cx-build-btn{border-radius:var(--radius-sm)}.cx-main,.cx-side,.cx-dlg,.cc-card,.ai-card,.auth-card,.courses-card,.pl-card,.rv-card,.dashboard-stat-card,.dashboard-course-card,.ps-card,.ps-choose-card{border-radius:var(--radius-lg)}}.logo-tile{width:var(--logo,auto);border-radius:22%;flex-shrink:0;display:block}.logo-word{width:auto;display:block}.logo-on-dark{display:none}[data-theme=dark] .logo-on-dark{display:block}[data-theme=dark] .logo-on-light{display:none}*,:before,:after{border:0 solid #0000}*{box-sizing:border-box;margin:0;padding:0}html,body{overscroll-behavior:none;height:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"ss01", "cv11";font-size:14px;line-height:1.5}#root{height:100%;min-height:100dvh}::selection{background:color-mix(in oklch, var(--accent) 28%, transparent)}:root{--sb-thumb:var(--accent);--sb-size:6px}[data-theme=dark]{--sb-thumb:color-mix(in srgb, var(--brand-white) 38%, transparent)}*{scrollbar-width:none}::-webkit-scrollbar{width:0;height:0;display:none}@media (hover:hover) and (pointer:fine){.content,.sb-thin{scrollbar-width:thin;scrollbar-color:transparent transparent}.content:hover,.sb-thin:hover{scrollbar-color:var(--sb-thumb) transparent}.content::-webkit-scrollbar{width:var(--sb-size);height:var(--sb-size);display:block}.sb-thin::-webkit-scrollbar{width:var(--sb-size);height:var(--sb-size);display:block}.content::-webkit-scrollbar-track{background:0 0}.sb-thin::-webkit-scrollbar-track{background:0 0}.content::-webkit-scrollbar-thumb{background:0 0;border-radius:99px}.sb-thin::-webkit-scrollbar-thumb{background:0 0;border-radius:99px}.content:hover::-webkit-scrollbar-thumb{background:var(--sb-thumb)}.sb-thin:hover::-webkit-scrollbar-thumb{background:var(--sb-thumb)}}@supports selector(::-webkit-scrollbar){.content,.sb-thin{scrollbar-width:auto;scrollbar-color:auto}.content:hover,.sb-thin:hover{scrollbar-color:auto}}.font-display{font-family:var(--font-display);letter-spacing:-.015em;font-feature-settings:"ss01", "opsz" 24}.mono{font-family:var(--font-mono)}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);font-size:11px;font-weight:500}.grad-text{color:var(--accent-text)}.btn{font-family:var(--font-body);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:13.5px;font-weight:600;line-height:1;transition:transform .12s,background .15s,box-shadow .15s,border-color .15s,color .15s,opacity .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn svg{width:16px;height:16px}.btn-primary{background:var(--accent-softer);color:var(--accent-text);box-shadow:none}.btn-primary:hover:not(:disabled),.btn-primary:hover{background:var(--accent-soft)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.4)}.btn-secondary{color:var(--accent-text);box-shadow:none;background:0 0;border-color:#0000}.btn-secondary:hover{background:var(--accent-softer);border-color:#0000}.btn-ghost{color:var(--text-muted);background:0 0}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-danger{color:oklch(60% .2 25);background:0 0;border-color:#0000}.btn-danger:hover{background:color-mix(in oklch, oklch(60% .2 25) 12%, var(--surface))}.btn-sm{gap:6px;padding:6px 11px;font-size:12.5px}.btn-sm svg{width:14px;height:14px}.btn-lg{border-radius:var(--radius-sm);padding:10px 18px;font-size:14px}.btn-icon{padding:8px}.btn-icon.btn-sm{padding:6px}.field-label{color:var(--text);margin-bottom:7px;font-size:12.5px;font-weight:600;display:block}.field-hint{color:var(--text-faint);margin-top:6px;font-size:12px}.input,.textarea,.select{width:100%;font-family:var(--font-body);color:var(--text);background:var(--surface-2);border-radius:var(--radius-sm);box-shadow:var(--shadow-inset);border:none;padding:10px 13px;font-size:14px;transition:box-shadow .15s,background .15s}.input:hover,.textarea:hover,.select:hover{background:var(--surface-3)}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.input:focus,.textarea:focus,.select:focus{box-shadow:var(--shadow-inset), var(--ring);outline:none}.textarea{resize:vertical;min-height:96px;line-height:1.55}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--elev-rest)}a.card,button.card,.card.is-clickable{transition:box-shadow .24s cubic-bezier(.2,0,0,1),transform .24s cubic-bezier(.2,0,0,1)}a.card:hover,button.card:hover,.card.is-clickable:hover{box-shadow:var(--elev-raised);transform:translateY(-2px)}.panel{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.badge{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-pill);border:1px solid #0000;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:500;display:inline-flex}.badge .dot{border-radius:50%;width:6px;height:6px}.badge-pending{background:var(--st-pending-bg);color:var(--st-pending)}.badge-pending .dot{background:var(--st-pending)}.badge-approved{background:var(--st-approved-bg);color:var(--st-approved)}.badge-approved .dot{background:var(--st-approved)}.badge-draft{background:var(--st-draft-bg);color:oklch(55% .13 65)}.badge-draft .dot{background:var(--st-draft)}[data-theme=dark] .badge-draft{color:var(--st-draft)}.ph{background-color:var(--surface-2);background-image:repeating-linear-gradient(-45deg, color-mix(in oklch, var(--accent) 9%, transparent) 0 1px, transparent 1px 11px);color:var(--text-faint);font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--border);justify-content:center;align-items:center;font-size:11px;display:flex;position:relative;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}.af-spin{border:2px solid color-mix(in oklch, var(--accent-ink) 35%, transparent);border-top-color:var(--accent-ink);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.fade-up{animation:.45s cubic-bezier(.2,.7,.2,1) both fadeUp}@keyframes shimmer{to{background-position:200% 0}}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);background-position:-100% 0;background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer;display:inline-block}@media (prefers-reduced-motion:reduce){.skeleton{background-position:0 0;animation:none}}.tnum{font-variant-numeric:tabular-nums}.row{align-items:center;display:flex}.between{justify-content:space-between;align-items:center;display:flex}.divider{background:var(--border);width:100%;height:1px}.page-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:240px;padding:56px 24px;display:flex}.page-state-ic{border-radius:var(--radius-sm);background:var(--surface-2);width:48px;height:48px;color:var(--text-faint);border:1px solid var(--border);place-items:center;margin-bottom:14px;display:grid}.page-state-title{font-family:var(--font-display);color:var(--text);font-size:15px;font-weight:600}.page-state-msg{color:var(--text-muted);max-width:380px;margin-top:5px;font-size:13px;line-height:1.5}.auth-loading{text-align:center;min-height:100vh;color:var(--text-muted);place-items:center;padding:20px;font-size:14px;display:grid}.provisioning-screen{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.provisioning-card{text-align:center;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:420px;display:flex}.provisioning-spinner{border:3px solid color-mix(in oklch, var(--accent) 22%, transparent);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}.provisioning-title{color:var(--text);margin:0;font-size:18px;font-weight:600}.provisioning-body{color:var(--text-muted);max-width:360px;margin:0;font-size:14px;line-height:1.55}.provisioning-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px;display:flex}@media (prefers-reduced-motion:reduce){.provisioning-spinner{animation:none}}@media (width<=780px){.btn{white-space:normal}}.card,.panel,.ai-card,.dashboard-stat-card,.dashboard-course-card,.courses-card,.ps-card,.cc-card,.pl-card,.ps-choose-card,.account-section,.account-section-body{box-shadow:var(--elev-rest)}a.card,button.card,.card.is-clickable,button.dashboard-stat-card,button.dashboard-course-card,.courses-card,.ps-card[role=button],.ps-choose-card{cursor:pointer;transition:box-shadow .24s cubic-bezier(.2,0,0,1),transform .24s cubic-bezier(.2,0,0,1)}a.card:hover,button.card:hover,.card.is-clickable:hover,button.dashboard-stat-card:hover,button.dashboard-course-card:hover,.courses-card:hover,.ps-card[role=button]:hover,.ps-choose-card:hover{box-shadow:var(--elev-raised);transform:translateY(-2px)}a.card:active,button.card:active,.card.is-clickable:active,button.dashboard-course-card:active,.courses-card:active,.ps-choose-card:active{box-shadow:var(--elev-rest);transform:translateY(0)}@media (prefers-reduced-motion:reduce){a.card,button.card,.card.is-clickable,button.dashboard-stat-card,button.dashboard-course-card,.courses-card,.ps-card[role=button],.ps-choose-card{transition:none}a.card:hover,button.card:hover,.card.is-clickable:hover,button.dashboard-stat-card:hover,button.dashboard-course-card:hover,.courses-card:hover,.ps-card[role=button]:hover,.ps-choose-card:hover{transform:none}}.page-head-title{letter-spacing:-.02em;font-size:26px;font-weight:600;line-height:1.2}.page-head-sub{color:var(--text-muted);max-width:62ch;margin:6px 0 0;font-size:13.5px;line-height:1.6}.grant-video-fail{text-align:center;color:#fff;border-radius:inherit;background:#000000b8;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;font-size:13px;display:flex;position:absolute;inset:0}.app{grid-template-columns:var(--sidebar-w) 1fr;height:100dvh;transition:grid-template-columns var(--dur-3) var(--ease-out);display:grid;overflow:hidden}.sidebar{background:var(--surface);border-radius:var(--radius-lg);height:calc(100dvh - 20px);box-shadow:var(--shadow-sm);flex-direction:column;margin:10px 0 10px 10px;display:flex;overflow:hidden}.nav-group{padding:4px 10px}.nav-cap{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);padding:8px 10px 6px;font-size:10px}.nav-item{width:100%;color:var(--text-muted);font-family:var(--font-body);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-3) var(--ease-out), color var(--dur-3) var(--ease-out), gap var(--dur-3) var(--ease-out), padding var(--dur-3) var(--ease-out);background:0 0;border:none;align-items:center;gap:12px;padding:11px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--accent-softer);color:var(--accent-text);font-weight:600}.nav-item:before{content:"";background:var(--accent);transform-origin:50%;opacity:0;width:3px;height:20px;transition:transform var(--dur-3) var(--ease-pop), opacity var(--dur-2) var(--ease-out);border-radius:0 3px 3px 0;position:absolute;top:50%;left:0;transform:translateY(-50%)scaleY(0)}.nav-item.active:before{opacity:1;transform:translateY(-50%)scaleY(1)}.nav-item>svg{transition:transform var(--dur-2) var(--ease-out);flex:none}.nav-item:hover>svg{transform:translate(2px)}.plan-card{background:var(--surface-2);border-radius:var(--radius);padding:13px}.credit-bar{background:var(--surface-3);border-radius:99px;height:5px;overflow:hidden}.credit-bar span{background:var(--accent);border-radius:99px;height:100%;display:block}.credit-bar-danger span{background:var(--color-danger)}.plan-card-noplan{color:var(--text-muted);font-size:11.5px}.sidebar-head{justify-content:space-between;align-items:center;gap:8px;padding:18px 16px 10px;display:flex}.sidebar-collapse-btn{width:28px;height:28px;color:var(--text-faint);cursor:pointer;transition:background var(--dur-3) var(--ease-out), color var(--dur-3) var(--ease-out), transform var(--dur-3) var(--ease-out);background:0 0;border:none;border-radius:999px;flex-shrink:0;place-items:center;padding:0;display:grid;transform:rotate(90deg)}.sidebar-collapse-btn:hover{background:var(--surface-2);color:var(--text)}.app.sidebar-collapsed .sidebar-collapse-btn{transform:rotate(-90deg)}.nav-item-label{text-align:left;white-space:nowrap;text-overflow:ellipsis;transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out), max-width var(--dur-3) var(--ease-out);flex:1;overflow:hidden}.sidebar-foot{padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));align-items:center;gap:8px;margin-top:14px;display:flex;position:relative}.user-trigger{cursor:pointer;border-radius:var(--radius-sm);text-align:left;min-width:0;color:var(--text);font-family:var(--font-body);background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:5px 6px;transition:background .14s;display:flex}.user-trigger:hover,.user-trigger.open{background:var(--surface-2)}.user-trigger-text{min-width:0}.user-trigger-name{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.user-trigger-org{color:var(--text-faint);font-size:11px}.sidebar-collapse-btn{flex-shrink:0}.user-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:200px;max-width:calc(100vw - 24px);box-shadow:var(--shadow-lg);z-index:200;padding:6px;animation:.14s both fadeUp}.user-menu-item{cursor:pointer;border-radius:var(--radius-sm);width:100%;color:var(--text-muted);font-family:var(--font-body);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:9px 10px;font-size:13px;font-weight:500;display:flex}.user-menu-item:hover{background:var(--surface-2);color:var(--text)}@media (width>=901px){.app.sidebar-collapsed{grid-template-columns:68px 1fr}.nav-cap{max-height:32px;transition:max-height var(--dur-3) var(--ease-out), opacity var(--dur-2) var(--ease-out), padding var(--dur-3) var(--ease-out);overflow:hidden}.app.sidebar-collapsed .nav-cap{opacity:0;max-height:0;padding-block:0}.nav-item-label{max-width:180px}.app.sidebar-collapsed .nav-item-label{opacity:0;max-width:0;transform:translate(-8px)}.nav-group{transition:padding var(--dur-3) var(--ease-out)}.app.sidebar-collapsed .nav-group{flex-direction:column;align-items:center;gap:4px;padding-inline:0;display:flex}.nav-item{transition-property:background,color,gap,padding,width,border-radius}.app.sidebar-collapsed .nav-item{border-radius:50%;justify-content:center;gap:0;width:44px;height:44px;padding:0}.app.sidebar-collapsed .nav-item:before{opacity:0}.app.sidebar-collapsed .nav-item:hover>svg{transform:none}.app.sidebar-collapsed .nav-item.active{background:var(--accent-soft)}.app.sidebar-collapsed .sidebar-collapse-btn{margin-inline:auto}.sidebar-head{transition:padding var(--dur-3) var(--ease-out)}.app.sidebar-collapsed .sidebar-head{flex-direction:column;align-items:center;gap:10px;padding:16px 0 10px;display:flex}.sidebar-foot{transition:padding var(--dur-3) var(--ease-out)}.app.sidebar-collapsed .sidebar-foot{flex-direction:column;gap:8px;padding:12px 8px}.app.sidebar-collapsed .user-trigger{flex:none;justify-content:center;gap:0;padding:5px}.user-trigger{transition:gap var(--dur-3) var(--ease-out)}.user-trigger-text{max-width:140px;transition:max-width var(--dur-3) var(--ease-out), opacity var(--dur-2) var(--ease-out);overflow:hidden}.app.sidebar-collapsed .user-trigger-text{opacity:0;max-width:0}}.main{background:0 0;flex-direction:column;height:100dvh;display:flex;overflow:hidden}.topbar{height:var(--topbar-h);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:color-mix(in oklch, var(--surface) 85%, transparent);-webkit-backdrop-filter:blur(10px);z-index:40;flex-shrink:0;align-items:center;gap:12px;margin:10px 10px 0;padding:0 16px;display:flex;position:relative}.topbar-titlewrap{min-width:0;overflow:hidden}.topbar-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.content{overscroll-behavior:contain;flex:1;overflow:hidden auto}@supports not (animation-timeline:scroll()){.content{--fade-top:0px;--fade-bottom:0px;-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 var(--fade-top), #000 calc(100% - var(--fade-bottom)), transparent 100%);-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 var(--fade-top), #000 calc(100% - var(--fade-bottom)), transparent 100%);mask-image:linear-gradient(to bottom, transparent 0, #000 var(--fade-top), #000 calc(100% - var(--fade-bottom)), transparent 100%)}.content.is-scrolled{--fade-top:22px}.content:not(.is-at-end){--fade-bottom:22px}}.page{margin:0 auto;padding:30px 34px 64px}.searchbox{background:var(--surface-2);border-radius:var(--radius-pill);min-width:0;box-shadow:var(--elev-inset);flex:1;align-items:center;gap:10px;padding:10px 16px;transition:box-shadow .15s,background .15s;display:flex}.searchbox:focus-within{box-shadow:var(--elev-inset), var(--ring)}.searchbox.is-wip{opacity:.6}.searchbox.is-wip input{cursor:not-allowed}.searchbox input{font-family:var(--font-body);color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:13px}.searchbox input::placeholder{color:var(--text-faint)}.searchbox kbd{font-family:var(--font-mono);color:var(--text-faint);background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:2px 5px;font-size:10.5px}.lang-toggle{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);gap:2px;padding:2px;display:flex}.lang-toggle-opt{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.03em;border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;background:0 0;border:none;padding:5px 10px;font-size:11px;font-weight:600;transition:background .3s cubic-bezier(.2,0,0,1),color .3s cubic-bezier(.2,0,0,1)}.lang-toggle-opt:hover{color:var(--text)}.lang-toggle-opt.on{background:var(--accent);color:var(--accent-ink)}.icon-btn{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;transition:background .14s,color .14s,border-color .14s;display:grid;position:relative}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.notif-dot{background:var(--accent);border:2px solid var(--surface);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:9px}.notif-wrap{position:relative}.notif-backdrop,.notif-close,.notif-grab{display:none}.notif-panel{top:var(--notif-top,64px);right:var(--notif-right,16px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:340px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);z-index:60;animation:.16s both fadeUp;position:fixed;overflow:hidden}.notif-panel.is-closing{animation:m-pop-out var(--dur-exit) var(--ease-in) both;pointer-events:none;transform-origin:100% 0}.notif-panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.notif-head-actions{align-items:center;gap:12px;display:flex}.notif-mark{color:var(--accent-text);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.notif-mark:hover,[data-theme=dark] .notif-mark:hover{color:var(--accent-text)}.notif-empty{color:var(--text-faint);flex-direction:column;align-items:center;gap:9px;padding:32px 16px;font-size:13px;display:flex}.notif-list{max-height:380px;overflow-y:auto}.notif-item{text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--border);background:0 0;align-items:flex-start;gap:11px;width:100%;padding:12px 15px;transition:background .12s;display:flex;position:relative}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--surface-2)}.notif-item.unread{background:var(--accent-softer)}.notif-item.unread:hover{background:var(--accent-soft)}.notif-item-ic{border-radius:var(--radius-xs);background:var(--accent-soft);width:30px;height:30px;color:var(--accent-text);flex-shrink:0;place-items:center;display:grid}.notif-item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-item-title{color:var(--text);font-size:13px;font-weight:600}.notif-item-text{color:var(--text-muted);font-size:12px;line-height:1.4}.notif-item-at{color:var(--text-faint);margin-top:2px;font-size:10.5px}.notif-item-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:6px}.search-wrap{flex:1;min-width:0;display:flex;position:relative}.search-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:340px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);z-index:60;animation:.16s both fadeUp;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden}.search-panel-list{max-height:380px;overflow-y:auto}.search-panel-cap{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);padding:10px 15px 4px;font-size:10px}.search-item{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:11px;width:100%;padding:10px 15px;transition:background .12s;display:flex}.search-item:hover{background:var(--surface-2)}.search-item-ic{border-radius:var(--radius-xs);background:var(--accent-soft);width:30px;height:30px;color:var(--accent-text);flex-shrink:0;place-items:center;display:grid}.search-item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.search-item-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.search-item-sub{color:var(--text-faint);font-size:11px}.search-empty{color:var(--text-faint);flex-direction:column;align-items:center;gap:9px;padding:28px 16px;font-size:13px;display:flex}.stepper{flex-wrap:wrap;align-items:center;gap:0;display:flex}.step{align-items:center;gap:9px;display:flex}.step-dot{width:26px;height:26px;font-family:var(--font-mono);border:1.5px solid var(--border-strong);color:var(--text-faint);background:var(--surface);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;transition:all .2s;display:grid}.step-label{color:var(--text-faint);white-space:nowrap;font-size:13px;font-weight:500}.step-line{background:var(--border-strong);width:34px;height:1.5px;margin:0 14px}.step.active .step-dot{border-color:var(--accent);color:var(--accent-text);box-shadow:var(--ring)}.step.active .step-label{color:var(--text);font-weight:600}.step.done .step-dot{background:var(--accent);color:var(--accent-ink);border-color:#0000}.step.done .step-label{color:var(--text-muted)}.step.done .step-line{background:var(--accent)}.wizard-bar{background:0 0;justify-content:center;padding:18px 34px 6px;display:flex}.page-head{margin-bottom:26px}.section-title{font-family:var(--font-display);letter-spacing:-.01em;font-size:16px;font-weight:600}.topbar-menu{display:none}.app-backdrop{z-index:99;background:oklch(0% 0 0/.4);animation:.2s both fadeUp;position:fixed;inset:0}@media (width<=900px){.app{grid-template-columns:1fr}.sidebar{z-index:100;width:min(280px,84vw);box-shadow:var(--shadow-lg);transition:transform .24s cubic-bezier(.2,.7,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-collapse-btn{display:none}.topbar-menu{display:grid}.searchbox,.search-wrap{display:none}.page{padding:22px 18px 56px}.wizard-bar{padding:14px 18px 12px}}@media (width<=560px){.topbar{gap:8px;padding:0 12px}.page{padding:14px 12px 40px}.topbar-actions .btn{gap:0;min-width:0;padding:9px;font-size:0}.stepper{flex-wrap:nowrap;justify-content:center}.step-label{display:none}.step.active .step-label{display:inline}.step-line{width:18px;margin:0 7px}.notif-backdrop{z-index:190;background:oklch(0% 0 0/.4);transition:opacity .12s linear;animation:.2s both fadeUp;display:block;position:fixed;inset:0}.notif-panel{border:none;border-bottom:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);z-index:200;width:auto;max-width:none;height:auto;max-height:86dvh;padding-top:env(safe-area-inset-top);flex-direction:column;animation:.24s cubic-bezier(.2,.7,.2,1) both slideInTop;display:flex;position:fixed;inset:0 0 auto}.notif-list{flex:1;overflow-y:auto}.notif-close{display:none}.notif-grab{flex:none;display:flex}.notif-panel-head{touch-action:none}.notif-panel{transition:transform .22s cubic-bezier(.2,.7,.2,1)}.notif-panel.is-closing{will-change:transform}.notif-panel{box-shadow:0 8px 24px #0000002e}body.notif-open .topbar,body.notif-open .tabbar{-webkit-backdrop-filter:none}.notif-panel.is-closing{transition:transform .2s cubic-bezier(.4,0,1,1)}.notif-backdrop.is-closing{opacity:0;transition:opacity .2s}}@keyframes slideInTop{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.tabbar{display:none}@media (width<=900px){.tabbar{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:90;border-radius:var(--radius-lg);background:color-mix(in oklch, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-lg);align-items:center;gap:2px;padding:6px;display:flex;position:fixed}.tabbar-item{border-radius:var(--radius);color:var(--text-muted);flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 2px;font-size:10px;text-decoration:none;transition:background .3s cubic-bezier(.2,0,0,1),color .3s cubic-bezier(.2,0,0,1);display:flex}.tabbar-item.is-active{background:var(--accent-softer);color:var(--accent-text)}.topbar-menu,.sidebar,.app-backdrop{display:none}.page{padding-bottom:112px}}.search-item{align-items:center;gap:12px;padding:9px 12px}.search-item .search-item-thumb{border-radius:var(--radius-xs);flex:none;width:52px;height:36px;overflow:hidden}.search-item-body{flex-direction:column;gap:3px;min-width:0;display:flex}.search-item-title{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:500;overflow:hidden}.search-item-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}@property --sf-start{syntax:"<length>";inherits:false;initial-value:0}@property --sf-end{syntax:"<length>";inherits:false;initial-value:0}:root{--sf-size:28px}@keyframes sf-start{0%{--sf-start:0px}to{--sf-start:var(--sf-size)}}@keyframes sf-end{0%{--sf-end:var(--sf-size)}to{--sf-end:0px}}@supports (animation-timeline:scroll()){:where(.scroll-fade,.content,.dl-list,.dl-dots,.notif-list,.search-panel-list,.mu-sheet-body,.cx-thread,.cx-side-scroll,.cc-events,.rv-modules,.rv-aa-list,.lrn-choices,.pn-pane,.org-list-side){-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 var(--sf-start), #000 calc(100% - var(--sf-end)), transparent 100%);-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 var(--sf-start), #000 calc(100% - var(--sf-end)), transparent 100%);mask-image:linear-gradient(to bottom, transparent 0, #000 var(--sf-start), #000 calc(100% - var(--sf-end)), transparent 100%);animation:linear both sf-start,linear both sf-end;animation-timeline:scroll(self),scroll(self);animation-range:0 var(--sf-size), calc(100% - var(--sf-size)) 100%}:where(.scroll-fade-x,.courses-chips,.pl-chips,.rv-strip,.vs-chips,.analytics-ref-table,.pn-tabs,.lsw){-webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--sf-start), #000 calc(100% - var(--sf-end)), transparent 100%);-webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--sf-start), #000 calc(100% - var(--sf-end)), transparent 100%);mask-image:linear-gradient(to right, transparent 0, #000 var(--sf-start), #000 calc(100% - var(--sf-end)), transparent 100%);animation:linear both sf-start,linear both sf-end;animation-timeline:scroll(self inline),scroll(self inline);animation-range:0 var(--sf-size), calc(100% - var(--sf-size)) 100%}.pn-pane:not([hidden]){animation:m-fade var(--dur-2) var(--ease-out) both, sf-start linear both, sf-end linear both;animation-timeline:auto,scroll(self),scroll(self);animation-range:normal, 0 var(--sf-size), calc(100% - var(--sf-size)) 100%}@media (prefers-reduced-motion:reduce){:is(.scroll-fade,.content,.dl-list,.dl-dots,.notif-list,.search-panel-list,.mu-sheet-body,.cx-thread,.cx-side-scroll,.cc-events,.rv-modules,.rv-aa-list,.lrn-choices,.pn-pane,.org-list-side,.scroll-fade-x,.courses-chips,.pl-chips,.rv-strip,.vs-chips,.analytics-ref-table,.pn-tabs,.lsw){animation-duration:auto!important}}}.toast-viewport{z-index:90;flex-direction:column;gap:10px;max-width:calc(100vw - 48px);display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:280px;max-width:380px;box-shadow:var(--shadow-md);border-left-width:3px;align-items:flex-start;gap:11px;padding:13px 15px;animation:.3s cubic-bezier(.2,.7,.2,1) both toastIn;display:flex}.toast.is-leaving{animation:toastOut var(--dur-exit) var(--ease-in) both}@keyframes toastOut{0%{opacity:1;transform:none}to{opacity:0;transform:translate(24px)}}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.toast-ic{border-radius:var(--radius-xs);width:26px;height:26px;color:var(--accent-ink);flex-shrink:0;place-items:center;display:grid}.toast-msg{color:var(--text);flex:1;padding-top:3px;font-size:13px;line-height:1.45}.toast-x{color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;padding:2px;transition:color .14s,background .14s}.toast-x:hover{color:var(--text);background:var(--surface-2)}.toast-success{border-left-color:var(--st-approved)}.toast-success .toast-ic{background:var(--st-approved)}.toast-error{border-left-color:var(--color-danger)}.toast-error .toast-ic{background:var(--color-danger)}.toast-info{border-left-color:var(--accent)}.toast-info .toast-ic{background:var(--accent)}.toast-warning{border-left-color:var(--color-warning)}.toast-warning .toast-ic{background:var(--color-warning)}.notif-popup-viewport{z-index:95;flex-direction:column;gap:10px;max-width:calc(100vw - 48px);display:flex;position:fixed;bottom:96px;right:24px}.notif-popup{background:var(--surface);border:1px solid var(--border);border-left-width:3px;border-left-color:var(--accent);border-radius:var(--radius);width:320px;max-width:100%;box-shadow:var(--shadow-lg);align-items:stretch;animation:.24s cubic-bezier(.2,.7,.2,1) both notifPopupIn;display:flex}.notif-popup-exit{animation:.22s both notifPopupOut}@keyframes notifPopupIn{0%{opacity:0;transform:translate(24px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes notifPopupOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(16px)}}.notif-popup-main{cursor:pointer;text-align:left;min-width:0;font-family:var(--font-body);border-radius:var(--radius) 0 0 var(--radius);background:0 0;border:none;flex:1;align-items:flex-start;gap:11px;padding:13px 6px 13px 14px;display:flex}.notif-popup-main:hover{background:var(--surface-2)}.notif-popup-ic{border-radius:var(--radius-xs);background:var(--accent-soft);width:28px;height:28px;color:var(--accent-text);flex-shrink:0;place-items:center;margin-top:1px;display:grid}.notif-popup-body{flex-direction:column;gap:2px;min-width:0;display:flex}.notif-popup-title{color:var(--text);font-size:13px;font-weight:600}.notif-popup-text{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.notif-popup-at{color:var(--text-faint);margin-top:2px;font-size:10.5px}.notif-popup-x{color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;align-self:flex-start;margin:10px 10px 0 0;padding:4px;transition:color .14s,background .14s}.notif-popup-x:hover{color:var(--text);background:var(--surface-2)}@media (width<=520px){.notif-popup-viewport{top:auto;left:10px;right:10px;bottom:calc(168px + env(safe-area-inset-bottom))}.notif-popup{width:100%;animation-name:notifPopupInRise}.notif-popup-exit{animation-name:notifPopupOutRise}}@keyframes notifPopupInRise{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes notifPopupOutRise{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(14px)}}.mu-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.mu-iconbtn{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-muted);cursor:pointer;transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.mu-iconbtn:hover{background:var(--surface-2);color:var(--text)}.mu-iconbtn:active{transform:scale(.92)}.mu-iconbtn:focus-visible{box-shadow:var(--ring);outline:none}.mu-iconbtn:disabled{opacity:.45;cursor:default;transform:none}.mu-iconbtn--soft{background:var(--surface-2);color:var(--text)}.mu-iconbtn--soft:hover{background:var(--surface-3)}.mu-iconbtn--solid{background:var(--accent);color:var(--accent-ink)}.mu-iconbtn--solid:hover{background:var(--accent);color:var(--accent-ink);filter:brightness(1.06)}.mu-iconbtn.is-active{background:var(--accent-soft);color:var(--accent-text)}.mu-choice{border-radius:var(--radius-sm);background:var(--surface-2);min-height:56px;color:var(--text);cursor:pointer;transition:background var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);-webkit-tap-highlight-color:transparent;align-items:center;gap:12px;padding:12px 14px;display:flex;position:relative;box-shadow:inset 0 0 0 1.5px #0000}.mu-choice:hover{background:var(--surface-3)}.mu-choice:active{transform:scale(.985)}.mu-choice:has(input:focus-visible){box-shadow:inset 0 0 0 1.5px var(--accent), var(--ring)}.mu-choice-badge{background:var(--surface);width:30px;height:30px;color:var(--text-muted);transition:background var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);border-radius:10px;flex:none;place-items:center;font-size:13px;font-weight:600;display:grid}.mu-choice-text{flex:1;font-size:15px;line-height:1.4}.mu-choice-tick{background:var(--accent);width:24px;height:24px;color:var(--accent-ink);opacity:0;transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-pop);border-radius:50%;flex:none;place-items:center;display:grid;transform:scale(.6)}.mu-choice.is-on{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent)}.mu-choice.is-on .mu-choice-badge{background:var(--accent);color:var(--accent-ink)}.mu-choice.is-on .mu-choice-tick{opacity:1;transform:none}.mu-choice.is-right{background:var(--st-approved-bg);box-shadow:inset 0 0 0 1.5px var(--st-approved)}.mu-choice.is-right .mu-choice-tick{opacity:1;background:var(--st-approved);color:#fff;transform:none}.mu-choice.is-wrong{background:var(--st-bad-bg);box-shadow:inset 0 0 0 1.5px var(--st-bad)}.mu-choice.is-wrong .mu-choice-tick{opacity:1;background:var(--st-bad);color:#fff;transform:none}.mu-choice.is-disabled{cursor:default}.mu-choice.is-disabled:active{transform:none}.mu-menu{z-index:240;border-radius:var(--radius-sm);background:var(--surface);min-width:180px;color:var(--text);box-shadow:var(--elev-float);transform-origin:100% 0;padding:6px;position:fixed}.mu-menu--end{transform-origin:100% 0}.mu-menu--start{transform-origin:0 0}.mu-menu--end.is-up{transform-origin:100% 100%}.mu-menu--start.is-up{transform-origin:0 100%}.mu-menu-item{border-radius:var(--radius-xs);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:0;align-items:center;gap:10px;padding:9px 10px;font-size:14px;display:flex}.mu-menu-item:hover,.mu-menu-item:focus-visible{background:var(--surface-2);outline:none}.mu-menu-item svg{color:var(--text-muted)}.mu-menu-item.is-danger,.mu-menu-item.is-danger svg{color:var(--st-bad)}:root{--corner-gap:8px;--corner-cut:calc(var(--radius-lg) - .586 * var(--corner-gap))}.mu-corner{top:var(--corner-gap);right:var(--corner-gap);z-index:3;position:absolute}@supports (corner-shape:bevel){button.mu-corner,.mu-corner>button{border-top-right-radius:var(--corner-cut);corner-shape:round bevel round round}}.kit-page{max-width:1100px;margin:0 auto;padding:24px 16px 64px}.kit-panes{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.kit-pane{background:var(--bg);color:var(--text);border-radius:var(--radius);gap:20px;padding:20px;display:grid}.kit-pane h2{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin:0;font-size:13px}.kit-sec{gap:10px;display:grid}.kit-sec h3{margin:0;font-size:15px}.kit-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.kit-card{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--elev-rest);padding:14px;position:relative}.mu-choice.is-right .mu-choice-badge{background:var(--st-approved);color:#fff}.mu-choice.is-wrong .mu-choice-badge{background:var(--st-bad);color:#fff}[data-theme=dark] .mu-menu{box-shadow:var(--elev-float), 0 0 0 1px var(--line)}.mu-seg{grid-template-columns:repeat(var(--seg-n), minmax(0, 1fr));border-radius:var(--radius-pill);background:var(--surface-2);isolation:isolate;max-width:100%;padding:4px;display:grid;position:relative}.mu-seg-thumb{z-index:-1;width:calc((100% - 8px) / var(--seg-n));border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--elev-rest);transform:translateX(calc(var(--seg-i) * 100%));transition:transform var(--dur-3) var(--ease-out);position:absolute;top:4px;bottom:4px;left:4px}[data-theme=dark] .mu-seg-thumb{background:var(--surface-3)}.mu-seg-opt{border-radius:var(--radius-pill);min-height:36px;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:color var(--dur-2) var(--ease-out);justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13.5px;font-weight:600;display:inline-flex}.mu-seg-opt.is-on{color:var(--text)}.mu-seg-opt{min-width:0}.mu-seg-opt>span:not(.mu-seg-badge){text-overflow:ellipsis;overflow:hidden}.mu-seg-opt svg{flex:none}@media (width<=480px){.mu-seg-badge{display:none}.mu-seg-opt{padding:0 8px}}.mu-seg-opt:has(input:focus-visible){box-shadow:var(--ring)}.mu-seg-opt.is-disabled{opacity:.5;cursor:default}.mu-seg-badge{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-text);padding:1px 6px;font-size:10px;font-weight:700}.mu-seg--sm .mu-seg-opt{min-height:30px;padding:0 10px;font-size:12.5px}.mu-step{grid-template-columns:32px 1fr;gap:12px;padding-bottom:18px;display:grid;position:relative}.mu-step:last-child{padding-bottom:0}.mu-step:before{content:"";background:var(--line);border-radius:2px;width:2px;position:absolute;top:36px;bottom:4px;left:15px}.mu-step:last-child:before{display:none}.mu-step-badge{background:var(--accent-soft);width:32px;height:32px;color:var(--accent-text);transition:background var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.mu-step.is-done .mu-step-badge{background:var(--accent);color:var(--accent-ink)}.mu-step-body{flex-direction:column;gap:6px;min-width:0;padding-top:5px;display:flex}.mu-step-title{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.mu-step-n{color:var(--text-faint);font-size:11px}.mu-step-hint{color:var(--text-muted);font-size:12.5px}.mu-step-ctl{min-width:0}.mu-num{align-items:center;gap:6px;display:inline-flex}.mu-num-input{text-align:center;border-radius:var(--radius-sm);background:var(--surface-2);width:72px;height:36px;color:var(--text);box-shadow:var(--elev-inset);border:0;font-size:14px}.mu-num-input:focus{box-shadow:var(--ring);outline:none}.mu-date{max-width:100%;display:inline-block;position:relative}.mu-date-btn{border-radius:var(--radius-sm);background:var(--surface-2);max-width:100%;min-height:40px;color:var(--text-muted);font:inherit;cursor:pointer;transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);border:0;align-items:center;gap:8px;padding:0 12px;font-size:14px;display:inline-flex}.mu-date-btn:hover{background:var(--surface-3);color:var(--text)}.mu-date-btn.has-value{color:var(--text)}.mu-date-btn:focus-visible{box-shadow:var(--ring);outline:none}.mu-date-btn span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mu-date-pop{border-radius:var(--radius);width:300px;max-width:calc(100vw - 16px);padding:12px}.mu-date--native{display:block}.mu-date-native{border-radius:var(--radius-sm);background:var(--surface-2);width:100%;min-height:44px;color:var(--text-muted);font:inherit;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border:0;padding:0 12px;font-size:16px;display:block}[data-theme=dark] .mu-date-native{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.mu-date-native.has-value{color:var(--text)}.mu-date-native:focus-visible{box-shadow:var(--ring);outline:none}.mu-date-quick--native{margin:10px 0 0}.mu-date-quick{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.mu-date-chip{border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;transition:background var(--dur-1) var(--ease-out);border:0;padding:6px 10px;font-size:12.5px;font-weight:600}.mu-date-chip:hover{background:var(--accent-soft)}.mu-date-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.mu-date-month{text-transform:capitalize;font-size:14px;font-weight:600}.mu-date-grid{animation:m-fade var(--dur-2) var(--ease-out) both;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.mu-date-wd{text-align:center;color:var(--text-faint);text-transform:uppercase;padding:4px 0;font-size:11px}.mu-date-day{aspect-ratio:1;color:var(--text);font:inherit;cursor:pointer;transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:0;border-radius:50%;font-size:13px}.mu-date-day:hover:not(:disabled){background:var(--surface-2)}.mu-date-day.is-out{color:var(--text-faint)}.mu-date-day.is-today{box-shadow:inset 0 0 0 1.5px var(--accent)}.mu-date-day.is-on{background:var(--accent);color:var(--accent-ink);font-weight:700}.mu-date-day:disabled{opacity:.3;cursor:default}.mu-date-day:focus-visible{box-shadow:var(--ring);outline:none}.mu-date-clear{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-top:8px;padding:4px 2px;font-size:12.5px;display:inline-flex}.mu-date-clear:hover{color:var(--text)}.mu-sheet-root{z-index:210;position:fixed;inset:0}.mu-sheet-back{animation:m-fade var(--dur-2) var(--ease-out) both;transition:opacity var(--dur-2) var(--ease-out);background:#05080f73;position:absolute;inset:0}.mu-sheet{left:max(8px,50% - 320px);right:max(8px,50% - 320px);bottom:calc(8px + env(safe-area-inset-bottom));border-radius:var(--radius-lg);background:var(--surface);max-height:min(82dvh,720px);color:var(--text);animation:mu-sheet-in var(--dur-3) var(--ease-entry) both;transition:transform var(--dur-2) var(--ease-out);outline:none;flex-direction:column;display:flex;position:absolute;box-shadow:0 -8px 24px #0000002e}[data-theme=dark] .mu-sheet{box-shadow:0 -8px 24px #00000080, 0 0 0 1px var(--line)}.mu-sheet.is-dragging{will-change:transform;transition:none}@keyframes mu-sheet-in{0%{transform:translateY(100%)}to{transform:none}}.mu-sheet-root.is-leaving .mu-sheet-back{animation:m-fade-out var(--dur-2) var(--ease-in) both}.mu-sheet-root.is-leaving .mu-sheet{animation:mu-sheet-out var(--dur-2) var(--ease-in) both}@keyframes mu-sheet-out{0%{transform:translateY(var(--sheet-dy,0px))}to{transform:translateY(105%)}}.mu-sheet-grab{cursor:grab;touch-action:none;place-items:center;padding:10px 0 2px;display:grid}.mu-sheet-grab span{background:var(--surface-3);border-radius:99px;width:40px;height:5px}.mu-sheet-head{justify-content:space-between;align-items:center;gap:8px;padding:2px 10px 6px 18px;display:flex}.mu-sheet-title{font-size:16px;font-weight:700}.mu-sheet-body{overscroll-behavior:contain;padding:0 0 12px;overflow:auto}body.sheet-open .topbar,body.sheet-open .tabbar{-webkit-backdrop-filter:none}.mu-topbar{z-index:300;background:var(--accent);transform-origin:0;pointer-events:none;height:3px;animation:8s cubic-bezier(.1,.6,.2,1) both mu-topbar-trickle;position:fixed;top:0;left:0;right:0}.mu-topbar.is-done{animation:mu-topbar-done var(--dur-2) var(--ease-out) both}@keyframes mu-topbar-trickle{0%{transform:scaleX(.04)}to{transform:scaleX(.9)}}@keyframes mu-topbar-done{0%{opacity:1;transform:scaleX(.9)}to{opacity:0;transform:scaleX(1)}}.sk-text{vertical-align:middle;width:var(--w,60%);background:var(--surface-2);border-radius:6px;max-width:100%;height:.8em;display:inline-block;position:relative;overflow:hidden}.sk-text:after{content:"";background:linear-gradient(100deg, transparent 20%, var(--surface-3) 50%, transparent 80%);animation:1.6s ease-in-out infinite sk-sweep;position:absolute;inset:0;transform:translate(-100%)}.mu-sk-card{cursor:default;pointer-events:none}.mu-sk-card .sk{background:var(--surface-2)}.mu-sk-card .sk:after{background:linear-gradient(100deg, transparent 20%, var(--surface-3) 50%, transparent 80%)}.mu-sk-card :is(.courses-status,.pl-sub,.dashboard-activity-status){background:0 0}@media (prefers-reduced-motion:reduce){.sk-text:after{opacity:0;animation:none}}[data-flip][hidden]{display:none}.mu-fade-in{animation:m-fade var(--dur-3) var(--ease-out) both}.mu-count-sk{opacity:.25;vertical-align:middle;background:currentColor;border-radius:5px;width:14px;height:9px;display:inline-block}.psk{flex-direction:column;gap:16px;display:flex}.psk-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.psk-title{border-radius:var(--radius-xs);width:min(320px,60%);height:26px}.psk-chip{border-radius:var(--radius-pill);width:120px;height:32px}.psk-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.psk-stat{border-radius:var(--radius-lg);height:120px}.psk-card{border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:14px;padding:22px;display:flex}.psk-heading{border-radius:var(--radius-xs);width:min(240px,55%);height:20px}.psk-lines{flex-direction:column;gap:10px;display:flex}.psk-line{border-radius:var(--radius-xs);height:12px}.psk-line:nth-child(odd){width:100%}.psk-line:nth-child(2n){width:78%}.psk-media{aspect-ratio:16/9;border-radius:var(--radius-lg);width:100%}.psk-card .sk,.psk-lines .sk,.psk-stats .sk{background:var(--surface-2)}.psk-card .sk:after,.psk-lines .sk:after,.psk-stats .sk:after{background:linear-gradient(100deg, transparent 20%, var(--surface-3) 50%, transparent 80%)}@media (width<=760px){.psk-stats{grid-template-columns:minmax(0,1fr)}.psk-stat{height:88px}.psk-card{padding:16px}}.psk-bubble.sk{background:var(--surface-2)}.psk-bubble.sk:after{background:linear-gradient(100deg, transparent 20%, var(--surface-3) 50%, transparent 80%)}.psk-bubble{border-radius:var(--radius-lg);width:min(480px,78%);height:64px}.psk-bubble.is-mine{align-self:flex-end;width:min(320px,60%);height:44px}@keyframes m-pop{0%{opacity:0;transform:translateY(6px)scale(.97)}to{opacity:1;transform:none}}@keyframes m-fade{0%{opacity:0}to{opacity:1}}@keyframes m-slide-left{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}@keyframes m-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes m-scale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}@keyframes m-pop-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(4px)scale(.97)}}@keyframes m-fade-out{0%{opacity:1}to{opacity:0}}@keyframes m-rise-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(10px)}}@keyframes m-slide-out-left{0%{opacity:1;transform:none}to{opacity:0;transform:translate(-10px)}}@keyframes m-scale-out{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.94)}}.mu-pres--pop{animation:m-pop var(--dur-2) var(--ease-out) both}.mu-pres--fade{animation:m-fade var(--dur-2) var(--ease-out) both}.mu-pres--rise{animation:m-rise var(--dur-3) var(--ease-entry) both}.mu-pres--slide{animation:m-slide-left var(--dur-3) var(--ease-entry) both}.mu-pres--scale{animation:m-scale var(--dur-3) var(--ease-pop) both}.mu-pres--pop.is-leaving{animation:m-pop-out var(--dur-exit) var(--ease-in) both}.mu-pres--fade.is-leaving{animation:m-fade-out var(--dur-exit) var(--ease-in) both}.mu-pres--rise.is-leaving{animation:m-rise-out var(--dur-exit) var(--ease-in) both}.mu-pres--slide.is-leaving{animation:m-slide-out-left var(--dur-exit) var(--ease-in) both}.mu-pres--scale.is-leaving{animation:m-scale-out var(--dur-exit) var(--ease-in) both}.is-leaving{pointer-events:none}.app-backdrop{animation:m-fade var(--dur-2) var(--ease-out) both}.app-backdrop.is-leaving{animation:m-fade-out var(--dur-exit) var(--ease-in) both}.nav-open .topbar,.nav-open .tabbar{-webkit-backdrop-filter:none}.cdlg-overlay{animation:m-fade var(--dur-2) var(--ease-out) both}.cdlg{animation:m-pop var(--dur-3) var(--ease-pop) both}.cdlg-overlay.is-leaving{animation:m-fade-out var(--dur-exit) var(--ease-in) both}.cdlg-overlay.is-leaving .cdlg{animation:m-pop-out var(--dur-exit) var(--ease-in) both}.search-panel,.user-menu,.vs-menu{animation:m-pop var(--dur-2) var(--ease-out) both;transform-origin:top}.search-panel.is-leaving,.user-menu.is-leaving,.vs-menu.is-leaving,.dl-menu.is-leaving{animation:m-pop-out var(--dur-exit) var(--ease-in) both}.is-removing{animation:m-scale-out var(--dur-exit) var(--ease-in) both;pointer-events:none}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(1px)}.icon-btn{transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out)}.icon-btn:active{transform:scale(.92)}.pl-chip,.courses-chip{transition:background var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out)}.pl-chip:active,.courses-chip:active{transform:scale(.96)}.searchbox{transition:box-shadow var(--dur-2) var(--ease-out), background var(--dur-2) var(--ease-out)}.user-menu-item,.notif-item{transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out)}.search-item{transition:background var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out)}.search-item:hover{transform:translate(2px)}.thumb{transition:transform var(--dur-3) var(--ease-out)}.thumb-play{transition:transform var(--dur-3) var(--ease-pop), background var(--dur-2) var(--ease-out)}.dashboard-course-card:hover .thumb-play,.courses-card:hover .thumb-play{background:oklch(100% 0 0/.28);transform:translate(-50%,-50%)scale(1.12)}.chev{transition:transform var(--dur-2) var(--ease-out)}.chev.is-open{transform:rotate(90deg)}.page-head{animation:m-slide-left var(--dur-4) var(--ease-entry) both}.page.fade-up{animation:m-fade var(--dur-3) var(--ease-out) both}.dashboard-stats-grid>.reveal{transform:none}.wizard-bar{animation:m-fade var(--dur-4) var(--ease-out) both}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.btn:hover:not(:disabled),.btn:active:not(:disabled),.icon-btn:active,.pl-chip:active,.courses-chip:active,.search-item:hover,.nav-item:not(.wip):hover>svg{transform:none}.chev{transition:none}.dashboard-course-card:hover .thumb-play,.courses-card:hover .thumb-play{transform:translate(-50%,-50%)}}.auth-page{background:var(--surface);min-height:100vh;color:var(--text);font-family:var(--font-body);flex-direction:column;display:flex}.auth-topbar{flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 40px;display:flex}.auth-theme-btn{cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);width:38px;height:38px;color:var(--text-muted);border-radius:50%;place-items:center;transition:color .14s,background .14s,border-color .14s;display:grid}.auth-theme-btn:hover{color:var(--accent-text);background:var(--surface-2);border-color:var(--border-strong)}.auth-body{flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid}.auth-hero{background:var(--surface-2);flex-direction:column;justify-content:center;padding:48px 56px;display:flex;position:relative;overflow:hidden}[data-theme=dark] .auth-hero{background:var(--surface-2)}.auth-hero-title{letter-spacing:-.02em;color:var(--text);margin-bottom:14px;font-size:40px;font-weight:700;line-height:1.15}[data-theme=dark] .auth-hero-title{color:var(--text)}.auth-hero-sub{color:var(--text-muted);max-width:440px;margin-bottom:36px;font-size:15px;line-height:1.6}.auth-form-col{background:var(--surface);flex-direction:column;justify-content:center;padding:48px 64px;display:flex}.auth-form-wrap{width:100%;max-width:380px;margin:0 auto}.auth-tabs{border-bottom:1px solid var(--border);gap:28px;margin-bottom:28px;display:flex}.auth-tab{font-family:var(--font-body);color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 0 14px;font-size:15px;font-weight:500;transition:color .15s;position:relative}.auth-tab:hover{color:var(--text)}.auth-tab.active{color:var(--text);font-weight:700}[data-theme=dark] .auth-tab.active{color:var(--text)}.auth-tab.active:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:0;right:0}[data-theme=dark] .auth-tab.active:after{background:var(--accent)}.auth-dev-fallback{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;padding:32px 20px;display:flex}.auth-dev-fallback .field-label{color:var(--text)}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-label-row{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.auth-label-row .field-label{margin-bottom:0}.auth-input-wrap{position:relative}.auth-input-lead{color:var(--text-faint);pointer-events:none;z-index:1;display:inline-flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.auth-input.has-lead{padding-left:38px}.auth-input.has-trail{padding-right:42px}.auth-eye{cursor:pointer;width:32px;height:32px;color:var(--text-faint);background:0 0;border:none;border-radius:7px;place-items:center;transition:color .14s,background .14s;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-eye:hover{color:var(--text);background:var(--surface-2)}.auth-link{cursor:pointer;font-family:var(--font-body);color:var(--accent-text);background:0 0;border:none;padding:0;font-size:12.5px;font-weight:600}.auth-link:hover{text-decoration:underline}[data-theme=dark] .auth-link{color:var(--accent-text)}.auth-check{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:13px;line-height:1.4;display:flex}.auth-check input{opacity:0;width:0;height:0;position:absolute}.auth-check-box{border:1.5px solid var(--border-strong);background:var(--surface);width:18px;height:18px;color:var(--accent-ink);box-shadow:var(--elev-inset);border-radius:5px;flex-shrink:0;place-items:center;transition:background .14s,border-color .14s;display:grid}.auth-check input:checked+.auth-check-box{background:var(--accent);border-color:#0000}.auth-check input:focus-visible+.auth-check-box{box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 22%, transparent)}.auth-submit{width:100%;height:48px;margin-top:4px}.auth-error{border-radius:var(--radius-sm);background:color-mix(in oklch, var(--color-danger) 12%, var(--surface));border:1px solid color-mix(in oklch, var(--color-danger) 35%, transparent);color:var(--color-danger);align-items:center;gap:9px;margin-bottom:16px;padding:10px 13px;font-size:12.5px;font-weight:500;line-height:1.4;display:flex}.auth-error svg{flex-shrink:0}.auth-bottom{text-align:center;margin-top:18px}.auth-bottom-q{color:var(--text-muted);margin-bottom:12px;font-size:12.5px}.auth-outline-btn{width:100%;height:44px;color:var(--accent-text);border-color:var(--accent)}.auth-outline-btn:hover{background:color-mix(in oklch, var(--accent) 8%, var(--surface));color:var(--accent-text);border-color:var(--accent)}.auth-bottom-link-row{text-align:center;color:var(--text-muted);justify-content:center;align-items:center;gap:6px;margin-top:18px;font-size:13px;display:flex}.auth-illo{aspect-ratio:540/420;width:100%;max-width:480px;margin:0 auto;position:relative}.auth-illo-backdrop{opacity:.6;background:#dbe7f3;border-radius:50%;width:86%;height:86%;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)}.auth-illo-card{background:#fff;border:1px solid #d3e0ed;border-radius:10px;animation:6s ease-in-out infinite authFloat;position:absolute;box-shadow:0 4px 10px #0a12201f}@keyframes authFloat{0%,to{transform:translateY(0) var(--rot,rotate(0deg))}50%{transform:translateY(-6px) var(--rot,rotate(0deg))}}.auth-illo-module{--rot:rotate(-4deg);align-items:center;gap:12px;width:38%;padding:12px 14px;display:flex;top:6%;left:4%}.auth-illo-module-num{background:var(--accent);width:36px;height:36px;color:var(--accent-ink);font-family:var(--font-display);border-radius:8px;flex-shrink:0;place-items:center;font-size:18px;font-weight:700;display:grid}.auth-illo-module-text .eyebrow-sm{letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:700}.auth-illo-module-text .label-sm{color:var(--text);font-size:13px;font-weight:600}.auth-illo-goal{--rot:rotate(3deg);align-items:center;gap:10px;width:40%;padding:12px 14px;display:flex;top:8%;right:2%}.auth-illo-goal-icon{width:30px;height:30px;color:var(--accent-text);border:1.4px solid var(--accent);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.auth-illo-goal-text .eyebrow-sm{letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:700}.auth-illo-goal-text .label-sm{color:var(--text);font-size:12px;font-weight:600}.auth-illo-laptop{width:64%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.auth-illo-screen{background:#cfdcea;border:1.4px solid #6f8aa6;border-radius:10px;padding:8px}.auth-illo-screen-inner{background:var(--surface);border-radius:6px;padding:10px 12px}.auth-illo-base{background:#a8bdd3;border:1px solid #6f8aa6;border-radius:0 0 10px 10px;height:12px;margin:0 -4%;position:relative}.auth-illo-base:after{content:"";background:#6f8aa6;border-radius:0 0 4px 4px;width:40px;height:4px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.auth-illo-progress-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.auth-illo-progress-head span{font-family:var(--font-body);color:var(--text);font-size:11px;font-weight:700}.auth-illo-progress-head .dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.auth-illo-progress-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.auth-illo-donut{flex-shrink:0;width:56px;height:56px;position:relative}.auth-illo-donut svg{width:100%;height:100%;transform:rotate(-90deg)}.auth-illo-donut-pct{font-family:var(--font-display);color:var(--text);place-items:center;font-size:13px;font-weight:700;display:grid;position:absolute;inset:0}.auth-illo-spark{background:#eaf1f8;border-radius:6px;flex:1;height:56px;padding:6px}.auth-illo-spark svg{width:100%;height:100%;display:block}.auth-illo-stats{gap:6px;display:flex}.auth-illo-stat{background:#eaf1f8;border:.8px solid #d3e0ed;border-radius:5px;flex:1;align-items:center;gap:6px;padding:6px 7px;display:flex}.auth-illo-stat-dot{border-radius:50%;flex-shrink:0;width:11px;height:11px}.auth-illo-stat-text .stat-label{color:var(--text-muted);margin-bottom:1px;font-size:8px;font-weight:600;display:block}.auth-illo-stat-text .stat-num{font-family:var(--font-display);color:var(--text);font-size:13px;font-weight:700}.auth-illo-books{width:24%;position:absolute;bottom:12%;left:16%}.auth-illo-book-bottom{background:var(--accent);border-bottom:2px solid #0a122066;border-radius:3px;height:16px}.auth-illo-book-top{background:var(--accent);border-bottom:1.5px solid #0a122059;border-radius:3px;width:86%;height:11px;margin-top:-16px;margin-left:14%;position:relative}.auth-illo-pencil{background:var(--accent);border-radius:2px;width:64%;height:4px;position:absolute;top:-7px;left:28%;transform:rotate(-3deg)}.auth-illo-pencil:after{content:"";border:3px solid #0000;border-left-color:var(--text);position:absolute;top:-1px;right:-7px}.auth-illo-plant{width:13%;position:absolute;bottom:16%;right:8%}.auth-illo-cap{aspect-ratio:1;background:#fff;border:1.2px solid #d3e0ed;border-radius:50%;place-items:center;width:17%;display:grid;position:absolute;top:50%;left:6%;box-shadow:0 4px 10px #0a12201f}.auth-illo-award{aspect-ratio:.92;background:#fff;border:1.2px solid #d3e0ed;border-radius:10px;flex-direction:column;justify-content:flex-start;align-items:center;width:18%;padding-top:10%;display:flex;position:absolute;top:48%;right:4%;box-shadow:0 4px 10px #0a12201f}.auth-illo-sparkle{color:var(--accent-text);position:absolute}.auth-illo-sparkle.s1{top:30%;right:26%}.auth-illo-sparkle.s2{color:var(--accent-text);opacity:.85;top:40%;left:18%}.auth-illo-sparkle.s3{opacity:.7;bottom:22%;right:10%}@media (prefers-reduced-motion:reduce){.auth-illo-card{animation:none!important}}[data-theme=dark] .auth-illo-backdrop{background:var(--surface-3);opacity:.4}[data-theme=dark] .auth-illo-card{background:var(--surface);border-color:var(--border);box-shadow:0 4px 10px oklch(0% 0 0/.35)}[data-theme=dark] .auth-illo-module-text .label-sm,[data-theme=dark] .auth-illo-goal-text .label-sm{color:var(--text)}[data-theme=dark] .auth-illo-screen{background:var(--surface-3);border-color:var(--border-strong)}[data-theme=dark] .auth-illo-screen-inner{background:var(--surface)}[data-theme=dark] .auth-illo-progress-head span,[data-theme=dark] .auth-illo-donut-pct,[data-theme=dark] .auth-illo-stat-text .stat-num{color:var(--text)}[data-theme=dark] .auth-illo-spark{background:var(--surface-2)}[data-theme=dark] .auth-illo-base{background:var(--surface-3);border-color:var(--border-strong)}[data-theme=dark] .auth-illo-base:after{background:var(--border-strong)}[data-theme=dark] .auth-illo-stat{background:var(--surface-2);border-color:var(--border)}[data-theme=dark] .auth-illo-cap,[data-theme=dark] .auth-illo-award{background:var(--surface);border-color:var(--border);box-shadow:0 4px 10px oklch(0% 0 0/.35)}@media (width<=900px){.auth-body{grid-template-columns:1fr}.auth-hero{order:2;padding:36px 32px}.auth-form-col{order:1;padding:36px 32px}.auth-hero-title{font-size:32px}.auth-illo{max-width:380px;margin-top:24px}}@media (width<=520px){.auth-topbar{padding:16px 20px}.auth-hero,.auth-form-col{padding:28px 20px}}.cdlg-overlay{z-index:220;background:oklch(0% 0 0/.55);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cdlg{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;width:min(420px,100%);padding:20px;display:flex;box-shadow:0 18px 50px oklch(0% 0 0/.35)}.cdlg-title{color:var(--text);text-wrap:balance;font-size:15px;font-weight:700}.cdlg-msg{color:var(--text-muted);font-size:13px;line-height:1.5}.cdlg-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.dl{flex-direction:column;flex:1;min-height:0;padding:0 10px;display:flex}.dl.is-compact{align-items:center;padding:0}.dl-sep{background:var(--line);height:1px;transition:margin var(--dur-3) var(--ease-out);margin:10px 12px}.dl.is-compact .dl-sep{align-self:stretch;margin-inline:14px}.dl-new{flex:none}.dl-cap{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);flex:none;padding:14px 12px 6px;font-size:10px}.dl-list{overscroll-behavior:contain;flex:1;min-height:0;margin:0;padding:0 0 8px;list-style:none;overflow-y:auto}.dl-sk-row{pointer-events:none}.dl-sk-row:hover{background:0 0}.dl-sk-row .dl-title,.dl-sk-row .dl-time{display:block}.dl-empty{color:var(--text-faint);padding:6px 12px;font-size:12.5px;line-height:1.5}.dl-row{border-radius:var(--radius-sm);transition:background var(--dur-1) var(--ease-out);animation:dl-in var(--dur-3) var(--ease-entry) both;align-items:center;display:flex;position:relative}.dl-row:nth-child(2){animation-delay:30ms}.dl-row:nth-child(3){animation-delay:60ms}.dl-row:nth-child(4){animation-delay:90ms}.dl-row:nth-child(n+5){animation-delay:.12s}@keyframes dl-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.dl-row:hover{background:var(--surface-2)}.dl-row.is-active{background:var(--accent-softer)}.dl-open{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-sm);outline-offset:2px;transition:transform var(--dur-1) var(--ease-out);background:0 0;border:0;outline:2px solid #0000;flex-direction:column;flex:1;gap:1px;padding:8px 4px 8px 12px;display:flex}.dl-open:active{transform:scale(.98)}.dl-open:focus-visible{outline-color:var(--accent-text)}.dl-title{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.dl-row.is-active .dl-title{color:var(--accent-text);font-weight:600}.dl-title.is-untitled{color:var(--text-muted)}.dl-time{color:var(--text-faint);font-size:11.5px}.dl-more{width:30px;height:30px;color:var(--text-faint);cursor:pointer;opacity:0;transition:opacity var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin-right:4px;padding:0;display:grid}.dl-row:hover .dl-more,.dl-row.is-active .dl-more,.dl-more:focus-visible,.dl-more[aria-expanded=true]{opacity:1}@media (hover:none){.dl-more{opacity:1}}.dl-more:hover{background:var(--surface-3);color:var(--text)}.dl-more:active{transform:scale(.9)}.dl-more:focus-visible{outline:2px solid var(--accent-text);outline-offset:1px}.dl.is-sheet{flex:none;padding:4px 4px 12px}.dl.is-sheet .dl-list{flex:none;overflow:visible}.dl.is-sheet .dl-open{padding-block:11px}.dl.is-sheet .dl-title{font-size:15px}@media (prefers-reduced-motion:reduce){.dl-row{animation-name:m-fade}.dl-open:active,.dl-more:active{transform:none}}.dl-dots{overscroll-behavior:contain;scrollbar-width:none;flex-direction:column;flex:1;align-items:center;gap:6px;min-height:0;margin:8px 0 0;padding:2px 0 8px;list-style:none;display:flex;overflow-y:auto}.dl-dot{border:1px solid var(--line);width:32px;height:32px;color:var(--text-muted);font:inherit;letter-spacing:.02em;cursor:pointer;animation:dl-in var(--dur-3) var(--ease-entry) both;transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);background:0 0;border-radius:50%;place-items:center;padding:0;font-size:11px;font-weight:600;display:grid}.dl-dot:hover{background:var(--surface-2);color:var(--text)}.dl-dot:active{transform:scale(.92)}.dl-dot:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.dl-dot.is-active{background:var(--accent-softer);color:var(--accent-text);border-color:#0000}.avatar{background:color-mix(in oklch, var(--accent) 22%, var(--surface));width:34px;height:34px;font-family:var(--font-mono);color:var(--accent-text);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid;position:relative;overflow:hidden}[data-theme=dark] .avatar{background:color-mix(in oklch, var(--accent) 30%, var(--surface-2));color:var(--text)}.avatar-initials{letter-spacing:.02em;line-height:1}.avatar-icon{opacity:.75}.avatar-img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity var(--dur-2,.2s) var(--ease-out,ease);position:absolute;inset:0}.avatar-img-on{opacity:1}[data-sheet-thrown]{pointer-events:none;animation:none!important}.mu-sheet-back,.notif-backdrop{animation-fill-mode:backwards}.sheet-handle{cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;justify-content:center;place-items:center;min-height:24px}.sheet-handle:before{content:"";background:var(--text-faint);opacity:.5;width:40px;height:4px;transition:opacity var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);border-radius:99px}.sheet-handle:active{cursor:grabbing}[data-sheet-dragging] .sheet-handle:before{opacity:.85;transform:scaleX(1.15)}@media (prefers-reduced-motion:reduce){.sheet-handle:before{transition:none}}[data-sheet-handle]{touch-action:none}.mu-sheet-grab.sheet-handle,.cx-sheet-handle.sheet-handle{min-height:24px;padding:0}body.sheet-drag-open .topbar,body.sheet-drag-open .tabbar{-webkit-backdrop-filter:none}@media (width<=560px){.notif-panel.notif-panel{border-radius:0 0 28px 28px;max-height:88dvh;overflow:hidden}.notif-panel.notif-panel .notif-list{overscroll-behavior:contain;flex:auto;min-height:0;max-height:none;padding:6px 0 14px}.notif-panel.notif-panel .notif-panel-head{border-bottom:none;padding-bottom:8px}.notif-panel.notif-panel .notif-item{border-radius:var(--radius-sm,14px);border-bottom:none;width:calc(100% - 20px);margin:2px 10px}.notif-panel.notif-panel .notif-grab{background:0 0;align-items:flex-end;height:32px;margin-top:-8px;padding:0 0 8px;position:relative}}.notif-sk{gap:12px;padding:12px 14px;display:flex}.notif-sk-ic.sk{background:color-mix(in srgb, var(--text) 8%, transparent);border-radius:50%;flex:none;width:30px;height:30px}.notif-sk-body{flex-direction:column;flex:1;gap:8px;min-width:0;padding-top:3px;display:flex}.notif-sk-line.sk{border-radius:var(--radius-xs);background:color-mix(in srgb, var(--text) 8%, transparent);height:11px}.notif-sk-line.is-short{width:62%}.notif-sk .sk:after{background:linear-gradient(100deg, transparent 20%, color-mix(in srgb, var(--text) 10%, transparent) 50%, transparent 80%)}.thumb{border-radius:var(--radius);border:none;height:130px;position:relative;overflow:hidden}.thumb-tile{background:repeating-linear-gradient(-45deg, oklch(100% 0 0/.07) 0 1px, transparent 1px 13px), linear-gradient(135deg, oklch(.42 .08 calc((var(--t,0) - 200) * .15 + 245)), oklch(.58 .1 calc((var(--t,0) - 200) * .15 + 230)));justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.thumb-tinted .thumb-tile{background:repeating-linear-gradient(-45deg, oklch(100% 0 0/.07) 0 1px, transparent 1px 13px), linear-gradient(135deg, var(--thumb-tint), color-mix(in oklch, var(--thumb-tint) 55%, black))}.thumb-initials{font-family:var(--font-display);color:#fff;letter-spacing:.01em;text-shadow:0 1px 3px oklch(0% 0 0/.2);font-size:26px;font-weight:700;position:relative}.thumb-img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .25s;position:absolute;inset:0}.thumb-img-on{opacity:1}.thumb-logo-chip{border-radius:inherit;opacity:0;background:#fff;place-items:center;padding:14%;transition:opacity .25s;display:grid;position:absolute;inset:0}.thumb-logo-chip.thumb-img-on{opacity:1}.thumb-logo-chip img{object-fit:contain;width:100%;height:100%;display:block}.thumb-overlay-grad{background:linear-gradient(#0000 40%,oklch(0% 0 0/.28));position:absolute;inset:0}.thumb-play{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;background:oklch(100% 0 0/.18);border:1px solid oklch(100% 0 0/.4);border-radius:50%;place-items:center;width:42px;height:42px;transition:transform .18s,background .18s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.thumb-tag{letter-spacing:.14em;color:#fff;opacity:.92;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:oklch(0% 0 0/.25);border-radius:5px;padding:3px 7px;font-size:9px;position:absolute;bottom:11px;left:12px}.qr{text-align:center;animation:m-pop var(--dur-3) var(--ease-entry) both;flex-direction:column;align-items:center;gap:12px;display:flex}.qr-ring{place-items:center;display:grid;position:relative}.qr-ring svg{display:block}.qr-track{stroke:color-mix(in oklch, var(--text) 10%, transparent)}.qr-stop-a{stop-color:var(--brand-ice)}.qr-stop-b,:root:not([data-theme=dark]) .qr-stop-a{stop-color:var(--brand-ice-deep)}:root:not([data-theme=dark]) .qr-stop-b{stop-color:var(--brand-ice-ink)}.qr.is-over .qr-stop-a,.qr.is-over .qr-stop-b{stop-color:var(--st-bad)}.qr-fill{filter:drop-shadow(0 0 6px color-mix(in oklch, var(--accent) 45%, transparent))}.qr.is-over .qr-fill{filter:drop-shadow(0 0 6px color-mix(in oklch, var(--st-bad) 45%, transparent))}.qr-num{letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;grid-auto-flow:column;place-content:center;align-items:baseline;font-size:30px;font-weight:700;line-height:1;display:grid;position:absolute;inset:0}.qr.is-over .qr-num{color:var(--st-bad)}.qr-pct{color:var(--text-faint);margin-left:1px;font-size:14px;font-weight:600}.qr-text{flex-direction:column;gap:4px;display:flex}.qr-label{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-faint);font-size:10.5px}.qr-note{color:var(--text-muted);font-size:12px}.qr.is-over .qr-note{color:var(--st-bad)}@media (width<=600px){.qr{text-align:left;flex-direction:row;gap:14px}}@media (prefers-reduced-motion:reduce){.qr{animation-name:m-fade}}.dashboard-hero{background:var(--surface);box-shadow:var(--shadow-sm);border-radius:24px;justify-content:space-between;align-items:center;gap:30px;padding:34px 36px;display:flex;position:relative;overflow:hidden}.dashboard-hero-glow{pointer-events:none;background:0 0;width:480px;height:480px;position:absolute;inset:auto -10% -60% auto}.dashboard-hero-h1{letter-spacing:-.025em;text-wrap:balance;font-size:34px;font-weight:600;line-height:1.12}.dashboard-hero-sub{color:var(--text-muted);max-width:480px;margin-top:14px;font-size:14.5px;line-height:1.55}.dashboard-hero-credits{z-index:1;background:var(--surface-2);border-radius:var(--radius);flex-shrink:0;place-items:center;width:210px;padding:20px;display:grid;position:relative}.dashboard-stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px;display:grid}.dashboard-stat-card{background:var(--surface);box-shadow:var(--shadow-sm);border-radius:20px;padding:20px;transition:box-shadow .24s cubic-bezier(.2,0,0,1),transform .24s cubic-bezier(.2,0,0,1)}.dashboard-stat-card:hover{box-shadow:var(--elev-raised);transform:translateY(-2px)}.dashboard-stat-ic{background:var(--accent-softer);width:34px;height:34px;color:var(--accent-text);border-radius:999px;place-items:center;margin-bottom:14px;display:grid}.dashboard-hero-cta{gap:11px;margin-top:22px;display:flex}.dashboard-stat-val{font-family:var(--font-mono);letter-spacing:-.02em;font-size:26px;font-weight:600;line-height:1}.dashboard-stat-label{color:var(--text-muted);margin-top:6px;font-size:12.5px}.dashboard-stat-delta{font-family:var(--font-mono);color:var(--text-faint);align-items:center;gap:4px;margin-top:10px;font-size:11px;display:inline-flex}.dashboard-stat-delta.up{color:var(--st-approved)}.dashboard-courses-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.dashboard-course-card{text-align:left;font-family:var(--font-body);color:var(--text);background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:20px;flex-direction:column;padding:0;transition:transform .16s cubic-bezier(.2,.7,.2,1),box-shadow .16s,border-color .16s;display:flex;overflow:hidden}.dashboard-course-card:hover{box-shadow:var(--elev-raised);transform:translateY(-3px)}.dashboard-course-card:hover .thumb-play{background:oklch(100% 0 0/.28);transform:translate(-50%,-50%)scale(1.08)}.dashboard-course-body{flex-direction:column;flex:1;padding:15px 16px 16px;display:flex}.dashboard-course-title{letter-spacing:-.01em;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:12px;font-size:15.5px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.dashboard-course-meta{color:var(--text-muted);flex-wrap:wrap;gap:14px;margin-top:auto;font-size:12px;display:flex}.dashboard-course-meta span{align-items:center;gap:5px;display:inline-flex}.dashboard-course-meta svg{color:var(--text-faint)}.dashboard-activity-status{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:5px;margin-left:auto;padding:3px 9px;font-size:10.5px;font-weight:600;display:inline-flex}.dashboard-activity-status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.dashboard-activity-status-ok{background:var(--st-approved-bg);color:var(--st-approved)}.dashboard-activity-status-busy{background:var(--accent-soft);color:var(--accent-text)}.dashboard-activity-status-warn{background:var(--st-pending-bg);color:var(--st-pending)}.dashboard-activity-status-bad{background:var(--st-bad-bg);color:var(--st-bad)}@media (width<=1080px){.dashboard-stats-grid,.dashboard-courses-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.dashboard-hero{flex-direction:column;align-items:flex-start;padding:24px 20px}.dashboard-hero>div{min-width:0;max-width:100%}.dashboard-hero-h1{font-size:26px}.dashboard-hero-sub{max-width:none}.dashboard-hero-credits{width:100%}.dashboard-hero-cta{flex-direction:column}.dashboard-hero-cta .btn{justify-content:center;width:100%}.dashboard-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.dashboard-stat-card{padding:14px}.dashboard-stat-ic{width:30px;height:30px;margin-bottom:10px}.dashboard-stat-val{font-size:22px}.dashboard-stat-label{margin-top:4px;font-size:11.5px}.dashboard-stat-delta{display:none}.dashboard-courses-grid{grid-template-columns:1fr}}@media (width<=560px){.dashboard-hero{gap:14px;padding:16px}.dashboard-hero-h1{font-size:21px}.dashboard-hero-sub{margin-top:8px;font-size:12.5px;line-height:1.45}.dashboard-hero-cta{gap:8px;margin-top:14px}.dashboard-hero-credits{padding:12px 14px}.dashboard-stats-grid{margin-top:14px}}.dashboard-course-card{flex-direction:row;align-items:center;gap:12px;padding:12px}.dashboard-course-card .dashboard-activity-thumb{border-radius:12px;flex:none;width:80px;height:56px;overflow:hidden}.dashboard-course-body{flex:1;gap:6px;min-width:0;padding:0}.dashboard-course-title{white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;overflow:hidden}.dashboard-course-meta{margin-top:2px;font-size:11.5px}@media (width<=1100px){.dashboard-courses-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.dashboard-courses-grid{grid-template-columns:1fr}}.dashboard-course-body>.dashboard-activity-status,.dashboard-course-body>span:last-child{align-self:flex-start}.dashboard-course-card .dashboard-activity-thumb .thumb-tag{display:none}.dashboard-hero-credits{width:232px;padding:22px}.dashboard-hero-credits .font-display{font-family:var(--font-mono);font-weight:600;line-height:1;font-size:40px!important}.dashboard-activity-head{margin:34px 0 16px}@media (width>=901px) and (height<=940px){.page.dashboard-page{padding-top:20px}.dashboard-hero{padding:22px 32px}.dashboard-hero-h1{font-size:30px}.dashboard-hero-sub{margin-top:10px}.dashboard-hero-cta{margin-top:16px}.dashboard-hero-credits{padding:12px 22px}.dashboard-stats-grid{margin-top:16px}.dashboard-stat-card{grid-template-columns:auto 1fr;align-items:center;column-gap:14px;padding:16px 18px;display:grid}.dashboard-stat-ic{grid-row:1/span 2;margin-bottom:0}.dashboard-stat-delta:empty{display:none}.dashboard-activity-head{margin:22px 0 12px}}.courses-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--elev-rest);justify-content:space-between;align-items:center;gap:30px;margin-bottom:24px;padding:32px 34px;display:flex;position:relative;overflow:hidden}.courses-hero-content{z-index:1;max-width:560px;position:relative}.courses-hero-title{letter-spacing:-.02em;text-wrap:balance;margin-top:10px;font-size:32px;font-weight:600;line-height:1.15}.courses-hero-count{color:var(--accent-text);font-weight:700}[data-theme=dark] .courses-hero-count{color:var(--accent-text)}.courses-hero-sub{color:var(--text-muted);max-width:480px;margin-top:12px;font-size:14px;line-height:1.6}.courses-hero-art{flex-shrink:0;width:200px;height:150px;display:none;position:relative}@media (width>=920px){.courses-hero-art{display:block}}.courses-art-book{width:168px;height:78px;box-shadow:var(--shadow-md);border-radius:6px 6px 10px 10px;display:flex;position:absolute;bottom:14px;left:10px;overflow:hidden}.courses-art-page{background:var(--accent);flex:1;position:relative}.courses-art-page:before,.courses-art-page:after{content:"";background:#ffffff59;border-radius:2px;height:2px;position:absolute;left:14%;right:14%}.courses-art-page-left{border-radius:6px 0 0 10px}.courses-art-page-left:before{top:20px}.courses-art-page-left:after{top:32px;right:30%}.courses-art-page-right{background:var(--accent-2);border-radius:0 6px 10px 0}.courses-art-page-right:before{top:20px}.courses-art-page-right:after{top:32px;left:30%}.courses-art-spine{background:#0000002e;width:4px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.courses-art-cap{width:76px;height:56px;position:absolute;top:6px;right:18px;transform:rotate(-8deg)}.courses-art-cap-top{background:var(--text);clip-path:polygon(50% 0%,100% 38%,50% 76%,0% 38%);box-shadow:var(--shadow-sm);position:absolute;inset:0}[data-theme=dark] .courses-art-cap-top{background:var(--accent)}.courses-art-cap-button{background:var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}[data-theme=dark] .courses-art-cap-button{background:var(--text)}.courses-art-sparkle{color:var(--accent-text);opacity:.85;place-items:center;display:grid;position:absolute}.courses-art-sparkle-1{top:0;left:28px}.courses-art-sparkle-2{color:var(--accent-text);bottom:36px;right:86px}.courses-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.courses-search{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);min-width:240px;max-width:360px;color:var(--text-faint);flex:1;align-items:center;gap:8px;padding:8px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.courses-search svg{flex-shrink:0}.courses-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 16%, transparent)}.courses-search input{min-width:0;font-family:var(--font-body);color:var(--text);background:0 0;border:none;flex:1;font-size:13.5px}.courses-search input::placeholder{color:var(--text-faint)}.courses-search input:focus{outline:none}.courses-sort{margin-left:auto}.courses-chips{flex-wrap:wrap;flex-basis:100%;gap:6px;display:flex}.courses-chips-group{flex:none;align-items:center;gap:6px;display:inline-flex}.courses-chips-group:before{content:"";background:var(--text-faint);opacity:.6;border-radius:50%;width:4px;height:4px;margin:0 4px}.courses-chip{font-family:var(--font-body);cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);box-shadow:var(--elev-inset);border-radius:99px;align-items:center;gap:6px;padding:8px 13px;font-size:12.5px;font-weight:600;transition:all .14s;display:inline-flex}.courses-chip:hover{border-color:var(--accent);color:var(--accent-text)}.courses-chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 2px 6px color-mix(in oklch, var(--accent) 28%, transparent)}.courses-chip.on:hover{color:var(--accent-ink)}.courses-chip-n{font-family:var(--font-mono);text-align:center;background:color-mix(in oklch, var(--accent) 8%, transparent);min-width:24px;color:var(--text-muted);border-radius:99px;padding:1px 6px;font-size:10.5px;font-weight:600}.courses-chip.on .courses-chip-n{color:var(--accent-ink);background:#ffffff38}.courses-sort{color:var(--text-faint);align-items:center;gap:8px;display:flex}.courses-sort .select{width:auto;color:var(--text);border-radius:var(--radius-pill);border-color:var(--border);background-color:var(--surface);box-shadow:var(--elev-inset);padding:8px 32px 8px 12px;font-size:13.5px;font-weight:400}.courses-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.courses-card{text-align:left;font-family:var(--font-body);color:var(--text);background:var(--surface);border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--elev-rest);flex-direction:column;padding:0;transition:transform .24s cubic-bezier(.2,0,0,1),box-shadow .24s cubic-bezier(.2,0,0,1);display:flex;position:relative;overflow:hidden}.courses-card:hover{box-shadow:var(--elev-raised);transform:translateY(-2px)}.courses-card:active{box-shadow:var(--elev-rest);transform:translateY(0)}.courses-card-del{border-radius:var(--radius-xs);cursor:pointer;background:color-mix(in oklch, var(--surface) 86%, transparent);width:34px;height:34px;color:var(--text-muted);border:none;justify-content:center;align-items:center;display:inline-flex}.courses-card-del:hover{background:var(--surface);color:var(--st-bad)}.courses-card-lang{color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px}.courses-status{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:5px;padding:3px 9px;font-size:10.5px;font-weight:600;display:inline-flex}.courses-status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.courses-status-ok{background:var(--st-approved-bg);color:var(--st-approved)}.courses-status-busy{background:var(--accent-soft);color:var(--accent-text)}.courses-status-warn{background:var(--st-pending-bg);color:var(--st-pending)}.courses-status-bad{background:var(--st-bad-bg);color:var(--st-bad)}.courses-client-badge{color:var(--text-muted);align-items:center;gap:8px;padding:10px 14px 0;font-size:12px;font-weight:600;display:flex}.courses-client-mono{color:#fff;width:18px;height:18px;font-family:var(--font-display);border-radius:5px;flex-shrink:0;place-items:center;font-size:9.5px;font-weight:700;display:grid;box-shadow:inset 0 1px #fff3}.courses-card:hover .thumb-play{background:oklch(100% 0 0/.28);transform:translate(-50%,-50%)scale(1.08)}.courses-card-body{flex-direction:column;flex:1;padding:14px 16px 16px;display:flex}.courses-card-title{letter-spacing:-.01em;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:12px;font-size:15.5px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.courses-card-meta{color:var(--text-muted);flex-wrap:wrap;gap:14px;margin-top:auto;font-size:12px;display:flex}.courses-card-meta svg{color:var(--text-faint)}.courses-review{align-self:flex-start;margin-top:12px}.courses-card-foot{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:14px;padding-top:13px;display:flex}.courses-mini-bar{background:var(--surface-3);border-radius:99px;flex:1;height:5px;overflow:hidden}.courses-mini-bar span{background:var(--accent);border-radius:99px;height:100%;display:block}.courses-empty{text-align:center;color:var(--text-faint);padding:60px 20px}.courses-empty-ic{background:var(--surface-2);width:56px;height:56px;color:var(--text-faint);border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.courses-empty-t{color:var(--text-muted);font-size:15px;font-weight:700}.courses-empty-s{margin-top:5px;font-size:13px}.courses-empty-cta{margin-top:18px}.courses-add{border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-2);color:var(--text-muted);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:200px;padding:24px;display:flex}.courses-add:hover{border-color:var(--accent);color:var(--accent-text)}.courses-add-ic{background:var(--surface);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.courses-add-s{color:var(--text-faint);max-width:200px;font-size:12px}@media (width<=1080px){.courses-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.courses-hero{flex-direction:column;align-items:flex-start}.courses-grid{grid-template-columns:1fr}}@media (width<=560px){.courses-hero{margin-bottom:14px;padding:16px}.courses-hero-title{margin-top:6px;font-size:20px}.courses-hero-sub{margin-top:6px;font-size:12.5px;line-height:1.45}.courses-hero-art{display:none}.courses-toolbar{grid-template-columns:1fr auto;gap:8px;margin-bottom:14px;display:grid}.courses-search{min-width:0;max-width:none;padding:7px 12px}.courses-sort{grid-area:1/2;margin-left:0}.courses-sort .select{padding:7px 26px 7px 10px;font-size:12px}.courses-chips{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;grid-column:1/-1;padding-bottom:2px;overflow-x:auto}.courses-chips::-webkit-scrollbar{display:none}.courses-chip{flex-shrink:0;padding:6px 11px;font-size:12px}.courses-empty{padding:28px 12px}.courses-empty-ic{width:44px;height:44px;margin-bottom:12px}}.courses-card-body{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex}.courses-card-titlerow{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.courses-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15.5px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.courses-card-ref{color:var(--text-faint);letter-spacing:.04em;flex:none;font-size:10.5px}.courses-card-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:11.5px;display:flex}.courses-card-meta span{align-items:center;gap:5px;display:inline-flex}.courses-card-foot{margin-top:auto}.courses-grid>.reveal,.courses-card.mu-sk-card:hover,.courses-card.mu-sk-card:active{transform:none}.courses-grid>:first-child{--reveal-delay:0s}.courses-grid>:nth-child(2){--reveal-delay:60ms}.courses-grid>:nth-child(3){--reveal-delay:.12s}.courses-grid>:nth-child(4){--reveal-delay:.18s}.courses-grid>:nth-child(5){--reveal-delay:.22s}.courses-grid>:nth-child(n+6){--reveal-delay:.26s}.courses-card{background:var(--surface);box-shadow:none;padding:0}.courses-card:hover{background:var(--surface);box-shadow:none}.courses-card .courses-thumb{border-radius:14px;height:160px;overflow:hidden}.courses-card-body{gap:8px;padding:12px 14px 14px}.courses-card-title{font-size:14.5px;font-weight:600;line-height:1.35}.courses-card-desc{min-height:3.1em;color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.courses-card-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;display:flex}.courses-card-facts{color:var(--text-muted);white-space:nowrap;font-size:11.5px}.courses-card-date{color:var(--text-faint);letter-spacing:.02em;font-size:10.5px}.courses-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.courses-langs{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.courses-lang{border:1px solid var(--border-strong);background:var(--surface);min-height:28px;color:var(--text);font:inherit;letter-spacing:.04em;cursor:pointer;border-radius:999px;padding:2px 10px;font-size:11.5px;font-weight:700}.courses-lang:hover{border-color:var(--accent);color:var(--accent-text)}.courses-lang:focus-visible{outline:2px solid var(--accent-text,currentColor);outline-offset:2px}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}a,button,summary,label,select,input,textarea,[role=button],[role=tab],[role=menuitem]{touch-action:manipulation}@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]),textarea,select{font-size:16px!important}}@media (pointer:coarse) and (width<=900px){:is(.courses-search,.pl-search)>input,:is(.courses-sort,.pl-sort)>.select{--fit:calc(13.5 / 16);transform:scale(var(--fit));transform-origin:0;flex:none}:is(.courses-search,.pl-search)>input{--lead:23px;--h:17px;text-overflow:ellipsis;width:calc((100% - var(--lead)) / var(--fit));height:calc(var(--h) / var(--fit));margin-block:calc((var(--h) - var(--h) / var(--fit)) / 2);margin-inline-end:calc((100% - var(--lead)) - (100% - var(--lead)) / var(--fit))}:is(.courses-sort,.pl-sort)>.select{--w:148px;--h:34px;width:calc(var(--w) / var(--fit));height:calc(var(--h) / var(--fit));padding:0 calc(26px / var(--fit)) 0 calc(10px / var(--fit));border-width:calc(1px / var(--fit));margin-block:calc((var(--h) - var(--h) / var(--fit)) / 2);margin-inline-end:calc(var(--w) - var(--w) / var(--fit))}[dir=rtl] :is(.courses-search,.pl-search)>input,[dir=rtl] :is(.courses-sort,.pl-sort)>.select{transform-origin:100%}}.topbar{margin-top:calc(10px + env(safe-area-inset-top));margin-left:calc(10px + env(safe-area-inset-left));margin-right:calc(10px + env(safe-area-inset-right))}.auth-loading,.provisioning-screen{min-height:100dvh}@media (width>=901px){.sidebar{margin-left:calc(10px + env(safe-area-inset-left))}}@media (width<=900px){.sidebar{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left)}.tabbar{padding-left:calc(6px + env(safe-area-inset-left));padding-right:calc(6px + env(safe-area-inset-right))}.toast-viewport{left:12px;right:12px;bottom:calc(92px + env(safe-area-inset-bottom));max-width:none}.toast{min-width:0;max-width:none}}@media (display-mode:standalone){body:before{content:"";height:env(safe-area-inset-top);background:var(--brand-deep);z-index:300;pointer-events:none;position:fixed;top:0;left:0;right:0}}.pwa-stack{z-index:250;left:calc(12px + env(safe-area-inset-left));right:calc(12px + env(safe-area-inset-right));bottom:calc(92px + env(safe-area-inset-bottom));pointer-events:none;justify-content:center;display:flex;position:fixed}@media (width>=901px){.pwa-stack{justify-content:flex-end;bottom:24px;left:auto;right:24px}}.pwa-banner{pointer-events:auto;border-radius:var(--radius);background:var(--surface);width:100%;max-width:420px;color:var(--text);box-shadow:var(--elev-float);animation:m-pop var(--dur-3) var(--ease-pop) both;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:12px 14px;font-size:13px;line-height:1.45;display:flex}.pwa-banner-ic{border-radius:var(--radius-xs);background:var(--accent);width:30px;height:30px;color:var(--accent-ink);flex:none;place-items:center;display:grid}.pwa-banner-warn .pwa-banner-ic{background:var(--color-warning);color:var(--brand-deep)}.pwa-banner-ok .pwa-banner-ic{background:var(--st-approved);color:#fff}.pwa-banner-body{flex-direction:column;flex:160px;gap:2px;min-width:0;display:flex}.pwa-banner-body span{color:var(--text-muted)}.pwa-banner-actions{gap:6px;margin-left:auto;display:flex}.pwa-offline{z-index:400;padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));background:var(--bg);place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.pwa-offline-card{text-align:center;flex-direction:column;align-items:center;gap:14px;width:min(380px,100%);display:flex}.pwa-offline-ic{background:var(--accent-softer);width:56px;height:56px;color:var(--accent-text);border-radius:50%;place-items:center;margin-top:18px;display:grid}.pwa-offline-title{letter-spacing:-.01em;font-size:20px;font-weight:600}.pwa-offline-msg{color:var(--text-muted);font-size:14px;line-height:1.55}.pwa-offline-btn{justify-content:center;min-width:150px;margin-top:4px}.pwa-card{flex-direction:column;align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.pwa-card-title{font-size:15px;font-weight:600}.pwa-card-sub,.pwa-card-msg{color:var(--text-muted);font-size:13px;line-height:1.5}@media (prefers-reduced-motion:reduce){.pwa-banner{animation:none}}.pwa-settings-install{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.pwa-settings-install .pwa-card{box-shadow:none;background:0 0;padding:0}.sk{border-radius:var(--radius);background:var(--surface);display:block;position:relative;overflow:hidden}.sk:after{content:"";background:linear-gradient(100deg, transparent 20%, var(--surface-2) 50%, transparent 80%);animation:1.6s ease-in-out infinite sk-sweep;position:absolute;inset:0;transform:translate(-100%)}@keyframes sk-sweep{to{transform:translate(100%)}}.sk-hero{height:233px;margin-bottom:28px}.sk-row{height:76px;margin-bottom:10px}.sk-card{height:394px}.sk-title{border-radius:var(--radius-xs);width:180px;height:22px;margin:4px 0 14px}@media (width<=560px){.sk-hero{height:414px}.sk-row{height:129px}}@media (prefers-reduced-motion:reduce){.sk:after{opacity:0;animation:none}}:where(a,button,summary,[role=button],[role=tab],[role=menuitem],[tabindex="0"]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}:where(.hrow,.courses-card,.nav-item,.tabbar-item,.mc-card):active{transform:scale(.985)}:where(.hrow,.courses-card,.nav-item,.tabbar-item,.mc-card){transition:transform var(--dur-1) var(--ease-out)}.pwa-steps-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.pwa-steps-list{gap:8px;margin:4px 0 0;padding:0;list-style:none;display:grid}.pwa-steps-list li{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);align-items:center;gap:12px;padding:12px;font-size:14px;display:flex}.pwa-steps-n{width:22px;color:var(--text-faint);text-align:center;font-size:12px}.pwa-steps-ic{background:var(--accent-soft);width:36px;height:36px;color:var(--accent-text);border-radius:10px;flex:none;place-items:center;display:grid}.pwa-stack.is-leaving .pwa-banner{animation:m-rise-out var(--dur-exit) var(--ease-in) both}
