@font-face{font-family:Cafe24 Ohsquare Air;src:url(/fonts/cafe24-ohsquare-air.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{font-family:var(--font-ui);color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--font-ui: "Noto Sans KR", "Pretendard Variable", "Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--font-display: "Noto Serif KR", "Nanum Myeongjo", "Apple SD Gothic Neo", serif;--font-code: "JetBrains Mono", "Cascadia Code", "Consolas", monospace;--font-tag: "Cafe24 Ohsquare Air", "Noto Sans KR", sans-serif;--font-size-xs: .75rem;--font-size-label: .78125rem;--font-size-sm: .8125rem;--font-size-body: .875rem;--font-size-md: .9375rem;--font-size-section: 1rem;--font-size-heading: 1.125rem;--font-size-title: 1.375rem;--font-size-title-lg: 1.5rem;--font-size-metric: 1.625rem;--font-size-display: 1.75rem;--font-size-stat: 2rem;--font-size-hero: 3rem;--color-brand-50: #edf3ff;--color-brand-100: #dce7ff;--color-brand-200: #bfd0ff;--color-brand-400: #5679ff;--color-brand-500: #103fe8;--color-brand-600: #0b33cf;--color-brand-700: #0427bf;--color-brand-rgb: 16, 63, 232;--color-ink-900: #07143f;--color-ink-800: #18284e;--color-muted: #5d687a;--color-line: #d2d7df;--color-line-soft: #e5e8ed;--color-canvas: #ffffff;--color-paper: #f5f6f8;--color-wash: #e9eef7;--color-success: #117a37;--color-success-soft: #e8f8ee;--color-warning: #9a4b00;--color-warning-soft: #fff4df;--color-danger: #b42318;--color-danger-soft: #fdecec;--color-neutral: #5b6068;--color-neutral-soft: #f1f2f4;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--control-h-sm: 32px;--control-h: 36px;--control-h-lg: 40px;--icon-control-size: 32px;--avatar-size-sm: var(--icon-control-size);--avatar-size: var(--control-h);--row-h: 48px;--panel-pad: var(--space-3);--panel-gap: var(--space-3);--radius-control: 0;--radius-panel: 0;--radius-popover: 0;--motion-press: .09s;--motion-fast: .12s;--motion-base: .18s;--motion-slow: .28s;--motion-page: .34s;--motion-progress: .42s;--ease-standard: cubic-bezier(.22, .61, .36, 1);--ease-emphasized: cubic-bezier(.16, 1, .3, 1);--ease-press: cubic-bezier(.2, .8, .2, 1);--press-scale: .975;--disabled-opacity: .52;--overlay-blur: 18px;--layer-select-popover: 140;--surface: var(--color-canvas);--surface-raised: #ffffff;--surface-soft: #f2f4f7;--surface-hover: #edf1f6;--surface-selected: var(--color-wash);--surface-selected-soft: #edf1f7;--surface-selected-strong: #dde5f2;--line: var(--color-line);--line-soft: var(--color-line-soft);--line-strong: #aeb6c3;--text: var(--color-ink-900);--text-soft: var(--color-ink-800);--muted: var(--color-muted);--color-on-accent: #ffffff;--overlay-backdrop: rgba(15, 18, 25, .48);--mask-opaque: #000000;--surface-glass: rgba(255, 255, 255, .9);--control-bg: #f1f3f6;--control-hover: #e9edf3;--control-selected: #dde5f2;--chrome-bg: rgba(255, 255, 255, .88);--focus-ring: var(--color-brand-500);--focus-halo: rgba(var(--color-brand-rgb), .18);--shadow-popover: 0 18px 48px rgba(7, 20, 63, .14), 0 2px 10px rgba(7, 20, 63, .06);--shadow-lifted: 0 12px 36px rgba(7, 20, 63, .08);--shadow-accent-control: 0 1px 2px rgba(var(--color-brand-rgb), .18);--stroke-subtle: 1px solid var(--line-soft);--stroke-default: 1px solid var(--line);--stroke-strong: 1px solid var(--line-strong);--stroke-accent: 1px solid var(--accent-border);--surface-inverse-faint: rgba(255, 255, 255, .04);--surface-inverse-soft: rgba(255, 255, 255, .06);--surface-inverse-muted: rgba(255, 255, 255, .08);--surface-inverse-strong: rgba(255, 255, 255, .14);--accent-bg-hover: rgba(var(--color-brand-rgb), .075);--accent-bg-soft: rgba(var(--color-brand-rgb), .08);--accent-bg-strong: rgba(var(--color-brand-rgb), .16);--accent-border-soft: rgba(var(--color-brand-rgb), .2);--accent-border: rgba(var(--color-brand-rgb), .24);--accent-border-strong: rgba(var(--color-brand-rgb), .3);--ok-border: rgba(22, 163, 74, .24);--warn-border: rgba(217, 119, 6, .24);--bad-border: rgba(220, 38, 38, .24);--bad-strong: #941b12;--button-secondary-bg: #1c2330;--button-secondary-bg-hover: #2c3447;--button-secondary-text: #ffffff;--progress-muted: #8f9298;--progress-pale: #c8ccd2;--code-preview-muted: #6e7681;--code-preview-text: #d7e3ff;--auth-page-bg: #f7f9fc;--auth-ink-border-subtle: rgba(7, 20, 63, .12);--auth-ink-border: rgba(7, 20, 63, .14);--auth-ink-border-strong: rgba(7, 20, 63, .16);--auth-ink-border-bold: rgba(7, 20, 63, .22);--auth-ink-text: #111827;--auth-dark-bg: #111827;--auth-dark-text: #f1f5f9;--auth-dark-text-strong: #f8fafc;--auth-dark-text-soft: #cbd5e1;--auth-dark-muted: #94a3b8;--auth-dark-muted-strong: #64748b;--auth-dark-muted-ink: #475569;--auth-brand-subtitle: var(--auth-dark-muted-ink);--auth-dark-button-text: #dbe7ff;--auth-dark-warning-text: #fff7ed;--auth-brand-mark-muted: rgba(94, 234, 212, .22);--auth-toast-ok-bg: rgba(34, 197, 94, .12);--auth-toast-ok-border: rgba(34, 197, 94, .2);--auth-toast-ok-text: #4ade80;--auth-toast-error-bg: rgba(239, 68, 68, .12);--auth-toast-error-border: rgba(239, 68, 68, .2);--auth-toast-error-text: #f87171;--starlab-accent: #e5252d;--editor-bg: #0d1117;--editor-panel-bg: #161b22;--editor-panel-bg-strong: #2d333b;--editor-panel-border: #30363d;--editor-subtle-border: #1d2638;--editor-text: #e6edf3;--editor-text-strong: #f0f6fc;--editor-text-soft: #c9d1d9;--editor-muted: #8b949e;--editor-disabled: #3d444d;--editor-accent: #79c0ff;--editor-primary: #1f6feb;--editor-ok: #238636;--editor-ok-text: #3fb950;--editor-bad: #da3633;--editor-bad-text: #f85149;--editor-warn: #d29922;--editor-warn-text: #e3b341;--editor-selection-bg-strong: rgba(88, 166, 255, .25);--editor-ok-bg: rgba(35, 134, 54, .22);--editor-ok-border: rgba(35, 134, 54, .3);--editor-bad-bg: rgba(218, 54, 51, .18);--editor-bad-border: rgba(218, 54, 51, .3);--editor-warn-bg: rgba(210, 153, 34, .18);--editor-warn-border: rgba(210, 153, 34, .3);--syntax-keyword: #c586c0;--syntax-builtin: #4fc1ff;--syntax-function: #dcdcaa;--syntax-string: #ce9178;--syntax-number: #b5cea8;--syntax-comment: #6a9955;--accent: var(--color-brand-500);--accent-soft: var(--color-brand-50);--accent-strong: var(--color-brand-700);--info: var(--color-brand-700);--info-soft: #f3f6fb;--info-border: var(--accent-border-soft);--ok: var(--color-success);--ok-soft: var(--color-success-soft);--bad: var(--color-danger);--bad-soft: var(--color-danger-soft);--warn: var(--color-warning);--warn-soft: var(--color-warning-soft);--tier-beginner: var(--color-neutral);--tier-beginner-soft: var(--color-neutral-soft);--tier-beginner-border: #e0e2e6;--tier-basic: var(--color-brand-600);--tier-basic-soft: var(--color-brand-50);--tier-basic-border: rgba(var(--color-brand-rgb), .18);--tier-intermediate: var(--color-brand-700);--tier-intermediate-soft: var(--color-brand-100);--progress-track: #eceef4;--progress-fill: var(--color-brand-500);--chart-grid: #e8edf6;--activity-0: #eef0f3;--activity-1: var(--color-brand-100);--activity-2: var(--color-brand-200);--activity-3: var(--color-brand-400);--activity-4: var(--color-brand-700);--header-h: 64px;--footer-h: 51px;--shell-content-max-w: 1520px;--shell-pad-x: var(--space-6);--shell-pad-y: var(--space-4);--shell-gap: var(--space-4);--dense-page-offset: calc(var(--footer-h) + var(--shell-pad-y) + var(--space-5));--dense-scroll-min-h: 220px;--dense-scroll-fluid-h: 34dvh;--dense-scroll-max-h: 340px;--dense-scroll-mobile-h: 260px;--solve-shell-offset: calc(var(--header-h) + var(--footer-h) + var(--shell-pad-y) + var(--shell-pad-y) + var(--space-6));--agit-workspace-head-min-h: 64px;--agit-workspace-head-pad-y: .625rem;--agit-workspace-title-size: var(--font-size-title);--agit-workspace-title-line: 1.28;--agit-workspace-subtitle-size: var(--font-size-sm);--agit-workspace-split-gap: var(--space-3);--agit-workspace-rail-col: minmax(300px, 350px);--agit-workspace-split-cols: minmax(0, 1fr) var(--agit-workspace-rail-col);--body-gradient: var(--color-paper);--app-gradient: var(--color-paper);--workspace-art-line-strong: rgba(var(--color-brand-rgb), .2);--workspace-art-line: rgba(var(--color-brand-rgb), .13);--workspace-art-line-soft: rgba(var(--color-brand-rgb), .075);--workspace-art-wash: rgba(var(--color-brand-rgb), .08);--footer-bg: #ffffff;--subtle-border: var(--color-line-soft);--subtle-surface: var(--surface-soft);--empty-bg: var(--surface-soft);--radar-card-bg: #ffffff;--radar-card-border: #eceff3;--radar-chart-bg: #ffffff}:root[data-theme=dark]{color-scheme:dark;--color-brand-50: #303b58;--color-brand-100: #3a4c76;--color-brand-200: #4b66a9;--color-brand-400: #86a2f4;--color-brand-500: #9bb4fa;--color-brand-600: #c2d1ff;--color-brand-700: #e1e9ff;--color-brand-rgb: 155, 180, 250;--color-ink-900: #f6f8fc;--color-ink-800: #e1e5ec;--color-muted: #b8c0cc;--color-line: #48515e;--color-line-soft: #343b46;--color-canvas: #20242b;--color-paper: #171a20;--color-wash: #303a4d;--color-success: #7cdda1;--color-success-soft: #294636;--color-warning: #f3c16f;--color-warning-soft: #4b3b23;--color-danger: #ff9b9b;--color-danger-soft: #553033;--color-neutral: #c0c6cf;--color-neutral-soft: #3d434c;--surface: var(--color-canvas);--surface-raised: #252a32;--surface-soft: #292e37;--surface-hover: #303641;--surface-selected: var(--color-wash);--surface-selected-soft: #454c56;--surface-selected-strong: #536078;--line: var(--color-line);--line-soft: var(--color-line-soft);--line-strong: #657080;--text: var(--color-ink-900);--text-soft: var(--color-ink-800);--muted: var(--color-muted);--color-on-accent: #111827;--overlay-backdrop: rgba(22, 25, 31, .58);--surface-glass: rgba(32, 36, 43, .94);--control-bg: #2b313a;--control-hover: #343b46;--control-selected: #3a465d;--chrome-bg: rgba(25, 28, 34, .9);--focus-ring: rgba(var(--color-brand-rgb), .68);--focus-halo: rgba(var(--color-brand-rgb), .22);--shadow-popover: 0 20px 52px rgba(0, 0, 0, .42), 0 2px 12px rgba(0, 0, 0, .22);--shadow-lifted: 0 14px 40px rgba(0, 0, 0, .24);--button-secondary-bg: #48505d;--button-secondary-bg-hover: #566171;--button-secondary-text: var(--text);--bad-strong: #ffc1c1;--accent-soft: var(--color-brand-50);--accent-strong: var(--color-brand-600);--info: var(--color-brand-600);--info-soft: var(--color-line-soft);--info-border: var(--accent-border-soft);--ok-soft: var(--color-success-soft);--bad-soft: var(--color-danger-soft);--warn-soft: var(--color-warning-soft);--tier-beginner-soft: var(--color-line-soft);--tier-beginner-border: var(--color-line);--tier-basic-soft: var(--color-brand-50);--tier-basic-border: var(--accent-border-soft);--tier-intermediate-soft: var(--color-brand-100);--progress-track: #505966;--progress-fill: var(--color-brand-500);--chart-grid: var(--color-line);--activity-0: var(--color-line-soft);--activity-1: #3b4c70;--activity-2: #4b68ab;--activity-3: #7090ee;--activity-4: #a9bdfa;--body-gradient: var(--color-paper);--app-gradient: var(--color-paper);--workspace-art-line-strong: rgba(var(--color-brand-rgb), .24);--workspace-art-line: rgba(var(--color-brand-rgb), .16);--workspace-art-line-soft: rgba(var(--color-brand-rgb), .1);--workspace-art-wash: rgba(var(--color-brand-rgb), .09);--footer-bg: #1b1f25;--subtle-border: var(--color-line-soft);--subtle-surface: var(--surface-soft);--empty-bg: var(--surface-soft);--radar-card-bg: var(--surface-soft);--radar-card-border: var(--line-soft);--radar-chart-bg: var(--surface-soft)}:where(.auth-agit-page,.auth-cinematic-page){color-scheme:light;--color-brand-50: #edf3ff;--color-brand-100: #dce7ff;--color-brand-200: #bfd0ff;--color-brand-400: #5679ff;--color-brand-500: #103fe8;--color-brand-600: #0b33cf;--color-brand-700: #0427bf;--color-brand-rgb: 16, 63, 232;--color-ink-900: #07143f;--color-ink-800: #18284e;--color-muted: #53627d;--color-line: #c5cfdf;--color-line-soft: #e1e6ef;--color-canvas: #ffffff;--color-paper: #f4f6f9;--color-wash: #eaf0fa;--color-success: #117a37;--color-success-soft: #e8f8ee;--color-warning: #9a4b00;--color-warning-soft: #fff4df;--color-danger: #b42318;--color-danger-soft: #fdecec;--color-neutral: #5b6068;--color-neutral-soft: #f1f2f4;--surface: var(--color-canvas);--surface-soft: #f0f3f8;--surface-selected: var(--color-wash);--surface-selected-soft: #f2f5fa;--surface-selected-strong: #dde7f7;--line: var(--color-line);--line-soft: var(--color-line-soft);--line-strong: #9daabd;--text: var(--color-ink-900);--text-soft: var(--color-ink-800);--muted: var(--color-muted);--color-on-accent: #ffffff;--button-secondary-bg: #1c2330;--button-secondary-bg-hover: #2c3447;--button-secondary-text: #ffffff;--surface-glass: rgba(255, 255, 255, .9);--control-bg: #f0f3f8;--control-hover: #e8eef8;--control-selected: #dde7f7;--focus-ring: rgba(var(--color-brand-rgb), .65);--shadow-popover: 0 14px 36px rgba(7, 20, 63, .14);--accent-soft: var(--color-brand-50);--accent-strong: var(--color-brand-700);--info: var(--color-brand-700);--info-soft: #f3f6fb;--info-border: var(--accent-border-soft);--ok: var(--color-success);--ok-soft: var(--color-success-soft);--bad: var(--color-danger);--bad-soft: var(--color-danger-soft);--warn: var(--color-warning);--warn-soft: var(--color-warning-soft);--auth-page-bg: #f7f9fc}*{box-sizing:border-box}html{min-height:100%;margin:0;overflow-y:auto;scroll-behavior:smooth}body,#root{min-height:100%;margin:0}body{background:var(--body-gradient);color:var(--text);font-family:var(--font-ui);font-size:var(--font-size-body);line-height:1.5}::selection{background:var(--accent-bg-strong);color:var(--text)}button{cursor:pointer;font:inherit;line-height:1.2;color:inherit;background:none;border:none;padding:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}:where(button,a[href],[role=button],[role=tab],[role=combobox],[role=separator]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:none}input,select,textarea{font:inherit;width:100%;min-height:var(--control-h);padding:.375rem .625rem;border:1px solid transparent;border-radius:var(--radius-control);background:var(--control-bg);color:var(--text);line-height:1.3;transition:border-color var(--motion-base) var(--ease-standard),background var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input:focus,select:focus,textarea:focus{outline:2px solid transparent;border-color:var(--accent);background:var(--surface);box-shadow:inset 0 0 0 1px var(--accent)}:where(button,input,select,textarea):disabled{opacity:var(--disabled-opacity);cursor:not-allowed}textarea{resize:vertical;font-family:var(--font-code);font-size:var(--font-size-sm)}label{display:grid;gap:.3rem;font-size:var(--font-size-sm);color:var(--text-soft)}label>span{font-weight:600;color:var(--text-soft)}pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:var(--font-code)}h1,h2,h3{margin:0;letter-spacing:0}h1{font-size:var(--font-size-title);font-weight:700}h2{font-size:var(--font-size-section);font-weight:700}h3{font-size:var(--font-size-md);font-weight:700}.muted{color:var(--muted)}.small{font-size:var(--font-size-label)}.mono{font-family:var(--font-code);font-size:.92em}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.bad{color:var(--bad)}:root{--category-orange: #FFA500;--category-purple: #9B5CFF;--category-green: #47BE74;--category-blue: #307BFB;--category-pink: #FF4FA3}.category-tone-orange{--category-color: var(--category-orange)}.category-tone-purple{--category-color: var(--category-purple)}.category-tone-green{--category-color: var(--category-green)}.category-tone-blue{--category-color: var(--category-blue)}.category-tone-pink{--category-color: var(--category-pink)}.category-chip{border:1px solid color-mix(in srgb,var(--category-color, var(--muted)) 48%,var(--line));background:color-mix(in srgb,var(--category-color, var(--muted)) 17%,var(--surface));color:color-mix(in srgb,var(--category-color, var(--muted)) 88%,var(--text))}.btn{min-height:var(--control-h);display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.375rem var(--space-3);border-radius:var(--radius-control);font-weight:650;font-size:var(--font-size-sm);border:1px solid transparent;background:var(--surface);color:var(--text);transition:background var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard),color var(--motion-base) var(--ease-standard),transform var(--motion-press) var(--ease-press)}.btn:hover{background:var(--control-hover)}.btn:active:not(:disabled){transform:scale(var(--press-scale))}.btn:disabled{opacity:var(--disabled-opacity);cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--color-on-accent);box-shadow:var(--shadow-accent-control)}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn-secondary{background:var(--button-secondary-bg);border-color:var(--button-secondary-bg);color:var(--button-secondary-text)}.btn-secondary:hover{background:var(--button-secondary-bg-hover)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{border-color:transparent;background:var(--control-hover)}.btn-sm{min-height:var(--control-h-sm);padding:.25rem .625rem;font-size:var(--font-size-label)}.btn-danger{color:var(--bad);border-color:var(--bad-border)}.btn-danger:hover{background:var(--bad-soft);border-color:var(--bad-border)}.btn-danger:not(.btn-ghost){background:var(--bad);border-color:var(--bad);color:var(--color-on-accent)}.btn-danger:not(.btn-ghost):hover{background:var(--bad-strong);border-color:var(--bad-strong)}.ui-disclosure-chevron{display:inline-grid;place-items:center;transform:rotate(0);transform-origin:center;transition:transform var(--motion-base) var(--ease-emphasized),color var(--motion-base) var(--ease-standard)}[aria-expanded=true] .ui-disclosure-chevron{transform:rotate(180deg)}@keyframes ui-disclosure-enter{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ui-overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes ui-surface-enter{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.ui-disclosure-chevron{transition:none}}.link{color:var(--accent);font-size:var(--font-size-sm);font-weight:700;transition:color var(--motion-fast) var(--ease-standard),opacity var(--motion-press) var(--ease-press)}.link:hover{text-decoration:underline}.link:active{opacity:.68}.link:disabled{color:var(--text-soft);cursor:not-allowed;text-decoration:none}.ui-tab-bar{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;background:transparent;border:0;border-bottom:var(--stroke-default)}.ui-tab{position:relative;min-height:var(--control-h-lg);padding:.55rem .8rem;border-radius:var(--radius-control) var(--radius-control) 0 0;font-size:var(--font-size-sm);font-weight:700;color:var(--text-soft)}.ui-tab:hover{background:var(--accent-bg-hover);color:var(--text)}.ui-tab.is-active{background:transparent;color:var(--accent);box-shadow:none}.ui-tab.is-active:after{content:"";position:absolute;right:var(--space-3);bottom:-1px;left:var(--space-3);height:2px;background:var(--accent)}.page-head{--page-identity-color: var(--accent);--page-identity-fill: var(--accent-soft);min-height:var(--agit-workspace-head-min-h);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-2) 0 var(--space-3);border-bottom:var(--stroke-subtle)}.page-head-copy{min-width:0;display:grid;gap:0}.page-head:not(.has-identity) .page-head-copy{grid-template-columns:minmax(0,1fr);grid-template-areas:"title"}.page-head.has-identity .page-head-copy{grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto;grid-template-areas:"symbol title";align-items:center;column-gap:var(--space-3);row-gap:0}.page-head.has-description{align-items:end}.page-head.has-description .page-head-copy{gap:.28rem}.page-head.has-description:not(.has-identity) .page-head-copy{grid-template-rows:auto auto;grid-template-areas:"title" "description"}.page-head.has-identity.has-description .page-head-copy{grid-template-rows:auto auto;grid-template-areas:"symbol title" "symbol description";row-gap:.14rem}.page-head-symbol{grid-area:symbol;width:44px;height:44px;display:grid;place-items:center;align-self:center;background:var(--page-identity-fill);color:var(--page-identity-color)}.page-head-symbol svg{width:26px;height:26px}.agit-dashboard-symbol{--dashboard-symbol-color: var(--accent);--dashboard-symbol-fill: var(--accent-soft);grid-area:symbol;width:52px;height:52px;display:grid;place-items:center;background:var(--dashboard-symbol-fill);color:var(--dashboard-symbol-color)}.agit-dashboard-symbol svg{width:32px;height:32px}.page-head h1{grid-area:title;color:var(--text);font-size:var(--agit-workspace-title-size);line-height:var(--agit-workspace-title-line);font-weight:800}.page-head p{grid-area:description;max-width:720px;margin:0;color:var(--muted);font-size:var(--agit-workspace-subtitle-size);line-height:1.65}.page-head-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.list-page{gap:.75rem;align-content:start}.page-head-tight{align-items:end}.page-head-tight h1{font-size:var(--agit-workspace-title-size);line-height:var(--agit-workspace-title-line)}.page-section{display:grid;gap:.7rem}.page-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0}.page-section-head h2{color:var(--text);font-size:var(--font-size-section);font-weight:850}.page-section-head p{margin:.2rem 0 0;line-height:1.55}.page-section-meta{display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;color:var(--muted);font-size:var(--font-size-label);font-weight:700}.ui-toolbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.ui-filter-bar{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:var(--panel-gap);padding:var(--panel-pad);border:0;border-radius:var(--radius-panel);background:var(--surface-soft)}.ui-field-control{display:grid;gap:.28rem;min-width:0}.ui-field-control>span{font-size:var(--font-size-label);font-weight:800;color:var(--muted)}.ui-field-control :is(input,textarea,.ui-select){width:100%;min-width:0}.ui-field-control .ui-select-trigger{height:var(--control-h);font-size:var(--font-size-sm);font-weight:650}.ui-select{position:relative;display:block;width:100%;min-width:0}.ui-select-trigger{width:100%;min-width:0;min-height:var(--control-h);display:grid;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:var(--space-2);padding:.375rem .7rem .375rem .65rem;border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--text);cursor:pointer;text-align:left;transition:border-color var(--motion-base) var(--ease-standard),background var(--motion-base) var(--ease-standard),color var(--motion-base) var(--ease-standard),transform var(--motion-press) var(--ease-press)}.ui-select-trigger:hover{background:var(--control-hover)}.ui-select-trigger:focus-visible{outline:0;border-color:var(--focus-ring);background:var(--control-hover)}.ui-select.is-open .ui-select-trigger{border-color:var(--focus-ring);background:var(--control-selected)}.ui-select:not(.is-disabled) .ui-select-trigger:active{transform:scale(var(--press-scale))}.ui-select-trigger:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.ui-select-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-chevron{justify-self:end;width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;color:var(--muted);pointer-events:none;transform:translateY(-2px) rotate(45deg);transform-origin:center;transition:transform var(--motion-slow) var(--ease-emphasized),color var(--motion-base) var(--ease-standard)}.ui-select:hover .ui-select-chevron{color:var(--text-soft)}.ui-select.is-open .ui-select-chevron{color:var(--accent);transform:translateY(2px) rotate(-135deg)}.ui-select.is-disabled .ui-select-chevron{opacity:.48}.ui-select-menu{position:fixed;z-index:var(--layer-select-popover);min-width:0;padding:var(--space-1);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;border:0;border-radius:var(--radius-popover);background:var(--surface-glass);box-shadow:var(--shadow-popover);color:var(--text);backdrop-filter:blur(var(--overlay-blur)) saturate(145%);-webkit-backdrop-filter:blur(var(--overlay-blur)) saturate(145%);transform-origin:top center;animation:ui-select-menu-in var(--motion-fast) var(--ease-emphasized) both}.ui-select-menu::-webkit-scrollbar{width:6px}.ui-select-menu::-webkit-scrollbar-track{background:transparent}.ui-select-menu::-webkit-scrollbar-thumb{background:var(--line-strong)}.ui-select-menu[data-placement=top]{transform-origin:bottom center;animation-name:ui-select-menu-in-top}.ui-select-option{min-height:var(--control-h);display:grid;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:var(--space-2);padding:0 .7rem;border-radius:0;background:transparent;color:var(--text-soft);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.ui-select-option.is-active{background:var(--control-hover);color:var(--text)}.ui-select-option.is-selected{background:var(--control-selected);color:var(--accent-strong);font-weight:750}.ui-select-option.is-disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.ui-select-option-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-option-check{justify-self:end;width:8px;height:5px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;opacity:0;transform:rotate(-45deg) scale(.7);transition:opacity var(--motion-fast) var(--ease-standard),transform var(--motion-base) var(--ease-emphasized)}.ui-select-option.is-selected .ui-select-option-check{opacity:1;transform:rotate(-45deg) scale(1)}@keyframes ui-select-menu-in{0%{opacity:0;transform:translateY(-5px) scaleY(.97)}to{opacity:1;transform:translateY(0) scaleY(1)}}@keyframes ui-select-menu-in-top{0%{opacity:0;transform:translateY(5px) scaleY(.97)}to{opacity:1;transform:translateY(0) scaleY(1)}}.card{background:var(--surface);border:var(--stroke-default);border-radius:var(--radius-panel);padding:var(--panel-pad);display:grid;gap:var(--panel-gap);box-shadow:none}.card.wide{grid-column:1 / -1}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.card-head h2{display:flex;gap:.5rem;align-items:center}.card-head.sub-head{margin-top:.35rem;padding-top:.85rem;border-top:var(--stroke-subtle)}.empty,.empty-state{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius-panel);font-size:var(--font-size-sm)}.empty{padding:var(--space-6);background:var(--empty-bg)}.empty-state{padding:1.4rem}.summary-pill{min-height:var(--control-h-sm);display:inline-flex;align-items:baseline;gap:.35rem;padding:var(--space-1) .75rem;border-radius:0;background:transparent;border:0;border-left:var(--stroke-default)}.summary-pill:first-child{border-left:0}.summary-pill strong{font-size:var(--font-size-section);color:var(--accent)}.list{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}.list-item{display:flex;justify-content:space-between;gap:var(--space-4);padding:.65rem .2rem;border-radius:var(--radius-control);background:transparent;border:0;border-bottom:var(--stroke-subtle);font-size:var(--font-size-sm)}.list .list-item:last-child{border-bottom:0;padding-bottom:.1rem}.list-item strong{display:block}.list-item p{margin:.15rem 0 0;font-size:var(--font-size-xs)}.clickable{cursor:pointer;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.clickable:hover{background:var(--control-hover);border-color:transparent}.clickable:active{background:var(--control-selected)}.fitted-table-viewport,.fitted-table-surface{width:100%;min-width:0;min-height:0}.fitted-table-viewport{overflow:hidden;overscroll-behavior:contain}.fitted-table-surface{overflow:hidden;border:var(--stroke-strong);border-radius:var(--radius-panel);background:var(--surface)}.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);background:var(--surface)}.data-table th{text-align:left;font-weight:700;color:var(--text-soft);font-size:var(--font-size-label);text-transform:uppercase;letter-spacing:0;padding:.52rem .65rem;background:transparent;border-bottom:var(--stroke-default)}.data-table td{padding:.65rem;border-bottom:var(--stroke-subtle);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--control-hover)}.data-table strong{font-weight:700}.data-table p{margin:.1rem 0 0;font-size:var(--font-size-xs)}.data-table.compact th,.data-table.compact td{padding:.48rem .58rem}.data-table td.empty-cell{text-align:center;color:var(--muted);padding:var(--space-8)}.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--control-h);padding-top:.7rem;border-top:var(--stroke-subtle)}.data-table tbody tr{transition:background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.table-pagination>span{color:var(--muted);font-size:var(--font-size-label);font-weight:700}.table-pagination>div{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:nowrap}.table-pagination .mono{min-width:52px;text-align:center;color:var(--text-soft);font-size:var(--font-size-label);font-weight:700}.numbered-pagination{min-height:var(--control-h);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--space-4)}.numbered-pagination>span{justify-self:start;color:var(--muted);font-size:var(--font-size-body);font-weight:750;white-space:nowrap}.numbered-pagination>div{grid-column:2;display:flex;align-items:center;justify-content:center;gap:.35rem;flex-wrap:nowrap}.numbered-pagination.is-summary-hidden{display:flex;justify-content:center}.numbered-pagination.is-summary-hidden>div{grid-column:auto}.page-chip-ellipsis{min-width:18px;color:var(--muted);font-size:var(--font-size-sm);font-weight:750;text-align:center}.page-chip{min-width:var(--control-h-sm);height:var(--control-h-sm);padding:0 .55rem;border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--text-soft);font-size:var(--font-size-xs);font-weight:700;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),transform var(--motion-press) var(--ease-press)}.page-chip:active{transform:scale(var(--press-scale))}.page-chip:hover:not(:disabled){background:var(--control-hover);color:var(--text)}.page-chip:disabled{opacity:var(--disabled-opacity);cursor:not-allowed;transform:none}.page-chip-active{border-color:var(--accent-border-soft);background:var(--accent-soft);color:var(--accent-strong)}@media(max-width:720px){.numbered-pagination{display:flex;align-items:flex-start;flex-direction:column}.numbered-pagination>div{grid-column:auto;justify-content:flex-start;flex-wrap:wrap}}@media(max-width:700px)and (max-height:550px){.numbered-pagination{align-items:center;justify-content:space-between;flex-direction:row;gap:var(--space-2)}.numbered-pagination>span{flex:0 0 auto}.numbered-pagination>div{justify-content:flex-end}}.chip{display:inline-block;padding:.12rem .48rem;border-radius:0;background:var(--control-bg);border:1px solid transparent;font-size:var(--font-size-xs);font-weight:600;color:var(--text-soft)}button.chip{cursor:pointer;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),transform var(--motion-press) var(--ease-press)}button.chip:hover:not(:disabled){background:var(--control-hover);color:var(--text)}button.chip:active:not(:disabled){transform:scale(var(--press-scale))}.chip-soft{background:var(--surface-soft)}.chip.tag-chip{font-family:var(--font-tag);font-weight:400}.chip-active{background:var(--accent);border-color:var(--accent);color:var(--color-on-accent)}.tier{display:inline-block;padding:.12rem .48rem;border-radius:0;font-size:var(--font-size-xs);font-weight:800;letter-spacing:0}.tier-beginner{background:var(--tier-beginner-soft);color:var(--tier-beginner);border:1px solid var(--tier-beginner-border)}.tier-basic{background:var(--tier-basic-soft);color:var(--tier-basic);border:1px solid var(--tier-basic-border)}.tier-intermediate{background:var(--tier-intermediate-soft);color:var(--tier-intermediate);border:var(--stroke-accent)}.verdict{display:inline-flex;align-items:center;gap:.3rem;padding:.14rem .48rem;border:1px solid transparent;border-radius:0;font-size:var(--font-size-xs);font-weight:700;white-space:nowrap}.verdict-mark{min-width:.8em;font-family:var(--font-ui);font-weight:900;line-height:1;text-align:center}.verdict-ok{background:var(--ok-soft);color:var(--ok)}.verdict-bad{background:var(--bad-soft);color:var(--bad)}.verdict-warn{background:var(--warn-soft);color:var(--warn)}.verdict-neutral{background:var(--surface-soft);color:var(--text-soft);border-color:var(--line-soft)}@media(max-width:960px){.ui-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.ui-tab-bar{grid-template-columns:1fr}.page-head{grid-template-columns:1fr;align-items:flex-start}.page-section-head{flex-direction:column;align-items:flex-start}.page-head-actions,.page-section-meta{justify-content:flex-start}.data-table{font-size:var(--font-size-label)}.list-page{gap:.8rem}}@media(max-width:640px){.ui-filter-bar{grid-template-columns:1fr}}.brand-mark{display:inline-grid;align-items:center;justify-items:center;gap:.18em;width:auto;min-width:0;height:auto;overflow:visible;border-radius:0;background:transparent;color:var(--text);font-size:1.95rem;box-shadow:none;line-height:1}.brand-mark-stacked{align-items:start;justify-items:start;gap:.2em}.brand-mark-symbol{display:block;width:1.34em;height:1.34em;flex:0 0 auto;color:currentColor;overflow:visible}.brand-mark-copy{display:inline-grid;align-items:start;gap:.08em;min-width:0}.brand-mark-wordmark{display:block;width:5.12em;height:auto;object-fit:contain;flex:0 0 auto}.brand-mark-subtitle{display:block;color:var(--auth-brand-subtitle);font-family:Malgun Gothic,Segoe UI,Arial,sans-serif;font-size:.21em;font-weight:800;letter-spacing:0;line-height:1;text-transform:uppercase}.auth-cinematic-page{min-height:100vh;position:relative;overflow:hidden;display:grid;place-items:center;padding:var(--space-6);background:var(--auth-page-bg);color:var(--text)}.auth-cinematic-page:before{display:none}.auth-cinematic-shell{position:relative;z-index:1;width:min(980px,100%);display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(340px,400px);gap:var(--space-8);align-items:center}.auth-brand-panel{display:grid;gap:var(--space-8);animation:none}.auth-logo-row{display:inline-flex;align-items:center;gap:.85rem;margin-bottom:1.2rem}.auth-logo-mark{width:176px;height:64px;border-radius:0;filter:none}.auth-logo-row strong{font-size:1.45rem;font-weight:900;letter-spacing:0}.auth-logo-row strong span{color:var(--auth-dark-text-strong);padding:.16rem .52rem;border:1px solid var(--accent-border-strong);border-radius:0;background:var(--accent-bg-strong)}.auth-brand-panel h1{max-width:440px;font-size:3rem;line-height:1.1;letter-spacing:0}.auth-brand-panel h1 span{background:transparent;-webkit-background-clip:text;background-clip:text;color:var(--accent)}.auth-brand-panel p{max-width:380px;margin:.9rem 0 0;color:var(--auth-dark-muted);line-height:1.7}.auth-feature-list{display:grid;gap:var(--space-3);color:var(--auth-dark-text-soft);font-size:13px}.auth-feature-list div{display:flex;align-items:center;gap:var(--space-3)}.auth-feature-list span{width:30px;height:30px;display:grid;place-items:center;border-radius:0;background:var(--accent-bg-strong);color:var(--auth-dark-button-text);font-family:var(--font-code);font-size:var(--font-size-xs);font-weight:700}.auth-cinematic-divider{min-height:440px;background:var(--line)}.auth-form-panel{animation:none}.auth-glass-card{display:grid;gap:1.35rem;padding:var(--space-8);border:1px solid var(--surface-inverse-strong);border-radius:0;background:var(--surface);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.auth-glass-card h2{color:var(--auth-dark-text);font-size:1.2rem}.auth-glass-card p{margin:var(--space-1) 0 0;color:var(--auth-dark-muted-strong);font-size:13px}.auth-dark-form{display:grid;gap:var(--space-4)}.auth-dark-field{gap:.38rem;color:var(--auth-dark-muted)}.auth-dark-field>span{color:var(--auth-dark-muted);font-size:12.5px}.auth-dark-field div{position:relative}.auth-dark-field b{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--auth-dark-muted-ink);font-family:var(--font-code);font-size:13px}.auth-dark-field input{padding-left:2.35rem;border:1.5px solid var(--surface-inverse-muted);background:var(--surface-inverse-soft);color:var(--auth-dark-text)}.auth-dark-field input::placeholder{color:var(--auth-dark-muted-ink)}.auth-dark-field input:focus{border-color:var(--accent);background:var(--accent-bg-soft);box-shadow:none}.auth-dark-submit{width:100%;display:inline-flex;justify-content:center;padding:.72rem;border-radius:0;background:var(--accent);color:var(--color-on-accent);font-weight:800;box-shadow:none;transition:background var(--motion-fast) var(--ease-standard)}.auth-dark-submit:hover{transform:none;box-shadow:none;filter:none}.auth-dark-submit:disabled{cursor:wait;opacity:.78;transform:none;filter:grayscale(.08)}.auth-preview-actions{display:grid;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--surface-inverse-muted)}.auth-preview-actions p{margin:0;color:var(--auth-dark-muted);font-size:12.5px}.auth-preview-actions div{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.auth-preview-actions button{min-height:40px;padding:.58rem .7rem;border:1px solid var(--accent-border-strong);border-radius:0;background:var(--accent-bg-soft);color:var(--auth-dark-button-text);font-size:12.5px;font-weight:800}.auth-preview-actions button:hover{border-color:var(--warn-border);background:var(--warn-soft);color:var(--auth-dark-warning-text)}.auth-dark-toast{padding:.65rem .95rem;border-radius:0;font-size:13px;font-weight:700}.auth-dark-toast-ok{background:var(--auth-toast-ok-bg);color:var(--auth-toast-ok-text);border:1px solid var(--auth-toast-ok-border)}.auth-dark-toast-error{background:var(--auth-toast-error-bg);color:var(--auth-toast-error-text);border:1px solid var(--auth-toast-error-border)}.auth-code-float{position:absolute;display:none;z-index:0;color:var(--auth-brand-mark-muted);font-family:var(--font-code);font-size:11px;white-space:pre;pointer-events:none;-webkit-user-select:none;user-select:none;animation:none}.auth-code-float-one{left:7%;bottom:-70px;animation-duration:19s}.auth-code-float-two{left:71%;bottom:-90px;animation-duration:23s;animation-delay:2s}.auth-code-float-three{left:42%;bottom:-50px;animation-duration:17s;animation-delay:5s}.auth-loading-scene{text-align:center}.auth-loader-wrap{position:relative;z-index:1;display:grid;justify-items:center;gap:1.35rem;animation:none}.auth-loader-logo{width:136px;height:auto}.auth-loader-copy h1{color:var(--auth-dark-text);font-size:1.15rem}.auth-loader-copy p{margin:.35rem 0 0;color:var(--auth-dark-muted-strong);font-family:var(--font-code);font-size:12px}.auth-loader-track{width:230px;height:4px;overflow:hidden;border-radius:0;background:var(--surface-inverse-muted)}.auth-loader-track span{display:block;width:46%;height:100%;border-radius:0;background:var(--accent);animation:none}.auth-loader-dots{display:flex;gap:.55rem}.auth-loader-dots span{width:6px;height:6px;border-radius:0;background:var(--surface-inverse-strong);animation:none}.auth-loader-dots span:nth-child(2){animation-delay:.15s}.auth-loader-dots span:nth-child(3){animation-delay:.3s}.auth-loader-dots span:nth-child(4){animation-delay:.45s}@keyframes auth-grid-drift{to{background-position:56px 56px}}@keyframes auth-slide-left{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:translate(0)}}@keyframes auth-slide-right{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes auth-float-up{0%{transform:translateY(0);opacity:0}10%{opacity:1}80%{opacity:.7}to{transform:translateY(-100vh);opacity:0}}@keyframes auth-loader-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:820px){.auth-cinematic-shell{grid-template-columns:1fr;gap:1.4rem}.auth-cinematic-divider,.auth-brand-panel{display:none}.auth-form-panel{width:min(400px,100%)}}.auth-agit-page{min-height:100vh;overflow-x:hidden;overflow-y:auto;position:relative;background:var(--auth-page-bg);color:var(--text)}.auth-agit-page:before,.auth-agit-page:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.auth-agit-page:before{display:none}.auth-agit-page:after{display:none}.auth-agit-shell{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,34vw);grid-template-rows:minmax(0,1fr) 64px}.auth-agit-story{min-width:0;display:grid;align-content:center;gap:clamp(1.15rem,2vw,1.8rem);padding:clamp(1.75rem,3.5vw,3.75rem) clamp(var(--space-8),5vw,5rem) var(--space-5)}.auth-agit-story-copy{max-width:760px;display:grid;gap:var(--space-4);animation:none}.auth-agit-logo{width:auto;height:clamp(72px,8vw,96px);max-width:min(240px,52vw);object-fit:contain;object-position:left center}.auth-agit-story h1{font-family:var(--font-display);font-size:var(--font-size-hero);font-weight:600;line-height:1.16;letter-spacing:0;color:var(--text)}.auth-agit-story p{max-width:570px;margin:0;color:var(--text-soft);font-size:1rem;line-height:1.65;font-weight:600}.auth-agit-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);padding-top:.15rem}.auth-agit-actions a,.auth-agit-class-code button,.auth-agit-submit{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.85rem;padding:0 1.65rem;border-radius:var(--radius-control);border:1px solid var(--accent);font-size:.96rem;font-weight:800;text-decoration:none;transition:background var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard),color var(--motion-base) var(--ease-standard),transform var(--motion-press) var(--ease-press)}.auth-agit-actions a:hover,.auth-agit-class-code button:hover,.auth-agit-submit:hover{transform:none}.auth-agit-actions a:active,.auth-agit-class-code button:active,.auth-agit-submit:active:not(:disabled){transform:scale(var(--press-scale))}.auth-agit-primary,.auth-agit-submit{background:var(--accent);color:var(--color-on-accent)}.auth-agit-primary:hover,.auth-agit-submit:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.auth-agit-secondary{background:var(--surface);color:var(--text)}.auth-agit-secondary:hover{background:var(--surface);color:var(--accent)}.auth-product-strip{width:min(100%,1120px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:.85rem;animation:none}.auth-product-shot{min-height:196px;overflow:hidden;border:1px solid var(--auth-ink-border-strong);border-radius:0;background:var(--surface);box-shadow:none}.auth-shot-toolbar{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-3);border-bottom:1px solid var(--line-soft);color:var(--muted);font-size:.72rem;font-weight:800}.auth-shot-code-grid{display:grid;grid-template-columns:.85fr 1.25fr;min-height:158px}.auth-shot-code-grid>div{display:grid;align-content:start;gap:var(--space-2);padding:var(--space-4);color:var(--text-soft);font-size:.8rem}.auth-shot-code-grid p,.auth-shot-code-grid small{margin:0}.auth-shot-code-grid pre{padding:var(--space-4);background:var(--auth-dark-bg);color:var(--auth-dark-button-text);font-size:.76rem;line-height:1.7}.auth-shot-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;padding:var(--space-4)}.auth-shot-metrics span{min-height:64px;display:grid;align-content:center;gap:.2rem;padding:.7rem;border:1px solid var(--line-soft);background:var(--surface);color:var(--muted);font-size:.72rem}.auth-shot-metrics strong{color:var(--accent);font-size:1.3rem}.auth-shot-chart{height:82px;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;gap:.9rem;margin:0 var(--space-4) var(--space-4);padding:var(--space-4) .8rem .4rem;border-left:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.auth-shot-chart i{display:block;height:45%;background:var(--accent)}.auth-shot-chart i:nth-child(2){height:62%}.auth-shot-chart i:nth-child(3){height:55%}.auth-shot-chart i:nth-child(4){height:82%}.auth-shot-chart i:nth-child(5){height:72%}.auth-agit-panel{position:relative;display:grid;align-content:center;padding:clamp(var(--space-6),3vw,var(--space-12));border-left:1px solid var(--auth-ink-border);background:var(--surface);animation:none}.auth-agit-card{display:grid;gap:1.15rem;padding:clamp(var(--space-6),2.5vw,2.25rem);border:1px solid var(--auth-ink-border-bold);border-radius:0;background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.auth-agit-card-head{display:grid;gap:.65rem;text-align:center}.auth-agit-card-head h2{font-family:var(--font-display);color:var(--text);font-size:1.85rem;font-weight:700;line-height:1.32}.auth-agit-card-head p{margin:0;color:var(--muted);font-size:.95rem;font-weight:700}.auth-agit-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.auth-agit-tab{min-height:48px;color:var(--muted);font-weight:800;border-bottom:2px solid transparent}.auth-agit-tab-active{color:var(--accent);border-bottom-color:var(--accent)}.auth-agit-form{display:grid;gap:1.05rem}.auth-agit-field{gap:.45rem;color:var(--text-soft);font-size:.9rem;font-weight:800}.auth-agit-field input,.auth-agit-class-code input{min-height:48px;border-radius:var(--radius-control);border-color:var(--line);background:var(--surface);color:var(--text);font-weight:650}.auth-agit-field input:focus,.auth-agit-class-code input:focus{border-color:var(--accent);box-shadow:none}.auth-agit-options{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);color:var(--muted);font-size:.86rem;font-weight:700}.auth-agit-check{width:auto;display:inline-flex;align-items:center;gap:.55rem}.auth-agit-check input{width:16px;height:16px;padding:0}.auth-agit-options button,.auth-agit-footer a{color:var(--muted);font-weight:800}.auth-agit-options button:hover,.auth-agit-footer a:hover{color:var(--accent)}.auth-agit-submit{width:100%;margin-top:.3rem}.auth-agit-submit:disabled{opacity:.68;cursor:wait;transform:none}.auth-agit-separator{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-4);color:var(--muted);font-size:.86rem;font-weight:800}.auth-agit-separator:before,.auth-agit-separator:after{content:"";height:1px;background:var(--line)}.auth-agit-class-code{display:grid;gap:var(--space-3)}.auth-agit-class-code strong{color:var(--text-soft);font-size:.92rem}.auth-agit-class-code div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3)}.auth-agit-class-code button{min-height:48px;background:var(--surface);color:var(--accent)}.auth-agit-footnote{margin:0;padding:1.1rem clamp(1.6rem,3.2vw,var(--space-12));border:1px solid var(--auth-ink-border-strong);border-top:0;background:var(--surface);color:var(--muted);text-align:center;font-size:.9rem;font-weight:700}.auth-agit-toast{padding:.8rem .95rem;border-radius:var(--radius-panel);font-size:.9rem;font-weight:800}.auth-agit-toast-ok,.auth-agit-toast-success{border:1px solid var(--ok-border);background:var(--ok-soft);color:var(--ok)}.auth-agit-toast-info{border:1px solid var(--info-border);background:var(--info-soft);color:var(--info)}.auth-agit-toast-warning{border:1px solid var(--warn-border);background:var(--warn-soft);color:var(--warn)}.auth-agit-toast-error{border:1px solid var(--bad-border);background:var(--bad-soft);color:var(--bad-strong)}.auth-agit-footer{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1.35rem;padding:0 var(--space-12);border-top:1px solid var(--auth-ink-border-subtle);background:var(--surface);color:var(--muted)}.auth-agit-wordmark{color:var(--auth-ink-text);font-size:var(--font-size-title-lg);font-weight:900;letter-spacing:0}.auth-agit-footer nav{display:flex;align-items:center;gap:1.2rem;justify-self:end}.auth-loader-brand-logo{width:112px;height:auto;display:block;object-fit:contain}.auth-loader-copy h1{color:var(--text);font-family:var(--font-display)}.auth-loader-copy p{color:var(--muted);font-family:var(--font-ui)}.auth-loading-scene,.auth-session-scene{display:grid;place-items:center;padding:var(--space-6)}.auth-session-status{width:min(100%,520px);display:grid;justify-items:center;gap:var(--space-6);text-align:center}.auth-session-copy{display:grid;gap:var(--space-2)}.auth-session-copy h1{margin:0;color:var(--text);font-family:var(--font-display);font-size:var(--font-size-title-lg)}.auth-session-copy p,.auth-session-copy small{margin:0;color:var(--muted);line-height:1.6}.auth-session-copy p{font-size:var(--font-size-md)}.auth-session-copy small{font-size:var(--font-size-sm)}.auth-session-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.auth-session-actions button{min-height:var(--control-h-lg);padding:0 var(--space-5);border:var(--stroke-accent);border-radius:var(--radius-control);font:inherit;font-size:var(--font-size-body);font-weight:800;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),transform var(--motion-press) var(--ease-press)}.auth-session-actions button:active{transform:scale(var(--press-scale))}.auth-session-retry{background:var(--accent);color:var(--color-on-accent)}.auth-session-retry:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.auth-session-signout{border-color:var(--line);background:transparent;color:var(--text-soft)}.auth-session-signout:hover{border-color:var(--accent-border-strong);background:var(--accent-bg-hover);color:var(--accent)}@keyframes agit-enter-left{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@keyframes agit-enter-right{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes agit-rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes agit-line-drift{0%{transform:translateZ(0)}to{transform:translate3d(18px,-10px,0)}}@media(max-height:820px)and (min-width:901px){.auth-agit-story{align-content:start}.auth-product-shot{min-height:150px}.auth-shot-code-grid{min-height:112px}.auth-shot-chart{height:58px}}@media(max-width:1120px){.auth-product-strip{display:none}}@media(max-width:900px){.auth-agit-shell{grid-template-columns:1fr;grid-template-rows:auto auto auto}.auth-agit-story{padding-bottom:0}.auth-agit-panel{border-left:0;padding-top:var(--space-6)}.auth-agit-footer{grid-template-columns:1fr;justify-items:start;height:auto;padding:1.2rem var(--space-6)}.auth-agit-footer nav{justify-self:start}}@media(max-width:720px){.auth-agit-story,.auth-agit-panel{padding-inline:1.1rem}.auth-agit-story h1{font-size:var(--font-size-stat)}.auth-product-strip,.auth-shot-code-grid,.auth-shot-metrics,.auth-agit-class-code div{grid-template-columns:1fr}.auth-agit-actions{display:grid}.auth-agit-card{padding:1.35rem}.auth-agit-options{align-items:flex-start;flex-direction:column}.auth-agit-footer nav{flex-wrap:wrap}}.app-root{position:relative;isolation:isolate;min-width:0;min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--header-h) minmax(0,1fr) auto;background:var(--app-gradient)}.app-root.app-shell{background-color:var(--app-gradient);background-image:none}.app-root.app-shell:before{content:"";position:fixed;top:var(--header-h);right:0;left:0;z-index:0;height:min(620px,76vh);pointer-events:none;background-image:linear-gradient(146deg,transparent 0 41.88%,var(--workspace-art-line-strong) 42%,transparent 42.12%),linear-gradient(146deg,transparent 0 57.9%,var(--workspace-art-line) 58%,transparent 58.1%),linear-gradient(34deg,transparent 0 72.9%,var(--workspace-art-line-soft) 73%,transparent 73.1%),linear-gradient(90deg,transparent 0 66.9%,var(--workspace-art-line) 67%,transparent 67.1%),linear-gradient(90deg,transparent 0 81.9%,var(--workspace-art-line-soft) 82%,transparent 82.1%),linear-gradient(0deg,transparent 0 37.9%,var(--workspace-art-line-soft) 38%,transparent 38.1%),linear-gradient(0deg,transparent 0 64.9%,var(--workspace-art-line-soft) 65%,transparent 65.1%),linear-gradient(158deg,var(--workspace-art-wash) 0%,transparent 68%);background-repeat:no-repeat;background-position:top right;background-size:min(1320px,96vw) 620px;-webkit-mask-image:linear-gradient(to bottom,var(--mask-opaque) 0 76%,transparent 100%);mask-image:linear-gradient(to bottom,var(--mask-opaque) 0 76%,transparent 100%)}.app-root.app-shell>.page,.app-root.app-shell>.app-footer{position:relative}.app-root.app-shell>.page{z-index:2}.app-root.app-shell>.app-footer{z-index:1}.app-root-editor{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.app-header{position:sticky;top:0;z-index:60;grid-column:1;grid-row:1;height:var(--header-h);min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-4);padding:0 var(--shell-pad-x);border-bottom:var(--stroke-default);background:var(--chrome-bg);box-shadow:none;-webkit-backdrop-filter:saturate(140%) blur(18px);backdrop-filter:saturate(140%) blur(18px);transition:background var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard)}.agit-header-actions{min-width:0;display:inline-flex;align-items:center;justify-content:flex-end}.profile-menu-wrap{position:relative;justify-self:end}.profile-trigger{min-width:132px;max-width:240px;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1);border:1px solid transparent;border-radius:var(--radius-control);background:transparent;box-shadow:none;transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-press) var(--ease-press)}.profile-trigger:hover,.profile-trigger[aria-expanded=true]{background:var(--control-hover)}.profile-trigger:active{transform:scale(var(--press-scale))}.profile-avatar{width:var(--avatar-size-sm);height:var(--avatar-size-sm);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:var(--radius-control);background:var(--accent);color:var(--color-on-accent)}.profile-avatar-icon{width:18px;height:18px;display:block}.profile-avatar-icon-teacher{width:20px;height:20px}.profile-avatar-icon-fill{fill:currentColor;stroke:none}.profile-avatar-icon-teacher rect{fill:none}.profile-trigger-copy{min-width:0;display:block;text-align:left}.profile-trigger-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-trigger-copy strong{color:var(--text);font-size:var(--font-size-sm);font-weight:800}.profile-caret{width:7px;height:7px;margin-left:auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;color:var(--muted);transform:translateY(-2px) rotate(45deg);transition:transform var(--motion-slow) var(--ease-emphasized)}.profile-trigger[aria-expanded=true] .profile-caret{transform:translateY(2px) rotate(225deg)}.profile-menu{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:80;width:280px;padding:var(--space-2);border:var(--stroke-default);border-radius:var(--radius-popover);background:var(--surface-glass);box-shadow:var(--shadow-popover);-webkit-backdrop-filter:saturate(140%) blur(18px);backdrop-filter:saturate(140%) blur(18px);transform-origin:top right;animation:ui-disclosure-enter var(--motion-slow) var(--ease-emphasized) both}.agit-profile-identity{display:grid;gap:2px;padding:var(--space-2) var(--space-2) var(--space-3);border-bottom:var(--stroke-subtle)}.agit-profile-identity strong{color:var(--text);font-size:var(--font-size-md)}.agit-profile-identity span,.agit-profile-identity small{color:var(--muted);font-size:var(--font-size-xs)}.agit-profile-status{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-2);border-bottom:var(--stroke-subtle);color:var(--muted);font-size:var(--font-size-xs)}.agit-profile-status strong{color:var(--accent)}.profile-menu button{width:100%;min-height:var(--control-h);display:flex;align-items:center;justify-content:space-between;padding:var(--space-2);border-radius:var(--radius-control);color:var(--text);font-size:var(--font-size-sm);font-weight:750;text-align:left}.profile-menu button:hover{background:var(--control-hover);color:var(--accent-strong)}.profile-menu button small{color:var(--muted);font-size:var(--font-size-xs)}.profile-menu .profile-menu-danger{color:var(--bad)}@media(max-width:720px){.app-header{gap:var(--space-2);padding-inline:var(--shell-pad-x)}.profile-trigger{width:var(--icon-control-size);min-width:var(--icon-control-size);padding:0;justify-content:center}.profile-trigger-copy,.profile-caret{display:none}.profile-menu{width:min(280px,calc(100vw - (var(--shell-pad-x) * 2)))}}@media(prefers-reduced-motion:reduce){.profile-menu{animation:none}}.agit-header-wordmark{align-self:stretch;display:inline-grid;align-content:center;justify-items:start;gap:1px;padding:0 var(--space-4) 0 0;color:var(--text);font-family:var(--font-ui);letter-spacing:0;white-space:nowrap}.agit-header-wordmark strong{font-size:var(--font-size-title-lg);font-weight:900;line-height:1}.agit-header-wordmark:hover{color:var(--accent)}.agit-top-nav{min-width:0;height:100%;display:flex;align-items:stretch;justify-content:flex-start;gap:var(--space-1);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.agit-top-nav::-webkit-scrollbar{display:none}.agit-top-nav-link{position:relative;flex:0 0 auto;min-width:68px;display:inline-grid;grid-template-columns:18px auto;align-content:center;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-control);border:0;color:var(--text-soft);font-size:var(--font-size-sm);font-weight:750;white-space:nowrap;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}.agit-top-nav-link>svg{width:18px;height:18px}.agit-top-nav-link>span{line-height:1}.agit-top-nav-link.starts-section{margin-left:var(--space-3)}.agit-top-nav-link.starts-section:before{content:"";position:absolute;top:16px;bottom:16px;left:calc(var(--space-2) * -1);width:1px;background:var(--line)}.agit-top-nav-link:after{content:"";position:absolute;right:var(--space-3);bottom:5px;left:var(--space-3);height:2px;background:transparent}.agit-top-nav-link:hover{color:var(--text);background:var(--control-hover)}.agit-top-nav-link.is-active{color:var(--accent-strong);background:var(--accent-bg-hover)}.agit-top-nav-link.is-active:after{background:var(--accent)}@media(max-width:900px){.agit-top-nav{gap:0}.agit-top-nav-link{min-width:42px;grid-template-columns:18px;padding-inline:var(--space-2);font-size:var(--font-size-xs)}.agit-top-nav-link>span{display:none}.agit-top-nav-link.starts-section{margin-left:var(--space-1)}.agit-top-nav-link.starts-section:before{left:calc(var(--space-1) * -1)}.agit-top-nav-link:after{right:var(--space-2);left:var(--space-2)}}@media(max-width:720px){.agit-header-wordmark{padding-right:var(--space-1)}.agit-header-wordmark strong{font-size:var(--font-size-section)}}.app-footer{grid-column:1;grid-row:3;border-top:var(--stroke-subtle);background:var(--footer-bg);color:var(--text-soft);-webkit-backdrop-filter:none;backdrop-filter:none}.app-footer-inner{width:100%;max-width:var(--shell-content-max-w);margin:0 auto;padding:var(--space-3) var(--shell-pad-x);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}.footer-brand{display:inline-flex;align-items:center;gap:var(--space-3)}.footer-brand-logo{width:auto;height:26px;display:block;object-fit:contain}.footer-brand span{color:var(--muted);font-size:var(--font-size-xs);font-weight:700}.footer-meta{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex-wrap:wrap;color:var(--muted);font-size:var(--font-size-xs);font-weight:600}.footer-meta>span:not(.health-chip){padding-left:.6rem;border-left:var(--stroke-default)}.footer-api{font-family:var(--font-code);max-width:min(42vw,340px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{grid-column:1;grid-row:2;min-width:0;max-width:var(--shell-content-max-w);margin:0 auto;width:100%;padding:var(--shell-pad-y) var(--shell-pad-x) var(--space-6);display:grid;align-content:start;gap:var(--shell-gap)}.app-shell .page>:not(.toast){transform-origin:top center;animation:agit-page-enter var(--motion-page) var(--ease-emphasized) both}.skip-link{position:fixed;top:var(--space-2);left:var(--space-2);z-index:200;padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--accent);color:var(--color-on-accent);font-size:var(--font-size-sm);font-weight:800;opacity:0;pointer-events:none;transform:translateY(-120%);transition:opacity var(--motion-fast) var(--ease-standard),transform var(--motion-base) var(--ease-emphasized)}.skip-link:focus{opacity:1;pointer-events:auto;transform:translateY(0)}.page-stack{display:grid;gap:var(--shell-gap)}@keyframes agit-page-enter{0%{opacity:0;transform:translateY(7px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}.toast{padding:.7rem .95rem;border-radius:var(--radius-panel);border:var(--stroke-default);font-weight:600;font-size:var(--font-size-sm)}.toast-ok,.toast-success{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-border)}.toast-error{background:var(--bad-soft);color:var(--bad);border-color:var(--bad-border)}.toast-info{background:var(--info-soft);color:var(--info);border-color:var(--info-border)}.toast-warning{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-border)}.app-toast{position:fixed;bottom:1.75rem;right:1.75rem;z-index:9999;display:flex;align-items:center;gap:.65rem;padding:var(--space-3) var(--space-4) var(--space-3) 1.1rem;border-radius:var(--radius-popover);font-size:var(--font-size-sm);font-weight:600;box-shadow:var(--shadow-popover);max-width:360px;animation:app-toast-in var(--motion-slow) var(--ease-emphasized) both}.app-toast-ok,.app-toast-success{background:var(--ok-soft);color:var(--ok);border:1px solid var(--ok-border)}.app-toast-info{background:var(--info-soft);color:var(--info);border:1px solid var(--info-border)}.app-toast-warning{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-border)}.app-toast-error{background:var(--bad-soft);color:var(--bad);border:1px solid var(--bad-border)}.app-toast-icon{width:18px;flex:0 0 18px;color:currentColor;font-family:var(--font-code);font-size:var(--font-size-sm);font-weight:900;line-height:1;text-align:center}.app-toast-message{flex:1;line-height:1.4}.app-toast button{background:none;border:none;cursor:pointer;color:inherit;opacity:.55;font-size:var(--font-size-sm);padding:0;line-height:1;flex-shrink:0;transition:opacity var(--motion-fast) var(--ease-standard),transform var(--motion-press) var(--ease-press)}.app-toast button:hover{opacity:1}.app-toast button:active{transform:scale(var(--press-scale))}@keyframes app-toast-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.app-toast{animation:none}}.agit-student-home{display:grid;gap:var(--agit-workspace-split-gap);color:var(--text)}.agit-student-command{min-height:154px;display:grid;grid-template-columns:minmax(220px,.72fr) minmax(350px,1.18fr) minmax(300px,.82fr);align-items:stretch;border:var(--stroke-strong);background:var(--surface)}.agit-student-command-copy,.agit-student-next-task,.agit-student-command-metrics{min-width:0;padding:var(--space-5)}.agit-student-command-copy{display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-areas:"symbol title" "symbol detail";align-items:center;align-content:center;gap:var(--space-2) var(--space-3)}.agit-student-command-copy h1{grid-area:title;font-family:var(--font-display);font-size:var(--font-size-display);line-height:1.2;font-weight:800}.agit-student-command-copy p{grid-area:detail;margin:0;color:var(--muted);font-size:var(--font-size-sm)}.agit-student-command-copy p strong{color:var(--text);font-weight:850}.agit-student-next-task{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;align-items:center;gap:var(--space-2);border-left:var(--stroke-default);border-right:var(--stroke-default)}.agit-student-next-task>span{grid-column:1 / -1;color:var(--accent);font-size:var(--font-size-xs);font-weight:850}.agit-continue-action{min-width:0;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-radius:0;background:var(--accent);color:var(--color-on-accent);text-align:left;transition:background var(--motion-base) var(--ease-standard),transform var(--motion-press) var(--ease-press)}.agit-continue-action:hover{background:var(--accent-strong)}.agit-continue-action:active{transform:scale(var(--press-scale))}.agit-continue-action>span:first-child{min-width:0;display:grid;gap:.12rem}.agit-continue-action small{color:inherit;font-size:var(--font-size-xs);font-weight:650;opacity:.8}.agit-continue-action strong{overflow:hidden;font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap}.agit-continue-arrow{flex:0 0 auto;font-size:var(--font-size-heading);line-height:1;transition:transform var(--motion-slow) var(--ease-emphasized)}.agit-continue-action:hover .agit-continue-arrow,.agit-continue-action:focus-visible .agit-continue-arrow{transform:translate(var(--space-1))}.agit-hero-secondary-action{min-height:60px;padding:0 var(--space-3);border-radius:0;color:var(--text-soft);font-size:var(--font-size-xs);font-weight:800;transition:background var(--motion-base) var(--ease-standard),color var(--motion-base) var(--ease-standard),transform var(--motion-press) var(--ease-press)}.agit-hero-secondary-action:hover{background:var(--control-hover);color:var(--accent-strong)}.agit-hero-secondary-action:active{transform:scale(var(--press-scale))}.agit-student-command-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:stretch;padding:0}.agit-student-command-metrics>span{min-width:0;display:grid;align-content:center;gap:var(--space-2);padding:var(--space-4);border-right:var(--stroke-subtle)}.agit-student-command-metrics>span:last-child{border-right:0}.agit-student-command-metrics small,.agit-section-head>span{color:var(--muted);font-size:var(--font-size-xs);font-weight:750}.agit-student-command-metrics strong{color:var(--text);font-family:var(--font-code);font-size:var(--font-size-metric);line-height:1}.agit-student-command-metrics em{margin-left:var(--space-1);color:var(--muted);font-family:var(--font-ui);font-size:var(--font-size-xs);font-style:normal}.agit-progress-line{height:6px;overflow:hidden;background:var(--progress-track)}.agit-progress-line span{display:block;height:100%;background:var(--accent);transition:width var(--motion-progress) var(--ease-standard)}.agit-student-workspace{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(350px,.72fr);align-items:start;gap:var(--agit-workspace-split-gap)}.agit-student-main,.agit-student-side{display:grid;gap:var(--agit-workspace-split-gap)}.agit-plan-panel,.agit-side-panel,.agit-growth-panel,.agit-student-ranking{border:var(--stroke-strong);border-radius:0;background:var(--surface)}.agit-plan-panel,.agit-growth-panel{padding:var(--space-5) var(--space-6)}.agit-side-panel{padding:var(--space-5)}.agit-section-head{min-height:var(--control-h-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-3);border-bottom:var(--stroke-default)}.agit-section-head h2{color:var(--text);font-size:var(--font-size-section);font-weight:850}.agit-section-head button{flex:0 0 auto;color:var(--muted);font-size:var(--font-size-label);font-weight:800}.agit-section-head button:hover{color:var(--accent)}.agit-plan-list,.agit-deadline-list{display:grid}.agit-plan-row{width:100%;min-height:74px;display:grid;grid-template-columns:98px minmax(0,1fr) auto 26px;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-1);border-bottom:var(--stroke-default);border-radius:0;text-align:left;transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-press) var(--ease-press)}.agit-plan-row:last-child,.agit-deadline-list button:last-child{border-bottom:0}.agit-plan-row:hover{color:var(--accent);background:var(--control-hover)}.agit-plan-type{color:var(--accent);font-size:var(--font-size-label);font-weight:850}.agit-plan-main{min-width:0;display:grid;gap:var(--space-1)}.agit-plan-main strong{overflow:hidden;color:var(--text);font-size:var(--font-size-md);text-overflow:ellipsis;white-space:nowrap}.agit-plan-main small,.agit-feedback p,.agit-empty{color:var(--muted);font-size:var(--font-size-sm);line-height:1.7}.agit-plan-progress{color:var(--text);font-size:var(--font-size-body);font-weight:800;white-space:nowrap}.agit-row-arrow{color:var(--accent);font-size:var(--font-size-heading);font-weight:900;text-align:right;transition:transform var(--motion-slow) var(--ease-emphasized)}.agit-plan-row:hover .agit-row-arrow,.agit-plan-row:focus-visible .agit-row-arrow{transform:translate(var(--space-1))}.agit-deadline-list button{width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:var(--stroke-default);text-align:left;transition:background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.agit-deadline-list button:hover{background:var(--control-hover)}.agit-dday{color:var(--muted);font-size:var(--font-size-sm);font-weight:900}.agit-dday.is-urgent{color:var(--bad)}.agit-deadline-list strong,.agit-deadline-list small{display:block}.agit-deadline-list strong{color:var(--text);font-size:var(--font-size-md)}.agit-deadline-list small,.agit-deadline-list em{color:var(--muted);font-size:var(--font-size-xs)}.agit-deadline-list em{font-style:normal;white-space:nowrap}.agit-feedback{display:grid;gap:var(--space-2);padding-top:var(--space-4)}.agit-feedback strong{color:var(--accent)}.agit-empty{margin:var(--space-4) 0 0}.agit-alert-block{padding-top:var(--space-4)}.agit-alert-block+.agit-alert-block{margin-top:var(--space-4);border-top:var(--stroke-default)}.agit-alert-block>header{min-height:var(--control-h-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.agit-alert-block h3{color:var(--text);font-size:var(--font-size-sm)}.agit-alert-block>header span,.agit-alert-block>header button{color:var(--muted);font-size:var(--font-size-xs);font-weight:750}.agit-alert-block>header button:hover,.agit-alert-block>header button:focus-visible{color:var(--accent)}.agit-achievement-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:var(--stroke-default)}.agit-achievement-summary>span{min-width:0;display:grid;gap:var(--space-2);padding:var(--space-4) var(--space-3);border-right:var(--stroke-default)}.agit-achievement-summary>span:first-child{padding-left:0}.agit-achievement-summary>span:last-child{border-right:0}.agit-achievement-summary small{color:var(--muted);font-size:var(--font-size-xs);font-weight:750}.agit-achievement-summary strong{color:var(--text);font-size:var(--font-size-metric);line-height:1}.agit-achievement-summary em{color:var(--muted);font-size:var(--font-size-sm);font-style:normal}.agit-growth-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:var(--space-5);padding-top:var(--space-4)}.agit-growth-body>section{min-width:0}.agit-growth-body>section+section{padding-left:var(--space-5);border-left:var(--stroke-default)}.agit-growth-section-head{min-height:var(--control-h-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.agit-growth-section-head h3{color:var(--text);font-size:var(--font-size-sm)}.agit-growth-section-head span,.agit-growth-section-head button{color:var(--muted);font-size:var(--font-size-xs);font-weight:750}.agit-growth-section-head button:hover{color:var(--accent)}.agit-category-progress{display:grid}.agit-category-row{min-height:48px;display:grid;grid-template-columns:minmax(120px,1fr) minmax(100px,1.5fr) 42px;align-items:center;gap:var(--space-3);border-bottom:var(--stroke-subtle)}.agit-category-row:last-child{border-bottom:0}.agit-category-row>span{min-width:0;display:grid;gap:2px}.agit-category-row strong{overflow:hidden;color:var(--text);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap}.agit-category-row small,.agit-category-row em{color:var(--muted);font-size:var(--font-size-xs);font-style:normal}.agit-category-row em{text-align:right}.agit-trend-chart{width:100%;height:150px;margin-top:var(--space-2);overflow:visible}.agit-chart-grid{fill:none;stroke:var(--chart-grid);stroke-width:1}.agit-chart-line{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.agit-chart-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2}.agit-trend-labels{display:grid;grid-template-columns:repeat(7,1fr);color:var(--muted);font-size:var(--font-size-label);text-align:center}.agit-trend-empty{min-height:150px;display:grid;place-items:center}.agit-student-ranking{min-width:0}.agit-ranking-head{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:var(--stroke-default)}.agit-ranking-head>div{display:grid;gap:var(--space-1)}.agit-ranking-head span{color:var(--accent);font-size:var(--font-size-xs);font-weight:850}.agit-ranking-head h2{color:var(--text);font-size:var(--font-size-section);font-weight:850}.agit-ranking-method{position:relative}.agit-ranking-method summary{min-height:var(--control-h-sm);display:inline-flex;align-items:center;gap:var(--space-2);color:var(--muted);cursor:pointer;font-size:var(--font-size-xs);font-weight:800;list-style:none}.agit-ranking-method summary::-webkit-details-marker{display:none}.agit-ranking-method summary:after{content:"+";color:var(--accent);font-family:var(--font-code);font-size:var(--font-size-md);line-height:1;transition:transform var(--motion-slow) var(--ease-emphasized)}.agit-ranking-method[open] summary:after{transform:rotate(45deg)}.agit-ranking-method summary:hover,.agit-ranking-method summary:focus-visible{color:var(--accent)}.agit-ranking-method>div{width:min(300px,calc(100vw - var(--space-8)));position:absolute;z-index:20;top:calc(100% + var(--space-2));right:0;display:grid;gap:var(--space-3);padding:var(--space-4);border:var(--stroke-accent);background:var(--surface-raised);box-shadow:var(--shadow-popover)}.agit-ranking-method>div>strong{color:var(--text);font-size:var(--font-size-sm)}.agit-ranking-method dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-top:var(--stroke-subtle);border-bottom:var(--stroke-subtle)}.agit-ranking-method dl div{display:grid;gap:var(--space-1);padding:var(--space-2);border-right:var(--stroke-subtle)}.agit-ranking-method dl div:last-child{border-right:0}.agit-ranking-method dt,.agit-ranking-method dd,.agit-ranking-method p{margin:0}.agit-ranking-method dt,.agit-ranking-method p{color:var(--muted);font-size:var(--font-size-xs);line-height:1.6}.agit-ranking-method dd{color:var(--text);font-size:var(--font-size-body);font-weight:850}.agit-ranking-current{min-height:126px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-5);padding:var(--space-4);border-bottom:var(--stroke-default);background:var(--surface-selected)}.agit-ranking-position{min-width:96px;display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:start;gap:0 var(--space-1)}.agit-ranking-position strong{color:var(--accent);font-family:var(--font-code);font-size:var(--font-size-stat);line-height:1}.agit-ranking-position em{color:var(--text);font-size:var(--font-size-md);font-style:normal;font-weight:850}.agit-ranking-position small{grid-column:1 / -1;margin-top:var(--space-1);color:var(--muted);font-size:var(--font-size-xs);font-weight:750}.agit-ranking-current-result{min-width:0;display:grid;gap:var(--space-1)}.agit-ranking-current-result>strong{color:var(--text);font-family:var(--font-code);font-size:var(--font-size-metric);line-height:1}.agit-ranking-current-result>strong small{margin-left:var(--space-1);color:var(--muted);font-family:var(--font-ui);font-size:var(--font-size-xs)}.agit-ranking-current-result span,.agit-ranking-current-result em{overflow:hidden;color:var(--muted);font-size:var(--font-size-xs);font-style:normal;text-overflow:ellipsis;white-space:nowrap}.agit-ranking-current-result em{color:var(--accent);font-weight:800}.agit-ranking-columns,.agit-student-rank-list li{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.agit-ranking-columns{min-height:34px;padding:0 var(--space-4);border-bottom:var(--stroke-subtle);background:var(--subtle-surface);color:var(--muted);font-size:var(--font-size-xs);font-weight:800}.agit-ranking-columns span:last-child{text-align:right}.agit-student-rank-list{margin:0;padding:0;list-style:none}.agit-student-rank-list li{min-height:58px;padding:var(--space-2) var(--space-4);border-bottom:var(--stroke-subtle);transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-press) var(--ease-press)}.agit-student-rank-list li:last-child{border-bottom:0}.agit-student-rank-list li:hover{background:var(--control-hover)}.agit-student-rank-list li.is-current{background:var(--surface-selected)}.agit-student-rank-list li.is-separated{border-top:var(--stroke-accent)}.agit-student-rank-number{color:var(--muted);font-family:var(--font-code);font-size:var(--font-size-body);font-weight:900}.agit-student-rank-list li:nth-child(-n+3) .agit-student-rank-number,.agit-student-rank-list li.is-current .agit-student-rank-number{color:var(--accent)}.agit-student-rank-name{min-width:0;display:grid;gap:var(--space-1)}.agit-student-rank-name strong{overflow:hidden;color:var(--text);font-size:var(--font-size-body);text-overflow:ellipsis;white-space:nowrap}.agit-student-rank-name strong small{margin-left:var(--space-2);padding-left:var(--space-2);border-left:var(--stroke-accent);color:var(--accent);font-size:var(--font-size-xs)}.agit-student-rank-name em{overflow:hidden;color:var(--muted);font-size:var(--font-size-xs);font-style:normal;text-overflow:ellipsis;white-space:nowrap}.agit-student-rank-points{display:flex;align-items:baseline;justify-content:flex-end;gap:var(--space-1);color:var(--text)}.agit-student-rank-points strong{font-family:var(--font-code);font-size:var(--font-size-md)}.agit-student-rank-points small{color:var(--muted);font-size:var(--font-size-xs)}.agit-ranking-empty{min-height:260px;display:grid;align-content:center;justify-items:center;gap:var(--space-2);padding:var(--space-6);text-align:center}.agit-ranking-empty strong{color:var(--text);font-size:var(--font-size-body)}.agit-ranking-empty p{margin:0;color:var(--muted);font-size:var(--font-size-sm);line-height:1.6}@media(max-width:1180px){.agit-student-command{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr)}.agit-student-command-metrics{grid-column:1 / -1;min-height:82px;border-top:var(--stroke-default)}}@media(max-width:1100px){.agit-student-workspace{grid-template-columns:1fr}}@media(max-width:820px){.agit-growth-body{grid-template-columns:1fr}.agit-growth-body>section+section{padding-top:var(--space-4);padding-left:0;border-top:var(--stroke-default);border-left:0}}@media(max-width:720px){.agit-student-home{gap:var(--space-3)}.agit-student-command{grid-template-columns:1fr}.agit-student-command-copy,.agit-student-next-task{padding:var(--space-4)}.agit-student-next-task{border-top:var(--stroke-default);border-right:0;border-left:0}.agit-student-command-metrics{grid-column:auto}.agit-continue-action{min-width:0;width:100%}.agit-plan-panel,.agit-side-panel,.agit-growth-panel{padding:var(--space-4)}.agit-plan-row{grid-template-columns:1fr 26px;gap:var(--space-2)}.agit-plan-type,.agit-plan-progress{grid-column:1 / -1}.agit-row-arrow{grid-column:2;grid-row:2}.agit-deadline-list button{grid-template-columns:42px minmax(0,1fr)}.agit-deadline-list em{grid-column:2}.agit-achievement-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.agit-achievement-summary>span,.agit-achievement-summary>span:first-child{padding:var(--space-3);border-bottom:var(--stroke-subtle)}.agit-achievement-summary>span:nth-child(2n){border-right:0}.agit-achievement-summary>span:nth-last-child(-n+2){border-bottom:0}.agit-category-row{grid-template-columns:minmax(0,1fr) 42px}.agit-category-row .agit-progress-line{grid-column:1 / -1;grid-row:2}.agit-trend-chart{height:140px}}@media(max-width:480px){.agit-student-next-task{grid-template-columns:minmax(0,1fr)}.agit-hero-secondary-action{min-height:var(--control-h)}.agit-student-command-metrics>span{padding-inline:var(--space-2)}}.agit-teacher-home{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:var(--agit-workspace-split-gap);color:var(--text)}.agit-teacher-hero{grid-column:1 / -1;display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.58fr);align-items:start;gap:0;padding:0;border:var(--stroke-strong);background:var(--surface)}.agit-teacher-home>.teacher-progress{grid-column:1 / -1}.agit-teacher-hero-copy{min-width:0;align-self:stretch;display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-areas:"symbol title";align-items:center;align-content:center;gap:var(--space-2) var(--space-4);padding:var(--space-5);border-right:var(--stroke-default)}.agit-teacher-hero h1{grid-area:title;max-width:720px;font-size:var(--font-size-display);line-height:1.34;font-weight:850}.agit-teacher-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.agit-teacher-overview>:is(span,button){min-width:0;min-height:74px;display:grid;align-content:center;gap:var(--space-1);padding:var(--space-3) var(--space-4);border-right:var(--stroke-subtle);border-radius:0;text-align:left;transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-press) var(--ease-press)}.agit-teacher-overview>:last-child{border-right:0}.agit-teacher-overview>button:hover{background:var(--control-hover)}.agit-teacher-overview>button:active{transform:scale(var(--press-scale))}.agit-teacher-overview small{color:var(--muted);font-size:var(--font-size-xs);font-weight:750}.agit-teacher-overview strong{color:var(--text);font-size:var(--font-size-metric);line-height:1}.agit-teacher-overview button strong{color:var(--accent)}.agit-teacher-overview em{margin-left:var(--space-1);color:var(--muted);font-size:var(--font-size-xs);font-style:normal}.agit-assignment-bar{height:5px;overflow:hidden;background:var(--progress-track)}.agit-assignment-bar span{display:block;height:100%;background:var(--accent)}.agit-teacher-panel{min-width:0;border:var(--stroke-strong);border-radius:0;background:var(--surface)}.agit-teacher-panel-head{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:.65rem .8rem;border-bottom:var(--stroke-default)}.agit-teacher-panel-head h2{display:flex;align-items:center;gap:.42rem;color:var(--text);font-size:var(--font-size-section);font-weight:850}.agit-teacher-panel-head h2 small{color:var(--muted);font-size:var(--font-size-xs);font-weight:800}.agit-teacher-panel-head button{color:var(--accent);font-size:var(--font-size-label);font-weight:850}.agit-teacher-panel-head button:disabled{color:var(--muted);cursor:not-allowed}.agit-rank-list,.agit-assignment-list{list-style:none;margin:0;padding:0;overflow:visible}.agit-rank-list{max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.agit-assignment-list{max-height:none}.agit-rank-row:first-child,.agit-assignment-list>li:first-child .agit-assignment-row{border-top:0}.agit-rank-row:hover,.agit-assignment-row:hover{background:var(--control-hover)}.agit-rank-main,.agit-rank-score{min-width:0;display:grid;gap:.12rem}.agit-rank-main strong,.agit-rank-score strong,.agit-assignment-main strong{overflow:hidden;color:var(--text);font-size:var(--font-size-body);text-overflow:ellipsis;white-space:nowrap}.agit-rank-main small,.agit-rank-score small,.agit-assignment-main small{overflow:hidden;color:var(--muted);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.agit-rank-columns{display:none;grid-template-columns:46px minmax(0,1fr) minmax(118px,auto);align-items:center;gap:var(--space-3);padding:.4rem .8rem;border-bottom:var(--stroke-default);background:var(--subtle-surface);color:var(--muted);font-size:var(--font-size-xs);font-weight:800}.agit-rank-columns span:last-child{text-align:right}.agit-rank-row{min-height:62px;display:grid;grid-template-columns:46px minmax(0,1fr) minmax(118px,auto);align-items:center;gap:var(--space-3);padding:.58rem .8rem;border-top:var(--stroke-subtle)}.agit-rank-row:nth-child(2n){border-left:var(--stroke-subtle)}.agit-rank-row:nth-child(2){border-top:0}.agit-rank-row:first-child{background:var(--surface-selected-soft)}.agit-rank-number{min-width:0;display:grid;align-content:center;gap:.08rem;color:var(--muted)}.agit-rank-number strong{font-family:var(--font-code);font-size:var(--font-size-body);font-weight:900;line-height:1}.agit-rank-number small{color:var(--muted);font-size:var(--font-size-xs);font-weight:900;letter-spacing:0}.agit-rank-row.is-leading .agit-rank-number strong,.agit-rank-row.is-leading .agit-rank-number small{color:var(--accent)}.agit-rank-main strong{font-size:var(--font-size-body)}.agit-rank-score{width:100%;justify-items:end;gap:.2rem;text-align:right}.agit-rank-score-value{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:.16rem}.agit-rank-score-value strong{color:var(--text);font-family:var(--font-code);font-size:var(--font-size-md);font-weight:900}.agit-rank-score-value small{color:var(--muted);font-size:var(--font-size-xs);font-weight:750}.agit-rank-score-meta{display:flex;justify-content:flex-end;gap:.42rem}.agit-rank-score-meta small{color:var(--muted);font-size:var(--font-size-xs);font-weight:700}.agit-rank-progress{width:min(100%,118px);height:3px;overflow:hidden;background:var(--progress-track)}.agit-rank-progress i{display:block;height:100%;background:var(--accent)}.agit-assignment-panel{width:100%}.agit-assignment-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:center;gap:var(--space-4);padding:.86rem var(--space-4);border:0;background:var(--surface);color:inherit;text-align:left;cursor:pointer;transition:background var(--motion-base) var(--ease-standard)}.agit-assignment-list>li+li .agit-assignment-row{border-top:var(--stroke-subtle)}.agit-assignment-main{min-width:0;display:grid;gap:.18rem}.agit-assignment-main strong span{display:inline-flex;margin-right:.48rem;padding:.1rem .45rem;border:var(--stroke-accent);background:var(--accent-soft);color:var(--accent);font-size:var(--font-size-xs)}.agit-assignment-progress{display:grid;grid-template-columns:minmax(0,1fr) 76px;align-items:center;gap:var(--space-3)}.agit-assignment-progress>span:last-child{display:grid;justify-items:end;gap:.1rem}.agit-assignment-progress strong{color:var(--text);font-size:var(--font-size-body)}.agit-assignment-progress small{color:var(--muted);font-size:var(--font-size-xs)}.agit-assignment-more{width:100%;min-height:var(--control-h-lg);padding:var(--space-2) var(--space-4);border-top:var(--stroke-default);background:var(--surface-soft);color:var(--accent);font-size:var(--font-size-xs);font-weight:800;text-align:left}.agit-assignment-more:hover,.agit-assignment-more:focus-visible{background:var(--surface-selected)}.agit-teacher-empty{margin:0;padding:1.1rem var(--space-4);color:var(--muted);font-size:var(--font-size-body)}@media(max-width:1100px){.agit-teacher-home,.agit-teacher-hero{grid-template-columns:1fr}.agit-teacher-hero-copy{border-right:0;border-bottom:var(--stroke-default)}.agit-rank-panel,.agit-assignment-panel{grid-column:1}}@media(max-width:720px){.agit-rank-row,.agit-assignment-row{grid-template-columns:1fr}.agit-teacher-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.agit-teacher-overview>:nth-child(2){border-right:0}.agit-teacher-overview>:nth-child(-n+2){border-bottom:var(--stroke-subtle)}.agit-rank-list{grid-template-columns:1fr}.agit-rank-row:nth-child(2n){border-left:0}.agit-rank-row:nth-child(2){border-top:var(--stroke-subtle)}.agit-teacher-hero{padding:0}.agit-teacher-hero h1{font-size:var(--font-size-title-lg)}.agit-rank-list,.agit-assignment-list{max-height:none}.agit-rank-score{text-align:left;justify-items:start}.agit-assignment-progress{grid-template-columns:1fr 70px}}.cos-page{display:flex;flex-direction:column;gap:1rem}.cos-summary-row{display:flex;flex-wrap:wrap;gap:.5rem}.cos-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.cos-catalog-card{display:flex;flex-direction:column;align-items:flex-start;gap:.625rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius-8);background:var(--surface);color:var(--text);text-align:left}.cos-catalog-card:hover:not(:disabled){border-color:var(--accent-border);background:var(--accent-soft)}.cos-catalog-card:disabled{opacity:.55;cursor:not-allowed}.cos-catalog-badge{display:grid;place-items:center;width:52px;height:52px;border-radius:var(--radius-8);background:var(--accent);color:var(--color-on-accent);font-weight:800}.cos-catalog-title{font-size:var(--font-size-title);font-weight:700}.cos-catalog-tagline{color:var(--muted);font-size:var(--font-size-body)}.cos-catalog-meta{color:var(--muted);font-size:var(--font-size-label)}.cos-catalog-card .cos-progress-label,.cos-catalog-card .cos-progress-track{width:100%}.cos-progress-label{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;color:var(--muted);font-size:var(--font-size-label)}.cos-progress-label strong{color:var(--accent);font-size:var(--font-size-body)}.cos-progress-track{position:relative;height:8px;border-radius:999px;background:var(--surface-soft);overflow:hidden}.cos-progress-fill{position:absolute;top:0;right:0;bottom:0;left:0;width:0;border-radius:999px;background:var(--accent)}.cos-back-link{display:inline-flex;align-items:center;gap:.35rem;align-self:flex-start;border:none;background:none;padding:0;color:var(--muted);font-size:var(--font-size-label)}.cos-back-link:hover{color:var(--text)}.cos-course-header{display:flex;gap:1.25rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius-8);background:var(--surface)}.cos-course-header-badge{flex-shrink:0;display:grid;place-items:center;width:84px;height:84px;border-radius:var(--radius-8);background:var(--accent);color:var(--color-on-accent);font-size:var(--font-size-title);font-weight:800}.cos-course-header-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.cos-course-header-body h1{margin:0;font-size:var(--font-size-title-lg)}.cos-course-header-last{color:var(--muted);font-size:var(--font-size-label)}.cos-course-header-last strong{color:var(--text)}.cos-course-header-body .cos-progress-label{margin-top:.25rem}.cos-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line)}.cos-tab-btn{padding:.7rem 1rem;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--muted);font-weight:600}.cos-tab-btn:hover{color:var(--text)}.cos-tab-btn.is-active{color:var(--accent);border-bottom-color:var(--accent)}.cos-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:1.25rem}.cos-layout-main{min-width:0}.cos-curriculum{border:1px solid var(--line);border-radius:var(--radius-8);background:var(--surface);overflow:hidden}.cos-curriculum-toolbar{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid var(--line)}.cos-curriculum-toggle-all{border:none;background:none;color:var(--muted);font-size:var(--font-size-label)}.cos-curriculum-toggle-all:hover{color:var(--text)}.cos-curriculum-section+.cos-curriculum-section{border-top:1px solid var(--line)}.cos-curriculum-section-toggle{display:flex;align-items:center;gap:.75rem;width:100%;min-height:56px;padding:.85rem 1rem;border:none;background:none;color:var(--text);text-align:left}.cos-curriculum-section-toggle:hover{background:var(--accent-soft)}.cos-curriculum-section-index{min-width:1.75rem;color:var(--muted);font-weight:700}.cos-curriculum-section-copy{display:flex;flex-direction:column;min-width:0}.cos-curriculum-section-name{font-weight:700}.cos-curriculum-section-focus{color:var(--muted);font-size:var(--font-size-label)}.cos-curriculum-section-count{margin-left:auto;color:var(--muted);font-size:var(--font-size-label)}.cos-curriculum-section-chevron{color:var(--muted);transition:transform .15s ease}.cos-curriculum-section.is-open .cos-curriculum-section-chevron{transform:rotate(180deg)}.cos-curriculum-rows{border-top:1px solid var(--line-soft);background:var(--surface-soft)}.cos-curriculum-row{display:flex;align-items:center;gap:.5rem;width:100%;min-height:48px;padding:.3rem 1rem .3rem 2.75rem}.cos-curriculum-row-main{display:flex;align-items:center;gap:.625rem;flex:1;min-width:0;min-height:48px;padding:.55rem 0;border:none;background:none;text-align:left}.cos-curriculum-row-manage{flex:0 0 auto;border:1px solid var(--line);background:var(--surface);color:var(--text-soft);border-radius:var(--radius-8);padding:.3rem .65rem;font-size:var(--font-size-label)}.cos-curriculum-row-manage:hover{border-color:var(--accent-border);color:var(--accent)}.cos-curriculum-row:hover{background:var(--accent-soft)}.cos-curriculum-row-icon{color:var(--muted);font-family:var(--font-code);font-size:var(--font-size-label)}.cos-curriculum-row-title{flex:1;min-width:0}.cos-curriculum-row-status{display:flex;align-items:center;gap:.25rem;color:var(--muted);font-size:var(--font-size-label);white-space:nowrap}.cos-curriculum-row-status.is-done{color:var(--ok);font-weight:700}.cos-info-panel{display:flex;flex-direction:column;gap:1rem}.cos-info-panel ol{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.35rem}.cos-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem 1.5rem;margin:0}.cos-info-row{display:flex;flex-direction:column;gap:.15rem;padding-bottom:.5rem;border-bottom:1px solid var(--line-soft)}.cos-info-row dt{color:var(--muted);font-size:var(--font-size-label)}.cos-info-row dd{margin:0;font-weight:600}.cos-scope-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.cos-scope-list li{display:flex;flex-wrap:wrap;gap:.5rem .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--line-soft)}.cos-scope-list li:last-child{border-bottom:none;padding-bottom:0}.cos-scope-list strong{min-width:130px}.cos-scope-list span{color:var(--muted)}.cos-study-plan{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.75rem}.cos-study-plan li strong{display:block;margin-bottom:.2rem}.cos-study-plan li p{margin:0;color:var(--muted);line-height:1.55}.cos-resource-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.cos-resource-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.cos-resource-list a{color:var(--accent);font-weight:600}.cos-sidebar{display:flex;flex-direction:column;gap:1rem}.cos-sidebar-card{padding:1rem;border:1px solid var(--line);border-radius:var(--radius-8);background:var(--surface)}.cos-sidebar-card h3{margin:0 0 .75rem;font-size:var(--font-size-body)}.cos-sidebar-stats{display:flex;flex-direction:column;gap:.4rem}.cos-sidebar-stats .summary-pill{border-left:0;padding:0;justify-content:space-between;width:100%}.cos-sidebar-empty{margin:0;padding:.5rem 0;color:var(--muted);font-size:var(--font-size-label);text-align:center}@media(max-width:960px){.cos-layout{grid-template-columns:1fr}}.cos-window{padding:.75rem 1rem 1rem}.cos-window-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.625rem .875rem;border:1px solid var(--line);border-radius:var(--radius-8);background:var(--surface)}.cos-window-title{display:flex;align-items:baseline;gap:.5rem}.cos-window-title strong{font-size:var(--font-size-title)}.cos-window-title span{color:var(--muted);font-size:var(--font-size-label)}.cos-window-nav{display:flex;flex-wrap:wrap;gap:.3rem}.cos-window-nav-btn{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:var(--radius-6);background:var(--surface-soft);color:var(--text);font-weight:700}.cos-window-nav-btn:hover{border-color:var(--accent-border);background:var(--accent-soft)}.cos-window-nav-btn.is-good{border-color:var(--ok-border);background:var(--ok-soft);color:var(--ok)}.cos-window-nav-btn.is-warn{border-color:var(--warn-border);background:var(--warn-soft);color:var(--warn)}.cos-window-nav-btn.is-bad{border-color:var(--bad-border);background:var(--bad-soft);color:var(--bad)}.cos-window-nav-btn.is-current{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.cos-window-bar>.cos-score-chip{margin-left:auto}.cos-workbench{display:grid;grid-template-columns:minmax(230px,300px) minmax(340px,420px) minmax(0,1fr);gap:.75rem;min-height:680px}.cos-workbench.is-jimun-collapsed{grid-template-columns:42px minmax(340px,420px) minmax(0,1fr)}.cos-window .cos-workbench{min-height:calc(100vh - 150px)}.cos-jimun-panel,.cos-stage-panel,.cos-block-panel{min-width:0;border:1px solid var(--line);border-radius:var(--radius-8);background:var(--surface)}.cos-jimun-panel{display:flex;flex-direction:column;overflow:hidden}.cos-jimun-panel>header,.cos-block-panel>header,.cos-stage-panel>header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:44px;padding:.625rem .75rem;border-bottom:1px solid var(--line)}.cos-jimun-scroll{display:flex;flex-direction:column;gap:.875rem;padding:.875rem;overflow:auto}.cos-jimun-scroll h3{margin:0 0 .35rem;font-size:var(--font-size-body)}.cos-jimun-scroll p,.cos-jimun-scroll li,.cos-var-row span{color:var(--text);font-size:var(--font-size-body);line-height:1.55}.cos-jimun-scroll ol,.cos-jimun-scroll ul{margin:.25rem 0 0;padding-left:1.25rem}.cos-var-row{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.5rem;padding:.35rem 0}.cos-target-block,.cos-task-block{padding-top:.65rem;border-top:1px solid var(--line-soft)}.cos-jimun-rail{display:grid;place-items:center;min-height:100%;border:1px solid var(--line);border-radius:var(--radius-8);background:var(--surface);color:var(--muted);writing-mode:vertical-rl}.cos-stage-panel{display:flex;flex-direction:column;overflow:hidden}.cos-stage-panel-body{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;min-height:0;overflow:auto}.cos-tool-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.cos-score-chip{display:inline-flex;align-items:center;justify-content:center;min-height:28px;min-width:72px;padding:0 .625rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:var(--font-size-label);font-weight:700}.cos-score-chip.is-good{border-color:var(--ok-border);background:var(--ok-soft);color:var(--ok)}.cos-score-chip.is-warn{border-color:var(--warn-border);background:var(--warn-soft);color:var(--warn)}.cos-score-chip.is-bad{border-color:var(--bad-border);background:var(--bad-soft);color:var(--bad)}.cos-stage-panel .stage-panel{width:100%}.cos-stage-panel .stage-canvas{width:100%;height:auto;aspect-ratio:4 / 3}.cos-sprite-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:.5rem}.cos-sprite-list button{position:relative;display:grid;justify-items:center;gap:.25rem;min-height:88px;padding:.5rem;border:1px solid var(--line);border-radius:var(--radius-6);background:var(--surface-soft);color:var(--text)}.cos-sprite-list button.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.cos-sprite-list img{width:42px;height:42px;object-fit:contain}.cos-sprite-list em{position:absolute;top:.25rem;right:.25rem;padding:.1rem .3rem;border-radius:999px;background:var(--accent);color:var(--color-on-accent);font-size:.65rem;font-style:normal}.cos-block-panel{display:flex;flex-direction:column;overflow:hidden}.cos-block-panel header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cos-block-surface{min-height:0;flex:1}.cos-block-surface .blockly-container{width:100%;height:100%;min-height:620px}@media(max-width:1280px){.cos-workbench,.cos-workbench.is-jimun-collapsed{grid-template-columns:1fr}.cos-workbench .cos-jimun-panel,.cos-workbench .cos-jimun-rail{order:1}.cos-workbench .cos-stage-panel{order:2}.cos-workbench .cos-block-panel{order:3}.cos-block-surface .blockly-container{min-height:560px}}.cos-curriculum-toolbar-actions{display:flex;align-items:center;gap:1rem}.cos-curriculum-new-btn{border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-8);padding:.4rem .75rem;font-size:var(--font-size-label);font-weight:600}.cos-curriculum-new-btn:hover{background:var(--accent);color:var(--surface)}.cos-editor{display:flex;flex-direction:column;gap:1rem}.cos-editor-list{display:flex;flex-direction:column;gap:.5rem}.cos-editor-row{display:flex;align-items:center;gap:.5rem}.cos-editor-row input,.cos-editor-row select{flex:1;min-width:0}.cos-editor-sprite-row{flex-wrap:wrap}.cos-editor-sprite-row input[type=number]{flex:0 0 5rem}.cos-editor-target{border:1px solid var(--line);border-radius:var(--radius-8);padding:.85rem;display:flex;flex-direction:column;gap:.6rem}.cos-editor-task{border-left:2px solid var(--accent-border);padding-left:.75rem;display:flex;flex-direction:column;gap:.4rem}.cos-editor-step{display:flex;flex-direction:column;gap:.3rem}.cos-editor-sub-row{margin-left:1.5rem}.cos-editor-block-editors{display:flex;flex-direction:column;gap:1rem}.cos-block-editor{border:1px solid var(--line);border-radius:var(--radius-8);overflow:hidden;display:flex;flex-direction:column}.cos-block-editor>header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.6rem .85rem;border-bottom:1px solid var(--line);background:var(--surface)}.cos-block-editor-tabs{display:flex;gap:.4rem}.cos-block-editor .cos-block-surface .blockly-container{min-height:480px}.cos-editor-footer{display:flex;flex-direction:column;gap:.5rem}.cos-editor-error{color:var(--danger, #d1453b);font-size:var(--font-size-label);margin:0}.blockly-container .blocklyToolbox{padding:6px 0;border-right:1px solid var(--line);background:#fff}.agitCat{cursor:pointer}.agitCatRow{margin:0 5px 2px;padding:8px 4px 6px;border-left:0!important;border-radius:10px}.agitCatRow .blocklyTreeRowContentContainer{display:flex;flex-direction:column;align-items:center;gap:4px}.agitCatRow:hover{background:#f0f3fa}.agitCatSelected{background:#e7edfb}.agitCatIcon{width:22px;height:22px;border-radius:50%;border:1px solid rgba(0,0,0,.12)}.agitCatIcon--motion{background:#4c97ff}.agitCatIcon--looks{background:#96f}.agitCatIcon--sc-sound{background:#cf63cf}.agitCatIcon--sc-events{background:#ffbf00}.agitCatIcon--sc-control{background:#ffab19}.agitCatIcon--sc-sensing{background:#5cb1d6}.agitCatIcon--operators{background:#59c059}.agitCatIcon--variables{background:#ff8c1a}.agitCatIcon--myblocks{background:#ff6680}.agitCatIcon--motors{background:#0090f5}.agitCatIcon--movement{background:#ff4ca6}.agitCatIcon--light{background:#9b6af6}.agitCatIcon--sound{background:#cf63cf}.agitCatIcon--events{background:#ffbf00}.agitCatIcon--control{background:#ffab19}.agitCatIcon--sensors{background:#5cb1d6}.agitCatLabel{max-width:64px;overflow:hidden;color:#575e75;font-size:11px;font-weight:600;text-align:center;text-overflow:ellipsis;white-space:nowrap}.blockly-container .blocklyZoom,.blockly-container .blocklyTrash{opacity:.75}.teacher-progress{min-width:0;border:var(--stroke-strong);border-radius:0;background:var(--surface);overflow:hidden}.teacher-progress-head{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3);border-bottom:var(--stroke-default)}.teacher-progress-head h2,.teacher-progress-student-head h3,.teacher-progress-detail-section h4{margin:0;color:var(--text);letter-spacing:0}.teacher-progress-head h2{font-size:var(--font-size-section);font-weight:850}.teacher-progress-head p,.teacher-progress-student-head p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--font-size-sm)}.teacher-progress-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4)}.teacher-progress-head-actions>.btn{flex:0 0 auto;min-height:var(--control-h-sm)}.teacher-progress-summary{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-5);color:var(--muted);font-size:var(--font-size-xs);white-space:nowrap}.teacher-progress-summary strong{margin-left:var(--space-1);color:var(--text);font-size:var(--font-size-body)}.teacher-progress-summary .is-warning,.teacher-progress-summary .is-warning strong{color:var(--warn)}.teacher-progress-assignment-alert{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--warn-border);background:var(--warn-soft)}.teacher-progress-assignment-alert>div{min-width:0;display:grid;gap:.18rem}.teacher-progress-assignment-alert strong{color:var(--text);font-size:var(--font-size-sm);font-weight:850}.teacher-progress-assignment-alert span{color:var(--text-soft);font-size:var(--font-size-xs)}.teacher-progress-assignment-alert .btn{flex:0 0 auto;border-color:var(--warn-border);color:var(--warn)}.teacher-progress-filters{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(220px,1.35fr) minmax(130px,.7fr) minmax(180px,1fr) auto;align-items:end;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:var(--stroke-default);background:var(--surface)}.teacher-progress-filters label{min-width:0;gap:var(--space-1)}.teacher-progress-filters label>span{color:var(--muted);font-size:var(--font-size-xs);font-weight:800}.teacher-progress-filters :is(.ui-select-trigger,input){width:100%;height:var(--control-h);border-radius:var(--radius-control);color:var(--text);font-size:var(--font-size-sm)}.teacher-progress-filters input{background:var(--control-bg)}.teacher-progress-filters>.btn{height:var(--control-h)}.teacher-progress-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}.teacher-progress-layout.has-detail{grid-template-columns:minmax(0,1fr) minmax(310px,350px)}.teacher-progress-main{min-width:0}.teacher-progress-layout.has-detail .teacher-progress-main{border-right:var(--stroke-default)}.teacher-progress-scope-summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-bottom:var(--stroke-default);background:var(--surface)}.teacher-progress-scope-summary strong{min-width:0;overflow:hidden;color:var(--text);font-size:var(--font-size-label);text-overflow:ellipsis;white-space:nowrap}.teacher-progress-scope-summary span{flex:0 0 auto;color:var(--muted);font-size:var(--font-size-xs)}.teacher-progress-table-wrap{min-width:0}.teacher-progress-table{width:100%;border-collapse:collapse;table-layout:fixed}.teacher-progress-table :is(th,td){height:50px;padding:var(--space-2);border-right:var(--stroke-subtle);border-bottom:var(--stroke-subtle);background:var(--surface);color:var(--text-soft);font-size:var(--font-size-xs);text-align:center;vertical-align:middle}.teacher-progress-table :is(th,td):last-child{border-right:0}.teacher-progress-table thead th{height:var(--control-h-lg);background:var(--surface-soft);color:var(--muted);font-size:var(--font-size-xs);font-weight:800}.teacher-progress-table thead th:nth-child(1){width:23%}.teacher-progress-table thead th:nth-child(2){width:25%}.teacher-progress-table thead th:nth-child(3),.teacher-progress-table thead th:nth-child(4),.teacher-progress-table thead th:nth-child(5){width:11%}.teacher-progress-table thead th:nth-child(6){width:19%}.teacher-progress-table tbody tr:hover>*{background:var(--control-hover)}.teacher-progress-table tbody tr.is-selected>*,.teacher-progress-table tbody tr.is-selected:hover>*{background:var(--control-selected)}.teacher-progress-table tbody tr.is-selected .teacher-progress-student-col strong{color:var(--accent-strong)}.teacher-progress-table .teacher-progress-student-col{text-align:left}.teacher-progress-student-col button,.teacher-progress-rate-col button{width:100%;min-width:0;display:grid;text-align:left}.teacher-progress-student-col button{gap:.12rem}.teacher-progress-student-col strong,.teacher-progress-student-col small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-progress-student-col strong{color:var(--text);font-size:var(--font-size-sm)}.teacher-progress-student-col small,.teacher-progress-rate-col small{color:var(--muted);font-size:var(--font-size-xs)}.teacher-progress-rate-col button{grid-template-columns:auto minmax(36px,1fr) auto;align-items:center;gap:var(--space-2)}.teacher-progress-rate-col strong{color:var(--text);font-size:var(--font-size-label)}.teacher-progress-rate-col button>span{height:4px;overflow:hidden;background:var(--progress-track)}.teacher-progress-rate-col button>span i{display:block;height:100%;background:var(--progress-fill)}.teacher-progress-count{color:var(--muted);font-family:var(--font-code);font-size:var(--font-size-sm)}.teacher-progress-count.is-completed{color:var(--ok)}.teacher-progress-count.is-attempted{color:var(--warn)}.teacher-progress-count.is-attention{color:var(--bad)}.teacher-progress-table td.teacher-progress-latest{color:var(--muted);font-size:var(--font-size-xs);white-space:nowrap}.teacher-progress-main>.table-pagination{min-height:48px;margin:0;padding:var(--space-2) var(--space-4);border-top:0}.teacher-progress-empty{margin:0;padding:var(--space-6) var(--space-4);color:var(--muted);font-size:var(--font-size-sm);line-height:1.6;text-align:center}@media(max-width:1180px){.teacher-progress-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-progress-filters>.btn{justify-self:start}.teacher-progress-layout{grid-template-columns:minmax(0,1fr) 300px}.teacher-progress-layout:not(.has-detail){grid-template-columns:minmax(0,1fr)}}@media(max-width:980px){.teacher-progress-layout{grid-template-columns:1fr}.teacher-progress-main{border-right:0}.teacher-progress-detail{border-top:var(--stroke-default)}}@media(max-width:720px){.teacher-progress-head{align-items:flex-start;flex-direction:column}.teacher-progress-summary{width:100%;justify-content:flex-start;gap:var(--space-3);white-space:normal;flex-wrap:wrap}.teacher-progress-head-actions{width:100%;align-items:flex-start;flex-direction:column}.teacher-progress-assignment-alert{align-items:flex-start;flex-direction:column}.teacher-progress-assignment-alert .btn,.teacher-progress-filters>.btn{width:100%}.teacher-progress-filters{grid-template-columns:1fr}.teacher-progress-scope-summary{align-items:flex-start;flex-direction:column;gap:var(--space-1)}.teacher-progress-table thead th:nth-child(1){width:31%}.teacher-progress-table thead th:nth-child(2){width:31%}.teacher-progress-table thead th:nth-child(5){width:18%}.teacher-progress-table thead th:nth-child(6){width:20%}.teacher-progress-table :is(th,td):nth-child(3),.teacher-progress-table :is(th,td):nth-child(4){display:none}.teacher-progress-rate-col button{grid-template-columns:auto 1fr}.teacher-progress-rate-col small{display:none}.teacher-progress-stats,.teacher-progress-focus dl,.teacher-progress-actions{grid-template-columns:1fr}.teacher-progress-stats{gap:var(--space-3)}.teacher-progress-stats div,.teacher-progress-stats div:first-child,.teacher-progress-stats div:last-child{padding:0;border-left:0}}.teacher-progress-detail{min-width:0;background:var(--surface)}.teacher-progress-student-head{min-height:70px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3);border-bottom:var(--stroke-default)}.teacher-progress-student-head>button{width:var(--control-h-sm);height:var(--control-h-sm);display:grid;place-items:center;color:var(--muted);font-size:var(--font-size-md);line-height:1;transition:background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),transform var(--motion-press) var(--ease-press)}.teacher-progress-student-head>button:hover,.teacher-progress-student-head>button:focus-visible{background:var(--control-hover);color:var(--text)}.teacher-progress-student-head>button:active{transform:scale(var(--press-scale))}.teacher-progress-student-head>span{width:var(--avatar-size);height:var(--avatar-size);flex:0 0 var(--avatar-size);display:grid;place-items:center;border:var(--stroke-accent);border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:var(--font-size-md);font-weight:900}.teacher-progress-student-head h3{font-size:var(--font-size-section)}.teacher-progress-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:var(--space-3);border-bottom:var(--stroke-default)}.teacher-progress-stats div{min-width:0;display:grid;gap:var(--space-1);padding:0 var(--space-3);border-left:var(--stroke-subtle)}.teacher-progress-stats div:first-child{padding-left:0;border-left:0}.teacher-progress-stats div:last-child{padding-right:0}.teacher-progress-stats dt,.teacher-progress-focus dt{color:var(--muted);font-size:var(--font-size-xs)}.teacher-progress-stats dd,.teacher-progress-focus dd{min-width:0;margin:0;color:var(--text);font-size:var(--font-size-label);font-weight:800;overflow-wrap:anywhere}.teacher-progress-focus{padding:var(--space-3);border-bottom:var(--stroke-default);background:var(--surface-selected-soft)}.teacher-progress-focus header{display:grid;gap:var(--space-1)}.teacher-progress-focus header span{color:var(--accent);font-size:var(--font-size-xs);font-weight:800}.teacher-progress-focus header strong{color:var(--text);font-size:var(--font-size-md)}.teacher-progress-focus dl{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin:var(--space-3) 0 0}.teacher-progress-focus dl div{min-width:0;display:grid;gap:var(--space-1)}.teacher-progress-focus dd.is-completed,.teacher-progress-state-label.is-completed{color:var(--ok)}.teacher-progress-focus dd.is-attempted,.teacher-progress-state-label.is-attempted{color:var(--warn)}.teacher-progress-focus dd.is-overdue,.teacher-progress-state-label.is-overdue{color:var(--bad)}.teacher-progress-focus dd.is-unassigned,.teacher-progress-state-label.is-unassigned{color:var(--muted)}.teacher-progress-detail-section{padding:var(--space-3);border-bottom:var(--stroke-default)}.teacher-progress-detail-section h4{font-size:var(--font-size-sm)}.teacher-progress-detail-section>p{margin:var(--space-3) 0 0;color:var(--muted);font-size:var(--font-size-xs);line-height:1.55}.teacher-progress-detail-section ul{list-style:none;margin:var(--space-2) 0 0;padding:0}.teacher-progress-detail-section li{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-top:var(--stroke-subtle)}.teacher-progress-detail-section li:first-child{border-top:0}.teacher-progress-detail-section li>div{min-width:0;display:grid;gap:.12rem}.teacher-progress-attention-button{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:inherit;text-align:left}.teacher-progress-attention-button:hover strong,.teacher-progress-attention-button:focus-visible strong{color:var(--accent)}.teacher-progress-attention-button>span:first-child{min-width:0;display:grid;gap:.12rem}.teacher-progress-detail-section li strong,.teacher-progress-detail-section li small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-progress-detail-section li strong{color:var(--text-soft);font-size:var(--font-size-xs)}.teacher-progress-detail-section li small{color:var(--muted);font-size:var(--font-size-xs)}.teacher-progress-state-label{flex:0 0 auto;font-size:var(--font-size-xs);font-weight:800}.teacher-progress-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);padding:var(--space-4)}.teacher-progress-actions .btn{min-height:var(--control-h)}.teacher-progress-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.teacher-submission-filters{grid-template-columns:repeat(5,minmax(0,1fr)) auto;align-items:end}.teacher-submission-filter-actions{min-height:var(--control-h);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);white-space:nowrap}.teacher-submission-filter-actions>span{color:var(--muted);font-size:var(--font-size-xs);font-weight:750}.teacher-submission-filter-actions strong{color:var(--text);font-family:var(--font-code)}.teacher-submission-list{min-width:0;min-height:0;display:grid;gap:var(--space-3)}.teacher-submission-table{min-width:1040px;table-layout:fixed}.teacher-submission-table thead th{position:sticky;top:0;z-index:2;height:var(--control-h-lg);padding:var(--space-2) var(--space-3);background:var(--surface);color:var(--muted);font-size:var(--font-size-xs);font-weight:850;text-transform:none}.teacher-submission-table td{height:var(--row-h);padding:var(--space-2) var(--space-3);border-bottom:var(--stroke-default)}.teacher-submission-col-student{width:180px}.teacher-submission-col-problem{width:190px}.teacher-submission-col-source,.teacher-submission-col-date{width:150px}.teacher-submission-col-status{width:124px}.teacher-submission-col-tests,.teacher-submission-col-runtime,.teacher-submission-col-code{width:84px}.teacher-submission-col-student>strong,.teacher-submission-col-student>p,.teacher-submission-col-problem>strong,.teacher-submission-col-problem>p,.teacher-submission-source{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-submission-col-date,.teacher-submission-col-tests,.teacher-submission-col-runtime,.teacher-submission-col-code,.teacher-submission-col-status{white-space:nowrap}.teacher-submission-col-code .btn{min-width:76px;white-space:nowrap}.teacher-submission-source{color:var(--text-soft);font-size:var(--font-size-xs);font-weight:700}.teacher-submission-source.is-assignment{color:var(--accent-strong)}@media(min-width:761px){.teacher-submissions-page{height:calc(100dvh - var(--header-h) - var(--footer-h) - var(--shell-pad-y) - var(--space-6));min-height:0;grid-template-rows:auto auto minmax(0,1fr);align-content:stretch;overflow:hidden}.teacher-submission-list{min-height:0;grid-template-rows:minmax(0,1fr);overflow:hidden}.teacher-submission-list.has-pagination{grid-template-rows:minmax(0,1fr) auto}.teacher-submission-table-viewport{height:100%;min-height:0}}@media(max-width:1100px){.teacher-submission-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-submission-table{width:100%;min-width:0}.teacher-submission-col-student{width:17%}.teacher-submission-col-problem{width:18%}.teacher-submission-col-source,.teacher-submission-col-date{width:14%}.teacher-submission-col-status{width:11%}.teacher-submission-col-tests{width:7%}.teacher-submission-col-runtime{width:8%}.teacher-submission-col-code{width:11%}}@media(max-width:900px){.teacher-submissions-page,.teacher-submission-list{height:auto;overflow:visible}.teacher-submission-list{grid-template-rows:auto}.teacher-submission-list.has-pagination{grid-template-rows:auto auto}.teacher-submission-table-viewport{height:auto;overflow:hidden}.teacher-submission-table{display:block;width:100%;min-width:0}.teacher-submission-table thead{display:none}.teacher-submission-table tbody{display:grid}.teacher-submission-table tbody tr{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto 82px;grid-template-areas:"student problem problem code" "source status tests code" "date date runtime code";align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:var(--stroke-default)}.teacher-submission-table tbody tr:last-child{border-bottom:0}.teacher-submission-table td{width:auto;height:auto;min-width:0;padding:.15rem 0;border-bottom:0}.teacher-submission-table .empty-cell{grid-column:1 / -1;padding:var(--space-6) var(--space-3)}.teacher-submission-col-student{grid-area:student}.teacher-submission-col-problem{grid-area:problem}.teacher-submission-col-source{grid-area:source}.teacher-submission-col-status{grid-area:status}.teacher-submission-col-tests{grid-area:tests;justify-self:end}.teacher-submission-col-runtime{grid-area:runtime;justify-self:end}.teacher-submission-col-date{grid-area:date}.teacher-submission-col-code{grid-area:code;align-self:stretch;display:grid;place-items:center}.teacher-submission-col-source,.teacher-submission-col-status,.teacher-submission-col-tests,.teacher-submission-col-runtime,.teacher-submission-col-date{display:flex;align-items:center;gap:var(--space-2)}.teacher-submission-col-source:before,.teacher-submission-col-status:before,.teacher-submission-col-tests:before,.teacher-submission-col-runtime:before,.teacher-submission-col-date:before{content:attr(data-label);flex:0 0 auto;color:var(--muted);font-family:var(--font-ui);font-size:var(--font-size-xs);font-weight:750}}@media(min-width:761px)and (max-height:700px){.teacher-submissions-page{gap:var(--space-2)}.teacher-submissions-page .page-head-copy>p{display:none}.teacher-submission-filters{grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:var(--space-1);padding:var(--space-2)}.teacher-submission-filters .ui-field-control>span:first-child{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.teacher-submission-filters .ui-select-trigger{height:var(--control-h-sm);min-height:var(--control-h-sm)}.teacher-submission-list{gap:var(--space-1)}.teacher-submission-list>.numbered-pagination{min-height:36px;padding-top:var(--space-1)}}@media(max-width:760px){.teacher-submissions-page>.page-head{grid-template-columns:minmax(0,1fr) auto;align-items:center}.teacher-submission-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-submissions-page .page-head-copy>p{display:none}}@media(max-width:480px){.teacher-submissions-page>.page-head{grid-template-columns:minmax(0,1fr)}.teacher-submission-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-submission-table tbody tr{grid-template-columns:minmax(0,1fr) 82px;grid-template-areas:"student code" "problem code" "source status" "tests runtime" "date date"}}@media(max-width:340px){.teacher-submission-filters{grid-template-columns:1fr}}.sv-shell{position:relative;display:flex;flex:1;height:clamp(560px,calc(100dvh - var(--solve-shell-offset)),900px);overflow:hidden;min-height:560px;border:var(--stroke-strong);border-radius:var(--radius-panel);background:var(--surface);box-shadow:none}.sv-outline-panel{position:absolute;inset:0 auto 0 0;z-index:30;width:min(292px,calc(100% - 48px));display:grid;grid-template-rows:auto auto minmax(0,1fr);border-right:1px solid var(--accent-border-strong);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lifted);animation:sv-outline-enter var(--motion-slow) var(--ease-emphasized) both}@keyframes sv-outline-enter{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}.sv-outline-head{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:var(--stroke-default);background:var(--surface-selected-soft)}.sv-outline-head>div{min-width:0;display:grid;gap:.2rem}.sv-outline-head strong,.sv-outline-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sv-outline-head strong{font-size:var(--font-size-md);font-weight:850}.sv-outline-head span{color:var(--muted);font-size:var(--font-size-xs);font-weight:700}.sv-outline-head button{width:var(--icon-control-size);height:var(--icon-control-size);flex:0 0 var(--icon-control-size);display:grid;place-items:center;border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--text-soft);font-family:var(--font-code);font-weight:850}.sv-outline-head button:hover{background:var(--accent-soft);color:var(--accent)}.sv-outline-head button svg{width:18px;height:18px}.sv-outline-summary{min-height:var(--control-h);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:.55rem var(--space-4);border-bottom:var(--stroke-default);color:var(--muted);font-size:var(--font-size-xs);font-weight:750}.sv-outline-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.sv-outline-list::-webkit-scrollbar{display:none}.sv-outline-item{width:100%;min-height:58px;display:grid;grid-template-columns:28px minmax(0,1fr) 8px;align-items:center;gap:.65rem;padding:.55rem .85rem;border:0;border-radius:0;background:var(--surface);color:var(--text);text-align:left;transition:background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.sv-outline-item:hover{background:var(--control-hover)}.sv-outline-item-active{background:var(--control-selected)}.sv-outline-index{color:var(--muted);font-family:var(--font-code);font-size:var(--font-size-xs);font-weight:800}.sv-outline-copy{min-width:0;display:grid;gap:.16rem}.sv-outline-copy strong{overflow:hidden;color:var(--text);font-size:var(--font-size-sm);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.sv-outline-copy small{color:var(--muted);font-size:var(--font-size-xs);font-weight:700}.sv-outline-state{width:8px;height:8px;border:1px solid var(--muted);border-radius:50%;background:transparent}.sv-outline-state-done{border-color:var(--ok);background:var(--ok)}@media(prefers-reduced-motion:reduce){.sv-outline-panel{animation:none}}.sv-resizing,.sv-resizing *{cursor:col-resize!important;-webkit-user-select:none;user-select:none}.sv-shell-editor{min-height:calc(100vh - 2rem);height:calc(100vh - 2rem)}.sv-left{flex:0 0 auto;width:var(--sv-left-width);min-width:380px;min-height:0;max-width:68%;background:var(--surface);display:flex;flex-direction:column;overflow:hidden}.sv-resizer{flex:0 0 8px;position:relative;align-self:stretch;display:grid;place-items:center;border-left:0;border-right:0;background:var(--surface);cursor:col-resize;touch-action:none;transition:background var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard)}.sv-resizer:hover,.sv-resizing .sv-resizer{background:var(--accent-soft)}.sv-resizer span{width:1px;height:54px;border-radius:0;background:var(--line-strong);transition:width var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}.sv-resizer:hover span,.sv-resizing .sv-resizer span{width:2px;background:var(--accent)}.sv-right{flex:1;min-width:0;background:var(--editor-bg);display:flex;flex-direction:column;overflow:hidden}.page-editor-window{grid-column:1;grid-row:1;max-width:none;min-height:100vh;padding:var(--space-4)}.sv-prob-hdr{flex:0 0 auto;padding:var(--space-4) var(--space-5);border-bottom:var(--stroke-default);background:var(--surface)}.sv-pnum{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;font-size:var(--font-size-xs);color:var(--muted);font-weight:700;margin-bottom:.35rem}.sv-ptitle{font-size:var(--font-size-title);font-weight:800;letter-spacing:0;line-height:1.25}.sv-plimits{display:flex;align-items:center;gap:.35rem;flex-wrap:nowrap;margin-top:.6rem;overflow:hidden}.sv-plimit{flex:0 0 auto;font-size:var(--font-size-xs);color:var(--text-soft);background:var(--control-bg);padding:.12rem .45rem;border-radius:0;border:1px solid transparent;white-space:nowrap}.sv-assignment-meta{min-width:0;display:inline-flex;align-items:center;gap:var(--space-2);margin-left:var(--space-1);padding-left:var(--space-2);border-left:var(--stroke-default);color:var(--text-soft);font-size:var(--font-size-xs);white-space:nowrap;overflow:hidden}.sv-assignment-meta>span{flex:0 0 auto;color:var(--accent);font-weight:850}.sv-assignment-meta>strong{min-width:0;overflow:hidden;color:var(--text);font-weight:700;text-overflow:ellipsis}.sv-body{padding:1.1rem 1.4rem;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:grid;gap:.95rem;align-content:start}.sv-sec{display:grid;gap:.35rem;padding-bottom:.85rem;border-bottom:var(--stroke-subtle)}.sv-sec:last-child{border-bottom:0;padding-bottom:0}.sv-seclabel{font-size:var(--font-size-label);font-weight:850;text-transform:none;letter-spacing:0;color:var(--accent)}.sv-sec p{margin:0;font-size:var(--font-size-body);line-height:1.75;white-space:pre-wrap;color:var(--text-soft)}.markdown-text{display:grid;gap:.55rem;min-width:0;font-size:var(--font-size-body);line-height:1.75;color:var(--text-soft);overflow-wrap:anywhere}.markdown-text>*{margin:0}.markdown-text p{white-space:pre-wrap}.markdown-text h3,.markdown-text h4,.markdown-text h5{color:var(--text);line-height:1.35;letter-spacing:0}.markdown-text h3{font-size:var(--font-size-section);font-weight:800}.markdown-text h4{font-size:var(--font-size-md);font-weight:800}.markdown-text h5{font-size:var(--font-size-body);font-weight:750}.markdown-text ul,.markdown-text ol{display:grid;gap:.22rem;padding-left:1.2rem}.markdown-text li{padding-left:.1rem}.markdown-text blockquote{padding:.42rem var(--space-3);border-left:3px solid var(--accent);border-radius:var(--radius-panel);background:var(--accent-soft);color:var(--text-soft);white-space:pre-wrap}.markdown-text a{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:2px}.markdown-text code{display:inline-block;max-width:100%;padding:.02rem .3rem;border:var(--stroke-default);border-radius:0;background:var(--surface-soft);color:var(--text);font-family:var(--font-code);font-size:.92em;font-weight:700;line-height:1.55;vertical-align:baseline}.markdown-text pre{margin:0;padding:.72rem .85rem;border:1px solid var(--editor-panel-border);border-radius:var(--radius-panel);background:var(--editor-bg);color:var(--editor-text);overflow-x:auto;box-shadow:none}.markdown-text pre code{display:block;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font-size:var(--font-size-label);font-weight:500;line-height:1.6;white-space:pre}.sv-sample-group{display:grid;gap:.4rem}.sv-sample-group+.sv-sample-group{margin-top:.9rem}.sv-sample-index{font-size:var(--font-size-xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:0}.sv-sample{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:.7rem}.sv-sblk{display:grid;grid-template-rows:auto minmax(0,1fr);gap:.3rem;min-width:0}.sv-sblk-label{font-size:var(--font-size-label);font-weight:700;text-transform:uppercase;letter-spacing:0;color:var(--muted)}.sv-code{background:var(--surface-selected);border:var(--stroke-subtle);border-radius:var(--radius-panel);min-height:92px;padding:.6rem .85rem;font-family:var(--font-code);font-size:var(--font-size-label);white-space:pre-wrap;overflow:auto;color:var(--text)}.sv-ed-chrome{display:flex;justify-content:space-between;align-items:center;min-height:54px;padding:.55rem var(--space-3);border-bottom:1px solid var(--surface-inverse-muted);background:var(--surface);flex-shrink:0}.sv-lang{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--surface-selected);border:0;border-radius:var(--radius-control);padding:3px}.lang-tab{background:transparent;border:none;border-radius:0;color:var(--muted);font-size:12px;font-family:var(--font-code);font-weight:600;padding:.18rem .65rem;cursor:pointer;transition:color var(--motion-base) var(--ease-standard),background var(--motion-base) var(--ease-standard)}.sv-toolchain{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0;margin:0 var(--space-3);color:var(--muted);font-size:12px}.sv-toolchain-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sv-toolchain-bar{position:relative;flex:0 1 96px;height:4px;min-width:48px;overflow:hidden;border-radius:999px;background:var(--surface-selected)}.sv-toolchain-bar>span{display:block;height:100%;width:0;border-radius:inherit;background:var(--accent);transition:width var(--motion-base) var(--ease-standard)}.sv-toolchain-bar.is-indeterminate>span{width:40%;animation:sv-toolchain-slide 1.2s var(--ease-standard) infinite}.sv-toolchain-hint{white-space:nowrap;opacity:.75}@keyframes sv-toolchain-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media(prefers-reduced-motion:reduce){.sv-toolchain-bar.is-indeterminate>span{animation:none;width:100%;opacity:.5}}.lang-tab:hover{color:var(--accent);background:var(--accent-soft)}.lang-tab-active{background:var(--accent);color:var(--color-on-accent);box-shadow:none}.sv-ed-btns{display:flex;gap:.4rem;flex-wrap:wrap}:root:not([data-theme=dark]) .sv-ed-btns .btn-ghost{color:var(--text);border-color:transparent}:root:not([data-theme=dark]) .sv-ed-btns .btn-ghost:hover{color:var(--accent);background:var(--surface-selected);border-color:transparent}.btn-run{background:var(--control-bg);border:1px solid transparent;color:var(--text)}.btn-run:hover{background:var(--control-hover);color:var(--accent)}.btn-submit{background:var(--accent);border-color:var(--accent);color:var(--color-on-accent)}.btn-submit:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.sv-ed-btns .btn svg,.sv-icon-button svg{width:16px;height:16px;flex:0 0 16px}.sv-editor-surface{flex:1;min-height:0;overflow:hidden}.editor-shell{color-scheme:dark;border:0;border-radius:0;background:var(--editor-bg);color:var(--editor-text);display:grid;grid-template-columns:42px minmax(0,1fr);min-height:100%;height:100%;overflow:hidden}.editor-gutter{padding:.85rem .6rem .85rem 0;background:var(--editor-panel-bg);color:var(--editor-disabled);text-align:right;display:grid;align-content:start;gap:0;font-family:var(--font-code);font-size:12.5px;line-height:1.6;overflow:hidden}.editor-main{position:relative;min-width:0;min-height:0;overflow:hidden}.editor-highlight,.editor-textarea{margin:0;padding:.85rem .9rem;font-family:var(--font-code);font-size:12.5px;line-height:1.6;white-space:pre;-moz-tab-size:4;tab-size:4}.editor-highlight{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;pointer-events:none;color:var(--editor-text);background:transparent}.editor-textarea{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:transparent;min-height:0;height:100%;overflow:auto;resize:none;color:transparent;caret-color:var(--editor-accent);-webkit-text-fill-color:transparent}.editor-textarea::selection{background:var(--editor-selection-bg-strong)}.editor-textarea:focus{background:transparent;box-shadow:none}.page-editor-window .editor-shell{min-height:100%;height:100%;max-height:none}.editor-autocomplete{position:fixed;z-index:9999;background:var(--editor-panel-bg);border:1px solid var(--editor-panel-border);border-radius:0;list-style:none;margin:0;padding:3px 0;min-width:140px;max-height:196px;overflow-y:auto;box-shadow:none;font-family:var(--font-code);font-size:12px;line-height:1.5}.editor-autocomplete li{padding:3px 12px;cursor:pointer;color:var(--editor-text-soft);white-space:nowrap}.editor-autocomplete li.ac-keyword{color:var(--syntax-builtin)}.editor-autocomplete li.ac-builtin{color:var(--syntax-keyword)}.editor-autocomplete li.ac-identifier{color:var(--syntax-function)}.editor-autocomplete li:hover,.editor-autocomplete li.ac-active{background:var(--editor-panel-bg-strong);color:var(--editor-accent)}.sv-grade{padding:.85rem var(--space-4);border-top:1px solid var(--surface-inverse-soft);flex-shrink:0;overflow-y:auto;max-height:44vh;display:grid;gap:.6rem}.sv-ghead{display:flex;justify-content:space-between;align-items:center;gap:.8rem}.sv-gtitle{font-size:var(--font-size-sm);font-weight:700;color:var(--editor-text-soft);display:flex;align-items:center;gap:.45rem}.sv-gclose{margin-left:auto;background:none;border:none;color:var(--editor-muted);font-size:var(--font-size-body);line-height:1;cursor:pointer;padding:2px 4px;border-radius:0}.sv-gclose:hover{color:var(--editor-text-soft);background:var(--surface-inverse-muted)}.sv-progress{height:8px;background:var(--surface-inverse-muted);border-radius:0;overflow:hidden}.sv-pfill{height:100%;border-radius:0;transition:width var(--motion-slow) var(--ease-standard)}.sv-pfill-run{background:var(--editor-primary);background-size:auto;animation:none}.sv-pfill-ok{background:var(--editor-ok)}.sv-pfill-bad{background:var(--editor-bad)}.sv-pfill-warn{background:var(--editor-warn)}.sv-dbadge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:700;padding:.1rem .42rem;border-radius:0}.sv-dbadge-ok{background:var(--editor-ok-bg);color:var(--editor-ok-text);border:1px solid var(--editor-ok-border)}.sv-dbadge-bad{background:var(--editor-bad-bg);color:var(--editor-bad-text);border:1px solid var(--editor-bad-border)}.sv-dbadge-warn{background:var(--editor-warn-bg);color:var(--editor-warn-text);border:1px solid var(--editor-warn-border)}.sv-ldot{width:7px;height:7px;border-radius:0;background:var(--editor-bad-text);animation:none;display:inline-block}.tok-keyword{color:var(--syntax-keyword)}.tok-builtin{color:var(--syntax-builtin)}.tok-function{color:var(--syntax-function)}.tok-string{color:var(--syntax-string)}.tok-number{color:var(--syntax-number)}.tok-comment{color:var(--syntax-comment)}.problem-section{display:grid;gap:.45rem;padding-bottom:var(--space-4);border-bottom:var(--stroke-subtle)}.problem-section:last-child{border-bottom:0;padding-bottom:0}.problem-section h3{margin-bottom:0;font-size:var(--font-size-section)}.problem-section p{margin:0;line-height:1.78;white-space:pre-wrap}.section-title{font-size:var(--font-size-body);font-weight:700;margin-bottom:.5rem}.submission-row-active{background:var(--surface-selected)}.submission-code-meta{display:flex;align-items:center;gap:.6rem}.submissions-stats{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.submissions-workspace{min-width:0;min-height:0;display:grid;gap:var(--space-3);background:transparent;border:0;border-radius:0;overflow:hidden}.student-submission-table{min-width:820px;table-layout:fixed}.student-submission-table thead th{position:sticky;top:0;z-index:2;height:var(--control-h-lg);padding:var(--space-2) var(--space-3);background:var(--surface);color:var(--muted);font-size:var(--font-size-xs);font-weight:850;text-transform:none}.student-submission-table td{height:var(--row-h);padding:var(--space-2) var(--space-3);border-bottom:var(--stroke-default)}@media(min-width:761px){.submissions-page{height:calc(100dvh - var(--header-h) - var(--footer-h) - var(--shell-pad-y) - var(--space-6));min-height:0;grid-template-rows:auto minmax(0,1fr);align-content:stretch;overflow:hidden}.submissions-workspace.has-pagination{grid-template-rows:minmax(0,1fr) auto}.student-submission-table-wrap{height:100%;min-height:0}}@media(max-width:900px){.submissions-page,.submissions-workspace{height:auto;overflow:visible}.submissions-workspace.has-pagination{grid-template-rows:auto auto}.student-submission-table-wrap{height:auto;overflow:hidden}.student-submission-table{display:block;width:100%;min-width:0}.student-submission-table thead{display:none}.student-submission-table tbody{display:grid}.student-submission-table tbody tr{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"problem status status" "category difficulty tests" "date date runtime";align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:var(--stroke-default)}.student-submission-table tbody tr:last-child{border-bottom:0}.student-submission-table td{width:auto;height:auto;min-width:0;display:flex;align-items:center;gap:var(--space-2);padding:.15rem 0;border-bottom:0}.student-submission-problem{grid-area:problem;display:block}.student-submission-category{grid-area:category}.student-submission-difficulty{grid-area:difficulty}.student-submission-status{grid-area:status;justify-self:end}.student-submission-tests{grid-area:tests;justify-self:end}.student-submission-runtime{grid-area:runtime;justify-self:end}.student-submission-date{grid-area:date}.student-submission-category:before,.student-submission-difficulty:before,.student-submission-tests:before,.student-submission-runtime:before,.student-submission-date:before{content:attr(data-label);flex:0 0 auto;color:var(--muted);font-family:var(--font-ui);font-size:var(--font-size-xs);font-weight:750}}@media(max-width:700px){.submissions-page>.page-head{grid-template-columns:minmax(0,1fr) auto;align-items:center}.submissions-page .page-head-copy>p{display:none}}@media(max-width:480px){.submissions-page>.page-head{grid-template-columns:minmax(0,1fr)}.student-submission-table tbody tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"problem status" "category difficulty" "tests runtime" "date date"}}@media(min-width:761px)and (max-height:700px){.submissions-page{gap:var(--space-2)}.submissions-page .page-head-copy>p{display:none}.submissions-workspace>.numbered-pagination{min-height:36px;padding-top:var(--space-1)}}.submission-code-mockup{min-width:0;overflow:hidden;border:1px solid var(--editor-subtle-border);border-radius:0;background:var(--editor-bg);color:var(--editor-text-soft);box-shadow:none}.submission-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:var(--space-5);background:var(--overlay-backdrop);-webkit-backdrop-filter:saturate(120%) blur(var(--overlay-blur));backdrop-filter:saturate(120%) blur(var(--overlay-blur));animation:ui-overlay-enter var(--motion-base) var(--ease-standard) both}.submission-code-modal{width:min(1080px,calc(100vw - 2rem));max-height:min(820px,calc(100vh - 2rem));display:grid;grid-template-rows:auto auto minmax(0,1fr);box-shadow:var(--shadow-popover);transform-origin:center;animation:ui-surface-enter var(--motion-slow) var(--ease-emphasized) both}.submission-code-mockup-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.9rem;padding:var(--space-4) var(--space-4) .85rem;background:var(--editor-bg);border-bottom:1px solid var(--editor-subtle-border)}.submission-code-mockup-head strong{display:block;color:var(--editor-text-strong);font-size:var(--font-size-section)}.submission-code-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-bottom:1px solid var(--editor-subtle-border);background:var(--editor-panel-bg)}.submission-code-summary>div{min-width:0;display:grid;gap:.2rem;padding:var(--space-3) var(--space-4);border-right:1px solid var(--editor-subtle-border)}.submission-code-summary>div:last-child{border-right:0}.submission-code-summary dt{color:var(--editor-muted);font-size:var(--font-size-xs)}.submission-code-summary dd{margin:0;color:var(--editor-text-strong);font-family:var(--font-code);font-size:var(--font-size-sm);font-weight:750}.submission-code-mockup-head p{margin:var(--space-1) 0 0;color:var(--editor-muted);font-size:var(--font-size-xs)}.submission-code-meta{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.submission-modal-close{width:var(--icon-control-size);height:var(--icon-control-size);display:inline-grid;place-items:center;border:1px solid var(--editor-panel-border);border-radius:var(--radius-control);background:var(--surface-inverse-faint);color:var(--editor-text-soft);cursor:pointer;font-size:var(--font-size-heading);line-height:1;transition:background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),transform var(--motion-press) var(--ease-press)}.submission-modal-close svg{width:17px;height:17px}.submission-modal-close:hover{background:var(--surface-inverse-muted);color:var(--editor-text-strong)}.submission-modal-close:active{transform:scale(var(--press-scale))}@media(max-width:640px){.submission-modal-backdrop{padding:0}.submission-code-modal{width:100vw;max-height:100vh}.submission-code-mockup-head{padding:var(--space-3)}.submission-code-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.submission-code-summary>div:nth-child(2){border-right:0}.submission-code-summary>div:nth-child(-n+2){border-bottom:1px solid var(--editor-subtle-border)}}.sv-empty-state{display:grid;min-height:360px;place-items:center;padding:var(--space-8);border:1px solid var(--editor-panel-border);border-radius:0;background:var(--editor-panel-bg);color:var(--editor-text-soft);font-size:var(--font-size-md);font-weight:750;text-align:center}@media(max-width:860px){.sv-shell{flex-direction:column;height:auto;min-height:0}.sv-left{width:100%;max-width:100%;min-width:0;height:min(620px,calc(100vh - 140px));max-height:620px;border-right:0;border-bottom:var(--stroke-default)}.sv-resizer{display:none}.sv-right{min-height:640px}}@media(max-width:720px){.sv-shell{border-radius:0}.sv-left,.sv-right{min-width:0}.sv-left{height:min(560px,calc(100vh - 150px));max-height:560px}.sv-prob-hdr,.sv-body{padding:var(--space-4)}.sv-sample{grid-template-columns:1fr}.sv-ed-chrome{flex-direction:column;align-items:flex-start}.sv-ed-btns{width:100%}.sv-ed-btns .btn{flex:1 1 auto}}.sv-shell:fullscreen{width:100vw;height:100vh;min-height:100vh;border:0;background:var(--surface)}.sv-prob-toolbar{min-height:var(--control-h-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.sv-prob-toolbar-start{min-width:0;display:flex;align-items:center;gap:var(--space-2)}.sv-outline-toggle{min-width:64px;height:var(--control-h-sm);flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:0 .55rem;border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--text-soft);font-size:var(--font-size-xs);font-weight:850;transition:background var(--motion-base) var(--ease-standard),color var(--motion-base) var(--ease-standard),transform var(--motion-press) var(--ease-press)}.sv-outline-toggle:hover{border-color:transparent;background:var(--control-hover)}.sv-outline-toggle[aria-expanded=true]{border-color:transparent;background:var(--control-selected);color:var(--accent)}.sv-outline-toggle:active{transform:scale(var(--press-scale))}.sv-outline-direction{width:17px;height:17px;display:inline-grid;place-items:center;transition:color var(--motion-fast) var(--ease-standard)}.sv-problem-nav{display:inline-flex;align-items:center;gap:var(--space-2)}.sv-problem-nav button,.sv-icon-button,.sv-dock-toggle{width:var(--icon-control-size);height:var(--icon-control-size);flex:0 0 var(--icon-control-size);display:inline-grid;place-items:center;border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--text-soft);font-weight:850;transition:background var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard),color var(--motion-base) var(--ease-standard),transform var(--motion-press) var(--ease-press)}.sv-problem-nav button:active:not(:disabled),.sv-icon-button:active:not(:disabled),.sv-dock-toggle:active:not(:disabled){transform:scale(var(--press-scale))}.sv-problem-nav button:hover:not(:disabled),.sv-icon-button:hover:not(:disabled){border-color:transparent;background:var(--accent-soft);color:var(--accent)}.sv-problem-nav button:disabled,.sv-icon-button:disabled{color:var(--muted);cursor:not-allowed;opacity:.5}.sv-problem-nav>span{min-width:58px;color:var(--muted);font-family:var(--font-code);font-size:var(--font-size-xs);text-align:center}.sv-icon-button{font-family:var(--font-code);font-size:var(--font-size-label)}.sv-problem-nav button svg,.sv-icon-button svg,.sv-outline-toggle svg{width:17px;height:17px}.sv-editor-status{min-height:28px;flex:0 0 28px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-3);border-top:1px solid var(--editor-subtle-border);background:var(--editor-panel-bg);color:var(--editor-muted);font-family:var(--font-code);font-size:var(--font-size-xs);line-height:1.2}.sv-editor-status>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sv-editor-status>span.is-error{color:var(--editor-bad-text)}.sv-editor-status>div{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);white-space:nowrap}.sv-dock{--sv-dock-columns: minmax(0, 1.4fr) minmax(290px, .82fr);min-width:0;min-height:0;flex:0 0 286px;display:flex;flex-direction:column;border-top:var(--stroke-default);background:var(--surface);color:var(--text);container-type:inline-size;transition:flex-basis var(--motion-slow) var(--ease-emphasized)}.sv-dock.is-collapsed{flex-basis:43px}.sv-dock-head{min-height:var(--control-h-lg);flex:0 0 var(--control-h-lg);display:grid;grid-template-columns:var(--sv-dock-columns);align-items:stretch;border-bottom:var(--stroke-default);background:var(--surface)}.sv-dock.is-collapsed .sv-dock-head{border-bottom:0}.sv-dock-tabs{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sv-dock-tabs>button{min-width:0;min-height:var(--control-h-lg);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:0 var(--space-2);border-bottom:2px solid transparent;color:var(--muted);font-size:var(--font-size-xs);font-weight:750;white-space:nowrap}.sv-dock-tabs>button:hover{background:var(--control-hover);color:var(--text)}.sv-dock-tabs>button.is-active{border-bottom-color:var(--accent);background:var(--control-selected);color:var(--accent)}.sv-dock-tabs>button span{color:currentColor;font-family:var(--font-code);font-size:var(--font-size-xs);line-height:1;opacity:.84}.sv-dock-history-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);border-left:var(--stroke-default);background:var(--surface)}.sv-dock-history-trigger{min-width:0;min-height:var(--control-h-lg);flex:1;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);color:inherit;text-align:left}.sv-dock-history-trigger:hover{background:var(--control-hover)}.sv-dock-history-trigger:hover strong{color:var(--accent)}.sv-dock-history-head strong{overflow:hidden;color:var(--text);font-size:var(--font-size-xs);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.sv-dock-history-head span{min-width:22px;height:22px;display:inline-grid;place-items:center;padding:0 var(--space-1);border:var(--stroke-subtle);background:var(--control-bg);color:var(--muted);font-family:var(--font-code);font-size:var(--font-size-xs);line-height:1}.sv-dock-toggle{margin-right:var(--space-2);border-color:transparent;background:transparent;color:var(--muted);font-family:var(--font-code);font-size:var(--font-size-xs)}.sv-dock-toggle:hover{border-color:transparent;background:var(--control-hover);color:var(--accent)}.sv-dock-toggle[aria-expanded=true] .sv-dock-chevron{transform:rotate(0)}.sv-dock-toggle[aria-expanded=false] .sv-dock-chevron{transform:rotate(180deg)}.sv-dock-workspace{flex:1;min-height:0;display:grid;grid-template-columns:var(--sv-dock-columns);overflow:hidden;animation:ui-disclosure-enter var(--motion-slow) var(--ease-emphasized) both}@media(prefers-reduced-motion:reduce){.sv-dock{transition:none}.sv-dock-workspace{animation:none}}.sv-dock-body{min-height:0;overflow:hidden;background:var(--surface)}.sv-dock-history{min-width:0;min-height:0;overflow:hidden;border-left:var(--stroke-default);background:var(--surface)}.sv-dock-empty{height:100%;display:grid;place-items:center;padding:var(--space-5);color:var(--muted);font-size:var(--font-size-label);text-align:center}.sv-testcase-panel{height:100%;display:grid;grid-template-rows:39px minmax(0,1fr)}.sv-testcase-selector{display:flex;align-items:stretch;border-bottom:var(--stroke-subtle);overflow:hidden}.sv-testcase-selector button{min-width:0;padding:0 var(--space-3);color:var(--muted);font-size:var(--font-size-xs);font-weight:750}.sv-testcase-selector button:hover,.sv-testcase-selector button.is-active{background:var(--surface-soft);color:var(--text)}.sv-testcase-selector button.is-active{box-shadow:inset 0 -2px 0 var(--accent);color:var(--accent)}.sv-testcase-detail{min-height:0;display:grid;grid-template-columns:1fr 1fr}.sv-testcase-detail section{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--space-2);padding:var(--space-3);border-right:var(--stroke-subtle)}.sv-testcase-detail section:last-child{border-right:0}.sv-testcase-detail span,.sv-result-detail section>span{color:var(--muted);font-size:var(--font-size-xs);font-weight:800}.sv-testcase-detail pre{margin:0;min-width:0;overflow:auto;color:var(--text);font-family:var(--font-code);font-size:var(--font-size-xs);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.sv-hist{height:100%;min-width:0;display:grid;grid-template-rows:minmax(0,1fr) auto}.sv-history-list{margin:0;padding:var(--space-1) 0;min-width:0;min-height:0;overflow:auto;list-style:none;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.sv-history-list li{border-bottom:var(--stroke-subtle)}.sv-history-list li>button{width:100%;min-width:0;display:grid;gap:.3rem;padding:.55rem var(--space-3);color:var(--text-soft);text-align:left}.sv-history-list li>button:hover{background:var(--control-hover)}.sv-history-list li.is-selected>button{background:var(--control-selected)}.sv-history-primary,.sv-history-secondary{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.sv-history-primary strong{flex:0 0 auto;color:var(--text-soft);font-size:var(--font-size-xs)}.sv-history-secondary{justify-content:flex-start;color:var(--text-soft);font-size:var(--font-size-xs)}.sv-history-secondary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sv-history-secondary span+span:before{content:"·";margin-right:var(--space-2);color:var(--muted)}.sv-history-list time{overflow:hidden;color:var(--muted);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.sv-hist-pagination{min-height:var(--control-h-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-top:var(--stroke-default);background:var(--surface);color:var(--muted);font-size:var(--font-size-xs)}.sv-hist-pagination>div{display:flex;align-items:center;gap:var(--space-1)}.sv-hist-pagination .mono{min-width:44px;text-align:center}.sv-hist-pagination .btn{width:var(--control-h-sm);min-width:var(--control-h-sm);height:var(--control-h-sm);min-height:var(--control-h-sm);padding:0;font-size:var(--font-size-section)}.sv-dock-body .sv-grade{height:100%;max-height:none;display:grid;grid-template-rows:auto 4px minmax(0,1fr);gap:0;padding:0;border-top:0;overflow:hidden;background:var(--surface)}.sv-dock-body .sv-ghead{min-height:46px;padding:0 var(--space-3);border-bottom:var(--stroke-subtle)}.sv-dock-body .sv-gtitle{min-width:0;display:flex;align-items:center;gap:var(--space-2);color:var(--text-soft)}.sv-result-kind{color:var(--text);font-size:var(--font-size-xs);font-weight:800;white-space:nowrap}.sv-result-running{min-width:0;display:inline-flex;align-items:center;gap:var(--space-1);color:var(--muted);font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sv-grade-summary{display:grid;justify-items:end;gap:.05rem;margin-left:auto}.sv-grade-summary strong{color:var(--text);font-family:var(--font-code);font-size:var(--font-size-xs)}.sv-grade-summary span{color:var(--muted);font-size:var(--font-size-xs)}.sv-dock-body .sv-gclose{color:var(--muted)}.sv-dock-body .sv-gclose:hover{background:var(--control-hover);color:var(--text)}.sv-dock-body .sv-progress{height:4px;background:var(--progress-track)}.sv-dock-body .sv-dbadge-ok{border-color:var(--ok-border);background:var(--ok-soft);color:var(--ok)}.sv-dock-body .sv-dbadge-bad{border-color:var(--bad-border);background:var(--bad-soft);color:var(--bad)}.sv-dock-body .sv-dbadge-warn{border-color:var(--warn-border);background:var(--warn-soft);color:var(--warn)}.sv-dock-body .sv-pfill-run,.sv-dock-body .sv-ldot{background:var(--accent)}.sv-dock-body .sv-pfill-ok{background:var(--ok)}.sv-dock-body .sv-pfill-bad{background:var(--bad)}.sv-dock-body .sv-pfill-warn{background:var(--warn)}.sv-result-layout{min-height:0;display:grid;grid-template-columns:minmax(180px,.72fr) minmax(0,1.28fr);overflow:hidden}.sv-result-list{margin:0;padding:0;min-width:0;min-height:0;overflow:auto;border-right:var(--stroke-default);list-style:none;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.sv-result-list li{border-bottom:var(--stroke-subtle)}.sv-result-list button{width:100%;min-height:40px;min-width:0;display:grid;grid-template-columns:8px minmax(66px,1fr) minmax(58px,auto) auto;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface);color:var(--text-soft);text-align:left;font-size:var(--font-size-xs)}.sv-result-list button:hover:not(:disabled){background:var(--control-hover)}.sv-result-list button.is-selected{background:var(--control-selected)}.sv-result-list button:disabled{cursor:default}.sv-result-list button>:not(.sv-result-status-dot){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sv-result-list button>strong{color:var(--text);font-size:var(--font-size-xs)}.sv-result-status-dot{width:7px;height:7px;border:var(--stroke-strong);background:var(--surface)}.sv-result-list .is-ok .sv-result-status-dot{border-color:var(--ok);background:var(--ok)}.sv-result-list .is-bad .sv-result-status-dot{border-color:var(--bad);background:var(--bad)}.sv-result-list .is-warn .sv-result-status-dot{border-color:var(--warn);background:var(--warn)}.sv-result-list .is-running .sv-result-status-dot{border-color:var(--accent);background:var(--accent)}.sv-result-list .is-ok>span:nth-child(3){color:var(--ok)}.sv-result-list .is-bad>span:nth-child(3){color:var(--bad)}.sv-result-list .is-warn>span:nth-child(3){color:var(--warn)}.sv-result-list .is-running>span:nth-child(3){color:var(--accent)}.sv-result-list .mono{color:var(--muted);text-align:right}.sv-result-detail{min-width:0;min-height:0;display:grid;align-content:start;gap:var(--space-2);padding:var(--space-3);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.sv-result-detail>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.sv-result-detail>header strong{color:var(--text);font-size:var(--font-size-xs)}.sv-result-detail>header span,.sv-result-detail>p{color:var(--muted);font-size:var(--font-size-xs)}.sv-result-detail>p{margin:0}.sv-result-output-grid{min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.sv-result-detail section{min-width:0;display:grid;gap:var(--space-1)}.sv-result-detail pre{margin:0;max-height:96px;padding:var(--space-2);overflow:auto;border:var(--stroke-subtle);background:var(--surface-soft);color:var(--text);font-family:var(--font-code);font-size:var(--font-size-xs);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.sv-result-error{min-width:0;display:grid;gap:var(--space-1)}.sv-result-error pre{border-color:var(--bad-border);background:var(--bad-soft);color:var(--bad)}@container (max-width: 720px){.sv-dock-head,.sv-dock-workspace{grid-template-columns:minmax(0,1fr) minmax(240px,.86fr)}}@container (max-width: 520px){.sv-dock-head,.sv-dock-workspace{grid-template-columns:minmax(0,1fr) minmax(220px,.95fr)}}@container (max-width: 410px){.sv-result-layout{grid-template-columns:1fr;grid-template-rows:minmax(92px,.72fr) minmax(0,1.28fr)}.sv-result-list{border-right:0;border-bottom:var(--stroke-default)}.sv-result-detail{padding:var(--space-2)}.sv-result-output-grid{grid-template-columns:1fr}}@media(max-width:720px){.sv-prob-toolbar{align-items:flex-start}.sv-editor-status{min-height:var(--control-h-lg);flex-basis:var(--control-h-lg)}.sv-editor-status>div span:nth-child(n+3){display:none}.sv-dock{flex-basis:370px}.sv-dock-head{grid-template-columns:minmax(0,1fr) minmax(124px,auto)}.sv-dock-workspace{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 164px}.sv-dock-history{border-top:var(--stroke-default);border-left:0}.sv-dock-tabs>button{font-size:var(--font-size-xs)}.sv-dock-tabs>button span{display:none}.sv-testcase-detail{grid-template-columns:1fr}.sv-testcase-detail section:first-child{border-right:0;border-bottom:var(--stroke-subtle)}}.confirm-backdrop,.floating-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:1.2rem;background:var(--overlay-backdrop);-webkit-backdrop-filter:saturate(120%) blur(var(--overlay-blur));backdrop-filter:saturate(120%) blur(var(--overlay-blur));animation:ui-overlay-enter var(--motion-base) var(--ease-standard) both}.confirm-dialog,.floating-panel{width:min(440px,100%);display:grid;gap:var(--space-4);padding:1.05rem;border:var(--stroke-default);border-radius:var(--radius-popover);background:var(--surface);color:var(--text);box-shadow:var(--shadow-popover);transform-origin:center;animation:ui-surface-enter var(--motion-slow) var(--ease-emphasized) both}.confirm-dialog header,.floating-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem}.confirm-dialog header{justify-content:flex-start}.confirm-dialog h2,.floating-panel h2{font-size:var(--font-size-section)}.confirm-dialog p,.floating-panel p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--font-size-sm);line-height:1.6}.confirm-icon{width:var(--icon-control-size);height:var(--icon-control-size);border-radius:var(--radius-control);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:var(--surface-soft);color:var(--text-soft);font-weight:900}.confirm-icon-danger{background:var(--bad-soft);color:var(--bad)}.confirm-actions{display:flex;justify-content:flex-end;gap:.55rem}.student-move-panel,.password-change-panel{max-width:460px}.password-target-card{display:grid;gap:.15rem;padding:.7rem .85rem;border:var(--stroke-subtle);border-radius:var(--radius-panel);background:var(--surface-soft)}.submission-code-frame{display:grid;grid-template-columns:auto minmax(0,1fr);min-height:clamp(320px,56vh,620px);max-height:62vh;overflow:auto;scrollbar-gutter:stable both-edges}.submission-line-nums,.submission-code-preview{margin:0;padding:.9rem 0;font-family:var(--font-code);font-size:var(--font-size-label);line-height:1.7;-moz-tab-size:4;tab-size:4}.submission-line-nums{min-width:3.25rem;padding-left:var(--space-3);padding-right:var(--space-3);text-align:right;color:var(--code-preview-muted);background:var(--surface-inverse-faint);-webkit-user-select:none;user-select:none}.submission-code-preview{min-width:max-content;padding-left:.9rem;padding-right:var(--space-4);overflow:visible;color:var(--code-preview-text);white-space:pre;word-break:normal}.grid-2{display:grid;gap:.7rem;grid-template-columns:1fr 1fr}.grid-3{display:grid;gap:.7rem;grid-template-columns:1fr 1fr 1fr}.form-actions{display:flex;gap:.5rem}.form-actions.end{justify-content:flex-end}.assignment-student-page .page-head{align-items:end}.assignment-summary{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.assignment-list-card{display:grid;gap:.85rem;border-radius:var(--radius-panel)}.assignment-filter-row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;padding-bottom:.2rem;border-bottom:var(--stroke-subtle)}.assignment-row-overdue{border-left:3px solid var(--bad)}.assignment-title-button{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);color:var(--text);text-align:left}.assignment-title-button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-title-button span{flex:0 0 auto;color:var(--accent);opacity:0;transform:translate(-3px);transition:opacity var(--motion-fast) var(--ease-standard),transform var(--motion-slow) var(--ease-emphasized)}.assignment-title-button:hover span,.assignment-title-button:focus-visible span,.clickable:hover .assignment-title-button span{opacity:1;transform:translate(0)}.assign-form .assign-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.assign-field{display:grid;gap:.3rem;min-width:0}.assign-field>span{font-size:var(--font-size-label);font-weight:600;color:var(--text-soft)}.assign-field-wide{grid-column:span 4}.assign-problem-search-bar{display:flex;gap:var(--space-2);margin-bottom:.4rem}.assign-problem-search-input{flex:1;min-width:0}.assign-problem-category-select{width:160px;flex-shrink:0}.assign-problem-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;max-height:260px;overflow:auto;padding:.55rem;border:var(--stroke-subtle);border-radius:0;background:var(--surface-soft)}.assign-problem-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--space-2);min-height:56px;padding:.65rem;border:var(--stroke-subtle);border-radius:0;background:var(--surface);cursor:pointer}.assign-problem-option input{margin-top:.2rem}.assign-problem-option strong,.assign-problem-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assign-problem-option small{margin-top:.2rem;color:var(--text-soft)}.class-chip{font-size:var(--font-size-xs);font-weight:700;color:var(--accent);background:var(--accent-bg-soft);padding:.15rem .55rem;border-radius:0;border:1px solid var(--accent-border-soft)}.group-progress{display:grid;gap:.35rem;align-items:center}.group-progress-bar{height:8px;background:var(--progress-track);border-radius:0;overflow:hidden}.group-progress-fill{height:100%;border-radius:0;transition:width var(--motion-progress) var(--ease-standard)}.group-progress-fill.tone-ok{background:var(--progress-fill)}.group-progress-fill.tone-warn{background:var(--progress-muted)}.group-progress-fill.tone-bad{background:var(--progress-pale)}.group-progress-meta{display:flex;justify-content:space-between;font-size:var(--font-size-label)}.group-progress-meta .mono{font-weight:700}@media(max-width:960px){.assign-form .assign-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assign-field-wide{grid-column:span 2}.assign-problem-picker{grid-template-columns:1fr}.assignment-summary{justify-content:flex-start}.group-progress{margin-top:.35rem}}@media(max-width:720px){.grid-2,.grid-3{grid-template-columns:1fr}}.recommend-tiles{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.recommend-tile{display:grid;gap:.3rem;padding:.85rem .95rem;background:var(--surface);border:var(--stroke-subtle);border-radius:0;text-align:left;cursor:pointer;transition:border-color var(--motion-base) var(--ease-standard),background var(--motion-base) var(--ease-standard),transform var(--motion-press) var(--ease-press);font-size:var(--font-size-sm)}.recommend-tile:hover{border-color:var(--accent);box-shadow:none;background:var(--subtle-surface)}.recommend-tile:active{transform:scale(var(--press-scale))}.recommend-tile strong{font-size:var(--font-size-body);font-weight:700}.tile-top{display:flex;justify-content:space-between;align-items:center}.tile-desc{margin:0;font-size:var(--font-size-xs);line-height:1.5}.tile-cat{font-size:var(--font-size-xs);letter-spacing:0}.teacher-assignments-page{min-width:0;min-height:0}.teacher-assignment-header-summary{display:grid;grid-template-columns:repeat(2,auto) auto;align-items:center;justify-content:end;gap:var(--space-4)}.teacher-assignment-header-summary>span{display:grid;gap:var(--space-1)}.teacher-assignment-header-summary small{color:var(--muted);font-size:var(--font-size-xs);font-weight:750}.teacher-assignment-header-summary strong{color:var(--text);font-family:var(--font-code);font-size:var(--font-size-md)}.teacher-assignment-header-summary .btn,.teacher-assignment-problem-bar .btn,.teacher-assignment-student-actions .btn{border-radius:0}.teacher-assignment-workspace{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;border:var(--stroke-strong);background:var(--surface);overflow:hidden}.teacher-assignment-browser{flex:0 0 auto;min-width:0;min-height:74px;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,2fr);border-bottom:var(--stroke-default);background:var(--surface)}.teacher-assignment-class-switch{min-width:0;display:flex;align-items:stretch;border-right:var(--stroke-default)}.teacher-assignment-class-switch>span{flex:0 0 auto;display:grid;place-items:center;padding:0 var(--space-3);border-right:var(--stroke-subtle);color:var(--muted);font-size:var(--font-size-xs);font-weight:800}.teacher-assignment-class-switch>div{min-width:0;display:flex;overflow-x:auto;scrollbar-width:none}.teacher-assignment-class-switch>div::-webkit-scrollbar{display:none}.teacher-assignment-class-switch button{position:relative;min-width:96px;display:grid;place-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);color:var(--muted);text-align:left;transition:background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),transform var(--motion-press) var(--ease-press)}.teacher-assignment-class-switch button:after{content:"";position:absolute;right:var(--space-3);bottom:0;left:var(--space-3);height:2px;background:transparent}.teacher-assignment-class-switch button:hover,.teacher-assignment-class-switch button:focus-visible{background:var(--control-hover);color:var(--text)}.teacher-assignment-class-switch button:active{transform:scale(var(--press-scale))}.teacher-assignment-class-switch button.is-active{color:var(--accent-strong)}.teacher-assignment-class-switch button.is-active:after{background:var(--accent)}.teacher-assignment-class-switch button span,.teacher-assignment-class-switch button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-assignment-class-switch button span{color:inherit;font-size:var(--font-size-sm);font-weight:850}.teacher-assignment-class-switch button small{color:var(--muted);font-size:var(--font-size-xs)}.teacher-assignment-browser-controls{min-width:0;display:grid;grid-template-columns:minmax(230px,1.2fr) minmax(170px,.9fr) 132px 152px auto;align-items:end;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-soft)}.teacher-assignment-browser-controls :is(.ui-field-control,label){min-width:0}.teacher-assignment-browser-controls :is(input,.ui-select-trigger){width:100%;min-width:0;height:var(--control-h)}.teacher-assignment-search{display:grid;gap:var(--space-1);color:var(--muted);font-size:var(--font-size-xs);font-weight:800}.teacher-assignment-filter-reset{min-height:var(--control-h);padding:0 var(--space-2);color:var(--muted);font-size:var(--font-size-xs);font-weight:800}.teacher-assignment-filter-reset:hover,.teacher-assignment-filter-reset:focus-visible{background:var(--control-hover);color:var(--accent)}.teacher-assignment-context-head{flex:0 0 auto;min-width:0;min-height:82px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);align-items:center;gap:var(--space-5);padding:var(--space-3) var(--space-4);border-bottom:var(--stroke-default)}.teacher-assignment-context-head>div:first-child{min-width:0}.teacher-assignment-context-label{min-width:0;display:flex;align-items:center;gap:var(--space-2)}.teacher-assignment-context-label strong{color:var(--accent);font-size:var(--font-size-xs);font-weight:850}.teacher-assignment-context-label em{overflow:hidden;color:var(--muted);font-size:var(--font-size-xs);font-style:normal;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.teacher-assignment-context-head h2,.teacher-assignment-student-detail h2,.teacher-assignment-submissions h3{margin:0;color:var(--text);letter-spacing:0}.teacher-assignment-context-head h2{margin-top:var(--space-1);overflow:hidden;font-size:var(--font-size-section);text-overflow:ellipsis;white-space:nowrap}.teacher-assignment-context-head p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--font-size-xs)}.teacher-assignment-context-summary{min-width:0;display:grid;grid-template-columns:auto auto minmax(150px,1fr);align-items:center;justify-content:end;gap:var(--space-4)}.teacher-assignment-context-summary>span{display:grid;gap:var(--space-1)}.teacher-assignment-context-summary small{color:var(--muted);font-size:var(--font-size-xs);font-weight:750}.teacher-assignment-context-summary strong{color:var(--text);font-family:var(--font-code);font-size:var(--font-size-sm);white-space:nowrap}.teacher-assignment-context-summary .group-progress{min-width:150px}.teacher-assignment-problem-bar{flex:0 0 auto;min-width:0;min-height:58px;display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:var(--stroke-default)}.teacher-assignment-problem-bar>.ui-field-control{min-width:0}.teacher-assignment-problem-bar .ui-select-trigger{width:100%;height:var(--control-h)}.teacher-assignment-problem-bar>div{display:flex;justify-content:flex-end;gap:var(--space-2)}.teacher-assignment-sync-alert{flex:0 0 auto;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--warn-border);background:var(--warn-soft)}.teacher-assignment-sync-alert>div{min-width:0;display:grid;gap:var(--space-1)}.teacher-assignment-sync-alert strong{color:var(--warn);font-size:var(--font-size-xs)}.teacher-assignment-sync-alert span,.teacher-assignment-student-warning{color:var(--text-soft);font-size:var(--font-size-xs);line-height:1.45}.teacher-assignment-sync-alert .btn{color:var(--warn);white-space:nowrap}.teacher-assignment-result-space{flex:1 1 auto;min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.teacher-assignment-student-tools{min-width:0;display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,240px) 150px;align-items:end;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:var(--stroke-default);background:var(--surface)}.teacher-assignment-student-tools label{min-width:0;display:grid;gap:var(--space-1)}.teacher-assignment-student-tools label>span{color:var(--muted);font-size:var(--font-size-xs);font-weight:800}.teacher-assignment-student-tools :is(input,.ui-select-trigger){width:100%;min-width:0;height:var(--control-h)}.teacher-assignment-result-title{min-width:0;min-height:var(--control-h);display:flex;align-items:center;gap:var(--space-2)}.teacher-assignment-result-title strong{color:var(--text);font-size:var(--font-size-sm)}.teacher-assignment-result-title span{color:var(--muted);font-size:var(--font-size-xs)}.teacher-assignment-table-wrap{width:100%;min-width:0;min-height:0;overflow:hidden}.teacher-assignment-results-table{width:100%;min-width:640px;table-layout:fixed}.teacher-assignment-results-table th{height:var(--control-h);background:var(--surface-soft);letter-spacing:0;text-transform:none}.teacher-assignment-results-table td{height:48px}.teacher-assignment-results-table th:nth-child(1){width:28%}.teacher-assignment-results-table th:nth-child(2){width:20%}.teacher-assignment-results-table th:nth-child(3){width:14%}.teacher-assignment-results-table th:nth-child(4){width:12%}.teacher-assignment-results-table th:nth-child(5){width:26%}.teacher-assignment-results-table tbody tr.is-selected td{background:var(--surface-selected)}.teacher-assignment-results-table tbody tr.is-selected .teacher-assignment-student-button strong{color:var(--accent-strong)}.teacher-assignment-student-button{width:100%;min-width:0;display:grid;gap:var(--space-1);color:inherit;text-align:left}.teacher-assignment-student-button strong,.teacher-assignment-student-button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-assignment-student-button strong{color:var(--text);font-size:var(--font-size-label)}.teacher-assignment-student-button small{color:var(--muted);font-size:var(--font-size-xs)}.teacher-assignment-result-space>.table-pagination{min-height:48px;padding:var(--space-2) var(--space-3);border-top:var(--stroke-default)}.teacher-assignment-workspace-empty{flex:1;display:grid;place-items:center;margin:0}.teacher-assignment-detail-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,390px)}.teacher-assignment-detail-scrim{width:100%;height:100%;background:var(--overlay-backdrop);animation:ui-overlay-enter var(--motion-base) var(--ease-standard) both}.teacher-assignment-student-detail{min-width:0;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;border-left:var(--stroke-default);background:var(--surface);animation:teacher-assignment-detail-enter var(--motion-base) var(--ease-emphasized) both}.teacher-assignment-student-detail::-webkit-scrollbar{display:none}@keyframes teacher-assignment-detail-enter{0%{opacity:0;transform:translate(var(--space-6))}to{opacity:1;transform:translate(0)}}.teacher-assignment-student-overview>header{min-height:74px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3);border-bottom:var(--stroke-default)}.teacher-assignment-student-overview>header>span{width:var(--avatar-size);height:var(--avatar-size);display:grid;place-items:center;border:var(--stroke-accent);border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:var(--font-size-md);font-weight:900}.teacher-assignment-student-detail h2{font-size:var(--font-size-md)}.teacher-assignment-detail-label{margin-bottom:var(--space-1)}.teacher-assignment-detail-label strong{color:var(--text-soft);font-size:var(--font-size-xs);font-weight:800}.teacher-assignment-student-overview header p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--font-size-xs)}.teacher-assignment-detail-close{width:var(--control-h-sm);height:var(--control-h-sm);display:grid;place-items:center;color:var(--muted);font-size:var(--font-size-md);line-height:1;transition:background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),transform var(--motion-press) var(--ease-press)}.teacher-assignment-detail-close:hover,.teacher-assignment-detail-close:focus-visible{background:var(--control-hover);color:var(--text)}.teacher-assignment-detail-close:active{transform:scale(var(--press-scale))}.teacher-assignment-student-warning{padding:var(--space-3);border-bottom:1px solid var(--warn-border);background:var(--warn-soft)}.teacher-assignment-student-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-bottom:var(--stroke-default)}.teacher-assignment-student-stats>div{min-width:0;display:grid;gap:var(--space-1);padding:var(--space-3);border-right:var(--stroke-subtle);border-bottom:var(--stroke-subtle)}.teacher-assignment-student-stats>div:nth-child(2n){border-right:0}.teacher-assignment-student-stats>div:nth-last-child(-n+2){border-bottom:0}.teacher-assignment-student-stats dt,.teacher-assignment-student-stats dd{font-size:var(--font-size-xs)}.teacher-assignment-student-stats dt{color:var(--muted)}.teacher-assignment-student-stats dd{margin:0;overflow-wrap:anywhere;color:var(--text);font-weight:850}.teacher-assignment-student-actions{padding:var(--space-3)}.teacher-assignment-student-actions .btn{width:100%}.teacher-assignment-submissions{min-width:0;padding:var(--space-3);border-top:var(--stroke-default)}.teacher-assignment-submissions h3{font-size:var(--font-size-sm)}.teacher-assignment-submissions>p{margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--font-size-xs);line-height:1.5}.teacher-assignment-submissions ul{margin:var(--space-2) 0 0;padding:0;list-style:none}.teacher-assignment-submissions li>button{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:var(--stroke-subtle);color:inherit;text-align:left;transition:background var(--motion-fast) var(--ease-standard)}.teacher-assignment-submissions li:last-child>button{border-bottom:0}.teacher-assignment-submissions li>button:hover,.teacher-assignment-submissions li>button:focus-visible{background:var(--surface-selected)}.teacher-assignment-submissions li>button>span:first-child{min-width:0;display:grid;gap:var(--space-1)}.teacher-assignment-submissions li strong,.teacher-assignment-submissions li small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-assignment-submissions li strong{color:var(--text-soft);font-size:var(--font-size-xs)}.teacher-assignment-submissions li small{color:var(--muted);font-size:var(--font-size-xs)}@media(min-width:761px){.teacher-assignments-page{height:calc(100dvh - var(--header-h) - var(--footer-h) - var(--shell-pad-y) - var(--space-6));grid-template-rows:auto minmax(0,1fr);align-content:stretch;overflow:hidden}.teacher-assignment-workspace{height:100%}}@media(max-width:1250px){.teacher-assignment-browser{grid-template-columns:minmax(0,1fr)}.teacher-assignment-class-switch{min-height:54px;border-right:0;border-bottom:var(--stroke-default)}}@media(max-width:900px){.teacher-assignments-page .page-head-copy>p{display:none}.teacher-assignment-browser-controls{grid-template-columns:minmax(210px,1.1fr) minmax(160px,.9fr) 130px 150px auto}.teacher-assignment-context-head{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr)}.teacher-assignment-results-table{min-width:0}}@media(max-width:760px){.teacher-assignments-page,.teacher-assignment-workspace{height:auto;overflow:visible}.teacher-assignment-browser-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-assignment-browser-controls>:first-child,.teacher-assignment-search{grid-column:1 / -1}.teacher-assignment-context-head{grid-template-columns:minmax(0,1fr)}.teacher-assignment-context-summary{grid-template-columns:auto auto minmax(120px,1fr);justify-content:stretch}.teacher-assignment-result-space{min-height:360px}.teacher-assignment-detail-layer{position:fixed;top:var(--header-h);grid-template-columns:minmax(0,1fr) minmax(320px,390px)}}@media(max-width:640px){.teacher-assignments-page>.page-head{grid-template-columns:minmax(0,1fr)}.teacher-assignment-header-summary{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.teacher-assignment-header-summary .btn{grid-column:1 / -1}.teacher-assignment-problem-bar{grid-template-columns:minmax(0,1fr)}.teacher-assignment-problem-bar>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-assignment-sync-alert{grid-template-columns:minmax(0,1fr)}.teacher-assignment-sync-alert .btn{justify-self:start}.teacher-assignment-student-tools{grid-template-columns:minmax(0,1fr) minmax(150px,180px)}.teacher-assignment-result-title{grid-column:1 / -1}.teacher-assignment-results-table{display:block}.teacher-assignment-results-table thead{display:none}.teacher-assignment-results-table tbody{display:grid}.teacher-assignment-results-table tbody tr{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(138px,auto);grid-template-areas:"student status status" "tests attempts latest";align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:var(--stroke-default)}.teacher-assignment-results-table tbody tr:last-child{border-bottom:0}.teacher-assignment-results-table td{width:auto;height:auto;min-width:0;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:0}.teacher-assignment-result-student{grid-area:student}.teacher-assignment-result-status{grid-area:status;justify-self:end}.teacher-assignment-result-tests{grid-area:tests}.teacher-assignment-result-attempts{grid-area:attempts;justify-self:end}.teacher-assignment-result-latest{grid-area:latest}.teacher-assignment-results-table td:not(.teacher-assignment-result-student):before{content:attr(data-label);flex:0 0 auto;color:var(--muted);font-family:var(--font-ui);font-size:var(--font-size-xs);font-weight:750}.teacher-assignment-detail-layer{grid-template-columns:minmax(0,1fr)}.teacher-assignment-detail-scrim{display:none}.teacher-assignment-student-detail{border-left:0}}@media(max-width:480px){.teacher-assignment-browser-controls,.teacher-assignment-context-summary,.teacher-assignment-student-tools{grid-template-columns:minmax(0,1fr)}.teacher-assignment-browser-controls>:first-child,.teacher-assignment-search,.teacher-assignment-result-title{grid-column:auto}.teacher-assignment-results-table tbody tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"student status" "tests attempts" "latest latest"}}@media(min-width:761px)and (max-height:700px){.teacher-assignment-browser{min-height:54px}.teacher-assignment-class-switch{min-height:46px}.teacher-assignment-class-switch button{min-width:82px;gap:0;padding-block:var(--space-1)}.teacher-assignment-browser-controls,.teacher-assignment-problem-bar,.teacher-assignment-student-tools{gap:var(--space-1);padding:var(--space-1) var(--space-2)}.teacher-assignment-browser-controls :is(.ui-field-control,label)>span:first-child,.teacher-assignment-problem-bar .ui-field-control>span:first-child,.teacher-assignment-student-tools label>span:first-child{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.teacher-assignment-browser-controls :is(input,.ui-select-trigger),.teacher-assignment-problem-bar .ui-select-trigger,.teacher-assignment-student-tools :is(input,.ui-select-trigger){height:var(--control-h-sm);min-height:var(--control-h-sm)}.teacher-assignment-filter-reset,.teacher-assignment-result-title{min-height:var(--control-h-sm)}.teacher-assignment-context-head{min-height:62px;padding:var(--space-2) var(--space-3)}.teacher-assignment-context-head h2{margin-top:0;font-size:var(--font-size-lg)}.teacher-assignment-problem-bar{min-height:46px}.teacher-assignment-sync-alert{padding-block:var(--space-1)}.teacher-assignment-sync-alert span{display:none}.teacher-assignment-results-table th{height:32px}.teacher-assignment-results-table td{height:44px}.teacher-assignment-result-space>.table-pagination{min-height:40px;padding:var(--space-1) var(--space-2)}}@media(min-width:761px)and (max-height:560px){.teacher-assignments-page>.page-head{min-height:44px;align-items:center;padding-block:0 var(--space-1)}.teacher-assignments-page .page-head-copy>p,.teacher-assignment-header-summary>span{display:none}.teacher-assignment-header-summary{grid-template-columns:auto}.teacher-assignment-browser{min-height:42px;grid-template-columns:minmax(190px,.42fr) minmax(0,1.58fr)}.teacher-assignment-class-switch{min-height:42px;border-right:var(--stroke-default);border-bottom:0}.teacher-assignment-class-switch>span{display:none}.teacher-assignment-class-switch button{min-width:92px;padding-block:0}.teacher-assignment-browser-controls{grid-template-columns:minmax(170px,1fr) minmax(120px,.72fr) 104px 118px auto}.teacher-assignment-context-head{min-height:48px;gap:var(--space-3);padding-block:var(--space-1)}.teacher-assignment-context-label em,.teacher-assignment-context-head p{display:none}.teacher-assignment-context-head h2{font-size:var(--font-size-md)}.teacher-assignment-context-summary{gap:var(--space-2)}.teacher-assignment-context-summary>span{gap:0}.teacher-assignment-problem-bar{min-height:40px;padding-block:var(--space-1)}.teacher-assignment-student-tools{padding-block:0}.teacher-assignment-result-space>.table-pagination{min-height:36px;padding-block:0}}.accounts-page{min-width:0;min-height:0}.account-admin-summary{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.accounts-tabs{max-width:460px}.account-workspace{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);border:var(--stroke-strong);background:var(--surface);overflow:hidden;transition:grid-template-columns var(--motion-base) var(--ease-standard)}.account-workspace.is-teacher.has-detail-panel{grid-template-columns:minmax(0,1fr) minmax(260px,300px)}.account-workspace.is-teacher.has-create-panel{grid-template-columns:minmax(0,1fr) minmax(340px,390px)}.account-workspace.has-class-rail.has-detail-panel{grid-template-columns:minmax(170px,210px) minmax(0,1fr) minmax(260px,300px)}.account-workspace.has-class-rail.has-create-panel{grid-template-columns:minmax(170px,210px) minmax(0,1fr) minmax(340px,390px)}.account-class-rail{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);border-right:var(--stroke-default);background:var(--surface)}.account-class-rail>header{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3);border-bottom:var(--stroke-default)}.account-class-rail h2{margin:0;color:var(--text);font-size:var(--font-size-md)}.account-class-rail header span{color:var(--muted);font-size:var(--font-size-xs)}.account-class-rail nav{min-height:0;display:grid;align-content:start;overflow-y:auto;scrollbar-width:none}.account-class-rail nav::-webkit-scrollbar{display:none}.account-class-rail button{width:100%;min-width:0;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--muted);text-align:left;transition:background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.account-class-rail button:hover,.account-class-rail button:focus-visible{background:var(--control-hover);color:var(--text)}.account-class-rail button.is-active{background:var(--accent-bg-hover);color:var(--accent-strong)}.account-class-rail button span{min-width:0;overflow:hidden;font-size:var(--font-size-sm);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.account-class-rail button small{flex:0 0 auto;color:inherit;font-family:var(--font-code);font-size:var(--font-size-xs)}.account-directory{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.account-directory-toolbar{display:grid;grid-template-columns:minmax(150px,auto) minmax(220px,420px);align-items:center;justify-content:space-between;gap:var(--space-3);min-height:76px;padding:var(--space-3) var(--space-4);border-bottom:var(--stroke-default);background:var(--surface-soft)}.account-directory-context{min-width:0;display:grid;gap:var(--space-1)}.account-directory-context strong{overflow:hidden;color:var(--text);font-size:var(--font-size-md);text-overflow:ellipsis;white-space:nowrap}.account-directory-context small{color:var(--muted);font-size:var(--font-size-xs)}.account-directory-toolbar label{min-width:0;display:grid;gap:var(--space-1);color:var(--muted);font-size:var(--font-size-label);font-weight:800}.account-search,.account-search input{width:100%}.account-table-shell{min-width:0;min-height:0;overflow:hidden}.account-directory-table{table-layout:fixed}.account-directory-table th:first-child{width:44%}.account-directory-table th:nth-child(2){width:26%}.account-directory-table th:last-child{width:30%}.account-directory-table td{height:62px}.account-directory-table tbody tr.is-selected td{background:var(--surface-selected)}.account-directory-table tbody tr.is-selected .account-identity strong{color:var(--accent-strong)}.account-identity-button{width:100%;min-width:0;display:block;color:inherit;text-align:left}.account-identity{min-width:0;display:flex;align-items:center;gap:var(--space-3)}.account-identity>span:first-child{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:var(--stroke-default);border-radius:50%;color:var(--accent-strong);background:var(--accent-bg-soft);font-size:var(--font-size-sm);font-weight:900}.account-identity>span:last-child{min-width:0;display:grid;gap:.1rem}.account-identity strong,.account-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-identity small{color:var(--muted)}.account-detail-panel{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-left:var(--stroke-default);background:var(--surface)}.account-detail-panel>header{min-height:96px;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:var(--stroke-default)}.account-detail-panel>header>span{width:var(--avatar-size);height:var(--avatar-size);flex:0 0 var(--avatar-size);display:grid;place-items:center;border:var(--stroke-accent);border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-size:var(--font-size-md);font-weight:900}.account-detail-panel header div{min-width:0}.account-detail-panel :is(h2,p){margin:0}.account-detail-panel header small{color:var(--muted);font-size:var(--font-size-xs);font-weight:800}.account-detail-panel h2{margin-top:var(--space-1);overflow:hidden;color:var(--text);font-size:var(--font-size-heading);text-overflow:ellipsis;white-space:nowrap}.account-detail-panel header p{margin-top:var(--space-1);overflow:hidden;color:var(--muted);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.account-detail-panel dl{min-height:0;margin:0;align-content:start;display:grid}.account-detail-panel dl>div{min-width:0;display:grid;grid-template-columns:minmax(88px,.8fr) minmax(0,1.2fr);gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:var(--stroke-subtle)}.account-detail-panel dt,.account-detail-panel dd{font-size:var(--font-size-sm)}.account-detail-panel dt{color:var(--muted)}.account-detail-panel dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--text);font-weight:800;text-align:right}.account-detail-actions{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:var(--stroke-default)}.account-detail-actions .btn{width:100%}.account-create-panel{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-left:var(--stroke-default);background:var(--surface)}.account-create-head{min-height:76px;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:var(--stroke-default)}.account-create-head h2,.account-create-head p{margin:0}.account-create-head h2{font-size:var(--font-size-lg)}.account-create-head p{margin-top:var(--space-1);color:var(--muted);font-size:var(--font-size-sm)}.account-panel-close{width:var(--control-h-sm);height:var(--control-h-sm);flex:0 0 var(--control-h-sm);display:grid;place-items:center;color:var(--muted);font-size:var(--font-size-lg)}.account-panel-close:hover,.account-panel-close:focus-visible{color:var(--text);background:var(--control-hover)}.account-create-fields{align-content:start;display:grid;gap:var(--space-4);padding:var(--space-4);overflow-y:auto;overscroll-behavior:contain}.account-create-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.account-create-panel label{min-width:0;gap:var(--space-1);font-size:var(--font-size-label)}.account-create-panel input{min-height:0;height:var(--control-h);padding:.38rem .6rem;border-radius:var(--radius-control);font-size:var(--font-size-sm)}.account-create-actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:var(--stroke-default)}.account-create-actions .btn{min-width:112px;min-height:var(--control-h);padding:.36rem .72rem}.username-check-wrap{display:flex;gap:.45rem;align-items:center;width:100%}.username-check-field{position:relative;flex:1;display:flex;align-items:center}.username-check-field input{width:100%;padding-right:36px;transition:border-color var(--motion-base) var(--ease-standard),background-color var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard)}.username-check-wrap .btn{min-height:var(--control-h);flex:0 0 auto;padding:.36rem .65rem;white-space:nowrap;font-weight:700}input.username-input-ok{border:1px solid var(--ok);background-color:var(--ok-soft);box-shadow:0 0 0 3px var(--ok-border)}input.username-input-fail{border:1px solid var(--bad);background-color:var(--bad-soft);box-shadow:0 0 0 3px var(--bad-border)}.field-error-hint{display:block;margin-top:.3rem;font-size:var(--font-size-label);color:var(--bad);line-height:1.4}.password-input-wrap{position:relative;display:grid}.password-input-wrap input{padding-right:2.45rem}.password-visibility-toggle{position:absolute;right:.35rem;top:50%;width:2rem;height:2rem;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-control);color:var(--muted)}.password-visibility-toggle:hover{color:var(--text);background:var(--control-hover)}.password-visibility-toggle:focus-visible{outline:0;box-shadow:0 0 0 3px var(--focus-halo)}.password-change-error{margin:-.15rem 0 0;color:var(--bad);font-size:var(--font-size-sm);font-weight:700}.username-check-icon{position:absolute;right:12px;display:flex;align-items:center;pointer-events:none}.username-check-icon-clear{padding:0;border:0;background:transparent;cursor:pointer;pointer-events:auto}@media(min-width:761px){.accounts-page{height:calc(100dvh - var(--header-h) - var(--footer-h) - var(--shell-pad-y) - var(--space-6));grid-template-rows:auto auto minmax(0,1fr);align-content:stretch;overflow:hidden}}@media(max-width:1300px){.account-workspace.has-class-rail.has-detail-panel{grid-template-columns:minmax(160px,180px) minmax(0,1fr) minmax(240px,260px)}.account-workspace.has-class-rail.has-create-panel{grid-template-columns:minmax(160px,180px) minmax(0,1fr) minmax(320px,350px)}}@media(max-width:900px){.accounts-page{height:auto;overflow:visible}.account-workspace,.account-workspace.is-teacher.has-detail-panel,.account-workspace.is-teacher.has-create-panel,.account-workspace.has-class-rail.has-detail-panel,.account-workspace.has-class-rail.has-create-panel{grid-template-columns:minmax(0,1fr);overflow:visible}.account-class-rail{grid-template-rows:auto auto;border-right:0;border-bottom:var(--stroke-default)}.account-class-rail nav{display:flex;overflow-x:auto;overflow-y:hidden}.account-class-rail button{width:auto;min-width:128px}.account-detail-panel,.account-create-panel{border-top:var(--stroke-default);border-left:0}}@media(max-width:720px){.accounts-page{height:auto;overflow:visible}.account-workspace{overflow:visible}.account-directory-toolbar{grid-template-columns:minmax(0,1fr);align-items:stretch}.account-search,.account-create-actions .btn{width:100%}.account-directory-table th:nth-child(3),.account-directory-table td:nth-child(3){display:none}.account-directory-table th:first-child{width:62%}.account-directory-table th:nth-child(2){width:38%}}@media(max-width:1100px){:root{--shell-pad-x: var(--space-5);--shell-pad-y: var(--space-5);--shell-gap: var(--space-5)}}@media(max-width:720px){:root{--shell-pad-x: var(--space-4);--shell-pad-y: var(--space-4);--shell-gap: var(--space-4)}.app-footer-inner{align-items:flex-start}.footer-brand span{display:none}}@media(max-height:650px){.app-root.app-shell{--footer-h: 0px;grid-template-rows:var(--header-h) minmax(0,1fr)}@media(max-width:900px)and (max-height:550px){.app-shell .page{padding-top:var(--space-2);padding-bottom:0}:is(.agit-problem-page,.teacher-assignments-page,.teacher-submissions-page,.submissions-page)>.page-head{min-height:var(--control-h-sm);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2);padding-block:0 var(--space-1)}:is(.agit-problem-page,.teacher-assignments-page,.teacher-submissions-page,.submissions-page)>.page-head .page-head-copy>p{display:none}:is(.agit-problem-page,.teacher-assignments-page,.teacher-submissions-page,.submissions-page)>.page-head .page-head-symbol{width:var(--icon-control-size);height:var(--icon-control-size)}:is(.agit-problem-page,.teacher-assignments-page,.teacher-submissions-page,.submissions-page)>.page-head .page-head-symbol svg{width:var(--space-5);height:var(--space-5)}:is(.agit-problem-page,.teacher-assignments-page,.teacher-submissions-page,.submissions-page)>.page-head.has-identity .page-head-copy{grid-template-columns:var(--icon-control-size) minmax(0,1fr)}:is(.agit-problem-page,.teacher-assignments-page,.teacher-submissions-page,.submissions-page)>.page-head h1{font-size:var(--font-size-heading)}:is(.teacher-assignment-master,.teacher-assignment-table-pane,.teacher-submission-list,.submissions-workspace)>:is(.table-pagination,.numbered-pagination){min-height:var(--control-h-sm);padding-block:0}}.app-root.app-shell>.app-footer{display:none}.app-shell .page{padding-bottom:var(--space-3)}}.mv-root{width:100%;min-width:0;min-height:0;display:grid;gap:var(--space-3)}.mv-page-head .page-head-actions{align-self:stretch;align-items:center}.mv-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap}.mv-readiness{min-height:var(--control-h-sm);display:inline-flex;align-items:center;padding:0 var(--space-3);border-left:2px solid var(--warn);color:var(--warn);font-size:var(--font-size-xs);font-weight:800;white-space:nowrap}.mv-readiness.is-ready{border-left-color:var(--ok);color:var(--ok)}.mv-editor-workspace{min-width:0;min-height:0;display:flex;flex-direction:column;border:var(--stroke-strong);background:var(--surface);overflow:hidden}.mv-editor-tabs{flex:0 0 auto;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 var(--space-3);background:var(--surface-soft)}.mv-editor-tabs .ui-tab{min-width:0;min-height:60px;border-radius:0}.mv-tab-label{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.mv-tab-label strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mv-tab-label small{flex:0 0 auto;color:var(--muted);font-size:var(--font-size-xs);font-weight:700}.mv-tab-label.is-complete small{color:var(--ok)}.mv-validation-summary{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--bad-border);border-left:3px solid var(--bad);background:var(--bad-soft);color:var(--bad)}.mv-validation-summary strong{flex:0 0 auto;font-size:var(--font-size-sm)}.mv-validation-summary ul{min-width:0;display:flex;align-items:center;gap:var(--space-3);margin:0;padding:0;overflow-x:auto;list-style:none}.mv-validation-summary button{color:inherit;font-size:var(--font-size-xs);font-weight:700;white-space:nowrap;text-decoration:underline;text-underline-offset:2px}.mv-editor-body{min-width:0;min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--line-strong) var(--surface-soft);scrollbar-gutter:stable;scrollbar-width:thin}.mv-editor-panel{min-width:0;height:100%;min-height:100%;display:grid;align-content:start;gap:var(--space-4);padding:var(--space-5)}.mv-panel-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-3);border-bottom:var(--stroke-subtle)}.mv-panel-head h2,.mv-panel-head p{margin:0}.mv-panel-head h2{color:var(--text);font-size:var(--font-size-lg)}.mv-panel-head p{margin-top:var(--space-1);color:var(--muted);font-size:var(--font-size-sm)}.mv-grid-2,.mv-grid-4{display:grid;gap:var(--space-4)}.mv-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.mv-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.mv-field{min-width:0;display:grid;align-content:start;gap:var(--space-1)}.mv-field .ui-select,.mv-field .ui-select-trigger{width:100%}.mv-label{color:var(--text-soft);font-size:var(--font-size-label);font-weight:800}.mv-field-error{color:var(--bad);font-size:var(--font-size-xs);font-weight:700}.mv-field :is(input,textarea)[aria-invalid=true]{border-color:var(--bad);box-shadow:0 0 0 2px var(--bad-border)}.mv-panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-top:auto;padding-top:var(--space-3);border-top:var(--stroke-subtle)}.mv-advanced{border:0}.mv-advanced summary{min-height:var(--control-h);display:flex;align-items:center;padding:0 var(--space-3);color:var(--text-soft);background:transparent;cursor:pointer;font-size:var(--font-size-sm);font-weight:750;list-style:none;transition:background var(--motion-base) var(--ease-standard),color var(--motion-base) var(--ease-standard)}.mv-advanced summary:hover,.mv-advanced summary:focus-visible{color:var(--text);background:var(--control-hover)}.mv-advanced summary:before{content:"▸";width:1.2em;flex:0 0 1.2em;color:var(--muted);transition:transform var(--motion-slow) var(--ease-emphasized),color var(--motion-base) var(--ease-standard)}.mv-advanced[open] summary:before{color:var(--accent);transform:rotate(90deg)}.mv-advanced-body{display:grid;gap:var(--space-4);padding:var(--space-4) var(--space-3) var(--space-3);border-top:var(--stroke-subtle)}.mv-advanced[open] .mv-advanced-body{animation:ui-disclosure-enter var(--motion-slow) var(--ease-emphasized) both}.tc-section{gap:var(--space-3)}.tc-top{align-items:flex-start}.tc-counter{min-height:var(--control-h);display:inline-flex;align-items:center;gap:var(--space-1);padding:0 var(--space-3);border:var(--stroke-default);color:var(--muted);font-size:var(--font-size-sm);font-weight:750}.tc-counter strong{color:inherit;font-family:var(--font-code);font-size:var(--font-size-md)}.tc-counter-ok{border-color:var(--ok-border);color:var(--ok);background:var(--ok-soft)}.tc-counter-bad{border-color:var(--bad-border);color:var(--bad);background:var(--bad-soft)}.tc-toolbar{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-top:var(--stroke-subtle);border-bottom:var(--stroke-subtle);background:var(--surface-soft)}.tc-toolbar>div{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.tc-list{display:grid;gap:var(--space-3)}.tc-item{min-width:0;border:var(--stroke-default);background:var(--surface);overflow:hidden;transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.tc-item:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.tc-item-head{min-height:42px;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:var(--stroke-subtle);background:var(--surface-soft)}.tc-item-num{min-width:32px;color:var(--accent-strong);font-size:var(--font-size-xs);font-weight:850}.tc-item-note{min-width:140px;flex:1 1 auto;height:var(--control-h-sm);border-color:transparent;background:transparent;font-size:var(--font-size-xs)}.tc-item-note:focus{border-color:var(--line-strong);background:var(--surface);box-shadow:none}.tc-pub{width:auto;display:inline-flex;align-items:center;gap:var(--space-1);color:var(--text-soft);font-size:var(--font-size-xs);white-space:nowrap}.tc-pub input{width:auto;margin:0}.tc-del{width:var(--control-h-sm);height:var(--control-h-sm);display:grid;place-items:center;color:var(--muted);font-size:var(--font-size-lg)}.tc-del:hover,.tc-del:focus-visible{color:var(--bad);background:var(--bad-soft)}.tc-io-labels,.tc-io{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tc-io-label{padding:var(--space-1) var(--space-3);border-bottom:var(--stroke-subtle);color:var(--muted);background:var(--surface-soft);font-size:var(--font-size-xs);font-weight:750}.tc-io-label:first-child,.tc-io textarea:first-child{border-right:var(--stroke-subtle)}.tc-io textarea{min-height:88px;border:0;border-radius:0;background:var(--surface);box-shadow:none;font-family:var(--font-code);font-size:var(--font-size-xs)}.tc-section>.table-pagination{padding:var(--space-2) 0 0}.bulk-box{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);gap:var(--space-3);padding:var(--space-4);border:var(--stroke-default);background:var(--surface-soft)}.bulk-format{display:grid;align-content:start;gap:var(--space-2)}.bulk-format p,.bulk-error{margin:0;font-size:var(--font-size-xs)}.bulk-format code{padding:0 var(--space-1);background:var(--surface)}.bulk-example{margin:0;padding:var(--space-3);border:var(--stroke-subtle);color:var(--text-soft);background:var(--surface);font-size:var(--font-size-xs)}.bulk-error{grid-column:2;color:var(--bad);font-weight:700}.bulk-box>.mv-header-actions{grid-column:2;justify-content:flex-start}@media(min-width:761px){.mv-root{height:calc(100dvh - var(--header-h) - var(--footer-h) - var(--shell-pad-y) - var(--space-6));grid-template-rows:auto minmax(0,1fr);align-content:stretch;overflow:hidden}}@media(max-width:1100px){.mv-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.mv-editor-panel{padding:var(--space-4)}}@media(max-width:760px){.mv-root{height:auto;overflow:visible}.mv-editor-workspace,.mv-editor-body{overflow:visible}.mv-editor-tabs{min-width:560px}.mv-editor-workspace{overflow-x:auto}}@media(max-width:720px){.mv-header-actions{justify-content:flex-start}.mv-grid-2,.mv-grid-4,.tc-io-labels,.tc-io,.bulk-box{grid-template-columns:1fr}.mv-validation-summary,.tc-toolbar{align-items:flex-start;flex-direction:column}.tc-item-head{flex-wrap:wrap}.tc-item-note{order:2;flex-basis:100%}.tc-io-labels{display:none}.tc-io textarea:first-child{border-right:0;border-bottom:var(--stroke-subtle)}.bulk-error,.bulk-box>.mv-header-actions{grid-column:1}}@media(min-width:761px)and (max-height:700px){.mv-root{gap:var(--space-2)}.mv-editor-tabs .ui-tab{min-height:48px}.mv-editor-panel{gap:var(--space-2);padding:var(--space-3)}.mv-panel-head{padding-bottom:var(--space-2)}.mv-panel-head h2{font-size:var(--font-size-md)}.mv-panel-head p{margin-top:0;font-size:var(--font-size-xs)}.tc-counter{min-height:var(--control-h-sm)}.tc-toolbar{min-height:40px;gap:var(--space-2);padding:var(--space-1) var(--space-2)}.tc-list{gap:var(--space-2)}.tc-item-head{min-height:36px;padding:var(--space-1) var(--space-2)}.tc-io-label{padding:.15rem var(--space-2)}.tc-io textarea{min-height:64px}.tc-section>.table-pagination{min-height:36px;padding-top:0}}._filterGroup_obyb5_1{display:flex;flex-direction:column;gap:.28rem}._filterGroup_obyb5_1>span{color:var(--muted);font-size:var(--font-size-xs);font-weight:850}._filterControl_obyb5_13{display:flex;align-items:center;min-height:var(--control-h);gap:var(--space-2);padding:0 var(--space-2);overflow:hidden;border:0;border-radius:var(--radius-control);background:var(--surface)}._emptyFilter_obyb5_25{justify-content:space-between}._filterPlaceholder_obyb5_29{flex:1;padding-left:var(--space-1);color:var(--text);font-size:var(--font-size-sm);font-weight:650}._filterOpenButton_obyb5_37,._filterEditButton_obyb5_38{flex-shrink:0;height:calc(var(--control-h) - 8px);padding:0 var(--space-2);border-radius:var(--radius-control);font-size:var(--font-size-label);font-weight:750;cursor:pointer;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}._filterOpenButton_obyb5_37{border:1px solid var(--accent-border);background:var(--accent-bg-soft);color:var(--accent)}._filterOpenButton_obyb5_37:hover{border-color:var(--accent-border-strong);background:var(--accent-bg-strong)}._filterEditButton_obyb5_38{border:1px solid var(--line);background:var(--surface);color:var(--muted)}._filterEditButton_obyb5_38:hover{border-color:var(--line-strong);background:var(--control-hover);color:var(--text)}._filterWithChips_obyb5_75{min-height:var(--control-h);align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:var(--space-2);padding:var(--space-1) var(--space-2);overflow:visible}._filterChips_obyb5_85,._problemTags_obyb5_86{position:relative;display:flex;min-width:0;align-items:center}._filterChips_obyb5_85{flex:1;gap:.3rem}._problemTags_obyb5_86{width:100%;gap:var(--space-1)}._filterChipViewport_obyb5_103,._problemTagViewport_obyb5_104{display:flex;min-width:0;flex:1 1 auto;align-items:center;overflow:hidden}._filterChipViewport_obyb5_103{gap:.3rem}._problemTagViewport_obyb5_104{gap:var(--space-1)}._filterChip_obyb5_85{display:inline-flex;flex:0 0 auto;align-items:center;gap:.25rem;padding:.15rem .5rem;border-radius:var(--radius-control);font-family:var(--font-tag);font-size:var(--font-size-label);font-weight:400;white-space:nowrap}._filterChipRemove_obyb5_133{display:inline-grid;width:18px;height:18px;flex:0 0 auto;place-items:center;margin-right:calc(var(--space-1) * -1);padding:0;border:0;border-radius:var(--radius-control);background:transparent;color:inherit;cursor:pointer}._filterChipRemove_obyb5_133:hover{background:color-mix(in srgb,var(--category-color) 18%,transparent)}._filterChipRemove_obyb5_133:focus-visible{outline:2px solid var(--category-color);outline-offset:1px}._filterChipOverflow_obyb5_157,._problemTagOverflow_obyb5_158{display:inline-flex;position:relative;flex:0 0 auto;align-items:center;border:1px solid var(--line);background:var(--control-bg);color:var(--muted);font-size:var(--font-size-label);font-weight:650;cursor:help}._filterChipOverflow_obyb5_157{padding:.15rem .5rem;border-radius:var(--radius-control)}._problemTagOverflow_obyb5_158{min-height:26px;padding:0 var(--space-2);font-weight:700}._hiddenFilterChipOverflow_obyb5_182,._hiddenProblemTagOverflow_obyb5_183{position:absolute;right:0;visibility:hidden;pointer-events:none}._filterChipOverflow_obyb5_157:focus-visible,._problemTagOverflow_obyb5_158:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}._problemTag_obyb5_86{display:inline-flex;max-width:100%;min-height:26px;flex:0 0 auto;align-items:center;overflow:hidden;padding:0 .55rem;border-radius:0;font-family:var(--font-tag);font-size:var(--font-size-label);font-weight:400;text-overflow:ellipsis;white-space:nowrap}button._problemTag_obyb5_86{cursor:pointer;text-align:left;transition:border-color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}button._problemTag_obyb5_86:hover{border-color:var(--category-color);background:color-mix(in srgb,var(--category-color) 17%,var(--surface))}button._problemTag_obyb5_86:focus-visible{outline:2px solid var(--category-color);outline-offset:1px}._overflowPopover_obyb5_230{position:fixed;z-index:calc(var(--layer-select-popover) + 1);display:grid;width:max-content;max-width:min(280px,calc(100vw - var(--space-8)));gap:var(--space-2);padding:var(--space-3);border:var(--stroke-default);border-radius:var(--radius-popover);background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-popover);pointer-events:auto;animation:_ui-overlay-enter_obyb5_1 var(--motion-fast) var(--ease-standard) both}._overflowPopover_obyb5_230>strong{font-family:var(--font-ui);font-size:var(--font-size-xs);font-weight:800;white-space:nowrap}._overflowList_obyb5_254{display:flex;flex-wrap:wrap;gap:var(--space-1)}._overflowItem_obyb5_260{display:inline-flex;min-height:24px;align-items:center;padding:0 var(--space-2);font-family:var(--font-tag);font-size:var(--font-size-xs);font-weight:400;white-space:nowrap}button._overflowItem_obyb5_260{cursor:pointer}button._overflowItem_obyb5_260:hover{border-color:var(--category-color);background:color-mix(in srgb,var(--category-color) 18%,var(--surface))}button._overflowItem_obyb5_260:focus-visible{outline:2px solid var(--category-color);outline-offset:1px}._modal_1ak0m_1,._modal_1ak0m_1 *{box-sizing:border-box}._overlay_1ak0m_6{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--layer-select-popover) + 10);display:grid;place-items:center;padding:var(--space-4);background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(var(--overlay-blur));backdrop-filter:blur(var(--overlay-blur))}._modal_1ak0m_1{width:min(1040px,calc(100vw - var(--space-8)));height:min(760px,calc(100dvh - var(--space-8)));display:flex;flex-direction:column;overflow:hidden;border:var(--stroke-strong);border-radius:var(--radius-panel);background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-popover)}._header_1ak0m_30{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-3)}._search_1ak0m_39{width:min(320px,calc(100% - 52px));min-height:var(--control-h-lg);display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:var(--stroke-default);border-radius:var(--radius-control);background:var(--control-bg);color:var(--muted);transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}._search_1ak0m_39:focus-within{border-color:var(--category-blue);box-shadow:0 0 0 3px var(--focus-halo)}._search_1ak0m_39 input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:var(--font-size-body)}._close_1ak0m_68{width:var(--control-h-lg);height:var(--control-h-lg);display:grid;place-items:center;padding:0;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted);cursor:pointer}._close_1ak0m_68:hover{background:var(--control-hover);color:var(--text)}._content_1ak0m_86{min-height:0;flex:1;display:flex;gap:var(--space-3);padding:0 var(--space-5)}._main_1ak0m_94{min-width:0;flex:1;overflow-y:auto;padding-right:var(--space-1);scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin}._main_1ak0m_94 h2{margin:var(--space-1) 0 var(--space-2);font-size:var(--font-size-section)}._categoryGrid_1ak0m_108{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-2)}._card_1ak0m_114{position:relative;min-width:0;min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2);border:var(--stroke-default);border-radius:var(--radius-control);background:var(--surface);color:var(--text-soft);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}._card_1ak0m_114:hover{border-color:var(--category-color);background:var(--surface-hover);transform:translateY(-1px)}._activeCard_1ak0m_141,._selectedCard_1ak0m_142{border-color:var(--category-color);background:color-mix(in srgb,var(--category-color) 7%,var(--surface))}._activeMark_1ak0m_147{position:absolute;top:calc(var(--space-2) * -1);right:calc(var(--space-2) * -1);width:22px;height:22px;display:grid;place-items:center;border:2px solid var(--surface-raised);border-radius:50%;background:var(--category-color);color:var(--color-on-accent)}._icon_1ak0m_161{color:var(--category-color)}._card_1ak0m_114 strong{overflow:hidden;max-width:100%;font-size:var(--font-size-body);text-overflow:ellipsis;white-space:nowrap}._count_1ak0m_173{min-height:20px;display:inline-grid;place-items:center;padding:0 var(--space-2);border:var(--stroke-subtle);border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:var(--font-size-xs)}._empty_1ak0m_185{min-height:180px;display:grid;place-items:center;color:var(--muted);font-size:var(--font-size-body)}._selectedParent_1ak0m_193{margin:var(--space-3) 0 var(--space-2);color:var(--text-soft);font-size:var(--font-size-body)}._selectedParent_1ak0m_193 strong{color:var(--category-color)}._branch_1ak0m_203{display:contents}._selectAll_1ak0m_207{width:100%;min-height:56px;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:var(--stroke-default);border-radius:var(--radius-control);background:var(--surface);color:var(--text-soft);text-align:left;cursor:pointer}._activeSelectAll_1ak0m_223{border-color:var(--category-color);background:color-mix(in srgb,var(--category-color) 4%,var(--surface))}._selectAll_1ak0m_207 strong,._selectAll_1ak0m_207 small{display:block}._selectAll_1ak0m_207 strong{margin-bottom:var(--space-1);color:var(--category-color);font-size:var(--font-size-body)}._selectAll_1ak0m_207 small{overflow:hidden;color:var(--muted);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}._checkbox_1ak0m_247{width:20px;height:20px;display:inline-grid;flex:0 0 auto;place-items:center;border:var(--stroke-default);border-radius:var(--radius-control);background:var(--surface);color:var(--color-on-accent)}._activeSelectAll_1ak0m_223 ._checkbox_1ak0m_247{border-color:var(--category-color);background:var(--category-color)}._checkedChildOption_1ak0m_264 ._checkbox_1ak0m_247{border-color:var(--category-blue);background:var(--category-blue)}._divider_1ak0m_269{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-3);margin:var(--space-2) 0;color:var(--muted);font-size:var(--font-size-xs);font-weight:700}._divider_1ak0m_269 span{height:1px;background:var(--line-soft)}._children_1ak0m_285{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:var(--space-2);padding-bottom:var(--space-2)}._childOption_1ak0m_292{min-width:0;min-height:var(--control-h);display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2);border:var(--stroke-default);border-radius:var(--radius-control);background:var(--surface);color:var(--text-soft);font-size:var(--font-size-sm);cursor:pointer}._childOption_1ak0m_292:hover,._checkedChildOption_1ak0m_264{border-color:color-mix(in srgb,var(--category-blue) 45%,var(--line));background:color-mix(in srgb,var(--category-blue) 6%,var(--surface))}._childOption_1ak0m_292 input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}._childOption_1ak0m_292>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._aside_1ak0m_328{width:188px;min-width:188px;min-height:0;align-self:stretch;display:flex;flex-direction:column;padding:var(--space-3);border:var(--stroke-default);border-radius:var(--radius-panel);background:var(--surface-soft)}._asideHeading_1ak0m_341{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3);white-space:nowrap}._asideHeading_1ak0m_341 strong{font-size:var(--font-size-sm)}._asideHeading_1ak0m_341 button{padding:0;border:0;background:transparent;color:var(--category-blue);font-size:var(--font-size-xs);font-weight:750;cursor:pointer}._tags_1ak0m_364{min-height:0;display:flex;flex-flow:row wrap;align-items:flex-start;align-content:flex-start;gap:var(--space-2);overflow-y:auto;scrollbar-width:thin}._tag_1ak0m_364{min-height:var(--control-h-sm);max-width:100%;display:inline-flex;align-items:center;gap:var(--space-1);padding:0 var(--space-1) 0 var(--space-3);border-radius:var(--radius-control);font-family:var(--font-tag);font-size:var(--font-size-sm);font-weight:400;white-space:nowrap}._tag_1ak0m_364 button{width:26px;height:26px;display:grid;place-items:center;padding:0;border:0;border-radius:var(--radius-control);background:transparent;color:inherit;cursor:pointer}._tag_1ak0m_364 button:hover{background:color-mix(in srgb,var(--category-color) 18%,transparent);color:inherit}._asideEmpty_1ak0m_407{margin:auto;color:var(--muted);font-size:var(--font-size-xs);line-height:1.7;text-align:center}._footer_1ak0m_415{flex:0 0 auto;display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5) var(--space-4)}._footer_1ak0m_415 .btn-primary{border-color:var(--category-blue);background:var(--category-blue);color:#fff}._modal_1ak0m_1 :is(button,input):focus-visible{outline:2px solid var(--category-blue);outline-offset:2px}@media(max-width:860px){._categoryGrid_1ak0m_108{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){._modal_1ak0m_1{width:calc(100vw - var(--space-5));height:calc(100dvh - var(--space-5))}._header_1ak0m_30,._content_1ak0m_86,._footer_1ak0m_415{padding-left:var(--space-3);padding-right:var(--space-3)}._content_1ak0m_86{display:block;overflow-y:auto}._main_1ak0m_94{overflow:visible}._aside_1ak0m_328{width:100%;min-width:0;min-height:140px;margin-top:var(--space-4)}._tags_1ak0m_364{flex-flow:row wrap}}@media(max-width:460px){._categoryGrid_1ak0m_108,._children_1ak0m_285{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){._modal_1ak0m_1 *{transition-duration:.01ms}}.app-shell .page>.agit-problem-page{animation:agit-problem-page-fade var(--motion-page) var(--ease-emphasized) both}.app-shell .page>.agit-problem-page>.agit-problem-head,.app-shell .page>.agit-problem-page .agit-problem-main{animation:agit-problem-content-enter var(--motion-page) var(--ease-emphasized) backwards}.app-shell .page>.agit-problem-page .agit-problem-main{animation-delay:var(--motion-press)}.agit-problem-page{min-height:0;align-content:start;container-type:inline-size}.agit-problem-workspace{min-height:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--agit-workspace-split-gap);align-items:start}.agit-problem-main{min-width:0;min-height:0;display:grid;gap:var(--space-2)}.agit-problem-filters{display:grid;grid-template-columns:minmax(220px,360px) minmax(140px,190px) minmax(260px,1fr);align-items:end;gap:.65rem;padding:var(--space-3);border:0;border-radius:var(--radius-panel);background:var(--surface-soft)}.agit-problem-filters label{gap:.28rem}.agit-problem-filters label>span{color:var(--muted);font-size:var(--font-size-xs);font-weight:850}.agit-problem-filters input,.agit-problem-filters .ui-select-trigger{min-height:var(--control-h);border-radius:var(--radius-control)}.agit-problem-filters input{background:var(--control-bg)}.agit-problem-bottom-bar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-1) 0;margin-top:auto}.agit-problem-bottom-bar>.numbered-pagination{grid-column:2;justify-self:center}.agit-problem-bottom-bar>.agit-filter-actions{grid-column:3;justify-self:end}.agit-filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);white-space:nowrap}.agit-filter-actions>span strong{color:var(--text);font-family:var(--font-code)}.agit-filter-reset{min-height:var(--control-h);padding:0 var(--space-3);border:0;border-radius:var(--radius-control);background:transparent;color:var(--accent);font-weight:850}.agit-filter-reset:hover{background:var(--control-hover)}.agit-problem-admin{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:.8rem var(--space-4);border:var(--stroke-default);background:var(--surface)}.agit-problem-admin span{color:var(--muted);font-weight:750}.agit-problem-admin strong{color:var(--accent)}.agit-problem-admin div{display:inline-flex;gap:.45rem}.agit-problem-table-viewport,.agit-problem-table-shell{--agit-problem-row-min-height: 64px}.agit-problem-table-viewport{display:flex;flex-direction:column;justify-content:space-between}.agit-problem-table{width:100%;min-width:840px;table-layout:fixed;border-collapse:collapse;font-size:var(--font-size-body)}.agit-col-title{width:35%}.agit-col-tag{width:21%}.agit-col-difficulty{width:118px}.agit-col-time{width:78px}.agit-col-status{width:96px}.agit-problem-table th{height:var(--control-h-lg);padding:.65rem .95rem;border-bottom:var(--stroke-default);color:var(--muted);font-size:var(--font-size-xs);font-weight:850;text-align:left}.agit-problem-table thead th{position:sticky;top:0;z-index:2;background:var(--surface)}.agit-problem-table td{height:var(--agit-problem-row-min-height);padding:var(--space-2) .95rem;border-bottom:var(--stroke-default);vertical-align:middle}.agit-problem-table tbody tr:last-child td{border-bottom:0}.agit-problem-row{cursor:pointer;transition:background var(--motion-fast) var(--ease-standard)}.agit-problem-row:hover{background:var(--control-hover)}.agit-problem-row.is-active{background:var(--surface-selected)}.agit-problem-row.is-selected{background:var(--surface-selected-soft)}.agit-problem-row.is-active.is-selected{background:var(--surface-selected-strong)}.agit-col-check{width:54px;text-align:center}.agit-col-action{width:58px;text-align:right;white-space:nowrap}.agit-select-control{width:28px;height:28px;display:inline-grid;place-items:center;cursor:pointer}.agit-select-control input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.agit-select-control span{position:relative;width:18px;height:18px;border:var(--stroke-default);border-radius:0;background:var(--surface);box-shadow:none;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.agit-select-control span:after{content:"";position:absolute;left:4px;top:4px;width:8px;height:5px;border-left:2px solid var(--color-on-accent);border-bottom:2px solid var(--color-on-accent);opacity:0;transform:rotate(-45deg) scale(.85);transform-origin:center;transition:opacity var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.agit-select-control:hover span{border-color:var(--accent)}.agit-select-control input:checked+span{border-color:var(--accent);background:var(--accent);box-shadow:none}.agit-select-control input:checked+span:after{opacity:1;transform:rotate(-45deg) scale(1)}.agit-select-control input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.agit-problem-title{width:100%;min-width:0;display:grid;gap:.18rem;text-align:left}.agit-problem-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:var(--font-size-md);line-height:1.35}.agit-problem-title:hover strong{color:var(--accent)}.agit-problem-title span,.agit-mono{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-family:var(--font-code);font-size:var(--font-size-label)}.agit-problem-title span{line-height:1.35}.agit-status-done{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent);font-weight:850}.agit-status-muted{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.agit-row-actions{display:inline-flex;justify-content:flex-end;gap:.35rem}.agit-open-button{width:var(--icon-control-size);height:var(--icon-control-size);border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--muted);font-weight:900;opacity:.7;transition:background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),opacity var(--motion-fast) var(--ease-standard),transform var(--motion-press) var(--ease-press)}.agit-open-button:hover{background:var(--accent-soft);color:var(--accent);opacity:1}.agit-open-button:active{transform:scale(var(--press-scale))}.agit-open-button svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.agit-problem-row:hover .agit-open-button,.agit-problem-row.is-active .agit-open-button{opacity:1}.agit-problem-empty{height:var(--dense-scroll-min-h);padding:var(--space-8) var(--space-4);color:var(--muted);text-align:center}.agit-problem-detail{position:fixed;top:var(--header-h);right:0;bottom:0;z-index:71;width:min(440px,calc(100vw - 10rem));min-width:360px;height:auto;max-height:none;display:grid;gap:1.2rem;padding:1.45rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;border:0;border-left:var(--stroke-strong);border-radius:0;background:var(--surface);box-shadow:var(--shadow-popover);animation:agit-problem-drawer-enter var(--motion-slow) var(--ease-emphasized) both}.agit-problem-detail::-webkit-scrollbar{display:none}.agit-problem-detail.is-assignment-only{gap:0}.agit-problem-detail.is-assignment-only .agit-assign-panel{padding-top:0;border-top:0}.agit-detail-top{display:flex;align-items:center;justify-content:space-between;gap:.85rem;color:var(--muted);font-size:var(--font-size-label);font-weight:850}.agit-detail-top button{width:var(--icon-control-size);height:var(--icon-control-size);color:var(--text-soft)}.agit-detail-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.agit-problem-detail h2{color:var(--text);font-size:var(--font-size-title);line-height:1.35}.agit-problem-detail section{display:grid;gap:.55rem;padding-top:var(--space-4);border-top:var(--stroke-default)}.agit-problem-detail h3{color:var(--text);font-size:var(--font-size-md);font-weight:850}.agit-problem-detail p,.agit-detail-list{margin:0;color:var(--text-soft);font-size:var(--font-size-body);line-height:1.8}.agit-detail-list{padding-left:1.05rem}.agit-detail-meta,.agit-detail-info{margin:0;display:grid;gap:0}.agit-detail-meta{grid-template-columns:repeat(3,minmax(0,1fr));border-top:var(--stroke-default);border-bottom:var(--stroke-default)}.agit-detail-meta div{min-width:0;padding:.85rem .65rem;border-right:var(--stroke-default)}.agit-detail-meta div:last-child{border-right:0}.agit-detail-info div{display:flex;justify-content:space-between;gap:var(--space-4);padding:.72rem 0;border-bottom:var(--stroke-default)}.agit-detail-meta dt,.agit-detail-info dt{color:var(--muted);font-size:var(--font-size-xs);font-weight:850}.agit-detail-meta dd,.agit-detail-info dd{margin:var(--space-1) 0 0;color:var(--text);font-size:var(--font-size-body);font-weight:800}.agit-detail-info dd{margin:0;text-align:right}.agit-detail-actions{display:grid;gap:.7rem}.agit-detail-actions .btn{width:100%;min-height:48px}.agit-assign-panel{display:grid;gap:.95rem;padding-top:var(--space-4);border-top:var(--stroke-default)}.agit-assign-head{display:grid;align-items:start;gap:.35rem}.agit-assign-head h3{margin:0}.agit-assign-head p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--font-size-label);line-height:1.55}.agit-assign-panel .btn,.agit-assign-clear{border-radius:var(--radius-control)}.agit-assign-selection{border:var(--stroke-default);border-radius:var(--radius-panel);background:var(--surface);overflow:hidden}.agit-assign-selection ul{list-style:none;margin:0;padding:0}.agit-assign-selection li{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:.6rem;min-height:var(--row-h);padding:.55rem .65rem;border-bottom:var(--stroke-default)}.agit-assign-selection li:last-child{border-bottom:0}.agit-assign-selection strong,.agit-assign-selection small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agit-assign-selection strong{color:var(--text);font-size:var(--font-size-body)}.agit-assign-selection small{margin-top:.14rem;color:var(--muted);font-size:var(--font-size-xs)}.agit-assign-selection li button{width:28px;height:28px;border:var(--stroke-default);border-radius:var(--radius-control);background:var(--surface);color:var(--muted);font-weight:900}.agit-assign-selection li button:hover{border-color:var(--bad);color:var(--bad)}.agit-assign-empty{margin:0;padding:var(--space-3);color:var(--muted);font-size:var(--font-size-sm);line-height:1.55}.agit-assign-clear{width:100%;min-height:var(--control-h-sm);border-top:var(--stroke-default);color:var(--muted);font-size:var(--font-size-label);font-weight:800}.agit-assign-clear:hover{color:var(--accent);background:var(--surface-selected)}.agit-assign-form{display:grid;gap:.65rem}.agit-assign-form label{display:grid;gap:.28rem}.agit-assign-form label>span{color:var(--muted);font-size:var(--font-size-xs);font-weight:850}.agit-assign-form input,.agit-assign-form .ui-select-trigger{min-height:var(--control-h);border-radius:var(--radius-control)}.agit-assign-form .btn{width:100%;min-height:var(--control-h-lg)}@media(min-width:761px){.agit-problem-page{height:calc(100dvh - var(--header-h) - var(--footer-h) - (var(--shell-pad-y) * 2) - 48px);grid-template-rows:auto minmax(0,1fr);align-content:stretch;overflow:hidden}.agit-problem-workspace{align-items:stretch;overflow:hidden}.agit-problem-main{grid-template-rows:auto minmax(0,1fr);overflow:hidden}.agit-problem-table-viewport{height:100%;overflow-x:hidden;overflow-y:hidden}}@media(max-width:900px){.agit-problem-page{height:auto;overflow:visible}.agit-problem-workspace,.agit-problem-main{overflow:visible}.agit-problem-table-viewport{height:auto;min-height:0;overflow:visible}.agit-problem-table{display:block;min-width:0}.agit-problem-table thead{display:none}.agit-problem-table tbody{display:grid}.agit-problem-table tbody>tr:not(.agit-problem-row),.agit-problem-table tbody>tr:not(.agit-problem-row)>td{display:block;width:100%}.agit-problem-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto 42px;grid-template-areas:"title title action" "tag difficulty action" "status time action";align-items:center;column-gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:var(--stroke-default)}.agit-problem-table.is-teacher .agit-problem-row{grid-template-columns:32px minmax(0,1fr) auto 42px;grid-template-areas:"check title title action" "check tag difficulty action" "check status time action"}.agit-problem-table tbody .agit-problem-row:last-child{border-bottom:0}.agit-problem-table td{width:auto;height:auto;min-width:0;padding:.22rem 0;border-bottom:0}.agit-col-check{grid-area:check}.agit-col-title{grid-area:title}.agit-col-tag{grid-area:tag}.agit-col-difficulty{grid-area:difficulty;justify-self:end}.agit-col-time{grid-area:time;justify-self:end;color:var(--muted);font-size:var(--font-size-xs)}.agit-col-status{grid-area:status}.agit-col-action{grid-area:action;justify-self:stretch;align-self:stretch;display:grid;place-items:center}.agit-open-button{opacity:1}}@media(max-width:720px){.agit-problem-head .page-head-copy>p{display:none}.agit-problem-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:.85rem}.agit-search-field{grid-column:1 / -1}.agit-filter-reset{width:auto}.agit-problem-table-footer{grid-template-columns:minmax(0,1fr) auto}.agit-problem-table-footer>.numbered-pagination{grid-column:1;grid-row:1;justify-self:start}.agit-problem-table-footer>.agit-filter-actions{grid-column:2;grid-row:1}.agit-problem-admin{align-items:stretch;flex-direction:column}.agit-problem-admin div{width:100%}.agit-problem-admin .btn{flex:1 1 auto}.agit-detail-meta{grid-template-columns:1fr}.agit-detail-meta div{border-right:0;border-bottom:var(--stroke-default)}.agit-detail-meta div:last-child{border-bottom:0}}@media(max-width:480px){.agit-problem-filters{grid-template-columns:minmax(0,1fr)}.agit-search-field{grid-column:auto}.agit-problem-table-footer{grid-template-columns:minmax(0,1fr)}.agit-problem-table-footer>.agit-filter-actions{grid-column:1;grid-row:1;width:100%;justify-content:space-between}.agit-problem-table-footer>.numbered-pagination{grid-column:1;grid-row:2;justify-self:center}}@keyframes agit-problem-page-fade{0%{opacity:0}to{opacity:1}}@keyframes agit-problem-content-enter{0%{opacity:0;transform:translateY(7px) scale(.995)}to{opacity:1;transform:none}}@media(max-width:1204px){.agit-problem-workspace.has-detail:before{content:"";position:fixed;inset:var(--header-h) 0 0;z-index:70;background:var(--overlay-backdrop);animation:ui-overlay-enter var(--motion-base) var(--ease-standard) both}.agit-assignment-selection-bar{position:fixed;right:0;bottom:0;left:0;z-index:69;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-top:var(--stroke-default);background:var(--surface);box-shadow:var(--shadow-popover)}.agit-assignment-selection-bar>span{color:var(--text-soft);font-size:var(--font-size-sm);font-weight:750}.agit-assignment-selection-bar>span strong{color:var(--accent)}.agit-assignment-selection-bar>div{display:flex;gap:var(--space-2)}}@media(max-width:700px){.agit-problem-detail{width:100vw;min-width:0}}@media(max-width:480px){.agit-assignment-selection-bar{align-items:stretch;flex-direction:column}.agit-assignment-selection-bar>div,.agit-assignment-selection-bar .btn{width:100%}.agit-assignment-selection-bar .btn{flex:1 1 0}}@media(prefers-reduced-motion:reduce){.app-shell .page>.agit-problem-page,.app-shell .page>.agit-problem-page>.agit-problem-head,.app-shell .page>.agit-problem-page .agit-problem-main,.agit-problem-detail,.agit-problem-workspace.has-detail:before{animation:none}}
