.wf-runtime{--wf-bg:#f7f8fa;--wf-surface:#fff;--wf-ink:#263244;--wf-muted:#596778;--wf-line:#e1e6ec;--wf-accent:#315ed3;--wf-sidebar:#f0f2f5;--wf-selected:#eef2fc;--wf-focus:#315ed3;background:var(--wf-bg);color:var(--wf-ink);font-family:var(--font-sans)}.wf-runtime .wf-notice{padding:6px 24px;background:#eaf0f7;color:#4a5c71;font-size:12px;line-height:1.6}.wf-layout{flex:1;min-height:0;display:grid;grid-template-columns:200px minmax(0,1fr)}.wf-layout.is-focused{grid-template-columns:minmax(0,1fr)}.wf-runtime .wf-layout.is-focused .wf-content>.app-shell.app>.main.app-shell-main{width:100%;max-width:none}.wf-sidebar{padding:26px 14px 18px;background:var(--wf-sidebar);border-right:1px solid var(--wf-line);display:flex;flex-direction:column;min-height:0;overflow:auto}.wf-brand{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 14px;margin-bottom:24px;color:var(--wf-ink);text-decoration:none;width:fit-content}.wf-brand img,.wf-menu-brand img{width:32px;height:32px;object-fit:contain;flex:none}.wf-menu-brand{display:inline-flex;align-items:center;gap:10px}.wf-brand span{font-size:27px;font-weight:700;letter-spacing:2px}.wf-runtime .wf-nav{padding:0;border:0;background:transparent;display:flex;flex-direction:column;flex:1;gap:24px;flex-wrap:nowrap}.wf-nav a{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px;margin-bottom:4px;border-radius:8px;color:var(--wf-muted);font-size:14px;text-decoration:none;touch-action:manipulation}.wf-nav a:hover{background:#e6ebf3;color:var(--wf-ink)}.wf-nav a:active{background:#dce5f3}.wf-nav a[aria-current]{color:var(--wf-accent);background:var(--wf-surface);font-weight:600}.wf-nav .wf-management-links{margin-top:auto;border-top:1px solid var(--wf-line);padding-top:12px}.wf-account{display:flex;align-items:center;gap:10px;padding:18px 12px 0;color:var(--wf-muted);font-size:12px}.wf-account>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-content{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.wf-header{min-height:60px;background:var(--wf-surface);border-bottom:1px solid var(--wf-line);display:flex;align-items:center;gap:20px;padding:8px 28px;flex-shrink:0}.wf-current-page{font-size:18px;font-weight:600;white-space:nowrap}.wf-header button,.wf-mobile-menu button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:8px 12px;background:var(--wf-surface);border:1px solid var(--wf-line);border-radius:6px;color:var(--wf-ink);font:inherit;font-size:13px;cursor:pointer;touch-action:manipulation}.wf-header button:hover,.wf-mobile-menu button:hover{background:var(--wf-selected)}.wf-header .wf-menu-toggle{display:none}.wf-runtime :is(.wf-header,.wf-sidebar,.wf-mobile-menu) :is(button,a):focus-visible{outline:2px solid var(--wf-focus);outline-offset:2px}.wf-content>.app-shell.app{height:auto;min-height:0;max-height:none;flex:1;background:var(--wf-bg)}.wf-layout:not(.is-focused) .app-shell.app{grid-template-rows:minmax(0,1fr)}.wf-layout:not(.is-focused) .app-shell .app-shell-main{grid-row:1}.wf-content .app-shell-main{min-height:0;overscroll-behavior:contain;scroll-padding:20px}.wf-runtime .journey-home{padding:24px 28px 40px}.wf-runtime .journey-home .jh-columns{grid-template-columns:minmax(0,1fr) 310px;gap:20px}.wf-runtime .journey-home .jh-heading{margin-bottom:24px}.wf-content>.wf-sample{font-size:12px;padding:10px 20px;background:var(--wf-surface);border-top:1px solid var(--wf-line);flex-shrink:0}.wf-mobile-menu{width:min(320px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:18px;border:1px solid var(--wf-line);border-radius:12px;color:var(--wf-ink);background:var(--wf-surface);overscroll-behavior:contain}.wf-mobile-menu::backdrop{background:#17243e55}.wf-mobile-menu>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.wf-mobile-menu>header strong{font-size:23px}@media (max-width:1180px){.wf-layout{grid-template-columns:176px minmax(0,1fr)}.wf-sidebar{padding-inline:10px}.wf-runtime .journey-home .jh-columns{grid-template-columns:minmax(0,1fr) 275px;gap:16px}.wf-runtime .journey-home{padding:22px}}@media (max-width:1000px){.wf-layout{grid-template-columns:minmax(0,1fr)}.wf-sidebar{display:none}.wf-header .wf-menu-toggle{display:inline-flex}.wf-header{padding-inline:20px}.wf-runtime .journey-home .jh-columns{grid-template-columns:minmax(0,1fr) 300px}}@media (max-width:760px){.wf-runtime .journey-home .jh-columns{grid-template-columns:1fr}.wf-header{gap:10px;padding-inline:14px;flex-wrap:wrap}.wf-runtime .journey-home{padding:20px 14px 32px}.wf-runtime .wf-notice{padding-inline:14px}.wf-content>.wf-sample{flex-wrap:wrap;justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.wf-runtime .wf-nav a,.wf-runtime .wf-header button{transition:none}}.wf-skip{position:fixed;top:-100px;left:220px;background:var(--wf-ink);color:#fff;padding:12px 16px;z-index:5000}.wf-skip:focus{top:12px}.wf-layout.is-learning .app-shell-main{padding:20px 0 32px}.wf-layout.is-learning .learning-refined{grid-template-columns:minmax(0,1fr);align-content:start}.wf-layout.is-learning .learning-refined .learning-panel{min-width:0}@media (max-width:760px){.wf-layout.is-learning .app-shell-main{padding:14px 0 24px}}.wf-runtime .learning-tabs button,.wf-runtime .learning-page :is(select,input[type=date]),.wf-runtime .settings-section-btn{min-height:44px}.wf-runtime .settings-page .icon-btn,.wf-runtime .settings-page .switch{min-width:44px;min-height:44px}.wf-runtime .settings-page .switch input{z-index:1}.wf-runtime .settings-page .switch input:focus-visible+.switch-slider{outline:2px solid var(--wf-focus);outline-offset:2px}.wf-runtime .classes-page{padding:24px;box-sizing:border-box}.wf-runtime .classes-page .class-detail-panel-heading h2{font-size:18px;line-height:1.5}.wf-runtime .classes-page button.btn{font-size:14px}.wf-runtime .classes-master-content{min-width:0}.wf-runtime .classes-master-content #class-detail-panel-students{width:auto;min-width:0;max-width:none}@media (max-width:720px){.wf-runtime .classes-page{padding:12px}}@media (max-width:1000px){.wf-skip{left:14px}}html.review-refined .wf-runtime .review-topbar.has-prominent-exit{position:relative;z-index:12;width:100%;max-width:100%;box-sizing:border-box;gap:14px}html.review-refined .wf-runtime .review-topbar.has-prominent-exit .review-exit-primary{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid #c9d3e3;border-radius:7px;background:#fff;color:#263244;font-size:14px;flex:none;white-space:nowrap}html.review-refined .wf-runtime .review-exit-primary:hover{background:#eef2fc;border-color:#8fa7d5}html.review-refined .wf-runtime .review-exit-primary:focus-visible{outline:2px solid var(--wf-focus);outline-offset:2px}html.review-refined .wf-runtime .has-prominent-exit .review-topbar-left{flex:1 1 auto;overflow:hidden}html.review-refined .wf-runtime .has-prominent-exit .review-topbar-right{width:auto;flex:none}@media (max-width:1100px){html.review-refined .wf-runtime .has-prominent-exit .review-ai-status,html.review-refined .wf-runtime .has-prominent-exit .review-teacher-name{display:none}html.review-refined .wf-runtime .has-prominent-exit .review-topbar-left{flex-basis:auto}}@media (max-width:760px){html.review-refined .wf-runtime .has-prominent-exit .review-workflow-context,html.review-refined .wf-runtime .has-prominent-exit .review-topbar-separator,html.review-refined .wf-runtime .has-prominent-exit .review-progress-summary{display:none}html.review-refined .wf-runtime .has-prominent-exit .review-topbar-title h2{font-size:16px}}.wf-runtime .toast{top:116px}.wf-account-btn{display:flex;align-items:center;gap:10px;width:100%;padding:0;border:0;background:transparent;color:var(--wf-muted);font:inherit;font-size:12px;cursor:pointer}.wf-account-btn:hover{color:var(--wf-ink)}.wf-account-btn>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-runtime.is-authenticated .toast{top:84px}.workspace-route-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;display:grid;place-items:center;background:#f7f8fae8;color:#263244;font-size:16px}.wf-layout.is-home .wf-header{display:none}@media (max-width:1000px){.wf-layout.is-home .wf-header{display:flex}}.wf-notice{padding:7px 24px;background:#eef3f8;color:#526473;font-size:13px}html.classes-refined{--color-primary:#315ed3;--color-primary-hover:#264fb8;--color-text:#202b3c;--color-muted:#647185;--color-bg:#f7f8fa;--color-surface:#fff;--color-border:#e0e5ed;--color-danger:#a83f3b;--primary:#315ed3;--primary-d:#264fb8;--red:#ad4841;--red-soft:#fff0ee;--soft:#f1f4f8;--sidebar:#30445f}html.classes-refined .app-shell.app{--primary:#315ed3;--primary-d:#264fb8;--sidebar-active:#315ed3;--err:#a83f3b;--soft:#f1f4f8}.wf-sample{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px;font-size:13px;color:#617185}.wf-sample button{padding:8px;border:1px solid #bccadd;background:#fff;border-radius:5px}.wf-runtime{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.wf-runtime>.wf-notice,.wf-runtime>.wf-sample{flex-shrink:0}.wf-runtime>.app-shell.app{height:auto;min-height:0;max-height:none;flex:1}.wf-runtime .app-shell .app-shell-main:not(.is-capture-workbench):not(.is-review-workbench-main):not(.is-teaching-workbench-main):not(.is-learning-workbench-main){width:100%;max-width:1680px}.wf-runtime :is(button,a,input,select,summary):not(.ant-input):not(.ant-select-input):not(.ant-picker-input>input):focus-visible{outline:2px solid #315ed3;outline-offset:2px}.wf-runtime :is(button,select,input[type=date]){touch-action:manipulation}.wf-runtime .app-shell-main{min-width:0;overflow-x:hidden}.wf-runtime .app-shell-main :is(input,select,textarea){max-width:100%}.wf-runtime .app-shell-main :is(button,.btn):not([class*=ant-]){min-height:44px}.wf-runtime .app-shell-main :is(h1,h2,h3,h4,p,span,button){overflow-wrap:anywhere}.wf-runtime,.wf-runtime .wf-layout,.wf-runtime .wf-header,.wf-runtime .wf-mobile-menu,.wf-runtime .wf-layout .app-shell-main{font-family:var(--font-sans)}.wf-runtime .wf-layout .app-shell-main :is(button,input,select,textarea){font-family:var(--font-sans)}.wf-runtime .wf-layout .app-shell-main :is(.muted,.meta,.caption,.helper,.hint,.description){font-family:var(--font-sans)}.wf-runtime .wf-layout .app-shell-main :is(input,select,textarea){font-variant-numeric:tabular-nums}.wf-runtime .classes-page .page-header h1,.wf-runtime :is(.classes-page,.settings-page,.users-page) .page-title{font-family:var(--font-sans);font-size:var(--font-size-title);line-height:1.4;font-weight:700}.wf-runtime :is(.classes-page,.settings-page,.users-page) .page-sub{font-size:var(--font-size-meta);line-height:1.7}@media (max-width:780px){.wf-runtime>.wf-notice{padding-inline:14px;line-height:1.6}.wf-runtime .app-shell-main{overflow-y:auto}}.wf-runtime .capture-page{--red:#315ed3;--primary:#315ed3;--primary-d:#274fb9;--color-primary:#315ed3;--color-text:#263244;--color-border:#e1e6ec;--color-surface:#fff;font-family:var(--font-sans)}.wf-runtime .capture-page :is(button,input,select){font-family:inherit}.wf-runtime .capture-page .btn:not(.ghost):not(.danger):not(:disabled){background:#315ed3;border-color:#315ed3;color:#fff}.wf-runtime .capture-page .ant-btn-primary:not(.ant-btn-dangerous):not(:disabled){background:#315ed3;border-color:#315ed3;box-shadow:none}.wf-runtime .capture-context-summary{font-size:14px}.wf-runtime .capture-page .capture-workspace{gap:20px;padding:20px 24px 0;grid-template-columns:minmax(0,1fr) 320px}.wf-runtime .capture-page .capture-blueprint-panel{border:1px solid #e1e6ec;border-radius:8px}.wf-runtime .capture-page .capture-handoff-section{gap:12px}.wf-runtime .capture-page .capture-context-summary{padding:0 0 8px}.wf-runtime .capture-page .capture-context-summary strong{font-size:15px;line-height:22px}.wf-runtime .capture-page .capture-blueprint-panel .capture-blueprint-intro,.wf-runtime .capture-page .capture-blueprint-panel .capture-blueprint-empty,.wf-runtime .capture-page .capture-blueprint-panel .capture-blueprint-published p,.wf-runtime .capture-page .capture-blueprint-panel .capture-blueprint-list-preview span{font-size:14px;line-height:22px}.wf-runtime .capture-page .capture-blueprint-panel .capture-blueprint-heading h2{font-size:19px;line-height:26px}.wf-runtime .capture-page .capture-blueprint-panel .capture-blueprint-representative label{font-size:14px;line-height:20px}.wf-runtime .capture-page .capture-blueprint-panel .capture-blueprint-representative>.muted{font-size:13px;line-height:20px}.wf-runtime .capture-page .capture-blueprint-panel .capture-blueprint-representative select,.wf-runtime .capture-page .capture-blueprint-panel .capture-blueprint-actions .btn,.wf-runtime .capture-page .capture-submission-group-meta strong{font-size:14px}.wf-runtime .capture-page .capture-submission-group-status{font-size:12px;line-height:18px}html.preparation-refined .wf-runtime .high-frequency-panel{background:#f7f8fa}html.preparation-refined .wf-runtime .high-frequency-header{padding:20px 28px 12px;background:transparent;border-bottom:0;gap:18px}html.preparation-refined .wf-runtime .high-frequency-header h1{font-size:var(--font-size-title);font-weight:700;letter-spacing:0;line-height:1.4}html.preparation-refined .wf-runtime .high-frequency-content{max-width:1240px;padding-top:8px}html.preparation-refined .wf-runtime .high-frequency-filters{padding:16px 0;gap:12px}html.preparation-refined .wf-runtime .high-frequency-filters label{font-size:var(--font-size-meta)}html.preparation-refined .wf-runtime .high-frequency-content [role=group]>h2{font-size:14px;margin:18px 0 10px;font-weight:500}html.preparation-refined .wf-runtime .high-frequency-card{grid-template-rows:auto auto auto auto auto;row-gap:4px;column-gap:24px;padding:16px 20px 12px;margin-top:10px;box-shadow:none;border-radius:8px}html.preparation-refined .wf-runtime .high-frequency-card header strong{font-size:var(--font-size-item)}html.preparation-refined .wf-runtime .high-frequency-question{font-size:var(--font-size-question);line-height:1.7;margin:7px 0}html.preparation-refined .wf-runtime .high-frequency-key-metrics{padding-left:18px;align-self:center}html.preparation-refined .wf-runtime .high-frequency-key-metrics dd{font-size:19px}html.preparation-refined .wf-runtime .high-frequency-more-metrics>summary{font-weight:400;font-size:var(--font-size-meta)}html.preparation-refined .wf-runtime .high-frequency-card footer{margin:0;padding-top:10px}html.preparation-refined .wf-runtime .high-frequency-card .high-frequency-handoff{color:#fff;background:#315ed3;border-color:#315ed3}@media (max-width:1100px){.wf-runtime .capture-page .capture-workspace{gap:14px;padding:16px 16px 0;grid-template-columns:minmax(0,1fr) 300px}}@media (max-width:1080px){.wf-runtime .capture-page .capture-workspace{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.wf-runtime .capture-page .capture-workspace{padding:12px 12px 0;grid-template-columns:minmax(0,1fr)}html.preparation-refined .wf-runtime .high-frequency-header,html.preparation-refined .wf-runtime .high-frequency-card{padding:16px}html.preparation-refined .wf-runtime .high-frequency-key-metrics{padding-left:0}}:root{color-scheme:light;--canvas: #f5f7fa;--sheet: #fff;--ink: #263244;--ink-2: #596778;--ink-3: #66758a;--line: #dfe5ee;--line-2: #cbd5e2;--red: #c2402a;--red-soft: #faeeeb;--blue: #315ed3;--blue-hover: #264fb8;--blue-soft: #eef3ff;--amber: #a86a08;--amber-soft: #f9f1e0;--green: #3d7a4c;--green-quiet: #74a180;--green-soft: #eef6f0;--color-bg: var(--canvas);--color-surface: var(--sheet);--color-nav: var(--ink);--color-primary: var(--blue);--color-primary-hover: var(--blue-hover);--color-text: var(--ink);--color-muted: var(--ink-2);--color-border: var(--line);--color-success: var(--green);--color-warning: var(--amber);--color-warning-surface: var(--amber-soft);--color-danger: var(--red);--color-focus-ring: var(--blue);--color-focus-gap: var(--sheet);--color-nav-muted: var(--line-2);--color-nav-hover: var(--canvas);--color-nav-active: var(--blue-soft);--font-family-ui: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;--font-sans: var(--font-family-ui);--font-size-title: 24px;--font-size-section: 18px;--font-size-item: 16px;--font-size-question: 17px;--font-size-meta: 13px;--font-size-control: 14px;--font-size-body: 15px;--line-height-body: 1.6;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-control: 6px;--radius-overlay: 8px;--target-min: 44px;--content-max: 1080px;--sidebar-width: 248px;--topbar-height: 54px;--shadow-subtle: 0 1px 2px rgb(38 50 68 / 5%);--shadow-overlay: 0 18px 48px rgb(38 50 68 / 14%);--bg: var(--canvas);--panel: var(--sheet);--sidebar: var(--ink);--sidebar-text: var(--line-2);--sidebar-active: var(--blue);--primary: var(--blue);--primary-d: var(--blue-hover);--muted: var(--ink-2);--border: var(--line);--ok: var(--green);--warn: var(--amber);--err: var(--red);--soft: var(--canvas);--r-sm: var(--radius-control);--r-md: var(--radius-control);--r-lg: var(--radius-overlay);--shadow-sm: var(--shadow-subtle)}html{min-width:320px;min-height:100%;overflow-x:hidden;background:var(--color-bg)}html body{min-width:320px;min-height:100%;margin:0;overflow-x:hidden;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}#root{width:100%;min-width:0;min-height:100vh;min-height:100dvh;overflow-x:hidden}#root:has(>.app-shell){height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow:hidden}*,*:before,*:after{box-sizing:border-box}button,input,select,textarea{font:inherit}button,[role=button]{touch-action:manipulation}button:not([class*=ant-]),input:not([class*=ant-]):not(.ant-picker-input>input):not([type=checkbox]):not([type=radio]):not([type=file]),select:not([class*=ant-]){min-height:var(--target-min)}html body button:focus-visible,html body a:focus-visible,html body input:not([class*=ant-]):not(.ant-picker-input>input):focus-visible,html body select:focus-visible,html body textarea:not([class*=ant-]):focus-visible,html body [tabindex]:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}img,svg,video,canvas{max-width:100%}p,h1,h2,h3,h4{overflow-wrap:anywhere}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app-shell.app{--bg: var(--canvas);--panel: var(--sheet);--sidebar: var(--ink);--sidebar-text: var(--line-2);--sidebar-active: var(--blue);--primary: var(--blue);--primary-d: var(--blue-hover);--muted: var(--ink-2);--border: var(--line);--ok: var(--green);--warn: var(--amber);--err: var(--red);--soft: var(--canvas);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar-height) minmax(0,1fr);width:100%;min-width:0;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;max-height:100vh;max-height:100dvh;overflow:hidden;color:var(--ink);background:var(--canvas)}.app-topbar{z-index:10;grid-column:1;grid-row:1;min-width:0;min-height:var(--topbar-height);border-bottom:1px solid var(--line);background:var(--sheet)}.app-topbar-inner{display:grid;grid-template-columns:auto minmax(160px,1fr) auto;align-items:center;width:min(calc(100% - 32px),var(--content-max));height:100%;min-height:var(--topbar-height);margin:0 auto;gap:20px}html body .app-topbar-brand,html body .app-topbar-home,html body .app-topbar-logout{min-height:var(--target-min);border:0;color:var(--ink);background:transparent;cursor:pointer}html body .app-topbar-brand{display:grid;grid-template-columns:32px auto;grid-template-rows:auto auto;align-content:center;justify-items:start;column-gap:10px;padding:2px 0;text-align:left;color:#263244}.app-topbar-brand img{grid-column:1;grid-row:1 / 3;align-self:center;width:32px;height:32px;object-fit:contain}.app-topbar-brand strong,.app-topbar-brand span{display:block;grid-column:2}.app-brand{display:flex;align-items:center;gap:10px;min-height:44px;margin:0 4px 22px}.app-brand-mark{width:32px;height:32px;object-fit:contain;flex:0 0 auto}.app-brand strong,.app-brand span{display:block}.app-brand strong{color:#fff;font-size:17px;line-height:1.2;letter-spacing:.04em}.app-brand span{margin-top:3px;color:#ffffffb8;font-size:11px;line-height:1.2}.app-topbar-brand strong{font-size:16px;line-height:1.2;letter-spacing:.02em}.app-topbar-brand span{margin-top:2px;color:var(--ink-2);font-size:10px;line-height:1.2}.app-topbar-context{display:flex;min-width:0;align-items:center;justify-content:center;gap:8px;overflow:hidden;color:var(--ink-2);font-size:13px;white-space:nowrap}.app-topbar-context>span:first-child{overflow:hidden;text-overflow:ellipsis}.app-topbar-context strong{color:var(--ink);font-weight:650}.app-topbar-context-divider{color:var(--ink-3)}.app-topbar-actions{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:12px}html body .app-topbar-home{padding:0 10px;color:var(--blue);font-size:13px;font-weight:650}html body .app-topbar-logout{padding:0 8px;color:var(--ink-2);font-size:12px}.app-topbar-brand:hover,.app-topbar-home:hover,.app-topbar-logout:hover{color:var(--blue)}.app-topbar-user{display:flex;min-width:0;align-items:center;gap:8px}.app-topbar-avatar{display:inline-grid;flex:0 0 auto;width:30px;height:30px;place-items:center;border:1px solid var(--line-2);border-radius:50%;color:var(--blue);background:var(--blue-soft);font-size:12px;font-weight:750}.app-topbar-user strong,.app-topbar-user small{display:block;max-width:112px;overflow:hidden;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.app-topbar-user strong{color:var(--ink);font-size:12px}.app-topbar-user small{color:var(--ink-2);font-size:10px}.workflow-context-bar{display:none!important}.app-shell .app-shell-main.main{grid-column:1;grid-row:2;width:min(1680px,100%);max-width:1680px;min-width:0;min-height:0;margin:0 auto;padding:28px 0 48px;overflow-x:clip;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.app-shell .app-shell-main.is-learning-workbench-main{width:100%;max-width:none}.app-shell .app-shell-main.is-capture-workbench{width:calc(100% - 44px);max-width:none;height:100%;min-height:0;padding:18px 0 0;overflow:hidden}.app-shell.app.is-teaching-workbench .app-topbar-inner{width:100%;max-width:none;padding:0 22px}.app-shell .app-shell-main.is-teaching-workbench-main{width:100%;max-width:none;height:100%;min-width:0;min-height:0;margin:0;padding:0;overflow:hidden;overscroll-behavior:none;scrollbar-gutter:auto}.page-loading-state{display:grid;min-height:240px;place-items:center;color:var(--ink-2)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;gap:24px}.page-header-copy{min-width:0}.page-header-eyebrow{margin:0 0 4px;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.03em}.page-header h1{margin:0;color:var(--ink);font-size:28px;font-weight:700;line-height:36px}.page-header-description{max-width:72ch;margin:6px 0 0;color:var(--ink-2);font-size:14px;line-height:22px}.page-header-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:8px}.app-shell.is-presentation{display:block}.app-shell .app-topbar[hidden]{display:none!important}.app-shell.app.is-presentation .app-shell-main.main{width:100%;max-width:none;min-height:0;margin:0;padding:0;height:100%;box-sizing:border-box;scrollbar-gutter:auto;overflow:hidden}@media (min-width: 1920px){:root{--content-max: 1240px}}@media (max-width: 1280px){.app-shell .app-shell-main.main{width:100%;padding:24px 20px 40px}}@media (max-width: 1120px){.app-shell .app-shell-main.is-capture-workbench{width:100%;padding:18px 20px 0}}@media (max-width: 860px){.app-shell.app{grid-template-rows:auto minmax(0,1fr)}.app-topbar-inner{grid-template-columns:minmax(180px,1fr) auto;height:auto;padding:4px 0;row-gap:2px}.app-topbar-context{grid-column:1 / -1;grid-row:2;justify-content:flex-start}}@media (max-width: 620px){.app-topbar-inner{grid-template-columns:minmax(0,1fr);width:min(calc(100% - 24px),var(--content-max));padding:6px 0;gap:2px}.app-topbar-brand,.app-topbar-context,.app-topbar-actions{grid-column:1}.app-topbar-context{grid-row:auto;order:2}.app-topbar-actions{justify-content:space-between}.app-topbar-user strong,.app-topbar-user small{max-width:96px}.app-shell .app-shell-main.main{padding:20px 12px 32px;scrollbar-gutter:auto}.page-header{align-items:stretch;flex-direction:column;margin-bottom:20px;gap:12px}.page-header h1{font-size:24px;line-height:32px}.page-header-actions{justify-content:flex-start}}.app-shell.app.is-review-workbench{grid-template-rows:minmax(0,1fr)}.app-shell.app.is-review-workbench .app-shell-main.main.is-review-workbench-main{grid-row:1;width:100%;max-width:none;height:100%;min-width:0;min-height:0;margin:0;padding:0;overflow:hidden;overscroll-behavior:none;scrollbar-gutter:auto}.async-state{display:grid;justify-items:center;gap:var(--space-3, 12px);min-height:180px;padding:var(--space-8, 32px);place-content:center;color:var(--color-muted, #667085);text-align:center}.async-state strong{color:var(--color-text, #172033)}.async-state p,.async-state .ant-empty{margin:0}.async-state .ant-empty-description{color:var(--color-muted, #596778)}.async-state .ant-empty-description>p{margin-top:var(--space-2, 8px)}.async-state-error{justify-items:stretch}.async-state-error .ant-alert{width:min(100%,640px);justify-self:center;text-align:left}.async-state-error .ant-alert-content{min-width:0;overflow-wrap:anywhere}@media (max-width: 600px){.async-state{padding:var(--space-5, 20px)}.async-state-error .ant-alert{display:grid;grid-template-columns:auto minmax(0,1fr)}.async-state-error .ant-alert-icon{grid-column:1;grid-row:1}.async-state-error .ant-alert-content{grid-column:2;grid-row:1}.async-state-error .ant-alert-actions{grid-column:2;margin:12px 0 0}}.async-state-spinner{width:24px;height:24px;border:3px solid var(--color-border, #dce3ee);border-top-color:var(--color-primary, #315ed3);border-radius:50%;animation:ui-spin .8s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}html body .modal-backdrop,html body .drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;padding:20px;background:#22201d73}.modal-backdrop{place-items:center}.confirm-dialog{width:min(440px,100%);padding:24px;border:1px solid var(--color-border, #dce3ee);border-radius:var(--radius-overlay, 8px);background:var(--color-surface, #fff);box-shadow:0 20px 50px #22201d2e}.dialog-copy h2,.drawer-header h2{margin:0;color:var(--color-text, #172033);font-size:1.1rem}.dialog-copy p{margin:10px 0 0;color:var(--color-muted, #667085);line-height:1.6}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}html body .drawer-backdrop{justify-items:end;padding:0}html body .drawer-backdrop.is-modal{place-items:center;padding:20px}.drawer-panel{width:min(520px,100%);height:100%;overflow:auto;background:var(--color-surface, #fff);box-shadow:-16px 0 40px #22201d2e}.drawer-panel.is-modal{width:min(620px,100%);height:auto;max-height:min(760px,calc(100dvh - 40px));border:1px solid var(--color-border, #dce3ee);border-radius:var(--radius-overlay, 8px);box-shadow:0 20px 50px #22201d2e}.drawer-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--color-border, #dce3ee);background:inherit}.drawer-content{padding:20px}.icon-button{min-width:var(--target-min, 44px);min-height:var(--target-min, 44px);border:0;background:transparent;font-size:1.5rem}.authenticated-download{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.download-error{color:var(--color-danger, #dc2626);font-size:.875rem}.status-badge{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border:1px solid transparent;border-radius:999px;font-size:.78rem;font-weight:650}.status-badge-neutral{color:#475467;background:#f2f4f7}.status-badge-info{color:var(--color-muted, #6d6a64);background:var(--color-bg, #f5f4f1)}.status-badge-success{color:var(--color-success, #15803d);background:#f0fdf4}.status-badge-warning{color:var(--color-warning, #92400e);background:#fffbeb}.status-badge-danger{color:var(--color-danger, #dc2626);background:#fef2f2}.progress-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:0}.progress-summary-item{padding:12px;border:1px solid var(--color-border, #dce3ee);border-radius:var(--radius-lg, 8px);background:var(--color-surface, #fff)}.progress-summary-item dt{color:var(--color-muted, #667085);font-size:.78rem}.progress-summary-item dd{margin:4px 0 0;color:var(--color-text, #172033);font-size:1.2rem;font-weight:700}.sticky-action-bar{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 16px;border:1px solid var(--color-border, #dce3ee);border-radius:var(--radius-lg, 8px);background:#fffffff5;box-shadow:0 -8px 24px #22201d14}@media (prefers-reduced-motion: reduce){.async-state-spinner{animation:none}}.drawer-header{gap:16px;min-height:72px}.drawer-header h2{font-size:var(--font-size-section);line-height:1.5}.jw-dialog-close.ant-btn{width:44px;min-width:44px;height:44px;flex:none}.drawer-panel{overscroll-behavior:contain}.confirm-dialog{max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain}.dialog-actions>.ant-btn{min-width:88px}@media (max-width: 600px){.drawer-header{padding:12px 16px}.drawer-content{padding:16px}.confirm-dialog{padding:20px}.dialog-actions{flex-wrap:wrap}}.jw-overlay-heading{margin:0;color:var(--ink);font-size:var(--font-size-section);line-height:1.5;overflow-wrap:anywhere}.jw-editor-drawer .ant-drawer-header{min-height:72px;padding:16px 20px}.jw-editor-drawer .ant-drawer-body{padding:20px;overscroll-behavior:contain}.jw-editor-drawer .ant-drawer-close,.jw-editor-modal .ant-modal-close{width:44px;height:44px}.jw-editor-modal .ant-modal-body{max-height:min(680px,calc(100dvh - 144px));overflow:auto;overscroll-behavior:contain}.jw-confirm-modal .ant-modal-body{max-height:calc(100dvh - 220px);overflow:auto}.jw-confirm-description{margin:0;color:var(--ink-2);line-height:1.7;white-space:pre-line;overflow-wrap:anywhere}.jw-confirm-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.jw-confirm-actions>.ant-btn{min-width:88px}@media (max-width: 600px){.jw-editor-drawer .ant-drawer-header,.jw-editor-drawer .ant-drawer-body{padding:16px}}.jw-editor-drawer-inner{height:100%}:root{--bg: var(--canvas);--panel: var(--sheet);--muted: var(--ink-2);--primary: var(--blue);--primary-d: var(--blue-hover);--ok: var(--green);--warn: var(--amber);--err: var(--red);--border: var(--line);--soft: var(--canvas);--r-sm: var(--radius-control);--r-md: var(--radius-control);--r-lg: var(--radius-overlay);--shadow-sm: var(--shadow-subtle);--shadow-md: 0 6px 20px rgb(34 32 29 / 8%);--shadow-lg: var(--shadow-overlay);--sidebar: var(--ink);--sidebar-text: var(--line-2);--sidebar-active: var(--blue)}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Microsoft YaHei,system-ui,sans-serif;background:var(--canvas);color:var(--sidebar)}.app{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--sidebar);color:var(--sidebar-text);padding:18px 14px;flex-shrink:0;box-shadow:var(--shadow-md);display:flex;flex-direction:column}.sidebar h1{font-size:16px;color:#fff;margin:0 0 18px;line-height:1.4}.nav button{display:block;width:100%;text-align:left;background:transparent;border:none;color:var(--sidebar-text);padding:11px 14px;border-radius:var(--r-sm);cursor:pointer;font-size:14px;margin-bottom:4px;transition:background .15s,color .15s}.nav{flex:1 1 auto;min-height:0;overflow-y:auto}.nav button:hover{background:#ffffff14;color:#fff}.nav button.active{background:var(--sidebar-active);color:#fff;box-shadow:var(--shadow-sm)}.main{flex:1;min-width:0;padding:24px 32px;max-width:1100px}.main-workbench{width:100%;max-width:none}.page-title{font-size:22px;margin:0 0 4px}.page-sub{color:var(--muted);margin:0 0 20px;font-size:13px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:18px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.card h3{margin:0 0 12px;font-size:15px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}label:where(:not([class*=ant-])){font-size:13px;color:var(--muted);display:block;margin-bottom:4px}input:where(:not([class*=ant-]):not(.ant-picker-input>input)),select:where(:not([class*=ant-])),textarea:where(:not([class*=ant-])){padding:9px 12px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:14px;width:100%;background:#fff;color:var(--sidebar);transition:border-color .15s,box-shadow .15s}input:where(:not([class*=ant-]):not(.ant-picker-input>input)):focus,select:where(:not([class*=ant-])):focus,textarea:where(:not([class*=ant-])):focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #315ed31f}.field{margin-bottom:12px}button.btn{background:var(--primary);color:#fff;border:1px solid var(--primary);padding:9px 14px;border-radius:var(--r-sm);cursor:pointer;font-size:14px;box-shadow:var(--shadow-sm);transition:background .15s,box-shadow .15s}button.btn:hover:not(:disabled){background:var(--primary-d);border-color:var(--primary-d);box-shadow:none}button.btn.ghost{background:var(--sheet);color:var(--ink);border-color:var(--line);box-shadow:none}button.btn.ghost:hover:not(:disabled){background:var(--blue-soft);color:var(--blue);border-color:#b5c5ed}button.btn.danger{color:var(--color-danger);background:var(--sheet);border-color:var(--line)}button.btn.danger:hover:not(:disabled){color:var(--color-danger);background:#faeeeb;border-color:var(--color-danger)}button.btn.sm{padding:5px 10px;font-size:12px}button:where(:not([class*=ant-])):disabled{opacity:.5;cursor:not-allowed}table:where(:not(.ant-picker-dropdown table)){width:100%;border-collapse:collapse;font-size:13px}th:where(:not(.ant-picker-dropdown th)),td:where(:not(.ant-picker-dropdown td)){text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}th:where(:not(.ant-picker-dropdown th)){color:var(--muted);font-weight:600}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px}.badge.waiting{background:#e2e8f0;color:#475569}.badge.processing{background:var(--soft);color:var(--muted)}.badge.succeeded,.badge.ok{background:#dcfce7;color:#166534}.badge.failed,.badge.err{background:#fee2e2;color:#991b1b}.badge.needs_manual,.badge.warn{background:#fef3c7;color:#92400e}.badge.test{background:var(--soft);color:var(--muted)}.pill{font-size:12px;padding:2px 8px;border:1px solid var(--border);border-radius:999px}.tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border)}.tab{background:transparent;border:none;padding:8px 14px;cursor:pointer;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--sidebar)}.tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.kv{display:flex;gap:8px;font-size:13px;margin-bottom:6px}.kv b{width:120px;color:var(--muted);font-weight:500}.muted{color:var(--muted);font-size:12px}.err-text{color:var(--err);font-size:13px}.ok-text{color:var(--ok);font-size:13px}.math-text{display:inline;line-height:inherit;overflow-wrap:anywhere}.math-text-rendered{display:inline}.math-text-rendered mjx-container[jax=SVG]{display:inline-block;width:auto!important;min-width:0;max-width:100%;overflow-x:auto;line-height:1;vertical-align:-.08em;font-size:1.04em}.math-text-rendered mjx-container[jax=SVG]>svg{max-width:none;height:auto}.math-text.teacher-math{line-height:1.6}.math-text-scratch{position:fixed;left:-10000px;top:0;visibility:hidden;pointer-events:none}.toast{position:fixed;z-index:1300;top:calc(var(--topbar-height) + 12px);left:50%;transform:translate(-50%);display:flex;align-items:center;max-width:min(420px,calc(100vw - 40px));padding:8px 8px 8px 16px;gap:10px;border-radius:10px;color:#fff;background:var(--sidebar);box-shadow:0 8px 24px #0003;font-size:13px}.toast>span{min-width:0;overflow-wrap:anywhere}.toast-close{flex:0 0 auto;min-width:44px;min-height:44px;padding:0;border:0;border-radius:6px;color:inherit;background:transparent;cursor:pointer;font-size:20px;line-height:1}.toast-close:hover{background:#ffffff1f}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.grid2{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr);gap:16px}.tile{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;cursor:pointer}.tile:hover{border-color:var(--primary)}.tile h4{margin:0 0 6px}.dropzone{border:2px dashed var(--border);border-radius:12px;padding:24px;text-align:center;color:var(--muted)}.dropzone.drag{border-color:var(--primary);background:var(--red-soft)}.capture-page{display:flex;flex-direction:column;gap:16px}.capture-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:2px}.capture-head .page-title{font-size:28px;margin-bottom:6px}.capture-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.capture-lan-pill{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border-radius:999px;border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;font-size:13px;font-weight:600}.import-card,.queue-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:0}.capture-selector-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1fr) minmax(230px,.8fr);gap:14px;padding:16px;border-bottom:1px solid var(--border);background:#f8fafc}.capture-picker-field .row{align-items:end}.capture-picker-field .row>div{flex:1;min-width:150px!important}.capture-source-field,.assignment-create-field{min-width:0}.assignment-create-field{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px;padding-top:20px;padding-bottom:20px}.assignment-create-controls{display:flex;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:8px}.assignment-create-controls .btn{white-space:nowrap}.source-pills{display:flex;gap:8px;flex-wrap:wrap;min-height:36px;align-items:center}.capture-source-pill{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:#334155;font-size:13px;font-weight:600}.capture-source-pill.primary{border-color:var(--primary);background:var(--red-soft);color:var(--primary)}.capture-source-toggle{min-height:34px;padding:7px 12px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--sidebar);cursor:pointer;font-size:13px;font-weight:600}.capture-source-toggle:hover{background:#f8fafc}.capture-source-toggle.active{border-color:var(--primary);background:var(--red-soft);color:var(--primary)}.import-body{display:grid;grid-template-columns:minmax(360px,1fr) minmax(240px,320px);gap:18px;padding:18px}.import-body.single{display:block}.capture-dropzone{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--panel)}.capture-dropzone h2{margin:6px 0 2px;color:var(--sidebar);font-size:22px;line-height:1.35}.capture-dropzone p{margin:0;font-size:13px}.capture-upload-mark{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:18px;background:var(--red-soft);color:var(--primary);font-size:36px;font-weight:700}.capture-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.drop-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:10px}.camera-panel{border:1px solid var(--border);border-radius:8px;padding:12px;background:#fff;width:min(100%,560px);margin-top:10px}.capture-camera-page{width:100%;margin-top:0;padding:12px}.camera-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.camera-preview{display:block;width:100%;aspect-ratio:4 / 3;margin-top:12px;border-radius:8px;background:var(--sidebar);object-fit:cover}.capture-camera-page .camera-preview{width:70%;margin-left:auto;margin-right:auto}.capture-queue{padding-left:22px}.capture-queue li{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:8px}.capture-queue span{overflow-wrap:anywhere}.check-panel{border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:16px}.check-panel ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.check-panel li{display:flex;align-items:flex-start;gap:9px;color:#334155;font-size:13px;line-height:1.45}.check-dot{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#dcfce7;color:#166534;font-weight:700}.safety-note{margin-top:16px;border:1px solid #fde68a;border-radius:8px;background:#fffbeb;padding:12px}.safety-note p{margin:0 0 6px;color:#92400e;font-size:12px;line-height:1.45}.safety-note p:last-child{margin-bottom:0}.capture-errors{margin:0 18px 18px;padding:12px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2}.queue-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px;border-bottom:1px solid var(--border)}.queue-head h2{margin:0 0 4px;font-size:18px}.queue-head p{margin:0;color:var(--muted);font-size:13px}.queue-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;color:#334155;font-size:13px}.queue-summary{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px 0}.queue-summary span{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.queue-summary .ok{background:#dcfce7;color:#166534}.queue-summary .warning{background:#fef3c7;color:#92400e}.queue-summary .error{background:#fee2e2;color:#991b1b}.capture-queue-table{min-width:760px}.order-cell{color:#475569;font-weight:700}.file-cell{display:flex;align-items:center;gap:10px;min-width:0}.file-cell span:last-child{overflow-wrap:anywhere}.file-thumb{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:38px;height:30px;border-radius:6px;background:var(--soft);color:var(--muted);font-size:11px;font-weight:700}.file-thumb.err{background:#fee2e2;color:#991b1b}.validation{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600}.validation.ok{color:#166534}.validation.warning{color:#92400e}.validation.error{color:#991b1b}.empty-state{min-height:88px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:20px;background:#1e2a4461}.prompt-dialog{width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 18px 48px #1e2a443d;padding:16px}.prompt-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.prompt-dialog-head h3{margin:0;font-size:17px}.prompt-field span{display:block;margin-bottom:6px;color:#475569;font-size:13px;font-weight:700}.prompt-field textarea{min-height:260px;resize:vertical;line-height:1.6}.prompt-dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:14px}.login{max-width:360px;margin:80px auto}.login-actions{display:flex;gap:8px;flex-wrap:wrap}.bar{height:10px;background:var(--soft);border-radius:999px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--primary)}.anon-banner{background:#fef3c7;color:#92400e;padding:8px 12px;border-radius:8px;font-size:13px;margin-bottom:12px}.class-wizard-band{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}.class-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.class-card{position:relative;background:#fff;border:1px solid var(--border);border-radius:8px;padding:16px;min-height:132px}.class-card h3{margin:0 0 6px;font-size:16px}.class-card-actions,.class-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.collapsible-card.open{border-color:#cbd5e1}.collapsible-card-toggle{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:0;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer}.collapsible-card-head{min-width:0}.collapsible-card-head .section-title{margin:0 0 4px}.collapsible-card-summary{margin:0}.collapsible-card-metrics{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;align-items:center}.collapsible-card-body{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.class-menu,.inline-confirm{margin-top:10px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--soft)}.inline-confirm p{margin:0 0 8px;font-size:13px}.class-detail-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.class-detail-head h3{margin:0 0 4px;font-size:17px}.table-wrap,.import-result{margin-top:12px}.table-wrap{width:100%;overflow-x:auto}.table-wrap table{min-width:680px}.student-row{cursor:pointer}.student-row:hover{background:#f8fafc}.student-form-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px}.student-remove-confirm{margin-bottom:16px;border-color:#fecaca;background:#fff7f7}@media (max-width: 760px){.grid2{grid-template-columns:1fr}.capture-head,.queue-head{flex-direction:column;align-items:stretch}.capture-head-actions,.queue-tools{justify-content:flex-start}.capture-selector-row,.import-body{grid-template-columns:1fr}.capture-dropzone{min-height:280px;padding:18px}.capture-dropzone h2{font-size:18px}.camera-panel{width:100%}.class-detail-head{flex-direction:column}.student-form-grid{grid-template-columns:1fr}}@media (max-width: 820px){.capture-head,.queue-head{flex-direction:column;align-items:stretch}.capture-head-actions,.queue-tools{justify-content:flex-start}.capture-selector-row,.import-body{grid-template-columns:1fr}.camera-panel{width:100%}}.settings-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 130px);border:1px solid var(--border);background:#fff}.users-workbench{border:1px solid var(--border);background:#fff;border-radius:8px;overflow:hidden}.users-head,.user-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(320px,1.5fr) minmax(260px,1.2fr) minmax(120px,.6fr);gap:12px;align-items:start}.users-head{padding:10px 14px;background:var(--soft);color:var(--muted);font-size:12px;font-weight:600}.user-row{padding:14px;border-top:1px solid var(--border)}.user-identity{display:flex;flex-direction:column;gap:5px;min-width:0}.user-identity strong,.user-identity span{overflow-wrap:anywhere}.user-fields{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:10px}.user-fields .field{margin-bottom:0}.permission-list{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px 10px}.user-actions{display:flex;flex-direction:column;gap:8px}.user-include-deleted{margin-top:4px}.user-status-pending{background:#fef3c7;color:#92400e}.user-status-active{background:#dcfce7;color:#166534}.user-status-disabled{background:#e2e8f0;color:#475569}.user-status-deleted{background:#fee2e2;color:#991b1b}@media (max-width: 980px){.users-head{display:none}.user-row{grid-template-columns:1fr}.user-actions{flex-direction:row;flex-wrap:wrap}}.settings-side{border-right:1px solid var(--border);padding:12px;display:flex;flex-direction:column;gap:10px;min-width:0}.settings-side-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.settings-section-btn{border:1px solid var(--border);background:#fff;color:#334155;border-radius:8px;min-height:36px;padding:8px 10px;cursor:pointer;font-size:13px}.settings-section-btn.active{border-color:#16a34a;background:#f0fdf4;color:#166534;font-weight:600}.provider-list{display:flex;flex-direction:column;gap:6px;flex:1;overflow:auto;min-height:220px}.provider-item{border:1px solid transparent;background:#fff;border-radius:8px;padding:8px 10px;text-align:left;cursor:pointer;min-width:0;display:flex;align-items:center;gap:9px}.provider-item:hover{background:var(--soft)}.provider-item.active{border-color:var(--primary);background:var(--red-soft)}.provider-avatar{flex:0 0 auto;width:24px;height:24px;border-radius:6px;color:#fff;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.provider-on{flex:0 0 auto;width:8px;height:8px;border-radius:999px;background:var(--ok);margin-left:auto}.provider-name{display:block;color:var(--sidebar);font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provider-meta{display:block;margin-top:4px;color:var(--muted);font-size:12px}.settings-add{width:100%}.settings-detail{padding:18px;overflow:auto;min-width:0}.settings-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:18px}.settings-toolbar.top{border-bottom:0;padding-bottom:0;margin-bottom:12px}.settings-toolbar h3{margin:0 0 4px;font-size:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px}.settings-switches{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px 16px;margin:8px 0 14px}.check-line{display:flex;align-items:center;gap:8px;margin:0;color:#334155;overflow-wrap:anywhere}.check-line input{width:auto;flex:0 0 auto}.settings-footer{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:14px;margin-top:14px}.policy-row{border:1px solid var(--border);border-radius:8px;padding:14px;margin-bottom:12px}.policy-actions{display:flex;gap:8px;align-items:center;margin-top:12px}.policy-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.policy-title strong{overflow-wrap:anywhere}.policy-grid{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr)}.field-headline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:13px;font-weight:700}.policy-model-list{max-height:220px;overflow:auto;border:1px solid var(--border);border-radius:8px;padding:6px;background:#fff}.policy-model-option{display:flex;align-items:center;gap:8px;min-height:30px;padding:5px 6px;border-radius:6px;font-size:13px;color:var(--sidebar)}.policy-model-option:hover{background:var(--soft)}.policy-model-option input{width:auto;flex:0 0 auto}.policy-model-option span{min-width:0;overflow-wrap:anywhere}.policy-model-option.is-unavailable{color:var(--muted)}.knowledge-admin-panel{display:flex;flex-direction:column;gap:14px}.knowledge-dataset-grid,.knowledge-view-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.knowledge-dataset-card,.knowledge-view-panel{border:1px solid var(--border);border-radius:8px;padding:12px;background:#fff;box-shadow:var(--shadow-sm)}.knowledge-card-head,.knowledge-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.knowledge-card-head h4,.knowledge-panel-head h4{margin:0;font-size:14px}.knowledge-source-file{margin:0 0 8px;overflow-wrap:anywhere}.knowledge-metrics{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px;color:#334155;font-size:13px}.knowledge-book-meta{margin:0}.knowledge-import-result{border:1px solid var(--border);border-radius:8px;padding:12px;background:#f8fafc}.knowledge-warning-list{margin:8px 0 0;padding-left:18px;color:#b45309;font-size:13px}.knowledge-tree-list{border:1px solid var(--border);border-radius:8px;max-height:420px;overflow:auto;background:#fff}.knowledge-tree-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:36px;align-items:center;padding:6px 10px;border-bottom:1px solid var(--soft);font-size:13px}.knowledge-tree-row:last-child{border-bottom:0}.knowledge-tree-row.node-knowledge{color:#475569}.book-selector{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.knowledge-book-active{border-color:var(--primary);background:var(--red-soft)!important;color:var(--primary)!important}.knowledge-empty{margin:0;padding:14px 12px}.settings-tabs{display:flex;gap:6px;flex-shrink:0}.settings-shell.single{grid-template-columns:1fr}.provider-search{display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:8px;padding:4px 8px;background:var(--soft)}.provider-search input{border:none;background:transparent;padding:4px 0;font-size:13px}.provider-search input:focus{outline:none}.provider-search input:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}.provider-search-icon,.provider-search-filter{color:var(--muted);font-size:13px}.provider-panel{display:flex;flex-direction:column;gap:4px}.provider-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:6px}.provider-head-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.provider-head-title h3{margin:0;font-size:17px}.provider-link{color:var(--muted);text-decoration:none;font-size:14px}.provider-link:hover{color:var(--primary)}.switch{position:relative;display:inline-flex;align-items:center;cursor:pointer}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch-slider{width:40px;height:22px;border-radius:999px;background:#cbd5e1;transition:background .15s;position:relative}.switch-slider:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:999px;background:#fff;transition:transform .15s;box-shadow:0 1px 2px #0003}.switch input:checked+.switch-slider{background:var(--ok)}.switch input:checked+.switch-slider:after{transform:translate(18px)}.switch input:disabled+.switch-slider{opacity:.5}.provider-section{padding:14px 0;border-bottom:1px solid var(--border)}.provider-section:last-of-type{border-bottom:0}.provider-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.provider-section-head h4{margin:0;font-size:14px;display:flex;align-items:center;gap:8px}.count-badge{background:var(--soft);color:var(--muted);border-radius:999px;font-size:12px;padding:1px 8px;font-weight:500}.key-row{display:flex;gap:8px;align-items:center}.key-input{position:relative;flex:1;display:flex;align-items:center}.key-input input{padding-right:36px}.key-input .icon-btn{position:absolute;right:4px;background:transparent;border:none}.icon-btn{cursor:pointer;border:1px solid var(--border);background:#fff;border-radius:8px;padding:5px 9px;font-size:13px;line-height:1}.icon-btn:hover{background:var(--soft)}.icon-btn.danger{color:var(--err)}.key-test{border:1px solid var(--err);background:#fff;color:var(--err)}.key-test:hover{background:#fef2f2}.provider-test-action{display:inline-flex;align-items:center;gap:8px}.provider-test-note{white-space:nowrap;font-size:11px}.key-hints{display:flex;gap:12px;align-items:center;margin-top:8px;font-size:12px}.link{color:var(--primary);text-decoration:none;font-size:12px}.link:hover{text-decoration:underline}.url-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.endpoint-preview{margin:8px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.model-group{margin-bottom:6px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff}.model-group.is-open{border-color:#cbd5e1}.model-group-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;border:none;background:var(--soft);cursor:pointer;font-size:13px;font-weight:600;color:#334155;text-align:left}.model-group-toggle:hover{background:#eef2f7}.model-group-chevron{width:14px;color:var(--muted);font-size:12px;flex:0 0 auto}.model-group-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-group-body{padding:8px;max-height:280px;overflow-y:auto}.model-group-list{max-height:min(480px,60vh);overflow-y:auto;padding-right:2px}.model-search{position:relative;margin-bottom:10px}.model-search input{width:100%;padding:8px 10px 8px 32px;font-size:13px}.model-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:13px;opacity:.55;pointer-events:none}.provider-section-models{min-height:0}.model-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border:1px solid var(--border);border-radius:8px;margin-bottom:6px;flex-wrap:wrap}.model-row:last-child{margin-bottom:0}.model-row.is-default{border-color:#86efac;background:#f0fdf4}.model-name{background:transparent;border:none;text-align:left;cursor:pointer;font-size:13px;color:var(--sidebar);flex:1;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis}.model-name:hover{color:var(--primary)}.model-default-dot{color:var(--ok);font-size:9px}.model-actions{display:flex;gap:6px;flex:0 0 auto}.model-purpose-groups{display:flex;flex-wrap:wrap;gap:6px;width:100%;padding-left:18px}.model-purpose-check{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:2px 7px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--muted);font-size:12px}.model-purpose-check:has(input:checked){border-color:var(--primary);background:var(--red-soft);color:var(--primary)}.model-purpose-check input{margin:0}@media (max-width: 820px){.app{flex-direction:column}.sidebar{width:100%}.main{padding:18px 14px;max-width:none}.settings-shell{grid-template-columns:1fr}.settings-side{border-right:0;border-bottom:1px solid var(--border)}.provider-list{min-height:0;max-height:240px}.settings-toolbar,.policy-title{align-items:stretch;flex-direction:column}.form-grid,.settings-switches,.policy-grid,.knowledge-dataset-grid,.knowledge-view-grid{grid-template-columns:1fr}}.review-workbench{min-width:0}.review-topbar{display:grid;grid-template-columns:minmax(260px,1.1fr) minmax(360px,.9fr) minmax(220px,.7fr);gap:16px;align-items:center;margin-bottom:14px}.review-topbar .page-title{margin-bottom:4px}.review-picker{min-width:0}.review-picker .row{gap:10px}.review-progress-summary{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fff}.review-progress-summary span{color:#334155;font-size:13px;font-weight:700}.review-progress-summary b{color:var(--primary)}.review-progress-summary .bar{grid-column:1 / -1;height:7px}.review-board{display:grid;grid-template-columns:168px minmax(430px,1fr) minmax(330px,410px) 246px;min-height:calc(100vh - 150px);border:1px solid var(--border);background:#fff;overflow:hidden}.review-board.embedded{min-height:calc(100vh - 210px)}.student-review-rail,.paper-review-pane,.question-detail-panel,.task-overview-rail{min-width:0;border-right:1px solid var(--border)}.task-overview-rail{border-right:0}.student-review-rail{display:flex;flex-direction:column;background:#fff}.student-review-rail .rail-head{display:flex;justify-content:space-between;align-items:center;padding:16px}.rail-search{width:calc(100% - 32px);margin:0 16px 12px}.review-rail-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 14px;border-bottom:1px solid var(--border)}.review-rail-filters span{display:inline-flex;justify-content:center;min-height:28px;align-items:center;border:1px solid var(--border);border-radius:999px;color:#475569;font-size:12px}.review-rail-filters .warn{border-color:#fde68a;background:#fffbeb;color:#92400e}.student-review-list{flex:1;overflow:auto}.student-review-row{width:100%;display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:54px;padding:0 14px;border:0;border-bottom:1px solid #eef2f7;background:#fff;text-align:left}.student-review-row.active{background:var(--red-soft);box-shadow:inset 3px 0 0 var(--primary)}.student-review-row.needs-bind{background:#fff7ed}.student-review-row b{color:#64748b;font-size:12px;font-weight:500;white-space:nowrap}.student-review-row .student-review-name{display:flex;flex-direction:column;gap:2px;overflow:hidden;font-size:13px;font-weight:700}.student-review-row .student-review-name small{overflow:hidden;color:#64748b;font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.review-order{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:11px;font-weight:800}.review-order.done{background:#dcfce7;color:#166534}.review-order.audit{background:#fef3c7;color:#92400e}.student-review-row.active .review-order{background:var(--primary);color:#fff}.student-bind-dialog{width:min(560px,100%)}.student-bind-list{display:grid;gap:8px;max-height:min(440px,calc(100vh - 190px));overflow:auto}.student-bind-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;min-height:52px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;text-align:left}.student-bind-list button:not(:disabled):hover{border-color:var(--primary);background:var(--red-soft)}.student-bind-list button:disabled{cursor:not-allowed;opacity:.58}.student-bind-list span{font-weight:800}.student-bind-list small{color:#64748b}.student-bind-list em{grid-row:1 / span 2;grid-column:2;color:#64748b;font-size:12px;font-style:normal;white-space:nowrap}.paper-review-pane{display:flex;flex-direction:column;background:var(--panel)}.paper-pane-head{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 18px 8px}.compact-tabs{margin-bottom:0}.paper-zoom{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:7px;background:#fff;overflow:hidden}.paper-zoom button,.paper-zoom span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;border:0;border-right:1px solid var(--border);background:#fff;font-size:13px}.paper-zoom button:last-child{border-right:0}.paper-review-pane>.muted{margin:0 18px 10px}.paper-canvas{position:relative;flex:1;min-height:460px;margin:0 18px;display:flex;justify-content:center;align-items:flex-start;overflow:auto;border:1px solid #edf1f7;border-radius:8px;background:#fff}.paper-image-frame{position:relative;width:min(100%,680px);line-height:0;background:#f8fafc}.paper-image-frame img{display:block;width:100%;height:auto;object-fit:contain;background:#f8fafc}.paper-empty{min-height:420px;display:flex;align-items:center;justify-content:center;color:var(--muted)}.question-hotspot{position:absolute;border:2px solid #16a34a;border-radius:7px;background:#16a34a14}.question-hotspot span{position:absolute;left:-13px;top:-12px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--primary);color:#fff;font-size:12px;font-weight:800}.question-hotspot.active{box-shadow:0 0 0 3px #c2402a2e}.question-hotspot.warn{border-color:#d97706;background:#d977061a}.question-hotspot.err,.question-hotspot.wrong,.question-hotspot.structure-issue{border-color:#dc2626;background:#dc262617}.hotspot-issue-label{position:absolute;right:4px;top:4px;padding:2px 5px;border-radius:4px;background:#dc2626;color:#fff;font-size:11px;font-style:normal;font-weight:800;line-height:1.2;white-space:nowrap}.paper-footer-actions{display:grid;grid-template-columns:minmax(200px,280px);gap:12px;justify-content:center;padding:14px 18px;border-top:1px solid var(--border);background:#fff}.question-detail-panel{background:#fff;overflow:auto}.question-current{display:flex;justify-content:space-between;padding:14px 18px;color:#334155;font-size:13px}.question-info-row,.ai-result-block{padding:12px 18px;border-top:1px solid #eef2f7}.question-info-row>span,.ai-result-block>span,.review-form-field>span{display:block;margin-bottom:7px;color:#475569;font-size:13px;font-weight:700}.question-info-row p{margin:0;color:#1f2937;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.ai-result-block b{font-size:17px}.ai-result-block em{display:block;margin-top:5px;color:#64748b;font-size:12px;font-style:normal}.ai-analysis{margin:14px 18px;padding:12px;border:1px solid #edf2f7;border-radius:8px;background:var(--panel)}.ai-analysis b,.teacher-decision-box b{display:block;margin-bottom:8px;font-size:14px}.ai-analysis p{margin:0 0 8px;line-height:1.6;font-size:14px;overflow-wrap:anywhere}.ai-analysis>span,.ai-analysis>em{display:block;color:#64748b;font-size:12px;font-style:normal}.teacher-decision-box{padding:4px 18px 12px}.teacher-decision-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.teacher-decision-actions button{min-height:38px;border:1px solid var(--border);border-radius:7px;background:#fff;color:#334155;font-weight:700}.teacher-decision-actions .ok{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.teacher-decision-actions .danger{border-color:#fecaca;background:#fef2f2;color:#991b1b}.teacher-decision-actions .warn{border-color:#fde68a;background:#fffbeb;color:#92400e}.teacher-decision-actions .active{box-shadow:inset 0 0 0 2px currentColor}.review-form-field{display:block;padding:0 18px 12px}.review-form-field textarea{min-height:82px;resize:vertical}.review-history{display:grid;gap:10px;padding:16px 18px}.review-history p{margin:0;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.review-history b,.review-history span{display:block}.review-history span{margin-top:4px;color:var(--muted);font-size:12px}.task-overview-rail{overflow:auto;background:#fff}.task-overview-rail section{padding:16px;border-bottom:1px solid var(--border)}.task-overview-rail h3{margin:0 0 12px;font-size:15px}.summary-line{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:8px;align-items:center;margin:10px 0;color:#475569;font-size:13px}.summary-line b{color:var(--sidebar)}.dot{width:9px;height:9px;display:inline-block;border-radius:999px;background:#94a3b8}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.err{background:var(--err)}.dot.ink{background:#64748b}.question-filter-tabs{display:flex;gap:8px;margin-bottom:10px}.question-filter-tabs button{min-height:28px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:#fff;color:#475569;font-size:12px}.question-filter-tabs .active{border-color:var(--primary);background:var(--primary);color:#fff}.right-question-list{display:grid;gap:6px}.right-question-list button{display:grid;grid-template-columns:24px minmax(0,1fr) 48px 54px 38px;gap:6px;align-items:center;min-height:34px;padding:0 6px;border:0;border-radius:6px;background:#fff;text-align:left;font-size:12px}.right-question-list button.active{background:var(--red-soft)}.right-question-list button.structure-issue{background:#fef2f2;box-shadow:inset 3px 0 #dc2626}.right-question-list span{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#f1f5f9;font-weight:800}.right-question-list b{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:500}.right-question-list em,.right-question-list small{text-align:right;font-style:normal}.confidence-legend p{display:flex;gap:8px;align-items:center;margin:8px 0;color:#64748b;font-size:12px}.archive-action{width:calc(100% - 32px);margin:14px 16px 8px}.task-overview-rail>.muted{display:block;margin:0 16px 16px}.growth-question-list{display:grid;gap:8px;margin-top:10px}.growth-question-item{display:block;width:100%;gap:10px;text-align:left;padding:8px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:inherit;cursor:pointer}.growth-question-item:hover{border-color:var(--primary);background:var(--red-soft)}.wrong-question-modal{width:min(92vw,920px);max-height:88vh;overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 22px 60px #0f172a47}.wrong-question-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid #e2e8f0}.wrong-question-modal-head h3{margin:0;font-size:18px;color:#0f172a}.wrong-question-modal-body{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,.96fr);gap:18px;padding:22px;max-height:calc(88vh - 126px);overflow:auto}.wrong-question-paper-panel{min-width:0}.wrong-question-paper-panel .growth-question-original,.wrong-question-paper-panel .growth-question-empty{width:100%;min-height:280px;border-color:var(--border);background:#f8fafc}.wrong-question-paper-panel .growth-question-paper{max-height:58vh;object-fit:contain}.wrong-question-modal .growth-question-region{border-color:#e11d48;background:#e11d481a}.wrong-question-answer-panel{display:grid;gap:12px;align-content:start}.wrong-question-answer-block{padding:14px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.wrong-question-answer-block h4{margin:0 0 8px;font-size:13px;color:#475569}.wrong-question-answer-block p{margin:0;line-height:1.7;overflow-wrap:anywhere}.wrong-question-answer-block .student-answer{padding:10px 12px;border-left:1px solid #e11d48;border-radius:8px;background:#fff1f2;color:#be123c}.wrong-question-modal-foot{padding:0 22px 20px}@media (max-width: 760px){.wrong-question-modal{width:96vw;max-height:92vh}.wrong-question-modal-body{grid-template-columns:1fr;padding:16px}.wrong-question-paper-panel .growth-question-original,.wrong-question-paper-panel .growth-question-empty{min-height:220px}}.growth-question-original,.growth-question-empty{width:160px;min-height:96px;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:#fff;color:#64748b;font-size:12px}.growth-question-empty{display:grid;place-items:center;text-align:center}.growth-question-original{position:relative;line-height:0}.growth-question-paper{width:100%;height:auto;display:block}.growth-question-region{position:absolute;border:2px solid #16a34a;background:#22c55e1f;box-shadow:0 0 0 1px #ffffffe6;pointer-events:none}.growth-question-locator-missing{position:absolute;inset:auto 6px 6px 6px;padding:3px 5px;border-radius:4px;background:#0f172ab8;color:#fff;font-size:11px;line-height:1.2;text-align:center}.growth-question-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.growth-question-item p{margin:3px 0;overflow-wrap:anywhere}.ok-text,.ok{color:var(--ok)}.err-text,.err{color:var(--err)}.warn{color:var(--warn)}@media (max-width: 1280px){.review-topbar{grid-template-columns:1fr}.review-board{grid-template-columns:minmax(190px,230px) minmax(0,1fr);overflow:visible}.student-review-rail{grid-row:1 / span 3}.paper-review-pane,.question-detail-panel,.task-overview-rail{grid-column:2}.task-overview-rail{display:block;border-top:1px solid var(--border)}.task-overview-rail section,.task-overview-rail .archive-action,.task-overview-rail>.muted{margin:0}.task-overview-rail .archive-action{width:auto;align-self:center;margin:16px}}@media (max-width: 920px){.review-board{grid-template-columns:1fr;overflow:visible}.student-review-rail,.paper-review-pane,.question-detail-panel,.task-overview-rail{grid-column:auto;grid-row:auto;border-right:0;border-bottom:1px solid var(--border)}.student-review-list{max-height:260px}.task-overview-rail{display:block}.paper-footer-actions,.teacher-decision-actions{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--primary);color:#fff;border:1px solid transparent;padding:10px 16px;border-radius:var(--r-sm);cursor:pointer;font-size:14px;font-weight:600;line-height:1.2;box-shadow:var(--shadow-sm);transition:background .15s,box-shadow .15s,transform .05s}.btn:hover{background:var(--primary-d);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover:not(:disabled){background:var(--blue-hover);box-shadow:none}.btn-ghost{background:var(--soft);color:var(--sidebar);border-color:var(--border);box-shadow:none}.btn-ghost:hover{background:#e9eef5;box-shadow:var(--shadow-sm)}.btn-sm{padding:6px 12px;font-size:13px;border-radius:var(--r-sm)}.card-pad{padding:24px}.badge-ok{background:#dcfce7;color:#166534}.badge-warn{background:#fef3c7;color:#92400e}.badge-err{background:#fee2e2;color:#991b1b}.tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--r-sm);font-size:12px;font-weight:600;background:var(--soft);color:var(--muted);border:1px solid var(--border)}.input{display:block;width:100%;padding:10px 13px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:14px;background:#fff;color:var(--sidebar);transition:border-color .15s,box-shadow .15s}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #315ed31f}.table{width:100%;border-collapse:collapse;font-size:13px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.table th,.table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border)}.table th{color:var(--muted);font-weight:600;background:var(--soft)}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#f8fafc}.section-title{font-size:18px;font-weight:700;color:var(--sidebar);margin:0 0 14px;display:flex;align-items:center;gap:8px}.nav button.flow-nav-btn{display:flex;align-items:center;gap:10px}.nav-step{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:#ffffff24;color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.nav button.active .nav-step{background:#ffffff47}.nav-label{display:inline-flex;align-items:center;gap:6px}.nav-hard{font-size:11px;line-height:1;padding:2px 6px;border-radius:999px;background:var(--amber-soft);color:#92400e;border:1px solid var(--amber)}.sidebar-foot{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.logout-btn{width:100%;text-align:center;background:transparent;border:1px solid rgba(255,255,255,.18);color:var(--sidebar-text);padding:8px 12px;border-radius:var(--r-sm);cursor:pointer;font-size:13px;transition:background .15s,color .15s}.logout-btn:hover{background:#ffffff1a;color:#fff}.auth-demo-entry{display:block;width:100%;margin-top:12px;min-height:44px;border:1px solid #d5dce7;border-radius:8px;background:#fff;color:#315ed3;font:inherit;cursor:pointer}.auth-demo-entry:hover{background:#f3f6ff;border-color:#315ed3}.login-page{display:flex;min-height:100vh;background:var(--soft)}.login-brand{width:420px;min-width:320px;background:var(--sidebar);color:#fff;padding:48px 36px;display:flex;align-items:center;position:relative;overflow:hidden}.login-brand:after{content:"";position:absolute;top:-60px;right:-60px;width:220px;height:220px;border-radius:50%;background:#c2402a2e}.login-brand:before{content:"";position:absolute;bottom:-40px;left:-80px;width:200px;height:200px;border-radius:50%;background:#f59e0b1a}.login-brand-inner{position:relative;z-index:1;max-width:340px}.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:36px}.login-logo-icon{width:44px;height:44px;border-radius:var(--r-md);background:var(--primary);color:#fff;font-size:22px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #a0251d3d}.login-logo-text{font-size:20px;font-weight:700;letter-spacing:-.5px}.login-brand-title{font-size:26px;font-weight:800;line-height:1.35;margin:0 0 14px;letter-spacing:-.5px}.login-brand-desc{color:var(--sidebar-text);font-size:14px;line-height:1.7;margin:0 0 28px}.login-brand-steps{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-bottom:28px}.login-step{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--sidebar-text)}.login-step-num{flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:#ffffff1f;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;color:#fff}.login-brand-footer{font-size:12px;color:#c7d2e88c;border-top:1px solid rgba(255,255,255,.09);padding-top:14px;margin:0}.login-main{flex:1;display:flex;align-items:center;justify-content:center;padding:32px}.login-card{width:100%;max-width:400px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:36px 32px 28px;box-shadow:var(--shadow-lg)}.login-head{margin-bottom:24px}.login-title{font-size:22px;font-weight:800;margin:0 0 4px;color:var(--sidebar)}.login-subtitle{color:var(--muted);font-size:13px;margin:0}.login-form .field{margin-bottom:16px}.login-form label{font-weight:600;color:var(--sidebar);font-size:13px}.login-form .input{font-size:15px;padding:11px 14px}.login-form .input::placeholder{color:#94a3b8}.btn-login{width:100%;padding:12px;font-size:15px;font-weight:700;border-radius:var(--r-sm);background:var(--primary);color:#fff;border:none;cursor:pointer;box-shadow:0 4px 14px #a0251d38;transition:transform .12s,box-shadow .15s,filter .15s;margin-top:4px}.btn-login:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #a0251d47}.btn-login:active:not(:disabled){transform:translateY(0)}.login-msg{padding:10px 14px;border-radius:var(--r-sm);font-size:13px;font-weight:500;margin-bottom:14px}.login-msg-ok{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.login-msg-err{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.login-toggle{text-align:center;margin-top:18px;font-size:13px;color:var(--muted)}.login-toggle p{margin:0}.link-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:2px;padding:0 2px}.link-btn:hover{color:var(--primary)}.student-portfolio-page{display:flex;flex-direction:column;gap:16px}.student-portfolio-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;color:var(--sidebar);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:24px;box-shadow:var(--shadow-md)}.student-portfolio-hero h3{margin:8px 0 6px;font-size:26px;line-height:1.2}.student-portfolio-name{margin:0;font-size:16px;font-weight:700}.student-portfolio-meta,.student-portfolio-id{margin:4px 0 0;color:var(--muted);font-size:13px}.student-portfolio-badge{display:inline-flex;width:fit-content;padding:4px 10px;border-radius:999px;color:var(--primary);background:var(--soft);border:1px solid var(--border);font-size:12px;font-weight:700}.student-portfolio-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.student-portfolio-actions .btn{background:var(--panel);color:var(--primary-d);border:1px solid var(--border)}.student-portfolio-actions .btn.ghost{background:var(--soft);color:var(--sidebar);border-color:var(--border)}.student-portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portfolio-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:18px;box-shadow:var(--shadow-sm)}.portfolio-summary,.portfolio-mastery-card,.portfolio-timeline-card,.portfolio-comment-card{grid-column:1 / -1}.portfolio-stat-row,.portfolio-trend,.portfolio-comment-actions,.portfolio-event-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.portfolio-warning-card{background:#fffbeb;border-color:#fde68a;height:80px}.portfolio-daily-report-card,.archive-profile-card{width:775px;max-width:100%;min-width:0;box-sizing:border-box;overflow-x:auto}.portfolio-mastery-card.open{border-color:var(--primary);box-shadow:0 0 0 3px #c2402a14}.portfolio-mastery-toggle{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:0;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer}.portfolio-mastery-head{min-width:0}.portfolio-mastery-head .section-title{margin:0}.portfolio-mastery-summary{margin:8px 0 0}.portfolio-mastery-metrics{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;align-items:center}.portfolio-mastery-body{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.portfolio-mastery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.portfolio-mastery-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.portfolio-mastery-row strong{font-size:14px}.pill.warn{margin-left:8px;background:#fef2f2;border-color:#fecaca;color:#991b1b}.portfolio-bar{grid-column:1 / -1;height:9px;overflow:hidden;border-radius:999px;background:var(--soft);border:1px solid var(--border)}.portfolio-bar span{display:block;height:100%;border-radius:inherit;background:var(--primary)}.portfolio-timeline{display:flex;flex-direction:column;gap:12px}.portfolio-event{border:1px solid var(--border);border-radius:8px;padding:14px;background:#fff}.portfolio-event-toggle{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:0;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer}.portfolio-event-main{min-width:0}.portfolio-event-main strong{color:#0f172a;font-size:15px}.portfolio-event-main .muted{margin:8px 0 0}.portfolio-event-metrics{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;align-items:center}.portfolio-event-arrow{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:2px 10px;border:1px solid var(--border);border-radius:999px;color:var(--sidebar);background:#fff;font-size:12px}.portfolio-event-body{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.portfolio-event.open{border-color:var(--primary);box-shadow:0 0 0 3px #c2402a14}.portfolio-event-head{justify-content:space-between}.portfolio-comment-card textarea{min-height:110px;resize:vertical}.portfolio-comment-actions{justify-content:space-between;margin-top:10px}.archive-profile-card .class-detail-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px}.archive-profile-card .section-title{margin-bottom:8px}.archive-profile-actions{justify-content:flex-end;flex-wrap:nowrap}.archive-profile-action{min-width:72px;width:max-content;max-width:none;white-space:nowrap;text-align:center;line-height:1.15}.question-blueprint-workbench{display:grid;gap:14px;padding:18px;border:1px solid var(--border, #dbe3ef);border-radius:14px;background:var(--surface, #fff)}.question-blueprint-head,.question-blueprint-discover,.question-blueprint-actions,.question-blueprint-row-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.question-blueprint-head h3,.question-blueprint-head p,.question-blueprint-editor p,.question-blueprint-published p,.question-blueprint-gate{margin:0}.question-blueprint-discover label{display:grid;gap:6px;min-width:min(420px,100%)}.question-blueprint-editor{display:grid;gap:12px}.question-blueprint-editor ol{display:grid;gap:8px;margin:0;padding-left:24px}.question-blueprint-editor li{padding-left:4px}.question-blueprint-editor li,.question-blueprint-editor li label{display:flex;align-items:center;gap:10px}.question-blueprint-editor li label{flex:1}.question-blueprint-editor input{min-width:120px;flex:1}.question-blueprint-gate{color:#9a5b00}.permission-denied-state{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#141b2852}.permission-denied-card{width:min(460px,100%);display:grid;gap:10px;padding:28px;border:1px solid var(--border, #dbe3ef);border-radius:16px;background:var(--surface, #fff);box-shadow:0 18px 48px #141b2833}.permission-denied-kicker{color:var(--danger, #c4402a);font-size:12px;font-weight:700;letter-spacing:.08em}.permission-denied-card h2,.permission-denied-card p{margin:0}.permission-denied-card p{color:var(--text-muted, #657084);line-height:1.6}.permission-denied-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.review-task-exception{display:grid;align-content:start;gap:14px;padding:22px}.review-task-exception h3,.review-task-exception p{margin:0}.review-task-exception-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.review-task-exception-counts div{padding:10px;border-radius:10px;background:#f5f7fb}.review-task-exception-counts dt{color:#657084;font-size:12px}.review-task-exception-counts dd{margin:4px 0 0;font-weight:700}@media (max-width: 800px){.login-page{flex-direction:column}.login-brand{display:none}.login-main{padding:24px 16px}.login-card{box-shadow:none;border-color:transparent}.student-portfolio-hero{align-items:stretch;flex-direction:column}.student-portfolio-actions{justify-content:flex-start}.student-portfolio-grid,.portfolio-mastery-grid,.portfolio-event-toggle,.portfolio-mastery-toggle,.collapsible-card-toggle{grid-template-columns:1fr}.portfolio-event-metrics,.portfolio-mastery-metrics,.collapsible-card-metrics{justify-content:flex-start}.archive-profile-card .class-detail-head{grid-template-columns:1fr}.archive-profile-actions{justify-content:flex-start}}@font-face{font-family:Jianwei Editorial;src:url(/design-assets/website/jianwei-editorial-regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Jianwei Brand;src:url(/design-assets/website/jianwei-brand-semibold.woff2) format("woff2");font-weight:600;font-display:swap}.auth-page{--auth-ink:#26374d;--auth-muted:#596778;--auth-accent:#426faa;--auth-hover:#335c94;--auth-display:"Jianwei Editorial","Noto Serif CJK SC","Songti SC",SimSun,serif;--auth-sans:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC",sans-serif;box-sizing:border-box;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:#fff;color:var(--auth-ink);font:400 16px/1.8 var(--auth-sans);font-synthesis:none;-webkit-font-smoothing:antialiased}.auth-page *{box-sizing:border-box}.auth-page a{color:inherit;text-underline-offset:5px}.auth-page :is(a,button,input,select):focus-visible{outline:3px solid var(--auth-accent);outline-offset:4px}.auth-page .auth-skip{position:fixed;z-index:10;top:10px;left:10px;padding:10px 18px;background:#fff;transform:translateY(-180%)}.auth-page .auth-skip:focus{transform:none}.auth-page .auth-site-header{width:min(100% - 96px,1300px);height:92px;flex:none;margin-inline:auto;display:flex;justify-content:space-between;align-items:center;gap:24px}.auth-page .auth-site-header .auth-brand{display:inline-flex;align-items:center;gap:14px;min-height:44px;text-decoration:none;font:600 28px/1.4 "Jianwei Brand",var(--auth-display);white-space:nowrap}.auth-page .auth-site-header .auth-brand img{width:50px;height:50px;flex:none}.auth-page .auth-brand-descriptor{font:400 26px/1.4 var(--auth-display)}.auth-page .auth-back{display:inline-flex;align-items:center;min-height:44px;color:var(--auth-muted)!important;font-size:15px;text-decoration:none}.auth-page .auth-back:hover,.auth-page .auth-mode-prompt button:hover,.auth-page .auth-help-toggle:hover{color:var(--auth-hover)!important;text-decoration:underline}.auth-page .auth-shell{width:min(100% - 96px,1160px);flex:1;margin-inline:auto;padding:clamp(52px,calc(52px + (100dvh - 860px)/4),112px) 0 76px;display:grid;grid-template-columns:minmax(0,1fr) 496px;align-items:start;gap:100px}.auth-page .auth-story{min-width:0;padding-top:52px}.auth-page .auth-story-title{margin:0;color:#314c6d;font:400 40px/1.5 var(--auth-display);font-synthesis:none}.auth-page .auth-story-description{margin:40px 0 0;color:var(--auth-muted);font-size:20px;line-height:1.8}.auth-page .auth-art{display:block;width:min(100% + 32px,540px);max-width:none;height:auto;margin:48px 0 0 -40px}.auth-page .auth-panel{width:100%;min-width:0}.auth-page .auth-panel h1{margin:0;font:400 48px/1.35 var(--auth-display);letter-spacing:0}.auth-page .auth-panel h1:focus{outline:none}.auth-page .auth-intro{margin:8px 0 0;color:var(--auth-muted);font-size:20px;line-height:1.6}.auth-page .auth-form{display:grid;gap:20px;margin-top:24px}.auth-page .auth-field{display:grid;gap:8px;min-width:0}.auth-page .auth-field label{font:400 17px/1.5 var(--auth-sans);color:var(--auth-ink)}.auth-page .auth-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-page .auth-help-toggle{min-height:44px;padding:0;border:0;background:transparent;color:var(--auth-hover);cursor:pointer;font:400 17px var(--auth-sans);text-decoration:underline;text-underline-offset:4px}.auth-page .auth-field>.ant-input,.auth-page .auth-field>.ant-input-affix-wrapper,.auth-page .auth-field>.ant-select{width:100%;min-width:0}.auth-page .auth-field>.ant-input,.auth-page .auth-field>.ant-input-affix-wrapper{min-height:60px;padding:12px 16px;border:1px solid #b4c1d1;border-radius:6px;background:#fff;color:var(--auth-ink);font:400 18px var(--auth-sans)}.auth-page .auth-field>.ant-input-affix-wrapper{padding-block:2px}.auth-page .auth-field>.ant-input-affix-wrapper>.ant-input{padding:0;min-height:auto;font:400 18px var(--auth-sans)}.auth-page .auth-field>.ant-select{height:60px;min-height:60px;padding-inline:16px;border:1px solid #b4c1d1;border-radius:6px;background:#fff;color:var(--auth-ink);font:400 18px var(--auth-sans)}.auth-page .auth-field :is(.ant-input,.ant-input-affix-wrapper,.ant-select):hover{border-color:#859ab5}.auth-page .auth-field>.ant-input:focus,.auth-page .auth-field>.ant-input-password:focus-within,.auth-page .auth-field>.ant-select:focus-within{outline:none;border-color:var(--auth-accent);box-shadow:0 0 0 3px #426faa24}.auth-page .auth-field>.ant-input-password>.ant-input:focus-visible,.auth-page .auth-field>.ant-select .ant-select-input:focus-visible{outline:none;box-shadow:none}.auth-page .auth-field .ant-select-suffix{color:var(--auth-hover)}.auth-page .auth-field .ant-input-affix-wrapper .ant-input-suffix{margin-left:8px}.auth-page .auth-field .ant-input-password-icon{color:var(--auth-muted);font:400 15px var(--auth-sans);min-height:44px;min-width:56px;display:inline-flex;align-items:center;justify-content:center}.auth-page .auth-field .ant-input-password-icon:hover{color:var(--auth-hover)}.auth-page .auth-field .ant-input-password-icon:focus-visible{outline:2px solid var(--auth-accent);outline-offset:-4px;border-radius:6px}.auth-page .auth-field-hint,.auth-page .auth-field-error{margin:0;font-size:15px;line-height:1.6}.auth-page .auth-field-hint{color:var(--auth-muted)}.auth-page .auth-field-error{color:#963d37}.auth-page .auth-message-error{padding:12px 14px;border-radius:6px;background:#fbefed;color:#883d36;font-size:14px;line-height:1.8;overflow-wrap:anywhere}.auth-page .auth-submit.ant-btn,.auth-page .auth-pending>.auth-submit{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:56px;margin-top:6px;border:0;border-radius:6px;background:var(--auth-accent);color:#fff;cursor:pointer;font:400 20px var(--auth-sans)}.auth-page .auth-submit.ant-btn:hover,.auth-page .auth-pending>.auth-submit:hover{background:var(--auth-hover);color:#fff}.auth-page :is(button,input,select):disabled{cursor:default;opacity:.65}.auth-page .auth-mode-prompt{text-align:center;margin:20px 0 0;color:var(--auth-muted);font-size:17px}.auth-page .auth-mode-prompt button{display:inline-flex;align-items:center;min-height:44px;margin-left:6px;padding:0;border:0;background:transparent;color:var(--auth-hover);cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:4px}.auth-page .auth-pending{text-align:center}.auth-page .auth-pending-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 26px;border-radius:50%;background:#e3efff;color:var(--auth-hover)}.auth-page .auth-pending-state{margin:8px 0 0;color:var(--auth-muted);font-size:24px;line-height:1.8}.auth-page .auth-pending-description{margin:26px 0 0;color:var(--auth-muted);font-size:18px;line-height:1.9}.auth-page .auth-pending>.auth-submit{margin-top:28px}.auth-page .auth-dev-footer{width:min(100% - 96px,1280px);margin-inline:auto;padding:18px 0;border-top:1px solid #e1e6ee;color:var(--auth-muted);font-size:13px}.auth-page .auth-dev-footer a{display:inline-flex;align-items:center;min-height:44px}.auth-page[data-mode=register] .auth-shell{padding-block:36px 64px}.auth-page[data-mode=register] .auth-form{gap:14px;margin-top:24px}.auth-page[data-mode=register] .auth-field{gap:4px}.auth-page[data-mode=register] .auth-mode-prompt{margin-top:8px}@media (max-width:1200px){.auth-page .auth-shell{gap:64px;grid-template-columns:minmax(0,1fr) 440px}.auth-page .auth-story-title{font-size:36px}.auth-page .auth-panel h1{font-size:42px}}@media (max-width:960px){.auth-page .auth-site-header .auth-brand{font-size:25px;gap:14px}.auth-page .auth-site-header .auth-brand img{width:42px;height:42px}.auth-page .auth-brand-descriptor{font-size:22px}.auth-page .auth-shell{grid-template-columns:minmax(0,1fr);width:min(100% - 48px,440px);padding-block:48px 56px;gap:0}.auth-page .auth-story{display:none}.auth-page .auth-panel h1{font-size:34px}.auth-page .auth-intro{font-size:15px;line-height:1.8}.auth-page .auth-field label{font-size:15px}.auth-page .auth-help-toggle{font-size:14px}.auth-page .auth-field>.ant-input,.auth-page .auth-field>.ant-input-affix-wrapper{min-height:50px;padding:10px 12px;font-size:15px}.auth-page .auth-field>.ant-input-affix-wrapper{padding-block:2px}.auth-page .auth-field>.ant-input-affix-wrapper>.ant-input{font-size:15px}.auth-page .auth-field>.ant-select{height:50px;min-height:50px;font-size:15px}.auth-page .auth-field .ant-input-password-icon,.auth-page .auth-field-hint,.auth-page .auth-field-error{font-size:13px}.auth-page .auth-submit.ant-btn,.auth-page .auth-pending>.auth-submit{min-height:50px;font-size:17px}.auth-page .auth-mode-prompt{font-size:14px}.auth-page .auth-pending-state{font-size:18px}.auth-page .auth-pending-description{font-size:14px}.auth-page[data-mode=register] .auth-shell{padding-block:32px 40px}}@media (max-width:760px){.auth-page .auth-site-header{width:calc(100% - 36px);height:76px}.auth-page .auth-shell{padding-block:40px 48px}.auth-page .auth-panel h1{font-size:30px}.auth-page .auth-back{font-size:14px;white-space:nowrap}.auth-page[data-mode=register] .auth-shell{padding-block:28px 40px}.auth-page .auth-dev-footer{width:calc(100% - 40px)}}@media (max-width:360px){.auth-page .auth-brand-descriptor{font-size:18px}.auth-page .auth-site-header .auth-brand{gap:8px;font-size:23px}}@media (min-width:961px){.auth-page{--auth-unit:clamp(.875px,min(calc(100vw / 1440),calc(100svh / 860)),1.75px)}.auth-page .auth-site-header{width:min(100% - 96px,calc(1300 * var(--auth-unit)));height:calc(92 * var(--auth-unit));gap:calc(24 * var(--auth-unit))}.auth-page .auth-site-header .auth-brand{gap:calc(14 * var(--auth-unit));font-size:calc(28 * var(--auth-unit))}.auth-page .auth-site-header .auth-brand img{width:calc(50 * var(--auth-unit));height:calc(50 * var(--auth-unit))}.auth-page .auth-brand-descriptor{font-size:calc(26 * var(--auth-unit))}.auth-page .auth-back{font-size:max(14px,calc(15 * var(--auth-unit)))}.auth-page .auth-shell{width:min(100% - 96px,calc(1160 * var(--auth-unit)));padding:max(calc(52 * var(--auth-unit)),calc((100svh - 756 * var(--auth-unit)) / 2)) 0 calc(76 * var(--auth-unit));grid-template-columns:minmax(0,1fr) calc(496 * var(--auth-unit));gap:calc(100 * var(--auth-unit))}.auth-page .auth-story{padding-top:calc(52 * var(--auth-unit))}.auth-page .auth-story-title{font-size:calc(40 * var(--auth-unit))}.auth-page .auth-story-description{margin-top:calc(40 * var(--auth-unit));font-size:calc(20 * var(--auth-unit))}.auth-page .auth-art{width:min(100% + 32px,calc(540 * var(--auth-unit)));margin:calc(48 * var(--auth-unit)) 0 0 calc(-40 * var(--auth-unit))}.auth-page .auth-panel h1{font-size:calc(48 * var(--auth-unit))}.auth-page .auth-intro{margin-top:calc(8 * var(--auth-unit));font-size:calc(20 * var(--auth-unit))}.auth-page .auth-form{gap:calc(20 * var(--auth-unit));margin-top:calc(24 * var(--auth-unit))}.auth-page .auth-field{gap:calc(8 * var(--auth-unit))}.auth-page .auth-field label,.auth-page .auth-help-toggle{font-size:calc(17 * var(--auth-unit))}.auth-page .auth-help-toggle{min-height:max(44px,calc(44 * var(--auth-unit)))}.auth-page .auth-label-row{gap:calc(12 * var(--auth-unit))}.auth-page .auth-field>.ant-input,.auth-page .auth-field>.ant-input-affix-wrapper{min-height:calc(60 * var(--auth-unit));padding:calc(12 * var(--auth-unit)) calc(16 * var(--auth-unit));font-size:calc(18 * var(--auth-unit))}.auth-page .auth-field>.ant-input-affix-wrapper{padding-block:2px}.auth-page .auth-field>.ant-input-affix-wrapper>.ant-input{font-size:calc(18 * var(--auth-unit))}.auth-page .auth-field>.ant-select{height:calc(60 * var(--auth-unit));min-height:calc(60 * var(--auth-unit));padding-inline:calc(16 * var(--auth-unit));font-size:calc(18 * var(--auth-unit))}.auth-page .auth-field .ant-input-password-icon{font-size:max(13px,calc(15 * var(--auth-unit)));min-height:max(44px,calc(44 * var(--auth-unit)));min-width:calc(56 * var(--auth-unit))}.auth-page .auth-field-hint,.auth-page .auth-field-error{font-size:max(13px,calc(15 * var(--auth-unit)))}.auth-page .auth-message-error{font-size:max(14px,calc(14 * var(--auth-unit)))}.auth-page .auth-submit.ant-btn,.auth-page .auth-pending>.auth-submit{min-height:calc(56 * var(--auth-unit));font-size:calc(20 * var(--auth-unit));margin-top:calc(6 * var(--auth-unit))}.auth-page .auth-mode-prompt{margin-top:calc(20 * var(--auth-unit));font-size:calc(17 * var(--auth-unit))}.auth-page .auth-pending-mark{width:calc(64 * var(--auth-unit));height:calc(64 * var(--auth-unit));margin-bottom:calc(26 * var(--auth-unit))}.auth-page .auth-pending-state{font-size:calc(24 * var(--auth-unit))}.auth-page .auth-pending-description{margin-top:calc(26 * var(--auth-unit));font-size:calc(18 * var(--auth-unit))}.auth-page .auth-pending>.auth-submit{margin-top:calc(28 * var(--auth-unit))}.auth-page[data-mode=register] .auth-shell{padding-block:calc(36 * var(--auth-unit)) calc(64 * var(--auth-unit))}.auth-page[data-mode=register] .auth-form{gap:calc(14 * var(--auth-unit));margin-top:calc(24 * var(--auth-unit))}.auth-page[data-mode=register] .auth-field{gap:calc(4 * var(--auth-unit))}.auth-page[data-mode=register] .auth-mode-prompt{margin-top:calc(8 * var(--auth-unit))}}.home-page{display:grid;width:min(100%,1080px);min-width:0;margin:0 auto;gap:12px}.home-page .page-header{margin-bottom:8px}.home-todo{min-width:0;padding:clamp(18px,2vw,28px) clamp(20px,2.4vw,32px);border:1px solid var(--line);border-radius:12px;background:var(--sheet)}.home-section-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;gap:16px}.home-section-kicker{margin:0 0 5px;color:var(--ink-3);font-size:11.5px;font-weight:600;letter-spacing:.1em}.home-section-header h2{margin:0;color:var(--ink);font-family:Songti SC,SimSun,serif;font-size:clamp(23px,2.2vw,31px);line-height:1.35}.home-context-note{max-width:330px;overflow:hidden;padding:5px 9px;border:1px solid var(--line);border-radius:7px;color:var(--ink-2);background:var(--canvas);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.home-action-list{display:grid;gap:8px}html body .home-action{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;width:100%;min-width:0;padding:12px 16px;gap:12px;border-radius:8px;box-shadow:none;text-align:left}html body .home-primary-action{min-height:82px;border:1px solid var(--red);color:var(--sheet);background:var(--red)}html body .home-primary-action:hover{opacity:.92}html body .home-secondary-action{min-height:52px;border:1px solid var(--line);color:var(--ink);background:var(--sheet)}html body .home-secondary-action:hover{border-color:var(--ink-3);background:var(--canvas)}.home-action-marker{display:inline-grid;width:40px;height:40px;place-items:center;border:1px solid var(--line-2);border-radius:8px;color:var(--red);background:var(--red-soft);font-size:13px;font-weight:800}.home-primary-action .home-action-marker{border-color:#ffffff8a;color:var(--sheet);background:#ffffff1f}.home-action-copy,.home-action-copy strong,.home-action-copy span{display:block;min-width:0}.home-action-copy strong{font-size:14px;line-height:21px}.home-action-copy>span{margin-top:3px;color:var(--ink-2);font-size:12.5px;line-height:20px}.home-primary-action .home-action-copy>span{color:#ffffffd1}.home-action-arrow{color:var(--red);font-size:18px}.home-primary-action .home-action-arrow{color:var(--sheet)}.home-task-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px;border:1px solid var(--line);background:var(--canvas)}.home-task-progress>div{display:grid;min-width:0;padding:11px 12px;gap:3px;border-right:1px solid var(--line)}.home-task-progress>div:last-child{border-right:0}.home-task-progress span{color:var(--ink-3);font-size:11px}.home-task-progress strong{color:var(--ink);font-size:13px}.home-flow-section,.home-recent,.home-attention{display:grid;min-width:0;gap:8px}.home-block-header{display:flex;align-items:baseline;justify-content:space-between;margin-top:12px;gap:12px}.home-block-header h2{margin:0;color:var(--ink);font-size:13px;font-weight:700;line-height:1.5}.home-block-header p{margin:2px 0 0;color:var(--ink-3);font-size:11.5px;line-height:1.6}.home-flow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;gap:8px}html body .home-flow-button{display:block;min-width:0;min-height:86px;padding:11px 12px 10px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--sheet);box-shadow:none;text-align:left}html body .home-flow-button:hover{border-color:var(--ink-3);background:var(--canvas)}html body .home-flow-button.is-current{border-color:var(--red);background:var(--red-soft)}.home-flow-step{display:block;color:var(--ink-3);font-family:Consolas,Courier New,monospace;font-size:10.5px;font-weight:600}.home-flow-button.is-current .home-flow-step{color:var(--red)}.home-flow-copy,.home-flow-copy strong,.home-flow-copy small{display:block;min-width:0}.home-flow-copy strong{margin-top:4px;overflow-wrap:anywhere;font-size:12.5px;line-height:1.45}.home-flow-copy small{margin-top:3px;color:var(--ink-3);font-size:10.5px;line-height:1.5}.home-admin-entry{display:flex;align-items:center;min-width:0;padding:11px 14px;gap:16px;border:1px solid var(--line);border-left:1px solid var(--red);border-radius:9px;background:var(--sheet)}.home-admin-entry>div{display:grid;min-width:0;gap:2px}.home-admin-entry strong{color:var(--ink);font-size:12.5px}.home-admin-entry span{color:var(--ink-3);font-size:11.5px}html body .home-admin-entry button,html body .home-recent-card button{min-height:40px;padding:4px 0;border:0;color:var(--red);background:transparent;box-shadow:none;font-size:12.5px;font-weight:650;text-align:left}html body .home-admin-entry button{flex:none;margin-left:auto}html body .home-admin-entry button:hover,html body .home-recent-card button:hover{text-decoration:underline}.home-insight-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:start;min-width:0;gap:12px}.home-recent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;gap:10px}.home-recent-card,.home-attention-action{min-width:0;border:1px solid var(--line);border-radius:9px;background:var(--sheet)}.home-recent-card{display:grid;align-content:start;min-height:142px;padding:15px 17px 12px}.home-recent-card h3{margin:0;color:var(--ink);font-family:Songti SC,SimSun,serif;font-size:14px;line-height:1.5}.home-recent-card p{margin:8px 0 4px;color:var(--ink-2);font-size:11.5px;line-height:1.7}.home-recent-card button{align-self:end;margin-top:auto}html body .home-attention-action{display:grid;width:100%;min-height:142px;padding:15px 17px;align-content:space-between;color:var(--ink);text-align:left}.home-attention-action>span,.home-attention-action strong,.home-attention-action small{display:block}.home-attention-action strong{font-family:Songti SC,SimSun,serif;font-size:14px}.home-attention-action small{margin-top:8px;color:var(--ink-2);font-size:11.5px;line-height:1.7}.home-attention-action>span:last-child{align-self:end;margin-top:12px;color:var(--red);font-size:12.5px;font-weight:650}.home-footnote{margin:6px 0 0;color:var(--ink-3);font-size:11.5px;line-height:1.8}@media (max-width: 900px){.home-flow{grid-template-columns:repeat(4,minmax(0,1fr))}.home-insight-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 680px){.home-recent-grid{grid-template-columns:minmax(0,1fr)}.home-recent-card{min-height:0}}@media (max-width: 560px){.home-page .page-header{margin-bottom:2px}.home-todo{padding:16px}.home-section-header,.home-admin-entry{align-items:stretch;flex-direction:column}.home-context-note{max-width:100%}html body .home-action{grid-template-columns:40px minmax(0,1fr)}.home-action-arrow{display:none}.home-task-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.home-task-progress>div:nth-child(2){border-right:0}.home-task-progress>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.home-flow{grid-template-columns:repeat(2,minmax(0,1fr))}html body .home-admin-entry button{margin-left:0}}.ai-workbench{min-width:0}.ai-workbench-tabs-shell{position:sticky;top:0;z-index:9;margin-bottom:var(--space-4);padding:var(--space-2) 0 var(--space-3);background:var(--color-bg)}.ai-workbench-tabs{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));padding:4px;gap:4px;border:1px solid var(--color-border);border-radius:var(--radius-overlay);background:var(--color-surface);box-shadow:var(--shadow-subtle)}html body .ai-workbench-tab{display:grid;align-content:center;min-height:58px;padding:7px var(--space-4);border:1px solid transparent;border-radius:var(--radius-control);color:var(--color-muted);background:transparent;box-shadow:none;text-align:left}html body .ai-workbench-tab:hover{color:var(--color-text);background:#f7f9fc}html body .ai-workbench-tab.is-active{border-color:var(--color-primary);color:var(--color-primary-hover);background:var(--color-nav-active)}.ai-workbench-tab-label{display:flex;align-items:center;gap:var(--space-2);font-size:14px;font-weight:750;line-height:20px}.ai-workbench-tab-hint{margin-top:2px;color:var(--color-muted);font-size:11px;line-height:16px}.ai-workbench-hard{padding:1px 5px;border:1px solid #d4a64d;border-radius:4px;color:var(--color-warning);background:var(--color-warning-surface);font-size:10px;line-height:16px}.ai-workbench-guard{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:12px;line-height:20px}.ai-workbench-panel{min-width:0;outline:none}@media (max-width: 720px){.ai-workbench-tabs{grid-template-columns:repeat(3,minmax(132px,1fr));overflow-x:auto}html body .ai-workbench-tab{padding-inline:var(--space-3)}}.grading-queue-page{display:flex;min-width:0;flex-direction:column;gap:var(--space-4)}.grading-page-heading .page-sub{margin-bottom:0}.grading-handoff-section{display:grid;gap:var(--space-4);min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-overlay);background:var(--color-surface);box-shadow:var(--shadow-subtle)}.grading-batch-status{grid-template-columns:minmax(330px,.82fr) minmax(0,1.8fr);gap:8px 10px;padding:10px 12px}.grading-batch-status>.grading-handoff-heading{grid-column:1 / -1}.grading-batch-status>.grading-picker-shell{grid-column:1;padding:12px}.grading-batch-status>.grading-contract-note{grid-column:2}.grading-batch-status>.grading-blueprint-status{grid-column:1}.grading-batch-status>.grading-summary{grid-column:2}.grading-batch-status>.grading-blueprint-error{grid-column:1 / -1}.grading-handoff-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.grading-handoff-heading span{color:var(--color-primary);font-size:10px;font-weight:800;letter-spacing:.12em}.grading-handoff-heading h3{margin:2px 0 0;color:var(--color-text);font-size:18px;line-height:26px}.grading-handoff-heading p{margin:0;color:var(--color-muted);font-size:12px;line-height:20px;text-align:right}.grading-picker-shell{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-overlay);background:var(--color-surface);box-shadow:var(--shadow-subtle)}.grading-batch-status .grading-picker-shell,.grading-batch-status .grading-summary{box-shadow:none}.grading-blueprint-status{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid #f2cf88;border-radius:var(--radius-control);background:#fffbeb}.grading-blueprint-status.is-ready{border-color:#b7dfca;background:#f3fbf6}.grading-blueprint-status strong{color:var(--color-text);font-size:14px;line-height:22px}.grading-blueprint-status p,.grading-blueprint-error{margin:2px 0 0;color:var(--color-muted);font-size:12px;line-height:20px}.grading-blueprint-error{color:var(--color-danger)}.grading-summary{display:grid;grid-template-columns:repeat(7,minmax(64px,1fr));gap:1px;min-width:0;margin:0;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-overlay);background:var(--color-border);box-shadow:var(--shadow-subtle)}.grading-summary>div{min-width:0;padding:var(--space-3) 10px;background:var(--color-surface)}.grading-summary dt{color:var(--color-muted);font-size:12px;font-weight:650;line-height:18px}.grading-summary dd{margin:2px 0 0;color:var(--color-text);font-size:22px;font-weight:750;line-height:28px;font-variant-numeric:tabular-nums}.grading-contract-note{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:var(--space-3) var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-muted);background:var(--color-bg)}.grading-contract-note p{margin:0;font-size:12px;line-height:20px}.grading-queue-card{min-width:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-overlay);background:var(--color-surface);box-shadow:var(--shadow-subtle)}.grading-batch-status .grading-summary>div{min-height:62px;padding:8px 6px}.grading-batch-status .grading-summary dt{font-size:10px;line-height:15px}.grading-batch-status .grading-summary dd{font-size:20px;line-height:24px}.grading-contract-note .assignment-create-controls{display:grid;grid-template-columns:112px 84px minmax(132px,1fr) auto;margin-top:0}.grading-handoff-section>.grading-queue-card{box-shadow:none}.grading-queue-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.grading-queue-head h3{margin:0 0 2px;color:var(--color-text);font-size:17px;line-height:24px}.grading-queue-head p{margin:0;color:var(--color-muted);font-size:12px;line-height:20px}.grading-queue-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}html body .grading-queue-actions .btn,html body .grading-row-actions .btn{min-height:var(--target-min);white-space:nowrap}html body .grading-primary-action{min-width:112px}.grading-queue-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid #fecaca;color:#991b1b;background:#fff7f7;font-size:13px}.grading-table-wrap{margin-top:0;overflow-x:auto;overscroll-behavior-inline:contain}.grading-queue-table{min-width:840px;table-layout:fixed}.grading-queue-table th,.grading-queue-table td{padding:11px var(--space-3);vertical-align:top}.grading-queue-table th{background:#f8fafc;font-size:12px}.grading-queue-table th:nth-child(1){width:84px}.grading-queue-table th:nth-child(2){width:142px}.grading-queue-table th:nth-child(3){width:190px}.grading-queue-table th:nth-child(4){width:142px}.grading-queue-table th:nth-child(5){width:170px}.grading-queue-table th:nth-child(6){width:190px}.grading-queue-table tbody tr:last-child td{border-bottom:0}.grading-queue-table tbody tr:hover{background:var(--color-bg)}.grading-task-no,.order-cell{font-variant-numeric:tabular-nums}.grading-task-no{overflow-wrap:anywhere;color:#344054;font-weight:650}.grading-file-cell{display:flex;min-width:0;flex-direction:column;gap:2px}.grading-file-cell b{overflow-wrap:anywhere;color:var(--color-text);font-size:13px;line-height:20px}.grading-file-cell span{color:var(--color-muted);font-size:11px;line-height:18px}.grading-queue-table .badge{border-radius:5px;font-weight:650;line-height:18px}.grading-queue-table .badge.neutral{color:#475467;background:#f2f4f7}.grading-row-error{max-width:250px;margin:var(--space-2) 0 0;color:var(--color-danger);font-size:12px;line-height:18px;overflow-wrap:anywhere}.grading-row-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.grading-manual-note{flex:1 0 100%;color:var(--color-muted);font-size:11px;line-height:18px}.grading-batch-actions .grading-queue-actions{justify-content:flex-start}.grading-review-entry{display:flex;align-items:center;justify-content:space-between;min-height:var(--target-min);gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.grading-review-entry .muted{line-height:1.6}.grading-review-action{flex:0 0 auto}.grading-no-action{color:var(--color-muted);font-size:12px;line-height:var(--target-min)}.grading-prompt-backdrop{align-items:stretch;justify-content:flex-end;padding:0}.grading-prompt-drawer{width:min(560px,100%);max-height:100vh;margin:0;overflow:auto;border-width:0 0 0 1px;border-radius:0;padding:var(--space-6);box-shadow:var(--shadow-overlay)}.grading-prompt-drawer .prompt-dialog-head{align-items:flex-start;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.grading-prompt-drawer .prompt-dialog-head p{margin:2px 0 0;color:var(--color-muted);font-size:12px;line-height:20px}.grading-prompt-drawer .prompt-field textarea{min-height:320px}.grading-prompt-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid #fecdca;border-radius:var(--radius-control);color:var(--color-danger);background:#fff6f5}.grading-prompt-drawer textarea:disabled{color:#344054;background:#f8fafc;opacity:1}@media (max-width: 980px){.grading-contract-note{grid-template-columns:1fr;gap:2px}.grading-queue-head{flex-direction:column}.grading-handoff-heading{align-items:stretch;flex-direction:column}.grading-handoff-heading p{text-align:left}.grading-queue-actions{width:100%;justify-content:flex-start}}@media (max-width: 720px){.grading-summary{grid-template-columns:repeat(7,minmax(96px,1fr));overflow-x:auto}.grading-summary>div{padding-inline:var(--space-3)}.grading-queue-actions .btn{flex:1 1 140px}.grading-queue-error{align-items:stretch;flex-direction:column}.grading-prompt-drawer{padding:var(--space-4)}.grading-handoff-section{padding:var(--space-3)}.grading-blueprint-status{flex-direction:column}}@media (max-width: 900px){.grading-batch-status{grid-template-columns:minmax(0,1fr)}.grading-batch-status>.grading-picker-shell,.grading-batch-status>.grading-contract-note,.grading-batch-status>.grading-blueprint-status,.grading-batch-status>.grading-summary{grid-column:1}.grading-contract-note .assignment-create-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}html body .app-shell .app-shell-main.main:has(>.home-page){width:100%;max-width:100%;padding-inline:24px}html body .home-page{--home-accent: var(--blue);--home-accent-soft: var(--blue-soft);width:min(100%,1120px);gap:24px;padding:12px 0 28px;font-family:Segoe UI,Microsoft YaHei,PingFang SC,sans-serif}html body .home-page button{font-family:inherit}html body .home-page .page-header{margin:0}html body .home-page .page-header h1{font-family:var(--font-sans);font-size:clamp(26px,2.2vw,32px);font-weight:650;letter-spacing:-.035em}html body .home-page .page-header p{font-size:14px}html body .home-page .home-block-header{margin-top:0}html body .home-page .home-block-header h2{font-size:16px}html body .home-page .home-block-header p{font-size:13px;color:#6c747b}html body .home-page .home-flow-section{gap:14px}html body .home-page .home-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}html body .home-page .home-flow-button{display:flex;align-items:center;gap:16px;min-height:98px;padding:20px;border-color:#dfe3e6;border-radius:12px;background:#fff;transition:border-color .14s ease,background .14s ease}html body .home-page .home-flow-button:hover{border-color:#a0b2c4;background:#fafcfe}html body .home-page .home-flow-button.is-current{border-color:#a0b2c4;background:#f6f9fc}html body .home-page .home-flow-step{display:grid;width:46px;height:46px;flex:none;place-items:center;border-radius:11px;background:var(--home-accent-soft);color:var(--home-accent)}html body .home-page .home-flow-button.is-current .home-flow-step{color:var(--home-accent)}html body .home-page .home-flow-copy strong{margin:0;font-size:16px;font-weight:650}html body .home-page .home-flow-copy small{margin-top:5px;font-size:12px;color:#626d77}html body .home-page .home-todo{padding:24px;border-color:#dfe3e6;border-radius:12px}html body .home-page .home-section-header h2{font-family:var(--font-sans);font-size:20px;font-weight:650}html body .home-page .home-section-kicker{font-size:12px;color:#626d77;letter-spacing:0}html body .home-page .home-context-note{padding:6px 12px;color:#52606d;background:#f4f6f8;border:0;font-size:13px}html body .home-page .home-action{padding:14px 18px;border-radius:9px}html body .home-page .home-primary-action{background:var(--home-accent);border-color:var(--home-accent)}html body .home-page .home-primary-action:hover{opacity:1;background:var(--blue-hover);border-color:var(--blue-hover)}html body .home-page .home-action-copy strong{font-size:16px;line-height:1.5}html body .home-page .home-action-copy>span{font-size:13px;line-height:1.65}html body .home-page .home-secondary-action .home-action-marker{color:var(--home-accent);background:var(--home-accent-soft);border-color:#d3dfeb}html body .home-page .home-secondary-action .home-action-arrow{color:var(--home-accent)}html body .home-page .home-task-progress{background:transparent;border:0;margin-top:22px}html body .home-page .home-task-progress>div{padding:0 18px;gap:7px}html body .home-page .home-task-progress>div:first-child{padding-left:0}html body .home-page .home-task-progress span{font-size:12px;color:#626d77}html body .home-page .home-task-progress strong{font-size:14px;font-variant-numeric:tabular-nums}html body .home-page .home-insight-grid{gap:20px}html body .home-page .home-recent,html body .home-page .home-attention{gap:12px}html body .home-page .home-recent-card,html body .home-page .home-attention-action{border-color:#dfe3e6;padding:18px;min-height:150px}html body .home-page .home-recent-card h3,html body .home-page .home-attention-action strong{font-family:var(--font-sans);font-size:15px}html body .home-page .home-recent-card p,html body .home-page .home-attention-action small{font-size:13px}html body .home-page .home-recent-card button,html body .home-page .home-admin-entry button,html body .home-page .home-attention-action>span:last-child{color:var(--home-accent);font-size:13px}html body .home-page .home-admin-entry{border-left:1px solid #dfe3e6;padding:14px 18px;border-radius:9px}html body .home-page .home-admin-entry strong{font-size:14px}html body .home-page .home-admin-entry span,html body .home-page .home-footnote{font-size:12px;color:#626d77}html body .home-page button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}html body .review-workbench{--primary: #3f5f82;--primary-d: #344f6d}html body .review-workbench .review-original-workspace{background:#e9edf0}html body .review-workbench .review-queue-workspace,html body .review-workbench .review-detail-workspace{background:#fff}html body .review-workbench .student-queue-item{border-radius:8px}html body .review-workbench .student-queue-item:hover{background:#f4f7fa}html body .review-workbench .student-queue-item.active{background:#edf2f7;border-color:#95aac0}html body .review-workbench .student-queue-item.active .student-queue-name{color:#2f4e6e}html body .review-workbench .review-page-switcher button.active{color:#fff;background:#3f5f82;border-color:#3f5f82}html body .review-workbench .review-sticky-actions{background:#fff;border-top-color:#dfe3e6;box-shadow:0 -3px 16px #283e5210}html body .review-workbench .review-sticky-actions .review-confirm-button{color:#fff;background:#3f5f82;border-color:#3f5f82;border-radius:8px}html body .review-workbench .review-sticky-actions .review-confirm-button:hover:not(:disabled){background:#344f6d;border-color:#344f6d}html body .review-workbench button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}html body .review-workbench button:disabled{cursor:not-allowed;opacity:.48}html body .booth-capture-page .control-rail{background:#1c2632;border-left-color:#344353}html body .booth-capture-page .target-bar{background:#1c2632;border-top-color:#344353}html body .booth-capture-page .mode-switch{background:#1c2632;border-color:#4b5e70}html body .booth-capture-page .mode-tab{color:#c2ceda}html body .booth-capture-page .mode-tab.active{background:var(--blue-soft);color:var(--blue)}html body .booth-capture-page .drawer,html body .booth-capture-page .finish-modal{background:#1c2632;border-color:#4b5e70}html body .booth-capture-page .settings-note{color:#b3c0cd}html body .booth-capture-page .finish-btn{background:var(--blue);color:#fff;border-color:var(--blue)}html body .booth-capture-page .finish-btn:hover:not(:disabled){background:var(--blue-hover)}html body .booth-capture-page button:focus-visible{outline:3px solid #b5d9ff;outline-offset:3px}@media (max-width: 900px){html body .home-page .home-flow{grid-template-columns:repeat(2,minmax(0,1fr))}html body .home-page .home-insight-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 560px){html body .app-shell .app-shell-main.main:has(>.home-page){padding-inline:12px}html body .home-page{gap:20px;padding-top:4px}html body .home-page .home-flow{gap:8px}html body .home-page .home-flow-button{padding:14px;gap:10px;align-items:flex-start;flex-direction:column}html body .home-page .home-flow-copy strong{font-size:15px}html body .home-page .home-todo{padding:16px}html body .home-page .home-task-progress{gap:14px}html body .home-page .home-task-progress>div{padding:0;border:0}}@media (prefers-reduced-motion: reduce){html body .home-page .home-flow-button{transition:none}}.booth-capture-page{--booth-surface: #18222e;--booth-raised: #243141;--booth-line: #415164;--booth-copy: #f3f6fb;--booth-secondary: #c5d0dd;--booth-action: #315ed3;--booth-warning: #ffd084;background:#10161e;color:var(--booth-copy);font-family:var(--font-sans)}.booth-capture-page .stage{background:#10161e}.booth-capture-page .control-rail,.booth-capture-page .target-bar{background:var(--booth-surface)}.booth-capture-page .control-rail{border-left-color:#344357}.booth-capture-page .target-bar{border-top-color:#344357}.booth-capture-page .mode-switch,.booth-capture-page .context-chip,.booth-capture-page .stage-chip{background:#19232ff2;border-color:#546378;color:var(--booth-copy);-webkit-backdrop-filter:none;backdrop-filter:none}.booth-capture-page .mode-switch{border-radius:16px}.booth-capture-page .mode-tab{border-radius:12px;color:var(--booth-secondary)}.booth-capture-page .mode-tab.active{background:var(--blue-soft);color:var(--blue)}.booth-capture-page .context-chip,.booth-capture-page .stage-chip{border-radius:9px}.booth-capture-page .rail-count,.booth-capture-page .target-hint,.booth-capture-page .guide-text{color:var(--booth-secondary)}.booth-capture-page .rail-count{font-size:14px;font-variant-numeric:tabular-nums}.booth-capture-page .target-hint.warn,.booth-capture-page .hint-cancel{color:var(--booth-warning)}.booth-capture-page .capsule{background:#202d3b;border-color:#627185;color:#f4f7fc}.booth-capture-page .capsule:hover{background:#304156;border-color:#96afcf}.booth-capture-page .capsule.active{background:var(--blue-soft);border-color:var(--blue-soft);color:var(--blue)}.booth-capture-page .capsule-count{background:var(--blue);color:#fff}.booth-capture-page .capsule-count.full{background:#ffd084;color:#4a2c05}.booth-capture-page .capsule-row:before{background:linear-gradient(90deg,var(--booth-surface),transparent)}.booth-capture-page .capsule-row:after{background:linear-gradient(-90deg,var(--booth-surface),transparent)}.booth-capture-page .icon-btn,.booth-capture-page .capsule-nav{background:var(--booth-raised);border-color:#56677c;color:#f3f6fb}.booth-capture-page .icon-btn:hover,.booth-capture-page .capsule-nav:hover{background:#364960;border-color:#92aac8}.booth-capture-page .icon-btn.lit{background:#ffd084;color:#4a2c05;border-color:#ffd084}.booth-capture-page .shutter{border-color:#eef4ff}.booth-capture-page .shutter-inner{background:var(--booth-action)}.booth-capture-page .shutter.full .shutter-inner{background:#6e7b8b}.booth-capture-page .shutter.replacing{border-color:#ffd084}.booth-capture-page .shutter.replacing .shutter-inner{background:#ffd084}.booth-capture-page .next-btn{background:#253447;border-color:#7288a4;color:#f4f7fc}.booth-capture-page .next-btn:hover{background:#344962}.booth-capture-page .finish-btn{background:var(--blue);color:#fff}.booth-capture-page .finish-btn:hover{background:var(--blue-hover)}.booth-capture-page .finish-list b{color:#93b4fa}.booth-capture-page .page-strip-thumb{background:#233142;border-color:#74849a}.booth-capture-page .page-strip-thumb.replacing{border-color:#ffd084}.booth-capture-page .page-strip-no{background:#172638;color:#fff}.booth-capture-page .notice-chip,.booth-capture-page .hint-chip{background:#202a37f5;border-color:#806d4f;color:#ffd084;-webkit-backdrop-filter:none;backdrop-filter:none}.booth-capture-page .capture-toast{background:#183729f5;border-color:#6da688;color:#d0f2df;border-radius:16px;-webkit-backdrop-filter:none;backdrop-filter:none}.booth-capture-page .undo-toast{background:#253447;border-color:#8a9fba;color:#fff}.booth-capture-page .undo-toast-btn{min-height:44px;color:#b8d5ff}.booth-capture-page .hint-cancel{min-height:44px}.booth-capture-page .tool-btn{min-height:44px;color:#f1f5fb;background:#29384b;border-color:#586d88;font-size:15px}.booth-capture-page .tool-btn:hover{background:#3a4d65}.booth-capture-page .tool-btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.booth-capture-page .tool-btn.primary:hover{background:var(--blue-hover)}.booth-capture-page .tool-btn.danger{color:#ffb5b7;border-color:#ac7075;background:#3d2931}.booth-capture-page .drawer,.booth-capture-page .finish-modal,.booth-capture-page .overlay-card{background:#1b2735;border-color:#566a83;color:#f1f5fb}.booth-capture-page .drawer-header{border-color:#415166}.booth-capture-page .drawer-header h2{font-size:20px}.booth-capture-page .settings-section h3{color:#f1f5fb;font-size:15px}.booth-capture-page .settings-note,.booth-capture-page .caps-list,.booth-capture-page .finish-sub,.booth-capture-page .preview-meta{color:#c5d0dd}.booth-capture-page .settings-note{font-size:14px;line-height:1.8}.booth-capture-page .settings-section select{min-height:48px;background:#26374c;border-color:#627791;color:#f5f7fc}.booth-capture-page .settings-actions .ant-input-number{background:#26374c;border-color:#627791;color:#f5f7fc}.booth-capture-page .settings-actions .ant-input-number-input{color:#f5f7fc;min-height:44px}.booth-capture-page .settings-actions .ant-input-number-handler-wrap{background:#344b68}.booth-capture-page .settings-actions .ant-input-number-handler-up-inner,.booth-capture-page .settings-actions .ant-input-number-handler-down-inner{color:#fff}.booth-capture-page .preview-bar{background:#1b2735;border-color:#415166}.booth-capture-page .preview-bar .tool-btn{min-height:48px}.booth-capture-page .rect-handle{width:44px;height:44px;margin:-22px 0 0 -22px}.booth-capture-page button:focus-visible,.booth-capture-page select:focus-visible,.booth-capture-page input:focus-visible{outline:3px solid #c4ddff;outline-offset:3px}.booth-capture-page button:disabled{cursor:default}.booth-capture-page button{touch-action:manipulation}.booth-capture-page .drawer-body{overscroll-behavior:contain;scrollbar-color:#63758d #1b2735}@media (prefers-reduced-motion:reduce){.booth-capture-page *,.booth-capture-page *:before,.booth-capture-page *:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html.template-refined{--canvas:#f7f8fa;--sheet:#fff;--ink:#202b3c;--ink-2:#5d697c;--line:#e0e5ed;--red:#315ed3;--red-soft:#eef2fc;--green:#277456;--green-soft:#edf6f1;--amber:#936219;--amber-soft:#fbf5e9;--color-primary:#315ed3;--color-text:#202b3c;--color-muted:#647185;--color-bg:#f7f8fa;--color-surface:#fff;--color-border:#e0e5ed;--color-danger:#a83f3b;--err:#a83f3b}html.template-refined .btn:not(.ghost):not(.danger):not(.btn-danger){background:#315ed3;border-color:#315ed3;color:#fff}html.template-refined .btn:not(.ghost):not(.danger):not(.btn-danger):hover:not(:disabled){background:#264fb8;border-color:#264fb8}html.template-refined .confirm-dialog .dialog-actions>.btn:first-child{background:#fff;color:#52627a;border-color:#d9e0eb}html.template-refined .btn.btn-danger{background:#ad403c;border-color:#ad403c;color:#fff}html.template-refined .btn.ghost{background:#fff;border-color:#d9e0eb;color:#425371}html.template-refined .btn.ghost:hover:not(:disabled){background:#f2f5fa}html.template-refined .btn:disabled{opacity:.48}html.template-refined .btn,html.template-refined .icon-btn,html.template-refined .icon-button{min-height:44px}html.template-refined .icon-btn,html.template-refined .icon-button{min-width:44px}html.template-refined button:focus-visible,html.template-refined a:focus-visible,html.template-refined input:focus-visible,html.template-refined textarea:focus-visible,html.template-refined select:focus-visible{outline:2px solid #315ed3;outline-offset:2px}html.template-refined .capture-blueprint-scroll{gap:18px;padding:22px 22px 18px}html.template-refined .capture-blueprint-heading h2{font-size:18px;line-height:1.55;letter-spacing:.2px}html.template-refined .capture-blueprint-kicker{font-size:12px;color:#69778e}html.template-refined .capture-blueprint-representative>span{font-size:13px}html.template-refined .capture-blueprint-representative select{height:auto;min-height:44px;border-radius:7px}html.template-refined .capture-blueprint-source-card{padding:12px;background:#f8f9fc;border-color:#e2e7ef;border-radius:8px;gap:9px}html.template-refined .capture-blueprint-source-card p{font-size:12px;line-height:1.65}html.template-refined .capture-blueprint-source-card .btn{font-size:12px;padding:8px;white-space:normal}html.template-refined .capture-blueprint-conflict{font-size:13px;line-height:1.65;color:#896016;background:#fcf7ec;border-color:#edddb7;padding:11px 12px}html.template-refined .capture-blueprint-gate{padding:18px 22px 22px;background:#fff;border-top:1px solid #e3e8ef}html.template-refined .capture-blueprint-gate .btn{font-size:14px;min-height:46px;border-radius:7px}html.template-refined .capture-blueprint-gate .muted{font-size:12px;line-height:1.75}html.template-refined .capture-blueprint-error{font-size:13px;line-height:1.75}html.template-refined .capture-blueprint-panel .badge{font-size:12px;padding:3px 8px}html.template-refined body .modal-backdrop{background:#1e2a3d6b;padding:16px}html.template-refined .ak-dialog.ak-dialog--wide{width:min(1480px,calc(100vw - 32px));height:calc(100dvh - 32px);max-height:1040px;padding:0;border:1px solid #e0e6ef;border-radius:14px;box-shadow:0 18px 64px #182c4530;overflow:hidden}html.template-refined .ak-dialog .prompt-dialog-head{flex-shrink:0;min-height:72px;padding:12px 24px;margin:0;border-bottom:1px solid #e4e8ef;gap:16px}html.template-refined .ak-dialog .prompt-dialog-head h3{font-size:21px;font-weight:650;letter-spacing:.4px;color:#263448}html.template-refined .ak-dialog .prompt-dialog-head .icon-btn{border:1px solid #e0e5ed;border-radius:8px;background:#fff;color:#687589}html.template-refined .ak-dialog-body{grid-template-columns:minmax(0,1fr) minmax(430px,.83fr);gap:0;background:#fff;min-height:0}html.template-refined .ak-paper-pane{background:#e9edf3;border:0;border-radius:0;padding:24px;overscroll-behavior:contain;scrollbar-gutter:stable}html.template-refined .ak-paper-page{max-width:810px;margin:0 auto 20px;box-shadow:0 3px 12px #283b4a12;border:1px solid #d9e0e9}html.template-refined .ak-paper-page:last-child{margin-bottom:0}html.template-refined .ak-answer-pane{padding:0 22px 0 24px;gap:0;border-left:1px solid #dce3ed;min-width:0}html.template-refined .ak-summary{min-height:66px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 0;background:#fff;border:0;border-bottom:1px solid #e5e9f0;border-radius:0;font-size:14px;color:#536178}html.template-refined .ak-slot-list{gap:14px;padding:18px 7px 20px 0;overscroll-behavior:contain;scrollbar-gutter:stable}html.template-refined .ak-slot{padding:17px 16px;border:1px solid #e0e6ee;border-radius:10px;background:#fff;box-shadow:none}html.template-refined .ak-slot--needs-confirm,html.template-refined .ak-slot--empty{border-color:#e8d5a7;background:#fffdf8}html.template-refined .ak-slot-head{gap:8px;align-items:center}html.template-refined .ak-slot-head>b{font-size:15px;font-weight:650;color:#304057}html.template-refined .ak-slot-q{font-size:15px;line-height:1.85;flex-basis:100%;color:#48566c;margin-top:3px}html.template-refined .ak-badge{font-size:12px;padding:2px 8px;line-height:1.75;border-radius:5px}html.template-refined .ak-badge--warn{background:#f8efd9;color:#8a601a}html.template-refined .ak-badge--ok{background:#edf6f1;color:#277456}html.template-refined .ak-confirm-hint{color:#866426;font-size:13px;line-height:1.65;margin:12px 0 8px}html.template-refined .ak-answer-row{gap:10px;margin-top:12px;align-items:stretch}html.template-refined .ak-chip{min-height:46px;min-width:66px;padding:9px 16px;border-radius:7px;font-size:16px;font-weight:550;line-height:1.6;background:#fff;border-color:#d2dbe7;color:#384b66;white-space:normal;overflow-wrap:anywhere;text-align:left}html.template-refined .ak-chip.is-selected{color:#286e52;border-color:#88b29e;background:#edf6f1;box-shadow:inset 0 0 0 1px #88b29e}html.template-refined .ak-chip--needs-pick:not(.is-selected){border-color:#d8c8a3;background:#fff;color:#574b30}html.template-refined .ak-chip:hover:not(:disabled){border-color:#6c8ccc;background:#f0f4fb}html.template-refined .ak-chip.is-selected:hover:not(:disabled){background:#e2f0e8;border-color:#6c9e86}html.template-refined .ak-edit-input{min-height:46px;max-width:none;min-width:130px;flex:1;padding:10px 12px;border-color:#d5ddea;border-radius:7px;background:#fff;color:#33425a;font-size:14px}html.template-refined .ak-edit-input::placeholder{color:#738097}html.template-refined .ak-warn-text{color:#8b631b}html.template-refined .ak-ok-text{color:#277456}html.template-refined .ak-muted-text{color:#68768a}html.template-refined .ak-publish-error{color:#a83f3b;font-size:13px;line-height:1.7}html.template-refined .ak-dialog .prompt-dialog-actions{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:15px 24px;margin:0;background:#fff;border-top:1px solid #e1e6ef;min-height:80px;flex-wrap:wrap}html.template-refined .ak-dialog .prompt-dialog-actions .btn{min-height:46px;padding:10px 22px;font-size:14px;border-radius:7px}html.template-refined .ak-foot-hint{font-size:13px;line-height:1.65;margin-right:auto}html.template-refined .ak-link-btn{min-height:44px;color:#5b6e8a;font-size:13px}html.template-refined .ak-advanced-link{padding:8px 12px;text-decoration:none;border-radius:7px;border:1px solid #e0e6ef}html.template-refined .ak-advanced-link:hover{background:#f2f5fa;color:#315ed3}html.template-refined .ak-pub-banner{margin:0;padding:10px 24px;background:#edf6f1;border:0;border-bottom:1px solid #dbeadf;color:#277456;font-size:14px}html.template-refined .jw-editor-modal{--jw-editor-width:1040px}html.template-refined .capture-blueprint-question-card{border-color:#dfe6ef!important;border-radius:10px!important;padding:18px!important}html.template-refined .capture-blueprint-question-card>label{font-size:14px}html.template-refined .capture-blueprint-question-editor input:not([type=checkbox]),html.template-refined .capture-blueprint-question-editor select,html.template-refined .capture-blueprint-question-editor textarea{font-size:14px;min-height:44px;border-radius:7px}html.template-refined .capture-blueprint-row-actions .btn,html.template-refined .capture-blueprint-question-editor .btn{min-height:44px}html.template-refined .capture-blueprint-question-editor .capture-blueprint-question-list{max-height:52vh}html.template-refined .capture-blueprint-question-card fieldset label{min-height:44px;font-size:13px}@media (min-width:761px){html.template-refined .ak-dialog-body{overflow:hidden}html.template-refined .ak-paper-pane{max-height:none}}@media (min-width:1700px){html.template-refined .ak-slot-q{font-size:17px}html.template-refined .ak-slot-head>b{font-size:16px}html.template-refined .ak-summary{font-size:15px}html.template-refined .ak-chip{font-size:18px;min-height:50px}html.template-refined .ak-edit-input{font-size:16px;min-height:50px}html.template-refined .ak-slot{padding:20px}html.template-refined .ak-dialog .prompt-dialog-actions .btn{font-size:16px;min-height:50px}}@media (max-width:1000px) and (min-width:761px){html.template-refined .ak-dialog-body{grid-template-columns:minmax(0,1fr) 410px}html.template-refined .ak-answer-pane{padding:0 14px}html.template-refined .ak-paper-pane{padding:14px}html.template-refined .ak-slot{padding:13px}html.template-refined .ak-dialog .prompt-dialog-actions{padding:12px 16px;gap:8px}html.template-refined .ak-foot-hint{flex-basis:100%}}@media (max-width:760px){html.template-refined .ak-dialog.ak-dialog--wide{width:calc(100vw - 16px);height:calc(100dvh - 16px)}html.template-refined body .modal-backdrop{padding:8px}html.template-refined .ak-dialog-body{grid-template-columns:1fr;overflow:auto}html.template-refined .ak-paper-pane{max-height:35vh;min-height:240px;padding:14px}html.template-refined .ak-answer-pane{padding:0 14px;border-left:0;overflow:visible}html.template-refined .ak-slot-list{overflow:visible}html.template-refined .ak-dialog .prompt-dialog-head{padding:8px 16px;min-height:62px}html.template-refined .ak-dialog .prompt-dialog-head h3{font-size:18px}html.template-refined .ak-dialog .prompt-dialog-actions{padding:10px 14px;gap:8px}html.template-refined .ak-foot-hint{flex-basis:100%}html.template-refined .ak-dialog .prompt-dialog-actions .btn{padding:8px 14px}html.template-refined .ak-advanced-link{margin-right:auto}}html.review-refined{--canvas:#f7f8fa;--sheet:#fff;--ink:#202b3c;--ink-2:#647185;--line:#e0e5ed;--red:#ad4841;--red-soft:#fff0ee;--primary:#315ed3;--primary-d:#264fb8;--color-focus-ring:#315ed3;--green:#277456;--green-soft:#edf6f1;--amber:#936219;--amber-soft:#fbf5e9;--color-primary:#315ed3;--color-text:#202b3c;--color-muted:#647185;--color-bg:#f7f8fa;--color-surface:#fff;--color-border:#e0e5ed;--color-danger:#a83f3b;--err:#a83f3b;--font-sans:var(--font-family-ui)}html.review-refined body,html.review-refined #root{overflow:auto}html.review-refined .review-workbench{min-width:1100px;min-height:580px;height:100dvh;grid-template-rows:66px minmax(0,1fr) auto;background:#f7f8fa;color:#273448;font-family:var(--font-sans)}html.review-refined .review-board,html.review-refined .review-board.embedded{grid-template-columns:210px minmax(0,1fr) 360px}html.review-refined .review-topbar{display:flex;margin-bottom:0;height:66px;padding:0 22px;border-color:#e0e5ed;gap:20px}html.review-refined .review-topbar-title .page-title{font:650 18px/1.4 var(--font-sans);letter-spacing:0;color:#273448}html.review-refined .review-topbar-separator{background:#dce3ed}html.review-refined .review-topbar-right{gap:16px}html.review-refined .review-workflow-context{font-size:13px;flex-wrap:wrap;row-gap:4px;line-height:1.4}html.review-refined .review-workflow-context b{font-size:14px;color:#34435b}html.review-refined .review-workflow-context .review-assignment-title{color:#43516a}html.review-refined .review-workflow-context .review-paper-context{color:#68768c}html.review-refined .review-ai-status{font-size:12px;color:#728094;max-width:220px}html.review-refined .review-teacher-name{color:#6e7c90}html.review-refined .review-back-button{color:#506381;white-space:nowrap;flex-shrink:0}html.review-refined .review-back-button:hover{color:#315ed3}html.review-refined .review-bind-current{min-height:44px;flex-shrink:0;padding:7px 12px;border:1px solid #cbd8f4;border-radius:7px;color:#315ed3;background:#f2f5fd;font:500 13px var(--font-sans);cursor:pointer}html.review-refined .review-bind-current:hover{background:#e7edfc}html.review-refined .review-progress-summary{font-size:11px;flex-basis:130px;gap:5px 8px;color:#62718a}html.review-refined .review-progress-summary b{color:#315ed3;font-size:12px}html.review-refined .review-progress-summary .bar{height:4px;background:#e9edf5}html.review-refined .review-progress-summary .bar span{background:#315ed3}html.review-refined .review-queue-workspace:not(.drawer){background:#f8f9fb;border-color:#e0e5ed}html.review-refined .review-workbench .student-queue-rail-head{padding:20px 18px 15px;gap:5px;border-color:#e3e8ef}html.review-refined .review-workbench .student-queue-rail-head h3{font-size:15px;color:#35445c}html.review-refined .review-workbench .student-queue-rail-head .muted{font-size:12px;color:#6e7c90}html.review-refined .review-workbench .student-queue-list{padding:9px;gap:5px;align-content:start}html.review-refined .review-workbench .student-queue-item{grid-template-columns:minmax(0,1fr) auto 8px;min-height:72px;padding:11px 10px;gap:5px 8px;border:1px solid transparent;border-radius:8px;color:#465670}html.review-refined .review-workbench .student-queue-item:hover{background:#eef2f8}html.review-refined .review-workbench .student-queue-item.active{background:#eaf0fd;border-color:#cedbf6;color:#3159b2;box-shadow:inset 3px 0 #315ed3}html.review-refined .review-workbench .student-queue-name,html.review-refined .review-workbench .student-queue-item.active .student-queue-name{font-size:14px}html.review-refined .review-workbench .student-queue-seat{font-size:11px;color:#728099}html.review-refined .review-workbench .student-queue-meta{position:static;grid-row:2;grid-column:1 / 3;display:flex;gap:8px;width:auto;height:auto;overflow:visible;clip:auto;clip-path:none;font-size:11px;color:#738198;padding:0;white-space:normal}html.review-refined .review-workbench .student-queue-current{color:#315ed3}html.review-refined .review-workbench .student-queue-pages{position:static;grid-row:2;grid-column:2 / 4;width:fit-content;background:#eef1f6;color:#6b7c93;font-size:11px;padding:0 5px;border-radius:3px}html.review-refined .review-workbench .student-queue-item.is-pending .student-queue-status{width:8px;height:8px;background:#9aa9bc}html.review-refined .review-workbench .student-queue-item.is-ready .student-queue-status,html.review-refined .review-workbench .student-queue-item.is-reviewed .student-queue-status{background:#277456}html.review-refined .review-workbench .student-queue-item.is-failed .student-queue-status{background:#ae4841}html.review-refined .review-workbench .student-queue-item.is-blocked .student-queue-status,html.review-refined .review-workbench .student-queue-item.is-unbound .student-queue-status{background:#b3893c}html.review-refined .review-original-workspace,html.review-refined .review-original-workspace .paper-review-pane,html.review-refined .review-workbench .paper-canvas{background:#e9edf3}html.review-refined .review-workbench .paper-canvas{padding:24px 22px 32px}html.review-refined .review-workbench .paper-annotation-image-box>img{border-radius:3px;box-shadow:0 3px 18px #32435918}html.review-refined .review-workbench .paper-zoom-controls{border-color:#d5dfeb;box-shadow:0 2px 8px #273d5514;background:#ffffffed;border-radius:8px}html.review-refined .review-workbench .paper-zoom-controls button{min-width:44px;min-height:44px;color:#465d7c}html.review-refined .review-workbench .paper-zoom-controls span{color:#667992}html.review-refined .review-workbench .question-group-region{border-color:#465d7c59;border-width:2.5px;border-radius:6px;background:#465d7c0f;box-shadow:0 0 0 2px #ffffffd9}html.review-refined .review-workbench .question-group-region:hover,html.review-refined .review-workbench .question-group-region:focus-visible,html.review-refined .review-workbench .question-group-region.is-selected{border-color:#6286d4;background:#315ed314;box-shadow:0 0 0 3px #ffffffeb,0 0 0 6px #6286d440}html.review-refined .review-detail-workspace{border-color:#dce3ed;background:#fff}html.review-refined .review-detail-landmark{padding:22px 22px 26px}html.review-refined .review-evidence-footer{border-color:#e6eaf0}html.review-refined .review-evidence-footer:has(.review-class-summary:empty),html.review-refined .review-evidence-footer:empty{display:none}html.review-refined .paper-review-summary{gap:18px;color:#35445c}html.review-refined .paper-review-summary-head{padding-bottom:14px;border-color:#e5e9f0}html.review-refined .paper-review-summary-head h3{font:650 18px/1.5 var(--font-sans)}html.review-refined .paper-review-counts{gap:9px}html.review-refined .paper-review-counts>span{border:1px solid #e1e7ef;border-radius:8px;background:#f8f9fc;color:#64748b;font-size:13px;padding:12px}html.review-refined .paper-review-counts b{font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-size:20px;color:#35445c}html.review-refined .paper-review-counts>.is-correct,html.review-refined .paper-review-counts>.is-incorrect{min-height:80px}html.review-refined .paper-review-counts .is-correct b{color:#277456}html.review-refined .paper-review-counts .is-incorrect b{color:#ae4841}html.review-refined .paper-review-counts .is-pending b{color:#9b7429}html.review-refined .paper-review-issue{min-height:52px;border-radius:7px;border-color:#e1e6ef;border-left-color:#bb9348;padding:12px 14px;font-size:14px;color:#43516a}html.review-refined .paper-review-issue.is-incorrect{border-left-color:#ae4841}html.review-refined .paper-review-issue.is-doubt,html.review-refined .paper-review-issue.is-pending{background:#fffaf0}html.review-refined .paper-review-issue:hover{background:#f2f5fa}html.review-refined .paper-review-issue b{font-size:13px}html.review-refined .paper-review-summary-tip{font-size:12px;line-height:1.8;color:#77849a}html.review-refined .paper-review-clean{font-size:14px;line-height:1.8;border-radius:8px;background:#f0f7f3;color:#367355}html.review-refined .segment-review-summary{font-size:15px;line-height:1.85;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}html.review-refined .segment-review-summary>div>span{color:#596778;font-size:13px}html.review-refined .segment-review-summary b,html.review-refined .segment-review-summary p{color:#3a4b65}html.review-refined .segment-review-summary b,html.review-refined .segment-question-text{font-size:16px}html.review-refined .segment-question-text b{font-weight:600}html.review-refined .segment-ai-verdict{grid-column:1/-1}html.review-refined .segment-ai-verdict[data-verdict=correct] b{color:#277456}html.review-refined .segment-ai-verdict[data-verdict=incorrect] b{color:#a3463f}html.review-refined .segment-ai-verdict[data-verdict=pending] b{color:#86601d}html.review-refined .segment-analysis{background:#f7f9fc;border-radius:8px;padding:12px}html.review-refined .segment-decision-editor .vbtn{min-height:48px;border-radius:8px;font-size:15px}html.review-refined .group-item-navigation button,html.review-refined .answer-segment-navigation button{min-width:44px;min-height:44px}html.review-refined .edited-tag{font-size:13px;line-height:1.75}html.review-refined .review-sticky-actions{height:auto;min-height:76px;padding:12px 22px;border-color:#dce3ed;color:#6a7990;box-shadow:0 -2px 10px #253b5104}html.review-refined .review-action-landmark{grid-template-columns:minmax(0,1fr) auto auto;gap:22px}html.review-refined .review-action-left{flex-wrap:wrap;gap:5px 10px}html.review-refined .review-action-left>span:not(.review-paper-timer){font-size:12px;white-space:normal}html.review-refined .review-footer-summary{border-color:#e0e6ef;color:#6b7990}html.review-refined .review-footer-summary b{color:#3c4b63}html.review-refined .review-paper-timer{color:#697b96;border-color:#e0e6ef}html.review-refined .review-workbench .review-sticky-actions .btn{min-height:48px;font-size:13px;border-radius:8px;padding:10px 18px;border-color:#d9e1ed}html.review-refined .review-workbench .review-sticky-actions .review-confirm-button{background:#315ed3;border-color:#315ed3;color:#fff;font-weight:600}html.review-refined .review-workbench .review-sticky-actions .review-confirm-button:hover:not(:disabled){background:#264fb8}html.review-refined .review-workbench .review-sticky-actions .btn:disabled{background:#f4f6f9;border-color:#e5e9f0;color:#a1acbc;opacity:1;cursor:default}html.review-refined .review-scope-switch{border-color:#dce3ed;background:#f7f9fc;border-radius:8px;padding:3px;gap:3px}html.review-refined .review-scope-switch button{height:40px;min-height:40px;padding:7px 12px;border-radius:5px;font-size:12px;color:#6b7b94}html.review-refined .review-scope-switch button.active{background:#e7edfb;color:#3159b5;font-weight:600}html.review-refined .review-save-error{flex-basis:100%;color:#a83f3b;font-size:12px}html.review-refined .review-save-error>span{white-space:normal;overflow:visible}html.review-refined .review-load-state{font-size:14px;line-height:1.75}html.review-refined .review-load-state[role=alert]{background:#fff4f2;color:#a3453f}html.review-refined .review-class-summary{font-size:13px;line-height:1.8}html.review-refined .review-workbench button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}html.review-refined .student-bind-modal{font-family:var(--font-sans);border-radius:12px}html.review-refined .student-bind-modal-head h2{font-family:var(--font-sans)}html.review-refined .student-bind-row{min-height:48px}html.review-refined .student-bind-row.is-selected{background:#eef3ff;color:#315ed3;border-color:#bed0f5}html.review-refined .review-bind-guide{border-color:#e0e5ed;box-shadow:0 2px 10px #2537500f;font-family:var(--font-sans)}html.review-refined .review-bind-guide-title{color:#273448}html.review-refined .review-bind-guide-desc{color:#68768c}html.review-refined .review-bind-guide-option.is-selected{border-color:#315ed3;background:#eef3ff;color:#315ed3}html.review-refined .review-progress-summary{padding:0;border:0;border-radius:0;background:transparent}html.review-refined .review-progress-summary>span{font-size:11px;font-weight:500;white-space:nowrap;color:#63718a}html.review-refined .review-workbench .review-page-switcher{position:sticky;bottom:14px;z-index:12;margin-top:16px;padding:5px 7px;border:1px solid #d7e0eb;border-radius:9px;background:#ffffffed;box-shadow:0 3px 12px #2b41551a}html.review-refined .segment-decision-editor .vbtn.jw{border-color:#be716b;color:#a3463f;background:#fff}html.review-refined .segment-decision-editor .vbtn.jw:hover{background:#fff0ee}html.review-refined .segment-decision-editor .vbtn.jw.is-active,html.review-refined .segment-decision-editor .vbtn.jw[data-active=true]{border-color:#a3463f;background:#a3463f;color:#fff}html.review-refined .segment-decision-editor .vbtn.jr.is-active,html.review-refined .segment-decision-editor .vbtn.jr[data-active=true]{border-color:#277456;background:#277456;color:#fff}html.review-refined .segment-decision-editor .edited-tag{font-size:12px;color:#86601d}html.review-refined .student-queue-meta,html.review-refined .review-workbench .student-queue-meta,html.review-refined .review-workbench .student-queue-seat,html.review-refined .paper-review-summary-tip{color:#66748a}@media (min-width:1700px){html.review-refined .review-board,html.review-refined .review-board.embedded{grid-template-columns:240px minmax(0,1fr) 410px}html.review-refined .review-workbench .student-queue-item{min-height:80px}html.review-refined .review-workbench .student-queue-name{font-size:16px}html.review-refined .review-detail-landmark{padding:26px}html.review-refined .segment-review-summary{font-size:16px}html.review-refined .segment-question-text{font-size:17px}html.review-refined .paper-review-issue{font-size:16px;min-height:56px}html.review-refined .review-workbench .review-sticky-actions .btn{font-size:15px;min-height:52px}}@media (max-width:1350px){html.review-refined .review-board,html.review-refined .review-board.embedded{grid-template-columns:190px minmax(0,1fr) 330px}html.review-refined .review-topbar{gap:12px;padding:0 16px}html.review-refined .review-topbar-right{gap:10px}html.review-refined .review-ai-status{max-width:128px}html.review-refined .review-topbar-left{gap:10px}html.review-refined .review-bind-current{font-size:12px;padding:7px 9px}html.review-refined .review-action-landmark{gap:12px}html.review-refined .review-sticky-actions{padding:10px 16px}html.review-refined .review-workbench .review-sticky-actions .btn{padding:10px 12px}html.review-refined .review-detail-landmark{padding:20px 18px}}html.review-refined .group-item-navigation button.is-selected{color:#315ed3;border-color:#315ed3;background:#eef3fc;box-shadow:0 0 0 2.5px #315ed3}html.review-refined .answer-segment-navigation button.is-incorrect{color:#ad4841;border-color:#ad4841}html.review-refined .review-ai-status{max-width:none;flex-shrink:0;white-space:nowrap}html.review-refined .student-queue-pages,html.review-refined .student-queue-rail-head .muted,html.review-refined .review-progress-summary{color:#526077}html.review-refined .review-scope-switch button{min-height:44px}html.review-refined .paper-review-summary-scope{font-size:13px;line-height:1.7;color:#526077;margin:12px 0}html.review-refined .paper-annotation-label{font-size:12px}@media (max-width:1100px){html.review-refined .review-workbench{min-width:0;min-height:0;grid-template-rows:auto minmax(0,1fr) auto}html.review-refined .review-topbar{height:auto;min-height:66px;flex-wrap:wrap;padding:10px 16px;gap:8px}html.review-refined .review-topbar-left,html.review-refined .review-topbar-right{flex-wrap:wrap;gap:8px;max-width:100%}html.review-refined .review-ai-status{white-space:normal;flex-shrink:1}html.review-refined .review-board,html.review-refined .review-board.embedded{grid-template-columns:minmax(0,1fr) 330px;grid-template-rows:180px minmax(360px,1fr);overflow:auto;align-content:start}html.review-refined .review-queue-workspace:not(.drawer){grid-column:1/-1;height:180px;max-height:180px!important;border-right:0;border-bottom:1px solid #e0e5ed}html.review-refined .review-workbench .student-queue-rail-head{padding:8px 14px}html.review-refined .review-workbench .student-queue-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-content:start}html.review-refined .review-original-workspace{grid-column:1;grid-row:2;min-height:360px}html.review-refined .paper-annotation-viewer{min-width:0}html.review-refined .review-detail-workspace{grid-column:2;grid-row:2}html.review-refined .review-action-landmark{width:100%;grid-template-columns:minmax(0,1fr) auto;gap:8px}html.review-refined .review-action-left{grid-column:1/-1}}@media (max-width:640px){html.review-refined .review-topbar{padding:8px 12px}html.review-refined .review-topbar-left{width:100%}html.review-refined .review-topbar-right{width:100%;justify-content:space-between}html.review-refined .review-workflow-context{overflow-wrap:anywhere;white-space:normal}html.review-refined .review-topbar-separator{display:none}html.review-refined .review-board,html.review-refined .review-board.embedded{grid-template-columns:minmax(0,1fr);grid-template-rows:180px minmax(320px,50dvh) auto}html.review-refined .review-detail-workspace{grid-column:1;grid-row:3;height:auto;overflow:visible;border-left:0}html.review-refined .review-detail-landmark{min-height:0;padding:16px}html.review-refined .review-original-workspace{min-height:0}html.review-refined .review-workbench .paper-canvas{padding:12px}html.review-refined .review-workbench .paper-zoom-controls{left:12px;right:auto;top:12px}html.review-refined .review-sticky-actions{padding:8px 12px}html.review-refined .review-action-landmark{grid-template-columns:minmax(0,1fr)}html.review-refined .review-action-landmark>*{min-width:0;flex-wrap:wrap}html.review-refined .review-action-center,html.review-refined .review-action-right{justify-content:space-between}}@media (min-width:1101px) and (max-width:1279px){html.review-refined .review-board,html.review-refined .review-board.embedded{grid-template-columns:minmax(0,1fr) 330px;grid-template-rows:180px minmax(360px,1fr);overflow:auto;align-content:start}html.review-refined .review-queue-workspace:not(.drawer){grid-column:1/-1;height:180px;max-height:180px;border-right:0;border-bottom:1px solid #e0e5ed}html.review-refined .review-original-workspace{grid-column:1;grid-row:2;min-width:0;min-height:360px}html.review-refined .review-detail-workspace{grid-column:2;grid-row:2;min-width:0}}html.review-refined .review-sticky-actions:empty{display:none}html.review-refined .review-workbench .paper-empty{min-height:260px;min-width:min(100%,420px);margin:auto;padding:28px;border:1px dashed #c8d2e0;border-radius:10px;background:#f7f9fc;color:#64748b;font-size:14px;line-height:1.6;text-align:center}html.review-refined .review-kbd-hints,html.review-refined .review-kbd-hint-label{color:#5d697c}html.review-refined .review-kbd-hint kbd{border-color:#d9dee7;border-bottom-width:2px;background:#fff;color:#5d697c}html.preparation-refined .high-frequency-panel,html.preparation-refined .high-frequency-lecture-preparation{--teach-canvas:#f1f4f8;--teach-sheet:#fff;--teach-ink:#263448;--teach-muted:#647187;--teach-line:#dde4ee;--teach-line-strong:#cbd5e3;--prep-accent:#315ed3;color:var(--teach-ink);background:var(--teach-canvas);font-family:var(--font-sans)}html.preparation-refined .high-frequency-header{padding:20px max(28px,calc((100% - 1220px)/2));gap:24px;background:#fff;align-items:center}html.preparation-refined .high-frequency-header h1{font-family:inherit;font-size:27px;line-height:1.55;font-weight:650;letter-spacing:.02em}html.preparation-refined .high-frequency-header p{font-size:12px;color:#718097;line-height:1.6}html.preparation-refined .high-frequency-header>div>span{display:none}html.preparation-refined .high-frequency-header>button{min-height:44px;border:1px solid #dce3ed;background:#fff;color:#52637b;border-radius:7px;font-size:14px;padding:8px 16px}html.preparation-refined .high-frequency-header>button.is-primary{background:var(--blue);color:#fff;border-color:var(--blue);font-weight:600}html.preparation-refined .high-frequency-header>button.is-primary:hover:not(:disabled){background:#264fb8}html.preparation-refined .high-frequency-header>button.is-primary:disabled{background:#f4f6f9;border-color:#e5e9f0;color:#a1acbc;opacity:1;cursor:default}html.preparation-refined .high-frequency-entry-note{align-self:center;font-size:13px;color:#718097}html.preparation-refined .high-frequency-content{width:min(1276px,100%);padding:18px 28px 36px}html.preparation-refined .high-frequency-filters{grid-template-columns:1fr 1.6fr 1fr 1fr;gap:12px 16px;padding:20px 0 24px;border-bottom:1px solid var(--teach-line)}html.preparation-refined .high-frequency-filters label{font-size:12px;font-weight:500;gap:6px;min-width:0}html.preparation-refined .high-frequency-filters label:nth-child(6){grid-column:span 2}html.preparation-refined .high-frequency-filters input:where(:not([class*=ant-]):not(.ant-picker-input>input)),html.preparation-refined .high-frequency-filters select{width:100%;min-width:0;min-height:44px;border-radius:7px;padding:8px 12px;font-size:14px;color:#34445d;box-shadow:0 1px 2px #26344804}html.preparation-refined .high-frequency-filters>button{align-self:end;min-height:44px;background:var(--prep-accent);border-color:var(--prep-accent);color:#fff;font-size:14px;font-weight:600}html.preparation-refined .high-frequency-content [role=group]>h2{margin:22px 0 10px;font-size:14px;font-weight:600;color:#52637b;line-height:1.7}html.preparation-refined .high-frequency-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);grid-template-areas:"heading heading" "assignment assignment" "question primary" "secondary secondary";column-gap:28px;row-gap:9px;margin-top:10px;padding:18px 22px 14px;border:1px solid #dce3ed;border-radius:10px;box-shadow:0 2px 4px #27395603}html.preparation-refined .high-frequency-card.is-source-suppressed{grid-template-areas:"heading heading" "question primary" "secondary secondary"}html.preparation-refined .high-frequency-card header{grid-area:heading;gap:10px}html.preparation-refined .high-frequency-card header strong{font-size:17px;line-height:1.5;font-weight:650}html.preparation-refined .high-frequency-card header span{background:#edf1f6;color:#4e5f78;font-size:12px;padding:3px 8px;border-radius:4px}html.preparation-refined .high-frequency-card header span[aria-label=已置顶],html.preparation-refined .high-frequency-card header span[aria-label=已置顶] span{color:#315ed3;background:#edf2fe}html.preparation-refined .high-frequency-card header span[aria-label=已置顶] span{padding:0}html.preparation-refined .high-frequency-question{font-family:inherit}html.preparation-refined .high-frequency-assignment{grid-area:assignment;min-width:0;overflow-wrap:anywhere;margin:0;color:#52637b;font-size:13px;font-weight:400;line-height:1.5}html.preparation-refined .high-frequency-question{grid-area:question;align-self:start;margin:0;padding:2px 0;background:transparent;font-size:20px;line-height:1.8;color:#263448;overflow-wrap:anywhere}html.preparation-refined .high-frequency-card-primary{grid-area:primary;align-self:start;display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding-left:22px;border-left:1px solid #e8edf4}html.preparation-refined .high-frequency-key-metrics{margin:0;display:grid;grid-template-columns:max-content max-content;gap:20px;align-content:start}html.preparation-refined .high-frequency-key-metrics div{display:grid;min-width:0;gap:2px}html.preparation-refined .high-frequency-key-metrics dt{font-size:12px;color:#52637b;line-height:1.6}html.preparation-refined .high-frequency-key-metrics dd{margin:0;font-size:17px;font-weight:600;line-height:1.4;color:#344660;font-variant-numeric:tabular-nums;white-space:nowrap}html.preparation-refined .high-frequency-key-metrics dd strong{font-size:23px;color:#ad4841}html.preparation-refined .high-frequency-card-primary .high-frequency-handoff{min-width:96px;color:#fff;background:#315ed3;border-color:#315ed3;font-weight:600}html.preparation-refined .high-frequency-card-secondary{grid-area:secondary;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;margin-top:2px;padding-top:8px;border-top:1px solid #edf0f5}html.preparation-refined .high-frequency-more-metrics{margin:0;min-width:0}html.preparation-refined .high-frequency-more-metrics>summary{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;font-size:13px;font-weight:600;color:#315ed3;cursor:pointer;border-radius:7px}html.preparation-refined .high-frequency-more-metrics>summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px}html.preparation-refined .high-frequency-more-metrics dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px;margin:2px 0 6px;padding:10px 0 0}html.preparation-refined .high-frequency-more-metrics dl div{display:grid;min-width:0;gap:4px}html.preparation-refined .high-frequency-more-metrics dt{font-size:12px;color:#52637b;line-height:1.6}html.preparation-refined .high-frequency-more-metrics dd{margin:0;font-size:13px;line-height:1.6;color:#3f4e64;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}html.preparation-refined .high-frequency-card footer{justify-self:end;margin:0;gap:8px}html.preparation-refined .high-frequency-card button{min-height:44px;padding:8px 15px;font-size:14px;border-color:#d9e1ec;background:#fff;color:#546782}html.preparation-refined .high-frequency-card.is-highlighted{outline-color:#6385dc}html.preparation-refined .high-frequency-pagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding-top:24px;color:#6c7b90;font-size:13px}html.preparation-refined .high-frequency-content>[role=status],html.preparation-refined .high-frequency-content>[role=alert]{padding:24px;border:1px solid #dce4ef;border-radius:8px;background:#fff;line-height:1.8}html.preparation-refined .high-frequency-notice{padding:10px 16px;border:1px solid #c9e0d0;border-radius:8px;background:#f0f8f2;color:#2d6540;font-size:14px}html.preparation-refined .high-frequency-panel button:disabled,html.preparation-refined .high-frequency-lecture-preparation button:disabled{opacity:.5;cursor:not-allowed}html.preparation-refined .high-frequency-panel button:not(:disabled):hover,html.preparation-refined .high-frequency-lecture-preparation button:not(:disabled):hover{filter:brightness(.96)}html.preparation-refined .high-frequency-panel :is(button,input,select):not(.ant-picker-input>input):focus-visible,html.preparation-refined .high-frequency-lecture-preparation button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}html.preparation-refined .high-frequency-panel .teaching-modal-backdrop>section{width:min(460px,calc(100% - 40px));max-height:85dvh;overflow:auto;background:#fff;padding:28px;border:1px solid #dce3ed;border-radius:12px;box-shadow:0 24px 80px #20334b33}html.preparation-refined .high-frequency-panel .teaching-modal-backdrop h2{font-size:22px;margin:14px 0}html.preparation-refined .high-frequency-panel .teaching-modal-backdrop p{color:#647187;margin:18px 0 26px}html.preparation-refined .high-frequency-panel .teaching-modal-backdrop button{min-height:44px;padding:8px 18px;border:1px solid #d4deec;border-radius:7px;background:#fff;margin-right:10px}html.preparation-refined .high-frequency-panel .teaching-modal-backdrop button:last-child{background:#315ed3;color:#fff;border-color:#315ed3}html.preparation-refined .high-frequency-lecture-preparation{display:flex;flex-direction:column;padding:0 28px 18px;gap:14px;overflow:hidden}html.preparation-refined .high-frequency-lecture-preparation>header{display:flex;align-items:flex-start;gap:18px;flex-shrink:0;border-bottom:1px solid #dce3ed;padding:16px 0 14px}html.preparation-refined .high-frequency-lecture-preparation>header h1{font:600 24px/1.5 Microsoft YaHei,sans-serif;margin:0}html.preparation-refined .high-frequency-lecture-heading{display:grid;flex:1;min-width:0;gap:7px}html.preparation-refined .high-frequency-lecture-title{display:flex;align-items:center;gap:12px}html.preparation-refined .high-frequency-lecture-title>span{padding:3px 8px;border-radius:4px;background:#edf2fe;color:#315ed3;font-size:12px;font-weight:600}html.preparation-refined .high-frequency-lecture-summary{display:flex;align-items:baseline;gap:14px;min-width:0}html.preparation-refined .high-frequency-lecture-summary>p:last-child{flex:0 0 auto;margin:0;color:#647187;font-size:14px;font-variant-numeric:tabular-nums}html.preparation-refined .high-frequency-lecture-preparation button{border:1px solid #d1dbea;border-radius:7px;min-height:44px;padding:8px 18px;background:#fff;color:#4d607e;font:14px/1.6 Microsoft YaHei,sans-serif}html.preparation-refined .high-frequency-lecture-question{flex:1;min-width:0;margin:0;line-height:1.7;font-size:17px;font-weight:600;color:#34445d;overflow-wrap:anywhere}html.preparation-refined .high-frequency-lecture-question-block{flex:1;min-width:0}html.preparation-refined .high-frequency-lecture-question:not([data-expanded=true]){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}html.preparation-refined .high-frequency-lecture-question[data-expanded=true]{max-height:min(32dvh,20rem);overflow-y:auto;padding-right:8px}html.preparation-refined .high-frequency-lecture-question[data-expanded=true]:focus-visible{outline:2px solid #315ed3;outline-offset:2px}html.preparation-refined .high-frequency-lecture-preparation .high-frequency-lecture-question-toggle{min-width:44px;min-height:44px;margin-top:4px;padding:4px 0;border:0;background:transparent;color:#315ed3;font:600 13px/1.5 Microsoft YaHei,sans-serif;cursor:pointer}html.preparation-refined .high-frequency-lecture-question-toggle:hover{text-decoration:underline}html.preparation-refined .high-frequency-lecture-question-toggle:focus-visible{outline:2px solid #315ed3;outline-offset:2px}html.preparation-refined .high-frequency-lecture-preparation>.wrong-submission-viewer{flex:1;width:100%;min-height:0;display:flex;overflow:hidden;background:#e8edf4;border:1px solid #d5deea;border-radius:9px;padding:0}html.preparation-refined .wrong-submission-layout{display:flex;flex:1;width:100%;height:100%;min-width:0;min-height:0}html.preparation-refined .wrong-submission-rail{flex:0 0 92px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:8px;padding:12px 10px;border-right:1px solid #d5deea;background:#eef2f7}html.preparation-refined .wrong-submission-rail button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:66px;padding:6px 4px;border:1px solid #d5deea;border-radius:9px;background:#fff;color:#4d607e;font-size:13px;line-height:1.4;cursor:pointer}html.preparation-refined .wrong-submission-rail button:hover{border-color:#b9c6d8}html.preparation-refined .wrong-submission-rail button[aria-current=true]{border-color:#315ed3;background:#eef2fe;color:#315ed3;font-weight:600}html.preparation-refined .wrong-submission-rail-index{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2}html.preparation-refined .wrong-submission-rail-label{font-size:11px;color:#6d7b92}html.preparation-refined .wrong-submission-rail button[aria-current=true] .wrong-submission-rail-label{color:#315ed3}html.preparation-refined .wrong-submission-main{flex:1;width:100%;min-width:0;display:flex;flex-direction:column;min-height:0}html.preparation-refined .wrong-submission-hero{flex:1;width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center;padding:26px 12px;overflow:hidden;background:#e8edf4}html.preparation-refined .high-frequency-lecture-preparation .high-frequency-viewer-controls{flex-shrink:0;padding:10px 14px;background:#e8edf4;justify-content:center;gap:16px;border-bottom:1px solid #d5deea}html.preparation-refined .high-frequency-lecture-preparation .high-frequency-viewer-controls p{font-size:14px;font-variant-numeric:tabular-nums}html.preparation-refined .high-frequency-lecture-preparation .high-frequency-viewer-controls span{font-size:12px;color:#6d7b92}html.preparation-refined .wrong-submission-hero .paper-annotation-viewer{min-width:0;max-width:100%;max-height:100%;margin:0;box-shadow:0 6px 26px #2b426322;line-height:0}html.preparation-refined .wrong-submission-hero .paper-annotation-image-box>img{display:block;width:100%;max-width:none;height:auto;box-shadow:none}html.preparation-refined .wrong-submission-hero .paper-zoom-controls{border-color:#d5dfeb;background:#ffffffed;box-shadow:0 2px 8px #273d5514;line-height:normal}html.preparation-refined .wrong-submission-hero .paper-zoom-controls button{min-width:44px;min-height:44px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:#465d7c;font-size:14px}html.preparation-refined .wrong-submission-hero .paper-zoom-controls button[aria-pressed=true]{background:#edf2fe;color:#315ed3;font-weight:600}html.preparation-refined .wrong-submission-hero .paper-zoom-controls span{color:#667992;font-size:12px}html.preparation-refined .high-frequency-lecture-preparation>button:last-child{align-self:flex-end;min-width:190px;min-height:48px;flex-shrink:0;background:#315ed3;border-color:#315ed3;color:#fff;font-size:16px;font-weight:600}@media (min-width:1700px){html.preparation-refined .high-frequency-content{width:min(1400px,100%)}html.preparation-refined .high-frequency-card{grid-template-columns:minmax(0,1fr) minmax(260px,340px)}}@media (min-width:1180px){html.preparation-refined .high-frequency-header{padding-top:14px;padding-bottom:14px}html.preparation-refined .high-frequency-filters{grid-template-columns:1fr 1.5fr 1fr 1fr .9fr 1.1fr 140px;gap:10px;padding:18px 0 20px}html.preparation-refined .high-frequency-filters label:nth-child(6){grid-column:auto}html.preparation-refined .high-frequency-card{padding-top:18px;padding-bottom:14px}html.preparation-refined .high-frequency-key-metrics{gap:20px}}@media (max-width:1000px){html.preparation-refined .high-frequency-card{grid-template-columns:minmax(0,1fr) 250px;column-gap:20px;padding:18px}html.preparation-refined .high-frequency-card-primary{padding-left:16px}html.preparation-refined .high-frequency-question{font-size:18px}}@media (max-width:760px){html.preparation-refined .high-frequency-header{padding:16px;gap:14px}html.preparation-refined .high-frequency-content{padding:14px 16px 28px}html.preparation-refined .high-frequency-filters{grid-template-columns:1fr 1fr}html.preparation-refined .high-frequency-filters label:nth-child(6){grid-column:auto}html.preparation-refined .high-frequency-filters>button{grid-column:1/-1}html.preparation-refined .high-frequency-card{grid-template-columns:1fr;grid-template-areas:"heading" "assignment" "question" "primary" "secondary"}html.preparation-refined .high-frequency-card.is-source-suppressed{grid-template-areas:"heading" "question" "primary" "secondary"}html.preparation-refined .high-frequency-card-primary{padding:10px 0 0;border-left:0;border-top:1px solid #edf0f5}html.preparation-refined .high-frequency-card-secondary{grid-template-columns:1fr}html.preparation-refined .high-frequency-card footer{justify-self:start}html.preparation-refined .high-frequency-more-metrics dl{grid-template-columns:1fr 1fr}html.preparation-refined .high-frequency-lecture-preparation{padding:0 14px 14px}html.preparation-refined .high-frequency-lecture-summary{align-items:flex-start;flex-direction:column;gap:3px}html.preparation-refined .high-frequency-lecture-preparation>header{gap:10px}html.preparation-refined .wrong-submission-rail{flex-basis:64px;padding:8px 6px}html.preparation-refined .wrong-submission-rail button{min-height:56px;font-size:12px}html.preparation-refined .high-frequency-lecture-preparation .high-frequency-viewer-controls{gap:8px}html.preparation-refined .wrong-submission-hero .paper-zoom-controls{left:8px;right:8px;top:8px;overflow-x:auto}html.preparation-refined .wrong-submission-hero .paper-zoom-controls button{flex:0 0 auto}}html.preparation-refined .high-frequency-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:16px 0 18px}html.preparation-refined .high-frequency-filter-primary{display:grid;grid-template-columns:minmax(150px,1fr) minmax(220px,1.45fr) minmax(240px,1.5fr) auto;align-items:end;gap:12px;min-width:0}html.preparation-refined .high-frequency-filter-primary label,html.preparation-refined .high-frequency-filter-additional label{display:grid;gap:6px;min-width:0;color:#596778;font-size:13px;font-weight:500}html.preparation-refined .high-frequency-filter-primary select,html.preparation-refined .high-frequency-filter-additional input[type=date],html.preparation-refined .high-frequency-filters .ant-input-affix-wrapper{width:100%;min-width:0;min-height:44px;border:1px solid #cfd8e5;border-radius:7px;background:#fff;color:#263244;box-shadow:none}html.preparation-refined .high-frequency-filter-field{display:grid;gap:6px;min-width:0}html.preparation-refined .high-frequency-filter-field .ant-select{width:100%;min-width:0}html.preparation-refined .high-frequency-filter-field .ant-select-selector{min-height:44px!important;padding:0 12px!important;border-color:#d6dde7!important;border-radius:7px!important;background:#fff!important;color:#263244;box-shadow:none!important}html.preparation-refined .high-frequency-filter-field .ant-select-selection-wrap{align-self:center}html.preparation-refined .high-frequency-filter-field .ant-select-focused .ant-select-selector{border-color:#315ed3!important;box-shadow:0 0 0 3px #315ed324!important}html.preparation-refined .high-frequency-filters .ant-input-affix-wrapper{padding:0 12px}html.preparation-refined .high-frequency-filters .ant-input{min-height:40px;padding:0;border:0;background:transparent}html.preparation-refined .high-frequency-filters .ant-input-affix-wrapper:focus-within{border-color:#315ed3;box-shadow:0 0 0 3px #315ed324}html.preparation-refined .high-frequency-filter-actions{display:flex;gap:8px}html.preparation-refined .high-frequency-filter-actions .ant-btn,html.preparation-refined .high-frequency-load-error .ant-btn{min-height:44px;padding-inline:16px;border-radius:7px;font-size:14px}html.preparation-refined .high-frequency-filter-actions .ant-btn-primary{background:#315ed3;border-color:#315ed3}html.preparation-refined .high-frequency-filter-more{border-top:1px solid #e1e6ec}html.preparation-refined .high-frequency-filter-more>summary{width:fit-content;min-height:44px;padding:10px 2px;color:#315ed3;font-size:13px;font-weight:600;cursor:pointer}html.preparation-refined .high-frequency-filter-additional{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:2px 0 8px}html.preparation-refined .high-frequency-loading,html.preparation-refined .high-frequency-empty{margin-block:14px;border-color:#dce4ef;background:#fff}html.preparation-refined .high-frequency-empty .ant-empty-description{color:#596778}html.preparation-refined .high-frequency-load-error{margin-block:14px}html.preparation-refined .high-frequency-load-error .ant-alert{padding:16px 18px;border:1px solid #edccc7;border-radius:8px;background:#fff7f5}html.preparation-refined .high-frequency-load-error .ant-alert-description{color:#a13530}html.preparation-refined .high-frequency-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:24px;color:#596778;font-size:13px;font-variant-numeric:tabular-nums}html.preparation-refined .high-frequency-pagination .ant-pagination-item,html.preparation-refined .high-frequency-pagination .ant-pagination-prev,html.preparation-refined .high-frequency-pagination .ant-pagination-next,html.preparation-refined .high-frequency-pagination .ant-pagination-jump-prev,html.preparation-refined .high-frequency-pagination .ant-pagination-jump-next{border-color:#d5deeb;background:#fff}html.preparation-refined .high-frequency-pagination .ant-pagination-item-active{border-color:var(--blue);background:var(--blue-soft)}html.preparation-refined .high-frequency-pagination .ant-pagination-item-active button{color:var(--blue);font-weight:600}html.preparation-refined .teaching-ranking-initial{margin-top:14px;padding:18px 20px;border:1px solid #dce4ef;border-radius:8px;background:#f8fafc;color:#596778}html.preparation-refined .teaching-ranking-initial strong{color:#34445d;font-size:15px;font-weight:600}.app-shell:has(.high-frequency-lecture-preparation) .app-topbar-home,.wf-layout:has(.high-frequency-lecture-preparation) .wf-home-return{display:none}@media (max-width:980px){html.preparation-refined .high-frequency-filter-primary{grid-template-columns:repeat(2,minmax(0,1fr))}html.preparation-refined .high-frequency-filter-actions{align-self:end}}@media (max-width:620px){html.preparation-refined .high-frequency-filter-primary,html.preparation-refined .high-frequency-filter-additional{grid-template-columns:minmax(0,1fr)}html.preparation-refined .high-frequency-filter-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}html.preparation-refined .high-frequency-filter-actions .ant-btn{width:100%}html.preparation-refined .high-frequency-pagination{align-items:stretch;flex-direction:column}html.preparation-refined .high-frequency-pagination .ant-pagination{justify-content:center}}@media (max-width:760px){html.preparation-refined .high-frequency-lecture-preparation>header{flex-direction:column}html.preparation-refined .high-frequency-lecture-preparation>header>button{align-self:flex-start}html.preparation-refined .high-frequency-lecture-heading,html.preparation-refined .high-frequency-lecture-question-block{width:100%}}html.preparation-refined .high-frequency-lecture-preparation:has(.high-frequency-lecture-question[data-expanded=true]){overflow-y:auto}html.preparation-refined .high-frequency-lecture-preparation:has(.high-frequency-lecture-question[data-expanded=true])>.wrong-submission-viewer{min-height:240px;flex-shrink:0}
