:root{--o:#f45125;--y:#ffb33f;--r:#f43d39;--g:#2db34a;--s:#657485;--bg:#faf9ef;--ink:#24313d;--line:#e6e1d5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}header{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1120px)/2));position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.brand img{width:50px;height:50px;border-radius:50%}.brand b,.brand small{display:block}.brand small{color:var(--s);font-size:12px}nav{display:flex;gap:24px}nav a{color:var(--s);text-decoration:none}nav a:hover{color:var(--o)}main{max-width:1120px;margin:auto;padding:42px 24px 72px}.hero{display:grid;grid-template-columns:1.35fr .65fr;align-items:center;gap:56px;min-height:480px}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:800;color:var(--o)}h1{font-size:44px;line-height:1.14;margin:12px 0 18px}h1 em{font-style:normal;color:var(--o)}.hero p,.title p{color:var(--s);max-width:650px}.actions{display:flex;gap:12px;margin-top:28px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;border-radius:9px;text-decoration:none;font-weight:700;border:1px solid}.primary{background:var(--o);border-color:var(--o);color:#fff}.secondary{background:#fff;border-color:#d8d2c4;color:var(--ink)}.hero-mark{background:#fff;border:1px solid var(--line);border-radius:16px;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 18px 50px #6b58350d}.hero-mark img{width:130px;height:130px;border-radius:50%;margin-bottom:18px}.hero-mark b{font-size:23px}.hero-mark span{color:var(--s);font-size:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;margin-bottom:20px}.panel h2{margin-top:0}.row{padding:14px 0;border-bottom:1px solid #eee9df}.row:last-child{border:0}.row b,.row span{display:block}.row span,.empty{color:var(--s);font-size:14px}.title{margin-bottom:26px}.title h1{font-size:34px;margin-bottom:8px}.form{max-width:850px}.form.narrow{max-width:680px}.form label,.filters label{display:flex;flex-direction:column;gap:7px;font-weight:700;margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}input,select{height:46px;border:1px solid #d8d2c4;border-radius:8px;padding:0 12px;background:#fff;font:inherit}.upload{border:2px dashed #d8d2c4;border-radius:10px;padding:18px;background:#fffdf6}.upload input{border:0;padding:8px 0;height:auto}.upload small{color:var(--s);font-weight:400}.flash{background:#eaf7ed;color:#237f39;border:1px solid #bfe5c8;padding:12px 16px;border-radius:9px;margin-bottom:18px}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.filters label{margin:0}.cards{display:grid;gap:12px}.mistake{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:16px}.mistake h3,.mistake p{margin:0}.mistake p,.date{color:var(--s)}.badge{background:#fff0e9;color:var(--o);padding:5px 10px;border-radius:99px;font-size:13px}footer{border-top:1px solid var(--line);padding:26px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--s);font-size:13px}.auth-wrap{max-width:620px;margin:35px auto}.auth{max-width:520px}.security-note{color:var(--s);font-size:13px;margin:14px 0 0}footer img{width:30px;height:30px;border-radius:50%}@media(max-width:760px){header{height:auto;padding:12px 16px;align-items:flex-start}.brand small{display:none}.brand img{width:42px;height:42px}nav{gap:12px;flex-wrap:wrap;justify-content:flex-end;font-size:13px;max-width:220px}main{padding:28px 16px 60px}.hero{grid-template-columns:1fr;min-height:auto}.hero-mark{display:none}h1{font-size:34px}.two,.grid{grid-template-columns:1fr}.filters{display:grid}.mistake{grid-template-columns:1fr auto}.mistake .date{grid-column:1/-1}.actions{flex-direction:column}.primary,.secondary{width:100%}}

/* v0.6 原卷题号选择 */
.assignment-row,.question-index-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.row-actions{display:flex;align-items:center;gap:8px}.row-actions form{margin:0}.row-actions .primary,.row-actions .secondary{width:auto}.index-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:20px;align-items:start}.page-preview-panel{position:sticky;top:96px}.page-tabs{display:flex;gap:8px;overflow:auto;margin-bottom:14px}.page-tab{width:auto;white-space:nowrap}.page-tab.active{border-color:var(--o);color:var(--o)}.page-preview{position:relative;display:none;line-height:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#f5f3ee}.page-preview img{width:100%;height:auto;display:block}.crop-guide{position:absolute;left:0;right:0;top:0;height:100%;border:3px solid var(--o);background:rgba(244,81,37,.12);pointer-events:none}.form input[type=range]{width:100%;height:34px;padding:0;accent-color:var(--o)}.question-picker{padding-bottom:82px}.paper-card{overflow:hidden}.paper-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.paper-heading h2{margin:10px 0 2px}.paper-heading p{margin:0;color:var(--s)}.paper-heading .select-paper{width:auto}.question-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:10px;margin-top:18px}.question-chip{display:flex!important;flex-direction:column;gap:3px!important;margin:0!important;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font-weight:700}.question-chip:has(input:checked){border-color:var(--o);background:#fff5ef}.question-chip input{width:20px;height:20px;accent-color:var(--o)}.question-chip small{color:var(--s);font-weight:400}.selection-bar{position:sticky;bottom:16px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:680px;margin:20px auto 0;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 10px 35px rgba(36,49,61,.14);backdrop-filter:blur(10px)}.selection-bar .primary{width:auto}@media(max-width:760px){.index-layout{grid-template-columns:1fr}.page-preview-panel{position:static}.assignment-row,.paper-heading{align-items:stretch;flex-direction:column}.row-actions{display:grid;grid-template-columns:1fr 1fr}.row-actions .primary,.row-actions .secondary{width:100%}.question-grid{grid-template-columns:repeat(2,1fr)}.selection-bar{position:static;bottom:auto}.selection-bar .primary{width:auto}}

/* v0.6.1 批量自动切割 */
.auto-split-panel{border-color:#f3c5b4;background:linear-gradient(180deg,#fff 0,#fffaf7 100%)}.auto-split-panel h2{display:flex;align-items:center;gap:9px}.auto-split-panel h2:before{content:'AUTO';font-size:11px;letter-spacing:.08em;color:#fff;background:var(--o);padding:4px 7px;border-radius:5px}.auto-split-panel textarea{width:100%;min-height:110px;resize:vertical;border:1px solid #d8d2c4;border-radius:8px;padding:12px;background:#fff;font:inherit;line-height:1.55}.auto-split-panel .range-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auto-note{display:block;margin:-4px 0 16px;color:var(--s);font-size:13px}.auto-split-panel .primary{width:100%}@media(max-width:760px){body{overflow-x:hidden}.auto-split-panel .range-grid{grid-template-columns:1fr}.index-layout,.index-layout>section,.page-preview-panel,.page-preview,.auto-split-panel,.auto-split-panel textarea,.auto-split-panel input,.auto-split-panel select{min-width:0;max-width:100%}.page-preview-panel{overflow:hidden}.form .grid>*{min-width:0}.form input,.form select{width:100%;min-width:0}header{gap:8px}.brand{min-width:0}nav{max-width:190px;gap:8px}}

/* v0.6.2 图片素材 */
.asset-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.asset-card{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff}.asset-card img{display:block;width:100%;height:110px;object-fit:contain;background:#f7f6f2;border-radius:6px}.asset-card small{display:block;color:var(--s);margin-top:6px}.image-linker{margin-top:12px;padding:12px;background:#fffaf7;border:1px solid #f3c5b4;border-radius:9px}.image-linker summary{cursor:pointer;font-weight:700}.image-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:9px;margin:12px 0}.image-option{display:block!important;margin:0!important;padding:7px;border:1px solid var(--line);border-radius:8px}.image-option img{width:100%;height:85px;object-fit:contain;display:block}.image-option input{width:18px;height:18px}.asset-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.asset-toolbar .primary{width:auto}@media(max-width:760px){.asset-toolbar{align-items:stretch;flex-direction:column}.asset-toolbar .primary{width:100%}.asset-gallery{grid-template-columns:repeat(2,1fr)}}

/* v0.6.3 批量删除与切割预览 */
.mistake-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.batch-actions{display:flex;align-items:center;gap:12px}.check-all{display:flex;align-items:center;gap:7px}.check-all input,.mistake-check input{width:20px;height:20px;accent-color:var(--o)}.danger{min-height:44px;padding:10px 17px;border:1px solid #d94a43;border-radius:9px;background:#fff;color:#c83d36;font-weight:700}.selectable-mistake{grid-template-columns:28px 110px 1fr auto}.region-list{display:grid;gap:18px}.region-card{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff}.region-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.region-head b,.region-head span{display:block}.region-head span{color:var(--s);font-size:14px}.region-preview{display:block;width:100%;max-height:420px;object-fit:contain;background:#f7f6f2;border:1px solid var(--line);border-radius:8px;margin-bottom:14px}.coordinate-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.coordinate-grid label{margin:0!important}.coordinate-grid input{width:100%}.region-adjust .primary{width:100%;margin-top:12px}@media(max-width:760px){.mistake-toolbar,.batch-actions{align-items:stretch;flex-direction:column}.selectable-mistake{grid-template-columns:28px 1fr auto}.selectable-mistake .mistake-check{grid-column:1;grid-row:1/3}.selectable-mistake .date{grid-column:2;grid-row:1}.selectable-mistake .mistake-content{grid-column:2;grid-row:2;min-width:0}.selectable-mistake>form{grid-column:3;grid-row:1/3}.coordinate-grid{grid-template-columns:1fr 1fr}}

/* v0.6.5 可视化拖拽框选 */
.visual-editor{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:20px;align-items:start}.canvas-panel{position:sticky;top:92px}.crop-canvas{position:relative;line-height:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;touch-action:none;user-select:none}.crop-canvas[hidden]{display:none}.crop-canvas img{display:block;width:100%;height:auto;pointer-events:none}.region-box{position:absolute;border:2px solid #2783de;background:rgba(39,131,222,.12);cursor:move;line-height:1.2;touch-action:none}.region-box span{position:absolute;left:-2px;top:-25px;padding:4px 7px;background:#2783de;color:white;font-size:12px;font-weight:700;border-radius:5px 5px 0 0;white-space:nowrap}.region-box.active,.region-box.temp{border-color:var(--o);background:rgba(244,81,37,.14);z-index:3}.region-box.active span,.region-box.temp span{background:var(--o)}.region-box i{position:absolute;width:18px;height:18px;background:#fff;border:3px solid currentColor;border-radius:50%}.region-box i[data-h=nw]{left:-10px;top:-10px;cursor:nwse-resize}.region-box i[data-h=ne]{right:-10px;top:-10px;cursor:nesw-resize}.region-box i[data-h=sw]{left:-10px;bottom:-10px;cursor:nesw-resize}.region-box i[data-h=se]{right:-10px;bottom:-10px;cursor:nwse-resize}.crop-canvas.drawing{cursor:crosshair}.coord-text{padding:10px 12px;margin-bottom:12px;background:#f4f8fc;border-radius:8px;color:#356a9e;font-size:13px}.page-tab.active{border-color:var(--o);color:var(--o)}@media(max-width:860px){.visual-editor{grid-template-columns:1fr}.canvas-panel{position:static}.region-box i{width:22px;height:22px}.region-box i[data-h=nw]{left:-12px;top:-12px}.region-box i[data-h=ne]{right:-12px;top:-12px}.region-box i[data-h=sw]{left:-12px;bottom:-12px}.region-box i[data-h=se]{right:-12px;bottom:-12px}}

/* v0.6.6 批量框选与实时预览 */
.batch-maker{position:sticky;top:82px;z-index:6;box-shadow:0 8px 30px rgba(36,49,61,.1)}.batch-fields{display:grid;grid-template-columns:130px 1fr 110px 110px;gap:12px}.batch-fields label{display:flex;flex-direction:column;gap:6px;font-weight:700}.batch-fields textarea{min-height:46px}.batch-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.batch-buttons form{margin:0}.region-box.changed{border-color:var(--o);background:rgba(244,81,37,.16)}.region-box.changed span{background:var(--o)}.preview-heading{display:flex;justify-content:space-between;align-items:center}.live-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.live-preview-card{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff;cursor:pointer}.live-preview-card:hover{border-color:var(--o)}.live-preview-card b,.live-preview-card small{display:block}.live-preview-card small{color:var(--s)}.live-preview-card canvas{display:block;width:100%;height:auto;margin-top:10px;border:1px solid var(--line);border-radius:7px;background:#fff}.live-preview-card em{display:block;color:#c83d36;font-size:13px;margin-top:6px}@media(max-width:760px){.batch-maker{position:static}.batch-fields{grid-template-columns:1fr 1fr}.batch-fields label:nth-child(2){grid-column:1/-1}.batch-buttons{flex-direction:column}.batch-buttons>*{width:100%}.batch-buttons button{width:100%}.live-preview-grid{grid-template-columns:1fr}}

/* v0.6.7 左侧原卷、右侧控制面板 */
.selection-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:20px;align-items:start}.selection-layout .canvas-panel{position:sticky;top:92px;min-width:0}.selection-sidebar{position:sticky;top:92px;min-width:0}.selection-sidebar .batch-maker{position:static;top:auto;z-index:auto;margin:0;box-shadow:none}.selection-sidebar .batch-fields{grid-template-columns:1fr 1fr}.selection-sidebar .batch-fields label:nth-child(2){grid-column:1/-1}.selection-sidebar .batch-buttons{display:grid;grid-template-columns:1fr;justify-content:stretch}.selection-sidebar .batch-buttons>*{width:100%}.selection-sidebar .batch-buttons button{width:100%}.selection-sidebar .security-note{margin-bottom:0}.selection-layout+.panel{margin-top:20px}@media(max-width:860px){.selection-layout{grid-template-columns:1fr}.selection-layout .canvas-panel,.selection-sidebar{position:static}.selection-sidebar{order:-1}.selection-sidebar .batch-fields{grid-template-columns:1fr 1fr}}

/* v0.6.9 合并：教师控件修复、学生紧凑题号卡片、导出次数 */
.selection-sidebar,.selection-sidebar .batch-maker,.selection-sidebar .batch-fields,.selection-sidebar .batch-fields label{min-width:0;max-width:100%}.selection-sidebar .batch-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.selection-sidebar .batch-fields label:first-child,.selection-sidebar .batch-fields label:nth-child(2){grid-column:1/-1}.selection-sidebar .batch-fields input,.selection-sidebar .batch-fields select,.selection-sidebar .batch-fields textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.selection-sidebar .batch-fields textarea{height:82px;min-height:82px;resize:vertical}.selection-sidebar .batch-buttons,.selection-sidebar .batch-buttons form,.selection-sidebar .batch-buttons button{width:100%;max-width:100%;min-width:0}.compact-question-grid{grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:8px}.compact-question-chip{min-height:58px!important;padding:9px 10px!important;display:grid!important;grid-template-columns:20px 1fr;align-items:center;gap:8px!important}.compact-question-chip input{width:18px!important;height:18px!important;margin:0}.compact-question-chip span{font-size:15px;white-space:nowrap}.export-count{display:block;margin-top:3px;font-size:11px;font-weight:700;color:#2783de;background:#e5f2fc;padding:2px 5px;border-radius:4px;width:max-content}@media(max-width:760px){.compact-question-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-question-chip{grid-template-columns:18px 1fr;padding:8px!important}.compact-question-chip span{font-size:14px}}

/* v0.7.0 题图关联与教师结果PDF */
.result-pdf-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;margin-bottom:7px;text-decoration:none}.result-pdf-note{margin:0 0 18px;color:var(--s);font-size:13px;line-height:1.45}.question-image-panel{margin-top:20px}.question-image-list{display:grid;gap:10px}.image-linker{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.image-linker[open]{border-color:#9dc9ee}.image-linker summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;padding:12px 15px;cursor:pointer;background:#f9f8f7}.image-linker summary span{color:var(--s);font-size:13px}.image-linker form{padding:14px}.image-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:14px}.image-option{position:relative;display:block!important;margin:0!important;padding:7px;border:1px solid var(--line);border-radius:9px;background:#fff}.image-option:has(input:checked){border-color:#2783de;background:#e5f2fc}.image-option input{position:absolute;top:10px;left:10px;width:19px!important;height:19px!important;z-index:1}.image-option img{display:block;width:100%;height:92px;object-fit:contain;background:#f7f6f2;border-radius:6px}.image-option small{display:block;margin-top:6px;color:var(--s)}.link-empty{padding:22px;border:1px dashed var(--line);border-radius:10px;background:#f9f8f7;color:var(--s)}@media(max-width:760px){.image-linker summary{align-items:flex-start;flex-direction:column;gap:2px}.image-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v0.7.1 学生端试卷下拉选择与上下宽度对齐 */
.question-picker{width:100%;max-width:none}.paper-selector{margin-bottom:18px}.paper-selector label{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:16px;margin:0}.paper-selector label>span{font-weight:800;color:var(--text)}.paper-selector select{width:100%;min-width:0;min-height:48px;box-sizing:border-box}.selectable-paper[hidden]{display:none!important}.question-picker .aligned-selection-bar{width:100%;max-width:none;margin-left:0;margin-right:0;box-sizing:border-box}.question-picker .paper-card,.question-picker .paper-selector,.question-picker .aligned-selection-bar{box-sizing:border-box}@media(max-width:760px){.paper-selector label{grid-template-columns:1fr;gap:8px}.question-picker .aligned-selection-bar{width:100%}}

/* v0.7.2 试题篮、PDF预览与教师连续上传 */
.paper-selector{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.paper-selector .basket-link{white-space:nowrap}.selection-actions,.cut-next-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cut-next-actions .result-pdf-button{flex:1}.upload-next-button{min-width:88px;text-align:center}.basket-title{margin-bottom:18px}.basket-form{display:grid;gap:18px}.basket-toolbar{position:sticky;top:76px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.basket-toolbar>div{display:flex;gap:10px;flex-wrap:wrap}.basket-check-all{display:flex;align-items:center;gap:8px;font-weight:800}.basket-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.basket-card{position:relative;margin:0;padding:16px;display:grid;gap:12px;align-content:start}.basket-card-check{display:flex;align-items:center;gap:7px;font-weight:800}.basket-card>img{display:block;width:100%;height:190px;object-fit:contain;object-position:left center;background:#fff;border:1px solid var(--line);border-radius:12px}.basket-card h3{margin:8px 0 4px}.basket-card p{margin:0;color:var(--muted)}.basket-empty{text-align:center;padding:50px 24px}.pdf-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.pdf-preview-toolbar span{color:var(--muted)}.pdf-preview-panel{padding:12px}.pdf-preview-panel iframe{display:block;width:100%;height:78vh;min-height:640px;border:1px solid var(--line);border-radius:12px;background:#eef2f5}.pdf-preview-fallback{text-align:center;color:var(--muted);margin:10px 0 0}.pdf-preview-fallback a{margin-left:4px}.basket-card input,.basket-toolbar input{width:18px;height:18px}.selection-bar .selection-actions{margin-left:auto}@media(max-width:760px){.paper-selector{grid-template-columns:1fr}.paper-selector .basket-link{width:100%;text-align:center}.basket-toolbar{position:static;align-items:stretch}.basket-toolbar>div,.basket-toolbar button{width:100%}.pdf-preview-toolbar{align-items:stretch;flex-direction:column}.pdf-preview-toolbar a{text-align:center}.pdf-preview-panel iframe{min-height:520px;height:70vh}.selection-bar{align-items:stretch}.selection-bar .selection-actions{width:100%;margin-left:0}.selection-bar .selection-actions>*{flex:1;text-align:center}}
