@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}@font-face{font-family:HiKR;src:url(/fonts/HiKR-ExtraBold.woff2) format("woff2");font-style:normal;font-weight:800;font-display:swap}:root{font-family:var(--font-ui);color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--font-ui: "IBM Plex Sans KR", "Pretendard Variable", "Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--font-display: "IBM Plex Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-code: "JetBrains Mono", "Cascadia Code", "Consolas", monospace;--font-tag: "Cafe24 Ohsquare Air", "IBM Plex Sans KR", sans-serif;--font-brand: "HiKR", var(--font-display);--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: #f3f1ff;--color-brand-100: #e7e3ff;--color-brand-200: #d3cefb;--color-brand-400: #9086ec;--color-brand-500: #6c5fe8;--color-brand-600: #584acf;--color-brand-700: #4438a8;--color-brand-rgb: 108, 95, 232;--color-ink-900: #172033;--color-ink-800: #344054;--color-muted: #667085;--color-line: #dde3ea;--color-line-soft: #edf0f4;--color-canvas: #f3f4f6;--color-paper: #ffffff;--color-wash: #f3f1ff;--color-success: #188038;--color-success-soft: #e6f4ea;--color-warning: #b06000;--color-warning-soft: #fef7e0;--color-danger: #d93025;--color-danger-soft: #fce8e6;--color-neutral: #52647a;--color-neutral-soft: #eef2f7;--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: 34px;--control-h: 40px;--control-h-lg: 44px;--icon-control-size: 34px;--avatar-size-sm: var(--icon-control-size);--avatar-size: var(--control-h);--row-h: 52px;--panel-pad: var(--space-4);--panel-gap: var(--space-4);--radius-sm: 8px;--radius-control: 10px;--radius-panel: 10px;--radius-popover: 10px;--radius-6: var(--radius-sm);--radius-8: var(--radius-control);--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-paper);--surface-raised: #ffffff;--surface-soft: #e9edf2;--surface-hover: #e3e7ed;--surface-selected: var(--color-wash);--surface-selected-soft: #f0eeff;--surface-selected-strong: #e1dcff;--line: var(--color-line);--line-soft: var(--color-line-soft);--line-strong: #98a3b3;--text: var(--color-ink-900);--text-soft: var(--color-ink-800);--muted: var(--color-muted);--color-on-accent: #ffffff;--overlay-backdrop: rgba(10, 18, 32, .48);--mask-opaque: #000000;--surface-glass: rgba(255, 255, 255, .9);--control-bg: #edf0f4;--control-hover: #e4e8ee;--control-selected: #ebe8ff;--chrome-bg: rgba(255, 255, 255, .96);--focus-ring: var(--color-brand-500);--focus-halo: rgba(var(--color-brand-rgb), .18);--shadow-popover: 0 18px 48px rgba(16, 35, 63, .14), 0 2px 10px rgba(16, 35, 63, .06);--shadow-lifted: 0 12px 36px rgba(16, 35, 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), .32);--accent-border: #a79def;--accent-border-strong: #7c70e6;--ok-border: rgba(46, 125, 50, .35);--warn-border: rgba(149, 91, 19, .35);--bad-border: rgba(185, 56, 47, .35);--bad-strong: #8f2a23;--button-secondary-bg: #252b3a;--button-secondary-bg-hover: #181d2a;--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-600);--info: #1a73e8;--info-soft: #e8f0fe;--info-border: rgba(66, 133, 244, .35);--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: #d8dee7;--tier-basic: #1a73e8;--tier-basic-soft: #e8f0fe;--tier-basic-border: rgba(66, 133, 244, .35);--tier-intermediate: #6d28d9;--tier-intermediate-soft: #efe8fc;--progress-track: #dfe6f0;--progress-fill: var(--color-brand-500);--chart-grid: #e2e8f2;--activity-0: #eef0f3;--activity-1: #d3cefb;--activity-2: #b1a9f4;--activity-3: #9086ec;--activity-4: #6e62e5;--header-h: 64px;--footer-h: 51px;--shell-content-max-w: 1520px;--shell-pad-x: var(--space-6);--shell-pad-y: var(--space-5);--shell-gap: var(--space-5);--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-4);--agit-workspace-rail-col: minmax(300px, 350px);--agit-workspace-split-cols: minmax(0, 1fr) var(--agit-workspace-rail-col);--body-gradient: var(--color-canvas);--app-gradient: var(--color-canvas);--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: var(--line-soft);--radar-chart-bg: #ffffff}:root[data-theme=dark]{color-scheme:dark;--color-brand-50: #231e48;--color-brand-100: #2e275d;--color-brand-200: #40367a;--color-brand-400: #9b90f3;--color-brand-500: #b1a9f4;--color-brand-600: #c4bef8;--color-brand-700: #ddd9fc;--color-brand-rgb: 177, 169, 244;--color-ink-900: #f3f4f7;--color-ink-800: #d2d6df;--color-muted: #9ba3b3;--color-line: #363d4c;--color-line-soft: #292f3b;--color-canvas: #141820;--color-paper: #1a1f29;--color-wash: #2e275d;--color-success: #81c995;--color-success-soft: #1e3a2a;--color-warning: #fdd663;--color-warning-soft: #4a3a12;--color-danger: #f28b82;--color-danger-soft: #44201d;--color-neutral: #b6c2d3;--color-neutral-soft: #2a303c;--surface: var(--color-paper);--surface-raised: #202632;--surface-soft: #232934;--surface-hover: #2a313e;--surface-selected: var(--color-wash);--surface-selected-soft: #352e65;--surface-selected-strong: #403775;--line: var(--color-line);--line-soft: var(--color-line-soft);--line-strong: #596275;--text: var(--color-ink-900);--text-soft: var(--color-ink-800);--muted: var(--color-muted);--color-on-accent: #151827;--overlay-backdrop: rgba(4, 8, 16, .6);--surface-glass: rgba(26, 31, 41, .96);--control-bg: #232934;--control-hover: #2a313e;--control-selected: #352e65;--chrome-bg: rgba(26, 31, 41, .96);--focus-ring: rgba(var(--color-brand-rgb), .68);--focus-halo: rgba(var(--color-brand-rgb), .22);--accent-border-soft: rgba(var(--color-brand-rgb), .32);--accent-border: rgba(var(--color-brand-rgb), .55);--accent-border-strong: rgba(var(--color-brand-rgb), .72);--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: #343b49;--button-secondary-bg-hover: #414958;--button-secondary-text: var(--text);--bad-strong: #ffc1c1;--accent-soft: var(--color-brand-50);--accent-strong: var(--color-brand-600);--info: #8ab4f8;--info-soft: #1f3357;--info-border: rgba(138, 180, 248, .35);--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: #8ab4f8;--tier-basic-soft: #1f3357;--tier-basic-border: rgba(138, 180, 248, .35);--tier-intermediate: #c1a4f8;--tier-intermediate-soft: #383052;--progress-track: #343b49;--progress-fill: var(--color-brand-500);--chart-grid: var(--color-line);--activity-0: var(--color-line-soft);--activity-1: #30396c;--activity-2: #414d8f;--activity-3: #7585e7;--activity-4: #adb6f7;--body-gradient: var(--color-canvas);--app-gradient: var(--color-canvas);--footer-bg: var(--color-paper);--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: #f3f1ff;--color-brand-100: #e7e3ff;--color-brand-200: #d3cefb;--color-brand-400: #9086ec;--color-brand-500: #6c5fe8;--color-brand-600: #584acf;--color-brand-700: #4438a8;--color-brand-rgb: 108, 95, 232;--color-ink-900: #172033;--color-ink-800: #344054;--color-muted: #667085;--color-line: #dde3ea;--color-line-soft: #edf0f4;--color-canvas: #f3f4f6;--color-paper: #ffffff;--color-wash: #f3f1ff;--color-success: #188038;--color-success-soft: #e6f4ea;--color-warning: #b06000;--color-warning-soft: #fef7e0;--color-danger: #d93025;--color-danger-soft: #fce8e6;--color-neutral: #52647a;--color-neutral-soft: #eef2f7;--surface: var(--color-paper);--surface-soft: #e9edf2;--surface-selected: var(--color-wash);--surface-selected-soft: #f0eeff;--surface-selected-strong: #e1dcff;--line: var(--color-line);--line-soft: var(--color-line-soft);--line-strong: #98a3b3;--text: var(--color-ink-900);--text-soft: var(--color-ink-800);--muted: var(--color-muted);--color-on-accent: #ffffff;--button-secondary-bg: #252b3a;--button-secondary-bg-hover: #181d2a;--button-secondary-text: #ffffff;--surface-glass: rgba(255, 255, 255, .9);--control-bg: #edf0f4;--control-hover: #e4e8ee;--control-selected: #ebe8ff;--focus-ring: rgba(var(--color-brand-rgb), .65);--shadow-popover: 0 14px 36px rgba(16, 35, 63, .14);--accent-soft: var(--color-brand-50);--accent-strong: var(--color-brand-600);--info: #1a73e8;--info-soft: #e8f0fe;--info-border: rgba(66, 133, 244, .35);--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: #f2f4f7}:root{--ds-font-ui: var(--font-ui);--ds-font-number: var(--font-ui);--ds-font-code: var(--font-code);--ds-primary-50: var(--color-brand-50);--ds-primary-100: var(--color-brand-100);--ds-primary-200: var(--color-brand-200);--ds-primary-500: var(--color-brand-400);--ds-primary-600: var(--color-brand-500);--ds-primary-700: var(--color-brand-700);--ds-primary-800: #352a8a;--ds-primary-rgb: var(--color-brand-rgb);--ds-ink-950: var(--color-ink-900);--ds-ink-800: var(--color-ink-800);--ds-ink-600: var(--color-muted);--ds-ink-400: #98a2b3;--ds-line: var(--color-line);--ds-line-soft: var(--color-line-soft);--ds-canvas: var(--color-canvas);--ds-surface: var(--color-paper);--ds-surface-soft: #f8f9fb;--ds-success: var(--color-success);--ds-success-soft: var(--color-success-soft);--ds-warning: var(--color-warning);--ds-warning-soft: var(--color-warning-soft);--ds-danger: var(--color-danger);--ds-danger-soft: var(--color-danger-soft);--ds-info: #1a73e8;--ds-info-soft: #e8f0fe;--ds-chart-secondary: #4285f4;--ds-chart-tertiary: #f9ab00;--ds-space-1: 4px;--ds-space-2: 8px;--ds-space-3: 12px;--ds-space-4: 16px;--ds-space-5: 20px;--ds-space-6: 24px;--ds-space-8: 32px;--ds-space-10: 40px;--ds-space-12: 48px;--ds-radius-sm: 8px;--ds-radius-control: 10px;--ds-radius-card: 14px;--ds-radius-hero: 18px;--ds-radius-shell: 20px;--ds-radius-pill: 999px;--ds-shadow-float: 0 10px 30px rgba(28, 34, 48, .08);--ds-shadow-popover: 0 14px 36px rgba(28, 34, 48, .12);--ds-focus-ring: 0 0 0 3px rgba(var(--ds-primary-rgb), .2);--ds-sidebar-width: 224px;--ds-topbar-height: 64px;--ds-page-padding: 24px;--ds-grid-gap: 20px;--ds-control-height: 40px;--ds-row-height: 52px}:root[data-theme=dark]{--ds-primary-800: #e7e3ff;--ds-ink-400: #7f8796;--ds-surface-soft: #232934;--ds-info: #8ab4f8;--ds-info-soft: #1f3357;--ds-chart-secondary: #8ab4f8;--ds-chart-tertiary: #fdd663;--ds-shadow-float: 0 14px 36px rgba(0, 0, 0, .24);--ds-shadow-popover: 0 18px 44px rgba(0, 0, 0, .36)}*{box-sizing:border-box}html{min-height:100%;margin:0;overflow-y:auto;scrollbar-gutter:stable;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)) 28%,var(--line));background:color-mix(in srgb,var(--category-color, var(--muted)) 8%,var(--surface));color:color-mix(in srgb,var(--category-color, var(--muted)) 62%,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}}.skeleton{display:block;border-radius:var(--radius-control);background:var(--surface-soft);animation:skeleton-pulse 1.6s var(--ease-standard) infinite}.skeleton.is-inverse{background:var(--surface-inverse-strong)}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.ui-spinner{width:18px;height:18px;flex:0 0 auto;display:inline-block;box-sizing:border-box;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:ui-spinner-spin .7s linear infinite}.ui-spinner-sm{width:13px;height:13px;border-width:2px}.ui-spinner-lg{width:26px;height:26px;border-width:3px}@keyframes ui-spinner-spin{to{transform:rotate(360deg)}}.ui-loading-state{display:grid;justify-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);color:var(--muted);font-size:var(--font-size-sm);font-weight:700;text-align:center}.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(--control-hover);color:var(--text)}.ui-tab.is-active{background:var(--surface-selected);color:var(--accent-strong);box-shadow:none}.ui-tab.is-active:after{content:none}.page-head{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-3) 0 var(--space-4);border-bottom:var(--stroke-subtle)}.page-head-copy{min-width:0;display:grid;gap:var(--space-1);grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "description"}.page-head.has-description{align-items:end}.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:var(--space-4);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:var(--space-3)}.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:0 0 var(--space-3);border:0;border-bottom:var(--stroke-subtle);background:transparent}.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:var(--radius-control);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-x:auto;overflow-y:visible;overscroll-behavior-x:contain;overscroll-behavior-y:auto}.fitted-table-surface{overflow-x:auto;overflow-y:visible;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:var(--space-3);background:transparent;border-bottom:var(--stroke-default)}.data-table td{padding:var(--space-3);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:var(--space-2) var(--space-3)}.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.is-summary-hidden{justify-content:center}.pagination-pages{display:inline-flex;align-items:center;gap:var(--space-1);margin:0;padding:0;list-style:none}.pagination-page{min-width:var(--control-h-sm);height:var(--control-h-sm);padding:0 var(--space-2);border:var(--stroke-default);border-radius:var(--radius-control);background:var(--control-bg);color:var(--text-soft);font-family:var(--font-code);font-size:var(--font-size-label);font-weight:700;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)}.pagination-page:hover{border-color:var(--accent);color:var(--text)}.pagination-page:focus-visible{border-color:var(--accent);outline:2px solid var(--focus-halo);outline-offset:0}.pagination-page.is-current{border-color:var(--accent);background:var(--accent);color:var(--color-on-accent);cursor:default}.pagination-gap{display:inline-flex;align-items:center;justify-content:center;min-width:var(--space-4);color:var(--muted);font-size:var(--font-size-label);font-weight:700}.chip{display:inline-block;padding:.12rem .48rem;border-radius:var(--radius-sm);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;font-size:var(--font-size-xs);font-weight:800;letter-spacing:0}.tier-beginner{color:var(--tier-beginner)}.tier-basic{color:var(--tier-basic)}.tier-intermediate{color:var(--tier-intermediate)}.verdict{display:inline-flex;align-items:center;gap:.3rem;padding:.14rem .48rem;border:1px solid transparent;border-radius:var(--radius-sm);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}}.catalog-resume{width:min(100%,34rem);display:grid;gap:var(--ds-space-2);margin-top:var(--ds-space-1);padding:var(--ds-space-4) var(--ds-space-5);border-radius:var(--ds-radius-hero);background:var(--ds-surface);box-shadow:0 18px 40px #1c135b2e}.catalog-resume-label{display:inline-flex;align-items:center;gap:.4rem;color:var(--ds-ink-600);font-size:var(--font-size-xs);font-weight:700}.catalog-resume-label svg{width:15px;height:15px}.catalog-resume-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.8fr) auto;align-items:center;gap:var(--ds-space-4)}.catalog-resume-copy{display:grid;gap:2px;min-width:0}.catalog-resume-group{color:var(--ds-ink-600);font-size:var(--font-size-xs);font-weight:600}.catalog-resume-target{overflow:hidden;color:var(--ds-ink-950);font-size:var(--font-size-section);font-weight:700;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.catalog-resume-progress{display:flex;align-items:center;gap:var(--ds-space-3)}.catalog-resume-progress em{color:var(--ds-primary-600);font-size:var(--font-size-sm);font-style:normal;font-weight:700}.catalog-resume-cta{display:inline-flex;align-items:center;gap:.25rem;padding:.6rem 1.05rem;border:0;border-radius:var(--ds-radius-control);background:var(--ds-primary-600);color:var(--color-on-accent);font-size:var(--font-size-sm);font-weight:700;white-space:nowrap;cursor:pointer}.catalog-resume-cta:hover{background:var(--ds-primary-700)}.catalog-resume-cta svg{width:16px;height:16px}.catalog-progress-track{flex:1;min-width:0;height:6px;overflow:hidden;border-radius:var(--ds-radius-pill);background:var(--ds-primary-100)}.catalog-progress-track i{display:block;height:100%;border-radius:inherit;background:var(--ds-primary-600);transition:width .25s ease}.catalog-toolbar{display:flex;align-items:baseline;gap:var(--ds-space-3);flex-wrap:wrap}.catalog-title{margin:0;font-family:var(--font-display);font-size:var(--font-size-title);font-weight:700;letter-spacing:-.02em}.catalog-filters{display:flex;gap:var(--ds-space-2);margin-left:auto}.catalog-filter{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .95rem;border:1px solid var(--ds-line);border-radius:var(--ds-radius-pill);background:var(--ds-surface);color:var(--ds-ink-600);font-size:var(--font-size-sm);font-weight:600;cursor:pointer}.catalog-filter:hover{border-color:var(--ds-primary-200);color:var(--ds-ink-950)}.catalog-filter.is-active{border-color:var(--ds-primary-200);background:var(--ds-primary-50);color:var(--ds-primary-700)}.catalog-filter-count{color:var(--ds-ink-400);font-size:var(--font-size-xs);font-weight:700}.catalog-filter.is-active .catalog-filter-count{color:var(--ds-primary-600)}.catalog-empty{padding:var(--ds-space-8) 0;text-align:center}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ds-space-4)}.catalog-card{position:relative;display:flex;flex-direction:column;gap:var(--ds-space-4);padding:var(--ds-space-5);border:1px solid var(--ds-line);border-radius:var(--ds-radius-card);background:var(--ds-surface)}.catalog-card.has-access-toggle .catalog-card-main{padding-right:40px}.catalog-access-toggle{position:absolute;top:var(--ds-space-4);right:var(--ds-space-4);width:32px;height:18px;padding:2px;border:1px solid var(--ds-line);border-radius:var(--ds-radius-pill);background:var(--ds-surface-soft);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}.catalog-access-toggle>span{display:block;width:12px;height:12px;border-radius:50%;background:var(--ds-ink-400);transition:transform var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}.catalog-access-toggle.is-on{border-color:var(--ds-primary-500);background:var(--ds-primary-100)}.catalog-access-toggle.is-on>span{background:var(--ds-primary-600);transform:translate(14px)}.catalog-access-toggle:hover:not(:disabled){border-color:var(--ds-primary-400)}.catalog-access-toggle:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}.catalog-access-toggle:disabled{cursor:not-allowed;opacity:.6}.catalog-access-toggle.is-saving:disabled{cursor:wait}.catalog-card:hover{border-color:var(--ds-primary-200);box-shadow:var(--ds-shadow-float)}.catalog-card-main{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:start;gap:var(--ds-space-4);padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.catalog-card-main.is-static{cursor:default}.catalog-card-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--ds-radius-card);background:linear-gradient(135deg,var(--course-surface, var(--ds-primary-50)),var(--course-field, var(--ds-primary-100)))}.catalog-card-icon img{width:34px;height:34px;object-fit:contain;filter:none;mix-blend-mode:normal}.catalog-card-copy{display:grid;gap:var(--ds-space-2);min-width:0}.catalog-card-head{display:flex;align-items:baseline;gap:var(--ds-space-2);flex-wrap:wrap}.catalog-card-head strong{color:var(--ds-ink-950);font-size:var(--font-size-section);font-weight:700;letter-spacing:-.02em}.catalog-card-meta{color:var(--ds-ink-600);font-size:var(--font-size-xs);font-weight:600}.catalog-card-desc{display:-webkit-box;overflow:hidden;color:var(--ds-ink-600);font-size:var(--font-size-sm);line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.catalog-card-progress{display:grid;gap:var(--ds-space-2);margin-top:auto;padding-top:var(--ds-space-4);border-top:1px solid var(--ds-line-soft)}.catalog-card-progress-label{color:var(--ds-ink-600);font-size:var(--font-size-xs);font-weight:600}.catalog-card-progress-line{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ds-space-3)}.catalog-card-progress-line strong{overflow:hidden;color:var(--ds-ink-950);font-size:var(--font-size-sm);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.catalog-card-progress-line em{color:var(--ds-primary-600);font-size:var(--font-size-sm);font-style:normal;font-weight:700}.catalog-card-actions{display:flex;gap:var(--ds-space-2)}.catalog-card-cta{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-height:42px;border:1px solid transparent;border-radius:var(--ds-radius-control);background:var(--ds-primary-600);color:var(--color-on-accent);font-size:var(--font-size-sm);font-weight:700;cursor:pointer}.catalog-card-cta:hover{background:var(--ds-primary-700)}.catalog-card-cta.is-outline{border-color:var(--ds-primary-200);background:var(--ds-surface);color:var(--ds-primary-700)}.catalog-card-cta.is-outline:hover{background:var(--ds-primary-50)}.catalog-card-cta.is-pending,.catalog-card-cta.is-pending:hover{border-color:var(--ds-line);background:var(--ds-surface-soft);color:var(--ds-ink-400);cursor:default}.catalog-card-cta.is-pending.is-preview,.catalog-card-cta.is-pending.is-preview:hover{border-color:var(--ds-primary-200);background:var(--ds-primary-50);color:var(--ds-primary-700);cursor:pointer}.catalog-card-cta svg{width:16px;height:16px}.catalog-card-bookmark{display:grid;place-items:center;width:42px;min-height:42px;border:1px solid var(--ds-line);border-radius:var(--ds-radius-control);background:var(--ds-surface);color:var(--ds-ink-400);cursor:pointer}.catalog-card-bookmark:hover,.catalog-card-bookmark.is-on{border-color:var(--ds-primary-200);color:var(--ds-primary-600)}.catalog-card-bookmark svg{width:19px;height:19px}@media(max-width:1180px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.catalog-resume{width:100%}.catalog-resume-body{grid-template-columns:minmax(0,1fr);align-items:stretch}.catalog-resume-cta{justify-content:center}}@media(max-width:620px){.catalog-grid{grid-template-columns:1fr}.catalog-filters{margin-left:0;flex-wrap:wrap}}:root{--trend-self: var(--ds-primary-600);--trend-class: var(--ds-ink-400);--trend-plot-height: 180px;--trend-bar-gap: 8px}.chart-legend{display:flex;gap:var(--ds-space-3);color:var(--ds-ink-600);font-size:.6875rem}.chart-legend span{display:inline-flex;align-items:center;gap:var(--ds-space-1)}.chart-legend span:before{width:12px;height:3px;border-radius:var(--ds-radius-pill);content:""}.chart-legend .is-self:before{background:var(--trend-self)}.chart-legend .is-class:before{height:0;border-top:2px dashed var(--trend-class)}.perf-trend{display:grid;gap:var(--ds-space-2)}.perf-trend.has-y-axis{grid-template-columns:auto minmax(0,1fr)}.perf-trend.has-y-axis>:not(.perf-trend-y):not(.perf-trend-plot){grid-column:2}.perf-trend-y{height:var(--trend-plot-height);position:relative;width:2.5rem;color:var(--ds-ink-400);font-family:var(--ds-font-number);font-size:.6875rem}.perf-trend-y span{position:absolute;right:var(--ds-space-2);transform:translateY(50%)}.perf-trend-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.perf-trend-grid i{width:100%;position:absolute;left:0;border-top:1px dashed var(--ds-line-soft)}.perf-trend-plot{height:var(--trend-plot-height);position:relative}.perf-trend-bars{height:100%;display:grid;grid-template-columns:repeat(var(--trend-columns, 14),minmax(0,1fr));align-items:end}.perf-trend-bars i{width:calc(100% - var(--trend-bar-gap));min-height:4px;display:block;justify-self:center;border-radius:var(--ds-radius-sm) var(--ds-radius-sm) 0 0;background:var(--trend-self);cursor:help}.perf-trend-overlay{width:100%;height:100%;position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none}.perf-trend.is-line .perf-trend-bars i{min-height:0;border-radius:0;background:transparent}.perf-trend-self{fill:none;stroke:var(--trend-self);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.perf-trend-dots{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;pointer-events:none}.perf-trend-dots i{width:7px;height:7px;position:absolute;border-radius:50%;background:var(--trend-self);transform:translate(-50%,50%)}.perf-trend-class{fill:none;stroke:var(--trend-class);stroke-width:2;stroke-dasharray:5 4;stroke-linecap:round;stroke-linejoin:round}.perf-trend-mean{width:100%;position:absolute;z-index:2;left:0;border-top:1px dashed var(--ds-ink-400);pointer-events:none}.perf-trend-mean span{position:absolute;top:0;left:0;padding:3px var(--ds-space-2);border-radius:var(--ds-radius-pill);background:var(--ds-ink-950);color:var(--ds-surface);font-family:var(--ds-font-number);font-size:.625rem;font-weight:700;transform:translateY(-50%)}.perf-trend-axis{display:grid;grid-template-columns:repeat(var(--trend-columns, 14),minmax(0,1fr));color:var(--ds-ink-400);font-family:var(--ds-font-number);font-size:.6875rem;text-align:center}.perf-trend-axis span{overflow:hidden}.perf-trend-empty{margin:0;padding:var(--ds-space-8) var(--ds-space-4);color:var(--ds-ink-400);font-size:.75rem;text-align:center}.competency-radar{display:grid;align-content:center;justify-items:center;gap:var(--ds-space-1)}.competency-radar-svg{width:100%;max-width:350px;height:auto;display:block;overflow:visible}.competency-ring{fill:none;stroke:var(--ds-line-soft);stroke-width:1}.competency-ring.is-outer{fill:var(--ds-surface-soft);stroke:var(--ds-line)}.competency-spoke{stroke:var(--ds-line-soft);stroke-width:1}.competency-shape.is-self{fill:color-mix(in srgb,var(--trend-self) 20%,transparent);stroke:var(--trend-self);stroke-width:2;stroke-linejoin:round}.competency-shape.is-class{fill:none;stroke:var(--trend-class);stroke-width:2;stroke-dasharray:5 4;stroke-linejoin:round}.competency-vertex{fill:var(--trend-self);stroke:var(--ds-surface);stroke-width:2;cursor:help}.competency-label{fill:var(--ds-ink-600);font-family:var(--ds-font-ui);font-size:8.5px;font-weight:500}.competency-label-value{fill:var(--ds-ink-950);font-family:var(--ds-font-number);font-size:10px;font-weight:700}.competency-table{width:100%;border-collapse:collapse;table-layout:fixed}.competency-table th,.competency-table td{padding:5px var(--ds-space-2);border-bottom:1px solid var(--ds-line-soft);text-align:left;vertical-align:middle}.competency-table thead th{padding-top:0;color:var(--ds-ink-400);font-size:.625rem;font-weight:400;white-space:nowrap}.competency-table tbody tr:last-child th,.competency-table tbody tr:last-child td{border-bottom:0}.competency-table tbody th{width:68px;padding-left:0;color:var(--ds-ink-800);font-size:.75rem;font-weight:400;white-space:nowrap}.competency-table thead th:first-child{padding-left:0}.competency-table .is-score{width:132px}.competency-score{display:flex;align-items:center;gap:var(--ds-space-2)}.competency-meter{min-width:0;height:6px;flex:1;overflow:hidden;border-radius:var(--ds-radius-pill);background:var(--ds-surface-soft)}.competency-meter i{height:100%;display:block;border-radius:inherit;background:var(--trend-self)}.competency-score b{min-width:24px;color:var(--ds-ink-950);font-family:var(--ds-font-number);font-size:.8125rem;line-height:1;text-align:right}.competency-table .is-class{width:56px;color:var(--ds-ink-400);font-family:var(--ds-font-number);font-size:.8125rem;line-height:1}.competency-table .is-detail{overflow:hidden;padding-right:0;color:var(--ds-ink-600);font-size:.6875rem;text-overflow:ellipsis;white-space:nowrap}.competency-table .is-below{--competency-below: color-mix(in srgb, var(--trend-self) 45%, var(--ds-surface))}.competency-table .is-below .competency-meter i{background:var(--competency-below)}.competency-table .is-below .competency-score b{color:var(--competency-below)}.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:var(--font-brand);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(--line-soft)}.auth-loader-track span{display:block;width:46%;height:100%;border-radius:0;background:var(--accent);animation:auth-loader-sweep 1.15s ease-in-out infinite}.auth-loader-dots{display:flex;gap:.55rem}.auth-loader-dots span{width:6px;height:6px;border-radius:0;background:var(--line-strong);animation:auth-loader-blink 1.05s ease-in-out infinite}.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-sweep{0%{transform:translate(-110%)}to{transform:translate(230%)}}@keyframes auth-loader-blink{0%,to{opacity:.28}40%{opacity:1}}@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;display:grid;place-items:center;padding:var(--ds-space-6);background:var(--ds-canvas);color:var(--ds-ink-950);font-family:var(--ds-font-ui)}.auth-loader-wrap,.auth-session-status{width:min(480px,100%);display:grid;border:1px solid var(--ds-line);border-radius:var(--ds-radius-shell);background:var(--ds-surface);box-shadow:var(--ds-shadow-float)}.auth-login-page{--auth-navy: var(--color-brand-700);--auth-blue: var(--color-brand-500);--auth-blue-soft: var(--color-brand-100);--auth-grey: var(--color-canvas);--auth-line: var(--color-line);--auth-muted: var(--color-muted);display:block;place-items:normal;padding:0;background:var(--ds-surface)}.auth-agit-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(420px,.84fr);background:var(--ds-surface)}.auth-agit-showcase{position:relative;display:grid;grid-template-rows:auto 1fr auto;padding:clamp(36px,5vw,72px) clamp(36px,6vw,92px);overflow:hidden;background:linear-gradient(140deg,var(--auth-page-bg) 0%,var(--auth-grey) 52%,var(--auth-blue-soft) 100%);color:var(--auth-navy)}.auth-agit-showcase .auth-agit-wordmark{color:var(--auth-navy)}.auth-showcase-top,.auth-showcase-copy,.auth-showcase-points{position:relative;z-index:1}.auth-showcase-top{display:flex;align-items:center;justify-content:space-between}.auth-showcase-copy{align-self:center;display:grid;gap:var(--ds-space-5);max-width:720px}.auth-showcase-copy>span{color:var(--auth-blue);font-size:.6875rem;font-weight:800;letter-spacing:.16em}.auth-showcase-copy h1{margin:0;font-size:clamp(2.75rem,5vw,5rem);line-height:1.08;letter-spacing:-.045em}.auth-showcase-copy h1 em{color:var(--auth-blue);font-style:normal}.auth-showcase-copy p{margin:0;color:var(--auth-muted);font-size:clamp(.875rem,1.1vw,1.0625rem);line-height:1.75}.auth-showcase-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ds-space-3);margin:0;padding:0;list-style:none}.auth-showcase-points li{min-height:116px;display:grid;align-content:space-between;gap:var(--ds-space-4);padding:var(--ds-space-5);border:1px solid var(--auth-line);border-radius:var(--ds-radius-card);background:#ffffffb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-showcase-points li>strong{color:var(--auth-blue);font-size:.625rem;letter-spacing:.1em}.auth-showcase-points li>span{color:var(--auth-muted);font-size:.6875rem;line-height:1.55}.auth-showcase-points b{display:block;margin-bottom:var(--ds-space-1);color:var(--auth-navy);font-size:.8125rem}.auth-agit-access{display:grid;place-items:center;padding:clamp(36px,6vw,88px);background:radial-gradient(circle at 100% 0%,var(--auth-blue-soft),transparent 34%),var(--ds-surface)}.auth-access-panel{width:min(420px,100%)}.auth-agit-card-head{display:grid;gap:var(--ds-space-2);margin-bottom:var(--ds-space-8)}.auth-agit-card-head>span{margin-bottom:var(--ds-space-2);color:var(--ds-primary-600);font-size:.625rem;font-weight:850;letter-spacing:.14em}.auth-agit-wordmark{display:inline-flex;align-items:center;gap:var(--ds-space-2);color:var(--ds-primary-600);font-size:1.35rem;font-weight:850;letter-spacing:-.03em}.auth-agit-wordmark>span{font-size:1.5rem}.auth-agit-card-head h1,.auth-loader-copy h1,.auth-session-copy h1{margin:0;color:var(--ds-ink-950);font-size:2rem;line-height:1.25;letter-spacing:-.04em}.auth-agit-card-head p,.auth-loader-copy p,.auth-session-copy p,.auth-session-copy small{margin:0;color:var(--ds-ink-600);font-size:.75rem;line-height:1.6}.auth-agit-form{display:grid;gap:var(--ds-space-5)}.auth-agit-field{display:grid;gap:var(--ds-space-2)}.auth-agit-field>span{color:var(--ds-ink-800);font-size:.75rem;font-weight:750}.auth-agit-field input{width:100%;min-height:52px;padding:0 var(--ds-space-4);border:1px solid var(--ds-line);border-radius:var(--ds-radius-control);outline:0;background:var(--ds-surface-soft);color:var(--ds-ink-950);font:inherit;font-size:.8125rem;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.auth-agit-field input::placeholder{color:var(--ds-ink-400)}.auth-agit-field input:focus{border-color:var(--ds-primary-500);background:var(--ds-surface);box-shadow:var(--ds-focus-ring)}.auth-agit-field input:disabled{cursor:wait;opacity:.65}.auth-agit-check{width:fit-content;display:inline-flex;align-items:center;gap:var(--ds-space-2);color:var(--ds-ink-600);font-size:.75rem;cursor:pointer}.auth-agit-check input{width:16px;height:16px;margin:0;accent-color:var(--ds-primary-600)}.auth-agit-submit{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:var(--ds-space-2);border-radius:var(--ds-radius-control);background:var(--ds-primary-600);color:#fff;font-size:.8125rem;font-weight:800;transition:background .16s ease,transform .16s ease}.auth-agit-submit:hover:not(:disabled){background:var(--ds-primary-700);transform:translateY(-1px)}.auth-agit-submit:disabled{cursor:wait;opacity:.7}.auth-login-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:50%;animation:auth-spin .7s linear infinite}.auth-agit-toast{margin:0 0 var(--ds-space-5);padding:var(--ds-space-3) var(--ds-space-4);border:1px solid transparent;border-radius:var(--ds-radius-control);font-size:.75rem;font-weight:700}.auth-agit-toast-ok,.auth-agit-toast-success{border-color:color-mix(in srgb,var(--ds-success) 24%,transparent);background:var(--ds-success-soft);color:var(--ds-success)}.auth-agit-toast-info{border-color:color-mix(in srgb,var(--ds-info) 24%,transparent);background:var(--ds-info-soft);color:var(--ds-info)}.auth-agit-toast-warning{border-color:color-mix(in srgb,var(--ds-warning) 24%,transparent);background:var(--ds-warning-soft);color:var(--ds-warning)}.auth-agit-toast-error{border-color:color-mix(in srgb,var(--ds-danger) 24%,transparent);background:var(--ds-danger-soft);color:var(--ds-danger)}.auth-preview-actions{display:grid;gap:var(--ds-space-3);margin-top:var(--ds-space-6);padding-top:var(--ds-space-5);border-top:1px solid var(--ds-line-soft)}.auth-preview-actions p{margin:0;color:var(--ds-ink-600);font-size:.6875rem}.auth-preview-actions>div{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--ds-space-2)}.auth-preview-actions button{min-height:40px;border:1px solid var(--ds-primary-200);border-radius:var(--ds-radius-sm);background:var(--ds-primary-50);color:var(--ds-primary-700);font-size:.6875rem;font-weight:750}.auth-agit-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-3);margin-top:var(--ds-space-10);padding-top:var(--ds-space-4);border-top:1px solid var(--ds-line-soft);color:var(--ds-ink-400);font-size:.625rem}.auth-agit-footer>span:last-child{display:inline-flex;align-items:center;gap:var(--ds-space-2)}.auth-agit-footer img{width:auto;height:16px;object-fit:contain;opacity:.62}.auth-loader-wrap,.auth-session-status{justify-items:center;gap:var(--ds-space-6);padding:var(--ds-space-10);text-align:center}.auth-loader-copy,.auth-session-copy{display:grid;gap:var(--ds-space-2)}.auth-loader-copy h1,.auth-session-copy h1{font-size:1.25rem}.auth-loader-track{width:220px;height:5px;overflow:hidden;border-radius:var(--ds-radius-pill);background:var(--ds-primary-100)}.auth-loader-track span{display:block;width:42%;height:100%;border-radius:inherit;background:var(--ds-primary-600);animation:auth-progress 1.2s ease-in-out infinite alternate}.auth-session-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--ds-space-2)}.auth-session-actions button{min-height:44px;padding:0 var(--ds-space-5);border:1px solid var(--ds-line);border-radius:var(--ds-radius-control);font:inherit;font-size:.75rem;font-weight:750}.auth-session-retry{border-color:var(--ds-primary-600)!important;background:var(--ds-primary-600);color:#fff}.auth-session-signout{background:var(--ds-surface-soft);color:var(--ds-ink-800)}@keyframes auth-spin{to{transform:rotate(360deg)}}@keyframes auth-progress{0%{transform:translate(-24%)}to{transform:translate(162%)}}@media(max-width:960px){.auth-agit-shell{grid-template-columns:1fr}.auth-agit-showcase{min-height:420px;padding:var(--ds-space-8)}.auth-showcase-copy{padding-block:var(--ds-space-10)}.auth-showcase-copy h1{font-size:clamp(2.5rem,8vw,4.25rem)}.auth-agit-access{min-height:620px}}@media(max-width:640px){.auth-agit-page{padding:0;background:var(--ds-surface)}.auth-loader-wrap,.auth-session-status{min-height:100vh;align-content:center;padding:var(--ds-space-6);border:0;border-radius:0;box-shadow:none}.auth-agit-showcase{min-height:310px;grid-template-rows:auto 1fr;padding:var(--ds-space-6)}.auth-showcase-points{display:none}.auth-showcase-copy{gap:var(--ds-space-3);padding-block:var(--ds-space-8) var(--ds-space-4)}.auth-showcase-copy h1{font-size:2.5rem}.auth-showcase-copy p{font-size:.8125rem}.auth-agit-access{min-height:auto;place-items:start stretch;padding:var(--ds-space-10) var(--ds-space-6)}.auth-agit-card-head h1{font-size:1.75rem}.auth-agit-footer{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.auth-agit-submit,.auth-login-spinner,.auth-loader-track span{animation-duration:.01ms;transition-duration:.01ms}}.app-root{position:relative;isolation:isolate;min-width:0;overflow-x:clip;min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--ds-topbar-height) minmax(calc(100dvh - var(--ds-topbar-height) - var(--footer-h)),auto) auto;background:var(--ds-canvas);color:var(--ds-ink-950);font-family:var(--ds-font-ui)}.app-root-editor{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.app-root-editor.app-root-page-window{grid-template-rows:minmax(calc(100dvh - var(--footer-h)),auto) auto}.app-root-page-window>.page-editor-window{grid-row:1;min-height:0}.app-root-page-window>.app-footer{grid-row:2}.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-header{position:sticky;top:0;z-index:60;grid-column:1;grid-row:1;min-width:0;height:var(--ds-topbar-height);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--ds-space-4);padding:0 var(--ds-page-padding);border-bottom:1px solid var(--ds-line);background:color-mix(in srgb,var(--ds-surface) 96%,transparent);-webkit-backdrop-filter:saturate(140%) blur(16px);backdrop-filter:saturate(140%) blur(16px)}.agit-topbar-title{min-width:0;display:grid;gap:1px}.agit-topbar-title small{color:var(--ds-ink-400);font-size:.625rem;font-weight:700;letter-spacing:.08em}.agit-topbar-title strong{color:var(--ds-ink-950);font-size:.9375rem}.agit-header-actions{min-width:0;display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--ds-space-4)}.profile-menu-wrap{position:relative;justify-self:end}.profile-trigger{min-width:132px;max-width:240px;min-height:var(--ds-control-height);display:flex;align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-1);border-radius:var(--ds-radius-control);background:transparent}.profile-trigger:hover,.profile-trigger[aria-expanded=true]{background:var(--ds-surface-soft)}.profile-avatar{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;background:var(--ds-primary-600);color:var(--ds-surface)}.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;color:var(--ds-ink-950);font-size:.8125rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.profile-caret{width:7px;height:7px;margin-left:auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;color:var(--ds-ink-400);transform:translateY(-2px) rotate(45deg)}.profile-trigger[aria-expanded=true] .profile-caret{transform:translateY(2px) rotate(225deg)}.profile-menu{width:280px;position:absolute;z-index:80;top:calc(100% + var(--ds-space-2));right:0;padding:var(--ds-space-2);border:1px solid var(--ds-line);border-radius:var(--ds-radius-control);background:var(--ds-surface);box-shadow:var(--ds-shadow-popover)}.agit-profile-identity{display:grid;gap:2px;padding:var(--ds-space-2) var(--ds-space-2) var(--ds-space-3);border-bottom:1px solid var(--ds-line-soft)}.agit-profile-identity strong{color:var(--ds-ink-950);font-size:.9375rem}.agit-profile-identity span,.agit-profile-identity small{color:var(--ds-ink-600);font-size:.75rem}.agit-profile-status{display:flex;justify-content:space-between;gap:var(--ds-space-3);padding:var(--ds-space-3) var(--ds-space-2);border-bottom:1px solid var(--ds-line-soft);color:var(--ds-ink-600);font-size:.75rem}.agit-profile-status strong{color:var(--ds-primary-600)}.profile-menu button{width:100%;min-height:var(--ds-control-height);display:flex;align-items:center;justify-content:space-between;padding:var(--ds-space-2);border-radius:var(--ds-radius-sm);color:var(--ds-ink-950);font-size:.8125rem;font-weight:650;text-align:left}.profile-menu button:hover{background:var(--ds-surface-soft);color:var(--ds-primary-700)}.profile-menu button small{color:var(--ds-ink-400);font-size:.75rem}.profile-menu .profile-menu-danger{color:var(--ds-danger)}.app-fatal-error{min-height:100dvh;display:grid;place-items:center;padding:var(--ds-space-6);background:var(--ds-canvas)}.app-fatal-error>div{width:min(100%,520px);display:grid;justify-items:start;gap:var(--ds-space-4);padding:var(--ds-space-8);border:1px solid var(--ds-line);border-radius:var(--ds-radius-card);background:var(--ds-surface);box-shadow:var(--ds-shadow-float)}.app-fatal-error-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--ds-radius-control);background:var(--ds-danger-soft);color:var(--ds-danger);font-size:1.5rem;font-weight:800}.app-fatal-error p{margin:0;color:var(--ds-ink-600)}@media(max-width:900px){.app-root{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--ds-topbar-height) minmax(calc(100dvh - var(--ds-topbar-height)),auto) auto}.app-header{grid-column:1;grid-template-columns:auto minmax(0,1fr) auto;padding:0 var(--ds-space-4)}.profile-trigger-copy,.profile-caret{display:none}.profile-trigger{min-width:34px;min-height:34px;padding:0}}.agit-header-wordmark{display:inline-flex;align-items:center;justify-self:start;gap:var(--ds-space-2);color:var(--ds-ink-950);font-family:var(--ds-font-ui)}.agit-header-wordmark>span{color:var(--ds-primary-600);font-size:1.25rem}.agit-header-wordmark strong{font-size:1.25rem;line-height:1;letter-spacing:-.03em}.agit-top-nav{min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:var(--ds-space-1);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.agit-top-nav::-webkit-scrollbar{display:none}.agit-top-nav-link{min-height:var(--ds-control-height);display:inline-flex;align-items:center;flex:0 0 auto;gap:var(--ds-space-2);padding:0 var(--ds-space-3);border-radius:var(--ds-radius-control);color:var(--ds-ink-600);font-family:var(--ds-font-ui);font-size:.875rem;font-weight:550;text-align:center;transition:color .14s ease,background .14s ease}.agit-top-nav-link>svg{width:18px;height:18px}.agit-top-nav-link:hover{background:var(--ds-surface-soft);color:var(--ds-ink-950)}.agit-top-nav-link.is-active{background:var(--ds-primary-100);color:var(--ds-primary-700);font-weight:700}.agit-top-nav-link.starts-section{margin:0}@media(max-width:900px){.agit-header-wordmark{gap:var(--ds-space-1)}.agit-header-wordmark strong{font-size:1rem}.agit-top-nav-link{min-height:var(--ds-control-height);padding:0 var(--ds-space-2);font-size:.75rem}}.app-footer{grid-column:1;grid-row:3;border-top:1px solid var(--ds-line-soft);background:var(--ds-surface);color:var(--ds-ink-600);-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:20px;display:block;object-fit:contain}.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{--page-pad-x: var(--ds-page-padding);--page-bleed-pad-x: calc( var(--page-pad-x) + max(0px, (100vw - var(--shell-content-max-w)) / 2) );grid-column:1;grid-row:2;min-width:0;max-width:var(--shell-content-max-w);margin:0 auto;width:100%;padding:var(--page-pad-x);display:grid;align-content:start;gap:var(--ds-grid-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)}}.page.page-editor-window.page-window{max-width:var(--shell-content-max-w);padding:var(--page-pad-x)}@media(max-width:900px){.page,.app-footer{grid-column:1}.page{--page-pad-x: var(--ds-space-5)}}@media(max-width:720px){.page{--page-pad-x: var(--ds-space-4)}}.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;min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;margin-block:-6px;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}}.growlytics-home{--grow-primary: #6c5fe8;--grow-primary-soft: #d3cefb;--grow-primary-mid: #b1a9f4;--grow-canvas: var(--ds-canvas);--grow-card: var(--ds-surface);--grow-ink: var(--ds-ink-950);--grow-muted: var(--ds-ink-600);display:grid;gap:var(--ds-space-4);padding:var(--ds-space-4);background:var(--grow-canvas);color:var(--grow-ink);font-family:var(--ds-font-ui)}.growlytics-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(280px,.95fr);gap:var(--ds-space-4)}.growlytics-card{min-width:0;padding:var(--ds-space-4);border:1px solid var(--ds-line-soft);border-radius:var(--ds-radius-card);background:var(--grow-card)}.growlytics-hero{min-width:0;min-height:268px;position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);align-items:center;gap:var(--ds-space-6);padding:var(--ds-space-6) var(--ds-space-8);overflow:hidden;border-radius:var(--ds-radius-hero);background:radial-gradient(120% 140% at 82% 0%,rgba(255,255,255,.16),transparent 58%),linear-gradient(108deg,var(--grow-primary) 6%,#8175ee 62%,#9a8ff2 100%);color:var(--grow-card)}.growlytics-hero-scene{width:min(650px,52vw);height:auto;position:absolute;z-index:0;right:clamp(286px,25%,410px);bottom:-12px;color:currentColor;pointer-events:none;object-fit:contain;-webkit-mask-image:linear-gradient(to bottom,#000 0 76%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0 76%,transparent 100%)}.growlytics-hero-copy{min-width:0;position:relative;z-index:1;display:grid;justify-items:start;gap:var(--ds-space-3)}.growlytics-hero-copy h1{font-size:clamp(1.75rem,2.4vw,2.25rem);line-height:1.34;letter-spacing:-.04em;word-break:keep-all}.growlytics-hero-copy h1 span{display:block}.growlytics-hero-copy p{margin:0;color:color-mix(in srgb,currentColor 82%,transparent);font-size:var(--font-size-body)}.growlytics-hero-badge{display:inline-flex;align-items:center;gap:var(--ds-space-2);margin-top:var(--ds-space-1);padding:var(--ds-space-2) var(--ds-space-4);border-radius:var(--ds-radius-pill);background:color-mix(in srgb,currentColor 18%,transparent);font-size:.8125rem;font-weight:700}.growlytics-hero-badge i{font-size:.875rem;font-style:normal}.growlytics-typewriter{width:fit-content;max-width:100%;clip-path:inset(0 100% 0 0);animation:growlytics-type-in .72s steps(var(--typing-steps),end) forwards}.growlytics-hero-copy h1 .growlytics-typewriter:first-child{animation-delay:.12s}.growlytics-hero-copy h1 .growlytics-typewriter:last-child{animation-delay:.84s}.growlytics-hero-panel{min-width:0;position:relative;z-index:1;display:grid;gap:var(--ds-space-3);padding:var(--ds-space-4);border-radius:var(--ds-radius-card);background:var(--grow-card);color:var(--grow-ink);box-shadow:var(--ds-shadow-float)}.growlytics-hero-panel h2{display:flex;align-items:center;gap:var(--ds-space-2);font-size:.875rem}.growlytics-next-assignment{width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-3);padding:var(--ds-space-3) var(--ds-space-4);border:1px solid var(--ds-line-soft);border-radius:var(--ds-radius-control);background:var(--ds-surface-soft);color:var(--grow-ink);text-align:left}.growlytics-next-assignment>span{min-width:0;display:grid;gap:3px}.growlytics-next-assignment small{color:var(--grow-primary);font-size:.6875rem;font-weight:800}.growlytics-next-assignment strong{overflow:hidden;font-size:.9375rem;text-overflow:ellipsis;white-space:nowrap}.growlytics-next-assignment>i{color:var(--ds-ink-400);font-size:1.25rem;font-style:normal;line-height:1}.growlytics-next-assignment:hover{border-color:var(--ds-primary-200);background:var(--ds-primary-50)}.growlytics-hero-cta{width:100%;min-height:42px;border-radius:var(--ds-radius-control);background:var(--grow-primary);color:var(--grow-card);font-size:var(--font-size-body);font-weight:700}.growlytics-hero-cta:hover{background:var(--ds-primary-700)}.growlytics-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ds-space-3)}.growlytics-card>header>div{display:grid;gap:var(--ds-space-2)}.growlytics-card h2,.growlytics-home .agit-ranking-head h2{display:flex;align-items:center;gap:var(--ds-space-2);font-size:.875rem}.growlytics-card-icon{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:var(--ds-radius-sm);background:var(--ds-primary-50);color:var(--grow-primary)}.growlytics-card-icon svg{width:17px;height:17px}.growlytics-card-figures{display:flex;align-items:baseline;gap:var(--ds-space-3);margin:0}.growlytics-card-figures small{padding-left:var(--ds-space-3);border-left:1px solid var(--ds-line-soft)}.growlytics-card header strong{font-family:var(--ds-font-number);font-size:1.75rem}.growlytics-card header strong em{margin-left:var(--ds-space-1);color:var(--grow-muted);font-family:var(--ds-font-ui);font-size:.6875rem;font-style:normal}.growlytics-card header small{color:var(--ds-success);font-size:.6875rem}.growlytics-card header>span,.growlytics-criteria summary,.growlytics-home .agit-ranking-method summary{display:inline-flex;align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-2) var(--ds-space-3);border:1px solid var(--ds-line-soft);border-radius:var(--ds-radius-sm);background:var(--grow-canvas);color:var(--grow-muted);font-size:.6875rem;white-space:nowrap}.growlytics-criteria summary:after,.growlytics-home .agit-ranking-method summary:after{color:var(--ds-ink-400);content:"⌄";font-size:.75rem;line-height:.8}.growlytics-competency{min-height:400px;display:grid;grid-template-rows:auto 1fr}.growlytics-competency .competency-radar{min-height:0;align-content:center}.growlytics-competency .competency-radar-svg{max-height:100%}.growlytics-criteria{position:relative;color:var(--grow-muted);font-size:.6875rem}.growlytics-criteria summary{cursor:pointer;list-style:none}.growlytics-criteria summary::-webkit-details-marker{display:none}.growlytics-criteria>div{width:268px;position:absolute;z-index:4;top:calc(100% + var(--ds-space-2));right:0;display:grid;gap:var(--ds-space-2);padding:var(--ds-space-3);border:1px solid var(--ds-line);border-radius:var(--ds-radius-sm);background:var(--grow-card);box-shadow:var(--ds-shadow-popover)}.growlytics-criteria>div>strong{color:var(--grow-ink);font-size:.75rem}.growlytics-criteria dl{display:grid;gap:var(--ds-space-2);margin:0}.growlytics-criteria dl>div{display:grid;gap:1px}.growlytics-criteria dt{color:var(--grow-ink);font-size:.6875rem}.growlytics-criteria dd{margin:0;color:var(--grow-muted);font-size:.625rem}.growlytics-criteria p{margin:0;padding-top:var(--ds-space-2);border-top:1px solid var(--ds-line-soft);line-height:1.5}.growlytics-traffic{min-height:400px;display:grid;grid-template-rows:auto 1fr}.growlytics-performance-chart{--trend-plot-height: 220px;align-content:end;margin-top:var(--ds-space-4)}.growlytics-performance-chart .perf-trend-bars i{background:var(--activity-0)}.growlytics-performance-chart .perf-trend-mean span{background:var(--grow-ink);color:var(--grow-card)}.growlytics-performance-chart .perf-trend-axis,.growlytics-performance-chart .chart-legend{color:var(--grow-muted)}.growlytics-home .agit-student-ranking{min-width:0;min-height:400px;position:relative;padding:var(--ds-space-4);border:1px solid var(--ds-line-soft);border-radius:var(--ds-radius-card);background:var(--grow-card)}.growlytics-home .agit-ranking-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ds-space-3)}.growlytics-home .agit-ranking-head>div>span{color:var(--grow-muted);font-size:.6875rem}.growlytics-home .agit-ranking-method{position:relative;color:var(--grow-muted);font-size:.6875rem}.growlytics-home .agit-ranking-method summary{cursor:pointer;list-style:none}.growlytics-home .agit-ranking-method>div{width:220px;position:absolute;z-index:4;top:calc(100% + var(--ds-space-2));right:0;display:grid;gap:var(--ds-space-2);padding:var(--ds-space-3);border:1px solid var(--ds-line);border-radius:var(--ds-radius-sm);background:var(--grow-card);box-shadow:var(--ds-shadow-popover)}.growlytics-home .agit-ranking-method dl{margin:0}.growlytics-home .agit-ranking-method dl>div,.growlytics-home .agit-ranking-current,.growlytics-home .agit-ranking-columns,.growlytics-home .agit-student-rank-list li{display:grid;align-items:center}.growlytics-home .agit-ranking-method dl>div{grid-template-columns:1fr auto}.growlytics-home .agit-ranking-current{grid-template-columns:72px minmax(0,1fr);gap:var(--ds-space-3);margin-top:var(--ds-space-4);padding:var(--ds-space-3);border-radius:var(--ds-radius-control);background:var(--color-brand-100)}.growlytics-home .agit-ranking-position,.growlytics-home .agit-ranking-current-result{display:grid}.growlytics-home .agit-ranking-position{grid-template-columns:auto auto;align-items:baseline;align-content:center}.growlytics-home .agit-ranking-position strong{color:var(--grow-primary);font-family:var(--ds-font-number);font-size:1.75rem}.growlytics-home .agit-ranking-position em,.growlytics-home .agit-ranking-position small,.growlytics-home .agit-ranking-current-result span,.growlytics-home .agit-ranking-current-result em{color:var(--grow-muted);font-size:.6875rem;font-style:normal}.growlytics-home .agit-ranking-position small{grid-column:1 / -1}.growlytics-home .agit-ranking-current-result{gap:2px}.growlytics-home .agit-ranking-current-result>strong{font-family:var(--ds-font-number);font-size:1rem}.growlytics-home .agit-ranking-current-result>strong small{margin-left:2px;font-size:.6875rem}.growlytics-home .agit-ranking-current-result>em{color:var(--ds-success)}.growlytics-home .agit-ranking-columns,.growlytics-home .agit-student-rank-list li{grid-template-columns:34px minmax(0,1fr) auto;gap:var(--ds-space-2)}.growlytics-home .agit-ranking-columns{grid-template-columns:1fr;margin-top:var(--ds-space-3);padding:0 var(--ds-space-2) var(--ds-space-2);color:var(--grow-muted);font-size:.75rem}.growlytics-home .agit-student-rank-list{max-height:184px;margin:0;padding:0;overflow-y:auto;scrollbar-gutter:stable;list-style:none}.growlytics-home .agit-student-rank-list li{min-height:46px;padding:var(--ds-space-2);border-top:1px solid var(--ds-line-soft)}.growlytics-home .agit-student-rank-list li.is-current{border-radius:var(--ds-radius-sm);background:var(--color-brand-100)}.growlytics-home .agit-student-rank-number{color:var(--grow-primary);font-family:var(--ds-font-number);font-size:.75rem;font-weight:800}.growlytics-home .agit-student-rank-name,.growlytics-home .agit-student-rank-points{display:grid}.growlytics-home .agit-student-rank-name strong,.growlytics-home .agit-student-rank-points strong{font-size:.6875rem}.growlytics-home .agit-student-rank-name em,.growlytics-home .agit-student-rank-points small,.growlytics-home .agit-ranking-empty{color:var(--grow-muted);font-size:.6875rem;font-style:normal}.growlytics-home .agit-student-rank-points{justify-items:end}.growlytics-home .agit-ranking-empty{margin-top:var(--ds-space-6);text-align:center}.growlytics-annual{grid-column:1 / -1}.growlytics-annual-scroll{margin-top:var(--ds-space-5);padding-bottom:var(--ds-space-2);overflow-x:auto}.growlytics-months{min-width:820px;display:grid;grid-template-columns:repeat(12,1fr);color:var(--grow-muted);font-size:.6875rem}.growlytics-annual-body{min-width:820px;margin-top:var(--ds-space-2)}.grow-heatmap{width:100%;display:grid;grid-template-rows:repeat(7,auto);grid-auto-columns:minmax(12px,1fr);grid-auto-flow:column;gap:3px}.grow-heatmap i{aspect-ratio:1}.grow-heatmap i,.growlytics-annual footer i{border-radius:3px;background:var(--activity-0)}.growlytics-performance-chart .perf-trend-bars i.is-level-1,.grow-heatmap i.is-level-1,.growlytics-annual footer i.is-level-1{background:var(--activity-1)}.growlytics-performance-chart .perf-trend-bars i.is-level-2,.grow-heatmap i.is-level-2,.growlytics-annual footer i.is-level-2{background:var(--activity-2)}.growlytics-performance-chart .perf-trend-bars i.is-level-3,.grow-heatmap i.is-level-3,.growlytics-annual footer i.is-level-3{background:var(--activity-3)}.growlytics-performance-chart .perf-trend-bars i.is-level-4,.grow-heatmap i.is-level-4,.growlytics-annual footer i.is-level-4{background:var(--activity-4)}.grow-heatmap i[title]{cursor:help}.growlytics-annual footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--ds-space-1);margin-top:var(--ds-space-3);color:var(--grow-muted);font-size:.75rem}.growlytics-annual footer i{width:11px;height:11px}@keyframes growlytics-type-in{to{clip-path:inset(0)}}@media(prefers-reduced-motion:reduce){.growlytics-typewriter{clip-path:none;animation:none}}@media(max-width:1180px){.growlytics-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.growlytics-hero-scene{right:clamp(280px,34%,420px);opacity:.85}}@media(max-width:900px){.growlytics-grid{grid-template-columns:1fr}.growlytics-hero{grid-template-columns:1fr;align-items:start}.growlytics-hero-scene{width:min(420px,71vw);height:auto;top:var(--ds-space-4);right:var(--ds-space-4);bottom:auto;opacity:.6}}@media(max-width:640px){.growlytics-home{margin-inline:calc(var(--ds-space-4) * -1);padding:var(--ds-space-4)}.growlytics-hero{padding:var(--ds-space-5)}}.agit-teacher-home{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ds-space-4);padding:var(--ds-space-4);background:var(--ds-canvas);color:var(--ds-ink-950);font-family:var(--ds-font-ui)}.agit-teacher-hero,.agit-teacher-report-context,.agit-report-submissions,.agit-teacher-home>.agit-teacher-empty{grid-column:1 / -1}.agit-report-annual,.agit-report-assignments,.agit-report-submissions{grid-column:1 / -1}.agit-report-annual{grid-column:1 / 3}.agit-report-assignments{grid-column:3 / -1}.agit-teacher-hero{min-height:172px;position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);align-items:center;gap:var(--ds-space-6);padding:var(--ds-space-6) var(--ds-space-8);overflow:hidden;border-radius:var(--ds-radius-hero);background:radial-gradient(120% 140% at 82% 0%,rgba(255,255,255,.16),transparent 58%),linear-gradient(108deg,#6c5fe8 6%,#8175ee 62%,#9a8ff2);color:var(--ds-surface)}.agit-teacher-hero-scene{position:absolute;z-index:0;right:clamp(220px,24%,370px);bottom:-10px;width:min(405px,36vw);height:auto;color:var(--ds-surface);pointer-events:none;object-fit:contain;-webkit-mask-image:linear-gradient(to bottom,#000 0 76%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0 76%,transparent 100%)}.agit-teacher-hero-copy{min-width:0;position:relative;z-index:1;display:grid;justify-items:start;gap:var(--ds-space-3)}.agit-teacher-hero-copy h1{margin:0;font-size:clamp(1.5rem,2vw,2rem);line-height:1.25;letter-spacing:-.04em}.agit-teacher-hero-copy p{margin:0;color:color-mix(in srgb,currentColor 82%,transparent);font-size:.8125rem;word-break:keep-all}.agit-teacher-hero-badge{display:inline-flex;align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-2) var(--ds-space-4);border-radius:var(--ds-radius-pill);background:color-mix(in srgb,currentColor 18%,transparent);font-size:.75rem;font-weight:700}.agit-teacher-hero-badge i{font-size:.8125rem;font-style:normal}.agit-teacher-report-actions{display:flex;gap:var(--ds-space-2)}.agit-teacher-report-actions button,.agit-teacher-panel-head button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:0 var(--ds-space-4);border:1px solid var(--ds-line);border-radius:var(--ds-radius-control);background:var(--ds-surface);color:var(--ds-ink-800);font-size:.75rem;font-weight:750}.agit-teacher-report-actions button svg{width:16px;height:16px}.agit-report-segmented{flex:none;display:flex;white-space:nowrap;padding:3px;border-radius:var(--ds-radius-control);background:var(--ds-surface-soft)}.agit-teacher-panel-head .agit-report-segmented button{min-height:28px;padding-inline:var(--ds-space-3);background:transparent;color:var(--ds-ink-400)}.agit-teacher-panel-head .agit-report-segmented button.is-active{background:var(--ds-surface);color:var(--ds-primary-700)}.agit-teacher-report-actions button:hover,.agit-teacher-panel-head button:hover{background:var(--ds-surface-soft)}.agit-teacher-report-actions .is-primary{border-color:var(--ds-primary-600);background:var(--ds-primary-600);color:#fff}.agit-teacher-report-actions .is-primary:hover{background:var(--ds-primary-700)}.agit-teacher-report-actions button:disabled{opacity:.45;cursor:not-allowed}.ai-report-loading-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:160;display:grid;place-items:center;padding:var(--ds-space-4);background:var(--overlay-backdrop);-webkit-backdrop-filter:saturate(120%) blur(var(--overlay-blur));backdrop-filter:saturate(120%) blur(var(--overlay-blur));animation:ai-report-loading-backdrop-enter var(--motion-base) var(--ease-standard) both}.ai-report-loading-modal{width:min(392px,100%);display:grid;justify-items:center;gap:var(--ds-space-4);padding:var(--ds-space-8);border:1px solid var(--ds-line);border-radius:var(--ds-radius-card);background:var(--ds-surface);color:var(--ds-ink-950);box-shadow:var(--ds-shadow-popover);text-align:center;animation:ai-report-loading-modal-enter var(--motion-slow) var(--ease-emphasized) both}.ai-report-loading-animation{width:84px;height:84px;position:relative;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--ds-primary-600) 12%,var(--ds-surface));color:var(--ds-primary-600)}.ai-report-loading-sparkle{display:grid;place-items:center;animation:ai-report-loading-sparkle 1.4s var(--ease-emphasized) infinite}.ai-report-loading-sparkle svg{width:32px;height:32px}.ai-report-loading-copy{display:grid;gap:var(--ds-space-2)}.ai-report-loading-copy>span{color:var(--ds-primary-600);font-size:.6875rem;font-weight:800}.agit-competency-detail-action{min-width:82px;white-space:nowrap}.ai-report-loading-copy h2,.ai-report-loading-copy p,.ai-report-loading-status{margin:0}.ai-report-loading-copy h2{font-size:1.0625rem;letter-spacing:-.025em}.ai-report-loading-copy p,.ai-report-loading-status{color:var(--ds-ink-400);font-size:.75rem;line-height:1.6}.ai-report-loading-progress{width:100%;height:8px;overflow:hidden;border-radius:var(--ds-radius-pill);background:var(--ds-surface-soft)}.ai-report-loading-progress i{width:42%;height:100%;display:block;border-radius:inherit;background:var(--ds-primary-600);animation:ai-report-loading-progress 1.5s var(--ease-standard) infinite}.ai-report-loading-status{min-height:1.2em}@keyframes ai-report-loading-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes ai-report-loading-modal-enter{0%{opacity:0;transform:translateY(var(--ds-space-3)) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ai-report-loading-sparkle{0%,to{transform:scale(.88);opacity:.72}50%{transform:scale(1.12);opacity:1}}@keyframes ai-report-loading-progress{0%{transform:translate(-120%)}to{transform:translate(280%)}}@media(prefers-reduced-motion:reduce){.ai-report-loading-backdrop,.ai-report-loading-modal,.ai-report-loading-sparkle,.ai-report-loading-progress i{animation:none}.ai-report-loading-progress i{transform:translate(72%)}}.agit-teacher-report-context{min-height:92px;display:grid;grid-template-columns:180px 200px minmax(240px,1fr) auto;align-items:center;gap:var(--ds-space-4);padding:var(--ds-space-4);border:1px solid var(--ds-line-soft);border-radius:var(--ds-radius-card);background:var(--ds-surface)}.agit-teacher-report-context>div:not(.agit-teacher-report-actions){display:grid;gap:6px}.agit-teacher-report-actions{justify-self:end}.agit-teacher-report-context span,.agit-teacher-report-context small{color:var(--ds-ink-400);font-size:.625rem;font-weight:700}.agit-teacher-report-context select{width:100%;min-height:40px;padding:0 var(--ds-space-3);border:1px solid var(--ds-line);border-radius:var(--ds-radius-control);background:var(--ds-surface);color:var(--ds-ink-950);font:inherit;font-size:.75rem;font-weight:750}.agit-teacher-report-person{min-width:0;position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-3);padding:var(--ds-space-4);border-radius:var(--ds-radius-card);background:var(--ds-surface);box-shadow:0 18px 40px #17203a2e}.agit-teacher-report-person-copy{min-width:0;display:grid;gap:2px}.agit-teacher-report-person-copy>span,.agit-teacher-report-person-copy small{color:var(--ds-ink-400);font-size:.625rem;font-weight:700}.agit-teacher-report-person-copy>span{color:var(--ds-primary-700)}.agit-teacher-report-person strong{overflow:hidden;color:var(--ds-ink-950);font-size:1.125rem;text-overflow:ellipsis;white-space:nowrap}.agit-teacher-report-person-avatar{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--ds-surface);color:var(--ds-primary-600)}.agit-teacher-report-person-avatar svg{width:24px;height:24px}.agit-report-print-meta{display:none}.agit-teacher-panel{min-width:0;overflow:hidden;border:1px solid var(--ds-line-soft);border-radius:var(--ds-radius-card);background:var(--ds-surface)}.agit-teacher-panel-head{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-4);padding:var(--ds-space-4);border-bottom:1px solid var(--ds-line-soft)}.agit-teacher-panel-head h2{min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--ds-space-2);margin:0;color:var(--ds-ink-950);font-size:1rem;font-weight:800;white-space:nowrap}.agit-teacher-panel-head h2 small{min-width:0;color:var(--ds-ink-400);font-size:.625rem;font-weight:650;white-space:normal}.agit-teacher-panel-head button{min-height:34px;padding-inline:var(--ds-space-3);border-color:transparent;background:var(--ds-primary-50);color:var(--ds-primary-700);font-size:.6875rem;font-weight:800}.agit-teacher-panel-head-controls{flex:none;display:flex;align-items:center;gap:var(--ds-space-2)}.agit-report-range{min-height:34px;padding:0 var(--ds-space-2) 0 var(--ds-space-3);border:1px solid var(--ds-line);border-radius:var(--ds-radius-control);background:var(--ds-surface);color:var(--ds-ink-800);font:inherit;font-size:.6875rem;font-weight:800}.agit-report-performance{grid-column:span 2;min-height:338px;display:grid;grid-template-rows:auto 1fr}.agit-report-chart{--trend-plot-height: 150px;min-height:0;align-content:center;padding:var(--ds-space-4)}.agit-report-chart .perf-trend-plot{border-bottom:1px solid var(--ds-line-soft)}.agit-report-chart .perf-trend-bars i{border-radius:6px 6px 2px 2px;background:var(--ds-primary-50)}.agit-report-chart .perf-trend-bars i.is-active{background:var(--ds-primary-600)}.agit-report-chart .perf-trend-axis,.agit-report-chart .perf-trend-mean span{font-size:.5625rem}.agit-report-competency{grid-column:span 1;min-height:338px;display:grid;grid-template-rows:auto 1fr}.agit-report-competency-body{min-height:0;display:grid;place-items:center;padding:var(--ds-space-4)}.agit-competency-details-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:160;display:grid;place-items:center;padding:var(--ds-space-4);background:var(--overlay-backdrop);-webkit-backdrop-filter:saturate(120%) blur(var(--overlay-blur));backdrop-filter:saturate(120%) blur(var(--overlay-blur))}.agit-competency-details-modal{width:min(760px,100%);max-height:min(720px,calc(100dvh - var(--ds-space-8)));display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border:1px solid var(--ds-line);border-radius:var(--ds-radius-card);background:var(--ds-surface);color:var(--ds-ink-950);box-shadow:var(--ds-shadow-popover)}.agit-competency-details-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ds-space-4);padding:var(--ds-space-5);border-bottom:1px solid var(--ds-line-soft)}.agit-competency-details-modal h2,.agit-competency-details-modal h3,.agit-competency-details-modal p{margin:0}.agit-competency-details-modal h2{font-size:1rem}.agit-competency-details-modal>header p{margin-top:var(--ds-space-1);color:var(--ds-ink-400);font-size:.75rem;line-height:1.5}.agit-competency-details-modal>header button{width:var(--ds-control-height);height:var(--ds-control-height);flex:none;border:0;border-radius:var(--ds-radius-control);background:transparent;color:var(--ds-ink-600);font-size:1.5rem;line-height:1}.agit-competency-details-modal>header button:hover{background:var(--ds-surface-soft);color:var(--ds-ink-950)}.agit-competency-details-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--ds-line-soft)}.agit-competency-details-summary>div{display:grid;gap:var(--ds-space-1);padding:var(--ds-space-4) var(--ds-space-5)}.agit-competency-details-summary>div+div{border-left:1px solid var(--ds-line-soft)}.agit-competency-details-summary span{color:var(--ds-ink-600);font-size:.6875rem;font-weight:750}.agit-competency-details-summary strong{color:var(--ds-primary-700);font:800 1.375rem var(--ds-font-number)}.agit-competency-details-content{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow-y:auto}.agit-competency-details-content>section{padding:var(--ds-space-5)}.agit-competency-details-content>section+section{border-left:1px solid var(--ds-line-soft)}.agit-competency-details-content h3{font-size:.8125rem}.agit-competency-criteria-list,.agit-competency-comparison-list{display:grid;gap:var(--ds-space-3);margin:var(--ds-space-4) 0 0;padding:0}.agit-competency-criteria-list>div{display:grid;gap:var(--ds-space-1)}.agit-competency-criteria-list dt,.agit-competency-comparison-list>li>span{color:var(--ds-ink-950);font-size:.75rem;font-weight:800}.agit-competency-criteria-list dd{margin:0;color:var(--ds-ink-600);font-size:.6875rem;line-height:1.45}.agit-competency-criteria-list dd small{display:block;margin-top:var(--ds-space-1);color:var(--ds-ink-400);font-size:.625rem}.agit-competency-comparison-list{list-style:none}.agit-competency-comparison-list>li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:var(--ds-space-2);row-gap:var(--ds-space-1)}.agit-competency-comparison-list strong{color:var(--ds-primary-700);font:800 .8125rem var(--ds-font-number)}.agit-competency-comparison-list small{grid-column:1;color:var(--ds-ink-400);font-size:.625rem}.agit-competency-comparison-list em{color:var(--ds-ink-600);font-size:.625rem;font-style:normal;text-align:right}.agit-rank-panel{grid-column:span 1}.agit-rank-list{margin:0;padding:0;list-style:none}.agit-rank-list{max-height:328px;overflow-y:auto;scrollbar-gutter:stable}.agit-rank-row{min-height:58px;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-3) var(--ds-space-4);border-top:1px solid var(--ds-line-soft)}.agit-rank-row:first-child{border-top:0}.agit-rank-row:hover{background:var(--ds-surface-soft)}.agit-rank-row.is-current{background:var(--ds-primary-50)}.agit-rank-row:nth-child(-n+3) .agit-rank-number{color:var(--ds-primary-600)}.agit-rank-number{color:var(--ds-ink-400);font:800 .8125rem var(--ds-font-number)}.agit-rank-main,.agit-rank-score{min-width:0;display:grid}.agit-rank-main{gap:2px}.agit-rank-main strong{overflow:hidden;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.agit-rank-main small,.agit-rank-score small{color:var(--ds-ink-400);font-size:.625rem}.agit-rank-score{justify-items:end}.agit-rank-score>strong{font:800 .8125rem var(--ds-font-number)}.agit-report-annual-summary{display:flex;align-items:center;gap:var(--ds-space-6);padding:var(--ds-space-3) var(--ds-space-4)}.agit-report-annual-summary>div{display:flex;align-items:baseline;gap:5px}.agit-report-annual-summary strong{font:800 1.25rem var(--ds-font-number)}.agit-report-annual-summary span,.agit-report-annual-summary em{color:var(--ds-ink-400);font-size:.625rem}.agit-report-annual-summary em{margin-left:auto;font-style:normal}.agit-report-annual-scroll{padding:0 var(--ds-space-4) var(--ds-space-1);overflow-x:auto}.agit-report-months{min-width:640px;display:grid;grid-template-columns:repeat(12,1fr);margin-bottom:var(--ds-space-1);color:var(--ds-ink-400);font-size:.5625rem}.agit-report-heatmap{min-width:640px;display:grid;grid-template-rows:repeat(7,auto);grid-auto-columns:minmax(8px,1fr);grid-auto-flow:column;gap:2px}.agit-report-heatmap i{aspect-ratio:1}.agit-report-heatmap i,.agit-report-annual footer i{border-radius:3px;background:var(--ds-primary-50)}.agit-report-heatmap i.is-level-1,.agit-report-annual footer i.is-level-1{background:var(--ds-primary-100)}.agit-report-heatmap i.is-level-2,.agit-report-annual footer i.is-level-2{background:var(--ds-primary-500)}.agit-report-heatmap i.is-level-3,.agit-report-annual footer i.is-level-3{background:var(--ds-primary-600)}.agit-report-heatmap i.is-level-4,.agit-report-annual footer i.is-level-4{background:var(--ds-primary-700)}.agit-report-heatmap i[title]{cursor:help}.agit-report-annual footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--ds-space-1);padding:0 var(--ds-space-4) var(--ds-space-3);color:var(--ds-ink-400);font-size:.5625rem}.agit-report-annual footer i{width:10px;height:10px}.agit-report-table-wrap{overflow-x:auto}.agit-report-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed}.agit-report-table :is(th,td){height:54px;padding:var(--ds-space-3) var(--ds-space-4);border-bottom:1px solid var(--ds-line-soft);color:var(--ds-ink-600);font-size:.6875rem;text-align:left}.agit-report-table thead th{height:42px;background:var(--ds-surface-soft);color:var(--ds-ink-400);font-size:.625rem;font-weight:750}.agit-report-table thead th:first-child{width:29%}.agit-report-table tbody tr:hover{background:var(--ds-surface-soft)}.agit-report-table tbody th{color:var(--ds-ink-950);font-size:.75rem;font-weight:800}.agit-report-table tbody th button{width:100%;overflow:hidden;color:inherit;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap}.agit-report-table :is(th,td).is-num{text-align:right;font-family:var(--ds-font-number);font-variant-numeric:tabular-nums}.agit-report-table :is(th,td).is-time{text-align:right;font-family:var(--ds-font-code)}.agit-report-table td>span{display:inline-flex;padding:4px 8px;border-radius:var(--ds-radius-pill);font-size:.625rem;font-weight:800}.agit-report-table td>span.is-completed{background:var(--ds-success-soft);color:var(--ds-success)}.agit-report-table td>span.is-attempted{background:var(--ds-warning-soft);color:var(--ds-warning)}.agit-report-table td>span.is-notStarted{background:var(--ds-surface-soft);color:var(--ds-ink-400)}.agit-report-table td>span.is-overdue{background:var(--ds-danger-soft);color:var(--ds-danger)}.agit-teacher-empty{margin:0;padding:var(--ds-space-8) var(--ds-space-4);color:var(--ds-ink-400);font-size:.75rem;text-align:center}@media(max-width:1280px){.agit-teacher-home{grid-template-columns:repeat(2,minmax(0,1fr))}.agit-report-performance,.agit-report-competency,.agit-rank-panel{grid-column:span 1}.agit-report-annual,.agit-report-assignments{grid-column:1 / -1}}@media(max-width:1100px){.agit-teacher-home{grid-template-columns:1fr}.agit-teacher-home>*{grid-column:1}}@media(max-width:900px){.agit-teacher-hero{grid-template-columns:1fr;align-items:start}}@media(max-width:720px){.agit-teacher-home{margin-inline:calc(var(--ds-space-4) * -1);padding:var(--ds-space-4)}.agit-teacher-hero{padding:var(--ds-space-5)}.agit-teacher-report-actions{width:100%;justify-self:stretch}.agit-teacher-report-actions button{flex:1}.agit-teacher-report-context{grid-template-columns:1fr}.agit-report-chart .perf-trend-axis{font-size:.5rem}.agit-competency-details-content{grid-template-columns:1fr}.agit-competency-details-content>section+section{border-top:1px solid var(--ds-line-soft);border-left:0}}.agit-parent-report{display:none}@media print{@page{size:A4 landscape;margin:8mm}:root{color-scheme:light}body,.app-root,.page,.agit-teacher-home{min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important}.app-root{display:block!important}.app-header,.app-footer,.agit-teacher-home>:not(.agit-parent-report){display:none!important}.agit-teacher-home{display:block!important;color:#18191d;print-color-adjust:exact;-webkit-print-color-adjust:exact}.agit-parent-report{width:100%;height:194mm;display:grid!important;grid-template-rows:13mm 21mm 43mm 53mm 42mm 7mm;gap:3mm;overflow:hidden;color:#17203a;font-family:var(--ds-font-ui)}.agit-parent-report-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:3mm;border-bottom:1.5px solid #6c5fe8}.agit-parent-report-head>div{display:flex;align-items:baseline;gap:3mm}.agit-parent-report-head>div:first-child strong{color:#6c5fe8;font-size:20pt;letter-spacing:-.04em}.agit-parent-report-head>div:last-child strong{font-size:14pt}.agit-parent-report-head span{color:#7d8493;font-size:8pt}.agit-parent-report-kpis{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid #e4e7ec;border-radius:3mm}.agit-parent-report-kpis article{display:grid;grid-template-columns:1fr auto;align-items:end;padding:3mm 4mm;border-right:1px solid #e4e7ec}.agit-parent-report-kpis article:last-child{border-right:0}.agit-parent-report-kpis span{grid-column:1 / -1;align-self:start;color:#6f7786;font-size:7pt;font-weight:700}.agit-parent-report-kpis strong{font:800 18pt var(--ds-font-number)}.agit-parent-report-kpis small{margin-left:1mm;color:#9aa0ab;font:7pt var(--ds-font-ui)}.agit-parent-report-overview,.agit-parent-report-details{min-height:0;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,.85fr);gap:3mm}.agit-parent-report-details{grid-template-columns:1fr 1fr}.agit-parent-report-card{min-width:0;overflow:hidden;border:1px solid #e4e7ec;border-radius:3mm;background:#fff}.agit-parent-report-card>header{height:10mm;display:flex;align-items:center;justify-content:space-between;padding:0 4mm;border-bottom:1px solid #eef0f4}.agit-parent-report-card h2{margin:0;font-size:9pt}.agit-parent-report-card header span{color:#7d8493;font-size:7pt}.agit-parent-report-trend .perf-trend{--trend-self: #6c5fe8;--trend-class: #a8aeb9;--trend-plot-height: 21mm;--trend-bar-gap: 1.5mm;gap:1.5mm;padding:3mm 4mm 2mm}.agit-parent-report-trend .perf-trend-bars i{border-radius:1mm 1mm 0 0}.agit-parent-report-trend .perf-trend-axis{color:#8e949e;font:5.5pt var(--ds-font-number)}.agit-parent-report-trend .chart-legend{color:#6f7786;font-size:5.5pt}.agit-parent-report-summary dl{display:grid;grid-template-columns:repeat(2,1fr);margin:0;padding:2.5mm 4mm}.agit-parent-report-summary dl>div{display:flex;justify-content:space-between;padding:1mm}.agit-parent-report-summary dt{color:#7d8493;font-size:6.5pt}.agit-parent-report-summary dd{margin:0;font:800 7pt var(--ds-font-number)}.agit-parent-report-summary ul{display:grid;gap:1mm;margin:0;padding:0 4mm;list-style:none}.agit-parent-report-summary li{overflow:hidden;padding:1.5mm 2mm;border-radius:1.5mm;background:#fff4dd;color:#6d5a2a;font-size:6pt;text-overflow:ellipsis;white-space:nowrap}.agit-parent-report-list{padding:0 4mm}.agit-parent-report-list>div{height:8mm;display:grid;grid-template-columns:minmax(0,1fr) 18mm 23mm;align-items:center;gap:2mm;border-bottom:1px solid #eef0f4}.agit-parent-report-list strong{overflow:hidden;font-size:6.5pt;text-overflow:ellipsis;white-space:nowrap}.agit-parent-report-list span{color:#6c5fe8;font-size:6pt;font-weight:800;text-align:right}.agit-parent-report-list span.is-wrong{color:#dc2626}.agit-parent-report-list small{color:#8e949e;font:6pt var(--ds-font-number);text-align:right}.agit-parent-report-list p{margin:8mm 0;color:#8e949e;font-size:7pt;text-align:center}.agit-parent-report-year>header{height:9mm}.agit-parent-report-months{display:grid;grid-template-columns:repeat(12,1fr);padding:2mm 4mm 1mm;color:#8e949e;font-size:5.5pt}.agit-parent-report-heatmap{height:25mm;display:grid;grid-template-rows:repeat(7,1fr);grid-auto-columns:minmax(1.5mm,1fr);grid-auto-flow:column;gap:.6mm;padding:0 4mm 3mm}.agit-parent-report-heatmap i{border-radius:.5mm;background:#f3f1ff}.agit-parent-report-heatmap i.is-level-1{background:#d3cefb}.agit-parent-report-heatmap i.is-level-2{background:#b1a9f4}.agit-parent-report-heatmap i.is-level-3{background:#9086ec}.agit-parent-report-heatmap i.is-level-4{background:#6e62e5}.agit-parent-report>footer{display:flex;align-items:end;justify-content:flex-end;color:#9aa0ab;font-size:6pt}}.classroom-page{gap:var(--ds-space-4);align-content:start}.classroom-hero{position:relative;min-height:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:center;gap:clamp(2rem,5vw,5rem);margin-top:calc(var(--page-pad-x) * -1);margin-inline:calc(-1 * var(--page-bleed-pad-x));padding:var(--ds-space-8) var(--page-bleed-pad-x);overflow:hidden;border-radius:0;background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.22),transparent 25%),linear-gradient(115deg,var(--ds-primary-700),var(--ds-primary-600) 52%,var(--ds-primary-500));color:var(--color-on-accent)}.classroom-hero-copy,.classroom-hero-visual{position:relative;z-index:1}.classroom-hero-copy{display:grid;justify-items:start;gap:var(--ds-space-3)}.classroom-hero h1{margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,2.3vw,2.1rem);font-weight:600;line-height:1.22;letter-spacing:-.03em}.classroom-hero-copy>p{max-width:36rem;margin:0;color:color-mix(in srgb,var(--color-on-accent) 78%,transparent);font-size:var(--font-size-sm);line-height:1.6}.classroom-hero-visual{width:min(100%,370px);min-height:0;display:grid;place-items:center;justify-self:end}.classroom-editor-preview{position:relative;width:min(100%,360px);min-height:0;overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:var(--ds-radius-card);background:#15182a;box-shadow:0 24px 55px #1c135b47;transform:rotate(-2deg)}.classroom-editor-preview:before,.classroom-editor-preview:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.classroom-editor-preview:before{background:linear-gradient(130deg,rgba(255,255,255,.06),transparent 44%)}.classroom-editor-preview:after{border-radius:inherit;box-shadow:inset 0 1px #ffffff1a}.classroom-editor-bar{min-height:38px;display:flex;align-items:center;padding-inline:var(--ds-space-3);border-bottom:1px solid rgba(255,255,255,.1);color:#ffffff94;font:700 .66rem var(--font-code);letter-spacing:.08em}.classroom-editor-dots{display:flex;gap:5px}.classroom-editor-dots i{width:7px;height:7px;border-radius:50%;background:#ffffff4d}.classroom-editor-code{display:grid;gap:.3rem;padding:var(--ds-space-4) var(--ds-space-4) var(--ds-space-3);color:#edf0ff;font:600 .74rem/1.55 var(--font-code)}.classroom-editor-code>span{display:grid;grid-template-columns:1.4rem minmax(0,1fr)}.classroom-editor-code i{color:#ffffff47;font-style:normal;font-weight:500}.classroom-editor-code code{color:inherit;white-space:nowrap}.classroom-editor-code b,.classroom-editor-code strong{color:#91c9ff;font-weight:700}.classroom-editor-code em{color:#b9e88a;font-style:normal}.classroom-editor-output{min-height:42px;display:flex;align-items:center;justify-content:flex-end;gap:var(--ds-space-3);padding-inline:var(--ds-space-4);border-top:1px solid rgba(255,255,255,.1);background:#ffffff09;color:#ffffff8f;font-size:var(--font-size-xs)}.classroom-editor-output strong{display:inline-flex;align-items:center;gap:.4rem;color:#ffffffd1;font-weight:700}.classroom-editor-output strong i{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 18%,transparent)}@media(max-width:860px){.classroom-hero{grid-template-columns:1fr;gap:var(--ds-space-6);padding-block:var(--ds-space-8)}.classroom-hero-visual{width:100%;justify-self:stretch}}@media(max-width:560px){.classroom-hero{min-height:0;padding:var(--ds-space-6) var(--ds-space-5)}.classroom-hero h1{font-size:var(--font-size-title)}}.classroom-catalog-content{width:min(100%,1392px);display:grid;gap:var(--ds-space-5);margin-inline:auto}.classroom-page .classroom-hero{padding-inline:calc(var(--page-bleed-pad-x) + max(0px,(100% - 1392px) / 2))}.classroom-python-cover{--course-surface: #cbe6f5;--course-field: #a9cfe3;--course-title: #275b86;--course-meta: #496a84;--course-accent: #3776ab}.classroom-c-cover{--course-surface: #d2e2f1;--course-field: #afc9e2;--course-title: #315f8d;--course-meta: #59738d;--course-accent: #4e87bf}.classroom-dsa-cover{--course-surface: #cde9e2;--course-field: #a7d4c9;--course-title: #176c61;--course-meta: #4e756f;--course-accent: #1e9d8e}.classroom-ai-basics-cover{--course-surface: #e0dcfb;--course-field: #c6bff6;--course-title: #443b9e;--course-meta: #62608a;--course-accent: #6c5ce7}.classroom-python-automation-cover{--course-surface: #fbe8c6;--course-field: #f2d29b;--course-title: #8a5b06;--course-meta: #7d6844;--course-accent: #c2860a}.classroom-turtle-cover{--course-surface: #d9f0dc;--course-field: #b4e1ba;--course-title: #20682f;--course-meta: #4e7255;--course-accent: #2f9e44}.classroom-ai-agent-cover{--course-surface: #f6dcf1;--course-field: #ecbde3;--course-title: #7d2172;--course-meta: #7a5875;--course-accent: #b02fa0}.classroom-yolo-cover{--course-surface: #fbdfcc;--course-field: #f5c3a3;--course-title: #9a3c07;--course-meta: #82604b;--course-accent: #e8590c}.classroom-self-driving-cover{--course-surface: #d8dffb;--course-field: #b6c2f5;--course-title: #2b409e;--course-meta: #5a638c;--course-accent: #3b5bdb}.classroom-manipulator-cover{--course-surface: #dfe3e8;--course-field: #c4ccd4;--course-title: #343a40;--course-meta: #5c656e;--course-accent: #495057}.classroom-page .classroom-catalog-preview:hover{border-color:var(--ds-line);box-shadow:none;transform:none}.classroom-course-badge{font-family:var(--font-code);font-size:var(--font-size-body)}.classroom-empty-lesson{margin:0;padding:var(--space-4) var(--space-5);color:var(--muted);font-size:var(--font-size-label)}.classroom-course-facts{display:grid;gap:var(--space-3);margin:0}.classroom-course-facts div{display:flex;justify-content:space-between;gap:var(--space-3)}.classroom-course-facts dt,.classroom-course-guide{color:var(--muted);font-size:var(--font-size-label)}.classroom-course-facts dd{margin:0;color:var(--text);font-size:var(--font-size-label);font-weight:700;text-align:right}.classroom-course-guide{margin:0;line-height:1.6}.classroom-editor-layout{min-width:0;display:grid;grid-template-columns:minmax(270px,310px) minmax(0,1fr);gap:var(--ds-grid-gap);align-items:start}.classroom-toc{position:sticky;top:calc(var(--ds-topbar-height) + var(--ds-space-4));max-height:calc(100dvh - var(--ds-topbar-height) - var(--footer-h) - var(--ds-space-8));overflow:auto;border:1px solid var(--ds-line);border-radius:var(--ds-radius-card);background:var(--ds-surface)}.classroom-toc>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-4);border-bottom:1px solid var(--ds-line-soft);background:var(--ds-surface)}.classroom-toc>header div{display:grid;gap:var(--ds-space-1)}.classroom-toc-close{width:var(--control-h-sm);height:var(--control-h-sm);display:grid;place-items:center;margin-left:auto;border-radius:var(--ds-radius-control);color:var(--ds-ink-600);font-size:var(--font-size-title)}.classroom-toc-close:hover{background:var(--ds-surface-soft);color:var(--ds-ink-950)}.classroom-toc-close svg{width:18px;height:18px}.classroom-toc>header small,.classroom-toc nav button small,.classroom-workspace-title>div>span{color:var(--ds-ink-400);font-size:var(--font-size-xs);font-weight:700}.classroom-toc>ol{margin:0;padding:var(--ds-space-2);list-style:none}.classroom-toc>ol>li>button{width:100%;min-height:42px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:var(--ds-space-2);padding:0 var(--ds-space-2);border-radius:var(--ds-radius-sm);color:var(--ds-ink-600);font-size:var(--font-size-sm);text-align:left}.classroom-toc>ol>li>button:disabled{opacity:1;cursor:default}.classroom-toc>ol>li>button>span{color:var(--ds-ink-400);font-family:var(--ds-font-number)}.classroom-toc>ol>li>button>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-toc>ol>li.is-current>button{background:var(--ds-primary-100);color:var(--ds-primary-700)}.classroom-toc>ol>li.is-current>button>span:not(.classroom-toc-complete){color:var(--ds-primary-600)}.classroom-toc-complete{width:20px;height:20px;display:grid;place-items:center;color:var(--ds-primary-600)}.classroom-toc-complete svg{width:18px;height:18px}.classroom-toc-complete.is-started{color:var(--ds-ink-400)}.classroom-toc-complete.is-not-started{color:var(--ds-ink-300)}.classroom-toc nav{display:grid;gap:var(--ds-space-1);padding:var(--ds-space-2) 0 var(--ds-space-3) var(--ds-space-5)}.classroom-toc nav button{min-width:0;min-height:48px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-2);border-left:2px solid var(--ds-line);color:var(--ds-ink-600);text-align:left}.classroom-toc nav button>span:first-child{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--ds-surface-soft);font-size:var(--font-size-xs);font-weight:800}.classroom-toc nav button>span:nth-child(2){min-width:0;display:grid;gap:2px}.classroom-toc nav button strong{overflow:hidden;font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap}.classroom-toc-item-status{display:inline-flex;align-items:center;gap:4px;color:var(--ds-ink-400);font-size:var(--font-size-xs);font-weight:700;white-space:nowrap}.classroom-toc-item-status svg{width:15px;height:15px}.classroom-toc-item-status.is-attempted{color:var(--ds-ink-500)}.classroom-toc-item-status.is-complete{color:var(--ds-primary-600)}.classroom-toc-item-status.is-not-started{color:var(--ds-ink-300)}.classroom-toc nav button:hover,.classroom-toc nav button.is-active{border-left-color:var(--ds-primary-600);background:var(--ds-primary-50);color:var(--ds-primary-700)}.classroom-toc nav button.is-active>span:first-child{background:var(--ds-primary-600);color:var(--color-on-accent)}.classroom-editor-workspace{min-width:0;overflow:hidden;border:1px solid var(--ds-line);border-radius:var(--ds-radius-card);background:var(--ds-surface)}.classroom-workspace-head{min-height:52px;display:flex;align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-2) var(--ds-space-5);border-bottom:1px solid var(--ds-line)}.classroom-workspace-head h2{margin:2px 0 0;color:var(--ds-ink-950);font-size:var(--font-size-lg);font-weight:600;line-height:1.25}.classroom-workspace-title{min-width:0;display:flex;align-items:center;gap:var(--ds-space-3)}.classroom-workspace-title>div{min-width:0}.classroom-toc-open{width:40px;height:40px;flex:0 0 auto;display:grid;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--ds-radius-control);background:transparent;color:var(--ds-ink-600)}.classroom-toc-open:hover{background:var(--ds-surface-soft);color:var(--ds-ink-950)}.classroom-toc-open svg{width:22px;height:22px}.classroom-workbench{min-height:620px;display:grid;grid-template-columns:minmax(280px,36%) minmax(0,1fr)}.classroom-instruction{min-width:0;overflow:auto;padding:var(--ds-space-6);border-right:1px solid var(--ds-line)}.classroom-item-kind{width:fit-content;padding:var(--ds-space-1) var(--ds-space-2);border-radius:var(--ds-radius-sm);background:var(--ds-primary-100);color:var(--ds-primary-700);font-size:var(--font-size-xs);font-weight:800}.classroom-item-kind.is-mission{background:var(--ds-warning-soft);color:var(--ds-warning)}.classroom-item-kind.is-problem{background:var(--ds-info-soft);color:var(--ds-info)}.classroom-instruction h3{margin:var(--ds-space-4) 0 0;color:var(--ds-ink-950);font-size:var(--font-size-title)}.classroom-instruction>p,.classroom-instruction section p,.classroom-hint span{color:var(--ds-ink-600);font-size:var(--font-size-body);line-height:1.7}.classroom-instruction>p{white-space:pre-wrap}.classroom-instruction section{margin-top:var(--ds-space-6);padding-top:var(--ds-space-4);border-top:1px solid var(--ds-line-soft)}.classroom-instruction h4{margin:0 0 var(--ds-space-2);color:var(--ds-ink-800);font-size:var(--font-size-sm)}.classroom-instruction pre{margin:0;padding:var(--ds-space-3);overflow:auto;border-radius:var(--ds-radius-control);background:color-mix(in srgb,var(--ds-ink-400) 18%,var(--ds-surface));color:var(--ds-ink-800);font-family:var(--ds-font-code);font-size:var(--font-size-sm);line-height:1.6}.classroom-hint{display:grid;gap:var(--ds-space-1);margin-top:var(--ds-space-6);padding:var(--ds-space-3) var(--ds-space-4);border:1px solid color-mix(in srgb,var(--ds-warning) 30%,var(--ds-line));border-radius:var(--ds-radius-control);background:var(--ds-warning-soft)}.classroom-recommendations ul{display:grid;gap:var(--ds-space-1);margin:var(--ds-space-3) 0 0;padding:0;list-style:none}.classroom-recommendations li{min-width:0}.classroom-recommendations button{width:100%;min-height:38px;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:var(--ds-space-2);padding:0 var(--ds-space-2);border-radius:var(--ds-radius-control);color:var(--ds-ink-700);font-size:var(--font-size-sm);text-align:left}.classroom-recommendations button:hover{background:var(--ds-surface-soft);color:var(--ds-primary-700)}.classroom-recommendations button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-recommendations small{color:var(--ds-warning);font-size:var(--font-size-xs);letter-spacing:.08em}.classroom-recommendations svg{width:16px;height:16px}.classroom-hint strong{color:var(--ds-warning);font-size:var(--font-size-xs)}.classroom-code-pane{min-width:0;min-height:0;display:grid;grid-template-rows:48px minmax(360px,1fr) minmax(150px,auto);background:var(--editor-bg)}.classroom-code-pane>header,.classroom-console>header{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-3);padding:0 var(--ds-space-3);border-bottom:1px solid var(--editor-panel-border);background:var(--editor-panel-bg);color:var(--editor-text-soft)}.classroom-code-pane>header>span{font-family:var(--ds-font-code);font-size:var(--font-size-sm);font-weight:700}.classroom-code-pane>header>div{display:flex;align-items:center;gap:var(--ds-space-2)}.classroom-editor-lock-state{display:inline-flex;align-items:center;gap:.35rem;color:var(--editor-muted);font-size:var(--font-size-xs);font-weight:700}.classroom-editor-lock-state svg{width:14px;height:14px}.classroom-code-pane>header .btn-ghost{border:1px solid var(--editor-muted);color:var(--color-on-accent)}.classroom-code-pane>header .btn-ghost:hover{border-color:var(--editor-text-strong);background:var(--editor-panel-bg-strong);color:var(--editor-text-strong)}.classroom-code-editor{min-height:0;overflow:hidden}.classroom-console{min-width:0;overflow:auto;border-top:1px solid var(--editor-panel-border);background:var(--editor-panel-bg);color:var(--editor-text-soft)}.classroom-console>header{min-height:38px;border-bottom-color:var(--editor-subtle-border)}.classroom-console>header strong{font-size:var(--font-size-xs)}.classroom-console>header span{color:var(--editor-muted);font-size:var(--font-size-xs)}.classroom-console>p,.classroom-console>pre{margin:0;padding:var(--ds-space-3) var(--ds-space-4);color:var(--editor-muted);font-family:var(--ds-font-code);font-size:var(--font-size-sm);line-height:1.55;white-space:pre-wrap}.classroom-console>pre.is-error{color:var(--editor-bad-text)}.classroom-verdict{width:fit-content;margin:var(--ds-space-3) var(--ds-space-4) 0;padding:var(--ds-space-1) var(--ds-space-2);border-radius:var(--ds-radius-sm);font-size:var(--font-size-xs);font-weight:800}.classroom-verdict.is-passed{background:var(--editor-ok-bg);color:var(--editor-ok-text)}.classroom-verdict.is-failed{background:var(--editor-bad-bg);color:var(--editor-bad-text)}.classroom-workspace-nav{min-height:52px;display:grid;grid-template-columns:minmax(92px,1fr) auto minmax(92px,1fr);align-items:center;gap:var(--ds-space-5);padding:var(--ds-space-1) var(--ds-space-5);border-top:1px solid var(--ds-line);background:var(--ds-surface)}.classroom-workspace-nav>button{min-height:var(--control-h-sm);display:inline-flex;align-items:center;gap:var(--ds-space-2);padding:0 var(--ds-space-3);color:var(--ds-ink-700);font-size:var(--font-size-sm);font-weight:700}.classroom-workspace-nav>button:first-child{justify-self:end}.classroom-workspace-nav>button:last-child{justify-self:start}.classroom-workspace-nav>button:hover:not(:disabled){color:var(--ds-primary-700)}.classroom-workspace-nav>button:disabled{color:var(--ds-ink-300);cursor:default}.classroom-workspace-nav>button svg{width:18px;height:18px}.classroom-workspace-position{min-width:72px;display:flex;align-items:center;justify-content:center;gap:var(--ds-space-2);color:var(--ds-ink-400);font-family:var(--ds-font-number);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.classroom-workspace-position strong{color:var(--ds-ink-950)}@media(max-width:1120px){.classroom-editor-layout{grid-template-columns:minmax(0,1fr)}.classroom-toc{position:static;max-height:360px}}@media(max-width:820px){.classroom-workbench{grid-template-columns:minmax(0,1fr)}.classroom-instruction{border-right:0;border-bottom:1px solid var(--ds-line)}.classroom-code-pane{min-height:620px}}@media(max-width:620px){.classroom-workspace-head{align-items:stretch;flex-direction:column}.classroom-workspace-nav{gap:var(--ds-space-2);padding-inline:var(--ds-space-3)}}.page.page-classroom-window{min-height:0;height:100dvh;padding:0;overflow:hidden}.classroom-page.is-window{height:100dvh;gap:0;overflow:hidden}.classroom-page.is-window .classroom-editor-layout{height:100%;grid-template-columns:minmax(270px,320px) minmax(0,1fr);gap:0}.classroom-page.is-window .classroom-editor-layout.is-toc-closed{grid-template-columns:minmax(0,1fr)}.classroom-page.is-window .classroom-toc{position:static;height:100%;max-height:none;border-width:0 1px 0 0;border-radius:0}.classroom-page.is-window .classroom-editor-workspace{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:0;border-radius:0}.classroom-page.is-window .classroom-workbench,.classroom-page.is-window .classroom-instruction,.classroom-page.is-window .classroom-code-pane{min-height:0}.classroom-item-edit{margin-left:auto;flex-shrink:0}.classroom-item-edit svg{width:15px;height:15px}.classroom-arduino-cover{--course-surface: #cfe8e6;--course-field: #a8d5d1;--course-title: #146b66;--course-meta: #4b736f;--course-accent: #0f8f8a}.classroom-arduino-image{width:86px;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(15,143,138,.18))}.arduino-pane{grid-template-rows:48px minmax(120px,1fr) 11px var(--arduino-monitor-height, 220px)}.arduino-editor{min-width:0}.arduino-monitor-resizer{display:flex;align-items:center;justify-content:center;border-top:1px solid var(--editor-panel-border);background:var(--editor-panel-bg);cursor:row-resize;touch-action:none}.arduino-monitor-resizer>span{width:44px;height:3px;border-radius:999px;background:var(--editor-muted);opacity:.45;transition:opacity .12s ease,background-color .12s ease}.arduino-monitor-resizer:hover>span,.arduino-monitor-resizer:focus-visible>span{background:var(--editor-text-strong);opacity:1}.arduino-monitor-resizer:focus-visible{outline:2px solid var(--editor-accent);outline-offset:-2px}.arduino-circuit-figure{margin-top:var(--ds-space-5);padding-top:var(--ds-space-4);border-top:1px solid var(--ds-line)}.arduino-circuit-figure>h4{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ds-space-3)}.arduino-circuit-figure>h4 span{color:var(--ds-ink-600);font-size:var(--font-size-label);font-weight:400}.arduino-circuit-pending{margin:0;padding:var(--ds-space-5) var(--ds-space-4);border:1px dashed var(--ds-line);border-radius:var(--ds-radius-control);background:var(--ds-surface-soft);color:var(--ds-ink-600);font-size:var(--font-size-sm);line-height:1.6;text-align:center}.arduino-circuit{padding:var(--ds-space-3);border-radius:var(--ds-radius-control);background:#fff;border:1px solid var(--ds-line)}.arduino-circuit-canvas{position:relative;display:block;cursor:zoom-in;border-radius:var(--ds-radius-control)}.arduino-circuit-canvas:focus-visible{outline:2px solid var(--ds-accent, #0f8f8a);outline-offset:3px}.arduino-circuit-zoom{position:absolute;right:var(--ds-space-2);bottom:var(--ds-space-2);display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .5rem;border-radius:999px;background:#111827b8;color:#f8fafc;font-size:var(--font-size-label);opacity:0;transition:opacity .12s ease}.arduino-circuit-zoom svg{width:14px;height:14px}.arduino-circuit-canvas:hover .arduino-circuit-zoom,.arduino-circuit-canvas:focus-visible .arduino-circuit-zoom{opacity:1}.arduino-circuit svg{display:block;width:100%;height:auto}.arduino-circuit svg [role=button]:focus-visible rect{stroke:var(--editor-accent);stroke-width:3}.arduino-circuit-control{display:flex;align-items:center;gap:var(--ds-space-2);margin:var(--ds-space-2) 0 0;color:var(--ds-ink-600);font-size:var(--font-size-label)}.arduino-circuit-control input[type=range]{flex:1;accent-color:var(--editor-accent)}.arduino-circuit-control b{min-width:3.2rem;color:var(--editor-accent);font-family:var(--ds-font-code);text-align:right}.arduino-circuit-control.is-hint{display:block;color:var(--ds-ink-600);line-height:1.5}.arduino-circuit-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:var(--ds-space-5);background:#0f172a9e}.arduino-circuit-dialog-inner{display:flex;flex-direction:column;gap:var(--ds-space-3);width:min(1280px,96vw);max-height:94vh;padding:var(--ds-space-4);border-radius:var(--ds-radius-card);background:var(--ds-surface);box-shadow:0 24px 60px #0f172a59}.arduino-circuit-dialog-inner>header{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-3);color:var(--ds-ink-800)}.arduino-circuit-dialog-inner>.arduino-circuit{min-height:0}.arduino-circuit-dialog-inner .arduino-circuit-canvas{cursor:default}.arduino-circuit-dialog-inner .arduino-circuit-canvas>svg{width:100%;height:calc(94vh - 170px)}.arduino-monitor{min-height:0;display:flex;flex-direction:column;overflow:hidden;border-top:0}.arduino-monitor pre{flex:1 1 auto;min-height:0;margin:0;padding:var(--ds-space-3);overflow:auto;color:var(--editor-text);font-family:var(--ds-font-code);font-size:var(--font-size-label);line-height:1.55;white-space:pre-wrap;word-break:break-all}.arduino-message{margin:0;padding:var(--ds-space-2) var(--ds-space-3);border-top:1px solid var(--editor-panel-border);background:var(--editor-ok-bg);color:var(--editor-ok-text);font-size:var(--font-size-label)}.arduino-message.is-error{background:var(--editor-bad-bg);color:var(--editor-bad-text)}.arduino-message.is-hint{background:transparent;color:var(--editor-muted);line-height:1.55}.arduino-board-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border:1px solid var(--editor-panel-border);border-radius:999px;color:var(--editor-muted);font-size:var(--font-size-label)}.arduino-board-chip.is-live{border-color:var(--editor-ok-border);background:var(--editor-ok-bg);color:var(--editor-ok-text)}.arduino-board-chip svg,.arduino-pane>header .btn svg{width:15px;height:15px}.learning-item-editor-page{min-width:0}.learning-item-editor-page.is-window{height:100dvh;overflow-y:auto;background:var(--ds-canvas)}.learning-item-editor{display:flex;flex-direction:column;gap:var(--ds-space-6);min-width:0;max-width:var(--shell-content-max-w);margin:0 auto}.learning-item-editor-page.is-window .learning-item-editor{width:100%;max-width:var(--shell-content-max-w);margin:0 auto;padding:var(--ds-page-padding)}.learning-item-editor-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--ds-space-5);padding:var(--ds-space-5);border:1px solid var(--ds-line);border-radius:var(--ds-radius-hero);background:linear-gradient(135deg,var(--ds-primary-50),transparent 58%),var(--ds-surface);box-shadow:var(--ds-shadow-float)}.learning-item-editor-back{align-self:flex-start;margin-top:var(--ds-space-1)}.learning-item-editor-title{flex:1;min-width:0}.learning-item-editor-eyebrow{display:flex;align-items:center;gap:var(--ds-space-2);margin-bottom:var(--ds-space-2)}.learning-item-editor-eyebrow span{padding:var(--ds-space-1) var(--ds-space-2);border-radius:var(--ds-radius-pill);background:var(--ds-primary-100);color:var(--ds-primary-700);font-size:var(--font-size-xs);font-weight:700;line-height:1.3}.learning-item-editor-eyebrow span+span{background:var(--ds-surface-soft);color:var(--ds-ink-600)}.learning-item-editor-head h2{margin:0;overflow:hidden;color:var(--ds-ink-950);font-size:var(--font-size-title-lg);text-overflow:ellipsis;white-space:nowrap}.learning-item-editor-title p{margin:var(--ds-space-1) 0 0;color:var(--ds-ink-600);font-size:var(--font-size-sm)}.learning-item-editor-actions{display:grid;grid-template-columns:auto auto;flex-shrink:0;gap:var(--ds-space-2);justify-items:end}.learning-item-editor-save-state{display:inline-flex;grid-column:1 / -1;align-items:center;gap:var(--ds-space-2);color:var(--ds-ink-600);font-size:var(--font-size-xs);font-weight:700}.learning-item-editor-save-state i{width:var(--ds-space-2);height:var(--ds-space-2);border-radius:var(--ds-radius-pill);background:var(--ds-success)}.learning-item-editor-save-state.is-dirty{color:var(--ds-warning)}.learning-item-editor-save-state.is-dirty i{background:var(--ds-warning)}.learning-item-editor-message{display:flex;align-items:center;gap:var(--ds-space-3);margin:calc(var(--ds-space-2) * -1) 0 0;padding:var(--ds-space-3) var(--ds-space-4);border:1px solid var(--ok-border);border-radius:var(--ds-radius-control);background:var(--ds-success-soft);color:var(--ds-success);font-size:var(--font-size-sm);font-weight:700}.learning-item-editor-message.is-error{border-color:var(--bad-border);background:var(--ds-danger-soft);color:var(--ds-danger)}.learning-item-editor-message svg{width:var(--ds-space-5);height:var(--ds-space-5);flex:0 0 auto}.learning-item-editor-panel{min-width:0;border:1px solid var(--ds-line);border-radius:var(--ds-radius-card);background:var(--ds-surface);box-shadow:var(--ds-shadow-float);overflow:hidden}.learning-item-editor-panel>header{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-5);min-height:var(--ds-topbar-height);padding:var(--ds-space-3) var(--ds-space-5);border-bottom:1px solid var(--ds-line);background:var(--ds-surface-soft)}.learning-item-editor-section-title{display:flex;align-items:center;gap:var(--ds-space-3);min-width:0}.learning-item-editor-section-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--ds-control-height);height:var(--ds-control-height);flex:0 0 auto;border-radius:var(--ds-radius-control);background:var(--ds-primary-100);color:var(--ds-primary-700)}.learning-item-editor-section-icon svg{width:var(--ds-space-5);height:var(--ds-space-5)}.learning-item-editor-section-title>div{display:flex;flex-direction:column;gap:2px;min-width:0}.learning-item-editor-section-title strong{color:var(--ds-ink-950);font-size:var(--font-size-section)}.learning-item-editor-section-title small{color:var(--ds-ink-600);font-size:var(--font-size-xs);font-weight:400}.learning-item-editor-runbar{display:flex;align-items:center;gap:var(--ds-space-2);min-width:0}.learning-item-editor-runbar .btn svg,.learning-item-editor-runbar .arduino-board-chip svg{width:15px;height:15px}.learning-item-editor-code{height:clamp(360px,50dvh,520px);overflow:hidden;background:var(--editor-bg)}.learning-item-editor-monitor{display:flex;flex-direction:column;height:200px;border-top:1px solid var(--editor-panel-border);background:var(--editor-panel-bg)}.learning-item-editor-monitor>header{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-3);padding:0 var(--ds-space-3);min-height:34px;border-bottom:1px solid var(--editor-subtle-border);color:var(--editor-text-soft);font-size:var(--font-size-xs)}.learning-item-editor-monitor>pre{flex:1 1 auto;min-height:0;margin:0;padding:var(--ds-space-3);overflow:auto;color:var(--editor-text);font-family:var(--ds-font-code);font-size:var(--font-size-label);line-height:1.55;white-space:pre-wrap;word-break:break-all}.learning-item-editor-preset{display:flex;align-items:center;gap:var(--ds-space-2);flex:0 0 auto;color:var(--ds-ink-600);font-size:var(--font-size-xs);font-weight:700}.learning-item-editor-preset select{min-width:150px;min-height:var(--ds-control-height);padding:0 var(--ds-space-3);border:1px solid var(--ds-line);border-radius:var(--ds-radius-control);background:var(--ds-surface);color:var(--ds-ink-800);font:inherit;cursor:pointer}.learning-item-editor-preset select:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}.learning-item-editor-content-fields{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:var(--ds-space-4);padding:var(--ds-space-5)}.learning-item-editor-field{display:flex;flex-direction:column;gap:var(--ds-space-2);min-width:0}.learning-item-editor-field.is-title{grid-column:1 / -1}.learning-item-editor-field>span{color:var(--ds-ink-800);font-size:var(--font-size-xs);font-weight:700}.learning-item-editor-field input,.learning-item-editor-field textarea{width:100%;border:1px solid var(--ds-line);border-radius:var(--ds-radius-control);background:var(--ds-surface);color:var(--ds-ink-950);font:inherit;line-height:1.6;transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.learning-item-editor-field input{min-height:var(--ds-control-height);padding:0 var(--ds-space-3)}.learning-item-editor-field textarea{min-height:104px;padding:var(--ds-space-3);resize:vertical}.learning-item-editor-testcase-fields textarea{min-height:168px;font-family:var(--ds-font-code);font-size:var(--font-size-sm)}.learning-item-editor-field input:focus,.learning-item-editor-field textarea:focus{border-color:var(--ds-primary-500);outline:none;box-shadow:var(--ds-focus-ring)}.learning-item-editor-field input::placeholder,.learning-item-editor-field textarea::placeholder{color:var(--ds-ink-400)}.learning-item-editor-language-grid,.learning-item-editor-arduino-grid{display:grid;align-items:start;gap:var(--ds-space-5);min-width:0}.learning-item-editor-language-grid{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)}.learning-item-editor-arduino-grid{grid-template-columns:minmax(620px,1.4fr) minmax(380px,.8fr);align-items:stretch}.learning-item-editor-arduino-grid>.learning-item-editor-panel{display:flex;flex-direction:column;height:100%}.learning-item-editor-arduino-grid .learning-item-editor-panel.is-circuit .circuit-editor{flex:1 1 auto}.learning-item-editor-arduino-grid .learning-item-editor-panel.is-code .learning-item-editor-code{height:auto;min-height:360px;flex:1 1 auto}.learning-item-editor-arduino-grid .learning-item-editor-panel>header{align-items:flex-start;flex-direction:column}.learning-item-editor-arduino-grid .learning-item-editor-runbar{width:100%;flex-wrap:wrap;padding-top:var(--ds-space-3);border-top:1px solid var(--ds-line)}.learning-item-editor-arduino-grid .circuit-editor{grid-template-columns:150px minmax(0,1fr) 220px}.learning-item-editor-circuit-status{display:flex;align-items:flex-start;gap:var(--ds-space-3);padding:var(--ds-space-3) var(--ds-space-4);border-bottom:1px solid var(--ok-border);background:var(--ds-success-soft);color:var(--ds-success);font-size:var(--font-size-xs)}.learning-item-editor-circuit-status.is-error{border-color:var(--bad-border);background:var(--ds-danger-soft);color:var(--ds-danger)}.learning-item-editor-circuit-status>svg{width:var(--ds-space-5);height:var(--ds-space-5);flex:0 0 auto}.learning-item-editor-circuit-status>div{display:flex;flex-direction:column;gap:var(--ds-space-1)}.learning-item-editor-circuit-status ul{margin:0;padding-left:var(--ds-space-5);color:var(--ds-ink-800);line-height:1.6}.learning-item-editor-testcase-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-space-4);padding:var(--ds-space-5)}.learning-item-editor-judge{border-top:1px solid var(--ds-line);background:var(--ds-surface-soft)}.learning-item-editor-judge>p,.learning-item-editor-judge>pre{margin:0;padding:var(--ds-space-5);color:var(--ds-ink-600);font-size:var(--font-size-sm)}.learning-item-editor-judge>pre,.learning-item-editor-judge-output pre{overflow:auto;font-family:var(--ds-font-code);white-space:pre-wrap}.learning-item-editor-judge>pre.is-error{color:var(--ds-danger)}.learning-item-editor-judge>header{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-3);padding:var(--ds-space-3) var(--ds-space-5);border-bottom:1px solid var(--ds-line);color:var(--ds-ink-800)}.learning-item-editor-judge>header.is-passed{border-color:var(--ok-border);background:var(--ds-success-soft);color:var(--ds-success)}.learning-item-editor-judge>header.is-failed{border-color:var(--bad-border);background:var(--ds-danger-soft);color:var(--ds-danger)}.learning-item-editor-judge-output{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.learning-item-editor-judge-output>div{min-width:0;padding:var(--ds-space-4) var(--ds-space-5)}.learning-item-editor-judge-output>div+div{border-left:1px solid var(--ds-line)}.learning-item-editor-judge-output span{display:block;margin-bottom:var(--ds-space-2);color:var(--ds-ink-600);font-size:var(--font-size-xs);font-weight:700}.learning-item-editor-judge-output pre{min-height:72px;margin:0;color:var(--ds-ink-950);font-size:var(--font-size-sm)}.circuit-editor{display:grid;grid-template-columns:180px minmax(0,1fr) 280px;min-height:640px}.circuit-editor-palette,.circuit-editor-inspector{min-width:0;padding:var(--ds-space-3);overflow:auto}.circuit-editor-palette{border-right:1px solid var(--ds-line);background:var(--ds-surface-soft)}.circuit-editor-inspector{border-left:1px solid var(--ds-line);background:var(--ds-surface-soft)}.circuit-editor h4{margin:0 0 var(--ds-space-2);font-size:var(--font-size-sm)}.circuit-editor-palette ul,.circuit-editor-list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.circuit-editor-palette button,.circuit-editor-list button{display:flex;align-items:center;gap:var(--ds-space-2);width:100%;padding:var(--ds-space-2);border:1px solid transparent;border-radius:var(--ds-radius-control);background:transparent;color:var(--ds-ink-800);font-size:var(--font-size-sm);text-align:left;cursor:pointer}.circuit-editor-palette button:hover,.circuit-editor-list button:hover{border-color:var(--ds-line);background:var(--ds-surface)}.circuit-editor-list button.is-selected{border-color:var(--ds-primary-700, #0f8f8a);background:var(--ds-surface)}.circuit-editor-list small{color:var(--ds-ink-600);font-family:var(--ds-font-code);font-size:var(--font-size-xs)}.circuit-editor-palette svg{width:15px;height:15px}.circuit-editor-canvas{min-width:0;padding:var(--ds-space-2);background:#fff}.circuit-editor-canvas svg{display:block;width:100%;height:auto;touch-action:none}.circuit-editor-handle{fill:#0f8f8a22;stroke:#0f8f8a;stroke-width:1.5;cursor:move}.circuit-editor-handle:hover{fill:#0f8f8a44}.circuit-editor-handle.is-selected{fill:#0f8f8a66;stroke-width:3}.circuit-editor-fields{display:flex;flex-direction:column;gap:var(--ds-space-2);margin-top:var(--ds-space-3);padding-top:var(--ds-space-3);border-top:1px solid var(--ds-line)}.circuit-editor-fields>header{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-2)}.circuit-editor-fields>header span{display:flex;gap:2px}.circuit-editor-fields>header button{display:inline-flex;padding:4px;border:1px solid var(--ds-line);border-radius:var(--ds-radius-sm);background:var(--ds-surface);color:var(--ds-ink-700);cursor:pointer}.circuit-editor-fields>header button:hover{color:var(--ds-primary-700, #0f8f8a)}.circuit-editor-fields>header svg{width:14px;height:14px}.circuit-editor-field{display:flex;flex-direction:column;gap:3px;font-size:var(--font-size-xs)}.circuit-editor-field>span{color:var(--ds-ink-700);font-weight:700}.circuit-editor-field input,.circuit-editor-field select{width:100%;padding:5px 7px;border:1px solid var(--ds-line);border-radius:var(--ds-radius-control);background:var(--ds-surface);color:var(--ds-ink-800);font-family:var(--ds-font-code);font-size:var(--font-size-xs)}.circuit-editor-field small{color:var(--ds-ink-600)}.circuit-editor-check{display:flex;align-items:center;gap:var(--ds-space-2);font-size:var(--font-size-xs)}@media(max-width:1180px){.learning-item-editor-arduino-grid{grid-template-columns:minmax(0,1fr)}.learning-item-editor-arduino-grid>.learning-item-editor-panel{height:auto}.learning-item-editor-arduino-grid .circuit-editor{grid-template-columns:180px minmax(0,1fr) 280px}}@media(max-width:900px){.learning-item-editor-head{grid-template-columns:auto minmax(0,1fr)}.learning-item-editor-actions{grid-column:1 / -1;grid-template-columns:1fr auto auto;width:100%;align-items:center}.learning-item-editor-save-state{grid-column:auto;justify-self:start}.learning-item-editor-panel>header{align-items:flex-start;flex-direction:column}.learning-item-editor-runbar{width:100%;flex-wrap:wrap;padding-top:var(--ds-space-3);border-top:1px solid var(--ds-line)}.learning-item-editor-language-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.learning-item-editor-page.is-window .learning-item-editor{padding:var(--ds-space-4)}.learning-item-editor{gap:var(--ds-space-4)}.learning-item-editor-head{grid-template-columns:minmax(0,1fr);gap:var(--ds-space-4);padding:var(--ds-space-4)}.learning-item-editor-back{justify-self:start;margin-top:0}.learning-item-editor-head h2{overflow:visible;font-size:var(--font-size-title);text-overflow:clip;white-space:normal}.learning-item-editor-title p{line-height:1.6}.learning-item-editor-actions{grid-template-columns:1fr 1fr}.learning-item-editor-save-state{grid-column:1 / -1}.learning-item-editor-actions .btn{justify-content:center;width:100%}.learning-item-editor-panel>header{gap:var(--ds-space-4);padding:var(--ds-space-4)}.learning-item-editor-section-title{align-items:flex-start}.learning-item-editor-runbar .arduino-board-chip{width:100%}.learning-item-editor-code{height:min(60dvh,460px)}.learning-item-editor-preset{align-items:stretch;flex-direction:column;width:100%}.learning-item-editor-preset select{width:100%}.learning-item-editor-content-fields,.learning-item-editor-testcase-fields,.learning-item-editor-judge-output{grid-template-columns:minmax(0,1fr)}.learning-item-editor-content-fields,.learning-item-editor-testcase-fields{padding:var(--ds-space-4)}.learning-item-editor-judge-output>div+div{border-top:1px solid var(--ds-line);border-left:0}}@media(max-width:1100px){.circuit-editor{grid-template-columns:minmax(0,1fr)}.circuit-editor-palette,.circuit-editor-inspector{border:0;border-top:1px solid var(--ds-line)}.circuit-editor-palette ul{flex-direction:row;flex-wrap:wrap}.circuit-editor-palette li{flex:0 0 auto}}.circuit-editor-handle.is-endpoint{fill:#f59e0b22;stroke:#d97706}.circuit-editor-handle.is-endpoint:hover{fill:#f59e0b55}.circuit-editor-handle.is-endpoint.is-selected{fill:#f59e0b77}.cos-page{display:flex;flex-direction:column;gap:1rem}.cos-summary-row{display:flex;flex-wrap:wrap;gap:.5rem}.cos-certification-page{gap:var(--ds-space-4);align-content:start}.cos-certification-hero{position:relative;min-height:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:center;gap:clamp(2rem,5vw,5rem);margin-top:calc(var(--page-pad-x) * -1);margin-inline:calc(-1 * var(--page-bleed-pad-x));padding:var(--ds-space-8) var(--page-bleed-pad-x);overflow:hidden;background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.22),transparent 25%),linear-gradient(115deg,var(--ds-primary-700),var(--ds-primary-600) 52%,var(--ds-primary-500));color:var(--color-on-accent)}.cos-certification-hero-copy{position:relative;z-index:1;display:grid;justify-items:start;gap:var(--ds-space-3)}.cos-certification-hero h1{margin:0;font-family:var(--font-display, inherit);font-size:clamp(1.6rem,2.3vw,2.1rem);font-weight:600;line-height:1.22;letter-spacing:-.03em}.cos-certification-hero-copy>p{max-width:38rem;margin:0;color:color-mix(in srgb,var(--color-on-accent) 78%,transparent);font-size:var(--font-size-sm);line-height:1.6}.cos-certification-hero-visual{position:relative;z-index:1;width:min(100%,400px);min-height:168px;justify-self:end}.cos-certification-logo-strip{position:absolute;min-width:244px;display:flex;align-items:center;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,.22);border-radius:var(--ds-radius-card);background:#1a124c3d;box-shadow:0 20px 42px #1c135b33}.cos-certification-logo-strip img{width:auto;height:46px;object-fit:contain}.cos-certification-logo-strip.is-cos{top:4px;left:0;transform:rotate(-2deg)}.cos-certification-logo-strip.is-pro{right:0;bottom:2px;justify-content:flex-end;transform:rotate(2deg)}@media(max-width:760px){.cos-certification-hero{grid-template-columns:1fr;min-height:0;padding-block:var(--ds-space-6)}.cos-certification-hero-visual{width:100%;min-height:142px;justify-self:stretch}.cos-certification-logo-strip{min-width:min(76%,270px)}}.cos-catalog-content{width:min(100%,1392px);display:grid;gap:var(--ds-space-5);margin-inline:auto}.cos-certification-page .cos-certification-hero{padding-inline:calc(var(--page-bleed-pad-x) + max(0px,(100% - 1392px) / 2))}@media(max-width:560px){.cos-catalog-content{width:100%}}.cert-section{display:grid;gap:var(--ds-space-4);padding:var(--ds-space-5);border:1px solid var(--ds-line);border-radius:var(--ds-radius-card);background:var(--ds-surface)}.cert-section-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:var(--ds-space-3)}.cert-section-logo{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--ds-radius-control);background:var(--ds-surface-soft);border:1px solid var(--ds-line)}.cert-section-stamp{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:38px;height:38px;border:2px solid #d34b43;border-radius:50%;background:color-mix(in srgb,var(--ds-surface) 64%,transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb,#d34b43 28%,transparent);color:#c33f38;font-size:.76rem;font-weight:900;letter-spacing:-.08em;line-height:1;transform:translate(-50%,-50%) rotate(-11deg);z-index:1}.cert-section-logo i{background-color:var(--ds-ink-600);-webkit-mask:center / contain no-repeat;mask:center / contain no-repeat}.cert-section-logo.is-cos i{width:28px;aspect-ratio:252 / 78;-webkit-mask-image:url(/assets/cos-logo-white.png);mask-image:url(/assets/cos-logo-white.png)}.cert-section-logo.is-pro i{width:30px;aspect-ratio:216 / 75;-webkit-mask-image:url(/assets/cos-pro-logo-white.png);mask-image:url(/assets/cos-pro-logo-white.png)}.cert-section-copy{display:grid;gap:.15rem;min-width:0}.cert-section-title-row{display:flex;align-items:center;gap:var(--ds-space-2);flex-wrap:wrap}.cert-section-title-row h3{margin:0;color:var(--ds-ink-950);font-size:var(--font-size-section);font-weight:700;letter-spacing:-.02em}.cert-section-badge{padding:.15rem .55rem;border:1px solid var(--ds-line);border-radius:999px;color:var(--ds-ink-600);font-size:var(--font-size-xs);font-weight:600}.cert-section-copy p{margin:0;color:var(--ds-ink-600);font-size:var(--font-size-sm)}.cert-section-count{color:var(--ds-ink-600);font-size:var(--font-size-xs)}.cert-section-congrats{display:inline-flex;align-items:center;gap:.28rem;padding:.42rem .72rem;border:1px solid color-mix(in srgb,#e4a72c 45%,var(--ds-line));border-radius:999px;background:linear-gradient(135deg,#fff8dc,#fff1c2);color:#b63a34;font-size:var(--font-size-sm);font-weight:800;white-space:nowrap}.cert-section-congrats svg{width:15px;height:15px;color:#d49316;animation:cert-congrats-sparkle 1.5s ease-in-out infinite}.cert-section-congrats strong{color:#9f2f2a}@keyframes cert-congrats-sparkle{0%,to{transform:scale(.86) rotate(-8deg);opacity:.7}50%{transform:scale(1.14) rotate(8deg);opacity:1}}.cert-section-toggle{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:var(--ds-radius-control);background:none;color:var(--ds-ink-400);cursor:pointer}.cert-section-toggle:hover{background:var(--ds-surface-soft);color:var(--ds-ink-600)}.cert-section-toggle svg{width:18px;height:18px;transition:transform .12s ease}.cert-section.is-collapsed .cert-section-toggle svg{transform:rotate(180deg)}@media(max-width:760px){.cert-section-head{grid-template-columns:44px minmax(0,1fr) auto}.cert-section-count{display:none}.cert-section-congrats{grid-column:2 / -1;grid-row:2;white-space:normal}.cert-section-toggle{grid-column:3;grid-row:1}}.cert-celebration-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;min-height:100dvh;box-sizing:border-box;z-index:180;display:grid;place-items:center;overflow:hidden;padding:24px;background:radial-gradient(circle at 50% 42%,rgba(81,69,205,.36),transparent 48%),#080c18db;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:cert-celebration-fade-in .36s ease-out both}.cert-celebration-glow{position:absolute;width:min(720px,92vw);aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(from 10deg,rgba(255,255,255,.16) 0 8deg,transparent 8deg 19deg);-webkit-mask-image:radial-gradient(circle,#000 0 26%,transparent 70%);mask-image:radial-gradient(circle,#000 0 26%,transparent 70%);animation:cert-celebration-rays 18s linear infinite}.cert-celebration-confetti{position:absolute;top:-18vh;right:0;bottom:0;left:0;pointer-events:none}.cert-celebration-confetti i{position:absolute;top:-16px;left:var(--confetti-left);width:9px;height:17px;border-radius:2px;background:var(--confetti-color);box-shadow:0 0 8px color-mix(in srgb,var(--confetti-color) 55%,transparent);animation:cert-confetti-fall var(--confetti-duration) linear var(--confetti-delay) infinite}.cert-celebration-confetti i.is-round{width:11px;height:11px;border-radius:50%}.cert-celebration-card{position:relative;z-index:2;width:min(510px,100%);display:grid;justify-items:center;padding:38px 34px 32px;overflow:hidden;border:1px solid rgba(255,224,132,.78);border-radius:28px;background:linear-gradient(145deg,#fffffffa,#fff9e2fa),var(--ds-surface);box-shadow:0 32px 90px #05081c7a,inset 0 0 0 5px #ffe28b40;text-align:center;animation:cert-celebration-card-in .68s cubic-bezier(.18,.88,.3,1.18) both}.cert-celebration-card:before,.cert-celebration-card:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;filter:blur(2px);opacity:.18}.cert-celebration-card:before{left:-95px;top:-100px;background:#ffbe36}.cert-celebration-card:after{right:-95px;bottom:-105px;background:#675be8}.cert-celebration-close{position:absolute;right:16px;top:16px;z-index:3;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:#36324b12;color:var(--ds-ink-500);cursor:pointer}.cert-celebration-close svg{width:18px;height:18px}.cert-celebration-sparkles{position:absolute;inset:54px 80px auto;display:flex;justify-content:space-between;color:#e5aa25}.cert-celebration-sparkles svg:first-child{animation:cert-overlay-sparkle 1.2s ease-in-out infinite}.cert-celebration-sparkles svg:last-child{animation:cert-overlay-sparkle 1.2s .35s ease-in-out infinite reverse}.cert-celebration-emblem{position:relative;display:grid;place-items:center;width:142px;height:142px;margin-bottom:20px;border:3px solid #f0bd45;border-radius:50%;background:linear-gradient(145deg,#6053d9,#372e91);box-shadow:0 0 0 8px #fff5ce,0 16px 34px #4537a74d}.cert-celebration-emblem:before,.cert-celebration-emblem:after{content:"";position:absolute;bottom:-29px;width:34px;height:56px;background:#e64f58;clip-path:polygon(0 0,100% 0,86% 100%,50% 78%,14% 100%);z-index:-1}.cert-celebration-emblem:before{left:26px;transform:rotate(11deg)}.cert-celebration-emblem:after{right:26px;transform:rotate(-11deg)}.cert-celebration-emblem>span{display:grid;place-items:center;width:82px;height:36px}.cert-celebration-emblem img{width:100%;max-height:100%;object-fit:contain}.cert-celebration-emblem strong{position:absolute;right:5px;bottom:4px;display:grid;place-items:center;width:49px;height:49px;border:3px double #b73731;border-radius:50%;background:#fff5daf5;color:#b73731;font-size:.94rem;font-weight:900;transform:rotate(-10deg)}.cert-celebration-kicker{margin-bottom:8px;color:#7a63c9;font-size:.7rem;font-weight:900;letter-spacing:.16em}.cert-celebration-card h2{margin:0;color:#292244;font-size:clamp(1.55rem,4vw,2.1rem);font-weight:900;letter-spacing:-.04em}.cert-celebration-card p{margin:14px 0 24px;color:#6b647d;font-size:var(--font-size-sm);line-height:1.75}.cert-celebration-card p strong{color:#4e429e}.cert-celebration-confirm{display:inline-flex;align-items:center;gap:7px;padding:.78rem 1.3rem;border:0;border-radius:999px;background:linear-gradient(135deg,#6557da,#493caf);box-shadow:0 10px 24px #5042b847;color:#fff;font-weight:800;cursor:pointer}.cert-celebration-confirm svg{width:17px;height:17px}@keyframes cert-celebration-fade-in{0%{opacity:0}}@keyframes cert-celebration-rays{to{transform:rotate(360deg)}}@keyframes cert-celebration-card-in{0%{opacity:0;transform:translateY(30px) scale(.78)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cert-overlay-sparkle{0%,to{opacity:.35;transform:scale(.72) rotate(-12deg)}50%{opacity:1;transform:scale(1.25) rotate(12deg)}}@keyframes cert-confetti-fall{0%{transform:translate3d(0,-8vh,0) rotate(0);opacity:0}8%{opacity:1}to{transform:translate3d(var(--confetti-drift),125vh,0) rotate(760deg);opacity:.95}}@media(max-width:560px){.cert-celebration-overlay{padding:16px}.cert-celebration-card{padding:34px 20px 26px;border-radius:22px}.cert-celebration-emblem{width:124px;height:124px}.cert-celebration-sparkles{inset-inline:46px}}@media(prefers-reduced-motion:reduce){.cert-celebration-confetti i,.cert-celebration-glow,.cert-celebration-card,.cert-celebration-sparkles svg,.cert-section-congrats svg{animation:none}}.cos-level-icon{background:linear-gradient(135deg,color-mix(in srgb,var(--cos-logo-color) 20%,var(--ds-surface)),color-mix(in srgb,var(--cos-logo-color) 34%,var(--ds-surface)))}.cos-level-icon i{width:42px;aspect-ratio:252 / 78;background-color:var(--cos-logo-color, var(--ds-primary-500));-webkit-mask:url(/assets/cos-logo-white.png) center / contain no-repeat;mask:url(/assets/cos-logo-white.png) center / contain no-repeat}.cos-level-card.is-level-1{--cos-logo-color: #c8651b}.cos-level-card.is-level-2{--cos-logo-color: #6a52c8}.cos-level-card.is-level-3{--cos-logo-color: #2f6ea3}.cos-level-card.is-level-4{--cos-logo-color: #158b7d}.cos-pro-card .cos-level-icon i{width:46px;aspect-ratio:216 / 75;-webkit-mask-image:url(/assets/cos-pro-logo-white.png);mask-image:url(/assets/cos-pro-logo-white.png)}.cos-pro-card .cos-level-icon{background:linear-gradient(135deg,color-mix(in srgb,var(--cos-logo-color) 12%,var(--ds-surface)),color-mix(in srgb,var(--cos-logo-color) 22%,var(--ds-surface)))}.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:40px;padding:.1rem 1rem .1rem 2.75rem}.cos-curriculum-row-main{display:flex;align-items:center;gap:.625rem;flex:1;min-width:0;min-height:40px;padding:.35rem 0;border:none;background:none;text-align:left}.cos-curriculum-row-state{flex:0 0 auto;margin-left:auto;color:var(--text-soft);font-size:var(--font-size-label)}.cospro-set-result{margin:0;padding:.55rem 1rem .7rem 2.75rem;border-top:1px solid var(--line-soft);color:var(--text-soft);font-size:var(--font-size-label)}.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}}.page.page-cos-window{min-height:100vh;padding:0}.cos-window{--exam-jimun-bg: #fdf0e6;--exam-jimun-line: #e8cdb6;--exam-jimun-ink: #2c2118;--exam-panel: #ffffff;--exam-line: #b9c2cf;--exam-shell: #d7dde6;--exam-status-bg: #eef1f5;--exam-status-ink: #24303f;--exam-btn: #ffffff;--exam-btn-line: #9aa7b8;display:flex;flex-direction:column;height:100vh;min-height:0;padding:0;overflow:hidden;background:var(--exam-shell)}:root[data-theme=dark] .cos-window{--exam-jimun-bg: #2a2119;--exam-jimun-line: #4a3a2b;--exam-jimun-ink: #f0e6dc;--exam-panel: #21262e;--exam-line: #444c58;--exam-shell: #171b21;--exam-status-bg: #232932;--exam-status-ink: #e6ebf2;--exam-btn: #2b323b;--exam-btn-line: #545d6a}.cos-exam{display:flex;flex:1;flex-direction:column;min-height:0}.cos-exam .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cos-exam-body{display:grid;flex:1;grid-template-columns:280px 12px minmax(0,1fr);min-height:0;padding:4px;gap:0}.cos-problem-toolbar{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .65rem;border-bottom:1px solid var(--exam-line);background:var(--exam-panel)}.cos-problem-title{display:flex;flex:1 1 20rem;min-width:0;align-items:baseline;gap:.55rem}.cos-problem-title span{flex:0 0 auto;color:var(--muted);font-size:var(--font-size-label);font-weight:700}.cos-problem-title strong{overflow:hidden;color:var(--text);font-size:var(--font-size-body);text-overflow:ellipsis;white-space:nowrap}.cos-problem-tools{display:flex;flex:0 1 auto;gap:.35rem;overflow-x:auto}.cos-window-editor{height:100vh;padding:var(--space-4);overflow:auto;background:var(--surface-soft)}.cos-exam.is-jimun-collapsed .cos-exam-body{grid-template-columns:0 12px minmax(0,1fr)}.cos-jimun-panel{grid-column:1}.cos-jimun-handle{grid-column:2}.cos-scratch{grid-column:3}.cos-jimun-panel{display:flex;flex-direction:column;min-width:0;min-height:0;border:1px solid var(--exam-jimun-line);background:var(--exam-jimun-bg);color:var(--exam-jimun-ink);overflow:hidden}.cos-jimun-panel[hidden]{display:none}.cos-jimun-scroll{display:flex;flex:1;flex-direction:column;gap:.75rem;padding:.75rem;min-height:0;overflow:auto}.cos-jimun-text>div{overflow-wrap:anywhere;font-size:var(--font-size-body);line-height:1.72}.cos-jimun-text-heading{margin-top:.55rem;font-weight:800}.cos-jimun-text-heading:first-child{margin-top:0}.cos-jimun-text-label{font-weight:700}.cos-jimun-text-spacer{min-height:.75rem}.cos-jimun-scroll>section{padding:.6rem .7rem;border:1px solid var(--exam-jimun-line);background:#ffffff9e}:root[data-theme=dark] .cos-jimun-scroll>section{background:#0003}.cos-jimun-scroll h3{margin:0 0 .35rem;font-size:var(--font-size-body);font-weight:800}.cos-jimun-scroll p,.cos-jimun-scroll li,.cos-var-row span{color:inherit;font-size:var(--font-size-label);line-height:1.6}.cos-jimun-scroll ol,.cos-jimun-scroll ul{margin:.25rem 0 0;padding-left:1.15rem}.cos-var-row{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.5rem;padding:.3rem 0}.cos-jimun-heading{margin:.5rem 0 .35rem;color:#c0392b;font-size:var(--font-size-label)}:root[data-theme=dark] .cos-jimun-heading{color:#ff9c8a}.cos-task-block{padding-top:.5rem;margin-top:.5rem;border-top:1px dashed var(--exam-jimun-line)}.cos-jimun-handle{display:grid;place-items:center;width:12px;padding:0;border:1px solid var(--exam-line);border-left:0;background:var(--exam-panel);color:var(--muted);font-size:.8rem;cursor:pointer}.cos-jimun-handle:hover{background:var(--exam-status-bg)}.cos-scratch{display:flex;flex-direction:column;min-width:0;min-height:0;border:1px solid var(--exam-line);background:var(--exam-panel);overflow:hidden}.cos-scratch-body{display:grid;flex:1;grid-template-columns:minmax(155px,30%) minmax(0,1fr);min-height:0}.cos-stage-col{display:flex;flex-direction:column;gap:.35rem;min-width:0;min-height:0;padding:.35rem;border-right:1px solid var(--exam-line);overflow:auto}.cos-stage-head{display:flex;align-items:center;justify-content:flex-end;gap:.25rem;min-height:22px}.cos-stage-head button{display:grid;place-items:center;width:22px;height:20px;border:1px solid transparent;background:transparent;font-size:.95rem;line-height:1;cursor:pointer}.cos-stage-head button:disabled{opacity:.35;cursor:not-allowed}.cos-stage-run{color:#3aa757}.cos-stage-stop{color:#e03b3b}.cos-stage-head button:hover:not(:disabled){border-color:var(--exam-line);background:var(--exam-status-bg)}.cos-stage-col .stage-panel{width:100%}.cos-stage-col .stage-canvas{display:block;width:100%;height:auto;aspect-ratio:4 / 3;border:1px solid var(--exam-line);background:#fff}.cos-stage-col .stage-info{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;color:var(--muted);font-size:var(--font-size-xs)}.cos-sprite-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding-top:.35rem;border-top:1px solid var(--exam-line);color:var(--muted);font-size:var(--font-size-label)}.cos-sprite-head strong{color:var(--text)}.cos-sprite-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:.25rem}.cos-sprite-list button{position:relative;display:grid;justify-items:center;gap:.15rem;min-height:62px;padding:.25rem;border:1px solid var(--exam-line);background:var(--exam-panel);color:var(--text);font-size:var(--font-size-xs);cursor:pointer}.cos-sprite-list button.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cos-sprite-list img{width:30px;height:30px;object-fit:contain}.cos-sprite-list em{position:absolute;top:2px;right:2px;padding:0 .25rem;background:var(--accent);color:var(--color-on-accent);font-size:.6rem;font-style:normal}.cos-code-col{display:flex;flex-direction:column;min-width:0;min-height:0}.cos-block-surface{flex:1;min-height:0}.cos-block-surface .blockly-container{width:100%;height:100%;min-height:0}.cos-block-surface .blocklyToolbox{width:0!important;height:128px!important;padding:0!important;border:0;overflow:visible!important}.cos-block-surface .blocklyToolbox .blocklyToolboxCategoryGroup{box-sizing:border-box;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(5,minmax(0,1fr))!important;flex-direction:initial!important;width:260px!important;height:128px!important;padding:3px;border-right:1px solid var(--exam-line);border-bottom:1px solid var(--exam-line);background:var(--exam-panel);overflow:hidden}.cos-block-surface .agitCat{box-sizing:border-box;width:auto!important;min-width:0;min-height:0}.cos-block-surface .agitCatRow{box-sizing:border-box;height:100%;margin:0 1px 1px!important;padding:2px 3px!important;border-radius:2px}.cos-block-surface .agitCatRow .blocklyTreeRowContentContainer{flex-direction:row!important;align-items:center;gap:2px}.cos-block-surface .agitCatIcon{width:4px;height:14px;border:0;border-radius:0}.cos-block-surface .agitCatLabel{max-width:100px!important;font-size:10px!important;text-align:left}.cos-exam-status{flex:0 0 auto;display:flex;flex-wrap:nowrap;align-items:center;gap:.4rem .75rem;padding:.25rem .5rem;border-top:1px solid var(--exam-line);background:var(--exam-status-bg);color:var(--exam-status-ink);font-size:var(--font-size-label);overflow-x:auto}.cos-status-nav{display:flex;flex-wrap:wrap;gap:2px}.cos-status-nav-btn{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--exam-btn-line);background:var(--exam-btn);color:var(--exam-status-ink);font-size:var(--font-size-xs);font-weight:700;cursor:pointer}.cos-status-nav-btn:hover{border-color:var(--accent)}.cos-status-nav-btn.is-good{border-color:var(--ok-border);background:var(--ok-soft);color:var(--ok)}.cos-status-nav-btn.is-warn{border-color:var(--warn-border);background:var(--warn-soft);color:var(--warn)}.cos-status-nav-btn.is-bad{border-color:var(--bad-border);background:var(--bad-soft);color:var(--bad)}.cos-status-nav-btn.is-current{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cos-status-actions{display:flex;gap:.35rem;margin-left:auto}.cos-status-btn{min-height:28px;padding:0 .85rem;border:1px solid var(--exam-btn-line);background:var(--exam-btn);color:var(--exam-status-ink);font-size:var(--font-size-label);font-weight:600;cursor:pointer}.cos-status-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.cos-status-btn.is-primary{border-color:var(--accent);background:var(--accent);color:var(--color-on-accent)}.cos-status-btn.is-primary:hover:not(:disabled){color:var(--color-on-accent);filter:brightness(1.06)}.cos-status-btn:disabled{opacity:.45;cursor:not-allowed}.cos-score-chip{display:inline-flex;align-items:center;justify-content:center;min-height:24px;min-width:66px;padding:0 .55rem;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)}@media(max-width:820px){.cos-window{height:auto;min-height:100vh;overflow:visible}.cos-exam-body,.cos-exam.is-jimun-collapsed .cos-exam-body{grid-template-columns:1fr}.cos-jimun-panel,.cos-scratch{grid-column:auto}.cos-jimun-handle{display:none}.cos-scratch-body{grid-template-columns:1fr}.cos-stage-col{border-right:0;border-bottom:1px solid var(--exam-line)}.cos-block-surface .blockly-container{min-height:520px}.cos-exam-status{position:sticky;bottom:0}}.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-mode-chip{align-self:center;padding:.15rem .55rem;border-radius:999px;font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.cos-editor-mode-chip.is-create{background:#103fe81a;color:var(--brand, #103fe8)}.cos-editor-mode-chip.is-edit{background:#0000000f;color:var(--text)}.mv-editor-tabs.cos-editor-steps{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1024px){.mv-editor-tabs.cos-editor-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}.mv-tab-label.cos-editor-tab{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;text-align:left}.cos-editor-tab>em{flex:0 0 auto;display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:999px;background:#00000012;color:var(--muted);font-style:normal;font-size:var(--font-size-xs);font-weight:700}.ui-tab[aria-selected=true] .cos-editor-tab>em{background:var(--brand, #103fe8);color:#fff}.cos-editor-tab>span{display:flex;flex-direction:column;min-width:0}.cos-editor-tab small{color:var(--muted);font-size:var(--font-size-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cos-editor-group{display:flex;flex-direction:column;gap:.6rem;padding:.85rem;border:1px solid var(--line);border-radius:var(--radius-12, 12px);background:var(--surface, #fff)}.cos-editor-group>header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding-bottom:.5rem;border-bottom:1px dashed var(--line)}.cos-editor-group-copy{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;min-width:0}.cos-editor-group>header h3{margin:0;font-size:var(--font-size-sm)}.cos-editor-group>header p{margin:0}.cos-editor-stage-layout{display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem;margin-bottom:.85rem}.cos-editor-stage{flex:1 1 24rem;min-width:18rem;max-width:34rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.cos-editor-backdrop,.cos-editor-stage-hint{width:100%;max-width:30rem}.cos-editor-stage-hint{text-align:center}.cos-editor-stage .stage-panel{width:100%;position:relative}.cos-editor-stage .stage-canvas{display:block;width:100%;height:auto;aspect-ratio:4 / 3;border:1px solid var(--line);border-radius:var(--radius-8);background:#fff;cursor:grab}.cos-editor-stage .stage-canvas:active{cursor:grabbing}.cos-editor-stage .stage-canvas.is-resizing,.cos-editor-stage .stage-canvas.is-resizing:active{cursor:nwse-resize}.cos-editor-stage .stage-info{display:none}.cos-editor-stage-side{flex:1 1 20rem;min-width:14rem;max-width:30rem;display:flex;flex-direction:column;gap:.6rem}.cos-editor-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.25rem,1fr));gap:.4rem;max-height:20rem;overflow-y:auto;padding:.4rem;border:1px solid var(--line);border-radius:var(--radius-8)}.cos-editor-palette-item{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.35rem .2rem;border:1px solid transparent;border-radius:var(--radius-8);background:none;cursor:pointer}.cos-editor-palette-item:hover{border-color:var(--line);background:var(--surface-2, rgba(0, 0, 0, .03))}.cos-editor-palette-item img{width:2.6rem;height:2.6rem;object-fit:contain}.cos-editor-palette-item span{font-size:.66rem;color:var(--muted);text-align:center;overflow-wrap:anywhere}.cos-editor-palette-blank{width:2.2rem;height:2.2rem;border:1px dashed var(--line);border-radius:var(--radius-8)}.cos-editor-side-block{display:flex;flex-direction:column;gap:.35rem}.cos-editor-sprite-chips{display:flex;flex-wrap:wrap;gap:.35rem}.cos-editor-sprite-chip{position:relative;display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .55rem .3rem .35rem;border:1px solid var(--line);border-radius:999px;background:var(--surface, #fff);font-size:var(--font-size-xs);cursor:pointer}.cos-editor-sprite-chip img,.cos-editor-sprite-chip .cos-editor-palette-blank{width:1.5rem;height:1.5rem;object-fit:contain;border:0}.cos-editor-sprite-chip.is-selected{border-color:var(--brand, #103fe8);box-shadow:0 0 0 1px var(--brand, #103fe8) inset}.cos-editor-sprite-chip em{padding:0 .3rem;border-radius:999px;background:var(--brand, #103fe8);color:#fff;font-size:.58rem;font-style:normal}.cos-editor-sprite-chip em.is-hidden{background:var(--muted, #6b7280)}.cos-editor-sprite-chip:has(em.is-hidden) img{opacity:.45}.cos-editor-sprite-detail{display:flex;flex-direction:column;gap:1px;padding:0;border:1px solid var(--line);border-radius:var(--radius-12, 12px);background:var(--line);overflow:hidden}.cos-editor-prop{display:flex;align-items:flex-start;gap:.75rem;padding:.55rem .75rem;background:var(--surface, #fff)}.cos-editor-prop-label{flex:0 0 3.25rem;padding-top:.4rem;color:var(--muted);font-size:var(--font-size-xs);font-weight:700}.cos-editor-prop-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.25rem}.cos-editor-prop-body>small{color:var(--muted);font-size:var(--font-size-xs)}.cos-editor-prop-inputs{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.cos-editor-prop-inputs>label{display:inline-flex;align-items:center;gap:.3rem;color:var(--muted);font-size:var(--font-size-xs)}.cos-editor-prop-inputs input[type=number]{width:4.75rem}.cos-editor-prop-name{width:100%;max-width:16rem}.cos-editor-prop.is-danger .cos-editor-prop-label{color:var(--danger, #d1453b)}.cos-editor-prop-inputs .btn-ghost{border-color:var(--line)}.cos-editor-sprite-detail>header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;background:var(--surface-soft, rgba(0, 0, 0, .03))}.cos-editor-check{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--font-size-xs);color:var(--muted);white-space:nowrap}.cos-editor-check input[type=checkbox]{width:1rem;height:1rem;min-height:0;padding:0;margin:0;flex:0 0 auto}.cos-editor-library>summary{cursor:pointer;font-size:var(--font-size-label);font-weight:600}.cos-editor-library>.cos-editor-palette{margin-top:.4rem}.cos-editor-sprite-field{display:flex;flex-direction:column;gap:.2rem;min-width:0}.cos-editor-sprite-field>span{font-size:.68rem;color:var(--muted)}.cos-editor-sprite-field input[type=number]{width:4.75rem}.cos-editor-sprite-field.is-name{flex:1 1 8rem}.cos-editor-sprite-field.is-name input{width:100%}.cos-editor-sprite-field.is-rotation{flex:0 1 9.5rem}.cos-editor-sprite-field.is-position strong{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;padding:.35rem 0}.cos-editor-sprite-field.is-size{flex:0 1 11rem}.cos-editor-size-control{display:flex;align-items:center;gap:.35rem}.cos-editor-size-control input[type=range]{flex:1 1 auto;min-width:4rem;height:1.1rem;padding:0;border:0;background:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.cos-editor-size-control input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:999px;background:var(--line)}.cos-editor-size-control input[type=range]::-moz-range-track{height:3px;border-radius:999px;background:var(--line)}.cos-editor-size-control input[type=range]::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:.7rem;height:.7rem;margin-top:-.29rem;border:0;border-radius:999px;background:var(--brand, #103fe8)}.cos-editor-size-control input[type=range]::-moz-range-thumb{width:.7rem;height:.7rem;border:0;border-radius:999px;background:var(--brand, #103fe8)}.cos-editor-size-control input[type=number]{width:4.5rem}.cos-editor-size-control b{color:var(--muted);font-size:var(--font-size-xs);font-weight:600}.cos-editor-sprite-picker{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.cos-editor-sprite-picker button{position:relative;display:flex;flex-direction:column;align-items:center;gap:.2rem;width:6.25rem;padding:.45rem .3rem;border:1px solid var(--line);border-radius:var(--radius-8);background:none;cursor:pointer}.cos-editor-sprite-picker button.is-selected{border-color:var(--brand, #103fe8);box-shadow:0 0 0 1px var(--brand, #103fe8) inset}.cos-editor-sprite-picker img,.cos-editor-sprite-picker-blank{width:2.6rem;height:2.6rem;object-fit:contain}.cos-editor-sprite-picker span{font-size:.7rem;overflow-wrap:anywhere;text-align:center}.cos-editor-sprite-picker b{font-size:.62rem;font-weight:500;color:var(--muted)}.cos-editor-sprite-picker em{position:absolute;top:.2rem;left:.2rem;padding:0 .25rem;border-radius:var(--radius-4, 4px);background:var(--brand, #103fe8);color:#fff;font-size:.58rem;font-style:normal}.cos-editor-group .btn,.cos-editor-target .btn{white-space:nowrap}.cos-editor-target{border:1px solid var(--line);border-left:3px solid var(--brand, #103fe8);border-radius:var(--radius-8);padding:.85rem;background:var(--surface-soft, rgba(0, 0, 0, .015));display:flex;flex-direction:column;gap:.6rem}.cos-editor-target-head{display:flex;align-items:center;gap:.5rem}.cos-editor-target-head .ui-select{flex:0 1 18rem;min-width:0}.cos-editor-target>.btn{align-self:flex-start}.cos-editor-badge{flex:0 0 auto;padding:.1rem .5rem;border-radius:999px;background:#103fe81a;color:var(--brand, #103fe8);font-size:var(--font-size-xs);font-weight:700}.cos-editor-task{border-left:2px solid var(--accent-border);padding-left:.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}.cos-editor-task-head{width:100%}.cos-editor-numbered{width:100%;margin:0;padding:0;list-style:none;counter-reset:cos-step;display:flex;flex-direction:column;gap:.35rem}.cos-editor-numbered>li{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.cos-editor-numbered>li:before{counter-increment:cos-step;content:counter(cos-step);flex:0 0 auto;display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:999px;background:#0000000f;color:var(--muted);font-size:.68rem;font-variant-numeric:tabular-nums}.cos-editor-numbered>li>input{flex:1 1 12rem;min-width:0}.cos-editor-subs{flex:1 1 100%;margin:0 0 0 1.7rem;padding:0;list-style:none;counter-reset:cos-sub;display:flex;flex-direction:column;gap:.25rem}.cos-editor-subs>li{display:flex;align-items:center;gap:.35rem}.cos-editor-subs>li:before{counter-increment:cos-sub;content:"¦0";flex:0 0 auto;color:var(--muted);font-size:.8rem}.cos-editor-subs>li:nth-child(2):before{content:"¦1"}.cos-editor-subs>li:nth-child(3):before{content:"¦2"}.cos-editor-subs>li:nth-child(4):before{content:"¦3"}.cos-editor-subs>li:nth-child(5):before{content:"¦4"}.cos-editor-subs>li>input{flex:1 1 auto;min-width:0}.cos-editor-remove{flex:0 0 auto;display:grid;place-items:center;width:1.6rem;height:1.6rem;padding:0;border:1px solid transparent;border-radius:var(--radius-8);background:none;color:var(--muted);font-size:1rem;line-height:1;cursor:pointer}.cos-editor-remove:hover:not(:disabled){border-color:var(--danger, #d1453b);color:var(--danger, #d1453b)}.cos-editor-remove:disabled{opacity:.35;cursor:not-allowed}.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:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.5rem;padding:.6rem .85rem;border-bottom:1px solid var(--line);background:var(--surface)}.cos-block-editor-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cos-block-editor-tabs{display:flex;justify-self:end;gap:.4rem}.cos-block-editor-actions{display:flex;align-items:center;justify-self:center;gap:.4rem}@media(max-width:900px){.cos-block-editor>header{grid-template-columns:minmax(0,1fr)}.cos-block-editor-tabs,.cos-block-editor-actions{justify-self:start}}.cos-block-editor-actions .btn{white-space:nowrap}.cos-block-editor-hint{margin:0;padding:.5rem .85rem;border-bottom:1px solid var(--line);background:var(--surface-soft, rgba(0, 0, 0, .02))}.cos-block-editor .cos-block-surface .blockly-container{min-height:480px}.cos-editor-choice-row{display:flex;flex-wrap:wrap;gap:.4rem}.cos-editor-choice{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.45rem .8rem;border:1px solid var(--line);border-radius:var(--radius-8);background:var(--surface, #fff);font-size:var(--font-size-label);cursor:pointer}.cos-editor-choice:hover{border-color:var(--brand, #103fe8)}.cos-editor-choice.is-selected{border-color:var(--brand, #103fe8);box-shadow:0 0 0 1px var(--brand, #103fe8) inset;color:var(--brand, #103fe8)}.cos-editor-choice.is-set{min-width:8.5rem}.cos-editor-choice small{color:var(--muted);font-size:var(--font-size-xs)}.cos-editor-choice.is-new{border-style:dashed}.cos-editor-auto-summary{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;margin:0;padding:.55rem .7rem;border-radius:var(--radius-8);background:var(--surface-soft, rgba(0, 0, 0, .03))}.cos-editor-auto-summary>div{display:flex;flex-direction:column;gap:.1rem;min-width:0}.cos-editor-auto-summary dt{color:var(--muted);font-size:var(--font-size-xs)}.cos-editor-auto-summary dd{margin:0;font-size:var(--font-size-label);font-weight:600;overflow-wrap:anywhere}.cos-editor-auto-summary code{font-weight:500}.cos-editor-inline-field{display:flex;align-items:center;gap:.4rem}.cos-editor-inline-field input{flex:1 1 auto;min-width:0}.cos-editor-override-off{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem}.cos-editor-stepnav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--line)}.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}.cos-course-hero{position:relative;margin-top:calc(var(--page-pad-x) * -1);margin-inline:calc(-1 * var(--page-bleed-pad-x));padding:var(--ds-space-6) var(--page-bleed-pad-x) var(--ds-space-8);overflow:hidden;background:linear-gradient(120deg,#131a2a,#1b2436 46%,#26324a);color:#fff}.cos-course-hero.has-backdrop{background:linear-gradient(112deg,#171040,#221862 36%,#33257f 62%,#1b1349)}.cos-course-hero-backdrop{width:100%;height:100%;position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;object-fit:cover;object-position:58% 72%;opacity:.72;mix-blend-mode:luminosity;pointer-events:none}.cos-course-hero.has-backdrop:after{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,#17103e 4%,#18113ee6 22%,#1e154c6b 46%,#140e3633 74%,#1a12426b),radial-gradient(120% 150% at 74% 26%,rgba(150,120,255,.26),transparent 64%);content:"";pointer-events:none}.cos-course-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:end;gap:clamp(1.5rem,4vw,3.5rem)}.cos-course-hero-back{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:.9rem;border:none;background:none;padding:0;color:#ffffffad;font-size:var(--font-size-label)}.cos-course-hero-back:hover{color:#fff}.cos-course-hero-crumbs{display:flex;align-items:center;gap:.4rem;color:#fff9;font-size:var(--font-size-caption)}.cos-course-hero-copy h1{margin:.55rem 0 0;font-size:clamp(1.7rem,2.8vw,2.3rem);font-weight:700;letter-spacing:-.03em;line-height:1.22}.cos-course-hero-copy>p{max-width:34rem;margin:.6rem 0 0;color:#ffffffb8;font-size:var(--font-size-label);line-height:1.6}.cos-course-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 0;margin:1rem 0 0;padding:0;list-style:none;color:#ffffffb8;font-size:var(--font-size-label)}.cos-course-hero-meta li{display:flex;align-items:baseline;gap:.3rem}.cos-course-hero-meta li+li:before{margin-inline:.9rem;color:#ffffff3d;content:"|"}.cos-course-hero-meta b{color:#fff;font-size:var(--font-size-body);font-weight:700}.cos-course-hero-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}.cos-course-hero-tags span{padding:.32rem .75rem;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:#ffffff0f;color:#ffffffd6;font-size:var(--font-size-caption)}.cos-course-hero-panel{display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.16);border-radius:var(--ds-radius-card);background:#0c09229e;box-shadow:0 18px 44px #00000057;overflow:hidden;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cos-course-hero-panel-body{display:grid;gap:.45rem;padding:1rem 1.1rem 1.1rem}.cos-course-hero-panel-body>span{color:#fff9;font-size:var(--font-size-caption);letter-spacing:.04em}.cos-course-hero-panel-body>strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:var(--font-size-body);line-height:1.45}.cos-course-hero-cta{display:flex;align-items:center;justify-content:center;gap:.45rem;margin-top:.55rem;padding:.7rem 1rem;border:none;border-radius:var(--ds-radius-control);background:var(--accent);color:var(--color-on-accent);font-size:var(--font-size-label);font-weight:700}.cos-course-hero-cta svg{width:15px;height:15px}.cos-course-hero-cta:hover{background:var(--color-brand-600)}.cos-course-hero-cta:disabled{opacity:var(--disabled-opacity)}.cos-course-hero-progress{display:grid;gap:.4rem;padding:.7rem 1.1rem .9rem;border-top:1px solid rgba(255,255,255,.12);background:#0000002e;color:#ffffffc7;font-size:var(--font-size-caption)}.cos-course-hero-progress-track{height:6px;border-radius:999px;background:#ffffff29;overflow:hidden}.cos-course-hero-progress-track i{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width var(--motion-progress) var(--ease-standard)}.cos-tabs.is-course{gap:.5rem;background:var(--surface)}.cos-tabs.is-course .cos-tab-btn{padding:.85rem .35rem}.cos-tab-count{margin-left:.3rem;color:var(--muted);font-size:var(--font-size-caption);font-weight:600}.cos-dash-main{display:grid;gap:1rem;min-width:0}.cos-dash-card{border:1px solid var(--line);border-radius:var(--radius-8);background:var(--surface)}.cos-dash-card>header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--line)}.cos-dash-card>header h2{margin:0;font-size:var(--font-size-body)}.cos-dash-card-note{color:var(--muted);font-size:var(--font-size-caption)}.cos-dash-card-body{padding:1rem 1.1rem 1.15rem;margin:0;color:var(--text-soft);font-size:var(--font-size-label);line-height:1.65}.cos-dash-status-body{display:grid;grid-template-columns:168px minmax(0,1fr);align-items:center;gap:1.25rem;padding:1.15rem}.cos-dash-gauge{position:relative;display:grid;place-items:center;justify-self:center}.cos-dash-gauge svg{width:148px;height:148px;transform:rotate(-90deg)}.cos-dash-gauge-track{fill:none;stroke:var(--surface-soft);stroke-width:12}.cos-dash-gauge-fill{fill:none;stroke:var(--accent);stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset var(--motion-progress) var(--ease-emphasized)}.cos-dash-gauge-value{position:absolute;display:grid;justify-items:center;gap:.15rem}.cos-dash-gauge-value b{color:var(--text);font-size:1.75rem;font-weight:800;line-height:1}.cos-dash-gauge-value span{color:var(--muted);font-size:var(--font-size-caption)}.cos-dash-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:0;padding:0;list-style:none}.cos-dash-tiles li{display:flex;align-items:center;gap:.7rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:var(--radius-8);background:var(--surface-soft)}.cos-dash-tiles li>div{min-width:0;display:grid;gap:.15rem}.cos-dash-tile-icon{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--tile-soft);color:var(--tile-ink)}.cos-dash-tile-icon svg{width:18px;height:18px}.cos-dash-tile-icon.is-done{--tile-soft: var(--ds-primary-50);--tile-ink: var(--ds-primary-600)}.cos-dash-tile-icon.is-tried{--tile-soft: var(--ds-primary-50);--tile-ink: var(--ds-primary-500)}.cos-dash-tile-icon.is-left{--tile-soft: var(--ds-surface-soft);--tile-ink: var(--ds-ink-400)}.cos-dash-tiles b{color:var(--text);font-size:var(--font-size-title);font-weight:800;line-height:1.1}.cos-dash-tiles span{color:var(--muted);font-size:var(--font-size-caption)}.cos-dash-note{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem 1.25rem;padding:.85rem 1.1rem;border:1px solid var(--color-brand-100);border-radius:var(--radius-8);background:var(--color-brand-50);color:var(--text-soft);font-size:var(--font-size-caption)}.cos-dash-note>svg{flex:none;width:16px;height:16px;color:var(--accent)}.cos-sidebar-list{display:grid;margin:0;padding:0;list-style:none}.cos-sidebar-list li+li{border-top:1px solid var(--line-soft)}.cos-sidebar-list strong{font-size:var(--font-size-label);font-weight:600}.cos-sidebar-list small{color:var(--muted);font-size:var(--font-size-caption)}.cos-sidebar-list button{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.7rem 0;border:none;background:none;text-align:left}.cos-sidebar-list button>span{min-width:0;display:grid;gap:.15rem}.cos-sidebar-list button>svg{flex:none;width:16px;height:16px;color:var(--ds-ink-400)}.cos-sidebar-list button:hover>svg{color:var(--accent)}.cos-sidebar-list button:hover strong{color:var(--accent)}@media(max-width:1080px){.cos-course-hero-inner,.cos-dash-status-body{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.cos-dash-tiles{grid-template-columns:minmax(0,1fr)}}.cos-curriculum-section-toggle{background:var(--surface)}.cos-curriculum-section-toggle:hover{background:var(--surface-hover)}.cos-curriculum-rows{background:var(--surface)}.cos-curriculum-row+.cos-curriculum-row{border-top:1px solid var(--line-soft)}.cos-curriculum-row-icon{display:grid;place-items:center;color:var(--line-strong)}.cos-curriculum-row-icon.is-done{color:var(--ok)}.cos-curriculum-row-icon svg{width:18px;height:18px}.cos-course-hero-meta li{gap:0}.cos-course-hero-meta li+li:before{content:"·";margin-right:.85rem;color:#fff6}.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--pen{background:#0fbd8c}.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}.blockly-container .blocklyFlyout .blocklyEditableText{pointer-events:none}.teacher-progress{min-width:0;border:var(--stroke-strong);border-radius:var(--radius-panel);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-filters .ui-select-trigger{background:var(--surface)}.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-4)}.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(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(max-width:760px){.teacher-submission-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:480px){.teacher-submission-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-submission-table tbody tr{grid-template-columns:minmax(0,1fr) 124px;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(720px,calc(100dvh - var(--solve-shell-offset)),960px);overflow:hidden;min-height:720px;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:var(--radius-control);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:999px;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:var(--radius-sm);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:var(--radius-sm);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:var(--radius-sm);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-inline-blank-space{color:transparent}.editor-inline-blanks{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;overflow:hidden;pointer-events:none}.editor-inline-blank-button{position:absolute;min-width:0;margin:0;padding:0;border:0;border-radius:4px;background:#38c96f;color:#fff;font-family:var(--font-code);font-size:12.5px;font-weight:800;line-height:1;cursor:text;pointer-events:auto;box-shadow:0 1px #0000002e}.editor-inline-blank-button:hover,.editor-inline-blank-button:focus-visible{background:#2fbf65;outline:2px solid rgb(110 231 155 / 60%);outline-offset:1px}.editor-code-line{display:block;min-height:1.6em}.editor-code-line.is-locked{margin-inline:-.9rem;padding-inline:.9rem;background:color-mix(in srgb,var(--editor-panel-bg-strong) 58%,transparent)}.editor-code-line.is-editable{margin-inline:-.9rem;padding-inline:.9rem;background:color-mix(in srgb,var(--editor-accent) 12%,transparent)}.editor-blank-slot{display:inline-block;min-width:7.5rem;padding-inline:.4rem;border-bottom:1px dashed color-mix(in srgb,var(--editor-accent) 80%,transparent);color:var(--editor-accent);font-style:italic}.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;z-index:1}.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:var(--radius-control);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:var(--radius-sm)}.sv-gclose:hover{color:var(--editor-text-soft);background:var(--surface-inverse-muted)}.sv-progress{height:8px;background:var(--surface-inverse-muted);border-radius:999px;overflow:hidden}.sv-pfill{height:100%;border-radius:inherit;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:var(--radius-sm)}.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:50%;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-workspace{min-width:0;min-height:0;display:grid;gap:var(--ds-space-4);padding:var(--ds-space-4);background:var(--ds-surface);border:0;border-radius:var(--ds-radius-card);overflow:visible}.student-submission-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-3);padding-bottom:var(--ds-space-3)}.student-submission-heading h1{margin:0;color:var(--ds-ink-950);font-size:var(--font-size-heading)}.student-submission-heading span{color:var(--ds-ink-500);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.submissions-workspace>.table-pagination{justify-content:center;padding-top:0;border-top:0}.student-submission-table{min-width:820px;table-layout:fixed}.student-submission-table-shell{border-right:0;border-left:0;border-radius:0}.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(--ds-surface-soft);color:var(--ds-ink-600);font-size:var(--font-size-xs);font-weight:850;text-transform:none}.student-submission-table td{height:62px;padding:var(--space-2) var(--space-3);border-bottom:var(--stroke-default)}.student-submission-table tbody tr:hover,.student-submission-table tbody tr.submission-row-active{background:var(--ds-surface-soft)}@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:480px){.student-submission-table tbody tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"problem status" "category difficulty" "tests runtime" "date date"}}.submission-code-mockup{min-width:0;overflow:hidden;border:1px solid var(--editor-subtle-border);border-radius:var(--radius-panel);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;gap:var(--space-4);min-height:360px;place-items:center;padding:var(--space-8);border:1px solid var(--editor-panel-border);border-radius:var(--radius-panel);background:var(--editor-panel-bg);color:var(--editor-text-soft);font-size:var(--font-size-md);font-weight:750;text-align:center}.sv-empty-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.sv-empty-state p{margin:0}.sv-loading-state{padding:0;color:inherit;font-size:inherit;font-weight:inherit}.sv-loading-state .ui-spinner{border-color:var(--editor-panel-border);border-top-color:var(--editor-primary)}@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>.table-pagination{padding:var(--space-1) var(--space-2);background:var(--surface)}.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{max-width:460px}.student-certification-panel{width:min(460px,calc(100vw - 32px))}.student-certification-fields{display:grid;gap:var(--space-3)}.student-certification-fields label{display:grid;grid-template-columns:minmax(140px,1fr) minmax(120px,.8fr);align-items:center;gap:var(--space-3)}.student-certification-fields label>span{color:var(--text);font-size:var(--font-size-sm);font-weight:800}@media(max-width:480px){.student-certification-fields label{grid-template-columns:1fr;gap:var(--space-1)}}.classroom-name-panel{max-width:460px}.floating-panel-error{margin:calc(var(--space-2) * -1) 0 0;color:var(--bad);font-size:var(--font-size-sm);font-weight:700}.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-list-card{display:grid;gap:var(--ds-space-4);padding:var(--ds-space-4);border:0;border-radius:var(--ds-radius-card);background:var(--ds-surface)}.assignment-filter-row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;padding-bottom:var(--ds-space-3)}.assignment-row-overdue{border-left:3px solid var(--bad)}.assignment-list-card .data-table th{background:var(--ds-surface-soft);color:var(--ds-ink-600);font-size:.6875rem;text-transform:none}.assignment-list-card .data-table td{height:62px}.assignment-list-card .data-table tbody tr:hover{background:var(--ds-surface-soft)}.assignment-problem-progress{min-width:120px;display:grid;gap:var(--ds-space-2)}.assignment-problem-progress>span{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-2)}.assignment-problem-progress small{color:var(--ds-ink-400);font-family:var(--ds-font-number)}.assignment-problem-progress>i{height:6px;overflow:hidden;border-radius:var(--ds-radius-pill);background:var(--ds-primary-100)}.assignment-problem-progress>i>b{height:100%;display:block;border-radius:inherit;background:var(--ds-primary-600)}.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:var(--radius-control);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:var(--radius-control);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:var(--radius-sm);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:999px;overflow:hidden}.group-progress-fill{height:100%;border-radius:inherit;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}.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:var(--radius-control);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;font-family:var(--font-ui);font-variant-numeric:tabular-nums}.teacher-assignment-workspace{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr);align-items:start;gap:var(--space-3)}.teacher-assignment-empty{min-height:360px;display:grid;place-items:center;align-content:center;gap:var(--space-2);border:var(--stroke-strong);background:var(--surface);text-align:center}.teacher-assignment-empty strong{color:var(--text);font-size:var(--font-size-section)}.teacher-assignment-empty p{margin:0;color:var(--muted);font-size:var(--font-size-body)}.teacher-assignment-empty .btn{gap:var(--space-2);margin-top:var(--space-3)}.teacher-assignment-list-pane{position:sticky;top:calc(var(--header-h) + var(--space-3));min-width:0;height:min(720px,calc(100dvh - var(--header-h) - var(--space-6)));min-height:520px;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border:var(--stroke-strong);background:var(--surface)}.teacher-assignment-list-head{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 var(--space-3);border-bottom:var(--stroke-default)}.teacher-assignment-list-head>div{min-width:0;display:flex;align-items:baseline;gap:var(--space-2)}.teacher-assignment-list-head strong{color:var(--text);font-size:var(--font-size-sm)}.teacher-assignment-list-head span{color:var(--muted);font-size:var(--font-size-xs)}.teacher-assignment-reset-icon,.teacher-assignment-row-open{width:var(--control-h-sm);height:var(--control-h-sm);display:inline-grid;place-items:center;flex:0 0 auto;padding:0;border:1px solid transparent;background:transparent;color:var(--muted)}.teacher-assignment-reset-icon:hover:not(:disabled),.teacher-assignment-reset-icon:focus-visible,.teacher-assignment-row-open:hover,.teacher-assignment-row-open:focus-visible{border-color:var(--line);background:var(--control-hover);color:var(--accent)}.teacher-assignment-reset-icon:disabled{opacity:var(--disabled-opacity);cursor:default}.teacher-assignment-list-filters{min-width:0;display:grid;gap:var(--space-2);padding:var(--space-3);border-bottom:var(--stroke-default);background:var(--surface-soft)}.teacher-assignment-list-filters>.ui-select,.teacher-assignment-list-filters .ui-select-trigger{width:100%}.teacher-assignment-list-search,.teacher-assignment-student-search{min-width:0;min-height:var(--control-h);display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:var(--stroke-default);background:var(--control-bg);color:var(--muted)}.teacher-assignment-list-search:focus-within,.teacher-assignment-student-search:focus-within{border-color:var(--accent);outline:2px solid var(--focus-halo);outline-offset:0}.teacher-assignment-list-search input,.teacher-assignment-student-search input{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--text)}.teacher-assignment-list-search input:focus,.teacher-assignment-student-search input:focus{border-color:transparent;background:transparent;box-shadow:none}.teacher-assignment-list-filter-row{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.teacher-assignment-list-filter-row .ui-select-trigger{min-width:0;padding-inline:var(--space-2)}.teacher-assignment-list{min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:contain;overscroll-behavior-y:auto;scrollbar-gutter:stable;scrollbar-width:thin;background:var(--surface)}.teacher-assignment-list>.empty-inline{min-height:180px;display:grid;place-items:center;margin:0}.teacher-assignment-list-item{width:100%;min-width:0;height:88px;display:grid;align-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);overflow:hidden;border:0;border-bottom:var(--stroke-default);background:var(--surface);color:inherit;text-align:left;transition:background var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.teacher-assignment-list-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.teacher-assignment-list-item.is-selected{background:var(--surface-selected);box-shadow:inset 3px 0 0 var(--accent)}.teacher-assignment-list-title,.teacher-assignment-list-meta{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.teacher-assignment-list-title>strong,.teacher-assignment-list-meta>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-assignment-list-title>strong{color:var(--text);font-size:var(--font-size-sm);font-weight:700}.teacher-assignment-list-title .verdict{flex:0 0 auto}.teacher-assignment-list-item:not(.is-selected) .verdict{border-color:transparent;background:var(--ds-surface-soft);color:var(--muted)}.teacher-assignment-list-item:not(.is-selected) .group-progress-fill{background:var(--ds-line)}.teacher-assignment-list-meta{color:var(--muted);font-size:var(--font-size-xs)}.teacher-assignment-list-meta>span:last-child{flex:0 0 auto}.teacher-assignment-list-progress{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2)}.teacher-assignment-list-progress .group-progress{min-width:0;margin:0}.teacher-assignment-list-progress .group-progress-bar{height:5px}.teacher-assignment-list-progress>strong{color:var(--text-soft);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.teacher-assignment-detail-pane{min-width:0;min-height:560px;overflow:hidden;border:var(--stroke-strong);background:var(--surface)}.teacher-assignment-context-head{position:relative;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--space-3);padding:var(--space-4);border-bottom:var(--stroke-default);background:var(--surface)}.teacher-assignment-context-main{min-width:0}.teacher-assignment-context-label{min-width:0;display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.teacher-assignment-context-label strong,.teacher-assignment-context-label span{min-height:22px;display:inline-flex;align-items:center;padding:0 var(--space-2);overflow:hidden;font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.teacher-assignment-context-label strong{border:1px solid var(--accent-border-soft);background:var(--accent-soft);color:var(--accent);font-weight:700}.teacher-assignment-context-label span{border:var(--stroke-subtle);background:var(--surface-soft);color:var(--muted);font-weight:700}.teacher-assignment-context-head h2{margin:0;overflow:hidden;color:var(--text);font-size:var(--font-size-section);line-height:1.35;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-actions{display:flex;align-items:center;gap:var(--space-2)}.teacher-assignment-context-refresh{min-height:var(--control-h);display:inline-flex;align-items:center;gap:.35rem;padding:0 var(--space-3);border:var(--stroke-default);border-radius:var(--radius-control);background:var(--surface);color:var(--text-soft);font-size:var(--font-size-label);font-weight:650;white-space:nowrap;cursor:pointer}.teacher-assignment-context-refresh:hover:not(:disabled),.teacher-assignment-context-refresh:focus-visible{border-color:var(--accent);background:var(--control-hover);color:var(--accent)}.teacher-assignment-context-refresh:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.teacher-assignment-context-menu{position:relative;z-index:3}.teacher-assignment-context-menu summary{width:var(--control-h);height:var(--control-h);display:grid;place-items:center;border:var(--stroke-default);background:var(--surface);color:var(--muted);cursor:pointer;list-style:none}.teacher-assignment-context-menu summary::-webkit-details-marker{display:none}.teacher-assignment-context-menu summary:hover,.teacher-assignment-context-menu summary:focus-visible,.teacher-assignment-context-menu[open] summary{border-color:var(--accent);background:var(--control-hover);color:var(--accent)}.teacher-assignment-context-menu>div{position:absolute;top:calc(100% + var(--space-1));right:0;min-width:144px;padding:var(--space-1);border:var(--stroke-strong);background:var(--surface-raised);box-shadow:var(--shadow-popover)}.teacher-assignment-context-menu>div button{width:100%;min-height:var(--control-h);display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);color:var(--bad);text-align:left}.teacher-assignment-context-menu>div button:hover,.teacher-assignment-context-menu>div button:focus-visible{background:var(--bad-soft)}.teacher-assignment-context-summary{grid-column:1 / -1;min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding-top:var(--space-3);border-top:var(--stroke-subtle)}.teacher-assignment-context-summary>span{min-width:0;display:grid;align-items:baseline;gap:var(--space-1);padding:0 var(--space-4);border-right:var(--stroke-subtle)}.teacher-assignment-context-summary>span:first-child{padding-left:0}.teacher-assignment-context-summary>span:last-child{border-right:0}.teacher-assignment-context-summary small{color:var(--muted);font-size:var(--font-size-xs);font-weight:600}.teacher-assignment-context-summary strong{color:var(--text);font-size:var(--font-size-sm);font-weight:700;white-space:nowrap}.teacher-assignment-context-summary>span.is-attention strong{color:var(--bad)}.teacher-assignment-sync-alert{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:flex;align-items:baseline;gap:var(--space-2)}.teacher-assignment-sync-alert strong{color:var(--warn);font-size:var(--font-size-xs)}.teacher-assignment-sync-alert span{color:var(--text-soft);font-size:var(--font-size-xs)}.teacher-assignment-sync-alert .btn{color:var(--warn);white-space:nowrap}.teacher-assignment-sync-alert.is-error{border-bottom-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.teacher-assignment-sync-alert.is-error strong,.teacher-assignment-sync-alert.is-error .btn{color:var(--danger)}.teacher-assignment-tabs{min-width:0;min-height:48px;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);overflow-x:auto;overflow-y:hidden;border-bottom:var(--stroke-default);background:var(--surface);scrollbar-width:none}.teacher-assignment-tabs::-webkit-scrollbar{display:none}.teacher-assignment-tabs button{position:relative;min-width:max-content;min-height:36px;display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:0;border-radius:var(--ds-radius-control);background:transparent;color:var(--muted);font-size:var(--font-size-sm);font-weight:650}.teacher-assignment-tabs button:hover,.teacher-assignment-tabs button:focus-visible{background:var(--control-hover);color:var(--text)}.teacher-assignment-tabs button.is-active{background:var(--ds-primary-100);color:var(--ds-primary-700)}.teacher-assignment-tab-panel{min-width:0;min-height:430px;background:var(--surface)}.teacher-assignment-students-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.teacher-assignment-result-toolbar{min-width:0;min-height:56px;display:grid;grid-template-columns:minmax(220px,320px) minmax(136px,168px) auto;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:var(--stroke-default);background:var(--surface)}.teacher-assignment-result-toolbar .ui-select,.teacher-assignment-result-toolbar .ui-select-trigger{width:100%}.teacher-assignment-result-count{justify-self:end;color:var(--muted);font-size:var(--font-size-xs);font-weight:500;white-space:nowrap}.teacher-assignment-table-wrap{width:100%;min-width:0;min-height:0;overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;overscroll-behavior-y:auto;scrollbar-gutter:stable}.teacher-assignment-table-wrap .empty-inline{min-height:300px;display:grid;place-items:center;margin:0}.teacher-assignment-results-table{width:100%;min-width:820px;table-layout:fixed}.teacher-assignment-results-table th,.teacher-assignment-problems-table th{height:42px;background:var(--surface-soft);letter-spacing:0;text-transform:none}.teacher-assignment-results-table td,.teacher-assignment-problems-table td{height:52px}.teacher-assignment-results-table th:nth-child(1){width:24%}.teacher-assignment-results-table th:nth-child(2){width:15%}.teacher-assignment-results-table th:nth-child(3){width:14%}.teacher-assignment-results-table th:nth-child(4){width:13%}.teacher-assignment-results-table th:nth-child(5){width:10%}.teacher-assignment-results-table th:nth-child(6){width:24%}.teacher-assignment-results-table tbody tr.is-selected td{background:var(--surface-selected)}.teacher-assignment-student-button{width:100%;min-width:0;display:grid;gap:var(--space-1);color:inherit;text-align:left}.teacher-assignment-student-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.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);font-weight:800}.teacher-assignment-student-button small{color:var(--text-soft);font-size:var(--font-size-xs)}.teacher-assignment-tab-panel>.table-pagination{min-height:52px;padding:var(--space-2) var(--space-4);border-top:var(--stroke-default)}.teacher-assignment-panel-heading{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)}.teacher-assignment-panel-heading>div{min-width:0;display:flex;align-items:baseline;gap:var(--space-2)}.teacher-assignment-panel-heading strong{color:var(--text);font-size:var(--font-size-sm)}.teacher-assignment-panel-heading span,.teacher-assignment-panel-heading p{color:var(--muted);font-size:var(--font-size-xs)}.teacher-assignment-panel-heading p{margin:0}.teacher-assignment-problems-table{width:100%;min-width:760px;table-layout:fixed}.teacher-assignment-problems-table th:nth-child(1){width:30%}.teacher-assignment-problems-table th:nth-child(2){width:23%}.teacher-assignment-problems-table th:nth-child(3){width:13%}.teacher-assignment-problems-table th:nth-child(4){width:10%}.teacher-assignment-problems-table th:nth-child(5){width:19%}.teacher-assignment-problems-table th:nth-child(6){width:5%}.teacher-assignment-problem-link{width:100%;min-width:0;display:grid;gap:var(--space-1);text-align:left}.teacher-assignment-problem-link strong,.teacher-assignment-problem-link small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-assignment-problem-link strong{color:var(--text);font-size:var(--font-size-label)}.teacher-assignment-problem-link small{color:var(--muted);font-size:var(--font-size-xs)}.teacher-assignment-problem-link:hover strong,.teacher-assignment-problem-link:focus-visible strong{color:var(--accent)}.teacher-assignment-problem-progress{min-width:0;display:grid;grid-template-columns:minmax(72px,1fr) auto;align-items:center;gap:var(--space-2)}.teacher-assignment-problem-progress .group-progress{min-width:0}.teacher-assignment-problem-progress .group-progress-bar{height:6px}.teacher-assignment-problem-progress>strong{color:var(--text-soft);font-size:var(--font-size-xs);font-weight:600}.teacher-assignment-student-problems>header{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 var(--space-4);border-bottom:var(--stroke-default)}.teacher-assignment-student-problems>header strong{color:var(--text);font-size:var(--font-size-sm)}.teacher-assignment-student-problems>header span{color:var(--muted);font-size:var(--font-size-xs);font-weight:500}.teacher-assignment-workspace-empty{min-height:560px;display:grid;place-items:center;margin:0}.teacher-assignment-detail-layer{position:fixed;inset:var(--header-h) 0 0;z-index:71;display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,460px)}.teacher-assignment-detail-scrim{width:100%;height:100%;padding:0;border:0;background:transparent}.teacher-assignment-student-detail{width:100%;height:100%;min-width:0;min-height:0;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:contain;overscroll-behavior-y:auto;scrollbar-gutter:stable;scrollbar-width:thin;border-left:var(--stroke-strong);background:var(--surface);box-shadow:var(--shadow-popover);animation:teacher-assignment-detail-enter var(--motion-base) var(--ease-emphasized) both}@keyframes teacher-assignment-detail-enter{0%{opacity:0;transform:translate(var(--space-6))}to{opacity:1;transform:translate(0)}}.teacher-assignment-student-overview>header{position:sticky;top:0;z-index:2;min-height:84px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:var(--stroke-default);background:var(--surface)}.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:700}.teacher-assignment-student-detail h2,.teacher-assignment-submissions h3{margin:0;color:var(--text);letter-spacing:0}.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:600}.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)}.teacher-assignment-detail-close:hover,.teacher-assignment-detail-close:focus-visible{background:var(--control-hover);color:var(--text)}.teacher-assignment-student-warning{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--warn-border);background:var(--warn-soft);color:var(--text-soft);font-size:var(--font-size-xs)}.teacher-assignment-student-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-bottom:var(--stroke-default)}.teacher-assignment-student-stats>div{min-width:0;min-height:68px;display:grid;align-content:center;gap:var(--space-1);padding:var(--space-2);border-right:var(--stroke-subtle)}.teacher-assignment-student-stats>div:last-child{border-right:0}.teacher-assignment-student-stats dt{color:var(--muted);font-size:var(--font-size-xs)}.teacher-assignment-student-stats dd{margin:0;overflow-wrap:anywhere;color:var(--text);font-size:var(--font-size-xs);font-weight:700}.teacher-assignment-student-problems{border-bottom:var(--stroke-default)}.teacher-assignment-student-problems>div{padding:0 var(--space-4)}.teacher-assignment-student-problems>div>button{width:100%;min-width:0;min-height:48px;display:grid;grid-template-columns:24px minmax(0,1fr) 20px;align-items:center;gap:var(--space-2);border-bottom:var(--stroke-subtle);color:var(--muted);text-align:left}.teacher-assignment-student-problems>div>button:last-child{border-bottom:0}.teacher-assignment-student-problems>div>button:hover,.teacher-assignment-student-problems>div>button:focus-visible{color:var(--accent)}.teacher-assignment-student-problems>div>button>span{width:22px;height:22px;display:grid;place-items:center;border:var(--stroke-default);color:inherit;font-size:var(--font-size-xs);font-weight:600}.teacher-assignment-student-problems>div>button>strong{min-width:0;overflow:hidden;color:var(--text);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.teacher-assignment-submissions{flex:1 0 auto;min-width:0;padding:var(--space-4)}.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)}.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;min-height:58px;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}.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)}.teacher-assignments-page,.teacher-assignment-workspace{gap:var(--ds-space-4)}.teacher-assignment-empty,.teacher-assignment-list-pane,.teacher-assignment-detail-pane{border:1px solid var(--ds-line);border-radius:var(--ds-radius-card);background:var(--ds-surface)}.teacher-assignment-empty{min-height:420px;padding:var(--ds-space-6)}.teacher-assignment-list-pane{top:calc(var(--header-h) + var(--ds-space-4));background:#f7f8fa;box-shadow:none}.teacher-assignment-list-head{border-color:var(--ds-line-soft);background:transparent}.teacher-assignment-context-head{border-color:var(--ds-line-soft);background:#f5f3ff}.teacher-assignment-list-head{min-height:56px;padding-inline:var(--ds-space-4)}.teacher-assignment-list-head strong{color:var(--ds-ink-950)}.teacher-assignment-list-head span,.teacher-assignment-list-head .teacher-assignment-reset-icon{color:var(--ds-ink-600)}.teacher-assignment-list-head .teacher-assignment-reset-icon:hover:not(:disabled),.teacher-assignment-list-head .teacher-assignment-reset-icon:focus-visible{border-color:#c6ced9;background:#dde3ea;color:var(--ds-ink-950)}.teacher-assignment-context-head,.teacher-assignment-context-head h2,.teacher-assignment-context-head p,.teacher-assignment-context-summary small,.teacher-assignment-context-summary strong{color:var(--ds-ink-950)}.teacher-assignment-context-head p,.teacher-assignment-context-summary small{color:var(--ds-ink-600)}.teacher-assignment-context-label strong{border-color:#c6ced9;background:#dde3ea;color:var(--ds-ink-800)}.teacher-assignment-context-label span{border-color:#d1d8e1;background:#f5f7f9;color:var(--ds-ink-600)}.teacher-assignment-context-menu summary{border-color:#c6ced9;background:#f5f7f9;color:var(--ds-ink-800)}.teacher-assignment-context-menu summary:hover,.teacher-assignment-context-menu summary:focus-visible,.teacher-assignment-context-menu[open] summary{border-color:#aeb8c5;background:#fff;color:var(--ds-ink-950)}.teacher-assignment-context-summary,.teacher-assignment-context-summary>span{border-color:#d1d8e1}.teacher-assignment-context-summary>span.is-attention strong{color:var(--ds-danger)}.teacher-assignment-list-filters{gap:var(--ds-space-2);padding:var(--ds-space-3);border-color:var(--ds-line-soft);background:transparent}.teacher-assignment-list-search,.teacher-assignment-student-search{border:1px solid var(--ds-line);border-radius:var(--ds-radius-control);background:var(--ds-surface-soft)}.teacher-assignment-list-item{min-height:92px;padding-inline:var(--ds-space-4);border-color:var(--ds-line-soft);background:transparent}.teacher-assignment-list-item:hover,.teacher-assignment-list-item:focus-visible{background:var(--control-hover)}.teacher-assignment-list-item.is-selected{background:var(--ds-primary-50);box-shadow:inset 2px 0 0 var(--ds-primary-600)}.teacher-assignment-detail-pane{min-height:580px}.teacher-assignment-context-head{padding:var(--ds-space-4)}.teacher-assignment-context-label strong{border-radius:var(--ds-radius-pill);border-color:var(--ds-primary-200);background:var(--ds-primary-100);color:var(--ds-primary-700)}.teacher-assignment-context-label span{border-radius:var(--ds-radius-pill);border-color:var(--ds-line);background:var(--ds-surface-soft)}.teacher-assignment-context-menu summary{border:1px solid var(--ds-line);border-radius:var(--ds-radius-control)}.teacher-assignment-context-summary,.teacher-assignment-tabs,.teacher-assignment-result-toolbar,.teacher-assignment-panel-heading,.teacher-assignment-student-problems>header,.teacher-assignment-tab-panel>.table-pagination{border-color:var(--ds-line-soft)}.teacher-assignment-context-head .teacher-assignment-context-label strong{border-color:#c6ced9;background:#dde3ea;color:var(--ds-ink-800)}.teacher-assignment-context-head .teacher-assignment-context-label span{border-color:#d1d8e1;background:#f5f7f9;color:var(--ds-ink-600)}.teacher-assignment-context-head .teacher-assignment-context-menu summary{border-color:#c6ced9;background:#f5f7f9;color:var(--ds-ink-800)}.teacher-assignment-context-head .teacher-assignment-context-summary,.teacher-assignment-context-head .teacher-assignment-context-summary>span{border-color:#d1d8e1}.teacher-assignment-tabs,.teacher-assignment-tab-panel{background:var(--ds-surface)}.teacher-assignment-result-toolbar{padding-inline:var(--ds-space-5);background:#f8f9fb}.teacher-assignment-results-table th,.teacher-assignment-problems-table th{background:#f5f6f8}.teacher-assignment-results-table tbody tr.is-selected td{background:var(--ds-primary-50)}@media(max-width:1180px){.teacher-assignment-workspace{grid-template-columns:minmax(0,1fr)}.teacher-assignment-list-pane{position:static;height:auto;min-height:0;grid-template-columns:minmax(210px,250px) minmax(0,1fr);grid-template-rows:auto auto}.teacher-assignment-list-head{grid-column:1;grid-row:1}.teacher-assignment-list-filters{grid-column:1;grid-row:2;border-bottom:0;border-right:var(--stroke-default)}.teacher-assignment-list{grid-column:2;grid-row:1 / span 2;display:flex;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:auto;scrollbar-width:thin}.teacher-assignment-list>.empty-inline{width:100%;min-height:152px}.teacher-assignment-list-item{width:280px;min-width:280px;height:152px;border-right:var(--stroke-default);border-bottom:0}.teacher-assignment-list-item.is-selected{box-shadow:inset 0 3px 0 var(--accent)}}@media(max-width:820px){.teacher-assignment-list-pane{display:block}.teacher-assignment-list-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-right:0}.teacher-assignment-list-filters>.ui-select:first-child,.teacher-assignment-list-search{grid-column:auto}.teacher-assignment-list-filter-row{grid-column:1 / -1}.teacher-assignment-list{display:flex}.teacher-assignment-list-item{height:104px}.teacher-assignment-context-summary{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--space-3)}.teacher-assignment-result-toolbar{grid-template-columns:minmax(0,1fr) minmax(140px,180px)}.teacher-assignment-result-count{grid-column:1 / -1;justify-self:start}.teacher-assignment-detail-layer{grid-template-columns:minmax(0,1fr) minmax(360px,430px)}}@media(max-width:640px){.teacher-assignment-list-filters{grid-template-columns:minmax(0,1fr)}.teacher-assignment-list-filter-row{grid-column:auto}.teacher-assignment-context-head{padding:var(--space-3)}.teacher-assignment-context-summary>span{min-width:0}.teacher-assignment-sync-alert{grid-template-columns:minmax(0,1fr)}.teacher-assignment-sync-alert>div{align-items:flex-start;flex-direction:column}.teacher-assignment-sync-alert .btn{justify-self:start}.teacher-assignment-tabs{padding-inline:0}.teacher-assignment-tabs button{flex:1 0 auto;padding-inline:var(--space-3)}.teacher-assignment-tabs button:after{right:var(--space-3);left:var(--space-3)}.teacher-assignment-result-toolbar{grid-template-columns:minmax(0,1fr);padding-inline:var(--space-3)}.teacher-assignment-result-count{grid-column:auto}.teacher-assignment-panel-heading{align-items:flex-start;flex-direction:column;gap:var(--space-1)}.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:440px){.teacher-assignment-list-filter-row{grid-template-columns:minmax(0,1fr)}.teacher-assignment-context-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-assignment-context-summary>span{display:grid;gap:var(--space-1)}.teacher-assignment-context-summary .group-progress{grid-column:1 / -1}.teacher-assignment-student-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-assignment-student-stats>div:nth-child(2){border-right:0}.teacher-assignment-student-stats>div:nth-child(-n+2){border-bottom:var(--stroke-subtle)}}@media(prefers-reduced-motion:reduce){.teacher-assignment-student-detail{animation:none}}.accounts-page{min-width:0;min-height:0}.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.has-detail-panel{grid-template-columns:minmax(0,1fr) minmax(280px,320px)}.account-workspace.has-create-panel{grid-template-columns:minmax(0,1fr) minmax(340px,390px)}.account-class-add{flex:0 0 auto;white-space:nowrap}.account-primary-filter{display:flex;align-items:end;gap:var(--space-2)}.account-secondary-filter{display:flex;align-items:end;gap:var(--space-3)}.account-primary-filter+.account-secondary-filter{padding-left:var(--space-4);border-left:1px solid var(--ds-line-soft)}.account-class-select{flex:0 0 220px}.account-class-select>span{color:var(--text);font-size:var(--font-size-sm);font-weight:800}.account-class-select .ui-select-trigger{min-height:44px;border:1px solid var(--ds-primary-200);border-radius:var(--ds-radius-control);background:var(--ds-primary-100);color:var(--ds-primary-700);font-size:var(--font-size-sm);font-weight:750}.account-class-select .ui-select-trigger:hover{background:var(--ds-primary-200)}.account-directory{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.account-directory-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);min-height:72px;padding:var(--ds-space-3) var(--ds-space-5);border-bottom:var(--stroke-default)}.account-directory-context{flex:0 1 auto;min-width:0;display:grid;gap:var(--space-1)}.account-directory-controls{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;align-items:end;justify-content:flex-end;gap:var(--space-3)}.account-directory-title-row{min-width:0;display:flex;align-items:center;gap:var(--space-1)}.account-directory-context strong{min-width:0;overflow:hidden;color:var(--text);font-size:var(--font-size-md);text-overflow:ellipsis;white-space:nowrap}.account-class-actions{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-1)}.account-class-actions .btn{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{flex:0 1 260px;min-width:180px}.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-empty{grid-row:1 / -1;display:grid;place-items:center;margin:0;padding:var(--space-6);color:var(--muted);font-size:var(--font-size-sm);text-align:center}.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-detail-restriction{margin:0;font-size:var(--font-size-xs);color:var(--muted)}.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-classroom-field{min-width:0;display:grid;gap:var(--space-1)}.account-classroom-field-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--font-size-label)}.account-classroom-create-trigger{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--accent-strong);font-size:var(--font-size-xs);font-weight:700}.account-classroom-create-trigger:hover,.account-classroom-create-trigger:focus-visible{color:var(--accent)}.account-classroom-create-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto var(--control-h);align-items:center;gap:var(--space-1)}.account-classroom-create-row .btn{min-height:var(--control-h);padding-inline:var(--space-2);white-space:nowrap}.account-classroom-create-cancel{width:var(--control-h);height:var(--control-h);display:grid;place-items:center;border:var(--stroke-default);background:var(--surface);color:var(--muted)}.account-classroom-create-cancel:hover,.account-classroom-create-cancel:focus-visible{background:var(--control-hover);color:var(--text)}.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}.field-success-hint{display:block;margin-top:.3rem;color:var(--ok);font-size:var(--font-size-label);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}.accounts-page{gap:var(--ds-space-4)}.accounts-tabs{max-width:460px;gap:4px;padding:4px;border-bottom:0;border-radius:var(--ds-radius-control);background:var(--ds-surface-soft)}.accounts-tabs .ui-tab{min-height:40px;border-radius:var(--ds-radius-control);color:var(--muted);font-weight:650}.accounts-tabs .ui-tab:hover{background:transparent;color:var(--text)}.accounts-tabs .ui-tab.is-active{background:var(--ds-primary-100);color:var(--ds-primary-700);box-shadow:none}.account-workspace{gap:0;border:1px solid var(--ds-line);border-radius:0;background:var(--ds-surface);overflow:hidden}.account-directory,.account-detail-panel,.account-create-panel{border:0;border-radius:0;background:var(--ds-surface);overflow:hidden}.account-directory-toolbar,.account-detail-panel>header,.account-create-head{border-color:var(--ds-line-soft)}.account-directory-toolbar label{color:var(--muted)}.account-directory-context strong{font-size:var(--font-size-lg);font-weight:800}.account-search input{height:40px;border:1px solid var(--ds-line);border-radius:var(--ds-radius-control);background:var(--ds-surface-soft)}.account-directory-create{min-height:40px;gap:var(--ds-space-2);white-space:nowrap}.account-table-shell{padding:0}.account-directory-table th{background:transparent}.account-directory-table tbody tr.is-selected td{background:var(--ds-primary-50)}.account-identity>span:first-child{border-color:var(--ds-primary-200);background:var(--ds-primary-100);color:var(--ds-primary-700)}.account-identity strong{color:var(--text);font-weight:800}.account-identity small{color:var(--text-soft);font-weight:500}.account-directory-table td:nth-child(2),.account-directory-table td:nth-child(3){color:var(--muted)}.account-detail-panel,.account-create-panel{border-left:1px solid var(--ds-line)}.account-detail-panel>header,.account-create-head{padding:var(--ds-space-5)}.account-detail-panel>header{background:var(--ds-surface-soft)}.account-detail-panel>header>span{border-color:var(--ds-primary-200);background:var(--ds-primary-100);color:var(--ds-primary-700)}.account-detail-panel dl>div,.account-detail-actions,.account-create-actions{border-color:var(--ds-line-soft)}.account-detail-actions,.account-create-actions,.account-create-fields{padding-inline:var(--ds-space-5)}@media(max-width:900px){.accounts-page{height:auto;overflow:visible}.account-workspace,.account-workspace.has-detail-panel,.account-workspace.has-create-panel{grid-template-columns:minmax(0,1fr);overflow:visible}.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,.account-directory-controls{flex-direction:column;align-items:stretch}.account-class-select{flex:1 1 auto}.account-directory-create,.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}}.ai-learning-report{--report-ink: #172033;--report-muted: #687086;--report-primary: #6657e8;--report-primary-soft: #eeebff;--report-mint: #31b89f;--report-mint-soft: #e4f7f2;--report-coral: #f17369;--report-coral-soft: #fff0ed;--report-line: #dfe3eb;--report-paper: #fff;--report-wash: #f6f7fa}.ai-report-generation-error{margin:0;padding:var(--ds-space-3) var(--ds-space-4);border:1px solid color-mix(in srgb,var(--ds-danger) 28%,transparent);border-radius:var(--ds-radius-md);background:color-mix(in srgb,var(--ds-danger) 8%,var(--ds-surface));color:var(--ds-danger);font-size:.75rem}.agit-teacher-report-context{grid-template-columns:150px 170px minmax(300px,1fr) minmax(240px,.8fr)}.agit-report-period-field{min-height:40px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:2px;padding:0 var(--ds-space-2);border:1px solid var(--ds-line);border-radius:var(--ds-radius-control);background:var(--ds-surface)}.agit-report-period-field:focus-within{border-color:var(--ds-primary-600);box-shadow:var(--ds-focus-ring)}.agit-report-period i{color:var(--ds-ink-400);font-size:.75rem;font-style:normal;text-align:center}.agit-report-period input{width:100%;min-height:34px;box-sizing:border-box;padding:0 4px;border:0;background:none;color:var(--ds-ink-950);font:750 .72rem var(--ds-font-ui)}.agit-report-period input:focus{outline:none}@media(max-width:1080px){.agit-teacher-report-context{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.agit-teacher-report-context{grid-template-columns:1fr}}@media print{@page{size:A4 portrait;margin:0}html,body{width:210mm!important;margin:0!important;background:var(--report-paper)!important}body .agit-parent-report.ai-learning-report{width:210mm;height:auto;display:block!important;overflow:visible;color:var(--report-ink);font-family:var(--ds-font-ui);print-color-adjust:exact;-webkit-print-color-adjust:exact}.ai-report-page{width:210mm;height:296mm;position:relative;display:flex;flex-direction:column;gap:3mm;box-sizing:border-box;overflow:hidden;padding:11mm 13mm 9mm;break-after:page;page-break-after:always;background:radial-gradient(circle at 93% 3%,rgb(102 87 232 / 8%) 0 29mm,transparent 29.2mm),var(--report-paper);isolation:isolate}.ai-report-page:last-child{break-after:auto;page-break-after:auto}.ai-report-evidence-page{padding-top:15mm}.ai-report-page-head{height:9mm;display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;border-bottom:.35mm solid var(--report-ink)}.ai-report-page-head>div{display:flex;align-items:center;gap:2.5mm}.ai-report-brand{height:6mm;width:auto;display:block;align-self:center;object-fit:contain;print-color-adjust:exact;-webkit-print-color-adjust:exact}.ai-report-page-head span{color:var(--report-muted);font-size:6.5pt;font-weight:700;letter-spacing:.08em}.ai-report-page-head em{color:var(--report-ink);font:800 7pt var(--ds-font-number);font-style:normal}.ai-report-page-foot{height:5mm;display:flex;flex:0 0 auto;align-items:flex-end;justify-content:space-between;margin-top:auto;border-top:.2mm solid var(--report-line);color:var(--report-muted);font-size:5.4pt}.ai-report-identity{min-height:37mm;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.9fr);gap:8mm;padding:3mm 0 2mm}.ai-report-identity>div>span,.ai-report-executive>span,.ai-report-block header span,.ai-report-section-title>span,.ai-report-guardian-briefing>span,.ai-report-trend-block header span,.ai-report-ai-signal>div>span{color:var(--report-primary);font-size:6pt;font-weight:900;letter-spacing:.15em}.ai-report-identity h1{margin:1.5mm 0 1mm;color:var(--report-ink);font-size:23pt;line-height:1.04;letter-spacing:-.055em}.ai-report-identity p{margin:0;color:var(--report-muted);font-size:8.5pt;line-height:1.45}.ai-report-identity dl{margin:0;padding:2mm 0;border-top:.2mm solid var(--report-line)}.ai-report-identity dl>div{display:grid;grid-template-columns:18mm 1fr;padding:1.1mm 0;border-bottom:.2mm solid var(--report-line)}.ai-report-identity dt{color:var(--report-muted);font-size:6pt}.ai-report-identity dd{margin:0;overflow:hidden;font-size:6.2pt;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.ai-report-executive{height:44mm;flex:0 0 auto;overflow:hidden;box-sizing:border-box;padding:5mm 6mm;border-left:1.2mm solid var(--report-primary);border-radius:0 3mm 3mm 0;background:var(--report-primary-soft)}.ai-report-executive p{margin:2mm 0 0;display:-webkit-box;overflow:hidden;font-size:8.2pt;font-weight:650;line-height:1.6;word-break:keep-all;-webkit-box-orient:vertical;-webkit-line-clamp:7}.ai-report-kpis{height:26mm;display:grid;grid-template-columns:repeat(4,1fr);flex:0 0 auto;overflow:hidden;border:.25mm solid var(--report-line);border-radius:3mm}.ai-report-kpis article{display:grid;grid-template-rows:auto 1fr auto;align-items:center;padding:3mm 4mm;border-right:.2mm solid var(--report-line)}.ai-report-kpis article:last-child{border-right:0}.ai-report-kpis span{color:var(--report-muted);font-size:6pt;font-weight:700}.ai-report-kpis strong{font:900 18pt var(--ds-font-number);letter-spacing:-.05em}.ai-report-kpis small{color:var(--report-muted);font-size:5.5pt}.ai-report-profile-grid{height:101mm;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);flex:0 0 auto;gap:5mm}.ai-report-block{min-width:0;box-sizing:border-box;overflow:hidden;padding:5mm;border:.25mm solid var(--report-line);border-radius:4mm}.ai-report-block>header,.ai-report-trend-block>header{display:flex;align-items:flex-start;justify-content:space-between}.ai-report-block h2,.ai-report-trend-block h2{margin:.8mm 0 0;font-size:10pt}.ai-report-block header small,.ai-report-trend-block header small{color:var(--report-muted);font-size:5.5pt}.ai-report-radar{--trend-self: var(--report-primary);--trend-class: #a4aabc}.ai-report-radar .competency-radar{gap:0;margin-top:2mm}.ai-report-radar .competency-radar-svg{width:76mm;max-width:none}.ai-report-radar .chart-legend{gap:4mm;font-size:5.5pt}.ai-report-signal-list{display:grid;grid-template-rows:auto repeat(3,1fr);gap:2mm;border:0;background:var(--report-wash)}.ai-report-signal-list>div{min-height:0;display:grid;grid-template-columns:10mm 1fr;align-items:start;gap:2mm;padding:3mm 0;border-top:.2mm solid var(--report-line)}.ai-report-signal-list>div>b{color:var(--report-primary);font:900 13pt var(--ds-font-number)}.ai-report-signal-list p{margin:0;display:-webkit-box;overflow:hidden;color:var(--report-muted);font-size:6.4pt;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:7}.ai-report-signal-list p strong{display:block;margin-bottom:1mm;color:var(--report-ink);font-size:7.2pt}.ai-report-section-title{padding:1mm 0 .5mm}.ai-report-section-title h2{margin:.8mm 0 .6mm;font-size:20pt;letter-spacing:-.045em}.ai-report-section-title p{margin:0;color:var(--report-muted);font-size:7pt}.ai-report-evidence-page .ai-report-section-title{padding:0}.ai-report-evidence-page .ai-report-section-title>span{font-size:5.4pt}.ai-report-evidence-page .ai-report-section-title h2{margin:.2mm 0;font-size:13.5pt}.ai-report-evidence-page .ai-report-section-title p{display:none}.ai-report-evidence-columns{height:106mm;display:grid;grid-template-columns:1fr 1fr;flex:0 0 auto;gap:5mm}.ai-report-evidence-columns>section{display:grid;grid-template-rows:11mm repeat(3,minmax(0,1fr));overflow:hidden;border:.25mm solid var(--report-line);border-radius:4mm}.ai-report-evidence-columns>section>header,.ai-report-code-patterns>header{display:flex;align-items:center;gap:3mm;padding:0 4mm;background:var(--report-ink);color:var(--report-paper)}.ai-report-evidence-columns>section:nth-child(2)>header{background:var(--report-primary)}.ai-report-evidence-columns>section>header>span,.ai-report-code-patterns>header>span{font:900 13pt var(--ds-font-number)}.ai-report-evidence-columns>section>header b,.ai-report-code-patterns>header b{display:block;font-size:7.5pt}.ai-report-evidence-columns>section>header small,.ai-report-code-patterns>header small{opacity:.65;font-size:5pt;letter-spacing:.12em}.ai-report-insight{min-width:0;min-height:0;display:grid;grid-template-columns:7mm minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:2mm;overflow:hidden;padding:2.4mm 3.4mm;border-bottom:.2mm solid var(--report-line)}.ai-report-insight>div{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.ai-report-insight:last-child{border-bottom:0}.ai-report-insight-index{color:var(--report-primary);font:900 9pt var(--ds-font-number)}.ai-report-insight h3{margin:0 0 1mm;font-size:7.4pt}.ai-report-insight p{height:100%;min-height:0;margin:0;display:-webkit-box;overflow:hidden;color:var(--report-muted);font-size:6.3pt;line-height:1.45;word-break:keep-all;-webkit-box-orient:vertical;-webkit-line-clamp:4}.ai-report-insight small{display:-webkit-box;align-self:end;margin-top:1.2mm;padding:1.1mm 1.6mm;overflow:hidden;border-radius:1.2mm;background:var(--report-wash);color:var(--report-muted);font-size:5.4pt;line-height:1.32;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ai-report-insight small b{margin-right:1.5mm;color:var(--report-primary)}.ai-report-code-patterns{height:53mm;display:grid;grid-template-rows:10mm 1fr;flex:0 0 auto;overflow:hidden;border:.25mm solid var(--report-line);border-radius:4mm}.ai-report-evidence-page .ai-report-evidence-columns{height:105mm}.ai-report-evidence-page .ai-report-code-patterns{height:40mm}.ai-report-evidence-page .ai-report-guardian-briefing{height:36mm}.ai-report-code-patterns>div{width:100%;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden}.ai-report-code-patterns article{min-width:0;box-sizing:border-box;overflow:hidden;padding:3mm 3.4mm;border-right:.2mm solid var(--report-line)}.ai-report-code-patterns article:last-child{border-right:0}.ai-report-code-patterns h3{margin:0 0 1.2mm;font-size:7.2pt}.ai-report-code-patterns article{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.ai-report-code-patterns p{height:100%;min-height:0;margin:0;display:-webkit-box;overflow:hidden;color:var(--report-muted);font-size:6.1pt;line-height:1.42;word-break:keep-all;-webkit-box-orient:vertical;-webkit-line-clamp:6}.ai-report-code-patterns article small{display:-webkit-box;align-self:end;margin-top:1.2mm;overflow:hidden;color:var(--report-primary);font-size:5.4pt;line-height:1.32;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ai-report-ai-signal{min-height:35mm;display:grid;grid-template-columns:18mm minmax(0,1.35fr) minmax(0,.95fr);align-items:center;gap:4mm;box-sizing:border-box;padding:4mm 5mm;border-radius:4mm;background:var(--report-mint-soft)}.ai-report-ai-signal.is-review{background:var(--report-coral-soft)}.ai-report-ai-mark{color:var(--report-mint);font:900 15pt var(--ds-font-number)}.ai-report-ai-signal.is-review .ai-report-ai-mark{color:var(--report-coral)}.ai-report-ai-signal h2{margin:1mm 0;font-size:10pt}.ai-report-ai-signal p{margin:0;color:var(--report-muted);font-size:5.8pt;line-height:1.45}.ai-report-ai-signal ul{margin:0;padding:0;list-style:none}.ai-report-ai-signal li{margin:1mm 0;padding-left:2.5mm;color:var(--report-muted);font-size:5.3pt;line-height:1.35}.ai-report-ai-signal li:before{float:left;margin-left:-2.5mm;color:var(--report-mint);content:"•"}.ai-report-scorecard{height:36mm;display:grid;grid-template-rows:9mm 1fr;flex:0 0 auto;box-sizing:border-box;overflow:hidden;border:.25mm solid var(--report-line);border-radius:4mm;background:var(--report-paper)}.ai-report-scorecard>header{display:flex;align-items:center;justify-content:space-between;padding:0 4mm;border-bottom:.2mm solid var(--report-line);background:var(--report-wash)}.ai-report-scorecard>header>div:first-child>span{color:var(--report-primary);font-size:5pt;font-weight:900;letter-spacing:.14em}.ai-report-scorecard h2{margin:.3mm 0 0;font-size:7pt}.ai-report-score-legend{display:flex;gap:4mm;color:var(--report-muted);font-size:5.2pt}.ai-report-score-legend span{display:inline-flex;align-items:center;gap:1.2mm}.ai-report-score-legend span:before{width:4mm;height:1.4mm;border-radius:1mm;background:var(--report-primary);content:""}.ai-report-score-legend .is-class:before{height:2.4mm;border-left:.4mm solid #939aae;border-radius:0;background:transparent}.ai-report-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));column-gap:6mm;padding:1mm 4mm 1.5mm}.ai-report-score-grid article{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 18mm;grid-template-rows:auto 2mm;align-content:center;column-gap:2mm}.ai-report-score-grid article>div:first-child{display:flex;align-items:center;justify-content:space-between}.ai-report-score-grid strong{font-size:5.2pt}.ai-report-score-grid b{color:var(--report-primary);font:900 6.2pt var(--ds-font-number)}.ai-report-score-grid small{grid-column:2;grid-row:1 / 3;align-self:center;overflow:hidden;color:var(--report-muted);font-size:4.1pt;line-height:1.3;text-overflow:ellipsis}.ai-report-score-track{height:1.6mm;position:relative;grid-column:1;overflow:visible;border-radius:1mm;background:#e8eaf0}.ai-report-score-track i{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,var(--report-primary),#8e82f4)}.ai-report-score-track span{width:.5mm;height:3mm;position:absolute;top:50%;border-radius:.5mm;background:#858da1;transform:translate(-50%,-50%)}.ai-report-action-plan{height:75mm;display:grid;grid-template-columns:repeat(3,1fr);flex:0 0 auto;gap:4mm}.ai-report-action-plan article{min-width:0;display:grid;grid-template-rows:17mm 1fr;overflow:hidden;border:.25mm solid var(--report-line);border-radius:4mm}.ai-report-action-plan article>div{display:flex;align-items:center;justify-content:space-between;padding:0 4mm;background:var(--report-primary-soft)}.ai-report-action-plan article:nth-child(2)>div{background:var(--report-mint-soft)}.ai-report-action-plan article:nth-child(3)>div{background:var(--report-coral-soft)}.ai-report-action-plan article>div span{color:var(--report-muted);font-size:5.5pt;font-weight:800;letter-spacing:.12em}.ai-report-action-plan article>div strong{color:var(--report-primary);font:900 18pt var(--ds-font-number)}.ai-report-action-plan article>section{padding:4mm}.ai-report-action-plan h3{margin:0 0 2mm;font-size:8pt}.ai-report-action-plan p{margin:0;color:var(--report-muted);font-size:6.1pt;line-height:1.55}.ai-report-action-plan small{display:block;margin-top:3mm;padding-top:2mm;border-top:.2mm solid var(--report-line);color:var(--report-muted);font-size:5.5pt;line-height:1.4}.ai-report-action-plan small b{display:block;margin-bottom:.8mm;color:var(--report-primary)}.ai-report-guardian-briefing{height:40mm;flex:0 0 auto;box-sizing:border-box;overflow:hidden;padding:4mm 5mm;border-radius:4mm;background:var(--report-primary);color:var(--report-paper)}.ai-report-guardian-briefing>span{color:#d8d3ff}.ai-report-guardian-briefing h2{margin:.6mm 0 1.4mm;font-size:9.5pt}.ai-report-guardian-briefing p{margin:0;display:-webkit-box;overflow:hidden;color:#ffffffe5;font-size:6.8pt;line-height:1.55;word-break:keep-all;-webkit-box-orient:vertical;-webkit-line-clamp:8}.ai-report-activity-row{height:46mm;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);flex:0 0 auto;gap:4mm}.ai-report-trend-block{--trend-self: var(--report-primary);--trend-class: #a4aabc;--trend-plot-height: 20mm;--trend-bar-gap: 1.2mm;height:48mm;flex:0 0 auto;box-sizing:border-box;padding:4mm 5mm 3mm;border:.25mm solid var(--report-line);border-radius:4mm}.ai-report-activity-row .ai-report-trend-block{height:100%;padding:3mm 4mm 2mm}.ai-report-trend-block .perf-trend{gap:1mm;margin-top:2mm}.ai-report-trend-block .perf-trend-axis,.ai-report-trend-block .chart-legend{font-size:5pt}.ai-report-trend-block .perf-trend-bars i{border-radius:.8mm .8mm 0 0}.ai-report-records{height:100%;min-height:0;display:grid;grid-template-rows:1fr 1fr;gap:3mm}.ai-report-records>section{overflow:hidden;border:.25mm solid var(--report-line);border-radius:3mm}.ai-report-records header,.ai-report-records>section>div{display:grid;grid-template-columns:minmax(0,1fr) 20mm 21mm;align-items:center;gap:2mm;padding:0 3mm}.ai-report-records header{height:6.4mm;border-bottom:.2mm solid var(--report-line);background:var(--report-wash)}.ai-report-records h2{margin:0;font-size:6.6pt}.ai-report-records header span{grid-column:2 / -1;color:var(--report-muted);font-size:5.3pt;text-align:right}.ai-report-records>section>div{height:4.9mm;border-bottom:.2mm solid var(--report-line)}.ai-report-records>section>div:last-child{border-bottom:0}.ai-report-records strong{overflow:hidden;font-size:5.8pt;text-overflow:ellipsis;white-space:nowrap}.ai-report-records>section>div span{color:var(--report-primary);font-size:5.6pt;font-weight:800;text-align:right}.ai-report-records small{color:var(--report-muted);font-size:5.4pt;text-align:right}.ai-report-records>section{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.ai-report-records>section>div:nth-of-type(n+4){display:none}.ai-report-caution{min-height:18mm;display:grid;grid-template-columns:26mm 1fr;align-items:center;gap:4mm;box-sizing:border-box;padding:3mm 4mm;border-radius:3mm;background:var(--report-wash)}.ai-report-caution b{color:var(--report-primary);font-size:6pt}.ai-report-caution p{margin:0;color:var(--report-muted);font-size:5.4pt;line-height:1.4}.ai-report-empty{margin:25mm 0;color:var(--report-muted);font-size:7pt;text-align:center}}.pm-page,.pm-editor-screen{width:100%;min-width:0}.pm-verification-overlay{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--ds-space-4);background:#12182785}.pm-verification-dialog{width:min(100%,420px);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-3);padding:var(--ds-space-5);border-radius:var(--ds-radius-card);background:var(--ds-surface);box-shadow:0 18px 48px #0f172a3d}.pm-verification-spinner{width:32px;height:32px;border:3px solid var(--ds-primary-100);border-top-color:var(--accent);border-radius:50%;animation:pm-verification-spin .8s linear infinite}.pm-verification-dialog strong,.pm-verification-dialog p,.pm-verification-dialog small{margin:0}.pm-verification-dialog strong{color:var(--text);font-size:var(--font-size-body)}.pm-verification-dialog p,.pm-verification-dialog small{color:var(--muted);font-size:var(--font-size-xs)}.pm-verification-dialog p{margin-top:.25rem}.pm-verification-progress{grid-column:1 / -1;height:8px;overflow:hidden;border-radius:var(--radius-pill);background:var(--ds-primary-100)}.pm-verification-progress span{height:100%;display:block;border-radius:inherit;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .18s var(--ease-standard)}.pm-verification-dialog small{grid-column:1 / -1;text-align:right}@keyframes pm-verification-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.pm-verification-spinner{animation:none}.pm-verification-progress span{transition:none}}.pm-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:var(--ds-space-4)}.pm-main,.pm-tools{min-width:0;background:var(--ds-surface);border-radius:var(--ds-radius-card)}.pm-main{padding:var(--ds-space-4)}.pm-toolbar{display:grid;grid-template-columns:auto minmax(260px,1fr);align-items:center;gap:var(--ds-space-4);padding-bottom:var(--ds-space-4);border-bottom:var(--stroke-subtle)}.pm-toolbar h1{margin:0;color:var(--text);font-size:var(--font-size-md);font-weight:800;white-space:nowrap}.pm-toolbar h1 span{margin-left:var(--space-1);color:var(--muted);font-size:var(--font-size-sm);font-weight:700}.pm-toolbar>input{width:min(100%,520px);justify-self:end;background:var(--ds-canvas)}.pm-table-shell{min-width:0;overflow-x:auto;border-bottom:1px solid var(--ds-line)}.pm-table{width:100%;min-width:700px;table-layout:fixed;border-collapse:collapse;font-size:var(--font-size-sm)}.pm-table th{height:var(--control-h-lg);padding:0 var(--space-3);border-bottom:var(--stroke-default);background:var(--ds-surface-soft);color:var(--muted);font-size:var(--font-size-xs);font-weight:850;text-align:left}.pm-table td{height:calc(var(--row-h) + 12px);padding:var(--space-2) var(--space-3);border-bottom:var(--stroke-default);color:var(--text-soft);vertical-align:middle}.pm-table tbody tr{cursor:pointer;transition:background var(--motion-fast) var(--ease-standard)}.pm-table tbody tr:hover,.pm-table tbody tr.is-active{background:var(--ds-primary-100)}.pm-table td:first-of-type:not(.pm-check-col){width:34%}.pm-table td strong,.pm-table td small{display:block}.pm-table td strong{overflow:hidden;color:var(--text);font-size:var(--font-size-body);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.pm-table td small{margin-top:.15rem;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.pm-check-col{width:58px;text-align:center!important}.pm-check-col input{width:18px;height:18px;accent-color:var(--accent)}.pm-stars{color:var(--info)!important;letter-spacing:.08em}.pm-status{display:inline-flex;align-items:center;min-height:28px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--ds-surface-soft);color:var(--muted);font-size:var(--font-size-xs);font-weight:850;white-space:nowrap}.pm-status.is-ready{background:var(--ok-soft);color:var(--ok)}.pm-status.is-error{background:var(--warn-soft);color:var(--warn)}.pm-status.is-published{background:var(--info-soft);color:var(--info)}.pm-empty{height:260px!important;cursor:default;padding:var(--ds-space-4)!important}.pm-empty.is-drop-active{background:var(--ds-primary-100)}.pm-dropzone{width:100%;min-height:190px;display:grid;place-items:center;border:1px dashed var(--ds-line);border-radius:var(--ds-radius-card);background:var(--ds-surface-soft);color:var(--muted);cursor:pointer;font:inherit}.pm-empty.is-drop-active .pm-dropzone,.pm-dropzone:hover,.pm-dropzone:focus-visible{border-color:var(--accent);background:var(--ds-primary-100);color:var(--accent);outline:none}.pm-tools{position:sticky;top:92px;overflow:hidden}.pm-tools>header,.pm-primary-actions,.pm-batch,.pm-selection,.pm-flow{padding:var(--ds-space-4)}.pm-tools>header{padding-bottom:var(--space-3);border-bottom:var(--stroke-subtle)}.pm-tools h2,.pm-tools h3,.pm-tools p{margin:0}.pm-tools h2{font-size:var(--font-size-lg)}.pm-tools>header p,.pm-selection>p,.pm-flow p{margin-top:var(--space-1);color:var(--muted);font-size:var(--font-size-sm);line-height:1.55}.pm-primary-actions,.pm-selection-actions{display:grid;gap:var(--space-2)}.pm-primary-actions .btn,.pm-selection-actions .btn,.pm-batch .btn{justify-content:center;gap:var(--space-2)}.pm-batch{display:grid;gap:var(--space-3);border-top:var(--stroke-subtle);background:var(--ds-primary-100)}.pm-batch div{display:grid;gap:var(--space-1)}.pm-batch-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)!important}.pm-batch span{color:var(--muted);font-size:var(--font-size-xs)}.pm-selection{display:grid;gap:var(--space-3);border-top:var(--stroke-subtle)}.pm-selection-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.pm-selection-head small{color:var(--muted)}.pm-selection h3{font-size:var(--font-size-lg)}.pm-selection dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-block:var(--stroke-subtle)}.pm-selection dl div{min-width:0;padding:var(--space-3) 0}.pm-selection dt{color:var(--muted);font-size:var(--font-size-xs);font-weight:750}.pm-selection dd{margin:var(--space-1) 0 0;overflow:hidden;color:var(--text);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.pm-errors{max-height:180px;display:grid;gap:var(--space-2);margin:0;padding:var(--space-3) var(--space-3) var(--space-3) 2rem;overflow-y:auto;background:var(--warn-soft);color:var(--warn);font-size:var(--font-size-xs);line-height:1.45}.pm-flow{display:grid;gap:var(--space-4);margin:0;border-top:var(--stroke-subtle);list-style:none}.pm-flow li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:var(--space-3)}.pm-flow li>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--ds-primary-100);color:var(--accent);font-family:var(--font-code);font-size:var(--font-size-xs);font-weight:800}.pm-editor-screen{display:grid;gap:var(--space-3)}.pm-back{min-height:var(--control-h);width:fit-content;display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2);color:var(--text-soft);font-weight:800}.pm-back:hover{color:var(--accent)}@media(max-width:1080px){.pm-workspace{grid-template-columns:minmax(0,1fr)}.pm-tools{position:static;display:grid;grid-template-columns:minmax(220px,.7fr) minmax(280px,1fr)}.pm-tools>header{grid-column:1 / -1}.pm-primary-actions{border-right:var(--stroke-subtle)}}@media(max-width:720px){.pm-main{padding:var(--space-3)}.pm-toolbar,.pm-tools{grid-template-columns:minmax(0,1fr)}.pm-toolbar>input{width:100%}.pm-primary-actions{border-right:0}}.mv-root{width:100%;min-width:0;min-height:0;display:grid;gap:var(--space-3)}.pm-editor-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--ds-space-4);padding:0 var(--space-1) var(--space-2)}.pm-editor-head h1,.pm-editor-head p{margin:0}.pm-editor-head h1{color:var(--text);font-size:1.5rem;font-weight:800;letter-spacing:-.035em}.pm-editor-head p{margin-top:var(--space-1);color:var(--muted);font-size:var(--font-size-sm)}.mv-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap}.mv-editor-workspace{min-width:0;min-height:0;display:flex;flex-direction:column;border:var(--stroke-default);border-radius:var(--ds-radius-card);background:var(--ds-surface);overflow:hidden}.mv-editor-tabs{flex:0 0 auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:var(--space-2) var(--ds-space-3) 0;border-bottom:var(--stroke-subtle);background:var(--ds-surface-soft)}.mv-editor-tabs .ui-tab{min-width:0;min-height:56px;margin-top:var(--space-2);padding:0 var(--space-3);border:1px solid transparent;border-bottom:0;border-radius:var(--ds-radius-card) var(--ds-radius-card) 0 0;background:transparent;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.mv-editor-tabs .ui-tab.is-active{z-index:1;min-height:64px;margin-top:0;margin-bottom:-1px;border-color:var(--ds-line);background:var(--ds-surface);color:var(--accent-strong)}.mv-editor-tabs .ui-tab:not(.is-active):not(:disabled):hover{background:var(--surface)}.mv-editor-tabs .ui-tab:disabled{cursor:not-allowed;opacity:.48}.mv-editor-tabs .ui-tab:disabled:hover{background:transparent}.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-editor-body{min-width:0;min-height:0;flex:1 1 auto;overflow:visible}.mv-editor-panel{min-width:0;height:auto;min-height:0;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-language-choices{display:flex;flex-wrap:wrap;gap:var(--space-4);padding-block:var(--space-1)}.mv-language-choice{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700}.mv-language-choice input:disabled{cursor:not-allowed}.mv-language-choice:has(input:disabled){color:var(--text-soft)}.mv-hint{margin:0;color:var(--muted);font-size:var(--font-size-xs)}.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}.mv-reference-code{display:grid;gap:var(--space-3);padding:var(--space-4);border:var(--stroke-default);background:var(--ds-surface-soft)}.mv-reference-code>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.mv-reference-code h3,.mv-reference-code p{margin:0}.mv-reference-code h3{color:var(--text);font-size:var(--font-size-body)}.mv-reference-code p{max-width:68ch;margin-top:var(--space-1);color:var(--muted);font-size:var(--font-size-xs);line-height:1.55}.mv-reference-code>header>span{flex:0 0 auto;padding:.25rem .5rem;border-radius:var(--radius-pill);background:var(--ds-primary-100);color:var(--accent-strong);font-size:var(--font-size-xs);font-weight:800;white-space:nowrap}.mv-reference-code textarea{background:var(--ds-surface);font-family:var(--font-code);font-size:var(--font-size-xs);line-height:1.55}.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(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){.pm-editor-head{align-items:flex-start;flex-direction:column}.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-reference-code>header{display:grid}.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}}._filterGroup_1uhch_1{display:flex;flex-direction:column;gap:.28rem}._filterGroup_1uhch_1>span{color:var(--muted);font-size:var(--font-size-xs);font-weight:850}._filterControl_1uhch_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_1uhch_25{justify-content:space-between}._filterPlaceholder_1uhch_29{flex:1;padding-left:var(--space-1);color:var(--text);font-size:var(--font-size-sm);font-weight:650}._filterOpenButton_1uhch_37,._filterEditButton_1uhch_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_1uhch_37{border:1px solid var(--accent-border);background:var(--accent-bg-soft);color:var(--accent)}._filterOpenButton_1uhch_37:hover{border-color:var(--accent-border-strong);background:var(--accent-bg-strong)}._filterEditButton_1uhch_38{border:1px solid var(--line);background:var(--surface);color:var(--muted)}._filterEditButton_1uhch_38:hover{border-color:var(--line-strong);background:var(--control-hover);color:var(--text)}._filterWithChips_1uhch_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_1uhch_85,._problemTags_1uhch_86{position:relative;display:flex;min-width:0;align-items:center}._filterChips_1uhch_85{flex:1;gap:.3rem}._problemTags_1uhch_86{width:100%;gap:var(--space-1)}._filterChipViewport_1uhch_103,._problemTagViewport_1uhch_104{display:flex;min-width:0;flex:1 1 auto;align-items:center;overflow:hidden}._filterChipViewport_1uhch_103{gap:.3rem}._problemTagViewport_1uhch_104{gap:var(--space-1)}._filterChip_1uhch_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_1uhch_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_1uhch_133:hover{background:color-mix(in srgb,var(--category-color) 18%,transparent)}._filterChipRemove_1uhch_133:focus-visible{outline:2px solid var(--category-color);outline-offset:1px}._filterChipOverflow_1uhch_157,._problemTagOverflow_1uhch_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_1uhch_157{padding:.15rem .5rem;border-radius:var(--radius-control)}._problemTagOverflow_1uhch_158{min-height:22px;padding:0 var(--space-1);font-weight:700}._hiddenFilterChipOverflow_1uhch_182,._hiddenProblemTagOverflow_1uhch_183{position:absolute;right:0;visibility:hidden;pointer-events:none}._filterChipOverflow_1uhch_157:focus-visible,._problemTagOverflow_1uhch_158:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}._problemTag_1uhch_86{display:inline-flex;max-width:100%;min-height:20px;flex:0 0 auto;align-items:center;overflow:hidden;padding:0 var(--space-1);border-color:color-mix(in srgb,var(--category-color, var(--muted)) 18%,var(--line));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--category-color, var(--muted)) 4%,var(--surface));color:color-mix(in srgb,var(--category-color, var(--muted)) 42%,var(--text));font-family:var(--font-tag);font-size:var(--font-size-xs);font-weight:400;text-overflow:ellipsis;white-space:nowrap}button._problemTag_1uhch_86{cursor:pointer;text-align:left;transition:border-color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}button._problemTag_1uhch_86:hover{border-color:color-mix(in srgb,var(--category-color) 45%,var(--line));background:color-mix(in srgb,var(--category-color) 12%,var(--surface))}button._problemTag_1uhch_86:focus-visible{outline:2px solid var(--category-color);outline-offset:1px}._overflowPopover_1uhch_233{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_1uhch_1 var(--motion-fast) var(--ease-standard) both}._overflowPopover_1uhch_233>strong{font-family:var(--font-ui);font-size:var(--font-size-xs);font-weight:800;white-space:nowrap}._overflowList_1uhch_257{display:flex;flex-wrap:wrap;gap:var(--space-1)}._overflowItem_1uhch_263{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_1uhch_263{cursor:pointer}button._overflowItem_1uhch_263:hover{border-color:var(--category-color);background:color-mix(in srgb,var(--category-color) 18%,var(--surface))}button._overflowItem_1uhch_263:focus-visible{outline:2px solid var(--category-color);outline-offset:1px}.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-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{--agit-problem-detail-width: min(440px, calc(100vw - 10rem) );min-height:0;align-content:start;gap:var(--ds-space-4);container-type:inline-size}.agit-problem-workspace{width:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,21rem);grid-template-areas:"main explorer";gap:var(--agit-workspace-split-gap);align-items:start;margin-inline:auto}.agit-problem-workspace.has-detail{grid-template-columns:minmax(0,1fr);grid-template-areas:"main"}.agit-problem-main{grid-area:main;width:auto;min-width:0;min-height:0;display:grid;gap:0;margin-inline:0;padding:var(--ds-space-4);border-radius:var(--ds-radius-card);background:var(--ds-surface)}.agit-problem-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(8.5rem,10rem);align-items:end;row-gap:var(--ds-space-3);padding:0 0 var(--ds-space-4);border:0;background:transparent}.agit-problem-filters label{gap:var(--space-1)}.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,.agit-problem-filters .ui-select-trigger{border:0;background:var(--ds-canvas)}.agit-difficulty-field{min-width:0}.agit-search-group{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-1)}.agit-problem-bottom-bar{min-height:var(--control-h-lg);display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--ds-space-3) var(--space-1) 0;border-top:1px solid var(--ds-line-soft);margin-top:auto}.agit-problem-bottom-bar>.table-pagination{width:100%;justify-content:center;padding-top:0;border-top:0}.agit-filter-actions{min-height:var(--control-h);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);white-space:nowrap}.agit-filter-actions>span{color:var(--muted);font-size:var(--font-size-xs)}.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-2);border:0;border-radius:var(--radius-control);background:var(--ds-primary-100);color:var(--ds-primary-700);font-weight:850}.agit-filter-reset:hover{background:var(--control-hover)}.agit-filter-reset:disabled{background:transparent;color:var(--muted)}.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: var(--row-h)}.agit-problem-list-heading{min-height:var(--control-h);display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-3);padding:0 0 var(--ds-space-3)}.agit-problem-list-heading h2{color:var(--text);font-size:var(--font-size-lg);font-weight:780}.agit-problem-list-heading h2 span{margin-left:var(--space-1);color:var(--muted);font-size:var(--font-size-sm);font-weight:650}.agit-problem-table-viewport{position:relative;display:flex;flex-direction:column}.agit-problem-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-items:center;pointer-events:none}.agit-problem-table-shell{flex:1 1 auto;min-height:0;overflow-x:auto;overflow-y:visible;border:1px solid var(--ds-line);border-right:0;border-left:0;border-top:0;border-radius:0}.agit-problem-table-shell.is-refreshing tbody{opacity:.45;pointer-events:none;transition:opacity var(--motion-fast) var(--ease-standard)}.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(--ds-surface-soft)}.agit-problem-table td{height:var(--agit-problem-row-min-height);padding:var(--space-1) .95rem;border-bottom:var(--stroke-default);vertical-align:middle}.agit-problem-table tbody tr:last-child td{border-bottom:0}.agit-problem-row-placeholder td{height:var(--agit-problem-row-min-height);padding:0;border-bottom:0;pointer-events:none}.agit-problem-row{cursor:pointer;transition:background var(--motion-fast) var(--ease-standard)}.agit-problem-row:hover{background:var(--ds-surface-soft)}.agit-problem-row.is-active{background:var(--ds-primary-100)}.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:var(--radius-sm);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>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:var(--font-size-md);font-weight:400;line-height:1.35}.agit-problem-title:hover>span{color:var(--accent)}.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-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-status-progress{display:inline-block;max-width:100%;color:var(--ds-info);font-weight:850;white-space:nowrap}.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-empty .ui-loading-state{padding:0}.agit-problem-explorer{grid-area:explorer;min-width:0;position:sticky;top:calc(var(--header-h) + var(--ds-space-4));align-self:start;padding:var(--ds-space-4);border-radius:var(--ds-radius-card);background:var(--ds-surface)}.agit-problem-explorer section{display:grid;gap:var(--ds-space-4);padding:0}.agit-explorer-group{display:grid;gap:var(--space-1)}.agit-explorer-group>span,.agit-subcategory-explorer>span{color:var(--muted);font-size:var(--font-size-xs);font-weight:750}.agit-category-explorer,.agit-subcategory-explorer>div{display:flex;flex-wrap:wrap;gap:var(--space-2)}.agit-category-explorer button,.agit-subcategory-explorer button{min-height:34px;display:inline-flex;align-items:center;padding:0 .75rem;border:0;border-radius:var(--radius-control);background:var(--ds-canvas);color:var(--text-soft);font-size:var(--font-size-xs);font-weight:700}.agit-category-explorer button:hover,.agit-subcategory-explorer button:hover{color:var(--text);background:var(--ds-surface-soft)}.agit-category-explorer button.is-active,.agit-subcategory-explorer button.is-active{color:var(--accent);background:var(--ds-primary-100)}.agit-subcategory-explorer{padding-top:0;border-top:0}.agit-subcategory-explorer>div{flex-wrap:wrap}.agit-problem-detail{position:fixed;top:var(--header-h);right:0;bottom:0;z-index:71;width:var(--agit-problem-detail-width);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(max-width:900px){.agit-problem-page{height:auto;overflow:visible}.agit-problem-workspace,.agit-problem-main{overflow:visible}.agit-problem-workspace{width:100%;grid-template-columns:minmax(0,1fr);grid-template-areas:"explorer" "main"}.agit-problem-explorer{position:static}.agit-problem-table-viewport{height:auto;min-height:0;overflow:visible}.agit-problem-table-shell{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-staff .agit-problem-row{grid-template-columns:32px minmax(0,1fr) auto auto 42px;grid-template-areas:"check title title title action" "check tag difficulty 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-filters{grid-template-columns:minmax(0,1fr);padding-bottom:var(--space-3)}.agit-search-group{grid-column:1 / -1}.agit-filter-actions{justify-content:flex-end}.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-problem-list-heading{align-items:flex-start;flex-direction:column}.agit-search-group{grid-column:auto}}@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(min-width:1205px){.agit-problem-workspace.has-detail{width:100%;padding-right:calc(var(--agit-problem-detail-width) + var(--ds-space-4))}.agit-problem-workspace.has-detail .agit-problem-main{width:min(100%,72rem);margin-inline:0}}@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-main,.agit-problem-detail,.agit-problem-workspace.has-detail:before{animation:none}}
