:root{--color-bg: #eef3f6;--color-surface: #ffffff;--color-surface-muted: #f8fbfc;--color-surface-soft: #eef4f6;--color-ink: #18212f;--color-ink-strong: #102638;--color-classroom-ink: #173844;--color-hero-cream: #f7f3e9;--color-bluegreen-ink: #24414d;--color-teal-deep: #176b7a;--color-teal-bright: #087787;--color-teal-pale: #eaf7f8;--color-warning-ink: #b88a2b;--color-danger-pale: #fff0ed;--color-success-ink: #14643e;--color-panel-faint: #f6fafb;--color-panel-ice: #f8fcfd;--color-chart-indigo: #5967d9;--color-active-teal-ink: #075d6b;--color-teal-muted: #6b858c;--color-scrollbar-teal: #9cc8d0;--color-border-teal-soft: #cfe5e8;--color-muted: #52616f;--color-muted-strong: #31414f;--color-border: #dce5ea;--color-border-strong: #cdd9df;--color-primary: #197586;--color-primary-strong: #0d6572;--color-on-primary: #ffffff;--color-primary-soft: #eaf6f8;--color-primary-border: #c8e2e8;--student-hero-start: #155663;--student-hero-end: #176f7c;--color-success: #237047;--color-success-soft: #e9f8ee;--color-success-border: #b9dfc6;--color-warning: #c76a00;--color-warning-soft: #fff6e5;--color-warning-border: #ead8a6;--color-danger: #b3261e;--color-danger-soft: #fff1ef;--color-danger-border: #f3c7c2;--color-info: #2563a8;--color-info-soft: #eef5ff;--color-info-border: #c8d9f0;--shadow-card: 0 16px 42px rgba(35, 53, 70, .08);--shadow-popover: 0 10px 24px rgba(28, 44, 56, .14);--focus-ring: 0 0 0 3px rgba(25, 117, 134, .16);--transition-fast: .16s ease-out;--space-3: 12px;--space-4: 16px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--z-above: 2;--z-sticky: 3;--z-elevated: 5;--z-dropdown: 8;--z-overlay: 20;--z-modal: 30;--z-modal-top: 32;--z-sheet: 60;--z-floating: 70;--z-drawer: 80;--z-backdrop: 99;--z-menu: 100;color:var(--color-ink);background:var(--color-bg);font-family:system-ui,-apple-system,PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;font-kerning:normal;font-optical-sizing:auto}*{box-sizing:border-box}html{min-width:320px;background:var(--color-bg)}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--color-bg);-webkit-text-size-adjust:100%;text-size-adjust:100%}.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}button,input,select,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}button:disabled{cursor:not-allowed}button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.app-shell{width:min(100%,1120px);min-height:100vh;min-height:100dvh;margin:0 auto;padding:18px;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.auth-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);gap:22px;align-items:stretch;min-height:calc(100vh - 36px)}.brand-panel{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;gap:26px;min-height:520px;padding:34px;overflow:hidden;color:var(--color-surface);background:linear-gradient(145deg,#112637,#184f55);border-radius:8px}.brand-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:28px 28px;opacity:.28}.brand-panel:after{display:none}.brand-content,.brand-visual,.brand-summary{position:relative;z-index:1}.brand-content{display:grid;align-content:center;gap:13px;max-width:520px}.brand-visual{align-self:start;display:grid;gap:14px;width:min(100%,520px);padding:18px;background:#f7fbfcf0;border:1px solid rgba(255,255,255,.68);border-radius:8px;color:var(--color-ink-strong)}.brand-visual-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#506979;font-size:13px;font-weight:800}.brand-visual-header span{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;color:var(--color-primary-strong);background:#e6f3f5;border:1px solid #c5dfe5;border-radius:999px;font-size:12px}.brand-visual-header b{font-weight:800}.brand-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.brand-metric-grid div{display:grid;gap:5px;min-height:76px;padding:12px;background:var(--color-surface);border:1px solid #d8e5ea;border-radius:8px}.brand-metric-grid span{color:#5c7180;font-size:12px;font-weight:800}.brand-metric-grid strong{color:var(--color-ink-strong);font-size:22px;font-weight:900;line-height:1.18}.brand-visual-note{display:flex;gap:8px;align-items:center;padding:10px 11px;color:#244250;background:#edf8f7;border:1px solid #cce6e3;border-radius:8px;font-size:13px;font-weight:800;line-height:1.45}.brand-visual-note svg{flex:0 0 auto;color:var(--color-primary)}.brand-mark{display:grid;place-items:center;width:64px;height:64px;background:#ffffff21;border:1px solid rgba(255,255,255,.3);border-radius:8px}.brand-school-logo{width:min(100%,340px);height:auto}.brand-kicker{color:#ffffffc7;font-size:14px;font-weight:800}.brand-panel h1{margin:0;max-width:11em;font-size:34px;letter-spacing:0;line-height:1.22;text-wrap:balance}.brand-panel p{max-width:520px;margin:0;color:#ffffffe0;font-size:17px;line-height:1.68}.brand-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.brand-summary div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 9px;min-height:78px;padding:13px;background:#ffffff1c;border:1px solid rgba(255,255,255,.24);border-radius:8px}.brand-summary svg{grid-row:span 2;color:#a9e7e4;margin-top:2px}.brand-summary strong{color:var(--color-surface);font-size:15px;line-height:1.25}.brand-summary span{color:#ffffffdb;font-size:12px;line-height:1.5}.auth-card,.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.auth-card{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:44px 30px;box-shadow:0 8px 14px #23354614}.auth-card-header{display:grid;gap:7px;margin-bottom:2px}.auth-card-header span{color:var(--color-primary-strong);font-size:13px;font-weight:900}.auth-card-header h2{margin:0;color:var(--color-ink-strong);font-size:28px;line-height:1.2}.auth-card-header p{max-width:34ch;margin:0;color:var(--color-muted);font-size:14px;line-height:1.55}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--color-surface-soft);border-radius:var(--radius-md)}.segmented button,.bottom-tabs button{border:0;background:transparent}.segmented button{min-height:42px;border-radius:var(--radius-sm);color:#50606d}.segmented .active{background:var(--color-surface);color:var(--color-primary-strong);box-shadow:0 6px 16px #1b36441f}.captcha-row{display:grid;grid-template-columns:minmax(82px,auto) minmax(0,1fr) auto;gap:8px;align-items:center}.captcha-row strong{display:grid;min-height:44px;padding:0 12px;place-items:center;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:var(--radius-md);font-size:16px;white-space:nowrap}label{display:grid;gap:7px;color:var(--color-muted);font-size:14px}input,select,textarea{width:100%;max-width:100%;min-height:44px;padding:10px 12px;color:var(--color-ink);background:var(--color-surface-muted);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);outline:none}textarea{min-height:86px;resize:vertical}img,canvas,video{max-width:100%}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.primary{min-height:44px;padding:0 16px;color:var(--color-surface);background:var(--color-primary);border:0;border-radius:var(--radius-md);font-weight:700}.primary:hover:not(:disabled),.primary:focus-visible{background:var(--color-primary-strong)}.primary:active:not(:disabled){transform:translateY(1px)}.primary:disabled{opacity:.58}.topbar{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding:14px 16px;background:#ffffffe0;border:1px solid var(--color-border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar.account-menu-open{z-index:var(--z-dropdown)}.topbar-user{display:grid;gap:3px;min-width:0}.topbar-user strong,.topbar-user span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;position:relative}.topbar .topbar-shortcut,.account-menu-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:0 12px;color:var(--color-muted-strong);background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;font-weight:800;white-space:nowrap}.topbar-shortcut:hover,.topbar-shortcut:focus-visible,.account-menu-button:hover,.account-menu-button:focus-visible,.icon-button:hover,.icon-button:focus-visible{color:var(--color-primary-strong);background:var(--color-primary-soft);border-color:var(--color-primary-border)}.topbar-user span,.result-row span,.student-exam span,.mini-card span{color:var(--color-muted);font-size:13px}.topbar .topbar-shortcut span{color:inherit;font-size:inherit}.student-scan-button{flex:0 0 auto}.account-menu-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;color:var(--color-surface);background:var(--color-warning);border-radius:999px;font-size:11px;font-weight:900}.account-menu{position:absolute;top:50%;right:calc(100% + 10px);z-index:var(--z-dropdown);display:flex;align-items:center;gap:4px;width:max-content;padding:6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);transform:translateY(-50%)}.account-menu button{display:flex;align-items:center;gap:8px;width:auto;min-height:40px;padding:0 10px;color:var(--color-ink-strong);background:transparent;border:0;border-radius:6px;font-size:14px;font-weight:800;text-align:left}.account-menu button:hover,.account-menu button:focus-visible{color:var(--color-primary-strong);background:var(--color-primary-soft)}.account-menu .danger-menu-item{color:var(--color-danger)}.account-menu-divider{display:block;width:1px;height:28px;margin:0 3px;background:var(--color-border)}.icon-button{display:grid;place-items:center;width:42px;height:42px;color:var(--color-muted-strong);background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:var(--radius-md)}.pwa-install-button{position:fixed;top:calc(14px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right));z-index:var(--z-overlay);display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;color:var(--color-surface);background:var(--color-primary);border:0;border-radius:var(--radius-md);box-shadow:0 12px 28px #1975863d;font-size:14px;font-weight:800}.danger-icon-button{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;color:var(--color-danger);background:var(--color-danger-soft);border:1px solid var(--color-danger-border);border-radius:var(--radius-md)}.delete-confirm-button{cursor:pointer}.delete-confirm-button.confirming,.danger-outline-button.delete-confirm-button.confirming,.danger-button.delete-confirm-button.confirming,.homework-action-button.danger.delete-confirm-button.confirming{color:var(--color-surface);background:var(--color-danger);border-color:var(--color-danger)}.danger-outline-button.delete-confirm-button,.danger-button.delete-confirm-button,.homework-action-button.danger.delete-confirm-button{min-height:32px;padding:0 9px;gap:4px;border-radius:7px;font-size:12px;font-weight:800}.danger-icon-button.delete-confirm-button{display:inline-grid;width:32px;height:32px;min-width:32px;min-height:32px;padding:0}.danger-icon-button.delete-confirm-button.confirming{display:inline-flex;width:auto;min-width:56px;padding:0 8px;font-size:12px;font-weight:900}.danger-menu-item.delete-confirm-button.confirming{color:var(--color-surface);background:var(--color-danger)}.student-row,.exam-row{align-items:center}.student-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.student-actions select{width:min(180px,34vw);min-height:40px;padding:8px 10px}.student-table{display:grid;overflow:hidden;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.student-search-bar{display:flex;align-items:center;gap:10px;padding:10px 0 6px}.student-search-bar input[type=search]{flex:1;max-width:320px;padding:7px 12px;border:1px solid var(--color-border);border-radius:7px;font-size:13.5px;outline:none;background:var(--color-surface);color:var(--color-ink)}.student-search-bar input[type=search]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.student-search-hint{font-size:12px;color:var(--color-ink-muted);white-space:nowrap}.student-bulk-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding:10px 12px;margin:10px 0;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.student-bulk-toolbar>span{color:var(--color-ink);font-size:13px;font-weight:800}.student-check-control,.student-name-check{display:flex;align-items:center;gap:10px}.student-name-check{min-width:0;flex-wrap:wrap}.student-check-control{margin-right:auto;color:var(--color-ink-strong);font-weight:800}.student-check-control input,.student-name-check input{width:18px;height:18px;accent-color:var(--color-primary)}.student-table-row{display:grid;grid-template-columns:64px minmax(150px,1fr) minmax(110px,.8fr) minmax(180px,240px) minmax(220px,auto);gap:12px;align-items:center;min-height:56px;padding:10px 12px;border-bottom:1px solid var(--color-border)}.student-table-row:last-child{border-bottom:0}.student-table-head{min-height:44px;color:var(--color-muted);background:var(--color-surface-muted);font-size:13px;font-weight:800}.student-table-row strong{color:var(--color-ink-strong);overflow-wrap:anywhere}.student-name-check strong{line-height:1.35}.student-table-row span{color:#4f6371;overflow-wrap:anywhere}.student-index{color:var(--color-primary-strong)!important;font-weight:800}.class-detail-tabs{margin-bottom:12px}.class-detail-content{width:min(100%,1320px);margin-inline:auto}.gradebook-layout{display:grid;gap:14px}.gradebook-settings-form,.gradebook-import-form{display:grid;gap:12px}.gradebook-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.gradebook-settings-grid label{display:grid;gap:6px;color:var(--color-muted);font-size:13px;font-weight:800}.gradebook-settings-grid input,.gradebook-settings-grid select{width:100%}.gradebook-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gradebook-publish-picker{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:10px 12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.gradebook-publish-picker strong{color:var(--color-ink-strong)}.gradebook-publish-picker label{display:inline-flex;align-items:center;gap:6px;color:var(--color-muted);font-size:13px;font-weight:800}.gradebook-publish-picker input{width:16px;height:16px}.gradebook-import-issues{display:grid;gap:8px;padding:10px 12px;color:var(--color-warning);background:#fff8ea;border:1px solid #ead8ae;border-radius:8px;font-size:13px}.gradebook-import-issues strong{color:var(--color-warning)}.gradebook-import-issues ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.gradebook-import-issues li{display:grid;grid-template-columns:82px minmax(90px,.7fr) minmax(160px,1.4fr);gap:8px;align-items:start}.gradebook-import-issues span,.gradebook-import-issues b,.gradebook-import-issues em{min-width:0;overflow-wrap:anywhere}.gradebook-import-issues b{color:var(--color-muted-strong)}.gradebook-import-issues em{color:var(--color-warning);font-style:normal}.gradebook-import-issues p{margin:0;color:var(--color-warning);font-weight:700}.gradebook-publish-state{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding:10px 12px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:8px;font-size:13px;font-weight:800}.gradebook-table{width:fit-content;max-width:100%;margin-inline:auto;overflow-x:auto;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.homework-gradebook-page{display:grid;gap:16px;width:100%;min-width:0}.teacher-homework-page,.homework-gradebook-page .panel,.homework-gradebook-table{min-width:0}.homework-gradebook-table{width:100%;max-width:100%}.homework-gradebook-hero{background:linear-gradient(135deg,#245260,#4e7660)}.attendance-workspace-page{min-width:0}.attendance-gradebook-hero{background:linear-gradient(135deg,#245664,#4f7658)}.attendance-gradebook-status{font-weight:850}.attendance-gradebook-status.present{color:var(--color-success-ink);background:#edf9f1}.attendance-gradebook-status.late{color:#a76415;background:#fff7e7}.attendance-gradebook-status.absent{color:#9a5d59;background:#fff6f4}.attendance-gradebook-status.leave{color:#5f507f;background:#f5f0fb}.attendance-gradebook-status.unmarked{color:#76613b;background:#fffaf0}.learning-intervention-page{min-width:0}.learning-intervention-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.learning-intervention-summary article,.learning-intervention-card,.student-intervention-list article{border:1px solid #d9e7eb;border-radius:12px;background:var(--color-surface)}.learning-intervention-summary article{display:grid;gap:4px;padding:16px}.learning-intervention-summary span,.learning-intervention-card header span,.learning-intervention-task-list span,.student-intervention-list header span{color:var(--color-muted);font-size:12px;font-weight:800}.learning-intervention-summary strong{color:var(--color-primary-strong);font-size:28px;line-height:1}.learning-intervention-summary small{color:var(--color-muted);font-weight:700}.learning-intervention-suggestions,.learning-intervention-task-list,.student-intervention-list{display:grid;gap:12px}.learning-intervention-card{padding:16px}.learning-intervention-card header,.learning-intervention-card footer,.learning-intervention-task-list article,.student-intervention-list article{display:flex;align-items:center;justify-content:space-between;gap:14px}.learning-intervention-card header>div,.learning-intervention-task-list article>div{min-width:0}.learning-intervention-card h3,.learning-intervention-task-list strong,.student-intervention-list strong{display:block;margin:3px 0;color:var(--color-ink-strong);font-size:17px}.learning-intervention-card header p,.learning-intervention-reason,.learning-intervention-task-list p,.learning-intervention-task-list small,.student-intervention-list p,.student-intervention-list small{margin:0;color:var(--color-muted);line-height:1.55}.learning-intervention-card header>b{flex:0 0 auto;padding:6px 9px;color:var(--color-success-ink);background:#edf9f1;border-radius:999px;font-size:12px}.learning-intervention-reason{margin-top:10px;padding:9px 11px;background:var(--color-surface-muted);border-radius:8px;font-size:13px}.learning-intervention-students{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.learning-intervention-students label{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;color:var(--color-ink);background:#f5fafb;border:1px solid #d9e7eb;border-radius:8px;font-size:13px;font-weight:750}.learning-intervention-students input{width:auto;min-height:auto}.learning-intervention-card footer{align-items:flex-start}.learning-intervention-card footer span{max-width:70%;color:var(--color-muted);font-size:13px;line-height:1.5}.learning-intervention-task-list article,.student-intervention-list article{padding:14px 16px}.learning-intervention-task-list article>div{display:grid;gap:3px}.student-intervention-list article{display:grid;grid-template-columns:minmax(0,1fr) auto}.student-intervention-list header,.student-intervention-list p,.student-intervention-list small{grid-column:1}.student-intervention-list button,.student-intervention-list b{grid-column:2;grid-row:1 / span 3;align-self:center}.student-intervention-list b{color:var(--color-success-ink)}.intervention-student-hero{background:linear-gradient(135deg,#245664,#4f7658)}@media(max-width:760px){.learning-intervention-summary{grid-template-columns:1fr}.learning-intervention-card header,.learning-intervention-card footer,.learning-intervention-task-list article{align-items:stretch;flex-direction:column}.learning-intervention-card footer span{max-width:none}}.intervention-composer{overflow:hidden;border:1px solid #d5e4e8;border-radius:14px;background:var(--color-surface);transition:border-color .18s ease,box-shadow .18s ease}.intervention-composer.is-open{border-color:#83b9c6;box-shadow:0 10px 28px #1d5a6817}.intervention-composer-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 18px 14px}.intervention-composer-header>div:first-child{min-width:0}.intervention-composer-header span{color:var(--color-muted);font-size:12px;font-weight:800}.intervention-composer-header h3{margin:4px 0;color:var(--color-ink-strong);font-size:18px;letter-spacing:-.01em}.intervention-composer-header p{margin:0;color:var(--color-muted);font-size:13px}.intervention-composer-meta{display:flex;align-items:center;gap:10px;flex:0 0 auto}.intervention-composer-meta b{padding:6px 9px;color:var(--color-success-ink);background:#edf9f1;border-radius:999px;font-size:12px;white-space:nowrap}.intervention-composer>.learning-intervention-reason,.intervention-composer>.field-hint{display:block;margin:0 18px 14px}.intervention-evidence{margin:0 18px 13px;border:1px solid #d9e8eb;border-radius:9px;background:#fbfdfe}.intervention-evidence summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:39px;padding:0 11px;color:#166c7b;cursor:pointer;font-size:13px;font-weight:850;list-style:none}.intervention-evidence summary::-webkit-details-marker{display:none}.intervention-evidence summary b{color:#5f786f;font-size:12px}.intervention-evidence>.field-hint{margin:0;padding:0 11px 11px}.intervention-evidence-list{display:grid;gap:9px;padding:0 11px 11px;border-top:1px solid #e4eef0}.intervention-evidence-list article{display:grid;gap:8px;padding:10px;background:var(--color-surface);border:1px solid #e0ebed;border-radius:8px}.intervention-evidence-list article>header{display:flex;align-items:start;justify-content:space-between;gap:10px}.intervention-evidence-list article>header>div{display:grid;gap:2px}.intervention-evidence-list article>header strong{color:var(--color-ink-strong);font-size:13px}.intervention-evidence-list article>header span,.intervention-evidence-list article>header b{color:var(--color-muted);font-size:12px;font-weight:750}.intervention-evidence-question{display:grid;grid-template-columns:30px minmax(0,1fr);gap:7px;padding:8px;color:#425b66;background:#f4f8f9;border-radius:6px;font-size:13px;line-height:1.5}.intervention-evidence-question>span{color:#667e88;font-size:12px;font-weight:850}.intervention-evidence-example{display:grid;grid-template-columns:78px minmax(0,1fr);gap:4px 8px;padding-top:7px;border-top:1px dashed #dce8ea;color:#526b75;font-size:12px}.intervention-evidence-example strong{color:var(--color-ink-strong)}.intervention-evidence-example p{grid-column:2;margin:0;line-height:1.5}.intervention-evidence-example small{grid-column:2;color:#95724a;line-height:1.45}.intervention-composer-body{display:grid;gap:14px;padding:17px 18px 18px;border-top:1px solid #e3edf0;background:linear-gradient(180deg,#fbfdfe,#f7fafb)}.intervention-step-heading{display:flex;align-items:flex-start;gap:9px}.intervention-step-heading>span,.intervention-step-number{display:grid;width:22px;height:22px;place-items:center;color:var(--color-on-primary);background:#167f91;border-radius:50%;font-size:12px;font-weight:850}.intervention-step-heading div{display:grid;gap:2px}.intervention-step-heading strong{color:var(--color-ink-strong);font-size:15px}.intervention-step-heading small{color:var(--color-muted);font-size:12px;line-height:1.45}.intervention-source-tabs{display:inline-flex;width:fit-content;max-width:100%;padding:3px;gap:3px;background:#eaf3f5;border-radius:9px}.intervention-source-tabs button{padding:7px 12px;border:0;color:#4d6570;background:transparent;border-radius:7px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.intervention-source-tabs button.active{color:#086f80;background:var(--color-surface);box-shadow:0 1px 3px #0d424f21}.intervention-question-list{display:grid;gap:7px}.intervention-question-row{display:grid;grid-template-columns:auto 25px minmax(0,1fr);align-items:start;gap:9px;padding:11px 12px;border:1px solid #dbe8eb;background:var(--color-surface);border-radius:9px;cursor:pointer}.intervention-question-row:hover{border-color:#9ccbd4}.intervention-question-row input{width:auto;min-height:auto;margin-top:3px}.intervention-question-order{color:#74909a;font-size:12px;font-weight:850;line-height:1.55}.intervention-question-row>span:last-child{min-width:0;color:var(--color-ink);font-size:13px;line-height:1.5}.intervention-question-row strong{margin-right:7px;color:var(--color-ink-strong);font-size:13px}.intervention-question-row em{color:#728f5f;font-size:11px;font-style:normal;font-weight:750}.intervention-question-row .latex-text{display:block;margin-top:3px;color:#526773}.intervention-ai-workspace{display:grid;gap:10px}.intervention-ai-controls{display:grid;grid-template-columns:100px 110px minmax(180px,1fr) auto;align-items:end;gap:8px}.intervention-ai-controls label{display:grid;gap:4px;color:var(--color-muted);font-size:11px;font-weight:800}.intervention-ai-controls select,.intervention-ai-controls input{min-height:34px;padding:6px 8px;font-size:13px}.intervention-ai-controls .compact-button{min-height:34px;white-space:nowrap}.intervention-student-selector{border-top:1px solid #e1ebed;border-bottom:1px solid #e1ebed}.intervention-student-selector summary{display:flex;align-items:center;gap:9px;min-height:48px;cursor:pointer;list-style:none}.intervention-student-selector summary::-webkit-details-marker{display:none}.intervention-student-selector summary>span:nth-child(2){display:grid;gap:1px}.intervention-student-selector summary strong{color:var(--color-ink-strong);font-size:14px}.intervention-student-selector summary small{color:var(--color-muted);font-size:12px}.intervention-student-selector summary b{margin-left:auto;color:#167f91;font-size:13px}.intervention-student-selector>div{display:flex;flex-wrap:wrap;gap:7px;padding:0 0 13px 31px}.intervention-student-selector label{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;color:var(--color-ink);background:var(--color-surface);border:1px solid #d6e5e8;border-radius:7px;font-size:12px;font-weight:750}.intervention-student-selector input{width:auto;min-height:auto}.intervention-composer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:1px}.intervention-composer-footer span{color:var(--color-muted);font-size:13px;font-weight:750}@media(max-width:760px){.intervention-composer-header,.intervention-composer-footer{align-items:stretch;flex-direction:column}.intervention-composer-meta{justify-content:space-between}.intervention-ai-controls{grid-template-columns:1fr 1fr}.intervention-ai-controls .intervention-ai-requirement,.intervention-ai-controls .compact-button{grid-column:1 / -1}.intervention-student-selector>div{padding-left:0}.intervention-evidence-example{grid-template-columns:1fr}.intervention-evidence-example p,.intervention-evidence-example small{grid-column:1}}.teacher-homework-page .homework-workspace-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.homework-gradebook-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:10px}.homework-gradebook-filters{display:grid;grid-template-columns:repeat(4,minmax(132px,1fr));gap:10px;flex:1 1 auto}.homework-gradebook-filters label{display:grid;gap:6px;color:var(--color-muted);font-size:12px;font-weight:850}.homework-gradebook-filters select,.homework-gradebook-filters input{width:100%}.homework-gradebook-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}.homework-gradebook-hint{margin:0 0 14px}.homework-gradebook-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin-bottom:12px;padding:10px 12px;color:var(--color-muted);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;font-size:13px;font-weight:750}.homework-gradebook-summary b{margin-right:4px;color:var(--color-ink-strong);font-size:16px}.homework-gradebook-table{overflow-x:auto;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.homework-gradebook-native-table{width:max-content;min-width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0}.homework-gradebook-native-table th,.homework-gradebook-native-table td{min-width:0;height:52px;padding:10px 12px;color:var(--color-ink);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;word-break:break-all;line-height:1.4}.homework-gradebook-native-table tr>:last-child{border-right:0}.homework-gradebook-native-table tbody tr:last-child>*{border-bottom:0}.homework-gradebook-native-table thead th{height:68px;color:var(--color-muted);background:var(--color-surface-muted);vertical-align:top;font-size:12px;font-weight:850}.homework-gradebook-native-table tbody th{color:var(--color-ink-strong);font-weight:900}.homework-gradebook-native-table thead b{display:block;color:var(--color-ink-strong);font-size:13px}.homework-gradebook-native-table thead small{display:block;margin-top:4px;color:var(--color-muted);font-size:11px;font-weight:750;line-height:1.35}.homework-gradebook-native-table .homework-gradebook-index{padding-inline:8px;text-align:center;font-variant-numeric:tabular-nums}.homework-gradebook-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;color:var(--color-muted);font-size:13px;font-weight:800}.homework-gradebook-pagination>div{display:flex;align-items:center;gap:8px;flex:0 0 auto}.homework-gradebook-pagination label{display:inline-flex;align-items:center;gap:5px;color:var(--color-muted);font-size:12px;font-weight:800;white-space:nowrap}.homework-gradebook-pagination select{width:auto;min-height:34px;padding:4px 24px 4px 8px;font-weight:800}.homework-gradebook-row{display:grid;align-items:stretch;width:max-content;min-width:100%;border-bottom:1px solid var(--color-border)}.homework-gradebook-row:last-child{border-bottom:0}.homework-gradebook-row>span,.homework-gradebook-row>strong{display:grid;align-content:center;min-width:0;min-height:52px;padding:10px 12px;color:var(--color-ink);border-right:1px solid var(--color-border);font-size:13px;line-height:1.4;overflow-wrap:anywhere}.homework-gradebook-row>:last-child{border-right:0}.homework-gradebook-row>strong{color:var(--color-ink-strong);font-weight:900}.homework-gradebook-row>:nth-child(-n+4){white-space:normal;overflow-wrap:anywhere;word-break:break-all}.homework-gradebook-head{position:sticky;top:0;z-index:1;background:var(--color-surface-muted)}.homework-gradebook-head>span{align-content:start;min-height:68px;color:var(--color-muted);font-size:12px;font-weight:850}.homework-gradebook-head b{color:var(--color-ink-strong);font-size:13px}.homework-gradebook-head small{display:block;margin-top:4px;color:var(--color-muted);font-size:11px;font-weight:750;line-height:1.35}.homework-gradebook-score{color:var(--color-muted-strong)!important;font-weight:850}.homework-gradebook-score.graded{color:var(--color-primary-strong)!important}.homework-gradebook-score.late{color:#a76415!important;background:#fff7e7}.homework-gradebook-score.pending{color:#76613b!important;background:#fffaf0}.homework-gradebook-score.missing{color:#9a5d59!important;background:#fff6f4}@media(max-width:980px){.teacher-homework-page .homework-workspace-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-homework-page .homework-workspace-tab{grid-template-columns:auto minmax(0,1fr)}.teacher-homework-page .homework-workspace-tab span{grid-column:2}.homework-gradebook-toolbar{align-items:stretch;flex-direction:column}.homework-gradebook-actions{justify-content:flex-start}}@media(max-width:680px){.homework-gradebook-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.homework-gradebook-pagination{align-items:flex-start;flex-direction:column}}.gradebook-table-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.gradebook-table-actions .field-hint{margin:0}.gradebook-table-action-buttons,.gradebook-header-editor-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.gradebook-header-editor{display:grid;gap:12px;margin-bottom:12px;padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.gradebook-header-editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px}.gradebook-header-editor label{display:grid;gap:5px}.gradebook-header-editor label span{color:var(--color-muted);font-size:12px;font-weight:800}.gradebook-column-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.gradebook-column-editor-heading div{display:grid;gap:3px}.gradebook-column-editor-heading strong{color:var(--color-ink-strong);font-size:15px}.gradebook-column-editor-heading span,.gradebook-column-empty{color:var(--color-muted);font-size:12px;font-weight:700}.gradebook-column-editor-list{display:grid;gap:8px}.gradebook-column-editor-row{display:grid;grid-template-columns:82px minmax(160px,1fr) minmax(96px,auto);gap:10px;align-items:end;padding:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.gradebook-column-editor-row.is-hidden{background:var(--color-surface-muted);border-style:dashed}.gradebook-column-editor-row.custom{border-color:var(--color-primary-border)}.gradebook-column-type{align-self:center;width:max-content;padding:5px 8px;color:var(--color-primary);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:999px;font-size:12px;font-weight:900}.gradebook-column-empty{margin:2px 0 0}.gradebook-row{display:grid;grid-template-columns:4ch 8ch minmax(12ch,16ch) 12ch minmax(6ch,max-content) minmax(8ch,12ch) 8ch 7ch 6ch repeat(3,86px) 6ch minmax(5ch,10ch);gap:8px;align-items:center;width:max-content;min-width:0;min-height:58px;padding:10px 12px;border-bottom:1px solid var(--color-border)}.gradebook-row:last-child{border-bottom:0}.gradebook-head{min-height:42px;color:var(--color-muted);background:var(--color-surface-muted);font-size:13px;font-weight:800}.gradebook-row span{min-width:0;color:var(--color-ink);line-height:1.35;overflow-wrap:anywhere}.gradebook-student strong,.gradebook-index,.gradebook-total b,.gradebook-score-cell b{color:var(--color-ink-strong)}.gradebook-index{font-weight:900}.gradebook-score-cell{display:grid;gap:3px}.gradebook-custom-cell{display:block}.gradebook-custom-input{width:100%;min-height:34px;padding:7px 8px;color:var(--color-ink-strong);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;font-size:14px;font-weight:800}.gradebook-score-cell.editable{align-items:start}.gradebook-score-input{width:100%;min-width:0;min-height:36px;padding:7px 8px;color:var(--color-ink-strong);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;font-weight:800}.gradebook-score-input:focus{border-color:var(--color-primary);outline:2px solid rgba(22,129,143,.14)}.student-gradebook-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.student-gradebook-strip article{display:grid;gap:6px;padding:13px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.student-gradebook-strip span{color:var(--color-muted);font-size:13px;font-weight:800}.student-gradebook-strip strong{color:var(--color-ink-strong);font-size:26px;line-height:1}.student-gradebook-strip .total{background:#eaf6f6;border-color:var(--color-primary-border)}.student-gradebook-strip .total strong{color:var(--color-primary-strong)}.gradebook-score-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.gradebook-score-row small{color:var(--color-primary-strong);font-size:12px;font-weight:900;white-space:nowrap}.gradebook-analysis-hero{background:linear-gradient(135deg,var(--color-primary-strong),#4d6734)}.gradebook-analysis-page{width:min(calc(100vw - 36px),1080px);justify-self:center;gap:18px}.gradebook-analysis-page .panel{border-color:var(--color-border);box-shadow:none}.gradebook-analysis-page .student-hero{padding:22px 24px}.gradebook-analysis-console{display:grid;gap:14px;padding:16px}.gradebook-console-head,.gradebook-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.gradebook-console-head>div:first-child,.gradebook-section-head>div{display:grid;gap:4px;min-width:0}.gradebook-console-head span,.gradebook-section-head span{color:var(--color-muted);font-size:13px;font-weight:900}.gradebook-console-head strong,.gradebook-section-head strong{color:var(--color-ink-strong);font-size:20px;line-height:1.25}.gradebook-console-head small,.gradebook-section-head small{color:var(--color-muted);font-weight:800}.gradebook-console-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px;justify-content:flex-end}.gradebook-primary-filters{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(220px,1.1fr) minmax(160px,.8fr) auto;gap:10px;align-items:end}.gradebook-primary-filters label{gap:6px;min-width:0;color:var(--color-muted);font-weight:900}.gradebook-primary-filters label>span{font-size:12px}.gradebook-primary-filters select,.gradebook-advanced-filters select{width:100%}.gradebook-more-filter-button{min-width:118px;justify-content:center}.gradebook-advanced-filters{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px;padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md)}.gradebook-summary-panel{display:grid;gap:14px;padding:16px}.gradebook-insight-line{margin:0;padding:12px 14px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:var(--radius-md);font-weight:900;line-height:1.55}.gradebook-chart-layout{display:grid;gap:14px}.gradebook-chart-layout .gradebook-distribution-stack{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start}.gradebook-overview-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);gap:14px;align-items:start}.gradebook-distribution-stack{display:grid;gap:14px}.gradebook-segment-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.gradebook-segment-wide{grid-column:1 / -1}.gradebook-segment-panel{display:grid;gap:14px;padding:16px}.gradebook-segment-tabs{display:flex;flex-wrap:wrap;gap:8px}.gradebook-segment-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 12px;color:var(--color-muted-strong);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:900}.gradebook-segment-tabs button.active{color:var(--color-primary-strong);background:var(--color-primary-soft);border-color:var(--color-primary-border)}.gradebook-segment-tabs span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;color:inherit;background:var(--color-surface);border:1px solid currentColor;border-radius:999px;font-size:12px}.gradebook-detail-workspace{--gradebook-detail-scroll-height: clamp(420px, calc(100vh - 300px) , 720px);--gradebook-detail-panel-height: calc(var(--gradebook-detail-scroll-height) + 126px);display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:14px;align-items:start}.gradebook-detail-main,.gradebook-risk-column{min-width:0}.gradebook-risk-column{position:sticky;top:12px}.gradebook-risk-column>.panel{display:flex;max-height:var(--gradebook-detail-panel-height);min-height:0;overflow:hidden;flex-direction:column}.gradebook-detail-workspace .gradebook-analysis-table{max-height:var(--gradebook-detail-scroll-height);overflow:auto}.gradebook-analysis-filter select{min-width:190px}.gradebook-analysis-filter{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.gradebook-analysis-filter button{width:100%;justify-content:center}.gradebook-filter-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-self:stretch}.gradebook-scope-summary{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:12px;padding:10px 12px;color:var(--color-muted);background:#f3fafb;border:1px solid #d5e9ed;border-radius:8px;font-weight:800}.gradebook-scope-summary strong{color:var(--color-ink-strong);font-size:15px}.gradebook-scope-summary span{color:#667b89}.gradebook-filter-summary{display:grid;gap:8px;margin-top:12px;color:var(--color-muted);font-weight:800}.gradebook-filter-summary>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.gradebook-filter-summary b{display:inline-flex;align-items:center;min-height:30px;padding:4px 9px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid #c9e3e8;border-radius:999px;font-size:12px}.gradebook-detail-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;color:var(--color-muted);font-weight:900}.gradebook-detail-pager>div{display:inline-flex;align-items:center;gap:8px}.gradebook-detail-pager b{color:var(--color-ink-strong)}.gradebook-analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.gradebook-analysis-stat{display:grid;gap:8px;min-height:118px;padding:15px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.gradebook-analysis-page .gradebook-analysis-stat{min-height:98px;padding:14px}.gradebook-analysis-stat span{color:var(--color-muted);font-size:13px;font-weight:900}.gradebook-analysis-stat strong{color:var(--color-ink-strong);font-size:30px;line-height:1}.gradebook-analysis-page .gradebook-analysis-stat strong{font-size:26px}.gradebook-analysis-stat small{color:var(--color-muted);font-weight:800}.gradebook-analysis-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:14px;align-items:start}.gradebook-bar-chart{display:grid;gap:11px}.gradebook-bar-chart article{display:grid;grid-template-columns:62px minmax(0,1fr) 42px;gap:10px;align-items:center}.gradebook-bar-chart span,.gradebook-bar-chart strong{color:#516777;font-size:13px;font-weight:900}.gradebook-bar-chart div{height:18px;overflow:hidden;background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:999px}.gradebook-bar-chart b{display:block;height:100%;min-width:8px;border-radius:inherit}.gradebook-pie-panel{display:grid;grid-template-columns:144px minmax(0,1fr);gap:16px;align-items:center}.gradebook-pie{position:relative;display:grid;place-items:center;width:136px;aspect-ratio:1;border-radius:50%;box-shadow:inset 0 0 0 1px #10253214}.gradebook-pie:after{content:"";position:absolute;inset:32px;background:var(--color-surface);border-radius:50%;box-shadow:0 0 0 1px var(--color-border)}.gradebook-pie span{position:relative;z-index:1;color:var(--color-ink-strong);font-size:28px;font-weight:900}.gradebook-pie-legend,.gradebook-source-summary{display:flex;flex-wrap:wrap;gap:8px}.gradebook-pie-legend span,.gradebook-source-summary span{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 8px;color:var(--color-muted);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px;font-size:12px;font-weight:900}.gradebook-pie-legend i{width:9px;height:9px;border-radius:50%}.gradebook-source-summary{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}.gradebook-source-summary b{color:var(--color-ink-strong)}.gradebook-stacked-bar{display:flex;width:100%;height:9px;overflow:hidden;background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:999px}.gradebook-stacked-bar i{display:block;height:100%;min-width:4px}.gradebook-stacked-bar.empty{min-height:9px}.gradebook-segment-table{display:grid;overflow-x:auto;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.gradebook-segment-row{display:grid;grid-template-columns:minmax(150px,1.3fr) 72px minmax(112px,.8fr) 76px 76px minmax(150px,1.2fr);gap:10px;align-items:center;min-width:760px;min-height:54px;padding:10px 12px;border-bottom:1px solid var(--color-border)}.gradebook-segment-row:last-child{border-bottom:0}.gradebook-segment-row.head{min-height:40px;color:var(--color-muted);background:var(--color-surface-muted);font-size:13px;font-weight:900}.gradebook-segment-row .gradebook-stacked-bar{grid-column:1 / -1}.segment-name{display:grid;gap:2px;min-width:0}.segment-name strong{color:var(--color-ink-strong);overflow-wrap:anywhere}.segment-name small,.gradebook-segment-row span{color:var(--color-muted);font-weight:800}.segment-score{position:relative;display:grid;align-items:center;min-height:26px;overflow:hidden;background:#edf6f7;border:1px solid #d4e8eb;border-radius:999px}.segment-score b{position:absolute;inset:0 auto 0 0;min-width:6px;background:linear-gradient(90deg,#0d7480,#4d8b61);border-radius:inherit;opacity:.28}.segment-score em{position:relative;z-index:1;justify-self:center;color:var(--color-ink-strong);font-style:normal;font-weight:900}.gradebook-comparison-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.gradebook-comparison-strip article{display:grid;gap:8px;padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.gradebook-comparison-strip span{color:#5e7382;font-size:13px;font-weight:900}.gradebook-comparison-strip div{display:grid;gap:5px}.gradebook-comparison-strip b,.gradebook-comparison-strip strong{color:var(--color-ink-strong);font-size:18px;line-height:1.15}.gradebook-comparison-strip .positive,.gradebook-analysis-lists .positive{color:var(--color-success)}.gradebook-comparison-strip .negative,.gradebook-analysis-lists .negative{color:var(--color-danger)}.gradebook-analysis-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.gradebook-analysis-lists section,.gradebook-risk-list article{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.gradebook-analysis-lists section{display:grid;gap:8px;padding:12px}.gradebook-analysis-lists h3{margin:0;color:var(--color-ink-strong);font-size:16px}.gradebook-analysis-lists p,.gradebook-risk-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0}.gradebook-analysis-lists p{min-height:34px;color:var(--color-muted);font-weight:900}.gradebook-analysis-lists span,.gradebook-risk-list div{display:grid;gap:2px;min-width:0}.gradebook-analysis-lists small,.gradebook-risk-list span{color:#708493;font-size:12px;font-weight:800;line-height:1.35}.gradebook-analysis-lists b{color:var(--color-success);white-space:nowrap}.gradebook-risk-list{display:grid;gap:8px;min-height:0;padding-right:4px;overflow-y:auto;scrollbar-gutter:stable}.gradebook-risk-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:flex-start;min-height:0;padding:10px 12px}.gradebook-risk-list article>div{display:grid;gap:4px;min-width:0}.gradebook-risk-list strong{color:var(--color-ink-strong);line-height:1.2}.gradebook-risk-list b{padding-top:2px;color:var(--color-danger);white-space:nowrap}.gradebook-risk-list p{display:flex;flex-wrap:wrap;gap:5px;margin:3px 0 0;min-width:0}.gradebook-risk-list i{display:inline-flex;align-items:center;min-height:22px;padding:2px 6px;color:var(--color-danger);background:#fff2ef;border:1px solid #f0c8bf;border-radius:999px;font-size:11px;font-style:normal;font-weight:900}.gradebook-analysis-table{overflow-x:auto;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);scrollbar-gutter:stable}.gradebook-analysis-row{display:grid;grid-template-columns:minmax(108px,.9fr) minmax(92px,1fr) minmax(96px,.85fr) minmax(132px,1.1fr) minmax(100px,.9fr) minmax(80px,.7fr) minmax(76px,.6fr) minmax(96px,.75fr);gap:10px;align-items:center;min-width:930px;min-height:46px;padding:9px 11px;border-bottom:1px solid var(--color-border)}.gradebook-analysis-page .gradebook-analysis-row{min-width:1080px;min-height:42px}.gradebook-analysis-row:last-child{border-bottom:0}.gradebook-analysis-row.head{position:sticky;top:0;z-index:1;min-height:40px;color:var(--color-muted);background:var(--color-surface-muted);font-size:13px;font-weight:900}.gradebook-analysis-row span{min-width:0;color:var(--color-muted);line-height:1.35;overflow-wrap:anywhere}.gradebook-analysis-row strong{color:var(--color-ink-strong)}.student-approval-panel{display:grid;gap:12px;margin:12px 0;padding:14px;border:1px solid #b8dce0;border-radius:8px;background:#f0fbfb}.student-approval-panel .row-between{align-items:flex-start}.student-approval-panel strong{color:var(--color-ink-strong)}.student-approval-panel span{color:#587083;font-weight:700}.student-approval-list{display:grid;gap:10px}.student-approval-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #d6e8ec;border-radius:8px;background:var(--color-surface)}.student-approval-list article>div:first-child{display:grid;gap:4px;min-width:0}.student-approval-badge{display:inline-flex;align-items:center;width:fit-content;padding:3px 8px;border-radius:999px;color:#526876!important;background:var(--color-surface-soft);font-size:12px;font-weight:900;line-height:1.2;white-space:nowrap}.student-approval-badge.pending{color:#9a5a00!important;background:#fff4d8}.student-approval-badge.approved{color:#0f6c4c!important;background:#e2f6ec}.student-approval-badge.rejected{color:var(--color-danger)!important;background:#fde7e7}.action-cell{justify-content:flex-end;flex-wrap:wrap}.content{display:grid;gap:16px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat,.mini-card,.student-exam{padding:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.stat{display:grid;gap:10px}.stat span{color:var(--color-muted)}.stat strong{font-size:30px}.dashboard-page{gap:14px}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);gap:18px;align-items:center;padding:22px;color:var(--color-surface);background:linear-gradient(135deg,#174d59,#3e7658);border-radius:8px;box-shadow:0 18px 40px #1f4b5729}.dashboard-hero span{color:#ffffffc7;font-weight:700}.dashboard-hero h1{margin:8px 0;font-size:34px;line-height:1.15}.dashboard-hero p{max-width:560px;margin:0;color:#ffffffdb;line-height:1.65}.dashboard-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dashboard-hero-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;color:var(--color-surface);background:#ffffff21;border:1px solid rgba(255,255,255,.28);border-radius:8px;font-weight:700}.dashboard-hero-actions button:hover,.dashboard-hero-actions button:focus-visible{background:#fff3;border-color:#ffffff75}.dashboard-stat-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:12px}.dashboard-stat{display:grid;align-content:space-between;gap:7px;min-height:112px;padding:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.dashboard-stat span,.dashboard-stat small{color:#627383}.dashboard-stat strong{color:var(--color-ink-strong);font-size:32px}.primary-stat{background:#f3faf8;border-color:var(--color-success-border)}.dashboard-progress{height:10px;overflow:hidden;background:#dcebe8;border-radius:999px}.dashboard-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-success));border-radius:inherit}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:14px}.todo-list{display:grid;gap:10px}.todo-list button{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center;min-height:66px;padding:12px;text-align:left;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.todo-list b{color:var(--color-primary-strong);font-size:28px;text-align:center}.todo-list span{color:var(--color-muted)}.operation-dashboard{gap:14px}.operation-hero{background:linear-gradient(135deg,#22555f,#557a4c)}.operation-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.operation-kpi-card{display:grid;align-content:space-between;gap:7px;min-height:112px;padding:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.operation-kpi-card.warning{background:var(--color-warning-soft);border-color:var(--color-warning-border)}.operation-kpi-card.danger{background:var(--color-danger-soft);border-color:var(--color-danger-border)}button.operation-kpi-card.clickable{cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}button.operation-kpi-card.clickable:hover{border-color:var(--color-primary);box-shadow:0 0 0 3px #1975861a}button.operation-kpi-card.clickable:focus-visible{outline:none;box-shadow:var(--focus-ring)}.operation-kpi-card span,.operation-kpi-card small{color:var(--color-muted)}.operation-kpi-card span{font-size:13px;font-weight:800}.operation-kpi-card strong{color:var(--color-ink-strong);font-size:32px}.operation-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:14px;align-items:start}.operation-left-column,.operation-right-column{display:grid;gap:14px;align-content:start;min-width:0}.operation-left-column>.panel,.operation-right-column>.panel{min-width:0}.operation-class-list,.operation-alert-stack,.operation-warning-list,.operation-event-list,.operation-quick-list{display:grid;gap:8px}.operation-class-list{max-height:470px;overflow:auto;padding-right:2px}.operation-left-column .operation-event-list{max-height:390px;overflow:auto;padding-right:2px}.operation-action-panel{display:grid;gap:12px}.operation-action-panel .operation-warning-types{margin-bottom:0}.operation-action-panel .operation-quick-list{grid-template-columns:repeat(3,minmax(0,1fr))}.operation-class-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;width:100%;padding:12px;text-align:left;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md)}.operation-class-row.active{background:var(--color-primary-soft);border-color:var(--color-primary);box-shadow:0 0 0 2px #1680921f}.operation-class-row.warning{background:var(--color-warning-soft);border-color:var(--color-warning-border)}.operation-class-row.danger{background:var(--color-danger-soft);border-color:var(--color-danger-border)}.operation-class-main{display:flex;gap:10px;align-items:center;min-width:0}.operation-class-main b{display:grid;flex:0 0 auto;place-items:center;width:34px;height:34px;color:var(--color-primary-strong);background:var(--color-primary-soft);border-radius:999px}.operation-class-main div{display:grid;gap:3px;min-width:0}.operation-class-main strong,.operation-event-row strong,.operation-warning-student strong,.operation-quick-list strong{color:var(--color-ink-strong)}.operation-event-row div,.operation-warning-student>div:first-child{display:grid;gap:3px;min-width:0}.operation-class-main span,.operation-class-tags span,.operation-class-metrics span,.operation-event-row span,.operation-warning-student span,.operation-quick-list small,.operation-alert-card span,.operation-detail-grid span,.operation-trend-card span,.operation-section-title span{color:var(--color-muted);font-size:13px}.operation-class-tags{display:flex;grid-column:1 / -1;gap:6px;flex-wrap:wrap}.operation-class-tags span{padding:4px 8px;background:#eef6f7;border:1px solid #d6e8ed;border-radius:999px;font-weight:800}.operation-class-metrics{display:grid;gap:4px;justify-items:end}.operation-class-metrics strong{color:var(--color-primary-strong);font-size:20px}.operation-detail{display:grid;gap:12px}.operation-warning-list:has(.empty-state){min-height:80px}.operation-alert-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:8px}.operation-alert-main{display:grid;gap:4px}.operation-alert-metric{font-size:20px;font-weight:700;flex-shrink:0;color:var(--color-ink-strong)}.operation-alert-card.danger{background:var(--color-danger-soft);border-color:var(--color-danger-border)}.operation-alert-card.normal{background:var(--color-success-soft);border-color:var(--color-success-border)}.operation-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.operation-detail-grid article{display:grid;gap:5px;padding:11px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.operation-detail-grid strong{color:var(--color-ink-strong);font-size:24px}.operation-trend-card{display:grid;gap:10px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.operation-trend-bars{display:grid;gap:8px}.operation-trend-bars div{display:grid;grid-template-columns:54px minmax(0,1fr) 52px;gap:8px;align-items:center}.operation-trend-bars i{display:block;height:9px;overflow:hidden;background:var(--color-border);border-radius:999px}.operation-trend-bars i:before{display:block;width:var(--value);height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-success));border-radius:inherit;content:""}.operation-trend-bars b{color:var(--color-primary-strong);text-align:right}.operation-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.operation-warning-student{display:grid;gap:7px;padding:10px;background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:var(--radius-md)}.operation-warning-student.danger{background:var(--color-danger-soft);border-color:var(--color-danger-border)}.operation-risk-tags{display:flex;gap:6px;flex-wrap:wrap}.operation-risk-tags em{padding:3px 8px;color:#9a3412;background:#fff1df;border-radius:999px;font-size:12px;font-style:normal;font-weight:900}.operation-footer-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:14px}.operation-event-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.operation-event-row time{color:#6a7c87;font-size:12px}.operation-event-dot{display:block;width:10px;height:10px;background:var(--color-primary);border-radius:999px}.operation-event-row.warning .operation-event-dot{background:var(--color-warning)}.operation-quick-list svg{color:var(--color-primary-strong)}.operation-quick-list span{display:grid;gap:3px}.operation-warning-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:8px;margin-bottom:10px}.operation-warning-types article{display:grid;gap:4px;padding:10px;background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:8px}.operation-warning-types span,.operation-warning-types p{margin:0;color:var(--color-muted);font-size:13px}.operation-warning-types strong{color:var(--color-warning);font-size:22px}.warning-hero{background:linear-gradient(135deg,var(--color-primary-strong),#6d6041)}.warning-toolbar{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(150px,.8fr) minmax(180px,1fr) auto;gap:10px;align-items:center}.warning-layout{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:14px;align-items:start}.kg-mastery-card{border-radius:12px;overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface);margin-top:14px}.kg-mastery-card.loading-card{padding:16px;color:var(--color-ink-muted);font-size:13px}.kg-mastery-header{background:var(--color-primary-soft);border-bottom:1px solid var(--color-primary-border);padding:9px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px}.kg-mastery-header span{font-size:12px;font-weight:600;color:var(--color-primary)}.kg-mastery-header strong{font-size:12px;font-weight:500;color:var(--color-muted)}.kg-mastery-kpis{display:flex;gap:1px;background:var(--color-border)}.kg-mastery-kpi{flex:1;display:flex;flex-direction:column;align-items:center;padding:12px 8px;background:var(--color-surface);gap:2px}.kg-mastery-kpi b{font-size:22px;font-weight:700;color:var(--color-primary);line-height:1}.kg-mastery-kpi span{font-size:11px;color:var(--color-ink-muted)}.kg-mastery-nodes{padding:12px 14px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--color-border)}.kg-mastery-nodes-title{font-size:12px;font-weight:600;color:var(--color-ink-muted);margin-bottom:2px}.kg-mastery-row{display:grid;grid-template-columns:90px 1fr 36px;align-items:center;gap:8px;font-size:12px}.kg-mastery-row span{color:var(--color-ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kg-mastery-bar-track{height:7px;background:var(--color-surface-raised);border-radius:4px;overflow:hidden}.kg-mastery-bar-fill{height:100%;border-radius:4px;transition:width .4s ease}.kg-mastery-row b{font-size:12px;font-weight:600;text-align:right}.kg-mastery-weak{display:flex;align-items:flex-start;gap:10px;padding:10px 14px 12px;background:#fff7ed;border-top:1px solid #fed7aa}.kg-mastery-weak-icon{font-size:15px;line-height:1.4;flex-shrink:0}.kg-mastery-weak strong{font-size:13px;font-weight:600;color:#92400e;display:block}.kg-mastery-weak span{font-size:12px;color:#b45309}.warning-sidebar{position:sticky;top:16px;display:grid;gap:14px;max-height:calc(100vh - 32px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-primary-border) transparent;padding-right:2px}.warning-list,.warning-type-list{display:grid;gap:10px}.warning-card{display:grid;gap:10px;padding:12px;background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:var(--radius-md)}.warning-card.danger{background:var(--color-danger-soft);border-color:var(--color-danger-border)}.warning-card.overdue{border-color:var(--color-danger-border);box-shadow:0 10px 28px #b3261e14}.warning-card.resolved{opacity:.72}.warning-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.warning-card-head div,.warning-type-list div{display:grid;gap:4px;min-width:0}.warning-card-head strong,.warning-type-list strong{color:var(--color-ink-strong)}.warning-card-head span,.warning-card p,.warning-evidence span,.warning-type-list span{color:var(--color-muted);font-size:13px;line-height:1.45}.warning-card-head b{flex:0 0 auto;padding:5px 8px;color:var(--color-warning);background:var(--color-warning-soft);border-radius:999px;font-size:12px}.warning-card.danger .warning-card-head b{color:var(--color-danger);background:var(--color-danger-soft)}.warning-card p{margin:0}.warning-evidence{display:flex;gap:8px;flex-wrap:wrap}.warning-evidence span{padding:4px 8px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px}.warning-card textarea{min-height:72px}.warning-follow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.warning-follow-grid label{display:grid;gap:5px;color:var(--color-ink);font-size:13px;font-weight:800}.warning-card-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.warning-timeline{display:grid;gap:8px;padding:10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-muted)}.warning-timeline article{display:grid;gap:5px;padding:9px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.warning-timeline article div{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.warning-timeline span,.warning-timeline p,.warning-timeline small{margin:0;color:var(--color-muted);font-size:13px;line-height:1.45}.warning-type-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.warning-type-list b{color:var(--color-ink-strong);font-size:26px;font-weight:800;line-height:1;padding-top:2px}.warning-type-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}.chip-danger,.chip-warning{display:inline-block;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:700}.chip-danger{color:var(--color-danger);background:var(--color-danger-soft);border:1px solid var(--color-danger-border)}.chip-warning{color:var(--color-warning);background:var(--color-warning-soft);border:1px solid var(--color-warning-border)}.warning-type-bar-track{height:4px;margin-top:8px;background:var(--color-warning-soft);border-radius:2px;overflow:hidden}.warning-type-bar-fill{height:100%;background:var(--color-danger);border-radius:2px;transition:width var(--transition-fast)}.warning-settings-panel{display:grid;gap:10px}.warning-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.warning-settings-grid label{display:grid;gap:5px;color:var(--color-ink);font-size:13px;font-weight:800}.reports-hero{background:linear-gradient(135deg,var(--color-primary-strong),#4f6d83)}.reports-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.report-mode-grid{display:grid;gap:10px}.report-mode-card{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;text-align:left;color:var(--color-ink-strong);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.report-mode-card.active{border-color:var(--color-primary-strong);background:var(--color-primary-soft);box-shadow:0 0 0 3px #0d697717}.report-mode-card span{display:grid;gap:3px}.report-mode-card small{color:var(--color-muted);line-height:1.4}.report-mode-card b{padding:4px 8px;color:var(--color-primary-strong);background:var(--color-surface);border:1px solid var(--color-primary-border);border-radius:999px;font-size:12px;white-space:nowrap}.report-panel-wide{grid-column:1 / -1}.report-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:12px}.report-config-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.report-config-card label{display:grid;gap:6px;color:var(--color-ink);font-size:13px;font-weight:800}.report-config-card .primary,.report-history-toolbar .ghost-button,.report-action-bar .ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.report-scope-hint{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px;padding:10px 12px;color:var(--color-muted);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.report-scope-hint strong{color:var(--color-ink-strong)}.report-view{display:grid;gap:12px}.report-document-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:14px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.report-document-head div{display:grid;gap:4px}.report-document-head span{color:var(--color-muted);font-size:13px}.report-document-head strong{color:var(--color-ink-strong);font-size:18px}.report-document-head b{align-self:start;padding:5px 10px;color:var(--color-primary-strong);background:var(--color-primary-soft);border-radius:999px;font-size:13px}.report-action-bar{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.report-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-view textarea{min-height:260px;line-height:1.65}.report-readable{display:grid;gap:8px;padding:16px;color:var(--color-ink-strong);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;line-height:1.75}.report-readable p{margin:0}.report-line-lead{color:var(--color-ink-strong);font-size:16px;font-weight:800}.report-line-bullet{position:relative;padding-left:18px;color:var(--color-ink)}.report-line-bullet:before{content:"";position:absolute;left:3px;top:.78em;width:6px;height:6px;background:var(--color-primary);border-radius:999px}.report-warning-linkage{display:grid;gap:12px;padding:14px;background:#fffaf1;border:1px solid #eed6a5;border-radius:8px}.report-section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.report-section-head div{display:grid;gap:4px}.report-section-head strong{color:var(--color-ink-strong)}.report-section-head span{color:var(--color-muted);font-size:13px}.report-section-head b{padding:5px 9px;color:var(--color-warning);background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:999px;font-size:12px}.report-warning-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.report-warning-item{display:grid;gap:7px;padding:11px;background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:var(--radius-md)}.report-warning-item.danger{background:var(--color-danger-soft);border-color:var(--color-danger-border)}.report-warning-item.resolved{opacity:.74}.report-warning-item div{display:flex;gap:7px;align-items:center;min-width:0}.report-warning-item strong{color:var(--color-ink-strong)}.report-warning-item p,.report-warning-item span,.report-warning-item small,.report-warning-item em{margin:0;color:var(--color-muted);font-size:13px;line-height:1.45}.report-warning-item em{font-style:normal;padding:6px 8px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:7px}.report-intervention-list{display:grid;gap:8px}.report-intervention-list article{display:grid;gap:5px;padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.report-intervention-list span{color:var(--color-muted);font-size:13px;line-height:1.45}.report-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-detail-list{display:grid;gap:8px;padding:12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-muted)}.report-detail-list>strong{color:var(--color-ink-strong)}.report-detail-list article{display:grid;gap:4px;padding:9px;border:1px solid var(--color-border);border-radius:8px;background:#fff}.report-detail-list span,.report-detail-list small{color:var(--color-muted);font-size:13px;line-height:1.45}.report-history-list{display:grid;gap:9px}.report-history-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:12px}.report-history-tabs{display:flex;flex-wrap:wrap;gap:8px}.report-history-tabs button{min-height:36px;padding:0 12px;color:var(--color-ink-strong);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;font-weight:800}.report-history-tabs button.active{color:var(--color-primary-strong);background:var(--color-primary-soft);border-color:var(--color-primary-border)}.report-history-list article button{width:100%;display:grid;gap:5px;text-align:left;padding:12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-muted);color:var(--color-ink-strong)}.report-history-list b{justify-self:start;padding:3px 8px;color:var(--color-primary-strong);background:var(--color-primary-soft);border-radius:999px;font-size:12px}.report-history-list article button:hover{border-color:var(--color-primary-border);background:var(--color-primary-soft)}.report-history-list span{color:var(--color-muted);font-size:13px;line-height:1.45}.student-report-layout{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:14px;align-items:start}.student-report-list{display:grid;gap:9px}.student-report-list button{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;text-align:left;color:var(--color-ink-strong);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.student-report-list button.active{border-color:var(--color-primary-strong);background:var(--color-primary-soft);box-shadow:0 0 0 3px #0d697717}.student-report-list button.unread{border-color:#f0b35b;background:#fff8ed}.student-report-list span{display:grid;gap:4px}.student-report-list small{color:var(--color-muted);line-height:1.4}.report-unread-pill{display:inline-grid;place-items:center;width:26px;height:26px;color:var(--color-surface);background:var(--color-danger);border-radius:999px;font-size:12px}.panel{padding:16px}.panel h2{margin:0 0 14px;font-size:18px}.list,.table-list,.card-grid,.feedback-list{display:grid;gap:10px}.card-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.mini-card{display:grid;gap:8px}.mini-card b{font-size:24px}.class-card{align-content:start}.clickable-card{cursor:pointer}.clickable-card:hover{border-color:#8fc7d0;background:#f3fbfc}.class-card div{display:grid;gap:4px}.class-directory-list{display:grid;gap:12px}.class-directory-card{display:grid;gap:12px;padding:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.class-directory-card.is-clickable{cursor:pointer;transition:background .18s,border-color .18s,box-shadow .18s}.class-directory-card.is-clickable:hover{background:#f2fafb;border-color:#8ac5cf;box-shadow:0 4px 14px #125b6914}.class-directory-card.is-clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.class-directory-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end}.class-directory-title{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(220px,1fr) minmax(160px,.8fr);gap:12px;align-items:end;min-width:0}.class-directory-title strong{color:var(--color-ink-strong);font-size:18px}.class-directory-name-input{width:100%;min-height:48px;color:var(--color-ink-strong);font-weight:900}.class-directory-course-select{display:grid;gap:5px}.class-directory-course-select>span{color:var(--color-muted);font-size:12px;font-weight:800}.class-directory-course-select select,.class-directory-course-select input{width:100%}.class-directory-course-pill{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;min-height:34px;padding:0 11px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid #c8e2e7;border-radius:999px;font-size:13px;font-weight:800}.class-directory-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.class-directory-meta span{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:0 9px;color:var(--color-ink);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px;font-size:12px;font-weight:800}.class-directory-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}.class-directory-actions .compact-button{min-width:auto}.class-directory-menu{position:relative}.class-directory-menu-trigger{width:34px;height:34px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:#4a6070;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s}.class-directory-menu-trigger:hover{background:var(--color-surface-muted);border-color:#b0c4cf}.class-directory-menu-backdrop{position:fixed;inset:0;z-index:var(--z-backdrop)}.class-directory-menu-dropdown{position:absolute;right:0;top:calc(100% + 6px);z-index:var(--z-menu);background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 4px 16px #0000001a;min-width:136px;overflow:hidden}.class-directory-menu-dropdown button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:none;border:none;font-size:14px;color:var(--color-ink-strong);cursor:pointer;text-align:left;transition:background .12s}.class-directory-menu-dropdown button:hover{background:var(--color-surface-muted)}.class-directory-menu-dropdown button.danger{color:var(--color-danger)}.class-directory-menu-dropdown button.danger:hover{background:var(--color-danger-soft)}.danger-outline-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 12px;color:var(--color-danger);background:var(--color-danger-soft);border:1px solid var(--color-danger-border);border-radius:8px;font-weight:700}.danger-outline-button.confirming{color:var(--color-surface);background:var(--color-danger);border-color:var(--color-danger)}.ghost-button.active-action{color:var(--color-primary-strong);background:var(--color-primary-soft);border-color:var(--color-primary-border)}.result-row,.row-between{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}.result-row{padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.result-row-button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.result-row-button:hover,.result-row-button:focus-visible{border-color:#6bb7c2;background:var(--color-primary-soft)}.result-row div,.row-between div{display:grid;gap:4px;min-width:0}.result-row strong,.result-row span,.row-between strong,.row-between span{overflow-wrap:anywhere}.result-row b,.row-between b{flex:0 0 auto;color:var(--color-primary-strong)}.result-row.exam-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px;padding:16px}.exam-row-main{display:grid;gap:7px;min-width:0}.exam-row-main strong{color:var(--color-ink-strong);font-size:18px;line-height:1.35}.exam-row-main span{color:var(--color-muted);font-weight:800;line-height:1.55}.exam-row .exam-row-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;min-width:0}.exam-row-actions .compact-button{min-height:38px}.exam-copy-control{display:inline-grid;grid-template-columns:minmax(160px,220px) auto;align-items:center;gap:8px;min-width:0}.exam-copy-control select{min-height:38px;padding:8px 10px;background:var(--color-surface)}.exam-total-pill{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:999px;font-size:14px;font-weight:900;white-space:nowrap}.exam-row .danger-icon-button{margin-left:auto}.exam-row .exam-delete-button{width:32px;min-width:32px;height:32px;min-height:32px;overflow:hidden}.exam-row .exam-delete-button.confirming{display:inline-flex;gap:4px;width:auto;min-width:84px;padding:0 9px;color:var(--color-surface);background:var(--color-danger);border-color:var(--color-danger)}.exam-delete-button span{font-size:12px;font-weight:900;white-space:nowrap}.result-row .submission-page-strip{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.result-row .submission-page-strip span{width:max-content;max-width:100%;padding:4px 8px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid #c4e4e9;border-radius:999px;font-size:12px;font-weight:900}.inline-form,.exam-form{display:grid;gap:10px}.inline-form{grid-template-columns:1fr 1fr auto;align-items:end}.class-create-form{grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) minmax(150px,.8fr) auto}.compact-inline-form{grid-template-columns:1fr auto}.teacher-create-form,.teacher-create-fields,.teacher-create-binding{display:grid;gap:10px}.teacher-create-fields{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:center}.teacher-create-binding{grid-template-columns:minmax(180px,.8fr) minmax(260px,1.4fr) auto;align-items:center;padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.teacher-create-note{padding:12px 14px;color:#4f6370;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;font-size:14px;font-weight:800}.teacher-binding-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.teacher-binding-grid.compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));padding:8px}.teacher-binding-option{display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 10px;background:var(--color-surface);border:1px solid #dce8ec;border-radius:8px;color:#183243;font-weight:800}.teacher-binding-option input{width:16px;height:16px}.teacher-binding-editor{display:grid;gap:8px;min-width:min(100%,420px)}.teacher-account-actions{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:10px;align-items:start;width:min(100%,720px)}.teacher-binding-picker{display:grid;grid-template-columns:minmax(120px,1fr) minmax(160px,1.4fr) auto;gap:8px;align-items:center}.teacher-binding-tags{display:flex;flex-wrap:wrap;gap:8px;min-height:42px;padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.teacher-binding-tags.compact{max-width:min(100%,560px);max-height:116px;overflow:auto}.teacher-binding-tag{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:7px 9px;color:#0d4f5b;background:var(--color-surface-soft);border:1px solid var(--color-primary-border);border-radius:999px;font-size:13px;font-weight:800;line-height:1.2}.teacher-binding-tag button{display:inline-grid;place-items:center;width:18px;height:18px;padding:0;color:var(--color-primary-strong);background:var(--color-surface);border:1px solid var(--color-primary-border);border-radius:999px;font-size:13px;font-weight:900;cursor:pointer}.teacher-binding-tag button:hover{color:var(--color-danger);border-color:#f2b8b5}.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;color:var(--color-danger);background:var(--color-danger-soft);border:1px solid var(--color-danger-border);border-radius:8px;font-weight:900;cursor:pointer}.danger-button:hover:not(:disabled){background:#ffecea;border-color:#ef9a92}.danger-button:disabled{opacity:.6;cursor:not-allowed}.teacher-delete-button{min-width:84px}.muted{margin:0;color:var(--color-muted);font-size:13px;font-weight:700;line-height:1.5}.compact-field{display:grid;gap:4px}.compact-field span{color:var(--color-muted);font-size:12px;font-weight:800}.course-tree{display:grid;gap:8px;margin-top:8px}.course-class-panel{display:grid;gap:10px;margin-top:10px;padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-primary-border);border-radius:8px}.course-class-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.course-class-head b{color:var(--color-ink-strong)}.course-class-head small,.course-class-list small{color:var(--color-muted);font-weight:800}.course-class-list{display:grid;gap:8px}.course-grade-group{display:grid;gap:7px;padding:9px;background:var(--color-surface);border:1px solid var(--color-primary-border);border-radius:8px}.operation-quick-list{grid-template-columns:repeat(2,minmax(0,1fr))}.course-grade-group.archived{background:#f7f9fa;border-color:#d5e0e6}.course-grade-group strong{color:var(--color-ink-strong);font-size:13px}.course-term-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.course-term-title>div{display:grid;gap:3px;min-width:0}.course-term-title small{color:var(--color-muted);font-weight:800}.course-term-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.course-term-classes{display:flex;flex-wrap:wrap;gap:8px}.course-term-classes .course-class-chip{display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:6px 9px;color:#0d6170;background:var(--color-surface);border:1px solid var(--color-primary-border);border-radius:999px;font-size:13px;font-weight:800;line-height:1.2;text-align:left;overflow-wrap:anywhere}.course-term-classes button.course-class-chip{cursor:pointer}.course-term-classes button.course-class-chip:hover,.course-term-classes button.course-class-chip:focus-visible{color:#075464;background:var(--color-primary-soft);border-color:#a9d9e3;outline:none;box-shadow:0 0 0 3px #0d7a8a1f}.course-term-classes .course-class-chip.static{cursor:default}.course-term-empty{display:inline-flex;align-items:center;min-height:32px}.course-term-form,.course-class-form{grid-template-columns:minmax(0,1fr) auto}.course-inline-action{white-space:nowrap}.compact-button.course-term-action{align-self:start;min-height:30px;padding:0 8px;border-radius:8px;font-size:12px;line-height:1;white-space:nowrap;width:auto}.course-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.course-catalog-card{align-items:stretch;min-width:0;position:relative;overflow:visible}.course-catalog-card.expanded{grid-column:1 / -1}.course-catalog-card.menu-open{z-index:var(--z-above)}.course-catalog-card>div{width:100%}.course-edit-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}.course-node-title{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-width:0;position:relative}.chapter-node-title{grid-template-columns:auto minmax(0,1fr) auto auto}.course-node-title b,.course-node-title span,.course-node-title strong{min-width:0;overflow-wrap:anywhere}.course-tree>section>.course-node-title>b{min-width:0}.chapter-toggle-button{width:26px;height:26px;min-height:26px;padding:0;color:#5f7381;background:transparent;border:0;border-radius:7px;font-size:16px;line-height:1;transform:rotate(-90deg);transition:transform .15s ease,background .15s ease}.chapter-toggle-button.expanded{transform:rotate(0)}.chapter-toggle-button:hover,.chapter-toggle-button:focus{background:var(--color-info-soft)}.course-title-row{grid-template-columns:minmax(0,1fr) auto auto auto;max-width:100%}.course-kg-shortcut{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;font-size:12px;font-weight:600;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:99px;white-space:nowrap;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);cursor:pointer}.course-kg-shortcut:hover{background:#d4eef2;border-color:var(--color-primary);color:var(--color-primary)}.course-node-edit{margin-bottom:2px}.mini-icon-button{width:34px;height:34px;min-height:34px}.chapter-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px;padding:0;color:#6d8391;background:#eef5f7;border:1px solid #d8e7ed;border-radius:9px;cursor:grab;touch-action:none}.chapter-drag-handle:hover,.chapter-drag-handle:focus-visible{color:#08717f;background:#e5f4f7;border-color:#b8dbe3}.chapter-drag-handle:active{cursor:grabbing}.node-menu-wrap{position:relative;flex:0 0 auto}.node-menu-trigger{width:34px;height:34px;color:#6a8fe8;background:#edf5ff;border:0;border-radius:9px;font-size:24px;line-height:1;opacity:1}.node-menu-trigger:focus,.node-menu-trigger[aria-expanded=true],.node-menu-wrap:focus-within .node-menu-trigger{opacity:1}.node-menu-trigger:hover,.node-menu-trigger[aria-expanded=true]{background:var(--color-info-soft)}.node-menu{position:absolute;right:0;top:100%;z-index:var(--z-overlay);display:grid;width:max-content;min-width:156px;max-width:min(220px,calc(100vw - 24px));padding:6px;background:var(--color-surface);border:1px solid #d9e4ea;border-radius:8px;box-shadow:0 12px 30px #152d4029;overflow-wrap:normal;word-break:keep-all}.node-menu button{display:flex;align-items:center;width:100%;min-height:44px;padding:0 16px;color:#4d5f6f;text-align:left;background:transparent;border:0;border-radius:7px;font-weight:800;white-space:nowrap;overflow-wrap:normal;word-break:keep-all}.node-menu button:hover{background:#f1f6f8}.node-menu .danger-menu-item{color:var(--color-danger)}.node-menu .delete-confirm-button,.resource-card-popover .delete-confirm-button{min-height:34px;padding:0 10px;font-size:13px}.move-node-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.course-tree section{display:grid;gap:6px;padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.course-tree section.chapter-node-card{transition:border-color .15s ease,background .15s ease,transform .15s ease}.course-tree section.chapter-node-card.dragging{opacity:.58}.course-tree section.chapter-node-card.drag-target{border-color:#0f7e8b;background:var(--color-primary-soft);transform:translateY(-1px)}.course-tree>section>span,.section-node>span{padding-left:12px;color:var(--color-ink)}.section-title-row{grid-template-columns:minmax(0,1fr) auto;padding-left:12px}.section-title-button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:0 10px;color:var(--color-ink);text-align:left;background:transparent;border:0;border-radius:8px;font-weight:800}.section-title-button:hover,.section-title-button:focus-visible{color:#0a6f7e;background:#eef7f9}.section-title-button span{min-width:0;overflow-wrap:anywhere}.section-title-button small{flex:0 0 auto;padding:3px 7px;color:var(--color-primary-strong);background:var(--color-surface-soft);border:1px solid var(--color-primary-border);border-radius:999px;font-size:12px}.section-node{display:grid;gap:5px;padding-left:10px;border-left:1px solid var(--color-border)}.section-node small{padding-left:24px;color:var(--color-muted)}.structure-select{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;grid-column:1 / -1}.section-resource-upload{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;align-items:center;margin-top:12px}.section-resource-upload>.primary{justify-self:start}.resource-clip-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.resource-clip-fields label{display:grid;gap:5px;color:var(--color-muted);font-size:11px;font-weight:750}.resource-binding-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:11px;background:var(--color-panel-faint);border:1px solid #dbe8eb;border-radius:8px}.resource-binding-editor>input,.resource-binding-editor>button{grid-column:1 / -1}.section-resource-card small{color:#58717b;font-size:12px;line-height:1.55}.section-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.section-resource-card{display:grid;gap:10px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.section-resource-card b{display:inline-flex;width:fit-content;padding:3px 7px;color:var(--color-primary-strong);background:var(--color-surface-soft);border-radius:999px;font-size:12px}.section-resource-card strong{color:var(--color-ink-strong)}.section-resource-card span{color:var(--color-muted);font-size:13px}.section-resource-card video,.section-resource-card iframe{width:100%;min-height:220px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.section-resource-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.student-resource-list{display:grid;gap:12px}.student-resource-list .resource-mini-button{min-width:0;min-height:48px;white-space:normal;overflow-wrap:anywhere;text-align:left}.student-courseware-grid .section-resource-card,.student-courseware-grid .section-resource-card>div{min-width:0;overflow-wrap:anywhere}.student-courseware-grid .section-resource-card>div:first-child{display:grid;gap:8px}.student-courseware-actions{display:flex;flex-wrap:wrap;gap:10px}.student-courseware-actions>a,.student-courseware-actions>button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;text-decoration:none}.student-courseware-actions>.primary-button{color:var(--color-on-primary);background:var(--color-primary-strong);border-radius:8px;font-weight:700}.student-courseware-grid .student-courseware-hint{margin:0;font-size:13px;color:var(--color-muted)}.student-courseware-grid iframe{height:420px}@media(max-width:768px){.section-resource-upload,.resource-binding-editor{grid-template-columns:minmax(0,1fr)}.resource-binding-editor>input,.resource-binding-editor>button{grid-column:auto}.student-courseware-grid{grid-template-columns:minmax(0,1fr)}.student-courseware-actions{flex-direction:column}.student-courseware-actions>a,.student-courseware-actions>button{width:100%}.student-courseware-grid iframe{height:300px}}.student-resource-chapter{display:grid;gap:10px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.student-resource-chapter h3{margin:0;color:var(--color-ink-strong);font-size:16px}.exam-form{grid-template-columns:repeat(2,1fr)}.runtime-settings-form{grid-template-columns:1fr}.runtime-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.runtime-settings-grid label{display:grid;gap:6px;color:#2d4150;font-size:13px;font-weight:900}.result-row.teacher-account-card{display:grid;align-items:start;gap:14px}.teacher-account-card .compact-field{max-width:280px}.teacher-saved-bindings{padding:12px;border:1px solid var(--color-primary-border);border-radius:8px;background:var(--color-surface-soft);min-width:0}.teacher-saved-binding-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px;list-style:none;margin:10px 0 0;padding:0}.teacher-saved-binding-list li{display:grid;gap:5px;min-width:0;padding:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow-wrap:anywhere}.teacher-saved-binding-list small{color:var(--color-text-muted)}.ai-settings-form{grid-template-columns:1fr;align-items:stretch}.ai-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ai-settings-block{display:grid;gap:8px;padding:12px;border:1px solid #dbe9ef;border-radius:8px;background:#fbfdfe}.ai-settings-block h3{margin:0;font-size:16px}.runtime-queue-summary{display:flex;flex-wrap:wrap;gap:8px;padding:10px;background:var(--color-surface-muted);border:1px solid #d9e7ec;border-radius:8px}.runtime-queue-summary span{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:999px;font-size:12px;font-weight:900}.exam-form textarea,.exam-form .rubric-file-button,.exam-form .question-picker,.exam-form .exam-class-target-panel,.exam-form .template-field-header,.exam-form .field-hint,.exam-form .primary,.exam-form .success{grid-column:1 / -1}.exam-class-target-panel{display:grid;gap:10px;min-width:0;padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.exam-class-target-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.exam-class-target-head div{display:grid;gap:3px;min-width:0}.exam-class-target-head strong{color:var(--color-ink-strong);font-size:15px;font-weight:900}.exam-class-target-head span{color:var(--color-muted);font-size:13px;font-weight:800;line-height:1.35}.exam-class-target-head b{flex:0 0 auto;color:var(--color-ink-strong);font-size:14px;font-weight:900}.exam-class-target-actions{display:flex;flex-wrap:wrap;gap:8px}.exam-class-target-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:8px;max-height:260px;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.exam-class-target-item{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-width:0;min-height:58px;padding:10px 11px;color:var(--color-ink-strong);text-align:left;font-weight:800;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.exam-class-target-item.selected{color:#087280;background:var(--color-primary-soft);border-color:var(--color-primary-border)}.exam-class-target-item:hover,.exam-class-target-item:focus-visible{border-color:var(--color-primary-border);background:var(--color-primary-soft)}.exam-class-target-mark{display:grid;place-items:center;width:20px;height:20px;color:var(--color-primary-strong);border:2px solid #b9d4dc;border-radius:999px}.exam-class-target-item.selected .exam-class-target-mark{border-color:var(--color-primary-strong);background:#dff2f5}.exam-class-target-copy{display:grid;gap:3px;min-width:0}.exam-class-target-copy strong,.exam-class-target-copy small{min-width:0;white-space:normal;overflow-wrap:anywhere}.exam-class-target-copy strong{color:var(--color-ink-strong);font-size:14px;font-weight:900;line-height:1.25}.exam-class-target-copy small{color:var(--color-muted);font-size:12px;font-weight:800;line-height:1.25}.template-field-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.template-field-title{display:grid;gap:2px;min-width:0}.template-field-title strong{color:var(--color-ink-strong);font-size:15px}.template-field-title span{color:var(--color-muted);font-size:12px;font-weight:700;line-height:1.35}.question-picker{display:grid;gap:10px;padding:0;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.question-picker>.question-picker-toggle{all:unset;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;min-height:44px;min-width:0;width:100%;box-sizing:border-box}.question-picker>.question-picker-toggle:focus-visible{outline:3px solid var(--color-primary);outline-offset:-3px}.question-picker>.question-picker-toggle:hover{background:#eef4f7}.question-picker>.question-picker-toggle strong{font-size:14px;font-weight:700;color:var(--color-ink-strong)}.question-picker>.question-picker-toggle span{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--color-muted)}.question-picker>.question-picker-toggle svg{transition:transform .18s ease}.question-picker.open>.question-picker-toggle svg{transform:rotate(180deg)}.question-picker.open{padding-bottom:10px}.question-picker.open>.question-picker-chapters,.question-picker.open>.question-picker-subheader,.question-picker.open>.question-picker-filter-row,.question-picker.open>.question-picker-search,.question-picker.open>input,.question-picker.open>.question-picker-list,.question-picker.open>p{padding-inline:12px}.exam-question-picker{gap:12px}.exam-question-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.exam-question-picker-head>div{display:grid;gap:4px;min-width:0}.exam-question-picker-head strong{color:var(--color-ink-strong);font-size:15px;font-weight:900}.exam-question-picker-head span{color:var(--color-muted);font-size:13px;font-weight:800;line-height:1.35}.question-picker-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:112px}.question-picker-toggle svg{transition:transform var(--transition-fast)}.question-picker-toggle.open svg{transform:rotate(180deg)}.question-picker-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-height:340px;overflow:auto}.question-picker-chapters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.question-picker-chapter-card{display:grid;gap:8px;min-height:82px;padding:12px;text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;cursor:pointer}.question-picker-chapter-card:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.question-picker-chapter-card strong{color:var(--color-ink-strong);font-size:16px}.question-picker-chapter-card span{color:var(--color-muted);font-size:13px}.question-picker-subheader{display:flex;align-items:center;justify-content:space-between;gap:10px}.homework-detail-subheader{align-items:center}.homework-detail-subheader>strong{min-width:0}.homework-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.homework-detail-feedback-panel{display:grid;gap:8px;padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.homework-question-feedback{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}.homework-question-feedback>.homework-feedback-status-pill{justify-self:start}.homework-feedback-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 11px;color:#526878;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px;font-size:13px;font-weight:800}.homework-feedback-status-pill.pending{color:#856011;background:#fff8e8;border-color:#ecd39d}.question-picker-item{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;min-height:116px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;cursor:pointer}.question-picker-item input{width:18px;height:18px;margin-top:4px}.question-picker-item.selected{background:#e9f6f8;border-color:var(--color-primary)}.question-picker-item.classroom-picker-item{grid-template-columns:minmax(0,1fr) auto;align-items:start;text-align:left;font:inherit}.question-picker-item.classroom-picker-item>span:last-child{align-self:start;color:#0b7180;font-weight:800}.question-picker-content{display:grid;gap:5px;min-width:0}.question-picker-content b{color:#0f2438;font-size:16px}.question-picker-content small{color:var(--color-muted);line-height:1.35}.question-picker-content em{display:-webkit-box;min-height:44px;max-height:48px;overflow:hidden;color:var(--color-ink-strong);font-style:normal;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}.paper-library-list{display:grid;gap:10px;margin-top:12px}.paper-library-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.paper-library-item div{display:grid;gap:4px}.paper-library-item span{color:var(--color-muted);font-size:13px}.case-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:16px;margin-top:16px}.case-course-toolbar{grid-template-columns:minmax(220px,420px) auto;justify-content:start}.case-library-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:12px}.case-chapter-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--color-border)}.case-chapter-filter button{min-height:34px;padding:6px 13px;color:var(--color-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;font-weight:750}.case-chapter-filter button.active{color:var(--color-primary-strong);background:var(--color-primary-soft);border-color:var(--color-primary-border)}.case-library-groups{display:grid;gap:24px}.case-library-group{min-width:0}.case-library-group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-bottom:9px;border-bottom:1px solid var(--color-border)}.case-library-group-heading strong{color:var(--color-ink-strong);font-size:17px}.case-library-group-heading span{color:var(--color-muted);font-size:13px}.case-library-group .case-library-grid{margin-top:12px}.case-workspace-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.case-workspace-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 18px;color:var(--color-ink);background:var(--color-surface-soft);border:1px solid transparent;border-radius:8px;font-weight:800}.case-workspace-tabs button.active{color:var(--color-primary-strong);background:var(--color-primary-soft);border-color:var(--color-primary-border)}.case-upload-panel{max-width:1100px}.case-upload-mode-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:6px;background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:10px}.case-upload-mode-tabs button{min-height:40px;padding:8px 16px;color:var(--color-muted);background:transparent;border:1px solid transparent;border-radius:8px;font-weight:800}.case-upload-mode-tabs button.active{color:var(--color-primary-strong);background:var(--color-surface);border-color:var(--color-primary-border);box-shadow:0 2px 8px #1a535c14}.case-upload-intro{margin:0 0 16px;color:var(--color-muted)}.case-archive-rules{display:grid;gap:5px;margin:0 0 16px;padding:12px 14px;color:var(--color-muted);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:9px;font-size:14px}.case-archive-rules strong{color:var(--color-primary-strong)}.case-upload-fields,.case-upload-form,.case-upload-field{display:grid;gap:8px}.case-upload-field small,.case-upload-file small{color:var(--color-muted);font-size:13px}.case-upload-fields{margin:0;padding:0;border:0;gap:16px}.case-upload-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.8fr);gap:14px}.case-upload-field{min-width:0;color:var(--color-ink-strong);font-weight:800}.case-upload-field input,.case-upload-field select,.case-upload-field textarea{width:100%}.case-upload-description{grid-column:1 / -1}.case-archive-grid{grid-template-columns:minmax(240px,.8fr) minmax(0,2fr)}.case-archive-grid .case-upload-description{grid-column:auto}.case-upload-description textarea{min-height:92px;resize:vertical}.case-upload-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.case-upload-file{justify-content:flex-start;min-width:0;min-height:68px;border-style:dashed;border-color:var(--color-primary-border);background:var(--color-primary-soft)}.case-upload-file>span{display:grid;gap:2px;min-width:0;text-align:left}.case-upload-file strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-save-button{min-width:200px}@media(max-width:900px){.case-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.case-course-toolbar,.case-upload-grid,.case-archive-grid,.case-upload-actions{grid-template-columns:minmax(0,1fr)}.case-archive-grid .case-upload-description{grid-column:1}.case-workspace-tabs button{flex:1}.case-save-button{min-width:0}}.case-category-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:0}.case-category-filter button{min-height:38px;padding:8px 16px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-soft);color:var(--color-muted)}.case-category-filter button.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.case-library-card{display:grid;grid-template-rows:auto 1fr;gap:12px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 4px 16px #1434420a}.case-library-card-body{display:grid;align-content:start;gap:8px;min-width:0}.case-library-card-body strong{color:var(--color-ink-strong);overflow-wrap:anywhere;line-height:1.4;font-size:16px}.case-library-card-body span,.case-library-card-body small{color:var(--color-muted);font-size:13px;overflow-wrap:anywhere}.case-library-meta,.case-library-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.case-library-meta .case-library-category{padding:3px 8px;color:var(--color-primary-strong);background:var(--color-primary-soft);border-radius:999px;font-size:12px;font-weight:800}.case-library-card-actions{align-self:end;margin-top:4px}.case-card-chapter-select{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;color:var(--color-muted);font-size:12px;font-weight:750}.case-card-chapter-select select{min-width:0;min-height:34px;padding:5px 8px;font-size:12px}.case-thumbnail{position:relative;width:100%;height:170px;overflow:hidden;padding:0;background:#171c22;border:1px solid var(--color-border);border-radius:8px}.case-thumbnail iframe{position:absolute;top:0;left:calc(50% - 144px);width:640px;height:380px;border:0;pointer-events:none;transform:scale(.45);transform-origin:top left}.case-preview-button{justify-self:start;min-height:32px;padding:0 10px;color:var(--color-surface);background:var(--color-primary);border:0;border-radius:6px;font-size:12px;font-weight:800}.case-preview-overlay{position:fixed;inset:0;z-index:var(--z-overlay);display:grid;place-items:center;padding:18px;background:#0e1b2594}.case-preview-modal{display:grid;gap:12px;width:min(100%,1040px);max-height:calc(100dvh - 36px);padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 22px 70px #0d1b2747}.case-preview-modal iframe{width:100%;height:min(72dvh,720px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.password-prompt-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:18px;background:#0e1b2585}.password-prompt-card{display:grid;gap:14px;width:min(100%,420px);padding:20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 22px 70px #0d1b2742}.password-prompt-title{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;color:#12313c}.password-prompt-title svg{margin-top:2px;color:var(--color-primary)}.password-prompt-title strong,.password-prompt-title span{display:block}.password-prompt-title strong{font-size:20px}.password-prompt-title span{margin-top:4px;color:#667784;font-size:13px;line-height:1.55}.password-prompt-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.student-scan-overlay{position:fixed;inset:0;z-index:var(--z-modal-top);display:grid;place-items:center;padding:18px;background:#0e1b258a}.student-scan-dialog{display:grid;gap:14px;width:min(100%,460px);max-height:min(720px,calc(100dvh - 36px));overflow:auto;padding:18px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 24px 78px #0d1b2747}.student-scan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.student-scan-head strong,.student-scan-head span{display:block}.student-scan-head strong{color:#102536;font-size:20px}.student-scan-head span{margin-top:4px;color:var(--color-muted);font-size:13px;font-weight:700}.student-scan-camera{position:relative;display:grid;place-items:center;min-height:286px;overflow:hidden;background:#152536;border:1px solid #d2e1e6;border-radius:8px}.student-scan-camera video{width:100%;height:100%;min-height:286px;object-fit:cover}.student-scan-camera.blocked video,.student-scan-camera.starting video,.student-scan-camera.paused video{opacity:.46}.student-scan-frame{position:absolute;inset:50%;width:min(62%,250px);aspect-ratio:1;transform:translate(-50%,-50%);border:2px solid rgba(255,255,255,.86);border-radius:8px;box-shadow:0 0 0 999px #0a141e38;pointer-events:none}.student-scan-state{position:absolute;left:14px;right:14px;bottom:14px;display:inline-flex;justify-content:center;min-height:34px;padding:8px 12px;color:var(--color-surface);background:#0f1d29d1;border:1px solid rgba(255,255,255,.18);border-radius:8px;font-size:13px;font-weight:800;text-align:center}.student-scan-manual{display:grid;gap:10px}.student-scan-manual label{display:grid;gap:7px;color:var(--color-muted-strong);font-size:14px;font-weight:800}.student-scan-manual textarea{min-height:92px;resize:vertical}.student-scan-error{margin:0}.student-scan-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(320px,1.15fr);gap:16px;align-items:start}.profile-section-tabs,.teacher-combo-tabs{display:flex;gap:8px;margin-bottom:16px;padding:8px;overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;scrollbar-width:thin;scrollbar-color:var(--color-primary-border) transparent}.profile-section-tabs::-webkit-scrollbar{display:none}.teacher-combo-tabs::-webkit-scrollbar{display:block;height:4px}.teacher-combo-tabs::-webkit-scrollbar-thumb{background:var(--color-primary-border);border-radius:999px}.profile-section-tabs button,.teacher-combo-tabs button{position:relative;display:inline-flex;flex:1 0 90px;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 12px;color:var(--color-ink);background:var(--color-surface-muted);border:1px solid transparent;border-radius:8px;font-weight:800;white-space:nowrap}.profile-section-tabs button.active,.teacher-combo-tabs button.active{color:var(--color-primary-strong);background:var(--color-primary-soft);border-color:var(--color-primary-border)}.teacher-combo-tabs{position:sticky;top:82px;z-index:var(--z-above);width:100%}.inline-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;color:var(--color-surface);background:var(--color-danger);border-radius:999px;font-size:12px;line-height:1}.profile-embedded-section{display:grid;gap:16px}.profile-info-list,.profile-password-form{display:grid;gap:12px}.profile-avatar-form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:14px;padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.profile-avatar-preview{display:grid;place-items:center;width:72px;height:72px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:50%;overflow:hidden;font-weight:900}.profile-avatar-preview img{width:100%;height:100%;object-fit:cover}.profile-avatar-picker{display:grid;gap:6px;min-width:0;color:var(--color-ink);font-weight:800}.profile-avatar-picker input{min-width:0}.profile-info-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;align-items:center;padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.profile-info-row span{color:var(--color-muted);font-size:13px}.profile-info-row strong{min-width:0;color:var(--color-ink-strong);overflow-wrap:anywhere}.choice-options-preview,.student-choice-sheet,.student-choice-question{display:grid;gap:10px}.choice-options-preview{grid-template-columns:repeat(2,minmax(0,1fr));margin:10px 0}.choice-options-preview>span{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--color-surface-muted);border:1px solid var(--color-primary-border);border-radius:8px;color:var(--color-ink-strong)}.choice-options-preview b,.choice-answer-grid b{flex:0 0 auto;color:#0e7885}.student-choice-sheet{margin-top:12px;padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.choice-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.choice-answer-grid button,.choice-answer-grid .choice-option-control{display:flex;align-items:center;gap:6px;min-width:0;min-height:44px;padding:9px 11px;text-align:left;color:#253b4d;background:#fff;border:1px solid #d3e2e8;border-radius:8px;font-weight:800;overflow-wrap:anywhere}.choice-answer-grid button span,.choice-answer-grid .choice-option-control span{min-width:0}.choice-answer-grid button.active,.choice-answer-grid .choice-option-control.active{color:#075f69;background:var(--color-primary-soft);border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.choice-answer-grid .choice-option-control{display:flex;cursor:pointer}.choice-answer-grid .choice-option-control input{width:18px;min-width:18px;min-height:18px;margin:0;accent-color:var(--color-primary)}.choice-answer-grid .choice-option-control:has(input:disabled){cursor:not-allowed;opacity:.7}.multiple-choice-rule-editor{display:grid;grid-column:1 / -1;gap:10px;margin:0;padding:12px;background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:8px}.multiple-choice-rule-editor legend{padding:0 5px;color:var(--color-primary-strong);font-size:14px;font-weight:900}.multiple-choice-correct-options{display:flex;flex-wrap:wrap;gap:8px 12px}.multiple-choice-rule-editor label{display:inline-flex;align-items:center;gap:7px;color:var(--color-ink-strong);font-weight:700}.multiple-choice-rule-editor input{width:17px;min-width:17px;min-height:17px;margin:0;accent-color:var(--color-primary)}.submitted-choice-answer{display:flex;align-items:center;gap:12px;margin:12px 0;padding:12px 14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-muted)}.submitted-choice-answer span{font-size:22px;font-weight:800;color:#0e7c86}.student-upload-panel{display:grid;gap:8px;margin:12px 0}.student-upload-panel span{color:var(--color-muted);font-size:13px}.submitted-pages{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:12px}.submitted-page-card{display:grid;gap:8px;padding:10px;color:var(--color-ink-strong);text-decoration:none;background:var(--color-surface-muted);border:1px solid var(--color-primary-border);border-radius:8px}.submitted-page-card img{width:100%;max-height:220px;object-fit:contain;background:#fff;border-radius:6px}.submitted-page-card span{font-size:13px;font-weight:800}.exam-template-flow{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.exam-template-flow span{padding:9px 10px;color:var(--color-primary-strong);text-align:center;background:#eef8f9;border:1px solid #cce4e8;border-radius:8px;font-size:13px;font-weight:900}.exam-delivery-options{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.exam-delivery-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:flex-start;padding:12px;color:#314654;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.exam-delivery-option.active{color:var(--color-primary-strong);background:var(--color-primary-soft);border-color:#a8d5dd;box-shadow:0 0 0 3px #19758614}.exam-delivery-option input{margin-top:3px}.exam-delivery-option span{display:grid;gap:4px;min-width:0}.exam-delivery-option strong{color:var(--color-ink-strong);font-size:15px}.exam-delivery-option small{color:var(--color-muted);line-height:1.45;font-weight:800}.exam-template-editor{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,160px);gap:10px;padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.exam-template-editor label{display:grid;gap:6px;min-width:0}.exam-template-editor label span{color:var(--color-muted);font-size:13px;font-weight:800}.exam-template-title-field{grid-column:1}.exam-template-score-field{grid-column:2}.exam-template-wide-field{grid-column:1 / -1}.exam-template-editor textarea{min-height:98px}.exam-template-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.exam-grade-summary{display:grid;gap:14px}.exam-summary-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.exam-summary-header>div:first-child{display:grid;gap:4px}.exam-summary-header strong{color:var(--color-ink-strong);font-size:18px}.exam-summary-header span,.exam-summary-report span,.exam-summary-report small{color:var(--color-muted);font-size:13px}.exam-summary-actions{display:flex;gap:8px;flex-wrap:wrap}.exam-summary-actions button{display:inline-flex;align-items:center;gap:6px;justify-content:center}.exam-summary-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.exam-summary-table-wrap{width:100%;max-height:min(70vh,680px);overflow:auto;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);scrollbar-gutter:stable}.exam-summary-table{width:100%;min-width:980px;border-collapse:collapse;color:var(--color-ink-strong)}.exam-summary-table th,.exam-summary-table td{padding:9px 10px;border-bottom:1px solid var(--color-border);text-align:left;line-height:1.35;white-space:nowrap;vertical-align:top;font-size:13px}.exam-summary-table th{position:sticky;top:0;z-index:1;background:var(--color-primary-soft);color:var(--color-ink-strong);font-weight:900}.exam-summary-table thead tr+tr th{top:38px;background:var(--color-surface-muted)}.exam-summary-table th small,.exam-summary-table td small{display:block;margin-top:2px;color:var(--color-muted);font-size:11px;max-width:160px;overflow:hidden;text-overflow:ellipsis}.exam-summary-total-cell,.exam-summary-score-cell.total{background:var(--color-success-soft);color:#0e5f53;font-weight:900}.exam-summary-card-list{display:none}.exam-summary-card{display:grid;gap:10px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.exam-summary-card-head,.exam-summary-card-score{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.exam-summary-card-head>div{display:grid;gap:3px;min-width:0}.exam-summary-card-head strong{color:#132638;font-size:16px}.exam-summary-card-head span:not(.exam-status-pill),.exam-summary-card-score span{color:var(--color-muted);font-size:12px}.exam-summary-card-score{align-items:stretch}.exam-summary-card-score span{display:grid;flex:1;gap:2px;min-width:0;padding:8px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.exam-summary-card-score strong{color:var(--color-ink-strong);font-size:17px}.exam-summary-score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:8px}.exam-summary-score-cell{display:grid;gap:3px;min-width:0;padding:8px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.exam-summary-score-cell span,.exam-summary-score-cell small{overflow:hidden;color:var(--color-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.exam-summary-score-cell strong{color:var(--color-primary-strong);font-size:16px}.student-exam-score-sheet{display:grid;gap:10px;margin-top:10px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.student-exam-score-sheet strong{color:var(--color-ink-strong)}.student-exam-score-sheet span{color:var(--color-muted);font-size:12px;font-weight:800}.student-exam-score-table-wrap{overflow:auto;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.student-exam-score-table{width:100%;min-width:620px;border-collapse:collapse}.student-exam-score-table th,.student-exam-score-table td{padding:9px 10px;border-bottom:1px solid var(--color-border);color:var(--color-ink-strong);text-align:left;vertical-align:top;font-size:13px}.student-exam-score-table th{background:var(--color-primary-soft);color:var(--color-ink-strong);font-weight:900}.student-exam-score-table td:last-child{min-width:220px;white-space:normal}.exam-status-pill{display:inline-flex;padding:4px 8px;border-radius:999px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);font-size:12px;font-weight:900}.exam-status-pill.done{color:#276749;background:var(--color-success-soft);border-color:var(--color-success-border)}.exam-status-pill.pending{color:var(--color-warning);background:var(--color-warning-soft);border-color:var(--color-warning-border)}.exam-status-pill.missing{color:#9b2c2c;background:var(--color-danger-soft);border-color:#e9b4ad}.exam-question-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.exam-question-stat-grid article{display:grid;gap:5px;padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.exam-question-stat-grid strong{color:var(--color-ink-strong)}.exam-question-stat-grid span,.exam-question-stat-grid small{color:var(--color-muted);font-size:13px;line-height:1.45}.exam-summary-report{display:grid;gap:8px;padding:12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.exam-summary-report pre{margin:0;padding:12px;max-height:420px;overflow:auto;white-space:pre-wrap;color:#243f4c;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;font-family:inherit;line-height:1.7}.homework-page-upload-panel.exam-file-slot-panel{grid-column:1 / -1;gap:12px;padding:12px;background:var(--color-surface-muted);border-color:#bfdde5}.exam-file-slot-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.exam-file-slot-title{display:flex;align-items:center;gap:10px;min-width:0}.exam-file-slot-title div{display:grid;gap:2px;min-width:0}.exam-file-slot-title strong{color:var(--color-ink-strong);font-size:16px}.exam-file-slot-title span:not(.exam-file-slot-icon){color:var(--color-muted);font-size:13px;font-weight:700}.exam-file-slot-icon{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;color:var(--color-primary);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:8px}.exam-file-slot-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.exam-file-count-pill{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;color:#4d6573;background:var(--color-surface);border:1px solid #d4e5ea;border-radius:999px;font-size:13px;font-weight:800}.homework-page-upload-grid.exam-file-upload-grid{grid-template-columns:repeat(auto-fit,minmax(176px,1fr))}.homework-page-upload-slot.exam-file-upload-slot{position:relative;gap:10px;padding:12px;background:var(--color-surface);border-color:#d7e8ed}.exam-file-upload-slot:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:8px;box-shadow:inset 0 1px #ffffffbf}.homework-page-upload-slot.exam-file-upload-slot.filled{background:var(--color-success-soft);border-color:#87c8a8;box-shadow:0 0 0 2px #1f87601a}.exam-file-upload-card-head{display:flex;align-items:center;gap:9px;min-width:0}.exam-file-upload-card-head div{display:grid;gap:2px;min-width:0}.exam-file-upload-slot .exam-file-page-badge{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;color:var(--color-primary);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:999px;font-size:13px;font-weight:900}.exam-file-upload-slot.filled .exam-file-page-badge{color:var(--color-surface);background:var(--color-success);border-color:var(--color-success)}.exam-file-upload-slot .compact-file-button,.exam-file-clear-button{width:100%}.grading-report{display:grid;gap:12px;margin-top:10px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.grading-report.compact{gap:10px;padding:10px}.grading-report.collapsed{gap:0}.grading-report-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.grading-report-header div{display:grid;gap:4px;min-width:0}.grading-report-header span{color:var(--color-muted);font-size:13px;font-weight:800}.grading-report-header strong{color:var(--color-ink-strong);font-size:20px}.grading-report-header b{min-width:58px;padding:8px 10px;color:var(--color-primary-strong);text-align:center;background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:8px}.grading-report-header .grading-report-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:max-content}.grading-report-toggle{display:inline-grid;place-items:center;width:36px;height:36px;color:var(--color-primary-strong);background:var(--color-surface);border:1px solid var(--color-primary-border);border-radius:8px;cursor:pointer}.grading-report-toggle svg{transition:transform .16s ease}.grading-report.expanded .grading-report-toggle svg{transform:rotate(180deg)}.grading-report-body{display:grid;gap:10px}.grading-report h5{margin:0;color:var(--color-ink-strong);font-size:14px}.grading-report-section,.grading-point-list{display:grid;gap:8px}.grading-point-list article{display:grid;gap:7px;padding:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.grading-point-list article.earned{background:var(--color-success-soft);border-color:var(--color-success-border)}.grading-point-list article.lost{background:#fff8f6;border-color:#efd3cc}.grading-point-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.grading-point-main div{display:grid;gap:3px;min-width:0}.grading-point-main span,.grading-point-list p,.grading-report-grid p{color:#455b69;font-size:13px;line-height:1.5}.grading-point-main b{color:var(--color-primary-strong);white-space:nowrap}.grading-point-list em{justify-self:start;padding:4px 8px;color:#a83322;background:var(--color-danger-soft);border:1px solid #f0c7bf;border-radius:999px;font-style:normal;font-size:12px;font-weight:900}.grading-point-list p,.grading-report-grid p{margin:0}.grading-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.grading-report-grid article{display:grid;align-content:start;gap:8px;padding:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.grading-report-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.grading-report-images a{display:grid;gap:7px;min-width:0;padding:8px;color:var(--color-ink-strong);text-decoration:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.grading-report-images img{width:100%;height:180px;object-fit:contain;background:var(--color-surface-muted);border-radius:6px}.grading-report-images span{color:#526b78;font-size:13px;font-weight:800}.grading-report.compact .grading-report-grid{grid-template-columns:1fr}.grading-report.compact .grading-report-images img{height:120px}.live-choice-grid{margin:12px 0}.grading-editor{display:grid;gap:12px}.grading-question-structure{display:grid;grid-template-columns:minmax(280px,560px) minmax(220px,1fr);gap:10px 16px;align-items:end;padding:12px 14px;background:var(--color-surface-soft);border:1px solid #cfe2e8;border-radius:10px}.grading-question-structure label{display:grid;gap:6px;color:var(--color-ink);font-weight:800}.grading-question-structure input{width:100%}.grading-question-structure small{color:var(--color-muted);line-height:1.55}.grading-toolbar{display:grid;grid-template-columns:minmax(110px,150px) minmax(120px,180px) minmax(120px,180px) auto;gap:10px;align-items:center}.grading-page-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.grading-page-tabs button{display:grid;gap:2px;min-width:112px;padding:9px 12px;color:var(--color-muted);background:var(--color-surface-muted);border:1px solid #d2e1e7;border-radius:8px;font-weight:800;text-align:left}.grading-page-tabs button.active{color:var(--color-primary-strong);background:var(--color-surface-soft);border-color:var(--color-primary)}.grading-page-tabs span{color:#6d7e8b;font-size:12px;font-weight:700}.grading-canvas{position:relative;width:min(100%,760px);max-height:78vh;overflow:auto;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;cursor:crosshair!important;touch-action:none;-webkit-user-select:none;user-select:none}.grading-image-layer{position:relative;width:100%;min-height:180px;cursor:crosshair!important;touch-action:none;user-select:none;-webkit-user-select:none}.grading-image-layer *{cursor:crosshair!important}.grading-canvas img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;pointer-events:none;-webkit-user-drag:none;-webkit-touch-callout:none}.grading-box{position:absolute;display:grid;place-items:start;padding:3px 5px;color:var(--color-surface);background:#0e667433;border:2px solid var(--color-primary-strong);border-radius:5px;font-size:12px;font-weight:800;pointer-events:none}.grading-box.deduction{background:#d11d1324;border-color:var(--color-danger)}.grading-box.answer{color:#0b4c5a;background:#1884941f;border-color:#21a4b5;border-style:dashed}.grading-box.total{background:#277a4a29;border-color:#277a4a}.grading-box.preview{background:#ffc10733;border-color:#b77900}.grading-box.selected{border-width:3px;box-shadow:0 0 0 3px #0e66742e}.grading-cursor-guide{position:absolute;z-index:var(--z-sticky);width:34px;height:34px;pointer-events:none;transform:translate(-50%,-50%)}.grading-cursor-guide:before,.grading-cursor-guide:after{content:"";position:absolute;background:#d11d13d9;border-radius:999px;box-shadow:0 0 0 1px #ffffffc7}.grading-cursor-guide:before{left:50%;top:0;width:2px;height:100%;transform:translate(-50%)}.grading-cursor-guide:after{left:0;top:50%;width:100%;height:2px;transform:translateY(-50%)}.grading-region-list{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.grading-region-item{display:inline-flex;gap:6px;align-items:center;padding:4px;border:1px solid transparent;border-radius:8px}.grading-region-item.selected{background:#e7f5f3;border-color:#9bd0ca}.grading-region-list span{color:var(--color-muted);font-size:13px}.upload-form{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:16px}.exam-upload-sidebar{grid-column:1;grid-row:1;display:grid;gap:12px;align-content:start;padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.exam-upload-controls{display:grid;gap:10px}.exam-student-picker{display:grid;gap:8px;min-width:0;padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.exam-student-picker.disabled{opacity:.72}.exam-student-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.exam-student-picker-head span{color:var(--color-muted);font-size:12px;font-weight:900}.exam-student-picker-head b{min-width:0;color:var(--color-ink-strong);font-size:13px;font-weight:900;overflow-wrap:anywhere}.exam-student-picker-list{display:grid;gap:6px;max-height:220px;min-width:0;overflow-x:hidden;overflow-y:auto;padding-right:2px}.exam-student-picker-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0;padding:9px 10px;color:var(--color-ink-strong);text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.exam-student-picker-item:hover:not(:disabled),.exam-student-picker-item:focus-visible{background:var(--color-primary-soft);border-color:var(--color-primary-border)}.exam-student-picker-item.selected{color:var(--color-primary-strong);background:var(--color-primary-soft);border-color:#7fc8d2}.exam-student-picker-item>span{display:grid;gap:2px;min-width:0}.exam-student-picker-item strong,.exam-student-picker-item small{min-width:0;white-space:normal;overflow-wrap:anywhere}.exam-student-picker-item strong{color:var(--color-ink-strong);font-size:13px;font-weight:900;line-height:1.25}.exam-student-picker-item small{color:var(--color-muted);font-size:12px;font-weight:800;line-height:1.25}.exam-student-picker-item svg{flex:0 0 auto;color:var(--color-primary-strong)}.upload-form .exam-page-upload-panel{grid-column:2;grid-row:1 / span 2;align-self:stretch}.exam-page-upload-panel .homework-page-upload-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.exam-upload-submit{grid-column:1;grid-row:2;width:100%;min-height:52px;margin-top:0;align-self:start}.file-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 14px;color:var(--color-ink-strong);background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:8px;cursor:pointer}.file-button input{display:none}.native-file-input{position:absolute;left:-10000px;width:1px;height:1px;opacity:0}.image-source-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.image-source-actions .file-button{width:100%;min-width:0;padding:0 10px}.image-source-actions .is-processing{color:#6d7c86;cursor:wait;opacity:.82}.camera-file-button{color:#0b6470;background:var(--color-primary-soft);border-color:#bfe0e6}.image-process-row{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-height:34px;padding:0 10px;color:var(--color-muted);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;font-size:12px;font-weight:800}.image-process-row select{min-height:28px;padding:0 8px;color:var(--color-ink-strong);background:var(--color-surface);border:1px solid var(--color-border);border-radius:7px;font-weight:800}.image-process-notice{grid-column:1 / -1;color:var(--color-primary);font-size:12px;font-weight:800}.rubric-file-button{justify-self:stretch}.field-hint{margin:-2px 0 2px;color:var(--color-muted);font-size:13px;line-height:1.5}.field-hint.strong-hint{margin-top:8px;color:var(--color-primary-strong);font-weight:900}.checkbox-row{display:flex;align-items:center;gap:10px;min-height:46px;padding:10px 12px;color:#183241;background:#f5f9fa;border:1px solid var(--color-border);border-radius:8px;font-weight:700}.checkbox-row input{width:18px;height:18px;accent-color:#0b7d8c}.correction-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,148px);align-items:stretch;gap:12px}.assistant-exam-row{display:block;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.assistant-exam-row:hover,.assistant-exam-row:focus-visible{background:#f1fafb;border-color:#83ccd6;box-shadow:0 8px 18px #0f6f8017;transform:translateY(-1px);outline:none}.assistant-exam-row .correction-main{width:100%}.correction-row-queued{border-color:#c8e3e8;background:var(--color-surface-muted)}.correction-row .correction-main{display:grid;gap:10px;align-content:start}.correction-row .correction-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding-bottom:10px;border-bottom:1px solid var(--color-border)}.correction-row .correction-summary-main{display:flex;align-items:center;gap:10px;min-width:0}.correction-row .correction-summary-main div{display:grid;gap:4px;min-width:0}.correction-row .correction-summary-main>div>strong{color:#122635;font-size:18px;line-height:1.3}.correction-row .correction-summary-main>div>span{color:var(--color-muted);font-size:13px;font-weight:800;line-height:1.45}.correction-status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:58px;min-height:30px;padding:0 10px;color:#5d6d78;background:#eef3f5;border:1px solid #d5e0e5;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.correction-status-pill.queued{color:#0b6774;background:#e7f7f9;border-color:#c0e3e8}.correction-status-pill.review{color:#89510b;background:#fff6e6;border-color:#efd7a8}.correction-status-pill.graded{color:var(--color-success-ink);background:#edf9f1;border-color:#cdebd7}.correction-row .correction-summary-score{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:138px;text-align:right}.correction-summary-score>div{display:grid;gap:3px;min-width:0}.correction-summary-score b{color:var(--color-primary-strong);font-size:20px;line-height:1.2}.correction-summary-score span{color:var(--color-muted);font-size:12px;font-weight:800;line-height:1.35}.correction-detail-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;padding:0;color:var(--color-primary-strong);background:#f1fafb;border:1px solid #c8e4ea;border-radius:8px}.correction-detail-toggle svg{transition:transform var(--transition-fast)}.correction-row.expanded .correction-detail-toggle svg{transform:rotate(180deg)}.correction-detail{display:grid;gap:10px}.result-row .correction-page-strip{margin-top:0}.correction-row .correction-queue-placeholder{display:grid;gap:5px;padding:12px;color:#47606e;background:var(--color-surface-muted);border:1px dashed #c7dce3;border-radius:8px}.correction-queue-placeholder strong{color:#14313f;font-size:14px;line-height:1.35}.correction-queue-placeholder span{color:var(--color-muted);font-size:13px;font-weight:800;line-height:1.45}.correction-editor{display:grid;grid-template-columns:minmax(110px,.42fr) minmax(220px,1fr) auto;align-items:center;gap:8px;min-width:0;align-content:start;padding:10px;background:var(--color-surface-muted);border:1px solid #dce9ee;border-radius:8px}.correction-score-block{display:flex;align-items:center;justify-content:space-between;gap:10px}.correction-score-block span{color:var(--color-muted);font-size:13px;font-weight:800}.correction-score-block b{color:var(--color-primary-strong);text-align:right;font-size:22px}.correction-editor input{width:100%;min-width:0}.correction-editor input[type=number]{width:100%}.correction-editor input:not([type]),.correction-editor input[type=text]{width:100%;min-width:0}.correction-editor input:disabled{color:#8293a0;background:#f3f7f8;cursor:not-allowed}.correction-actions{display:flex;justify-content:flex-end;gap:8px;min-width:0}.correction-side-actions{display:grid;align-content:start;justify-items:end;gap:8px}.correction-actions button{width:auto;min-width:120px}.correction-side-actions button{width:auto}.correction-delete-button{min-width:64px;min-height:32px;padding:0 9px;font-size:12px}.correction-delete-button.confirming{min-width:84px}.small-button{padding:10px 14px;min-height:42px}.compact-button{min-height:40px;padding:0 12px;white-space:nowrap}.mini-feedback{margin-top:8px;display:grid;gap:4px}.mini-feedback p,.rule-row p{margin:0;color:var(--color-muted);font-size:13px;line-height:1.45}.rule-row small{color:var(--color-muted);font-size:12px;line-height:1.45}.correction-rule-row{align-items:flex-start}.correction-rule-row.editing{display:block}.correction-rule-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center;flex:0 0 auto}.correction-rule-edit-form{display:grid;gap:10px;width:100%}.correction-rule-create-form{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(130px,.45fr) minmax(260px,1.35fr) minmax(180px,.8fr) auto;gap:10px;align-items:stretch;margin-bottom:12px}.correction-rule-create-form textarea{min-height:54px;resize:vertical}.correction-rule-edit-head{display:grid;gap:4px}.correction-rule-edit-form label{display:grid;gap:6px}.correction-rule-edit-form label span{color:var(--color-muted);font-size:13px;font-weight:900}.correction-rule-edit-form input,.correction-rule-edit-form textarea,.correction-rule-create-form input,.correction-rule-create-form select,.correction-rule-create-form textarea{width:100%;min-width:0}.homework-scoring-rule-panel{display:grid;gap:10px;margin-bottom:14px;padding:14px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-soft, #f7fafb)}.homework-scoring-rule-panel>.field-hint{margin:0}.homework-scoring-rule-form{grid-template-columns:minmax(0,1fr)}.homework-scoring-rule-list{display:grid;gap:8px}.homework-scoring-rule-row{grid-template-columns:minmax(0,1fr) auto}.attachment-list{display:grid;gap:8px}.file-chip-list{display:flex;flex-wrap:wrap;gap:8px}.file-chip-list span{max-width:100%;padding:7px 10px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:8px;font-size:13px;font-weight:700;word-break:break-word}.attachment-link{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;min-height:42px;padding:8px 10px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:8px;font-size:13px;font-weight:700;text-decoration:none}.attachment-link img{width:46px;height:46px;object-fit:cover;border-radius:6px;border:1px solid #c2dce0}.attachment-preview{display:grid;gap:8px;padding:10px;color:var(--color-primary-strong);background:var(--color-surface);border:1px solid var(--color-primary-border);border-radius:8px;font-size:13px;font-weight:700;text-decoration:none}.attachment-preview img{display:block;width:100%;max-height:520px;object-fit:contain;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.html-preview-card{gap:10px}.html-preview-card iframe{width:100%;min-height:320px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.question-card .attachment-link{color:var(--color-surface);background:#ffffff24;border-color:#ffffff3d}.question-card .attachment-link img{border-color:#ffffff5c}.student-stats-bar{display:flex;align-items:center;justify-content:space-around;gap:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:14px 20px;margin-bottom:16px}.student-stats-item{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1}.student-stats-value{font-size:22px;font-weight:700;color:var(--color-ink-strong);line-height:1;letter-spacing:-.5px}.student-stats-value small{font-size:13px;font-weight:500;color:#6b8194;letter-spacing:0}.student-stats-value.student-stats-pending{color:var(--color-warning)}.student-stats-label{font-size:11px;color:#8097a8;letter-spacing:.02em}.student-stats-divider{width:1px;height:36px;background:var(--color-border);flex-shrink:0}.student-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:26px;color:var(--color-surface);background:linear-gradient(135deg,var(--student-hero-start),var(--student-hero-end));border-radius:8px}.student-hero h1{margin:5px 0 0;font-size:30px}.student-hero span{color:#ffffffc7}:root{--learning-hero-start: #22555f;--learning-hero-end: #557a4c;--learning-hero-kicker: rgba(255, 255, 255, .78);--learning-hero-copy: rgba(255, 255, 255, .86);--learning-hero-shadow: rgba(31, 75, 87, .16)}.point-evaluation-page .points-overview-details .student-stat-grid,.point-evaluation-page .points-overview-details .stat,.point-evaluation-page .points-overview-details .point-component-strip article{color:var(--color-ink-strong)}.point-evaluation-page .points-overview-details .stat strong,.point-evaluation-page .points-overview-details .point-component-strip strong{color:var(--color-ink-strong)}.point-evaluation-page .points-heading-actions .points-overview-details summary,.point-evaluation-page .points-heading-actions select{color:var(--color-on-primary);background:#0a393d57;border-color:#ffffff57;box-shadow:none}.point-evaluation-page .points-heading-actions .points-overview-details summary:before{color:var(--color-on-primary)}.point-evaluation-page .points-heading-actions .points-overview-details summary span{color:#ffffff9e}.point-evaluation-page .points-heading-actions select{color-scheme:dark}.point-evaluation-page .points-heading-actions select option{color:var(--color-ink-strong);background:var(--color-surface)}.point-evaluation-page .points-heading-actions .points-overview-details[open] summary{background:#0a393d85}.point-evaluation-page .points-page-heading h1{color:var(--color-on-primary)}.point-evaluation-page .points-heading-actions{border-color:#ffffff4d}.point-evaluation-page .points-heading-actions>label{color:var(--learning-hero-copy)}.student-participation-hero{align-items:stretch}.student-live-metrics{display:grid;grid-template-columns:repeat(4,minmax(94px,1fr));gap:10px;width:min(640px,64%)}.student-live-metrics article{display:grid;align-content:center;gap:4px;min-height:86px;padding:12px;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);border-radius:8px}.student-live-metrics strong{color:var(--color-surface);font-size:22px;line-height:1}.student-live-metrics span{color:#ffffffc7;font-size:12px;font-weight:800}.student-live-metrics strong small{font-size:14px;font-weight:500;opacity:.75}.student-live-metrics article.has-pending strong{color:var(--color-warning)}.student-live-metrics article.clickable{cursor:pointer;transition:background .15s ease,border-color .15s ease}.student-live-metrics article.clickable:hover{background:#fff3;border-color:#fff6}.student-live-metrics article.clickable:active{background:#ffffff1a}.student-activity-list{display:grid;gap:22px}.student-activity-card{display:grid;gap:10px;padding:0;background:transparent;border:0}.student-activity-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px 10px;border-bottom:1px solid var(--color-border)}.student-activity-card-head>div,.student-activity-entry>div:first-child{display:grid;gap:4px;min-width:0}.student-activity-card-head strong{font-size:17px;line-height:1.35;text-wrap:balance}.student-activity-card-head span,.student-activity-entry span{color:var(--color-muted);font-size:13px}.student-attendance-card{display:block}.student-attendance-card .student-activity-card-head{padding:14px 16px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md)}.student-attendance-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.student-attendance-badge.present{color:var(--color-success);background:var(--color-success-soft);border:1px solid var(--color-success-border)}.student-attendance-badge.absent{color:var(--color-danger);background:var(--color-danger-soft);border:1px solid var(--color-danger-border)}.student-attendance-badge.leave{color:var(--color-warning);background:var(--color-warning-soft);border:1px solid var(--color-warning-border)}.student-activity-status.ended{color:#516575;background:var(--color-bg);border-color:var(--color-border)}.student-activity-entry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.student-activity-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:14px;min-height:116px;padding:14px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.student-activity-entry.signed,.student-activity-entry.completed{background:var(--color-success-soft);border-color:var(--color-success-border)}.student-activity-entry.late,.student-activity-entry.pending,.student-activity-entry.partial{background:var(--color-warning-soft);border-color:#f1d8ad}.student-activity-entry.open{background:var(--color-primary-soft);border-color:var(--color-primary-border)}.student-activity-entry-side{display:flex;min-width:112px;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:8px}.student-activity-entry-side .ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 10px;color:var(--color-primary-strong);background:#ffffff94;border-color:color-mix(in srgb,var(--color-primary-border) 78%,var(--color-surface));font-size:13px;font-weight:800;text-decoration:none}.student-activity-entry-side>span{font-size:12px;font-variant-numeric:tabular-nums}.student-activity-entry:focus-within{border-color:var(--color-primary);box-shadow:var(--focus-ring)}@media(hover:hover){.student-activity-entry:hover{border-color:var(--color-border-strong);box-shadow:0 8px 18px #2335460f;transform:translateY(-1px)}.student-activity-entry .ghost-button:hover{background:var(--color-surface)}}@media(prefers-reduced-motion:reduce){.student-activity-entry{transition:none}}.student-exam{display:grid;gap:12px}.feedback-list p{margin:0;padding:10px;color:#5b331b;background:var(--color-warning-soft);border:1px solid #f2d7bb;border-radius:8px;line-height:1.5}.answer-preview{position:relative;overflow:hidden;border:2px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.answer-preview img{display:block;width:100%;max-height:420px;object-fit:contain;background:var(--color-surface)}.answer-preview.passed,.answer-preview.needs-work{border-color:var(--color-danger)}.answer-mark{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:72px;height:72px;color:var(--color-danger);background:#ffffffdb;border:3px solid var(--color-danger);border-radius:50%;transform:rotate(-8deg)}.answer-mark span{color:var(--color-danger);font-size:42px;font-weight:900;line-height:.8}.answer-mark b{color:var(--color-danger);font-size:13px}.correct-answer{display:grid;gap:8px;padding:12px;background:var(--color-success-soft);border:1px solid var(--color-success-border);border-radius:8px}.correct-answer strong{color:#185c50}.correct-answer p{margin:0;color:#31524c;line-height:1.55}.paper-link{color:var(--color-primary-strong);font-weight:700;text-decoration:none}.inline-link-button{display:inline;width:auto;min-height:0;padding:0;background:transparent;border:0;cursor:pointer}.image-preview-overlay{position:fixed;inset:0;z-index:var(--z-drawer);display:grid;place-items:center;padding:18px;background:#0f1f279e}.image-preview-panel{display:grid;gap:12px;max-width:min(920px,96vw);max-height:92vh;padding:14px;background:var(--color-surface);border-radius:8px;box-shadow:0 22px 60px #10253247}.image-preview-header{display:flex;gap:10px;align-items:center;justify-content:space-between}.image-preview-header strong{min-width:0;overflow:hidden;color:var(--color-ink-strong);text-overflow:ellipsis;white-space:nowrap}.image-preview-panel img{display:block;max-width:100%;max-height:calc(92vh - 112px);object-fit:contain;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-muted)}.answer-download{display:block;padding:10px 12px;background:var(--color-danger-soft);border-top:1px solid var(--color-danger-border)}.analytics-hero{background:linear-gradient(135deg,#19545d,#3f7554)}.wrongbook-hero{background:linear-gradient(135deg,#2b5b5f,#7a6140)}.common-hero{background:linear-gradient(135deg,#244f63,#6b7043)}.questionbank-hero{background:linear-gradient(135deg,#1c5963,#4d6f82)}.questionbank-mode-tabs,.questionbank-resource-tabs{display:grid;gap:8px;padding:8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.questionbank-mode-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.questionbank-resource-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.questionbank-mode-tabs button,.questionbank-resource-tabs button{display:grid;gap:4px;align-content:center;min-height:58px;padding:10px 12px;color:#536979;background:var(--color-surface-muted);border:1px solid transparent;border-radius:8px}.questionbank-mode-tabs button.active,.questionbank-resource-tabs button.active{color:var(--color-primary-strong);background:var(--color-primary-soft);border-color:#b8dfe6}.questionbank-mode-tabs strong,.questionbank-resource-tabs span{color:inherit;font-weight:900}.questionbank-mode-tabs span,.questionbank-resource-tabs b{color:var(--color-muted);font-size:12px;font-weight:800}.homework-workspace-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px;background:var(--color-surface);border:1px solid #d8e6eb;border-radius:8px}.homework-workspace-tab{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:10px 14px;color:var(--color-ink);background:var(--color-surface-muted);border:1px solid transparent;border-radius:8px;text-align:left;cursor:pointer}.homework-workspace-tab svg{color:#527181}.homework-workspace-tab strong{min-width:0;overflow:hidden;color:var(--color-ink-strong);font-size:15px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.homework-workspace-tab span{color:var(--color-muted);font-size:12px;font-weight:800;white-space:nowrap}.homework-workspace-tab:hover:not(.active),.homework-workspace-tab:focus-visible{color:var(--color-primary-strong);background:var(--color-primary-soft);border-color:#c9e3e9}.homework-workspace-tab.active{color:var(--color-primary-strong);background:var(--color-primary-soft);border-color:#a9d8e1}.homework-workspace-tab.active svg,.homework-workspace-tab.active strong{color:var(--color-primary-strong)}.homework-workspace-tab.active span{color:#315d6b}.student-stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.score-trend,.mastery-list,.student-weak-list,.advice-list{display:grid;gap:10px}.student-weak-group{display:grid;gap:8px}.student-weak-group-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 0}.student-weak-group-title strong{color:var(--color-ink-strong);font-size:14px}.student-weak-group-title span{color:var(--color-muted);font-size:12px;font-weight:800}.trend-item,.mastery-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(120px,1fr) 54px;gap:12px;align-items:center;padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.trend-item strong,.mastery-row strong{display:block;color:var(--color-ink-strong)}.trend-item span,.mastery-row span,.weak-card span{color:var(--color-muted);font-size:13px}.trend-item b,.mastery-row b{color:var(--color-primary-strong);text-align:right}.trend-bar,.mastery-meter{height:10px;overflow:hidden;background:var(--color-border);border-radius:999px}.trend-bar i,.mastery-meter i{display:block;height:100%;background:linear-gradient(90deg,#1a808d,#4e8b62);border-radius:inherit}.weak-card{display:grid;gap:8px;padding:12px;background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:8px}.weak-card b{color:var(--color-danger)}.weak-card p,.advice-list p{margin:0;color:var(--color-ink);line-height:1.5}.advice-list p{padding:12px;background:var(--color-success-soft);border:1px solid var(--color-success-border);border-radius:8px}.wrongbook-card{display:grid;gap:10px;padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.wrongbook-card strong{display:block;color:var(--color-ink-strong)}.wrongbook-card span{color:var(--color-muted);font-size:13px}.wrongbook-card b{color:var(--color-danger)}.wrongbook-card p{margin:0;color:var(--color-ink);line-height:1.5}.wrongbook-chapter-group{display:grid;gap:8px}.wrongbook-chapter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px}.wrongbook-chapter-heading strong{color:var(--color-ink-strong);font-size:14px;font-weight:900}.wrongbook-chapter-heading span{color:var(--color-muted);font-size:12px;font-weight:800}.wrongbook-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}.wrongbook-coach-entry{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 12px;color:var(--color-teal-bright);font:inherit;font-size:13px;font-weight:800;white-space:nowrap;background:#e9f8fa;border:1px solid #a9dce2;border-radius:10px;cursor:pointer}.wrongbook-coach-entry:hover,.wrongbook-coach-entry:focus-visible{color:var(--color-on-primary);background:var(--color-teal-bright);border-color:var(--color-teal-bright)}.wrongbook-card-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:0;color:inherit;text-align:left;background:transparent;border:0;cursor:pointer}.wrongbook-card-toggle>span{display:grid;gap:4px;min-width:0}.wrongbook-card-toggle small{color:var(--color-muted);font-size:13px;font-weight:800;line-height:1.4}.wrongbook-card-toggle:hover strong,.wrongbook-card-toggle:focus-visible strong{color:var(--color-primary-strong)}.wrongbook-detail{display:grid;gap:10px;padding-top:10px;border-top:1px solid var(--color-border)}.coach-overlay{position:fixed;inset:0;z-index:calc(var(--z-drawer) + 2);display:flex;justify-content:flex-end;background:#0d202a57}.coach-panel{display:grid;grid-template-rows:auto auto auto minmax(150px,1fr) auto auto auto;gap:14px;width:min(520px,100%);height:100dvh;padding:22px;overflow:hidden auto;color:#1d3440;background:var(--color-surface);box-shadow:-18px 0 45px #0a232d2e}.coach-header{display:flex;align-items:start;justify-content:space-between;gap:16px}.coach-header span{color:#237886;font-size:12px;font-weight:800;letter-spacing:.08em}.coach-header h2{margin:4px 0 0;font-size:20px;line-height:1.3}.coach-context{display:grid;gap:7px;padding:13px;border:1px solid #d7e7eb;border-radius:12px;background:#f6fbfc}.coach-context strong{color:var(--color-teal-deep);font-size:13px}.coach-context p{margin:0;font-size:14px;line-height:1.6}.coach-context small{color:#627987;font-size:12px;line-height:1.5}.coach-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.coach-mode-grid button{display:grid;gap:4px;min-height:82px;padding:11px;color:#345462;text-align:left;background:var(--color-surface);border:1px solid #d5e5e9;border-radius:10px;cursor:pointer}.coach-mode-grid button strong{color:var(--color-teal-deep);font-size:13px;line-height:1.35}.coach-mode-grid button span{color:#70838c;font-size:12px;line-height:1.4}.coach-mode-grid button:hover,.coach-mode-grid button:focus-visible,.coach-mode-grid button.active{border-color:#4aa8b5;background:#eaf8fa;box-shadow:0 0 0 2px #4aa8b51f}.coach-empty-state{margin:auto 0;padding:15px;color:#627987;text-align:center;font-size:13px;line-height:1.6;background:var(--color-panel-faint);border:1px dashed #c9dde2;border-radius:10px}.coach-thread{display:flex;flex-direction:column;gap:10px;min-height:150px;overflow:auto;padding:3px 2px}.coach-message{max-width:92%;margin:0;padding:11px 13px;border-radius:12px;font-size:14px;line-height:1.65;white-space:pre-wrap}.coach-message.assistant{align-self:flex-start;border:1px solid #d6e8ea;background:#f3faf9}.coach-message.student{align-self:flex-end;color:var(--color-on-primary);background:#1b7d8c}.coach-quick-actions{display:flex;flex-wrap:wrap;gap:8px}.coach-quick-actions button{min-height:32px;padding:5px 10px;color:var(--color-teal-deep);border:1px solid #bcdde1;border-radius:8px;background:var(--color-surface);font-size:12px;font-weight:700;cursor:pointer}.coach-quick-actions button:hover{background:#e9f6f6}.coach-quick-actions button:disabled{cursor:not-allowed;opacity:.5}.coach-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end}.coach-input textarea{min-height:58px;max-height:128px;padding:10px 11px;resize:vertical;border:1px solid #c9dfe4;border-radius:9px;font:inherit;font-size:13px;line-height:1.5}.coach-resource-list{display:grid;gap:7px;padding-top:12px;border-top:1px solid #e0ebee}.coach-resource-list strong{font-size:13px}.coach-resource-list a{color:var(--color-teal-deep);font-size:13px;font-weight:700;line-height:1.45;text-decoration:none}.coach-resource-list a:hover{text-decoration:underline}.coach-resource-list span{color:var(--color-muted);font-size:12px;line-height:1.5}.coach-resource-card{display:grid;gap:3px;padding:9px 10px;color:#174b58!important;background:#f3faf9;border:1px solid #d0e7e7;border-radius:9px}.coach-resource-card:hover,.coach-resource-card:focus-visible{background:#e8f6f5;border-color:#86c6cd;text-decoration:none!important}.coach-resource-card b{font-size:13px}.coach-resource-card small{color:#4e7680;font-size:11px;line-height:1.45}.coach-resource-card span{color:#627680}.coach-panel-extended{grid-template-rows:auto auto minmax(120px,1fr) auto auto auto auto}.coach-practice-card{display:grid;gap:9px;padding:13px;border:1px solid #bcdde1;border-radius:12px;background:#f5fbfc}.coach-practice-card>div:first-child{display:grid;gap:3px}.coach-practice-card>div:first-child span{color:#237886;font-size:12px;font-weight:800}.coach-practice-card>div:first-child strong{color:#173948;font-size:15px}.coach-practice-card>div:first-child p{margin:0;color:#607684;font-size:12px;line-height:1.45}.coach-practice-card>.ghost-button{justify-self:start}.coach-practice-question{display:grid;gap:9px;padding-top:4px}.coach-practice-question>b{color:var(--color-teal-deep);font-size:13px}.coach-practice-question>p{margin:0;color:#213b47;font-size:14px;line-height:1.6}.coach-practice-question textarea{min-height:74px;padding:10px 11px;resize:vertical;border:1px solid #c9dfe4;border-radius:9px;font:inherit;font-size:13px;line-height:1.5}.coach-practice-question .primary{justify-self:start}.coach-practice-result{display:grid;gap:7px;padding:10px;border-radius:9px;background:var(--color-surface)}.coach-practice-result.correct{border:1px solid #a9dbc5}.coach-practice-result.wrong{border:1px solid #f0caca}.coach-practice-result strong{font-size:13px}.coach-practice-result p{margin:0;color:#405565;font-size:13px;line-height:1.55}.coach-practice-result details{color:var(--color-teal-deep);font-size:13px}.coach-practice-result details>p{margin:8px 0 0}.practice-coach-entry,.homework-coach-entry{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 11px;color:var(--color-teal-bright);font:inherit;font-size:13px;font-weight:800;background:#e9f8fa;border:1px solid #a9dce2;border-radius:9px;cursor:pointer}.practice-coach-entry:hover,.practice-coach-entry:focus-visible,.homework-coach-entry:hover,.homework-coach-entry:focus-visible{color:var(--color-on-primary);background:var(--color-teal-bright);border-color:var(--color-teal-bright)}.practice-result-bar .practice-coach-entry{margin-left:auto}.homework-coach-entry{margin-top:12px}@media(max-width:600px){.coach-panel{width:100%;padding:18px 15px calc(20px + env(safe-area-inset-bottom))}.coach-mode-grid,.coach-input{grid-template-columns:1fr}.coach-input .primary{justify-self:end}}.wrongbook-detail dl{display:grid;gap:8px;margin:0}.wrongbook-detail dl>div{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:start;padding:9px 10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.wrongbook-detail dt{color:var(--color-muted);font-size:12px;font-weight:900}.wrongbook-detail dd{min-width:0;margin:0;color:#223846;font-size:14px;font-weight:800;line-height:1.55}.wrongbook-intervention-workspace{min-width:0}.wrongbook-intervention-tabs{display:inline-flex;gap:4px;margin:0 0 14px;padding:4px;background:#e9f2f4;border:1px solid #d1e2e6;border-radius:10px}.wrongbook-intervention-tabs button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;color:#526b76;background:transparent;border:0;border-radius:7px;font:inherit;font-size:13px;font-weight:850;cursor:pointer}.wrongbook-intervention-tabs button.active{color:#086f80;background:var(--color-surface);box-shadow:0 1px 3px #0f3e4a24}.wrongbook-evidence-list{display:grid;gap:8px}.wrongbook-evidence-list>strong{color:var(--color-ink-strong);font-size:13px}.wrongbook-evidence-list article{display:grid;gap:5px;padding:10px 11px;background:#fbfdfe;border:1px solid #dce9ec;border-radius:9px}.wrongbook-evidence-list article>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px}.wrongbook-evidence-list b{color:var(--color-ink-strong);font-size:13px}.wrongbook-evidence-list span,.wrongbook-evidence-list small{color:var(--color-muted);font-size:12px;line-height:1.45}.wrongbook-evidence-list p{margin:0;color:#48616d;font-size:13px;line-height:1.55}.wrongbook-evidence-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}.wrongbook-evidence-actions span{color:var(--color-muted);font-size:12px;line-height:1.45}@media(max-width:600px){.wrongbook-intervention-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.wrongbook-intervention-tabs button{justify-content:center;padding:0 8px}.wrongbook-evidence-actions{align-items:stretch;flex-direction:column}}.wrongbook-example-list{display:grid;gap:7px}.wrongbook-example-list p{display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding:9px 10px;background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:8px}.wrongbook-example-list b{color:var(--color-ink-strong)}.wrongbook-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.wrongbook-topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 16px;margin-bottom:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px}.wrongbook-summary-stats{display:flex;flex-wrap:wrap;gap:16px;color:var(--color-muted);font-size:14px}.wrongbook-summary-stats b{color:var(--color-ink-strong);font-size:18px;font-weight:900}.wrongbook-toolbar-inline{margin-bottom:0}.wrongbook-kp-list{display:grid;gap:8px}.wrongbook-kp-group{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.wrongbook-kp-header{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 16px 10px;text-align:left;background:transparent;border:0;cursor:pointer}.wrongbook-kp-header:hover{background:var(--color-surface-soft)}.wrongbook-kp-header.expanded{background:var(--color-primary-soft)}.wrongbook-kp-left{display:grid;gap:3px;min-width:0}.wrongbook-kp-name{color:var(--color-ink-strong);font-size:15px;font-weight:900;line-height:1.4}.wrongbook-kp-meta{color:var(--color-muted);font-size:13px;font-weight:400}.wrongbook-kp-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.wrongbook-kp-badge{padding:3px 9px;background:var(--color-danger-soft);border:1px solid var(--color-danger-border);border-radius:99px;color:var(--color-danger);font-size:13px;font-weight:900}.wrongbook-kp-chevron{color:var(--color-muted);transition:transform .2s ease;flex-shrink:0}.wrongbook-kp-chevron.open{transform:rotate(180deg)}.wrongbook-kp-bar-track{height:3px;background:var(--color-border)}.wrongbook-kp-bar-fill{height:100%;background:var(--color-danger);border-radius:0 2px 2px 0;transition:width .4s ease}.wrongbook-kp-body{display:grid;gap:8px;padding:12px;border-top:1px solid var(--color-border)}.wrongbook-kp-tips{margin-bottom:4px}.wrongbook-mode-tabs{margin-bottom:12px}.student-ai-form{gap:14px}.ai-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px;background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:8px}.ai-mode-switch button{min-height:42px;color:#506574;background:transparent;border:0;border-radius:7px;font-weight:900}.ai-mode-switch button.active{color:var(--color-primary-strong);background:var(--color-surface);box-shadow:0 8px 18px #172f3d14}.ai-upload-zone{display:grid;place-items:center;gap:8px;min-height:160px;padding:20px;text-align:center;color:var(--color-muted);background:var(--color-surface);border:2px dashed #d5e2e8;border-radius:8px;cursor:pointer}.ai-upload-zone input{display:none}.ai-upload-zone svg{color:var(--color-primary-strong)}.ai-upload-zone strong{color:var(--color-ink);font-size:17px}.ai-upload-zone span{font-size:13px}.ai-solution-card,.ai-practice-card{display:grid;gap:12px;margin-top:14px;padding:14px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.ai-solution-card img{width:min(100%,360px);max-height:240px;object-fit:contain;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.ai-solution-card h3,.ai-practice-card h3{margin:0}.ai-solution-card p,.ai-practice-item p{margin:0;color:#405565;line-height:1.65}.ai-keypoints{display:flex;flex-wrap:wrap;gap:8px}.ai-keypoints span{padding:7px 10px;color:var(--color-primary-strong);background:#eaf7f4;border:1px solid #c8e4dc;border-radius:999px;font-size:13px;font-weight:800}.ai-practice-item{display:grid;gap:8px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.selectable-wrong{position:relative}.selectable-wrong.selected{border-color:var(--color-primary);box-shadow:0 0 0 3px #1f82901f}.wrongbook-select{display:inline-flex;grid-template-columns:none;align-items:center;justify-self:start;gap:7px;width:auto;min-height:34px;padding:5px 9px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:8px;font-size:13px;font-weight:800}.wrongbook-select input{width:16px;height:16px;min-height:0;padding:0;accent-color:var(--color-primary)}.wrong-reason{padding:10px;background:var(--color-warning-soft);border:1px solid #f0d6ba;border-radius:8px}.practice-list,.reason-list{display:grid;gap:8px}.practice-list p{padding:10px;background:var(--color-success-soft);border:1px solid var(--color-success-border);border-radius:8px}.reason-list p{padding:10px;background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:8px}.discussion-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.homework-due-field{display:grid;gap:6px}.homework-due-field span{color:var(--color-ink);font-size:13px;font-weight:900}.discussion-list,.discussion-replies{display:grid;gap:12px}.discussion-thread{display:grid;gap:12px;padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.discussion-thread-target{border-color:var(--color-primary);box-shadow:0 0 0 3px #1f829024}.discussion-thread>.row-between{align-items:start}.discussion-thread strong{display:block;color:var(--color-ink-strong)}.discussion-thread span,.discussion-thread small,.discussion-thread b{color:var(--color-muted);font-size:13px}.discussion-content{margin:0;padding:12px;color:var(--color-ink-strong);line-height:1.6;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.discussion-reply{display:grid;gap:8px;padding:12px;background:#f5faf9;border:1px solid #d2e8e4;border-radius:8px}.discussion-reply p{margin:0;color:var(--color-ink-strong);line-height:1.6}.discussion-reply-form{display:grid;grid-template-columns:minmax(0,1fr) 120px 90px 90px;gap:10px;align-items:stretch}.discussion-reply-form textarea{min-height:54px}.discussion-image-actions{display:flex;flex-wrap:wrap;gap:8px}.discussion-image-actions .file-button{flex:1 1 180px}.compact-file-button{min-height:44px;padding:0 10px}.homework-list,.homework-question-list,.homework-submission-list{display:grid;gap:12px}.homework-card{display:grid;gap:14px;padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.homework-review-workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:14px;align-items:start}.homework-review-main,.homework-review-reference{display:grid;gap:12px;min-width:0}.homework-review-main{align-content:start}.homework-review-reference{position:sticky;top:16px;max-height:calc(100vh - 120px);overflow:auto;padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.homework-review-reference .homework-question{background:var(--color-surface)}.homework-review-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding-bottom:8px;border-bottom:1px solid #e1ebef}.homework-card .homework-review-heading strong{color:var(--color-ink-strong);font-size:16px}.homework-card .homework-review-heading span{flex:0 0 auto;padding:6px 10px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:999px;font-size:13px;font-weight:900}.homework-card>.row-between{align-items:start}.homework-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.homework-detail-toolbar.editing{display:block;padding:0;background:transparent;border:0}.homework-detail-meta{display:flex;align-items:center;min-height:36px}.homework-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.homework-date-pill{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;color:var(--color-ink)!important;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;font-size:13px}.homework-date-pill.due{color:var(--color-primary-strong)!important;background:var(--color-primary-soft);border-color:var(--color-primary-border)}.homework-date-pill.overdue{color:var(--color-danger)!important;background:var(--color-danger-soft);border-color:var(--color-danger-border)}.homework-action-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 12px;color:#174555;background:var(--color-surface);border:1px solid #c9dde4;border-radius:8px;font-weight:800;white-space:nowrap}.homework-action-button:hover:not(:disabled),.homework-action-button:focus-visible{color:#0c6f7d;border-color:#8fc8d2;background:var(--color-primary-soft)}.homework-action-button.danger{color:var(--color-danger);border-color:#f0c8c2;background:#fff8f7}.homework-action-button.danger:hover,.homework-action-button.danger:focus-visible{color:var(--color-danger);background:var(--color-danger-soft);border-color:#eaa8a0}.homework-edit-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,180px) minmax(160px,220px) minmax(180px,220px) auto auto;gap:8px;align-items:center}.homework-due-note{margin:-4px 0 0;padding:10px 12px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:8px;font-weight:900}.homework-due-note.overdue{color:var(--color-danger);background:var(--color-danger-soft);border-color:var(--color-danger-border)}.homework-late-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#1426327a}.homework-late-dialog{width:min(100%,520px);display:grid;gap:16px;padding:24px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 24px 70px #14263233}.homework-late-dialog h3,.homework-late-dialog p{margin:0}.homework-late-presets,.homework-late-actions{display:flex;gap:8px;flex-wrap:wrap}.homework-late-actions{justify-content:flex-end}.homework-late-date{display:grid;gap:8px;font-weight:700}.homework-card strong{display:block;color:var(--color-ink-strong)}.homework-card span,.homework-card b{color:var(--color-muted);font-size:13px}.homework-course-card,.homework-title-card,.homework-question-title-card{width:100%;text-align:left;cursor:pointer}.homework-course-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}.homework-course-card-main{display:grid;gap:8px;min-width:0}.homework-submit-pill{justify-self:end;min-width:106px;padding:9px 12px;color:var(--color-surface);background:var(--color-primary);border-radius:8px;font-size:15px;font-weight:900;text-align:center;white-space:nowrap}.student-homework-status{display:grid;justify-items:center;gap:4px;min-width:104px;padding:10px 12px;color:var(--color-ink)!important;background:var(--color-surface-muted);border:1px solid var(--color-primary-border);border-radius:8px;font-size:16px!important;line-height:1.1;font-weight:900;text-align:center;white-space:nowrap}.student-homework-status span{color:#1f3745!important;font-size:14px;line-height:1.1;font-weight:900}.student-homework-status.done{color:var(--color-surface)!important;background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 8px 18px #0f7a8a2e}.student-homework-status.done span{color:var(--color-surface)!important}.student-homework-status.returned,.student-homework-status.overdue{color:var(--color-danger)!important;background:var(--color-danger-soft);border-color:var(--color-danger-border)}.homework-title-card{display:grid;gap:6px}.homework-question-title-list{display:grid;gap:10px}.homework-draft-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;transition:border-color .16s ease,background .16s ease}.homework-draft-row:hover,.homework-draft-row:focus-within{background:var(--color-primary-soft);border-color:#85b7c1}.homework-draft-row .homework-question-title-card,.homework-draft-row .homework-question-title-card:hover{background:transparent;border:0}.homework-draft-menu{margin-right:10px}.homework-draft-menu .resource-card-menu-button{opacity:1;transform:none}.homework-draft-menu .resource-card-popover button{display:flex;align-items:center;gap:8px;white-space:nowrap}.homework-question-title-card{display:grid;gap:6px;padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.homework-question-title-card:hover,.homework-title-card:hover,.homework-course-card:hover{border-color:#85b7c1;background:var(--color-primary-soft)}.homework-question-title-card span{color:var(--color-ink);line-height:1.55}.homework-question-title-card small{color:var(--color-muted);font-weight:800}.homework-question{display:grid;gap:10px;padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.homework-question p,.homework-result p,.homework-submission-row p{margin:0;color:var(--color-ink);line-height:1.55}.homework-region-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.homework-subquestion-grid{display:flex;flex-wrap:wrap;gap:6px}.homework-subquestion-grid>span{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;color:var(--color-primary-strong);background:var(--color-surface-soft);border:1px solid var(--color-primary-border);border-radius:6px;font-weight:800}.homework-standard-preview{display:grid;gap:10px}.homework-standard-card,.homework-question-edit{padding:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.homework-standard-preview b{color:var(--color-ink-strong)}.homework-standard-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.homework-standard-actions,.homework-ai-rubric-fill{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.homework-ai-rubric-fill{justify-content:space-between;padding:10px 12px;border:1px solid #cfe3e8;border-radius:8px;background:#f1f9fa;color:var(--color-muted);font-size:13px}.homework-question-edit{display:grid;gap:8px}.homework-question-edit textarea{min-height:82px;resize:vertical}.homework-subquestion-editor{display:grid;gap:6px}.homework-subquestion-editor span{color:#315161;font-size:13px;font-weight:800}.homework-subquestion-editor textarea{min-height:130px;font-family:inherit}.scroll-anchor-panel{scroll-margin-top:18px;scroll-margin-bottom:120px}.grading-panel-heading{align-items:flex-start;margin-bottom:12px}.grading-panel-heading span{display:block;margin-top:4px;color:var(--color-muted);font-size:13px;line-height:1.5}.homework-submit-box{display:grid;gap:10px}.homework-correction-entry{display:grid;gap:7px;padding:12px 14px;color:#175968;background:var(--color-teal-pale);border:1px solid #b9e0e5;border-radius:10px}.homework-correction-entry>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.homework-correction-entry strong{color:#0b6978;font-size:15px}.homework-correction-entry span{color:#3b6e78;font-size:12px;font-weight:800}.homework-correction-entry p{margin:0;color:#416a73;font-size:13px;line-height:1.6}.homework-answer-input{min-height:82px;resize:vertical}.homework-text-submit{width:100%}.homework-page-upload-panel{display:grid;gap:10px;padding:10px;background:#f4fbfc;border:1px solid var(--color-primary-border);border-radius:8px}.homework-ai-option{display:flex!important;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin:12px 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;cursor:pointer}.homework-ai-option-copy{display:grid;gap:5px;min-width:0}.homework-ai-option-copy>strong{color:var(--color-ink-strong);font-size:15px}.homework-ai-option-copy small{margin-left:6px;font-size:12px;font-weight:400;color:var(--color-muted)}.homework-ai-option-copy>span{font-size:13px;font-weight:400;color:var(--color-muted);line-height:1.6}.homework-ai-option input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:0 0 44px;width:44px;height:26px;min-height:26px;padding:0;margin:0;border:1px solid #a6b7c1;border-radius:20px;background:#c9d5dc;cursor:pointer;position:relative}.homework-ai-option input[type=checkbox]:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--color-surface);box-shadow:0 1px 3px #0002;transition:transform .15s}.homework-ai-option input[type=checkbox]:checked{background:#147889;border-color:#147889}.homework-ai-option input[type=checkbox]:checked:after{transform:translate(18px)}.homework-ai-option input[type=checkbox]:focus-visible{outline:3px solid #7ec6d5;outline-offset:3px}.homework-ai-option input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.homework-page-hint{margin:0;color:#305968;font-weight:700}.homework-page-progress{margin:0;color:var(--color-muted-strong);font-weight:800}.embedded-upload-warning{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:var(--radius-md)}.embedded-upload-warning>svg{color:var(--color-warning)}.embedded-upload-warning>div{display:grid;gap:4px;min-width:0}.embedded-upload-warning strong{color:#6f3c00;font-size:14px}.embedded-upload-warning span,.embedded-upload-warning small{color:#5d4a24;font-size:13px;line-height:1.45}.homework-page-upload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.homework-page-upload-slot{display:grid;gap:8px;padding:10px;background:var(--color-surface);border:1px solid #d6e4ea;border-radius:8px}.homework-page-upload-slot.filled{border-color:#1f8796;box-shadow:0 0 0 2px #1f87961f}.homework-page-upload-slot b{display:block;color:#123846;font-size:15px}.homework-page-upload-slot span{color:var(--color-muted);font-size:12px}.homework-page-submit{width:100%}.homework-text-answer{padding:8px 10px;background:#eef8f6;border:1px solid #c9e3df;border-radius:8px}.homework-result{display:grid;gap:8px;padding:10px;background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:8px}.homework-result b{color:var(--color-danger);font-size:18px}.homework-student-feedback,.homework-feedback-form,.homework-teacher-feedback{display:grid;gap:8px}.homework-feedback-open-button{justify-self:start}.homework-feedback-state,.homework-teacher-feedback{padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.homework-feedback-state.pending,.homework-teacher-feedback.pending{background:var(--color-warning-soft);border-color:#edd7aa}.homework-feedback-state.resolved,.homework-teacher-feedback.resolved{background:#eff9f3;border-color:#cce8d7}.homework-feedback-state.rejected,.homework-teacher-feedback.rejected{background:#fff6f4;border-color:#efc3bc}.homework-feedback-state strong,.homework-teacher-feedback-head h4{margin:0;color:var(--color-ink-strong);font-size:15px}.homework-feedback-state p,.homework-feedback-state span,.homework-teacher-feedback p,.homework-teacher-feedback span{margin:0;color:var(--color-ink);line-height:1.55}.homework-feedback-state span,.homework-teacher-feedback span{font-size:13px;font-weight:800}.homework-feedback-form textarea{min-height:92px;resize:vertical}.homework-feedback-actions,.homework-teacher-feedback-head,.homework-feedback-review{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.homework-teacher-feedback-head b,.homework-feedback-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 9px;color:#9a5b00;background:#fff0c8;border:1px solid #ebcf8c;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.homework-teacher-feedback.resolved .homework-teacher-feedback-head b{color:#0f6a3d;background:#e1f5e9;border-color:#bde0ca}.homework-teacher-feedback.rejected .homework-teacher-feedback-head b{color:var(--color-danger);background:var(--color-danger-soft);border-color:#e8b2aa}.homework-feedback-reply{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:8px 10px}.homework-feedback-review{display:grid;grid-template-columns:minmax(180px,1fr) auto auto}.homework-link-list{display:flex;flex-wrap:wrap;gap:8px}.homework-submission-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.homework-submission-row.expanded{align-items:start}.homework-submission-row.has-feedback{border-color:#e3c083;background:#fffdf7}.homework-submission-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:center;min-width:0;padding:0;color:inherit;text-align:left;background:transparent;border:0;cursor:pointer}.homework-submission-summary>span{display:grid;gap:5px;min-width:0}.homework-submission-summary .latex-text{display:block;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;overflow-wrap:normal;word-break:normal}.homework-submission-summary .katex,.homework-submission-summary .katex *{overflow-wrap:normal;word-break:normal}.homework-submission-summary .latex-text>.katex{display:inline-block;width:max-content;min-width:max-content;max-width:none;overflow:visible}.homework-submission-summary small{color:var(--color-muted);font-size:13px;font-weight:700}.homework-submission-actions{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:flex-end;min-width:max-content}.result-row .homework-submission-actions{display:flex;grid-auto-flow:unset;grid-template-columns:none}.homework-submission-score{padding:6px 9px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:8px;font-size:13px;line-height:1.2;white-space:nowrap;min-width:44px;text-align:center}.homework-submission-action-button{min-height:34px;padding:0 10px;font-size:13px;border-radius:8px;flex:0 0 auto}.homework-return-button{color:var(--color-danger);background:#fff7f5;border-color:var(--color-danger-border)}.homework-return-button:hover,.homework-return-button:focus-visible{color:#86271d;background:var(--color-danger-soft);border-color:#e2a8a0}.homework-submission-detail{grid-column:1 / -1;display:grid;gap:12px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.homework-submission-detail section{display:grid;gap:8px}.homework-submission-detail h4{margin:0;color:var(--color-ink-strong);font-size:15px}.homework-feedback-list{display:grid;gap:6px}.homework-feedback-list p,.homework-submission-detail .homework-text-answer{margin:0;padding:8px 10px;color:#435767;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;line-height:1.55}.homework-correction-panel{grid-template-columns:minmax(90px,120px) minmax(160px,1fr) repeat(3,auto);align-items:center}.homework-regrade-review-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:12px;border:1px solid #f7c97f;border-radius:8px;background:#fff8ed}.homework-regrade-review-panel h4{margin:0 0 4px}.homework-regrade-review-panel p{margin:0;color:#5f7284;font-weight:700}.homework-regrade-review-panel>div:last-child{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.homework-submission-notice{justify-self:start;padding:8px 10px;background:var(--color-success-soft);border:1px solid var(--color-success-border);border-radius:8px}.homework-draft-notice{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;margin-bottom:12px;background:var(--color-primary-soft);border:1px solid #c5e2ea;border-radius:8px;font-size:13px;color:var(--color-ink)}.homework-submission-nav{display:flex;justify-content:flex-end;padding-top:4px;border-top:1px solid #edf2f5;margin-top:4px}.classroom-correction-row{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:10px}.learning-row{align-items:center}.learning-row-button{width:100%;text-align:left;cursor:pointer}.learning-row-button.active{border-color:var(--color-primary);box-shadow:0 0 0 2px #1680921f}.learning-metrics{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap}.result-row .learning-metrics{display:flex;flex-wrap:nowrap}.score-badge{display:inline-flex;align-items:baseline;gap:3px;padding:3px 8px 3px 6px;border-radius:6px;font-size:13px;font-weight:700;color:var(--color-muted);background:var(--color-surface);border:1px solid var(--color-border);white-space:nowrap}.score-badge small{font-size:10px;font-weight:500;opacity:.7;letter-spacing:.01em}.score-badge.score-good{color:var(--color-success);background:var(--color-success-soft);border-color:var(--color-success-border)}.score-badge.score-ok{color:var(--color-warning);background:var(--color-warning-soft);border-color:var(--color-warning-border)}.score-badge.score-low{color:var(--color-danger);background:var(--color-danger-soft);border-color:var(--color-danger-border)}.score-badge.score-neutral{color:var(--color-info);background:var(--color-info-soft);border-color:var(--color-info-border)}.pagination-bar{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--color-border)}.pagination-bar span{font-size:13px;color:var(--color-muted);font-weight:500}.pagination-bar .ghost-button:disabled{opacity:.35;cursor:default}.student-detail-advice{margin-top:12px}.student-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px}.student-detail-card{display:grid;gap:8px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.student-detail-card h3{margin:0;color:var(--color-ink-strong);font-size:16px}.student-detail-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;background:var(--color-surface-muted);border:1px solid #e0edf1;border-radius:8px}.student-detail-record strong{display:block;color:#173241}.student-detail-record span{display:block;margin-top:3px;color:var(--color-muted);font-size:12px;line-height:1.45}.student-detail-record b,.student-discussion-summary b{color:var(--color-primary-strong)}.student-discussion-summary{display:flex;gap:8px;flex-wrap:wrap}.student-discussion-summary b{padding:6px 9px;background:var(--color-primary-soft);border-radius:999px}.common-card{background:var(--color-surface)}.question-bank-card{display:grid;gap:12px;padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.question-bank-card strong{color:var(--color-ink-strong)}.question-bank-card span,.question-bank-card b{color:var(--color-muted);font-size:13px}.question-bank-card p{margin:0;color:var(--color-ink);line-height:1.5}.question-bank-group{display:grid;gap:10px;padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.question-bank-group h3{margin:0;color:var(--color-ink-strong);font-size:16px}.question-bank-compact-list{display:grid;gap:10px}.question-bank-compact-card{width:100%;text-align:left}.question-bank-compact-card:hover{border-color:var(--color-primary);background:var(--color-surface-muted)}.question-bank-card-main{display:grid;gap:12px;width:100%;padding:0;color:inherit;text-align:left;background:transparent;border:0;cursor:pointer}.question-bank-card-main:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.question-bank-card-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.question-bank-card-actions .compact-button{min-height:28px;padding:0 8px;font-size:12px;gap:4px}.question-bank-stem{display:block;max-height:4.4em;overflow:hidden;padding:.52em 0 .3em;line-height:1.7}.question-bank-stem>.latex-text>.katex{max-width:none;overflow:visible;vertical-align:baseline}.question-bank-card-hint{justify-self:start;color:var(--color-primary)!important;font-size:13px}.course-resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.course-resource-card{display:grid;gap:8px;width:100%;min-height:92px;padding:16px;text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;cursor:pointer}.course-resource-card:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.course-resource-card strong,.course-resource-header strong{color:var(--color-ink-strong);font-size:18px}.course-resource-card span,.course-resource-header span,.resource-mini-card span{color:var(--color-muted);font-size:13px}.course-resource-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:var(--color-primary-soft);border:1px solid var(--color-border);border-radius:8px}.teacher-homework-page .homework-hero{padding:20px 24px;color:var(--color-ink-strong);background:linear-gradient(110deg,#e5f3f5,var(--color-panel-faint));border:1px solid var(--color-primary-border);border-radius:12px}.teacher-homework-page .homework-hero span{color:var(--color-muted);font-size:14px}.teacher-homework-page .homework-hero h1{font-size:26px;line-height:1.4}.teacher-homework-page .homework-hero>svg{flex-shrink:0;color:var(--color-primary)}.teacher-homework-page .homework-workspace-tab{min-height:52px;padding:12px 16px}.homework-class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.homework-class-grid .homework-course-card{grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto;align-items:start;min-width:0;min-height:176px;padding:20px;gap:24px;border-radius:12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.homework-class-grid .homework-course-card:hover{background:var(--color-panel-ice);box-shadow:0 4px 16px #19758614}.homework-class-grid .homework-course-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.homework-class-grid .homework-course-card-main{gap:8px}.homework-class-grid .homework-course-card-main strong{font-size:18px;line-height:1.5;font-weight:650;overflow-wrap:anywhere}.homework-class-grid .homework-course-card-main>span{line-height:1.6;overflow-wrap:anywhere}.homework-class-progress{display:grid;gap:10px;min-width:0}.homework-class-progress-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px}.homework-class-progress-summary>span{white-space:nowrap;font-size:13px;font-weight:400}.homework-class-progress-summary b{color:var(--color-primary-strong);font-size:22px;font-weight:650;font-variant-numeric:tabular-nums}.homework-class-progress-summary .homework-class-open{display:inline-flex;align-items:center;gap:2px;color:var(--color-primary-strong)}.homework-class-progress-track{height:5px;overflow:hidden;background:#eaf0f3;border-radius:999px}.homework-class-progress-track>div{height:100%;background:#2b91a0;border-radius:inherit}@media(max-width:1000px){.homework-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.homework-class-grid{grid-template-columns:minmax(0,1fr);gap:12px}.homework-class-grid .homework-course-card{min-height:160px;padding:16px;gap:18px}.teacher-homework-page .homework-hero{padding:18px}.teacher-homework-page .homework-hero h1{font-size:23px}}.course-resource-header div{display:grid;gap:6px}.question-bank-browser-tools{display:grid;gap:12px;padding:14px;border:1px solid #cce2e8;border-radius:10px;background:#f5fafb}.question-bank-source-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:5px;border-radius:9px;background:#e5f0f3}.question-bank-source-tabs button{min-width:0;min-height:38px;padding:7px 10px;color:var(--color-muted);background:transparent;border:1px solid transparent;border-radius:7px;font-size:13px;font-weight:800}.question-bank-source-tabs button.active{color:var(--color-primary-strong);background:var(--color-surface);border-color:#b8dfe6;box-shadow:0 1px 5px #17384914}.question-bank-source-hint{margin:0;color:var(--color-muted);font-size:12px;line-height:1.5}.homework-image-score-plan{display:grid;gap:10px;padding:14px;border:1px solid var(--color-primary-border);border-radius:12px;background:var(--color-primary-soft)}.homework-image-score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.homework-image-score-grid label{display:grid;gap:5px}.homework-image-score-grid input{width:100%;min-width:0}.homework-shared-question-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:10px}.homework-image-outline{display:grid;gap:6px;max-height:220px;overflow:auto}.homework-image-outline p{margin:0;overflow-wrap:anywhere}.homework-image-score-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.question-bank-sortbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.question-bank-sortbar select{width:100%;min-width:0}.question-bank-sortbar input{grid-column:span 3;width:100%;min-width:0}.question-bank-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;padding:18px 0 4px;color:var(--color-muted);font-weight:700}.question-bank-pagination-top{justify-content:flex-end;padding:14px 0 0}.question-bank-page-list,.question-bank-page-jump,.question-bank-page-jump label{display:inline-flex;align-items:center;gap:6px}.question-bank-page-button{min-width:36px;justify-content:center}.question-bank-page-button.active{color:var(--color-primary-strong);border-color:var(--color-primary-border);background:var(--color-primary-soft)}.question-bank-page-ellipsis{min-width:16px;text-align:center}.question-bank-page-jump input{width:58px;min-width:58px;padding:7px 8px;text-align:center}.question-bank-page-summary{white-space:nowrap}@media(max-width:680px){.question-bank-source-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.question-bank-source-tabs button:last-child{grid-column:1 / -1}.question-bank-sortbar{grid-template-columns:repeat(2,minmax(0,1fr))}.question-bank-sortbar input,.question-bank-sortbar select:last-child{grid-column:1 / -1}.question-bank-sortbar select{width:100%}.question-bank-pagination-top{justify-content:center}.question-bank-page-summary{width:100%;text-align:center}}.course-create-disclosure{margin-bottom:16px}.course-create-disclosure>summary{cursor:pointer;color:var(--color-primary-strong);font-weight:900}.course-create-disclosure[open]>summary{margin-bottom:16px}.empty-state-with-action{display:grid;justify-items:center;gap:10px}.question-category-manager{display:grid;gap:12px;padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.question-category-scope{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.question-category-head{display:flex;align-items:end;justify-content:space-between;gap:12px}.question-category-head>div{display:grid;gap:4px}.question-category-head strong{color:var(--color-ink-strong);font-size:16px}.question-category-head span,.question-category-row span{color:var(--color-muted);font-size:13px}.question-category-create{display:flex;gap:8px;min-width:min(100%,320px)}.question-category-create input{min-width:0}.question-category-list{display:grid;gap:8px}.question-category-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center;min-height:48px;padding:8px 10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.question-category-row strong{min-width:0;overflow:hidden;color:var(--color-ink-strong);text-overflow:ellipsis;white-space:nowrap}.course-resource-section{display:grid;gap:10px;padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.course-resource-section h3{margin:0;font-size:16px}.resource-mini-card{display:grid;gap:6px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.student-course-catalog-select{display:grid;gap:8px;min-width:0;color:var(--color-muted);font-size:14px}.student-course-catalog-select select{width:100%;min-width:0}.homework-student-list-toolbar{flex-wrap:wrap;gap:12px;margin-bottom:12px}.homework-roster-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.homework-roster-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;color:var(--color-muted);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.homework-roster-tabs button[aria-selected=true]{color:var(--color-primary-strong);background:var(--color-primary-soft);border-color:var(--color-primary-border)}.homework-roster-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.homework-roster-actions .homework-submitted-entry{color:var(--color-primary-strong)}.homework-roster-actions .homework-missing-entry,.homework-missing-student .homework-missing-status{color:#925617;background:#fff7ed}.homework-roster-actions .homework-feedback-entry{color:#925617;background:#fff7ed;border-color:#edd7aa}.homework-feedback-queue{display:grid;gap:12px;scroll-margin-top:110px}.homework-feedback-queue-card{gap:12px;padding:16px}.homework-feedback-queue-context{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.homework-missing-student .homework-missing-status{justify-self:end;padding:6px 10px;border-radius:6px;font-size:13px;font-weight:600}@media(max-width:780px){.homework-roster-tabs{gap:6px}.homework-roster-tabs button{flex:1;padding:10px 8px;gap:4px;font-size:13px}.teacher-homework-list-row .homework-roster-actions{flex-wrap:wrap;justify-content:flex-start}.homework-missing-student .homework-missing-status{justify-self:start}}.homework-student-list-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;min-width:0;max-width:100%}.homework-student-list-controls>input{width:220px;max-width:100%}.homework-student-list-controls select{width:auto;min-width:0;max-width:100%}.homework-student-sort{display:flex;align-items:center;gap:8px;margin:0;color:var(--color-muted);font-size:13px;white-space:nowrap}.homework-student-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 24px}.homework-student-card-main{display:grid;gap:6px;min-width:0;overflow-wrap:anywhere}.homework-student-card-time{display:grid;gap:6px;text-align:right;color:var(--color-muted);font-size:13px;font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:780px){.homework-student-list-controls{width:100%;justify-content:flex-start}.homework-student-list-controls>input,.homework-student-list-controls>select,.homework-student-sort{width:100%}.homework-student-sort select{flex:1}.homework-student-card{grid-template-columns:minmax(0,1fr)}.homework-student-card-time{display:flex;flex-wrap:wrap;gap:6px 10px;text-align:left}}.resource-mini-button{width:100%;text-align:left;cursor:pointer}.resource-mini-button:hover,.resource-mini-row:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.resource-mini-row{position:relative;grid-template-columns:1fr auto;align-items:center;gap:10px}.hw-row-end{display:flex;align-items:center;gap:4px;flex-shrink:0}.hw-submit-pill{display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding:0 4px;flex-shrink:0;min-width:52px}.hw-submit-fraction{font-size:13px;font-weight:600;line-height:1;white-space:nowrap}.hw-submit-denom{font-size:11px;font-weight:400;color:var(--color-muted)}.hw-submit-bar-wrap{width:48px;height:3px;background:var(--color-border);border-radius:2px;overflow:hidden}.hw-submit-bar{height:100%;border-radius:2px;transform-origin:left;transition:transform .4s ease;will-change:transform}.hw-submit-pill--high .hw-submit-fraction{color:var(--color-success)}.hw-submit-pill--high .hw-submit-bar{background:var(--color-success)}.hw-submit-pill--mid .hw-submit-fraction{color:var(--color-warning)}.hw-submit-pill--mid .hw-submit-bar{background:var(--color-warning)}.hw-submit-pill--low .hw-submit-fraction{color:var(--color-muted-strong)}.hw-submit-pill--low .hw-submit-bar{background:var(--color-border-strong)}.homework-list-row .resource-card-menu-button{opacity:1;transform:translateY(0)}@media(max-width:780px){.teacher-homework-list-row{grid-template-columns:minmax(0,1fr);gap:14px}.teacher-homework-list-row .resource-mini-main{width:100%;overflow-wrap:anywhere}.teacher-homework-list-row .resource-mini-main>span{line-height:1.6}.teacher-homework-list-row .hw-row-end{width:100%;gap:8px}.teacher-homework-list-row .hw-row-end>button{flex:0 0 auto;white-space:nowrap}.teacher-homework-list-row .hw-submit-pill{margin-left:auto}.teacher-homework-list-row .resource-card-menu-button{width:44px;height:44px}}.resource-mini-main{display:grid;gap:6px;min-width:0;padding:0;color:inherit;text-align:left;background:transparent;border:0;cursor:pointer}.resource-mini-main strong,.resource-mini-main span{overflow:hidden;text-overflow:ellipsis}.resource-card-menu{position:relative;justify-self:end}.resource-mini-row:has(>.resource-mini-actions){grid-template-columns:minmax(0,1fr) auto;align-items:start}.resource-mini-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}.homework-library-reference-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 10px;color:var(--color-primary-strong);background:transparent;border:0;border-radius:8px;font-size:13px;font-weight:800;cursor:pointer;transition:color .16s ease,background .16s ease}.homework-library-reference-action:hover:not(:disabled){color:var(--color-primary);background:var(--color-primary-soft)}.homework-library-reference-action:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.homework-library-reference-action:disabled{cursor:not-allowed;opacity:.5}.resource-mini-actions>button,.resource-mini-actions .resource-card-menu-button{min-height:40px}.resource-mini-actions>.homework-library-reference-action{min-height:44px}.resource-mini-actions .resource-card-menu-button{width:40px;height:40px;opacity:1;transform:none}.resource-mini-actions .resource-card-popover{width:180px;max-width:calc(100vw - 40px);white-space:normal}@media(max-width:600px){.resource-mini-row:has(>.resource-mini-actions){grid-template-columns:minmax(0,1fr)}.resource-mini-actions{justify-self:end}}.resource-card-menu-button{display:grid;place-items:center;width:34px;height:34px;padding:0;color:#5c7080;font-size:24px;line-height:1;background:#eef6f8;border:1px solid var(--color-border);border-radius:8px;cursor:pointer;opacity:0;transform:translateY(2px);transition:opacity .16s ease,transform .16s ease,border-color .16s ease}.resource-mini-row:hover .resource-card-menu-button,.resource-mini-row:focus-within .resource-card-menu-button{opacity:1;transform:translateY(0)}.resource-card-menu-button:hover,.resource-card-menu-button:focus-visible{color:#0f6670;border-color:var(--color-primary);outline:none;box-shadow:var(--focus-ring)}.resource-card-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:var(--z-overlay);display:none;min-width:142px;padding:8px;background:var(--color-surface);border:1px solid #dbe7ec;border-radius:8px;box-shadow:0 16px 36px #0f263429}.resource-card-menu:hover .resource-card-popover,.resource-card-menu:focus-within .resource-card-popover{display:grid;gap:4px}.resource-card-popover button{width:100%;padding:10px 12px;color:#213746;text-align:left;background:transparent;border:0;border-radius:6px;cursor:pointer}.resource-card-popover button:hover,.resource-card-popover button:focus-visible{background:var(--color-primary-soft);outline:none;box-shadow:var(--focus-ring)}.resource-card-popover .danger-menu-item{color:#c02b21}.resource-card-popover .delete-confirm-button{display:flex;align-items:center;min-height:34px;padding:0 10px;font-size:13px}.resource-homework-edit{padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}@media(hover:none){.resource-card-menu-button{opacity:1;transform:none}.node-menu-trigger{width:38px;height:38px;font-size:26px}.chapter-drag-handle{width:38px;height:38px;min-height:38px}.node-menu{min-width:168px}.node-menu button{min-height:48px;font-size:15px;white-space:nowrap}}.course-resource-detail{display:grid;gap:12px;padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.resource-detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.resource-detail-header div{display:grid;gap:6px}.resource-detail-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.resource-detail-header-actions button,.resource-detail-header-actions .compact-button,.resource-detail-header-actions .ghost-button{height:32px;min-height:32px!important;padding:0 10px;font-size:13px;line-height:32px}.resource-detail-header strong{color:var(--color-ink-strong);font-size:18px}.resource-detail-header span,.resource-detail-card span{color:var(--color-muted);font-size:13px}.resource-detail-card{display:grid;gap:10px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.resource-detail-card p{margin:0;color:var(--color-ink);line-height:1.6}.resource-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.resource-detail-grid section{display:grid;gap:6px;padding:10px;background:var(--color-panel-ice);border:1px solid var(--color-border);border-radius:8px}.ai-generate-form{margin-bottom:14px}.ai-auto-requirement{display:grid;grid-column:1 / -1;gap:6px;padding:12px 14px;color:#253746;background:var(--color-surface-muted);border:1px solid #cfe4ea;border-radius:8px}.ai-auto-requirement strong{color:var(--color-primary-strong);font-size:14px}.ai-auto-requirement span{color:var(--color-muted);font-size:14px;font-weight:800;line-height:1.55}.ai-candidate-list{display:grid;gap:12px}.ai-job-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:14px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.ai-job-status>div{display:grid;gap:4px}.ai-job-status strong{color:var(--color-ink-strong)}.ai-job-status span{color:#526777;font-size:13px}.ai-job-status.running,.ai-job-status.queued{background:var(--color-primary-soft);border-color:var(--color-primary-border)}.ai-job-status.done{background:#edf8f2;border-color:#c7e8d3}.ai-job-status.failed{background:#fff3f1;border-color:#f0c8c1}.ai-job-status.failed strong{color:#b02b20}.ai-candidate-card{display:grid;gap:12px;padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.ai-candidate-card>section{display:grid;gap:6px;padding:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.ai-candidate-card strong{color:var(--color-ink-strong)}.ai-candidate-card span{color:var(--color-muted);font-size:13px}.ai-candidate-card p{margin:0;color:var(--color-ink);line-height:1.55}.question-bank-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.question-bank-grid section{display:grid;gap:6px;padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.student-question-text{padding:12px;color:var(--color-ink-strong);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;line-height:1.75}.question-edit-form,.extracted-edit{display:grid;gap:10px}.question-edit-form textarea,.extracted-edit textarea{min-height:96px}.extracted-edit{grid-template-columns:repeat(4,1fr);padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.extracted-edit textarea{grid-column:1 / -1}.question-actions{display:flex;flex-wrap:wrap;gap:8px}.extracted-question-list{display:grid;gap:10px}.extracted-question{display:grid;gap:8px;padding:12px;background:#f7fbf9;border:1px solid #cfe5dc;border-radius:8px}.extracted-question .answer-line{padding:8px 10px;background:var(--color-surface);border:1px solid #dce9e4;border-radius:8px}.latex-text{overflow-wrap:break-word;word-break:normal}.latex-text .katex{display:inline-block;max-width:100%;overflow-x:auto;overflow-y:hidden;padding-block:.18em;margin-block:-.18em;vertical-align:middle;white-space:nowrap}.latex-text .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden;padding:4px 0}.latex-text math{font-size:1.04em}.latex-text math[display=block]{display:block;overflow-x:auto;overflow-y:hidden;padding:4px 0}.activity-entry-page,.classroom-activity-page{display:grid;gap:16px}.activity-entry-hero,.classroom-activity-hero{align-items:center}.activity-entry-hero p,.classroom-activity-hero p{max-width:58ch}.activity-status{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;color:var(--color-ink);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.activity-status.ended{color:var(--color-muted);background:#eef2f5}.activity-page-header>div:first-child{display:grid;gap:4px;min-width:0}.activity-page-header p{margin:0;color:var(--color-ink);font-size:14px}.activity-class-scope{display:grid;gap:4px;min-width:240px;padding:8px 10px;background:var(--color-surface-muted);border:1px solid #d3e4ea;border-radius:8px}.activity-class-scope span{color:var(--color-ink);font-size:12px;font-weight:900}.activity-class-scope select{min-height:36px;padding:0 10px;color:var(--color-ink-strong);background:var(--color-surface);border:1px solid #c8dce4;border-radius:7px;font-size:14px;font-weight:900}.activity-class-scope small{color:var(--color-muted);font-size:12px;font-weight:800}.activity-header-actions,.activity-current-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.activity-header-actions button{min-height:38px;padding:0 12px;color:#284150;background:var(--color-surface-muted);border:1px solid #d5e3e9;border-radius:8px;font-weight:900}.activity-header-actions button:disabled{opacity:.48}.activity-overview-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:14px;align-items:start}.activity-current-panel>div:first-child{display:grid;gap:5px}.activity-current-panel p{margin:0;color:var(--color-ink);font-size:13px;line-height:1.5}.activity-current-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.activity-current-metrics .mini-card{min-height:86px;padding:10px}.activity-current-actions{justify-content:flex-start}.activity-lesson-panel{min-width:0}.activity-panel-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;position:relative}.activity-panel-title-row h2{flex:0 0 auto;min-width:max-content;margin:0;white-space:nowrap}.activity-panel-title-heading{display:flex;align-items:baseline;gap:8px;min-width:0;margin-right:auto}.activity-panel-title-heading span{color:var(--color-muted);font-size:12px;font-weight:800;white-space:nowrap}.activity-list-inline-toggle{display:inline-flex;align-items:center;gap:3px;min-height:30px;padding:0 2px;color:var(--color-primary-strong);background:transparent;border:0;border-radius:6px;font-size:12px;font-weight:900;white-space:nowrap;cursor:pointer}.activity-list-inline-toggle:hover{text-decoration:underline;text-underline-offset:3px}.activity-list-inline-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.activity-reorder-toggle{flex:0 0 auto}.activity-create-popover{flex:0 0 auto;min-width:0;position:relative;z-index:var(--z-above)}.activity-create-popover summary{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid #bfdfe6;border-radius:8px;font-size:13px;font-weight:900;cursor:pointer;list-style:none;white-space:nowrap}.activity-create-popover summary::-webkit-details-marker{display:none}.activity-create-popover[open]{flex:1 0 100%;width:auto;max-width:100%;padding-top:46px}.activity-create-popover[open] summary{position:absolute;top:0;right:0;margin-bottom:10px}.activity-form-context{display:grid;align-content:center;min-height:44px;gap:2px;padding:6px 10px;color:var(--color-ink-strong);background:var(--color-surface);border:1px solid var(--color-primary-border);border-radius:8px}.activity-form-context span{color:var(--color-muted);font-size:12px;font-weight:800}.activity-form-context strong{overflow:hidden;font-size:14px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.activity-identify-form,.activity-create-form,.activity-bind-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;align-items:end}.inline-check{display:inline-flex;align-items:center;min-height:44px;gap:7px;padding:0 10px;color:var(--color-muted);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;font-size:13px;font-weight:800}.inline-check input{width:17px;height:17px;accent-color:var(--color-primary)}.activity-phase-tabs{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.activity-phase-tabs button{display:grid;place-items:center;min-height:48px;padding:9px 10px;color:var(--color-ink);background:transparent;border:1px solid transparent;border-radius:7px}.activity-phase-tabs button:hover{color:var(--color-primary-strong);background:var(--color-surface);border-color:#cfe1e7}.activity-phase-tabs button.active{color:var(--color-primary-strong);background:var(--color-surface);border-color:var(--color-primary-border);box-shadow:inset 0 0 0 1px #d8eef2}.activity-phase-tabs strong{font-size:14px}.activity-phase-tabs span{font-size:12px;font-weight:800}.activity-checkin-field{display:grid;gap:6px;color:var(--color-muted);font-size:12px;font-weight:900}.activity-checkin-field input{width:100%}.activity-checkin-field input:disabled{color:#8a98a5;background:var(--color-surface-soft)}.activity-question-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.activity-question-picker-head>div:first-child{display:grid;gap:3px;min-width:0}.activity-question-picker-head span{color:var(--color-muted);font-size:12px;font-weight:800}.activity-question-picker-head>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.activity-question-picker-list{display:flex;flex-direction:column;gap:8px;height:280px;min-height:120px;max-height:70vh;overflow-y:auto;overflow-x:hidden;padding-right:4px;resize:vertical}.activity-question-choice{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;flex-shrink:0;min-height:58px;padding:10px;color:#243746;background:var(--color-surface);border:1px solid #dde8ed;border-radius:8px}.activity-question-choice:hover{border-color:var(--color-primary-border)}.activity-question-choice.active{background:var(--color-primary-soft);border-color:#9fcfd8}.activity-question-choice input{width:18px;height:18px;margin-top:2px;accent-color:var(--color-primary)}.activity-question-choice>span{display:grid;gap:4px;min-width:0}.activity-question-choice strong{overflow:hidden;color:var(--color-ink-strong);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.activity-question-choice small{overflow:hidden;color:var(--color-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:4px}.qpicker-course-tag{flex-shrink:0;font-style:normal;font-size:10px;padding:1px 5px;border-radius:3px;background:#fef3c7;color:#92400e;border:1px solid #fcd34d;white-space:nowrap}.activity-checkin-toggle{min-width:0}.activity-student-line,.activity-entry-hint{margin:0;padding:10px 12px;color:var(--color-muted);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.activity-student-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.activity-student-line span{color:var(--color-muted);font-size:13px}.activity-question-stack{display:grid;gap:12px}.activity-question-card{display:grid;gap:12px;padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.activity-question-title{display:grid;gap:4px}.activity-question-stem{color:#223746;line-height:1.65}.activity-option-list{display:grid;gap:8px}.activity-option-list button.active{background:var(--color-primary-soft);border-color:var(--color-primary-border)}.activity-submit-button{min-height:52px}.activity-submit-success p{margin:0;color:var(--color-ink)}.activity-answer-feedback,.activity-list,.activity-bound-list,.activity-phase-bound-list,.activity-question-stat-list{display:grid;gap:10px}.activity-list.expanded{max-height:min(560px,60vh);padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.activity-list{gap:8px}@media(max-width:680px){.activity-list.expanded{max-height:none;padding-right:0;overflow:visible}.activity-reorder-toggle{justify-content:center;width:100%}.activity-list-inline-toggle{min-height:44px}}.activity-phase-bound-list{margin-top:12px}.activity-phase-group{display:grid;gap:10px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.activity-entry-group-list{display:grid;gap:10px}.activity-phase-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.activity-phase-group-head>div{display:grid;gap:3px;min-width:0}.activity-phase-group-head span{color:var(--color-muted);font-size:12px;font-weight:800}.activity-entry-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.activity-entry-group-head>div{display:grid;gap:3px;min-width:0;margin-right:auto}.activity-entry-wall-button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.activity-entry-group-head span{color:var(--color-muted);font-size:12px;font-weight:800}.classroom-activity-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:16px;align-items:start}.activity-list-item{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:10px;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,opacity .16s ease}@media(min-width:681px){.activity-list-item:not(.reordering){grid-template-columns:minmax(0,1fr) auto}.activity-list-actions{flex-wrap:nowrap}}.activity-list-item.active{background:var(--color-primary-soft);border-color:var(--color-primary-border)}.activity-list-item.dragging{opacity:.52}.activity-list-item:has(.activity-drag-handle:hover),.activity-list-item:has(.activity-drag-handle:focus-visible){border-color:var(--color-primary-border)}.activity-drag-handle{display:inline-grid;place-items:center;width:30px;height:34px;padding:0;color:var(--color-muted);background:transparent;border:0;border-radius:7px;cursor:grab;touch-action:none}.activity-drag-handle:hover,.activity-drag-handle:focus-visible{color:var(--color-primary-strong);background:var(--color-primary-soft);outline:0}.activity-drag-handle:active{cursor:grabbing}.activity-list-main,.activity-bound-list article>div{display:grid;gap:4px;min-width:0}.activity-list-main{padding:0;color:inherit;background:transparent;border:0;text-align:left}.activity-list-main>div{min-width:0}.activity-list-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.activity-list-actions .compact-button{min-height:34px;padding:0 10px}.activity-list-item span,.activity-bound-list small,.activity-qr-card small,.activity-stat-meta,.activity-phase-grid small{color:var(--color-muted);font-size:12px}.activity-qr-countdown.warning{color:#a15c00!important}.activity-bound-list article{grid-template-columns:minmax(0,1fr) auto;align-items:start}.activity-bound-question-details{min-width:0}.activity-bound-question-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;min-height:38px;cursor:pointer;list-style:none}.activity-bound-question-summary::-webkit-details-marker{display:none}.activity-bound-question-summary>b{color:var(--color-primary-strong);font-size:13px;white-space:nowrap}.activity-bound-question-preview,.activity-bound-question-preview .latex-text{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-bound-question-preview{font-size:14px;font-weight:600}.activity-bound-question-preview br{display:none}.activity-bound-question-preview .katex,.activity-bound-question-preview .katex-display{display:inline;max-width:none;margin:0;padding:0;overflow:visible}.activity-bound-question-summary>small{white-space:nowrap}.activity-bound-question-summary>svg{color:var(--color-muted);transition:transform .2s ease}.activity-bound-question-details[open] .activity-bound-question-summary>svg{transform:rotate(180deg)}.activity-bound-question-full{display:grid;gap:10px;min-width:0;margin-top:8px;padding-top:10px;border-top:1px solid var(--color-border);font-size:14px;line-height:1.6;overflow-wrap:anywhere}.activity-bound-question-options{display:grid;gap:6px}.activity-bound-question-options>div{display:grid;grid-template-columns:24px minmax(0,1fr);gap:6px}@media(max-width:680px){.activity-bound-question-summary{grid-template-columns:auto minmax(0,1fr) auto}.activity-bound-question-summary>small{grid-column:2}.activity-bound-question-summary>svg{grid-column:3;grid-row:1 / 3}}.activity-qr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.activity-qr-image{display:grid;place-items:center;width:92px;height:92px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.activity-qr-image img{width:82px;height:82px}.activity-qr-actions{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.activity-stat-strip,.activity-phase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}.activity-checkin-panel{display:grid;gap:12px;margin-bottom:12px;padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.activity-checkin-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.activity-checkin-head>div{display:grid;gap:4px}.activity-checkin-head span{color:var(--color-muted);font-size:12px;font-weight:800}.activity-checkin-head .activity-checkin-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.activity-checkin-actions .compact-button{min-height:36px}.activity-suspicious-list{display:grid;gap:6px;padding:10px;color:#804d00;background:var(--color-warning-soft);border:1px solid #f1d59c;border-radius:8px;font-size:13px}.activity-suspicious-list strong{display:inline-flex;gap:6px;align-items:center;color:#6d4300}.activity-question-stat-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.activity-question-stat-head>div{display:grid;gap:4px;min-width:0}.activity-stat-meta{display:flex;gap:10px;flex-wrap:wrap}.activity-option-bars{display:grid;gap:7px}.activity-option-bars>div{display:grid;grid-template-columns:26px minmax(0,1fr) 48px;gap:8px;align-items:center;color:var(--color-ink);font-size:12px}.activity-option-bars div div{height:8px;overflow:hidden;background:#e4edf1;border-radius:999px}.activity-option-bars i{display:block;height:100%;background:var(--color-primary)}.activity-wall-shell{min-width:320px;min-height:100vh;min-height:100dvh;padding:22px;color:var(--color-surface-muted);background:var(--color-ink-strong);font-family:system-ui,-apple-system,PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif}.activity-wall-page{display:grid;gap:16px;width:min(100%,1580px);min-height:calc(100dvh - 44px);margin:0 auto}.activity-wall-hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;align-items:stretch;padding:22px;background:linear-gradient(135deg,#12344a,#0f6872);border:1px solid rgba(210,231,237,.26);border-radius:12px}.activity-wall-hero>div:first-child{display:grid;align-content:center;gap:9px;min-width:0}.activity-wall-hero span{color:#f8fbfcc7;font-size:15px;font-weight:900}.activity-wall-hero h1{margin:0;color:var(--color-surface);font-size:42px;line-height:1.12;text-wrap:balance}.activity-wall-hero p{max-width:62ch;margin:0;color:#f8fbfcd6;font-size:17px;font-weight:700;line-height:1.5}.activity-wall-clock{display:grid;align-content:center;justify-items:center;gap:8px;min-height:132px;padding:16px;background:#f8fbfc1a;border:1px solid rgba(248,251,252,.22);border-radius:10px;text-align:center}.activity-wall-clock span{color:#f8fbfcc7}.activity-wall-clock strong{color:var(--color-surface);font-size:38px;line-height:1}.activity-wall-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.activity-wall-kpis article.signed{background:var(--color-success-soft);border-color:var(--color-success-border)}.activity-wall-kpis article.waiting{background:var(--color-warning-soft);border-color:var(--color-warning-border)}.activity-wall-kpis span{color:var(--color-muted);font-size:15px;font-weight:900}.activity-wall-live{display:grid;grid-template-columns:minmax(300px,.42fr) minmax(0,1fr);gap:14px;min-height:0}.activity-wall-qr-panel>div:first-child{display:grid;gap:5px}.activity-wall-qr-panel span,.activity-wall-qr-panel small{color:var(--color-muted);font-size:14px;font-weight:800;line-height:1.45}.activity-wall-qr{display:grid;place-items:center;width:100%;aspect-ratio:1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px}.activity-wall-qr img{width:min(100%,420px);aspect-ratio:1;background:var(--color-surface);border:12px solid var(--color-surface);border-radius:8px}.activity-wall-roster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;min-height:0}.activity-wall-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.activity-wall-section-title span{color:var(--color-muted);font-size:16px;font-weight:900;white-space:nowrap}.checkin-student-name{width:100%;padding:4px;min-width:0;border:0;background:transparent;color:inherit;cursor:pointer}.checkin-student-name:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.checkin-attendance-menu{position:fixed;inset:auto;margin:0;width:188px;box-sizing:border-box;padding:6px;border:1px solid #b8cbd1;border-radius:10px;color:#172b4d;background:#fff;box-shadow:0 6px 20px #0f172a2e}.checkin-attendance-menu:popover-open{display:flex;gap:6px;flex-wrap:wrap}.checkin-attendance-menu::backdrop{background:transparent}.checkin-attendance-menu button{flex:1;min-height:44px;border:0;border-radius:6px;background:#edf6f8;color:#173a49;font-size:16px;font-weight:700;cursor:pointer}.checkin-attendance-menu button:hover{background:#d6ecef}.checkin-attendance-menu p{width:100%;margin:4px;font-size:14px;white-space:normal}.activity-wall-name-grid.waiting article.checkin-student-card.attendance-present{background:#d6f5e6;border-color:#7dd4a8}.activity-wall-name-grid.signed article.checkin-student-card.attendance-leave,.activity-wall-name-grid.waiting article.checkin-student-card.attendance-leave{background:#e8edff;border-color:#a5b4fc}.activity-wall-name-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px;align-content:start;min-height:0;max-height:calc(100dvh - 330px);overflow:auto;padding-right:2px}.activity-wall-name-grid article{display:grid;gap:5px;min-width:0;min-height:62px;padding:10px 11px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.activity-wall-name-grid.signed article{background:#effaf3;border-color:var(--color-success-border)}.activity-wall-name-grid.waiting article{background:var(--color-warning-soft);border-color:#efd59e}.activity-wall-name-grid.signed span{color:#27734a}.activity-wall-name-grid.waiting span{color:#99650a}.activity-wall-empty{display:grid;place-items:center;grid-column:1 / -1;min-height:180px;color:var(--color-muted);background:var(--color-surface-muted);border:1px dashed var(--color-border);border-radius:8px;font-size:18px;font-weight:900;text-align:center}.activity-entry-wall-shell{min-width:320px;min-height:100vh;min-height:100dvh;padding:18px;color:var(--color-surface-muted);background:var(--color-ink-strong);font-family:system-ui,-apple-system,PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif}.activity-entry-wall-page{width:min(100%,1680px);min-height:calc(100dvh - 36px);margin:0 auto}.activity-entry-wall-board{display:grid;grid-template-columns:minmax(320px,.36fr) minmax(0,1fr);gap:16px;min-height:calc(100dvh - 36px)}.activity-entry-wall-title{display:grid;gap:6px}.activity-entry-wall-title p{margin:0;color:var(--color-ink);font-size:16px;font-weight:800}.activity-entry-wall-qr img{width:min(100%,520px);aspect-ratio:1;background:var(--color-surface);border:12px solid var(--color-surface);border-radius:8px}.activity-entry-wall-code span{color:var(--color-ink);font-size:14px;font-weight:900}.activity-entry-wall-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.activity-entry-wall-kpis article{display:grid;gap:6px;min-height:94px;padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px}.activity-entry-wall-kpis article.signed{background:var(--color-success-soft);border-color:var(--color-success-border)}.activity-entry-wall-kpis article.waiting{background:var(--color-warning-soft);border-color:var(--color-warning-border)}.activity-entry-wall-kpis span{color:var(--color-muted);font-size:14px;font-weight:900}.activity-entry-wall-rosters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.activity-entry-wall-rosters>section,.activity-entry-wall-question-list{display:grid;gap:12px;min-width:0;padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px}.activity-entry-wall-rosters .activity-wall-name-grid{max-height:34dvh}.activity-entry-wall-question-list article>div:first-child{display:grid;gap:4px}.activity-entry-wall-question-list small{color:var(--color-muted);font-size:13px;font-weight:800}.activity-entry-wall-question-list .activity-wall-empty{min-height:120px}.bottom-tabs{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));z-index:var(--z-elevated);display:flex;gap:6px;width:min(calc(100% - 28px - env(safe-area-inset-left) - env(safe-area-inset-right)),720px);padding:8px;overflow:visible;background:#fffffff0;border:1px solid #d9e3e8;border-radius:8px;box-shadow:0 8px 18px #1c2c381f;transform:translate(-50%)}.bottom-tabs button{position:relative;display:grid;flex:1 1 0;place-items:center;gap:4px;min-height:52px;min-width:0;color:var(--color-muted);border-radius:6px;font-size:12px}.student-tabs button{flex-basis:0}.bottom-tabs .active{color:var(--color-primary-strong);background:var(--color-primary-soft)}.tab-badge{position:absolute;top:4px;right:8px;display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;color:var(--color-surface);background:var(--color-danger);border:2px solid var(--color-surface);border-radius:999px;font-size:11px;font-weight:800;line-height:1}.roadmap{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.live-toolbar{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.filter-toolbar{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto}.learning-filter{grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) minmax(160px,1.1fr) minmax(160px,1.1fr) auto}.learning-export-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.attendance-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);gap:16px;align-items:start}.attendance-scope-note{margin:0 0 12px;padding:10px 12px;color:var(--color-muted);background:var(--color-surface-muted);border:1px solid var(--color-primary-border);border-radius:8px;font-size:13px;font-weight:800;line-height:1.5}.attendance-source-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.attendance-source-tabs button{display:inline-flex;gap:8px;align-items:center;min-height:38px;padding:8px 13px;color:var(--color-muted);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px;font-weight:800}.attendance-source-tabs button.active{color:var(--color-surface);background:var(--color-primary);border-color:var(--color-primary)}.attendance-source-tabs strong{min-width:22px;padding:2px 6px;color:inherit;background:#ffffff29;border-radius:999px;text-align:center}.attendance-source-badge{display:inline-flex;margin-right:8px;padding:3px 7px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:999px;font-size:12px;font-style:normal;vertical-align:2px}.attendance-session-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;padding:8px}.attendance-session-row.active{border-color:var(--color-primary);box-shadow:0 0 0 2px #1680921f}.attendance-session-open{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:4px;color:inherit;text-align:left;background:transparent;border:0;cursor:pointer;font:inherit}.attendance-session-open:hover strong,.attendance-session-open:focus-visible strong{color:var(--color-primary-strong)}.attendance-delete-button{align-self:center}.attendance-live-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:16px;align-items:stretch}.attendance-live-qr,.attendance-live-roster{display:grid;gap:14px;align-content:start}.attendance-big-qr{display:grid;place-items:center;padding:18px;background:var(--color-surface-muted);border:1px solid var(--color-primary-border);border-radius:8px}.attendance-big-qr img,.attendance-big-qr .qr-placeholder{width:min(100%,360px);height:auto;aspect-ratio:1;border-radius:8px}.attendance-big-qr img{background:var(--color-surface);border:14px solid var(--color-surface);box-shadow:0 16px 38px #182c381f,inset 0 0 0 1px var(--color-border)}.attendance-live-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.attendance-live-summary>div,.attendance-live-summary button{display:grid;gap:6px;min-height:74px;padding:12px;text-align:left;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.attendance-live-summary button{cursor:pointer}.attendance-live-summary button:hover,.attendance-live-summary button:focus-visible,.attendance-live-summary button.active{outline:2px solid var(--color-primary);outline-offset:2px}.attendance-live-summary button.active{border-color:var(--color-primary)}.attendance-live-summary .present{background:var(--color-success-soft);border-color:var(--color-success-border)}.attendance-live-summary .waiting{background:var(--color-warning-soft);border-color:var(--color-warning-border)}.attendance-live-summary .suspicious{background:var(--color-danger-soft);border-color:#f2c1bb}.attendance-live-summary span{color:var(--color-muted);font-size:13px;font-weight:800}.attendance-live-summary strong{color:var(--color-ink-strong);font-size:26px;line-height:1}.attendance-live-list{display:grid;gap:10px;min-width:0}.attendance-live-list h3{margin:0;color:#1c2b3c;font-size:18px}.attendance-live-list .attendance-record{grid-template-columns:minmax(0,1fr) auto;gap:10px}.attendance-record-person{display:flex;align-items:center;gap:8px;min-width:0}.attendance-live-list .attendance-record strong,.attendance-live-list .attendance-record span{display:inline-block;margin-top:0;white-space:nowrap;word-break:keep-all}.attendance-live-list .attendance-status-buttons{flex-wrap:nowrap;justify-content:flex-end}.attendance-live-list .attendance-status-buttons .compact-button,.attendance-live-list .attendance-status-buttons .small-button{min-width:58px;padding:0 10px}.attendance-live-random{padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.attendance-live-random .attendance-picks{flex:1 1 220px}.attendance-avatar-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:16px 14px;align-content:start;min-height:280px;padding:18px;background:linear-gradient(135deg,#263142,#3d4858);border:1px solid var(--color-border);border-radius:8px}.attendance-avatar-wall-title{grid-column:1 / -1;display:flex;align-items:baseline;justify-content:space-between;gap:10px;color:var(--color-surface)}.attendance-avatar-wall-title strong{font-size:17px}.attendance-avatar-wall-title span{color:#ffffffc2;font-weight:800}.attendance-avatar-tile{position:relative;display:grid;justify-items:center;gap:8px;min-width:0;color:var(--color-surface);text-align:center}.attendance-avatar-button{display:grid;place-items:center;padding:0;color:inherit;background:transparent;border:0;border-radius:50%}.attendance-avatar-button:hover .attendance-avatar,.attendance-avatar-button:focus-visible .attendance-avatar{outline:3px solid #20a5b7;outline-offset:3px}.attendance-avatar-menu{position:absolute;top:72px;left:50%;z-index:var(--z-elevated);display:grid;min-width:96px;padding:6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 10px 22px #0f23342e;transform:translate(-50%)}.attendance-avatar-menu:before{content:"";position:absolute;top:-6px;left:50%;width:10px;height:10px;background:var(--color-surface);border-top:1px solid var(--color-border);border-left:1px solid var(--color-border);transform:translate(-50%) rotate(45deg)}.attendance-avatar-menu button{position:relative;z-index:1;min-height:32px;padding:0 12px;color:#213343;text-align:center;background:transparent;border:0;border-radius:var(--radius-sm);font-size:13px;font-weight:900;white-space:nowrap}.attendance-avatar-menu button:hover,.attendance-avatar-menu button:focus-visible,.attendance-avatar-menu button.active{color:var(--color-primary-strong);background:var(--color-primary-soft)}.attendance-avatar-tile strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.35)}.attendance-avatar-tile>span{max-width:100%;padding:3px 8px;overflow:hidden;color:#ffe4e0;background:#8a1f126b;border-radius:999px;font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.attendance-avatar,.attendance-avatar-lg{position:relative;display:grid;place-items:center;width:46px;height:46px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:2px solid rgba(255,255,255,.85);border-radius:50%;overflow:hidden;font-weight:900}.attendance-avatar-lg{width:64px;height:64px;font-size:18px}.attendance-avatar img{width:100%;height:100%;object-fit:cover}.attendance-avatar-badge{position:absolute;top:0;left:50%;transform:translate(-50%);padding:1px 6px;color:var(--color-on-primary);border-radius:0 0 4px 4px;font-size:10px;font-weight:900;line-height:1.4;white-space:nowrap;z-index:1}.attendance-avatar-badge.absent{background:var(--color-danger)}.attendance-avatar-badge.leave{background:var(--color-warning)}.attendance-avatar-empty{display:grid;place-items:center;grid-column:1 / -1;min-height:220px;color:#ffffffc7;font-weight:800}.attendance-roster-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.attendance-roster-tabs button{min-height:42px;color:var(--color-ink);background:transparent;border:1px solid transparent;border-radius:8px;font-weight:900}.attendance-roster-tabs button.active{color:var(--color-primary-strong);background:var(--color-surface);border-color:var(--color-primary-border);box-shadow:0 8px 20px #143d4914}.attendance-live-management{max-height:340px;overflow:auto;padding-right:2px}.attendance-detail,.attendance-record-list{display:grid;gap:12px}.attendance-detail-title span{display:block;margin-top:4px;color:#667987}.attendance-detail-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.attendance-pretest-summary{margin:16px 0}.pretest-attendance-metrics{display:grid;grid-template-columns:minmax(150px,auto) minmax(70px,auto) minmax(100px,auto);gap:14px;align-items:center;color:var(--color-muted);text-align:right}.pretest-attendance-metrics strong,.pretest-attendance-metrics b{color:var(--color-ink-strong)}.attendance-stat-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.attendance-stat-tabs button{display:grid;gap:6px;min-height:74px;padding:12px;text-align:left;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.attendance-stat-tabs button.active{color:var(--color-surface);background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 10px 22px #1975862e}.attendance-stat-tabs span{color:var(--color-muted);font-size:13px;font-weight:800}.attendance-stat-tabs strong{color:var(--color-ink-strong);font-size:25px;line-height:1}.attendance-stat-tabs button.active span,.attendance-stat-tabs button.active strong{color:var(--color-surface)}.attendance-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.attendance-actions input{width:78px;min-height:40px}.attendance-picks{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:10px;background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:8px}.attendance-picks span{padding:6px 10px;color:var(--color-warning);background:#fff1d6;border-radius:999px;font-weight:800}.attendance-suspicious-panel{display:grid;gap:6px;padding:12px;color:var(--color-danger);background:var(--color-danger-soft);border:1px solid var(--color-danger-border);border-radius:8px}.attendance-suspicious-panel strong,.attendance-suspicious-panel span,.attendance-suspicious-panel p{margin:0}.attendance-suspicious-panel span,.attendance-suspicious-panel p{color:var(--color-danger);font-size:13px;font-weight:800;line-height:1.45}.attendance-suspicious-item{display:grid;gap:4px;padding:10px;background:var(--color-surface);border:1px solid #f0d3cf;border-radius:8px}.attendance-suspicious-item b,.attendance-suspicious-item span,.attendance-suspicious-item small{margin:0}.attendance-suspicious-item b{color:var(--color-danger);font-size:13px}.attendance-suspicious-item span,.attendance-suspicious-item small{color:var(--color-danger);font-size:13px;font-weight:800;line-height:1.45}.attendance-suspicious-item small{color:#9b4a42}.attendance-suspicious-badge,.attendance-session-alert{display:inline-flex;align-items:center;width:fit-content;margin-top:5px;padding:4px 8px;color:#9b1c16;background:var(--color-danger-soft);border:1px solid var(--color-danger-border);border-radius:999px;font-size:12px;font-style:normal;font-weight:900}.attendance-qr-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;background:var(--color-surface-muted);border:1px solid var(--color-primary-border);border-radius:8px}.attendance-qr-panel strong,.attendance-qr-panel span{display:block}.attendance-qr-panel span{margin:4px 0 10px;color:#5f7482;font-size:13px;line-height:1.45}.attendance-origin-warning{margin:0 0 10px;padding:8px 10px;color:var(--color-warning);background:#fff4d9;border:1px solid #f4d08a;border-radius:8px;font-size:13px;font-weight:800;line-height:1.45}.attendance-qr-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.attendance-qr-controls select{min-height:40px;max-width:140px}.attendance-qr-refresh-note{display:inline-flex;align-items:center;min-height:34px;padding:4px 8px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid #cbe7ed;border-radius:999px;font-size:12px;font-weight:900}.attendance-qr-panel img,.qr-placeholder{width:220px;height:220px;border-radius:8px}.attendance-qr-panel img{background:var(--color-surface);border:10px solid var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-border)}.qr-placeholder{display:grid;place-items:center;color:var(--color-muted);background:var(--color-surface);border:1px dashed var(--color-border)}.attendance-scan-notice{margin-bottom:12px;padding:10px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.attendance-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md)}.attendance-record strong,.attendance-record span{display:block}.attendance-record span{margin-top:3px;color:#647785;font-size:13px}.attendance-present{background:var(--color-success-soft);border-color:var(--color-success-border)}.attendance-absent{background:var(--color-danger-soft);border-color:var(--color-danger-border)}.attendance-late{background:var(--color-warning-soft);border-color:var(--color-warning-border)}.attendance-leave{background:var(--color-info-soft);border-color:var(--color-info-border)}.attendance-status-buttons{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.detail-title{color:var(--color-muted);font-size:14px}.ghost-button{min-height:44px;padding:0 14px;color:var(--color-ink-strong);background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:8px;font-weight:700}.ghost-button:hover:not(:disabled),.ghost-button:focus-visible{color:var(--color-primary-strong);background:var(--color-primary-soft);border-color:var(--color-primary-border)}.ghost-button:active:not(:disabled){transform:translateY(1px)}.ghost-button:disabled{cursor:not-allowed;opacity:.5}.classroom-list{display:grid;gap:10px}.classroom-list-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.classroom-list-item.active{border-color:var(--color-primary);box-shadow:0 0 0 3px #1975861a}.classroom-open{display:grid;gap:5px;width:100%;min-height:54px;padding:0;color:var(--color-ink);text-align:left;background:transparent;border:0}.classroom-open strong{line-height:1.45}.classroom-open span{color:var(--color-muted);font-size:13px}.live-board{display:grid;gap:14px;margin-top:14px}.question-card{display:grid;gap:8px;padding:16px;color:var(--color-surface);background:linear-gradient(135deg,#223d4a,#1f766f);border-radius:8px}.question-card span{color:#ffffffc2;font-size:13px}.question-card strong{font-size:18px;line-height:1.5}.insight-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:14px}.insight-grid section{display:grid;align-content:start;gap:12px;padding:14px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.insight-grid h3{display:inline-flex;align-items:center;gap:7px;margin:0;font-size:16px}.error-bars{display:grid;gap:10px}.error-bars div{display:grid;grid-template-columns:minmax(86px,1fr) 2fr auto;gap:8px;align-items:center}.error-bars span{color:#52616f;font-size:13px}meter{width:100%;height:12px}.live-response{display:grid;gap:8px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.live-response p{margin:0;color:#5f4738;font-size:14px;line-height:1.5}.live-question{overflow:hidden}.answer-button{width:100%}.roadmap span{padding:12px;background:#f4f8fa;border:1px solid #dce7ec;border-radius:8px}.points-hero{background:linear-gradient(135deg,var(--color-primary-strong),#55733d)}.points-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px;align-items:start}.points-layout.secondary{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr)}.points-layout.student-points-record-layout{grid-template-columns:minmax(0,1fr)}.points-filter-row,.points-action-row,.point-rule-form{display:grid;gap:10px}.point-auto-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px}.point-auto-context{margin:0 0 12px;color:var(--color-ink);font-size:13px;font-weight:800}.point-auto-form label{display:grid;gap:6px;color:#41515d;font-size:13px;font-weight:800}.point-auto-form button{align-self:end}.points-filter-row{grid-template-columns:minmax(150px,.8fr) minmax(180px,1fr) auto}.points-action-row{grid-template-columns:minmax(0,1fr) auto;margin-top:10px}.point-quick-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.point-quick-toolbar div{display:grid;gap:3px;min-width:0}.point-quick-toolbar strong{color:var(--color-ink-strong)}.point-quick-toolbar small{color:#667985;font-size:12px;font-weight:800}.point-component-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.point-component-strip:empty{display:none}.point-component-strip article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:12px;background:var(--color-surface-muted);border:1px solid #dfe8ec;border-radius:8px}.point-component-strip div{display:grid;gap:3px;min-width:0}.point-component-strip span,.point-component-strip small{color:var(--color-muted);font-size:12px}.point-component-strip b{color:var(--color-primary-strong);font-size:21px}.point-component-strip small{grid-column:1 / -1}.point-rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;margin-top:10px}.point-rule-button{display:grid;gap:5px;min-height:70px;padding:11px;text-align:left;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.point-rule-button span,.point-student-card span,.point-rank-row span,.point-record-row>div>span,.point-rule-row span{color:var(--color-muted);font-size:13px;line-height:1.35}.point-rule-button.positive{border-color:var(--color-success-border)}.point-rule-button.negative{border-color:var(--color-danger-border)}.point-rule-button.active{background:#eaf7f3;border-color:var(--color-success);box-shadow:0 0 0 2px #23906f1f}.point-rule-grid.managing{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))}.point-rule-quick-form{margin:10px 0 0}.point-rule-manage-card{display:grid;gap:8px;min-height:92px;padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.point-rule-manage-card.positive{border-color:var(--color-success-border)}.point-rule-manage-card.negative{border-color:var(--color-danger-border)}.point-rule-manage-card.disabled{opacity:.58}.point-rule-manage-card.editing{grid-column:1 / -1}.point-rule-manage-card>div{display:grid;gap:4px;min-width:0}.point-rule-manage-card span,.point-rule-manage-card small{color:var(--color-muted);font-size:13px;line-height:1.35}.point-rule-manage-card small{min-height:18px}.point-rule-card-edit-form{display:grid;grid-template-columns:minmax(110px,.75fr) minmax(130px,1fr) 82px minmax(150px,1fr) auto;gap:8px;align-items:center}.points-student-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:8px;margin-top:12px}.point-student-card{display:grid;gap:7px;justify-items:start;min-height:118px;padding:11px;color:inherit;text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.point-student-card.selected{background:#eff8f4;border-color:var(--color-success)}.points-leaderboard,.point-record-list,.point-rule-list{display:grid;gap:8px}.point-rank-row,.point-record-row,.point-rule-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.point-rank-row b{display:grid;place-items:center;width:30px;height:30px;color:#0c5f6d;background:#e6f2f4;border-radius:999px}.point-rank-row.top b{color:#7b4e00;background:#fff0bf}.point-rank-row div,.point-record-row>div,.point-rule-row div{display:grid;gap:4px;min-width:0}.point-rank-row em{color:var(--color-primary-strong);font-style:normal;font-size:22px;font-weight:900}.point-record-row p{margin:0;color:#344657;font-size:13px;line-height:1.45}.rank-board-subtitle{margin:0 0 12px;font-size:13px;color:var(--color-muted)}.rank-board-list{display:grid;gap:8px}.rank-board-item{display:grid;grid-template-columns:36px 36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:10px}.rank-board-item.rank-top{background:#fffdf0;border-color:#f0d96a44}.rank-board-badge{display:grid;place-items:center;width:32px;height:32px;font-size:11px;font-weight:700;color:var(--color-ink-soft);background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px}.rank-board-item.rank-top .rank-board-badge{font-size:20px;background:transparent;border:none}.rank-board-avatar.attendance-avatar{width:32px;height:32px;min-width:32px;font-size:12px}.rank-board-body{display:grid;gap:3px;min-width:0}.rank-board-body strong{font-size:14px;font-weight:600;color:var(--color-ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-board-body span{font-size:12px;color:var(--color-muted)}.rank-board-bar{height:4px;background:var(--color-border);border-radius:999px;overflow:hidden;margin-top:2px}.rank-board-bar-fill{height:100%;background:var(--color-primary);border-radius:999px;transition:width .4s ease}.rank-board-item.rank-top .rank-board-bar-fill{background:linear-gradient(90deg,var(--color-primary) 0%,#f0b429 100%)}.rank-board-score{font-size:22px;font-weight:900;font-style:normal;color:var(--color-primary-strong);white-space:nowrap}.point-rule-form{grid-template-columns:minmax(120px,.8fr) minmax(140px,1fr) 90px minmax(160px,1fr) auto;margin-bottom:12px}.point-rule-row.editing{grid-template-columns:minmax(0,1fr)}.point-rule-edit-form{display:grid;grid-template-columns:minmax(110px,.75fr) minmax(130px,1fr) 82px minmax(150px,1fr) auto;gap:8px;align-items:center}.point-rule-actions,.point-rule-edit-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.point-rule-row.disabled{opacity:.58}.positive-text{color:#16724f}.negative-text{color:var(--color-danger)}.error{margin:0;color:var(--color-danger)}.success{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--color-success)}.auth-success{padding:10px 12px;background:var(--color-success-soft);border:1px solid var(--color-success-border);border-radius:8px;line-height:1.45}.empty,.loading{margin:0;padding:18px;color:var(--color-muted);text-align:center;min-width:0;white-space:normal;overflow-wrap:break-word}.case-library-grid>.empty{grid-column:1 / -1}@media(max-width:1180px){.gradebook-chart-layout .gradebook-distribution-stack,.gradebook-overview-layout,.gradebook-segment-dashboard,.gradebook-detail-workspace{grid-template-columns:1fr}.gradebook-risk-column{position:static}.gradebook-risk-column>.panel{max-height:none;overflow:visible}.gradebook-risk-list{max-height:none;overflow:visible}}@media(max-width:780px){.app-shell{padding:12px;padding-bottom:calc(96px + env(safe-area-inset-bottom))}.points-layout,.points-layout.secondary,.points-filter-row,.points-action-row,.grading-report-grid,.grading-point-main,.exam-template-flow,.exam-delivery-options,.exam-template-editor,.exam-file-slot-header,.correction-rule-create-form,.point-rule-form,.point-rule-edit-form,.point-rule-card-edit-form,.report-config-card{grid-template-columns:1fr}.exam-file-slot-actions{justify-content:flex-start}.wrongbook-card-head,.wrongbook-card-toggle,.wrongbook-detail dl>div{grid-template-columns:1fr}.wrongbook-card-toggle b{justify-self:start}.wrongbook-coach-entry{justify-content:center}.wrongbook-chapter-heading{align-items:flex-start;flex-direction:column}.exam-class-target-grid{grid-template-columns:1fr;max-height:320px}.exam-class-target-head{align-items:stretch;flex-direction:column}.exam-class-target-head b{justify-self:start}.exam-class-target-actions .compact-button{flex:1 1 140px}.exam-template-title-field,.exam-template-score-field,.exam-template-wide-field{grid-column:1}.template-field-header{align-items:flex-start;flex-direction:column}.auth-layout,.stat-grid,.dashboard-hero,.dashboard-stat-grid,.classroom-activity-layout,.dashboard-columns,.operation-kpi-grid,.operation-layout,.operation-footer-grid,.operation-detail-grid,.warning-toolbar,.warning-layout,.reports-layout,.report-toolbar,.report-config-card,.report-card-grid,.report-detail-grid,.report-document-head,.report-history-toolbar,.exam-summary-kpis,.student-report-layout,.attendance-layout,.attendance-live-layout,.activity-overview-grid,.insight-grid,.live-toolbar,.filter-toolbar,.discussion-meta-grid,.discussion-reply-form,.homework-submission-row,.homework-submission-summary,.homework-correction-panel,.homework-feedback-review,.correction-row,.homework-edit-row,.section-resource-upload,.section-resource-grid,.classroom-correction-row,.course-catalog-grid,.course-edit-row,.resource-detail-header,.inline-form,.class-create-form,.compact-inline-form,.structure-select,.upload-form,.exam-form,.teacher-create-fields,.teacher-create-binding,.teacher-account-actions,.teacher-binding-picker,.correction-editor,.activity-create-form,.activity-bind-form,.activity-identify-form,.grading-toolbar,.grading-question-structure,.gradebook-console-head,.gradebook-primary-filters,.gradebook-advanced-filters,.gradebook-analysis-grid,.gradebook-analysis-layout,.gradebook-chart-layout .gradebook-distribution-stack,.gradebook-overview-layout,.gradebook-segment-dashboard,.gradebook-detail-workspace,.gradebook-analysis-lists,.gradebook-pie-panel,.gradebook-comparison-strip{grid-template-columns:1fr}.embedded-upload-warning{grid-template-columns:auto minmax(0,1fr);align-items:flex-start}.embedded-upload-warning button{grid-column:1 / -1;width:100%}.grading-report-header{align-items:flex-start}.grading-report-header strong{font-size:18px}.grading-report-header .grading-report-header-actions{min-width:0}.correction-row .correction-summary{align-items:flex-start;flex-direction:column}.correction-row .correction-summary-main{align-items:flex-start;width:100%}.correction-row .correction-summary-score{width:100%;min-width:0;justify-content:space-between;text-align:left}.correction-row .correction-summary-score>div{text-align:left}.correction-actions{width:100%;justify-content:stretch;flex-wrap:wrap}.correction-actions button{flex:1 1 132px;min-width:0}.correction-side-actions{width:100%}.correction-rule-actions{width:100%;justify-content:stretch}.correction-rule-actions button{flex:1 1 120px}.gradebook-analysis-page{width:100%}.dashboard-stat,.operation-kpi-card{min-height:auto}.gradebook-console-head,.gradebook-section-head{display:grid}.gradebook-console-actions,.gradebook-segment-tabs{justify-content:stretch}.gradebook-console-actions .compact-button,.gradebook-segment-tabs button,.gradebook-more-filter-button{flex:1 1 140px}.gradebook-analysis-filter select{min-width:0}.gradebook-pie-panel{justify-items:start}.gradebook-segment-table,.gradebook-analysis-table{overflow:visible;border:0;background:transparent}.gradebook-segment-row.head,.gradebook-analysis-row.head{display:none}.gradebook-segment-row,.gradebook-analysis-row,.gradebook-analysis-page .gradebook-analysis-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;min-height:0;margin-bottom:10px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.gradebook-segment-row .segment-name,.gradebook-segment-row .gradebook-stacked-bar,.gradebook-analysis-row:not(.head)>span:nth-child(2){grid-column:1 / -1}.gradebook-segment-row:not(.head)>.segment-score{grid-column:1 / -1;padding:0 10px 0 58px}.gradebook-segment-row:not(.head)>.segment-score:before{content:"平均";position:absolute;left:10px;top:50%;z-index:var(--z-above);color:var(--color-muted);font-size:12px;font-weight:900;transform:translateY(-50%)}.gradebook-segment-row:not(.head)>.segment-score em{justify-self:end}.gradebook-analysis-row:not(.head)>span,.gradebook-segment-row:not(.head)>span:not(.segment-name):not(.segment-score){display:grid;gap:3px}.gradebook-analysis-row:not(.head)>span:before,.gradebook-segment-row:not(.head)>span:not(.segment-name):not(.segment-score):before{color:var(--color-muted);font-size:12px;font-weight:900}.gradebook-analysis-row:not(.head)>span:nth-child(1):before{content:"班级"}.gradebook-analysis-row:not(.head)>span:nth-child(2):before{content:"学生"}.gradebook-analysis-row:not(.head)>span:nth-child(3):before{content:"学号"}.gradebook-analysis-row:not(.head)>span:nth-child(4):before{content:"学院"}.gradebook-analysis-row:not(.head)>span:nth-child(5):before{content:"行政班"}.gradebook-analysis-row:not(.head)>span:nth-child(6):before{content:"修读"}.gradebook-analysis-row:not(.head)>span:nth-child(7):before{content:"成绩"}.gradebook-analysis-row:not(.head)>span:nth-child(8):before{content:"状态"}.gradebook-segment-row:not(.head)>span:nth-child(2):before{content:"人数"}.gradebook-segment-row:not(.head)>span:nth-child(4):before{content:"及格率"}.gradebook-segment-row:not(.head)>span:nth-child(5):before{content:"优秀率"}.gradebook-segment-row:not(.head)>span:nth-child(6):before{content:"风险"}.gradebook-detail-workspace .gradebook-analysis-table{max-height:none}.student-exam-score-table-wrap{overflow:visible;border:0;background:transparent}.student-exam-score-table,.student-exam-score-table thead,.student-exam-score-table tbody,.student-exam-score-table tr,.student-exam-score-table th,.student-exam-score-table td{display:block}.student-exam-score-table{min-width:0}.student-exam-score-table thead{display:none}.student-exam-score-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.student-exam-score-table td{display:grid;gap:3px;min-width:0;padding:0;border-bottom:0;font-size:14px;line-height:1.45;overflow-wrap:anywhere}.student-exam-score-table td:before{color:var(--color-muted);font-size:12px;font-weight:900}.student-exam-score-table td:nth-child(1),.student-exam-score-table td:nth-child(5){grid-column:1 / -1}.student-exam-score-table td:nth-child(1):before{content:"题号"}.student-exam-score-table td:nth-child(2):before{content:"得分"}.student-exam-score-table td:nth-child(3):before{content:"满分"}.student-exam-score-table td:nth-child(4):before{content:"扣分"}.student-exam-score-table td:nth-child(5):before{content:"说明"}.homework-submission-actions{width:100%;min-width:0;justify-content:flex-end}.homework-detail-subheader{align-items:stretch;flex-direction:column}.homework-detail-actions{justify-content:stretch}.homework-detail-actions .compact-button,.homework-detail-actions .homework-feedback-status-pill{flex:1 1 140px}.homework-review-workspace{grid-template-columns:1fr}.homework-review-reference{position:static;max-height:none;overflow:visible}.auth-layout{min-height:auto;gap:12px}.auth-card{order:1}.brand-panel{order:2;min-height:auto;gap:18px;padding:18px}.brand-visual{display:none}.brand-content{gap:9px}.brand-mark{width:48px;height:48px}.brand-panel h1{max-width:none;font-size:24px;line-height:1.28}.brand-panel p{font-size:14px;line-height:1.6}.activity-page-header{display:grid}.activity-class-scope{min-width:0;width:100%}.activity-header-actions{justify-content:stretch}.activity-header-actions button{width:100%}.activity-current-metrics{grid-template-columns:1fr}.activity-panel-title-row{align-items:stretch;flex-direction:column}.activity-create-popover,.activity-create-popover[open]{width:100%;padding-top:0}.activity-create-popover summary,.activity-create-popover[open] summary{position:static;justify-content:center;width:100%}.activity-list-item,.activity-bound-list article,.activity-qr-card{grid-template-columns:1fr}.activity-list-actions{justify-content:flex-start}.activity-phase-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-phase-group-head,.activity-entry-group-head{display:grid}.activity-entry-group-head>div{margin-right:0}.activity-entry-wall-button{justify-self:stretch}.activity-phase-group-head b,.activity-entry-group-head b{width:fit-content}.activity-question-picker-head{align-items:stretch;flex-direction:column}.activity-question-picker-head>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.activity-qr-image{width:112px;height:112px}.activity-qr-image img{width:102px;height:102px}.activity-qr-actions{grid-template-columns:1fr}.activity-checkin-head{display:grid}.activity-checkin-head .activity-checkin-actions{justify-content:stretch}.activity-checkin-actions .compact-button{width:100%}.activity-question-stat-head{display:grid}.activity-wall-shell{padding:12px}.activity-wall-page{min-height:calc(100dvh - 24px)}.activity-wall-hero,.activity-wall-live,.activity-wall-roster{grid-template-columns:1fr}.activity-wall-hero{padding:16px}.activity-wall-hero h1{font-size:28px}.activity-wall-hero p{font-size:14px}.activity-wall-clock{min-height:92px}.activity-wall-clock strong{font-size:30px}.activity-wall-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-wall-kpis article{min-height:88px;padding:14px}.activity-wall-kpis strong{font-size:30px}.activity-wall-name-grid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));max-height:none}.activity-wall-section-title strong{font-size:19px}.activity-entry-wall-shell{padding:10px}.activity-entry-wall-page{min-height:calc(100dvh - 20px)}.activity-entry-wall-board,.activity-entry-wall-rosters{grid-template-columns:1fr;min-height:auto}.activity-entry-wall-left,.activity-entry-wall-right{border-radius:10px}.activity-entry-wall-left,.activity-entry-wall-right,.activity-entry-wall-rosters>section,.activity-entry-wall-question-list{padding:12px}.activity-entry-wall-title h1{font-size:26px}.activity-entry-wall-title p{font-size:14px}.activity-entry-wall-qr{max-width:360px;margin:0 auto}.activity-entry-wall-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-entry-wall-kpis article{min-height:80px;padding:12px}.activity-entry-wall-kpis strong{font-size:30px}.activity-entry-wall-rosters .activity-wall-name-grid{max-height:none}.question-category-head,.question-category-create,.question-category-scope{display:grid}.question-category-scope{grid-template-columns:1fr}.question-category-row{grid-template-columns:1fr;align-items:stretch}.ai-job-status{display:grid}.questionbank-mode-tabs,.questionbank-resource-tabs{gap:6px;padding:6px}.questionbank-mode-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.questionbank-resource-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.questionbank-mode-tabs button,.questionbank-resource-tabs button{min-height:50px;padding:8px 6px}.topbar{gap:10px}.topbar .topbar-actions{flex:0 0 auto}.attendance-record{grid-template-columns:1fr}.pretest-attendance-metrics{grid-template-columns:1fr 1fr;gap:6px 12px;text-align:left}.pretest-attendance-metrics>span{grid-column:1 / -1}.attendance-detail-actions{justify-content:flex-start}.operation-class-list{max-height:none;padding-right:0}.operation-left-column .operation-event-list{max-height:none;overflow:visible;padding-right:0}.operation-quick-list,.operation-action-panel .operation-quick-list,.operation-class-row,.operation-event-row{grid-template-columns:1fr}.operation-class-metrics{justify-items:start}.warning-follow-grid{grid-template-columns:1fr}.warning-card-head{align-items:stretch;flex-direction:column}.report-mode-card{grid-template-columns:auto minmax(0,1fr)}.report-mode-card b{grid-column:2;justify-self:start}.report-history-tabs{width:100%}.report-history-tabs button{flex:1 1 130px}.warning-card-actions{justify-content:flex-start}.attendance-live-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-live-summary div{min-height:62px;padding:10px 8px}.attendance-live-summary span{font-size:12px}.attendance-live-summary strong{font-size:22px}.attendance-avatar-wall{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));min-height:180px;padding:12px}.attendance-avatar-lg{width:54px;height:54px}.attendance-live-list .attendance-record{grid-template-columns:1fr}.attendance-stat-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.attendance-stat-tabs button{min-height:62px;padding:10px 8px}.attendance-stat-tabs span{font-size:12px}.attendance-stat-tabs strong{font-size:21px}.attendance-qr-panel{grid-template-columns:1fr}.attendance-status-buttons{justify-content:flex-start}.correction-editor b{text-align:left}.brand-panel{grid-template-rows:auto auto auto;min-height:0;padding:26px;gap:18px}.brand-visual{min-height:148px;padding:14px}.brand-visual-body{min-height:104px}.brand-visual-paper{top:18px;min-height:88px;padding:14px}.brand-visual-panel{top:32px;min-height:82px;padding:12px}.visual-stat strong{font-size:22px}.visual-bars{height:30px;margin-top:10px}.brand-visual-chip{right:12px;bottom:-5px;padding:8px 10px;font-size:12px}.brand-panel h1{font-size:24px;line-height:1.28}.brand-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-summary div{min-height:84px;padding:13px}.brand-summary strong{font-size:15px}.brand-summary span{font-size:12px}.dashboard-hero{padding:18px}.dashboard-hero h1{font-size:28px}.case-library-grid{grid-template-columns:1fr}.dashboard-hero-actions{grid-template-columns:1fr 1fr}.student-row,.exam-row,.paper-library-item{align-items:stretch;flex-direction:column}.case-thumbnail{height:130px}.case-thumbnail iframe{width:640px;height:380px;transform:scale(.46)}.student-actions{justify-content:space-between}.student-actions select{width:100%}.student-approval-list article{align-items:stretch;flex-direction:column}.student-table{overflow:visible;border:0;background:transparent;gap:10px}.student-table-head{display:none}.student-table-row{grid-template-columns:48px minmax(0,1fr) auto;grid-template-areas:"index name action" "index number action" "class class class";gap:6px 10px;padding:12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.student-table-row .student-index{grid-area:index}.student-table-row strong,.student-table-row .student-name-check{grid-area:name}.student-table-row>span:not(.student-index){grid-area:number}.student-table-row .student-actions:first-of-type{grid-area:class}.student-table-row .action-cell{grid-area:action}.class-directory-card{grid-template-columns:1fr;gap:12px;padding:12px}.class-directory-top{grid-template-columns:1fr;gap:12px}.class-directory-title{grid-template-columns:1fr}.class-directory-actions{justify-content:stretch;min-width:0}.class-directory-actions .class-directory-menu{margin-left:auto}.class-directory-actions .compact-button{flex:1 1 140px}.course-term-form,.course-class-form,.gradebook-settings-grid{grid-template-columns:1fr}.gradebook-actions,.gradebook-publish-picker,.gradebook-table-actions{align-items:stretch;flex-direction:column}.gradebook-table-action-buttons,.gradebook-header-editor-actions{justify-content:stretch}.gradebook-header-editor-grid{grid-template-columns:1fr}.gradebook-column-editor-heading,.gradebook-column-editor-row{align-items:stretch;grid-template-columns:1fr}.gradebook-column-editor-heading{display:grid}.gradebook-publish-picker label{min-height:34px}.gradebook-actions .compact-button,.gradebook-table-action-buttons .compact-button,.gradebook-header-editor-actions .compact-button,.gradebook-table-actions .compact-button,.gradebook-import-form .compact-button,.gradebook-import-form .compact-file-button{width:100%}.gradebook-import-issues li{grid-template-columns:1fr;gap:3px}.gradebook-table{width:100%;max-width:none;margin-inline:0;overflow:visible;border:0;background:transparent}.gradebook-head{display:none}.gradebook-row{width:auto;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;padding:12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.gradebook-row>span:before{content:attr(data-label);display:block;margin-bottom:3px;color:#7a8c98;font-size:12px;font-weight:800}.gradebook-row .gradebook-student{grid-column:1 / -1}.gradebook-score-cell{align-content:start}.student-stat-grid{grid-template-columns:repeat(2,1fr)}.trend-item,.mastery-row,.question-bank-grid,.question-picker-list,.extracted-edit{grid-template-columns:1fr}.exam-question-picker-head{align-items:stretch;flex-direction:column}.question-picker-toggle{width:100%}.trend-item b,.mastery-row b{text-align:left}.classroom-list-item{grid-template-columns:1fr}.homework-detail-toolbar{align-items:stretch;flex-direction:column}.homework-card-actions{justify-content:flex-start}.homework-workspace-tabs{grid-template-columns:1fr}.homework-workspace-tab{grid-template-columns:auto minmax(0,1fr)}.homework-workspace-tab span{grid-column:2}.auth-card,.panel{padding:14px}.auth-card{padding:18px}.auth-card-header h2{font-size:24px}.captcha-row{grid-template-columns:1fr}.captcha-row strong{justify-content:center}}@media(max-width:1100px)and (min-width:781px){.case-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.operation-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-layout,.operation-footer-grid,.warning-layout,.reports-layout,.homework-review-workspace{grid-template-columns:1fr}.warning-sidebar,.homework-review-reference{position:static;max-height:none;overflow:visible}.activity-entry-wall-board{grid-template-columns:1fr}.activity-entry-wall-left{grid-template-columns:minmax(240px,340px) minmax(0,1fr);align-items:start}.activity-entry-wall-title,.activity-entry-wall-code{grid-column:2}.activity-entry-wall-qr{grid-row:1 / span 2}.upload-form{grid-template-columns:1fr}.exam-upload-sidebar,.upload-form .exam-page-upload-panel,.exam-upload-submit{grid-column:1;grid-row:auto}.exam-upload-sidebar{order:1}.upload-form .exam-page-upload-panel{order:2}.exam-upload-submit{order:3}.dashboard-stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}.auth-layout{grid-template-columns:1fr;min-height:auto}.auth-card{order:1}.brand-panel{order:2;min-height:200px}}@media(max-width:960px)and (min-width:781px){.dashboard-hero{grid-template-columns:1fr;gap:14px}.dashboard-hero h1{font-size:26px}.dashboard-hero-actions{display:flex;flex-wrap:wrap;gap:8px}.homework-submission-actions{flex-wrap:wrap;min-width:0;justify-content:flex-start}.kg-page-header{flex-wrap:wrap;gap:8px}.kg-page-actions{flex-wrap:wrap}}@media(max-width:520px){.row-between,.result-row{align-items:flex-start;flex-wrap:wrap}.dashboard-hero-actions,.choice-options-preview,.choice-answer-grid,.profile-grid{grid-template-columns:1fr}.profile-avatar-form{grid-template-columns:auto minmax(0,1fr)}.profile-avatar-form button{grid-column:1 / -1}.student-hero{padding:18px}.student-participation-hero{display:grid}.student-hero h1{font-size:24px}.student-live-metrics{width:100%;grid-template-columns:1fr}.student-live-metrics article{min-height:64px}.student-activity-card-head,.student-activity-entry{align-items:flex-start}.student-activity-entry{grid-template-columns:1fr;min-height:0}.student-activity-entry-side{width:100%;min-width:0;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start}.student-activity-entry-side .ghost-button{margin-left:auto}.dashboard-hero{gap:14px;padding:16px}.dashboard-hero h1{margin:5px 0;font-size:25px}.dashboard-hero p{font-size:14px;line-height:1.55}.dashboard-hero .dashboard-hero-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hero-actions button{min-height:42px;padding:0 8px}.result-row.exam-row{gap:14px;padding:14px}.exam-row-main{gap:6px}.exam-row-main strong{font-size:20px}.exam-row-main span{font-size:14px;line-height:1.55}.exam-row .exam-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.exam-copy-control{grid-column:1 / -1;grid-template-columns:minmax(0,1fr) minmax(74px,auto);width:100%}.exam-row-actions .compact-button,.exam-total-pill,.exam-row .danger-icon-button{width:100%;min-height:44px;padding:0 8px;font-size:14px}.exam-row .danger-icon-button{margin-left:0;justify-self:stretch}.exam-row .exam-delete-button{width:44px;min-width:44px;justify-self:end}.exam-row .exam-delete-button.confirming{width:100%;min-width:0;justify-self:stretch}.upload-form{align-items:stretch}.exam-upload-submit{width:100%;min-height:52px}.upload-form .exam-page-upload-panel,.exam-upload-sidebar{padding:10px}.exam-page-upload-panel .homework-page-upload-grid{grid-template-columns:1fr}.result-row .submission-page-strip{gap:5px}.result-row .submission-page-strip span{width:100%;border-radius:8px}.homework-page-upload-panel.exam-file-slot-panel{gap:10px;padding:10px 8px}.exam-file-slot-title{gap:8px}.exam-file-slot-title strong{font-size:15px}.exam-file-slot-title span:not(.exam-file-slot-icon){font-size:12px}.exam-file-slot-icon{width:34px;height:34px}.exam-file-slot-actions{gap:6px}.exam-file-count-pill,.exam-file-slot-actions .compact-button{padding:0 9px;font-size:12px}.homework-page-upload-grid.exam-file-upload-grid{grid-template-columns:1fr;gap:8px}.homework-page-upload-slot.exam-file-upload-slot{gap:8px;padding:10px}.exam-file-upload-card-head{gap:8px}.exam-file-upload-slot .exam-file-page-badge{width:28px;height:28px;font-size:12px}.homework-page-upload-slot b{font-size:14px}.image-source-actions{gap:6px}.image-source-actions .file-button{padding:0 7px;gap:5px;font-size:14px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-source-actions .file-button svg{flex:0 0 auto;width:15px;height:15px}.image-process-row{padding:0 8px;gap:6px}.brand-visual{min-height:128px}.brand-visual-body{min-height:88px}.brand-visual-panel{width:47%}.brand-visual-chip{display:none}.brand-mark{width:54px;height:54px}.brand-panel h1{font-size:22px;line-height:1.3}.brand-panel p{font-size:15px}.bottom-tabs{bottom:calc(8px + env(safe-area-inset-bottom));width:min(calc(100% - 16px - env(safe-area-inset-left) - env(safe-area-inset-right)),960px);padding:6px}.bottom-tabs button{flex-basis:0;min-width:0}.compact-button,.small-button,.danger-button,.pwa-install-button,.image-source-actions .file-button,.image-process-row,.exam-file-count-pill,.exam-file-slot-actions .compact-button{min-height:44px}.icon-button,.danger-icon-button,.mini-icon-button,.chapter-drag-handle,.node-menu-trigger,.point-rank-row b{width:44px;height:44px;min-height:44px}.exam-summary-header,.exam-summary-actions{display:grid;grid-template-columns:1fr;width:100%}.exam-summary-actions button{width:100%}.exam-summary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-summary-table-wrap{display:none}.exam-summary-card-list{display:grid;gap:10px}.exam-summary-card-score{flex-direction:column}.profile-info-row{grid-template-columns:1fr;gap:4px}.case-thumbnail iframe{transform:scale(calc((100vw - 52px) / 640))}}.activity-wall-copy-panel{grid-column:1 / -1;display:grid;gap:10px;padding:12px;background:var(--color-primary-soft);border:1px solid #cbe4eb;border-radius:8px}.activity-wall-copy-text{display:grid;gap:3px;min-width:0}.activity-wall-copy-text small{color:var(--color-muted);font-size:12px;font-weight:600;line-height:1.5}.activity-wall-copy-actions{display:flex;gap:8px;justify-content:flex-start;flex-wrap:wrap}.activity-wall-copy-actions .compact-button{min-height:36px;padding:0 12px}.activity-entry-wall-shell{padding:clamp(12px,2vw,24px);color:var(--color-hero-cream);background:radial-gradient(circle at 76% 8%,rgba(155,44,44,.16),transparent 34%),#14141c;font-family:"Noto Serif SC","Source Han Serif SC",Songti SC,SimSun,serif}.activity-entry-wall-page{width:min(100%,1480px);min-height:calc(100dvh - 48px)}.activity-entry-wall-board{grid-template-columns:minmax(260px,.28fr) minmax(0,1fr);gap:18px;min-height:calc(100dvh - 48px)}.activity-entry-wall-left,.activity-entry-wall-right{color:var(--color-hero-cream);background:#f7f3e90b;border:1px solid rgba(200,192,173,.22);border-radius:12px}.activity-entry-wall-left{gap:18px;padding:20px}.activity-entry-wall-title span,.activity-entry-wall-question-head>div>span,.activity-entry-wall-topline span{color:var(--color-warning-ink);font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;letter-spacing:0}.activity-entry-wall-title h1{color:var(--color-hero-cream);font-size:clamp(28px,3vw,44px);line-height:1.12}.activity-entry-wall-title p{color:#f7f3e9a8;font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;font-size:17px;font-weight:800}.activity-entry-wall-qr{background:var(--color-hero-cream);border:1px solid rgba(200,192,173,.44);border-radius:10px}.activity-entry-wall-qr img{border-color:var(--color-hero-cream)}.activity-entry-wall-code{color:var(--color-hero-cream);background:#14141c8a;border:1px solid rgba(200,192,173,.22);border-radius:10px}.activity-entry-wall-code strong{color:var(--color-warning-ink);font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;font-size:32px}.activity-entry-wall-code span{color:#f7f3e9b3;font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif}.activity-entry-wall-right{display:grid;gap:16px;align-content:start;padding:18px}.activity-entry-wall-topline{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;justify-content:space-between;min-width:0}.activity-entry-wall-topline>div{display:grid;gap:6px;min-width:0;flex:1 1 380px}.activity-entry-wall-topline strong{color:var(--color-hero-cream);font-size:clamp(28px,3.2vw,48px);line-height:1.08}.activity-entry-wall-topline b{padding:10px 14px;color:var(--color-warning-ink);background:#b88a2b1f;border:1px solid rgba(184,138,43,.32);border-radius:999px;font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;font-size:20px;white-space:nowrap}.activity-entry-wall-question-list{display:grid;gap:14px;padding:0;background:transparent;border:0}.activity-entry-wall-question-card{display:grid;gap:14px;padding:18px;background:#f7f3e90d;border:1px solid rgba(200,192,173,.22);border-radius:12px}.activity-entry-wall-question-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.activity-entry-wall-question-head>div{display:grid;gap:6px;min-width:0}.activity-entry-wall-question-head strong{color:var(--color-hero-cream);font-size:clamp(24px,2.5vw,36px);line-height:1.25}.activity-entry-wall-question-head small{color:var(--color-warning-ink);font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;font-size:17px;font-weight:900;white-space:nowrap}.activity-entry-wall-option-list{display:grid;gap:12px}.activity-entry-wall-option{display:grid;grid-template-columns:76px minmax(0,1fr) 88px 72px;gap:12px;align-items:center;min-width:0;color:var(--color-hero-cream);font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif}.activity-entry-wall-option-letter{display:inline-grid;place-items:center;min-width:62px;height:48px;padding:0 12px;color:var(--color-hero-cream);background:#9b2c2c;border-radius:999px;font-size:24px;font-weight:900}.activity-entry-wall-option-main{display:grid;gap:7px;min-width:0}.activity-entry-wall-option-track{height:28px;overflow:hidden;background:#2b55665c;border:1px solid rgba(200,192,173,.18);border-radius:999px}.activity-entry-wall-option-track i{display:block;height:100%;background:#2b5566;border-radius:inherit}.activity-entry-wall-option.correct .activity-entry-wall-option-track i{background:#9b2c2c}.activity-entry-wall-option small{overflow:hidden;color:#f7f3e9bd;font-size:16px;font-weight:800;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.activity-entry-wall-option strong{color:var(--color-hero-cream);font-size:clamp(30px,3vw,52px);line-height:1;text-align:right}.activity-entry-wall-option b{color:var(--color-warning-ink);font-size:20px;text-align:right}.activity-entry-wall-rosters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.activity-entry-wall-rosters>section{display:grid;gap:10px;min-width:0;padding:14px;background:#14141c5c;border:1px solid rgba(200,192,173,.16);border-radius:10px}.activity-entry-wall-rosters .activity-wall-section-title strong{color:var(--color-hero-cream);font-size:18px}.activity-entry-wall-rosters .activity-wall-section-title span{color:var(--color-warning-ink)}.activity-entry-wall-rosters .activity-wall-name-grid{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));max-height:22dvh}.activity-entry-wall-rosters .activity-wall-name-grid article{min-height:48px;background:#f7f3e912;border-color:#c8c0ad24}.activity-entry-wall-rosters .activity-wall-name-grid strong{color:var(--color-hero-cream);font-size:16px}.activity-entry-wall-rosters .activity-wall-name-grid span{color:#f7f3e994}.activity-entry-wall-footnote{margin:0;color:#f7f3e98c;font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;font-size:14px;font-weight:800;text-align:right}.activity-entry-wall-shell .activity-wall-empty{min-height:96px;color:#f7f3e99e;background:#f7f3e90e;border:1px dashed rgba(200,192,173,.24)}@media(max-width:680px){.activity-wall-copy-panel,.activity-entry-wall-topline,.activity-entry-wall-question-head{grid-template-columns:1fr}.activity-wall-copy-panel,.activity-entry-wall-topline{display:grid}.activity-wall-copy-actions{justify-content:stretch}.activity-wall-copy-actions .compact-button{flex:1 1 150px}.activity-entry-wall-board,.activity-entry-wall-rosters{grid-template-columns:1fr}.activity-entry-wall-option{grid-template-columns:58px minmax(0,1fr) 68px}.activity-entry-wall-option b{display:none}.activity-entry-wall-option-letter{min-width:48px;height:42px;font-size:19px}.activity-entry-wall-option small,.activity-entry-wall-question-head small{white-space:normal}}@media(max-width:780px){.upload-form{grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row;align-items:stretch}.exam-upload-sidebar,.upload-form .exam-page-upload-panel,.exam-upload-submit{grid-column:1 / -1!important;grid-row:auto!important;width:100%;min-width:0}.exam-upload-sidebar{order:1}.upload-form .exam-page-upload-panel{order:2}.exam-upload-submit{order:3}.exam-upload-controls,.exam-student-picker,.exam-upload-sidebar select,.exam-upload-sidebar .field-hint{min-width:0}.exam-student-picker-list{max-height:190px}}@supports (content-visibility: auto){.result-row,.attendance-record,.gradebook-segment-row:not(.head),.gradebook-analysis-row:not(.head){content-visibility:auto;contain-intrinsic-size:auto 96px}.result-row.course-catalog-card.menu-open{content-visibility:visible}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-property:color,background-color,border-color,outline-color,box-shadow,opacity!important;transition-duration:.12s!important}.practice-graph-sheet,.learning-profile-empty>svg{animation:none!important}}.activity-status.active{color:var(--color-primary-strong);background:var(--color-primary-soft);border-color:var(--color-primary-border)}.activity-page-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.activity-page-header span{color:var(--color-primary-strong);font-size:13px;font-weight:900}.activity-page-header h1{margin:0;color:var(--color-ink-strong);font-size:24px;line-height:1.18}.activity-class-scope select{min-height:36px;padding:0 10px;color:var(--color-ink-strong);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:7px;font-size:14px;font-weight:900}.activity-current-panel{display:grid;gap:14px;padding:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.activity-current-panel span{color:var(--color-primary-strong);font-size:13px;font-weight:900}.activity-current-panel h2{margin:0;color:var(--color-ink-strong);font-size:20px;line-height:1.25}.activity-create-popover summary{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:8px;font-size:13px;font-weight:900;cursor:pointer;list-style:none;white-space:nowrap}.activity-create-popover .activity-create-form{padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.activity-form-context{display:grid;align-content:center;min-height:44px;gap:2px;padding:6px 10px;color:var(--color-ink-strong);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.activity-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:999px;font-size:12px;font-weight:900;vertical-align:middle;margin-left:6px}.activity-create-inline{margin-bottom:14px;padding:14px;background:var(--color-surface-muted);border:1px solid var(--color-primary-border);border-radius:8px}.quick-question-form{display:grid;gap:12px}.quick-question-type-row{display:flex;gap:8px}.quick-question-input{width:100%;min-height:80px;padding:10px 12px;font-size:14px;border:1px solid var(--color-primary-border);border-radius:8px;resize:vertical;box-sizing:border-box}.quick-question-file-label{display:flex;gap:8px;align-items:center}.quick-question-preview{max-width:100%;max-height:220px;border-radius:8px;border:1px solid var(--color-primary-border);object-fit:contain}.quick-question-options{display:grid;gap:8px}.quick-question-option-row{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center}.quick-question-option-row b{color:var(--color-primary-strong);font-size:15px;font-weight:900;text-align:center}.quick-question-option-row input,.quick-question-rubric{width:100%;padding:7px 10px;font-size:14px;border:1px solid var(--color-primary-border);border-radius:6px;box-sizing:border-box}.quick-question-result{display:grid;gap:18px}.quick-question-result-qr{display:flex;gap:18px;align-items:flex-start}.quick-question-result-qr img{width:160px;height:160px;border-radius:8px;border:1px solid var(--color-primary-border);flex-shrink:0}.quick-question-result-qr>div{display:grid;gap:8px;align-content:start}.quick-question-code{font-size:32px;font-weight:900;color:var(--color-primary-strong);letter-spacing:.06em;font-family:Inter,monospace}.quick-question-result-qr span{font-size:13px;color:var(--color-muted)}.quick-question-result-qr code{font-family:monospace;background:var(--color-primary-soft);padding:1px 5px;border-radius:4px}.quick-question-save{padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-primary-border);border-radius:8px}.quick-question-save h4{margin:0 0 10px;font-size:14px;color:var(--color-muted-strong)}.quick-question-save-row{display:flex;gap:8px;align-items:center}.quick-question-save-row select{flex:1;padding:7px 10px;border:1px solid var(--color-primary-border);border-radius:6px;font-size:14px}.activity-essay-answer{display:grid;gap:8px}.activity-photo-upload-label{display:flex;align-items:center}.activity-photo-upload-label .photo-selected{color:var(--color-primary-strong);border-color:var(--color-primary-strong);background:var(--color-primary-soft)}.activity-photo-preview{max-width:100%;max-height:260px;border-radius:8px;border:1px solid var(--color-primary-border);object-fit:contain}.activity-wall-btn,.activity-embed-btn{padding:0 10px;color:var(--color-primary-strong);gap:5px}.activity-wall-btn:hover,.activity-embed-btn:hover{background:var(--color-primary-soft);border-color:var(--color-primary-border)}.activity-wall-primary-btn{background:var(--color-primary-strong);color:var(--color-on-primary)}.activity-wall-primary-btn:hover{background:#0a5560}.activity-detail-tab-bar{display:flex;flex-wrap:wrap;gap:8px;padding:8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.activity-detail-tab-bar button{display:inline-flex;align-items:center;gap:6px;flex:1;justify-content:center;min-height:44px;padding:0 12px;color:var(--color-muted);background:var(--color-surface-muted);border:1px solid transparent;border-radius:6px;font-size:13px;font-weight:800;white-space:nowrap}.activity-detail-tab-bar button.active{color:var(--color-primary-strong);background:var(--color-primary-soft);border-color:var(--color-primary-border)}.activity-phase-tabs button:hover{color:var(--color-primary-strong);background:var(--color-surface);border-color:var(--color-border-strong)}.activity-phase-tabs button.active{color:var(--color-primary-strong);background:var(--color-surface);border-color:var(--color-primary-border);box-shadow:inset 0 0 0 1px var(--color-primary-soft)}.activity-question-picker{grid-column:1 / -1;display:grid;gap:10px;padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.activity-question-picker-head strong{color:var(--color-ink-strong);font-size:15px}.activity-question-choice strong{overflow:hidden;color:var(--color-ink-strong);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.qpicker-checkbox-wrap{display:flex;align-items:flex-start;padding-top:2px;cursor:pointer}.qpicker-body-wrap{min-width:0;cursor:pointer;-webkit-user-select:none;user-select:none}.qpicker-body-wrap:hover .qpicker-question-body{color:var(--color-primary-strong)}.qpicker-question-body{white-space:normal;line-height:1.5;max-height:4.5em;overflow:hidden;font-size:13px;font-weight:500;color:var(--color-ink-strong);min-width:0;word-break:break-word}.qpicker-expand-hint{font-style:normal;font-size:11px;color:var(--color-primary);margin-left:6px;opacity:.8}.qpicker-options-list{flex-shrink:0;display:grid;gap:5px;padding:8px 12px;background:var(--color-surface);border-radius:6px;border:1px solid var(--color-primary-border);border-left:3px solid var(--color-primary);margin-top:-4px}.qpicker-option-row{display:grid;grid-template-columns:22px 1fr auto;gap:6px;align-items:baseline;font-size:13px;line-height:1.5;border-radius:4px;padding:2px 4px}.qpicker-option-row b{color:var(--color-primary-strong);font-size:12px;font-weight:700;text-align:center}.qpicker-option-row.qpicker-option-correct{background:#d1fae5;font-weight:500}.qpicker-option-row.qpicker-option-correct b{color:#065f46}.qpicker-correct-mark{color:#059669;font-size:13px;font-weight:700;line-height:1}.activity-question-title span,.activity-bound-list article>div>span,.activity-qr-card span,.activity-question-stat-head>div>span{color:var(--color-primary-strong);font-size:12px;font-weight:900}.activity-question-title strong{color:var(--color-ink-strong);font-size:18px}.activity-option-list button{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;min-height:54px;padding:9px 10px;color:var(--color-ink-strong);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;text-align:left}.activity-option-list button b{display:grid;place-items:center;width:32px;height:32px;color:var(--color-primary-strong);background:var(--color-primary-soft);border-radius:999px}.activity-submit-success{display:grid;justify-items:center;gap:10px;padding:34px 18px;color:var(--color-primary-strong);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;text-align:center}.activity-submit-success h1{margin:0;color:var(--color-ink-strong)}.activity-checkin-score{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:999px;font-size:13px;font-weight:900}.activity-answer-feedback article,.activity-list-item,.activity-bound-list article,.activity-question-stat-list>article{display:grid;gap:8px;padding:11px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.activity-phase-group.empty{background:var(--color-surface-muted)}.activity-entry-group-card{display:grid;gap:10px;padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.activity-phase-group-head strong{color:var(--color-ink-strong);font-size:15px}.activity-phase-group-head b{padding:5px 9px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:999px;font-size:12px;white-space:nowrap}.activity-entry-group-head strong{color:var(--color-ink-strong);font-size:14px}.activity-entry-group-head b{padding:5px 9px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:999px;font-size:12px;white-space:nowrap}.activity-list-item strong,.activity-bound-list strong,.activity-qr-card strong,.activity-question-stat-head strong{color:var(--color-ink-strong);overflow:hidden;text-overflow:ellipsis}.activity-qr-countdown{color:var(--color-primary-strong)!important;font-weight:900}.activity-qr-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:center;padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.activity-qr-info{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.activity-phase-grid article{display:grid;gap:4px;padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.activity-checkin-head strong{color:var(--color-ink-strong)}.activity-question-stat-head b{color:var(--color-primary-strong);white-space:nowrap}.activity-wall-shell{min-width:320px;min-height:100vh;min-height:100dvh;padding:22px;color:var(--color-surface-muted);background:var(--color-ink-strong);font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,sans-serif}.activity-wall-kpis article{display:grid;gap:8px;min-height:110px;padding:18px;color:var(--color-ink-strong);background:var(--color-surface-muted);border:1px solid rgba(210,231,237,.92);border-radius:10px}.activity-wall-kpis strong{color:var(--color-ink-strong);font-size:42px;line-height:1}.activity-wall-qr-panel{display:grid;align-content:start;gap:14px;min-width:0;padding:18px;color:var(--color-ink-strong);background:var(--color-surface-muted);border:1px solid rgba(210,231,237,.92);border-radius:12px}.activity-wall-qr-panel strong{color:var(--color-ink-strong);font-size:22px}.activity-wall-roster>section{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;min-width:0;min-height:0;padding:16px;background:var(--color-surface-muted);border:1px solid rgba(210,231,237,.92);border-radius:12px}.activity-wall-section-title strong{color:var(--color-ink-strong);font-size:22px}.activity-wall-name-grid.signed article{background:var(--color-success-soft);border-color:var(--color-success-border)}.activity-wall-name-grid.waiting article{background:var(--color-warning-soft);border-color:var(--color-warning-border)}.activity-wall-name-grid strong{overflow:hidden;color:var(--color-ink-strong);font-size:18px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.activity-wall-name-grid span{overflow:hidden;color:var(--color-muted);font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.activity-wall-name-grid.signed span{color:var(--color-success)}.activity-wall-name-grid.waiting span{color:var(--color-warning)}.activity-entry-wall-shell{min-width:320px;min-height:100vh;min-height:100dvh;padding:18px;color:var(--color-surface-muted);background:var(--color-ink-strong);font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,sans-serif}.activity-entry-wall-left,.activity-entry-wall-right{min-width:0;background:var(--color-surface-muted);border:1px solid rgba(210,231,237,.9);border-radius:12px}.activity-entry-wall-left{display:grid;align-content:start;gap:16px;padding:18px;color:var(--color-ink-strong)}.activity-entry-wall-title span{color:var(--color-primary-strong);font-size:15px;font-weight:900}.activity-entry-wall-title h1{margin:0;color:var(--color-ink-strong);font-size:30px;line-height:1.16;text-wrap:balance}.activity-entry-wall-title p{margin:0;color:var(--color-muted);font-size:16px;font-weight:800}.activity-entry-wall-qr{display:grid;place-items:center;width:100%;aspect-ratio:1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px}.activity-entry-wall-code{display:grid;gap:5px;padding:12px;color:var(--color-ink-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:8px}.activity-entry-wall-code strong{color:var(--color-primary-strong);font-size:26px;letter-spacing:0}.activity-entry-wall-code span{color:var(--color-muted);font-size:14px;font-weight:900}.activity-entry-wall-right{display:grid;gap:14px;align-content:start;padding:16px;color:var(--color-ink-strong)}.activity-entry-wall-kpis strong{color:var(--color-ink-strong);font-size:36px;line-height:1}.activity-entry-wall-question-list article{display:grid;gap:10px;padding:11px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.activity-entry-wall-question-list article>div:first-child>span{color:var(--color-primary-strong);font-size:12px;font-weight:900}.activity-entry-wall-question-list strong{color:var(--color-ink-strong);font-size:16px}.activity-wall-copy-text span{color:var(--color-primary-strong);font-size:12px;font-weight:900}.activity-wall-copy-text strong{color:var(--color-ink-strong);font-size:17px;line-height:1.25}.activity-entry-wall-shell{padding:clamp(12px,2vw,24px);color:var(--color-ink-strong);background:var(--color-primary-soft);font-family:"Noto Serif SC","Source Han Serif SC",Songti SC,SimSun,serif}.activity-entry-wall-left{color:var(--color-on-primary);background:var(--color-primary-strong);border:none;border-radius:16px;gap:18px;padding:24px}.activity-entry-wall-right{color:var(--color-ink-strong);background:var(--color-surface);border:1px solid var(--color-primary-border);border-radius:16px;display:grid;gap:16px;align-content:start;padding:20px}.activity-entry-wall-title span,.activity-entry-wall-question-head>div>span,.activity-entry-wall-topline span{color:#ffffffbf;font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;letter-spacing:0}.activity-entry-wall-title h1{color:var(--color-on-primary);font-size:clamp(28px,3vw,44px);line-height:1.12}.activity-entry-wall-title p{color:#ffffffb3;font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;font-size:17px;font-weight:800}.activity-entry-wall-qr{background:var(--color-surface);border:4px solid rgba(255,255,255,.5);border-radius:12px}.activity-entry-wall-qr img{border-color:var(--color-on-primary)}.activity-entry-wall-code{color:var(--color-on-primary);background:#0000002e;border:1px solid rgba(255,255,255,.22);border-radius:10px}.activity-entry-wall-code strong{color:#ffd666;font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;font-size:36px;font-weight:900;letter-spacing:.04em}.activity-entry-wall-code span{color:#ffffffb8;font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif}.activity-entry-wall-topline span{color:var(--color-primary-strong)}.activity-entry-wall-topline strong{color:var(--color-ink-strong);font-size:clamp(28px,3.2vw,48px);line-height:1.08}.activity-entry-wall-topline b{padding:10px 16px;color:var(--color-primary-strong);background:#e2f5f7;border:2px solid #9dd4dc;border-radius:999px;font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;font-size:20px;font-weight:900;white-space:nowrap}.activity-entry-wall-question-card{display:grid;gap:14px;padding:18px;background:var(--color-surface-muted);border:1px solid var(--color-primary-border);border-radius:12px}.activity-wall-answer-key{margin:0;padding:10px 14px;border:1px solid #86d9a5;border-radius:10px;background:#ecfdf5;color:#14532d;font-size:clamp(18px,1.7vw,26px);font-weight:800;line-height:1.5;overflow-wrap:anywhere}.activity-entry-wall-question-head>div>span{color:var(--color-primary-strong)}.activity-entry-wall-question-head strong{color:var(--color-ink-strong);font-size:clamp(24px,2.5vw,36px);line-height:1.25}.activity-entry-wall-question-head small{color:var(--color-primary-strong);font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;font-size:17px;font-weight:900;white-space:nowrap}.activity-entry-wall-option-list{display:grid;gap:10px}.activity-entry-wall-option{display:grid;grid-template-columns:76px minmax(0,1fr) 88px 72px;gap:12px;align-items:center;min-width:0;color:var(--color-ink-strong);font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif}.activity-entry-wall-option-letter{display:inline-grid;place-items:center;min-width:62px;height:48px;padding:0 12px;color:var(--color-on-primary);background:#4a7fa8;border-radius:999px;font-size:24px;font-weight:900}.activity-entry-wall-option .activity-entry-wall-option-letter{color:#334155;background:#e2e8f0;border:2px solid #94a3b8;font-size:24px;font-weight:900}.activity-entry-wall-option.correct{background:#ecfdf5;border:2px solid #15803d;border-radius:12px;padding:8px}.activity-entry-wall-option.correct .activity-entry-wall-option-letter{color:var(--color-on-primary);background:#166534;border-color:#166534}.activity-entry-wall-option.correct small:before{content:"✓ 正确答案 · ";color:#14532d;font-weight:900}.activity-entry-wall-option.correct .activity-entry-wall-option-track{background:#d1fae5;border-color:#15803d}@media(max-width:680px){.activity-entry-wall-option .activity-entry-wall-option-letter{font-size:19px;padding:0 6px}}.activity-entry-wall-option-track{height:28px;overflow:hidden;background:#ddeef4;border:1px solid #b8d8e4;border-radius:999px}.activity-entry-wall-option-track i{display:block;height:100%;background:#4a9fb8;border-radius:inherit}.activity-entry-wall-option.correct .activity-entry-wall-option-track i{background:#15803d}.activity-entry-wall-option small{overflow:hidden;color:#3a5a70;font-size:16px;font-weight:800;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.activity-entry-wall-option strong{color:var(--color-ink-strong);font-size:clamp(30px,3vw,52px);line-height:1;text-align:right}.activity-entry-wall-option b{color:var(--color-primary-strong);font-size:20px;text-align:right}.activity-entry-wall-rosters>section{display:grid;gap:10px;min-width:0;padding:14px;background:var(--color-surface-muted);border:1px solid var(--color-primary-border);border-radius:12px}.activity-entry-wall-rosters .activity-wall-section-title strong{color:var(--color-ink-strong);font-size:18px}.activity-entry-wall-rosters .activity-wall-section-title span{color:var(--color-primary-strong);font-weight:900}.activity-entry-wall-rosters .activity-wall-name-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px;max-height:22dvh;grid-auto-rows:minmax(72px,max-content);align-content:start;overflow-y:auto}.activity-entry-wall-rosters .activity-wall-name-grid article{min-height:72px;box-sizing:border-box;padding:8px 10px;place-items:center;border-radius:8px}.activity-entry-wall-rosters .activity-wall-name-grid.signed article{background:#d6f5e6;border-color:#7dd4a8}.activity-entry-wall-rosters .activity-wall-name-grid.waiting article{background:#fff4d6;border-color:#f0cc70}.activity-entry-wall-rosters .activity-wall-name-grid strong{color:var(--color-ink-strong);font-size:15px;font-weight:700;text-align:center}.activity-entry-wall-footnote{margin:0;color:var(--color-muted);font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;font-size:14px;font-weight:800;text-align:right}.activity-entry-wall-shell .activity-wall-empty{min-height:96px;color:var(--color-muted);background:var(--color-primary-soft);border:1px dashed var(--color-primary-border)}.operation-quick-list button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:12px;text-align:left;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.compact-button{min-height:44px;padding:0 12px;white-space:nowrap}.student-activity-card-head strong,.student-activity-entry strong{color:var(--color-ink-strong)}.student-activity-status,.student-activity-entry-side b{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 9px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}@media(max-width:680px){.activity-wall-copy-panel,.activity-entry-wall-topline,.activity-entry-wall-question-head{grid-template-columns:1fr}.activity-wall-copy-panel,.activity-entry-wall-topline{display:grid}.activity-wall-copy-actions{justify-content:stretch}.activity-wall-copy-actions .compact-button{flex:1 1 150px}.activity-entry-wall-board,.activity-entry-wall-rosters{grid-template-columns:1fr}.activity-entry-wall-option{grid-template-columns:58px minmax(0,1fr) 68px}.activity-entry-wall-option b{display:none}.activity-entry-wall-option-letter{min-width:48px;height:42px;font-size:19px}.activity-entry-wall-option small,.activity-entry-wall-question-head small{white-space:normal}.quick-question-result-qr{flex-direction:column}.quick-question-result-qr img{width:100%;height:auto;aspect-ratio:1}}@media(min-width:681px){.activity-entry-wall-left{position:sticky;top:24px;align-self:start;box-sizing:border-box;height:calc(100dvh - 48px);grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.activity-entry-wall-qr{width:min(100%,calc(100dvh - 300px));height:auto;min-height:0;margin-inline:auto;aspect-ratio:1;align-self:start;justify-self:center}.activity-entry-wall-qr img{width:100%;max-width:100%;height:auto;max-height:100%;object-fit:contain}}.kg-page-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--color-border);flex-wrap:wrap}.kg-page-title{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.kg-page-title strong{font-size:18px;font-weight:700;color:var(--color-ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kg-page-title span{font-size:11.5px;font-weight:600;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);padding:2px 9px;border-radius:99px;white-space:nowrap;flex-shrink:0}.kg-page-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.kg-action-btn{min-height:44px!important;padding:0 12px!important;font-size:13px;display:inline-flex;align-items:center;gap:6px}.primary.kg-action-btn{min-height:44px!important}.kg-delete-icon-btn{min-height:44px!important;width:44px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;color:var(--color-muted);border-radius:var(--radius-md)}.kg-delete-icon-btn:hover:not(:disabled){color:var(--color-danger);background:var(--color-danger-soft);border-color:var(--color-danger-border)}.danger-text{color:var(--color-danger)}.kg-unlink-btn{min-height:28px!important;padding:0 9px!important;font-size:11.5px!important;color:var(--color-muted)!important}.kg-unlink-confirm-row{display:flex;flex-direction:column;gap:4px;align-items:stretch;flex-shrink:0}.kg-unlink-confirm-btn{min-height:28px;padding:0 9px;font-size:11.5px;font-weight:700;color:var(--color-danger);background:var(--color-danger-soft);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);white-space:nowrap;transition:background var(--transition-fast),border-color var(--transition-fast)}.kg-unlink-confirm-btn:hover:not(:disabled){background:#fde8e6;border-color:#e8a09a}.kg-unlink-confirm-row .ghost-button{min-height:28px!important;padding:0 9px!important;font-size:11.5px!important}.kg-match-status{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:11px 16px;background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:10px;font-size:13px;color:var(--color-primary-strong);font-weight:500}.kg-match-bar-wrap{flex:1;height:5px;background:#1975862e;border-radius:99px;overflow:hidden;min-width:80px}.kg-match-bar{height:100%;background:var(--color-primary);border-radius:99px;width:100%;transform-origin:left;transition:transform .5s cubic-bezier(.4,0,.2,1);will-change:transform}.kg-empty{display:flex;flex-direction:column;align-items:center;gap:20px;padding:72px 20px 56px}.kg-empty-icon{width:72px;height:72px;background:var(--color-primary-soft);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.kg-empty-content{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.kg-empty-title{font-size:18px;font-weight:600;color:var(--color-ink-strong);margin:0}.kg-empty-desc{font-size:14px;color:var(--color-muted);margin:0;max-width:300px}.kg-empty-cta{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:9px 22px;min-height:44px;background:var(--color-primary);color:var(--color-on-primary);border:0;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease;-webkit-user-select:none;user-select:none}.kg-empty-cta:hover{background:var(--color-primary-strong)}.kg-empty-cta:active{background:var(--color-primary-strong);opacity:.9}.kg-format-hint{width:100%;max-width:600px;margin-top:6px;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.kg-format-hint>summary{padding:9px 14px;font-size:13px;font-weight:600;color:var(--color-ink);cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none}.kg-format-hint>summary:before{content:"▸";font-size:10px;color:var(--color-muted);transition:transform .15s}.kg-format-hint[open]>summary:before{transform:rotate(90deg)}.kg-format-hint-body{padding:0 14px 14px;display:grid;gap:8px}.kg-format-hint-body p{margin:0;font-size:13px;color:var(--color-ink)}.kg-format-table-wrap{overflow-x:auto;border-radius:6px;border:1px solid var(--color-border)}.kg-format-table{width:100%;border-collapse:collapse;font-size:12.5px}.kg-format-table th{padding:6px 10px;background:var(--color-surface-muted);color:var(--color-muted);font-weight:700;text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.kg-format-table td{padding:5px 10px;color:var(--color-ink);border-bottom:1px solid #f0f5f7;white-space:nowrap}.kg-format-table tbody tr:last-child td{border-bottom:none}.kg-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:stretch;height:calc(100dvh - 210px)}.kg-tree-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;overflow-y:auto;overscroll-behavior:contain}.kg-tree-stats{padding:10px 14px;font-size:12px;color:var(--color-muted);border-bottom:1px solid var(--color-border);background:var(--color-surface-muted)}.kg-tree-row{display:flex;align-items:center;gap:6px;padding:7px 14px;cursor:pointer;transition:background .12s;min-height:36px}.kg-tree-row:hover{background:var(--color-surface-muted)}.kg-tree-row:hover .kg-tree-actions{opacity:1}.kg-tree-row.selected{background:#e6f4f8}.kg-tree-toggle{font-size:11px;color:var(--color-muted);width:16px;flex-shrink:0;border:none;background:transparent;padding:0;cursor:pointer;line-height:1;text-align:center}.kg-tree-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:3px}.kg-tree-name{flex:1;font-size:13.5px;color:var(--color-ink-strong)}.depth-0>.kg-tree-row .kg-tree-name{font-weight:600}.depth-1>.kg-tree-row .kg-tree-name{font-weight:500}.kg-tree-children{border-left:2px solid #e0ecf0;margin-left:22px}.kg-tree-actions{display:flex;gap:2px;opacity:0;transition:opacity .12s;flex-shrink:0}.kg-tree-act-btn{border:none;background:transparent;padding:2px 5px;border-radius:4px;font-size:11px;cursor:pointer;color:var(--color-muted);line-height:1;transition:background .1s,color .1s}.kg-tree-act-btn:hover{background:var(--color-border);color:var(--color-ink)}.kg-tree-act-btn.danger:hover{background:var(--color-danger-soft);color:var(--color-danger)}.kg-tree-confirm-del{background:var(--color-danger-soft)!important;color:var(--color-danger)!important;font-weight:700;padding:2px 6px!important}.kg-tree-cancel-del{color:var(--color-muted)}.kg-tree-rename-input{flex:1;border:1px solid var(--color-primary);border-radius:4px;padding:2px 6px;font-size:13px;outline:none;background:var(--color-surface)}.kg-tree-add-row{display:flex;align-items:center;gap:6px;padding:5px 14px}.kg-tree-add-row .kg-tree-rename-input{border-color:#10b981}.kg-tree-meta{display:flex;align-items:center;gap:4px;flex-shrink:0}.kg-question-count{font-size:11px;font-weight:700;color:var(--color-primary-strong);background:#e0f2f7;border-radius:999px;padding:1px 7px}.kg-tag{display:inline-block;font-size:10px;font-weight:700;padding:1px 5px;border-radius:4px;white-space:nowrap}.kg-tag-key{background:var(--color-warning-soft);color:var(--color-warning)}.kg-tag-hard{background:var(--color-danger-soft);color:#991b1b}.kg-tag-exam{background:var(--color-info-soft);color:var(--color-info)}.kg-tag-ideology{background:var(--color-success-soft);color:var(--color-success)}.kg-tag-custom{background:#f3f4f6;color:#374151}.kg-tag-dim{background:#ede9fe;color:#5b21b6}.kg-detail-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:16px;overflow-y:auto;overscroll-behavior:contain}.kg-detail-empty{display:flex;align-items:center;justify-content:center;height:160px;color:var(--color-muted);font-size:13px}.kg-detail-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--color-border)}.kg-detail-head strong{font-size:15px;color:var(--color-ink-strong);flex:1}.kg-detail-desc{font-size:13px;color:var(--color-ink);margin:0 0 10px;line-height:1.6}.kg-relations{margin-bottom:14px}.kg-relations-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.kg-relations-header strong{font-size:12px;color:var(--color-muted)}.kg-relation-list{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.kg-relation-chip{font-size:11px;padding:2px 6px 2px 8px;border-radius:999px;background:var(--color-surface-muted);color:#475569;border:1px solid var(--color-border);display:inline-flex;align-items:center;gap:4px}.kg-rel-label{font-weight:600}.kg-rel-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kg-rel-delete{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:none;background:transparent;color:inherit;opacity:.5;cursor:pointer;padding:0;flex-shrink:0}.kg-rel-delete:hover{opacity:1;background:#0000001a}.kg-rel-prerequisite{background:#fef9c3;border-color:#fde68a;color:var(--color-warning)}.kg-rel-successor{background:var(--color-success-soft);border-color:#86efac;color:#14532d}.kg-rel-add-form{display:grid;grid-template-columns:1fr auto auto;gap:5px;align-items:stretch}.kg-rel-search-wrap{position:relative;min-width:0}.kg-rel-search-input{width:100%;box-sizing:border-box;height:32px;padding:0 8px;font-size:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);outline:none}.kg-rel-search-input:focus{border-color:var(--color-primary)}.kg-rel-dropdown{position:absolute;top:calc(100% + 3px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000001f;z-index:var(--z-drawer);max-height:200px;overflow-y:auto}.kg-rel-option{display:block;width:100%;text-align:left;padding:7px 10px;font-size:12px;color:var(--color-ink);background:none;border:none;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kg-rel-option:hover{background:var(--color-surface-muted)}.kg-rel-option-empty{color:var(--color-muted);cursor:default}.kg-rel-option-empty:hover{background:none}.kg-rel-type-select{height:32px;padding:0 4px;font-size:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);cursor:pointer}.kg-rel-add-form .compact-button{height:32px!important;min-height:32px!important;padding:0 12px!important;font-size:12px}.kg-questions>strong{font-size:13px;color:var(--color-ink-strong);display:block;margin-bottom:8px}.kg-qlink-search-wrap{position:relative;margin-bottom:8px}.kg-qlink-dropdown{max-height:260px;overflow-y:auto}.kg-qlink-option{display:flex;align-items:flex-start;gap:6px;text-align:left;white-space:normal;line-height:1.4}.kg-qlink-text{flex:1;font-size:12px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.kg-qlink-badge{flex-shrink:0;font-size:10px;padding:1px 5px;border-radius:4px;background:var(--color-surface-muted);color:var(--color-muted);border:1px solid var(--color-border)}.kg-qlink-badge-other{background:#fef3c7;color:#92400e;border-color:#fcd34d}.kg-qlink-already{opacity:.55;cursor:default}.kg-question-list{display:grid;gap:6px}.kg-question-row{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background:var(--color-surface-muted);border-radius:6px;border:1px solid var(--color-border)}.kg-question-text{flex:1;display:grid;gap:2px;min-width:0}.kg-question-title{font-size:12.5px;font-weight:600;color:var(--color-ink-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kg-question-content{font-size:11.5px;color:var(--color-muted)}.kg-question-options{display:flex;flex-direction:column;gap:2px;margin-top:3px}.kg-question-option{font-size:11.5px;color:var(--color-muted)}.kg-question-option.kg-option-correct{color:var(--color-primary-strong);font-weight:600}@media(max-width:900px){.kg-layout{grid-template-columns:1fr}.kg-detail-panel{position:static}}.practice-page{display:flex;flex-direction:column}.learning-path{display:grid;gap:18px;padding:20px;border:1px solid #d3e8e2;border-radius:14px;background:#f2faf7;box-shadow:0 12px 28px #1f5b580b}.learning-path-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.learning-path-header>div{min-width:0}.learning-path-kicker{display:inline-flex;align-items:center;gap:6px;color:#28746c;font-size:12px;font-weight:800;letter-spacing:.06em}.learning-path-header h2{margin:5px 0 0;color:var(--color-ink-strong);font-size:22px;line-height:1.25}.learning-path-header p{max-width:620px;margin:7px 0 0;color:var(--color-muted);font-size:13px;line-height:1.65}.learning-path-unlocked{flex:0 0 auto;padding:7px 10px;border:1px solid #c3e0d6;border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-success);font-size:12px;font-weight:800;white-space:nowrap}.learning-path-track{display:grid;grid-template-columns:minmax(150px,.72fr) repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}.learning-path-foundation,.learning-path-step{position:relative;min-width:0;min-height:156px;border-radius:12px}.learning-path-foundation{display:flex;align-items:center;gap:10px;padding:16px;border:1px solid #b9ded3;background:#e1f3ed;color:#236d62}.learning-path-foundation>svg{flex:0 0 auto;color:var(--color-success)}.learning-path-foundation div{display:grid;gap:5px}.learning-path-foundation strong{color:#245d57;font-size:14px}.learning-path-foundation span{color:#477a73;font-size:12px;line-height:1.6}.learning-path-step{display:grid;grid-template-rows:auto 1fr auto;gap:12px;padding:15px;border:1px solid #d6e6e6;background:var(--color-surface);box-shadow:0 4px 12px #1841490a;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.learning-path-step:hover{transform:translateY(-3px);border-color:#91c7c2;box-shadow:0 12px 22px #1841491a}.learning-path-step.is-next{border:2px solid var(--color-primary);background:linear-gradient(145deg,#fff 62%,#eff9f7)}.learning-path-step-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--color-primary-strong);font-size:12px;font-weight:800}.learning-path-step-top b{color:#3b6f78;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.learning-path-step-copy strong{display:block;color:var(--color-ink-strong);font-size:16px;line-height:1.4}.learning-path-step-copy p{margin:6px 0 0;color:var(--color-muted);font-size:12px;line-height:1.62}.learning-path-step button{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:36px;padding:0 10px;border:1px solid #c7e2dc;border-radius:8px;background:#f7fcfa;color:var(--color-primary-strong);font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.learning-path-step button:hover{border-color:#8fc5ba;background:#e7f5f0}.learning-path-step.is-next button{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.learning-path-step.is-next button:hover{border-color:var(--color-primary-strong);background:var(--color-primary-strong)}.learning-path-step button:active{transform:translateY(1px)}.learning-path-step button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(max-width:700px){.learning-path{gap:15px;padding:16px}.learning-path-header{display:grid;gap:11px}.learning-path-header h2{font-size:20px}.learning-path-unlocked{width:max-content}.learning-path-track{grid-template-columns:1fr;gap:10px}.learning-path-foundation,.learning-path-step{min-height:0}.learning-path-foundation{padding:14px}}.practice-tree{padding:4px 0 48px}.practice-tree-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 0 17px}.practice-section-kicker{display:block;margin-bottom:4px;color:var(--color-primary-strong);font-size:13px;font-weight:750}.practice-tree-heading h2{margin:0;color:var(--color-ink-strong);font-size:23px;line-height:1.2;text-wrap:balance}.practice-chapter-count{padding-bottom:2px;color:var(--color-muted-strong);font-size:13px;font-weight:700;white-space:nowrap}.practice-node.depth-0{margin:0;padding:22px 0 0}.practice-node.depth-0+.practice-node.depth-0{margin-top:22px;border-top:1px solid var(--color-border)}.practice-node-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 0;color:var(--color-ink);background:transparent;border:0;border-radius:0;font:inherit;text-align:left;transition:color var(--transition-fast),background-color var(--transition-fast)}.practice-node-row:hover{color:var(--color-primary-strong)}.practice-node-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:6px;box-shadow:none}.practice-node-row.clickable:active{color:var(--color-primary-strong);transform:translate(2px)}.practice-node.depth-0>.practice-node-row{min-height:58px}.practice-node.depth-0>.practice-node-row .practice-node-name{color:var(--color-ink-strong);font-size:17px;font-weight:800}.practice-node-row.status-perfect{color:var(--color-success)}.practice-node-row.status-done{color:var(--color-info)}.practice-node-row.status-partial{color:var(--color-warning)}.practice-expand-icon{display:grid;place-items:center;width:20px;height:20px;color:var(--color-primary-strong);border:1px solid var(--color-primary-border);border-radius:50%;background:var(--color-primary-soft);font-size:16px;font-weight:700;line-height:1}.practice-expand-icon.placeholder{border-color:transparent;background:transparent}.practice-node-name{overflow:hidden;color:var(--color-ink-strong);font-size:14px;font-weight:650;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.practice-children{position:relative;display:grid;gap:0;margin:2px 0 0 10px;padding:0 0 3px 18px;border-left:1px solid var(--color-primary-border)}.practice-children .practice-node+.practice-node>.practice-node-row{border-top:1px solid color-mix(in srgb,var(--color-border) 72%,transparent)}.practice-children .practice-children{margin-left:11px;padding-left:15px;border-left-color:#d9e7ea}.practice-node-badge{min-width:52px;padding:4px 8px;color:var(--color-muted-strong);background:var(--color-surface-soft);border-radius:999px;font-size:12px;font-weight:750;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}.practice-node-badge.status-perfect{background:var(--color-success-soft);color:var(--color-success)}.practice-node-badge.status-done{background:var(--color-info-soft);color:var(--color-info)}.practice-node-badge.status-partial{background:var(--color-warning-soft);color:var(--color-warning)}.practice-node-badge.status-todo{background:var(--color-surface-muted);color:var(--color-muted)}.practice-arrow{display:inline-flex;align-items:center;gap:3px;min-width:54px;color:var(--color-primary-strong);font-size:12px;font-weight:800;white-space:nowrap}.practice-quiz-page{display:flex;flex-direction:column;height:100dvh;background:var(--color-bg);position:fixed;inset:0;z-index:var(--z-drawer);overflow:hidden}.practice-quiz-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--color-border)}.practice-quiz-node-name{flex:1;font-size:13px;font-weight:600;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.practice-quiz-progress{font-size:12px;color:var(--color-muted);flex-shrink:0}.practice-quiz-progress-bar{height:3px;background:var(--color-border)}.practice-quiz-progress-fill{height:100%;background:var(--color-primary);width:100%;transform-origin:left;transition:transform .3s;will-change:transform}.practice-quiz-body{flex:1;overflow-y:auto;padding:20px 16px 16px;display:flex;flex-direction:column;gap:16px}.practice-quiz-question{font-size:15px;line-height:1.7;color:var(--color-ink-strong);background:var(--color-surface-muted);border-radius:10px;padding:16px}.practice-quiz-options{display:flex;flex-direction:column;gap:10px}.practice-opt-btn{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:10px;border:2px solid var(--color-border);background:var(--color-bg);text-align:left;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;font-size:14px;line-height:1.5}.practice-opt-btn:active{transform:scale(.98)}.practice-opt-btn.opt-selected{border-color:var(--color-primary);background:var(--color-info-soft)}.practice-opt-btn.opt-correct{border-color:var(--color-success);background:var(--color-success-soft)}.practice-opt-btn.opt-wrong{border-color:var(--color-danger);background:var(--color-danger-soft)}.practice-opt-btn.opt-dim{opacity:.45}.opt-label{font-weight:700;font-size:14px;color:var(--color-primary);flex-shrink:0;width:20px}.opt-text{flex:1}.practice-result-bar{padding:12px 16px;border-radius:8px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.practice-result-bar.correct{background:var(--color-success-soft);color:var(--color-success)}.practice-result-bar.wrong{background:var(--color-danger-soft);color:#b91c1c}.practice-points-badge{margin-left:auto;background:var(--color-warning);color:var(--color-warning);border-radius:12px;padding:2px 10px;font-size:13px}.practice-quiz-footer{padding:12px 16px;border-top:1px solid var(--color-border)}.full-width{width:100%}.practice-done-page{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:24px}.practice-done-card{background:var(--color-bg);border-radius:16px;padding:32px 24px;text-align:center;max-width:360px;width:100%;box-shadow:0 4px 24px #00000014}.practice-done-icon{font-size:48px;margin-bottom:12px}.practice-done-card h2{font-size:17px;margin-bottom:20px}.practice-done-stats{display:flex;justify-content:center;gap:32px;margin-bottom:20px}.practice-done-stat{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:13px;color:var(--color-muted)}.done-num{font-size:32px;font-weight:700;color:var(--color-ink-strong)}.correct-num{color:var(--color-success)}.wrong-num{color:var(--color-danger)}.practice-done-points{font-size:22px;font-weight:700;color:var(--color-warning);margin-bottom:8px}.practice-done-hint{font-size:13px;color:var(--color-muted);margin-bottom:20px}.practice-done-actions{display:flex;gap:10px;justify-content:center}.practice-done-actions button{flex:1}.practice-view-toggle{display:flex;gap:4px}.practice-view-toggle button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:6px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fffc;cursor:pointer}.practice-view-toggle button.active{background:#ffffff40;color:var(--color-on-primary)}.practice-radial-wrap{position:relative;flex:1;display:flex;flex-direction:column;min-height:500px}.practice-radial-wrap .kg-graph-panel,.practice-radial-wrap>div:first-child{flex:1;height:100%}.practice-graph-sheet{position:fixed;bottom:60px;left:0;right:0;z-index:var(--z-sheet);padding:0 12px 8px;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.practice-graph-sheet-inner{background:var(--color-bg);border-radius:14px;padding:16px;box-shadow:0 -2px 20px #0000001f;display:flex;align-items:center;gap:12px}.practice-graph-sheet-info{flex:1;display:flex;flex-direction:column;gap:4px}.practice-graph-sheet-info strong{font-size:15px}.practice-graph-sheet-inner .ghost-button{flex-shrink:0}.kg-view-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:2px 0}.kg-tree-stats-inline{font-size:13px;color:var(--color-muted-strong);font-weight:500}.kg-view-toggle{display:flex;gap:0;border:1px solid var(--color-border);border-radius:8px;overflow:hidden;background:var(--color-surface)}.kg-view-btn{display:flex;align-items:center;gap:5px;padding:6px 13px;font-size:12.5px;font-weight:600;color:var(--color-muted);background:transparent;border:none;cursor:pointer;transition:background .15s,color .15s}.kg-view-btn:hover{background:var(--color-surface-muted);color:var(--color-ink)}.kg-view-btn.active{background:var(--color-primary);color:var(--color-on-primary)}.kg-view-btn+.kg-view-btn{border-left:1px solid var(--color-border)}.kg-layout-graph{grid-template-columns:minmax(0,1fr) 340px}.kg-graph-panel{height:100%;min-height:480px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;position:relative}.kg-radial-container{width:100%;height:100%;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#f8fafc,#eef2f7)}.kg-radial-container svg{display:block;width:100%;height:100%;touch-action:none}.kg-graph-loading{display:grid;place-items:center;color:var(--color-muted);font-size:14px}.kg-radial-zoom{position:absolute;bottom:14px;right:14px;display:flex;flex-direction:column;gap:2px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;box-shadow:0 1px 6px #0000001a}.kg-radial-zoom button{width:30px;height:28px;border:none;background:transparent;font-size:15px;line-height:1;cursor:pointer;color:var(--color-muted);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--color-border);transition:background .12s}.kg-radial-zoom button:last-child{border-bottom:none}.kg-radial-zoom button:hover{background:var(--color-surface-muted);color:var(--color-ink)}.kg-radial-legend{position:absolute;bottom:14px;left:14px;display:flex;flex-wrap:wrap;gap:8px;background:#ffffffe0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--color-border);border-radius:6px;padding:5px 10px;font-size:10px;color:var(--color-muted)}.kg-radial-legend span{display:flex;align-items:center;gap:4px}.kg-radial-legend-sep{width:1px;height:12px;background:var(--color-border);align-self:center}.kg-class-stats{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:7px 10px;background:var(--color-surface-muted);border-radius:6px;font-size:12px}.kg-class-stats-label{color:var(--color-muted);font-size:11px;white-space:nowrap}.kg-class-stats-chip{font-weight:600;border-radius:4px;padding:2px 7px;font-size:11px}.kg-class-stats-chip.status-todo{background:var(--color-surface-muted);color:#64748b}.kg-class-stats-chip.status-partial{background:var(--color-warning-soft);color:var(--color-warning)}.kg-class-stats-chip.status-done{background:var(--color-info-soft);color:var(--color-info)}.kg-class-stats-chip.status-perfect{background:var(--color-success-soft);color:var(--color-success)}.kg-class-stats-sub{color:var(--color-muted);font-size:11px}.kg-node-tooltip{position:absolute;z-index:var(--z-sheet);background:#0f172af0;color:var(--color-border);border-radius:8px;padding:9px 12px;min-width:140px;max-width:210px;pointer-events:none;box-shadow:0 4px 16px #00000059;display:flex;flex-direction:column;gap:4px}.kg-tooltip-name{font-size:13px;font-weight:700;color:var(--color-surface-muted);line-height:1.3}.kg-tooltip-line{font-size:11px;color:#94a3b8}.kg-tooltip-prereq{font-size:10.5px;color:#f97316;margin-top:2px}.practice-recommend-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 16px;background:linear-gradient(90deg,var(--color-info-soft) 0%,#f0fdf4 100%);border-bottom:1px solid var(--color-border)}.practice-recommend-label{font-size:11px;font-weight:600;color:var(--color-muted);white-space:nowrap;letter-spacing:.02em}.practice-recommend-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:var(--color-surface);border:1.5px solid var(--color-primary);border-radius:20px;font-size:12px;font-weight:600;color:var(--color-primary-strong);cursor:pointer;transition:background .12s,color .12s}.practice-recommend-chip:hover{background:var(--color-primary);color:var(--color-surface)}.practice-recommend-progress{font-size:10px;font-weight:400;opacity:.7}.practice-recommend-why{color:var(--color-success);font-size:10px;font-weight:700}.kg-force-rename-input{position:absolute;z-index:var(--z-floating);background:#1e293b;color:var(--color-surface-muted);border:2px solid var(--color-primary);border-radius:5px;padding:3px 8px;font-size:12px;font-weight:600;width:126px;outline:none;box-shadow:0 2px 12px #00000080}.kg-force-search{position:absolute;top:10px;left:10px;z-index:var(--z-overlay);background:#0f172ad9;color:var(--color-border);border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:5px 10px;font-size:12px;width:150px;outline:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:border-color .15s}.kg-force-search::placeholder{color:#fff6}.kg-force-search:focus{border-color:var(--color-primary)}.ability-radar-wrap{display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap}.ability-radar-legend{flex:1;min-width:200px;display:flex;flex-direction:column;gap:8px;padding-top:8px}.ability-radar-row{display:flex;align-items:center;gap:8px}.ability-radar-name{font-size:12px;color:var(--color-ink);min-width:110px;max-width:150px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ability-radar-bar-wrap{flex:1;height:5px;background:var(--color-border);border-radius:3px;overflow:hidden}.ability-radar-bar{height:100%;background:var(--color-primary);border-radius:3px;width:100%;transform-origin:left;transition:transform .5s ease;will-change:transform}.ability-radar-pct{font-size:11px;font-weight:700;color:var(--color-primary-strong);width:32px;text-align:right;flex-shrink:0}.ability-radar-sub{font-size:10px;color:var(--color-muted);width:40px;text-align:right;flex-shrink:0}.assistant-create-form{display:flex;flex-direction:column;gap:14px}.assistant-field-title{font-size:13px;color:var(--color-ink-strong);margin-top:2px}.assistant-class-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.assistant-class-fields label,.assistant-permission-fields>label{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 11px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-muted);font-size:13px;cursor:pointer}.assistant-class-fields input,.assistant-permission-fields input[type=checkbox]{width:16px;height:16px;flex:0 0 auto}.assistant-permission-fields{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr)) minmax(210px,1.2fr);gap:8px}.assistant-permission-fields .assistant-expiry{cursor:default}.assistant-account-list{display:flex;flex-direction:column;gap:14px}.assistant-account-card{display:flex;flex-direction:column;gap:13px;padding:16px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.assistant-account-card .row-between>div:first-child{display:flex;flex-direction:column;gap:4px}.assistant-account-card .row-between span{font-size:12px;color:var(--color-muted)}.assistant-stats{display:grid;grid-template-columns:repeat(6,auto);align-items:baseline;gap:5px}.assistant-stats b{color:var(--color-primary-strong);font-size:18px}.assistant-account-actions,.assistant-review-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.assistant-escalation-list{display:flex;flex-direction:column;gap:9px}.assistant-escalation-list article{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--color-warning);border-radius:9px;background:var(--color-warning-soft)}.assistant-escalation-list article>div{display:flex;flex-direction:column;gap:4px}.assistant-escalation-list span,.assistant-escalation-list small{color:var(--color-muted);font-size:12px}.assistant-escalation-list p{margin:0;white-space:pre-wrap}.assistant-review-page{max-width:none}.assistant-review-page>.panel>h2{margin:0 0 14px;font-size:18px}.assistant-teacher-homework-list,.assistant-teacher-student-list{display:grid;gap:10px}.assistant-teacher-student-list .homework-student-card{width:100%;color:inherit;text-align:left}.assistant-teacher-student-list .homework-feedback-entry{color:#925617}.assistant-homework-list{display:grid;gap:10px}.assistant-homework-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.assistant-homework-row:hover{border-color:var(--color-primary);box-shadow:0 6px 18px #0f172a12;transform:translateY(-1px)}.assistant-homework-row:focus-visible{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.assistant-homework-row:active{background:var(--color-primary-soft);box-shadow:none;transform:translateY(0)}.assistant-homework-row>div:first-child{min-width:0;display:flex;flex-direction:column;gap:5px}.assistant-homework-row strong{font-size:16px;color:var(--color-ink-strong)}.assistant-homework-row span,.assistant-homework-row small{color:var(--color-muted)}.assistant-homework-stats{flex:0 0 auto;display:flex;align-items:center;gap:12px}.assistant-homework-stats b{color:var(--color-primary-strong)}.assistant-homework-stats em,.assistant-student-list em,.assistant-question-list em{padding:3px 8px;border-radius:999px;background:var(--color-warning-soft);color:var(--color-warning);font-size:12px;font-style:normal;font-weight:700;white-space:nowrap}.assistant-homework-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.assistant-homework-toolbar>.teacher-combo-tabs{margin:0}.assistant-roster-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.assistant-roster-summary>div{display:flex;align-items:center;gap:8px}.assistant-search{display:flex;align-items:center;gap:7px;min-width:240px;padding:0 10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.assistant-search input{min-width:0;padding-left:0;border:0;box-shadow:none}.assistant-student-list,.assistant-question-list{display:grid;gap:9px}.assistant-student-list>button,.assistant-student-list>.missing,.assistant-question-list>button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:inherit;text-align:left}.assistant-student-list>button,.assistant-question-list>button{cursor:pointer}.assistant-student-list>button:hover,.assistant-question-list>button:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.assistant-student-list>.missing{background:var(--color-surface-muted)}.assistant-student-list>button>div,.assistant-student-list>.missing>div,.assistant-question-list>button>div{min-width:0;display:flex;flex-direction:column;gap:4px}.assistant-student-list span,.assistant-question-list span,.assistant-question-list small{color:var(--color-muted)}.assistant-question-list span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.assistant-detail-view .question-picker-subheader p{margin:4px 0 0;color:var(--color-muted)}.assistant-student-navigation{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.assistant-student-question{display:grid;gap:14px}.assistant-question-body{padding:14px 0 4px;color:var(--color-ink-strong);font-size:17px;line-height:1.75;overflow-wrap:anywhere}.assistant-question-standard{padding:11px 13px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface-muted)}.assistant-question-standard summary{color:var(--color-primary-strong);font-weight:700;cursor:pointer}.assistant-question-standard p,.assistant-question-reference p,.assistant-answer-panel p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75}.assistant-question-workspace{margin-top:14px}.assistant-question-reference{display:grid;gap:10px;padding:4px}.assistant-question-reference>p{margin:0}.assistant-answer-panel{min-width:0;padding:14px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-muted)}.assistant-answer-panel h4{margin:0 0 10px}.assistant-review-head-actions{display:flex;align-items:center;gap:10px}.assistant-review-head-actions>b{color:var(--color-primary-strong);white-space:nowrap;font-size:18px}.assistant-review-card.collapsed{padding:13px 15px;box-shadow:none}.assistant-question-workspace .assistant-review-list{margin-top:0}.assistant-review-list{display:flex;flex-direction:column;gap:16px;margin-top:14px}.assistant-review-page .homework-submission-row>.assistant-dispute,.assistant-review-page .homework-submission-row>.homework-review-footer{grid-column:1 / -1}.assistant-review-page .homework-submission-row>.homework-review-footer{width:100%;box-sizing:border-box}.assistant-review-page .assistant-review-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}.assistant-review-card{display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);box-shadow:0 4px 18px #0f172a0d}.assistant-review-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.assistant-review-head>div{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.assistant-review-head>b{color:var(--color-primary-strong);white-space:nowrap;font-size:18px}.assistant-review-head small{color:var(--color-muted)}.assistant-issue-badge{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700}.assistant-issue-badge.ai_uncertain{color:var(--color-warning);background:var(--color-warning-soft)}.assistant-issue-badge.student_dispute{color:var(--color-danger);background:var(--color-danger-soft)}.assistant-dispute{padding:11px 13px;border-left:3px solid var(--color-danger);border-radius:6px;background:var(--color-danger-soft)}.assistant-dispute p{margin:5px 0 0;white-space:pre-wrap}.assistant-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.assistant-review-grid>section{min-width:0;padding:14px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-muted)}.assistant-review-grid h4{margin:0 0 10px}.assistant-review-grid p{white-space:pre-wrap;overflow-wrap:anywhere}.assistant-review-editor{display:grid;grid-template-columns:minmax(160px,.35fr) minmax(300px,1fr);gap:12px}.assistant-review-editor label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650;color:var(--color-muted-strong)}.assistant-review-editor input,.assistant-review-editor textarea{width:100%;box-sizing:border-box}.assistant-review-editor textarea{min-height:76px;resize:vertical}.assistant-return-used{color:var(--color-warning);font-size:12px}.assistant-history-list{display:flex;flex-direction:column;gap:10px}.assistant-history-list article{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(200px,1fr) auto auto;align-items:center;gap:14px;padding:12px;border:1px solid var(--color-border);border-radius:9px}.assistant-history-list article>div{display:flex;flex-direction:column;gap:3px}.assistant-history-list span,.assistant-history-list small{color:var(--color-muted);font-size:12px}.assistant-history-list p{margin:0;white-space:pre-wrap}@media(pointer:coarse){.compact-button,.ghost-button,.danger-outline-button{min-height:44px;padding-left:14px;padding-right:14px}.practice-node-row{min-height:52px;padding:14px 16px}.practice-tree .practice-node-row{min-height:44px;padding:8px 0}.practice-tree .practice-node.depth-0>.practice-node-row{min-height:58px}.practice-opt-btn{padding:16px}.kg-tree-row{min-height:44px;padding:10px 14px}.bottom-tabs button{min-height:56px}.resource-mini-row,.homework-list-row{padding:14px}}@media(max-width:768px){.operation-kpi-grid{grid-template-columns:1fr 1fr}.kg-layout{grid-template-columns:1fr;height:auto}.exam-form,.ai-settings-grid{grid-template-columns:1fr}.question-picker{gap:8px}.homework-detail-header{flex-wrap:wrap;gap:8px}.panel-header{flex-wrap:wrap;gap:6px}.gradebook-table{font-size:12px}.kg-graph-panel{min-height:320px}.assistant-permission-fields{grid-template-columns:1fr 1fr}.assistant-review-grid,.assistant-review-editor{grid-template-columns:1fr}.assistant-homework-row,.assistant-homework-toolbar,.assistant-roster-summary{align-items:stretch;flex-direction:column}.assistant-question-workspace{grid-template-columns:1fr}.assistant-question-workspace .homework-review-reference{position:static;max-height:none;order:-1}.assistant-homework-stats{justify-content:space-between}.assistant-roster-summary>div{align-items:stretch;flex-direction:column}.assistant-search{min-width:0}.assistant-history-list article{grid-template-columns:1fr auto}.assistant-escalation-list article{grid-template-columns:1fr auto}}@media(max-width:600px){.app-shell{padding:12px;padding-bottom:calc(88px + env(safe-area-inset-bottom))}.panel{padding:16px}.stat-grid{grid-template-columns:1fr 1fr}.ability-radar-wrap{flex-direction:column}.ability-radar-legend{min-width:0;padding-top:0}.homework-detail-subheader,.question-picker-subheader{flex-wrap:wrap;gap:8px}.homework-submission-actions{flex-wrap:wrap;gap:6px}.hw-row-end{gap:8px}.hw-submit-pill{min-width:44px}.content{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.assistant-permission-fields,.assistant-class-fields{grid-template-columns:1fr}.assistant-review-head{flex-direction:column}.assistant-student-navigation{width:100%;justify-content:flex-start}.assistant-stats{grid-template-columns:repeat(3,auto)}.assistant-history-list article{grid-template-columns:1fr}.assistant-escalation-list article{grid-template-columns:1fr}}@media(min-width:781px){.app-shell{padding-bottom:18px}.bottom-tabs{position:static;top:auto;left:auto;bottom:auto;width:100%;margin:0 0 16px;transform:none}}@media(max-width:1100px){.account-menu{position:absolute;top:calc(100% + 8px);right:0;bottom:auto;left:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(340px,calc(100vw - 60px));max-height:calc(100vh - 170px);max-height:calc(100dvh - 170px);overflow-y:auto;overscroll-behavior:contain;padding:8px;transform:none}.account-menu button{width:100%}.account-menu-divider{grid-column:1 / -1;width:auto;height:1px;margin:3px 2px}.account-menu .danger-menu-item{grid-column:1 / -1}}.homework-preparation-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);margin:0;list-style:none}.homework-form{grid-template-columns:minmax(0,1fr);gap:16px}.homework-create-section{display:grid;gap:12px;padding:4px 0 16px;border-bottom:1px solid var(--color-border)}.homework-basics-section{padding-top:0}.homework-create-section-heading{display:flex;align-items:center;gap:11px}.homework-create-section-heading>div{display:grid;gap:2px}.homework-create-section-heading strong{color:var(--color-ink-strong);font-size:16px}.homework-create-section-heading small{color:var(--color-muted);font-size:12px}.homework-basics-grid{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(150px,.9fr) minmax(180px,1fr) minmax(220px,1.35fr);gap:12px;align-items:end}.homework-basic-field,.homework-basics-grid .homework-due-field{display:grid;gap:6px;min-width:0;color:var(--color-muted-strong);font-size:12px;font-weight:700}.homework-basic-field :is(input,select),.homework-basics-grid .homework-due-field>*:last-child{width:100%}.homework-source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-soft)}.homework-source-card{display:flex;align-items:center;justify-content:center;gap:9px;min-height:58px;padding:9px 12px;border:1px solid transparent;border-radius:7px;color:var(--color-muted-strong);background:transparent;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.homework-source-card:hover{color:var(--color-primary-strong);background:#ffffffad}.homework-source-card.active{border-color:var(--color-primary-border);color:var(--color-primary-strong);background:var(--color-surface);box-shadow:0 1px 4px #23354614}.homework-source-card>span{display:flex;align-items:baseline;gap:7px;min-width:0}.homework-source-card strong{font-size:14px}.homework-source-card small{color:var(--color-muted);font-size:12px;white-space:nowrap}.homework-create-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:16px;align-items:start}.homework-create-main{display:grid;gap:16px;min-width:0}.homework-source-panel{margin:0;padding:16px;border-radius:var(--radius-md);background:var(--color-surface-muted)}.homework-basket{position:sticky;top:14px;display:grid;gap:12px;padding:14px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-muted)}.homework-basket-heading,.homework-basket-heading>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.homework-basket-heading>b{padding:5px 9px;border-radius:999px;color:var(--color-primary-strong);background:var(--color-primary-soft);font-size:12px}.homework-basket-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.homework-basket-summary>div{display:grid;gap:2px;padding:8px 9px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.homework-basket-summary span,.homework-basket-meta,.homework-basket>small{color:var(--color-muted);font-size:12px}.homework-basket-summary strong{color:var(--color-ink-strong);font-size:13px}.homework-create-basket-preview{display:grid;gap:6px;padding-top:2px}.homework-create-basket-preview>span{overflow:hidden;padding:7px 9px;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-muted-strong);background:var(--color-surface);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.homework-create-basket-preview small{color:#137584;font-weight:700}.homework-basket-meta{display:flex;flex-wrap:wrap;gap:6px}.homework-basket-meta span{padding:5px 8px;border:1px solid #d4e6e9;border-radius:999px;background:#fff}.homework-basket-submit{width:100%;justify-content:center}.homework-manual-entry{display:grid;gap:10px;padding:14px;border:1px solid #dbe7eb;border-radius:12px;background:#fff}.homework-manual-entry>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.homework-manual-entry span{color:var(--color-muted);font-size:12px}.homework-upload-source,.homework-ai-builder,.homework-ai-form,.homework-ai-review-list{display:grid;gap:14px}.homework-ai-form{padding:14px;border:1px solid #dbe7eb;border-radius:12px;background:#fff}.homework-ai-form>.primary{width:fit-content}.homework-ai-added-pill{padding:5px 9px;border-radius:999px;color:#0d7280;background:#e4f4f6;font-size:12px;font-weight:700}.homework-ai-review-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:14px;border:1px solid #d8e4e8;border-radius:12px;background:#fff}.homework-ai-review-card.selected{border-color:#75bdc6;background:#f4fbfc}.homework-ai-review-card>div{display:grid;gap:9px;min-width:0}.homework-ai-review-card p{margin:0;line-height:1.65}.homework-ai-review-card summary{cursor:pointer;color:#137584;font-size:12px;font-weight:700}.homework-rubric-ai-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--color-primary-border);border-radius:10px;background:var(--color-surface-soft)}.homework-rubric-ai-bar>div,.homework-rubric-preview .row-between>div{display:grid;gap:3px}.homework-rubric-ai-bar span,.homework-rubric-preview span{color:var(--color-muted);font-size:12px}.homework-rubric-ai-bar button{flex:0 0 auto}.homework-rubric-notice{margin:0}.homework-rubric-preview{display:grid;gap:12px;padding:14px;border:1px solid #9bcbd2;border-radius:10px;background:var(--color-surface)}.homework-rubric-preview pre{max-height:320px;margin:0;padding:12px;overflow:auto;color:var(--color-ink);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;font:inherit;font-size:13px;line-height:1.65;white-space:pre-wrap}.homework-rubric-preview-block{display:grid;gap:6px}.homework-rubric-preview-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.homework-advanced-tools{padding:12px 14px;border:1px dashed #ccdce2;border-radius:12px;color:#506775;background:#fafcfd}.homework-advanced-tools summary{cursor:pointer;font-weight:700}.homework-advanced-tools>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:12px}@media(max-width:1050px){.homework-source-grid,.homework-basics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.homework-create-layout{grid-template-columns:minmax(0,1fr)}.homework-basket{position:static}}@media(max-width:640px){.homework-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.homework-basics-grid{grid-template-columns:minmax(0,1fr)}.homework-source-card{justify-content:flex-start;min-height:54px;padding:8px}.homework-source-card>span{display:grid;gap:1px}.homework-source-panel{padding:12px}.homework-manual-entry>div,.homework-advanced-tools>div,.homework-rubric-ai-bar{align-items:stretch;flex-direction:column}.homework-rubric-ai-bar button{width:100%;justify-content:center}}.homework-preparation-steps li{display:flex;align-items:center;gap:8px;justify-content:center;min-height:44px;padding:8px 10px;border-radius:6px;background:transparent;color:var(--color-muted);font-size:13px}.homework-preparation-steps li[aria-current=step]{background:var(--color-surface);color:var(--color-primary-strong);box-shadow:0 1px 4px #23354614;font-weight:600}.homework-preparation-publish{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:20px}.homework-preparation-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:14px}.homework-preparation-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.homework-preparation-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0 16px;padding:12px;border:1px solid var(--color-primary-border);border-radius:8px;background:var(--color-surface-soft)}.homework-preparation-actions .field-hint{margin:0}@media(max-width:640px){.homework-preparation-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.homework-preparation-steps li{gap:5px;padding:7px 4px;font-size:12px}.homework-preparation-header-actions{width:100%}.homework-preparation-header-actions>button{flex:1 1 160px}.homework-preparation-actions>button{width:100%}}.activity-entry-wall-question-card .activity-entry-wall-question-head strong{display:block;min-width:0;max-width:100%;font-size:clamp(26px,2.4vw,38px);line-height:1.5;font-weight:600;white-space:normal;overflow-wrap:anywhere}.activity-entry-wall-question-card .activity-entry-wall-question-head strong .latex-text{display:block;min-width:0;max-width:100%;white-space:normal}.activity-entry-wall-question-card .activity-entry-wall-question-head strong .katex,.activity-entry-wall-question-card .activity-entry-wall-question-head strong .katex-display{overflow:visible;white-space:normal}.activity-entry-wall-question-card .activity-entry-wall-question-head strong .katex:has(.mord.text),.activity-entry-wall-question-card .activity-entry-wall-question-head strong .katex .base:has(.mord.text){display:inline;white-space:normal}.activity-entry-wall-question-card .activity-entry-wall-question-head strong .katex .mord.text{white-space:normal;overflow-wrap:anywhere}.activity-entry-wall-question-card .activity-entry-wall-option small{display:block;font-size:clamp(21px,1.6vw,28px);font-weight:500;line-height:1.45;white-space:normal;overflow:visible;overflow-wrap:anywhere;text-overflow:clip}.activity-entry-wall-question-card .activity-entry-wall-option small .latex-text{display:block;min-width:0;white-space:normal}.activity-entry-wall-question-card .activity-entry-wall-option small .katex,.activity-entry-wall-question-card .activity-entry-wall-option small .katex-display{overflow:visible;white-space:normal}.activity-entry-wall-question-card .activity-entry-wall-option small .katex:has(.mord.text){display:inline}.activity-entry-wall-question-card .activity-entry-wall-option small .katex .base:has(.mord.text){display:inline;white-space:normal}.activity-entry-wall-question-card .activity-entry-wall-option small .katex .mord.text{white-space:normal;overflow-wrap:anywhere}.activity-entry-wall-question-card .activity-entry-wall-option strong{font-size:clamp(22px,1.7vw,30px);font-variant-numeric:tabular-nums;font-weight:600}.activity-entry-wall-question-card .activity-entry-wall-option-track{height:18px}@media(max-width:680px){.activity-entry-wall-question-card .activity-entry-wall-question-head strong{font-size:24px}.activity-entry-wall-question-card .activity-entry-wall-option small{font-size:19px}.activity-entry-wall-question-card .activity-entry-wall-option strong{font-size:22px}}.classroom-personal-results{display:grid;gap:16px;min-width:0}.classroom-personal-answer{display:grid;gap:12px;padding:clamp(16px,3vw,28px);background:#fff;border:1px solid var(--color-border);border-radius:12px;min-width:0;font-size:clamp(18px,1.4vw,23px);line-height:1.65}.classroom-personal-answer p{margin:0}.classroom-personal-answer small{font-size:14px;color:var(--color-muted)}.classroom-personal-answer-image{max-width:100%;max-height:700px;object-fit:contain}.homework-selected-list{display:grid;gap:12px;margin-top:14px}.homework-selected-card{display:grid;gap:10px;padding:14px;border:1px solid var(--color-border);border-radius:10px;background:#fff;min-width:0;overflow-wrap:anywhere}.homework-selected-card img{max-width:100%;max-height:300px;object-fit:contain}.homework-selected-actions{display:flex;flex-wrap:wrap;gap:8px}.homework-selected-actions button{min-height:44px}.homework-add-button[aria-pressed=true]{background:#def4ed;border-color:#27846c;color:#17634f}.homework-basket-space{padding-bottom:110px}.homework-basket-bar{position:fixed;z-index:80;bottom:24px;left:50%;transform:translate(-50%);width:min(720px,calc(100% - 32px));display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);box-shadow:0 4px 24px #17384926}.homework-basket-bar button{min-height:44px}.homework-basket-preview{position:fixed;z-index:81;bottom:106px;left:50%;transform:translate(-50%);width:min(720px,calc(100% - 32px));max-height:60dvh;overflow-y:auto;padding:16px;background:#f5f9fb;border:1px solid var(--color-border);border-radius:14px;box-shadow:0 4px 24px #17384926}@media(max-width:768px){.homework-basket-bar{bottom:calc(86px + env(safe-area-inset-bottom));gap:6px;padding:10px;font-size:13px}.homework-basket-bar button{padding:8px 10px;font-size:13px}.homework-basket-preview{bottom:calc(162px + env(safe-area-inset-bottom));max-height:55dvh}.homework-basket-space{padding-bottom:180px}}.homework-score-editor{margin:14px 0;padding:14px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-panel-faint)}.homework-score-row{display:flex!important;align-items:center;gap:16px;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--color-border)}.homework-score-row>span:first-child{display:grid;gap:6px;min-width:0;overflow-wrap:anywhere}.homework-score-input{display:flex;align-items:center;gap:6px;flex-shrink:0}.homework-score-input input{width:90px;min-height:44px}@media(max-width:600px){.homework-score-row{flex-wrap:wrap}.homework-score-row>span:first-child{width:100%}}.paper-library-edit-form{display:grid;gap:14px;padding:16px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface)}.paper-library-edit-form label{display:grid;gap:8px;min-width:0}.paper-library-edit-form input,.paper-library-edit-form textarea{width:100%;min-width:0;box-sizing:border-box}.point-evaluation-page .points-page-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:16px 18px;background:#eaf8fb;border:1px solid #b9e1e8;border-radius:12px;box-shadow:0 2px 8px #1273840a}.points-page-heading h1{margin:3px 0 0;font-size:27px;letter-spacing:-.02em}.points-page-heading>div>span{color:#4b6f7a;font-size:12px;font-weight:700}.points-heading-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;min-width:0;padding-left:20px;border-left:1px solid #b9e1e8}.points-heading-actions>label{display:flex;align-items:center;gap:8px;min-width:0;color:var(--color-muted);font-size:13px;font-weight:700;white-space:nowrap}.points-heading-actions select{width:178px;min-width:0;height:42px}.points-heading-actions .points-overview-details{position:relative;padding:0;border:0;border-radius:0;background:transparent}.points-heading-actions .points-overview-details summary{display:flex;align-items:center;min-height:42px;padding:0 12px;color:var(--color-ink-soft);background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;cursor:pointer;font-size:13px;font-weight:700;list-style:none}.points-heading-actions .points-overview-details summary::-webkit-details-marker{display:none}.points-heading-actions .points-overview-details summary:before{content:"积分概览";margin-right:8px;color:var(--color-primary-strong)}.points-heading-actions .points-overview-details summary span{margin:0 4px;color:var(--color-border-strong)}.points-heading-actions .points-overview-details[open]{width:min(680px,100%)}.points-heading-actions .points-overview-details[open] summary{margin-bottom:10px}.points-heading-actions .points-overview-details .student-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface)}.points-heading-actions .points-overview-details .stat{min-width:0;padding:8px;background:var(--color-surface-muted);border-radius:7px}.points-heading-actions .points-overview-details .point-component-strip{margin-top:10px}.points-view-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0;background:transparent;border:0;border-radius:0}.points-view-tab{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:54px;padding:10px 14px;color:var(--color-ink-soft);background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 1px 2px #1a2f3e06;font-weight:800;cursor:pointer;transition:transform .18s ease-out,border-color .18s ease-out,box-shadow .18s ease-out,background .18s ease-out}.points-view-tab:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--color-primary) 34%,var(--color-border));box-shadow:0 5px 12px #1a2f3e14}.points-view-tab-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;color:var(--color-primary-strong);background:#e8f3f5;border-radius:8px}.points-view-tab-records .points-view-tab-icon{color:#41627a;background:#edf2f7}.points-view-tab-auto .points-view-tab-icon{color:#9a6214;background:#fff3da}.points-view-tab-rules .points-view-tab-icon{color:#665070;background:#f1edf5}.points-view-tab[aria-pressed=true]{color:var(--color-primary-strong);background:#f2fafb;border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border));box-shadow:inset 0 0 0 1px #1273840d,0 5px 12px #12738414}.points-view-tab[aria-pressed=true] .points-view-tab-icon{color:var(--color-on-primary);background:var(--color-primary)}@media(prefers-reduced-motion:reduce){.points-view-tab{transition:none}.points-view-tab:hover{transform:none}}.points-workspace{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);align-items:start}.points-workspace-records{grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr)}.point-evaluation-page .panel,.points-workspace>*,.point-evaluation-page form,.point-evaluation-page label{min-width:0}.point-evaluation-page input,.point-evaluation-page select{width:100%;min-width:0;max-width:100%}.point-evaluation-page button{overflow-wrap:normal}.point-quick-composer{display:grid;gap:14px;padding:0 0 16px;background:transparent;border:0;border-bottom:1px solid var(--color-border);border-radius:0}.point-evaluation-page .point-quick-composer .points-filter-row{grid-template-columns:minmax(0,1fr) auto;margin:0}.point-quick-controls{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(220px,1fr) auto auto;gap:12px;align-items:end}.point-quick-controls label{display:grid;gap:6px;color:var(--color-ink-soft);font-size:12px;font-weight:700}.point-quick-controls button{min-height:42px;white-space:nowrap}.point-quick-controls .primary{min-width:142px}.points-selection-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--color-border);color:var(--color-muted);font-size:13px}.point-evaluation-page .points-student-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.point-evaluation-page .point-student-card{display:flex;align-items:center;gap:10px;min-width:0;min-height:76px;padding:10px;cursor:pointer}.point-evaluation-page .point-student-card .attendance-avatar{width:34px;height:34px;flex:0 0 34px;font-size:12px}.point-student-info{display:grid;gap:4px;min-width:0;flex:1}.point-student-info strong{font-size:14px}.point-evaluation-page .point-student-info>span{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.point-evaluation-page .point-student-value{flex-shrink:0;display:grid;gap:4px;font-size:12px;color:var(--color-primary-strong);text-align:right}.point-student-value small{font-size:11px;color:var(--color-muted)}.point-page-nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;color:var(--color-muted);font-size:13px}.point-page-nav>div{display:flex;gap:8px}.point-evaluation-page .point-rule-form,.point-evaluation-page .point-rule-edit-form{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) 90px minmax(0,1.3fr) auto;gap:10px;align-items:center}.point-rule-create{margin-bottom:16px}.point-rule-create>summary{width:fit-content;color:var(--color-primary-strong);cursor:pointer;font-weight:700;padding:8px 0}.point-rule-create[open]>summary{margin-bottom:10px}.point-evaluation-page .point-rule-form button,.point-evaluation-page .point-rule-edit-form button{white-space:nowrap}.point-evaluation-page .point-rule-row{grid-template-columns:minmax(0,1fr) 56px auto;gap:12px}.point-evaluation-page .point-rule-row.editing{grid-template-columns:minmax(0,1fr)}.point-evaluation-page .point-rule-row>div:first-child{overflow-wrap:anywhere}.point-evaluation-page .point-rule-row .point-rule-actions,.point-evaluation-page .point-rule-row .point-rule-edit-actions{display:flex;gap:8px}.point-evaluation-page .point-record-row{grid-template-columns:minmax(0,1fr) auto}.point-evaluation-page .point-record-row p{overflow-wrap:anywhere}.point-evaluation-page .point-auto-form{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.point-auto-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:0;margin:0;padding:16px;border:1px solid var(--color-border);border-radius:10px}.point-auto-group legend{padding:0 6px;font-size:14px;font-weight:700}.point-evaluation-page .point-auto-form>button{justify-self:end}@media(max-width:1100px){.point-evaluation-page .points-page-heading{grid-template-columns:minmax(0,1fr);gap:14px}.points-heading-actions{justify-content:flex-start;padding:14px 0 0;border-top:1px solid #b9e1e8;border-left:0}.point-quick-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.point-quick-controls button{justify-self:start}.point-evaluation-page .points-student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.points-workspace-records{grid-template-columns:minmax(0,1fr)}.point-evaluation-page .point-rule-form,.point-evaluation-page .point-rule-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}.point-auto-group{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.point-evaluation-page .points-page-heading{padding:14px}.points-heading-actions{width:100%;justify-content:stretch}.points-heading-actions>label,.points-heading-actions .points-overview-details{width:100%}.points-heading-actions select{flex:1;width:auto}.points-heading-actions .points-overview-details summary{justify-content:center}.points-heading-actions .points-overview-details .student-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.points-view-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.points-view-tab{min-height:48px;padding:8px 10px;font-size:13px}.point-evaluation-page .points-student-grid{grid-template-columns:minmax(0,1fr)}.point-evaluation-page .point-student-card{min-height:64px}.point-quick-composer{padding:12px}.point-evaluation-page .point-quick-composer .points-filter-row,.point-quick-controls{grid-template-columns:minmax(0,1fr)}.point-quick-controls button{width:100%;justify-self:stretch}.point-evaluation-page .point-rule-form,.point-evaluation-page .point-rule-edit-form{grid-template-columns:minmax(0,1fr)}.point-evaluation-page .point-rule-row{grid-template-columns:minmax(0,1fr) auto}.point-evaluation-page .point-rule-row .point-rule-actions{grid-column:1 / -1}.point-auto-group{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.point-evaluation-page .point-auto-form>button{width:100%}}.homework-student-question{margin-top:20px;padding:20px;min-width:0;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.homework-question-caption{color:var(--color-muted);font-size:13px}.homework-student-question .homework-submission-row{margin-top:16px;padding:18px 0 0;border:0;border-top:1px solid var(--color-border);border-radius:0;background:transparent}.homework-submission-row.expanded{background:var(--color-surface)}.homework-submission-row .homework-submission-detail{padding:18px 0 0;gap:20px;border:0;border-top:1px solid var(--color-border);border-radius:0;background:transparent}.homework-submission-row .homework-submission-score{border:0;background:transparent;padding:4px 8px;font-size:21px;color:var(--color-ink-strong)}.homework-card.student-homework-detail{padding:0;border:0;border-radius:0;background:transparent}.student-homework-detail .student-homework-question{gap:16px;padding:20px;border-radius:12px;background:var(--color-surface)}.student-homework-question-heading{flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--color-border)}.student-homework-question-heading>strong{font-size:18px}.student-homework-question-meta{display:flex!important;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:12px!important}.student-homework-question-meta .student-homework-score{color:var(--color-ink-strong);font-size:22px;white-space:nowrap}.student-homework-question .homework-submit-box{gap:14px}.student-homework-result{padding-top:18px;border-top:1px solid var(--color-border)}.student-homework-question h4{margin:0 0 10px;font-size:15px}.student-question-source>summary{padding:6px 0;color:var(--color-primary-strong);font-size:13px;cursor:pointer;width:fit-content}.student-question-images{display:grid;gap:12px;margin-top:10px;min-width:0}.student-question-images a{display:block}.student-question-images img{display:block;max-width:100%;max-height:440px;height:auto;object-fit:contain;border-radius:6px}.student-homework-question .homework-review-point-meta>b{color:#b94430;font-size:12px}.student-homework-question .homework-review-point-meta>span{color:var(--color-muted)}.student-homework-question .homework-answer-thumbnails span{color:var(--color-on-primary);font-size:11px}.student-homework-question .homework-review-reason{color:var(--color-ink)}.student-homework-question .homework-review-reason .latex-text{font-size:inherit;color:inherit}@media(max-width:600px){.student-homework-detail .student-homework-question{padding:12px}.student-homework-question-meta{gap:8px!important}.student-homework-question-meta .student-homework-score{font-size:19px}}:is(.homework-submission-row,.student-homework-question) .homework-answer-review{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr);gap:28px;align-items:start;min-width:0}:is(.homework-submission-row,.student-homework-question) .homework-answer-review.with-images{grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr)}:is(.homework-submission-row,.student-homework-question) .homework-answer-content{display:grid;gap:12px;min-width:0}:is(.homework-submission-row,.student-homework-question) .homework-image-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px}:is(.homework-submission-row,.student-homework-question) .homework-image-modes{display:flex;gap:2px;padding:3px;border-radius:8px;background:#eef3f5}.homework-image-modes button{padding:7px 12px;min-height:36px;border:0;border-radius:6px;background:transparent;color:var(--color-muted);cursor:pointer}.homework-image-modes button[aria-pressed=true]{background:var(--color-surface);color:var(--color-primary-strong);box-shadow:0 1px 4px #163b4912}.homework-image-modes button:disabled{opacity:.45;cursor:default}.homework-image-toolbar>a{color:var(--color-primary-strong);white-space:nowrap}.homework-answer-image-stage{display:flex;align-items:center;justify-content:center;min-width:0;background:#f3f6f7;border-radius:8px;overflow:hidden}.homework-answer-image-stage>img{display:block;width:100%;height:480px;object-fit:contain}:is(.homework-submission-row,.student-homework-question) .homework-answer-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:3px}.homework-answer-thumbnails button{position:relative;flex:0 0 56px;height:64px;padding:3px;border:2px solid transparent;border-radius:6px;background:#eef3f5;cursor:pointer}.homework-answer-thumbnails button[aria-pressed=true]{border-color:var(--color-primary)}.homework-answer-thumbnails img{width:100%;height:100%;object-fit:cover;border-radius:3px}.homework-answer-thumbnails span{position:absolute;right:2px;bottom:2px;padding:0 4px;border-radius:3px;color:var(--color-on-primary);background:#203c4bcc;font-size:11px}:is(.homework-submission-row,.student-homework-question) .homework-answer-text{display:block;overflow-wrap:anywhere;line-height:1.8}.homework-answer-text h4{margin-bottom:10px}:is(.homework-submission-row,.student-homework-question) .homework-review-comments{display:block;min-width:0;padding-left:24px;border-left:1px solid #e7edef}.homework-review-comments>h4{margin:6px 0 18px}.homework-review-point{padding:0 0 18px}.homework-review-point+.homework-review-point{padding-top:18px;border-top:1px solid #e7edef}:is(.homework-submission-row,.student-homework-question) .homework-review-point-title{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:10px}:is(.homework-submission-row,.student-homework-question) .homework-review-point-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px;color:var(--color-muted);font-size:13px}.homework-review-point-meta>b{padding:3px 8px;border-radius:5px;background:#fff1ed;color:#b94430;font-size:12px}:is(.homework-submission-row,.student-homework-question) .homework-review-reason{display:block;font-size:15px;line-height:1.85;overflow-wrap:anywhere}.homework-review-main .homework-answer-review,.homework-review-main .homework-answer-review.with-images{grid-template-columns:minmax(0,1fr);gap:18px}.homework-review-main .homework-review-comments{padding:18px 0 0;border-top:1px solid #e7edef;border-left:0}.homework-review-main .homework-answer-text .latex-text{display:block;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;overflow-wrap:normal;word-break:normal}.homework-review-main .homework-answer-text .katex,.homework-review-main .homework-answer-text .katex *{overflow-wrap:normal;word-break:normal}.homework-review-main .homework-answer-text .latex-text>.katex{display:inline-block;width:max-content;min-width:max-content;max-width:none;overflow:visible}.homework-review-main .homework-answer-text .katex-display{width:max-content;min-width:100%}.homework-submission-pagination{margin-top:12px}.homework-submission-row .homework-review-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;border-top:1px solid var(--color-border);padding-top:16px}.homework-review-score-editor{flex:1 1 220px;min-width:0}.homework-review-score-editor>summary{width:fit-content;padding:9px 0;color:var(--color-primary-strong);font-weight:700;cursor:pointer}.homework-submission-row .homework-score-fields{display:grid;grid-template-columns:100px minmax(100px,1fr) auto;gap:10px;align-items:end;padding-top:12px}.homework-score-fields>.field-hint{grid-column:1 / -1;margin:0}.homework-score-fields label{display:grid;gap:6px;min-width:0;font-size:12px;color:var(--color-muted)}.homework-score-fields input,.homework-score-fields textarea{width:100%;min-width:0}.homework-score-fields textarea{min-height:44px;resize:vertical}@media(max-width:900px){:is(.homework-submission-row,.student-homework-question) .homework-answer-review,:is(.homework-submission-row,.student-homework-question) .homework-answer-review.with-images{grid-template-columns:minmax(0,1fr);gap:22px}:is(.homework-submission-row,.student-homework-question) .homework-review-comments{padding:18px 0 0;border-left:0;border-top:1px solid #e7edef}.homework-answer-image-stage>img{height:auto;max-height:520px}}@media(max-width:600px){.homework-student-question,.homework-submission-row{padding:12px}.homework-submission-row .homework-submission-actions{min-width:0;flex-wrap:wrap;justify-content:flex-start}.homework-submission-row .homework-submission-score{padding-left:0}.homework-submission-row .homework-score-fields{grid-template-columns:minmax(0,1fr)}.homework-submission-row .homework-review-footer{gap:8px}}.homework-additions{margin-top:16px;min-width:0}.homework-addition-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0}.homework-addition-row{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:12px;min-width:0;margin:14px 0;padding:14px;border:1px solid var(--border, #d5e2e8);border-radius:10px}.homework-addition-row label{display:grid;gap:6px;min-width:0}.homework-addition-row input,.homework-addition-row textarea,.homework-addition-bank input{width:100%;min-width:0;box-sizing:border-box}.homework-addition-wide{grid-column:1 / -1}.homework-addition-bank-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border, #d5e2e8)}.homework-addition-bank-row>div{flex:1;min-width:0;overflow-wrap:anywhere;max-height:120px;overflow:auto}.homework-addition-bank-row>button{flex-shrink:0}@media(max-width:600px){.homework-addition-row{grid-template-columns:minmax(0,1fr);padding:10px}}.homework-class-report{display:grid;gap:20px;width:min(1180px,100%);margin:0 auto;padding:clamp(20px,4vw,44px) 0 56px}.homework-report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:clamp(22px,4vw,38px);color:#f6fcfd;background:#124d5b;border-radius:14px;box-shadow:0 18px 40px #13435033}.homework-report-header>div:first-child{min-width:0}.homework-report-kicker{display:inline-flex;align-items:center;gap:7px;color:#bce3e8;font-size:13px;font-weight:800}.homework-report-header h1{max-width:23ch;margin:10px 0 8px;color:var(--color-on-primary);font-size:30px;line-height:1.22;text-wrap:balance;overflow-wrap:anywhere}.homework-report-header p{margin:0;color:#d9eff2;font-size:14px;line-height:1.6}.homework-report-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex:0 0 auto}.homework-report-actions .ghost-button{color:#e5f5f6;background:#ffffff14;border-color:#ffffff40}.homework-report-actions .ghost-button:hover,.homework-report-actions .ghost-button:focus-visible{color:var(--color-on-primary);background:#ffffff2e}.homework-report-actions .primary{color:#123e4a;background:#d9f3f5}.homework-report-actions .primary:hover,.homework-report-actions .primary:focus-visible{background:var(--color-surface)}.homework-report-status{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid var(--color-primary-border);border-radius:10px;background:var(--color-primary-soft)}.homework-report-status span{display:inline-flex;align-items:center;flex:0 0 auto;min-height:25px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:900}.homework-report-status .complete{color:#17633e;background:#dff5e6}.homework-report-status .live{color:#125968;background:#d9eef2}.homework-report-status p{margin:0;color:#254c57;font-size:14px;line-height:1.55}.homework-report-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--color-border);border-radius:12px;overflow:hidden;background:var(--color-surface);box-shadow:0 8px 22px #1f3e4c0f}.homework-report-overview article{display:grid;gap:6px;min-width:0;padding:20px 22px;border-right:1px solid var(--color-border)}.homework-report-overview article:last-child{border-right:0}.homework-report-overview span{color:var(--color-muted);font-size:13px;font-weight:750}.homework-report-overview strong{color:var(--color-ink-strong);font-size:30px;line-height:1.1;letter-spacing:-.03em}.homework-report-overview small{color:var(--color-muted);font-size:12px;line-height:1.5}.homework-report-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.72fr);gap:20px;align-items:start}.homework-report-aside{display:grid;gap:20px}.homework-report-section{min-width:0;padding:clamp(18px,3vw,26px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 8px 22px #1f3e4c0d}.homework-report-section-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.homework-report-section-heading>div{min-width:0}.homework-report-section-heading h2{margin:0 0 5px;color:var(--color-ink-strong);font-size:19px;line-height:1.3}.homework-report-section-heading p{max-width:65ch;margin:0;color:var(--color-muted);font-size:13px;line-height:1.6}.homework-report-section-heading>span{flex:0 0 auto;padding:5px 8px;color:var(--color-primary-strong);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:6px;font-size:12px;font-weight:800;white-space:nowrap}.homework-report-question-list{display:grid;gap:14px}.homework-report-question-list article{display:grid;gap:8px;padding:13px 14px;border:1px solid #e2eaed;border-radius:9px;background:var(--color-surface-muted)}.homework-report-question-list article.weak{background:#fff8ed;border-color:#ecd5a2}.homework-report-question-title{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.homework-report-question-title strong{color:var(--color-ink-strong);font-size:14px}.homework-report-question-title span{overflow:hidden;color:var(--color-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.homework-report-question-title b{color:var(--color-primary-strong);font-size:14px}.weak .homework-report-question-title b{color:#a25a00}.homework-report-progress{height:8px;overflow:hidden;background:#dce8eb;border-radius:999px}.homework-report-progress i{display:block;height:100%;background:var(--color-primary);border-radius:inherit}.weak .homework-report-progress{background:#f1e1bb}.weak .homework-report-progress i{background:#d3820c}.homework-report-question-list small{color:var(--color-muted);font-size:12px}.homework-report-facts{display:grid;gap:0;margin:0}.homework-report-facts div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--color-border)}.homework-report-facts div:last-child{padding-bottom:0;border-bottom:0}.homework-report-facts dt{color:var(--color-muted);font-size:13px}.homework-report-facts dd{margin:0;color:var(--color-ink-strong);font-size:14px;font-weight:800}.homework-report-advice{display:grid;gap:12px;margin:0;padding:0;list-style:none}.homework-report-advice li{position:relative;padding-left:17px;color:#314b55;font-size:14px;line-height:1.7}.homework-report-advice li:before{content:"";position:absolute;top:.7em;left:0;width:6px;height:6px;background:var(--color-primary);border-radius:50%}.homework-report-errors{display:grid;gap:0}.homework-report-errors article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;padding:14px 0;border-top:1px solid var(--color-border)}.homework-report-errors article:first-child{padding-top:0;border-top:0}.homework-report-errors article:last-child{padding-bottom:0}.homework-report-errors>article>span{display:inline-grid;place-items:center;min-width:44px;height:27px;padding:0 7px;color:#9d5600;background:#fff1d6;border-radius:6px;font-size:12px;font-weight:900}.homework-report-errors strong{color:var(--color-ink-strong);font-size:14px;line-height:1.45}.homework-report-errors p{margin:4px 0 0;color:var(--color-muted-strong);font-size:13px;line-height:1.65;overflow-wrap:anywhere}.homework-report-students{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.homework-report-students article{display:flex;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.homework-report-students article>div{display:grid;gap:3px;min-width:0}.homework-report-students strong{overflow:hidden;color:var(--color-ink-strong);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.homework-report-students span{overflow:hidden;color:var(--color-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.homework-report-students b{flex:0 0 auto;padding:4px 7px;border-radius:5px;font-size:12px}.homework-report-students .missing{color:#a64d43;background:var(--color-danger-pale)}.homework-report-students .needs-help{color:#9d5600;background:#fff1d6}.homework-report-empty{margin:0;color:var(--color-muted);font-size:14px;line-height:1.65}.homework-report-loading{display:grid;place-items:center;gap:10px;min-height:260px;color:var(--color-primary-strong);background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;font-weight:800}.homework-report-entry{display:inline-flex;align-items:center;gap:5px}@media(max-width:900px){.homework-report-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.homework-report-overview article:nth-child(2){border-right:0}.homework-report-overview article:nth-child(-n+2){border-bottom:1px solid var(--color-border)}.homework-report-layout{grid-template-columns:minmax(0,1fr)}.homework-report-aside,.homework-report-students{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.homework-class-report{gap:14px;padding-top:0}.homework-report-header{display:grid;gap:18px;border-radius:0 0 12px 12px;margin:0 -18px;padding:24px 18px}.homework-report-header h1{font-size:25px}.homework-report-actions{justify-content:flex-start}.homework-report-overview{grid-template-columns:1fr 1fr}.homework-report-overview article{padding:16px}.homework-report-overview strong{font-size:25px}.homework-report-status{align-items:flex-start}.homework-report-aside,.homework-report-students{grid-template-columns:minmax(0,1fr)}.homework-report-section{padding:16px}.homework-report-section-heading{gap:10px}.homework-report-question-title{grid-template-columns:auto minmax(0,1fr)}.homework-report-question-title b{grid-column:1 / -1}}@media print{body{background:var(--color-surface)}.app-shell{width:100%;margin:0;padding:0}.homework-class-report{width:100%;padding:0;gap:14px}.homework-report-header{color:var(--color-ink-strong);background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;box-shadow:none}.homework-report-header h1{color:var(--color-ink-strong)}.homework-report-header p,.homework-report-kicker{color:var(--color-muted)}.no-print{display:none!important}.homework-report-overview,.homework-report-section{box-shadow:none;break-inside:avoid}.homework-report-layout{grid-template-columns:minmax(0,1.55fr) minmax(260px,.72fr)}.homework-report-students{grid-template-columns:repeat(3,minmax(0,1fr))}}.learning-overview{display:grid;gap:20px;padding:8px 0 28px}.learning-overview-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:clamp(24px,4vw,38px);color:var(--color-on-primary);background:#123d4b;border-radius:16px;box-shadow:0 18px 38px #0e3a4626}.learning-overview-header>div:first-child{min-width:0}.learning-overview-kicker{display:inline-flex;align-items:center;gap:7px;color:#bce5e8;font-size:13px;font-weight:850}.learning-overview h1{margin:8px 0 7px;color:inherit;font-size:clamp(30px,4vw,42px);line-height:1.08;letter-spacing:-.035em;text-wrap:balance}.learning-overview-header p{max-width:56ch;margin:0;color:#d1e9ec;font-size:14px;line-height:1.65}.learning-header-tools{display:flex;flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:9px;white-space:nowrap}.learning-period-switch{display:inline-flex;padding:4px;background:#ffffff21;border:1px solid rgba(255,255,255,.22);border-radius:9px}.learning-period-switch button{min-height:44px;padding:0 13px;color:#e3f2f4;background:transparent;border:0;border-radius:6px;font-size:13px;font-weight:800}.learning-period-switch button.active{color:#104752;background:var(--color-surface);box-shadow:0 2px 7px #0320281f}.learning-overview-header .ghost-button{color:#edf8f9;background:#ffffff1a;border-color:#ffffff42}.learning-header-tools .learning-intervention-entry{color:#214938;background:#e5f2dc;transition:background-color .16s ease,color .16s ease}.learning-header-tools .learning-intervention-entry:hover:not(:disabled){color:#163c2d;background:#f2fae9}.learning-header-tools .learning-intervention-entry:focus-visible{outline:2px solid #f2fae9;outline-offset:2px}@media(min-width:761px)and (max-width:1120px){.learning-overview-header{display:grid}.learning-header-tools{flex-wrap:wrap;justify-content:flex-start}}.learning-filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;min-height:54px;padding:10px 14px;color:var(--color-muted);background:#f7fbfc;border:1px solid var(--color-primary-border);border-radius:10px;font-size:13px}.learning-filter-row label{display:inline-flex;align-items:center;gap:9px;color:var(--color-ink-strong);font-weight:800}.learning-filter-row select{min-height:35px;max-width:280px;padding:0 32px 0 10px;color:var(--color-ink-strong);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:7px}.learning-glance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:var(--shadow-card)}.learning-glance-grid article{display:grid;gap:7px;min-width:0;padding:21px 23px;border-right:1px solid var(--color-border)}.learning-glance-grid article:last-child{border-right:0}.learning-glance-grid span{color:var(--color-muted);font-size:13px;font-weight:800}.learning-glance-grid strong{color:var(--color-ink-strong);font-size:31px;line-height:1;letter-spacing:-.04em}.learning-glance-grid small{color:var(--color-muted);font-size:12px;line-height:1.45}.learning-glance-grid .attention{background:#fff8ef}.learning-glance-grid .attention strong{color:#bd690b}.learning-overview-main-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.92fr) minmax(260px,.65fr);gap:18px;align-items:stretch}.learning-surface{min-width:0;padding:clamp(18px,3vw,25px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:0 8px 22px #2335460b}.learning-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.learning-section-heading h2{margin:0 0 5px;color:var(--color-ink-strong);font-size:18px;line-height:1.3;text-wrap:balance}.learning-section-heading p{max-width:44ch;margin:0;color:var(--color-muted);font-size:13px;line-height:1.55}.learning-section-heading>span{flex:0 0 auto;padding:5px 8px;color:#315766;background:#eef5f6;border-radius:6px;font-size:12px;font-weight:800}.learning-distribution-body{display:flex;align-items:center;gap:20px;min-height:188px}.learning-donut{flex:0 0 auto;display:grid;place-items:center;width:172px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--color-primary) 0 var(--strong),var(--color-chart-indigo) var(--strong) var(--middle),#db6b5c var(--middle) var(--attention),#cbd6db var(--attention) 100%)}.learning-donut>div{display:grid;place-items:center;width:122px;aspect-ratio:1;background:var(--color-surface);border-radius:50%}.learning-donut b{color:var(--color-ink-strong);font-size:32px;letter-spacing:-.04em}.learning-donut span{color:var(--color-muted);font-size:12px;font-weight:700}.learning-distribution-legend{display:grid;gap:11px;flex:1;min-width:0}.learning-distribution-legend div{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;gap:8px;align-items:center;color:var(--color-muted);font-size:13px}.learning-distribution-legend i{width:9px;height:9px;border-radius:50%}.learning-distribution-legend i.teal{background:var(--color-primary)}.learning-distribution-legend i.indigo{background:var(--color-chart-indigo)}.learning-distribution-legend i.coral{background:#db6b5c}.learning-distribution-legend i.gray{background:#cbd6db}.learning-distribution-legend b{color:var(--color-ink-strong);font-size:13px}.learning-distribution-legend small{color:var(--color-muted)}.learning-trend-surface{display:grid;grid-template-rows:auto minmax(130px,1fr) auto}.learning-sparkline{width:100%;min-height:150px;overflow:visible}.learning-chart-empty{display:grid;place-items:center;min-height:150px;color:var(--color-muted);font-size:13px;background:var(--color-surface-muted);border-radius:10px}.learning-trend-caption{display:flex;justify-content:space-between;gap:10px;margin-top:5px;color:var(--color-muted);font-size:12px}.learning-insight-rail{display:grid;align-content:start;gap:15px;padding:22px;color:#173642;background:#e6f3f6;border:1px solid #c6e1e6;border-radius:14px}.learning-insight-title{display:flex;gap:10px;align-items:flex-start;color:var(--color-primary-strong)}.learning-insight-title h2{margin:0 0 4px;color:#123f4b;font-size:18px}.learning-insight-title p{margin:0;color:#48717c;font-size:12px;line-height:1.5}.learning-insight-rail article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px}.learning-insight-rail article>b{display:grid;place-items:center;width:27px;height:27px;color:var(--color-on-primary);background:var(--color-primary);border-radius:50%;font-size:13px}.learning-insight-rail strong{color:#173642;font-size:13px;line-height:1.45}.learning-insight-rail article p{margin:4px 0 0;color:#426872;font-size:12px;line-height:1.6}.learning-insight-rail .primary,.student-next-step .primary{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:43px;margin-top:3px;color:var(--color-on-primary);background:var(--color-primary);border:1px solid var(--color-primary);border-radius:8px;font-weight:850}.learning-empty-copy{margin:0;color:var(--color-muted);font-size:13px;line-height:1.65}.learning-overview-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.learning-attention-list,.learning-mastery-list{display:grid;gap:0}.learning-attention-list article{display:grid;grid-template-columns:29px minmax(0,1fr) auto;gap:11px;align-items:center;padding:13px 0;border-top:1px solid var(--color-border)}.learning-attention-list article:first-child,.learning-mastery-list article:first-child{border-top:0;padding-top:0}.learning-attention-list article>b{display:grid;place-items:center;width:26px;height:26px;color:#b6493f;background:var(--color-danger-pale);border-radius:50%;font-size:12px}.learning-attention-list strong{display:block;color:var(--color-ink-strong);font-size:14px}.learning-attention-list span{display:block;margin-top:3px;overflow:hidden;color:var(--color-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.learning-attention-list em,.learning-attention-list small{color:#b45d16;font-size:12px;font-style:normal;font-weight:800}.learning-attention-list small{grid-column:2 / -1;margin-top:-6px;color:var(--color-muted);font-weight:650}.learning-mastery-list article{display:grid;grid-template-columns:minmax(120px,1fr) minmax(70px,1fr) auto;gap:10px;align-items:center;padding:14px 0;border-top:1px solid var(--color-border)}.learning-mastery-list article>div:first-child{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:7px}.learning-mastery-list article>div:first-child b{grid-row:span 2;display:grid;place-items:center;width:23px;height:23px;color:#415d69;background:var(--color-surface-soft);border-radius:50%;font-size:11px}.learning-mastery-list strong{overflow:hidden;color:var(--color-ink-strong);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.learning-mastery-list span{overflow:hidden;color:var(--color-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.learning-mastery-track{height:8px;overflow:hidden;background:#e1eaed;border-radius:99px}.learning-mastery-track i{display:block;height:100%;background:#f3a447;border-radius:inherit}.learning-mastery-list em{color:#9a5b13;font-size:12px;font-style:normal;font-weight:850}.coach-trace-feed{display:grid;gap:14px;padding:clamp(18px,3vw,25px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:0 8px 22px #2335460b}.coach-trace-card{display:grid;gap:13px;padding:17px;background:linear-gradient(145deg,#fbfdfd,#f5fafb);border:1px solid #d8e7ea;border-radius:12px}.coach-trace-card>header{display:flex;align-items:center;justify-content:space-between;gap:14px}.coach-trace-student{display:flex;align-items:center;gap:10px;min-width:0}.coach-trace-student>span{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;color:var(--color-on-primary);background:var(--color-primary);border-radius:50%;font-weight:900}.coach-trace-student>div{min-width:0}.coach-trace-student strong{display:block;color:#183845;font-size:15px}.coach-trace-student small{display:block;margin-top:3px;overflow:hidden;color:#637a84;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.coach-trace-meta{display:grid;justify-items:end;gap:5px}.coach-trace-meta b{padding:4px 8px;color:#91561a;background:#fff3df;border-radius:99px;font-size:11px}.coach-trace-meta b.mastered{color:#207255;background:#e8f7ef}.coach-trace-meta b.needs-work{color:#a34a3f;background:var(--color-danger-pale)}.coach-trace-meta b.practicing{color:#5260b1;background:#eef0ff}.coach-trace-meta time{color:#71858d;font-size:10px}.coach-trace-context{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.coach-trace-context span,.coach-trace-context em{padding:4px 7px;color:#4c6b75;background:#edf4f5;border-radius:6px;font-size:11px;font-style:normal}.coach-trace-context strong{color:#123f4c;font-size:13px}.coach-trace-dialog{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10px}.coach-trace-dialog>div{padding:12px;background:var(--color-surface);border:1px solid #e1eaec;border-radius:9px}.coach-trace-dialog>div.ai{background:#edf8f7;border-color:#cde5e5}.coach-trace-dialog b{color:#53707a;font-size:11px}.coach-trace-dialog p{margin:6px 0 0;color:#253e49;font-size:13px;line-height:1.65;white-space:pre-wrap}.coach-trace-dialog small{display:block;margin-top:8px;color:#1a6d79;font-size:11px;line-height:1.55}.coach-trace-resources{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.coach-trace-resources>b{color:#486873;font-size:11px}.coach-trace-resources span{padding:5px 8px;color:var(--color-teal-deep);background:var(--color-surface);border:1px solid #cfe2e5;border-radius:7px;font-size:11px}.learning-overview-student .learning-overview-header{background:#153f54}.student-learning-top-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.78fr) minmax(250px,.62fr);gap:18px}.student-progress-body{display:flex;align-items:center;gap:24px}.student-progress-ring{flex:0 0 auto;display:grid;place-content:center;width:154px;aspect-ratio:1;text-align:center;border-radius:50%;background:radial-gradient(closest-side,#fff 75%,transparent 76% 100%),conic-gradient(#f3a447 var(--progress),#e3e9eb 0)}.student-progress-ring b{color:var(--color-ink-strong);font-size:34px;line-height:1;letter-spacing:-.045em}.student-progress-ring span{margin-top:6px;color:var(--color-muted);font-size:11px;font-weight:750}.student-progress-body strong{color:var(--color-ink-strong);font-size:15px;line-height:1.5}.student-progress-body ul{display:grid;gap:7px;margin:12px 0 0;padding:0;list-style:none;color:#41616c;font-size:13px}.student-progress-body li:before{content:"✓";display:inline-grid;place-items:center;width:17px;height:17px;margin-right:7px;color:var(--color-on-primary);background:var(--color-primary);border-radius:50%;font-size:11px}.student-subject-circle-list{display:flex;align-items:flex-start;justify-content:space-around;gap:12px}.student-subject-circle-list article{display:grid;justify-items:center;gap:7px;text-align:center}.student-subject-circle-list article>div{display:grid;place-items:center;width:78px;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,#fff 72%,transparent 73% 100%),conic-gradient(var(--color-chart-indigo) var(--score),#e3e6f7 0)}.student-subject-circle-list article:nth-child(2)>div{background:radial-gradient(closest-side,#fff 72%,transparent 73% 100%),conic-gradient(var(--color-primary) var(--score),#dcecee 0)}.student-subject-circle-list b{color:var(--color-ink-strong);font-size:18px}.student-subject-circle-list strong{color:var(--color-ink-strong);font-size:13px}.student-subject-circle-list span{color:var(--color-muted);font-size:11px}.student-next-step{display:grid;align-content:start;gap:14px;padding:22px;color:#163642;background:#fff9f0;border:1px solid #ecd5a2;border-radius:14px}.student-next-step>div>span{display:inline-flex;align-items:center;gap:6px;color:#ac6410;font-size:13px;font-weight:850}.student-next-step h2{margin:11px 0 7px;color:#25313e;font-size:18px;line-height:1.35}.student-next-step p{margin:0;color:#6c604e;font-size:13px;line-height:1.6}.student-next-step .primary{background:#e99130;border-color:#e99130}.student-next-step ol{display:grid;gap:7px;margin:0;padding:0;list-style:none;color:#685d4d;font-size:12px}.student-next-step li{counter-increment:step}.student-next-step ol{counter-reset:step}.student-next-step li:before{content:counter(step);display:inline-grid;place-items:center;width:17px;height:17px;margin-right:7px;color:#9a5a13;border:1px solid #e2b273;border-radius:50%;font-size:11px;font-weight:800}.student-learning-middle-grid,.student-learning-bottom-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:18px}.student-pending-list{display:grid;gap:0}.student-pending-list article{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid var(--color-border)}.student-pending-list article:first-child{border-top:0;padding-top:0}.student-pending-list article>b{display:grid;place-items:center;width:26px;height:26px;color:#bd5549;background:var(--color-danger-pale);border-radius:50%;font-size:12px}.student-pending-list strong{display:block;overflow:hidden;color:var(--color-ink-strong);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.student-pending-list span{display:block;margin-top:3px;color:var(--color-muted);font-size:11px}.student-pending-list em{color:#b75f0e;font-size:12px;font-style:normal;font-weight:850;white-space:nowrap}.student-mastery-map{display:grid;gap:13px}.student-mastery-map article{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(90px,1.2fr) auto;gap:12px;align-items:center}.student-mastery-map strong{display:block;overflow:hidden;color:var(--color-ink-strong);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.student-mastery-map span{color:var(--color-muted);font-size:11px}.student-mastery-segments{height:10px;overflow:hidden;background:repeating-linear-gradient(90deg,#e6ecee 0 18%,#fff 18% 20%);border-radius:99px}.student-mastery-segments i{display:block;height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-chart-indigo));border-radius:99px}.student-mastery-map b{color:#385563;font-size:13px}.student-weekly-gain{background:#f5f8ff;border-color:#d9dff5}.student-gain-copy strong{color:#21345b;font-size:16px;line-height:1.6}.student-gain-copy p{margin:12px 0 0;color:#52617a;font-size:13px;line-height:1.75}.student-weak-actions{display:none}@media(max-width:1080px){.learning-overview-main-grid,.student-learning-top-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-insight-rail,.student-next-step{grid-column:1 / -1}.learning-insight-rail{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.learning-insight-title,.learning-insight-rail .primary{grid-column:1 / -1}}@media(max-width:760px){.learning-overview{gap:14px;min-width:0;grid-template-columns:minmax(0,1fr)}.learning-overview>*{min-width:0}.learning-overview-header{display:grid;gap:17px;margin:0 -12px;padding:25px 18px;border-radius:0 0 14px 14px}.learning-header-tools{min-width:0;flex-wrap:wrap;justify-content:flex-start;white-space:normal}.learning-filter-row,.learning-filter-row label,.learning-filter-row select{min-width:0}.learning-glance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-glance-grid article{padding:16px;border-bottom:1px solid var(--color-border)}.learning-glance-grid article:nth-child(2n){border-right:0}.learning-glance-grid article:nth-child(n+3){border-bottom:0}.learning-overview-main-grid,.learning-overview-bottom-grid,.student-learning-top-grid,.student-learning-middle-grid,.student-learning-bottom-grid,.learning-insight-rail{grid-template-columns:minmax(0,1fr)}.learning-distribution-body{gap:13px}.learning-donut{width:140px}.learning-donut>div{width:98px}.learning-donut b{font-size:26px}.student-progress-body{align-items:flex-start;gap:16px}.student-progress-ring{width:126px}.student-subject-circle-list{justify-content:flex-start;overflow-x:auto;padding-bottom:4px}.student-subject-circle-list article{min-width:92px}.learning-attention-list article{grid-template-columns:28px minmax(0,1fr) auto}.learning-mastery-list article{grid-template-columns:minmax(100px,1fr) minmax(68px,1fr) auto}.student-mastery-map article{grid-template-columns:minmax(100px,1fr) minmax(65px,1fr) auto}}@media(max-width:760px){.coach-trace-card>header{align-items:flex-start}.coach-trace-dialog{grid-template-columns:minmax(0,1fr)}.coach-trace-meta time{display:none}}@media(max-width:430px){.learning-period-switch button{padding:0 10px}.learning-filter-row{align-items:flex-start}.learning-filter-row label{display:grid;width:100%}.learning-filter-row select{max-width:100%;width:100%}.learning-distribution-body{display:grid;grid-template-columns:auto minmax(0,1fr)}.learning-distribution-legend div{grid-template-columns:9px minmax(0,1fr) auto}.learning-distribution-legend small{display:none}.student-progress-body{display:grid;grid-template-columns:auto minmax(0,1fr)}.learning-glance-grid strong{font-size:26px}}@media(prefers-reduced-motion:no-preference){.learning-surface,.learning-insight-rail,.student-next-step{animation:learning-overview-enter .46s cubic-bezier(.16,1,.3,1) both}.learning-overview-main-grid>:nth-child(2),.student-learning-top-grid>:nth-child(2){animation-delay:55ms}.learning-overview-main-grid>:nth-child(3),.student-learning-top-grid>:nth-child(3){animation-delay:.11s}@keyframes learning-overview-enter{0%{opacity:.01;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}@media(prefers-reduced-motion:reduce){.learning-surface,.learning-insight-rail,.student-next-step{animation:none}}@media(max-width:760px){.teacher-homework-page .homework-workspace-tabs{grid-template-columns:1fr}}.learning-overview-student .learning-overview-header{min-height:0;padding:23px clamp(20px,3vw,32px)}.learning-overview-student .learning-overview-header h1{margin:6px 0 4px;font-size:clamp(27px,3.2vw,35px)}.learning-overview-student .learning-overview-header p{font-size:13px}.learning-overview-teacher .learning-overview-header{min-height:0;padding:23px clamp(20px,3vw,32px)}.learning-overview-teacher .learning-overview-header h1{margin:6px 0 4px;font-size:clamp(27px,3.2vw,35px)}.learning-overview-teacher .learning-overview-header p{font-size:13px}.classroom-hub-tabs{display:flex;gap:5px;width:fit-content;max-width:100%;margin:0 0 18px;padding:4px;overflow-x:auto;background:#eef5f6;border:1px solid #d6e6e8;border-radius:11px}.classroom-hub-tabs button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 15px;color:#54727a;background:transparent;border:1px solid transparent;border-radius:7px;font-size:13px;font-weight:850;white-space:nowrap}.classroom-hub-tabs button:hover{color:#0c6876;background:#e2f2f4}.classroom-hub-tabs button.active{color:var(--color-active-teal-ink);background:var(--color-surface);border-color:#b8dfe3;box-shadow:0 2px 7px #1c5a6714}.classroom-paste-hint{margin:0;padding:11px 12px;color:#35616c;background:#f0f8f9;border:1px solid #c9e6e9;border-radius:9px;font-size:13px;line-height:1.55}.classroom-paste-hint kbd{display:inline-block;min-width:19px;padding:1px 5px;color:#255362;background:var(--color-surface);border:1px solid #bcd6da;border-bottom-width:2px;border-radius:4px;font-family:inherit;font-size:11px;font-weight:850;text-align:center}.classroom-quick-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.classroom-quick-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.classroom-wall-hint{margin:-2px 0 0}.exam-form>.classroom-scope-grid,.exam-form>.classroom-composer-tabs,.exam-form>.ai-classroom-panel,.exam-form>.classroom-paste-hint,.exam-form>.classroom-quick-actions{grid-column:1 / -1}.classroom-scope-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:13px;background:linear-gradient(135deg,#f7fbfc,#eef7f8);border:1px solid #d5e7e9;border-radius:12px}.classroom-scope-grid label{display:grid;gap:6px;min-width:0}.classroom-scope-grid label>span{color:#476671;font-size:12px;font-weight:850}.classroom-composer-tabs{display:flex;gap:4px;width:fit-content;max-width:100%;padding:4px;background:#f1f6f7;border:1px solid #d8e7e9;border-radius:10px}.classroom-composer-tabs button{min-height:42px;padding:0 15px;color:#52717b;background:transparent;border:1px solid transparent;border-radius:7px;font-size:13px;font-weight:800}.classroom-composer-tabs button:hover{color:#0c6876;background:#e5f4f5}.classroom-composer-tabs button.active{color:var(--color-active-teal-ink);background:var(--color-surface);border-color:#b8dfe3;box-shadow:0 2px 7px #1c5a6714}.classroom-composer-tabs button:focus-visible,.ai-classroom-candidate:focus-visible{outline:3px solid rgba(25,117,134,.22);outline-offset:2px}.ai-classroom-panel{display:grid;gap:16px;padding:17px;background:var(--color-surface-muted);border:1px solid #d8e8eb;border-radius:13px}.ai-classroom-panel-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.ai-classroom-panel-heading>div{display:grid;gap:4px}.ai-classroom-panel-heading strong{color:var(--color-classroom-ink);font-size:15px}.ai-classroom-panel-heading span:not(.ai-classroom-badge){color:#66818a;font-size:12px;line-height:1.5}.ai-classroom-badge{flex:0 0 auto;padding:5px 8px;color:#0b6c79;background:#e3f4f5;border:1px solid #b9e0e3;border-radius:99px;font-size:11px;font-weight:850}.ai-classroom-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ai-classroom-form-grid label,.ai-classroom-reference-field{display:grid;gap:7px}.ai-classroom-form-grid label>span,.ai-classroom-reference-field>span{color:#476671;font-size:12px;font-weight:800}.ai-classroom-reference-field textarea{min-height:78px;resize:vertical}.ai-classroom-actions{min-height:42px}.ai-classroom-actions .field-hint{margin:0}.ai-classroom-candidates{display:grid;gap:10px}.ai-classroom-candidate{display:grid;gap:9px;width:100%;padding:13px 14px;color:var(--color-bluegreen-ink);background:var(--color-surface);border:1px solid #d6e5e8;border-radius:11px;text-align:left;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.ai-classroom-candidate:hover{border-color:#8bcbd1;background:#fbffff;box-shadow:0 5px 13px #1c5a6712}.ai-classroom-candidate.selected{color:#164d59;background:var(--color-teal-pale);border-color:#15909c;box-shadow:0 0 0 2px #15909c1a}.ai-classroom-candidate-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.ai-classroom-candidate-head strong{color:#0d6b78;font-size:12px}.ai-classroom-candidate-head small{color:#71888e;font-size:11px}.ai-classroom-candidate-question{color:var(--color-classroom-ink);font-size:14px;font-weight:750;line-height:1.65}.ai-classroom-candidate-options{display:flex;flex-wrap:wrap;gap:7px 13px;color:#526e77;font-size:12px;line-height:1.5}.ai-classroom-candidate-options>span{display:inline-flex;gap:4px}.ai-classroom-candidate-options b{color:#0d7784}.ai-classroom-candidate-foot{color:#6d858c;font-size:11px;line-height:1.5}.ai-classroom-confirm-hint{margin:0;color:#0d7180}.classroom-quick-actions button:disabled{cursor:not-allowed;opacity:.55}.question-picker-search{display:flex;align-items:center;gap:8px;min-width:0;color:#5b7780}.question-picker-search input{flex:1;min-width:0}.question-picker-filter-row{display:grid;grid-template-columns:minmax(180px,.48fr) minmax(0,1fr);gap:10px;align-items:center}.question-picker-author-filter{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;min-width:0;color:#4d6b74;font-size:12px;font-weight:800}.question-picker-author-filter select{min-width:0}.classroom-question-search-results{max-height:380px}.classroom-case-panel{display:grid;gap:15px;padding:17px;background:var(--color-surface-muted);border:1px solid #d8e8eb;border-radius:13px}.classroom-case-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.classroom-case-heading>div{display:grid;gap:4px}.classroom-case-heading strong{color:var(--color-classroom-ink);font-size:15px}.classroom-case-heading span:not(.classroom-case-badge){color:#66818a;font-size:12px;line-height:1.5}.classroom-case-badge{flex:0 0 auto;padding:5px 8px;color:#0b6c79;background:#e3f4f5;border:1px solid #b9e0e3;border-radius:99px;font-size:11px;font-weight:850}.classroom-case-toolbar{display:grid;gap:10px}.classroom-case-categories{display:flex;gap:7px;flex-wrap:wrap}.classroom-case-categories button{min-height:32px;padding:0 10px;color:#52717b;background:#eef5f6;border:1px solid #d3e4e7;border-radius:999px;font-size:12px;font-weight:800}.classroom-case-categories button:hover,.classroom-case-categories button.active{color:var(--color-active-teal-ink);background:#e2f4f5;border-color:#8fcbd0}.classroom-case-chapters{padding-top:10px;border-top:1px solid #d8e8eb}.classroom-case-chapters button{border-radius:8px;background:var(--color-surface)}.classroom-case-search{display:flex;align-items:center;gap:8px;min-width:0;padding:0 10px;color:#5b7780;background:var(--color-surface);border:1px solid #d1e2e5;border-radius:8px}.classroom-case-search input{min-height:38px;padding:7px 0;border:0;background:transparent;box-shadow:none}.classroom-case-search input:focus{box-shadow:none}.classroom-case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:12px}.classroom-case-card{display:grid;gap:9px;min-width:0;padding:9px;background:var(--color-surface);border:1px solid #d7e6e9;border-radius:10px}.classroom-case-thumbnail{position:relative;height:132px;overflow:hidden;padding:0;background:#152833;border:1px solid #cfe1e4;border-radius:8px}.classroom-case-thumbnail iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none}.classroom-case-thumbnail>span{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 9px;color:var(--color-on-primary);background:#083c4adb;border-radius:999px;font-size:11px;font-weight:850}.classroom-case-card-body{display:grid;gap:6px;min-width:0}.classroom-case-card-body>strong{overflow:hidden;color:var(--color-classroom-ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.classroom-case-card-body>span,.classroom-case-card-body>small{overflow:hidden;color:var(--color-teal-muted);font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.classroom-case-card-body>small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.classroom-case-card-body .ghost-button{justify-self:start}.classroom-case-action-hint{color:#0d7180;font-size:12px;font-weight:750}@media(max-width:680px){.ai-classroom-form-grid{grid-template-columns:1fr}.ai-classroom-panel-heading{display:grid}.ai-classroom-badge{justify-self:start}.ai-classroom-candidate-head{align-items:flex-start;flex-direction:column;gap:3px}.question-picker-filter-row{grid-template-columns:1fr}.question-picker-author-filter{grid-template-columns:1fr;gap:4px}}.classroom-float-page{display:grid;gap:0;min-height:100vh;min-height:100dvh;color:var(--color-classroom-ink);background:#f4f9fa}.classroom-float-window{overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#77aeb7 #e3eff1}.classroom-float-window::-webkit-scrollbar{width:9px}.classroom-float-window::-webkit-scrollbar-track{background:#e3eff1}.classroom-float-window::-webkit-scrollbar-thumb{background:#77aeb7;border:2px solid #e3eff1;border-radius:99px}.classroom-float-window body{overflow:visible;background:transparent}.classroom-float-window.classroom-float-collapsed{overflow:hidden;scrollbar-gutter:auto;scrollbar-width:none;background:transparent}.classroom-float-window body.classroom-float-collapsed{min-height:0;height:100%}.classroom-float-window body.classroom-float-collapsed{overflow:hidden}.classroom-float-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:18px 18px 16px;color:#eafafa;background:#123f4e;border-bottom:1px solid #286272}.classroom-float-header h1{margin:7px 0 4px;color:var(--color-on-primary);font-size:25px;line-height:1.15}.classroom-float-header p{margin:0;color:#b9dadd;font-size:12px;line-height:1.5}.classroom-float-kicker{display:inline-flex;align-items:center;gap:5px;color:#9ee1e4;font-size:11px;font-weight:850;letter-spacing:.05em}.classroom-float-header-actions{display:flex;gap:7px;align-items:center}.classroom-float-account,.classroom-float-collapse,.classroom-float-close{display:grid;place-items:center;width:34px;height:34px;padding:0;color:#c4e2e5;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px}.classroom-float-account:hover,.classroom-float-collapse:hover,.classroom-float-close:hover{color:var(--color-on-primary);background:#ffffff1a}.classroom-float-page.collapsed{min-height:0;background:transparent}.classroom-float-page.collapsed .classroom-float-header{min-height:52px;padding:7px 10px;align-items:center;background:#123f4e80;border-color:#9ee1e42e;border-radius:0 0 8px 8px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.classroom-float-page.collapsed .classroom-float-kicker,.classroom-float-page.collapsed .classroom-float-header p{display:none}.classroom-float-page.collapsed .classroom-float-header h1{margin:0;font-size:14px}.classroom-float-page.collapsed .classroom-float-header-actions{gap:5px}.classroom-float-page.collapsed .classroom-float-account,.classroom-float-page.collapsed .classroom-float-collapse,.classroom-float-page.collapsed .classroom-float-close{width:30px;height:30px;border-radius:7px}.classroom-float-form{display:grid;align-content:start;gap:13px;padding:16px}.classroom-float-form label{display:grid;gap:6px}.classroom-float-form label>span{color:#4d6b74;font-size:11px;font-weight:850}.classroom-float-field-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.classroom-float-field-head>span{flex:0 0 auto}.classroom-float-question-search{display:flex;align-items:center;gap:5px;min-width:0;width:min(62%,240px);min-height:32px;padding:0 8px;color:#6d858c;background:var(--color-surface);border:1px solid #c8dfe3;border-radius:7px}.classroom-float-author-filter select{min-width:0}.classroom-float-question-search:focus-within{border-color:#54aeb7;box-shadow:0 0 0 3px #54aeb721}.classroom-float-question-search input{width:100%;min-width:0;padding:5px 0;color:var(--color-classroom-ink);background:transparent;border:0;outline:0;font-size:11px}.classroom-float-question-picker{position:relative;width:100%}.classroom-float-question-trigger{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:40px;padding:0 10px;color:var(--color-classroom-ink);background:var(--color-surface);border:1px solid #c8dfe3;border-radius:8px;text-align:left}.classroom-float-question-trigger:hover{border-color:#83c5cc}.classroom-float-question-trigger:focus-visible{outline:0;border-color:#54aeb7;box-shadow:0 0 0 3px #54aeb721}.classroom-float-question-trigger>span{min-width:0;overflow:hidden}.classroom-float-question-trigger .latex-text{display:block;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.classroom-float-question-trigger .placeholder,.classroom-float-question-option .placeholder{color:#70868d}.classroom-float-question-menu{position:absolute;z-index:20;top:calc(100% + 4px);right:0;left:0;display:grid;gap:3px;max-height:270px;overflow:auto;padding:5px;background:var(--color-surface);border:1px solid #bcdde2;border-radius:9px;box-shadow:0 12px 26px #14414e2e;scrollbar-color:var(--color-scrollbar-teal) var(--color-surface-soft)}.classroom-float-question-option{display:grid;gap:3px;width:100%;min-width:0;padding:8px;color:var(--color-bluegreen-ink);background:transparent;border:1px solid transparent;border-radius:6px;text-align:left}.classroom-float-question-option:hover,.classroom-float-question-option.selected,.classroom-float-question-option[aria-selected=true]{color:var(--color-active-teal-ink);background:var(--color-teal-pale);border-color:#b7dfe3}.classroom-float-question-option>.latex-text{display:block;min-width:0;overflow:hidden;color:var(--color-classroom-ink);font-size:11px;line-height:1.4}.classroom-float-question-option>.latex-text .katex{max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.classroom-float-question-option small{overflow:hidden;color:#70868d;font-size:9px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.classroom-float-question-hint{color:#a26325;font-size:10px}.classroom-float-form textarea{min-height:82px;resize:vertical}.classroom-float-scope-grid,.classroom-float-ai-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.classroom-float-scope-grid{padding:10px;border-radius:10px}.classroom-float-scope-grid label>span{font-size:11px}.classroom-float-tabs{display:flex;gap:4px;padding:3px;background:#e9f1f3;border:1px solid #d4e4e7;border-radius:9px}.classroom-float-tabs button{display:inline-flex;justify-content:center;align-items:center;gap:5px;min-height:37px;flex:1;padding:0 8px;color:#5c7880;background:transparent;border:1px solid transparent;border-radius:6px;font-size:12px;font-weight:850}.classroom-float-tabs button.active{color:var(--color-active-teal-ink);background:var(--color-surface);border-color:#b7dfe3;box-shadow:0 2px 7px #1c5a6714}.classroom-float-ai-panel{display:grid;gap:11px;padding:13px;background:var(--color-panel-ice);border:1px solid var(--color-border-teal-soft);border-radius:10px}.classroom-float-ai-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.classroom-float-ai-title>div{display:grid;gap:3px}.classroom-float-ai-title strong{color:#194b57;font-size:13px}.classroom-float-ai-title span{color:var(--color-teal-muted);font-size:11px}.classroom-float-ai-title b{padding:4px 7px;color:#0a6b77;background:#e2f4f5;border-radius:99px;font-size:10px;white-space:nowrap}.classroom-float-secondary{display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:39px;padding:0 12px;color:#24606c;background:var(--color-surface);border:1px solid #bad9de;border-radius:8px;font-size:12px;font-weight:850}.classroom-float-secondary:hover{background:var(--color-teal-pale);border-color:#83c5cc}.classroom-float-candidates{display:grid;gap:7px;max-height:260px;overflow:auto}.classroom-float-candidates button{display:grid;gap:6px;padding:10px;color:var(--color-bluegreen-ink);background:var(--color-surface);border:1px solid #d5e5e8;border-radius:8px;text-align:left}.classroom-float-candidates button:hover,.classroom-float-candidates button.selected{background:var(--color-teal-pale);border-color:#13909c}.classroom-float-candidates button>span{display:flex;justify-content:space-between;gap:8px}.classroom-float-candidates button b{color:#0c7180;font-size:11px}.classroom-float-candidates button small,.classroom-float-candidates button em{color:#70868d;font-size:10px;font-style:normal;line-height:1.45}.classroom-float-candidates button strong{color:var(--color-classroom-ink);font-size:12px;line-height:1.5}.classroom-float-candidate-options{display:grid;gap:4px;color:#5f7881;font-size:11px;line-height:1.45}.classroom-float-candidate-options>span{display:flex;gap:6px;align-items:flex-start}.classroom-float-candidate-options b{flex:0 0 auto;color:#0c7180;font-size:11px}.classroom-float-candidate-options .latex-text{min-width:0}.classroom-float-actions{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:8px;padding-top:3px}.classroom-float-actions .primary,.classroom-float-actions .classroom-float-secondary{width:100%}.classroom-float-history{display:grid;gap:8px;padding:10px;color:var(--color-bluegreen-ink);background:#eef8f9;border:1px solid #c6e4e7;border-radius:9px}.classroom-float-history-heading{display:flex;justify-content:space-between;gap:8px;align-items:center}.classroom-float-history-heading>div{display:grid;gap:2px;min-width:0}.classroom-float-history-heading strong{color:#155664;font-size:12px}.classroom-float-history-heading span{color:#6a858d;font-size:10px;line-height:1.4}.classroom-float-history-heading b{flex:0 0 auto;min-width:24px;padding:4px 6px;color:#0b6d79;background:#dff3f4;border-radius:99px;font-size:10px;text-align:center}.classroom-float-history-list{display:grid;gap:6px;max-height:230px;overflow:auto;padding-right:2px;scrollbar-color:var(--color-scrollbar-teal) var(--color-surface-soft)}.classroom-float-history-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center;padding:8px;background:var(--color-surface);border:1px solid #d2e7e9;border-radius:7px}.classroom-float-history-copy{display:grid;gap:3px;min-width:0}.classroom-float-history-copy strong{display:-webkit-box;overflow:hidden;color:var(--color-classroom-ink);font-size:11px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.classroom-float-history-copy span{overflow:hidden;color:#71878e;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.classroom-float-history-actions{display:flex;gap:4px}.classroom-float-history-actions .classroom-float-secondary,.classroom-float-history-actions .classroom-float-danger{min-height:28px;padding:0 7px;border-radius:7px;font-size:10px;white-space:nowrap}.classroom-float-history-actions .classroom-float-danger{display:inline-flex;align-items:center;justify-content:center;gap:4px;color:#a64a42;background:#fff5f2;border:1px solid #efc2bb;font-weight:850}.classroom-float-history-actions .classroom-float-danger:hover:not(:disabled){background:#ffecea;border-color:#e99e95}.classroom-float-history-list>p{margin:0;color:#71878e;font-size:10px}.classroom-float-success{margin:0;padding:9px 10px;color:#0d7180;background:#e4f5f5;border:1px solid #b8dfe2;border-radius:8px;font-size:12px;font-weight:750}.classroom-float-form button:disabled{cursor:not-allowed;opacity:.55}.classroom-toolbar-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.classroom-toolbar-tabs button{min-width:0;flex:none;padding:0 5px;font-size:11px;white-space:nowrap}.classroom-toolbar-panel{display:grid;gap:11px;padding:13px;color:var(--color-bluegreen-ink);background:var(--color-panel-ice);border:1px solid var(--color-border-teal-soft);border-radius:10px}.classroom-toolbar-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.classroom-toolbar-panel-heading>div{display:grid;gap:3px;min-width:0}.classroom-toolbar-panel-heading strong{color:#194b57;font-size:13px}.classroom-toolbar-panel-heading span{color:var(--color-teal-muted);font-size:11px;line-height:1.45}.classroom-toolbar-panel-heading b{flex:0 0 auto;padding:4px 7px;color:#0a6b77;background:#e2f4f5;border-radius:99px;font-size:10px;white-space:nowrap}.classroom-toolbar-qr-layout{display:grid;grid-template-columns:124px minmax(0,1fr);gap:12px;align-items:center}.classroom-toolbar-qr{display:grid;place-items:center;width:124px;height:124px;padding:5px;background:var(--color-surface);border:1px solid var(--color-border-teal-soft);border-radius:9px}.classroom-toolbar-qr img{display:block;width:100%;height:100%;object-fit:contain}.classroom-toolbar-qr span{color:#789097;font-size:10px;text-align:center}.classroom-toolbar-live-copy{display:grid;gap:7px;min-width:0}.classroom-toolbar-live-copy strong{overflow:hidden;color:var(--color-classroom-ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.classroom-toolbar-live-copy p{margin:0;color:var(--color-teal-muted);font-size:11px;line-height:1.5}.classroom-toolbar-live-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;background:var(--color-surface);border:1px solid #d6e7e9;border-radius:8px}.classroom-toolbar-live-metrics span{display:grid;gap:3px;padding:7px 4px;color:var(--color-teal-muted);font-size:9px;text-align:center;border-right:1px solid #d6e7e9}.classroom-toolbar-live-metrics span:last-child{border-right:0}.classroom-toolbar-live-metrics b{color:var(--color-primary-strong);font-size:17px;line-height:1}.classroom-toolbar-inline-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.classroom-live-activity-panel{display:grid;gap:8px;padding:10px;background:#eef8f9;border:1px solid #c6e4e7;border-radius:9px}.classroom-live-activity-heading{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.classroom-live-activity-heading>div{display:grid;gap:2px;min-width:0}.classroom-live-activity-heading strong{color:#155664;font-size:12px}.classroom-live-activity-heading span{color:#6a858d;font-size:10px;line-height:1.45}.classroom-live-activity-heading b{flex:0 0 auto;padding:4px 6px;color:#0b6d79;background:#dff3f4;border-radius:99px;font-size:9px;white-space:nowrap}.classroom-live-activity-list{display:grid;gap:6px;max-height:190px;overflow:auto;padding-right:2px;scrollbar-color:var(--color-scrollbar-teal) var(--color-surface-soft)}.classroom-live-activity-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;background:var(--color-surface);border:1px solid #d2e7e9;border-radius:7px}.classroom-live-activity-list article>div:first-child{display:grid;gap:3px;min-width:0}.classroom-live-activity-list article strong{overflow:hidden;color:var(--color-classroom-ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.classroom-live-activity-list article span{overflow:hidden;color:#71878e;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.classroom-live-activity-actions{display:flex;gap:4px}.classroom-live-activity-actions .classroom-float-secondary{min-height:29px;padding:0 7px;font-size:10px;white-space:nowrap}.classroom-live-activity-actions .classroom-float-danger{min-height:29px;padding:0 7px;color:#a64a42;background:#fff5f2;border:1px solid #efc2bb;border-radius:7px;font-size:10px;font-weight:850;white-space:nowrap}.classroom-live-activity-actions .classroom-float-danger:hover:not(:disabled){background:#ffecea;border-color:#e99e95}.classroom-live-activity-actions .classroom-float-danger:disabled{cursor:not-allowed;opacity:.55}.classroom-toolbar-inline-actions .classroom-float-danger{min-height:39px;padding:0 12px;color:#a64a42;background:#fff5f2;border:1px solid #efc2bb;border-radius:8px;font-size:12px;font-weight:850}.classroom-toolbar-inline-actions .classroom-float-danger:hover:not(:disabled){background:#ffecea;border-color:#e99e95}.classroom-toolbar-inline-actions .classroom-float-danger:disabled{cursor:not-allowed;opacity:.55}.classroom-live-activity-divider{display:flex;align-items:center;gap:8px;color:#6e858c;font-size:10px;font-weight:800}.classroom-live-activity-divider:before,.classroom-live-activity-divider:after{content:"";flex:1;height:1px;background:#d8e8ea}.classroom-pretest-question-list{display:grid;gap:5px;max-height:260px;overflow:auto;padding-right:3px;scrollbar-color:var(--color-scrollbar-teal) var(--color-surface-soft)}.classroom-pretest-question{display:grid;grid-template-columns:16px minmax(0,1fr);gap:7px;align-items:start;padding:8px;color:#4e6c75;background:var(--color-surface);border:1px solid #d5e5e8;border-radius:7px;cursor:pointer}.classroom-pretest-question.selected{background:var(--color-teal-pale);border-color:#83c5cc}.classroom-pretest-question input{width:15px;min-height:15px;margin:2px 0 0;padding:0;accent-color:var(--color-primary)}.classroom-pretest-question>span{display:grid;gap:3px;min-width:0}.classroom-pretest-question strong{display:block;min-height:16px;max-height:3.1em;overflow:hidden;color:var(--color-classroom-ink);font-size:11px;line-height:1.35}.classroom-pretest-question strong .latex-text{display:inline;max-width:100%;overflow:hidden;line-height:1.2}.classroom-pretest-question strong .latex-text .katex-display{display:inline-block;max-width:100%;margin:0;padding:0;overflow:hidden;line-height:1.1;text-align:left;vertical-align:middle}.classroom-pretest-question strong .latex-text math[display=block]{display:inline-block;max-width:100%;margin:0;padding:0;vertical-align:middle}.classroom-pretest-question strong .latex-text .katex{font-size:.92em;vertical-align:middle}.classroom-pretest-question small{overflow:hidden;color:#70868d;font-size:10px;text-overflow:ellipsis;white-space:nowrap}@media(max-width:680px){.classroom-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:380px){.classroom-float-scope-grid,.classroom-float-ai-grid,.classroom-float-actions,.classroom-scope-grid{grid-template-columns:1fr}.classroom-float-field-head{align-items:stretch;flex-direction:column}.classroom-float-question-search{width:100%}.classroom-live-activity-list article,.classroom-float-history-list article{grid-template-columns:1fr}.classroom-live-activity-actions,.classroom-float-history-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.classroom-session-wall-shell{min-height:100vh;min-height:100dvh;padding:clamp(14px,2vw,28px);background:radial-gradient(circle at 80% 10%,#2a7180 0,transparent 28%),linear-gradient(135deg,#0d3444,#102f49)}.classroom-session-wall{display:grid;grid-template-columns:minmax(255px,.55fr) minmax(0,1.65fr);min-height:calc(100vh - clamp(28px,4vw,56px));overflow:hidden;color:#142e3b;background:#f7fbfc;border:1px solid rgba(255,255,255,.28);border-radius:24px;box-shadow:0 24px 70px #00000038}.classroom-session-wall-qr{display:grid;align-content:start;justify-items:center;gap:11px;padding:clamp(28px,4vw,52px) clamp(20px,3vw,42px);color:#eafafa;background:linear-gradient(160deg,#087687,#164658);text-align:center}.classroom-session-wall-brand{color:#ace5e9;font-size:13px;font-weight:850;letter-spacing:.08em}.classroom-session-wall-qr h1{margin:5px 0 0;color:var(--color-on-primary);font-size:clamp(25px,3vw,40px);line-height:1.15}.classroom-session-wall-qr p{margin:0 0 5px;color:#c9e7ea;font-size:16px}.classroom-session-wall-qr-code{display:grid;place-items:center;width:min(100%,300px);aspect-ratio:1;margin-top:10px;padding:12px;color:#31545d;background:var(--color-surface);border-radius:18px;box-shadow:0 14px 34px #00000029}.classroom-session-wall-qr-code img{display:block;width:100%;height:100%;object-fit:contain}.classroom-session-wall-qr>strong{color:var(--color-on-primary);font-size:22px}.classroom-session-wall-qr>small{max-width:26ch;color:#c8e6e9;font-size:13px;line-height:1.6}.classroom-session-wall-main{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:clamp(18px,2.5vw,30px);padding:clamp(28px,4vw,52px);background:var(--color-panel-ice)}.classroom-session-wall-main>header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.classroom-session-wall-main>header span{display:inline-flex;padding:5px 9px;color:#087687;background:#def3f5;border-radius:99px;font-size:12px;font-weight:850}.classroom-session-wall-main>header h2{max-width:28ch;margin:12px 0 0;color:#152e3c;font-size:clamp(26px,3vw,45px);line-height:1.35}.classroom-session-wall-main>header>b{flex:0 0 auto;padding:12px 16px;color:#1b5664;background:#e8f5f6;border-radius:12px;font-size:clamp(16px,1.7vw,23px)}.classroom-session-wall-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;background:var(--color-surface);border:1px solid #d9e9ec;border-radius:15px}.classroom-session-wall-metrics article{display:grid;gap:7px;padding:18px;border-right:1px solid #e1ecee}.classroom-session-wall-metrics article:last-child{border:0}.classroom-session-wall-metrics span{color:#5b7580;font-size:13px;font-weight:750}.classroom-session-wall-metrics strong{color:var(--color-classroom-ink);font-size:clamp(25px,3vw,38px);line-height:1}.classroom-session-wall-metrics small{color:#5b7580;font-size:15px}.classroom-session-wall-options,.classroom-session-wall-response-panel{padding:clamp(18px,2vw,28px);background:var(--color-surface);border:1px solid #dce9eb;border-radius:16px}.classroom-session-wall-section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.classroom-session-wall-section-title strong{color:var(--color-classroom-ink);font-size:20px}.classroom-session-wall-section-title span{color:#66818a;font-size:13px}.classroom-session-wall-options{display:grid;align-content:start;gap:13px}.classroom-session-wall-options .classroom-session-wall-section-title{margin:0 0 6px}.classroom-session-wall-options article{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:13px}.classroom-session-wall-options article>b{display:grid;place-items:center;width:39px;height:39px;color:var(--color-on-primary);background:#5265d5;border-radius:50%;font-size:17px}.classroom-session-wall-options article>div{height:22px;overflow:hidden;background:#edf3f4;border-radius:99px}.classroom-session-wall-options article i{display:block;height:100%;background:linear-gradient(90deg,#1c8b99,var(--color-chart-indigo));border-radius:inherit;transition:width .35s ease}.classroom-session-wall-options article>strong{color:var(--color-classroom-ink);font-size:16px;white-space:nowrap}.classroom-session-wall-options article>span{min-width:48px;color:#647c84;font-size:14px;text-align:right}.classroom-session-wall-options article>small{grid-column:2 / -1;margin-top:-7px;color:#526d76;font-size:14px;line-height:1.45}.classroom-session-wall-student-list{display:flex;flex-wrap:wrap;gap:9px}.classroom-session-wall-student-list span{padding:7px 11px;color:#155565;background:#e5f4f5;border-radius:8px;font-weight:750}.classroom-session-wall-student-list em{color:#70848a;font-style:normal}.quick-classroom-answer-shell{min-height:100vh;min-height:100dvh;padding:18px;background:linear-gradient(145deg,#e8f4f5,#f7fafc)}.quick-classroom-answer-card{width:min(100%,680px);margin:0 auto;padding:clamp(22px,5vw,38px);background:var(--color-surface);border:1px solid #d7e5e8;border-radius:18px;box-shadow:0 15px 38px #1f44501c}.quick-classroom-answer-card>span{color:#0c7180;font-size:13px;font-weight:800}.quick-classroom-answer-card h1{margin:8px 0 24px;color:#183442;font-size:29px}.quick-classroom-answer-card form{display:grid;gap:16px}.quick-classroom-question{padding:20px;color:#193644;background:#f1f9fa;border:1px solid #cae8eb;border-radius:12px;font-size:18px;line-height:1.75}.quick-classroom-choice-list{display:grid;gap:10px}.quick-classroom-choice-list button{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;padding:13px 15px;color:var(--color-bluegreen-ink);background:var(--color-surface);border:1px solid #d6e4e7;border-radius:11px;text-align:left}.quick-classroom-choice-list button.active{color:#075e6d;background:#e7f6f7;border-color:#0d8796}.quick-classroom-choice-list b{display:grid;place-items:center;width:30px;height:30px;color:var(--color-on-primary);background:#5a67d9;border-radius:50%}.quick-classroom-answer-card textarea{min-height:150px}@media(max-width:850px){.classroom-session-wall{grid-template-columns:1fr}.classroom-session-wall-qr{grid-template-columns:1fr auto;justify-items:start;text-align:left}.classroom-session-wall-qr-code{grid-row:span 4;grid-column:2;width:150px;margin:0}.classroom-session-wall-qr>small{grid-column:1}.classroom-session-wall-main>header h2{max-width:100%}.classroom-session-wall-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.classroom-session-wall-metrics article:nth-child(2){border-right:0}.classroom-session-wall-metrics article:nth-child(-n+2){border-bottom:1px solid #e1ecee}}@media(max-width:560px){.classroom-session-wall-shell{padding:0}.classroom-session-wall{min-height:100vh;border:0;border-radius:0}.classroom-session-wall-qr{grid-template-columns:1fr;justify-items:center;text-align:center}.classroom-session-wall-qr-code{grid-row:auto;grid-column:auto;width:min(70vw,260px)}.classroom-session-wall-main>header{display:grid}.classroom-session-wall-main>header>b{justify-self:start}.classroom-session-wall-options article{grid-template-columns:38px minmax(0,1fr) auto}.classroom-session-wall-options article>span{display:none}.classroom-session-wall-options article>small{grid-column:2 / -1}.classroom-hub-tabs{width:100%}.classroom-hub-tabs button{flex:1 0 auto;padding:0 11px}.classroom-quick-actions{display:grid;grid-template-columns:1fr}.classroom-quick-actions button{width:100%}}.classroom-session-wall-main{grid-template-rows:auto minmax(0,1fr) auto auto;gap:16px}.classroom-session-wall-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;align-items:center}.classroom-session-wall-header-actions .ghost-button{min-height:42px}.classroom-session-wall-result{min-height:0;padding:12px;background:var(--color-panel-faint);border:1px solid #d5e6e9;border-radius:11px}.classroom-session-wall-result-head{display:flex;justify-content:space-between;gap:12px;color:#087282;font-size:14px;font-weight:850}.classroom-session-wall-question{margin:10px 0 12px;color:#142f40;font-size:clamp(21px,2.1vw,34px);font-weight:700;line-height:1.45}.classroom-session-wall-result .classroom-session-wall-options{padding:0;background:transparent;border:0;border-radius:0}.classroom-session-wall-result .classroom-session-wall-options article{grid-template-columns:72px minmax(0,1fr) 68px 52px;gap:11px;padding:6px 0}.classroom-session-wall-result .classroom-session-wall-options article>b{width:64px;height:48px;color:#2b4058;background:#edf1f6;border:2px solid #93a7c0;border-radius:26px;font-size:20px}.classroom-session-wall-result .classroom-session-wall-options article.correct>b{color:var(--color-on-primary);background:#178190;border-color:#178190}.classroom-session-wall-result .classroom-session-wall-options article>div{height:17px;background:#dceff3;border:1px solid #afd8e2}.classroom-session-wall-result .classroom-session-wall-options article i{background:linear-gradient(90deg,#26a2af,#5265d5)}.classroom-session-wall-result .classroom-session-wall-options article>strong{color:#0e6473;font-size:17px}.classroom-session-wall-result .classroom-session-wall-options article>span{color:#142e3f;font-size:27px;font-weight:900}.classroom-session-wall-result .classroom-session-wall-options article>small{grid-column:2 / -1;margin-top:-8px;color:#476672;font-size:16px;font-weight:700}.classroom-session-wall-text-status{display:grid;place-items:center;min-height:150px;color:#627883;background:#eaf5f6;border:1px dashed #b7dbe1;border-radius:9px;font-size:17px;font-weight:750}.classroom-session-wall-rosters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:14px}.classroom-session-wall-rosters>section{min-height:138px;padding:14px;background:var(--color-surface);border:1px solid #c9e3e9;border-radius:12px}.classroom-session-wall-rosters .classroom-session-wall-section-title{margin-bottom:9px}.classroom-session-wall-rosters .classroom-session-wall-section-title strong{font-size:17px}.classroom-session-wall-rosters .classroom-session-wall-section-title span{color:#097281;font-weight:850}.classroom-session-wall-rosters .waiting{background:#fffdf7;border-color:#efd79d}.classroom-session-wall-rosters .waiting .classroom-session-wall-section-title span{color:#a46409}.classroom-session-wall-rosters .classroom-session-wall-student-list{gap:5px;max-height:155px;overflow:auto}.classroom-session-wall-rosters .classroom-session-wall-student-list span{min-width:calc(25% - 5px);padding:3px 7px;color:#0f6573;background:#e5f4f5;border:1px solid #b7e1e6;border-radius:6px;font-size:13px;text-align:center}.classroom-session-wall-rosters .waiting .classroom-session-wall-student-list span{color:#62470f;background:#fff0c8;border-color:#edc858}.classroom-session-wall-footnote{margin:0;color:#637983;font-size:12px;font-weight:750;text-align:right}@media(max-width:850px){.classroom-session-wall-rosters{grid-template-columns:1fr}.classroom-session-wall-result .classroom-session-wall-options article{grid-template-columns:60px minmax(0,1fr) 58px}.classroom-session-wall-result .classroom-session-wall-options article>span{display:none}.classroom-session-wall-result .classroom-session-wall-options article>small{grid-column:2 / -1}}@media(max-width:560px){.classroom-session-wall-header-actions{justify-content:flex-start}.classroom-session-wall-result .classroom-session-wall-options article{grid-template-columns:52px minmax(0,1fr) auto}.classroom-session-wall-result .classroom-session-wall-options article>b{width:46px;height:42px;font-size:16px}.classroom-session-wall-result .classroom-session-wall-options article>small{font-size:14px}.classroom-session-wall-rosters .classroom-session-wall-student-list span{min-width:calc(33.333% - 5px)}}.classroom-session-wall-result .classroom-session-wall-options article{grid-template-columns:78px minmax(0,1fr) 76px 58px;gap:13px;padding:10px 0}.classroom-session-wall-result .classroom-session-wall-options article>b{width:68px;height:54px;border-radius:28px;font-size:23px}.classroom-session-wall-result .classroom-session-wall-options article>div{height:19px}.classroom-session-wall-result .classroom-session-wall-options article>strong{font-size:19px}.classroom-session-wall-result .classroom-session-wall-options article>span{font-size:29px}.classroom-session-wall-result .classroom-session-wall-options article>small{color:#294c59;font-size:clamp(20px,1.65vw,28px);font-weight:800;line-height:1.4}@media(max-width:850px){.classroom-session-wall-result .classroom-session-wall-options article{grid-template-columns:60px minmax(0,1fr) 58px}.classroom-session-wall-result .classroom-session-wall-options article>span{display:none}}@media(max-width:560px){.classroom-session-wall-result .classroom-session-wall-options article{grid-template-columns:52px minmax(0,1fr) auto}.classroom-session-wall-result .classroom-session-wall-options article>b{width:46px;height:42px;font-size:16px}.classroom-session-wall-result .classroom-session-wall-options article>small{font-size:18px}}.learning-portrait-layout{display:grid;grid-template-columns:minmax(238px,.76fr) minmax(430px,1.45fr) minmax(238px,.72fr);gap:16px;align-items:start}.learning-roster-panel,.learning-profile-panel{min-width:0}.learning-roster-panel{padding:20px 16px 14px}.learning-student-search{display:flex;align-items:center;gap:8px;min-height:40px;margin:-3px 0 10px;padding:0 11px;color:var(--color-muted);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.learning-student-search:focus-within{color:var(--color-primary-strong);border-color:var(--color-primary);box-shadow:0 0 0 3px #1975861a}.learning-student-search input{width:100%;min-width:0;padding:0;color:var(--color-ink-strong);background:transparent;border:0;outline:0;font-size:13px}.learning-roster-list{display:grid;max-height:585px;overflow:auto;overscroll-behavior:contain;scrollbar-color:var(--color-scrollbar-teal) var(--color-surface-soft)}.learning-roster-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;width:100%;padding:11px 4px;color:inherit;background:transparent;border:0;border-top:1px solid var(--color-border);text-align:left;cursor:pointer}.learning-roster-row:hover,.learning-roster-row:focus-visible{background:#f4fafb;outline:0}.learning-roster-row.active{margin:0 -4px;padding-right:8px;padding-left:8px;background:#e9f6f7;border-top-color:#a9dce2;border-radius:8px}.learning-avatar{display:grid;place-items:center;width:34px;height:34px;color:#245967;background:#e6f3f5;border:1px solid #b9dfe4;border-radius:50%;font-size:15px;font-weight:900}.learning-avatar.steady{color:#247064;background:#e7f5ef;border-color:#b9dfd0}.learning-avatar.attention{color:#9b6214;background:#fff3db;border-color:#ecd29d}.learning-avatar.danger{color:#a8463e;background:var(--color-danger-pale);border-color:#efc1ba}.learning-avatar.empty{color:#71818b;background:#eef3f5;border-color:#d7e1e5}.learning-roster-main{display:grid;min-width:0;gap:2px}.learning-roster-main strong{overflow:hidden;color:var(--color-ink-strong);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.learning-roster-main small,.learning-roster-main em{overflow:hidden;color:var(--color-muted);font-size:11px;font-style:normal;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.learning-roster-main em{color:#6b7c84}.learning-roster-score{display:grid;justify-items:end;gap:3px;min-width:45px}.learning-roster-score b{color:var(--color-ink-strong);font-size:14px;font-variant-numeric:tabular-nums}.learning-roster-score small{color:var(--color-muted);font-size:10px;white-space:nowrap}.learning-profile-panel{min-height:585px;padding:22px}.learning-profile-heading{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--color-border)}.learning-avatar-large{width:46px;height:46px;font-size:20px}.learning-profile-heading h2{margin:2px 0 4px;color:var(--color-ink-strong);font-size:22px;line-height:1.2}.learning-profile-heading p{margin:0;overflow:hidden;color:var(--color-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.learning-profile-kicker{color:var(--color-primary-strong);font-size:11px;font-weight:850}.learning-profile-summary{display:grid;grid-template-columns:108px minmax(0,1fr);gap:18px;align-items:center;padding:20px 0}.learning-profile-ring{display:grid;place-items:center;width:108px;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,#fff 74%,transparent 75%),conic-gradient(var(--ring-color, var(--color-primary)) var(--score),#e3ecee 0)}.learning-profile-ring.attention{--ring-color: #e6a13b}.learning-profile-ring.danger{--ring-color: #d46658}.learning-profile-ring.empty{--ring-color: #a7b8bf}.learning-profile-ring>div{display:grid;justify-items:center;gap:3px}.learning-profile-ring b{color:var(--color-ink-strong);font-size:25px;font-variant-numeric:tabular-nums}.learning-profile-ring span{color:var(--color-muted);font-size:10px;font-weight:800}.learning-profile-summary strong{display:block;color:var(--color-ink-strong);font-size:15px;line-height:1.45}.learning-profile-summary p{margin:5px 0 7px;color:var(--color-muted);font-size:12px;line-height:1.55}.learning-evidence-note{color:#6f8188;font-size:11px}.learning-profile-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;background:#f7fafb;border:1px solid var(--color-border);border-radius:9px}.learning-profile-metrics article{display:grid;gap:5px;min-width:0;padding:12px 11px;border-right:1px solid var(--color-border)}.learning-profile-metrics article:last-child{border-right:0}.learning-profile-metrics span,.learning-profile-metrics small{overflow:hidden;color:var(--color-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.learning-profile-metrics strong{color:var(--color-ink-strong);font-size:20px;line-height:1;font-variant-numeric:tabular-nums}.learning-profile-metrics small{font-size:10px}.learning-profile-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;margin-top:21px;padding-top:20px;border-top:1px solid var(--color-border)}.learning-profile-columns .learning-section-heading{margin-bottom:12px}.learning-profile-columns h3{margin:0 0 4px;color:var(--color-ink-strong);font-size:15px}.learning-profile-columns .learning-section-heading p{font-size:11px}.learning-profile-mastery{display:grid;gap:12px}.learning-profile-mastery>div>div:first-child{display:flex;justify-content:space-between;gap:10px}.learning-profile-mastery strong{overflow:hidden;color:var(--color-ink-strong);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.learning-profile-mastery b{color:var(--color-primary-strong);font-size:12px}.learning-profile-mastery small{display:block;margin-top:4px;color:var(--color-muted);font-size:10px}.learning-profile-mastery .learning-mastery-track{height:7px;margin-top:6px}.learning-profile-lower{margin-top:20px}.learning-profile-weak-list{display:grid;gap:0}.learning-profile-weak-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:9px 0;border-top:1px solid var(--color-border)}.learning-profile-weak-list article:first-child{padding-top:0;border-top:0}.learning-profile-weak-list strong{overflow:hidden;color:var(--color-ink-strong);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.learning-profile-weak-list span{overflow:hidden;color:var(--color-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.learning-profile-weak-list b{grid-row:span 2;align-self:center;color:#ae6715;font-size:11px;white-space:nowrap}.learning-activity-list{display:grid;gap:0}.learning-activity-list article{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:9px;align-items:start;padding:8px 0;border-top:1px solid var(--color-border)}.learning-activity-list article:first-child{padding-top:0;border-top:0}.learning-activity-list i{width:7px;height:7px;margin-top:5px;background:var(--color-primary);border-radius:50%;box-shadow:0 0 0 3px #e3f1f3}.learning-activity-list strong{display:block;overflow:hidden;color:var(--color-ink-strong);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.learning-activity-list em{margin-right:4px;color:var(--color-primary-strong);font-style:normal;font-weight:850}.learning-activity-list span,.learning-activity-list time{color:var(--color-muted);font-size:10px}.learning-activity-list time{white-space:nowrap}.learning-profile-empty{display:grid;place-items:center;align-content:center;min-height:520px;gap:9px;color:var(--color-muted);text-align:center}.learning-profile-empty strong{color:var(--color-ink-strong);font-size:17px}.learning-profile-empty span{max-width:30ch;font-size:12px;line-height:1.6}.learning-profile-empty>svg{color:var(--color-primary);animation:learning-profile-spin 1.1s linear infinite}.learning-profile-empty-icon{display:grid;place-items:center;width:52px;height:52px;color:var(--color-primary-strong);background:#e8f5f6;border-radius:50%}.learning-profile-empty-hint{display:inline-flex;align-items:center;gap:4px;margin-top:5px;color:var(--color-primary-strong);font-size:11px;font-weight:800}.learning-alert-rail{display:grid;align-content:start;gap:15px;min-width:0;padding:20px;color:#173642;background:#e9f5f6;border:1px solid #c6e1e6;border-radius:14px}.learning-alert-head{display:flex;justify-content:space-between;gap:12px}.learning-alert-rail .learning-overview-kicker{color:var(--color-primary-strong)}.learning-alert-head h2{margin:6px 0 4px;color:#123f4b;font-size:20px}.learning-alert-head p{margin:0;color:#48717c;font-size:11px;line-height:1.5}.learning-alert-head>b{display:grid;place-items:center;width:38px;height:38px;color:#a94f43;background:var(--color-danger-pale);border:1px solid #efc5bd;border-radius:50%;font-size:16px}.learning-alert-summary{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;background:#ffffff94;border:1px solid var(--color-border-teal-soft);border-radius:8px}.learning-alert-summary article{display:grid;gap:3px;padding:9px 5px;text-align:center;border-right:1px solid #d4e7e9}.learning-alert-summary article:last-child{border-right:0}.learning-alert-summary strong{color:#244f5b;font-size:18px}.learning-alert-summary span{color:#5e7880;font-size:10px}.learning-alert-summary .danger strong{color:#b04d42}.learning-alert-summary .attention strong{color:#b07417}.learning-alert-list{display:grid;gap:0}.learning-alert-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;padding:10px 0;color:inherit;background:transparent;border:0;border-top:1px solid #cfe4e7;text-align:left;cursor:pointer}.learning-alert-row:first-child{border-top:0}.learning-alert-row:hover,.learning-alert-row:focus-visible{color:#0c6875;outline:0}.learning-alert-dot{width:7px;height:7px;border-radius:50%;background:#e4a13a}.learning-alert-dot.danger{background:#d26658}.learning-alert-dot.steady{background:#388b71}.learning-alert-row strong{display:block;color:#173642;font-size:12px}.learning-alert-row small{display:block;margin-top:3px;overflow:hidden;color:#5a767e;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.learning-alert-note{display:flex;gap:8px;align-items:flex-start;padding:10px;color:#416c76;background:#ffffff80;border:1px solid var(--color-border-teal-soft);border-radius:8px}.learning-alert-note svg{flex:0 0 auto;margin-top:1px;color:var(--color-primary)}.learning-alert-note p{margin:0;font-size:11px;line-height:1.55}@keyframes learning-profile-spin{to{transform:rotate(360deg)}}@media(max-width:1220px){.learning-portrait-layout{grid-template-columns:minmax(230px,.8fr) minmax(420px,1.4fr)}.learning-alert-rail{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;align-items:start}.learning-alert-head,.learning-alert-note{grid-column:1 / -1}}@media(max-width:860px){.learning-portrait-layout,.learning-alert-rail{grid-template-columns:minmax(0,1fr)}.learning-alert-head,.learning-alert-note{grid-column:auto}.learning-roster-list{max-height:420px}.learning-profile-panel{min-height:0}.learning-profile-empty{min-height:360px}}@media(max-width:620px){.learning-profile-panel{padding:17px}.learning-profile-heading{grid-template-columns:40px minmax(0,1fr)}.learning-profile-heading .ghost-button{grid-column:1 / -1;justify-self:start}.learning-avatar-large{width:40px;height:40px}.learning-profile-heading h2{font-size:19px}.learning-profile-summary{grid-template-columns:88px minmax(0,1fr);gap:12px}.learning-profile-ring{width:88px}.learning-profile-ring b{font-size:21px}.learning-profile-metrics{grid-template-columns:repeat(2,1fr)}.learning-profile-metrics article:nth-child(2){border-right:0}.learning-profile-metrics article:nth-child(-n+2){border-bottom:1px solid var(--color-border)}.learning-profile-columns{grid-template-columns:minmax(0,1fr);gap:18px}.learning-profile-lower{margin-top:18px}.learning-alert-rail{padding:17px}}.learning-profile-columns{align-items:start}.learning-profile-columns>section{align-self:start;min-width:0}.learning-profile-columns .learning-sparkline{display:block;height:150px;min-height:0}.learning-profile-columns .learning-chart-empty{min-height:150px}.learning-roster-row{min-height:64px}.learning-activity-list strong{display:block;max-height:2.8em;overflow:hidden;line-height:1.4;text-overflow:ellipsis;white-space:normal}.learning-activity-list strong .latex-text,.learning-activity-list span .latex-text{display:inline}.learning-activity-list .latex-text .katex{max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:baseline}.learning-portrait-layout.has-selected-student{grid-template-columns:minmax(230px,.34fr) minmax(0,1.66fr);align-items:start}.learning-portrait-layout.has-selected-student .learning-roster-panel{position:sticky;top:170px;max-height:calc(100vh - 190px);max-height:calc(100dvh - 190px);overflow:hidden}.learning-portrait-layout.has-selected-student .learning-roster-list{max-height:calc(100vh - 320px);max-height:calc(100dvh - 320px);padding-bottom:8px}.learning-portrait-layout.has-selected-student .learning-profile-panel{grid-column:2;min-height:0}.learning-portrait-layout.has-selected-student .learning-alert-rail{grid-column:1 / -1;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(300px,1.4fr) minmax(220px,.8fr);align-items:start}.learning-portrait-layout.has-selected-student .learning-alert-head{grid-column:auto}.learning-portrait-layout.has-selected-student .learning-alert-note{grid-column:auto;align-self:stretch}.learning-portrait-layout.has-selected-student .learning-alert-list{min-width:0}.learning-portrait-layout.has-selected-student .learning-alert-summary{align-self:start}@media(max-width:1220px){.learning-portrait-layout.has-selected-student{grid-template-columns:minmax(215px,.38fr) minmax(0,1.62fr)}.learning-portrait-layout.has-selected-student .learning-alert-rail{grid-template-columns:minmax(210px,.8fr) minmax(0,1.2fr)}.learning-portrait-layout.has-selected-student .learning-alert-note{grid-column:1 / -1}}@media(max-width:860px){.learning-portrait-layout.has-selected-student{grid-template-columns:minmax(0,1fr)}.learning-portrait-layout.has-selected-student .learning-roster-panel{position:static;max-height:none}.learning-portrait-layout.has-selected-student .learning-roster-list{max-height:420px}.learning-portrait-layout.has-selected-student .learning-profile-panel,.learning-portrait-layout.has-selected-student .learning-alert-rail{grid-column:auto}.learning-portrait-layout.has-selected-student .learning-alert-rail{grid-template-columns:minmax(0,1fr)}.learning-portrait-layout.has-selected-student .learning-alert-note{grid-column:auto}}@media(min-width:861px){.learning-portrait-layout.has-selected-student .learning-roster-panel{grid-column:1;grid-row:1 / span 2}.learning-portrait-layout.has-selected-student .learning-profile-panel{grid-column:2;grid-row:1}.learning-portrait-layout.has-selected-student .learning-alert-rail{grid-column:2;grid-row:2;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr)}.learning-portrait-layout.has-selected-student .learning-alert-head{grid-column:1 / -1}.learning-portrait-layout.has-selected-student .learning-alert-summary{grid-column:1}.learning-portrait-layout.has-selected-student .learning-alert-list{grid-column:2}.learning-portrait-layout.has-selected-student .learning-alert-note{grid-column:1 / -1}}.assistant-review-page .student-hero,.homework-gradebook-page .student-hero,.attendance-gradebook-page .student-hero,.student-hero.profile-hero,.learning-intervention-page .learning-overview-header{color:var(--color-on-primary);background:linear-gradient(135deg,var(--learning-hero-start) 0%,var(--learning-hero-end) 100%);border-color:transparent;box-shadow:0 18px 40px var(--learning-hero-shadow)}.assistant-review-page .student-hero span,.homework-gradebook-page .student-hero span,.attendance-gradebook-page .student-hero span,.student-hero.profile-hero span,.learning-intervention-page .learning-overview-kicker{color:var(--learning-hero-kicker)}.assistant-review-page .student-hero>svg,.homework-gradebook-page .student-hero>svg,.attendance-gradebook-page .student-hero>svg,.student-hero.profile-hero>svg{color:var(--color-on-primary)}.learning-overview-teacher .learning-overview-header,.student-hero.analytics-hero,.student-hero.gradebook-analysis-hero,.student-hero.common-hero,.student-hero.warning-hero,.student-hero.reports-hero,.student-hero.points-hero,.point-evaluation-page .points-page-heading{color:var(--color-on-primary);background:linear-gradient(135deg,var(--learning-hero-start) 0%,var(--learning-hero-end) 100%);border-color:transparent;box-shadow:0 16px 32px var(--learning-hero-shadow)}.learning-overview-teacher .learning-overview-kicker,.student-hero.analytics-hero span,.student-hero.gradebook-analysis-hero span,.student-hero.common-hero span,.student-hero.warning-hero span,.student-hero.reports-hero span,.student-hero.points-hero span,.point-evaluation-page .points-page-heading>div>span{color:var(--learning-hero-kicker)}:root{--learning-control-surface: var(--color-surface);--learning-filter-surface: var(--color-surface-muted);--learning-action-ink: #214938;--learning-action-surface: #e5f2dc;--learning-action-hover-ink: #163c2d;--learning-action-hover-surface: #f2fae9}.learning-filter-row{background:var(--learning-filter-surface)}.learning-filter-row select,.learning-glance-grid{background:var(--learning-control-surface)}.learning-header-tools .learning-intervention-entry{color:var(--learning-action-ink);background:var(--learning-action-surface)}.learning-header-tools .learning-intervention-entry:hover:not(:disabled){color:var(--learning-action-hover-ink);background:var(--learning-action-hover-surface)}@media(max-width:760px){.resource-mini-actions .resource-card-menu-button,.classroom-hub-tabs button,.classroom-composer-tabs button,.classroom-float-tabs button,.learning-path-step button,.student-intervention-list button,.learning-insight-rail .primary,.student-next-step .primary,.kg-view-btn,.teacher-homework-page .ghost-button,.dashboard-hero-actions button,.classroom-float-question-trigger{min-height:44px}.resource-mini-actions .resource-card-menu-button{width:44px;height:44px}.learning-filter-row select{min-height:44px}.practice-view-toggle button{min-width:44px;min-height:44px}}@media(max-width:360px){.bottom-tabs{width:calc(100% - 4px - env(safe-area-inset-left) - env(safe-area-inset-right));gap:0;padding:2px;overflow-x:auto}.bottom-tabs button{flex:1 0 44px;min-width:44px}}.learning-overview-student .learning-overview-header{background:linear-gradient(135deg,var(--student-hero-start),var(--student-hero-end))}.learning-path{background:var(--color-primary-soft);border-color:var(--color-primary-border)}.learning-path-kicker{color:var(--color-primary-strong)}.student-progress-ring{background:radial-gradient(closest-side,var(--color-surface) 75%,transparent 76% 100%),conic-gradient(var(--color-primary) var(--progress),var(--color-primary-border) 0)}.student-subject-circle-list article>div,.student-subject-circle-list article:nth-child(2)>div{background:radial-gradient(closest-side,var(--color-surface) 72%,transparent 73% 100%),conic-gradient(var(--color-primary) var(--score),var(--color-primary-border) 0)}.student-next-step{color:var(--color-ink-strong);background:var(--color-primary-soft);border-color:var(--color-primary-border)}.student-next-step>div>span,.student-next-step li:before{color:var(--color-primary-strong)}.student-next-step h2{color:var(--color-ink-strong)}.student-next-step p,.student-next-step ol{color:var(--color-muted-strong)}.student-next-step li:before{border-color:var(--color-primary-border)}.student-next-step .primary{background:var(--color-primary);border-color:var(--color-primary)}
