@font-face{font-family:MG Display;src:url(/assets/mg_display_light-BksR8TiX.otf)format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:MG Display;src:url(/assets/mg_display_regular-gaetUFao.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:MG Display;src:url(/assets/mg_display_medium-w2vmveaB.otf)format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:MG Display;src:url(/assets/mg_display_bold-Btuuhqc5.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Roboto Local;src:url(/assets/roboto_light-CM3_SV62.ttf)format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Roboto Local;src:url(/assets/roboto_normal-CC3xt67l.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Roboto Local;src:url(/assets/roboto_bold-DGeqzAzR.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"MG Display", "Segoe UI", sans-serif;--font-body:"Roboto Local", "Segoe UI", sans-serif;--font-mono:"Roboto Local", "Segoe UI", monospace;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--background:#f6f6f3;--surface:#ffffffd1;--surface-solid:#fff;--surface-elevated:#fcfcfa;--surface-inverse:#111;--surface-soft:#f1f1eb;--surface-muted:#11111108;--surface-muted-strong:#1111110f;--border:#1111111a;--border-strong:#1111112e;--border-soft:#1111110f;--text-primary:#121212;--text-secondary:#565656;--text-muted:#757575;--text-inverse:#fff;--accent-dark:#111;--accent-success:#1d7e55;--accent-warn:#a06107;--accent-danger:#a33b3b;--notice-info:#eef3ff;--notice-success:#eef8f2;--notice-error:#fff0ef;--focus-ring-color:#11111124;--type-display-xl-size:clamp(34px, 4vw, 52px);--type-display-xl-line:.98;--type-display-xl-tracking:-.05em;--type-title-lg-size:clamp(28px, 3vw, 42px);--type-title-lg-line:1.02;--type-title-lg-tracking:-.05em;--type-title-md-size:30px;--type-title-md-line:1;--type-title-md-tracking:-.04em;--type-title-sm-size:21px;--type-title-sm-line:1.12;--type-title-sm-tracking:-.02em;--type-body-lg-size:17px;--type-body-lg-line:1.6;--type-body-md-size:15px;--type-body-md-line:1.55;--type-body-sm-size:14px;--type-body-sm-line:1.45;--type-label-size:12px;--type-label-line:1.2;--type-label-tracking:.1em;--type-meta-size:13px;--type-meta-line:1.4;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-9:40px;--space-10:48px;--space-11:56px;--space-12:64px;--radius-pill:999px;--shadow-soft:0 18px 40px #11111112;--shadow-card:0 14px 32px #1111110f;--shadow-panel:0 20px 60px #1111110f;--radius-xl:32px;--radius-lg:24px;--radius-md:18px;--radius-sm:14px;--radius-xs:10px}.type-display-xl{font-family:var(--font-display);font-size:var(--type-display-xl-size);font-weight:var(--weight-medium);line-height:var(--type-display-xl-line);letter-spacing:var(--type-display-xl-tracking)}.type-title-lg{font-family:var(--font-display);font-size:var(--type-title-lg-size);font-weight:var(--weight-medium);line-height:var(--type-title-lg-line);letter-spacing:var(--type-title-lg-tracking)}.type-title-md{font-family:var(--font-display);font-size:var(--type-title-md-size);font-weight:var(--weight-medium);line-height:var(--type-title-md-line);letter-spacing:var(--type-title-md-tracking)}.type-title-sm{font-family:var(--font-display);font-size:var(--type-title-sm-size);font-weight:var(--weight-semibold);line-height:var(--type-title-sm-line);letter-spacing:var(--type-title-sm-tracking)}.type-body-lg{font-family:var(--font-body);font-size:var(--type-body-lg-size);font-weight:var(--weight-regular);line-height:var(--type-body-lg-line)}.type-body-md{font-family:var(--font-body);font-size:var(--type-body-md-size);font-weight:var(--weight-regular);line-height:var(--type-body-md-line)}.type-body-sm{font-family:var(--font-body);font-size:var(--type-body-sm-size);font-weight:var(--weight-regular);line-height:var(--type-body-sm-line)}.type-label{font-family:var(--font-body);font-size:var(--type-label-size);font-weight:var(--weight-bold);line-height:var(--type-label-line);letter-spacing:var(--type-label-tracking);text-transform:uppercase}.type-meta{font-family:var(--font-body);font-size:var(--type-meta-size);font-weight:var(--weight-regular);line-height:var(--type-meta-line);color:var(--text-secondary)}.type-mono{font-family:var(--font-mono);font-size:var(--type-meta-size);font-weight:var(--weight-regular);line-height:var(--type-meta-line);letter-spacing:.01em}*,:before,:after{box-sizing:border-box}html{background:radial-gradient(circle at top left, #11111114, transparent 22%), radial-gradient(circle at bottom right, #1111110d, transparent 26%), var(--background);min-height:100%}body{min-height:100vh;font-family:var(--font-body);color:var(--text-primary);background:0 0;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}img,video{max-width:100%;display:block}a{color:inherit}#app{min-height:100vh}.standalone-shell{min-height:100vh;padding:28px}.auth-layout{grid-template-columns:minmax(280px,1.05fr) minmax(320px,1fr);align-items:start;gap:24px;display:grid}.auth-hero,.auth-stack{min-width:0}.auth-hero{border:1px solid var(--border);border-radius:var(--radius-xl);background:linear-gradient(145deg, #fffffff0, #f8f8f4e0), var(--surface);box-shadow:var(--shadow-soft);padding:42px;position:sticky;top:28px}.auth-hero h1{font-family:var(--font-display);letter-spacing:-.045em;margin:18px 0 14px;font-size:clamp(36px,5vw,60px);font-weight:500;line-height:.96}.auth-hero p{max-width:560px;color:var(--text-secondary);font-size:17px;line-height:1.6}.auth-stack{gap:20px;display:grid}.app-shell{grid-template-columns:276px minmax(0,1fr);gap:14px;min-height:100vh;padding:12px;display:grid}.app-shell.is-collapsed{grid-template-columns:92px minmax(0,1fr)}button.mobile-sidebar-toggle{display:none}.sidebar{background:linear-gradient(#fffffffa,#f5f5f2f0),#fff;border:1px solid #11111114;border-radius:28px;flex-direction:column;align-self:start;gap:18px;height:auto;min-height:calc(100vh - 24px);padding:18px 14px 14px;display:flex;position:sticky;top:12px;box-shadow:0 20px 60px #1111110f}.sidebar__brand,.sidebar__user{align-items:center;gap:14px;display:flex}.sidebar__brand{min-height:52px}.sidebar__brand-mark,.sidebar__avatar{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sidebar__brand-mark{color:#fff;background:#111;border-radius:16px;width:44px;height:44px}.sidebar__brand-mark svg,.sidebar__avatar svg{fill:currentColor;width:18px;height:18px}.sidebar__brand-copy,.sidebar__user-copy{gap:2px;min-width:0;display:grid}.sidebar__brand-copy strong,.sidebar__user-copy strong{font-weight:600}.sidebar__caption,.sidebar__user-copy span,.sidebar__section-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.sidebar__toggle{margin-left:auto}.sidebar__avatar{width:44px;height:44px;color:var(--text-primary);background:#1111110f;border-radius:16px;font-weight:700}.sidebar__user--action{width:100%;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:18px;padding:13px 14px;transition:background-color .15s,border-color .15s,color .15s,transform .15s}.sidebar__user--action:hover{transform:translateY(-1px)}.sidebar__user--action.is-active{color:#fff;background:#111;border-color:#111}.sidebar__user--action.is-active .sidebar__avatar{color:#fff;background:#ffffff24}.sidebar__user--action.is-active .sidebar__user-copy span{color:#ffffffb3}.sidebar__section-label{padding:0 10px}.sidebar__nav{gap:6px;display:grid}.sidebar__footer{gap:8px;margin-top:auto;display:grid}.app-main{align-content:start;gap:16px;min-width:0;display:grid}.app-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd1;border:1px solid #11111114;border-radius:28px;justify-content:space-between;gap:18px;padding:24px 28px;display:flex}.app-header__meta{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:10px;display:flex}.app-header__date{color:var(--text-secondary);align-self:center;font-size:14px}.page-shell{gap:18px;display:grid}@media (width<=1100px){.auth-layout{grid-template-columns:1fr}.auth-hero{position:static}.app-shell,.app-shell.is-collapsed{grid-template-columns:1fr}.sidebar{z-index:20;width:min(320px,100vw - 24px);height:calc(100vh - 24px);transition:transform .25s;position:fixed;inset:12px auto 12px 12px}.app-shell.is-collapsed .sidebar{transform:translate(-110%)}button.mobile-sidebar-toggle{z-index:19;background:#fffffff5;display:inline-flex;position:fixed;top:24px;left:24px;box-shadow:0 16px 40px #1111111f}.app-shell:not(.is-collapsed)>.mobile-sidebar-toggle{display:none}.app-main{padding-top:76px}}@media (width<=720px){.standalone-shell,.app-shell{padding:12px}.auth-hero,.app-header,.sidebar{padding:18px}.app-header{flex-direction:column}}.page-caption,.type-label{align-items:center;gap:var(--space-2);font-size:var(--type-label-size);font-weight:var(--weight-bold);letter-spacing:var(--type-label-tracking);text-transform:uppercase;color:var(--text-muted);display:inline-flex}.page-title{font-family:var(--font-display);font-size:var(--type-display-xl-size);line-height:var(--type-display-xl-line);letter-spacing:var(--type-display-xl-tracking);margin:10px 0 6px}.page-description{max-width:720px;color:var(--text-secondary);font-size:var(--type-body-lg-size);line-height:var(--type-body-lg-line);margin:0}.surface-card,.panel-card,.table-card,.hero-card{border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);background:#ffffffe0;padding:24px}.surface-card__header,.panel-card__header,.table-card__header{gap:8px;margin-bottom:20px;display:grid}.surface-card__header h2,.panel-card__header h2,.table-card__header h2,.surface-card h2,.hero-card h2{font-family:var(--font-display);font-size:var(--type-title-md-size);line-height:var(--type-title-md-line);letter-spacing:var(--type-title-md-tracking);margin:0}.surface-card__header p,.panel-card__header p,.table-card__header p,.hero-card p,.panel-card__meta,.surface-card p{color:var(--text-secondary);font-size:var(--type-body-md-size);line-height:var(--type-body-md-line);margin:0}.surface-card--hero,.hero-card{justify-content:space-between;align-items:center;gap:20px;display:flex}.hero-card__visual{width:min(240px,36%);min-width:160px}.surface-card--full,.panel-card--full{grid-column:1/-1}.metrics-grid,.widgets-grid,.cards-grid,.courses-grid,.settings-grid{gap:18px;display:grid}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.widgets-grid,.cards-grid,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.courses-grid{grid-template-columns:1fr}.metric-card,.widget-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-elevated);padding:20px}.metric-card__label,.widget-card__eyebrow{font-size:var(--type-label-size);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.metric-card__value{font-family:var(--font-display);letter-spacing:-.05em;margin-top:14px;font-size:42px;line-height:.95;display:block}.metric-card__meta{color:var(--text-secondary);margin-top:10px;line-height:1.5;display:block}.widget-card__title{margin:10px 0 12px;font-size:21px}.widget-card__body{color:var(--text-secondary)}.widget-card__footer{margin-top:14px}.badge{padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--border);font-size:var(--type-label-size);font-weight:var(--weight-bold);letter-spacing:.04em;justify-content:center;align-items:center;display:inline-flex}.badge--dark{background:var(--surface-inverse);border-color:var(--surface-inverse);color:var(--text-inverse)}.badge--success{color:var(--accent-success);background:#1d7e551a}.badge--warn{color:var(--accent-warn);background:#a061071c}.badge--muted{color:var(--text-secondary);background:#1111110d}.notice{border:1px solid var(--border);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;display:flex}.notice--success{background:var(--notice-success)}.notice--error{background:var(--notice-error)}.notice--info{background:var(--notice-info)}.notice__body{align-items:center;gap:12px;display:flex}.notice__body span:last-child{white-space:pre-line;overflow-wrap:anywhere}.notice__icon,.icon-button,.nav-item__icon{justify-content:center;align-items:center;display:inline-flex}.notice__icon svg,.icon-button svg,.nav-item__icon svg{fill:currentColor;width:18px;height:18px}.icon-button{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-solid);width:40px;height:40px;color:var(--text-primary);transition:background-color .15s,border-color .15s,transform .15s}.icon-button--ghost{background:0 0}.icon-button:hover,.nav-item:hover,.button:hover{transform:translateY(-1px)}.nav-item{width:100%;color:var(--text-secondary);text-align:left;background:0 0;border:1px solid #0000;border-radius:18px;align-items:center;gap:12px;padding:13px 14px;transition:background-color .15s,border-color .15s,color .15s,transform .15s;display:flex}.nav-item.is-active{color:#fff;background:#111;border-color:#111}.nav-item__label{white-space:normal;min-width:0;line-height:1.25}.app-shell.is-collapsed .sidebar__brand-copy,.app-shell.is-collapsed .sidebar__brand-mark,.app-shell.is-collapsed .sidebar__user-copy,.app-shell.is-collapsed .sidebar__section-label,.app-shell.is-collapsed .nav-item__label{display:none}.app-shell.is-collapsed .nav-item,.app-shell.is-collapsed .sidebar__brand,.app-shell.is-collapsed .sidebar__user{justify-content:center}.app-shell.is-collapsed .sidebar__toggle{margin-left:0}.button{border-radius:var(--radius-md);font-size:var(--type-body-md-size);font-weight:var(--weight-semibold);border:1px solid #0000;padding:13px 18px;transition:transform .15s,background-color .15s}.button--primary{background:var(--surface-inverse);color:var(--text-inverse)}.button--secondary{border-color:var(--border-strong);color:var(--text-primary);background:0 0}.button--ghost{color:var(--text-primary);background:#1111110a}.button--danger{color:var(--accent-danger);background:#a33b3b1a}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field{gap:var(--space-2);display:grid}.field[hidden],[hidden]{display:none!important}.field span,.field__label{font-size:var(--type-body-sm-size);font-weight:var(--weight-semibold)}.field--full{grid-column:1/-1}.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--surface-solid);width:100%;color:var(--text-primary);font-family:var(--font-body);font-size:var(--type-body-md-size);line-height:var(--type-body-md-line);border-radius:16px;padding:14px 16px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--border-strong);box-shadow:0 0 0 3px var(--focus-ring-color);outline:none}.field textarea{resize:vertical}.field--pill{border-radius:var(--radius-pill);background:#ffffffeb;border:1px solid #1111111f;padding:18px 26px 20px}.field--pill:focus-within{border-color:var(--border-strong);box-shadow:0 0 0 3px var(--focus-ring-color)}.field--pill .field__label{font-size:var(--type-label-size);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.field__value{font-size:16px;line-height:1.35}.field--pill input,.field--pill select{color:var(--text-primary);font:inherit;box-shadow:none;background:0 0;border:0;padding:0;font-size:16px;line-height:1.35}.field--pill input:focus,.field--pill select:focus{box-shadow:none;outline:none}.field--checkbox{align-items:center;gap:12px;display:flex}.field--checkbox input{width:18px;height:18px}.progress{align-items:center;gap:12px;display:flex}.progress__track{background:#11111112;border-radius:999px;flex:1;height:12px;overflow:hidden}.progress__fill{border-radius:inherit;background:linear-gradient(90deg,#111,#4c4c4c);height:100%;display:block}.progress__value{min-width:44px;font-weight:600}.mini-bars{grid-template-columns:repeat(6,1fr);align-items:end;gap:10px;height:160px;display:grid}.mini-bars__item{background:linear-gradient(#111,#5a5a5a);border-radius:999px 999px 12px 12px}.plain-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.plain-list li{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.stack-gap{gap:14px;display:grid}.split-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.split-row--soft{color:var(--text-secondary);font-size:14px}.placeholder-stack{gap:12px;display:grid}.placeholder-tile{border:1px dashed var(--border-strong);color:var(--text-secondary);background:#11111108;border-radius:16px;padding:14px 16px;display:block}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:14px 12px}td small{color:var(--text-secondary);overflow-wrap:anywhere;margin-top:4px;display:block}td select,.table-input{border:1px solid var(--border);background:var(--surface-solid);width:100%;min-width:132px;color:var(--text-primary);font:inherit;border-radius:12px;padding:10px 12px}thead th{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:12px}.table-actions{flex-wrap:wrap;gap:8px;display:flex}.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius-xl);text-align:center;background:#ffffff8f;padding:34px}.empty-state__icon{color:var(--text-muted);margin-bottom:14px;display:inline-flex}.empty-state__icon svg{fill:currentColor;width:28px;height:28px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.detail-grid__label{color:var(--text-muted);margin-bottom:6px;font-size:13px;display:block}.list-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:start;gap:16px;padding:14px 0;display:flex}.list-row:last-child{border-bottom:0}.inline-form{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:12px;display:grid}.inline-form__select{min-width:min(360px,100%)}.class-subject-manager{border-bottom:1px solid var(--border);grid-template-columns:minmax(140px,.7fr) minmax(220px,1fr) minmax(260px,.9fr);align-items:start;gap:14px;padding:14px 0;display:grid}.class-subject-manager:last-child{border-bottom:0}.class-subject-manager__summary{gap:4px;display:grid}.class-subject-manager__summary small,.class-subject-manager__empty{color:var(--text-secondary);font-size:13px}.class-subject-manager__subjects{flex-wrap:wrap;align-items:center;gap:8px;min-height:42px;display:flex}.class-subject-chip{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;align-items:center;gap:8px;max-width:100%;padding:6px 8px 6px 10px;display:inline-flex}.class-subject-chip span{overflow-wrap:anywhere;min-width:0}.class-subject-chip__remove{color:var(--accent-danger);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;font-size:12px}.class-subject-chip__remove:hover{background:#b91c1c14}.class-subject-manager__add{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.subject-presets{border-top:1px solid var(--border);gap:12px;margin-top:16px;padding-top:16px;display:grid}.subject-presets__header{justify-content:space-between;align-items:end;gap:12px;display:flex}.subject-presets__header small,.subject-presets__empty{color:var(--text-secondary);font-size:13px}.subject-preset-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.subject-preset{border:1px solid var(--border);background:var(--surface-solid);min-height:44px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.subject-preset:hover{border-color:var(--border-strong);background:var(--surface-muted)}.subject-preset small{color:var(--text-secondary);white-space:nowrap}.subject-preset span{overflow-wrap:anywhere;min-width:0}.subject-catalog-list{gap:10px;margin-top:18px;display:grid}.subject-catalog-row{border:1px solid var(--border);border-radius:var(--radius-md);background:#11111106;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:12px;display:grid}.subject-catalog-row__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.switch-row{border:1px solid var(--border);border-radius:var(--radius-lg);background:#11111105;justify-content:space-between;gap:18px;padding:16px 18px;display:flex}.switch-row small{color:var(--text-secondary);margin-top:4px;display:block}.switch-row input{width:20px;height:20px}.button:focus-visible,.icon-button:focus-visible,.nav-item:focus-visible,.sidebar__user:focus-visible{box-shadow:0 0 0 3px var(--focus-ring-color);outline:none}@media (width<=960px){.metrics-grid,.widgets-grid,.cards-grid,.settings-grid,.detail-grid,.form-grid,.inline-form,.class-subject-manager,.class-subject-manager__add,.subject-catalog-row{grid-template-columns:1fr}.subject-catalog-row__actions{align-items:stretch}.subject-catalog-row__actions .button{flex:140px}.subject-presets__header{flex-direction:column;align-items:start}.hero-card{flex-direction:column;align-items:stretch}.hero-card__visual{width:100%}}.design-system-layout{gap:var(--space-6);display:grid}.design-system-block{gap:var(--space-4);display:grid}.design-system-block__header{gap:var(--space-2);display:grid}.design-system-block__header h3{margin:0}.design-system-block__header p{color:var(--text-secondary);margin:0}.design-system-typography{gap:var(--space-4);display:grid}.design-system-type-card{gap:var(--space-2);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-solid);box-shadow:var(--shadow-card);display:grid}.design-system-type-card__meta{justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.design-system-type-card__sample{color:var(--text-primary);margin:0}.design-system-token-groups{gap:var(--space-5);display:grid}.design-system-token-group,.design-system-token-grid,.design-system-scale-grid,.design-system-shadow-grid{gap:var(--space-3);display:grid}.design-system-token-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.design-system-scale-grid,.design-system-shadow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.design-system-token-card,.design-system-shadow-card,.design-system-component-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-solid);display:grid}.design-system-token-card__swatch{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-soft);width:100%;height:72px}.design-system-token-card__meta,.design-system-scale-card__meta,.design-system-shadow-card__meta{gap:var(--space-1);display:grid}.design-system-token-card code,.design-system-scale-card code,.design-system-shadow-card code{font-family:var(--font-mono);font-size:var(--type-meta-size)}.design-system-scale-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:#ffffffbd;display:grid}.design-system-scale-card__preview{background:var(--surface-inverse);border-radius:var(--radius-pill);height:14px}.design-system-radius-preview{border:1px solid var(--border);background:var(--surface-soft);width:64px;height:64px}.design-system-shadow-card__surface{border-radius:var(--radius-lg);background:var(--surface-solid);min-height:88px}.design-system-component-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.design-system-component-stack,.design-system-component-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.design-system-component-stack{flex-direction:column}.design-system-field-demo{min-width:220px}.design-system-card-demo{gap:var(--space-2)}.design-system-card-demo strong,.design-system-component-card h4,.design-system-component-card p{margin:0}@media (width<=960px){.design-system-token-grid,.design-system-scale-grid,.design-system-shadow-grid,.design-system-component-grid{grid-template-columns:1fr}}.auth-card .surface-card__header h2{font-size:26px}.standalone-shell--public-home{background:var(--background);min-height:100vh;color:var(--text-primary);padding:0}.standalone-shell--auth-embed{background:#fff;min-height:100vh;padding:0}.auth-back-link{z-index:5;color:#111827;background:#ffffffeb;border:1px solid #11182724;border-radius:999px;min-height:42px;padding:0 16px;font-weight:700;transition:transform .18s,background-color .18s;position:fixed;top:18px;left:18px;box-shadow:0 14px 34px #1118271f}.auth-back-link:hover{background:#fff;transform:translateY(-1px)}.legacy-auth-frame{background:#fff;border:0;width:100%;height:100vh;display:block}.public-home{background:linear-gradient(180deg, var(--background) 0%, var(--surface-soft) 52%, var(--background) 100%);min-height:100vh}.public-home,.public-home *{box-sizing:border-box}.public-home button{letter-spacing:0}.public-home-hero{isolation:isolate;background-image:radial-gradient(circle at 70% 54%, #ffffff70 0 15%, #fff0 36%), linear-gradient(90deg, #f6f6f3eb 0%, #f6f6f3ad 44%, #f6f6f329 100%), linear-gradient(180deg, #f6f6f30f, #f6f6f3b8), var(--home-hero-image);background-position:50% 52%;background-size:cover;align-items:center;height:auto;min-height:min(760px,92vh);padding:24px;display:grid;position:relative;overflow:hidden}.public-home-hero:after{content:"";z-index:-1;background:linear-gradient(180deg, transparent, var(--background));height:28%;position:absolute;inset:auto 0 0}.public-home-nav{z-index:2;grid-template-columns:minmax(220px,1fr) auto minmax(180px,1fr);align-items:center;gap:18px;min-height:64px;display:grid;position:absolute;top:18px;left:24px;right:24px}.public-home-brand,.public-home-nav__login,.public-home-nav__link{color:var(--text-primary);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(26px)saturate(1.28);backdrop-filter:blur(26px)saturate(1.28);background:#ffffff80;border:1px solid #ffffffb8}.public-home-brand{text-align:left;border-radius:999px;justify-self:start;align-items:center;gap:12px;min-height:58px;padding:8px 14px 8px 8px;display:inline-flex}.public-home-brand img{object-fit:contain;background:var(--surface-solid);border-radius:50%;width:42px;height:42px}.public-home-brand span{gap:2px;display:grid}.public-home-brand strong,.public-home-brand small{letter-spacing:0}.public-home-brand strong{font-size:16px}.public-home-brand small{color:var(--text-muted);font-size:12px}.public-home-nav__links{box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(26px)saturate(1.24);backdrop-filter:blur(26px)saturate(1.24);background:#ffffff6b;border:1px solid #ffffff9e;border-radius:999px;justify-content:center;gap:8px;padding:6px;display:inline-flex}.public-home-nav__link{border-radius:999px;min-height:40px;padding:0 14px;font-size:14px}.public-home-nav__link:hover,.public-home-nav__login:hover,.public-home-brand:hover{background:#ffffffbd;transform:translateY(-1px)}.public-home-nav__actions{justify-self:end;align-items:center;gap:8px;display:inline-flex}.public-home-nav__login{border-radius:999px;align-items:center;gap:9px;min-height:46px;padding:0 16px;font-weight:700;display:inline-flex}.public-home-nav__login svg,.public-home-feature-list svg{width:16px;height:16px}.public-home-hero__content{z-index:1;width:min(780px,100%);min-width:0;max-width:100%;color:var(--text-primary);padding:134px 0 142px;position:relative}.public-home-hero__content[data-home-reveal]{opacity:1;animation:none;transform:none}.public-home-kicker{border:1px solid var(--border);background:var(--surface);min-height:30px;color:inherit;letter-spacing:0;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.public-home-section .public-home-kicker{border-color:var(--border);background:var(--surface-muted);color:var(--text-muted)}.public-home-hero h1,.public-home-section h2{font-family:var(--font-display);letter-spacing:0;overflow-wrap:anywhere;margin:18px 0 0;font-weight:500}.public-home-hero h1{overflow-wrap:anywhere;max-width:740px;font-size:68px;line-height:.96}.public-home-hero p{max-width:680px;color:var(--text-secondary);overflow-wrap:anywhere;margin:20px 0 0;font-size:19px;line-height:1.62}.public-home-hero__device{border-radius:var(--radius-xl);width:min(360px,100% - 48px);min-height:310px;color:var(--text-primary);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(30px)saturate(1.28);backdrop-filter:blur(30px)saturate(1.28);background:#ffffff94;border:1px solid #ffffffc7;gap:14px;padding:18px;animation:5.5s ease-in-out infinite publicHomeFloat;display:grid;position:absolute;bottom:46px;right:max(24px,50vw - 590px)}.public-home-hero__device-bar{gap:6px;display:inline-flex}.public-home-hero__device-bar span{background:var(--border-strong);border-radius:50%;width:9px;height:9px}.public-home-hero__device-header{gap:4px;padding:10px 0 2px;display:grid}.public-home-hero__device-header span{color:var(--text-muted);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:700}.public-home-hero__device-header strong{letter-spacing:0;font-size:40px;line-height:1}.public-home-hero__device-list{gap:10px;padding:8px 0;display:grid}.public-home-hero__device-list span{width:var(--home-device-line);background:linear-gradient(90deg,#1d7e551f,#11111114);border-radius:999px;height:12px}.public-home-hero__device-row{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface);align-items:center;gap:12px;min-height:54px;padding:12px;display:flex}.public-home-hero__device-row--muted{background:var(--surface-soft)}.public-home-hero__device-row span{background:var(--surface-inverse);width:34px;height:34px;color:var(--text-inverse);border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.public-home-hero__device-row svg{width:16px;height:16px}.public-home-hero__device-row strong{letter-spacing:0;font-size:15px}.public-home-section,.public-home-footer{width:min(1180px,100% - 48px);margin:24px auto 0}.public-home-section{gap:22px;padding:30px 0;display:grid}.public-home-section--intro{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}.public-home-section--education{grid-template-columns:.92fr 1.08fr;align-items:center}.public-home-section--portal{border:1px solid var(--border);border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--surface-inverse) 0%, #1d7e55eb 100%);color:var(--text-inverse);grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:center;padding:36px;overflow:hidden}.public-home-section__copy h2,.public-home-portal__copy h2{max-width:720px;color:var(--text-primary);font-size:42px;line-height:1.04}.public-home-section__copy,.public-home-portal__copy{min-width:0;max-width:100%}.public-home-portal__copy h2,.public-home-section--portal .public-home-kicker{color:var(--text-inverse)}.public-home-section__copy p,.public-home-portal__copy p{max-width:680px;color:var(--text-secondary);overflow-wrap:anywhere;margin:16px 0 0;font-size:17px;line-height:1.64}.public-home-portal__copy p{color:#ffffffc2}.public-home-facts,.public-home-card-grid{gap:14px;display:grid}.public-home-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.public-home-card-grid{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.public-home-fact,.public-home-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);min-width:0;box-shadow:var(--shadow-soft)}.public-home-fact{min-height:190px;padding:22px}.public-home-fact strong{color:var(--accent-success);font-family:var(--font-display);letter-spacing:0;font-size:44px;line-height:1;display:block}.public-home-fact span,.public-home-card__number{color:var(--text-muted);letter-spacing:0;text-transform:uppercase;margin-top:10px;font-size:12px;font-weight:700;display:inline-flex}.public-home-fact p,.public-home-card p{color:var(--text-secondary);margin:16px 0 0;font-size:15px;line-height:1.56}.public-home-media{border-radius:var(--radius-xl);min-height:420px;box-shadow:var(--shadow-panel);overflow:hidden}.public-home-media--illustration{border:1px solid var(--border);background:linear-gradient(145deg, #fffffff0, #f8f8f4e0), var(--surface);place-items:center;padding:34px;display:grid}.public-home-media--illustration svg{width:min(100%,520px);height:auto}.public-home-media--illustration path{fill:none;stroke-linecap:round;stroke-linejoin:round}.public-home-illustration__board{fill:var(--surface-muted);stroke:var(--surface-inverse);stroke-width:8px}.public-home-illustration__sun{fill:#a061071c;stroke:var(--accent-warn);stroke-width:7px}.public-home-illustration__book{fill:var(--surface-solid);stroke:var(--text-secondary);stroke-width:7px}.public-home-illustration__leaf{fill:#1d7e551a;stroke:var(--accent-success);stroke-width:7px}.public-home-illustration__line{stroke:var(--text-secondary);stroke-width:6px}.public-home-media img{object-fit:cover;width:100%;height:100%;min-height:420px;transform:scale(1.02)}.public-home-sketches{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.public-home-sketch-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:linear-gradient(145deg, #ffffffeb, #f8f8f4e0), var(--surface);min-height:150px;box-shadow:var(--shadow-card);place-items:center;display:grid}.public-home-sketch-card svg{fill:none;width:min(122px,70%);height:auto;stroke:var(--surface-inverse);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.public-home-sketch-card:nth-child(2) svg{stroke:var(--accent-success)}.public-home-sketch-card:nth-child(3) svg{stroke:var(--text-secondary)}.public-home-card{min-height:220px;padding:22px;transition:transform .22s,box-shadow .22s}.public-home-card:hover{box-shadow:var(--shadow-panel);transform:translateY(-4px)}.public-home-card h3{color:var(--text-primary);letter-spacing:0;margin:18px 0 0;font-size:24px;line-height:1.14}.public-home-feature-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.public-home-feature-list li{border-radius:var(--radius-xl);background:#ffffff1a;border:1px solid #ffffff2e;gap:12px;min-height:92px;padding:18px;display:flex}.public-home-feature-list span{border-radius:var(--radius-md);background:var(--surface-solid);width:34px;height:34px;color:var(--surface-inverse);flex:none;justify-content:center;align-items:center;display:inline-flex}.public-home-feature-list strong{letter-spacing:0;align-self:center;font-size:16px;line-height:1.35}.public-home-footer{border-radius:var(--radius-xl);background:var(--surface-inverse);color:var(--text-inverse);grid-template-columns:minmax(240px,.9fr) minmax(280px,1.3fr) auto;align-items:center;gap:24px;margin-bottom:24px;padding:24px;display:grid}.public-home-footer__brand{align-items:center;gap:14px;min-width:0;display:flex}.public-home-footer__brand img{object-fit:contain;background:var(--surface-solid);border-radius:50%;flex:none;width:52px;height:52px}.public-home-footer__brand div,.public-home-footer__contacts{gap:5px;display:grid}.public-home-footer__brand strong{font-size:17px;line-height:1.25}.public-home-footer__brand span,.public-home-footer__contacts,.public-home-footer__meta{color:#ffffffb8;font-size:14px;line-height:1.5}.public-home-footer__contacts{margin:0;font-style:normal}.public-home-footer__contacts a{color:var(--text-inverse);text-decoration:none}.public-home-footer__contacts a:hover{text-decoration:underline}.public-home-footer__meta{justify-self:end}[data-home-reveal]{opacity:1;animation:.58s both publicHomeReveal;animation-delay:calc(var(--home-card-index,0) * 60ms);transform:none}[data-home-reveal].is-visible{opacity:1;transform:translateY(0)}@keyframes publicHomeReveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes publicHomeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.public-home *,[data-home-reveal],.public-home-hero__device{transition:none!important;animation:none!important}[data-home-reveal]{opacity:1;transform:none}}@media (width<=1040px){.public-home-nav{grid-template-columns:1fr auto}.public-home-nav__links{display:none}.public-home-hero h1{max-width:680px;font-size:46px}.public-home-hero__device{width:min(360px,100%);margin:0 0 24px;position:static}.public-home-section--intro,.public-home-section--education,.public-home-footer,.public-home-section--portal{grid-template-columns:1fr}.public-home-facts,.public-home-card-grid,.public-home-feature-list,.public-home-sketches{grid-template-columns:repeat(2,minmax(0,1fr))}.public-home-footer__meta{justify-self:start}}@media (width<=720px){.auth-back-link{min-height:38px;padding:0 12px;font-size:13px;top:12px;left:12px}.public-home-hero{height:auto;min-height:min(640px,92vh);padding:16px}.public-home-nav{justify-content:flex-start;align-items:center;gap:10px;display:flex;top:14px;left:16px;right:16px}.public-home-brand{max-width:calc(100% - 58px);min-height:50px;padding:6px 10px 6px 6px}.public-home-brand img{width:36px;height:36px}.public-home-brand small{display:none}.public-home-nav__login{border-color:var(--surface-inverse);background:var(--surface-inverse);width:42px;min-height:42px;color:var(--text-inverse);flex:0 0 42px;justify-content:center;padding:0}.public-home-nav__login span{display:none}.public-home-nav__actions{margin-left:0;position:static}.public-home-hero__content{width:100%;max-width:calc(100vw - 32px);padding:94px 0 24px}.public-home-hero h1,.public-home-section__copy h2,.public-home-portal__copy h2{font-size:31px;line-height:1.06}.public-home-hero h1{word-break:break-word;max-width:100%;font-size:31px}.public-home-hero p,.public-home-section h2{max-width:100%}.public-home-hero p,.public-home-section__copy p,.public-home-portal__copy p{font-size:15px;line-height:1.56}.public-home-hero p{word-break:break-word;max-width:calc(100vw - 32px)}.public-home-section,.public-home-footer{width:min(100% - 28px,1180px);margin-top:14px}.public-home-section--portal{padding:22px}.public-home-facts,.public-home-card-grid,.public-home-feature-list,.public-home-sketches{grid-template-columns:1fr}.public-home-fact,.public-home-card{min-height:auto}.public-home-media,.public-home-media img{min-height:260px}.public-home-sketch-card{min-height:118px}.public-home-hero__device{min-height:260px;padding:16px}.public-home-hero__device-header strong{font-size:34px}.public-home-footer{padding:20px}}.auth-hero__bullets,.demo-grid{flex-wrap:wrap;gap:10px;display:flex}.demo-grid{margin-top:8px}.demo-user{border:1px solid var(--border);text-align:left;background:#11111108;border-radius:18px;gap:6px;min-width:180px;padding:16px;display:grid}.demo-user span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.demo-user strong{font-size:15px}.demo-user small{color:var(--text-secondary)}.courses-page{gap:18px;display:grid}.teacher-class-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.teacher-class-card{border:1px solid var(--border);background:var(--surface-solid);border-radius:8px;gap:18px;min-height:240px;padding:20px;display:grid}.teacher-class-card__header{gap:8px;display:grid}.teacher-class-card__header h2{font-family:var(--font-display);margin:0;font-size:34px;line-height:.96}.teacher-class-card__header p,.teacher-class-card__footer small,.teacher-class-detail__header p{color:var(--text-secondary);margin:0;line-height:1.5}.teacher-class-card__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.teacher-class-card__stats span{background:var(--surface-muted);color:var(--text-secondary);border-radius:8px;gap:2px;padding:10px;font-size:12px;display:grid}.teacher-class-card__stats strong{color:var(--text-primary);font-size:20px}.teacher-class-card__footer,.teacher-class-detail__header{justify-content:space-between;align-items:end;gap:16px;display:flex}.teacher-class-detail{gap:18px;display:grid}.teacher-class-detail__header h2{font-family:var(--font-display);margin:8px 0;font-size:32px;line-height:1}.courses-page__controls{gap:18px;display:grid}.courses-page__controls-header{justify-content:space-between;align-items:end;gap:18px;display:flex}.courses-page__controls-header h2{font-family:var(--font-display);letter-spacing:-.04em;margin:8px 0 10px;font-size:30px;line-height:1}.courses-page__controls-header p,.courses-page__summary-copy span{color:var(--text-secondary);margin:0;line-height:1.55}.courses-page__sort-field{flex-shrink:0;width:min(280px,100%)}.course-topic-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.course-topic-card{border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;color:var(--text-primary);text-align:left;background:#ffffffd1;gap:10px;padding:18px;transition:transform .15s,border-color .15s,background-color .15s;display:grid}.course-topic-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.course-topic-card:focus-visible{box-shadow:0 0 0 3px var(--focus-ring-color);outline:none}.course-topic-card.is-active{color:#fff;background:#111;border-color:#111}.course-topic-card__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:inherit;opacity:.72;font-size:12px}.course-topic-card__value{font-family:var(--font-display);letter-spacing:-.05em;font-size:34px;line-height:.96}.course-topic-card__title{font-family:var(--font-display);letter-spacing:-.04em;font-size:26px;line-height:1}.course-topic-card__meta{color:inherit;opacity:.76;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:14px;display:flex}.courses-page__summary{border:1px solid var(--border);background:#ffffffb8;border-radius:22px;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;display:flex}.courses-page__summary-copy{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.courses-page__summary-copy strong{font-size:18px}.courses-page__summary-badges{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.course-preview-grid{grid-template-columns:repeat(auto-fit,minmax(220px,260px));justify-content:start;gap:14px;display:grid}.course-preview-card{border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);background:#ffffffe0;gap:10px;padding:12px;display:grid}.course-preview-card__cover{aspect-ratio:16/10;background:#1111110d;border-radius:18px;justify-self:stretch;width:100%;overflow:hidden}.course-preview-card__cover img{object-fit:cover;width:100%;height:100%;display:block}.course-preview-card__body,.course-preview-card__header{gap:8px;display:grid}.course-preview-card__header h3{font-size:20px;font-family:var(--font-display);letter-spacing:-.04em;margin:0}.course-preview-card__body p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.45}.course-preview-card__stats,.course-preview-card__badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.course-preview-card__stats{color:var(--text-secondary);font-size:13px}.course-preview-card__price{background:#1111110a;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.course-preview-card__price span{color:var(--text-secondary);font-size:13px}.course-preview-card__price strong{font-size:18px;line-height:1.2;display:block}.course-preview-card__price small{color:var(--text-secondary);text-align:right;margin-top:2px;font-size:12px;display:block}.course-preview-card__action{width:fit-content}.course-detail-card,.course-detail-card__summary,.course-detail-stack,.course-lesson-list,.course-lesson-card__content{gap:16px;display:grid}.course-detail-card__hero{grid-template-columns:minmax(180px,220px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.course-detail-card__cover{aspect-ratio:1;background:#1111110d;border-radius:28px;width:100%;overflow:hidden}.course-detail-card__cover img{object-fit:cover;width:100%;height:100%;display:block}.course-detail-card__summary h2{font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:clamp(28px,3vw,40px);line-height:1.02}.course-detail-card__summary p{color:var(--text-secondary);margin:0;line-height:1.6}.course-detail-card__heading,.course-card__heading,.course-card__badges{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:12px;display:flex}.course-card__badges{align-items:center}.course-card__header h3{font-size:28px;font-family:var(--font-display);letter-spacing:-.04em;margin:0}.course-card__content p{color:var(--text-secondary);margin:0;line-height:1.55}.course-card__subsection-header,.course-card__test-card,.school-program__toolbar,.school-program__toolbar-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.course-back-icon-button{background:var(--surface-inverse);border-color:var(--surface-inverse);color:var(--text-inverse);flex:none;box-shadow:0 10px 24px #1111112e}.course-back-icon-button:hover{transform:translateY(-1px)}.school-program__toolbar--end{justify-content:flex-end}.course-detail-heading-card .school-program__toolbar{margin-bottom:24px}.course-card__theory{gap:12px;display:grid}.course-card__test-card{border:1px dashed var(--border-strong);background:#11111108;border-radius:20px;padding:18px}.course-card__test-stack{gap:12px;display:grid}.live-session-stack,.live-session-card,.live-session-card__summary{gap:16px;display:grid}.live-session-card{border:1px solid var(--border);background:#ffffffeb;border-radius:22px;padding:18px}.live-session-card--live{background:radial-gradient(circle at 100% 0,#1f9a551f,#0000 34%),#fffffff5;border-color:#1f9a5547}.live-session-card--finished{background:radial-gradient(circle at 100% 0,#1111110f,#0000 32%),#ffffffeb}.live-session-card--empty{background:#11111105;border-style:dashed}.live-session-card__header,.live-session-card__meta,.live-session-card__actions{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:12px;display:flex}.live-session-card__summary p,.live-session-card__meta{color:var(--text-secondary);margin:0;line-height:1.55}.live-session-card__media{background:#0f0f0f;border-radius:22px;overflow:hidden}.live-session-card__media video,.live-session-card__media iframe{object-fit:cover;border:0;width:100%;min-height:420px;display:block}.live-session-card__placeholder{color:var(--text-secondary);background:#1111110a;border-radius:18px;padding:18px;line-height:1.55}.live-session-card__attendance,.subject-work-card{border:1px solid var(--border);background:#ffffffc2;border-radius:18px;gap:12px;padding:14px;display:grid}.live-session-card__attendance{grid-template-columns:repeat(2,minmax(120px,1fr)) minmax(220px,2fr);align-items:center}.live-session-card__attendance-metric,.live-session-card__attendance-meta,.subject-work-card__main,.subject-work-card__meta,.subject-work-card__actions,.subject-work-form__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.live-session-card__attendance-metric{justify-content:space-between}.live-session-card__attendance-metric span,.live-session-card__attendance-meta,.subject-work-card__meta,.subject-work-form__actions span{color:var(--text-secondary);font-size:var(--type-body-sm-size)}.live-session-card__attendance-metric strong{font-size:24px}.live-session-card__attendance-meta,.subject-work-card__main,.subject-work-card__actions,.subject-work-form__actions{justify-content:space-between}.subject-work-form,.subject-work-list{gap:14px;display:grid}.subject-work-form{border:1px dashed var(--border-strong);background:#11111108;border-radius:18px;padding:16px}.subject-work-card__main p{color:var(--text-secondary);margin:6px 0 0;line-height:1.5}.subject-work-card__meta{overflow-wrap:anywhere}.course-card__test-copy{gap:8px;display:grid}.test-card{--test-accent:#2f6f9f;--test-accent-soft:#2f6f9f1a;--test-accent-ink:#204c6d;background:var(--surface-solid);min-height:420px;box-shadow:var(--shadow-card);border:1px solid #11111117;border-radius:24px;grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.test-card--math{--test-accent:#2f6f9f;--test-accent-soft:#2f6f9f1a;--test-accent-ink:#204c6d}.test-card--biology{--test-accent:#1d7e55;--test-accent-soft:#1d7e551c;--test-accent-ink:#16613f}.test-card--humanities{--test-accent:#8a5a18;--test-accent-soft:#8a5a181f;--test-accent-ink:#68430f}.test-card--science{--test-accent:#7d4aa8;--test-accent-soft:#7d4aa81c;--test-accent-ink:#5b337d}.test-card--language{--test-accent:#b74f5f;--test-accent-soft:#b74f5f1c;--test-accent-ink:#8c3946}.test-card.is-active{border-color:color-mix(in srgb, var(--test-accent) 42%, var(--border));box-shadow:0 18px 42px #1111111a}.test-card__topline{background:var(--test-accent);min-height:7px}.test-card__body{align-content:start;gap:16px;padding:20px 20px 18px;display:grid}.test-card__header{grid-template-columns:48px minmax(0,1fr);align-items:start;gap:14px;display:grid}.test-card__icon{background:var(--test-accent-soft);width:48px;height:48px;color:var(--test-accent-ink);border-radius:16px;justify-content:center;align-items:center;display:inline-flex}.test-card__icon svg{fill:currentColor;width:22px;height:22px}.test-card__title{gap:7px;min-width:0;display:grid}.test-card__title h3{font-family:var(--font-display);margin:0;font-size:24px;line-height:1.05}.test-card__course{min-height:46px;color:var(--text-secondary);margin:0;font-size:14px;line-height:1.55}.test-card__badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.test-card__badges .badge{white-space:normal;text-align:center;max-width:100%;min-height:32px}.test-card__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.test-card__stats span{border:1px solid var(--border-soft);background:#11111106;border-radius:16px;gap:6px;min-width:0;padding:12px;display:grid}.test-card__stats small{color:var(--text-muted);font-size:11px;font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase}.test-card__stats strong{overflow-wrap:anywhere;min-width:0;font-family:var(--font-display);color:var(--test-accent-ink);font-size:22px;line-height:1}.test-card__stats em{color:var(--text-secondary);margin:0;font-size:12px;font-style:normal;line-height:1.35}.test-card__progress{background:var(--test-accent-soft);border-radius:18px;padding:14px}.test-card__progress .progress__fill{background:var(--test-accent)}.test-card__preview{background:var(--test-accent-soft);border-radius:18px;gap:10px;padding:14px;display:grid}.test-card__preview span{color:var(--test-accent-ink);font-size:12px;font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase}.test-card__preview ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.test-card__preview li{color:var(--text-secondary);grid-template-columns:8px minmax(0,1fr);gap:8px;font-size:13px;line-height:1.4;display:grid}.test-card__preview li:before{content:"";background:var(--test-accent);border-radius:999px;width:8px;height:8px;margin-top:5px}.test-card__footer{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px 20px;display:flex}.test-card__action{width:100%}.test-card__viewer-note{width:100%;color:var(--text-secondary);background:#1111110a;border-radius:16px;align-items:center;gap:10px;padding:12px 14px;font-size:14px;line-height:1.35;display:flex}.test-card__viewer-note svg{fill:currentColor;flex:none;width:18px;height:18px}.course-detail-block{gap:16px;display:grid}.course-lesson-card{background:#1111110a;border-radius:18px;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:16px;padding:16px;display:grid}.course-lesson-card__media video{object-fit:cover;background:#0f0f0f;border-radius:20px;width:100%;min-height:168px}.course-lesson-card__header,.course-lesson-card__actions{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:12px;display:flex}.course-lesson-card__header strong{font-size:18px}.course-lesson-card__content p{color:var(--text-secondary);margin:0;line-height:1.55}.alert-card{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:#a061070f;gap:10px;padding:18px;display:grid}.alert-card p{color:var(--text-secondary);margin:0;line-height:1.5}.test-runner-violations,.test-runner-violations__list{gap:10px;display:grid}.test-runner-violation{background:#a061070d;border:1px solid #a061073d;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px;display:grid}.test-runner-violation p{color:var(--text-secondary);margin:4px 0 0;font-size:13px;line-height:1.45}.test-runner-violation time{color:var(--text-muted);white-space:nowrap;font-size:12px}.test-runner-launcher{z-index:20;border:1px solid var(--border);width:min(360px,100vw - 32px);box-shadow:var(--shadow-soft);background:#fffffff5;border-radius:24px;gap:10px;padding:18px;display:grid;position:fixed;bottom:24px;right:24px}.test-runner-launcher strong{font-size:18px}.test-runner-launcher p{color:var(--text-secondary);margin:0}.test-runner-overlay{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1111116b;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.test-runner-dialog{border:1px solid var(--border);width:min(1196px,100vw - 32px);max-height:calc(100vh - 32px);box-shadow:var(--shadow-soft);background:#fffffffa;border-radius:28px;gap:16px;padding:24px;display:grid;overflow:auto}.test-runner-dialog__header,.test-runner-dialog__actions,.test-runner-dialog__meta{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:12px;display:flex}.test-runner-dialog__header .surface-card__header{margin-bottom:0}.test-runner-dialog__actions{justify-content:flex-end}.test-runner-dialog__meta{align-items:center}.test-question{border:1px solid var(--border);border-radius:20px;padding:18px}.test-question legend{padding:0 8px;font-weight:700}.test-options{gap:10px;margin-top:14px;display:grid}.option-card{isolation:isolate;cursor:pointer;background:#11111109;border:1px solid #0000;border-radius:18px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:12px;min-height:58px;padding:14px 16px;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.option-card:before{content:"";z-index:-1;opacity:0;background:radial-gradient(circle at 30px,#1d7e5529,#0000 56%),linear-gradient(135deg,#1d7e551f,#1110);transition:opacity .22s,transform .22s;position:absolute;inset:0;transform:scale(.92)}.option-card input{opacity:0;cursor:pointer;position:absolute;inset:0}.option-card__control{border:1px solid var(--border-strong);background:#ffffffd1;border-radius:12px;width:32px;height:32px;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;position:relative;box-shadow:inset 0 0 0 4px #ffffffe6}.option-card__control:after{content:"";border-left:2px solid var(--text-inverse);border-bottom:2px solid var(--text-inverse);opacity:0;width:13px;height:7px;transition:opacity .16s,transform .18s;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)rotate(-45deg)scale(.55)}.option-card__text{min-width:0;color:var(--text-primary);line-height:1.45;transition:color .18s,transform .18s}.option-card:hover{border-color:var(--border);background:#1111110e;transform:translateY(-1px)}.option-card:active{transform:translateY(0)scale(.995)}.option-card:has(input:focus-visible){outline-offset:3px;outline:3px solid #1d7e5533}.option-card:has(input:checked){background:#1d7e5514;border-color:#1d7e5557;box-shadow:0 12px 28px #1d7e551f}.option-card:has(input:checked):before{opacity:1;transform:scale(1)}.option-card:has(input:checked) .option-card__control{border-color:var(--accent-success);background:var(--accent-success);animation:.36s ease-out optionSelectPulse;box-shadow:inset 0 0 0 4px #ffffff2e,0 8px 18px #1d7e5538}.option-card:has(input:checked) .option-card__control:after{opacity:1;transform:translate(-50%,-50%)rotate(-45deg)scale(1)}.option-card:has(input:checked) .option-card__text{color:var(--text-primary);transform:translate(2px)}@keyframes optionSelectPulse{0%{transform:scale(.86)}62%{transform:scale(1.1)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.option-card,.option-card:before,.option-card__control,.option-card__control:after,.option-card__text{transition:none}.option-card:has(input:checked) .option-card__control{animation:none}}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.admin-tabs{gap:18px;display:grid}.admin-tab-list{border:1px solid var(--border);background:#ffffffc2;border-radius:18px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px;display:flex}.admin-tab{min-height:40px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;padding:0 14px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s}.admin-tab:hover,.admin-tab:focus-visible{border-color:var(--border-strong);color:var(--text-primary)}.admin-tab.is-active{color:var(--accent);background:#2f6f9f1f;border-color:#2f6f9f3d}.admin-tab-panel{display:block}.admin-tab-panel[hidden]{display:none}.admin-content-stack{gap:18px;display:grid}.admin-content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-content-card{border:1px solid var(--border);background:#ffffffb8;border-radius:22px;align-content:start;padding:18px}.admin-content-card__header{gap:6px;display:grid}.admin-content-card__header strong{font-size:18px;line-height:1.25}.admin-content-card__header p{color:var(--text-secondary);margin:0;line-height:1.45}.admin-content-stack--materials .admin-content-card--questions,.admin-content-stack--questions .admin-content-card--materials{display:none}.surface-card--full{grid-column:1/-1}.progress-row{border:1px solid var(--border);background:#11111108;border-radius:20px;padding:18px}.progress-export-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.progress-export-controls{grid-template-columns:minmax(160px,1fr) auto minmax(220px,1.3fr) auto;align-items:end;gap:12px;margin:-4px 0 20px;display:grid}.compact-field{gap:6px;min-width:0;display:grid}.compact-field span{font-size:var(--type-label-size);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.compact-field select{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-elevated);min-width:0;height:44px;color:var(--text-primary);font:inherit;padding:0 12px}.course-progress-overview{gap:12px;display:grid}.course-progress-item{--course-progress-accent:#2f6f9f;--course-progress-soft:#2f6f9f1a;border:1px solid var(--border);background:#ffffffb3;border-radius:20px;gap:14px;padding:16px;display:grid}.course-progress-item.is-active{--course-progress-accent:#2f6f9f;--course-progress-soft:#2f6f9f1a}.course-progress-item.is-complete{--course-progress-accent:var(--accent-success);--course-progress-soft:#1d7e551a}.course-progress-item.is-new{--course-progress-accent:#8a5a18;--course-progress-soft:#8a5a181c}.course-progress-item__header,.course-progress-item__meta,.course-progress-item__footer{justify-content:space-between;align-items:start;gap:12px;display:flex}.course-progress-item__title{gap:5px;min-width:0;display:grid}.course-progress-item__title span{border-radius:var(--radius-pill);background:var(--course-progress-soft);width:fit-content;color:var(--course-progress-accent);font-size:11px;font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;padding:5px 9px}.course-progress-item__title strong{line-height:1.25}.course-progress-item__value{font-family:var(--font-display);color:var(--course-progress-accent);flex:none;font-size:34px;line-height:.95}.course-progress-item__track{border-radius:var(--radius-pill);background:#11111112;height:12px;overflow:hidden}.course-progress-item__track span{border-radius:inherit;background:var(--course-progress-accent);min-width:8px;height:100%;display:block}.course-progress-item__meta{color:var(--text-secondary);font-size:13px;line-height:1.4}.course-progress-item__footer{color:var(--text-secondary);align-items:center;font-size:14px;line-height:1.45}.course-progress-item__action{flex:none;justify-content:center;padding:9px 12px;font-size:13px;text-decoration:none;display:inline-flex}.course-progress-overview__all{justify-content:center;width:fit-content;text-decoration:none;display:inline-flex}.teacher-students-preview{gap:12px;display:grid}.teacher-student-card{border:1px solid var(--border);background:#ffffffb8;border-radius:20px;gap:14px;padding:16px;display:grid}.teacher-student-card__header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.teacher-student-card__header div{gap:5px;min-width:0;display:grid}.teacher-student-card__header strong{color:var(--text-primary);font-size:18px;line-height:1.2}.teacher-student-card__header small{color:var(--text-secondary);overflow-wrap:anywhere}.teacher-student-card__value{font-family:var(--font-display);color:var(--accent-success);font-size:34px;line-height:.95}.teacher-student-card__badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.teacher-student-card__details{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.teacher-student-card__details div{border:1px solid var(--border-soft);background:#11111106;border-radius:16px;min-width:0;padding:12px}.teacher-student-card__details strong{color:var(--text-primary);overflow-wrap:anywhere;line-height:1.25}.teacher-students-preview__all{justify-content:center;width:fit-content;text-decoration:none;display:inline-flex}.teacher-students-empty{border:1px dashed var(--border-strong);background:#11111108;border-radius:20px;gap:6px;padding:16px;display:grid}.teacher-students-empty strong{color:var(--text-primary)}.teacher-students-empty span{color:var(--text-secondary);line-height:1.45}.exam-theory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.exam-theory-card{border:1px solid var(--border);box-shadow:var(--shadow-card);background:#ffffffdb;border-radius:24px;gap:16px;padding:22px;display:grid}.exam-theory-card__header{gap:8px;display:grid}.exam-theory-card__header h3{font-family:var(--font-display);margin:0;font-size:28px;line-height:1}.exam-topic-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.exam-topic-list li{border:1px solid var(--border-soft);color:var(--text-secondary);background:#11111108;border-radius:16px;padding:13px 14px;line-height:1.35}.dashboard-hero-card{border:1px solid var(--border);box-shadow:var(--shadow-soft);background:radial-gradient(circle at 100% 0,#1111110d,#0000 38%),#ffffffe0;border-radius:28px;grid-template-columns:minmax(0,1.3fr) minmax(260px,360px);gap:18px;padding:24px;display:grid}.dashboard-hero-card--main{grid-template-columns:1fr}.dashboard-hero-card__copy,.dashboard-hero-card__meta{gap:12px;display:grid}.dashboard-hero-card__copy h2{font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:clamp(28px,3vw,42px);line-height:1.02}.dashboard-hero-card__copy p{color:var(--text-secondary);margin:0;line-height:1.6}.dashboard-hero-card__meta{align-content:space-between}.profile-page{gap:18px;width:min(100%,520px);margin:0 auto;display:grid}.profile-page__stack{gap:14px;display:grid}.profile-form,.profile-actions{gap:18px;display:grid}.profile-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-actions__button{min-height:60px}@media (width<=960px){.course-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.courses-page__controls-header,.courses-page__summary{flex-direction:column;align-items:stretch}.admin-grid,.admin-content-grid,.dashboard-hero-card,.exam-theory-grid,.course-preview-grid,.course-detail-card__hero,.course-lesson-card{grid-template-columns:1fr}.course-card__test-card{align-items:stretch}.test-card{min-height:auto}.live-session-card__header,.live-session-card__meta,.live-session-card__actions{align-items:stretch}.live-session-card__attendance{grid-template-columns:1fr}.subject-work-card__main,.subject-work-card__actions,.subject-work-form__actions{align-items:stretch}.test-runner-dialog__actions{justify-content:stretch}.course-progress-item__header,.course-progress-item__meta,.course-progress-item__footer{flex-direction:column}.course-progress-item__action,.course-progress-overview__all,.teacher-students-preview__all{width:100%}.teacher-student-card__header,.teacher-student-card__details{grid-template-columns:1fr}.teacher-class-card__footer,.teacher-class-detail__header{flex-direction:column;align-items:stretch}.profile-actions{grid-template-columns:1fr}.progress-export-controls{grid-template-columns:1fr 1fr}.surface-card--full{grid-column:auto}}@media (width<=720px){.course-topic-grid{grid-template-columns:1fr}.course-preview-card__action,.live-session-card__actions .button{width:100%}.live-session-card__media video,.live-session-card__media iframe{min-height:260px}.test-runner-overlay{padding:12px}.test-runner-launcher,.test-runner-dialog,.test-runner-dialog__header,.test-runner-dialog__actions,.test-runner-dialog__meta,.test-runner-dialog__actions .button,.test-runner-launcher .button{width:100%}.test-card__stats,.teacher-class-card__stats,.test-runner-violation{grid-template-columns:1fr}.test-runner-violation time{white-space:normal}.school-program__toolbar,.school-program__toolbar-actions{align-items:stretch}.progress-export-actions,.progress-export-actions .button,.progress-export-controls,.progress-export-controls .button{width:100%}.progress-export-actions,.progress-export-controls{grid-template-columns:1fr;align-items:stretch}}
