:root{--navy:#173A5E;--blue:#3478F6;--teal:#35C9A5;--sky:#E9F1FF;--gold:#FFC857;--ink:#17212B;--muted:#5E7186;--line:#DCE7F4;--surface:#fff;--bg:#F5F8FC;--danger:#C34242;--success:#35C9A5;--shadow:0 18px 55px rgba(23,58,94,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}.site-footer{text-align:center;padding:28px;color:#7d8a94;font-size:14px}.entry-page{min-height:100vh;background:radial-gradient(circle at 10% 15%,#DCE7F4 0,transparent 34%),linear-gradient(135deg,#F5F8FC,#FBFDFF 55%,#EAF2FC)}.entry-shell{min-height:calc(100vh - 70px);display:grid;place-items:center;padding:40px 20px}.entry-card{width:min(620px,100%);background:rgba(255,255,255,.94);padding:54px;border:1px solid rgba(52,120,246,.14);box-shadow:var(--shadow);border-radius:24px;position:relative;overflow:hidden}.entry-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:7px;background:linear-gradient(90deg,var(--navy),var(--teal),var(--gold))}.entry-eyebrow,.page-title>div>span,.section-heading>div>span{font-weight:800;letter-spacing:.14em;color:var(--teal);font-size:13px}.entry-card h1{font-size:38px;line-height:1.18;margin:14px 0 12px;color:var(--navy)}.entry-lead{font-size:16px;color:var(--muted);line-height:1.8}.exam-rules{display:grid;grid-template-columns:repeat(3,1fr);margin:30px 0;border:1px solid var(--line);border-radius:16px;background:#f8fbfc}.exam-rules div{padding:18px;text-align:center;border-right:1px solid var(--line)}.exam-rules div:last-child{border:0}.exam-rules strong{display:block;font-size:24px;color:var(--navy)}.exam-rules span{font-size:13px;color:var(--muted)}.entry-form{display:grid;gap:11px}.entry-form label,.editor-form label{font-weight:700;color:#30414f}.entry-form input,.editor-form input,.editor-form select,.editor-form textarea{width:100%;border:1px solid #DCE7F4;border-radius:10px;padding:13px 14px;background:#fff;outline:none}.entry-form input:focus,.editor-form input:focus,.editor-form textarea:focus,.editor-form select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(53,201,165,.12)}.primary-button,.secondary-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:12px 20px;font-weight:800;cursor:pointer}.primary-button{background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;box-shadow:0 8px 20px rgba(52,120,246,.18)}.secondary-button{background:#fff;color:var(--navy);border:1px solid var(--line)}.danger-button{background:#fff1f1;color:var(--danger);border:1px solid #efc9c9}.wide{width:100%;margin-top:8px}.fine-print{font-size:13px;line-height:1.7;color:#7c8a94;margin:18px 0 0}.alert{border-radius:10px;padding:12px 15px;margin:16px 0}.alert.danger{background:#fff0f0;color:#9f2f2f;border:1px solid #f0caca}.compact-card,.login-card{max-width:480px;text-align:center}.error-code{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#fff0f0;color:var(--danger);font-size:36px;font-weight:900;margin:auto}.login-card .entry-form{text-align:left}.pill{display:inline-block;border-radius:999px;padding:7px 12px;background:var(--sky);color:var(--blue);font-weight:800;font-size:13px}.pill.warning{background:#fff0d6;color:#9a6413}
.start-overlay{position:fixed;inset:0;z-index:100;background:rgba(9,30,49,.78);backdrop-filter:blur(14px);display:grid;place-items:center;padding:20px}.start-overlay.hidden{display:none}.start-dialog{width:min(540px,100%);background:#fff;border-radius:22px;padding:44px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.start-dialog h1{color:var(--navy);font-size:30px}.start-dialog p{color:var(--muted);line-height:1.8}.exam-page{background:#edf3f6}.exam-header{position:sticky;top:0;z-index:20;height:74px;padding:0 26px;display:flex;align-items:center;gap:26px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 5px 20px rgba(23,58,94,.06)}.brand{display:flex;align-items:center;gap:12px;font-weight:900;color:var(--navy)}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--navy),var(--teal));color:#fff}.brand.compact{min-width:260px}.candidate{display:flex;flex-direction:column;border-left:1px solid var(--line);padding-left:24px}.candidate span,.exam-metrics span{font-size:13px;color:var(--muted)}.exam-metrics{display:flex;align-items:center;gap:28px;margin-left:auto}.exam-metrics>div{display:flex;flex-direction:column;min-width:62px}.exam-metrics strong{color:var(--navy);font-size:17px}.exam-metrics .timer strong{color:var(--danger);font-variant-numeric:tabular-nums}.exam-layout{width:min(1320px,100%);margin:0 auto;padding:28px;display:grid;grid-template-columns:255px minmax(0,1fr);gap:24px}.question-nav{position:sticky;top:98px;align-self:start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 8px 24px rgba(23,58,94,.05)}.nav-title{font-weight:900;color:var(--navy);margin-bottom:14px}.number-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.number-grid a{height:34px;border:1px solid var(--line);border-radius:7px;display:grid;place-items:center;color:var(--muted);font-size:13px}.number-grid a.answered{background:var(--teal);border-color:var(--teal);color:#fff}.legend{display:flex;gap:18px;border-top:1px solid var(--line);margin-top:16px;padding-top:13px;color:var(--muted);font-size:13px}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:10px;height:10px;border:1px solid var(--line);border-radius:3px}.legend i.done{background:var(--teal);border-color:var(--teal)}.proctor-note{margin-top:18px;padding:14px;background:#fff8e8;border-left:3px solid var(--gold);display:flex;flex-direction:column;gap:6px;font-size:13px}.proctor-note span{color:#7b6846;line-height:1.55}.question-list{display:grid;gap:18px}.question-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 30px;scroll-margin-top:96px;box-shadow:0 7px 22px rgba(23,58,94,.04)}.question-meta{display:flex;gap:8px}.question-meta span{background:#EAF2FC;color:var(--blue);font-weight:700;font-size:13px;padding:5px 9px;border-radius:999px}.question-card h2{font-size:18px;line-height:1.75;margin:16px 0 20px}.options{display:grid;gap:10px}.option{display:flex;align-items:flex-start;gap:12px;border:1px solid #dde6eb;border-radius:11px;padding:13px 15px;cursor:pointer;line-height:1.6;transition:.18s}.option:hover{border-color:#91bccb;background:#f7fbfc}.option:has(input:checked){border-color:var(--teal);background:#E6F7F2;box-shadow:0 0 0 2px rgba(53,201,165,.08)}.option input{position:absolute;opacity:0}.option-key{flex:0 0 25px;height:25px;border:1px solid #b8c8d0;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;color:#60717c}.option:has(input:checked) .option-key{background:var(--teal);border-color:var(--teal);color:#fff}.save-state{text-align:right;height:16px;margin-top:10px;color:#9aa5ad;font-size:13px}.save-state.saved{color:var(--success)}.toast{position:fixed;right:24px;bottom:24px;background:var(--navy);color:#fff;border-radius:10px;padding:12px 18px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:200}.toast.show{opacity:1;transform:none}.toast.danger{background:var(--danger)}
.result-shell{width:min(980px,100%);margin:0 auto;padding:50px 20px}.result-hero{text-align:center;background:linear-gradient(145deg,var(--navy),#1F4A78);color:#fff;padding:48px;border-radius:24px;box-shadow:var(--shadow)}.result-hero h1{font-size:30px}.result-hero p{color:#cfe0e7}.result-back-button{margin-top:22px;background:#fff;color:var(--navy);box-shadow:none}.score-ring{margin:28px auto 18px;width:180px;height:180px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:8px solid rgba(255,255,255,.16);box-shadow:inset 0 0 0 3px var(--gold)}.score-ring strong{font-size:62px;line-height:1}.score-ring span{color:#dce9ee}.analysis-card{background:#fff;border-radius:20px;padding:32px;margin-top:24px;border:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:18px}.section-heading h2{margin:7px 0 0;color:var(--navy)}.section-heading p{color:var(--muted)}.analysis-list{display:grid;gap:16px;margin-top:22px}.analysis-row{display:grid;grid-template-columns:210px 1fr 60px;gap:16px;align-items:center}.analysis-row>div:first-child{display:flex;flex-direction:column}.analysis-row span{color:var(--muted);font-size:13px}.progress{height:8px;background:#e6edf0;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--teal));border-radius:inherit}
.admin-page{background:#f2f6f8}.admin-topbar{height:70px;display:flex;align-items:center;padding:0 max(24px,calc((100vw - 1440px)/2));gap:38px;background:var(--navy);color:#fff}.admin-topbar .brand{color:#fff}.admin-topbar nav{display:flex;gap:6px}.admin-topbar nav a{color:#cfe0e7;padding:10px 13px;border-radius:8px;font-size:14px}.admin-topbar nav a:hover{background:rgba(255,255,255,.08);color:#fff}.admin-topbar form{margin-left:auto}.brand-logo{display:block}.admin-topbar .brand-logo{height:52px;width:auto}.student-topbar .brand-logo{height:44px;width:auto}.brand.compact .brand-logo{height:28px;width:auto}.brand-login{display:block;width:min(240px,70%);height:auto;margin:0 auto 8px}.brand-hero{display:block;width:min(220px,60%);height:auto;margin:0 auto 20px}.link-button{border:0;background:none;color:var(--blue);padding:0;cursor:pointer}.link-button.disabled{color:#9aa6ae;cursor:not-allowed}.admin-topbar .link-button{color:#dbe9ee}.admin-main{width:min(1440px,100%);margin:0 auto;padding:34px 26px 60px}.admin-main.narrow{max-width:980px}.page-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.page-title h1{color:var(--navy);font-size:30px;margin:6px 0}.page-title p{color:var(--muted);margin:0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;display:flex;flex-direction:column;gap:8px}.stat-card span{color:var(--muted);font-size:14px}.stat-card strong{font-size:34px;color:var(--navy)}.stat-card.accent{background:linear-gradient(145deg,var(--blue),var(--teal));border:0}.stat-card.accent span,.stat-card.accent strong{color:#fff}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;margin-bottom:20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-heading h2{color:var(--navy);margin:0;font-size:19px}.panel-heading span,.panel-heading a{font-size:13px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:#647481;background:#f4f8fa;font-size:13px;letter-spacing:.03em}th,td{padding:12px 13px;border-bottom:1px solid #e6edf0;vertical-align:middle}tbody tr:hover{background:#fbfdfe}.status,.difficulty,.mastery{display:inline-block;padding:5px 8px;border-radius:999px;font-size:13px;font-weight:800}.status.submitted{background:#E6F7F2;color:var(--success)}.status.auto_submitted{background:#fff0df;color:#a76315}.status.in_progress{background:#EBF3FF;color:var(--blue)}.weak-list{display:grid;gap:11px}.weak-list div{display:flex;justify-content:space-between;padding:13px;background:#f7fafb;border-radius:9px}.weak-list strong{color:var(--danger)}.empty{text-align:center;color:#8b98a2;padding:30px}.question-table{min-width:1150px}.stem-cell{min-width:360px;max-width:560px;line-height:1.6}.difficulty{background:#EAF2FC;color:var(--blue)}.difficulty.high{background:#fff0e4;color:#a45e18}.actions{white-space:nowrap}.actions,.actions form{display:flex;align-items:center;gap:12px}.muted-row{opacity:.55}.editor-form{display:grid;gap:18px}.editor-form label{display:grid;gap:8px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.form-actions{display:flex;gap:12px;padding-top:8px}.detail-table{min-width:1200px}.correct-text{color:var(--success);font-weight:800}.wrong-text{color:var(--danger);font-weight:800}.event-list{display:grid;gap:9px}.event-list div{display:flex;justify-content:space-between;padding:10px 12px;background:#f7fafb;border-radius:8px}.event-list span{color:var(--muted);font-size:13px}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px}.module-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;display:grid;grid-template-columns:1fr auto;gap:10px}.module-card span{font-weight:800;color:var(--navy)}.module-card strong{color:var(--teal);font-size:24px}.module-card .progress,.module-card small{grid-column:1/-1}.module-card small{color:var(--muted)}.accuracy-cell{min-width:190px;display:grid;grid-template-columns:1fr 48px;align-items:center;gap:10px}.mastery.good{background:#E6F7F2;color:var(--success)}.mastery.medium{background:#fff4df;color:#946118}.mastery.weak{background:#fff0f0;color:var(--danger)}
@media(max-width:900px){.entry-card{padding:36px 25px}.entry-card h1{font-size:30px}.exam-header{padding:0 14px;gap:10px}.brand.compact{min-width:auto}.brand.compact span:last-child,.candidate,.exam-metrics>div:not(.timer){display:none}.exam-layout{grid-template-columns:1fr;padding:14px}.question-nav{position:static}.number-grid{grid-template-columns:repeat(10,1fr)}.question-card{padding:22px 18px}.analysis-row{grid-template-columns:1fr 55px}.analysis-row>div:first-child{grid-column:1/-1}.admin-topbar{padding:0 14px}.admin-topbar .brand span:last-child{display:none}.admin-topbar nav{gap:0;overflow:auto}.admin-topbar nav a{white-space:nowrap;padding:10px 8px}.stat-grid,.dashboard-grid,.module-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.page-title{align-items:flex-start;gap:18px}.analysis-card{padding:22px}.section-heading{display:block}}
@media(max-width:600px){.exam-rules{grid-template-columns:1fr}.exam-rules div{border-right:0;border-bottom:1px solid var(--line)}.number-grid{grid-template-columns:repeat(7,1fr)}.exam-header{height:64px}.exam-metrics{margin-left:auto}.exam-header .danger-button{padding:9px}.question-card h2{font-size:16px}.stat-grid,.module-grid{grid-template-columns:1fr}.admin-main{padding:24px 14px}.page-title{display:block}.page-title .primary-button,.page-title .secondary-button{margin-top:15px}.result-hero{padding:36px 20px}}

/* Python平台扩展：富媒体、知识树、主观题阅卷与AI组卷 */
.question-media{margin:4px 0 22px;padding:16px;background:#f7fafb;border:1px solid var(--line);border-radius:12px}.question-media img,.question-media video{display:block;max-width:100%;max-height:520px;margin:auto;border-radius:8px}.question-media audio{width:100%}.question-media pre{margin:0;overflow:auto;background:#122334;color:#eaf4f6;padding:18px;border-radius:8px}.question-media figcaption{margin-top:10px;color:var(--muted);font-size:13px;text-align:center}.subjective-label{font-weight:800;color:var(--navy)}.subjective-answer{width:100%;resize:vertical;border:1px solid #DCE7F4;border-radius:11px;padding:14px;line-height:1.7;outline:none}.subjective-answer:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(53,201,165,.12)}.code-answer{font-family:Consolas,"Cascadia Code",monospace;background:#122334;color:#eef8fa;border-color:#243e52;tab-size:2}.answer-hint{color:var(--muted)}.pending-note{display:inline-block;margin-top:8px;padding:9px 13px;border-radius:9px;background:#fff5dc;color:#8a5c12}.media-fieldset{border:1px solid var(--line);border-radius:12px;padding:16px}.media-fieldset legend{font-weight:800;color:var(--navy);padding:0 8px}.knowledge-path-cell{min-width:280px;color:var(--muted);font-size:13px}.version-badge,.ai-status{padding:9px 13px;border-radius:999px;background:#e4f1f4;color:var(--teal);font-size:13px;font-weight:800}.knowledge-summary,.ai-model-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.knowledge-summary>div,.ai-model-bar>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:6px}.knowledge-summary strong{font-size:28px;color:var(--navy)}.knowledge-summary span,.ai-model-bar span{font-size:13px;color:var(--muted)}.ai-model-bar{grid-template-columns:repeat(3,1fr)}.ai-model-bar strong{color:var(--navy)}.knowledge-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:20px}.tree-editor{align-self:start;position:sticky;top:90px}.tree-list{display:grid;gap:5px}.tree-row{display:grid;grid-template-columns:calc((var(--tree-level) - 1) * 22px) 72px minmax(0,1fr) auto;align-items:center;min-height:40px;padding:5px 10px;border-radius:8px}.tree-row:hover{background:#f4f8fa}.tree-row .node-type{font-size:12px;color:var(--muted);background:#eef3f5;border-radius:999px;padding:4px 6px;text-align:center}.tree-row strong{font-size:14px;color:#334653}.tree-row>b{font-size:13px;color:var(--teal)}.tree-row.node-product_line strong{font-size:18px;color:var(--navy)}.tree-row.node-direction strong{font-size:16px;color:var(--blue)}.tree-row.node-course strong{font-size:14px;color:var(--navy)}.ai-status.waiting{background:#fff2df;color:#9a6413}.ai-status.ready{background:#E6F7F2;color:var(--success)}.ai-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.primary-button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.ai-job-list{display:grid;gap:12px}.ai-job{border:1px solid var(--line);border-radius:12px;padding:16px}.ai-job-head{display:flex;align-items:center;justify-content:space-between}.ai-job-head>div{display:flex;flex-direction:column;gap:4px}.ai-job-head span{color:var(--muted);font-size:13px}.job-status{padding:6px 9px;border-radius:999px;font-weight:800}.job-status.review_required{background:#fff4df;color:#946118}.job-status.failed{background:#fff0f0;color:var(--danger)}.job-status.running{background:#EBF3FF;color:var(--blue)}.ai-job details{margin-top:12px}.ai-job summary{cursor:pointer;color:var(--blue);font-weight:800}.json-preview{max-height:560px;overflow:auto;white-space:pre-wrap;background:#122334;color:#eaf4f6;border-radius:10px;padding:16px;line-height:1.55}.answer-preview{max-width:360px;max-height:170px;overflow:auto;white-space:pre-wrap;line-height:1.6}.grade-form{min-width:210px;display:grid;gap:7px}.grade-form>div{display:flex;align-items:center;gap:6px}.grade-form input{min-width:0;border:1px solid var(--line);border-radius:7px;padding:7px}.grade-form input[type=number]{width:70px}.grade-form .secondary-button{padding:7px 10px}.detail-table{min-width:1500px}
@media(max-width:900px){.knowledge-summary{grid-template-columns:1fr 1fr}.knowledge-layout,.ai-tool-grid{grid-template-columns:1fr}.tree-editor{position:static}.ai-model-bar{grid-template-columns:1fr}.question-media{padding:10px}}

.release-picker{display:grid;gap:9px;margin-bottom:8px}.release-option{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:13px;cursor:pointer;background:#fff}.release-option:has(input:checked){border-color:var(--teal);background:#E6F7F2;box-shadow:0 0 0 2px rgba(53,201,165,.08)}.release-option input{margin-top:5px}.release-option>span{display:flex;flex-direction:column;gap:5px}.release-option strong{color:var(--navy)}.release-option small{color:var(--muted);line-height:1.55}.workflow-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px}.workflow-strip a{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px;color:var(--ink)}.workflow-strip a.active{border-color:var(--teal);background:#E6F7F2}.workflow-strip b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e9f0f3;color:var(--navy)}.workflow-strip .active b{background:var(--teal);color:#fff}.workflow-strip span{display:flex;flex-direction:column;font-weight:800}.workflow-strip small{font-weight:400;color:var(--muted);margin-top:2px}.paper-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.paper-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;min-height:280px}.paper-card-head{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px}.paper-status,.release-status{display:inline-block;padding:5px 8px;border-radius:999px;font-size:13px;font-weight:800}.paper-status.draft,.release-status.draft{background:#eef2f4;color:var(--muted)}.paper-status.ready{background:#EBF3FF;color:var(--blue)}.paper-status.published,.release-status.published{background:#E6F7F2;color:var(--success)}.release-status.closed{background:#fff0df;color:#a76315}.paper-card h2{font-size:19px;color:var(--navy);margin:18px 0 8px}.paper-card>p{color:var(--muted);line-height:1.65;font-size:14px;flex:1}.paper-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:12px 0}.paper-metrics div{display:flex;flex-direction:column;text-align:center}.paper-metrics strong{color:var(--navy);font-size:20px}.paper-metrics span{color:var(--muted);font-size:13px}.paper-actions{display:flex;align-items:center;gap:14px;min-height:42px}.paper-actions .secondary-button{padding:8px 12px}.locked-note{font-size:13px;color:var(--muted)}.paper-info-form{position:sticky;top:82px;z-index:12;box-shadow:0 8px 24px rgba(23,58,94,.08)}.paper-info-form>label{display:grid;gap:8px;font-weight:700;color:#30414f}.paper-form-tip,.paper-live-total{display:flex;flex-direction:column;justify-content:center;padding:9px 14px;border-radius:10px}.paper-form-tip{background:#f4f8fa}.paper-form-tip span,.paper-form-tip strong{font-size:13px}.paper-form-tip strong{color:var(--muted);line-height:1.45}.paper-live-total{background:#E6F7F2}.paper-live-total span{color:var(--muted);font-size:13px}.paper-live-total strong{font-size:22px;color:var(--teal)}.paper-filter-bar{display:flex;gap:10px;margin-bottom:16px}.paper-filter-bar input,.paper-filter-bar select{border:1px solid var(--line);border-radius:9px;padding:10px 12px}.paper-filter-bar input{flex:1}.paper-question-table{min-width:1200px}.paper-question-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--teal)}.paper-score-input{width:78px;border:1px solid var(--line);border-radius:7px;padding:7px}.paper-question-table tr.selected-row{background:#f0faf8}.sticky-paper-actions{position:sticky;bottom:0;z-index:15;display:flex;align-items:center;justify-content:flex-end;gap:12px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:14px;padding:13px 18px;box-shadow:0 -8px 28px rgba(23,58,94,.1)}.sticky-paper-actions>div{margin-right:auto;display:flex;flex-direction:column}.sticky-paper-actions span{font-size:13px;color:var(--muted)}.sticky-paper-actions strong{color:var(--navy)}.page-actions{display:flex;gap:10px}.paper-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.paper-overview div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;display:flex;flex-direction:column;gap:6px}.paper-overview span{font-size:13px;color:var(--muted)}.paper-overview strong{font-size:22px;color:var(--navy)}.paper-preview-list{display:grid;gap:12px}.paper-preview-list article{border:1px solid var(--line);border-radius:12px;padding:18px}.paper-preview-list article>div{display:flex;gap:7px}.paper-preview-list article>div span{font-size:12px;font-weight:800;color:var(--blue);background:#EAF2FC;border-radius:999px;padding:5px 8px}.paper-preview-list h3{font-size:15px;line-height:1.65;margin:13px 0 8px}.paper-preview-list p{font-size:13px;color:var(--muted);margin:0}.danger-text{color:var(--danger)}.ai-paper-link{margin-top:12px}
@media(max-width:1100px){.paper-card-grid{grid-template-columns:1fr 1fr}.workflow-strip{grid-template-columns:1fr 1fr}.paper-info-form{position:static}}
@media(max-width:700px){.paper-card-grid,.workflow-strip,.paper-overview{grid-template-columns:1fr}.paper-filter-bar{flex-direction:column}.sticky-paper-actions{flex-wrap:wrap}.sticky-paper-actions>div{width:100%}.page-actions{margin-top:14px}.release-picker{margin-top:4px}}

.workflow-strip.five-steps{grid-template-columns:repeat(5,1fr)}.product-switcher{display:grid;grid-template-columns:210px minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px 16px;margin-bottom:16px}.product-switcher>div{display:flex;flex-direction:column}.product-switcher>div span{font-size:12px;color:var(--muted);letter-spacing:.08em}.product-switcher>div strong{color:var(--navy);margin-top:4px}.product-switcher nav{display:flex;gap:8px;overflow:auto}.product-switcher nav a{min-width:150px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;color:var(--ink)}.product-switcher nav a.active{border-color:var(--teal);background:#E6F7F2}.product-switcher nav span{font-size:13px;font-weight:800;white-space:nowrap}.product-switcher nav small{font-size:12px;color:var(--muted);margin-top:3px}.product-manage-link{white-space:nowrap;font-size:13px;font-weight:800}.product-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:20px}.product-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:start}.product-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;min-height:300px}.product-card-top{display:flex;justify-content:space-between;align-items:center}.product-category{font-size:13px;color:var(--muted)}.product-status{font-size:12px;font-weight:800;padding:5px 8px;border-radius:999px}.product-status.active{background:#E6F7F2;color:var(--success)}.product-status.draft{background:#fff4df;color:#946118}.product-status.archived{background:#eef2f4;color:var(--muted)}.product-card h2{font-size:20px;color:var(--navy);margin:18px 0 8px}.product-card>p{font-size:14px;color:var(--muted);line-height:1.65;min-height:42px;flex:1}.product-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.product-metrics div{background:#f5f8fa;border-radius:9px;padding:10px;display:flex;justify-content:space-between;align-items:center}.product-metrics strong{color:var(--navy)}.product-metrics span{font-size:12px;color:var(--muted)}.product-actions{display:flex;align-items:center;gap:14px}.product-actions .primary-button{padding:8px 12px}.product-create-panel{align-self:start;position:sticky;top:88px}.form-product-context{display:flex;align-items:center;gap:12px;padding:13px 15px;background:#E6F7F2;border:1px solid #cce8e3;border-radius:10px}.form-product-context span{font-size:13px;color:var(--muted)}.form-product-context strong{color:var(--teal)}.form-product-context small{margin-left:auto;color:var(--muted)}
@media(max-width:1150px){.workflow-strip.five-steps{grid-template-columns:repeat(3,1fr)}.product-switcher{grid-template-columns:1fr}.product-switcher nav{grid-row:2}.product-manage-link{position:absolute;right:44px;margin-top:-42px}.product-layout{grid-template-columns:1fr}.product-create-panel{position:static}}
@media(max-width:760px){.workflow-strip.five-steps,.product-card-grid{grid-template-columns:1fr}.product-switcher nav{flex-direction:column}.product-switcher nav a{width:100%}.product-manage-link{position:static;margin:0}.form-product-context{align-items:flex-start;flex-direction:column}.form-product-context small{margin-left:0}}
.release-option em{font-style:normal;font-size:12px;font-weight:800;color:var(--teal);letter-spacing:.04em}
.option-content{display:flex;flex:1;min-width:0;flex-direction:column;gap:10px}.option-text{display:block}.option-media{display:flex;flex-direction:column;gap:7px;max-width:720px}.option-media img,.option-media video{display:block;width:auto;max-width:100%;max-height:380px;object-fit:contain;border-radius:10px;background:#f3f7f9}.option-media small{color:var(--muted);font-size:13px}.option-rich{padding:16px}.option-editor-fieldset{border:1px solid var(--line);border-radius:13px;padding:18px}.option-editor-fieldset>legend{font-weight:900;color:var(--navy);padding:0 8px}.field-help{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.65}.option-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.option-editor-card{display:grid;gap:12px;border:1px solid #dce6eb;border-radius:12px;padding:14px;background:#fbfdfe}.option-editor-card.optional-option{background:#f6f8f9}.option-editor-head{display:flex;align-items:center;gap:9px}.option-editor-head strong{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff}.option-editor-head span{font-size:12px;color:var(--muted)}.option-media-fields{display:grid;grid-template-columns:1.1fr 1.2fr .7fr;gap:10px}.option-media-preview{margin:0;padding:10px;border-radius:10px;background:#eef3f5}.option-media-preview img,.option-media-preview video{display:block;max-width:100%;max-height:230px;margin:auto;border-radius:7px}.option-media-preview figcaption{margin-top:7px;text-align:center;color:var(--muted);font-size:12px}.remove-media{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;justify-content:start;color:var(--danger);font-size:13px}.paper-option-preview{display:grid!important;gap:8px!important;margin:12px 0}.paper-option-preview>div{display:grid!important;grid-template-columns:30px minmax(0,1fr);gap:10px!important;align-items:start;background:#f7fafb;border-radius:9px;padding:10px}.paper-option-preview>div>strong{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#e4eef2;color:var(--navy)}.paper-option-preview>div>span{font-size:13px!important;font-weight:400!important;color:var(--ink)!important;background:none!important;padding:0!important}.paper-option-preview .option-media-preview{margin-top:8px}
@media(max-width:900px){.option-editor-grid{grid-template-columns:1fr}.option-media-fields{grid-template-columns:1fr}.option-media img,.option-media video{max-height:300px}}
.ai-blueprint-panel .panel-heading>div,.compact-document-form+.panel-heading>div{display:flex;flex-direction:column;gap:4px}.ai-blueprint-panel .panel-heading p,.compact-document-form p{margin:0;color:var(--muted);font-size:13px}.ai-blueprint-form{display:grid;gap:16px}.ai-blueprint-toolbar{display:grid;grid-template-columns:180px minmax(280px,1fr) auto;gap:12px;align-items:end}.ai-blueprint-toolbar label{display:grid;gap:7px;font-weight:800;color:var(--navy)}.ai-blueprint-toolbar input{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 12px}.ai-tree-header,.ai-select-row{display:grid;grid-template-columns:minmax(360px,1fr) 70px 110px 130px;gap:10px;align-items:center}.ai-tree-header{padding:9px 12px;background:#eef3f5;color:var(--muted);font-size:12px;font-weight:800;border-radius:9px}.ai-select-tree{max-height:620px;overflow:auto;border:1px solid var(--line);border-radius:11px}.ai-select-row{min-height:46px;padding:5px 12px;border-bottom:1px solid #edf1f3}.ai-select-row:last-child{border-bottom:0}.ai-select-row[data-selectable=true]:hover{background:#f6fafb}.ai-select-row.is-selected{background:#E6F7F2}.ai-select-row.is-hidden{display:none}.ai-node-name{display:grid;grid-template-columns:calc((var(--tree-level) - 1) * 18px) minmax(0,1fr);align-items:center;min-width:0}.ai-node-name>label,.ai-node-name>span+strong{grid-column:2}.ai-node-name label{display:flex;align-items:center;gap:9px;cursor:pointer}.ai-node-name input{width:17px;height:17px;accent-color:var(--teal)}.ai-node-name strong{font-size:13px;color:#344a58}.ai-tree-label{display:inline-flex!important;width:max-content;padding:4px 7px;border-radius:999px;background:#edf2f5;color:var(--muted);font-size:12px;margin-right:8px}.ai-select-row:not(.node-knowledge_point) .ai-node-name{display:flex;padding-left:calc((var(--tree-level) - 1) * 18px);gap:8px}.ai-select-row.node-product_line strong{font-size:17px;color:var(--navy)}.ai-select-row.node-direction strong{font-size:15px;color:var(--blue)}.ai-select-row.node-course strong{font-size:14px;color:var(--navy)}.ai-select-row.node-unit strong{font-size:14px}.ai-bank-count{font-size:13px;font-weight:800;color:var(--teal)}.ai-bank-count.empty{color:var(--danger)}.ai-rule-input{display:flex!important;grid-template-columns:1fr auto!important;align-items:center;gap:5px!important}.ai-rule-input input{min-width:0;width:100%;border:1px solid var(--line);border-radius:8px;padding:8px}.ai-rule-input input:disabled{background:#f1f4f5;color:#a5afb5}.ai-rule-input span{font-size:13px;color:var(--muted)}.ai-blueprint-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ai-blueprint-summary div{display:flex;flex-direction:column;gap:5px;padding:13px 15px;background:#f4f8fa;border-radius:10px}.ai-blueprint-summary span{font-size:12px;color:var(--muted)}.ai-blueprint-summary strong{font-size:20px;color:var(--navy)}.ai-blueprint-summary .invalid{color:var(--danger)}.ai-blueprint-form>.form-actions{align-items:center}.ai-blueprint-form>.form-actions small{color:var(--muted)}.compact-document-form .form-grid{grid-template-columns:1fr 1.4fr auto;align-items:end}.ai-progress{display:grid;gap:7px;margin-top:14px}.ai-progress-track{height:9px;overflow:hidden;background:#e8eef1;border-radius:999px}.ai-progress-track i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--teal));border-radius:inherit;transition:width .45s ease}.ai-progress>div:last-child{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.ai-progress-percent{color:var(--teal)}.ai-job-error{margin:12px 0 0}.ai-job.is-complete .ai-progress-track i{background:var(--success)}.ai-job.is-failed .ai-progress-track i{background:var(--danger)}
@media(max-width:900px){.ai-blueprint-toolbar{grid-template-columns:1fr}.ai-tree-header{display:none}.ai-select-row{grid-template-columns:minmax(0,1fr) 56px 82px 90px}.ai-blueprint-summary{grid-template-columns:1fr 1fr}.compact-document-form .form-grid{grid-template-columns:1fr}.ai-select-tree{max-height:520px}}
@media(max-width:600px){.ai-select-row{grid-template-columns:minmax(0,1fr) 50px}.ai-select-row>.ai-rule-input{grid-column:span 1}.ai-blueprint-summary{grid-template-columns:1fr}}
.exam-link-cell{min-width:150px}.exam-link-cell>a,.exam-link-cell>button{margin-right:8px}.exam-qr-dialog{width:min(520px,calc(100% - 28px));border:0;border-radius:20px;padding:34px;box-shadow:0 28px 80px rgba(23,58,94,.28);text-align:center}.exam-qr-dialog::backdrop{background:rgba(9,30,49,.7);backdrop-filter:blur(5px)}.exam-qr-dialog>div{display:grid;justify-items:center;gap:12px}.exam-qr-dialog>div>span{font-size:13px;font-weight:800;letter-spacing:.12em;color:var(--teal)}.exam-qr-dialog h2{margin:0;color:var(--navy)}.exam-qr-dialog img{width:min(300px,100%);height:auto;border:1px solid var(--line);border-radius:14px;padding:10px;background:#fff}.exam-qr-dialog>a{max-width:100%;font-size:13px;overflow-wrap:anywhere}.exam-qr-dialog small{color:var(--muted);line-height:1.6}.dialog-close{position:absolute;right:16px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:#eef3f5;color:var(--navy);font-size:22px;cursor:pointer}.exam-qr-dialog .form-actions{justify-content:center}.product-dialog{width:min(70vw,calc(100% - 28px));border:0;border-radius:20px;padding:34px;box-shadow:0 28px 80px rgba(23,58,94,.28)}.product-dialog::backdrop{background:rgba(9,30,49,.7);backdrop-filter:blur(5px)}.product-dialog h2{margin:0 0 18px;color:var(--navy);font-size:22px}.product-table{min-width:1000px;background:#fff;border:1px solid var(--line);border-radius:14px;font-size:15px}.product-table th{background:#F5F8FC;font-size:14px;color:var(--navy)}.product-table td{padding:14px 15px}.product-table td strong{color:var(--navy);font-size:15px}.product-table td small{color:var(--muted);display:block;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.chapter-block{border:1px solid var(--line);border-radius:12px;margin-top:14px;overflow:hidden}.chapter-block>summary{list-style:none;cursor:pointer}.chapter-block>summary::-webkit-details-marker{display:none}.chapter-block:not([open])>.chapter-head{border-bottom:0}.chapter-head{display:flex;align-items:center;gap:12px;padding:13px 16px;background:#F5F8FC;border-bottom:1px solid var(--line)}.chapter-fold{color:var(--muted);font-size:13px;transition:transform .15s}.chapter-block[open]>.chapter-head .chapter-fold{transform:rotate(90deg)}.chapter-head strong{color:var(--navy);font-size:15px}.chapter-meta{color:var(--muted);font-size:13px}.chapter-actions{margin-left:auto;display:flex;gap:12px}.section-list{display:grid}.section-row{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid #eef2f5}.section-row:last-child{border-bottom:0}.section-order{width:22px;height:22px;border-radius:50%;background:#EAF2FC;color:var(--blue);display:grid;place-items:center;font-size:13px;font-weight:800;flex:0 0 auto}.section-name{font-size:14px;color:var(--ink)}.section-tags{color:var(--muted);font-size:13px}.section-actions{margin-left:auto}.section-empty{padding:14px 16px;color:var(--muted);font-size:13px}.grant-tree{display:grid;gap:8px;max-height:280px;overflow:auto;padding:10px;border:1px solid var(--line);border-radius:10px;background:#f8fbfc}.grant-product{border:1px solid var(--line);border-radius:8px;padding:9px 11px;background:#fff}.grant-product-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:800;color:var(--navy)}.grant-product-label small{color:var(--muted);font-weight:400}.grant-product-label input{margin:0}.grant-courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;margin-top:7px;padding-top:7px;border-top:1px solid #eef2f5}.grant-course{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:var(--ink)}.grant-course input{margin:0}.grant-empty{grid-column:1/-1;color:var(--muted);font-size:13px}.grant-dialog{width:min(720px,calc(100% - 28px));border:0;border-radius:20px;padding:34px;box-shadow:0 28px 80px rgba(23,58,94,.28)}.grant-dialog::backdrop{background:rgba(9,30,49,.7);backdrop-filter:blur(5px)}.grant-dialog h2{margin:0 0 6px;color:var(--navy);font-size:22px}.grant-dialog-teacher{color:var(--muted);margin:0 0 14px}.grant-dialog .grant-tree{max-height:380px;margin:12px 0 18px}.grant-dialog .grant-product-label{font-size:14px}.grant-dialog .grant-product-label em{font-style:normal;font-size:13px;color:var(--blue);margin-left:auto;font-weight:400}.grant-dialog .grant-course{font-size:14px}.grant-toolbar{display:flex;gap:8px;margin-top:4px}.grant-toolbar .compact-button{font-size:14px;padding:8px 14px}.teacher-list-table td{font-size:14px}.teacher-list-table .teacher-username{font-size:14px}.teacher-list-table .teacher-course-tags{font-size:14px}.teacher-row-actions .link-button{font-size:14px}.teacher-row-actions .teacher-action-disclosure>summary{font-size:14px}.grant-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:2px solid var(--line);padding-bottom:10px;margin-bottom:14px}.grant-tab{display:flex;align-items:center;gap:6px;padding:9px 14px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-size:14px;font-weight:800;cursor:pointer}.grant-tab small{background:#EAF2FC;color:var(--blue);border-radius:999px;padding:2px 7px;font-size:13px;font-weight:800}.grant-tab[aria-selected="true"]{background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;border-color:transparent}.grant-tab[aria-selected="true"] small{background:rgba(255,255,255,.22);color:#fff}.grant-tab-panels{margin-bottom:14px}.grant-tab-panel .grant-product-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#F5F8FC;border:1px solid var(--line);border-radius:10px;margin-bottom:10px}.grant-tab-panel .grant-product-head label{display:flex;align-items:center;gap:7px;font-weight:800;color:var(--navy);cursor:pointer;font-size:14px;white-space:nowrap}.grant-tab-panel .grant-product-head label span{white-space:nowrap}.grant-product-meta{color:var(--muted);font-size:13px}.grant-courses-cols{grid-template-columns:1fr}.grant-course-list{list-style:none;margin:0;padding:0;counter-reset:course}.grant-course-list>li{padding:0;border-bottom:1px solid #eef2f5}.grant-course-list>li:last-child{border-bottom:0}.grant-course-list .grant-course{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--ink);padding:10px 12px;border-radius:8px;transition:.15s}.grant-course-list .grant-course:hover{background:#F5F8FC}.grant-course-list .grant-course::before{content:counter(course);counter-increment:course;margin-right:2px;font-size:13px;color:var(--muted);min-width:16px}.grant-course-list .grant-course input{width:auto;margin:0;flex:none}.grant-course-list .grant-empty{padding:12px;color:var(--muted);font-size:13px;list-style:none}.grant-tab-panel .grant-courses{padding:4px 6px}.grant-tab-panel .grant-course{padding:6px 8px;border-radius:7px}.grant-tab-panel .grant-course:hover{background:#F5F8FC}.copy-warning{padding:12px 14px;background:#fff8e8;border:1px solid #f0ddb0;border-radius:10px;color:#7b6846;font-size:14px;line-height:1.7}.ai-preview-dialog{width:min(70vw,calc(100% - 28px))}.ai-preview-summary{color:var(--muted);font-size:14px;margin:0 0 14px}.ai-preview-tree{max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:16px}.ai-preview-chapter{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-bottom:8px;background:#fff}.ai-preview-chapter-head{display:flex;align-items:center;gap:8px;font-size:14px}.ai-preview-chapter-head label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:800;color:var(--navy)}.ai-preview-sections{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ai-preview-section{display:flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:#F5F8FC;font-size:13px;cursor:pointer;color:var(--ink)}.ai-preview-section-block{margin-top:16px;border-top:2px solid var(--line);padding-top:14px}.ai-preview-heading{margin-bottom:12px}.ai-preview-heading h3{margin:0 0 4px;color:var(--navy);font-size:17px}.ai-preview-heading p{margin:0;color:var(--muted);font-size:14px}.course-space-tabs{display:flex;gap:6px;border-bottom:2px solid var(--line);padding-bottom:10px;margin-bottom:18px;flex-wrap:wrap}.course-space-tabs a{display:block;padding:10px 18px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-size:14px;font-weight:800;text-decoration:none}.course-space-tabs a:hover{border-color:var(--teal)}.course-space-tabs a.active{background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;border-color:transparent}.tree-guide{padding:30px 24px;text-align:center}.tree-guide-title h3{margin:0 0 6px;color:var(--navy);font-size:20px}.tree-guide-title p{margin:0 0 20px;color:var(--muted)}.tree-guide-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:26px}.tree-guide-actions .primary-button,.tree-guide-actions .secondary-button{padding:12px 24px;font-size:15px}.tree-guide-recommend{max-width:720px;margin:0 auto;text-align:left}.tree-guide-recommend .section-heading{margin-bottom:14px}.copy-source-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:#fff}.copy-source-card .copy-source-head{display:flex;flex-direction:column;min-width:160px}.copy-source-card .copy-source-head strong{color:var(--navy);font-size:15px}.copy-source-card .copy-source-head span{color:var(--muted);font-size:13px}.copy-source-card .copy-source-meta{flex:1;color:var(--muted);font-size:13px}.copy-recommend{background:#fff4df;color:#9a6413;padding:3px 8px;border-radius:999px;font-size:13px;font-weight:800}.question-filter-bar{display:flex;gap:10px;margin-bottom:16px}.question-filter-bar select,.question-filter-bar input{padding:9px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:#fff}.question-filter-bar select{min-width:120px}.question-filter-bar input{flex:1}.question-card-list{display:grid;gap:14px}.question-bank-card{border:1px solid var(--line);border-radius:12px;padding:18px 20px;background:#fff}.qb-card-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.qb-type{background:#EAF2FC;color:var(--blue);padding:4px 10px;border-radius:999px;font-size:13px;font-weight:800}.qb-score{color:var(--muted);font-size:13px}.qb-source{margin-left:auto;color:var(--muted);font-size:13px}.qb-stem{font-size:15px;line-height:1.7;color:var(--ink);margin-bottom:10px}.qb-options{display:grid;gap:6px;margin-bottom:10px}.qb-option{display:flex;gap:8px;font-size:14px;color:var(--ink)}.qb-option strong{color:var(--navy);font-weight:800}.qb-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}.qb-knowledge{background:#E6F7F2;color:var(--success);padding:3px 8px;border-radius:999px;font-size:13px}.qb-answer{color:var(--muted);font-size:13px}.qb-explanation{margin-top:8px;padding:10px 12px;background:#F5F8FC;border-radius:8px;font-size:14px;color:var(--muted);line-height:1.6}.qb-explanation span{font-weight:800;color:var(--navy);margin-right:6px}.qb-actions{margin-top:12px;display:flex;gap:12px}.copy-preview{margin:10px 0;border:1px solid var(--line);border-radius:10px;padding:12px}.copy-preview-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.copy-preview-heading strong{color:var(--navy)}.copy-preview-heading span{color:var(--muted);font-size:13px}.copy-preview-tree{max-height:320px;overflow:auto}.product-filter-dropdown{display:flex;align-items:center;gap:10px;margin-bottom:16px}.product-filter-dropdown label{font-size:14px;font-weight:800;color:var(--navy)}.product-filter-dropdown select{padding:9px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:#fff;min-width:220px}.copy-preview{margin:12px 0;border:1px solid var(--line);border-radius:10px;padding:12px;background:#f8fbfc}.copy-preview-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.copy-preview-heading strong{color:var(--navy)}.copy-preview-heading span{color:var(--muted);font-size:13px}.copy-preview .ai-preview-tree{max-height:280px;overflow:auto;border:0;padding:0}
.selected-media-preview{display:grid;gap:8px;margin:10px 0 0;padding:10px;border:1px solid #cfe1e7;border-radius:11px;background:#f5fafb}.selected-media-preview[hidden]{display:none}.selected-media-preview img,.selected-media-preview video{display:block;width:auto;max-width:100%;max-height:260px;margin:auto;border-radius:8px;object-fit:contain}.selected-media-preview audio{width:100%}.selected-media-preview figcaption{color:var(--muted);font-size:13px;line-height:1.4;overflow-wrap:anywhere}.attachment-preview{padding:16px;border-radius:8px;background:#eaf1f4;color:var(--navy);text-align:center;font-weight:800}
.entry-card.direct-exam-entry{width:min(780px,100%);padding:58px 64px}.direct-exam-entry .entry-eyebrow{white-space:normal}.direct-exam-entry h1{max-width:680px;margin-top:18px;font-size:42px;letter-spacing:-.02em}.direct-exam-entry .entry-lead{margin:0;max-width:680px}.direct-exam-entry .exam-rules{margin:32px 0 28px}.direct-exam-entry .exam-rules strong{font-size:28px}.entry-exam-note{display:grid;gap:7px;padding:16px 18px;margin-bottom:8px;border-left:4px solid var(--teal);border-radius:10px;background:#eef8f7}.entry-exam-note strong{color:var(--navy)}.entry-exam-note span{color:var(--muted);font-size:14px;line-height:1.65}.direct-exam-entry .entry-form>label{margin-top:8px}.direct-exam-entry .entry-form>input{font-size:17px}.direct-exam-entry .fine-print{margin-top:24px}
@media(max-width:700px){.entry-card.direct-exam-entry{padding:40px 24px}.direct-exam-entry h1{font-size:30px}.direct-exam-entry .exam-rules{grid-template-columns:repeat(3,1fr)}.direct-exam-entry .exam-rules div{padding:14px 8px;border-right:1px solid var(--line);border-bottom:0}.direct-exam-entry .exam-rules strong{font-size:22px}.direct-exam-entry .exam-rules span{font-size:12px}}
.option-media-fields{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(82px,.55fr);align-items:end}.option-media-fields>label{min-width:0}.option-media-fields input[type=file]{min-width:0;width:100%;padding:9px;font-size:13px;overflow:hidden}.selected-media-preview{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px;margin:0;padding:10px;min-height:94px;border:1px solid #cfe1e7;border-radius:11px;background:#f5fafb}.selected-media-preview img,.selected-media-preview video{width:96px;height:72px;max-width:96px;max-height:72px;margin:0;border-radius:8px;object-fit:cover;background:#e7eef1}.selected-media-preview figcaption{display:grid;min-width:0;gap:4px;text-align:left}.selected-media-preview figcaption strong{color:var(--teal);font-size:13px}.selected-media-preview figcaption span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--navy);font-weight:800}.selected-media-preview figcaption small{color:var(--muted)}.selected-media-preview audio{grid-column:1/-1;width:100%}.selected-media-preview .attachment-preview{width:96px;min-height:72px;display:grid;place-items:center;padding:8px}.stem-media-preview{grid-template-columns:120px minmax(0,1fr)}.stem-media-preview img,.stem-media-preview video{width:120px;max-width:120px;height:84px;max-height:84px}
@media(max-width:900px){.option-media-fields{grid-template-columns:1fr}.selected-media-preview{grid-template-columns:84px minmax(0,1fr)}.selected-media-preview img,.selected-media-preview video{width:84px;max-width:84px;height:64px;max-height:64px}.stem-media-preview{grid-template-columns:100px minmax(0,1fr)}.stem-media-preview img,.stem-media-preview video{width:100px;max-width:100px;height:72px;max-height:72px}}

/* Compact option editor: keep frequent actions visible and fold advanced media fields. */
.option-editor-grid{align-items:start}.option-editor-card-compact{align-content:start;gap:10px;padding:13px}.option-editor-card-compact .option-editor-head{min-height:32px}.option-editor-card-compact .option-editor-head em{margin-left:auto;padding:4px 8px;border-radius:999px;background:#E6F7F2;color:var(--success);font-size:12px;font-style:normal;font-weight:800}.option-text-field,.option-upload-control{display:grid;gap:6px}.option-text-field>span,.option-upload-control>span{font-size:13px;color:#465b69}.option-text-field input{padding:11px 12px}.option-quick-media{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.85fr);gap:10px;align-items:end}.option-upload-control input[type=file]{min-width:0;width:100%;padding:8px;font-size:13px;overflow:hidden}.option-quick-media>.selected-media-preview,.option-quick-media>.option-current-media-preview{grid-column:1/-1}.option-current-media-preview{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:10px;margin:0;padding:8px;min-height:78px;border:1px solid #d7e4e9;border-radius:10px;background:#f5fafb}.option-current-media-preview img,.option-current-media-preview video{width:84px;height:62px;max-width:84px;max-height:62px;margin:0;border-radius:7px;object-fit:cover;background:#e7eef1}.option-current-media-preview figcaption{display:grid;min-width:0;gap:3px;margin:0;text-align:left}.option-current-media-preview figcaption strong{color:var(--teal);font-size:13px}.option-current-media-preview figcaption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.option-advanced{border-top:1px solid #e6edf0;padding-top:9px}.option-advanced summary{display:flex;align-items:center;gap:7px;cursor:pointer;color:var(--blue);font-size:13px;font-weight:800;list-style:none}.option-advanced summary::-webkit-details-marker{display:none}.option-advanced summary:before{content:"＋";width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:#eaf3f6;color:var(--blue);font-size:14px}.option-advanced[open] summary:before{content:"−"}.option-advanced summary span{color:var(--muted);font-size:12px;font-weight:400}.option-advanced>.option-media-fields{grid-template-columns:minmax(0,1fr) 120px;margin-top:10px}.option-advanced>label{display:grid;gap:6px;margin-top:10px;font-size:13px}.option-advanced input,.option-advanced select{padding:10px 11px}.option-advanced .remove-media{display:flex!important;margin-top:10px}
@media(max-width:900px){.option-quick-media{grid-template-columns:1fr}.option-advanced>.option-media-fields{grid-template-columns:1fr}.option-editor-card-compact{padding:12px}}

/* Rich text authoring for question stems and options. */
.rich-text-label{display:grid;gap:8px;font-weight:700;color:#30414f}.rich-text-field{overflow:hidden;border:1px solid #DCE7F4;border-radius:10px;background:#fff;transition:border-color .15s,box-shadow .15s}.rich-text-field:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(53,201,165,.12)}.rich-text-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:6px 8px;border-bottom:1px solid #e2e9ed;background:#f6f9fa}.rich-text-toolbar button{height:30px;min-width:30px;padding:0 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:#344b59;font-size:13px;cursor:pointer}.rich-text-toolbar button:hover,.rich-text-toolbar button:focus-visible{border-color:#c7d9e0;background:#fff;color:var(--teal);outline:none}.rich-text-toolbar>i{width:1px;height:20px;margin:0 3px;background:#d9e3e8}.rich-text-area{min-height:126px;padding:13px 14px;color:var(--ink);font-weight:400;line-height:1.65;outline:none;overflow-wrap:anywhere;white-space:pre-wrap}.rich-text-area[data-placeholder]:empty:before{content:attr(data-placeholder);color:#8a9298;pointer-events:none}.rich-text-source{display:none!important}.rich-text-field-compact .rich-text-toolbar{padding:5px 7px}.rich-text-field-compact .rich-text-toolbar button{height:27px;min-width:27px;padding:0 7px}.rich-text-field-compact .rich-text-area{min-height:66px;padding:10px 12px;font-size:14px}.rich-text-area p,.rich-text-area div{margin:.25em 0}.rich-text-area pre,.rich-content pre{overflow:auto;margin:.45em 0;padding:10px 12px;border-radius:7px;background:#122334;color:#eef8fa;font-family:Consolas,"Cascadia Code",monospace;white-space:pre-wrap}.rich-content{overflow-wrap:anywhere}.rich-content p,.rich-content div{margin:.28em 0}.rich-content ul,.rich-content ol{margin:.4em 0;padding-left:1.6em}.rich-content blockquote{margin:.5em 0;padding-left:12px;border-left:3px solid #b6ccd5;color:var(--muted)}.rich-content a{text-decoration:underline}.question-stem{margin:16px 0 20px;color:var(--ink);font-size:18px;font-weight:700;line-height:1.75}.option-text.rich-content{display:block}.option-text.rich-content>:first-child{margin-top:0}.option-text.rich-content>:last-child{margin-bottom:0}.paper-question-stem{margin:13px 0 8px;color:var(--navy);font-size:15px;font-weight:800;line-height:1.65}

/* One full-width row per option. */
.option-editor-grid{grid-template-columns:1fr;gap:10px}.option-editor-card-compact{grid-template-columns:44px minmax(0,1fr) 230px;column-gap:12px;row-gap:9px}.option-editor-card-compact .option-editor-head{grid-column:1;grid-row:1;display:grid;justify-items:center;align-content:start;gap:5px}.option-editor-card-compact .option-editor-head em{margin-left:0;text-align:center}.option-editor-card-compact .option-text-field{grid-column:2;grid-row:1;min-width:0}.option-editor-card-compact .option-quick-media{grid-column:3;grid-row:1;display:grid;grid-template-columns:1fr;align-content:start}.option-editor-card-compact .option-advanced{grid-column:2/-1}.option-editor-card-compact .option-quick-media>.selected-media-preview,.option-editor-card-compact .option-quick-media>.option-current-media-preview{grid-column:1}.option-editor-card-compact.optional-option{opacity:.88}
@media(max-width:900px){.option-editor-card-compact{grid-template-columns:38px minmax(0,1fr)}.option-editor-card-compact .option-editor-head{grid-column:1;grid-row:1/3}.option-editor-card-compact .option-text-field{grid-column:2;grid-row:1}.option-editor-card-compact .option-quick-media{grid-column:2;grid-row:2}.option-editor-card-compact .option-advanced{grid-column:2}.rich-text-toolbar button{padding:0 6px}}

/* Integrated multimedia and multilingual code inside rich text. */
.form-grid-two{grid-template-columns:1fr 1fr}.rich-text-toolbar select{height:30px;max-width:104px;border:1px solid #d4e0e5;border-radius:6px;padding:0 7px;background:#fff;color:#344b59;font-size:13px;outline:none}.rich-text-toolbar [data-rich-media]{color:var(--teal);font-weight:800}.rich-text-toolbar [data-rich-code]{color:var(--blue);font-weight:800}.rich-media-input{display:none!important}.rich-text-area img,.rich-content img{display:inline-block;max-width:100%;max-height:520px;margin:8px 6px;vertical-align:middle;border-radius:9px;object-fit:contain;background:#f1f5f7}.rich-text-area video,.rich-content video{display:block;width:min(100%,720px);max-height:520px;margin:10px 0;border-radius:9px;background:#101820}.rich-text-area audio,.rich-content audio{display:block;width:min(100%,640px);margin:10px 0}.rich-text-area figure,.rich-content figure{margin:10px 0}.rich-text-area figcaption,.rich-content figcaption{margin-top:5px;color:var(--muted);font-size:13px}.rich-text-area pre,.rich-content pre{position:relative;padding-top:30px}.rich-text-area pre[data-language]:before,.rich-content pre[data-language]:before{content:attr(data-language);position:absolute;top:0;left:0;right:0;height:24px;padding:5px 10px;border-bottom:1px solid rgba(255,255,255,.14);color:#8fd5d0;font:800 10px/1.4 "Microsoft YaHei",sans-serif;letter-spacing:.05em}.rich-text-area pre code,.rich-content pre code{font:inherit;color:inherit}.option-editor-card-compact{grid-template-columns:44px minmax(0,1fr)}.option-editor-card-compact .option-text-field{grid-column:2}.option-editor-card-compact .option-editor-head{grid-row:1}.option-editor-card-compact .rich-text-area{min-height:78px}.option-editor-card-compact.optional-option{opacity:.9}
@media(max-width:900px){.form-grid-two{grid-template-columns:1fr}.option-editor-card-compact{grid-template-columns:38px minmax(0,1fr)}.option-editor-card-compact .option-editor-head{grid-row:1}.rich-text-toolbar select{max-width:94px}.rich-text-toolbar [data-rich-media],.rich-text-toolbar [data-rich-code]{font-size:13px}}

/* Dynamic option count controls. */
.option-editor-card[hidden]{display:none}.remove-option-button{width:24px;height:24px;display:grid;place-items:center;border:1px solid #e6c7c7;border-radius:50%;padding:0;background:#fff4f4;color:var(--danger);font-size:17px;line-height:1;cursor:pointer}.remove-option-button:hover,.remove-option-button:focus-visible{border-color:var(--danger);background:#ffe8e8;outline:none}.remove-option-button[hidden],#add-option-button[hidden],#judge-option-note[hidden]{display:none}.option-editor-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:13px;padding-top:13px;border-top:1px solid #e7eef1;color:var(--muted);font-size:13px}.option-editor-controls strong{color:var(--navy);font-size:15px}.option-editor-controls small{margin-right:auto;color:var(--teal)}.option-editor-controls .secondary-button{padding:9px 14px}.option-editor-controls .secondary-button:disabled{cursor:not-allowed;opacity:.55}
@media(max-width:600px){.option-editor-controls{flex-wrap:wrap;justify-content:space-between}.option-editor-controls small{order:3;width:100%}}

/* Larger answer choices on the student exam page. */
.exam-page .question-card .option{font-size:18px;line-height:1.75}.exam-page .question-card .option-key{flex-basis:28px;height:28px;font-size:14px}.exam-page .question-card .option-content{justify-content:center}
@media(max-width:600px){.exam-page .question-card .option{font-size:16px;line-height:1.65;padding:12px}.exam-page .question-card .option-key{flex-basis:26px;height:26px}}

/* Knowledge and paper analytics views. */
.analytics-tabs{display:flex;gap:8px;margin:18px 0 20px;padding:5px;width:max-content;border:1px solid var(--line);border-radius:12px;background:#eaf0f3}.analytics-tabs a{padding:10px 18px;border-radius:8px;color:var(--muted);font-size:14px;font-weight:800}.analytics-tabs a.active{background:#fff;color:var(--navy);box-shadow:0 4px 12px rgba(23,58,94,.08)}.paper-analysis-filter{display:flex;align-items:end;gap:18px;margin-bottom:18px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#fff}.paper-analysis-filter label{display:grid;min-width:min(520px,60vw);gap:7px;color:var(--navy);font-size:13px;font-weight:800}.paper-analysis-filter select{width:100%;padding:11px 13px;border:1px solid #DCE7F4;border-radius:9px;background:#fff}.paper-analysis-filter>span{padding-bottom:10px;color:var(--muted);font-size:13px}.paper-analysis-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.paper-analysis-summary>div{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff}.paper-analysis-summary span,.paper-analysis-summary small{color:var(--muted);font-size:13px}.paper-analysis-summary strong{color:var(--navy);font-size:30px}.paper-analysis-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px}.paper-analysis-grid>.panel{min-width:0}.paper-point-list{display:grid;gap:12px}.paper-point-list>div{display:grid;grid-template-columns:minmax(180px,1fr) minmax(100px,.7fr) 48px;align-items:center;gap:12px}.paper-point-list>div>div:first-child{display:flex;min-width:0;flex-direction:column;gap:3px}.paper-point-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--navy);font-size:13px}.paper-point-list small{color:var(--muted);font-size:12px}.paper-point-list b{text-align:right;color:var(--teal);font-size:13px}.selected-paper-row{background:#E6F7F2}.paper-analysis-table td:first-child{min-width:260px}.question-performance-table{min-width:980px}.question-summary-cell{min-width:320px;max-width:520px;color:#344b59;line-height:1.55}.question-performance-table .accuracy-cell{min-width:150px}
@media(max-width:1050px){.paper-analysis-summary{grid-template-columns:1fr 1fr}.paper-analysis-grid{grid-template-columns:1fr}.paper-analysis-filter{align-items:stretch;flex-direction:column;gap:8px}.paper-analysis-filter label{min-width:0}.paper-analysis-filter>span{padding:0}}
@media(max-width:600px){.analytics-tabs{width:100%}.analytics-tabs a{flex:1;padding:9px;text-align:center}.paper-analysis-summary{grid-template-columns:1fr 1fr;gap:9px}.paper-analysis-summary>div{padding:15px}.paper-analysis-summary strong{font-size:24px}.paper-point-list>div{grid-template-columns:minmax(0,1fr) 42px}.paper-point-list>div>.progress{grid-column:1/-1;grid-row:2}.paper-point-list b{grid-column:2;grid-row:1}}

/* Paper-focused student and cohort mastery analysis. */
.mastery-section>.panel-heading>div{display:flex;align-items:center;gap:10px}.analysis-step{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--navy);color:#fff!important;font-size:12px!important;font-weight:900}.student-analysis-filter{display:flex;align-items:end;gap:10px;margin-bottom:16px;padding:14px;border-radius:11px;background:#f4f8fa}.student-analysis-filter label{display:grid;min-width:min(620px,70vw);gap:6px;color:var(--navy);font-size:13px;font-weight:800}.student-analysis-filter select{width:100%;padding:10px 12px;border:1px solid #DCE7F4;border-radius:9px;background:#fff}.student-analysis-filter .secondary-button{padding:10px 16px}.student-mastery-head{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:10px;margin-bottom:16px}.student-mastery-head>div{display:flex;flex-direction:column;gap:5px;padding:14px 16px;border:1px solid #e2eaee;border-radius:10px;background:#fbfdfe}.student-mastery-head span{color:var(--muted);font-size:12px}.student-mastery-head strong{color:var(--navy);font-size:20px}.mastery-table{min-width:900px}.mastery-table td:first-child{min-width:170px}.mastery-table .accuracy-cell{min-width:170px}
.paper-analysis-tabs{margin-top:0}
@media(max-width:760px){.student-analysis-filter{align-items:stretch;flex-direction:column}.student-analysis-filter label{min-width:0}.student-mastery-head{grid-template-columns:1fr 1fr}.mastery-section>.panel-heading{align-items:start;flex-direction:column;gap:8px}}

/* Student score sheet in paper analytics. */
.score-sheet-table{min-width:1180px}.score-sheet-table td{vertical-align:middle}.score-sheet-table td:nth-child(2){min-width:120px}.score-sheet-table td:nth-child(3){min-width:210px}.score-sheet-score{white-space:nowrap}.score-sheet-score strong{color:var(--navy);font-size:18px}.score-sheet-score span{margin-left:4px;color:var(--muted);font-size:13px}.score-rate{display:inline-flex;min-width:64px;justify-content:center;padding:6px 9px;border-radius:999px;background:#E6F7F2;color:var(--success);font-size:13px;font-weight:900}.score-rate.medium{background:#fff4df;color:#a66d12}.score-rate.low{background:#fff0f0;color:var(--danger)}.score-sheet-table td:last-child a{white-space:nowrap;color:var(--teal);font-weight:800}

/* Student result lookup and read-only answer sheet. */
.result-lookup-button{margin-top:2px;background:#f7fafb}.answer-sheet-card{padding-bottom:20px}.student-answer-sheet{display:grid;gap:18px;margin-top:22px}.student-review-question{padding:22px;border:1px solid #dce6ea;border-radius:14px;background:#fbfdfe}.student-review-meta{display:flex;align-items:center;gap:8px}.student-review-meta>span{padding:5px 8px;border-radius:999px;background:#e8f1f4;color:var(--blue);font-size:12px;font-weight:800}.student-review-meta>strong{margin-left:auto;color:var(--teal);font-size:14px}.student-review-options{display:grid;gap:8px;margin:14px 0}.student-review-option{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;align-items:start;gap:10px;padding:11px 13px;border:1px solid #e0e8ec;border-radius:9px;background:#fff}.student-review-option>strong{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e7eef2;color:var(--navy);font-size:13px}.student-review-option>span{min-width:0;font-size:15px;line-height:1.7}.student-review-option>em,.student-review-option>b{align-self:center;padding:4px 7px;border-radius:999px;white-space:nowrap;font-size:12px;font-style:normal}.student-review-option>em{background:#e6f0fa;color:var(--blue)}.student-review-option>b{background:#e6f5ef;color:var(--success)}.student-review-option.is-selected{border-color:#8cb8d0;background:#f3f8fc}.student-review-option.is-correct{border-color:#8ac9b5;background:#f1faf6}.student-review-option.is-selected.is-correct{box-shadow:inset 4px 0 0 var(--success)}.student-answer-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.student-answer-compare>div{display:grid;gap:6px;padding:13px 15px;border-radius:9px;background:#eef4f6}.student-answer-compare>div:last-child{background:#edf8f3}.student-answer-compare span,.student-answer-explanation>span{color:var(--muted);font-size:12px;font-weight:800}.student-answer-compare strong{white-space:pre-wrap;color:var(--navy);font-size:14px;line-height:1.65}.student-answer-explanation{display:grid;gap:6px;margin-top:9px;padding:13px 15px;border-radius:9px;background:#f5f7f8}.student-answer-explanation p{margin:0;color:#435866;font-size:13px;line-height:1.7;white-space:pre-wrap}.student-review-note{margin-top:9px;padding:10px 12px;border-radius:8px;background:#E6F7F2;color:var(--success);font-size:13px}.student-review-note.pending{background:#fff4df;color:#946118}
@media(max-width:700px){.student-review-question{padding:16px 13px}.student-review-meta{flex-wrap:wrap}.student-review-meta>strong{width:100%;margin-left:0}.student-review-option{grid-template-columns:30px minmax(0,1fr)}.student-review-option>em,.student-review-option>b{grid-column:2;width:max-content}.student-answer-compare{grid-template-columns:1fr}}

/* Insert a direct video URL into question rich text. */
.rich-text-toolbar [data-rich-video-url]{color:#7b5ba7;font-weight:800}.rich-video-url-dialog{width:min(560px,calc(100% - 28px));padding:0;border:0;border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(23,58,94,.3)}.rich-video-url-dialog::backdrop{background:rgba(9,30,49,.68);backdrop-filter:blur(4px)}.rich-video-url-dialog form{display:grid;gap:16px;padding:28px}.media-url-dialog-head{display:grid;gap:5px}.media-url-dialog-head>span{color:var(--teal);font-size:12px;font-weight:900;letter-spacing:.14em}.media-url-dialog-head h2{margin:0;color:var(--navy);font-size:23px}.media-url-dialog-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.rich-video-url-dialog label{display:grid;gap:7px;color:var(--navy);font-size:13px;font-weight:800}.rich-video-url-dialog input{width:100%;padding:12px 13px;border:1px solid #DCE7F4;border-radius:9px;outline:none}.rich-video-url-dialog input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(53,201,165,.12)}.media-url-error{padding:9px 11px;border-radius:8px;background:#fff0f0;color:var(--danger);font-size:13px}.rich-video-url-dialog .form-actions{justify-content:flex-end}

/* Exam release editing and lifecycle actions. */
.exam-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.exam-actions form{margin:0}.exam-edit-context{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.exam-edit-context>div{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#f7fafb}.exam-edit-context span{font-size:13px;color:var(--muted)}.exam-edit-context strong{color:var(--navy)}
@media(max-width:760px){.exam-edit-context{grid-template-columns:1fr}}

/* AI-assisted knowledge-tree rebuild and manual question mapping. */
.knowledge-rebuild-panel{margin-bottom:18px}.knowledge-rebuild-panel .panel-heading>div p{margin:5px 0 0;color:var(--muted);font-size:13px}.knowledge-rebuild-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:20px}.knowledge-rebuild-grid form{display:grid;align-content:start;gap:13px}.document-drop-field{display:grid;gap:8px;padding:18px;border:1px dashed #9ebec8;border-radius:12px;background:#f5fafb;color:var(--navy);font-size:13px;font-weight:800}.document-drop-field input{padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff}.document-drop-field small{color:var(--muted);font-weight:400;overflow-wrap:anywhere}.rebuild-safety-note{padding:18px;border-radius:12px;background:#E6F7F2;color:#38505c}.rebuild-safety-note strong{color:var(--teal)}.rebuild-safety-note p{margin:7px 0;color:var(--muted);font-size:13px;line-height:1.65}.rebuild-safety-note ol{margin:10px 0 0;padding-left:20px;font-size:13px;line-height:1.8}.knowledge-jobs-panel{margin-bottom:18px}.knowledge-job-list{display:grid;gap:11px}.knowledge-job{display:grid;gap:9px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fbfdfe}.knowledge-job.is-complete{border-color:#a9d7ca;background:#f4fbf9}.knowledge-job.is-failed{border-color:#ecc5c5;background:#fff9f9}.knowledge-job-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.knowledge-job-head>div{display:grid;gap:3px}.knowledge-job-head strong{color:var(--navy);font-size:14px}.knowledge-job-head small{color:var(--muted);font-size:12px}.job-status.queued{background:#eef2f4;color:var(--muted)}.job-status.completed{background:#E6F7F2;color:var(--success)}.ai-progress-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.knowledge-job-result{display:flex;flex-wrap:wrap;gap:8px}.knowledge-job-result span{padding:7px 10px;border-radius:8px;background:#e7f2f1;color:var(--muted);font-size:12px}.knowledge-job-result b{color:var(--navy);font-size:14px}.knowledge-job-actions{display:flex;gap:14px;font-size:13px;font-weight:800}.knowledge-job-actions a{color:var(--teal)}.knowledge-unmapped-alert{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:-6px 0 16px;padding:13px 16px;border:1px solid #ecd7a0;border-radius:11px;background:#fff9e9;color:#675528;font-size:13px}.knowledge-unmapped-alert a{font-weight:800;color:#996d00}.question-mapping-tabs{display:flex;gap:6px;width:max-content;margin-bottom:15px;padding:5px;border:1px solid var(--line);border-radius:11px;background:#eaf0f3}.question-mapping-tabs a{padding:8px 14px;border-radius:8px;color:var(--muted);font-size:13px;font-weight:800}.question-mapping-tabs a.active{background:#fff;color:var(--navy);box-shadow:0 3px 10px rgba(23,58,94,.08)}.question-mapping-tabs b{display:inline-grid;min-width:20px;height:20px;margin-left:4px;place-items:center;border-radius:10px;background:#fff0dd;color:#a26600;font-size:12px}.knowledge-mapping-table .knowledge-path-cell{min-width:300px}.mapped-knowledge-path{color:#3d5b69;font-size:13px;line-height:1.55}.unmapped-badge{display:inline-block;margin-bottom:8px;padding:4px 8px;border-radius:999px;background:#fff0dd;color:#a26600;font-size:12px;font-weight:800}.quick-map-form{display:grid!important;grid-template-columns:minmax(180px,1fr) auto;gap:7px;margin:0}.quick-map-form select{min-width:0;padding:8px;border:1px solid #DCE7F4;border-radius:8px;background:#fff;font-size:13px}.quick-map-form .secondary-button{padding:8px 10px;white-space:nowrap;font-size:12px}
@media(max-width:900px){.knowledge-rebuild-grid{grid-template-columns:1fr}.knowledge-mapping-table .knowledge-path-cell{min-width:260px}}
@media(max-width:600px){.knowledge-job-head,.knowledge-unmapped-alert{align-items:flex-start;flex-direction:column}.question-mapping-tabs{width:100%}.question-mapping-tabs a{flex:1;text-align:center}.quick-map-form{grid-template-columns:1fr}.quick-map-form .secondary-button{width:100%}}

.knowledge-progress-disclosure{margin-top:20px;border-top:1px solid var(--line)}.knowledge-progress-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 2px 2px;cursor:pointer;list-style:none;color:var(--navy)}.knowledge-progress-disclosure>summary::-webkit-details-marker{display:none}.knowledge-progress-disclosure>summary>span{display:flex;align-items:center;gap:10px}.knowledge-progress-disclosure>summary>span:before{content:"＋";width:25px;height:25px;display:grid;place-items:center;border-radius:7px;background:#eaf3f5;color:var(--teal);font-size:16px;font-weight:400}.knowledge-progress-disclosure[open]>summary>span:before{content:"−"}.knowledge-progress-disclosure>summary b{font-size:14px}.knowledge-progress-disclosure>summary small{color:var(--muted);font-size:12px;font-weight:400}.knowledge-progress-disclosure>summary em{font-style:normal;font-size:12px;font-weight:400}.knowledge-progress-disclosure>.knowledge-job-list{margin-top:14px;padding-top:14px;border-top:1px solid #e9eff1}
@media(max-width:600px){.knowledge-progress-disclosure>summary{align-items:flex-start}.knowledge-progress-disclosure>summary>span{align-items:flex-start;flex-direction:column;gap:3px;padding-left:35px;position:relative}.knowledge-progress-disclosure>summary>span:before{position:absolute;left:0;top:-3px}.knowledge-progress-disclosure>summary em{margin-top:5px}}

/* Every knowledge-tree level can define an AI paper quota. */
.ai-select-tree .ai-select-row .ai-node-name{display:grid;grid-template-columns:calc((var(--tree-level) - 1) * 18px) minmax(0,1fr);padding-left:0;gap:0}.ai-select-tree .ai-select-row .ai-node-name>label{grid-column:2;display:flex;align-items:center;gap:8px;min-width:0}.ai-select-tree .ai-select-row .ai-node-name>label strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-select-tree .ai-select-row .ai-tree-label{flex:none;margin-right:0}.ai-select-row.node-product_line{background:#f7fafc}.ai-select-row.node-direction{background:#f9fbfc}.ai-select-row.node-course{background:#fbfcfd}.ai-select-row:not(.node-knowledge_point) .ai-bank-count{color:var(--blue)}

/* Compact, collapsible knowledge trees. */
.tree-view-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;border:1px solid var(--line);border-bottom:0;border-radius:9px 9px 0 0;background:#f5f8fa;color:var(--muted);font-size:12px}.tree-view-actions>div{display:flex;gap:5px}.tree-view-actions button{padding:5px 8px;border:1px solid #cedce2;border-radius:6px;background:#fff;color:var(--blue);font-size:12px;font-weight:800;cursor:pointer}.tree-view-actions button:hover{border-color:var(--teal);color:var(--teal)}.tree-view-actions.compact{margin-bottom:7px;border:0;border-radius:8px}.tree-branch-toggle{visibility:hidden;flex:0 0 22px;width:22px;height:22px;display:grid;place-items:center;padding:0;border:1px solid #cbdce2;border-radius:6px;background:#fff;color:var(--teal);font-size:14px;line-height:1;cursor:pointer}.has-children .tree-branch-toggle{visibility:visible}.tree-branch-toggle:disabled{cursor:default}.tree-list.collapsible-tree{max-height:580px;overflow:auto}.tree-list.collapsible-tree .tree-row{min-height:31px;padding:2px 7px}.tree-node-main{display:flex;align-items:center;gap:7px;min-width:0}.tree-node-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-select-tree{max-height:480px}.ai-select-row{min-height:36px;padding-top:3px;padding-bottom:3px}.ai-select-row[hidden],.tree-row[hidden]{display:none!important}.ai-node-line{grid-column:2;display:flex;align-items:center;gap:6px;min-width:0}.ai-node-line>label{display:flex;align-items:center;gap:7px;min-width:0;cursor:pointer}.ai-node-line>label strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-select-row .ai-rule-input input{padding:5px 7px}.ai-select-tree .ai-tree-label{padding:3px 6px}.ai-select-tree .ai-bank-count{font-size:12px}
@media(max-width:760px){.tree-view-actions{align-items:flex-start;flex-direction:column}.tree-view-actions>div{width:100%;flex-wrap:wrap}.tree-view-actions button{flex:1}.ai-select-tree{max-height:420px}}

/* Polished AI paper requirement field. */
.ai-requirement-field{display:grid!important;gap:10px;padding:15px 17px;border:1px solid #dbe6ea;border-radius:12px;background:#f8fbfc;color:var(--navy)}.ai-requirement-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-requirement-heading>span{display:grid;gap:3px}.ai-requirement-heading strong{font-size:14px}.ai-requirement-heading small{color:var(--muted);font-size:12px;font-weight:400}.ai-requirement-heading em{padding:4px 8px;border-radius:999px;background:#e7f3f2;color:var(--teal);font-size:12px;font-style:normal;font-weight:800}.ai-requirement-field textarea{display:block;width:100%;min-height:88px;resize:vertical;padding:12px 14px;border:1px solid #c8d8de;border-radius:9px;background:#fff;color:var(--ink);font:400 13px/1.65 "Microsoft YaHei",sans-serif;outline:none;transition:border-color .16s,box-shadow .16s,background .16s}.ai-requirement-field textarea::placeholder{color:#8b9aa2}.ai-requirement-field textarea:hover{border-color:#a9c4cd}.ai-requirement-field textarea:focus{border-color:var(--teal);background:#fff;box-shadow:0 0 0 3px rgba(53,201,165,.12)}
@media(max-width:600px){.ai-requirement-field{padding:13px}.ai-requirement-heading{align-items:flex-start}.ai-requirement-heading small{line-height:1.5}}

/* Larger option text everywhere options are displayed or authored. */
.exam-page .question-card .option{font-size:20px;line-height:1.8;padding:15px 17px}.exam-page .question-card .option-key{flex-basis:31px;width:31px;height:31px;font-size:15px}.exam-page .question-card .option-text.rich-content{font-size:inherit;line-height:inherit}.paper-preview-list .paper-option-preview>div{grid-template-columns:34px minmax(0,1fr);gap:12px!important;padding:12px 13px}.paper-preview-list .paper-option-preview>div>strong{width:30px;height:30px;font-size:14px}.paper-preview-list .paper-option-preview>div>span{font-size:16px!important;line-height:1.75}.paper-preview-list .paper-option-preview .rich-content{font-size:16px;line-height:1.75}.option-editor-card-compact .rich-text-area{font-size:16px;line-height:1.7}.option-editor-card-compact .option-editor-head strong{width:34px;height:34px;font-size:15px}.option-editor-card-compact .option-text-field>span{font-size:14px;font-weight:800}
@media(max-width:600px){.exam-page .question-card .option{font-size:18px;line-height:1.7;padding:13px 14px}.exam-page .question-card .option-key{flex-basis:29px;width:29px;height:29px;font-size:14px}.paper-preview-list .paper-option-preview>div>span,.paper-preview-list .paper-option-preview .rich-content{font-size:15px!important}.option-editor-card-compact .rich-text-area{font-size:15px}}
.rich-content pre{display:block;max-width:100%;overflow-x:auto;overflow-wrap:normal;word-break:normal;white-space:pre;tab-size:4;line-height:1.6}.rich-content>code,.rich-content p code,.rich-content div code{padding:.12em .36em;border-radius:4px;background:#e8eef2;color:#173b57;font-family:Consolas,"Cascadia Code",monospace}.option-text.rich-content pre,.paper-option-preview .rich-content pre{width:100%;margin:.6em 0;font-size:.82em}.student-answer-value{color:var(--navy);font-size:14px;line-height:1.65}.student-answer-explanation>.rich-content{color:#435866;font-size:13px;line-height:1.7}.paper-explanation>.rich-content{color:#49606d;font-size:14px;line-height:1.65}

/* AI question-type blueprint with live totals. */
#ai-total-score[readonly]{background:#E6F7F2;color:var(--teal);font-size:18px;font-weight:900;cursor:default}.ai-type-plan{display:grid;gap:13px;padding:17px;border:1px solid #d8e5e9;border-radius:13px;background:#f8fbfc}.ai-type-plan-heading{display:flex;align-items:end;justify-content:space-between;gap:18px}.ai-type-plan-heading h3{margin:0;color:var(--navy);font-size:16px}.ai-type-plan-heading p{margin:4px 0 0;max-width:820px;color:var(--muted);font-size:13px;line-height:1.65}.ai-type-plan-heading>label{display:grid;min-width:140px;gap:5px;color:var(--navy);font-size:12px;font-weight:800}.ai-type-plan-heading select{padding:8px 10px;border:1px solid #c9d8de;border-radius:8px;background:#fff}.ai-type-table-wrap{overflow:auto;border:1px solid #dce6ea;border-radius:10px;background:#fff}.ai-type-table{width:100%;min-width:680px;border-collapse:collapse}.ai-type-table th,.ai-type-table td{padding:9px 12px;border-bottom:1px solid #edf1f3;text-align:left}.ai-type-table thead th{background:#eef4f6;color:var(--muted);font-size:12px}.ai-type-table tbody th{color:var(--navy);font-size:13px}.ai-type-table tbody tr.is-active{background:#f0faf8}.ai-type-table tfoot th,.ai-type-table tfoot td{border-bottom:0;background:#f4f8fa;color:var(--navy);font-size:13px}.ai-type-number{display:flex;align-items:center;gap:6px}.ai-type-number input{width:90px;padding:7px 8px;border:1px solid #ccdbe1;border-radius:7px;background:#fff}.ai-type-number input:disabled{background:#eef2f4;color:#6f7d84}.ai-type-number span{color:var(--muted);font-size:12px}.type-score-subtotal{color:var(--teal);font-size:13px}.ai-type-plan-message{margin:0;padding:9px 11px;border-radius:8px;background:#fff3df;color:#946118;font-size:13px}.ai-type-plan-message.is-valid{background:#E6F7F2;color:var(--success)}.paper-question-table{min-width:1450px}.paper-answer-preview{max-width:340px;max-height:120px;overflow:auto;white-space:pre-wrap;color:#35515f;font-size:13px;line-height:1.6}.paper-answer-block{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;margin-top:14px;padding:13px 15px;border-left:4px solid var(--success);border-radius:9px;background:#edf8f3}.paper-answer-block>strong{color:var(--success);font-size:13px}.paper-answer-block>div{white-space:pre-wrap;color:var(--ink);font-size:14px;line-height:1.7}.paper-explanation{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;margin-top:8px;padding:12px 15px;border-radius:9px;background:#f3f7f9}.paper-explanation>strong{color:var(--blue);font-size:13px}.paper-explanation p{margin:0!important;color:#49606d!important;font-size:14px!important;line-height:1.65}
@media(max-width:760px){.ai-type-plan{padding:13px}.ai-type-plan-heading{align-items:stretch;flex-direction:column}.ai-type-plan-heading>label{min-width:0}.paper-answer-block,.paper-explanation{grid-template-columns:1fr;gap:5px}}
.ai-type-plan-controls{display:grid;justify-items:end;gap:8px}.ai-type-mode-switch{display:flex;padding:3px;border-radius:10px;background:#e8eff2}.ai-type-mode-switch button{padding:8px 13px;border:0;border-radius:8px;background:transparent;color:#5f737d;font-size:13px;font-weight:800;cursor:pointer}.ai-type-mode-switch button.is-active{background:#fff;color:var(--teal);box-shadow:0 2px 8px rgba(23,58,94,.12)}.ai-type-presets{display:flex;gap:6px}.ai-type-presets button{padding:6px 9px;border:1px solid #cfdee3;border-radius:8px;background:#fff;color:var(--blue);font-size:12px;font-weight:800;cursor:pointer}.ai-type-edit-tip{margin:0;color:var(--muted);font-size:12px}.ai-type-table tbody tr.is-active th{color:var(--teal)}.ai-type-table input:not(:disabled){border-color:#91bfc5;box-shadow:inset 0 0 0 1px rgba(53,201,165,.08)}.ai-type-table input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(53,201,165,.12)}@media(max-width:760px){.ai-type-plan-controls{justify-items:stretch}.ai-type-mode-switch>*{flex:1}.ai-type-presets{flex-wrap:wrap}}

.active-rebuild-note{color:var(--teal);font-size:13px;line-height:1.6}.auto-refresh-note{display:flex;align-items:center;gap:7px}.auto-refresh-note i{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 0 rgba(35,153,116,.45);animation:knowledge-pulse 1.8s infinite}.knowledge-job.is-focused{border-color:var(--teal);box-shadow:0 0 0 3px rgba(53,201,165,.12)}.knowledge-progress-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:5px 0 2px;padding:0;list-style:none}.knowledge-progress-steps li{position:relative;display:grid;justify-items:center;gap:6px;color:#9aa8af;text-align:center;font-size:12px}.knowledge-progress-steps li:before{content:"";position:absolute;z-index:0;top:13px;right:50%;width:100%;height:2px;background:#dfe7ea}.knowledge-progress-steps li:first-child:before{display:none}.knowledge-progress-steps i{position:relative;z-index:1;width:28px;height:28px;display:grid;place-items:center;border:2px solid #dbe5e8;border-radius:50%;background:#fff;color:#91a1a9;font-size:12px;font-style:normal;font-weight:900}.knowledge-progress-steps .is-done{color:#3d7163}.knowledge-progress-steps .is-done:before,.knowledge-progress-steps .is-active:before{background:#7ac6b2}.knowledge-progress-steps .is-done i{border-color:var(--success);background:var(--success);color:#fff}.knowledge-progress-steps .is-active{color:var(--teal);font-weight:800}.knowledge-progress-steps .is-active i{border-color:var(--teal);color:var(--teal);box-shadow:0 0 0 5px rgba(53,201,165,.11)}.knowledge-progress-steps .is-failed{color:var(--danger);font-weight:800}.knowledge-progress-steps .is-failed i{border-color:var(--danger);background:#fff0f0;color:var(--danger)}
.knowledge-job-head small em{color:var(--teal);font-style:normal}.knowledge-job-actions form{margin:0}.knowledge-job-actions .secondary-button{padding:7px 10px;font-size:12px}.knowledge-job[data-job-status="running"] .ai-progress-track i,.knowledge-job[data-job-status="queued"] .ai-progress-track i{background-image:linear-gradient(110deg,rgba(255,255,255,0) 25%,rgba(255,255,255,.45) 45%,rgba(255,255,255,0) 65%),linear-gradient(90deg,var(--blue),var(--teal));background-size:70px 100%,100% 100%;animation:knowledge-progress-flow 1.4s linear infinite}
@keyframes knowledge-pulse{0%{box-shadow:0 0 0 0 rgba(35,153,116,.4)}70%{box-shadow:0 0 0 7px rgba(35,153,116,0)}100%{box-shadow:0 0 0 0 rgba(35,153,116,0)}}
@keyframes knowledge-progress-flow{from{background-position:-70px 0,0 0}to{background-position:calc(100% + 70px) 0,0 0}}
@media(max-width:700px){.knowledge-progress-steps{grid-template-columns:1fr;gap:7px}.knowledge-progress-steps li{grid-template-columns:28px 1fr;justify-items:start;align-items:center;text-align:left}.knowledge-progress-steps li:before{top:auto;right:auto;left:13px;bottom:50%;width:2px;height:100%}}

/* Role-based administration, teacher grants and class/student account management. */
.admin-topbar{height:72px;gap:20px}.admin-topbar .brand{flex:0 0 auto}.admin-nav{display:flex;align-items:center;gap:4px}.admin-nav .nav-overview,.nav-group>summary{display:block;padding:10px 12px;border-radius:8px;color:#cfe0e7;font-size:14px;cursor:pointer;list-style:none;white-space:nowrap}.nav-group>summary::-webkit-details-marker{display:none}.admin-nav .nav-overview:hover,.nav-group[open]>summary,.nav-group>summary:hover{background:rgba(255,255,255,.1);color:#fff}.nav-overview.nav-active{background:rgba(255,255,255,.16);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.nav-group>summary.nav-summary-active{background:rgba(255,255,255,.16);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.nav-group{position:relative}.nav-group>div{position:absolute;z-index:80;top:45px;left:0;min-width:150px;padding:7px;border:1px solid rgba(23,58,94,.12);border-radius:11px;background:#fff;box-shadow:0 15px 38px rgba(7,27,45,.22)}.nav-group>div a{display:block!important;padding:10px 12px!important;border-radius:7px!important;color:var(--navy)!important;font-size:13px!important}.nav-group>div a:hover{background:#edf6f7!important;color:var(--teal)!important}.staff-menu{position:relative;margin-left:auto}.staff-menu-details{position:relative}.staff-menu-details>summary{display:flex;align-items:center;gap:9px;padding:7px 12px;border-radius:10px;cursor:pointer;list-style:none;color:#fff;background:rgba(255,255,255,.08);white-space:nowrap}.staff-menu-details>summary::-webkit-details-marker{display:none}.staff-menu-details[open]>summary,.staff-menu-details>summary:hover{background:rgba(255,255,255,.16)}.staff-avatar{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;font-size:14px;font-weight:900}.staff-name{font-size:14px;font-weight:800}.staff-caret{color:#9eb8c6;font-size:12px}.staff-menu-panel{position:absolute;z-index:90;top:44px;right:0;min-width:190px;padding:7px;border:1px solid rgba(23,58,94,.12);border-radius:11px;background:#fff;box-shadow:0 15px 38px rgba(7,27,45,.22)}.staff-menu-panel a{display:block;padding:10px 12px;border-radius:7px;color:var(--navy);font-size:13px;white-space:nowrap}.staff-menu-panel a:hover{background:#EAF2FC;color:var(--blue)}.staff-menu-panel form{padding:5px 0 0;border-top:1px solid var(--line);margin-top:5px}.staff-menu-panel .link-button{display:block;width:100%;padding:10px 12px;border-radius:7px;color:var(--danger);font-size:13px;text-align:left}.staff-menu-panel .link-button:hover{background:#fff0f0}.staff-menu-head{display:grid;gap:2px;padding:8px 12px 10px;border-bottom:1px solid var(--line);margin-bottom:5px}.staff-menu-head strong{color:var(--navy);font-size:14px}.staff-menu-head small{color:var(--muted);font-size:12px}.management-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,.8fr);gap:20px}.sticky-panel{position:sticky;top:20px;align-self:start}.staff-card-list{display:grid;gap:13px}.staff-card{padding:17px;border:1px solid var(--line);border-radius:13px;background:#fbfdfe}.staff-card-head{display:flex;align-items:center;gap:11px}.staff-card-head h3{margin:0;color:var(--navy);font-size:15px}.staff-card-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.staff-card-head>.status{margin-left:auto}.account-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,var(--blue),var(--teal));color:#fff;font-weight:900}.course-grant-form{display:grid;gap:9px;margin-top:13px;padding-top:13px;border-top:1px solid #e7eef1}.course-grant-form>strong{color:var(--muted);font-size:12px}.check-chip-grid{display:flex;flex-wrap:wrap;gap:7px}.check-chip-grid label{cursor:pointer}.check-chip-grid input{position:absolute;opacity:0}.check-chip-grid span{display:block;padding:7px 10px;border:1px solid #cfdee3;border-radius:999px;background:#fff;color:#566b76;font-size:12px}.check-chip-grid input:checked+span{border-color:var(--teal);background:#e8f6f3;color:var(--teal);font-weight:800}.plain-fieldset{margin:0;padding:0;border:0}.plain-fieldset legend{margin-bottom:8px;color:#30414f;font-weight:700}.compact-button{padding:8px 11px;font-size:12px}.inline-account-actions{display:flex;justify-content:space-between;gap:12px;margin-top:12px}.inline-account-actions form,.inline-reset-form{display:flex;gap:7px}.inline-account-actions input,.inline-reset-form input{min-width:120px;padding:8px 10px;border:1px solid #cbd9df;border-radius:8px}.class-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px}.class-sidebar{align-self:start}.class-list{display:grid;gap:7px}.class-list>a{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:10px;color:var(--navy)}.class-list>a:hover,.class-list>a.active{border-color:var(--teal);background:#E6F7F2}.class-list span,.class-list small,.panel-heading p{margin:2px 0 0;color:var(--muted);font-size:12px}.create-disclosure{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.create-disclosure>summary,.class-tools summary{cursor:pointer;list-style:none;color:var(--teal);font-size:13px;font-weight:800}.create-disclosure>summary::-webkit-details-marker,.class-tools summary::-webkit-details-marker{display:none}.create-disclosure>.editor-form{margin-top:14px}.class-tools{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px}.class-tools details{padding:13px;border:1px solid var(--line);border-radius:10px;background:#f8fbfc}.compact-grid-form{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr)) auto;gap:9px;align-items:end;margin-top:12px}.compact-grid-form label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:800}.compact-grid-form input,.compact-grid-form select{min-width:0;width:100%;padding:9px 10px;border:1px solid #DCE7F4;border-radius:8px;background:#fff}.import-form{grid-template-columns:minmax(170px,1.5fr) minmax(130px,1fr) auto}.form-help{margin:8px 0 0;color:var(--muted);font-size:12px}.horizontal-create{margin:0;padding:0;border:0}.horizontal-create .compact-grid-form{grid-template-columns:repeat(4,minmax(120px,1fr)) auto}.student-account-table{min-width:1050px}.alert.success{background:#E6F7F2;color:var(--success);border:1px solid #bde0d4}.status.active{background:#E6F7F2;color:var(--success)}.status.disabled{background:#f1f2f3;color:#7b878d}.danger-text{color:var(--danger)!important}
@media(max-width:1100px){.admin-topbar .brand span:last-child{display:none}.staff-menu .staff-name,.staff-caret{display:none}.staff-menu-details>summary{padding:7px 8px}.management-layout{grid-template-columns:1fr}.sticky-panel{position:static}.class-layout{grid-template-columns:1fr}.class-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.admin-topbar{gap:8px}.admin-nav{overflow:auto}.nav-group>div{position:fixed;top:65px;left:14px;right:14px}.admin-topbar form{margin-left:0}.compact-grid-form,.horizontal-create .compact-grid-form{grid-template-columns:1fr 1fr}.class-tools{grid-template-columns:1fr}}
@media(max-width:560px){.class-list,.compact-grid-form,.horizontal-create .compact-grid-form{grid-template-columns:1fr}.inline-account-actions{align-items:flex-start;flex-direction:column}}

/* Student account portal. */
.student-portal-page{background:#eef4f6}.student-topbar{height:72px;display:flex;align-items:center;gap:28px;padding:0 max(22px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid var(--line);box-shadow:0 5px 22px rgba(23,58,94,.05)}.student-topbar nav{display:flex;gap:5px}.student-topbar nav a{padding:10px 13px;border-radius:8px;color:#526a77;font-size:14px;font-weight:800}.student-topbar nav a:hover{background:#edf7f6;color:var(--teal)}.student-session{display:grid;margin-left:auto;text-align:right}.student-session strong{color:var(--navy);font-size:13px}.student-session span{color:var(--muted);font-size:12px}.student-main{width:min(1180px,100%);margin:auto;padding:36px 22px 70px}.student-hero{display:flex;align-items:end;justify-content:space-between;padding:32px 36px;border-radius:20px;background:linear-gradient(135deg,var(--navy),#1F4A78);color:#fff;box-shadow:var(--shadow)}.student-hero>div:first-child>span,.student-page-title>span{color:#72d5cd;font-size:12px;font-weight:900;letter-spacing:.16em}.student-hero h1{margin:8px 0;font-size:30px}.student-hero p{margin:0;color:#c8dce4}.student-hero>div:last-child{display:grid;text-align:right}.student-hero>div:last-child strong{font-size:40px}.student-hero>div:last-child span{color:#bcd2da;font-size:12px}.student-exam-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}.student-exam-card{padding:23px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(23,58,94,.05)}.student-exam-meta{display:flex;justify-content:space-between;gap:10px}.student-exam-meta span,.student-exam-meta em{padding:5px 8px;border-radius:999px;background:#E6F7F2;color:var(--teal);font-size:12px;font-style:normal;font-weight:800}.student-exam-meta em{background:#eef3f6;color:var(--blue)}.student-exam-card h2{margin:14px 0 8px;color:var(--navy);font-size:19px}.student-exam-card>p{min-height:48px;color:var(--muted);font-size:13px;line-height:1.6}.student-exam-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:17px 0;border-block:1px solid #e9eff2}.student-exam-stats span{display:grid;padding:12px 5px;text-align:center;color:var(--muted);font-size:12px}.student-exam-stats strong{color:var(--navy);font-size:18px}.student-empty{grid-column:1/-1;padding:70px;text-align:center;border:1px dashed #b9cdd5;border-radius:16px;color:var(--muted)}.student-empty strong{color:var(--navy);font-size:18px}.student-page-title{margin-bottom:22px}.student-page-title h1{margin:7px 0;color:var(--navy);font-size:30px}.student-page-title p{margin:0;color:var(--muted)}.student-record-table{min-width:900px}.student-record-table td:nth-child(2){display:grid;gap:4px}.student-record-table td:nth-child(2) small{color:var(--muted)}.quiet-entry-link{display:inline-block;margin-top:18px;font-size:13px}.student-topbar>.link-button,.student-topbar form{margin:0}.student-topbar form .link-button{color:var(--muted)}.student-staff-menu{margin-left:auto}.student-staff-menu .staff-menu-details>summary{background:#F5F8FC;color:var(--navy);border:1px solid var(--line)}.student-staff-menu .staff-menu-details[open]>summary,.student-staff-menu .staff-menu-details>summary:hover{background:#EAF2FC}.student-staff-menu .staff-caret{color:var(--muted)}.student-staff-menu .staff-menu-panel{top:46px}
@media(max-width:850px){.student-exam-grid{grid-template-columns:1fr 1fr}.student-topbar{padding:0 14px;gap:10px}.student-topbar .brand>span:last-child,.student-staff-menu .staff-name,.student-staff-menu .staff-caret{display:none}}
@media(max-width:560px){.student-main{padding:22px 13px}.student-hero{align-items:flex-start;flex-direction:column;padding:25px}.student-hero>div:last-child{margin-top:20px;text-align:left}.student-exam-grid{grid-template-columns:1fr}.student-topbar nav a{padding:9px 7px;font-size:13px}}

/* Per-student audience selection when publishing an exam. */
.exam-audience-panel{padding:17px;border:1px solid #cfe0e5;border-radius:13px;background:#f7fbfc}.exam-audience-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px}.exam-audience-heading>div:first-child{display:grid;gap:3px}.exam-audience-heading span{color:var(--muted);font-size:12px}.exam-audience-heading strong{color:var(--navy);font-size:15px}.exam-audience-heading>div:last-child{display:flex;gap:14px}.exam-class-roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:310px;overflow:auto;padding:2px}.exam-student-choice{display:flex!important;align-items:center;gap:10px;padding:10px 12px;border:1px solid #d8e4e8;border-radius:10px;background:#fff;cursor:pointer}.exam-student-choice:has(input:checked){border-color:var(--teal);background:#eaf7f4;box-shadow:0 0 0 2px rgba(53,201,165,.07)}.exam-student-choice input{flex:0 0 auto;width:17px!important;height:17px;accent-color:var(--teal)}.exam-student-choice span{display:grid;min-width:0;gap:2px}.exam-student-choice strong{overflow:hidden;color:var(--navy);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.exam-student-choice small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.exam-roster-empty{grid-column:1/-1;margin:0}.exam-audience-error{margin:12px 0 0;padding:9px 11px;border-radius:8px;background:#fff0f0;color:var(--danger);font-size:13px;font-weight:800}
@media(max-width:760px){.exam-class-roster{grid-template-columns:1fr 1fr}.exam-audience-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.exam-class-roster{grid-template-columns:1fr}}

/* Compact paper management list. */
.paper-list-panel{padding:0;overflow:hidden}.paper-list-panel>.panel-heading{margin:0;padding:19px 21px;border-bottom:1px solid var(--line)}.paper-list-panel>.panel-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}.paper-list-table{min-width:1050px}.paper-list-table th{padding-block:11px}.paper-list-table td{padding-block:14px}.paper-title-cell{display:grid;min-width:300px;max-width:480px;gap:5px}.paper-title-cell strong{color:var(--navy);font-size:14px}.paper-title-cell small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.paper-source{display:inline-block;padding:5px 8px;border-radius:999px;background:#eef3f6;color:var(--blue);font-size:12px;font-weight:800}.paper-source.ai{background:#eeeafa;color:#7251a4}.paper-source.migration{background:#f1f2f3;color:#6e7a80}.paper-row-actions{display:flex;align-items:center;gap:12px;white-space:nowrap}.paper-row-actions form{display:inline-flex;margin:0}.paper-row-actions a,.paper-row-actions button{font-size:13px;font-weight:800}.paper-row-actions .locked-note{padding-left:2px}
.paper-delete-dialog{width:min(440px,calc(100% - 28px));padding:30px;border:0;border-radius:18px;background:#fff;text-align:center;box-shadow:0 28px 80px rgba(23,58,94,.3)}
.paper-delete-dialog::backdrop{background:rgba(9,30,49,.68);backdrop-filter:blur(4px)}
.paper-delete-dialog-icon{width:52px;height:52px;display:grid;place-items:center;margin:0 auto 15px;border-radius:50%;background:#fff0f0;color:var(--danger);font-size:27px;font-weight:900}
.paper-delete-dialog h2{margin:0;color:var(--navy)}
.paper-delete-dialog p{margin:14px 0 6px;color:#435866;line-height:1.7}
.paper-delete-dialog>small{color:var(--muted);font-size:14px}
.paper-delete-dialog .form-actions{justify-content:center;margin-top:22px}
.paper-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.paper-list-heading-actions{display:flex;align-items:center;gap:9px}
.archive-list-button{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #cbd9df;border-radius:9px;background:#fff;color:var(--navy);font-size:13px;font-weight:800}
.archive-list-button span{display:grid;min-width:20px;height:20px;padding:0 5px;place-items:center;border-radius:999px;background:#edf2f4;color:var(--muted);font-size:12px}
.paper-status.archived{background:#eef0f2;color:#687880}
.archive-text{color:#657780!important}
@media(max-width:600px){.paper-list-heading{align-items:flex-start;flex-direction:column}.paper-list-heading-actions{width:100%}.paper-list-heading-actions>a{width:100%;justify-content:center}}
.account-password-link{padding:8px 10px;border-radius:8px;color:#d8e9ee;font-size:13px;font-weight:800;white-space:nowrap}.account-password-link:hover{background:rgba(255,255,255,.1);color:#fff}.account-password-page{max-width:900px;margin:0 auto}.password-panel{max-width:620px;margin:0 auto;padding:28px}.password-panel-head{display:flex;align-items:center;gap:13px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.password-panel-head h2{margin:0;color:var(--navy);font-size:18px}.password-panel-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.password-form{display:grid;gap:15px}.password-form label{display:grid;gap:7px}.password-form label small{color:var(--muted);font-size:12px;font-weight:400}.password-form .form-actions{margin-top:4px}.student-portal-page .account-password-page{padding:34px 20px 60px}.student-portal-page .account-password-link{color:#d8e9ee}@media(max-width:700px){.account-password-link{padding:7px 5px;font-size:12px}.password-panel{padding:20px}.password-form .form-actions{align-items:stretch;flex-direction:column}.password-form .form-actions>*{width:100%}}
.teacher-list-panel{padding:0;overflow:visible}.teacher-list-heading{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0;padding:18px 20px;border-bottom:1px solid var(--line)}.teacher-list-heading p{margin:4px 0 0}.teacher-create-disclosure{position:relative}.teacher-create-disclosure>summary{list-style:none}.teacher-create-disclosure>summary::-webkit-details-marker{display:none}.teacher-create-popover{position:absolute;z-index:45;top:44px;right:0;width:min(720px,calc(100vw - 70px));padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 20px 55px rgba(15,42,64,.22)}.teacher-create-popover h3{margin:0 0 15px;color:var(--navy)}.teacher-create-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.teacher-list-table{min-width:1180px}.teacher-list-table th{padding-block:11px}.teacher-list-table td{padding-block:13px;vertical-align:middle}.teacher-identity{display:flex;align-items:center;gap:10px;min-width:150px}.teacher-identity .account-avatar{width:34px;height:34px;border-radius:10px}.teacher-identity strong{color:var(--navy)}.teacher-username{color:#4f6570;font-family:Consolas,"Cascadia Code",monospace;font-size:13px}.teacher-course-tags{display:flex;flex-wrap:wrap;gap:5px;max-width:390px}.teacher-course-tags span{padding:5px 7px;border-radius:999px;background:#edf6f7;color:var(--teal);font-size:12px;font-weight:800}.teacher-course-tags em{color:var(--muted);font-size:12px;font-style:normal}.teacher-row-actions{display:flex;align-items:center;gap:11px;white-space:nowrap}.teacher-row-actions>form{margin:0}.teacher-row-actions button,.teacher-action-disclosure>summary{font-size:12px;font-weight:800}.teacher-action-disclosure{position:relative}.teacher-action-disclosure>summary{cursor:pointer;list-style:none;color:var(--blue)}.teacher-action-disclosure>summary::-webkit-details-marker{display:none}.teacher-action-popover{position:absolute;z-index:40;top:28px;right:0;width:390px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 16px 40px rgba(23,58,94,.2);white-space:normal}.teacher-action-popover>strong{display:block;margin-bottom:11px;color:var(--navy);font-size:13px}.teacher-action-popover .course-grant-form{margin:0;padding:0;border:0}.teacher-action-popover .inline-reset-form{display:grid;grid-template-columns:1fr auto}.teacher-action-popover .inline-reset-form input{width:100%;min-width:0}.teacher-table-wrap{overflow:visible}.teacher-list-panel .table-wrap{border-radius:0 0 14px 14px}@media(max-width:900px){.teacher-create-fields{grid-template-columns:1fr}.teacher-create-popover{right:auto;left:0;width:min(520px,calc(100vw - 40px))}.teacher-list-heading{align-items:flex-start;flex-direction:column}.teacher-table-wrap{overflow:auto}.teacher-action-popover{position:fixed;top:50%;right:auto;left:50%;width:min(390px,calc(100vw - 30px));transform:translate(-50%,-50%)}}
.teacher-create-popover,.teacher-action-popover{padding-top:22px}.popover-close-button{position:absolute;top:9px;right:10px;width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;background:#f1f5f6;color:#647780;font-size:21px;line-height:1;cursor:pointer}.popover-close-button:hover,.popover-close-button:focus-visible{background:#e4edef;color:var(--navy);outline:none;box-shadow:0 0 0 3px rgba(53,201,165,.12)}.teacher-create-popover h3{padding-right:34px}.teacher-action-popover>strong{padding-right:34px}
.class-manager-disclosure{margin:0 0 16px;padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:#f8fbfc}.class-manager-disclosure>summary{cursor:pointer;list-style:none;color:var(--teal);font-size:13px;font-weight:800}.class-manager-disclosure>summary::-webkit-details-marker{display:none}.class-manager-form{display:grid;gap:12px;margin-top:13px}.class-teacher-picker span{display:flex!important;align-items:center;gap:5px}.class-teacher-picker small{color:var(--muted);font-size:12px;font-weight:400}.class-manager-form .form-actions{margin:0}.create-disclosure .class-teacher-picker{margin-top:8px}
.course-category-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px}.course-category-list-panel{padding:0;overflow:hidden}.course-category-list-panel>.panel-heading{margin:0;padding:20px;border-bottom:1px solid var(--line)}.course-category-table{min-width:900px}.course-category-table>tbody>tr>td{padding:10px 14px}.course-category-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(230px,2fr) 90px 80px 110px auto;gap:10px;align-items:end}.course-category-row label{display:grid;gap:5px}.course-category-row label>span,.category-course-count span{color:var(--muted);font-size:12px;font-weight:800}.course-category-row input,.course-category-row select{width:100%;min-width:0;padding:9px 10px;border:1px solid #DCE7F4;border-radius:8px;background:#fff}.category-course-count{display:grid;justify-items:center;gap:2px;padding-bottom:7px}.category-course-count strong{color:var(--navy);font-size:18px}.product-category-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin:12px 0}.product-category-form label{display:grid;gap:4px;color:var(--muted);font-size:12px;font-weight:800}.product-category-form select{width:100%;padding:8px 9px;border:1px solid #DCE7F4;border-radius:8px;background:#fff}.product-create-panel .panel-heading p{margin-top:5px}.product-create-panel .panel-heading a{color:var(--teal);font-weight:800}@media(max-width:980px){.course-category-layout{grid-template-columns:1fr}.course-category-create-panel{position:static}.course-category-row{grid-template-columns:1fr 1.4fr 80px 70px 100px auto}}
.paper-question-card{position:relative;transition:border-color .2s,box-shadow .2s}.paper-question-card.is-regenerating{border-color:var(--teal);box-shadow:0 0 0 3px rgba(53,201,165,.1)}.paper-question-meta{align-items:center}.question-regenerate-toggle{margin-left:auto;padding:7px 10px;border:1px solid #b9d5d8;border-radius:8px;background:#eef9f7;color:var(--teal);font-size:12px;font-weight:900;cursor:pointer}.question-regenerate-form{display:grid;gap:11px;margin-top:14px;padding:15px;border:1px solid #cde0e4;border-radius:11px;background:#f7fbfc}.question-regenerate-form[hidden],.question-regeneration-progress[hidden],.question-regeneration-error[hidden]{display:none!important}.question-regenerate-form label{display:grid;gap:7px}.question-regenerate-form label>span{color:var(--navy);font-size:13px;font-weight:900}.question-regenerate-form textarea{width:100%;resize:vertical;padding:11px 12px;border:1px solid #c5d6dc;border-radius:9px;background:#fff;line-height:1.6}.question-regenerate-actions{display:flex!important;align-items:center;gap:8px!important}.question-regenerate-actions small{margin-left:4px;color:var(--muted);font-size:12px}.question-regeneration-progress{display:grid;gap:8px;margin-top:14px;padding:13px 15px;border-radius:10px;background:#E6F7F2}.question-regeneration-progress>div:first-child{display:flex;justify-content:space-between}.question-regeneration-message{color:var(--teal)!important;background:none!important;padding:0!important;font-size:13px!important}.question-regeneration-percent{color:var(--navy);font-size:13px}.question-regeneration-error{margin:0!important;color:var(--danger)!important;font-size:12px!important}@media(max-width:650px){.paper-question-meta{flex-wrap:wrap}.question-regenerate-toggle{width:100%;margin-left:0}.question-regenerate-actions{align-items:stretch!important;flex-direction:column}.question-regenerate-actions>*{width:100%}}
.ai-mode-selector{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ai-mode-selector button{display:grid;gap:6px;text-align:left;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#f7fafb;color:var(--navy);cursor:pointer}.ai-mode-selector button b{font-size:17px}.ai-mode-selector button span{color:var(--muted);font-size:13px}.ai-mode-selector button.is-active{border-color:var(--teal);background:#eaf8f6;box-shadow:0 0 0 2px rgba(53,201,165,.08)}.ai-mode-selector button .ai-button-product{display:flex;align-items:center;gap:8px;margin-top:6px;padding:4px 10px;border-radius:999px;background:#fff;color:var(--teal);font-size:13px;font-weight:800;border:1px solid #bde0d4;cursor:pointer}.ai-mode-selector button .ai-product-switch{flex:1;min-width:0;max-width:260px;border:0;background:transparent;color:var(--teal);font-size:13px;font-weight:800;cursor:pointer;outline:none}.ai-blueprint-panel.ai-blueprint-panel--courses .ai-blueprint-toolbar.ai-course-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.ai-blueprint-panel.ai-blueprint-panel--courses .ai-current-product{display:flex;align-items:center;gap:10px;color:var(--navy);font-size:14px;font-weight:800;margin:0}.ai-blueprint-panel.ai-blueprint-panel--courses .ai-current-product .ai-product-switch{font-size:15px;font-weight:800;color:var(--teal);max-width:360px;padding:8px 12px;border:1px solid #bde0d4;border-radius:9px;background:#fff;cursor:pointer}.ai-blueprint-panel.ai-blueprint-panel--courses .ai-toolbar-actions{display:flex;gap:10px;flex-wrap:wrap}
.ai-stepper{display:grid;grid-template-columns:1fr 1fr;gap:0;list-style:none;margin:0;padding:0}.ai-stepper li{display:flex;align-items:center;gap:9px;color:var(--muted);padding:10px 14px;border-bottom:3px solid #e4ecef}.ai-stepper li b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e9eff1;color:var(--muted)}.ai-stepper li.is-active{color:var(--navy);border-color:var(--teal)}.ai-stepper li.is-active b{background:var(--teal);color:#fff}
.ai-blueprint-panel .ai-blueprint-toolbar{grid-template-columns:minmax(280px,1fr) auto}.ai-blueprint-panel .ai-tree-header,.ai-blueprint-panel .ai-select-row{grid-template-columns:minmax(360px,1fr) 80px 130px}.ai-blueprint-panel.ai-blueprint-panel--courses .ai-tree-header,.ai-blueprint-panel.ai-blueprint-panel--courses .ai-select-row{grid-template-columns:minmax(360px,1fr) 200px}.ai-blueprint-panel.ai-blueprint-panel--courses .ai-course-list{display:flex;flex-direction:column;max-height:560px;overflow:auto;border:1px solid var(--line);border-radius:11px;background:#fff}.ai-blueprint-panel.ai-blueprint-panel--courses .course-row{display:flex;align-items:center;gap:18px;padding:11px 14px;border-bottom:1px solid #edf1f3}.ai-blueprint-panel.ai-blueprint-panel--courses .course-row:last-child{border-bottom:0}.ai-blueprint-panel.ai-blueprint-panel--courses .course-row:hover{background:#f6fafb}.ai-blueprint-panel.ai-blueprint-panel--courses .course-row.is-selected{background:#E6F7F2}.ai-blueprint-panel.ai-blueprint-panel--courses .course-check{flex:1;min-width:0;display:flex;align-items:center;gap:10px;color:var(--navy);font-size:14px;font-weight:500;cursor:pointer}.ai-blueprint-panel.ai-blueprint-panel--courses .course-check input{flex:none;width:17px;height:17px;accent-color:var(--teal)}.ai-blueprint-panel.ai-blueprint-panel--courses .course-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-blueprint-panel.ai-blueprint-panel--courses .course-ratio{flex:0 0 180px;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.ai-blueprint-panel.ai-blueprint-panel--courses .course-ratio input{flex:1;min-width:0;width:100%;border:1px solid var(--line);border-radius:8px;padding:7px 10px}.ai-blueprint-panel.ai-blueprint-panel--courses .course-ratio input:disabled{background:#f1f4f5;color:#a5afb5}.ai-blueprint-panel.ai-blueprint-panel--courses .course-head{display:flex;align-items:center;gap:18px;padding:10px 14px;background:#eef3f5;color:var(--muted);font-size:12px;font-weight:800;border-radius:9px}.ai-blueprint-panel.ai-blueprint-panel--courses .course-head .course-check{visibility:hidden}.ai-blueprint-panel .ai-select-tree{max-height:560px}.ai-blueprint-summary.knowledge-summary-bar{grid-template-columns:repeat(2,minmax(180px,260px))}
.document-kind-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.document-kind-grid article{padding:18px;border:1px solid var(--line);border-radius:13px;background:#f7fafb}.document-kind-grid b{color:var(--navy);font-size:16px}.document-kind-grid p{margin:8px 0 0;color:var(--muted);line-height:1.65}.ai-type-table{min-width:720px}.ai-type-table th,.ai-type-table td{padding:10px 12px}.ai-type-table tbody tr.is-active{background:#E6F7F2}
@media(max-width:900px){.ai-mode-selector,.document-kind-grid{grid-template-columns:1fr}.ai-blueprint-panel .ai-tree-header,.ai-blueprint-panel .ai-select-row{grid-template-columns:minmax(220px,1fr) 65px 100px}.compact-document-form .form-grid{grid-template-columns:1fr}.ai-blueprint-summary.knowledge-summary-bar{grid-template-columns:1fr 1fr}}
.ai-job-actions{align-items:center}.ai-job-actions [hidden]{display:none!important}.ai-job-actions .primary-button,.ai-job-actions .secondary-button{width:118px;height:44px;margin:0;padding:0 16px;white-space:nowrap}
.page-actions form{margin:0}.paper-type-group,.exam-type-group{display:grid;gap:12px}.paper-type-group+.paper-type-group,.exam-type-group+.exam-type-group{margin-top:14px}.paper-type-heading,.exam-type-heading{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-radius:11px;background:linear-gradient(90deg,#e7f5f4,#f5f8fa);border-left:4px solid var(--teal)}.paper-type-heading h3,.exam-type-heading h2{margin:0;color:var(--navy);font-size:17px}.paper-type-heading span,.exam-type-heading span{color:var(--muted);font-size:13px;font-weight:800}.answer-type-groups{display:grid;gap:13px}.answer-type-group{display:grid;gap:7px}.answer-type-group>div:first-child{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.answer-type-group strong{color:var(--navy)}.exam-type-group{min-width:0}.exam-type-heading{position:sticky;top:86px;z-index:8}.paper-preview-list>.paper-type-group>.paper-question-card{margin:0}

/* Class-level exam analytics */
.class-analysis-filter{display:flex;align-items:end;gap:12px;margin-bottom:18px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}.class-analysis-filter label{display:grid;min-width:min(460px,60vw);gap:6px;color:var(--navy);font-size:13px;font-weight:800}.class-analysis-filter select{width:100%;padding:10px 12px;border:1px solid #DCE7F4;border-radius:9px;background:#fff}.class-analysis-filter>span{padding-bottom:10px;color:var(--muted);font-size:13px}.class-analysis-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.class-analysis-summary>div{display:flex;flex-direction:column;gap:5px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.class-analysis-summary span,.class-analysis-summary small{color:var(--muted);font-size:13px}.class-analysis-summary strong{color:var(--navy);font-size:25px}.class-analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.class-distribution,.type-performance-list{display:grid;gap:15px}.class-distribution>div>div:first-child{display:flex;justify-content:space-between;margin-bottom:7px}.class-distribution strong,.type-performance-list strong{color:var(--navy);font-size:13px}.class-distribution span,.type-performance-list span{color:var(--muted);font-size:12px}.class-distribution .excellent{background:#2d9c76}.class-distribution .good{background:#3ba7b7}.class-distribution .pass{background:#d7a52c}.class-distribution .low{background:#d65353}.type-performance-list>div{display:grid;grid-template-columns:minmax(150px,1fr) minmax(100px,.7fr) 50px;align-items:center;gap:12px}.type-performance-list>div>div:first-child{display:flex;flex-direction:column}.type-performance-list b{text-align:right;color:var(--teal);font-size:13px}.class-student-table{min-width:1000px}.class-student-table td:first-child{min-width:150px}.class-student-table td:first-child{display:flex;flex-direction:column;gap:3px}.class-student-table small{color:var(--muted)}

/* Personal AI learning report */
.ai-student-report{overflow:hidden;background:linear-gradient(145deg,#fff 0%,#f4fbfa 100%)}.ai-report-level{padding:7px 12px;border-radius:999px;background:#e4f4ef;color:var(--teal);font-size:13px;font-weight:900}.ai-report-summary{margin-top:20px;padding:20px;border-left:4px solid var(--teal);border-radius:0 12px 12px 0;background:#fff}.ai-report-summary>strong,.ai-report-behavior>strong{color:var(--navy)}.ai-report-summary p,.ai-report-behavior p{margin:8px 0 0;color:#405966;line-height:1.8}.ai-report-summary small{display:block;margin-top:8px;color:var(--muted)}.ai-report-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.ai-report-columns>div{padding:18px;border:1px solid #dbe8e8;border-radius:14px;background:rgba(255,255,255,.86)}.ai-report-columns h3{margin:0 0 12px;color:var(--navy);font-size:16px}.ai-report-columns article+article{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.ai-report-columns article strong{color:var(--teal);font-size:13px}.ai-report-columns article p{margin:5px 0 0;color:#526874;font-size:13px;line-height:1.65}.ai-report-behavior{margin-top:16px;padding:16px 18px;border-radius:12px;background:#edf4f6}.ai-report-progress,.ai-report-empty{display:flex;align-items:center;gap:16px;margin-top:20px;padding:22px;border-radius:14px;background:#f2f7f8}.ai-report-progress strong,.ai-report-empty strong{color:var(--navy)}.ai-report-progress p,.ai-report-empty p{margin:6px 0;color:var(--muted)}.ai-report-empty{align-items:flex-start;flex-direction:column}.ai-spinner{width:34px;height:34px;flex:0 0 auto;border:4px solid #d6e8e9;border-top-color:var(--teal);border-radius:50%;animation:ai-report-spin .9s linear infinite}@keyframes ai-report-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.class-analysis-grid,.ai-report-columns{grid-template-columns:1fr}.class-analysis-summary{grid-template-columns:1fr 1fr}.class-analysis-filter{align-items:stretch;flex-direction:column}.class-analysis-filter label{min-width:0}.class-analysis-filter>span{padding:0}}
@media(max-width:600px){.class-analysis-summary{grid-template-columns:1fr}.analytics-tabs{overflow-x:auto}.analytics-tabs a{flex:0 0 auto}.ai-student-report{padding:20px}}

/* Consolidated score filters and exam analysis. */
.result-filter-bar,.analytics-scope-filter{display:flex;align-items:end;gap:12px;margin:0 0 18px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}.result-filter-bar label,.analytics-scope-filter label{display:grid;gap:6px;color:var(--navy);font-size:13px;font-weight:800}.result-filter-bar label{min-width:300px}.analytics-scope-filter label:first-of-type{min-width:min(460px,40vw)}.analytics-scope-filter label:nth-of-type(2){min-width:min(330px,30vw)}.result-filter-bar select,.analytics-scope-filter select{width:100%;padding:11px 12px;border:1px solid #DCE7F4;border-radius:9px;background:#fff;color:var(--navy)}.filter-result-count{margin-left:auto;padding-bottom:11px;color:var(--muted);font-size:13px}.filter-result-count strong{color:var(--navy);font-size:16px}.results-table{min-width:1180px}.results-table td:nth-child(2){min-width:130px}.results-table td:nth-child(3){min-width:210px}.analysis-section-head{display:flex;align-items:end;justify-content:space-between;margin:0 0 14px}.analysis-section-head span{color:var(--teal);font-size:13px;font-weight:900}.analysis-section-head h2{margin:4px 0 0;color:var(--navy)}.analysis-section-head p{margin:0;color:var(--muted);font-size:13px}.analytics-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.analytics-kpi-grid>div{display:flex;flex-direction:column;gap:5px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.analytics-kpi-grid span,.analytics-kpi-grid small{color:var(--muted);font-size:13px}.analytics-kpi-grid strong{color:var(--navy);font-size:25px}.analytics-two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.analytics-two-column+.panel,.analytics-page>.panel{margin-top:18px}.analytics-more{margin-top:12px;border-top:1px solid var(--line)}.analytics-more summary{cursor:pointer;padding:14px;color:var(--teal);font-size:13px;font-weight:800}.analytics-more table{margin-top:0}.class-compare-table{min-width:980px}.class-compare-table td:first-child{display:flex;min-width:150px;flex-direction:column}.class-compare-table small{color:var(--muted)}.class-compare-table a{color:var(--teal);font-weight:800}.student-analysis-panel{padding-bottom:22px}.student-profile-strip{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:10px;margin:16px 0}.student-profile-strip>div{display:flex;flex-direction:column;gap:4px;padding:15px;border:1px solid #e1e9ed;border-radius:11px;background:#f8fbfc}.student-profile-strip span{color:var(--muted);font-size:12px}.student-profile-strip strong{color:var(--navy);font-size:18px}.student-analysis-actions{display:flex;align-items:center;gap:10px;margin:0 0 18px}.student-analysis-actions span{color:var(--muted);font-size:13px}.nested-analysis-panel{margin-top:14px;background:#fbfdfe;box-shadow:none}.admin-ai-report{margin-top:14px}.admin-ai-report .ai-report-columns{margin-top:14px}
@media(max-width:1050px){.analytics-kpi-grid{grid-template-columns:1fr 1fr}.analytics-two-column{grid-template-columns:1fr}.student-profile-strip{grid-template-columns:1fr 1fr 1fr}.result-filter-bar,.analytics-scope-filter{align-items:stretch;flex-wrap:wrap}.analytics-scope-filter label:first-of-type,.analytics-scope-filter label:nth-of-type(2),.result-filter-bar label{min-width:min(100%,360px)}.filter-result-count{width:100%;margin-left:0;padding:4px 0 0}}
@media(max-width:600px){.analytics-kpi-grid,.student-profile-strip{grid-template-columns:1fr}.analysis-section-head{align-items:start;flex-direction:column;gap:6px}.result-filter-bar,.analytics-scope-filter{flex-direction:column}.result-filter-bar label,.analytics-scope-filter label:first-of-type,.analytics-scope-filter label:nth-of-type(2){width:100%;min-width:0}.result-filter-bar .primary-button,.result-filter-bar .secondary-button,.analytics-scope-filter .primary-button{width:100%;text-align:center}.student-analysis-actions{align-items:stretch;flex-direction:column}.student-analysis-actions a{text-align:center}}

/* Per-release score records merged into exam publishing. */
.exam-result-button{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:8px;background:#e5f4f1;color:var(--teal)!important;font-size:13px;font-weight:900;white-space:nowrap}.release-result-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.release-result-summary>div{display:flex;flex-direction:column;gap:5px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.release-result-summary span,.release-result-summary small{color:var(--muted);font-size:13px}.release-result-summary strong{color:var(--navy);font-size:26px}.release-results-table{min-width:1120px}.release-results-table td:first-child{display:flex;min-width:150px;flex-direction:column}.release-results-table td:first-child small{color:var(--muted)}.row-action-group{display:flex;align-items:center;gap:12px;white-space:nowrap}.row-action-group a{color:var(--teal);font-size:13px;font-weight:900}.row-action-group span{color:var(--muted);font-size:13px}
@media(max-width:760px){.release-result-summary{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.release-result-summary{grid-template-columns:1fr}}

/* Rich answers for subjective and programming questions. */
.subjective-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.subjective-label span{color:var(--muted);font-size:13px;font-weight:400}.student-rich-editor{overflow:hidden;border:1px solid #DCE7F4;border-radius:12px;background:#fff;transition:.15s}.student-rich-editor:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(53,201,165,.12)}.student-rich-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:7px 8px;border-bottom:1px solid #e0e8ec;background:#f5f9fa}.student-rich-toolbar button{height:32px;min-width:32px;padding:0 9px;border:1px solid transparent;border-radius:7px;background:transparent;color:#344b59;font-size:13px;cursor:pointer}.student-rich-toolbar button:hover,.student-rich-toolbar button:focus-visible{border-color:#bad3dc;background:#fff;color:var(--teal);outline:none}.student-rich-toolbar [data-answer-code]{color:var(--blue);font-weight:900}.student-rich-toolbar [data-answer-image],.student-rich-toolbar [data-answer-camera]{color:var(--teal);font-weight:900}.student-rich-toolbar>i{width:1px;height:22px;margin:0 3px;background:#d4e0e5}.student-rich-toolbar select{height:32px;max-width:108px;border:1px solid #d1dee4;border-radius:7px;background:#fff;padding:0 7px;color:#344b59;font-size:13px}.subjective-answer-rich{min-height:190px;padding:16px;outline:none;color:var(--ink);font-size:16px;line-height:1.75;white-space:pre-wrap}.student-code-editor .subjective-answer-rich{min-height:300px}.subjective-answer-rich[data-placeholder]:empty:before{content:attr(data-placeholder);color:#8a969d;pointer-events:none}.subjective-answer-rich img{display:block;max-width:100%;max-height:640px;margin:12px auto;border-radius:10px;object-fit:contain;background:#eef3f5}.answer-upload-state{min-height:24px;padding:4px 12px;color:var(--teal);font-size:12px;text-align:right}.student-answer-value{min-width:0;white-space:normal}.student-answer-value>img,.answer-preview.rich-content>img{max-width:100%;max-height:460px}
@media(max-width:600px){.subjective-label{align-items:flex-start;flex-direction:column}.student-rich-toolbar{gap:3px}.student-rich-toolbar button{height:36px;padding:0 8px}.student-rich-toolbar select{height:36px;max-width:94px}.subjective-answer-rich{min-height:220px;padding:13px;font-size:16px}.student-code-editor .subjective-answer-rich{min-height:330px}.student-rich-toolbar>i{display:none}}

/* AI 生成题目预览：题干/选项/答案 */
.ai-preview-question-body{display:flex;flex-direction:column;gap:6px;margin-top:10px}.ai-preview-stem{margin:0;font-size:14px;line-height:1.7;color:var(--ink);white-space:pre-wrap}.ai-preview-option{display:flex;gap:8px;font-size:14px;color:var(--ink);line-height:1.6}.ai-preview-option strong{flex:0 0 auto;width:18px;height:18px;border-radius:50%;background:#EAF2FC;color:var(--blue);display:grid;place-items:center;font-size:13px}.ai-preview-answer{margin-top:4px;font-size:14px;color:var(--success);font-weight:800}.ai-preview-answer::before{content:'答案：';color:var(--muted);font-weight:400}

.ai-preview-explanation{margin-top:6px;padding:9px 12px;background:#F5F8FC;border-radius:8px;font-size:14px;color:var(--muted);line-height:1.6}.ai-preview-explanation span{font-weight:800;color:var(--navy);margin-right:6px}

.ai-tree-source-bar{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:10px 14px;background:#FFF8EC;border:1px solid #F0DFB8;border-radius:10px}.ai-tree-source-bar label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;color:var(--navy)}.ai-tree-source-bar select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:#fff;min-width:200px}.ai-tree-source-bar small{color:#8a7448;font-size:13px;font-weight:400}

/* 课程AI组卷知识树：字号16px，行高紧凑 */
.course-ai-workflow .ai-select-tree .ai-node-name strong{font-size:16px;line-height:1.25}
.course-ai-workflow .ai-select-row{min-height:32px;padding:4px 12px}
.course-ai-workflow .ai-tree-label{font-size:12px;padding:3px 7px}
.course-ai-workflow .ai-bank-count{font-size:13px}

/* 课程AI组卷：多课程知识树块 */
.ai-course-block{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:12px;background:#fff}
.ai-course-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.ai-course-head strong{color:var(--navy);font-size:15px}
.ai-course-head select{padding:6px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:#fff}
.ai-course-head .link-button{margin-left:auto}
.ai-course-block .ai-select-tree{max-height:300px}
#course-ai-add-course{margin-top:8px}

.job-status.confirmed{background:#E6F7F2;color:var(--success)}.ai-confirm-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:14px 18px;border:1px solid #ecd7a0;border-radius:12px;background:#fff9e9;color:#675528}.ai-confirm-bar strong{color:#946118;font-size:14px}.ai-confirm-bar p{margin:4px 0 0;color:#7a6a47;font-size:13px}.ai-confirm-bar form{margin:0}

.ai-job-highlight{border-color:var(--teal);box-shadow:0 0 0 3px rgba(53,201,165,.18)}

/* 试卷详情：题目操作区与字号 */
.paper-question-meta{gap:14px;font-size:14px}
.paper-question-meta>span{font-size:14px;color:var(--muted)}
.paper-question-actions{margin-left:auto;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.paper-question-actions .link-button{font-size:14px;padding:5px 9px}
.question-regenerate-toggle{margin-left:0}
.paper-question-stem{font-size:16px}
.paper-option-preview{font-size:15px}
.paper-option-preview strong{font-size:14px}
.paper-answer-block>strong,.paper-explanation>strong{font-size:14px}
.paper-answer-block>div{font-size:15px}
.paper-explanation .rich-content,.paper-explanation p{font-size:15px!important}
#paper-question-dialog{width:min(82vw,960px)}
.regenerate-note{color:var(--muted);font-size:13px;margin:4px 0 0}
#paper-question-dialog .option-editor-card{background:#f8fbfc}

.rich-camera-input{display:none!important}

/* 试卷详情：右上角按钮不换行加宽 */
.paper-detail-main .page-actions,.admin-main .page-title .page-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.admin-main .page-title .page-actions .secondary-button,.admin-main .page-title .page-actions .primary-button{white-space:nowrap;padding:10px 18px;font-size:14px}
#paper-title-text+[data-rename-paper]{font-size:14px;vertical-align:middle;margin-left:8px;padding:4px 8px}

/* 人工组卷：试卷名称/说明排版 */
.paper-info-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:26px;align-items:start}
.paper-info-fields{display:grid;gap:14px}
.paper-info-fields label{display:grid;gap:7px;font-weight:700;color:var(--navy);font-size:14px}
.paper-info-fields input,.paper-info-fields textarea{padding:11px 13px;border:1px solid var(--line);border-radius:9px;font-size:14px;width:100%;box-sizing:border-box;font-family:inherit}
.paper-info-fields textarea{resize:vertical}
.paper-info-side{display:grid;gap:12px}
.paper-info-side .paper-form-tip,.paper-info-side .paper-live-total{display:grid;gap:5px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#f6fafb}
.paper-info-side .paper-form-tip span,.paper-info-side .paper-live-total span{font-size:13px;font-weight:800;color:var(--muted);letter-spacing:.06em}
.paper-info-side .paper-form-tip strong{color:var(--navy);font-size:14px;line-height:1.6}
.paper-info-side .paper-live-total strong{color:var(--teal);font-size:22px}
@media(max-width:760px){.paper-info-layout{grid-template-columns:1fr}}

/* 班级学习阶段 */
.class-stage{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:800;font-style:normal;vertical-align:middle;background:#E6F7F2;color:var(--success)}
.class-stage.graduated{background:#EBF3FF;color:var(--blue)}
.class-stage.placement{background:#fff4df;color:#9a6413}
.class-stage.archived{background:#eef2f4;color:var(--muted)}
.panel-heading .stage-form{display:inline-flex;align-items:center;gap:6px;margin-right:8px}
.stage-form select{padding:5px 8px;border:1px solid var(--line);border-radius:7px;font-size:13px;background:#fff}
.class-list a strong{display:flex;align-items:center;gap:4px}
.class-list a .class-stage{margin-left:auto}

/* 发布考试对话框：考生多列勾选 */
#ce-students{display:flex;flex-wrap:wrap;gap:8px;max-height:240px;overflow:auto;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fbfc}
#ce-students .ce-student-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;font-size:14px;color:var(--ink);transition:border-color .15s,background .15s}
#ce-students .ce-student-chip:hover{border-color:var(--teal);background:#f0faf8}
#ce-students .ce-student-chip input{margin:0;accent-color:var(--teal)}
#ce-students .ce-student-chip span{white-space:nowrap}
#ce-students .empty{width:100%;padding:8px 0}
.paper-list-page .page-title h1{font-size:26px}.paper-list-page .page-title-actions .primary-button,.paper-list-page .page-title-actions .secondary-button{font-size:14px;padding:11px 18px}.paper-list-page .paper-list-panel>.panel-heading p{font-size:13px}.paper-list-page .paper-list-table th{font-size:13px;padding-block:12px}.paper-list-page .paper-list-table td{font-size:14px;padding-block:15px}.paper-list-page .paper-title-cell strong{font-size:15px}.paper-list-page .paper-title-cell small{font-size:13px}.paper-list-page .paper-source{font-size:13px;padding:6px 10px}.paper-list-page .paper-status{font-size:13px;padding:6px 10px}.paper-list-page .paper-row-actions a,.paper-list-page .paper-row-actions button{font-size:14px}.paper-list-page .paper-row-actions .locked-note{font-size:13px}.paper-list-page .paper-list-heading h2{font-size:18px}
/* ========== 作业模块（2026-08-21） ========== */
.empty-text{color:#9aa6ae;font-size:12px}.hw-action-bar{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:#f8fbfc}.hw-description{line-height:1.75;color:#344a58;white-space:pre-wrap}.hw-preview{max-width:380px;color:#3d5b69;font-size:13px;line-height:1.55}.hw-missing-box{margin:-8px 0 16px;padding:14px 16px;border:1px dashed #b9cdd5;border-radius:11px;background:#f8fbfc}.hw-missing-list{display:flex;flex-wrap:wrap;gap:8px}.hw-missing-chip{padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #dce7e9;color:#526a77;font-size:12px}.grade-ai-tip{margin-bottom:12px;padding:11px 14px;border:1px solid #ecd7a0;border-radius:10px;background:#fff9e9;color:#675528;font-size:13px;line-height:1.6}.homework-card-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}.homework-card{padding:23px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(23,58,94,.05)}.homework-card.submitted{border-color:#bde0d4;background:#fcfefd}.homework-card-head{display:flex;align-items:center;gap:8px}.homework-course{padding:5px 8px;border-radius:999px;background:#E6F7F2;color:var(--teal);font-size:12px;font-weight:800}.homework-class{padding:5px 8px;border-radius:999px;background:#eef3f6;color:var(--blue);font-size:12px;font-style:normal;font-weight:800}.homework-state{margin-left:auto;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800}.homework-state.todo{background:#EBF3FF;color:var(--blue)}.homework-state.done{background:#E6F7F2;color:var(--success)}.homework-state.late{background:#fff0df;color:#a76315}.homework-card h2{margin:14px 0 8px;color:var(--navy);font-size:19px}.homework-card>p{min-height:44px;color:var(--muted);font-size:13px;line-height:1.6}.homework-card-meta{display:grid;gap:5px;margin:14px 0;padding:12px 0;border-block:1px solid #e9eff2;color:var(--muted);font-size:12px}.homework-score{color:var(--navy);font-weight:800}.homework-score strong{color:var(--teal);font-size:16px}.hw-result-card{margin-bottom:16px;padding:16px 18px;border:1px solid #bde0d4;border-radius:12px;background:#f4fbf9}.hw-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px;font-weight:800}.hw-result-score{color:var(--teal);font-size:30px}.hw-result-score small{font-size:14px;color:var(--muted);font-weight:800}.hw-result-comment{margin-top:10px;line-height:1.7;color:#344a58}.hw-my-content{padding:16px 18px;border:1px solid var(--line);border-radius:11px;background:#fbfdfe;line-height:1.7;color:#344a58}.hw-attachment{margin:12px 0 0}.homework-due{color:#a76315}
@media(max-width:900px){.homework-card-list{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.homework-card-list{grid-template-columns:1fr}}
/* ========== 班级空间（2026-08-21） ========== */
.my-class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.my-class-card{display:flex;flex-direction:column;gap:10px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(23,58,94,.05);color:var(--navy);transition:border-color .15s,transform .15s}.my-class-card:hover{border-color:var(--teal);transform:translateY(-2px)}.my-class-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.my-class-head strong{font-size:18px;color:var(--navy)}.my-class-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:13px}.my-class-teachers small{color:var(--muted);font-size:12px}.my-class-enter{margin-top:4px;color:var(--teal);font-size:13px;font-weight:800}.homework-create-disclosure{margin:0;padding:0;border:0}.homework-create-disclosure>summary{cursor:pointer;list-style:none;color:var(--teal);font-size:13px;font-weight:800;padding:9px 13px;border:1px solid #bfe3d9;border-radius:10px;background:#f2fbf8}.homework-create-disclosure>summary::-webkit-details-marker{display:none}.homework-create-disclosure>.editor-form{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8fbfc}
@media(max-width:900px){.my-class-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.my-class-grid{grid-template-columns:1fr}}
.grade-ai-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:4px;padding:10px 12px;border:1px solid #bfe3d9;border-radius:10px;background:#f2fbf8}.grade-ai-row .form-help{margin:0;color:var(--muted);font-size:12px;flex:1;min-width:220px}
.grade-dialog-wide{width:min(980px,94vw)}.grade-form{display:grid;gap:16px}.grade-layout{display:flex;gap:16px;align-items:stretch}.grade-content-pane{min-width:0;display:grid;gap:8px;width:70%;flex:0 0 70%}.grade-pane-head{display:flex;align-items:baseline;gap:10px}.grade-pane-head span{color:var(--navy);font-size:13px;font-weight:800}.grade-pane-head small{color:var(--muted);font-size:12px}.grade-content-box{max-height:420px;overflow:auto;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fbfdfe;line-height:1.75;color:#344a58;min-height:280px}.grade-side-pane{min-width:0;display:grid;gap:14px;align-content:start;flex:1 1 30%}.grade-side-pane>*{min-width:0}.grade-side-pane label{display:grid;gap:7px;color:var(--navy);font-size:13px;font-weight:800;min-width:0}.grade-side-pane textarea,.grade-side-pane input{width:100%;min-width:0;max-width:100%;padding:10px 12px;border:1px solid #DCE7F4;border-radius:9px;background:#fff;font-size:14px;font-weight:400;box-sizing:border-box}.grade-side-pane textarea{resize:vertical;min-height:120px}.grade-side-pane .grade-ai-row{margin-bottom:0;width:100%;box-sizing:border-box}.grade-form>.form-actions{justify-content:flex-end}
@media(max-width:800px){.grade-layout{grid-template-columns:1fr}}
/* ========== 考勤模块（2026-08-21） ========== */
.attendance-section-title{margin:22px 0 12px;color:var(--navy);font-size:16px}.attendance-section-title:first-of-type{margin-top:4px}.attendance-mark-form{display:flex;align-items:center;gap:8px}.attendance-select{padding:7px 9px;border:1px solid #DCE7F4;border-radius:8px;background:#fff;font-size:13px}.attendance-status{display:inline-block;padding:5px 10px;border-radius:999px;font-size:13px;font-weight:800}.attendance-status.present{background:#E6F7F2;color:var(--success)}.attendance-status.late{background:#fff0df;color:#a76315}.attendance-status.leave{background:#EBF3FF;color:var(--blue)}.attendance-status.absent{background:#fff0f0;color:var(--danger)}.attendance-status.unmarked{background:#f1f2f3;color:#7b878d}
/* ========== 考勤二维码（2026-08-21） ========== */
.attendance-qr-body{display:grid;gap:16px}.attendance-qr-type{display:flex;gap:8px;width:max-content;padding:5px;border:1px solid var(--line);border-radius:12px;background:#eaf0f3}.attendance-qr-type button{border:0;padding:9px 18px;border-radius:9px;background:transparent;color:var(--muted);font-size:14px;font-weight:800;cursor:pointer}.attendance-qr-type button.active{background:#fff;color:var(--navy);box-shadow:0 4px 12px rgba(23,58,94,.08)}.attendance-qr-box{display:grid;justify-items:center;gap:8px;padding:20px;border:1px dashed #b9cdd5;border-radius:14px;background:#f8fbfc}.attendance-qr-image{min-height:220px;display:grid;grid-template-columns:1fr;justify-items:center;gap:14px}.attendance-qr-item{display:grid;justify-items:center;gap:6px}.attendance-qr-tag{font-size:12px;color:var(--muted);font-weight:700}.attendance-qr-img{width:220px;height:220px;border-radius:10px;background:#fff;padding:10px;box-sizing:border-box}.attendance-qr-times{display:grid;gap:4px;color:var(--muted);font-size:13px}
.attendance-qr-ttl{margin-top:6px}.attendance-qr-ttl label{display:flex;align-items:center;gap:10px;color:var(--navy);font-size:13px;font-weight:800}.attendance-qr-ttl select{padding:7px 9px;border:1px solid #DCE7F4;border-radius:8px;background:#fff;font-size:13px}
.attendance-toast{position:fixed;top:22px;left:50%;transform:translateX(-50%);padding:11px 22px;border-radius:11px;font-size:14px;font-weight:800;z-index:9999;box-shadow:0 10px 30px rgba(23,58,94,.18);animation:attendance-toast-in .25s ease}.attendance-toast.ok{background:#0e9f8c;color:#fff}.attendance-toast.error{background:#dc2626;color:#fff}@keyframes attendance-toast-in{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
/* ========== H5 扫码签到（2026-08-25） ========== */
.scan-main{max-width:520px;margin:0 auto;padding:20px 16px 40px}.scan-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 34px rgba(23,58,94,.08);padding:24px 20px;text-align:center}.scan-head h1{margin:0 0 6px;color:var(--navy);font-size:22px}.scan-head p{margin:0 0 18px;color:var(--muted);font-size:13px}.scan-video-wrap{position:relative;border-radius:14px;overflow:hidden;background:#0b1420;aspect-ratio:1/1;display:grid;place-items:center}.scan-video{width:100%;height:100%;object-fit:cover}.scan-frame{position:absolute;inset:12%;border:3px solid rgba(14,159,140,.85);border-radius:14px;box-shadow:0 0 0 9999px rgba(0,0,0,.35)}.scan-status{position:absolute;left:0;right:0;bottom:0;padding:10px;background:rgba(0,0,0,.55);color:#fff;font-size:13px}.scan-retry{margin-top:14px}.scan-manual{margin-top:18px;text-align:left;padding:16px;background:#f8fbfc;border:1px dashed #b9cdd5;border-radius:14px}.scan-manual-title{font-weight:800;color:var(--navy);font-size:14px;margin-bottom:6px}.scan-code-input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #DCE7F4;border-radius:10px;font-size:18px;letter-spacing:4px;text-align:center;margin:10px 0}.scan-result{margin-top:16px;padding:16px;border-radius:12px;font-size:15px;font-weight:700}.scan-result.ok{background:#E6F7F2;color:var(--success)}.scan-result.fail{background:#fff0f0;color:var(--danger)}.scan-result small{font-weight:400;color:var(--muted)}.scan-back{display:inline-block;margin-top:18px;color:var(--teal);font-size:14px;font-weight:700}
.attendance-qr-code{font-size:20px;font-weight:900;letter-spacing:3px;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 18px}
/* ========== 考勤详情新布局（2026-08-25） ========== */
.attendance-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:16px;align-items:stretch}.attendance-qr-col{display:flex;flex-direction:column}.attendance-qr-col .attendance-qr-body{display:flex;flex-direction:column;height:100%}.attendance-qr-col .attendance-qr-image img{width:210px;height:210px}.attendance-list-col{display:flex;flex-direction:column;min-width:0}.attendance-list-col .panel-heading{flex:0 0 auto}.attendance-table-scroll{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;border:1px solid var(--line);border-radius:10px}.attendance-table-scroll .product-table{min-width:0;width:100%;table-layout:fixed;margin:0}.attendance-table-scroll thead th{position:sticky;top:0;background:#f4f7f9;z-index:1}.attendance-table-scroll th:nth-child(1){width:30%}.attendance-table-scroll th:nth-child(2){width:26%}.attendance-table-scroll th:nth-child(3){width:22%}.attendance-table-scroll th:nth-child(4){width:22%}.attendance-stats-bottom{margin-top:16px}@media (max-width:900px){.attendance-layout{grid-template-columns:1fr}}
