@font-face{font-family:Golos Text;font-style:normal;font-weight:400 900;font-display:swap;src:url(/assets/golos-text-DaNqmEWx.woff2)format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/manrope-DCqOV0EZ.woff2)format("woff2")}:root{--font-text:"Golos Text", "Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Manrope", "Golos Text", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-micro:11px;--text-caption:12px;--text-small:13px;--text-compact:14px;--text-body:15px;--text-body-lg:16px;--text-title-sm:18px;--text-title:21px;--text-title-lg:24px;--text-display:30px;--text-display-lg:38px;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.45;--leading-relaxed:1.6;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:800;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.02em;--tracking-caps:.12em}.num,.numeric{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.stat-value,.metric-value,.result-total,.result-score-value,.mistake-bank-count,.nav-badge,.homework-countdown,.homework-countdown-content,.homework-timer-start-value,.homework-task-nav-number,.score-axis-label,.score-date-label,.schedule-event-time,.schedule-detail-time,.mistake-card-date,.ai-import-answer-value{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.item-title.task-prompt{font-weight:var(--weight-medium);line-height:var(--leading-snug);letter-spacing:var(--tracking-normal)}.task-head{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.task-head>.meta{min-width:0}.task-head>.status{flex:none}:root{font-family:var(--font-text);color:#141212;--tg-top-inset:0px;--tg-bottom-inset:0px;--tg-content-top-inset:0px;--tg-content-bottom-inset:0px;--app-viewport-height:var(--tg-viewport-height,100dvh);--app-viewport-stable-height:var(--tg-viewport-stable-height,100dvh);--safe-top:max(env(safe-area-inset-top,0px), var(--tg-top-inset));--safe-bottom:max(env(safe-area-inset-bottom,0px), var(--tg-bottom-inset), var(--tg-content-bottom-inset));--desktop-workspace-max:960px;background:#f2f0e9}html[data-tg-desktop=true]{--app-viewport-stable-height:100dvh;--app-viewport-height:100dvh}html[data-tg-desktop=true] body{overscroll-behavior-y:auto}*,:before,:after{box-sizing:border-box;min-width:0}html,body,#root{background:var(--surface-page);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;width:100%;max-width:100%;min-height:100%;margin:0;overflow-x:hidden}body,#root{overflow-x:clip}html,#root{min-height:var(--app-viewport-stable-height)}body{min-height:var(--app-viewport-stable-height);color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-regular);letter-spacing:0;overscroll-behavior-y:none;touch-action:manipulation;line-height:1.45}button,input,textarea,select{max-width:100%;font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:inherit}.app-shell{width:100%;min-height:var(--app-viewport-stable-height);padding:var(--top-space) 16px var(--bottom-space);background:var(--surface-page);isolation:isolate;position:relative}.app-shell.keyboard-open{min-height:var(--app-viewport-height);padding-top:var(--top-space);padding-bottom:calc(var(--safe-bottom) + 16px)}.content{width:100%;max-width:520px;margin:0 auto}.screen{width:100%;animation:screen-enter var(--motion-medium,.26s) var(--ease-enter,var(--ease));gap:0;display:grid}.page-header,.topbar{justify-content:space-between;align-items:flex-start;gap:16px;width:100%;margin-bottom:30px;padding-bottom:18px;display:flex;position:relative}.page-header>div,.topbar>div{min-width:0}.eyebrow{color:var(--accent);font-family:var(--font-text);font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase}.title{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-display);font-weight:var(--weight-black);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);overflow-wrap:anywhere;margin:6px 0 0}.subtitle{max-width:34rem;color:var(--text-secondary);font-size:var(--text-body);font-weight:var(--weight-regular);overflow-wrap:anywhere;margin:12px 0 0;line-height:1.35}.page-header:after,.topbar:after{content:"";background:var(--success);border-radius:12px;width:min(48vw,176px);height:10px;position:absolute;bottom:0;left:0}.card,.empty,.panel,.stat-card,.quick-card,.card-button,.student-row,.answer-block,.option,.launch-card{border:1px solid var(--border-theme);border-radius:var(--radius-card);background:var(--surface-primary);width:100%;max-width:100%}.card,.panel,.empty{padding:18px}.empty{background:var(--surface-muted);color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-regular);line-height:1.36}.error-banner,.success-banner,.warning-banner{border-radius:var(--radius-card);width:100%;font-size:var(--text-body);font-weight:var(--weight-regular);margin-bottom:14px;padding:14px 16px;line-height:1.35}.error-banner{border:1px solid var(--border-theme);background:var(--danger-soft);color:var(--danger)}.success-banner{border:1px solid var(--border-theme);background:var(--success-soft);color:var(--success)}.warning-banner{border:1px solid color-mix(in srgb, var(--warning) 18%, var(--border-theme));background:var(--warning-soft);color:var(--warning)}.warning-banner p{margin:6px 0 10px}.stack{gap:14px;width:100%;display:grid}.grid-2,.grid-2.wide{grid-template-columns:minmax(0,1fr);gap:14px;width:100%;display:grid}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;margin:0 0 30px;display:grid}.stat-card{background:var(--surface-muted);min-height:90px;padding:16px}.stat-card.accent{background:var(--surface-accent-soft)}.stat-card.warning{background:var(--warning-soft)}.stat-card.success{background:var(--success-soft)}.stat-value{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-display);font-weight:var(--weight-black);font-variant-numeric:tabular-nums;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.stat-label{color:var(--text-primary);font-size:var(--text-small);font-weight:var(--weight-regular);margin-top:12px;line-height:1.2}.quick-grid{grid-template-columns:minmax(0,1fr);gap:14px;width:100%;display:grid}.quick-card{background:var(--surface-muted);color:var(--text-primary);text-align:left;transition:transform .18s var(--ease), background-color .18s var(--ease), color .18s var(--ease);gap:8px;padding:18px;display:grid}.row,.compact-row,.row-start{justify-content:space-between;align-items:flex-start;gap:12px;width:100%;display:flex}.row,.compact-row{align-items:center}.wrap-row{flex-wrap:wrap}.row>*,.compact-row>*,.row-start>*{min-width:0}.row strong,.compact-row strong{overflow-wrap:anywhere;text-align:right}.section-title{color:var(--text-primary);font-family:var(--font-text);font-size:var(--text-caption);letter-spacing:0;text-transform:uppercase;margin:34px 0 12px;padding:0;font-weight:400}.button,.ghost-button,.danger-button,.secondary-button{border:1px solid var(--border-theme);border-radius:var(--radius-control);max-width:100%;min-height:48px;font-size:var(--text-body);text-align:center;transition:transform .18s var(--ease), background-color .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease);justify-content:center;align-items:center;padding:12px 18px;font-weight:400;line-height:1.2;display:inline-flex}.button{background:var(--accent);color:#fff}.secondary-button{background:var(--surface-accent-soft);color:var(--text-primary)}.ghost-button{background:var(--surface-primary);color:var(--text-primary)}.danger-button{background:var(--danger-soft);color:var(--danger)}.button:active,.ghost-button:active,.danger-button:active,.secondary-button:active,.nav-item:active,.chip:active,.card-button:active,.quick-card:active{transform:translateY(1px)}.button.full,.ghost-button.full,.secondary-button.full,.danger-button.full{width:100%}.icon-button{border:1px solid var(--border-theme);border-radius:var(--radius-pill);background:var(--surface-accent-soft);width:40px;height:40px;color:var(--text-primary);font-size:var(--text-title-sm);flex:none;place-items:center;font-weight:400;display:inline-grid}.input,.textarea,.select{border:1px solid var(--border-strong);border-radius:var(--radius-pill);width:100%;min-width:0;max-width:100%;min-height:48px;color:var(--text-primary);font-size:var(--text-body-lg);font-weight:var(--weight-regular);transition:border-color .18s var(--ease), outline-color .18s var(--ease), background-color .18s var(--ease);background:#fff;outline:none;padding:12px 18px;line-height:1.35;display:block}.textarea{resize:vertical;border-radius:20px;min-height:112px}.input[type=file]{min-height:auto;font-size:var(--text-compact);padding:10px;line-height:1.3}.label{color:var(--text-primary);font-size:var(--text-caption);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-weight:400;line-height:1.25;display:block}label{min-width:0}.form-grid{gap:16px;width:100%;display:grid}.ai-import-entry .glass-content,.ai-import-summary .glass-content{gap:12px}.ai-import-entry .glass-content{width:100%;padding:12px 14px}.ai-import-summary-content{gap:10px;width:100%;padding:12px 14px;display:grid}.ai-import-summary-content>.row>div:first-child{gap:2px;display:grid}.ai-import-summary-content>.row>.status{flex:none}.admin-ai-import-copy{gap:4px;min-width:0;display:grid}.admin-ai-import-copy .meta{overflow-wrap:anywhere;display:block}.row .admin-ai-import-copy>strong,.compact-row .admin-ai-import-copy>strong{text-align:left}.ai-import-entry .secondary-button{flex:none}.ai-import-entry svg{width:18px;height:18px}.progress-track{background:color-mix(in srgb, var(--success) 12%, transparent);border-radius:999px;width:100%;height:8px;position:relative;overflow:hidden}.progress-track>span{border-radius:inherit;background:var(--success);min-width:0;height:100%;transition:width .18s;display:block}.ai-import-compare{grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr);gap:14px;margin-top:12px;display:grid}.source-region{border:1px solid var(--border-theme);border-radius:var(--radius-control);background:color-mix(in srgb, var(--surface-primary) 80%, var(--success) 4%);align-content:start;gap:8px;min-width:0;padding:14px;display:grid}.ai-import-item.is-excluded{opacity:.62}.assisted-import-editor{align-content:start}.ai-import-warnings{margin:0;padding-inline-start:20px}.ai-import-answer-value{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.ai-import-mode-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.ai-import-mode-option-content{align-content:start;gap:12px;min-height:100%;padding:18px;display:grid}.ai-import-mode-option:only-child{grid-column:1/-1;width:min(100%,680px)}.ai-import-mode-option-content h2,.external-import-setup h2,.external-assets-panel h2{margin:2px 0 0;font-size:19px;line-height:1.2}.ai-import-mode-option-content p,.external-verification p{margin:0;line-height:1.5}.ai-import-mode-option-content>.button,.ai-import-mode-option-content>.secondary-button{align-self:end;width:fit-content}.external-import-setup{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.homework-request-setup{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}.homework-request-setup h2{margin:2px 0 0;font-size:19px;line-height:1.2}.homework-request-files,.homework-request-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.homework-request-files li{border:1px solid var(--border-theme);border-radius:var(--radius-control);background:var(--surface-primary);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:6px 6px 6px 12px;display:grid}.homework-request-file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.homework-request-files .ghost-button{min-height:44px}.homework-request-row{border:1px solid var(--border-theme);border-radius:var(--radius-control);background:var(--surface-primary);gap:6px;padding:12px;display:grid}.homework-request-row>.row strong{overflow-wrap:anywhere;min-width:0}.homework-request-row>button{justify-self:start}.homework-request-note{overflow-wrap:anywhere;white-space:pre-line}.announcement-panel{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}.announcement-panel h2{margin:2px 0 0;font-size:19px;line-height:1.2}.textarea.announcement-text{min-height:200px}.announcement-counter{font-variant-numeric:tabular-nums;justify-self:end}.announcement-counter.is-over{color:var(--danger)}.announcement-actions{flex-wrap:wrap;gap:10px;display:flex}.announcement-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.announcement-row{border:1px solid var(--border-theme);border-radius:var(--radius-control);background:var(--surface-primary);gap:6px;padding:12px;display:grid}.announcement-row>.row strong,.announcement-excerpt{overflow-wrap:anywhere;min-width:0}.announcement-row>button{justify-self:start}.trainer-figure{border:1px solid var(--border-theme);border-radius:var(--radius-control);background:var(--surface-primary);color:var(--text-primary);margin:0;padding:12px}.trainer-figure-svg{width:100%;height:auto;max-height:360px;font-family:inherit;display:block;overflow:visible}.trainer-figure .tf-accent{color:var(--accent)}.trainer-figure .tf-muted{color:var(--text-muted)}.trainer-figure .tf-soft{fill:var(--surface-muted)}.trainer-figure .tf-accent-soft{fill:var(--surface-accent-soft)}.trainer-figure .tf-thin{stroke-width:1px}.trainer-figure .tf-bold{stroke-width:2.5px;font-weight:700}.trainer-text{white-space:pre-line;overflow-wrap:anywhere;line-height:1.5}.trainer-admin h2{margin:2px 0 0;font-size:19px;line-height:1.2}.trainer-number-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;display:grid}.trainer-number{border:1px solid var(--border-theme);border-radius:var(--radius-control);background:var(--surface-primary);min-height:56px;color:var(--text-primary);font:inherit;cursor:pointer;justify-items:center;gap:2px;padding:6px 4px;display:grid}.trainer-number strong{font-variant-numeric:tabular-nums;font-size:17px}.trainer-number span{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.trainer-number.has-published{background:var(--success-soft)}.trainer-number.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.trainer-number:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.trainer-review-card{border:1px solid var(--border-theme);border-radius:var(--radius-control);background:var(--surface-raised,var(--surface-primary));gap:10px;padding:14px;display:grid}.trainer-review-card>.row{align-items:flex-start}.trainer-review-card>.row strong{overflow-wrap:anywhere;text-align:left;min-width:0}.trainer-answer-line{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.trainer-disclosure summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-weight:600;list-style:none;display:flex}.trainer-disclosure summary::-webkit-details-marker{display:none}.trainer-disclosure-icon{width:18px;height:18px;color:var(--text-muted);flex:none;transition:transform .16s}.trainer-disclosure[open] .trainer-disclosure-icon{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.trainer-disclosure-icon{transition:none}}.trainer-disclosure .trainer-text{padding-bottom:6px}.trainer-review-actions{flex-wrap:wrap;gap:10px;display:flex}.trainer-review-actions:empty{display:none}.trainer-hub{gap:14px;display:grid}.trainer-home-card>svg:first-child{background:var(--surface-accent-soft);color:var(--accent)}.trainer-hero{border:1px solid var(--border-theme);background:var(--surface-primary);box-shadow:var(--shadow-card);border-radius:22px;gap:14px;padding:16px;display:grid}.trainer-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.trainer-hero-stats>div{gap:2px;min-width:0;display:grid}.trainer-hero-stats strong{font-size:var(--text-title-sm,22px);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1}.trainer-hero-stats span{color:var(--text-secondary);font-size:var(--text-caption);line-height:1.3}.trainer-hero-bar,.trainer-number-bar{border-radius:var(--radius-pill);background:var(--surface-muted);height:6px;display:block;overflow:hidden}.trainer-hero-bar>span,.trainer-number-bar>span{border-radius:inherit;background:var(--accent);height:100%;transition:width .32s var(--ease);display:block}.trainer-hero-action{gap:8px;width:100%}.trainer-hero-action svg,.trainer-check svg,.trainer-next svg{width:18px;height:18px}.trainer-numbers{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width>=560px){.trainer-numbers{grid-template-columns:repeat(4,minmax(0,1fr))}}.trainer-number-tile{border:1px solid var(--border-theme);background:var(--surface-primary);min-height:96px;color:var(--text-primary);text-align:left;transition:background-color .16s var(--ease), border-color .16s var(--ease), transform .16s var(--ease);border-radius:18px;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"value count""title title""bar bar";align-items:center;gap:6px 8px;padding:12px;display:grid}.trainer-number-tile:active{background:var(--surface-pressed,var(--surface-muted));transform:scale(.98)}.trainer-number-tile:disabled{opacity:.5}.trainer-number-tile[data-done=true]{border-color:color-mix(in srgb, var(--success) 45%, var(--border-theme))}.trainer-number-value{font-variant-numeric:tabular-nums;grid-area:value;font-size:22px;font-weight:700;line-height:1}.trainer-number-count{color:var(--text-secondary);font-size:var(--text-caption);font-variant-numeric:tabular-nums;grid-area:count;justify-self:end}.trainer-number-count svg{width:18px;height:18px;color:var(--success)}.trainer-number-title{color:var(--text-secondary);font-size:var(--text-caption);grid-area:title;line-height:1.3}.trainer-number-tile .trainer-number-bar{grid-area:bar;height:4px}.trainer-setup,.trainer-lead{border:1px solid var(--border-theme);background:var(--surface-primary);border-radius:20px;gap:10px;padding:14px;display:grid}.trainer-setup-title{margin:0;font-weight:700}.trainer-mode{border:1px solid var(--border-theme);background:var(--surface-page);min-height:64px;color:var(--text-primary);text-align:left;border-radius:16px;grid-template-columns:36px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:12px;display:grid}.trainer-mode>svg:first-child{background:var(--surface-accent-soft);width:36px;height:36px;color:var(--accent);border-radius:12px;padding:8px}.trainer-mode>svg:last-child{width:18px;height:18px;color:var(--text-muted)}.trainer-mode span{gap:2px;display:grid}.trainer-mode small,.trainer-lead-text,.trainer-lead-label{color:var(--text-secondary);font-size:var(--text-caption);line-height:1.4}.trainer-lead-text{margin:0}.trainer-lead--sent{grid-template-columns:24px minmax(0,1fr);align-items:center}.trainer-lead--sent>svg{width:22px;height:22px;color:var(--success)}.trainer-lead--sent span{gap:2px;display:grid}.trainer-lead--sent small{color:var(--text-secondary)}.trainer-variant-history{gap:8px;margin:0;padding:0;list-style:none;display:grid}.trainer-variant-history li,.trainer-weak li{background:var(--surface-primary);border:1px solid var(--border-theme);font-size:var(--text-caption);border-radius:14px;justify-content:space-between;gap:12px;padding:10px 12px;display:flex}.trainer-variant-history li span,.trainer-weak li span{color:var(--text-secondary)}.trainer-status{color:var(--text-secondary);text-align:center;margin:0}.trainer-error{color:var(--danger);font-size:var(--text-caption);margin:0}.trainer-immersive{z-index:95;background:var(--surface-page);color:var(--text-primary);flex-direction:column;display:flex;position:fixed;inset:0}.trainer-immersive-head,.trainer-variant-nav,.trainer-confirm,.trainer-error--floating{flex:none}.trainer-link-button{min-height:44px;color:var(--accent);font:inherit;background:0 0;border:0;justify-self:start;padding:0;font-weight:600}.trainer-immersive-head{padding:calc(var(--screen-top,var(--safe-top,0px)) + 8px) calc(var(--safe-right,0px) + 12px) 8px calc(var(--safe-left,0px) + 12px);border-bottom:1px solid var(--border-theme);background:color-mix(in srgb, var(--surface-page) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);align-items:center;gap:10px;display:flex}.trainer-round-button{border:1px solid var(--border-theme);background:var(--surface-primary);width:44px;height:44px;color:var(--text-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.trainer-round-button svg{width:20px;height:20px}.trainer-immersive-title{flex:auto;gap:1px;min-width:0;display:grid}.trainer-immersive-title strong{font-size:var(--text-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trainer-immersive-title span{color:var(--text-secondary);font-size:var(--text-caption);font-variant-numeric:tabular-nums}.trainer-timer{border-radius:var(--radius-pill);background:var(--surface-accent-soft);color:var(--accent);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:4px;padding:6px 10px;font-weight:700;display:inline-flex}.trainer-timer[data-low=true]{background:var(--danger-soft);color:var(--danger)}.trainer-timer svg,.trainer-finish-button svg{width:16px;height:16px}.trainer-finish-button{border:1px solid var(--border-theme);border-radius:var(--radius-pill);background:var(--surface-primary);min-height:44px;color:var(--text-primary);flex:none;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex}.trainer-variant-nav{padding:8px calc(var(--safe-right,0px) + 12px) 8px calc(var(--safe-left,0px) + 12px);scrollbar-width:none;border-bottom:1px solid var(--border-theme);gap:6px;display:flex;overflow-x:auto}.trainer-variant-nav::-webkit-scrollbar{display:none}.trainer-variant-chip{border:1px solid var(--border-theme);background:var(--surface-primary);min-width:40px;height:40px;color:var(--text-primary);font-variant-numeric:tabular-nums;border-radius:12px;flex:none;font-weight:600}.trainer-variant-chip[data-answered=true]{background:var(--surface-accent-soft);color:var(--accent);border-color:#0000}.trainer-variant-chip[aria-current=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.trainer-confirm{border:1px solid var(--border-theme);background:var(--surface-primary);box-shadow:var(--shadow-card);border-radius:18px;gap:10px;margin:10px 12px 0;padding:14px;display:grid}.trainer-confirm p{margin:0}.trainer-error--floating{padding:8px 16px 0}.trainer-scroller{overscroll-behavior:contain;touch-action:pan-x;flex:auto;min-height:0;overflow-y:auto}.trainer-slide{min-height:100%;padding:14px calc(var(--safe-right,0px) + 14px) calc(var(--safe-bottom,0px) + 18px) calc(var(--safe-left,0px) + 14px);flex-direction:column;justify-content:center;display:flex}.trainer-slide--end{align-items:center}.trainer-loading{top:calc(var(--screen-top,var(--safe-top,0px)) + 72px);z-index:2;border:1px solid var(--border-theme);border-radius:var(--radius-pill);background:var(--surface-primary);color:var(--text-secondary);font-size:var(--text-caption);box-shadow:var(--shadow-card);margin:0;padding:6px 14px;position:absolute;left:50%;transform:translate(-50%)}.trainer-swipe-hint{color:var(--text-muted);font-size:var(--text-caption);text-align:center;margin:12px 0 0}.trainer-card{border:1px solid var(--border-theme);background:var(--surface-primary);width:100%;max-width:640px;box-shadow:var(--shadow-card);border-radius:22px;gap:14px;margin:0 auto;padding:16px;display:grid}.trainer-card[data-outcome=correct]{border-color:color-mix(in srgb, var(--success) 55%, var(--border-theme))}.trainer-card[data-outcome=solution],.trainer-card[data-outcome=revealed]{border-color:color-mix(in srgb, var(--danger) 45%, var(--border-theme))}.trainer-card-head{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.trainer-card-number{border-radius:var(--radius-pill);background:var(--surface-accent-soft);color:var(--accent);font-variant-numeric:tabular-nums;padding:4px 10px;font-weight:700}.trainer-card-topic{min-width:0;color:var(--text-secondary);font-size:var(--text-caption);flex:auto}.trainer-card-meta{color:var(--text-muted);font-size:var(--text-caption)}.trainer-prompt{font-size:var(--text-body);line-height:1.55}.trainer-answer{gap:10px;display:grid}.trainer-answer-fields{align-items:center;gap:8px;display:flex}.trainer-answer-fields .trainer-input{font-variant-numeric:tabular-nums;flex:1 1 0;min-width:0;min-height:48px;font-size:17px}.trainer-answer-fields .trainer-input::placeholder{font-size:15px}.trainer-sign-button{border:1px solid var(--border-theme);background:var(--surface-primary);width:48px;height:48px;color:var(--text-primary);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:14px;flex:none;place-items:center;font-size:24px;font-weight:700;line-height:1;transition:background .14s,border-color .14s,transform .12s;display:inline-grid}.trainer-sign-button:active{transform:scale(.94)}.trainer-sign-button[aria-pressed=true]{border-color:var(--accent);background:var(--surface-accent-soft);color:var(--accent)}.trainer-sign-button:disabled{opacity:.5}.trainer-answer-fields--pair{align-items:flex-end}.trainer-field{flex:1 1 0;gap:4px;min-width:0;display:grid}.trainer-field>span{color:var(--text-secondary);font-size:var(--text-caption)}.trainer-answer-fields--pair .trainer-plus-minus,.trainer-answer-fields--pair .trainer-unit{line-height:48px}.trainer-plus-minus,.trainer-unit{color:var(--text-secondary);font-size:var(--text-body);flex:none}.trainer-plus-minus{font-size:20px}.trainer-check{width:100%}.trainer-feedback{border-radius:16px;gap:8px;padding:12px 14px;display:grid}.trainer-feedback--hint{background:var(--warning-soft)}.trainer-feedback--correct{background:var(--success-soft)}.trainer-feedback--wrong{background:var(--danger-soft)}.trainer-feedback-title{align-items:center;gap:8px;margin:0;font-weight:700;display:flex}.trainer-feedback-title svg{flex:none;width:20px;height:20px}.trainer-feedback--hint .trainer-feedback-title svg{color:var(--warning)}.trainer-feedback--correct .trainer-feedback-title svg{color:var(--success)}.trainer-feedback--wrong .trainer-feedback-title svg{color:var(--danger)}.trainer-feedback-note{color:var(--text-secondary);font-size:var(--text-caption);margin:0}.trainer-reveal{justify-self:start;min-height:44px}.trainer-solution{gap:6px;display:grid}.trainer-correct-answer,.trainer-your-answer{margin:0}.trainer-solution-toggle{min-height:44px;color:var(--accent);background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:0;font-weight:600;display:inline-flex}.trainer-solution-toggle svg{width:18px;height:18px;transition:transform .18s var(--ease)}.trainer-solution-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.trainer-solution-text{line-height:1.55}.solution{overflow-wrap:anywhere;gap:12px;display:grid}.solution p{margin:0}.solution-lines{gap:4px;min-width:0;display:grid}.solution-item{grid-template-columns:minmax(1.75em,auto) minmax(0,1fr);align-items:start;column-gap:8px;display:grid}.solution-marker{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:650}.solution-item[data-structured] .solution-lines>p:first-child{font-weight:600}.solution-item[data-structured] .solution-lines>p+p{color:var(--text-secondary)}.solution-answer{border-top:1px solid var(--border-theme);padding-top:10px}.solution-answer span{color:var(--text-secondary)}.trainer-next{gap:6px;width:100%}.trainer-center{flex:auto;place-items:center;padding:24px;display:grid}.trainer-end-card{text-align:center;justify-items:center;gap:10px;width:100%;max-width:420px;margin:0 auto;display:grid}.trainer-end-card h2,.trainer-end-card p{margin:0}.trainer-end-card p{color:var(--text-secondary)}.trainer-end-icon{width:44px;height:44px;color:var(--accent)}.trainer-end-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.trainer-end-actions>*{flex:140px}.trainer-immersive--scroll .trainer-results{flex:auto;min-height:0;overflow-y:auto}.trainer-results{padding:16px calc(var(--safe-right,0px) + 14px) calc(var(--safe-bottom,0px) + 24px) calc(var(--safe-left,0px) + 14px);align-content:start;gap:16px;display:grid}.trainer-score-card{background:var(--surface-accent-soft);text-align:center;border-radius:22px;justify-items:center;gap:4px;padding:20px 16px;display:grid}.trainer-score-card>svg{width:32px;height:32px;color:var(--accent)}.trainer-score-value{font-variant-numeric:tabular-nums;font-size:40px;line-height:1.05}.trainer-score-value span{color:var(--text-secondary);font-size:20px;font-weight:600}.trainer-score-card>span,.trainer-score-note{color:var(--text-secondary);font-size:var(--text-caption);margin:0}.trainer-result-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.trainer-result-row{border:1px solid var(--border-theme);background:var(--surface-primary);border-radius:16px;overflow:hidden}.trainer-result-head{width:100%;min-height:52px;color:var(--text-primary);text-align:left;background:0 0;border:0;grid-template-columns:28px minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:8px 12px;display:grid}.trainer-result-mark{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-weight:700;display:inline-flex}.trainer-result-mark svg{width:16px;height:16px}.trainer-result-row[data-result=correct] .trainer-result-mark{background:var(--success-soft);color:var(--success)}.trainer-result-row[data-result=partial] .trainer-result-mark{background:var(--warning-soft);color:var(--warning)}.trainer-result-row[data-result=wrong] .trainer-result-mark,.trainer-result-row[data-result=none] .trainer-result-mark{background:var(--danger-soft);color:var(--danger)}.trainer-result-title{font-size:var(--text-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trainer-result-points{font-variant-numeric:tabular-nums;font-weight:700}.trainer-result-chevron{width:18px;height:18px;color:var(--text-muted);transition:transform .18s var(--ease)}.trainer-result-head[aria-expanded=true] .trainer-result-chevron{transform:rotate(180deg)}.trainer-result-body{gap:10px;padding:0 12px 14px;display:grid}.trainer-reference{z-index:105;background:var(--surface-page);color:var(--text-primary);flex-direction:column;display:flex;position:fixed;inset:0}.trainer-reference-body{overscroll-behavior:contain;min-height:0;padding:14px calc(var(--safe-right,0px) + 14px) calc(var(--safe-bottom,0px) + 24px) calc(var(--safe-left,0px) + 14px);flex:auto;align-content:start;gap:14px;display:grid;overflow-y:auto}.trainer-reference-section{border:1px solid var(--border-theme);background:var(--surface-primary);border-radius:18px;gap:8px;padding:14px;display:grid}.trainer-reference-section h3{font-size:var(--text-body);margin:0}.trainer-reference-section dl{gap:6px;margin:0;display:grid}.trainer-reference-section dl>div{border-bottom:1px solid var(--border-theme);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;padding-bottom:6px;display:flex}.trainer-reference-section dl>div:last-child{border-bottom:0;padding-bottom:0}.trainer-reference-section dt{color:var(--text-secondary);font-size:var(--text-caption)}.trainer-reference-section dd{font-variant-numeric:tabular-nums;text-align:right;max-width:100%;margin:0 0 0 auto}.trainer-subjects{border:1px solid var(--border-theme);border-radius:var(--radius-pill);background:var(--surface-primary);justify-self:start;gap:4px;padding:4px;display:inline-flex}.trainer-subject{border-radius:var(--radius-pill);min-width:96px;min-height:40px;color:var(--text-secondary);font:inherit;transition:background-color .16s var(--ease), color .16s var(--ease);background:0 0;border:0;padding:0 16px;font-weight:600}.trainer-switchers{gap:8px;display:grid}.trainer-subjects[data-layout=grid]{border-radius:var(--radius-card);grid-template-columns:repeat(2,minmax(0,1fr));justify-self:stretch;display:grid}.trainer-subjects[data-layout=grid] .trainer-subject{border-radius:var(--radius-control);min-width:0;padding:0 10px}.trainer-subjects[data-layout=segmented]{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;justify-self:stretch;display:grid}.trainer-subjects[data-layout=segmented] .trainer-subject{min-width:0;min-height:44px}.trainer-subject[aria-pressed=true]{background:var(--accent);color:var(--text-on-accent,#fff)}.trainer-reference-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;gap:8px;max-width:100%;display:grid;overflow-x:auto}.trainer-reference-note{color:var(--text-secondary);font-size:var(--text-caption);margin:0;line-height:1.45}.trainer-periodic{grid-template-rows:repeat(7,48px) 10px repeat(2,48px);grid-template-columns:repeat(18,44px);gap:2px;width:max-content;display:grid}.trainer-element{background:var(--surface-muted);border-radius:6px;grid-template-rows:auto 1fr auto;place-items:center;padding:2px;line-height:1.05;display:grid}.trainer-element[data-block=s]{background:color-mix(in srgb, var(--danger) 16%, var(--surface-primary))}.trainer-element[data-block=p]{background:color-mix(in srgb, var(--warning) 20%, var(--surface-primary))}.trainer-element[data-block=d]{background:color-mix(in srgb, var(--accent) 14%, var(--surface-primary))}.trainer-element[data-block=f]{background:color-mix(in srgb, var(--success) 16%, var(--surface-primary))}.trainer-element strong{font-size:15px}.trainer-element-z,.trainer-element-mass{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:9px}.trainer-reference-table{border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:12px}.trainer-reference-table th,.trainer-reference-table td{border:1px solid var(--border-theme);text-align:center;white-space:nowrap;min-width:30px;padding:4px 3px}.trainer-reference-table thead th{background:var(--surface-muted);position:sticky;top:0}.trainer-reference-table tbody th{z-index:1;background:var(--surface-muted);text-align:left;position:sticky;left:0}.trainer-reference-table td[data-value=Н]{color:var(--danger);font-weight:700}.trainer-reference-table td[data-value=М]{color:var(--warning);font-weight:700}.trainer-reference-table td[data-value=\?],.trainer-reference-table td[data-value=–]{color:var(--text-muted)}.trainer-reference-series p:first-child{flex-wrap:wrap;gap:6px;margin:0;display:flex}.trainer-reference-series p:first-child span{background:var(--surface-muted);border-radius:8px;padding:4px 8px;font-weight:600}.trainer-variant-chip--reference{color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.trainer-variant-chip--reference svg{width:18px;height:18px}.app-toolbar.trainer-guest-toolbar{flex-wrap:nowrap;justify-content:space-between;gap:10px}.trainer-guest-brand{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.trainer-guest-actions{align-items:center;gap:8px;display:flex}.trainer-code-button{min-height:40px;font-size:var(--text-caption);gap:6px;padding:8px 12px}.trainer-code-button svg{width:16px;height:16px}.trainer-guest-policy{color:var(--text-secondary);font-size:var(--text-caption);text-align:center;margin:24px 0 0;line-height:1.45}.trainer-guest-policy a{color:inherit;text-decoration:underline}.welcome-guest{gap:8px;margin-top:12px;display:grid}.onboarding-secondary{color:#fff;width:100%;min-height:52px;font-size:var(--text-body);background:#ffffff1f;border:1px solid #ffffffb3;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-weight:700;display:flex}.welcome-guest-note{color:#ffffffdb;font-size:var(--text-caption);text-align:center;margin:0;line-height:1.45}.welcome-guest-note a{color:inherit;text-decoration:underline}.welcome-guest--code{justify-items:center}.welcome-guest--code .trainer-link-button{justify-self:center}.welcome-guest--code .welcome-guest-note{color:var(--text-secondary)}.trainer-tutor-subjects{gap:12px;display:grid}.trainer-tutor-stats{border:1px solid var(--border-theme);background:var(--surface-primary);border-radius:20px;gap:12px;padding:14px;display:grid}.trainer-weak{gap:8px;display:grid}.trainer-weak ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.trainer-lead-row{border:1px solid var(--border-theme);border-radius:16px;gap:8px;padding:12px;display:grid}.trainer-lead-note{white-space:pre-line;margin:0}@media (prefers-reduced-motion:reduce){.trainer-hero-bar>span,.trainer-number-bar>span,.trainer-number-tile,.trainer-solution-toggle svg,.trainer-result-chevron{transition:none}}.external-prompt-preview{min-height:220px;font-family:var(--font-mono);font-size:var(--text-caption);margin-top:10px}.external-json-input{min-height:210px;font-family:var(--font-mono);font-size:var(--text-caption)}.external-import-divider{color:var(--text-secondary);font-size:var(--text-caption);align-items:center;gap:10px;display:flex}.external-import-divider:before,.external-import-divider:after{content:"";border-top:1px solid var(--border-theme);flex:1}.external-slot-list,.external-file-list{gap:10px;display:grid}.external-slot-row,.external-file-row{border:1px solid var(--border-theme);border-radius:var(--radius-control);background:var(--surface-primary);grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);align-items:center;gap:10px 14px;padding:12px;display:grid}.external-file-row{grid-template-columns:minmax(160px,1fr) minmax(220px,1fr) auto}.external-slot-row>div:first-child,.external-file-row>div:first-child{gap:3px;min-width:0;display:grid}.external-slot-row.is-required,.external-file-row.is-unmatched{border-color:color-mix(in srgb, var(--warning) 42%, var(--border-theme));background:var(--warning-soft)}.external-verification{gap:8px;display:grid}.final-import-confirmation{border:1px solid var(--border-theme);border-radius:var(--radius-control);background:var(--surface-accent-soft);grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;min-height:44px;padding:10px 12px;display:grid}.final-import-confirmation input{width:20px;height:20px;accent-color:var(--accent);margin:1px 0 0}.final-import-confirmation span{gap:3px;display:grid}.final-import-confirmation small{color:var(--text-secondary);line-height:1.4}.admin-ai-readiness{gap:2px;display:grid}.compact-row{border-bottom:1px solid var(--border-theme);min-height:44px;padding:6px 0}@media (width<=560px){.ai-import-entry .glass-content,.ai-import-compare{grid-template-columns:1fr}.ai-import-entry .glass-content{flex-direction:column;align-items:stretch}.ai-import-entry .secondary-button{width:100%}.ai-import-mode-grid,.external-import-setup,.homework-request-setup,.announcement-panel,.external-slot-row,.external-file-row{grid-template-columns:1fr}.ai-import-mode-option-content>.button,.ai-import-mode-option-content>.secondary-button{width:100%}.announcement-actions>button{flex:100%}.external-slot-row>.row{grid-template-columns:1fr;align-items:stretch;display:grid}.external-slot-row>.row>span{overflow-wrap:anywhere}.external-slot-row>.row>label,.external-slot-row>.row>button{width:100%}}@media (prefers-reduced-motion:reduce){.progress-track>span{transition:none}}@media (forced-colors:active){.progress-track{background:canvas;border:1px solid canvastext}.progress-track>span{background:highlight}}.file-picker,.file-filter-grid{gap:12px;width:100%;display:grid}.school-catalog,.catalog-level{gap:14px;width:100%;display:grid}.catalog-grid{gap:10px;width:100%;display:grid}.catalog-node{gap:6px;display:grid}.catalog-breadcrumbs{scrollbar-width:none;gap:8px;width:100%;max-width:100%;padding-bottom:2px;display:flex;overflow-x:auto}.catalog-breadcrumbs::-webkit-scrollbar{display:none}.advanced-upload{border:1px dashed var(--border-soft);border-radius:var(--radius-card);background:var(--surface-page);padding:12px}.advanced-upload summary{color:var(--text-secondary);cursor:pointer;font-size:var(--text-compact)}.advanced-upload[open] summary{margin-bottom:12px}.file-filter-grid{grid-template-columns:minmax(0,1fr)}.file-card{gap:12px;display:grid}.file-card .row-start>div:first-child{min-width:0}.file-author{color:var(--text-muted);font-size:var(--text-caption);overflow-wrap:anywhere;margin-top:5px;line-height:1.4}.library-primary-action{width:100%;margin-bottom:12px}.school-material-editor{scroll-margin-top:calc(var(--safe-top) + 16px)}.selected-upload{border:1px solid var(--border-theme);border-radius:var(--radius-control);background:var(--surface-accent-soft);min-width:0;color:var(--blue-strong);font-size:var(--text-small);justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.selected-upload strong{overflow-wrap:anywhere;min-width:0}.selected-upload span{color:var(--text-secondary);flex:none}.library-own-heading{margin-top:30px}.library-owned-list{margin-top:12px}.library-owner-actions{padding-top:2px}.file-card.selected{border-color:var(--accent);background:var(--surface-accent-soft)}.selection-action-bar{bottom:calc(var(--safe-bottom) + var(--nav-height) + 10px);z-index:20;border:1px solid var(--border-theme);border-radius:var(--radius-card);background:var(--surface-primary);gap:12px;width:100%;margin-top:14px;padding:14px;display:grid;position:sticky}.chip-row{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;width:100%;max-width:100%;padding:2px 0 4px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip{border:1px solid var(--border-theme);border-radius:var(--radius-pill);background:var(--surface-accent-soft);max-width:min(78vw,260px);min-height:44px;color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-regular);white-space:nowrap;text-overflow:ellipsis;transition:transform .18s var(--ease), background-color .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);flex:none;padding:8px 18px;overflow:hidden}.status{border:1px solid var(--border-theme);border-radius:var(--radius-pill);max-width:100%;min-height:28px;font-size:var(--text-caption);font-weight:var(--weight-regular);white-space:nowrap;flex:none;align-items:center;padding:5px 11px;line-height:1.15;display:inline-flex}.meta{color:var(--text-muted);font-size:var(--text-compact);font-weight:var(--weight-regular);overflow-wrap:anywhere;line-height:1.35}.item-title{color:var(--text-primary);font-size:var(--text-title-sm);letter-spacing:0;overflow-wrap:anywhere;font-weight:400;line-height:1.16}.card-button{background:var(--surface-primary);color:var(--text-primary);text-align:left;transition:transform .18s var(--ease), border-color .18s var(--ease), background-color .18s var(--ease);padding:18px;display:block;position:relative;overflow:hidden}.assignment-actions{gap:8px;margin-top:14px;display:grid}.divider{background:var(--border-soft);height:1px;margin:14px 0}.answer-block{background:var(--surface-primary);padding:18px}.review-result,.task-comment{gap:8px;display:grid}.option{background:var(--surface-primary);align-items:flex-start;gap:10px;min-height:46px;padding:12px 14px;display:flex}.option input{accent-color:var(--accent);flex:none;margin-top:3px}.option span{overflow-wrap:anywhere;min-width:0}.nav{z-index:20;border-top:1px solid var(--border-theme);background:var(--surface-page);width:100%;max-width:100%;padding:10px max(10px, env(safe-area-inset-left,0px)) calc(10px + var(--safe-bottom)) max(10px, env(safe-area-inset-right,0px));position:fixed;bottom:0;left:0;right:0}.nav-grid{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;width:min(100%,520px);max-width:100%;margin:0 auto;display:flex;overflow-x:auto}.nav-grid::-webkit-scrollbar{display:none}.nav-item{border:1px solid var(--border-theme);border-radius:var(--radius-pill);background:var(--surface-accent-soft);min-width:0;min-height:42px;color:var(--text-primary);font-size:var(--text-caption);font-weight:var(--weight-regular);white-space:nowrap;text-overflow:ellipsis;transition:transform .18s var(--ease), background-color .18s var(--ease), color .18s var(--ease);flex:1 0 78px;padding:7px 12px;line-height:1.15;overflow:hidden}.launch{width:100%;min-height:var(--app-viewport-stable-height);background:var(--surface-page);place-items:center;padding:16px;display:grid}.launch-card{background:var(--surface-muted);gap:14px;width:min(100%,320px);padding:20px;display:grid}.dots{gap:6px;display:flex}.dots span{background:var(--accent);border-radius:12px;width:22px;height:8px;animation:1.1s ease-in-out infinite dot}.dots span:nth-child(2){animation-delay:.13s}.dots span:nth-child(3){animation-delay:.26s}.file-link{border:1px solid var(--border-soft);border-radius:var(--radius-control);background:var(--surface-primary);max-width:100%;min-height:38px;color:var(--accent);font-weight:700;font:inherit;overflow-wrap:anywhere;cursor:pointer;align-items:center;padding:8px 12px;text-decoration:none;display:inline-flex}.file-link:disabled{cursor:wait;opacity:.7}.file-open-block{justify-items:start;gap:6px;min-width:0;display:grid}.text-button{color:var(--danger);font:inherit;font-size:var(--text-compact);background:0 0;border:0;justify-self:start;padding:0}.mini-table{gap:10px;width:100%;display:grid}.mini-table strong{overflow-wrap:anywhere;text-align:right;max-width:100%}.student-row{color:var(--text-primary);font:inherit;text-align:left;background:var(--surface-primary);gap:14px;padding:18px;display:grid}.student-row-shell{min-width:0;position:relative}.student-row-shell>.student-row{padding-right:114px}.student-alias-edit.glass-control,.student-goal-edit.glass-control{width:46px;min-width:46px;height:46px;min-height:46px;position:absolute;top:13px}.student-alias-edit.glass-control{right:13px}.student-goal-edit.glass-control{right:61px}.student-alias-edit svg,.student-goal-edit svg{width:18px;height:18px}.student-alias-layer{z-index:110;padding:max(14px, var(--safe-top)) 14px max(14px, var(--safe-bottom));place-items:center;display:grid;position:fixed;inset:0}.student-alias-scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08070c80;position:absolute;inset:0}.student-alias-dialog.glass-surface{--glass-radius:30px;width:min(100%,520px);max-height:min(88dvh,680px)}.student-alias-dialog-content{overscroll-behavior:contain;gap:15px;padding:22px;display:grid;overflow-y:auto}.student-alias-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-alias-heading h2{margin:3px 0 0;font-size:1.42rem}.student-alias-original{background:var(--surface-muted);border-radius:16px;gap:4px;padding:12px 14px;display:grid}.student-alias-original span,.student-alias-help{color:var(--text-secondary);font-size:var(--text-small)}.student-alias-original strong{overflow-wrap:anywhere}.student-alias-help{margin:0;line-height:1.5}.student-alias-actions{grid-template-columns:1.2fr .8fr 1fr;gap:9px;display:grid}.student-alias-actions>*{min-height:48px}@media (width<=520px){.student-alias-layer{align-items:end;padding-inline:10px}.student-alias-dialog.glass-surface{--glass-radius:28px 28px 22px 22px}.student-alias-dialog-content{padding:19px 16px}.student-alias-actions{grid-template-columns:1fr 1fr}.student-alias-actions>:first-child{grid-column:1/-1}}html[data-reduced-transparency=true] .student-alias-dialog>.glass-material,html[data-glass-backdrop=false] .student-alias-dialog>.glass-material{background:var(--surface-raised)}html[data-reduced-transparency=true] .student-alias-scrim,html[data-glass-backdrop=false] .student-alias-scrim{-webkit-backdrop-filter:none;backdrop-filter:none}@media (forced-colors:active){.student-alias-dialog.glass-surface,.student-alias-original{color:canvastext;background:canvas;border:1px solid canvastext}.student-alias-scrim{opacity:.72;-webkit-backdrop-filter:none;backdrop-filter:none;background:canvas}}.student-invite-panel{gap:14px;display:grid}.student-invite-panel .button,.student-invite-actions .button,.student-invite-actions .ghost-button,.student-remove-button{gap:8px}.student-invite-list{gap:8px;display:grid}.student-invite-row{background:var(--surface-muted);border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:10px 12px;display:grid}.student-invite-row-text{min-width:0}.student-invite-row-text .item-title{overflow-wrap:anywhere}.student-invite-row .ghost-button{grid-column:1/-1;min-height:44px}.student-invite-history-toggle{justify-self:start;min-height:44px}.student-exact-add-toggle{margin-top:4px}.student-invite-form{gap:15px;display:grid}.student-invite-message{background:var(--surface-muted);font-size:var(--text-compact);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;border-radius:16px;margin:0;padding:12px 14px;line-height:1.5}.student-invite-code{font-size:var(--text-title-sm);letter-spacing:.08em;-webkit-user-select:all;user-select:all}.student-invite-notice{color:var(--success);font-size:var(--text-small);margin:0}.student-invite-notice:empty{display:none}.student-invite-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.student-invite-actions>*{min-height:48px}.student-invite-actions>:only-child{grid-column:1/-1}.student-invite-secondary{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.student-invite-secondary .text-button{min-height:44px}.student-invite-secondary .text-button:first-child,.student-invite-history-toggle.text-button{color:var(--accent)}.student-invite-secondary .text-button:last-child{color:var(--text-secondary)}.student-remove-zone{gap:10px;margin-top:18px;display:grid}.access-invite-hint{color:var(--text-secondary);font-size:var(--text-small);margin:0;line-height:1.45}@media (width<=520px){.student-invite-actions{grid-template-columns:1fr}.student-invite-actions>.button{order:-1}}@media (forced-colors:active){.student-invite-row,.student-invite-message{color:canvastext;background:canvas;border:1px solid canvastext}}.choice-editor,.choice-options,.task-attachments{gap:10px;min-width:0;display:grid}.choice-row{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.choice-toggle{border:1px solid var(--border-theme);background:var(--surface-primary);width:44px;height:44px;color:var(--text-primary);border-radius:999px;font-weight:700}.choice-toggle.active{border-color:var(--accent);background:var(--accent);color:#fff}.attachment-chip{border:1px solid var(--border-theme);background:var(--surface-primary);border-radius:12px;gap:8px;min-width:0;padding:10px;display:grid}.image-preview{gap:8px;display:grid}.image-button{text-align:left;background:0 0;border:0;border-radius:8px;width:100%;min-height:44px;padding:0;display:block}.image-preview img{object-fit:contain;border:1px solid var(--border-theme);background:var(--surface-page);border-radius:8px;width:100%;max-height:260px;display:block}.image-fallback{border:1px dashed var(--border-soft);border-radius:8px;gap:8px;padding:12px;display:grid}.lightbox{z-index:100;padding:max(16px, var(--safe-content-top)) max(16px, var(--safe-right)) max(16px, calc(var(--safe-bottom) + 18px)) max(16px, var(--safe-left));place-items:center;display:grid;position:fixed;inset:0}.lightbox-backdrop{background:#000000bd;border:0;width:100%;height:100%;position:absolute;inset:0}.lightbox-panel{z-index:1;background:var(--surface-primary);border:1px solid #ffffff2e;border-radius:14px;gap:10px;width:min(100%,680px);max-height:100%;padding:12px;display:grid;position:relative;overflow:auto}.lightbox-panel img{object-fit:contain;background:var(--surface-page);border-radius:10px;width:100%;max-height:min(72vh,720px);display:block}.lightbox-close{border:1px solid var(--border-soft);border-radius:var(--radius-control);background:var(--surface-primary);min-height:44px;color:var(--text-primary);justify-self:end;padding:8px 12px;font-weight:700}.photo-test-editor,.photo-test-answers,.photo-test-result{gap:12px;min-width:0;display:grid}.photo-test-row{grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.photo-test-row.missing .photo-test-index{border-color:var(--danger);color:var(--danger)}.photo-test-index{border:1px solid var(--border-theme);width:30px;height:30px;font-size:var(--text-small);border-radius:999px;place-items:center;font-weight:700;display:inline-grid}.result-ok{color:var(--success)}.result-bad{color:var(--danger)}@media (width<=359px){.title{font-size:36px}.stat-grid{grid-template-columns:minmax(0,1fr)}}@media (width>=640px){.app-shell{padding-inline:20px}.card,.panel,.empty,.card-button,.answer-block,.student-row{padding:20px}.title{font-size:52px}.grid-2,.grid-2.wide,.file-filter-grid,.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@keyframes screen-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes dot{0%,80%,to{opacity:.36;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}:root{font-family:var(--font-text);color:#211f2a;--success:#2e6b4f;--success-soft:#e7f5ef;--warning:#8c5d13;--warning-soft:#fff4dd;--danger:#a33241;--danger-soft:#fff0f2;--radius-card:20px;--radius-control:14px;--radius-pill:999px;--nav-height:82px;--bottom-space:calc(var(--safe-bottom) + var(--nav-height) + 24px);--shadow-card:0 8px 28px #33276411;--shadow-float:0 18px 44px #33276429;--ease:cubic-bezier(.2, .8, .2, 1);background:#f7f7fb}html[data-tg-fullscreen=true]{--telegram-chrome-top:0px;--top-space:max(16px, calc(var(--screen-top,var(--safe-top)) + 12px))}html[data-tg-keyboard=true] .onboarding-shell{min-height:var(--app-viewport-height)}html[data-tg-keyboard=true] .onboarding-inner{min-height:calc(var(--app-viewport-height) - var(--top-space) - max(20px, var(--safe-bottom)))}html,body,#root{background:var(--surface-page)}body{color:var(--text-primary);font-size:var(--text-body-lg);letter-spacing:0;font-weight:400;line-height:1.5}button,input,textarea,select{letter-spacing:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 24%, transparent);outline-offset:2px}.app-shell{padding:var(--top-space) 16px var(--bottom-space);background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--accent) 4.5%, transparent), transparent 32%), var(--surface-page)}.screen{animation:screen-enter var(--motion-medium,.22s) var(--ease-enter,var(--ease));gap:0}.page-header,.topbar{align-items:center;margin-bottom:26px;padding:0}.page-header:after,.topbar:after{display:none}.eyebrow{color:var(--accent);font-family:inherit;font-size:var(--text-caption);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.title{letter-spacing:-.025em;overflow-wrap:normal;margin:7px 0 0;font-family:inherit;font-size:clamp(30px,9vw,38px);font-weight:720;line-height:1.07}.subtitle{color:var(--text-secondary);font-size:var(--text-body);margin-top:10px;font-weight:400;line-height:1.45}.card,.panel,.empty,.stat-card,.quick-card,.card-button,.student-row,.answer-block,.option,.launch-card{border:1px solid var(--border-theme);border-radius:var(--radius-card);background:var(--surface-primary)}.card,.panel,.empty,.card-button,.answer-block,.student-row{padding:18px}.card,.panel,.card-button,.answer-block,.student-row,.quick-card{box-shadow:var(--shadow-card)}.empty{color:var(--text-secondary);font-size:var(--text-body);text-align:center;background:#ffffff94;border-style:dashed;line-height:1.5}.stack,.grid-2,.grid-2.wide{gap:12px}.section-title{color:var(--text-secondary);font-family:inherit;font-size:var(--text-caption);letter-spacing:.055em;margin:30px 0 12px;font-weight:700}.section-heading{justify-content:space-between;align-items:end;gap:16px;margin:30px 0 12px;display:flex}.section-heading.compact{margin:0 0 18px}.section-heading h2{font-size:var(--text-title);letter-spacing:-.015em;margin:3px 0 0;font-weight:700;line-height:1.2}.section-kicker{color:var(--text-muted);font-size:var(--text-micro);letter-spacing:.055em;text-transform:uppercase;font-weight:700}.link-action{min-height:44px;color:var(--accent);background:0 0;border:0;align-items:center;gap:2px;padding:8px 0 8px 10px;font-weight:650;display:inline-flex}.link-action svg{width:17px;height:17px}.button,.ghost-button,.danger-button,.secondary-button,.file-link{border-radius:var(--radius-control);min-height:48px;font-size:var(--text-body);box-shadow:none;padding:12px 16px;font-weight:650;line-height:1.25}.button{border-color:var(--accent);background:var(--accent);color:#fff}.ghost-button,.file-link{border-color:var(--border-strong);color:var(--text-primary);background:#fff}.danger-button{background:var(--danger-soft);color:var(--danger);border-color:#bd405621}.button svg,.secondary-button svg,.ghost-button svg,.danger-button svg{width:18px;height:18px}.icon-button,.round-action{border:1px solid var(--border-theme);width:44px;height:44px;color:var(--text-primary);background:#fff;border-radius:50%;flex:none;place-items:center;display:inline-grid}.input,.textarea,.select{border:1px solid var(--border-strong);border-radius:var(--radius-control);min-height:50px;color:var(--text-primary);font-size:var(--text-body-lg);background:#fff;padding:12px 14px;font-weight:400;line-height:1.4}.textarea{border-radius:var(--radius-control);min-height:118px}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);outline:3px solid color-mix(in srgb, var(--accent) 13%, transparent);outline-offset:0}.label{color:var(--text-primary);font-size:var(--text-small);letter-spacing:0;text-transform:none;margin-bottom:7px;font-weight:650}.form-grid{gap:15px}.meta{color:var(--text-secondary);font-size:var(--text-compact);font-weight:400;line-height:1.45}.item-title{font-size:var(--text-title-sm);letter-spacing:-.01em;font-weight:680;line-height:1.25}.divider{background:var(--border-theme)}.error-banner,.success-banner{border-radius:var(--radius-control);font-size:var(--text-compact);font-weight:500}.error-banner{border-color:#bd405621}.success-banner{border-color:#26745b21}.status{min-height:28px;font-size:var(--text-caption);border:0;padding:5px 10px;font-weight:650}.status.todo{color:#5066a5;background:#edf2ff}.status.waiting{background:var(--warning-soft);color:var(--warning)}.status.done{background:var(--success-soft);color:var(--success)}.status.locked{color:var(--text-secondary);background:#f0eff4}.status.late{color:var(--danger);background:var(--danger-soft)}.assignment-late-note{color:var(--danger);font-size:var(--text-small);margin-top:10px;font-weight:650}.assignment-filter{width:100%;margin:12px 0 22px}.upload-progress{z-index:120;left:50%;bottom:calc(var(--safe-bottom) + var(--nav-height) + 10px);border:1px solid var(--border-soft);border-radius:var(--radius-control);background:var(--surface-primary);width:min(360px,100% - 32px);height:42px;box-shadow:var(--shadow-float);position:fixed;overflow:hidden;transform:translate(-50%)}@keyframes upload-progress-materialize{0%{opacity:0;transform:translate(-50%)translateY(5px)scale(.96)}to{opacity:1;transform:translate(-50%)}}.upload-progress.glass-materialize{animation-name:upload-progress-materialize}.upload-progress-fill{background:var(--surface-accent-soft);width:100%;transform:scaleX(var(--upload-progress,0));transform-origin:0;transition:transform var(--motion-fast,.18s) var(--ease-standard,ease);position:absolute;inset:0}.upload-progress-content>strong{z-index:1;min-height:100%;color:var(--accent);font-size:var(--text-small);place-items:center;display:grid;position:relative}html[data-tg-keyboard=true] .upload-progress{bottom:calc(var(--safe-bottom) + 10px)}.stat-grid{gap:10px;margin-bottom:8px}.stat-card{min-height:104px;box-shadow:var(--shadow-card);background:#fff;padding:16px}.stat-card.accent,.stat-card.warning,.stat-card.success{background:#fff}.stat-value{color:var(--text-primary);font-family:inherit;font-size:var(--text-display);font-weight:720;line-height:1}.stat-label{color:var(--text-secondary);font-size:var(--text-small);margin-top:10px;font-weight:500}.card-button{border:1px solid var(--border-theme);transition:transform .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease);background:#fff}.card-button:active,.quick-card:active,.insight-card:active,.settings-list button:active{transform:scale(.99)}.quick-grid{gap:12px}.quick-card{border:1px solid var(--border-theme);background:#fff;min-height:108px;padding:18px}.chip-row{gap:8px}.chip{border-color:var(--border-strong);min-height:42px;color:var(--text-secondary);font-size:var(--text-compact);background:#fff;padding:9px 14px;font-weight:550}.chip.active{border-color:var(--accent);background:var(--surface-accent-soft);color:var(--blue-strong)}.option,.choice-toggle,.photo-test-index{border-color:var(--border-strong)}.option{border-radius:var(--radius-control);min-height:48px}.choice-toggle.active{border-color:var(--accent);background:var(--accent)}.attachment-chip{border-color:var(--border-theme);border-radius:var(--radius-control);background:#fbfaff}.image-preview img{border-color:var(--border-theme);border-radius:var(--radius-control);background:#f4f3f8;max-height:320px}.lightbox-panel{box-shadow:var(--shadow-float);border:0;border-radius:22px}.selection-action-bar{bottom:calc(var(--safe-bottom) + var(--nav-height) + 12px);border-color:var(--border-theme);background:#fffffff5;border-radius:18px}.nav{padding:8px max(8px, env(safe-area-inset-left,0px)) calc(8px + var(--safe-bottom)) max(8px, env(safe-area-inset-right,0px));background:0 0;border-top:0}.nav-grid{gap:0;width:min(100%,560px);overflow:visible}.nav-item{min-width:0;min-height:56px;color:var(--text-muted);font-size:var(--text-micro);font-weight:var(--weight-semibold);letter-spacing:-.01em;background:0 0;border:0;border-radius:16px;flex:1 1 0;grid-template-rows:22px 14px;align-content:center;justify-items:center;gap:3px;padding:6px 1px;line-height:1;display:grid;position:relative}.nav-item span:not(.nav-badge){text-overflow:ellipsis;width:100%;overflow:hidden}.nav-item.active{background:var(--surface-accent-soft);color:var(--blue-strong)}.nav-icon{stroke-width:2px;width:21px;height:21px}.nav-badge{background:var(--danger);color:#fff;border:2px solid #fff;border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 3px;font-size:10px;line-height:1;display:grid;position:absolute;top:4px;left:calc(50% + 7px)}.launch{background:var(--surface-page)}.launch-card{box-shadow:var(--shadow-card);background:#fff;border:0}.recovery-shell{min-height:var(--app-viewport-stable-height);padding-bottom:var(--top-space);place-items:center;display:grid}.recovery-card{border:1px solid var(--border-soft);width:min(100%,420px);box-shadow:var(--shadow-float);background:#fff;border-radius:24px;padding:24px}.recovery-card h1{margin:8px 0 10px;font-size:28px;line-height:1.12}.recovery-card p{color:var(--text-secondary);margin:0 0 18px}.dots span{background:var(--accent)}.dashboard-hero{background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 94%, #fff) 0%, var(--accent) 100%);color:#fff;box-shadow:0 18px 40px color-mix(in srgb, var(--accent-pressed) 20%, transparent);border-radius:24px;gap:18px;padding:22px;display:grid;position:relative;overflow:hidden}.dashboard-hero:after{content:"";border:1px solid #fff3;border-radius:50%;width:150px;height:150px;position:absolute;top:-42px;right:-32px}.hero-copy{z-index:1;max-width:82%;position:relative}.hero-copy h2{letter-spacing:-.02em;margin:6px 0 7px;font-size:25px;font-weight:720;line-height:1.12}.hero-copy p{color:#fff;font-size:var(--text-compact);margin:0;line-height:1.45}.hero-label{color:#fff;font-size:var(--text-micro);letter-spacing:.055em;text-transform:uppercase;font-weight:700}.hero-symbol{z-index:1;background:#ffffff1f;border:1px solid #ffffff38;border-radius:16px;place-items:center;width:48px;height:48px;display:grid;position:absolute;top:22px;right:20px}.hero-symbol svg{width:24px;height:24px}.hero-action{z-index:1;width:100%;color:var(--blue-strong);background:#fff;border-color:#fff;position:relative}.compact-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.compact-stats>button,.compact-stats>div{border:1px solid var(--border-theme);min-height:82px;color:var(--text-primary);text-align:center;box-shadow:var(--shadow-card);background:#fff;border-radius:16px;align-content:center;gap:4px;padding:12px 8px;display:grid}.compact-stats span{font-size:var(--text-title-lg);font-weight:720;line-height:1}.compact-stats small{color:var(--text-secondary);font-size:var(--text-micro);font-weight:500;line-height:1.2}.home-two-column{gap:10px;margin-top:12px;display:grid}.insight-card{border:1px solid var(--border-theme);min-height:78px;color:var(--text-primary);text-align:left;box-shadow:var(--shadow-card);background:#fff;border-radius:18px;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:14px;display:grid}.insight-card>svg:first-child{background:var(--surface-accent-soft);width:42px;height:42px;color:var(--accent);border-radius:13px;padding:10px}.insight-card>svg:last-child{width:18px;height:18px;color:var(--text-muted)}.insight-card span{display:grid}.insight-card strong{font-size:var(--text-body);font-weight:680}.insight-card small{color:var(--text-secondary);font-size:var(--text-caption);margin-top:2px;line-height:1.3}.segmented-control{border:1px solid var(--border-theme);background:#efedf6;border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;display:grid}.segmented-control button{min-height:44px;color:var(--text-secondary);font-size:var(--text-caption);background:0 0;border:0;border-radius:12px;padding:6px 4px;font-weight:650}.segmented-control button.active{color:var(--blue-strong);background:#fff;box-shadow:0 3px 10px #33276414}.admin-sections{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.admin-section{display:none}.admin-section.active{animation:screen-enter .18s var(--ease) both;display:block}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.metric-card{border:1px solid var(--border-theme);min-height:114px;box-shadow:var(--shadow-card);background:#fff;border-radius:18px;align-content:center;padding:16px;display:grid}.metric-value{font-size:var(--text-display);letter-spacing:-.03em;font-weight:740;line-height:1}.metric-label{color:var(--text-secondary);font-size:var(--text-small);margin-top:10px;font-weight:560}.analytics-card{border:1px solid var(--border-theme);box-shadow:var(--shadow-card);background:#fff;border-radius:20px;margin-top:12px;padding:18px}.delta{font-size:var(--text-caption);border-radius:999px;padding:5px 9px;font-weight:700}.delta.positive{background:var(--success-soft);color:var(--success)}.delta.negative{background:var(--danger-soft);color:var(--danger)}.trend-chart{border-bottom:1px solid var(--border-theme);align-items:end;gap:4px;height:150px;padding:14px 0 24px;display:flex;overflow:hidden}.trend-column{flex:1 1 0;align-items:end;height:100%;display:flex;position:relative}.trend-column>span{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 78%, #fff), var(--accent-hover));border-radius:5px 5px 2px 2px;width:100%;min-height:3px;display:block}.trend-column small{color:var(--text-muted);font-size:var(--text-micro);white-space:nowrap;position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%)}.trend-column:first-child small{left:0;transform:none}.trend-column:last-child small{left:auto;right:0;transform:none}.progress-list,.result-list{gap:14px;display:grid}.progress-row>div{font-size:var(--text-small);justify-content:space-between;gap:12px;margin-bottom:7px;display:flex}.progress-track{background:#eeecf4;border-radius:999px;height:7px;display:block;overflow:hidden}.progress-track>span{border-radius:inherit;background:var(--accent);height:100%;display:block}.streak-card{border:1px solid color-mix(in srgb, var(--accent) 12%, transparent);background:var(--surface-accent-soft);color:var(--blue-strong);border-radius:18px;align-items:center;gap:13px;margin-top:12px;padding:16px;display:flex}.streak-card>svg{width:27px;height:27px}.streak-card div{display:grid}.streak-card span{color:var(--text-secondary);font-size:var(--text-caption)}.result-list button{border:0;border-bottom:1px solid var(--border-theme);min-height:58px;color:var(--text-primary);text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:0 0 12px;display:grid}.result-list button:last-child{border-bottom:0;padding-bottom:0}.result-list span{display:grid}.result-list small{color:var(--text-secondary);font-size:var(--text-caption)}.result-list b{color:var(--blue-strong);font-size:var(--text-compact)}.statistics-skeleton{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px;display:grid}.statistics-skeleton span{background:linear-gradient(100deg,#efedf5 20%,#f8f7fb 50%,#efedf5 80%) 0 0/240% 100%;border-radius:18px;min-height:114px;animation:1.4s linear infinite shimmer}.statistics-skeleton span:last-child{grid-column:1/-1;min-height:180px}.error-state{border:1px solid var(--border-theme);text-align:center;background:#fff;border-radius:20px;justify-items:center;gap:8px;margin-top:14px;padding:28px 20px;display:grid}.error-state>svg{color:var(--accent)}.error-state p{color:var(--text-secondary);font-size:var(--text-compact);margin:0}.profile-card{border:1px solid var(--border-theme);box-shadow:var(--shadow-card);background:#fff;border-radius:20px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:13px;padding:16px;display:grid}.profile-avatar{background:linear-gradient(145deg, var(--accent), color-mix(in srgb, var(--accent) 66%, #fff));color:#fff;border-radius:17px;place-items:center;width:52px;height:52px;font-size:20px;font-weight:720;display:grid}.profile-card>div:nth-child(2){display:grid}.profile-card>div:nth-child(2) span{color:var(--text-secondary);font-size:var(--text-small)}.profile-details{margin-top:12px}.privacy-card{border:1px solid var(--border-theme);background:var(--surface-accent-soft);border-radius:18px;gap:12px;margin-top:12px;padding:16px;display:flex}.privacy-card>svg{color:var(--accent);flex:none}.privacy-card div{gap:3px;display:grid}.privacy-card span{color:var(--text-secondary);font-size:var(--text-small)}.settings-list{gap:10px;display:grid}.settings-list button{border:1px solid var(--border-theme);min-height:78px;color:var(--text-primary);text-align:left;box-shadow:var(--shadow-card);background:#fff;border-radius:18px;grid-template-columns:46px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:14px;display:grid}.settings-icon{background:var(--surface-accent-soft);width:46px;height:46px;color:var(--accent);border-radius:14px;place-items:center;display:grid}.settings-list button>span:nth-child(2){display:grid}.settings-list small{color:var(--text-secondary);font-size:var(--text-caption)}.onboarding-shell{width:100%;min-height:var(--app-viewport-stable-height);padding:var(--top-space) 18px max(20px, var(--safe-bottom));overflow:hidden auto}.onboarding-inner{z-index:2;width:min(100%,520px);min-height:calc(var(--app-viewport-stable-height) - var(--top-space) - max(20px, var(--safe-bottom)));flex-direction:column;margin:0 auto;display:flex;position:relative}.welcome-screen{background:linear-gradient(155deg, var(--accent-hover) 0%, var(--accent) 54%, color-mix(in srgb, var(--accent) 86%, #fff) 100%);color:#fff;position:relative}.welcome-screen:before{content:"";background:linear-gradient(#ffffff0d,#39248724);position:absolute;inset:0}.welcome-orbit{border:1px solid #fff3;border-radius:50%;position:absolute}.orbit-one{width:260px;height:260px;top:15%;right:-85px}.orbit-two{width:220px;height:220px;bottom:12%;left:-110px}.brand-row{min-height:48px;font-size:var(--text-body-lg);align-items:center;gap:9px;font-weight:700;display:flex}.brand-mark{color:#fff;background:#ffffff2b;border:1px solid #ffffff61;border-radius:27px;place-items:center;width:84px;height:84px;display:grid;box-shadow:0 18px 36px #2f198133}.brand-mark svg{width:42px;height:42px}.brand-mark.compact{width:38px;height:38px;box-shadow:none;border-radius:12px}.brand-mark.compact svg{width:21px;height:21px}.welcome-visual{place-items:center;min-height:280px;margin:auto 0 12px;display:grid;position:relative}.floating-note{color:#ffffffeb;font-size:var(--text-caption);background:#ffffff29;border:1px solid #ffffff52;border-radius:15px;align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:flex;position:absolute}.floating-note svg{width:17px;height:17px}.note-one{top:22px;left:5%}.note-two{bottom:24px;right:3%}.welcome-copy,.slide-copy{text-align:left}.welcome-copy h1,.slide-copy h1{letter-spacing:-.035em;margin:7px 0 11px;font-size:clamp(34px,10vw,44px);font-weight:740;line-height:1.04}.welcome-copy p:last-child,.slide-copy p:last-child{color:#fff;font-size:var(--text-body-lg);margin:0;line-height:1.5}.onboarding-kicker{color:#fff;font-size:var(--text-micro);letter-spacing:.075em;text-transform:uppercase;margin:0;font-weight:750}.onboarding-primary{width:100%;min-height:54px;color:var(--blue-strong);font-size:var(--text-body-lg);background:#fff;border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:14px 18px;font-weight:700;display:flex;box-shadow:0 14px 30px #321e7f2e}.onboarding-primary svg{width:19px;height:19px}.welcome-content>.onboarding-primary{margin-top:24px}.onboarding-progress{justify-content:center;gap:6px;margin-top:18px;display:flex}.onboarding-progress span{width:7px;height:7px;transition:width .2s var(--ease), background-color .2s var(--ease);background:#ffffff57;border-radius:999px}.onboarding-progress span.active{background:#fff;width:22px}.onboarding-light{color:var(--text-primary);background:#f8f7fc}.onboarding-light .onboarding-progress span{background:#d9d4e9}.onboarding-light .onboarding-progress span.active{background:var(--accent)}.onboarding-light .brand-mark{border-color:color-mix(in srgb, var(--accent) 16%, transparent);background:var(--surface-accent-soft);color:var(--accent)}.slide-layout,.code-layout{gap:18px}.onboarding-toolbar{justify-content:space-between;align-items:center;min-height:46px;display:flex}.onboarding-skip{min-height:44px;color:var(--text-secondary);background:0 0;border:0;padding:8px 0 8px 14px;font-weight:650}.slide-illustration{place-items:center;min-height:300px;margin:auto 0 0;display:grid;position:relative}.slide-icon{z-index:3;background:linear-gradient(145deg, var(--accent), color-mix(in srgb, var(--accent) 68%, #fff));color:#fff;width:90px;height:90px;box-shadow:0 22px 44px color-mix(in srgb, var(--accent-pressed) 24%, transparent);border-radius:29px;place-items:center;display:grid;position:relative}.slide-icon svg{width:43px;height:43px}.slide-paper{border:1px solid var(--border-theme);width:190px;height:132px;box-shadow:var(--shadow-card);background:#fff;border-radius:22px;position:absolute}.paper-back{transform:rotate(-8deg)translate(-12px,14px)}.paper-front{align-content:end;gap:10px;padding:22px;display:grid;transform:rotate(6deg)translate(22px,22px)}.paper-front span{background:#ece9f5;border-radius:999px;height:8px}.paper-front span:nth-child(2){width:76%}.paper-front span:nth-child(3){width:54%}.onboarding-light .slide-copy p:last-child{color:var(--text-secondary)}.onboarding-light .onboarding-kicker{color:var(--accent)}.onboarding-light .onboarding-primary{background:var(--accent);color:#fff;box-shadow:0 14px 30px color-mix(in srgb, var(--accent-pressed) 20%, transparent);margin-top:auto}.code-layout{justify-content:center}.code-layout .onboarding-toolbar{position:absolute;top:0;left:0;right:0}.code-visual{background:var(--surface-accent-soft);width:80px;height:80px;color:var(--accent);border-radius:25px;place-items:center;margin:58px 0 4px;display:grid}.code-visual svg{width:36px;height:36px}.access-form{gap:12px;display:grid}.access-form label{font-size:var(--text-small);font-weight:680}.code-input{border:1px solid var(--border-strong);width:100%;min-height:58px;color:var(--text-primary);font-size:var(--text-title-sm);letter-spacing:.04em;text-transform:uppercase;background:#fff;border-radius:16px;padding:13px 16px;font-weight:680}.access-error{background:var(--danger-soft);color:var(--danger);font-size:var(--text-compact);border-radius:14px;padding:12px 14px}.activation-success{background:var(--success-soft);min-height:58px;color:var(--success);border-radius:16px;justify-content:center;align-items:center;gap:9px;font-weight:700;display:flex}.privacy-note{color:var(--text-muted);font-size:var(--text-caption);align-items:flex-start;gap:8px;margin:2px 0 0;line-height:1.4;display:flex}.privacy-note svg{flex:none;width:17px;height:17px}.workspace-switcher{border:1px solid var(--border-theme);background:#efedf6;border-radius:17px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%;margin-bottom:20px;padding:5px;display:grid}.workspace-switcher button{min-height:46px;color:var(--text-secondary);font-size:var(--text-caption);transition:background .18s var(--ease), color .18s var(--ease), transform .18s var(--ease);background:0 0;border:0;border-radius:13px;justify-content:center;align-items:center;gap:7px;padding:8px 10px;font-weight:680;line-height:1.2;display:flex}.workspace-switcher button svg{flex:none;width:18px;height:18px}.workspace-switcher button.active{color:var(--blue-strong);background:#fff;box-shadow:0 3px 10px #33276414}.workspace-switcher button:active{transform:scale(.985)}.admin-sections{overscroll-behavior-x:contain;scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.admin-sections::-webkit-scrollbar{display:none}.admin-sections button{flex:none;padding-inline:13px}.admin-users-panel,.admin-user-list{gap:12px;width:100%;display:grid}.admin-user-filters{border:1px solid var(--border-theme);box-shadow:var(--shadow-card);background:#fff;border-radius:18px;gap:12px;padding:14px;display:grid}.admin-user-search{grid-template-columns:20px minmax(0,1fr) 44px;align-items:center;gap:8px;display:grid}.admin-user-search>svg{width:20px;height:20px;color:var(--text-muted)}.admin-user-search .input{margin:0}.admin-user-search .icon-button{width:44px;height:44px}.admin-user-filter-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-user-filter-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-user-filter-actions .ghost-button{min-height:44px}.admin-user-loading{gap:10px;display:grid}.admin-user-loading span{border:1px solid var(--border-theme);background:linear-gradient(90deg,#fff 20%,#f4f1fb 50%,#fff 80%) 0 0/240% 100%;border-radius:18px;min-height:166px;animation:1.4s linear infinite shimmer}.admin-user-card{border:1px solid var(--border-theme);width:100%;box-shadow:var(--shadow-card);background:#fff;border-radius:18px;gap:13px;padding:15px;display:grid}.admin-user-card-head{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;display:grid}.profile-avatar.small{width:42px;height:42px;font-size:var(--text-body-lg);border-radius:14px}.admin-user-identity{overflow-wrap:anywhere;display:grid}.admin-user-identity strong{font-size:var(--text-body);font-weight:720}.admin-user-identity span,.admin-user-links{color:var(--text-secondary);font-size:var(--text-caption);line-height:1.4}.admin-user-badges{flex-wrap:wrap;gap:7px;display:flex}.capability-badge,.admin-user-capabilities span{border-radius:var(--radius-pill);background:var(--surface-accent-soft);min-height:26px;color:var(--blue-strong);font-size:var(--text-micro);align-items:center;padding:4px 9px;font-weight:650;display:inline-flex}.admin-user-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.admin-user-details div{background:#f7f5fb;border-radius:12px;gap:3px;padding:9px;display:grid}.admin-user-details span{color:var(--text-muted);font-size:var(--text-micro);line-height:1.25}.admin-user-details strong{font-size:var(--text-micro);overflow-wrap:anywhere;font-weight:670;line-height:1.3}.admin-user-links{border-left:3px solid color-mix(in srgb, var(--accent) 25%, transparent);padding-left:10px}.admin-user-capabilities{color:var(--text-secondary);font-size:var(--text-caption)}.admin-user-capabilities summary{cursor:pointer;font-weight:650}.admin-user-capabilities>div{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.admin-user-role-editor{border-top:1px solid var(--border-theme);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding-top:12px;display:grid}.admin-user-role-editor .ghost-button{white-space:nowrap;min-height:46px}.admin-user-pagination{color:var(--text-secondary);text-align:center;font-size:var(--text-caption);grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;display:grid}.admin-access-grid{grid-template-columns:minmax(0,1fr)}.spin{animation:.9s linear infinite spin}@keyframes shimmer{to{background-position:-240% 0}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=359px){.app-shell{padding-inline:12px}.title{font-size:var(--text-display)}.nav{padding-left:max(4px, env(safe-area-inset-left,0px));padding-right:max(4px, env(safe-area-inset-right,0px))}.nav-grid{gap:1px}.nav-item{font-size:10px}.compact-stats small{font-size:var(--text-micro)}.dashboard-hero{padding:19px}.hero-copy h2{font-size:22px}.workspace-switcher button{font-size:var(--text-micro);padding-inline:6px}.workspace-switcher button svg{display:none}.admin-user-card-head{grid-template-columns:38px minmax(0,1fr)}.admin-user-card-head>.status{grid-column:1/-1;justify-self:start}.admin-user-details,.admin-user-filter-row,.admin-user-role-editor{grid-template-columns:minmax(0,1fr)}.admin-user-role-editor .ghost-button{width:100%}.welcome-copy h1,.slide-copy h1{font-size:34px}.slide-illustration{min-height:245px}}@media (height<=680px){.welcome-visual,.slide-illustration{min-height:210px}.brand-mark{width:70px;height:70px}.welcome-copy h1,.slide-copy h1{font-size:32px}.welcome-content>.onboarding-primary{margin-top:16px}}@media (height<=600px){.onboarding-shell{padding-top:var(--top-space);padding-bottom:max(10px, var(--safe-bottom))}.onboarding-inner{min-height:calc(var(--app-viewport-height) - var(--top-space) - max(10px, var(--safe-bottom)))}.brand-row,.onboarding-toolbar{min-height:40px}.welcome-visual,.slide-illustration{min-height:150px;margin-bottom:2px}.brand-mark{border-radius:20px;width:60px;height:60px}.brand-mark svg{width:30px;height:30px}.floating-note{padding:7px 9px}.welcome-copy h1,.slide-copy h1{margin:4px 0 6px;font-size:28px}.welcome-copy p:last-child,.slide-copy p:last-child{font-size:var(--text-compact);line-height:1.36}.welcome-content>.onboarding-primary{margin-top:10px}.onboarding-primary{min-height:48px;padding-block:11px}.onboarding-progress{margin-top:8px}.slide-layout,.code-layout,.access-form{gap:8px}.slide-icon{border-radius:22px;width:68px;height:68px}.slide-icon svg{width:33px;height:33px}.slide-paper{width:150px;height:102px}.code-visual{border-radius:20px;width:62px;height:62px;margin-top:42px}.code-visual svg{width:29px;height:29px}.privacy-note{font-size:var(--text-micro)}}@media (width>=640px){.app-shell{padding-inline:24px}.title{font-size:42px}.home-two-column,.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-sections{grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:visible}.admin-sections button{min-width:0;padding-inline:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--surface-page:#fbfaf7;--surface-primary:#fff;--surface-raised:#fff;--surface-interactive:#fff;--surface-hover:#f4f0ff;--surface-pressed:#e6dfff;--surface-selected:#fff;--surface-disabled:#efede7;--surface-muted:#f3f1ec;--surface-accent-soft:#f0ecff;--surface-control:var(--surface-interactive);--surface-overlay:#fffffff5;--surface-skeleton:#f0eee9;--surface-skeleton-highlight:#fbfaf6;--text-primary:#17161c;--text-secondary:#5d5a66;--text-muted:#74707f;--border-theme:#17161c17;--border-theme-strong:#17161c2b;--accent:#5b44d6;--accent-hover:#4f3ac2;--accent-pressed:#4231a6;--text-on-accent:#fff;--inverse-control-surface:#fff;--inverse-control-hover:#f4f1ff;--inverse-control-pressed:#e9e3ff;--inverse-control-text:#4735b4;--blue-strong:#4735b4;--border-soft:#17161c12;--border-strong:var(--border-theme-strong);--focus-ring:color-mix(in srgb, var(--accent) 24%, transparent);--chart-grid:#17161c1a;--chart-line:#5b44d6;--chart-point:#fff;--scrim:#121116bd;--tg-right-inset:0px;--tg-left-inset:0px;--tg-content-right-inset:0px;--tg-content-left-inset:0px;--safe-left:max(env(safe-area-inset-left,0px), var(--tg-left-inset), var(--tg-content-left-inset));--safe-right:max(env(safe-area-inset-right,0px), var(--tg-right-inset), var(--tg-content-right-inset));--safe-content-top:max(env(safe-area-inset-top,0px), var(--tg-top-inset), var(--tg-content-top-inset));--screen-top:var(--safe-content-top);--telegram-chrome-top:0px;--top-space:max(16px, calc(var(--safe-content-top) + 12px))}html[data-tg-client=true][data-tg-fullscreen=false]{--telegram-chrome-top:58px;--top-space:max(var(--telegram-chrome-top), calc(var(--safe-content-top) + 14px))}html[data-tg-client=true][data-tg-fullscreen=true]{--telegram-chrome-top:0px;--top-space:max(16px, calc(var(--screen-top) + 12px));--screen-top:max(env(safe-area-inset-top,0px), calc(var(--tg-top-inset) + var(--tg-content-top-inset)))}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-page:#111018;--surface-primary:#1a1823;--surface-raised:#1e1c27;--surface-interactive:#201d29;--surface-hover:#292534;--surface-pressed:#302a3b;--surface-selected:#302a3f;--surface-disabled:#24212d;--surface-muted:#24212e;--surface-accent-soft:color-mix(in srgb, var(--accent) 14%, transparent);--surface-control:var(--surface-interactive);--surface-overlay:#1a1823f5;--surface-skeleton:#24212e;--surface-skeleton-highlight:#302c3b;--text-primary:#f6f4fb;--text-secondary:#c3bdcd;--text-muted:#9f98a9;--border-theme:#eeeaf51a;--border-theme-strong:#eeeaf52e;--accent:#6a52d8;--accent-hover:#7a64e6;--accent-pressed:#5942bd;--blue-strong:#cabfff;--border-soft:#eeeaf514;--border-strong:var(--border-theme-strong);--success:#80d0b1;--success-soft:#4aae8929;--warning:#f2c36f;--warning-soft:#d7913229;--danger:#ff91a4;--danger-soft:#d2465e2b;--text-on-accent:#fff;--inverse-control-surface:#fff;--inverse-control-hover:#f4f1ff;--inverse-control-pressed:#e9e3ff;--inverse-control-text:#4933ad;--focus-ring:color-mix(in srgb, var(--accent) 32%, transparent);--chart-grid:#f4f1fa1f;--chart-line:#a995ff;--chart-point:#1a1823;--scrim:#000000c7;--shadow-card:0 8px 28px #0000002e;--shadow-float:0 18px 44px #0000006b}html,body,#root,.app-shell,.onboarding-shell,.launch{background-color:var(--surface-page);color:var(--text-primary)}.app-shell{min-height:var(--app-viewport-stable-height,100dvh);padding-top:var(--top-space);padding-left:max(16px, var(--safe-left));padding-right:max(16px, var(--safe-right));background:radial-gradient(52% 31% at 100% 0%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 72%), radial-gradient(42% 28% at 2% 100%, color-mix(in srgb, var(--accent-secondary) 6%, transparent), transparent 78%), var(--surface-page)}html[data-theme=dark] .app-shell{background:radial-gradient(48% 29% at 100% 0%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 72%), radial-gradient(42% 28% at 2% 100%, color-mix(in srgb, var(--accent-secondary) 5%, transparent), transparent 78%), var(--surface-page)}.app-shell.keyboard-open{min-height:var(--app-viewport-height,100dvh)}.content,.screen,.page-header,.topbar,.workspace-switcher,.admin-sections,.statistics-filters,.result-summary-card,.result-task{min-width:0;max-width:100%}.app-toolbar{justify-content:flex-end;align-items:center;min-height:42px;margin-bottom:10px;display:flex}.theme-toggle{border:1px solid var(--border-strong);background:var(--surface-control);min-width:44px;min-height:44px;color:var(--text-secondary);font-size:var(--text-caption);border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:8px 11px;font-weight:650;display:inline-flex}.theme-toggle svg{width:17px;height:17px;color:var(--accent)}.brand-row{justify-content:space-between}.brand-label,.onboarding-toolbar-actions{align-items:center;gap:9px;min-width:0;display:flex}.welcome-screen .theme-toggle{color:#fff;background:#ffffff24;border-color:#ffffff47}.welcome-screen .theme-toggle svg{color:#fff}.card,.panel,.answer-block,.student-row,.option,.file-card,.statistics-filters,.result-summary-card,.result-task,.lightbox-panel{background:var(--surface-primary);color:var(--text-primary)}.stat-card,.stat-card.accent,.stat-card.warning,.stat-card.success,.compact-stats>div,.launch-card,.recovery-card,.metric-card,.analytics-card,.error-state,.profile-card,.slide-paper,.admin-user-filters,.admin-user-card{background:var(--surface-raised);color:var(--text-primary)}.ghost-button,.file-link,.icon-button,.round-action,.card-button,.quick-card,.chip,.compact-stats>button,.insight-card,.settings-list button,.theme-toggle{background:var(--surface-interactive);color:var(--text-primary)}.input,.textarea,.select,.code-input{background:var(--surface-control);color:var(--text-primary)}.segmented-control button.active,.workspace-switcher button.active{background:var(--surface-selected);color:var(--blue-strong)}.segmented-control,.workspace-switcher,.attachment-chip,.admin-user-details div,.onboarding-light,.image-preview img{background:var(--surface-muted)}.empty{background:var(--surface-primary);background:color-mix(in srgb, var(--surface-primary) 72%, transparent)}.status.todo{background:var(--surface-accent-soft);color:var(--blue-strong)}.status.locked{background:var(--surface-muted);color:var(--text-secondary)}.selection-action-bar{background:var(--surface-overlay)}.nav{padding-left:max(8px, var(--safe-left));padding-right:max(8px, var(--safe-right));background:0 0}.nav-badge{border-color:var(--surface-control);color:var(--text-on-accent)}.button,.onboarding-light .onboarding-primary,.choice-toggle.active{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.secondary-button{background:var(--surface-accent-soft);color:var(--blue-strong);border-color:#0000}.danger-button{border-color:color-mix(in srgb, var(--danger) 22%, transparent);background:var(--danger-soft);color:var(--danger)}.button svg,.button span,.secondary-button svg,.secondary-button span,.ghost-button svg,.ghost-button span,.danger-button svg,.danger-button span,.hero-action svg,.hero-action span,.onboarding-primary svg,.onboarding-primary span{color:inherit}.button svg,.secondary-button svg,.ghost-button svg,.danger-button svg,.hero-action svg,.onboarding-primary svg{stroke:currentColor}.dashboard-hero .hero-action,.welcome-screen .onboarding-primary{border-color:var(--inverse-control-surface);background:var(--inverse-control-surface);color:var(--inverse-control-text)}.dashboard-hero .hero-action:active,.welcome-screen .onboarding-primary:active{border-color:var(--inverse-control-pressed);background:var(--inverse-control-pressed);color:var(--inverse-control-text);transform:translateY(1px)scale(.995)}.dashboard-hero .hero-action:focus-visible,.welcome-screen .onboarding-primary:focus-visible{outline-color:var(--inverse-control-surface);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 58%, transparent)}.dashboard-hero .hero-action:disabled,.welcome-screen .onboarding-primary:disabled{border-color:color-mix(in srgb, var(--inverse-control-surface) 72%, transparent);background:color-mix(in srgb, var(--inverse-control-surface) 72%, transparent);color:var(--inverse-control-text);opacity:1}.button:active{border-color:var(--accent-pressed);background:var(--accent-pressed);color:var(--text-on-accent)}.secondary-button:active,.ghost-button:active,.file-link:active,.icon-button:active,.round-action:active,.card-button:active,.quick-card:active,.insight-card:active,.settings-list button:active,.compact-stats>button:active{background:var(--surface-pressed);color:var(--text-primary)}.segmented-control button:active,.workspace-switcher button:active,.chip:active,.nav-item:active{background:var(--surface-pressed)}button:focus:not(:focus-visible){outline:none}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline-color:var(--focus-ring)}.input:focus,.textarea:focus,.select:focus{background:var(--surface-control);color:var(--text-primary);outline-color:var(--focus-ring)}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.progress-track{background:var(--surface-muted)}.statistics-skeleton span,.admin-user-loading span{background:linear-gradient(100deg, var(--surface-skeleton) 20%, var(--surface-skeleton-highlight) 50%, var(--surface-skeleton) 80%);background-size:240% 100%}.trend-column>span{background:var(--chart-line)}.lightbox{background:0 0}.lightbox-panel{background:var(--surface-primary);color:var(--text-primary)}.onboarding-light{color:var(--text-primary)}.paper-front span{background:var(--surface-muted)}.title,.section-heading h2,.item-title,.hero-copy h2,.metric-value{letter-spacing:0}.profile-preferences{gap:14px;margin-top:12px;display:grid}.theme-preference-control{grid-template-columns:repeat(3,minmax(0,1fr))}.statistics-filters{border:1px solid var(--border-theme);background:var(--surface-primary);box-shadow:var(--shadow-card);border-radius:18px;grid-template-columns:minmax(0,1fr);gap:11px;margin-top:12px;padding:14px;display:grid}.statistics-clear{justify-self:start}.chart-caption,.attempt-note{color:var(--text-secondary);font-size:var(--text-caption);margin:12px 0 0;line-height:1.45}.score-chart-wrap{width:100%;overflow:hidden}.score-line-chart{width:100%;height:auto;display:block;overflow:visible}.score-grid-line{stroke:var(--chart-grid);stroke-width:1px}.score-line{stroke:var(--chart-line);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.score-point-halo{fill:var(--chart-point);stroke:var(--chart-line);stroke-width:1px}.score-point{fill:var(--chart-line)}.score-axis-label,.score-date-label{fill:var(--text-muted);font-size:var(--text-micro)}.score-chart-points{scrollbar-width:none;gap:8px;max-width:100%;padding:4px 0 2px;display:flex;overflow-x:auto}.score-chart-points::-webkit-scrollbar{display:none}.score-chart-points span{border:1px solid var(--border-theme);background:var(--surface-muted);border-radius:12px;flex:none;max-width:160px;padding:8px 10px;display:grid}.score-chart-points small{color:var(--text-secondary);font-size:var(--text-micro);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.learning-metrics{margin-top:12px}.metric-card small{color:var(--text-muted);font-size:var(--text-micro);margin-top:4px}.topic-insights{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:14px;display:grid}.topic-insights>div{border:1px solid var(--border-theme);background:var(--surface-muted);border-radius:14px;gap:5px;padding:12px;display:grid}.topic-insights span{color:var(--text-secondary);font-size:var(--text-caption)}.result-summary-card{border:1px solid var(--border-theme);background:var(--surface-primary);box-shadow:var(--shadow-card);border-radius:20px;gap:16px;padding:18px;display:grid}.result-total{font-size:var(--text-title-lg);margin-top:4px;font-weight:740}.result-score-track{background:var(--surface-muted);border-radius:999px;height:28px;position:relative;overflow:hidden}.result-score-track>span{border-radius:inherit;background:var(--surface-accent-soft);position:absolute;inset:0 auto 0 0}.result-score-track>strong{z-index:1;height:100%;color:var(--blue-strong);font-size:var(--text-caption);place-items:center;display:grid;position:relative}.result-metadata-grid,.result-answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.result-metadata-grid>div,.result-answer-grid>div{background:var(--surface-muted);border-radius:13px;gap:3px;padding:10px;display:grid}.result-metadata-grid span,.result-answer-grid span{color:var(--text-muted);font-size:var(--text-micro);text-transform:uppercase;font-weight:650}.result-metadata-grid strong,.result-answer-grid strong{color:var(--text-primary);font-size:var(--text-caption);overflow-wrap:anywhere;line-height:1.4}.result-task{position:relative;overflow:hidden}.result-task:before{content:"";background:var(--text-muted);width:4px;position:absolute;inset:0 auto 0 0}.result-task.result-correct:before{background:var(--success)}.result-task.result-incorrect:before{background:var(--danger)}.result-task.result-partial:before,.result-task.result-pending:before{background:var(--warning)}.result-answer-grid,.result-media-block,.feedback-note,.result-note{margin-top:14px}.feedback-note,.result-note{border:1px solid var(--border-theme);background:var(--surface-muted);border-radius:14px;gap:4px;padding:12px 14px;line-height:1.45;display:grid}.feedback-note.automatic{border-left:4px solid var(--warning)}.feedback-note.manual,.feedback-note.final{border-left:4px solid var(--accent)}.feedback-note span{color:var(--text-secondary);font-size:var(--text-compact)}.assignment-detail-action{margin-top:12px}.homework-time-limit-control{border:1px solid var(--border-theme);background:var(--surface-muted);border-radius:16px;gap:12px;padding:14px;display:grid}.homework-time-limit-switch{cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;display:grid;position:relative}.homework-time-limit-switch>input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.homework-time-limit-switch-track{border:1px solid var(--border-strong);background:var(--surface-interactive);width:48px;height:28px;transition:border-color .16s var(--ease), background-color .16s var(--ease);border-radius:999px;display:block;position:relative}.homework-time-limit-switch-track>span{background:var(--text-muted);width:20px;height:20px;transition:transform .16s var(--ease), background-color .16s var(--ease);border-radius:50%;position:absolute;top:3px;left:3px}.homework-time-limit-switch>input:checked+.homework-time-limit-switch-track{border-color:var(--accent);background:var(--accent)}.homework-time-limit-switch>input:checked+.homework-time-limit-switch-track>span{background:var(--text-on-accent);transform:translate(20px)}.homework-time-limit-switch>input:focus-visible+.homework-time-limit-switch-track{outline:3px solid var(--focus-ring);outline-offset:2px}.homework-time-limit-switch>span:last-child{gap:2px;display:grid}.homework-time-limit-switch strong{color:var(--text-primary);font-size:var(--text-compact)}.homework-time-limit-switch small,.homework-time-limit-help{color:var(--text-secondary);font-size:var(--text-caption);line-height:1.4}.homework-time-limit-help{margin:0}.homework-timing-compact{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.homework-timing-compact span{background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-micro);border-radius:999px;padding:5px 9px;line-height:1.2}.homework-timing-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.homework-timing-summary>div{background:var(--surface-muted);border-radius:13px;align-content:start;gap:3px;padding:10px;display:grid}.homework-timing-summary span{color:var(--text-muted);font-size:var(--text-micro);text-transform:uppercase;font-weight:650}.homework-timing-summary strong{color:var(--text-primary);font-size:var(--text-caption);overflow-wrap:anywhere;line-height:1.4}.review-timing-panel{margin-bottom:14px}.review-timing-panel .section-title{margin:0 0 12px}.homework-countdown{top:calc(var(--top-space) + 6px);z-index:12;border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border-theme));background:var(--surface-overlay);width:100%;color:var(--text-secondary);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin:-12px 0 16px;padding:10px 14px;display:flex;position:sticky}.homework-countdown span{font-size:var(--text-caption);font-weight:650}.homework-countdown strong{color:var(--blue-strong);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:20px}.homework-timer-start-card{border:1px solid var(--border-theme);background:var(--surface-primary);box-shadow:var(--shadow-card);border-radius:22px;gap:16px;padding:20px;display:grid}.homework-timer-start-card>div:nth-child(2){gap:5px;display:grid}.homework-timer-start-card p{color:var(--text-secondary);margin:0;line-height:1.5}.homework-timer-start-value{background:var(--surface-accent-soft);width:82px;height:82px;color:var(--blue-strong);font-variant-numeric:tabular-nums;border-radius:24px;place-items:center;font-size:34px;font-weight:750;display:grid}.student-assignment-execution,.student-assignment-execution-content{width:100%;min-width:0}.student-assignment-execution-content{display:grid}.homework-task-navigation{bottom:calc(var(--safe-bottom) + 8px);z-index:8;border:1px solid var(--border-soft);background:color-mix(in srgb, var(--surface-primary) 84%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.12);backdrop-filter:blur(20px)saturate(1.12);border-radius:999px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;width:min(100%,760px);margin:10px auto;padding:6px;display:grid;position:sticky;box-shadow:0 12px 32px #231a4b1f}.homework-task-nav-items{justify-content:center;align-items:center;gap:2px;min-width:0;display:flex;overflow:hidden}.homework-task-nav-control,.homework-task-nav-number{width:44px;min-width:44px;height:44px;color:var(--text-primary);font:inherit;background:0 0;border:1px solid #0000;border-radius:999px;flex:none;place-items:center;font-weight:650;display:inline-grid}.homework-task-nav-number.active{border-color:var(--border-strong);background:var(--surface-accent-soft);color:var(--blue-strong);box-shadow:inset 0 1px #fff6}.homework-task-nav-control:disabled{opacity:.38}.homework-task-nav-ellipsis{width:28px;min-width:28px;height:44px;color:var(--text-secondary);place-items:center;display:inline-grid}.homework-task-save-status{min-height:16px;color:var(--text-secondary);font-size:var(--text-micro);text-align:center;grid-column:1/-1;padding:0 8px 2px}@media (width<=360px){.homework-task-nav-items{justify-content:flex-start}.homework-task-nav-number:nth-child(n+6){display:none}}@media (hover:hover) and (pointer:fine){.homework-task-nav-control:not(:disabled):hover,.homework-task-nav-number:not(.active):hover{background:var(--surface-accent-soft)}}@media (prefers-reduced-transparency:reduce),(forced-colors:active){.homework-task-navigation{background:var(--surface-primary);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}}@media (prefers-reduced-motion:reduce){.homework-task-navigation *{transition:none!important}}.timer-sync-note{border:1px solid var(--border-theme);background:var(--surface-accent-soft);color:var(--text-secondary);font-size:var(--text-caption);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:11px 13px;line-height:1.4;display:flex}.timer-sync-note.warning{background:var(--warning-soft);color:var(--warning)}html[data-homework-timer-dialog=true],html[data-homework-timer-dialog=true] body{overflow:hidden}.homework-timer-dialog{z-index:140;padding:max(16px, calc(var(--safe-content-top) + 12px)) max(16px, var(--safe-right)) max(16px, calc(var(--safe-bottom) + 12px)) max(16px, var(--safe-left));place-items:center;display:grid;position:fixed;inset:0}.homework-timer-dialog-scrim{background:var(--scrim);position:absolute;inset:0}.homework-timer-dialog-panel{z-index:1;width:min(100%,420px);max-height:calc(var(--app-viewport-height) - var(--safe-content-top) - var(--safe-bottom) - 32px);overscroll-behavior:contain;border:1px solid var(--border-theme);background:var(--surface-primary);color:var(--text-primary);box-shadow:var(--shadow-float);text-align:center;border-radius:24px;gap:14px;padding:22px;display:grid;position:relative;overflow-y:auto}.homework-timer-dialog-emoji{font-family:system-ui,-apple-system,Segoe UI Emoji,Apple Color Emoji,sans-serif;font-size:64px;line-height:1}.homework-timer-dialog-panel h2{color:var(--text-primary);margin:0;font-size:26px}.homework-timer-dialog-panel p{color:var(--text-secondary);margin:0;line-height:1.55}.homework-time-limit-switch:active .homework-time-limit-switch-track{background:var(--surface-pressed)}.homework-time-limit-switch:active>input:checked+.homework-time-limit-switch-track{background:var(--accent-pressed)}.admin-sections{scroll-snap-type:x proximity;scroll-padding-inline:6px}.admin-sections button{scroll-snap-align:nearest}html[data-tg-client=true] .page-back-button{display:none}@media (width<=359px){.app-shell{padding-left:max(12px, var(--safe-left));padding-right:max(12px, var(--safe-right))}.title{font-size:var(--text-display)}.result-metadata-grid,.result-answer-grid,.homework-timing-summary{grid-template-columns:minmax(0,1fr)}.theme-toggle span{display:none}}@media (height<=540px){.homework-timer-dialog{place-items:end center}.homework-timer-dialog-panel{border-radius:20px;gap:10px;padding:16px}.homework-timer-dialog-emoji{font-size:48px}}@media (width>=640px){.app-shell{padding-left:max(24px, var(--safe-left));padding-right:max(24px, var(--safe-right))}.statistics-filters,.topic-insights{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (hover:hover) and (pointer:fine){.homework-time-limit-switch:hover .homework-time-limit-switch-track{border-color:color-mix(in srgb, var(--accent) 42%, var(--border-theme));background:var(--surface-hover)}.homework-time-limit-switch:hover>input:checked+.homework-time-limit-switch-track{background:var(--accent-hover)}.button:hover{border-color:var(--accent-hover);background:var(--accent-hover);color:var(--text-on-accent);transform:translateY(-1px)}.secondary-button:hover,.ghost-button:hover,.file-link:hover,.icon-button:hover,.round-action:hover,.card-button:hover,.quick-card:hover,.insight-card:hover,.settings-list button:hover,.compact-stats>button:hover,.theme-toggle:hover{border-color:color-mix(in srgb, var(--accent) 28%, var(--border-theme));background:var(--surface-hover);color:var(--text-primary)}.secondary-button:hover,.ghost-button:hover,.file-link:hover,.icon-button:hover,.round-action:hover,.theme-toggle:hover{transform:translateY(-1px)}.file-link:hover{color:var(--blue-strong);text-underline-offset:3px;text-decoration:underline}.segmented-control button:not(.active):hover,.workspace-switcher button:not(.active):hover,.chip:not(.active):hover,.nav-item:not(.active):hover,.result-list button:hover{background:var(--surface-hover);color:var(--text-primary)}.dashboard-hero .hero-action:hover,.welcome-screen .onboarding-primary:hover{border-color:var(--inverse-control-hover);background:var(--inverse-control-hover);color:var(--inverse-control-text);transform:translateY(-1px)}}.dashboard-hero{isolation:isolate;box-shadow:0 24px 54px color-mix(in srgb, var(--accent) 22%, transparent), 0 5px 15px color-mix(in srgb, var(--accent) 12%, transparent), inset 0 1px 0 #ffffff3d;background:radial-gradient(115% 120% at 6% -20%,#ffffff47,#0000 46%),radial-gradient(95% 105% at 105% 116%,#301b8157,#0000 58%),linear-gradient(145deg,#7762df 0%,#6750c9 58%,#5b45b7 100%);border:1px solid #ffffff38;border-radius:30px;gap:20px;padding:24px;overflow:hidden}.dashboard-hero:before{content:"";z-index:0;pointer-events:none;background:linear-gradient(#ffffff1f,#0000);border-radius:30px 30px 50% 50%;height:42%;position:absolute;inset:1px 18px auto}.dashboard-hero:after{border-color:#ffffff29;width:172px;height:172px;top:-54px;right:-44px;box-shadow:inset 0 0 0 18px #ffffff06}.hero-copy h2{letter-spacing:-.028em;font-size:clamp(25px,7vw,29px);font-weight:740}.hero-symbol{background:#ffffff24;border-color:#ffffff47;border-radius:18px;width:50px;height:50px;box-shadow:inset 0 1px #fff3}.dashboard-hero .hero-action{border-radius:999px;min-height:52px;box-shadow:0 10px 24px #2c1c6529}.compact-stats{border:1px solid var(--border-theme);background:var(--surface-raised);box-shadow:var(--shadow-card);border-radius:24px;gap:0;padding:5px;overflow:hidden}.compact-stats>button,.compact-stats>div{min-height:78px;color:var(--text-primary);box-shadow:none;background:0 0;border:0;border-radius:18px;position:relative}.compact-stats>:not(:first-child):before{content:"";background:var(--border-soft);pointer-events:none;width:1px;position:absolute;top:16px;bottom:16px;left:0}.compact-stats span{letter-spacing:-.025em;font-size:25px;font-weight:740}.compact-stats small{color:var(--text-secondary);font-weight:560}.card-button,.insight-card{border-color:var(--border-theme);background:var(--surface-primary);color:var(--text-primary);box-shadow:var(--shadow-card);border-radius:22px}.insight-card{min-height:80px;padding:15px}.insight-card>svg:first-child{background:var(--surface-selected);color:var(--accent);border-radius:15px}@media (width<=700px){html,body{scrollbar-width:none}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.bottom-nav-visible .screen{animation:none}}.content{width:100%;max-width:var(--desktop-workspace-max);margin-inline:auto}.app-toolbar{flex-wrap:wrap;gap:8px}.desktop-fullscreen-exit{min-height:44px;color:var(--text-primary);font-size:var(--text-caption);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-weight:650;display:inline-flex}.desktop-fullscreen-exit svg{width:17px;height:17px;color:var(--blue-strong)}@media (width>=720px){.app-shell{padding-left:max(32px, var(--safe-left));padding-right:max(32px, var(--safe-right))}.page-header>div:first-child,.topbar>div:first-child{max-width:68ch}.hero-copy{max-width:min(68ch,100% - 76px)}.dashboard-hero .hero-action{width:fit-content;min-width:220px}}.matching-answer-editor,.matching-answer-rows,.matching-template-editor,.matching-editor-list,.matching-correct-list,.matching-result-rows{min-width:0;display:grid}.matching-answer-editor,.matching-template-editor{gap:14px;margin-top:14px}.matching-answer-rows,.matching-editor-list,.matching-correct-list,.matching-result-rows{gap:10px}.matching-repeat-hint{border-left:3px solid var(--accent);background:var(--surface-accent-soft);color:var(--text-secondary);border-radius:4px 16px 16px 4px;margin:0;padding:11px 13px;line-height:1.45}.matching-repeat-hint strong{color:var(--text-primary)}.matching-answer-row{border:1px solid var(--border-theme);background:var(--surface-raised);border-radius:20px;grid-template-columns:minmax(0,1fr) minmax(150px,42%);align-items:center;gap:12px;min-width:0;padding:13px;display:grid;box-shadow:0 8px 22px #2d225b0e}.matching-answer-row.missing{border-color:color-mix(in srgb, var(--accent) 32%, var(--border-theme))}.matching-left-copy{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;min-width:0;display:grid}.matching-left-copy label,.matching-correct-row>span,.matching-result-main span{overflow-wrap:anywhere;min-width:0;line-height:1.45}.matching-row-marker{border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border-theme));background:var(--surface-selected);width:34px;height:34px;color:var(--accent);font-size:var(--text-small);border-radius:999px;flex:0 0 34px;place-items:center;font-weight:760;display:inline-grid}.matching-answer-select{text-overflow:ellipsis;border-radius:999px;width:100%;min-height:48px}.matching-missing-note,.matching-editor-error{background:color-mix(in srgb, var(--danger) 8%, var(--surface-raised));color:var(--danger);font-size:var(--text-small);border-radius:16px;padding:10px 12px;font-weight:650}.matching-editor-section{border:1px solid var(--border-theme);background:var(--surface-raised);border-radius:22px;gap:12px;min-width:0;padding:14px;display:grid}.matching-editor-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.matching-add-button{border-radius:999px;flex:none;min-height:44px}.matching-editor-row{background:var(--surface-muted);border-radius:18px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:10px;display:grid}.matching-editor-text{resize:vertical;min-height:74px}.matching-order-controls{align-items:center;gap:6px;display:flex}.matching-order-controls .icon-button{width:44px;height:44px;min-height:44px;padding:0}.matching-order-controls .danger-button{border-radius:999px;min-height:44px;padding-inline:12px}.matching-correct-row{background:var(--surface-muted);border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(160px,42%);align-items:center;gap:12px;min-width:0;padding:11px;display:grid}.matching-correct-row .select{border-radius:999px;min-height:46px}.matching-result-row{border:1px solid var(--border-theme);background:var(--surface-raised);border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(130px,auto);align-items:center;gap:10px;min-width:0;padding:11px 12px;display:grid}.matching-result-row.correct{border-color:color-mix(in srgb, var(--success) 32%, var(--border-theme))}.matching-result-row.incorrect{border-color:color-mix(in srgb, var(--danger) 32%, var(--border-theme))}.matching-result-main{gap:3px;min-width:0;display:grid}.matching-result-main strong{color:var(--text-primary)}.matching-result-main span,.matching-result-main small,.matching-result-status{color:var(--text-secondary);font-size:var(--text-small)}.matching-result-row.correct .matching-result-status{color:var(--success)}.matching-result-row.incorrect .matching-result-status{color:var(--danger)}.matching-result-status{overflow-wrap:anywhere;text-align:right;min-width:0;font-weight:680}.matching-result-rows.compact{margin-top:4px}@media (width<=620px){.matching-answer-row,.matching-correct-row,.matching-result-row{grid-template-columns:minmax(0,1fr)}.matching-result-status{text-align:left}.matching-editor-heading{display:grid}.matching-add-button{width:100%}.matching-editor-row{grid-template-columns:34px minmax(0,1fr)}.matching-order-controls{grid-column:1/-1;justify-content:flex-end}.matching-order-controls .danger-button{flex:1}}@media (hover:hover) and (pointer:fine){.matching-answer-select:hover,.matching-correct-row .select:hover{border-color:color-mix(in srgb, var(--accent) 32%, var(--border-theme));background:var(--surface-hover)}}html[data-reduced-transparency=true] .matching-answer-row,html[data-reduced-transparency=true] .matching-editor-section,html[data-reduced-transparency=true] .matching-result-row,html[data-glass-backdrop=false] .matching-answer-row,html[data-glass-backdrop=false] .matching-editor-section,html[data-glass-backdrop=false] .matching-result-row{-webkit-backdrop-filter:none;background:var(--surface-raised);box-shadow:none}@media (forced-colors:active){.matching-repeat-hint,.matching-answer-row,.matching-editor-section,.matching-editor-row,.matching-correct-row,.matching-result-row,.matching-row-marker{color:canvastext;box-shadow:none;background:canvas;border:1px solid canvastext}}.mistake-bank-count{color:var(--text-secondary);font-size:var(--text-compact);margin:0 0 4px}.mistake-card{border:1px solid var(--border-theme);background:var(--surface-primary);color:var(--text-primary);box-shadow:var(--shadow-card);border-radius:18px;gap:0;padding:0;display:grid;overflow:hidden}.mistake-card--solved{border-color:var(--success)}.mistake-card-head{background:var(--subject-soft,var(--surface-muted));width:100%;color:var(--text-primary);text-align:left;border:0;border-bottom:1px solid #0000;grid-template-columns:30px minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:12px 14px;display:grid}.mistake-card-badge{background:var(--subject,var(--text-secondary));width:30px;height:30px;color:var(--surface-primary);font-family:var(--font-display);font-size:var(--text-small);font-weight:var(--weight-bold);border-radius:9px;place-items:center;display:grid}.mistake-card-head-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.mistake-card-meta{color:var(--subject,var(--accent));font-size:var(--text-micro);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mistake-card-prompt-line{color:var(--text-primary);font-size:var(--text-compact);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mistake-card-date{color:var(--text-secondary);font-size:var(--text-micro);font-variant-numeric:tabular-nums;white-space:nowrap}.mistake-card-chevron{width:18px;height:18px;color:var(--text-muted);transition:transform .18s var(--ease)}.mistake-card-head[aria-expanded=true]{border-bottom-color:color-mix(in srgb, var(--subject,var(--border-theme)) 22%, transparent)}.mistake-card-head[aria-expanded=true] .mistake-card-chevron{transform:rotate(90deg)}.mistake-card-body{gap:12px;padding:14px;display:grid}[hidden]{display:none!important}.mistake-filter{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.mistake-filter-chip{border:1px solid var(--border-theme);background:var(--surface-primary);min-height:38px;color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-small);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:8px;padding:0 13px 0 8px;display:inline-flex}.mistake-filter-chip.is-active{background:var(--text-primary);color:var(--surface-primary);border-color:#0000}.mistake-filter-badge{background:var(--subject,var(--text-secondary));width:22px;height:22px;color:var(--surface-primary);font-size:var(--text-micro);font-weight:var(--weight-bold);border-radius:7px;place-items:center;display:grid}.mistake-filter-label{font-size:var(--text-small);padding-left:5px}.mistake-card-prompt{font-size:var(--text-body-lg);margin:0;font-weight:600;line-height:1.4}.mistake-card-feedback{background:var(--danger-soft);color:var(--danger);font-size:var(--text-compact);border-radius:14px;gap:4px;padding:10px 12px;display:grid}.mistake-card-solved{color:var(--success);align-items:center;gap:8px;margin:0;font-weight:600;display:flex}.mistake-card-solved svg{width:18px;height:18px}@media (forced-colors:active){.mistake-card,.mistake-card-feedback{color:canvastext;background:canvas;border:1px solid canvastext}}.productivity-filters{gap:var(--density-gap-sm,10px);margin-bottom:var(--density-gap-md,14px);grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr)) auto;align-items:end;display:grid}.productivity-search{margin-top:8px}.productivity-selection-actions,.template-card-actions,.quick-comment-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.productivity-selection-actions{justify-content:space-between;margin:8px 0}.selected-students-outside-filter{gap:6px;margin-top:8px;display:grid}.template-card-actions>button{flex:150px}.assignment-confirmation{margin-top:12px}.assignment-confirmation-grid{grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);gap:8px 12px;margin:12px 0;display:grid}.assignment-confirmation-grid span{color:var(--text-secondary)}.quick-comments-panel{gap:12px;margin-bottom:14px;display:grid}.quick-comments-panel .section-title{margin:0}.quick-comment-chips{flex-wrap:wrap;gap:8px;display:flex}.quick-comments-manager{border-top:1px solid var(--border-soft);grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:14px;padding-top:12px;display:grid}.quick-comment-row{border-bottom:1px solid var(--border-soft);gap:8px;padding:10px 0;display:grid}.quick-comment-row>div:first-child{gap:3px;display:grid}.quick-comment-row>div:first-child span{color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere}.quick-comment-row.is-archived{opacity:.72}.compact-stack{gap:4px}@media (width<=760px){.productivity-filters,.quick-comments-manager{grid-template-columns:1fr}.template-card-actions{grid-template-columns:1fr;display:grid}.assignment-confirmation-grid{grid-template-columns:1fr;gap:3px}.assignment-confirmation-grid strong{margin-bottom:7px}}@media (forced-colors:active){.quick-comment-row,.quick-comments-manager{border-color:canvastext}}.beta-badge{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border-theme));background:var(--surface-accent-soft);min-height:24px;color:var(--accent);font-size:var(--text-micro);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;padding:2px 9px;font-weight:800;display:inline-flex}.beta-badge.inline{vertical-align:middle;margin-left:5px}.tutor-welcome-layer{z-index:130;padding:max(14px, var(--safe-top)) 14px max(14px, var(--safe-bottom));place-items:center;display:grid;position:fixed;inset:0}.tutor-welcome-scrim{-webkit-backdrop-filter:blur(3px);background:#08070c7a;position:absolute;inset:0}.tutor-welcome-dialog.glass-surface{--glass-radius:28px;width:min(100%,520px);max-height:min(88dvh,660px)}.tutor-welcome-content{overscroll-behavior:contain;gap:14px;padding:22px;display:grid;overflow-y:auto}.tutor-welcome-content>.beta-badge{justify-self:start;width:fit-content}.tutor-welcome-symbol{background:var(--surface-accent-soft);width:50px;height:50px;color:var(--accent);border-radius:18px;place-items:center;display:grid}.tutor-welcome-symbol svg{width:24px;height:24px}.tutor-welcome-content h2{margin:3px 0 7px;font-size:1.55rem;line-height:1.15}.tutor-welcome-content p{margin:0;line-height:1.48}.tutor-welcome-content p+p{margin-top:7px}.tutor-welcome-actions{grid-template-columns:1fr 1.2fr;gap:9px;display:grid}.tutor-welcome-actions>*{min-height:46px}.tutor-onboarding-card{border-color:color-mix(in srgb, var(--accent) 20%, var(--border-theme));margin-bottom:14px}.tutor-onboarding-content{gap:12px;display:grid}.tutor-onboarding-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.tutor-onboarding-head h2{margin:2px 0 3px;font-size:1.08rem}.tutor-onboarding-head p{color:var(--text-secondary);font-size:var(--text-small);margin:0}.tutor-onboarding-head>.text-button,.tutor-onboarding-links .text-button{min-width:44px;min-height:44px;padding-block:10px}.tutor-onboarding-head>.text-button{color:var(--text-secondary)}.tutor-onboarding-links .text-button:first-child{color:var(--accent)}.tutor-onboarding-links .text-button:last-child{color:var(--text-secondary)}.tutor-onboarding-steps{gap:7px;margin:0;padding:0;list-style:none;display:grid}.tutor-onboarding-steps li{border-top:1px solid var(--border-soft);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding-top:7px;display:grid}.tutor-onboarding-steps li>div{gap:2px;min-width:0;display:grid}.tutor-onboarding-steps strong{font-size:var(--text-compact);line-height:1.3}.tutor-onboarding-steps small{color:var(--text-secondary);font-size:var(--text-micro)}.tutor-onboarding-steps .ghost-button{min-width:110px;min-height:44px}.tutor-onboarding-optional-toggle{width:fit-content;min-height:44px}.onboarding-step-icon{background:var(--surface-muted);width:28px;height:28px;color:var(--text-secondary);border-radius:50%;place-items:center;font-weight:800;display:grid}.tutor-onboarding-steps .done .onboarding-step-icon{background:var(--success-soft);color:var(--success)}.onboarding-step-icon svg{width:16px;height:16px}.onboarding-ready-row{color:var(--success);font-size:var(--text-small);align-items:center;gap:8px;font-weight:650;display:flex}.onboarding-ready-row svg{flex:none;width:18px;height:18px}.tutor-onboarding-links{flex-wrap:wrap;justify-content:space-between;gap:6px 12px;display:flex}.tutor-help-list{gap:10px;display:grid}.tutor-help-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.tutor-help-card h2{font-size:var(--text-body-lg);margin:0 0 4px}.tutor-help-card p{color:var(--text-secondary);font-size:var(--text-small);margin:0;line-height:1.45}.tutor-help-card .ghost-button{min-width:150px}.tutor-help-restore{width:fit-content;margin-top:14px}.beta-feedback-form{width:min(100%,680px)}.beta-feedback-form .textarea{resize:vertical;min-height:150px}.beta-feedback-form>.button{width:fit-content;min-width:150px}.tutor-profile-help{gap:9px}.tutor-profile-help svg{width:18px;height:18px}.actionable-empty{text-align:left;justify-items:start;gap:5px;display:grid}.actionable-empty span{color:var(--text-secondary)}.admin-beta-panel{gap:12px;display:grid}.admin-activation-grid{margin-bottom:4px}.admin-activation-list{gap:7px;display:grid}.admin-activation-list .compact-row>div{gap:2px;display:grid}.admin-feedback-filters{grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;display:grid}.admin-feedback-card{gap:9px;display:grid}.admin-feedback-card p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.48}.admin-feedback-card .select{max-width:240px}@media (width<=620px){.tutor-welcome-layer{align-items:end;padding-inline:10px}.tutor-welcome-content{padding:19px 16px}.tutor-welcome-actions{grid-template-columns:1fr}.tutor-welcome-actions .button{grid-row:1}.tutor-onboarding-head{align-items:center}.tutor-onboarding-steps li{grid-template-columns:28px minmax(0,1fr) minmax(96px,110px)}.tutor-onboarding-steps li>.ghost-button{width:auto}.tutor-help-card{grid-template-columns:1fr}.tutor-help-card .ghost-button{width:100%}.admin-feedback-filters{grid-template-columns:1fr}}@media (hover:hover) and (pointer:fine){.tutor-help-card:hover,.admin-feedback-card:hover{border-color:color-mix(in srgb, var(--accent) 28%, var(--border-theme))}}html[data-reduced-transparency=true] .tutor-welcome-dialog>.glass-material,html[data-glass-backdrop=false] .tutor-welcome-dialog>.glass-material,html[data-glass-material=solid] .tutor-welcome-dialog>.glass-material{background:var(--surface-raised);box-shadow:none}html[data-reduced-transparency=true] .tutor-welcome-scrim,html[data-glass-backdrop=false] .tutor-welcome-scrim{-webkit-backdrop-filter:none}@media (forced-colors:active){.beta-badge,.tutor-onboarding-card,.tutor-help-card,.admin-feedback-card,.tutor-welcome-dialog{color:canvastext;box-shadow:none;background:canvas;border:1px solid canvastext}}.submit-confirm-scrim{z-index:120;padding:16px;padding-bottom:calc(16px + var(--safe-bottom,0px));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#100e1c70;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.submit-confirm{border:1px solid var(--border-theme);background:var(--surface-primary);width:100%;max-width:460px;color:var(--text-primary);box-shadow:var(--shadow-card);border-radius:22px;gap:14px;padding:20px;display:grid}.submit-confirm h2{font-size:var(--text-title-sm);margin:0;line-height:1.3}.submit-confirm h2:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}.submit-confirm-summary{color:var(--text-secondary);font-size:var(--text-compact);margin:0;line-height:1.45}.submit-confirm-missing{background:var(--danger-soft);color:var(--danger);border-radius:16px;gap:8px;padding:12px 14px;display:grid}.submit-confirm-missing p{font-size:var(--text-compact);margin:0;font-weight:600}.submit-confirm-missing small{color:inherit;font-size:var(--text-caption);opacity:.85}.submit-confirm-missing-list{flex-wrap:wrap;gap:8px;display:flex}.submit-confirm-missing-item{min-width:44px;min-height:44px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:14px;padding:0 10px;font-weight:700}.submit-confirm-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.submit-confirm-actions>*{min-height:48px}.homework-submit-button{margin-top:1rem}@media (prefers-reduced-transparency:reduce){.submit-confirm-scrim{-webkit-backdrop-filter:none;backdrop-filter:none;background:#100e1cb8}}@media (forced-colors:active){.submit-confirm,.submit-confirm-missing,.submit-confirm-missing-item{color:canvastext;background:canvas;border:1px solid canvastext}}.item-title sub,.item-title sup,.mistake-card-prompt sub,.mistake-card-prompt sup,.meta sub,.meta sup{font-size:.72em;line-height:0}.formula-stack{vertical-align:.58em;flex-direction:column;align-items:flex-start;font-size:.72em;line-height:1;display:inline-flex}.formula-stack.is-lead{align-items:flex-end}.formula-math math{font-family:STIX Two Math,Cambria Math,Latin Modern Math,math;font-size:1.12em;line-height:1.2}.formula-math{margin:.12em 0;display:inline-block}.formula-math-raw{font-family:var(--font-mono,ui-monospace, monospace);font-size:.92em}.formula-stack>sup,.formula-stack>sub{font-size:inherit;vertical-align:baseline;line-height:1}.mistake-closed{border:1px solid color-mix(in srgb, var(--success) 22%, var(--border-theme));background:var(--success-soft);border-radius:18px;align-items:center;gap:13px;margin-top:18px;padding:15px 16px;display:flex}.mistake-closed-count{background:var(--surface-primary);width:40px;height:40px;color:var(--success);font-family:var(--font-display);font-size:var(--text-compact);font-weight:var(--weight-black);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;place-items:center;display:grid}.mistake-closed>p{color:var(--text-primary);font-size:var(--text-small);line-height:var(--leading-snug);margin:0}.connection-note{border:1px solid var(--border-theme);border-radius:var(--radius-control);background:var(--warning-soft);color:var(--warning);justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;padding:10px 14px;font-size:.9rem;line-height:1.35;display:flex}.connection-note .text-button{min-height:44px;color:inherit;flex:none;padding:0 4px;font-weight:600}.ai-import-item-number{align-items:center;gap:8px;display:inline-flex}.ai-import-attention{border-radius:var(--radius-pill);background:var(--warning-soft);width:22px;height:22px;color:var(--warning);place-items:center;font-size:.85rem;font-weight:800;line-height:1;display:inline-grid}.ai-import-attention-reasons{color:var(--warning);margin:4px 0 0;font-size:.88rem}.import-attention-summary ul,.import-rejected-list{margin:6px 0 0;padding-left:18px}.import-attention-summary li span{font-weight:600}.external-json-paste summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.image-open-error{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.image-open-error .text-button{min-height:44px;color:var(--accent,inherit);font-weight:600}.answer-leak-warning ul{margin:6px 0 0;padding-left:18px}.answer-leak-warning .button{width:100%;margin-top:8px}.admin-template-group{gap:10px;display:grid}.admin-template-author{margin:8px 0 0;font-size:.95rem}.admin-template-row{border:1px solid var(--border-theme);border-radius:var(--radius-control);gap:10px;padding:12px 14px;display:grid}.admin-template-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.admin-template-head>div:first-child{gap:2px;min-width:0;display:grid}.admin-template-preview ol{gap:8px;margin:0;padding-left:22px;display:grid}.admin-template-send{gap:6px;display:grid}.homework-task-nav-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.homework-task-nav-ellipsis{width:44px;min-width:44px;min-height:44px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;flex:none;padding:0;font-weight:700}.homework-task-grid-open{border:1px solid var(--border-theme);border-radius:var(--radius-pill);background:var(--surface-primary);min-height:44px;color:var(--text-primary);font:inherit;cursor:pointer;align-items:center;gap:6px;padding:0 12px;font-size:.88rem;font-weight:600;display:inline-flex}.homework-task-grid-open svg{width:16px;height:16px}.task-grid-sheet{max-height:calc(var(--app-viewport-height,100dvh) - 32px - var(--safe-bottom,0px) - var(--safe-content-top,0px));flex-direction:column;display:flex}.task-grid-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.task-grid-close{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.task-grid{overscroll-behavior:contain;flex:auto;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px;min-height:0;padding:2px;display:grid;overflow-y:auto}.task-grid-cell{border:1px solid var(--border-theme-strong,var(--border-theme));min-height:48px;color:var(--text-primary);font:inherit;cursor:pointer;background:0 0;border-radius:14px;font-weight:700}.task-grid-cell.answered{background:var(--success-soft);color:var(--success);border-color:#0000}.task-grid-cell.active{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent,#fff)}.task-grid-cell:focus-visible,.task-grid-close:focus-visible,.homework-task-grid-open:focus-visible,.homework-task-nav-ellipsis:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.task-grid-legend{color:var(--text-secondary);gap:16px;font-size:.85rem;display:flex}.task-grid-legend span{align-items:center;gap:6px;display:inline-flex}.task-grid-swatch{border:1px solid var(--border-theme-strong,var(--border-theme));border-radius:5px;width:14px;height:14px}.task-grid-swatch.answered{background:var(--success-soft);border-color:#0000}@media (forced-colors:active){.task-grid-cell,.task-grid-cell.answered{color:canvastext;background:canvas;border:1px solid canvastext}.task-grid-cell.active{color:highlighttext;background:highlight}}.homework-task-navigation .homework-task-nav-items{justify-content:safe center;gap:0}.appearance-sheet .profile-preferences{margin-top:0}.appearance-sheet .section-kicker{display:none}@media (width<=359px){.appearance-toggle span{display:none}}.trainer-favorite{width:44px;height:44px;color:var(--text-muted);cursor:pointer;transition:color .16s var(--ease), transform .16s var(--ease);background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;margin:-6px -8px -6px auto;display:inline-flex}.trainer-favorite svg{width:22px;height:22px}.trainer-favorite[data-active=true]{color:var(--warning)}.trainer-favorite[data-active=true] svg{fill:currentColor}.trainer-favorite:active{transform:scale(.9)}.trainer-favorite:focus-visible,.trainer-similar:focus-visible,.trainer-choice-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.trainer-favorite-error{flex-basis:100%;margin:0}.trainer-card-source{color:var(--text-muted);font-size:var(--text-caption);text-align:right;margin:0;font-style:italic}.trainer-similar{justify-self:center;min-height:44px}.trainer-choice-body{padding-bottom:16px}.trainer-choice-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.trainer-choice-item{border:1px solid var(--border-theme);background:var(--surface-primary);width:100%;min-height:56px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;transition:transform .16s var(--ease), background .16s var(--ease);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"code title meta""bar bar bar";align-items:center;gap:8px 12px;padding:12px 14px;display:grid}.trainer-choice-item:active{background:var(--surface-pressed,var(--surface-muted));transform:scale(.98)}.trainer-choice-item[data-done=true]{border-color:color-mix(in srgb, var(--success) 45%, var(--border-theme))}.trainer-choice-code{min-width:2.4em;color:var(--accent);font-variant-numeric:tabular-nums;grid-area:code;font-weight:700}.trainer-choice-title{grid-area:title;font-weight:600;line-height:1.3}.trainer-choice-item--plain .trainer-choice-title{grid-column:1/3}.trainer-choice-meta{color:var(--text-secondary);font-size:var(--text-caption);font-variant-numeric:tabular-nums;grid-area:meta}.trainer-choice-meta svg{width:16px;height:16px;color:var(--success)}.trainer-choice-bar{grid-area:bar}.trainer-choice-footer{padding:12px calc(var(--safe-right,0px) + 14px) calc(var(--safe-bottom,0px) + 14px) calc(var(--safe-left,0px) + 14px);border-top:1px solid var(--border-theme);background:var(--surface-page)}.trainer-choice-start{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:56px;display:flex}.trainer-choice-start>span{gap:1px;display:grid}.trainer-choice-start small{font-size:var(--text-caption);opacity:.85;font-weight:500}.trainer-choice-start svg{flex:none;width:20px;height:20px}.trainer-favorites-card svg:first-child{color:var(--warning);fill:currentColor}.trainer-words{gap:2px;display:grid}.trainer-words-title{color:var(--text-secondary);font-size:var(--text-caption);margin:4px 0 0;font-weight:600}.trainer-word-list{margin:0;padding:0;list-style:none;display:grid}.trainer-word{border-top:1px solid var(--border-soft);align-items:center;gap:8px;min-height:44px;display:flex}.trainer-word:first-child{border-top:0}.trainer-word-body{flex:1;gap:2px;min-width:0;padding:6px 0;display:grid}.trainer-word-body small{color:var(--text-secondary);font-size:var(--text-caption);line-height:1.35}.trainer-word-text{overflow-wrap:anywhere;font-size:17px;font-weight:600}.trainer-word-mark{background:var(--surface-accent-soft);color:var(--accent);border-radius:4px;padding:0 1px}.trainer-word-star{margin:0 -8px 0 0}.trainer-word-error{flex-basis:100%}.trainer-word-learned{color:var(--success);font-size:var(--text-caption);flex:none;align-items:center;gap:4px;font-weight:600;display:inline-flex}.trainer-word-learned svg{width:14px;height:14px}.trainer-word[data-learned=true] .trainer-word-text{color:var(--text-secondary)}.trainer-words-screen,.trainer-practice{gap:14px;display:grid}.trainer-word-group{gap:2px;display:grid}.trainer-word-group-title{color:var(--text-secondary);font-size:var(--text-caption);letter-spacing:.02em;text-transform:uppercase;margin:8px 0 0;font-weight:700}.trainer-practice-card{border:1px solid var(--border-soft);border-radius:var(--radius-card);background:var(--surface-raised);gap:16px;padding:20px 16px;display:grid}.trainer-practice-kicker{color:var(--text-muted);font-size:var(--text-caption);font-weight:600}.trainer-practice-question{margin:0;font-size:20px;font-weight:700}.trainer-practice-word{overflow-wrap:anywhere;margin:0;font-size:28px;font-weight:700;line-height:1.25}.trainer-practice-gap{border-bottom:3px solid var(--accent);min-width:1.6em;color:var(--accent);text-align:center;margin:0 2px;display:inline-block}.trainer-practice-gap[data-filled=true]{border-bottom-width:2px;min-width:0;margin:0}.trainer-practice-options{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px;display:grid}.trainer-practice-option{border:1.5px solid var(--border-theme-strong);border-radius:var(--radius-control);background:var(--surface-raised);min-height:56px;color:var(--text-primary);cursor:pointer;transition:border-color .16s var(--ease), background .16s var(--ease), transform .12s var(--ease);justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:20px;font-weight:600;display:inline-flex}.trainer-practice-option:active:not(:disabled){transform:scale(.97)}.trainer-practice-option:disabled{cursor:default}.trainer-practice-option[data-state=right]:disabled,.trainer-practice-option[data-state=wrong]:disabled{opacity:1}.trainer-practice-option svg{flex:none;width:20px;height:20px}.trainer-practice-option[data-state=right]{border-color:var(--success);background:var(--success-soft);color:var(--success)}.trainer-practice-option[data-state=wrong]{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.trainer-practice-option:focus-visible,.trainer-word-star:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.trainer-practice-answer{margin:0}.trainer-practice-next{justify-self:stretch;margin-top:4px}@media (prefers-reduced-motion:reduce){.trainer-practice-option{transition:none}}.trainer-admin-periods{gap:2px;display:grid}.trainer-admin-row{border-bottom:1px solid var(--border-soft);font-size:var(--text-small);font-variant-numeric:tabular-nums;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));align-items:baseline;gap:8px;padding:8px 0;display:grid}.trainer-admin-row--three{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr))}.trainer-admin-row--five{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px 4px}.trainer-admin-row--five>:first-child{overflow-wrap:anywhere;grid-column:1/-1;font-weight:700}.trainer-admin-row--five.trainer-admin-row--head>:first-child{display:none}.trainer-admin-row--five.trainer-admin-row--head>span{white-space:nowrap;font-size:12px}.trainer-admin-row>span:not(:first-child){text-align:right}.trainer-admin-row>span:first-child{overflow-wrap:anywhere;min-width:0;color:var(--text-primary)}.trainer-admin-row--head{color:var(--text-muted);font-size:var(--text-micro);padding-top:0}.trainer-reminder-preview{gap:10px;margin:0;padding:0;list-style:none;display:grid}.trainer-reminder-preview li{border:1px solid var(--border-soft);border-radius:var(--radius-control);background:var(--surface-muted);gap:6px;padding:12px;display:grid}.trainer-reminder-preview li.is-waiting>:not(.trainer-reminder-off){opacity:.7}.trainer-reminder-off{justify-self:start;min-height:44px}.trainer-reminder-preview p{white-space:pre-line;color:var(--text-primary);font-size:var(--text-small);margin:0;line-height:1.45}.trainer-reminder-button{background:var(--surface-accent-soft);color:var(--accent);font-size:var(--text-micro);font-weight:var(--weight-semibold);border-radius:999px;justify-self:start;padding:4px 10px}.admin-online-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-online-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.admin-online-row{border:1px solid var(--border-soft);border-radius:var(--radius-control);background:var(--surface-muted);width:100%;min-height:44px;color:var(--text-primary);text-align:left;font:inherit;cursor:pointer;align-items:center;gap:10px;padding:8px 10px;display:flex}.admin-online-row>svg{width:18px;height:18px;color:var(--text-muted);flex:none;transition:transform .16s}.admin-online-row[aria-expanded=true]>svg{transform:rotate(90deg)}.admin-online-who{flex:auto;gap:2px;min-width:0;display:grid}.admin-online-who small{overflow-wrap:anywhere;color:var(--text-secondary);font-size:var(--text-micro)}.admin-presence-dot{border:2px solid var(--text-muted);vertical-align:middle;border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.admin-presence-dot.is-online{border-color:var(--success);background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.admin-activity{gap:12px;margin-top:8px;display:grid}.admin-activity-presence{color:var(--text-primary);font-size:var(--text-small);align-items:center;gap:8px;margin:0;display:flex}.admin-activity-day h3{color:var(--text-muted);font-size:var(--text-micro);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em;margin:4px 0 6px}.admin-activity-day ol{gap:0;margin:0;padding:0;list-style:none;display:grid}.admin-activity-event{border-bottom:1px solid var(--border-soft);font-size:var(--text-small);grid-template-columns:44px minmax(0,1fr);gap:10px;padding:8px 0;display:grid}.admin-activity-event time{color:var(--text-muted);font-variant-numeric:tabular-nums}.admin-activity-event div{gap:2px;min-width:0;display:grid}.admin-activity-event strong{color:var(--text-primary);font-weight:var(--weight-semibold)}.admin-activity-event span{overflow-wrap:anywhere;color:var(--text-secondary)}@media (prefers-reduced-motion:reduce){.admin-online-row>svg{transition:none}}:root{--motion-instant:.11s;--motion-fast:.18s;--motion-medium:.32s;--motion-slow:.43s;--motion-stagger:34ms;--ease-standard:cubic-bezier(.2, .72, .2, 1);--ease-enter:cubic-bezier(.16, 1, .3, 1);--ease-exit:cubic-bezier(.4, 0, .8, .2);--ease-fluid:cubic-bezier(.22, .88, .26, 1);--ease-spring-soft:cubic-bezier(.2, .92, .24, 1);--glass-fill:#ffffff29;--glass-fill-strong:#fafafc4d;--glass-fill-clear:#ffffff1f;--glass-solid:var(--surface-overlay,#f3f1f8);--glass-solid-clear:#2b253ef0;--glass-clear-foreground:#fff;--glass-border:#ffffff7a;--glass-border-solid:#33295424;--glass-edge:#3127551a;--glass-edge-soft:#3127550b;--glass-highlight:#ffffffad;--glass-highlight-soft:#ffffff38;--glass-shadow:0 11px 30px #2b1f531a, 0 2px 7px #2b1f530d;--glass-shadow-compact:0 6px 18px #2b1f5313, 0 1px 4px #2b1f5309;--glass-shadow-expanded:0 20px 52px #23194426, 0 5px 15px #23194411;--glass-shadow-pressed:0 5px 14px #2b1f5317, 0 1px 4px #2b1f530d;--glass-blur:20px;--glass-blur-compact:14px;--glass-blur-thick:22px;--glass-saturation:1.14;--glass-brightness:1.02;--glass-tint:#ffffff09;--glass-tint-accent:color-mix(in srgb, var(--accent) 11%, transparent);--glass-tint-success:#25846114;--glass-tint-warning:#ffffff0b;--glass-tint-danger:#bd405617;--glass-spill:color-mix(in srgb, var(--accent) 7.5%, transparent);--glass-touch:color-mix(in srgb, var(--accent) 28%, transparent);--glass-control-accent-fill:color-mix(in srgb, var(--accent) 60%, transparent);--glass-control-accent-solid:var(--accent-hover);--glass-control-accent-foreground:#fff;--glass-control-success-fill:#256f5899;--glass-control-success-solid:#256f58;--glass-control-success-foreground:#fff;--glass-control-warning-fill:#f5d98d9e;--glass-control-warning-solid:#f5d98d;--glass-control-warning-foreground:#35250d;--glass-control-danger-fill:#a9334a9e;--glass-control-danger-solid:#a9334a;--glass-control-danger-foreground:#fff;--glass-control-tinted-border:#ffffff6b;--glass-control-tinted-touch:#ffffff80;--glass-reflection-strength:.58;--glass-scrim:#1711272e;--glass-nav-veil:#fff1}html[data-theme=dark]{--glass-fill:#16151d38;--glass-fill-strong:#1f1d2652;--glass-fill-clear:#0b0a0f2e;--glass-solid:var(--surface-overlay,#282530);--glass-solid-clear:#12101bf2;--glass-border:#ffffff26;--glass-border-solid:#eeeaf530;--glass-edge:#00000047;--glass-edge-soft:#0000001f;--glass-highlight:#ffffff2e;--glass-highlight-soft:#ffffff12;--glass-shadow:0 12px 32px #0000004d, 0 2px 8px #00000029;--glass-shadow-compact:0 6px 18px #00000038, 0 1px 4px #0000001a;--glass-shadow-expanded:0 22px 54px #00000061, 0 6px 16px #0003;--glass-shadow-pressed:0 5px 14px #0000003d, 0 1px 5px #00000024;--glass-saturation:1.12;--glass-brightness:.99;--glass-tint:#ffffff08;--glass-tint-accent:color-mix(in srgb, var(--accent) 12%, transparent);--glass-tint-success:#4aae8917;--glass-tint-warning:#ffffff0a;--glass-tint-danger:#e2536e1a;--glass-spill:color-mix(in srgb, var(--accent) 8%, transparent);--glass-touch:color-mix(in srgb, var(--accent) 25%, transparent);--glass-control-accent-fill:color-mix(in srgb, var(--accent) 64%, transparent);--glass-control-accent-solid:var(--accent-pressed);--glass-control-success-fill:#256f58a3;--glass-control-warning-fill:#f5d98da8;--glass-control-danger-fill:#a9334aa8;--glass-reflection-strength:.54;--glass-scrim:#03020845;--glass-nav-veil:#12111813}.glass-surface,.glass-cluster{--glass-radius:20px;--glass-current-fill:var(--glass-fill);--glass-current-solid:var(--glass-solid);--glass-current-border:var(--glass-border-solid);--glass-current-shadow:var(--glass-shadow);--glass-current-blur:var(--glass-blur);--glass-current-tint:var(--glass-tint);--glass-touch-x:50%;--glass-touch-y:50%;--glass-energy:0;--glass-direction-x:0;--glass-direction-y:0;--glass-stretch-x:1;--glass-stretch-y:1;--glass-shift-x:0px;--glass-shift-y:0px;--glass-scale-x:1;--glass-scale-y:1;--glass-reflection-opacity:var(--glass-reflection-strength);isolation:isolate;border:1px solid var(--glass-current-border);border-radius:var(--glass-radius);background:var(--glass-current-solid);box-shadow:var(--glass-current-shadow);color:inherit;position:relative;overflow:hidden}@supports (overflow:clip){.glass-surface,.glass-cluster{overflow:clip}}.glass-shape--circle{--glass-radius:50%}.glass-shape--capsule{--glass-radius:999px}.glass-shape--rounded{--glass-radius:20px}.glass-shape--panel{--glass-radius:32px}.glass-shape--inherit{--glass-radius:inherit}.glass-surface--regular,.glass-regular,[data-glass-variant=regular]{--glass-current-fill:var(--glass-fill);--glass-current-solid:var(--glass-solid)}.glass-surface--clear,.glass-clear,[data-glass-variant=clear]{--glass-current-fill:var(--glass-fill-clear);--glass-current-solid:var(--glass-solid)}.glass-context--media .glass-surface--clear,.glass-context--media .glass-clear,.glass-context-media .glass-surface--clear,.glass-context-media .glass-clear,[data-glass-context=media] .glass-surface--clear,[data-glass-context=media] .glass-clear,.lightbox.glass-context--media .glass-clear{--glass-current-fill:var(--glass-fill-clear);--glass-current-solid:var(--glass-solid-clear);--glass-current-border:var(--glass-border);color:var(--glass-clear-foreground)}.glass-surface--solid,.glass-solid,[data-glass-variant=solid]{--glass-current-fill:var(--glass-solid);--glass-current-solid:var(--glass-solid);--glass-current-border:var(--glass-border-solid)}.glass-surface--compact,.glass-compact,[data-glass-thickness=compact]{--glass-current-blur:var(--glass-blur-compact);--glass-current-shadow:var(--glass-shadow-compact);--glass-reflection-opacity:.66}.glass-surface--thick,.glass-thick,[data-glass-thickness=thick]{--glass-current-fill:var(--glass-fill-strong);--glass-current-blur:var(--glass-blur-thick);--glass-current-shadow:var(--glass-shadow-expanded);--glass-reflection-opacity:.94}.glass-tint--accent,[data-glass-tint=accent]{--glass-current-tint:var(--glass-tint-accent)}.glass-tint--success,[data-glass-tint=success]{--glass-current-tint:var(--glass-tint-success)}.glass-tint--warning,[data-glass-tint=warning]{--glass-current-tint:var(--glass-tint-warning)}.glass-tint--danger,[data-glass-tint=danger]{--glass-current-tint:var(--glass-tint-danger)}.glass-control.glass-tint--accent{--glass-current-fill:var(--glass-control-accent-fill);--glass-current-solid:var(--glass-control-accent-solid);--glass-current-border:var(--glass-control-tinted-border);--glass-touch:var(--glass-control-tinted-touch);color:var(--glass-control-accent-foreground)}.glass-control.glass-tint--success{--glass-current-fill:var(--glass-control-success-fill);--glass-current-solid:var(--glass-control-success-solid);--glass-current-border:var(--glass-control-tinted-border);--glass-touch:var(--glass-control-tinted-touch);color:var(--glass-control-success-foreground)}.glass-control.glass-tint--warning{--glass-current-fill:var(--glass-control-warning-fill);--glass-current-solid:var(--glass-control-warning-solid);--glass-current-border:#5b3f1233;--glass-touch:#ffffff8a;color:var(--glass-control-warning-foreground)}.glass-control.glass-tint--danger{--glass-current-fill:var(--glass-control-danger-fill);--glass-current-solid:var(--glass-control-danger-solid);--glass-current-border:var(--glass-control-tinted-border);--glass-touch:var(--glass-control-tinted-touch);color:var(--glass-control-danger-foreground)}.glass-material{z-index:0;border-radius:inherit;pointer-events:none;transform:translate3d(var(--glass-shift-x), var(--glass-shift-y), 0) scaleX(var(--glass-scale-x)) scaleY(var(--glass-scale-y)) scaleX(var(--glass-stretch-x)) scaleY(var(--glass-stretch-y));transform-origin:var(--glass-touch-x) var(--glass-touch-y);transition:transform var(--motion-fast) var(--ease-fluid), opacity var(--motion-fast) var(--ease-standard);position:absolute;inset:0;overflow:hidden}.glass-refraction-definitions{pointer-events:none;width:0;height:0;position:fixed;overflow:hidden}.glass-backdrop,.glass-refraction-layer,.glass-tint,.glass-edge,.glass-highlight,.glass-touch-energy{border-radius:inherit;pointer-events:none;position:absolute;inset:0}.glass-backdrop{background:0 0}.glass-refraction-layer{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;display:none}.glass-tint{background:radial-gradient(130% 150% at 100% 115%, var(--glass-spill) 0%, var(--glass-current-tint) 44%, transparent 76%);opacity:var(--glass-reflection-opacity)}.glass-edge{border:1px solid var(--glass-current-border);box-shadow:inset 0 1px 0 var(--glass-highlight-soft);inset:0}.glass-highlight{background:radial-gradient(82% 54% at var(--glass-touch-x) -8%, var(--glass-highlight), transparent 72%);height:100%;opacity:calc(.26 + (var(--glass-energy) * .22));transition:opacity var(--motion-fast) var(--ease-standard);inset:0}.glass-touch-energy{background:radial-gradient(circle at var(--glass-touch-x) var(--glass-touch-y), var(--glass-touch) 0, transparent 58%);background:radial-gradient(circle at var(--glass-touch-x) var(--glass-touch-y), var(--glass-touch) 0, color-mix(in srgb, var(--glass-touch) 45%, transparent) 20%, transparent 58%);opacity:var(--glass-energy);transition:opacity var(--motion-fast) var(--ease-standard)}.glass-content,.glass-surface>:not(.glass-material),.glass-cluster>:not(.glass-material){z-index:1;position:relative}.glass-cluster>.glass-content{width:100%}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){html[data-glass-backdrop=true] .glass-surface:not(.glass-surface--solid,.glass-solid,[data-glass-variant=solid]),html[data-glass-backdrop=true] .glass-cluster:not(.glass-surface--solid,.glass-solid,[data-glass-variant=solid]){background:0 0;border-color:#0000}html[data-glass-backdrop=true] .glass-surface:not(.glass-surface--solid,.glass-solid,[data-glass-variant=solid])>.glass-material>.glass-backdrop,html[data-glass-backdrop=true] .glass-cluster:not(.glass-surface--solid,.glass-solid,[data-glass-variant=solid])>.glass-material>.glass-backdrop{background:var(--glass-current-fill);-webkit-backdrop-filter:blur(var(--glass-current-blur)) saturate(var(--glass-saturation)) brightness(var(--glass-brightness));backdrop-filter:blur(var(--glass-current-blur)) saturate(var(--glass-saturation)) brightness(var(--glass-brightness))}}@supports ((-webkit-mask-image:linear-gradient(#000, transparent)) or (mask-image:linear-gradient(#000, transparent))){.glass-highlight{-webkit-mask-image:linear-gradient(#000 0 62%,#0000 100%);mask-image:linear-gradient(#000 0 62%,#0000 100%)}}.glass-control{isolation:isolate;border-radius:var(--glass-radius);min-width:44px;min-height:44px;color:inherit;touch-action:manipulation;transition:color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.glass-control>:not(.glass-material){z-index:1;position:relative}.glass-control>.glass-content{justify-content:center;align-items:center;gap:inherit;min-width:0;color:inherit;display:inline-flex;transform:none}.glass-control.full,.glass-control.full>.glass-content{width:100%}.glass-control[data-glass-pressed=true],.glass-control.is-pressed{--glass-energy:1;--glass-scale-x:.978;--glass-scale-y:.962;box-shadow:var(--glass-shadow-pressed)}.glass-control[data-glass-pressed=true]>.glass-material .glass-edge,.glass-control.is-pressed>.glass-material .glass-edge{box-shadow:inset 0 1px 0 var(--glass-highlight-soft)}.glass-control:focus:not(:focus-visible){outline:none}.glass-control:focus-visible{outline:3px solid var(--focus-ring,color-mix(in srgb, var(--accent) 32%, transparent));outline-offset:3px}.glass-cluster .glass-control:focus-visible{outline-offset:-4px}.glass-cluster .glass-surface:not(.glass-cluster),.glass-cluster .glass-control{box-shadow:none;background:0 0;border-color:#0000}.glass-cluster .glass-surface:not(.glass-cluster)>.glass-material,.glass-cluster .glass-control>.glass-material{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.glass-cluster .glass-control>.glass-material>:not(.glass-touch-energy){opacity:0}.glass-cluster .glass-control>.glass-material>.glass-touch-energy{opacity:var(--glass-energy)}.glass-indicator-host{--glass-indicator-x:0px;--glass-indicator-y:0px;--glass-indicator-width:44px;--glass-indicator-height:44px;--glass-indicator-radius:999px;--glass-indicator-inset:4px;--glass-indicator-bridge:0;--glass-indicator-stretch:1;--glass-indicator-distance:0}.glass-indicator-host,.nav-grid,.segmented-control{--glass-indicator-gap:0px;isolation:isolate;position:relative}.glass-indicator-host{--glass-active-index:0;--glass-item-count:1}.glass-indicator-host>.glass-material{z-index:0;position:absolute}.glass-indicator-host>.glass-content,.glass-indicator-host>.glass-content>:not(.glass-shared-indicator){z-index:1;position:relative}.glass-shared-indicator{z-index:0;isolation:isolate;width:var(--glass-indicator-width);height:var(--glass-indicator-height);border-radius:var(--glass-indicator-radius);background:radial-gradient(100% 140% at 100% 112%, color-mix(in srgb, var(--accent) 7.5%, transparent), transparent 64%), #ffffff06;pointer-events:none;transform:translate3d(var(--glass-indicator-x), var(--glass-indicator-y), 0) scaleX(var(--glass-indicator-stretch));transform-origin:50%;transition:width var(--motion-medium) var(--ease-fluid), height var(--motion-medium) var(--ease-fluid), transform var(--motion-medium) var(--ease-fluid), border-radius var(--motion-medium) var(--ease-fluid), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);border:1px solid #fff3;position:absolute;top:0;left:0;overflow:visible;box-shadow:0 3px 9px #3327640e}.glass-indicator-refraction{z-index:0;inset:1px;overflow:hidden}html[data-theme=dark] .glass-shared-indicator{background:radial-gradient(100% 140% at 100% 112%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 64%), #ffffff05;border-color:#ffffff14;box-shadow:0 3px 10px #0000001f}.glass-active-indicator.glass-shared-indicator{top:var(--glass-indicator-inset);bottom:var(--glass-indicator-inset);left:var(--glass-indicator-inset);width:calc(( 100% - (2 * var(--glass-indicator-inset)) - (var(--glass-indicator-gap) * (var(--glass-item-count) - 1)) ) / var(--glass-item-count));height:auto;transform:translate3d(calc(var(--glass-active-index) * (100% + var(--glass-indicator-gap))), 0, 0) scaleX(var(--glass-indicator-stretch));border-radius:999px}.glass-shared-indicator:before{content:"";z-index:1;border-radius:inherit;opacity:.42;pointer-events:none;background:radial-gradient(92% 48% at 50% -7%,#ffffff40,#0000 76%);height:100%;position:absolute;inset:0}.glass-shared-indicator:after{content:"";z-index:0;width:calc(50% + (var(--glass-indicator-distance) * (100% + var(--glass-indicator-gap))));background:linear-gradient(90deg, #ffffff06, #ffffff17 38%, color-mix(in srgb, var(--accent) 11%, transparent) 68%, #ffffff06);filter:blur(1.5px);opacity:calc(var(--glass-indicator-bridge) * .9);transform:scaleX(var(--glass-indicator-bridge));transition:opacity var(--motion-instant) var(--ease-standard), transform var(--motion-fast) var(--ease-fluid);border-radius:999px;position:absolute;top:19%;bottom:19%}.glass-indicator-host[data-glass-indicator-direction=forward] .glass-shared-indicator,.glass-shared-indicator[data-glass-indicator-direction=forward]{transform-origin:0}.glass-indicator-host[data-glass-indicator-direction=back] .glass-shared-indicator,.glass-shared-indicator[data-glass-indicator-direction=back]{transform-origin:100%}.glass-indicator-host[data-glass-indicator-direction=forward] .glass-shared-indicator:after,.glass-shared-indicator[data-glass-indicator-direction=forward]:after{transform-origin:100%;right:50%}.glass-indicator-host[data-glass-indicator-direction=back] .glass-shared-indicator:after,.glass-shared-indicator[data-glass-indicator-direction=back]:after{transform-origin:0;left:50%}.glass-indicator-host[data-glass-indicator-phase=depart] .glass-shared-indicator,.glass-shared-indicator[data-glass-indicator-phase=depart]{transition-duration:40ms;box-shadow:0 2px 7px #3327640d}.glass-indicator-host[data-glass-indicator-phase=bridge] .glass-shared-indicator,.glass-shared-indicator[data-glass-indicator-phase=bridge]{box-shadow:none;filter:drop-shadow(0 4px 10px #3327640f);border-color:#0000;transition-duration:.16s}html[data-theme=dark] .glass-indicator-host[data-glass-indicator-phase=bridge] .glass-shared-indicator,html[data-theme=dark] .glass-shared-indicator[data-glass-indicator-phase=bridge]{box-shadow:none;filter:drop-shadow(0 4px 11px #0000001f);border-color:#0000}.glass-indicator-host[data-glass-indicator-phase=bridge] .glass-shared-indicator:before,.glass-shared-indicator[data-glass-indicator-phase=bridge]:before{opacity:.14}.glass-indicator-host[data-glass-indicator-phase=arrive] .glass-shared-indicator,.glass-shared-indicator[data-glass-indicator-phase=arrive]{--glass-indicator-stretch:1;transition-duration:80ms}.nav.glass-navigation{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding-top:8px;padding-left:max(8px, var(--safe-left,env(safe-area-inset-left,0px)));padding-right:max(8px, var(--safe-right,env(safe-area-inset-right,0px)));padding-bottom:max(12px, calc(var(--safe-bottom,env(safe-area-inset-bottom,0px)) + 12px));background:0 0;border:0}.nav.glass-navigation:before{display:none}.glass-navigation>.glass-cluster,.nav-glass.glass-cluster{--glass-radius:999px;--glass-current-blur:20px;--glass-current-shadow:0 7px 18px #2b1f5312;--glass-reflection-opacity:.22;view-transition-name:none;width:min(100%,520px);min-height:58px;margin:0 auto}html[data-theme=dark] .glass-navigation>.glass-cluster,html[data-theme=dark] .nav-glass.glass-cluster{--glass-current-shadow:0 8px 20px #0000002e}.glass-navigation>.glass-cluster>.glass-material>.glass-edge,.nav-glass.glass-cluster>.glass-material>.glass-edge,html[data-theme=dark] .glass-navigation>.glass-cluster>.glass-material>.glass-edge,html[data-theme=dark] .nav-glass.glass-cluster>.glass-material>.glass-edge{box-shadow:none;border-color:#0000}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){html[data-glass-backdrop=true] .glass-navigation>.glass-cluster,html[data-glass-backdrop=true] .nav-glass.glass-cluster{background:var(--glass-nav-veil);-webkit-backdrop-filter:blur(20px) saturate(var(--glass-saturation)) brightness(var(--glass-brightness));backdrop-filter:blur(20px) saturate(var(--glass-saturation)) brightness(var(--glass-brightness))}html[data-glass-backdrop=true] .glass-navigation>.glass-cluster>.glass-material>.glass-backdrop,html[data-glass-backdrop=true] .nav-glass.glass-cluster>.glass-material>.glass-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}}@supports ((-webkit-backdrop-filter:url("#homework-glass-refraction-compact")) or (backdrop-filter:url("#homework-glass-refraction-compact"))){html[data-glass-refraction=verified][data-glass-backdrop=true][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .theme-toggle.glass-control,html[data-glass-refraction=verified][data-glass-backdrop=true][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .page-back-button.glass-control{-webkit-backdrop-filter:url(#homework-glass-refraction-compact);backdrop-filter:url(#homework-glass-refraction-compact);clip-path:inset(0 round var(--glass-radius))}html[data-glass-refraction=verified][data-glass-backdrop=true][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .theme-toggle.glass-control:focus-visible,html[data-glass-refraction=verified][data-glass-backdrop=true][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .page-back-button.glass-control:focus-visible{outline-offset:-4px}html[data-glass-refraction=verified][data-glass-backdrop=true][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .theme-toggle.glass-control>.glass-material>.glass-backdrop,html[data-glass-refraction=verified][data-glass-backdrop=true][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .page-back-button.glass-control>.glass-material>.glass-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}html[data-glass-refraction=verified][data-glass-backdrop=true][data-glass-material=backdrop]:not([data-reduced-motion=true]):not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .nav-active-indicator{-webkit-backdrop-filter:url(#homework-glass-refraction-navigation);backdrop-filter:url(#homework-glass-refraction-navigation)}html[data-glass-refraction=verified][data-glass-backdrop=true][data-glass-material=backdrop]:not([data-reduced-motion=true]):not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .nav-active-indicator:not([data-glass-indicator-phase=bridge]){clip-path:inset(0 round 999px)}html[data-glass-refraction=verified][data-glass-backdrop=true][data-glass-material=backdrop]:not([data-reduced-motion=true]):not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .nav-active-indicator{background:radial-gradient(105% 145% at 100% 112%, color-mix(in srgb, var(--accent) 2.4%, transparent), transparent 66%), #ffffff03;border-color:#0000;box-shadow:0 2px 7px #33276408}html[data-theme=dark][data-glass-refraction=verified][data-glass-backdrop=true][data-glass-material=backdrop]:not([data-reduced-motion=true]):not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .nav-active-indicator{background:radial-gradient(105% 145% at 100% 112%, color-mix(in srgb, var(--accent) 2.6%, transparent), transparent 66%), #ffffff05;border-color:#0000;box-shadow:0 2px 7px #00000012}html[data-glass-refraction=verified] .nav-active-indicator:before{opacity:.54}html[data-glass-refraction=verified] .nav-glass[data-glass-indicator-phase=bridge] .nav-active-indicator:before{opacity:.76}}@supports (-webkit-mask-composite:xor) or (mask-composite:exclude){html[data-glass-refraction=verified][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .theme-toggle.glass-control .glass-edge,html[data-glass-refraction=verified][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .page-back-button.glass-control .glass-edge,html[data-glass-refraction=verified][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .nav-active-indicator:before{background:conic-gradient(from 214deg, #372a5e12 0deg, #ffffff1f 52deg, #ffffff6b 98deg, #ffffff29 158deg, color-mix(in srgb, var(--accent) 13%, transparent) 222deg, #30235717 292deg, #372a5e12 360deg);height:100%;box-shadow:none;-webkit-mask-composite:xor;border:0;padding:1px;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}html[data-theme=dark][data-glass-refraction=verified][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .theme-toggle.glass-control .glass-edge,html[data-theme=dark][data-glass-refraction=verified][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .page-back-button.glass-control .glass-edge,html[data-theme=dark][data-glass-refraction=verified][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .nav-active-indicator:before{background:conic-gradient(from 214deg, #0000002e 0deg, #ffffff0b 48deg, #ffffff38 98deg, #ffffff13 158deg, color-mix(in srgb, var(--accent) 12%, transparent) 222deg, #0003 294deg, #0000002e 360deg)}}.glass-navigation .nav-grid,.nav-glass>.glass-content.nav-grid{--glass-indicator-gap:2px;width:100%;min-height:58px;box-shadow:none;background:0 0;border:0;padding:4px}.nav-active-indicator,.nav-grid .glass-shared-indicator{view-transition-name:none}@supports selector(.nav-glass:has(.nav-item.active:focus-visible)){.nav-glass .nav-item.active:focus-visible{outline:none}:is(.nav-glass[data-glass-indicator-phase=idle]:has(.nav-item.active:focus-visible) .glass-shared-indicator,.nav-glass[data-glass-indicator-phase=depart]:has(.nav-item.active:focus-visible) .glass-shared-indicator,.nav-glass[data-glass-indicator-phase=bridge]:has(.nav-item.active:focus-visible) .glass-shared-indicator,.nav-glass[data-glass-indicator-phase=arrive]:has(.nav-item.active:focus-visible) .glass-shared-indicator){outline:3px solid var(--focus-ring,color-mix(in srgb, var(--accent) 32%, transparent));outline-offset:-3px}}.segmented-glass.glass-cluster{--glass-radius:999px;width:100%}.segmented-glass>.glass-content.segmented-control{--glass-indicator-gap:4px;width:100%;box-shadow:none;background:0 0;border:0}.segmented-glass>.glass-content.segmented-control:not(.admin-sections){grid-template-columns:repeat(var(--glass-item-count,1), minmax(0, 1fr))}.segmented-glass>.glass-content.segmented-control>.glass-control.active{box-shadow:none;background:0 0;border-color:#0000}.segmented-glass>.glass-content.segmented-control>.glass-control.active>.glass-material{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.segmented-glass>.glass-content.admin-sections>.glass-shared-indicator{display:none}.workspace-switcher-glass{margin:0 0 20px}.assignment-filter-glass{margin:12px 0 22px}.admin-sections-glass{margin:0 0 14px}.period-control-glass,.theme-preference-control-glass,.segmented-glass>.glass-content.workspace-switcher,.segmented-glass>.glass-content.assignment-filter,.segmented-glass>.glass-content.admin-sections,.segmented-glass>.glass-content.period-control,.segmented-glass>.glass-content.theme-preference-control{margin:0}.homework-countdown.glass-surface{--glass-radius:999px;view-transition-name:homework-timer-control;min-height:48px;position:sticky}.homework-countdown-content{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.homework-timer-start-card .glass-timer-start-control{view-transition-name:homework-timer-control}.homework-timer-start-value.glass-surface{view-transition-name:homework-timer-duration}.homework-timer-dialog-scrim,.glass-scrim{background:var(--glass-scrim);-webkit-backdrop-filter:blur(1px)saturate(.98);backdrop-filter:blur(1px)saturate(.98)}.homework-timer-dialog-panel.glass-surface,.glass-modal-panel{--glass-radius:32px;--glass-current-fill:#f8f8fc12;--glass-current-blur:22px;--glass-current-tint:transparent;--glass-current-border:#ffffff17;--glass-current-shadow:0 8px 20px #23194409;--glass-reflection-opacity:.1;max-height:calc(var(--app-viewport-height,100dvh) - var(--safe-content-top,0px) - var(--safe-bottom,0px) - 32px);view-transition-name:none}html[data-theme=dark] .homework-timer-dialog-panel.glass-surface,html[data-theme=dark] .glass-modal-panel{--glass-current-fill:#1c1b2329;--glass-current-blur:19px;--glass-current-tint:transparent;--glass-current-border:#ffffff12;--glass-current-shadow:0 11px 28px #0000002e}.homework-timer-dialog-panel.glass-surface>.glass-material>.glass-edge,.glass-modal-panel>.glass-material>.glass-edge{border-color:var(--glass-current-border);box-shadow:none;border-top-color:#ffffff26;border-bottom-color:#372a5e09}.homework-timer-dialog-panel.glass-surface>.glass-material>.glass-highlight,.glass-modal-panel>.glass-material>.glass-highlight{opacity:.06}html[data-theme=dark] .homework-timer-dialog-panel.glass-surface>.glass-material>.glass-edge,html[data-theme=dark] .glass-modal-panel>.glass-material>.glass-edge{border-top-color:#ffffff17;border-bottom-color:#0000001f}html[data-theme=dark] .homework-timer-dialog-panel.glass-surface>.glass-material>.glass-highlight,html[data-theme=dark] .glass-modal-panel>.glass-material>.glass-highlight{opacity:.05}.homework-timer-dialog-panel.glass-surface{overflow:hidden}.homework-timer-dialog-panel:focus{outline:none}.homework-timer-dialog-panel-content{width:100%;min-height:0;max-height:calc(var(--app-viewport-height,100dvh) - var(--safe-content-top,0px) - var(--safe-bottom,0px) - 76px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;align-content:start;gap:14px;display:grid;overflow-y:auto}.homework-timer-dialog-panel .glass-control.button{--glass-radius:999px;min-height:52px;margin-top:4px}.homework-timer-dialog-panel .glass-control.button:active,.homework-timer-dialog-panel .glass-control.button[data-glass-pressed=true],.homework-timer-dialog-panel .glass-control.button.is-pressed{--glass-energy:1;--glass-scale-x:.982;--glass-scale-y:.97;background:color-mix(in srgb, var(--accent) 16%, transparent);box-shadow:var(--glass-shadow-pressed);border-color:#0000;transform:none}.homework-timer-dialog.is-dematerializing .glass-control:focus-visible{outline:none}.glass-modal,.homework-timer-dialog.glass-modal{padding:max(16px, calc(var(--safe-content-top,0px) + 12px)) max(16px, var(--safe-right,0px)) max(16px, calc(var(--safe-bottom,0px) + 12px)) max(16px, var(--safe-left,0px))}.upload-progress.glass-surface,.selection-action-bar.glass-surface{--glass-radius:22px}.upload-progress.glass-shape--capsule{--glass-radius:999px}.upload-progress.glass-surface{--upload-progress:0;bottom:calc(var(--safe-bottom,0px) + var(--nav-height,74px) + 10px)}.upload-progress>.glass-material{background:0 0;max-width:none;position:absolute;inset:0}.upload-progress-content{place-items:center;width:100%;min-height:100%;display:grid;position:relative;overflow:hidden}.upload-progress-fill{z-index:0;background:var(--glass-tint-accent);pointer-events:none;transform:scaleX(var(--upload-progress));transform-origin:0;transition:transform var(--motion-fast) var(--ease-standard);position:absolute;inset:0}.upload-progress-content>strong{z-index:1;color:var(--blue-strong,var(--text-primary));font-size:var(--text-small);position:relative}.selection-action-bar.glass-surface{bottom:calc(var(--safe-bottom,0px) + var(--nav-height,74px) + 12px)}.selection-action-bar>.glass-content{gap:12px;width:100%;display:grid}.nav-item.glass-control{min-height:50px;box-shadow:none;background:0 0;border:0;padding:1px;display:block}.nav-item>.glass-content{grid-template-rows:22px 14px;align-content:center;justify-items:center;gap:2px;width:100%;min-height:46px;display:grid}.nav-item.active>.glass-content{color:var(--blue-strong,var(--text-primary))}.nav-badge{border-color:#ffffffd1;box-shadow:0 2px 6px #481f3538}.theme-toggle.glass-control{--glass-radius:999px;--glass-current-fill:#ffffff12;--glass-current-shadow:0 4px 12px #2b1f530b;--glass-spill:color-mix(in srgb, var(--accent) 9%, transparent);--glass-reflection-opacity:.28;min-height:46px;padding:8px 14px}html[data-theme=dark] .theme-toggle.glass-control{--glass-current-fill:#0c0b111c;--glass-current-shadow:0 4px 12px #00000021;--glass-spill:color-mix(in srgb, var(--accent) 8.5%, transparent)}.theme-toggle.glass-control>.glass-content{gap:8px}.theme-toggle.glass-control svg{transition:color var(--motion-fast) var(--ease-standard), transform var(--motion-medium) var(--ease-fluid)}.icon-button.glass-control,.round-action.glass-control,.page-back-button.glass-control{--glass-radius:50%;width:46px;min-width:46px;height:46px;min-height:46px;padding:0}.page-back-button.glass-control{--glass-current-fill:#ffffff14;--glass-current-shadow:0 4px 12px #2b1f530b;--glass-spill:color-mix(in srgb, var(--accent) 7.5%, transparent);--glass-reflection-opacity:.26}html[data-theme=dark] .page-back-button.glass-control{--glass-current-fill:#0c0b111f;--glass-current-shadow:0 4px 12px #00000021;--glass-spill:color-mix(in srgb, var(--accent) 7%, transparent)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){html[data-glass-backdrop=true][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .theme-toggle.glass-control,html[data-glass-backdrop=true][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .page-back-button.glass-control{--glass-current-border:transparent}}@supports ((-webkit-backdrop-filter:url("#homework-glass-refraction-compact")) or (backdrop-filter:url("#homework-glass-refraction-compact"))){html[data-glass-refraction=verified][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .theme-toggle.glass-control{--glass-current-fill:#ffffff06;--glass-current-tint:#ffffff05;--glass-current-shadow:0 3px 8px #2b1f5308;--glass-spill:color-mix(in srgb, var(--accent) 5.5%, transparent);--glass-reflection-opacity:.16}html[data-glass-refraction=verified][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .page-back-button.glass-control{--glass-current-fill:#ffffff05;--glass-current-tint:#ffffff04;--glass-current-shadow:0 3px 8px #2b1f5308;--glass-spill:color-mix(in srgb, var(--accent) 5%, transparent);--glass-reflection-opacity:.15}html[data-theme=dark][data-glass-refraction=verified][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .theme-toggle.glass-control{--glass-current-fill:#0a090e0a;--glass-current-tint:#ffffff04;--glass-current-shadow:0 3px 8px #00000013;--glass-spill:color-mix(in srgb, var(--accent) 5%, transparent)}html[data-theme=dark][data-glass-refraction=verified][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .page-back-button.glass-control{--glass-current-fill:#0a090e0b;--glass-current-tint:#ffffff04;--glass-current-shadow:0 3px 8px #00000013;--glass-spill:color-mix(in srgb, var(--accent) 4.5%, transparent)}html[data-glass-refraction=verified][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .theme-toggle.glass-control .glass-highlight,html[data-glass-refraction=verified][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .page-back-button.glass-control .glass-highlight{opacity:.09}html[data-glass-refraction=verified][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .theme-toggle.glass-control .glass-edge,html[data-glass-refraction=verified][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .page-back-button.glass-control .glass-edge{border-color:#ffffff1f;box-shadow:inset 0 1px #ffffff1c}html[data-theme=dark][data-glass-refraction=verified][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .theme-toggle.glass-control .glass-edge,html[data-theme=dark][data-glass-refraction=verified][data-glass-material=backdrop]:not([data-reduced-transparency=true]):not([data-increased-contrast=true]):not([data-forced-colors=true]) .page-back-button.glass-control .glass-edge{border-color:#ffffff0e;box-shadow:inset 0 1px #fff1}}.page-back-button.glass-control svg{stroke-width:2.3px;width:22px;height:22px}.glass-control.button{--glass-radius:999px;min-height:52px}.floating-note>.glass-content{align-items:center;gap:8px;display:flex}.onboarding-progress-glass.glass-surface{--glass-radius:999px;width:max-content;max-width:100%;margin:18px auto 0}.onboarding-progress-glass>.glass-content.onboarding-progress{margin:0;padding:8px 10px}.welcome-screen.glass-context--media .brand-mark.glass-surface,.welcome-screen.glass-context--media .theme-toggle.glass-surface,.welcome-screen.glass-context--media .round-action.glass-surface{--glass-current-fill:var(--glass-fill-clear);--glass-current-solid:var(--glass-solid-clear);--glass-current-border:var(--glass-border)}.lightbox.glass-context--media{padding:max(16px, calc(var(--safe-content-top,0px) + 12px)) max(16px, var(--safe-right,0px)) max(16px, calc(var(--safe-bottom,0px) + 12px)) max(16px, var(--safe-left,0px))}.lightbox.glass-context--media .lightbox-close.glass-control{min-width:44px;min-height:44px}.onboarding-shell{view-transition-name:homework-onboarding}@keyframes glass-materialize{0%{opacity:0;transform:translateY(5px)scale(.96)}to{opacity:1;transform:none}}@keyframes glass-warning-materialize{0%{opacity:0;transform:translateY(12px)scale(.92)}72%{opacity:1;transform:translateY(-1px)scale(1.008)}to{opacity:1;transform:none}}@keyframes glass-warning-dematerialize{0%{opacity:1;transform:none}to{opacity:.92;transform:translateY(7px)scale(.94)}}@keyframes glass-scrim-materialize{0%{opacity:0}to{opacity:1}}@keyframes glass-scrim-dematerialize{0%{opacity:1}to{opacity:0}}@keyframes glass-route-old-forward{to{opacity:.82;transform:translate(-8px)}}@keyframes glass-route-new-forward{0%{opacity:.82;transform:translate(8px)}}@keyframes glass-route-old-back{to{opacity:.82;transform:translate(8px)}}@keyframes glass-route-new-back{0%{opacity:.82;transform:translate(-8px)}}@keyframes glass-onboarding-old-forward{to{opacity:0;transform:translate(-14px)scale(.985)}}@keyframes glass-onboarding-new-forward{0%{opacity:0;transform:translate(14px)scale(.985)}}@keyframes glass-onboarding-old-back{to{opacity:0;transform:translate(14px)scale(.985)}}@keyframes glass-onboarding-new-back{0%{opacity:0;transform:translate(-14px)scale(.985)}}.glass-materialize{animation:glass-materialize var(--motion-medium) var(--ease-enter) both}.homework-timer-dialog.is-materializing .homework-timer-dialog-scrim{animation:glass-scrim-materialize var(--motion-fast) var(--ease-standard) both}.homework-timer-dialog.is-materializing .homework-timer-dialog-panel,.homework-timer-dialog-panel.is-materializing{transform-origin:50%;animation:glass-warning-materialize var(--motion-medium) var(--ease-enter) both}.homework-timer-dialog.is-dematerializing{pointer-events:none}.homework-timer-dialog.is-dematerializing .homework-timer-dialog-scrim{animation:glass-scrim-dematerialize var(--motion-fast) var(--ease-exit) both}.homework-timer-dialog.is-dematerializing .homework-timer-dialog-panel,.homework-timer-dialog-panel.is-dematerializing{transform-origin:50%;animation:glass-warning-dematerialize .18s var(--ease-exit) both;clip-path:inset(0 round var(--glass-radius))}.homework-timer-dialog.is-dematerializing .homework-timer-dialog-panel>.glass-material,.homework-timer-dialog.is-dematerializing .homework-timer-dialog-panel>.glass-content,.homework-timer-dialog-panel.is-dematerializing>.glass-material,.homework-timer-dialog-panel.is-dematerializing>.glass-content{transition:none;animation:none}::view-transition-group(homework-navigation-indicator){animation-duration:var(--motion-medium);animation-timing-function:var(--ease-fluid)}::view-transition-group(homework-timer-control){animation-duration:var(--motion-medium);animation-timing-function:var(--ease-fluid)}::view-transition-group(homework-timer-duration){animation-duration:var(--motion-medium);animation-timing-function:var(--ease-fluid)}::view-transition-group(homework-timer-warning){animation-duration:var(--motion-medium);animation-timing-function:var(--ease-fluid)}::view-transition-group(homework-onboarding){animation-duration:.46s;animation-timing-function:var(--ease-fluid)}::view-transition-old(homework-timer-control){mix-blend-mode:normal}::view-transition-new(homework-timer-control){mix-blend-mode:normal}::view-transition-old(homework-timer-warning){mix-blend-mode:normal}::view-transition-new(homework-timer-warning){mix-blend-mode:normal}html[data-navigation-direction=forward]::view-transition-old(root){animation:glass-route-old-forward var(--motion-medium) var(--ease-exit) both}html[data-navigation-direction=forward]::view-transition-new(root){animation:glass-route-new-forward var(--motion-medium) var(--ease-enter) both}html[data-navigation-direction=back]::view-transition-old(root){animation:glass-route-old-back var(--motion-medium) var(--ease-exit) both}html[data-navigation-direction=back]::view-transition-new(root){animation:glass-route-new-back var(--motion-medium) var(--ease-enter) both}html:not([data-navigation-direction=back])::view-transition-old(homework-onboarding){animation:glass-onboarding-old-forward .46s var(--ease-exit) both}html:not([data-navigation-direction=back])::view-transition-new(homework-onboarding){animation:glass-onboarding-new-forward .46s var(--ease-enter) both}html[data-navigation-direction=back]::view-transition-old(homework-onboarding){animation:glass-onboarding-old-back .46s var(--ease-exit) both}html[data-navigation-direction=back]::view-transition-new(homework-onboarding){animation:glass-onboarding-new-back .46s var(--ease-enter) both}@media (hover:hover) and (pointer:fine){.glass-control:hover{--glass-energy:.34;--glass-shift-y:-1px;box-shadow:var(--glass-current-shadow)}.glass-control:hover>.glass-material>.glass-edge{box-shadow:inset 0 1px 0 var(--glass-highlight-soft), inset 0 -1px 0 var(--glass-edge-soft)}.glass-control.glass-tint--accent:hover,.glass-control.glass-tint--success:hover,.glass-control.glass-tint--warning:hover,.glass-control.glass-tint--danger:hover{--glass-brightness:1.08}.glass-cluster .glass-control:hover{box-shadow:none;background:0 0}.glass-cluster .glass-control:hover>.glass-material>.glass-edge{box-shadow:none}}@media (height<=600px){.onboarding-progress-glass.glass-surface{margin-top:8px}.onboarding-progress-glass>.glass-content.onboarding-progress{padding-block:5px}}@media (prefers-reduced-motion:reduce){.glass-surface,.glass-cluster,.glass-control,.glass-material,.glass-control:after,.glass-shared-indicator,.glass-shared-indicator:after,.glass-materialize,.homework-timer-dialog-scrim,.homework-timer-dialog-panel,.homework-timer-dialog.is-materializing,.homework-timer-dialog.is-dematerializing{transition-duration:.01ms!important;transition-delay:0s!important;animation:none!important}.glass-control,.glass-control[data-glass-pressed=true],.glass-control.is-pressed,.glass-material{--glass-shift-x:0px;--glass-shift-y:0px;--glass-scale-x:1;--glass-scale-y:1;--glass-stretch-x:1;--glass-stretch-y:1;transform:none!important}.glass-shared-indicator:after{display:none}.glass-indicator-host,.glass-shared-indicator{--glass-indicator-bridge:0;--glass-indicator-stretch:1}::view-transition-group(homework-navigation-indicator){animation-duration:.01ms!important;animation-delay:0s!important}::view-transition-group(homework-timer-control){animation-duration:.01ms!important;animation-delay:0s!important}::view-transition-group(homework-timer-duration){animation-duration:.01ms!important;animation-delay:0s!important}::view-transition-group(homework-timer-warning){animation-duration:.01ms!important;animation-delay:0s!important}::view-transition-group(homework-onboarding){animation-duration:.01ms!important;animation-delay:0s!important}::view-transition-old(homework-timer-control){animation-duration:.01ms!important;animation-delay:0s!important}::view-transition-new(homework-timer-control){animation-duration:.01ms!important;animation-delay:0s!important}::view-transition-old(homework-timer-warning){animation-duration:.01ms!important;animation-delay:0s!important}::view-transition-new(homework-timer-warning){animation-duration:.01ms!important;animation-delay:0s!important}::view-transition-old(homework-onboarding){animation-duration:.01ms!important;animation-delay:0s!important}::view-transition-new(homework-onboarding){animation-duration:.01ms!important;animation-delay:0s!important}::view-transition-old(root){animation-duration:.01ms!important;animation-delay:0s!important}::view-transition-new(root){animation-duration:.01ms!important;animation-delay:0s!important}}html[data-reduced-motion=true] .glass-surface,html[data-reduced-motion=true] .glass-cluster,html[data-reduced-motion=true] .glass-control,html[data-reduced-motion=true] .glass-material,html[data-reduced-motion=true] .glass-control:after,html[data-reduced-motion=true] .glass-shared-indicator,html[data-reduced-motion=true] .glass-shared-indicator:after,html[data-reduced-motion=true] .glass-materialize,html[data-reduced-motion=true] .homework-timer-dialog-scrim,html[data-reduced-motion=true] .homework-timer-dialog-panel,html[data-reduced-motion=true] .homework-timer-dialog.is-materializing,html[data-reduced-motion=true] .homework-timer-dialog.is-dematerializing{transition-duration:.01ms!important;transition-delay:0s!important;animation:none!important}html[data-reduced-motion=true] .glass-control,html[data-reduced-motion=true] .glass-control[data-glass-pressed=true],html[data-reduced-motion=true] .glass-control.is-pressed,html[data-reduced-motion=true] .glass-material{--glass-shift-x:0px;--glass-shift-y:0px;--glass-scale-x:1;--glass-scale-y:1;--glass-stretch-x:1;--glass-stretch-y:1;transform:none!important}html[data-reduced-motion=true] .glass-shared-indicator:after{display:none}html[data-reduced-motion=true] .glass-indicator-host,html[data-reduced-motion=true] .glass-shared-indicator{--glass-indicator-bridge:0;--glass-indicator-stretch:1}html[data-reduced-motion=true]::view-transition-group(homework-navigation-indicator){animation-duration:.01ms!important;animation-delay:0s!important}html[data-reduced-motion=true]::view-transition-group(homework-timer-control){animation-duration:.01ms!important;animation-delay:0s!important}html[data-reduced-motion=true]::view-transition-group(homework-timer-duration){animation-duration:.01ms!important;animation-delay:0s!important}html[data-reduced-motion=true]::view-transition-group(homework-timer-warning){animation-duration:.01ms!important;animation-delay:0s!important}html[data-reduced-motion=true]::view-transition-group(homework-onboarding){animation-duration:.01ms!important;animation-delay:0s!important}html[data-reduced-motion=true]::view-transition-old(homework-onboarding){animation-duration:.01ms!important;animation-delay:0s!important}html[data-reduced-motion=true]::view-transition-new(homework-onboarding){animation-duration:.01ms!important;animation-delay:0s!important}html[data-reduced-motion=true]::view-transition-old(root){animation-duration:.01ms!important;animation-delay:0s!important}html[data-reduced-motion=true]::view-transition-new(root){animation-duration:.01ms!important;animation-delay:0s!important}@media (prefers-reduced-transparency:reduce){.glass-surface,.glass-cluster{box-shadow:var(--glass-shadow);border-color:var(--glass-current-border)!important;background:var(--glass-current-solid)!important}.glass-material,.glass-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important}.glass-tint,.glass-edge,.glass-highlight,.glass-touch-energy{opacity:0!important}.homework-timer-dialog-scrim,.glass-scrim,.glass-navigation>.glass-cluster,.nav-glass.glass-cluster{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.glass-cluster .glass-surface:not(.glass-cluster),.glass-cluster .glass-control{box-shadow:none!important;background:0 0!important;border-color:#0000!important}.glass-cluster .glass-control.glass-tint--accent,.glass-cluster .glass-control.glass-tint--success,.glass-cluster .glass-control.glass-tint--warning,.glass-cluster .glass-control.glass-tint--danger{background:var(--glass-current-solid)!important}}html[data-glass-material=solid]{--glass-blur-scale:0}html[data-glass-material=solid] .glass-surface,html[data-glass-material=solid] .glass-cluster{box-shadow:var(--glass-shadow);border-color:var(--glass-current-border)!important;background:var(--glass-current-solid)!important}html[data-glass-material=solid] .glass-material,html[data-glass-material=solid] .glass-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important}html[data-glass-material=solid] .glass-tint,html[data-glass-material=solid] .glass-edge,html[data-glass-material=solid] .glass-highlight,html[data-glass-material=solid] .glass-touch-energy{opacity:0!important}html[data-glass-material=solid] .homework-timer-dialog-scrim,html[data-glass-material=solid] .glass-scrim,html[data-glass-material=solid] .glass-navigation>.glass-cluster,html[data-glass-material=solid] .nav-glass.glass-cluster{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}html[data-glass-material=solid] .glass-cluster .glass-surface:not(.glass-cluster),html[data-glass-material=solid] .glass-cluster .glass-control{box-shadow:none!important;background:0 0!important;border-color:#0000!important}html[data-glass-material=solid] .glass-cluster .glass-control.glass-tint--accent,html[data-glass-material=solid] .glass-cluster .glass-control.glass-tint--success,html[data-glass-material=solid] .glass-cluster .glass-control.glass-tint--warning,html[data-glass-material=solid] .glass-cluster .glass-control.glass-tint--danger{background:var(--glass-current-solid)!important}html[data-reduced-transparency=true] .glass-surface,html[data-reduced-transparency=true] .glass-cluster,html[data-glass-backdrop=false] .glass-surface,html[data-glass-backdrop=false] .glass-cluster,html[data-glass-material=solid] .glass-surface,html[data-glass-material=solid] .glass-cluster{border-color:var(--glass-current-border)!important;background:var(--glass-current-solid)!important}html[data-reduced-transparency=true] .glass-material,html[data-glass-backdrop=false] .glass-material,html[data-glass-material=solid] .glass-material,html[data-reduced-transparency=true] .glass-backdrop,html[data-glass-backdrop=false] .glass-backdrop,html[data-glass-material=solid] .glass-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important}html[data-reduced-transparency=true] .glass-tint,html[data-reduced-transparency=true] .glass-edge,html[data-reduced-transparency=true] .glass-highlight,html[data-reduced-transparency=true] .glass-touch-energy,html[data-glass-backdrop=false] .glass-tint,html[data-glass-backdrop=false] .glass-edge,html[data-glass-backdrop=false] .glass-highlight,html[data-glass-backdrop=false] .glass-touch-energy,html[data-glass-material=solid] .glass-tint,html[data-glass-material=solid] .glass-edge,html[data-glass-material=solid] .glass-highlight,html[data-glass-material=solid] .glass-touch-energy{opacity:0!important}html[data-reduced-transparency=true] .homework-timer-dialog-scrim,html[data-reduced-transparency=true] .glass-scrim,html[data-glass-backdrop=false] .homework-timer-dialog-scrim,html[data-glass-backdrop=false] .glass-scrim,html[data-glass-material=solid] .homework-timer-dialog-scrim,html[data-glass-material=solid] .glass-scrim,html[data-reduced-transparency=true] .glass-navigation>.glass-cluster,html[data-reduced-transparency=true] .nav-glass.glass-cluster,html[data-glass-backdrop=false] .glass-navigation>.glass-cluster,html[data-glass-backdrop=false] .nav-glass.glass-cluster,html[data-glass-material=solid] .glass-navigation>.glass-cluster,html[data-glass-material=solid] .nav-glass.glass-cluster{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}html[data-reduced-transparency=true] .glass-cluster .glass-surface:not(.glass-cluster),html[data-reduced-transparency=true] .glass-cluster .glass-control,html[data-glass-backdrop=false] .glass-cluster .glass-surface:not(.glass-cluster),html[data-glass-backdrop=false] .glass-cluster .glass-control,html[data-glass-material=solid] .glass-cluster .glass-surface:not(.glass-cluster),html[data-glass-material=solid] .glass-cluster .glass-control{box-shadow:none!important;background:0 0!important;border-color:#0000!important}html[data-reduced-transparency=true] .glass-cluster .glass-control.glass-tint--accent,html[data-reduced-transparency=true] .glass-cluster .glass-control.glass-tint--success,html[data-reduced-transparency=true] .glass-cluster .glass-control.glass-tint--warning,html[data-reduced-transparency=true] .glass-cluster .glass-control.glass-tint--danger,html[data-glass-backdrop=false] .glass-cluster .glass-control.glass-tint--accent,html[data-glass-backdrop=false] .glass-cluster .glass-control.glass-tint--success,html[data-glass-backdrop=false] .glass-cluster .glass-control.glass-tint--warning,html[data-glass-backdrop=false] .glass-cluster .glass-control.glass-tint--danger,html[data-glass-material=solid] .glass-cluster .glass-control.glass-tint--accent,html[data-glass-material=solid] .glass-cluster .glass-control.glass-tint--success,html[data-glass-material=solid] .glass-cluster .glass-control.glass-tint--warning,html[data-glass-material=solid] .glass-cluster .glass-control.glass-tint--danger{background:var(--glass-current-solid)!important}@media (prefers-contrast:more){.glass-surface,.glass-cluster{--glass-reflection-opacity:0;border-width:2px;--glass-current-border:var(--border-strong,currentColor)!important;border-color:var(--glass-current-border)!important;background:var(--glass-current-solid)!important;box-shadow:0 8px 24px #00000057!important}.glass-material,.glass-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important}.glass-tint,.glass-edge,.glass-highlight,.glass-touch-energy{opacity:0!important}.glass-navigation>.glass-cluster,.nav-glass.glass-cluster{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.glass-shared-indicator{border-width:2px;border-color:currentColor}.segmented-glass>.glass-content.segmented-control>.glass-control.active,.nav-glass>.glass-content.nav-grid>.glass-control.active{text-underline-offset:.2em;font-weight:800;text-decoration-line:underline;text-decoration-thickness:2px}}html[data-increased-contrast=true] .glass-surface,html[data-increased-contrast=true] .glass-cluster{--glass-reflection-opacity:0;border-width:2px;box-shadow:0 8px 24px #00000057;--glass-current-border:var(--border-strong,currentColor)!important;background:var(--glass-current-solid)!important}html[data-increased-contrast=true] .glass-material,html[data-increased-contrast=true] .glass-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important}html[data-increased-contrast=true] .glass-tint,html[data-increased-contrast=true] .glass-edge,html[data-increased-contrast=true] .glass-highlight,html[data-increased-contrast=true] .glass-touch-energy{opacity:0!important}html[data-increased-contrast=true] .glass-navigation>.glass-cluster,html[data-increased-contrast=true] .nav-glass.glass-cluster{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}html[data-increased-contrast=true] .glass-shared-indicator{border-width:2px;border-color:currentColor}html[data-increased-contrast=true] .segmented-glass>.glass-content.segmented-control>.glass-control.active,html[data-increased-contrast=true] .nav-glass>.glass-content.nav-grid>.glass-control.active{text-underline-offset:.2em;font-weight:800;text-decoration-line:underline;text-decoration-thickness:2px}@media (forced-colors:active){.glass-surface,.glass-cluster,.glass-control,.glass-modal-panel{forced-color-adjust:auto;box-shadow:none!important;color:canvastext!important;background:canvas!important;border:1px solid buttontext!important}.glass-material,.glass-control:after,.nav.glass-navigation:before{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;display:none!important}.glass-control:focus-visible{outline:3px solid highlight!important}.glass-cluster .glass-control:focus-visible{outline-offset:-4px}.glass-shared-indicator{forced-color-adjust:none;box-shadow:none!important;background:highlight!important;border:2px solid highlight!important}.segmented-glass>.glass-content.segmented-control>.glass-control.active,.nav-glass>.glass-content.nav-grid>.glass-control.active{text-underline-offset:.2em;forced-color-adjust:none;font-weight:800;text-decoration-line:underline;text-decoration-thickness:2px;box-shadow:none!important;color:highlighttext!important;background:0 0!important;border-color:#0000!important}.segmented-glass>.glass-content.admin-sections>.glass-control.active{color:highlighttext!important;background:highlight!important;border-color:highlight!important}.segmented-glass>.glass-content.segmented-control>.glass-control.active:focus-visible,.segmented-glass>.glass-content.admin-sections>.glass-control.active:focus-visible,.nav-glass>.glass-content.nav-grid>.glass-control.active:focus-visible{outline-color:highlighttext!important}}html[data-forced-colors=true] .glass-surface,html[data-forced-colors=true] .glass-cluster,html[data-forced-colors=true] .glass-control,html[data-forced-colors=true] .glass-modal-panel{forced-color-adjust:auto;box-shadow:none!important;color:canvastext!important;background:canvas!important;border:1px solid buttontext!important}html[data-forced-colors=true] .glass-material,html[data-forced-colors=true] .glass-control:after,html[data-forced-colors=true] .nav.glass-navigation:before{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;display:none!important}html[data-forced-colors=true] .glass-control:focus-visible{outline:3px solid highlight!important}html[data-forced-colors=true] .glass-cluster .glass-control:focus-visible{outline-offset:-4px}html[data-forced-colors=true] .glass-shared-indicator{forced-color-adjust:none;box-shadow:none!important;background:highlight!important;border:2px solid highlight!important}html[data-forced-colors=true] .segmented-glass>.glass-content.segmented-control>.glass-control.active,html[data-forced-colors=true] .nav-glass>.glass-content.nav-grid>.glass-control.active{text-underline-offset:.2em;forced-color-adjust:none;font-weight:800;text-decoration-line:underline;text-decoration-thickness:2px;box-shadow:none!important;color:highlighttext!important;background:0 0!important;border-color:#0000!important}html[data-forced-colors=true] .segmented-glass>.glass-content.admin-sections>.glass-control.active{color:highlighttext!important;background:highlight!important;border-color:highlight!important}html[data-forced-colors=true] .segmented-glass>.glass-content.segmented-control>.glass-control.active:focus-visible,html[data-forced-colors=true] .segmented-glass>.glass-content.admin-sections>.glass-control.active:focus-visible,html[data-forced-colors=true] .nav-glass>.glass-content.nav-grid>.glass-control.active:focus-visible{outline-color:highlighttext!important}.app-shell{background:radial-gradient(110% 52% at 0% -8%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 64%), radial-gradient(82% 38% at 108% 12%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 68%), radial-gradient(88% 44% at 104% 34%, color-mix(in srgb, var(--accent-secondary) 8%, transparent), transparent 72%), var(--surface-page)}.dashboard-hero{background:radial-gradient(80% 140% at 100% -14%, #ffffff3d, transparent 58%), linear-gradient(145deg, color-mix(in srgb, var(--accent) 92%, #fff) 0%, var(--accent-hover) 58%, var(--accent-pressed) 100%);box-shadow:0 24px 56px color-mix(in srgb, var(--accent-pressed) 22%, transparent), 0 5px 16px color-mix(in srgb, var(--accent-pressed) 12%, transparent);border-radius:30px}html[data-theme=dark] .dashboard-hero{background:radial-gradient(82% 140% at 100% -12%, #ffffff29, transparent 60%), linear-gradient(145deg, var(--accent-hover) 0%, var(--accent-pressed) 58%, color-mix(in srgb, var(--accent-pressed) 76%, #000) 100%);box-shadow:0 26px 64px #0000006b,0 6px 18px #00000040}.dashboard-hero .hero-symbol{background:#ffffff24;border-color:#ffffff4d;border-radius:18px;box-shadow:inset 0 1px #ffffff4d,0 10px 24px #2516632e}.compact-stats{border:1px solid var(--border-theme);background:var(--surface-raised);box-shadow:0 12px 34px color-mix(in srgb, var(--accent) 10%, transparent);border-radius:24px;gap:0;overflow:hidden}.compact-stats>button,.compact-stats>div{min-height:88px;box-shadow:none;background:0 0;border:0;border-radius:0}.compact-stats>:not(:first-child){border-left:1px solid color-mix(in srgb, var(--border-theme) 70%, transparent)}.card,.panel,.answer-block,.student-row,.file-card,.result-summary-card,.result-task,.insight-card{border-radius:22px}@media (width<=359px){.dashboard-hero{border-radius:26px}.compact-stats{border-radius:21px}.compact-stats>button,.compact-stats>div{min-height:82px}}.schedule-layout{width:100%;max-width:720px;margin-inline:auto;overflow-x:hidden}.home-calendar-card{border:1px solid color-mix(in srgb, var(--accent) 20%, var(--border-theme));background:linear-gradient(135deg, var(--surface-raised), var(--surface-accent-soft));width:100%;color:var(--text-primary);border-radius:22px;grid-template-columns:48px minmax(0,1fr) 44px;align-items:center;gap:13px;margin:18px 0 26px;padding:16px;display:grid}.home-calendar-icon{background:color-mix(in srgb, var(--accent) 12%, var(--surface-primary));width:48px;height:48px;color:var(--accent);border-radius:16px;place-items:center;display:grid}.home-calendar-copy{gap:3px;display:grid}.home-calendar-copy h2{font-size:var(--text-body-lg);margin:0}.home-calendar-copy p{color:var(--text-secondary);font-size:var(--text-small);margin:0}.home-calendar-meta{color:var(--text-muted);font-size:var(--text-caption);flex-wrap:wrap;gap:4px 10px;margin-top:4px;display:flex}.home-calendar-action{background:var(--surface-interactive);width:44px;height:44px;color:var(--accent);border:0;border-radius:50%;place-items:center;display:grid}.lesson-assignment-prefill{border:1px solid color-mix(in srgb, var(--accent) 25%, var(--border-theme));background:var(--surface-accent-soft);border-radius:18px;grid-template-columns:38px minmax(0,1fr);gap:11px;padding:14px;display:grid}.lesson-assignment-prefill>svg{color:var(--accent)}.lesson-assignment-prefill>div{gap:3px;display:grid}.lesson-assignment-prefill span{color:var(--text-secondary);font-size:var(--text-caption)}.lesson-assignment-due-toggle{grid-template-columns:22px minmax(0,1fr);align-items:start;gap:9px;display:grid}.lesson-assignment-due-toggle input{width:20px;height:20px;accent-color:var(--accent)}.lesson-assignment-due-toggle span{gap:2px;display:grid}.lesson-assignment-due-toggle small{color:var(--text-secondary)}.schedule-hero,.schedule-detail-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.schedule-hero h1,.schedule-detail-header h1{color:var(--text-primary);font-family:var(--font-display);letter-spacing:-.045em;margin:5px 0 0;font-size:clamp(2.2rem,10vw,3.4rem);font-weight:450;line-height:.95}.schedule-hero p{max-width:34rem;color:var(--text-secondary);margin:12px 0 0}.schedule-kicker{color:var(--accent);font-size:var(--text-caption);letter-spacing:.055em;text-transform:uppercase;font-weight:650;display:block}.schedule-add,.schedule-back,.schedule-period-arrow{flex:none;min-width:46px;min-height:46px}.schedule-controls{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:grid}.schedule-view-switch{width:min(100%,224px);min-height:44px}.schedule-view-switch-content{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0;padding:3px;display:grid}.schedule-view-switch .glass-control{min-height:44px;font-size:var(--text-small);padding-inline:17px}.schedule-filter{justify-self:end;width:min(100%,210px);min-width:0}.schedule-filter select{border:1px solid var(--border-theme);background:var(--surface-control);width:100%;min-height:44px;color:var(--text-primary);border-radius:999px;padding:0 34px 0 14px}.schedule-next{border:1px solid color-mix(in srgb, var(--accent) 22%, var(--border-theme));background:radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 42%), linear-gradient(135deg, var(--surface-raised), var(--surface-accent-soft));width:100%;min-height:100px;color:var(--text-primary);text-align:left;box-shadow:0 14px 32px color-mix(in srgb, var(--accent) 8%, transparent);border-radius:24px;grid-template-columns:1fr auto;gap:3px 12px;margin-bottom:18px;padding:18px 52px 18px 20px;display:grid;position:relative;overflow:hidden}.schedule-next>span,.schedule-next>strong,.schedule-next>small{grid-column:1}.schedule-next>span{color:var(--accent);font-size:var(--text-caption);letter-spacing:.045em;text-transform:uppercase;font-weight:700}.schedule-next>small{color:var(--text-secondary)}.schedule-next>svg{width:21px;color:var(--accent);position:absolute;top:50%;right:18px;transform:translateY(-50%)}.schedule-week-mobile-toolbar{color:var(--text-secondary);font-size:var(--text-caption);text-align:center;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;margin-bottom:7px;display:grid}.schedule-mobile-period-arrow{min-width:44px;min-height:44px}.schedule-week-wrap{grid-template-columns:minmax(0,1fr);align-items:center;gap:5px;margin:0 -4px 20px;display:grid}.schedule-week{touch-action:pan-y;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.schedule-period-arrow{width:44px;min-width:44px;height:44px;min-height:44px;display:none}.schedule-day{min-height:66px;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:18px;place-items:center;gap:4px;padding:7px 2px 6px;display:grid}.schedule-day>span{font-size:var(--text-micro);text-transform:uppercase}.schedule-day>strong{font-size:var(--text-body);color:var(--text-primary)}.schedule-day>i{background:0 0;border-radius:50%;width:4px;height:4px}.schedule-day>i[data-has-events=true]{background:var(--accent)}.schedule-day[aria-pressed=true]{border-color:color-mix(in srgb, var(--accent) 30%, transparent);background:var(--surface-accent-soft);color:var(--accent)}.schedule-day[aria-current=date]>strong{color:var(--accent)}.schedule-month{border:1px solid var(--border-theme);background:var(--surface-primary);border-radius:24px;margin-bottom:22px;padding:14px}.schedule-month-toolbar{grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:9px;display:grid}.schedule-month-toolbar strong{text-align:center}.schedule-month-toolbar strong:first-letter{text-transform:uppercase}.schedule-month-toolbar button{min-height:44px;color:var(--text-primary);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.schedule-month-weekdays,.schedule-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.schedule-month-weekdays span{color:var(--text-muted);font-size:var(--text-micro);text-align:center;padding:6px 0}.schedule-month-day{min-height:42px;color:var(--text-primary);background:0 0;border:0;border-radius:14px;position:relative}.schedule-month-day[data-outside=true]{color:var(--text-muted);opacity:.56}.schedule-month-day[data-has-events=true]:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.schedule-month-day[aria-pressed=true]{background:var(--accent);color:var(--text-on-accent)}.schedule-month-day[aria-pressed=true]:after{background:var(--text-on-accent)}.schedule-agenda{min-width:0}.schedule-section-heading{justify-content:space-between;align-items:end;gap:12px;margin:7px 0 13px;display:flex}.schedule-section-heading span{color:var(--accent);font-size:var(--text-caption);text-transform:uppercase;font-weight:700}.schedule-section-heading h2{color:var(--text-primary);margin:3px 0 0;font-size:1.25rem}.schedule-section-heading h2:first-letter{text-transform:uppercase}.schedule-section-heading>button{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border-theme));background:var(--surface-accent-soft);min-height:44px;color:var(--accent);white-space:nowrap;border-radius:999px;padding:8px 14px;font-weight:750}.schedule-agenda-list{touch-action:pan-y;gap:10px;display:grid}.schedule-event{border:1px solid var(--border-theme);background:var(--surface-primary);width:100%;min-height:82px;color:var(--text-primary);text-align:left;touch-action:pan-y;border-radius:20px;grid-template-columns:44px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:13px 14px;display:grid}.schedule-event--cancelled{opacity:.7}.schedule-event-icon{background:var(--surface-accent-soft);width:44px;height:44px;color:var(--accent);border-radius:15px;place-items:center;display:grid}.schedule-event--deadline .schedule-event-icon{background:color-mix(in srgb, var(--warning) 12%, var(--surface-primary));color:var(--warning)}.schedule-event--overdue .schedule-event-icon{background:var(--danger-soft);color:var(--danger)}.schedule-event--submitted .schedule-event-icon,.schedule-event--reviewed .schedule-event-icon,.schedule-event--completed .schedule-event-icon{background:var(--success-soft);color:var(--success)}.schedule-event-copy{gap:3px;display:grid}.schedule-event-heading{justify-content:space-between;align-items:center;gap:9px;display:flex}.schedule-event-heading strong{overflow-wrap:anywhere}.schedule-event-time,.schedule-event-meta{color:var(--text-secondary);font-size:var(--text-small)}.schedule-event-chevron{width:18px;color:var(--text-muted)}.schedule-status{background:var(--surface-accent-soft);color:var(--accent);font-size:var(--text-micro);border-radius:999px;flex:none;padding:4px 8px;font-weight:700;line-height:1}.schedule-status--deadline{background:color-mix(in srgb, var(--warning) 12%, var(--surface-primary));color:var(--warning)}.schedule-status--overdue,.schedule-status--cancelled{background:var(--danger-soft);color:var(--danger)}.schedule-status--submitted,.schedule-status--reviewed,.schedule-status--completed{background:var(--success-soft);color:var(--success)}.schedule-loading{gap:10px;display:grid}.schedule-loading span{background:linear-gradient(100deg, var(--surface-skeleton) 20%, var(--surface-skeleton-highlight) 50%, var(--surface-skeleton) 80%);background-size:220% 100%;border-radius:20px;width:100%;height:78px;animation:1.1s linear infinite schedule-shimmer;display:block}.schedule-error{border:1px solid color-mix(in srgb, var(--danger) 32%, var(--border-theme));background:var(--danger-soft);color:var(--danger);border-radius:20px;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:16px;display:grid}.schedule-error div{gap:3px;display:grid}.schedule-error button{min-height:44px;color:inherit;background:0 0;border:0;grid-column:2;justify-self:start;font-weight:700}.schedule-empty{border:1px dashed color-mix(in srgb, var(--accent) 25%, var(--border-theme));background:var(--surface-muted);color:var(--text-secondary);text-align:center;border-radius:22px;justify-items:center;gap:7px;padding:26px 18px;display:grid}.schedule-empty svg{color:var(--accent)}.schedule-empty strong{color:var(--text-primary)}.schedule-empty--compact{padding:18px}.schedule-detail{width:100%;max-width:720px;margin:0 auto}.schedule-detail-header{align-items:center}.schedule-detail-header>div{flex:1}.schedule-detail-header h1{font-size:clamp(1.9rem,8vw,2.7rem)}.schedule-detail-card{border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border-theme));background:var(--surface-primary);box-shadow:0 14px 34px color-mix(in srgb, var(--accent) 7%, transparent);border-radius:26px;gap:18px;padding:20px;display:grid}.schedule-detail-card--cancelled{opacity:.76}.schedule-detail-time{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;display:grid}.schedule-detail-time>svg{width:34px;color:var(--accent)}.schedule-detail-time>div{gap:3px;display:grid}.schedule-detail-time>div span{color:var(--text-secondary);font-size:var(--text-small)}.schedule-timezone-note,.schedule-time-preview{background:var(--surface-accent-soft);color:var(--text-secondary);font-size:var(--text-small);border-radius:16px;align-items:flex-start;gap:10px;padding:12px 13px;display:flex}.schedule-timezone-note svg,.schedule-time-preview svg{width:18px;color:var(--accent);flex:none}.schedule-detail-list{gap:0;margin:0;display:grid}.schedule-detail-list>div{border-top:1px solid var(--border-theme);grid-template-columns:minmax(94px,.34fr) 1fr;gap:12px;padding:12px 0;display:grid}.schedule-detail-list dt{color:var(--text-muted)}.schedule-detail-list dd{overflow-wrap:anywhere;margin:0}.schedule-private-note{background:var(--surface-muted);border-radius:14px;padding-inline:11px!important}.schedule-notification-detail dd{gap:4px;display:grid}.schedule-detail-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.schedule-detail-actions>*{min-height:50px}.schedule-join{text-decoration:none}.schedule-linked-assignment{border:1px solid var(--border-theme);background:var(--surface-primary);width:100%;min-height:72px;color:var(--text-primary);text-align:left;border-radius:19px;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;gap:10px;margin-top:9px;padding:12px 14px;display:grid}.schedule-linked-assignment>svg:first-child{color:var(--accent)}.schedule-linked-assignment>span{gap:2px;display:grid}.schedule-linked-assignment small{color:var(--text-secondary)}.schedule-management-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.schedule-management-actions>*{min-height:50px}.schedule-management-actions svg{width:18px}.schedule-editor-layer,.schedule-conflict-layer{z-index:90;padding:max(12px, var(--safe-top)) 10px max(10px, var(--safe-bottom));align-items:end;display:grid;position:fixed;inset:0}.schedule-conflict-layer{z-index:95;place-items:center}.schedule-editor-scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08070c85;position:absolute;inset:0}.schedule-editor{overscroll-behavior:contain;border:1px solid var(--border-theme);background:var(--surface-overlay);width:min(100%,720px);max-height:min(88dvh,820px);color:var(--text-primary);animation:schedule-editor-in .22s var(--ease-enter,ease-out);border-radius:30px;margin:0 auto;padding:20px;position:relative;overflow-y:auto;box-shadow:0 28px 70px #00000038}.schedule-editor>header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:17px;display:flex}.schedule-editor h2,.schedule-conflict h2{margin:3px 0 0;font-size:1.42rem}.schedule-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.schedule-field{align-content:start;gap:6px;min-width:0;display:grid}.schedule-field>span{color:var(--text-secondary);font-size:var(--text-caption);font-weight:600}.schedule-field--wide{grid-column:1/-1}.schedule-field .input,.schedule-field .select,.schedule-field .textarea{border-radius:14px;width:100%}.schedule-field .textarea{resize:vertical;min-height:86px}.schedule-private-field small{color:var(--text-muted)}.schedule-notification-settings{border:1px solid color-mix(in srgb, var(--accent) 20%, var(--border-theme));background:color-mix(in srgb, var(--surface-accent-soft) 42%, transparent);border-radius:20px;gap:9px;margin:16px 0 0;padding:14px;display:grid}.schedule-notification-settings legend{align-items:center;gap:7px;padding:0 6px;font-weight:750;display:inline-flex}.schedule-notification-settings legend svg{width:18px;color:var(--accent)}.schedule-notification-choice{background:color-mix(in srgb, var(--surface-primary) 58%, transparent);cursor:pointer;border-radius:15px;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;min-height:48px;padding:9px 10px;display:grid}.schedule-notification-choice input{width:20px;height:20px;accent-color:var(--accent);margin:1px 0 0}.schedule-notification-choice>span{gap:3px;min-width:0;display:grid}.schedule-notification-choice strong{font-size:var(--text-compact)}.schedule-notification-choice small,.schedule-reminder-preview{color:var(--text-secondary);font-size:var(--text-caption);line-height:1.45}.schedule-reminder-interval{color:var(--text-secondary);font-size:var(--text-small);grid-template-columns:minmax(0,1fr) minmax(150px,.7fr);align-items:center;gap:10px;padding:3px 10px 8px 42px;display:grid}.schedule-reminder-interval .select{border-radius:14px;min-height:44px}.schedule-reminder-preview{background:var(--surface-muted);border-radius:14px;margin:0;padding:10px 12px}.schedule-reminder-preview--warning{color:var(--danger);background:var(--danger-soft)}.schedule-deadline-decision{border:1px solid var(--border-theme);border-radius:18px;grid-column:1/-1;gap:10px;margin:16px 0 0;padding:14px;display:grid}.schedule-deadline-decision legend{padding:0 5px;font-weight:700}.schedule-deadline-decision>p{color:var(--text-secondary);font-size:var(--text-small);margin:0}.schedule-deadline-decision>label{grid-template-columns:22px 1fr;align-items:start;gap:9px;display:grid}.schedule-deadline-decision input{width:20px;height:20px;accent-color:var(--accent)}.schedule-deadline-decision label span{gap:2px;display:grid}.schedule-deadline-decision small{color:var(--text-secondary)}.schedule-deadline-actions{grid-template-columns:1fr 1fr;gap:7px;display:grid}.schedule-deadline-actions button{background:var(--surface-muted);min-height:44px;color:var(--text-primary);border:0;border-radius:14px;padding:8px 11px}.schedule-editor-error,.schedule-floating-error{background:var(--danger-soft);color:var(--danger);border-radius:15px;padding:12px 14px}.schedule-editor-error{margin-top:13px}.schedule-floating-error{width:min(100%,720px);margin:12px auto}.schedule-editor-actions{grid-template-columns:1fr 1.3fr;gap:9px;margin-top:18px;display:grid}.schedule-editor-actions>*{min-height:50px}.schedule-conflict{border:1px solid color-mix(in srgb, var(--warning) 32%, var(--border-theme));background:var(--surface-overlay);width:min(100%,520px);color:var(--text-primary);border-radius:28px;gap:13px;padding:22px;display:grid;position:relative;box-shadow:0 28px 70px #00000040}.schedule-conflict>svg{width:34px;height:34px;color:var(--warning)}.schedule-conflict p{color:var(--text-secondary);margin:6px 0 0}.schedule-conflict-list{gap:7px;display:grid}.schedule-conflict-list>div{background:var(--surface-muted);border-radius:14px;gap:2px;padding:11px;display:grid}.schedule-conflict-list span,.schedule-conflict-help{color:var(--text-secondary);font-size:var(--text-small)}@keyframes schedule-shimmer{to{background-position:-220% 0}}@keyframes schedule-editor-in{0%{opacity:0;transform:translateY(18px)scale(.985)}}@media (width>=840px){.schedule-layout{grid-template-columns:minmax(0,1fr)}.schedule-editor-layer{align-items:center}.schedule-editor{border-radius:32px}}@media (width>=520px){.schedule-week-mobile-toolbar{display:none}.schedule-week-wrap{grid-template-columns:44px minmax(0,1fr) 44px}.schedule-period-arrow{display:inline-grid}}@media (width<=520px){.schedule-controls{align-items:stretch}.schedule-filter select{width:100%}.schedule-detail-actions,.schedule-management-actions,.schedule-deadline-actions,.schedule-form-grid{grid-template-columns:1fr}.schedule-field{grid-column:1}.schedule-reminder-interval{grid-template-columns:1fr;padding-left:42px}.schedule-editor{border-radius:27px 27px 22px 22px;padding:18px 15px}}@media (hover:hover) and (pointer:fine){.schedule-event:hover,.schedule-linked-assignment:hover,.schedule-month-day:hover,.schedule-day:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border-theme));background-color:var(--surface-hover)}.schedule-next:hover{border-color:color-mix(in srgb, var(--accent) 46%, var(--border-theme));transform:translateY(-1px)}.schedule-month-toolbar button:hover,.schedule-section-heading>button:hover,.schedule-error button:hover,.home-calendar-action:hover{background:var(--surface-hover)}}@media (prefers-reduced-motion:reduce){.schedule-editor,.schedule-next,.schedule-loading span{transition:none;animation:none}}html[data-reduced-motion=true] .schedule-editor,html[data-reduced-motion=true] .schedule-next,html[data-reduced-motion=true] .schedule-loading span{transition:none;animation:none}html[data-reduced-transparency=true] .schedule-editor,html[data-reduced-transparency=true] .schedule-conflict,html[data-glass-backdrop=false] .schedule-editor,html[data-glass-backdrop=false] .schedule-conflict{background:var(--surface-raised);-webkit-backdrop-filter:none;backdrop-filter:none}html[data-reduced-transparency=true] .schedule-editor-scrim,html[data-glass-backdrop=false] .schedule-editor-scrim{-webkit-backdrop-filter:none;backdrop-filter:none}@media (forced-colors:active){.schedule-event,.schedule-next,.schedule-month,.schedule-detail-card,.schedule-editor,.schedule-conflict{color:canvastext;forced-color-adjust:auto;background:canvas;border:1px solid canvastext}.schedule-notification-settings,.schedule-notification-choice,.schedule-reminder-preview{color:canvastext;background:canvas;border:1px solid canvastext}.schedule-editor-scrim{opacity:.72;-webkit-backdrop-filter:none;backdrop-filter:none;background:canvas}.schedule-status,.schedule-event-icon{color:canvastext;background:canvas;border:1px solid canvastext}.schedule-day[aria-pressed=true],.schedule-month-day[aria-pressed=true]{color:highlighttext;background:highlight;outline:3px solid highlight}}.schedule-timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.schedule-timeline-row{grid-template-columns:38px 12px minmax(0,1fr);align-items:stretch;gap:8px;display:grid}.schedule-timeline-time{color:var(--text-secondary);font-family:var(--font-display);font-size:var(--text-caption);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;text-align:right;padding-top:14px}.schedule-timeline-rail{flex-direction:column;align-items:center;padding-top:18px;display:flex}.schedule-timeline-dot{background:var(--subject,var(--accent));border-radius:999px;flex:none;width:10px;height:10px}.schedule-timeline-dot.is-deadline{background:var(--danger);border-radius:2px;transform:rotate(45deg)}.schedule-timeline-line{background:var(--border-theme-strong);flex:auto;width:1.5px;min-height:12px;margin-top:4px}.schedule-timeline-body{min-width:0;padding-bottom:12px}.schedule-timeline-row:last-child .schedule-timeline-body{padding-bottom:0}.schedule-timeline .schedule-event-time{display:none}.schedule-timeline .schedule-event{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:12px}.schedule-timeline .schedule-event-icon{width:38px;height:38px}.schedule-timeline .schedule-event-chevron{display:none}.schedule-timeline .schedule-event-meta>b{flex:none;overflow:visible}@media (width<=359px){.schedule-timeline-row{grid-template-columns:40px 12px minmax(0,1fr);gap:8px}}.schedule-week-summary{border:1px solid var(--border-theme);background:var(--surface-primary);border-radius:18px;align-items:center;gap:14px;margin-top:16px;padding:14px 16px;display:flex}.schedule-week-summary>div{flex-direction:column;flex:none;gap:1px;display:flex}.schedule-week-summary strong{font-family:var(--font-display);font-size:var(--text-title-sm);font-weight:var(--weight-black);font-variant-numeric:tabular-nums;line-height:1.1}.schedule-week-summary span{color:var(--text-secondary);font-size:var(--text-micro)}.schedule-week-summary>i{background:var(--border-theme);flex:none;align-self:stretch;width:1px}.schedule-week-summary>p{min-width:0;color:var(--text-secondary);font-size:var(--text-small);line-height:var(--leading-snug);flex:auto;margin:0}.schedule-week-summary>div:last-child{margin-right:auto}.schedule-toolbar .schedule-view-switch,.schedule-filter>select{box-shadow:none}.schedule-mobile-period{gap:4px}.schedule-mobile-period-arrow.glass-control{width:44px;min-width:44px;height:44px;min-height:44px;box-shadow:none;color:var(--text-muted);background:0 0;border:0}.schedule-mobile-period-arrow.glass-control svg{width:18px;height:18px}.schedule-mobile-period>span{color:var(--text-secondary);font-size:var(--text-small)}:root{--density-font-body:15px;--density-font-secondary:13px;--density-font-caption:12px;--density-title-mobile:clamp(26px, 7vw, 28px);--density-title-desktop:32px;--density-section-title:20px;--density-card-title:17px;--density-control-height:44px;--density-page-inline:15px;--density-card-padding:15px;--density-card-radius:20px;--density-gap:12px;--density-section-gap:22px;--density-modal-padding:16px;--density-workspace-max:960px;--nav-height:72px;--bottom-space:calc(var(--safe-bottom) + var(--nav-height) + 16px)}body{font-size:var(--density-font-body);line-height:1.44}.app-shell{padding-right:max(var(--density-page-inline), var(--safe-right));padding-left:max(var(--density-page-inline), var(--safe-left))}.content{max-width:var(--density-workspace-max)}.page-header,.topbar{gap:12px;margin-bottom:18px}.title{font-size:var(--density-title-mobile);margin-top:4px;line-height:1.08}.subtitle{max-width:62ch;font-size:var(--text-compact);margin-top:6px;line-height:1.38}.section-title,.section-heading{margin-top:var(--density-section-gap);margin-bottom:10px}.section-heading.compact{margin-bottom:12px}.section-heading h2{font-size:var(--density-section-title)}.card,.panel,.empty,.card-button,.answer-block,.student-row,.result-summary-card,.result-task,.profile-card,.analytics-card,.admin-user-card{border-radius:var(--density-card-radius);padding:var(--density-card-padding)}.mistake-card{border-radius:var(--density-card-radius);padding:0}.stack,.grid-2,.grid-2.wide,.form-grid{gap:var(--density-gap)}.item-title{font-size:var(--density-card-title);line-height:1.28}.meta,.empty,.error-banner,.success-banner{font-size:var(--density-font-secondary)}.button,.ghost-button,.danger-button,.secondary-button,.file-link,.onboarding-primary{min-height:var(--density-control-height);font-size:var(--text-compact);border-radius:14px;padding:9px 14px}.chip,.homework-time-limit-switch,.schedule-month-day{min-height:var(--density-control-height)}.button svg,.secondary-button svg,.ghost-button svg,.danger-button svg,.hero-action svg,.onboarding-primary svg{width:18px;height:18px}.icon-button,.round-action,.theme-toggle,.desktop-fullscreen-exit{min-width:var(--density-control-height);min-height:var(--density-control-height)}.input,.select,.textarea,.code-input{min-height:var(--density-control-height);font-size:var(--text-body);padding:9px 12px}.textarea{min-height:92px}.label{font-size:var(--density-font-secondary);margin-bottom:5px}.dashboard-hero{border-radius:24px;gap:14px;padding:18px}.dashboard-hero:after{top:-62px;right:-52px}.hero-copy h2{margin:4px 0 5px;font-size:clamp(21px,5.8vw,24px);line-height:1.14}.hero-copy p{font-size:var(--text-small);line-height:1.38}.hero-symbol{border-radius:15px;width:44px;height:44px;top:16px;right:16px}.dashboard-hero .hero-action{min-height:46px}.compact-stats{border-radius:20px;margin-top:10px;padding:4px}.compact-stats>button,.compact-stats>div{border-radius:16px;min-height:68px;padding:8px 6px}.compact-stats>:not(:first-child):before{top:13px;bottom:13px}.compact-stats span{font-size:var(--text-title)}.home-two-column,.quick-grid,.topic-insights{gap:9px;margin-top:10px}.insight-card,.settings-list button{border-radius:18px;gap:10px;min-height:68px;padding:11px 13px}.insight-card>svg:first-child,.settings-icon{width:44px;height:44px}.stat-grid,.metric-grid{gap:9px}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card,.metric-card{min-height:70px;padding:10px}.stat-value,.metric-value{font-size:23px}.stat-label{font-size:var(--text-micro);line-height:1.22}.student-row,.card-button,.file-card{min-height:64px}.profile-card{grid-template-columns:46px minmax(0,1fr) auto;gap:11px}.profile-avatar{width:46px;height:46px;font-size:var(--text-title-sm);border-radius:15px}.privacy-card{gap:10px;padding:13px}.nav{padding-top:6px;padding-bottom:calc(6px + var(--safe-bottom))}.nav-grid{width:min(100%,540px);padding:4px}.nav-item{min-height:52px;font-size:var(--text-micro);grid-template-rows:20px 13px;gap:2px;padding:5px 2px}.nav-icon{width:19px;height:19px}.homework-countdown{top:calc(var(--top-space) + 4px);gap:10px;margin:-5px 0 10px;padding:7px 12px}.homework-countdown strong{font-size:var(--text-title-sm)}.homework-task-navigation{gap:3px;margin:7px auto;padding:4px}.homework-task-save-status{min-height:13px;font-size:var(--text-micro);padding-bottom:0}.answer-block{gap:11px}.answer-block .row-start{gap:10px}.result-summary-card{gap:12px}.result-total{font-size:22px}.homework-timer-dialog-panel,.student-alias-dialog-content,.lightbox-panel{padding:var(--density-modal-padding)}.homework-timer-dialog-panel h2,.student-alias-dialog h2{font-size:var(--text-title)}.student-alias-actions,.schedule-editor-actions,.schedule-detail-actions,.schedule-management-actions{gap:8px}.schedule-layout{gap:12px}.schedule-hero,.schedule-detail-header{gap:12px;margin-bottom:15px}.schedule-hero h1,.schedule-detail-header h1{font-family:inherit;font-size:var(--density-title-mobile);letter-spacing:-.025em;margin-top:3px;font-weight:720;line-height:1.08}.schedule-hero p{max-width:62ch;font-size:var(--text-compact);margin-top:6px;line-height:1.38}.schedule-add,.schedule-back,.schedule-period-arrow{min-width:var(--density-control-height);min-height:var(--density-control-height)}.schedule-controls{gap:8px;margin-bottom:11px}.schedule-next{border-radius:20px;min-height:82px;margin-bottom:12px;padding:13px 46px 13px 15px}.schedule-next>strong{font-size:var(--text-body-lg)}.schedule-week-wrap{margin-bottom:13px}.schedule-day{border-radius:16px;gap:2px;min-height:56px;padding:5px 2px}.schedule-month{border-radius:20px;margin-bottom:15px;padding:11px}.schedule-section-heading{margin-bottom:9px}.schedule-section-heading h2{font-size:var(--density-section-title)}.schedule-agenda-list{gap:8px}.schedule-event{border-radius:18px;gap:10px;min-height:70px;padding:10px 12px}.schedule-detail-card{border-radius:22px;gap:13px;padding:16px}.schedule-detail-list>div{padding:9px 0}.schedule-linked{margin-top:17px}.schedule-linked-assignment{min-height:64px;padding:10px 12px}.schedule-editor{max-height:min(92dvh,820px);padding:var(--density-modal-padding);border-radius:26px}.schedule-editor>header{margin-bottom:10px}.schedule-editor h2,.schedule-conflict h2{font-size:20px}.schedule-form-grid{gap:9px}.schedule-field{gap:4px}.schedule-field>span{font-size:var(--density-font-caption)}.schedule-field .input,.schedule-field .select{min-height:var(--density-control-height)}.schedule-field .textarea{min-height:76px}.schedule-notification-settings,.schedule-deadline-decision{border-radius:17px;gap:7px;margin-top:10px;padding:11px}.schedule-notification-choice{min-height:var(--density-control-height);padding:7px 9px}.schedule-reminder-preview{padding:8px 10px}.schedule-editor-actions{margin-top:12px}.schedule-editor-actions>*,.schedule-detail-actions>*,.schedule-management-actions>*{min-height:var(--density-control-height)}.schedule-conflict{border-radius:24px;gap:10px;padding:18px}@media (width<=359px){:root{--density-page-inline:12px;--density-title-mobile:26px}.dashboard-hero{padding:16px}.hero-copy{max-width:calc(100% - 52px)}.compact-stats small{font-size:var(--text-micro)}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=520px){.schedule-editor{border-radius:24px 24px 20px 20px;padding:14px}.schedule-reminder-interval{gap:6px;padding:2px 8px 6px 40px}}@media (width>=720px){.app-shell{padding-right:max(24px, var(--safe-right));padding-left:max(24px, var(--safe-left))}.title,.schedule-hero h1,.schedule-detail-header h1{font-size:var(--density-title-desktop)}.page-header,.topbar{margin-bottom:20px}.dashboard-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end}.dashboard-hero .hero-action{width:auto;min-width:190px}.home-two-column,.quick-grid,.topic-insights{grid-template-columns:repeat(2,minmax(0,1fr))}.panel.form-grid:not(.access-form){padding:16px}.stat-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width>=1080px){.home-two-column,.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (forced-colors:active){.button,.ghost-button,.danger-button,.secondary-button,.icon-button,.round-action,.nav-item,.homework-task-nav-control,.homework-task-nav-number{border:1px solid buttontext}}@media (width<=359px){.nav-item{letter-spacing:-.02em;font-size:10px}.nav-item.glass-control{padding:4px 0}}:root{--subject-math:#9e5509;--subject-math-soft:#fff1e4;--subject-physics:#2f5fd0;--subject-physics-soft:#e8eefc;--subject-chemistry:#0e7a6b;--subject-chemistry-soft:#e2f4f0;--subject-biology:#3f7a34;--subject-biology-soft:#ebf4e7;--subject-russian:#6b4e9e;--subject-russian-soft:#f0ebfa;--subject-languages:#b03a6e;--subject-languages-soft:#fce9f1;--subject-history:#a34430;--subject-history-soft:#fbebe6;--subject-it:#4a3fbf;--subject-it-soft:#eceafb;--subject-geography:#0f6c93;--subject-geography-soft:#e4f1f8;--subject-other:#5f5b6b;--subject-other-soft:#efedf2}html[data-theme=dark]{--subject-math:#f0a868;--subject-math-soft:#3a2410;--subject-physics:#88a8f0;--subject-physics-soft:#131f3a;--subject-chemistry:#5fc7b4;--subject-chemistry-soft:#0d2926;--subject-biology:#8fce80;--subject-biology-soft:#162a12;--subject-russian:#b69be0;--subject-russian-soft:#241a38;--subject-languages:#ee90b8;--subject-languages-soft:#38131f;--subject-history:#eb9a82;--subject-history-soft:#33150f;--subject-it:#a79eec;--subject-it-soft:#1b1740;--subject-geography:#6fbede;--subject-geography-soft:#0b2733;--subject-other:#a8a3b4;--subject-other-soft:#252330}.subject-tag{min-width:0;color:var(--text-secondary);font-size:var(--text-small);font-weight:var(--weight-medium);align-items:center;gap:6px;display:inline-flex}.subject-tag:before{content:"";background:var(--subject,var(--subject-other));border-radius:3px;flex:none;width:8px;height:8px}.subject-tag>b{color:var(--subject,var(--text-primary));font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.subject-tag>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.subject-striped{position:relative;overflow:hidden}.subject-striped:before{content:"";border-radius:var(--radius-card) 0 0 var(--radius-card);background:var(--subject,var(--subject-other));width:4px;margin:0;display:block;position:absolute;top:0;bottom:0;left:0}.card-button.subject-striped{padding-left:22px}.schedule-event .schedule-event-icon{background:var(--subject-soft,var(--surface-muted));color:var(--subject,var(--text-secondary))}.schedule-event-meta.subject-tag{display:inline-flex}.progress-row[style*=--subject] .progress-track>span{background:var(--subject,var(--accent))}.next-card{border:1px solid color-mix(in srgb, var(--subject,var(--accent)) 24%, var(--border-theme));background:var(--surface-primary);width:100%;box-shadow:0 8px 26px color-mix(in srgb, var(--subject,var(--accent)) 10%, transparent);border-radius:22px;margin-bottom:14px;overflow:hidden}.next-card-head{background:var(--subject-soft,var(--surface-accent-soft));border-bottom:1px solid color-mix(in srgb, var(--subject,var(--accent)) 14%, transparent);grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 15px;display:grid}.next-card-badge{background:var(--subject,var(--accent));width:24px;height:24px;color:var(--surface-primary);font-family:var(--font-display);font-size:var(--text-micro);font-weight:var(--weight-bold);border-radius:8px;place-items:center;display:grid}.next-card-subject{min-width:0;color:var(--subject,var(--accent));font-size:var(--text-caption);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.next-card-due{color:var(--text-secondary);font-size:var(--text-caption);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.next-card-due.is-overdue{color:var(--danger);font-weight:var(--weight-semibold)}.next-card-body{gap:13px;padding:15px;display:grid}.next-card-body>h2{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-title-sm);font-weight:var(--weight-bold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);overflow-wrap:anywhere;margin:0}.next-card-progress{align-items:center;gap:11px;display:flex}.next-card-track{background:var(--surface-muted);border-radius:999px;flex:auto;min-width:0;height:6px;overflow:hidden}.next-card-track>span{border-radius:inherit;background:var(--subject,var(--accent));height:100%;transition:width .18s var(--ease);display:block}.next-card-count{color:var(--text-secondary);font-size:var(--text-small);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.next-card-action.button{background:var(--text-primary);color:var(--surface-primary);gap:8px}.next-card-action.button svg{width:18px;height:18px}.schedule-timeline .schedule-event{border-color:color-mix(in srgb, var(--subject,var(--accent)) 20%, var(--border-theme))}:root{--accent-secondary:#2b74a0}html[data-theme=dark]{--accent-secondary:#6fb0d8}html[data-palette=forest]{--surface-page:#f5f2ea;--surface-primary:#fff;--surface-raised:#fff;--surface-interactive:#fff;--surface-hover:#eef3ed;--surface-pressed:#e2ebe3;--surface-selected:#fff;--surface-disabled:#e9e6dc;--surface-muted:#eceadf;--surface-accent-soft:#e4ece4;--surface-overlay:#fffffff5;--surface-skeleton:#eceadf;--surface-skeleton-highlight:#f7f5ef;--text-primary:#1a3636;--text-secondary:#46564f;--text-muted:#5f6e66;--border-theme:#1a36361a;--border-theme-strong:#1a36362e;--border-soft:#1a363612;--accent:#2c5c4e;--accent-hover:#265245;--accent-pressed:#1f463b;--accent-secondary:#84642f;--blue-strong:#2c5c4e;--inverse-control-text:#245043;--focus-ring:#2c5c4e42;--chart-grid:#1a36361f;--chart-line:#2c5c4e;--chart-point:#fff;--scrim:#0e1a19b8;--success:#2c6b4f;--success-soft:#e3efe6;--warning:#7d5a17;--warning-soft:#f6ecd6;--danger:#9d4436;--danger-soft:#f7e6e1}html[data-palette=forest][data-theme=dark]{--surface-page:#0e1a19;--surface-primary:#152624;--surface-raised:#192c2a;--surface-interactive:#1b2f2c;--surface-hover:#213935;--surface-pressed:#264039;--surface-selected:#152624;--surface-disabled:#1b2b29;--surface-muted:#1d312e;--surface-accent-soft:#1f3630;--surface-overlay:#152624f5;--surface-skeleton:#1d312e;--surface-skeleton-highlight:#26403b;--text-primary:#eef2ea;--text-secondary:#b6c4bb;--text-muted:#93a39a;--border-theme:#e9f0e81a;--border-theme-strong:#e9f0e82e;--border-soft:#e9f0e814;--accent:#2b6353;--accent-hover:#316f5d;--accent-pressed:#25564a;--accent-secondary:#d6bd98;--blue-strong:#8ecdb5;--inverse-control-text:#245043;--focus-ring:#8ecdb552;--chart-grid:#eef2ea1f;--chart-line:#2b6353;--chart-point:#152624;--scrim:#000000c7;--success:#7fc9a4;--success-soft:#40a07629;--warning:#e0bd78;--warning-soft:#be8c3229;--danger:#f09a86;--danger-soft:#be503c2e}html[data-palette=terracotta]{--surface-page:#fdf8f1;--surface-primary:#fff;--surface-raised:#fff;--surface-interactive:#fff;--surface-hover:#fbf1e9;--surface-pressed:#f6e5d9;--surface-selected:#fff;--surface-disabled:#efe8dd;--surface-muted:#f3ece1;--surface-accent-soft:#f8e5da;--surface-overlay:#fffffff5;--surface-skeleton:#f3ece1;--surface-skeleton-highlight:#fbf7f1;--text-primary:#2b2d31;--text-secondary:#5c554b;--text-muted:#726b60;--border-theme:#2b2d311a;--border-theme-strong:#2b2d312e;--border-soft:#2b2d3112;--accent:#a8482e;--accent-hover:#973f27;--accent-pressed:#853621;--accent-secondary:#4e5a3c;--blue-strong:#9b4028;--inverse-control-text:#8f3a23;--focus-ring:#a8482e3d;--chart-grid:#2b2d311f;--chart-line:#a8482e;--chart-point:#fff;--scrim:#17140fb8;--success:#4a6b3a;--success-soft:#e9efe0;--warning:#8a5c14;--warning-soft:#f8eed6;--danger:#a8402f;--danger-soft:#f9e5e0}html[data-palette=terracotta][data-theme=dark]{--surface-page:#17140f;--surface-primary:#221d17;--surface-raised:#28221b;--surface-interactive:#2a241d;--surface-hover:#332b22;--surface-pressed:#3b3128;--surface-selected:#221d17;--surface-disabled:#272119;--surface-muted:#2b2520;--surface-accent-soft:#38251d;--surface-overlay:#221d17f5;--surface-skeleton:#2b2520;--surface-skeleton-highlight:#3a322a;--text-primary:#f4ece2;--text-secondary:#c4b8a9;--text-muted:#a0948a;--border-theme:#f4ece21a;--border-theme-strong:#f4ece22e;--border-soft:#f4ece214;--accent:#9c4028;--accent-hover:#ad4a30;--accent-pressed:#8a3722;--accent-secondary:#9db07a;--blue-strong:#f0a289;--inverse-control-text:#8f3a23;--focus-ring:#f0a2894d;--chart-grid:#f4ece21f;--chart-line:#9c4028;--chart-point:#221d17;--scrim:#000000c7;--success:#9ac48a;--success-soft:#78aa6429;--warning:#e6bd7a;--warning-soft:#c8963c29;--danger:#f0998a;--danger-soft:#c850412e}.palette-choice{gap:8px;display:grid}.palette-option{border:1.5px solid var(--border-theme);border-radius:var(--radius-control);background:var(--surface-primary);width:100%;min-height:60px;color:var(--text-primary);text-align:left;grid-template-columns:auto minmax(0,1fr) 20px;align-items:center;gap:12px;padding:10px 14px;display:grid}.palette-option.is-active{border-color:var(--accent);background:var(--surface-accent-soft)}.palette-swatches{display:flex}.palette-swatch{border:1px solid #0000001f;border-radius:6px;width:20px;height:28px}.palette-swatch+.palette-swatch{margin-left:-7px}.palette-option-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.palette-option-copy>strong{font-size:var(--text-body);font-weight:var(--weight-semibold)}.palette-option-copy>span{color:var(--text-secondary);font-size:var(--text-small)}.palette-option-check{width:20px;height:20px;color:var(--accent)}.task-work-header{align-items:center;gap:12px;width:100%;display:flex}.task-work-timer{background:var(--subject-soft,var(--surface-accent-soft));height:30px;color:var(--subject,var(--accent));font-family:var(--font-display);font-size:var(--text-caption);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.task-work-timer svg{width:14px;height:14px}.task-work-timer.is-urgent{background:var(--warning-soft);color:var(--warning)}.task-work-header-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.task-work-subject{color:var(--subject,var(--accent));font-size:var(--text-micro);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task-work-title{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-body-lg);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.task-progress{flex-direction:column;gap:6px;width:100%;margin-bottom:14px;display:flex}.task-progress-track{align-items:center;gap:4px;width:100%;height:4px;display:flex}.task-progress-segment{min-width:0;height:4px;transition:background-color .18s var(--ease);background:#d8d5e4;border-radius:999px;flex:1 1 0}html[data-theme=dark] .task-progress-segment{background:color-mix(in srgb, var(--text-muted) 40%, transparent)}.task-progress-segment.is-answered{background:var(--subject,var(--accent))}.task-progress-segment.is-active:not(.is-answered){background:color-mix(in srgb, var(--subject,var(--accent)) 42%, transparent)}.task-progress-label{color:var(--text-muted);font-size:var(--text-micro);font-weight:var(--weight-medium)}.homework-task-navigation .homework-task-nav-control{background:var(--surface-muted);color:var(--text-primary)}.homework-task-navigation .homework-task-nav-control svg{stroke-width:2.4px;width:22px;height:22px}.homework-task-navigation .homework-task-nav-control:disabled{background:0 0}.homework-submit-area{flex-direction:column;align-items:center;gap:9px;width:100%;margin-top:1rem;display:flex}.homework-submit-button.button{border:1.5px solid var(--border-theme);background:var(--surface-primary);color:var(--text-primary);font-weight:var(--weight-semibold)}.homework-submit-button.button:active{background:var(--surface-muted)}.homework-submit-note{color:var(--text-muted);font-size:var(--text-micro);text-align:center}.focus-card{background:linear-gradient(152deg, color-mix(in srgb, var(--accent) 34%, #0d0b16) 0%, color-mix(in srgb, var(--accent) 72%, #17161c) 62%, var(--accent) 100%);color:#fff;width:100%;box-shadow:0 18px 40px color-mix(in srgb, var(--accent-pressed) 26%, transparent);border-radius:24px;gap:7px;margin-bottom:16px;padding:20px;display:grid;position:relative;overflow:hidden}.focus-card:after{content:"";border:1px solid #ffffff29;border-radius:999px;width:178px;height:178px;position:absolute;top:-52px;right:-46px}.focus-card>*{position:relative}.focus-card--momentum{background:var(--surface-accent-soft);color:var(--text-primary)}.focus-card--momentum:after{border-color:color-mix(in srgb, var(--accent) 16%, transparent)}.focus-kicker{color:#ffffffc7;font-size:var(--text-micro);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase}.focus-card--momentum .focus-kicker{color:var(--accent)}.focus-count{align-items:baseline;gap:9px;min-width:0;display:flex}.focus-count>strong{font-family:var(--font-display);font-size:var(--text-display-lg);font-weight:var(--weight-black);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight);line-height:1}.focus-count>span{color:#ffffffd1;font-size:var(--text-compact);font-weight:var(--weight-medium)}.focus-note{color:#ffffffb8;font-size:var(--text-small);line-height:var(--leading-snug);margin:0}.focus-card--momentum .focus-count>span,.focus-card--momentum .focus-note{color:var(--text-secondary)}.student-goal-line{min-width:0;color:var(--text-secondary);font-size:var(--text-small);flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:8px;display:flex}.student-goal-line svg{width:14px;height:14px;color:var(--accent);flex:none}.student-goal-line>b{min-width:0;color:var(--text-primary);font-weight:var(--weight-semibold);overflow-wrap:anywhere}.student-goal-line>span{white-space:nowrap}.result-progress{margin:-4px 0 12px}.task-progress-segment.is-result{background:var(--border-theme)}.task-progress-segment.is-result.is-correct{background:var(--success)}.task-progress-segment.is-result.is-incorrect{background:var(--danger)}.task-progress-segment.is-result.is-partial{background:var(--warning)}.task-progress-segment.is-result.is-neutral,.task-progress-segment.is-result.is-pending{background:var(--text-muted);opacity:.4}.compact-stat--todo>span{color:var(--accent)}.compact-stat--done>span{color:var(--success)}.insight-card.insight-card--attention{border-color:color-mix(in srgb, var(--danger) 26%, var(--border-theme));background:var(--danger-soft)}.insight-card.insight-card--attention>svg{color:var(--danger)}.homework-task-nav-items~.homework-task-nav-control:not(:disabled){background:var(--text-primary);color:var(--surface-primary)}.insight-card--wide{width:100%;margin-bottom:14px}.week-chart{border:1px solid var(--border-theme);background:var(--surface-primary);border-radius:20px;gap:12px;width:100%;margin-bottom:14px;padding:16px;display:grid}.week-chart>header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.week-chart-totals{color:var(--text-secondary);font-size:var(--text-small)}.week-chart-totals b{color:var(--text-primary);font-family:var(--font-display);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.week-chart-bars{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:6px;height:84px;display:grid}.week-chart-day{grid-template-rows:1fr auto;justify-items:center;gap:6px;min-width:0;height:100%;display:grid}.week-chart-pair{justify-content:center;align-items:flex-end;gap:2px;width:100%;height:100%;display:flex}.week-chart-bar{border-radius:5px 5px 2px 2px;flex:1 1 0;min-width:0;min-height:3px;display:block}.week-chart-bar.is-submitted{background:var(--surface-accent-soft)}.week-chart-bar.is-reviewed{background:var(--accent)}.week-chart-legend{color:var(--text-secondary);font-size:var(--text-micro);flex-wrap:wrap;gap:4px 14px;display:flex}.week-chart-legend>span{align-items:center;gap:6px;display:inline-flex}.week-chart-legend i{border-radius:3px;width:10px;height:10px}.week-chart-legend .is-submitted{background:var(--surface-accent-soft);border:1px solid var(--border-theme)}.week-chart-legend .is-reviewed{background:var(--accent)}.week-chart-day>small{color:var(--text-muted);font-size:var(--text-micro);line-height:1}.homework-task-navigation{width:min(100%,760px);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr);gap:8px;margin:12px auto;padding:0;display:grid}.homework-task-nav-row{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;display:grid}.homework-task-navigation .homework-task-nav-control{border:1px solid var(--border-theme);background:var(--surface-primary);border-radius:14px;width:44px;height:44px}.homework-task-navigation .homework-task-nav-control:disabled{background:var(--surface-muted);opacity:.55;border-color:#0000}.homework-task-nav-items~.homework-task-nav-control:not(:disabled){background:var(--text-primary);color:var(--surface-primary);border-color:#0000}.homework-task-nav-items{border:1px solid var(--border-theme);background:var(--surface-primary);border-radius:14px;justify-content:center;align-items:center;gap:5px;min-width:0;height:44px;display:flex;overflow:hidden}.homework-task-navigation .homework-task-nav-number{box-sizing:border-box;background:var(--surface-muted);width:44px;min-width:44px;height:44px;color:var(--text-secondary);font-family:var(--font-display);font-size:var(--text-caption);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;transition:background-color .16s var(--ease), color .16s var(--ease);background-clip:content-box;border:0;border-radius:17px;flex:none;place-items:center;padding:8px;display:inline-grid}.homework-task-navigation .homework-task-nav-number.active{background:var(--accent);color:#fff;font-size:var(--text-small);box-shadow:none;background-clip:content-box;border-radius:18px;padding:6px}.homework-task-save-status{color:var(--text-muted);font-size:var(--text-micro);justify-self:center}.screen{gap:16px}.screen>.focus-card,.screen>.next-card,.screen>.task-progress,.screen>.task-work-header,.screen>.week-chart,.screen>.insight-card--wide,.screen>.compact-stats,.screen>.home-two-column,.screen>.stat-grid,.screen>.home-calendar-card,.screen>.schedule-agenda,.screen>.stack,.screen>.panel,.screen>.card{margin-top:0;margin-bottom:0}.screen>.section-title,.screen>.section-heading{margin:10px 0 0}.screen>.assignment-filter,.screen>.assignment-filter-glass,.screen>.glass-surface{margin-top:0;margin-bottom:0}.screen>.page-header,.screen>.topbar{margin-bottom:0}.dashboard-hero.student-hero{border:1px solid var(--border-theme);background:var(--surface-primary);color:var(--text-primary);box-shadow:var(--shadow-card)}.dashboard-hero.student-hero .hero-label{color:var(--accent)}.dashboard-hero.student-hero .hero-copy p{color:var(--text-secondary)}.dashboard-hero.student-hero .hero-symbol{border-color:var(--border-theme);background:var(--surface-accent-soft);color:var(--accent);box-shadow:none}.dashboard-hero.student-hero:after{border-color:color-mix(in srgb, var(--accent) 14%, transparent)}.dashboard-hero.student-hero .hero-action.secondary-button{border-color:var(--border-theme);background:var(--surface-accent-soft);color:var(--accent)}.review-queue{border:1px solid var(--border-theme);background:var(--surface-primary);width:100%;box-shadow:var(--shadow-card);border-radius:22px;gap:12px;padding:16px;display:grid}.review-queue-head{gap:2px;display:grid}.review-queue-head h2{font-family:var(--font-display);font-size:var(--text-title);font-weight:var(--weight-black);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0}.review-queue-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.review-queue-list button{width:100%;min-height:46px;color:var(--text-primary);text-align:left;background:0 0;border:0;border-radius:12px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 8px;display:grid}.review-queue-badge{background:var(--subject,var(--accent));width:26px;height:26px;color:var(--surface-primary);font-family:var(--font-display);font-size:var(--text-micro);font-weight:var(--weight-bold);border-radius:8px;place-items:center;display:grid}.review-queue-copy{gap:1px;min-width:0;display:grid}.review-queue-copy strong{font-size:var(--text-compact);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-queue-copy small{color:var(--text-secondary);font-size:var(--text-micro);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-queue-list time{color:var(--text-muted);font-size:var(--text-micro);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.review-queue-action.button{background:var(--text-primary);color:var(--surface-primary);gap:8px}.review-queue-action.button svg{width:18px;height:18px}.review-queue-more{min-height:32px;color:var(--accent);font-size:var(--text-small);font-weight:var(--weight-semibold);background:0 0;border:0;justify-self:center}.review-queue--empty .review-queue-head h2{font-size:var(--text-title-sm)}.stat-grid--pairs{grid-template-columns:repeat(2,minmax(0,1fr))}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.answer-field{gap:7px;width:100%;display:grid}.answer-field-label{color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.answer-field-control{width:100%;display:block;position:relative}.answer-field-control>.input{width:100%}.answer-field-control:has(.answer-field-unit)>.input{padding-right:76px}.answer-field-unit{max-width:62px;color:var(--text-muted);font-size:var(--text-compact);font-weight:var(--weight-medium);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;position:absolute;top:50%;right:14px;overflow:hidden;transform:translateY(-50%)}.zoom-image{gap:8px;display:grid}.zoom-image-viewport{background:var(--surface-page);touch-action:none;cursor:zoom-in;border-radius:10px;grid-template-rows:minmax(0,1fr);place-items:center;height:min(62vh,620px);display:grid;position:relative;overflow:hidden}.zoom-image-viewport[data-zoomed=true]{cursor:grab}.zoom-image-viewport img{object-fit:contain;will-change:transform;transform-origin:50%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;max-height:100%}.zoom-image-controls{justify-content:center;align-items:center;gap:8px;display:flex}.zoom-image-button{border:1px solid var(--border-soft);border-radius:var(--radius-control);background:var(--surface-primary);min-width:44px;min-height:44px;color:var(--text-primary);cursor:pointer;place-items:center;padding:0;display:inline-grid}.zoom-image-button svg{width:18px;height:18px}.zoom-image-button:disabled{opacity:.45;cursor:default}.zoom-image-value{font-variant-numeric:tabular-nums;text-align:center;min-width:56px;font-size:var(--text-small);color:var(--text-secondary)}.lightbox-actions{flex-wrap:wrap;gap:8px;display:flex}.lightbox-actions .ghost-button{flex:140px;justify-content:center;align-items:center;gap:8px;min-height:44px;display:inline-flex}.lightbox-actions .ghost-button svg{width:18px;height:18px}.lightbox-panel .zoom-image img{border-radius:0;width:auto}.annotator{z-index:120;padding:max(8px, var(--safe-content-top)) max(8px, var(--safe-right)) max(8px, calc(var(--safe-bottom) + 8px)) max(8px, var(--safe-left));background:var(--surface-page);grid-template-rows:auto minmax(0,1fr) auto;gap:8px;display:grid;position:fixed;inset:0}.annotator-bar{justify-content:space-between;align-items:center;gap:8px;display:flex}.annotator-bar-actions{gap:6px;display:flex}.annotator-title{font-family:var(--font-display);font-size:var(--text-title-sm)}.annotator-icon{border:1px solid var(--border-soft);border-radius:var(--radius-control);background:var(--surface-primary);min-width:44px;min-height:44px;color:var(--text-primary);cursor:pointer;place-items:center;display:inline-grid}.annotator-icon--primary:not(:disabled){background:var(--accent);color:#fff;border-color:#0000}.annotator-icon:disabled{opacity:.4;cursor:default}.annotator-icon svg{width:20px;height:20px}.annotator-surface{background:var(--surface-muted);touch-action:none;border-radius:12px;grid-template-rows:minmax(0,1fr);place-items:center;display:grid;position:relative;overflow:hidden}.annotator-surface canvas{object-fit:contain;transform-origin:50%;will-change:transform;max-width:100%;max-height:100%}.annotator-zoom{background:color-mix(in srgb, var(--surface-primary) 88%, transparent);border:1px solid var(--border-soft);border-radius:999px;align-items:center;gap:0;padding:0 4px;display:flex;position:absolute;bottom:8px;right:8px}.annotator-zoom-button{width:44px;height:44px;color:var(--text-primary);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:4px;display:inline-grid}.annotator-zoom-button svg{width:16px;height:16px}.annotator-zoom-button:disabled{opacity:.35;cursor:default}.annotator-zoom-value{text-align:center;min-width:46px;font-size:var(--text-micro);font-variant-numeric:tabular-nums;color:var(--text-secondary)}.annotator-tools{gap:8px;display:grid}.annotator-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.annotator-group{align-items:center;gap:6px;display:flex}.annotator-tool{border:1px solid var(--border-soft);border-radius:var(--radius-control);background:var(--surface-primary);min-height:44px;color:var(--text-primary);font-size:var(--text-small);white-space:nowrap;cursor:pointer;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.annotator-tool svg{width:16px;height:16px}.annotator-tool[data-active=true]{border-color:var(--accent);background:var(--surface-accent-soft);color:var(--accent)}.annotator-tool--quiet{color:var(--text-secondary);margin-left:auto}.annotator-tool:disabled{opacity:.4;cursor:default}.annotator-color{background:var(--annotator-swatch) content-box;cursor:pointer;background-clip:content-box;border:2px solid #0000;border-radius:50%;width:44px;height:44px;padding:7px;position:relative}.annotator-color:after{content:"";box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text-primary) 30%, transparent);border-radius:50%;position:absolute;inset:7px}.annotator-color[data-active=true]{border-color:var(--text-primary)}.annotator-size{border:1px solid var(--border-soft);border-radius:var(--radius-control);background:var(--surface-primary);flex:200px;align-items:center;gap:8px;min-width:180px;min-height:44px;padding:0 12px;display:flex}.annotator-size-label{font-size:var(--text-micro);color:var(--text-secondary);white-space:nowrap}.annotator-size input[type=range]{appearance:none;cursor:pointer;background:0 0;flex:auto;min-width:60px;height:44px;margin:0;padding:0}.annotator-size input[type=range]::-webkit-slider-runnable-track{background:var(--border-soft);border-radius:999px;height:4px}.annotator-size input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:0;border-radius:50%;width:22px;height:22px;margin-top:-9px}.annotator-size input[type=range]::-moz-range-track{background:var(--border-soft);border-radius:999px;height:4px}.annotator-size input[type=range]::-moz-range-progress{background:var(--accent);border-radius:999px;height:4px}.annotator-size input[type=range]::-moz-range-thumb{background:var(--accent);border:0;border-radius:50%;width:22px;height:22px}.annotator-size input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.annotator-size-preview{min-width:28px;min-height:28px;font-family:var(--font-display);color:var(--text-primary);border-radius:50%;place-items:center;line-height:1;display:grid}.annotator-label-prompt{left:max(12px, var(--safe-left));right:max(12px, var(--safe-right));bottom:max(12px, calc(var(--safe-bottom) + 12px));border:1px solid var(--border-soft);background:var(--surface-primary);border-radius:14px;gap:8px;padding:14px;display:grid;position:absolute;box-shadow:0 18px 40px #11101838}.annotator-error{color:var(--danger)}@media (width<=420px){.annotator-tool{gap:4px;padding:0 8px}.annotator-tool--quiet{justify-content:center;width:44px;padding:0;font-size:0}.annotator-size{flex-basis:100%}}.attachment-chip .text-button.annotate-button{border:1px solid var(--border-soft);border-radius:var(--radius-control);background:var(--surface-primary);min-height:44px;color:var(--accent);align-items:center;padding:0 12px;display:inline-flex}.review-feedback-files{gap:6px;margin-top:10px;display:grid}.web-login{min-height:var(--app-viewport-stable-height);place-items:center;display:grid}.web-login .content{width:100%;max-width:420px}.web-login-card{gap:16px}.web-login-card .field{gap:6px;display:grid}.web-login-error{border-radius:var(--radius-control);background:var(--surface-muted);color:var(--danger);font-size:var(--text-small);padding:10px 12px}.web-login-note{font-size:var(--text-small);color:var(--text-secondary);margin:0}.web-login-consent{font-size:var(--text-small);align-items:flex-start;gap:10px;line-height:1.4;display:flex}.web-login-consent input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin:12px 0 0}.text-link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.web-login-legal{font-size:var(--text-small);justify-self:center}.legal-screen .content{max-width:720px;padding-bottom:40px}.legal-back{min-height:44px;margin-bottom:12px}.legal-operator{border-radius:var(--radius-control);background:var(--surface-muted);padding:12px 14px}.legal-operator p{margin:4px 0 0}.legal-warning{border-radius:var(--radius-control);background:var(--surface-muted);color:var(--danger);font-size:var(--text-small);padding:12px 14px}.legal-section h2{font-family:var(--font-display);font-size:var(--text-title-sm);margin:0 0 8px}.legal-section p{color:var(--text-secondary);margin:0 0 10px;line-height:1.55}.legal-section p:last-child{margin-bottom:0}:root{--trainer-flame-off:#dcd6ea;--trainer-flame-off-inner:#efebf6;--trainer-smoke:#b3abc9;--trainer-fire:#ff8a00;--trainer-fire-strong:#f06a00;--trainer-fire-soft:#ff960024;--trainer-fire-border:#ff8a0061;--trainer-warm-card:linear-gradient(135deg, #fff6e8 0%, #ffe9cf 100%);--trainer-ice:#3aa0e8;--trainer-ice-soft:#3aa0e824;--trainer-right:#2f9e5b;--trainer-wrong:#e0483e;--trainer-ease-out:cubic-bezier(.2, 0, 0, 1);--trainer-ease-spring:cubic-bezier(.34, 1.56, .64, 1)}html[data-theme=dark]{--trainer-flame-off:#3b3650;--trainer-flame-off-inner:#2a2639;--trainer-smoke:#625b7a;--trainer-fire:#ffa53a;--trainer-fire-strong:#ffb85c;--trainer-fire-soft:#ffa53a29;--trainer-fire-border:#ffa53a57;--trainer-warm-card:linear-gradient(135deg, #ff960029 0%, #ff780014 100%);--trainer-ice:#6cc0ff;--trainer-ice-soft:#6cc0ff29;--trainer-right:#5fd08f;--trainer-wrong:#ff7a70}.trainer-flame{color:var(--trainer-flame-off);flex:none;display:block;overflow:visible}.trainer-flame.is-lit{filter:drop-shadow(0 2px 6px #ff780047)}.trainer-flame.is-alive .trainer-flame-body{transform-box:fill-box;transform-origin:50% 100%;animation:2.6s ease-in-out infinite trainer-fire-sway}.trainer-flame.is-alive .trainer-flame-inner{transform-box:fill-box;transform-origin:50% 92%;animation:1.7s ease-in-out infinite trainer-fire-core}.trainer-flame.is-alive .trainer-flame-glow{transform-box:fill-box;transform-origin:50%;animation:3.2s ease-in-out infinite trainer-fire-glow}.trainer-flame.is-alive .trainer-flame-embers>*{transform-box:fill-box;animation:2.4s ease-out infinite trainer-fire-ember}.trainer-flame.is-alive .trainer-flame-embers>:nth-child(2){animation-delay:.6s}.trainer-flame.is-alive .trainer-flame-embers>:nth-child(3){animation-delay:1.2s}.trainer-flame.is-alive .trainer-flame-embers>:nth-child(4){animation-delay:1.8s}.trainer-flame.is-alive .trainer-flame-stars>*>path{transform-box:fill-box;transform-origin:50%;animation:2s ease-in-out infinite trainer-fire-twinkle}.trainer-flame.is-alive .trainer-flame-stars>:nth-child(2)>path{animation-delay:.7s}.trainer-flame.is-alive .trainer-flame-stars>:nth-child(3)>path{animation-delay:1.3s}.trainer-flame.is-alive .trainer-flame-stars>:nth-child(4)>path{animation-delay:.35s}.trainer-flame.is-alive .trainer-flame-rays{transform-origin:12px 16px;animation:18s linear infinite trainer-fire-rays}.trainer-flame.is-alive .trainer-flame-wing{transform-box:fill-box;animation:2.2s ease-in-out infinite trainer-fire-wing}.trainer-flame.is-alive .trainer-flame-wing.is-left{transform-origin:100% 100%}.trainer-flame.is-alive .trainer-flame-wing.is-right{transform-origin:0 100%;animation-name:trainer-fire-wing-right}.trainer-flame.is-alive .trainer-flame-tail{animation:1.6s ease-in-out infinite trainer-fire-tail}@keyframes trainer-fire-sway{0%,to{transform:scale(1)skew(0)}30%{transform:scale(.98,1.035)skew(-1.6deg)}65%{transform:scale(1.015,.985)skew(1.4deg)}}@keyframes trainer-fire-core{0%,to{transform:scale(1)}40%{transform:scale(.93,1.07)}75%{transform:scale(1.05,.95)}}@keyframes trainer-fire-glow{0%,to{opacity:.85;transform:scale(.94)}50%{opacity:1;transform:scale(1.06)}}@keyframes trainer-fire-ember{0%{opacity:0;transform:translateY(4px)scale(.6)}25%{opacity:1}to{opacity:0;transform:translateY(-6px)scale(1)}}@keyframes trainer-fire-twinkle{0%,to{opacity:.55;transform:scale(.7)rotate(0)}50%{opacity:1;transform:scale(1.15)rotate(45deg)}}@keyframes trainer-fire-rays{to{transform:rotate(360deg)}}@keyframes trainer-fire-wing{0%,to{transform:rotate(0)}50%{transform:rotate(-6deg)}}@keyframes trainer-fire-wing-right{0%,to{transform:rotate(0)}50%{transform:rotate(6deg)}}@keyframes trainer-fire-tail{0%,to{opacity:.85}50%{opacity:.45}}.trainer-flame.is-locked{filter:grayscale();opacity:.32}.trainer-flame.is-locked .trainer-flame-inner{animation:none}.trainer-flame.is-burst{animation:trainer-flame-pop .82s var(--trainer-ease-spring) both;transform-origin:50% 80%}@keyframes trainer-flame-pop{0%{opacity:0;transform:scale(.2)rotate(-10deg)}55%{opacity:1;transform:scale(1.16)rotate(4deg)}78%{transform:scale(.96)rotate(-1deg)}to{transform:scale(1)rotate(0)}}.trainer-goal-ring{flex:none;place-items:center;display:inline-grid;position:relative}.trainer-goal-ring svg{position:absolute;inset:0}.trainer-goal-ring-track{fill:none;stroke:var(--border-soft);stroke-width:4px}.trainer-goal-ring-value{fill:none;stroke:var(--trainer-fire);stroke-width:4px;stroke-linecap:round;transition:stroke-dashoffset .64s var(--trainer-ease-out)}.trainer-goal-ring-label{color:var(--text-primary);font-variant-numeric:tabular-nums;place-items:center;font-size:13px;font-weight:800;line-height:1;display:grid;position:relative}.trainer-goal-ring.is-done .trainer-goal-ring-label{color:var(--trainer-fire-strong)}.trainer-goal-ring-label svg{stroke-width:3px;width:18px;height:18px;display:block;position:static}.trainer-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none;display:grid}.trainer-week-day{justify-items:center;gap:4px;display:grid}.trainer-week-mark{background:var(--surface-muted);border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.trainer-week.is-compact .trainer-week-mark{width:22px;height:22px}.trainer-week-day[data-state=met] .trainer-week-mark{background:var(--trainer-fire-soft);animation:trainer-dot-in .42s var(--trainer-ease-spring) both}.trainer-week-day[data-state=frozen] .trainer-week-mark{background:var(--trainer-ice-soft);color:var(--trainer-ice)}.trainer-week-day[data-state=frozen] .trainer-week-mark svg{width:60%;height:60%}.trainer-week-day[data-state=today] .trainer-week-mark{box-shadow:inset 0 0 0 2px var(--trainer-fire-border);background:0 0}.trainer-week-day[data-state=future] .trainer-week-mark{box-shadow:inset 0 0 0 1px var(--border-soft);background:0 0}.trainer-week-label{color:var(--text-muted);font-size:11px;font-weight:600}@keyframes trainer-dot-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.trainer-streak-card{border:1px solid var(--border-theme);background:var(--surface-primary);width:100%;box-shadow:var(--shadow-card);color:var(--text-primary);text-align:left;font:inherit;cursor:pointer;transition:transform .16s var(--trainer-ease-out), border-color .2s ease;border-radius:22px;gap:12px;padding:14px 16px 12px;display:grid}.trainer-streak-card:active{transform:scale(.985)}.trainer-streak-card.is-lit{border-color:var(--trainer-fire-border);background:var(--trainer-warm-card)}.trainer-streak-card.is-risk{border-color:var(--trainer-fire-border)}.trainer-streak-main{align-items:center;gap:10px;min-width:0;display:flex}.trainer-streak-flame{background:var(--surface-primary);width:44px;height:44px;box-shadow:inset 0 0 0 1.5px var(--border-theme);border-radius:50%;flex:none;grid-template-rows:100%;grid-template-columns:100%;place-items:center;display:grid;overflow:hidden}.trainer-streak-flame.is-lit{background:radial-gradient(circle at 50% 55%, #ffb04647 0%, #ffb04614 70%), var(--surface-primary);box-shadow:inset 0 0 0 1.5px var(--trainer-fire-border)}.trainer-streak-count{font-family:var(--font-display,inherit);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:800;line-height:1}.trainer-streak-card.is-lit .trainer-streak-count{color:var(--trainer-fire-strong)}.trainer-streak-text{flex:auto;gap:2px;min-width:0;display:grid}.trainer-streak-title{align-items:baseline;gap:6px;min-width:0;display:flex}.trainer-streak-title .trainer-streak-count{font-size:26px}.trainer-streak-text strong{font-size:16px;font-weight:800}.trainer-streak-text small{color:var(--text-secondary);font-size:13px;line-height:1.3}.trainer-game-backdrop{z-index:120;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#11101875;justify-content:center;align-items:flex-end;animation:.2s both trainer-fade-in;display:flex;position:fixed;inset:0}.trainer-game-sheet{width:min(100%,560px);max-height:min(92vh, calc(100dvh - var(--screen-top,0px) - 12px));overscroll-behavior:contain;padding:22px 18px calc(var(--safe-bottom,0px) + 22px);background:var(--surface-page);color:var(--text-primary);box-shadow:var(--shadow-float);animation:trainer-sheet-up .34s var(--trainer-ease-out) both;border-radius:28px 28px 0 0;gap:14px;display:grid;position:relative;overflow-y:auto}.trainer-game-close{position:absolute;top:14px;right:14px}.trainer-game-title{margin:4px 48px 0 0;font-size:21px;font-weight:800}.trainer-game-subtitle{align-items:center;gap:8px;margin:8px 0 0;font-size:16px;font-weight:800;display:flex}.trainer-game-subtitle svg{width:18px;height:18px;color:var(--trainer-fire)}.trainer-game-note{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.45}.trainer-game-share{justify-self:stretch}@keyframes trainer-fade-in{0%{opacity:0}to{opacity:1}}@keyframes trainer-sheet-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.trainer-streak-hero{text-align:center;justify-items:center;gap:6px;padding-top:6px;display:grid}.trainer-streak-hero h2{font-family:var(--font-display,inherit);margin:6px 0 0;font-size:26px;font-weight:800}.trainer-streak-hero h2 span{color:var(--trainer-fire-strong)}.trainer-streak-hero p{max-width:34ch;color:var(--text-secondary);margin:0;font-size:14px;line-height:1.4}.trainer-streak-facts{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin:0;display:grid}.trainer-streak-facts div{background:var(--surface-primary);box-shadow:inset 0 0 0 1px var(--border-soft);border-radius:16px;gap:2px;padding:10px 12px;display:grid}.trainer-streak-facts dt{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;display:flex}.trainer-streak-facts dt svg{width:14px;height:14px;color:var(--trainer-ice)}.trainer-streak-facts dd{margin:0;font-size:15px;font-weight:800}.trainer-goal-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.trainer-goal-options button,.trainer-hour-options button{border:1px solid var(--border-theme);background:var(--surface-primary);min-height:44px;color:var(--text-primary);font:inherit;cursor:pointer;border-radius:16px;transition:border-color .16s,background .16s,transform .12s}.trainer-goal-options button{gap:2px;padding:10px 4px;display:grid}.trainer-goal-options strong{font-size:20px;font-weight:800}.trainer-goal-options span{color:var(--text-secondary);font-size:12px}.trainer-goal-options button[aria-checked=true],.trainer-hour-options button[aria-checked=true]{border-color:var(--trainer-fire);background:var(--trainer-fire-soft);box-shadow:inset 0 0 0 1px var(--trainer-fire)}.trainer-goal-options button:active,.trainer-hour-options button:active{transform:scale(.96)}.trainer-hour-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.trainer-hour-options button{font-variant-numeric:tabular-nums;padding:0 4px;font-weight:700}.trainer-hour-options .trainer-hour-off{grid-column:1/-1}.trainer-celebration{z-index:130;padding:calc(var(--screen-top,var(--safe-top,0px)) + 24px) 20px calc(var(--safe-bottom,0px) + 24px);background:radial-gradient(circle at 50% 30%, #ffbe284d, transparent 58%), var(--surface-page);place-items:center;animation:.24s both trainer-fade-in;display:grid;position:fixed;inset:0;overflow-y:auto}.trainer-celebration-body{text-align:center;justify-items:center;gap:10px;width:min(100%,400px);display:grid;position:relative}.trainer-celebration-flame{grid-template-rows:100%;grid-template-columns:100%;place-items:center;width:140px;height:140px;display:grid;position:relative}.trainer-celebration-glow{animation:trainer-glow 1.1s var(--trainer-ease-out) both;background:radial-gradient(circle,#ffaa0073 0%,#fa00 68%);border-radius:50%;position:absolute;inset:0}@keyframes trainer-glow{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.25)}to{opacity:.7;transform:scale(1)}}.trainer-celebration-count{color:var(--trainer-fire-strong);font-family:var(--font-display,inherit);font-variant-numeric:tabular-nums;margin:-6px 0 0;font-size:72px;font-weight:800;line-height:1}.trainer-roll{vertical-align:top;height:1em;display:inline-block;overflow:hidden}.trainer-roll-track{animation:trainer-roll .62s var(--trainer-ease-spring) .42s both;display:grid}.trainer-roll-track span{height:1em;line-height:1}@keyframes trainer-roll{0%{transform:translateY(0)}to{transform:translateY(-1em)}}.trainer-celebration h2{font-family:var(--font-display,inherit);animation:trainer-rise .42s var(--trainer-ease-out) .26s both;margin:4px 0 0;font-size:26px;font-weight:800;line-height:1.2}.trainer-celebration-subtitle{max-width:32ch;color:var(--text-secondary);animation:trainer-rise .42s var(--trainer-ease-out) .34s both;margin:0;font-size:15px;line-height:1.45}.trainer-celebration .trainer-week{width:100%;margin-top:8px}.trainer-celebration .trainer-week-day:first-child .trainer-week-mark{animation-delay:.42s}.trainer-celebration .trainer-week-day:nth-child(2) .trainer-week-mark{animation-delay:.48s}.trainer-celebration .trainer-week-day:nth-child(3) .trainer-week-mark{animation-delay:.54s}.trainer-celebration .trainer-week-day:nth-child(4) .trainer-week-mark{animation-delay:.6s}.trainer-celebration .trainer-week-day:nth-child(5) .trainer-week-mark{animation-delay:.66s}.trainer-celebration .trainer-week-day:nth-child(6) .trainer-week-mark{animation-delay:.72s}.trainer-celebration .trainer-week-day:nth-child(7) .trainer-week-mark{animation-delay:.78s}.trainer-celebration-reward{background:var(--trainer-ice-soft);color:var(--text-primary);text-align:left;animation:trainer-rise .42s var(--trainer-ease-out) .7s both;border-radius:16px;align-items:center;gap:8px;margin:6px 0 0;padding:10px 14px;font-size:14px;font-weight:600;display:flex}.trainer-celebration-reward svg{width:20px;height:20px;color:var(--trainer-ice);flex:none}.trainer-celebration-daily{background:var(--surface-primary);width:100%;box-shadow:inset 0 0 0 1px var(--border-soft);text-align:left;animation:trainer-rise .42s var(--trainer-ease-out) .82s both;border-radius:18px;grid-template-columns:auto 1fr;align-items:center;gap:8px 10px;margin-top:6px;padding:12px 14px;font-size:14px;line-height:1.35;display:grid}.trainer-celebration-daily>svg{width:20px;height:20px;color:var(--trainer-fire)}.trainer-celebration-daily button{grid-column:1/-1;min-height:44px}.trainer-celebration-actions{gap:10px;width:100%;margin-top:10px;display:grid}.trainer-celebration-actions .button,.trainer-celebration-actions .secondary-button{justify-content:center;align-items:center;gap:8px;min-height:50px;display:inline-flex}.trainer-celebration-actions svg{width:18px;height:18px}@keyframes trainer-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.trainer-celebration-burst{pointer-events:none;width:0;height:0;position:absolute;top:26%;left:50%}.trainer-confetti{opacity:0;width:10px;height:14px;animation:trainer-confetti 1.3s cubic-bezier(.15, .7, .35, 1) var(--d) both;border-radius:3px;position:absolute;top:-7px;left:-5px}.trainer-confetti.shape-1{border-radius:50%;width:9px;height:9px}.trainer-confetti.shape-2{width:14px;height:6px}@keyframes trainer-confetti{0%{opacity:1;transform:translate(0)scale(.3)rotate(0)}40%{transform:translate(var(--x), var(--y)) scale(1) rotate(calc(var(--r) * .5));opacity:1}to{transform:translate(calc(var(--x) * 1.15), calc(var(--y) + 300px)) scale(.9) rotate(var(--r));opacity:0}}.trainer-game-toast{top:calc(var(--screen-top,var(--safe-top,0px)) + 68px);z-index:115;border:1px solid var(--trainer-fire-border);background:var(--surface-primary);max-width:calc(100vw - 32px);box-shadow:var(--shadow-float);color:var(--text-primary);animation:trainer-toast 2.6s var(--trainer-ease-out) both;pointer-events:none;border-radius:999px;align-items:center;gap:8px;padding:8px 14px 8px 10px;font-size:14px;display:inline-flex;position:fixed;left:50%}.trainer-game-toast>svg{width:18px;height:18px;color:var(--trainer-right);flex:none}.trainer-game-toast s{color:var(--text-muted)}.trainer-game-toast strong{color:var(--trainer-fire-strong);font-weight:800}@keyframes trainer-toast{0%{opacity:0;transform:translate(-50%,-14px)scale(.96)}10%{opacity:1;transform:translate(-50%)scale(1)}88%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-8px)scale(.98)}}.trainer-forecast{border:1px solid var(--border-theme);background:var(--surface-primary);box-shadow:var(--shadow-card);border-radius:22px;gap:10px;padding:16px;display:grid}.trainer-forecast.is-loading{background:linear-gradient(100deg, transparent 30%, var(--surface-muted) 50%, transparent 70%) 0 0 / 200% 100%, var(--surface-primary);min-height:124px;animation:1.2s ease-in-out 3 trainer-shimmer}@keyframes trainer-shimmer{0%{background-position:120% 0,0 0}to{background-position:-80% 0,0 0}}.trainer-forecast-head{justify-content:space-between;align-items:center;display:flex}.trainer-forecast-info{width:44px;height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;margin:-12px -12px -12px 0;display:grid}.trainer-forecast-info svg{width:18px;height:18px}.trainer-forecast-value{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.trainer-forecast-value strong{font-family:var(--font-display,inherit);letter-spacing:-.03em;color:var(--accent);font-variant-numeric:tabular-nums;font-size:52px;font-weight:800;line-height:1}.trainer-forecast-value>span{color:var(--text-secondary);font-size:15px;font-weight:600}.trainer-forecast-value em{border-radius:999px;padding:3px 9px;font-size:13px;font-style:normal;font-weight:700}.trainer-forecast-value em.is-up{color:var(--trainer-right);background:#2f9e5b1f}.trainer-forecast-value em.is-down{background:var(--surface-muted);color:var(--text-secondary)}.trainer-forecast-range,.trainer-forecast-untested,.trainer-forecast-note,.trainer-forecast-wait{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.4}.trainer-forecast-note,.trainer-forecast-untested{font-size:13px}.trainer-forecast-chances{gap:6px;margin:0;padding:0;list-style:none;display:grid}.trainer-forecast-chances li{font-variant-numeric:tabular-nums;grid-template-columns:34px 1fr 44px;align-items:center;gap:8px;font-size:14px;display:grid}.trainer-forecast-chances strong{text-align:right}.trainer-forecast-chance-bar,.trainer-forecast-progress{background:var(--surface-muted);border-radius:999px;height:8px;display:block;overflow:hidden}.trainer-forecast-chance-bar span,.trainer-forecast-progress span{border-radius:inherit;background:var(--accent);height:100%;transition:width .7s var(--trainer-ease-out);display:block}.trainer-forecast-progress span{background:linear-gradient(90deg, var(--accent), var(--trainer-fire))}.trainer-forecast-gains{gap:6px;display:grid}.trainer-forecast-gains-title{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.trainer-forecast-gain{border:1px solid var(--border-soft);background:var(--surface-page);min-height:52px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;border-radius:16px;grid-template-columns:auto 1fr auto 18px;align-items:center;gap:10px;padding:8px 10px;display:grid}.trainer-forecast-gain-number{text-align:center;background:var(--surface-accent-soft);min-width:48px;color:var(--accent);white-space:nowrap;border-radius:10px;padding:4px 8px;font-size:13px;font-weight:800}.trainer-forecast-gain-title{overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:600;display:grid}.trainer-forecast-gain-title small{color:var(--text-muted);font-size:12px;font-weight:500}.trainer-forecast-gain>strong{color:var(--trainer-right);white-space:nowrap;font-size:14px}.trainer-forecast-gain>svg{width:18px;height:18px;color:var(--text-muted)}.trainer-forecast-share{justify-self:start;align-items:center;gap:6px;min-height:44px;display:inline-flex}.trainer-forecast-share svg{width:16px;height:16px}.trainer-forecast-start{justify-self:start}.trainer-forecast-explain{background:var(--surface-muted);border-radius:16px;gap:8px;padding:12px 14px;font-size:13px;line-height:1.5;display:grid}.trainer-forecast-explain p{margin:0}.trainer-picker{gap:18px;padding:8px 0 24px;display:grid}.trainer-picker-head{text-align:center;justify-items:center;gap:8px;padding-top:18px;display:grid}.trainer-picker-head h1{font-family:var(--font-display,inherit);margin:4px 0 0;font-size:30px;font-weight:800}.trainer-picker-head p{max-width:30ch;color:var(--text-secondary);margin:0;font-size:15px;line-height:1.45}.trainer-picker-exams{background:var(--surface-muted);border-radius:18px;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.trainer-picker-exams button{min-height:44px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:14px;font-weight:700}.trainer-picker-exams button[aria-checked=true]{background:var(--surface-primary);color:var(--text-primary);box-shadow:var(--shadow-card)}.trainer-picker-subjects{gap:8px;display:grid}.trainer-picker-subjects button{border:1px solid var(--border-theme);background:var(--surface-primary);min-height:58px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;transition:transform .14s var(--trainer-ease-out), border-color .16s ease;animation:trainer-rise .36s var(--trainer-ease-out) both;border-radius:18px;grid-template-columns:1fr auto 18px;align-items:center;gap:10px;padding:10px 14px 10px 16px;display:grid}.trainer-picker-subjects button:active{border-color:var(--accent);transform:scale(.98)}.trainer-picker-subjects span{font-size:16px;font-weight:700}.trainer-picker-subjects small{color:var(--text-muted);font-size:13px}.trainer-picker-subjects svg{width:18px;height:18px;color:var(--text-muted)}.trainer-duel-body{overscroll-behavior:contain;min-height:0;padding:14px calc(var(--safe-right,0px) + 14px) calc(var(--safe-bottom,0px) + 24px) calc(var(--safe-left,0px) + 14px);flex:auto;align-content:start;gap:14px;display:grid;overflow-y:auto}.trainer-duel-intro,.trainer-duel-result{text-align:center;justify-items:center;gap:12px;padding-top:18px;display:grid}.trainer-duel-intro h2{font-family:var(--font-display,inherit);margin:0;font-size:24px;font-weight:800}.trainer-duel-intro p{max-width:34ch;color:var(--text-secondary);margin:0;font-size:15px;line-height:1.45}.trainer-duel-intro .button{width:min(100%,360px);min-height:50px}.trainer-duel-badge{background:var(--surface-accent-soft);width:72px;height:72px;color:var(--accent);animation:trainer-flame-pop .7s var(--trainer-ease-spring) both;border-radius:24px;place-items:center;display:grid}.trainer-duel-badge svg{width:34px;height:34px}.trainer-duel-dots{justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.trainer-duel-dots li{background:var(--surface-muted);border-radius:999px;width:28px;height:8px;transition:background .24s}.trainer-duel-dots li[data-state=current]{background:var(--accent)}.trainer-duel-dots li[data-state=right]{background:var(--trainer-right)}.trainer-duel-dots li[data-state=wrong]{background:var(--trainer-wrong)}.trainer-duel-body[data-flash=correct] .trainer-duel-card{box-shadow:0 0 0 3px #2f9e5b59, var(--shadow-card);animation:trainer-pulse .42s var(--trainer-ease-out)}.trainer-duel-body[data-flash=wrong] .trainer-duel-card{box-shadow:0 0 0 3px #e0483e52, var(--shadow-card);animation:.38s trainer-shake}@keyframes trainer-pulse{50%{transform:scale(1.015)}}@keyframes trainer-shake{20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.trainer-duel-trophy{width:52px;height:52px;color:var(--trainer-fire);animation:trainer-flame-pop .76s var(--trainer-ease-spring) both}.trainer-duel-score{color:var(--text-secondary);margin:0;font-size:18px}.trainer-duel-score strong{color:var(--text-primary);font-family:var(--font-display,inherit);font-size:56px;font-weight:800}.trainer-duel-standings{gap:6px;width:100%;margin:4px 0 0;padding:0;list-style:none;display:grid}.trainer-duel-standings li{background:var(--surface-primary);min-height:46px;box-shadow:inset 0 0 0 1px var(--border-soft);text-align:left;font-variant-numeric:tabular-nums;border-radius:14px;grid-template-columns:28px 1fr auto auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.trainer-duel-standings li[data-you=true]{background:var(--surface-accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.trainer-duel-place{color:var(--text-muted);font-weight:800}.trainer-duel-standings li:first-child .trainer-duel-place{color:var(--trainer-fire)}.trainer-duel-name{overflow-wrap:anywhere;min-width:0;font-weight:600}.trainer-duel-standings small{color:var(--text-muted)}.trainer-duel-review{text-align:left;gap:6px;width:100%;margin:0;padding:0;list-style:none;display:grid}.trainer-duel-review button{text-align:left;border:1px solid var(--border-soft);background:var(--surface-primary);width:100%;min-height:48px;color:var(--text-primary);font:inherit;cursor:pointer;border-radius:14px;grid-template-columns:auto auto 1fr 18px;align-items:center;gap:10px;padding:8px 12px;display:grid}.trainer-duel-review li[data-right=true] button>span:nth-child(2){color:var(--trainer-right)}.trainer-duel-review li[data-right=false] button>span:nth-child(2){color:var(--trainer-wrong)}.trainer-duel-review button svg{width:18px;height:18px}.trainer-duel-review small{color:var(--text-secondary);overflow-wrap:anywhere}.trainer-duel-solution{border:1px solid var(--border-soft);background:var(--surface-primary);border-radius:14px;gap:8px;margin-top:6px;padding:12px 14px 14px;display:grid}.trainer-story-preview{place-items:center;display:grid}.trainer-story-preview img,.trainer-story-placeholder{aspect-ratio:9/16;width:min(52vw,210px);box-shadow:var(--shadow-float);object-fit:cover;border-radius:18px}.trainer-story-placeholder{opacity:.4;background:linear-gradient(#5b44d6,#1f1658);display:block}@media (prefers-reduced-motion:reduce){.trainer-celebration-burst{display:none}}.trainer-goal-button{background:0 0;border-color:#0000;padding:0}.trainer-round-button .trainer-goal-ring>svg{width:100%;height:100%}.trainer-round-button .trainer-goal-ring-label svg{width:16px;height:16px}.trainer-challenge-card>svg:first-child{color:var(--accent)}.trainer-road-row{border:1px solid var(--trainer-fire-border);background:var(--trainer-warm-card);width:100%;min-height:64px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;border-radius:18px;grid-template-columns:auto 1fr 18px;align-items:center;gap:12px;padding:10px 12px;display:grid}.trainer-road-row>svg:last-child{width:18px;height:18px;color:var(--text-muted)}.trainer-road-row-text{gap:3px;min-width:0;display:grid}.trainer-road-row-text strong{font-size:15px;font-weight:800}.trainer-road-row-text small{color:var(--text-secondary);font-size:13px}.trainer-road-row-bar{background:#ff8a0029;border-radius:999px;height:6px;margin-top:3px;display:block;overflow:hidden}.trainer-road-row-bar span{border-radius:inherit;background:linear-gradient(90deg, #ffb020, var(--trainer-fire-strong));height:100%;display:block}.trainer-road{z-index:125}.trainer-road-head{z-index:3;background:var(--surface-page);position:relative}.trainer-road-path{border:1px solid var(--trainer-fire-border);background:var(--trainer-warm-card);min-height:44px;color:var(--text-primary);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:6px;padding:4px 14px 4px 6px;font-size:13px;font-weight:800;transition:transform .12s;display:inline-flex}.trainer-road-path:active{transform:scale(.96)}.trainer-road-card{margin-top:10px}.trainer-road-head .trainer-flame{margin-left:auto}.trainer-road-body{z-index:1;overscroll-behavior:contain;flex:auto;min-height:0;position:relative;overflow:hidden auto}.trainer-road-backdrop{z-index:0;pointer-events:none;background:#f6ead8;position:absolute;inset:0;overflow:hidden}.trainer-road-backdrop-move{will-change:transform;height:300%}.trainer-road-backdrop-art{width:100%;height:100%;display:block}html[data-theme=dark] .trainer-road-backdrop-art{filter:brightness(.82)}.trainer-road-climb{z-index:1;width:100%;max-width:460px;margin:0 auto;position:relative}.trainer-road-stage{z-index:0;will-change:transform;content-visibility:auto;position:absolute;left:-40px;right:-40px}.trainer-stage-scene{width:100%;height:100%;display:block}html[data-theme=dark] .trainer-stage-scene{filter:brightness(.85)}.trainer-road-arcs{z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.trainer-road-arcs path{fill:none;stroke:#ffffff8c;stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:.1 8}.trainer-road-arcs path.is-glow{stroke:#ff962847;stroke-width:10px;stroke-dasharray:none}.trainer-road-arcs path.is-done{stroke:#ffa53a;stroke-width:3.5px;stroke-dasharray:none}.trainer-road-steps{z-index:2;margin:0;padding:0;list-style:none;position:absolute;inset:0}.trainer-road-step{width:96px;height:96px;transition:filter .3s,opacity .3s;position:absolute;transform:translate(-50%,-62%)}.trainer-road-step:not(.is-done):not(.is-level){filter:saturate(.55)brightness(1.04);opacity:.82}.trainer-road-step.is-done{animation:trainer-step-in .52s var(--trainer-ease-spring) var(--delay) both}.trainer-road-step.is-hidden{filter:blur(1.5px)saturate(.2)brightness(1.15);opacity:.35}.trainer-road-step.is-level{width:136px;height:136px}.trainer-step-object{width:100%;height:100%;display:block;overflow:visible}@keyframes trainer-step-in{0%{opacity:0;transform:translate(-50%,-40%)scale(.85)}to{opacity:1;transform:translate(-50%,-62%)scale(1)}}.trainer-road-ember{background:radial-gradient(circle at 40% 35%,#fff4c2 0%,#ffb020 50%,#ff6a00 100%);border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute;top:54%;left:50%;box-shadow:0 0 10px 3px #ff8c0080}.trainer-road-step[data-zone=books] .trainer-road-ember{top:48%}.trainer-road-step[data-zone=planets] .trainer-road-ember{top:44%}.trainer-road-step[data-zone=clouds] .trainer-road-ember{top:50%}.trainer-road-level-flame{z-index:1;place-items:center;display:grid;position:absolute;top:12%;left:50%;transform:translate(-50%,-62%)}.trainer-road-step.is-level.is-done .trainer-road-level-flame .trainer-flame{filter:drop-shadow(0 6px 14px #ff78008c)}.trainer-road-mystery{color:#3c325a99;width:46px;height:46px;font-family:var(--font-display,inherit);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#ffffff8c;border-radius:50%;place-items:center;font-size:24px;font-weight:800;display:grid}.trainer-road-level-label{white-space:nowrap;background:#ffffffeb;border-radius:999px;justify-items:center;width:max-content;padding:4px 12px;display:grid;position:absolute;top:46%;transform:translateY(-50%);box-shadow:0 4px 14px #140a3c29}.trainer-road-level-label.is-left{right:calc(100% - 6px)}.trainer-road-level-label.is-right{left:calc(100% - 6px)}.trainer-road-level-label strong{color:#2a2340;font-size:13px;font-weight:800}.trainer-road-level-label small{color:var(--trainer-fire-strong);font-size:11px;font-weight:800}.trainer-road-zone{z-index:4;color:#2a2340;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffd1;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:800;position:absolute;box-shadow:0 4px 14px #140a3c1f}.trainer-road-zone.is-fog{color:#6b6584;font-weight:700}.trainer-road-start{z-index:4;box-shadow:var(--shadow-card);color:#4a4360;background:#fff;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:800;position:absolute;transform:translate(-50%,-50%)}.trainer-road-me{z-index:5;pointer-events:none;width:0;height:0;margin-top:-8px;position:absolute}.trainer-road-me.is-hopping{animation:.9s cubic-bezier(.3,0,.3,1) .45s both trainer-hop}@keyframes trainer-hop{0%{transform:translate(var(--hop-x), var(--hop-y))}45%{transform:translate(calc(var(--hop-x) * .45), calc(var(--hop-y) * .55 - 46px))}80%{transform:translateY(4px)}to{transform:translate(0)}}.trainer-road-me-glow{background:radial-gradient(circle,#ffaa2880 0%,#ffaa2800 70%);border-radius:50%;width:72px;height:72px;position:absolute;top:-76px;left:-36px}.trainer-road-me-buddy{pointer-events:auto;filter:drop-shadow(0 6px 10px #ff5a0059);position:absolute;top:-88px;left:-38px}.trainer-road-me.is-on-level .trainer-road-me-buddy,.trainer-road-me.is-on-level .trainer-road-me-glow{display:none}.trainer-road-me-label{background:var(--trainer-fire);color:#fff;white-space:nowrap;border-radius:999px;padding:4px 11px;font-size:12px;font-weight:800;position:absolute;top:-60px;left:34px;box-shadow:0 4px 12px #ff6a0059}.trainer-road-me.is-label-left .trainer-road-me-label{left:auto;right:30px}.trainer-road-me.is-on-level{margin-top:-64px}.trainer-road-me.is-on-level .trainer-road-me-label{left:44px}.trainer-road-me.is-on-level.is-label-left .trainer-road-me-label{left:auto;right:44px}.trainer-buddy{transform-origin:50% 92%;animation:2.8s ease-in-out infinite trainer-buddy-idle;display:inline-block;position:relative}.trainer-buddy-art{display:block;overflow:visible}.trainer-buddy.is-burst .trainer-buddy-art{animation:trainer-flame-pop .82s var(--trainer-ease-spring) both;transform-origin:50% 85%}.trainer-buddy-body{transform-box:fill-box;transform-origin:50% 100%;animation:2.8s ease-in-out infinite trainer-buddy-squash}.trainer-buddy-blink{transform-box:fill-box;transform-origin:50% 55%;animation:5.2s ease-in-out infinite trainer-buddy-blink}.trainer-buddy-look{animation:7s ease-in-out infinite trainer-buddy-look}.trainer-buddy-happy,.trainer-buddy-pop{opacity:0}.trainer-buddy.is-interactive{cursor:pointer;pointer-events:auto}.trainer-buddy.is-tapped{animation:.7s cubic-bezier(.3,0,.3,1) trainer-buddy-jump}.trainer-buddy.is-tapped .trainer-buddy-blink{opacity:0;animation:none}.trainer-buddy.is-tapped .trainer-buddy-happy{opacity:1}.trainer-buddy.is-cheer .trainer-buddy-blink{animation:2.4s ease-in-out .6s both trainer-buddy-cheer-eyes}.trainer-buddy.is-cheer .trainer-buddy-happy{animation:2.4s ease-in-out .6s both trainer-buddy-cheer-happy}.trainer-buddy.is-tapped .trainer-buddy-pop path{transform-box:fill-box;transform-origin:50%;animation:.7s ease-out both trainer-buddy-pop}.trainer-buddy.is-tapped .trainer-buddy-pop{opacity:1}@keyframes trainer-buddy-blink{0%,44%,48%,88%,91%,94%,to{transform:scaleY(1)}46%,89.5%,92.5%{transform:scaleY(.08)}}@keyframes trainer-buddy-look{0%,18%,to{transform:translate(0)}24%,38%{transform:translate(-1.6px,.4px)}44%,58%{transform:translate(1.8px,-.6px)}64%,80%{transform:translateY(-1.2px)}}@keyframes trainer-buddy-jump{0%{transform:translateY(0)scale(1)}20%{transform:translateY(2px)scale(1.08,.9)}50%{transform:translateY(-16px)scale(.95,1.06)}80%{transform:translateY(1px)scale(1.06,.94)}to{transform:translateY(0)scale(1)}}@keyframes trainer-buddy-pop{0%{opacity:0;transform:scale(.2)}40%{opacity:1;transform:scale(1.3)}to{opacity:0;transform:scale(.6)}}@keyframes trainer-buddy-cheer-eyes{0%,to{opacity:1}15%,85%{opacity:0}}@keyframes trainer-buddy-cheer-happy{0%,to{opacity:0}15%,85%{opacity:1}}.trainer-buddy-arms>g{transform-box:fill-box;animation:3.4s ease-in-out infinite trainer-buddy-wave}.trainer-buddy-arms .is-left{transform-origin:100% 0}.trainer-buddy-arms .is-right{transform-origin:0 0;animation-name:trainer-buddy-wave-right}.trainer-buddy.is-cheer .trainer-buddy-arms .is-left,.trainer-buddy.is-excited .trainer-buddy-arms .is-left{animation:.6s ease-in-out infinite alternate trainer-buddy-cheer-left}.trainer-buddy.is-cheer .trainer-buddy-arms .is-right,.trainer-buddy.is-excited .trainer-buddy-arms .is-right{animation:.6s ease-in-out infinite alternate trainer-buddy-cheer-right}.trainer-buddy-shadow{transform-box:fill-box;transform-origin:50%;animation:2.8s ease-in-out infinite trainer-buddy-shadow}@keyframes trainer-buddy-shadow{0%,to{opacity:.13;transform:scaleX(1)}50%{opacity:.1;transform:scaleX(.9)}}.trainer-buddy-wings path{transform-box:fill-box;animation:2.2s ease-in-out infinite trainer-fire-wing}.trainer-buddy-wings .is-left{transform-origin:100% 100%}.trainer-buddy-wings .is-right{transform-origin:0 100%;animation-name:trainer-fire-wing-right}.trainer-buddy-rays{transform-origin:50px 58px;animation:20s linear infinite trainer-fire-rays}.trainer-buddy-sparkles>*{transform-box:fill-box;transform-origin:50%;animation:2.2s ease-in-out infinite trainer-fire-twinkle}.trainer-buddy-sparkles>:nth-child(2){animation-delay:.7s}.trainer-buddy-sparkles>:nth-child(3){animation-delay:1.3s}@keyframes trainer-buddy-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes trainer-buddy-squash{0%,to{transform:scale(1)}50%{transform:scale(1.025,.975)}}@keyframes trainer-buddy-wave{0%,60%,to{transform:rotate(0)}70%{transform:rotate(-14deg)}80%{transform:rotate(6deg)}}@keyframes trainer-buddy-wave-right{0%,60%,to{transform:rotate(0)}70%{transform:rotate(14deg)}80%{transform:rotate(-6deg)}}@keyframes trainer-buddy-cheer-left{0%{transform:rotate(95deg)}to{transform:rotate(125deg)}}@keyframes trainer-buddy-cheer-right{0%{transform:rotate(-95deg)}to{transform:rotate(-125deg)}}.trainer-stage-scene .stage-motes{display:none}.trainer-road-motes{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.trainer-road-motes i{width:var(--mote,4px);height:var(--mote,4px);opacity:0;will-change:transform, opacity;animation:trainer-road-mote var(--time,9s) linear var(--delay,0s) infinite;background:radial-gradient(circle,#fff6d8 0%,#ffd68c99 45%,#ffd68c00 70%);border-radius:50%;position:absolute;bottom:-12px}@keyframes trainer-road-mote{0%{opacity:0;transform:translate(0,0)}12%{opacity:.9}80%{opacity:.6}to{transform:translate3d(var(--drift,12px), -70vh, 0);opacity:0}}.trainer-duel-hud{background:var(--surface-accent-soft);color:var(--accent);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:8px;margin-left:auto;padding:6px 12px;display:inline-flex}.trainer-duel-hud strong{min-width:3ch;font-family:var(--font-display,inherit);text-align:right;font-size:18px;font-weight:800}.trainer-duel-combo{color:var(--trainer-fire-strong);animation:trainer-flame-pop .42s var(--trainer-ease-spring) both;align-items:center;font-weight:800;display:inline-flex}.trainer-duel-versus{align-items:center;gap:14px;display:flex}.trainer-duel-avatar{background:var(--surface-primary);width:76px;height:76px;box-shadow:inset 0 0 0 3px var(--border-soft), var(--shadow-card);color:var(--accent);font-family:var(--font-display,inherit);border-radius:50%;grid-template-rows:100%;grid-template-columns:100%;place-items:center;font-size:30px;font-weight:800;display:grid;overflow:hidden}.trainer-duel-avatar.is-you{background:var(--trainer-warm-card);box-shadow:inset 0 0 0 3px var(--trainer-fire-border), var(--shadow-card)}.trainer-duel-vs{color:var(--trainer-fire-strong);font-family:var(--font-display,inherit);animation:trainer-flame-pop .6s var(--trainer-ease-spring) .2s both;font-size:26px;font-style:italic;font-weight:900}.trainer-duel-rules{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin:0;padding:0;list-style:none;display:grid}.trainer-duel-rules li{background:var(--surface-primary);box-shadow:inset 0 0 0 1px var(--border-soft);color:var(--text-secondary);text-align:center;border-radius:16px;justify-items:center;gap:2px;padding:10px 4px;font-size:12px;display:grid}.trainer-duel-rules strong{color:var(--trainer-fire-strong);font-family:var(--font-display,inherit);font-size:20px;font-weight:800;line-height:1.1}.trainer-duel-start{width:min(100%,360px);min-height:54px;font-size:17px}.trainer-duel-countdown{place-items:center;min-height:60vh;display:grid}.trainer-duel-count{color:var(--trainer-fire-strong);font-family:var(--font-display,inherit);animation:trainer-count .7s var(--trainer-ease-spring) both;font-size:96px;font-weight:900}@keyframes trainer-count{0%{opacity:0;transform:scale(2.2)}40%{opacity:1;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.trainer-duel-speed{background:var(--surface-muted);border-radius:999px;height:5px;display:block;overflow:hidden}.trainer-duel-speed span{border-radius:inherit;background:linear-gradient(90deg, #ffb020, var(--trainer-fire-strong));transform-origin:0;height:100%;animation:40s linear both trainer-speed;display:block}@keyframes trainer-speed{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.trainer-duel-popup{z-index:20;border:1px solid var(--border-soft);background:var(--surface-primary);pointer-events:none;width:max-content;max-width:calc(100vw - 32px);animation:trainer-popup 1.1s var(--trainer-ease-out) both;border-radius:24px;justify-items:center;gap:2px;padding:10px 22px 12px;display:grid;position:fixed;top:34%;left:50%;box-shadow:0 18px 40px #1410282e}.trainer-duel-popup strong{color:var(--trainer-right);font-family:var(--font-display,inherit);text-shadow:0 4px 14px #2f9e5b40;font-size:46px;font-weight:900}.trainer-duel-popup.is-wrong strong{color:var(--trainer-wrong);font-size:34px}.trainer-duel-popup small{color:var(--text-secondary);white-space:nowrap;font-size:13px;font-weight:700}.trainer-duel-popup em{background:var(--trainer-fire);color:#fff;border-radius:999px;margin-top:4px;padding:4px 12px;font-style:normal;font-weight:800}@keyframes trainer-popup{0%{opacity:0;transform:translate(-50%,20px)scale(.6)}25%{opacity:1;transform:translate(-50%)scale(1.1)}70%{opacity:1;transform:translate(-50%,-10px)scale(1)}to{opacity:0;transform:translate(-50%,-40px)scale(.95)}}.trainer-duel-result{position:relative}.trainer-duel-burst{top:90px}.trainer-duel-title{font-family:var(--font-display,inherit);margin:4px 0 0;font-size:30px;font-weight:900}.trainer-duel-stats{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin:0;font-size:13px;font-weight:700}.trainer-duel-points{color:var(--text-secondary);margin:0;font-size:18px}.trainer-duel-points strong{color:var(--trainer-fire-strong);font-family:var(--font-display,inherit);font-variant-numeric:tabular-nums;font-size:54px;font-weight:900}.trainer-duel-standings li[data-place="1"] .trainer-duel-place svg{width:18px;height:18px;color:var(--trainer-fire)}.trainer-buddy.is-worried{animation:2.6s ease-in-out infinite trainer-buddy-shiver}.trainer-buddy.is-sad{animation:4s ease-in-out infinite trainer-buddy-droop}.trainer-buddy.is-sleepy{animation:3.6s ease-in-out infinite trainer-buddy-breathe}.trainer-buddy.is-excited,.trainer-buddy.is-proud{animation:1.1s ease-in-out infinite trainer-buddy-hop}.trainer-buddy-sweat{transform-box:fill-box;animation:2.4s ease-in infinite trainer-buddy-sweat}.trainer-buddy-tear{transform-box:fill-box;animation:3s ease-in infinite trainer-buddy-tear}.trainer-buddy-zzz text{opacity:0;animation:3s ease-in-out infinite trainer-buddy-z}.trainer-buddy-zzz text:nth-child(2){animation-delay:.6s}.trainer-buddy-zzz text:nth-child(3){animation-delay:1.2s}@keyframes trainer-buddy-shiver{0%,60%,to{transform:translate(0)}64%{transform:translate(-1.2px)}68%{transform:translate(1.2px)}72%{transform:translate(-1px)}76%{transform:translate(.8px)}}@keyframes trainer-buddy-droop{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(1.5px)scale(1.02,.97)}}@keyframes trainer-buddy-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03,.98)}}@keyframes trainer-buddy-hop{0%,to{transform:translateY(0)scale(1)}30%{transform:translateY(-7px)scale(.97,1.04)}55%{transform:translateY(0)scale(1.05,.95)}70%{transform:translateY(0)scale(1)}}@keyframes trainer-buddy-sweat{0%{opacity:0;transform:translateY(-2px)}20%{opacity:1}80%{opacity:1;transform:translateY(6px)}to{opacity:0;transform:translateY(8px)}}@keyframes trainer-buddy-tear{0%,30%{opacity:0;transform:translateY(0)scale(.6)}45%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(12px)scale(.9)}}@keyframes trainer-buddy-z{0%{opacity:0;transform:translateY(4px)}30%{opacity:1}to{opacity:0;transform:translate(4px,-6px)}}.trainer-buddy.is-waiting{animation:3.2s ease-in-out infinite trainer-buddy-wait}.trainer-buddy.is-waiting .trainer-buddy-look{animation:3.2s ease-in-out infinite trainer-buddy-look-up}.trainer-buddy.is-scared{animation:.9s linear infinite trainer-buddy-tremble}.trainer-buddy.is-scared .trainer-buddy-look{animation:none;transform:translateY(-.6px)}.trainer-buddy-tear.is-late{animation-delay:1.4s}.trainer-buddy-wobble{transform-box:fill-box;transform-origin:50%;animation:.45s ease-in-out infinite alternate trainer-buddy-wobble}@keyframes trainer-buddy-wait{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)translateY(-2px)}}@keyframes trainer-buddy-look-up{0%,to{transform:translateY(-1.4px)}50%{transform:translate(.6px,-1.8px)}}@keyframes trainer-buddy-tremble{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-1px)rotate(-1deg)}75%{transform:translate(1px)rotate(1deg)}}@keyframes trainer-buddy-wobble{0%{transform:scaleY(1)}to{transform:scaleY(.7)translateY(.4px)}}.trainer-spirit{transform-origin:50% 88%;grid-template-rows:100%;grid-template-columns:100%;place-items:center;display:inline-grid;position:relative}.trainer-spirit>*{grid-area:1/1}.trainer-spirit>.fire-art{transform-origin:50% 88%}.trainer-spirit.is-burst>.fire-art{animation:trainer-flame-pop .82s var(--trainer-ease-spring) both}.trainer-spirit.is-out>.fire-art{filter:grayscale();opacity:.5}.trainer-spirit-smoke,.trainer-spirit-pop{pointer-events:none;overflow:visible}.trainer-spirit.is-interactive{cursor:pointer}.trainer-spirit.is-happy{animation:3.2s ease-in-out infinite trainer-spirit-bob}.trainer-spirit.is-worried .fa-fl,.trainer-spirit.is-worried .fa-fl2{animation-duration:1s}.trainer-spirit.is-worried .fa-fl3{animation-duration:.6s}.trainer-spirit.is-scared{animation:1.8s linear infinite trainer-spirit-shiver}.trainer-spirit.is-scared>.fire-art{filter:saturate(.7);transform:scale(.84)}.trainer-spirit.is-scared .fire-art-svg{transform-origin:50% 85%;animation:2.6s ease-in-out infinite trainer-spirit-fading}.trainer-spirit.is-scared .fire-art-halo{opacity:.35;animation:none}.trainer-spirit.is-sad>.fire-art{transform:scale(.82)}.trainer-spirit.is-sad,.trainer-spirit.is-sleepy{animation:4.4s ease-in-out infinite trainer-spirit-breathe}.trainer-spirit-smoke path{fill:none;stroke:var(--trainer-smoke);stroke-width:1.7px;stroke-linecap:round;opacity:0;transform-box:fill-box;transform-origin:50% 100%;animation:3.2s ease-out infinite trainer-spirit-smoke}.trainer-spirit-smoke path:nth-child(2){animation-delay:1.6s}.trainer-spirit.is-excited,.trainer-spirit.is-proud,.trainer-spirit.is-cheer{animation:.9s cubic-bezier(.3,0,.3,1) .76s 3 trainer-spirit-hop}.trainer-spirit-pop{fill:#ffd36b;opacity:0}.trainer-spirit.is-tapped .trainer-spirit-pop,.trainer-spirit.is-cheer .trainer-spirit-pop{opacity:1}.trainer-spirit.is-tapped .trainer-spirit-pop path,.trainer-spirit.is-cheer .trainer-spirit-pop path{transform-box:fill-box;transform-origin:50%;animation:.76s ease-out both trainer-buddy-pop}.trainer-spirit.is-cheer .trainer-spirit-pop path{animation-delay:.7s}.trainer-spirit.is-tapped{animation:.7s cubic-bezier(.3,0,.3,1) trainer-buddy-jump}@keyframes trainer-spirit-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3%)}}@keyframes trainer-spirit-shiver{0%,34%,to{transform:translate(0)rotate(0)}4%,12%,20%,28%{transform:translate(-1.5%)rotate(-1.5deg)}8%,16%,24%,32%{transform:translate(1.5%)rotate(1.5deg)}}@keyframes trainer-spirit-fading{0%,to{opacity:1;transform:scale(1)}45%{opacity:.92;transform:scale(.94,.86)}55%{opacity:.78;transform:scale(.88,.74)}70%{opacity:1;transform:scale(1.02,1.04)}}@keyframes trainer-spirit-breathe{0%,to{transform:scale(1)}50%{transform:scale(.95,1.03)}}@keyframes trainer-spirit-smoke{0%{opacity:0;transform:translateY(20%)scale(.7)}25%{opacity:.9}to{opacity:0;transform:translateY(-40%)scale(1.2)}}@keyframes trainer-spirit-hop{0%,to{transform:translateY(0)scale(1)}18%{transform:translateY(0)scale(1.08,.9)}50%{transform:translateY(-14%)scale(.95,1.06)}80%{transform:translateY(0)scale(1.05,.95)}}.trainer-duel-intro p,.trainer-duel-result .trainer-game-note,.trainer-streak-text small,.trainer-picker-head p,.trainer-celebration-subtitle,.trainer-streak-hero p{text-wrap:balance}.trainer-road-intro{z-index:2;margin:0 14px calc(var(--safe-bottom,0px) + 18px);border:1px solid var(--border-soft);background:var(--surface-primary);color:var(--text-secondary);border-radius:16px;padding:12px 14px;font-size:13px;line-height:1.45;position:relative}.fire-art.is-locked{filter:grayscale();opacity:.4}.trainer-celebration-level-desc{color:var(--text-secondary);text-wrap:balance;margin:0;font-size:15px;line-height:1.45}@font-face{font-family:Unbounded;font-style:normal;font-weight:500 700;font-display:swap;src:url(/assets/unbounded-cyrillic-DRb55-Zu.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Unbounded;font-style:normal;font-weight:500 700;font-display:swap;src:url(/assets/unbounded-latin-CPYLk-UL.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.fire-art{vertical-align:middle;flex:none;display:inline-block;position:relative}.fire-art-halo{pointer-events:none;border-radius:50%;position:absolute}.fire-art-svg{display:block;position:relative}.fire-art .fa-fl{transform-box:fill-box;transform-origin:50% 100%;animation:2.2s ease-in-out infinite fa-flick}.fire-art .fa-fl2{transform-box:fill-box;transform-origin:50% 100%;animation:1.6s ease-in-out -.5s infinite fa-flick}.fire-art .fa-fl3{transform-box:fill-box;transform-origin:50% 100%;animation:1.2s ease-in-out -.3s infinite fa-flick2}.fire-art .fa-pulse{animation:3.4s ease-in-out infinite fa-pulse}.fire-art .fa-glow{animation:2.6s ease-in-out infinite fa-glow}.fire-art .fa-sp1{animation:3.2s linear infinite fa-rise1}.fire-art .fa-sp2{animation:3.8s linear infinite fa-rise2}.fire-art .fa-sp3{animation:2.8s linear infinite fa-rise3}.fire-art .fa-twinkle{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite fa-twinkle}.fire-art .fa-float{animation:4.5s ease-in-out infinite fa-float}.fire-art .fa-spin{transform-box:view-box;transform-origin:150px 165px;animation:48s linear infinite fa-spin}.fire-art .fa-spinr{transform-box:view-box;transform-origin:150px 165px;animation:72s linear infinite reverse fa-spin}.fire-art .fa-arc{animation:2.6s linear infinite fa-arc}.fire-art .fa-orbit8{animation:3.2s linear infinite fa-dash8}.fire-art .fa-orbit9{animation:5s linear infinite fa-dash9}.fire-art.is-still,.fire-art.is-still *{animation:none!important}@keyframes fa-flick{0%,to{transform:scale(1)skew(0)}20%{transform:scale(.96,1.05)skew(2deg)}40%{transform:scale(1.03,.97)skew(-1.5deg)}60%{transform:scale(.98,1.04)skew(1deg)}80%{transform:scale(1.02,.98)skew(-2deg)}}@keyframes fa-flick2{0%,to{transform:scale(1)}50%{transform:scale(.94,1.06)}}@keyframes fa-pulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes fa-glow{0%,to{opacity:.45}50%{opacity:1}}@keyframes fa-rise1{0%{opacity:0;transform:translate(0)}12%{opacity:1}to{opacity:0;transform:translate(14px,-130px)}}@keyframes fa-rise2{0%{opacity:0;transform:translate(0)}12%{opacity:1}to{opacity:0;transform:translate(-16px,-150px)}}@keyframes fa-rise3{0%{opacity:0;transform:translate(0)}15%{opacity:1}to{opacity:0;transform:translate(6px,-110px)}}@keyframes fa-twinkle{0%,to{opacity:1;transform:scale(1)rotate(0)}50%{opacity:.6;transform:scale(.6)rotate(25deg)}}@keyframes fa-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes fa-spin{to{transform:rotate(360deg)}}@keyframes fa-arc{0%,to{opacity:0}3%{opacity:1}6%{opacity:.15}9%{opacity:1}16%{opacity:0}}@keyframes fa-dash8{to{stroke-dashoffset:-541px}}@keyframes fa-dash9{to{stroke-dashoffset:-584px}}.fire-path{z-index:124;overscroll-behavior:contain;color:#f3ece6;-webkit-font-smoothing:antialiased;background:#09070a;font-family:Manrope,system-ui,sans-serif;position:fixed;inset:0;overflow:hidden auto}.fire-path-noise{pointer-events:none;opacity:.06;width:100%;height:100%;position:fixed;inset:0}.fire-path-inner{min-height:100%;padding:calc(var(--screen-top,var(--safe-top,0px)) + 76px) calc(var(--safe-right,0px) + 16px) calc(var(--safe-bottom,0px) + 40px) calc(var(--safe-left,0px) + 16px);flex-direction:column;display:flex;position:relative}.fire-path-light{pointer-events:none;background:radial-gradient(55% 22% at 18% 0,#ff783221 0%,#ff783200 100%),radial-gradient(45% 20% at 88% 100%,#ffd36b1c 0%,#ffd36b00 100%),radial-gradient(40% 18% at 100% 64%,#8c5aff14 0%,#8c5aff00 100%);position:absolute;inset:0}.fire-path-topfade{z-index:2;height:calc(var(--screen-top,var(--safe-top,0px)) + 72px);pointer-events:none;background:linear-gradient(#09070a 0%,#09070ad9 55%,#09070a00 100%);position:fixed;top:0;left:0;right:0}.fire-path-back{top:calc(var(--screen-top,var(--safe-top,0px)) + 14px);left:calc(var(--safe-left,0px) + 14px);z-index:3;color:#f3ece6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#141012b8;border:1px solid #ffffff1f;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:fixed}.fire-path-back svg{width:20px;height:20px}.fire-path-head{flex-direction:column;gap:14px;display:flex;position:relative}.fire-path-kicker{letter-spacing:.22em;text-transform:uppercase;color:#a8998d;font-size:12px;font-weight:600}.fire-path-head h1{letter-spacing:-.02em;color:#f7efe7;margin:0;font-family:Unbounded,system-ui,sans-serif;font-size:clamp(40px,12.4vw,88px);font-weight:700;line-height:1}.fire-path-head p{color:#b9ada3;max-width:760px;margin:0;font-size:17px;line-height:1.45}.fire-path-status{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:22px;display:flex;position:relative}.fire-path-status p{text-wrap:balance;color:#efe4da;margin:0;font-size:15px;line-height:1.4}.fire-path-status strong{color:var(--fire-accent,#ff9f5a)}.fire-path-road{color:#efe4da;min-height:40px;font:inherit;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff24;border-radius:999px;padding:0 16px;font-size:14px;font-weight:600}.fire-path-track{height:44px;margin-top:36px;position:relative}.fire-path-track-line{opacity:.55;background:linear-gradient(90deg,#ff9f5a 0%,#ff4b26 12.5%,#ffc15e 25%,#ff6a1f 37.5%,#ff9d1c 50%,#ffe9b0 62.5%,#4fb8ff 75%,#b56bff 87.5%,#ffd36b 100%);border-radius:2px;height:4px;position:absolute;top:33px;left:5.55556%;right:5.55556%}.fire-path-track ol{grid-template-columns:repeat(9,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid;position:relative}.fire-path-track li{flex-direction:column;align-items:center;gap:10px;display:flex}.fire-path-track li>span:first-child{letter-spacing:.12em;color:#8f837b;height:16px;font-size:11px;font-weight:600;line-height:16px}.fire-path-track li>span:last-child{align-items:center;height:18px;display:flex;position:relative}.fire-path-track li i{border-radius:50%;display:block}.fire-path-track li.is-current>span:last-child:after{content:"";opacity:.85;border:1.5px solid;border-radius:50%;width:26px;height:26px;margin:-13px 0 0 -13px;position:absolute;top:50%;left:50%}.fire-path-track li.is-current>span:first-child{color:#f3ece6}.fire-path-cards{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:40px;display:grid;position:relative}@media (width>=720px){.fire-path-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}@media (width>=1100px){.fire-path-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}}.fire-card{border:1px solid #0000;border-radius:28px;flex-direction:column;height:520px;display:flex;position:relative;overflow:hidden}.fire-card.is-current:after{content:"";border:1.5px solid var(--fire-accent);border-radius:inherit;pointer-events:none;position:absolute;inset:0}.fire-card-stage{justify-content:center;align-items:flex-end;height:340px;display:flex;position:relative}.fire-card-top{z-index:2;justify-content:space-between;align-items:center;display:flex;position:absolute;top:24px;left:28px;right:28px}.fire-card-level{align-items:baseline;gap:8px;display:flex}.fire-card-level b{font-family:Unbounded,system-ui,sans-serif;font-size:22px;font-weight:600}.fire-card-level small{letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:600}.fire-card-badge{border:1px solid;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.fire-card-body{flex-direction:column;gap:10px;margin-top:auto;padding:0 32px 30px;display:flex}.fire-card-body h3{letter-spacing:-.01em;margin:0;font-family:Unbounded,system-ui,sans-serif;font-size:30px;font-weight:600}.fire-card-body p{text-wrap:pretty;margin:0;font-size:16px;line-height:1.5}.fire-card-steps{grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;margin-top:12px;display:grid}.fire-card-steps span{background:#ffffff14;border-radius:2px;height:4px}@media (width>=1100px){.fire-path-inner{padding:96px 80px}.fire-path-head{gap:18px}.fire-path-kicker{font-size:14px}.fire-path-head p{font-size:22px}.fire-path-track{margin-top:56px}.fire-path-cards{margin-top:64px}}.fire-card[data-level="0"]{background:radial-gradient(90% 60% at 50% 48%,#ff9f5a12 0%,#ff9f5a00 70%),linear-gradient(#141012 0%,#0c090a 100%);border-color:#ff9f5a24;box-shadow:inset 0 1px #ffffff0a,0 30px 60px -40px #000000e6}.fire-card[data-level="1"]{background:radial-gradient(90% 60% at 50% 48%,#ff4b2617 0%,#ff4b2600 70%),linear-gradient(#141012 0%,#0c090a 100%);border-color:#ff4b2629;box-shadow:inset 0 1px #ffffff0a,0 30px 60px -40px #000000e6}.fire-card[data-level="2"]{background:radial-gradient(90% 60% at 50% 48%,#ffc15e1c 0%,#ffc15e00 70%),linear-gradient(#141012 0%,#0c090a 100%);border-color:#ffc15e2e;box-shadow:inset 0 1px #ffffff0a,0 30px 60px -40px #000000e6}.fire-card[data-level="3"]{background:radial-gradient(90% 60% at 50% 48%,#ff6a1f21 0%,#ff6a1f00 70%),linear-gradient(#141012 0%,#0c090a 100%);border-color:#ff6a1f33;box-shadow:inset 0 1px #ffffff0a,0 30px 60px -40px #000000e6}.fire-card[data-level="4"]{background:radial-gradient(90% 60% at 50% 48%,#ff9d1c29 0%,#ff9d1c00 70%),linear-gradient(#141012 0%,#0c090a 100%);border-color:#ff9d1c3d;box-shadow:inset 0 1px #ffffff0a,0 30px 60px -40px #000000e6}.fire-card[data-level="5"]{background:radial-gradient(90% 60% at 50% 48%,#ffe9b030 0%,#ffe9b000 70%),linear-gradient(#141012 0%,#0c090a 100%);border-color:#ffe9b047;box-shadow:inset 0 1px #ffffff0d,0 30px 60px -40px #000000e6,0 0 90px -30px #ffe9b04d}.fire-card[data-level="6"]{background:radial-gradient(90% 60% at 50% 48%,#4fb8ff38 0%,#4fb8ff00 70%),linear-gradient(#0f1116 0%,#090a0d 100%);border-color:#4fb8ff52;box-shadow:inset 0 1px #ffffff0d,0 30px 60px -40px #000000e6,0 0 90px -30px #4fb8ff59}.fire-card[data-level="7"]{background:radial-gradient(90% 60% at 50% 48%,#b56bff42 0%,#b56bff00 70%),linear-gradient(#120f17 0%,#0a090d 100%);border-color:#b56bff5c;box-shadow:inset 0 1px #ffffff0d,0 30px 60px -40px #000000e6,0 0 100px -30px #b56bff6b}.fire-card[data-level="8"]{background:radial-gradient(90% 60% at 50% 44%,#ffd36b4d 0%,#ffd36b00 70%),linear-gradient(#16120c 0%,#0c0a08 100%);border-color:#ffd36b8c;box-shadow:inset 0 1px #fff0c81f,0 30px 60px -40px #000000e6,0 0 110px -20px #ffd36b80}
