/* 题目校对与入库工作台 */
.review-layout{border:1px solid var(--ui-line);background:#fff}

.review-toolbar { display: flex; align-items: center; justify-content: flex-start; gap: 10px; padding: 16px; border-bottom: 1px solid var(--ui-line); color: var(--ui-muted); font-size: 14px; }
.review-toolbar b{font-weight:700}
.recognition-mode-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;margin:0}
.app-page-recognize .btn.recognition-mode-choice{--btn-color:#246f91;--btn-border:#b9dce9;--btn-bg:linear-gradient(#eff9fd,#e4f3fa);--btn-hover-color:#1d617f;--btn-hover-border:#95c8dd;--btn-hover-bg:linear-gradient(#e8f6fc,#daedf6);position:relative;font-weight:600}
.recognition-mode-tip{position:absolute;z-index:40;right:0;bottom:calc(100% + 10px);display:grid;gap:6px;box-sizing:border-box;width:280px;max-width:calc(100vw - 48px);padding:13px 15px;border:1px solid #d6e6ef;border-radius:10px;background:#fff;box-shadow:0 7px 24px rgba(39,84,111,.14);color:var(--ui-muted);font-size:12px;font-weight:400;line-height:1.7;text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(4px);transition:opacity .16s,transform .16s,visibility .16s}
.recognition-mode-tip::before{content:"";position:absolute;inset:100% 0 auto;height:12px}
.recognition-mode-tip::after{content:"";position:absolute;right:24px;bottom:-5px;width:8px;height:8px;border-right:1px solid #d6e6ef;border-bottom:1px solid #d6e6ef;background:#fff;transform:rotate(45deg)}
.recognition-mode-tip>strong{color:#246f91;font-size:13px;font-weight:600}
.is-manual>.recognition-mode-tip>strong{color:#326f5e}
.recognition-mode-choice:is(:hover,:focus-visible)>.recognition-mode-tip{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
@media(max-width:620px){.is-whole>.recognition-mode-tip{right:auto;left:0}.is-whole>.recognition-mode-tip::after{right:auto;left:24px}}
@media(prefers-reduced-motion:reduce){.recognition-mode-tip{transition:none}}
.app-page-recognize .btn.recognition-mode-choice.is-manual{--btn-color:#326f5e;--btn-border:#bcded2;--btn-bg:linear-gradient(#eff9f5,#e2f2eb);--btn-hover-color:#28614f;--btn-hover-border:#9acbb9;--btn-hover-bg:linear-gradient(#e7f6ef,#d9eee3)}
.app-page-recognize .recognition-mode-actions>.btn.recognition-mode-choice{flex:0 0 116px;width:116px;height:38px;min-height:38px;padding:0 12px;font-size:13px;line-height:36px}
.app-page-recognize .task-actions>.btn.recognition-mode-choice{width:96px}
.dropzone-wrap.is-uploaded-ready .upload-dropzone{cursor:default}
.upload-setup.is-actions-only{padding:0;border:0;border-radius:0;background:none}
.upload-setup.is-actions-only .upload-setup-actions{margin-top:0;padding-top:0;border-top:0}
.whole-page-progress{flex:none;max-height:210px;overflow:auto;padding:12px;border-bottom:1px solid var(--ui-line);font-size:12px;color:var(--ui-muted)}
.whole-page-progress>p{margin:0 0 8px;line-height:1.6}
.whole-page-row{display:flex;align-items:center;gap:8px;min-height:28px}
.whole-page-row>span:nth-child(2){flex:1;text-align:right}
.whole-page-row.is-running>span:nth-child(2){color:var(--ui-primary-border)}
.whole-page-row:is(.is-buffered,.is-pending,.is-waiting)>span:nth-child(2){color:var(--ui-warning)}
.whole-page-row.is-failed>span:nth-child(2){color:var(--ui-action-danger)}
.whole-page-row.is-done>span:nth-child(2){color:var(--ui-success)}
.question-editor>.whole-page-progress{max-height:180px;background:var(--ui-surface-soft)}
.whole-question-note{padding:10px 16px;margin:0 16px 12px;border-radius:8px;background:#fff8ed;color:#9b7041;font-size:12px;line-height:1.7}
.whole-structure-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 16px 14px;padding:10px 12px;background:var(--ui-surface-soft);border:1px solid var(--ui-line);border-radius:10px}
.whole-structure-tools[hidden],.whole-structure-tools button[hidden]{display:none}
.whole-structure-tools>span{font-weight:600;color:var(--ui-ink);font-size:12px}
.whole-structure-tools>div{display:flex;flex-wrap:wrap;gap:7px}
.whole-structure-tools>small{margin-left:auto;color:var(--ui-muted);font-size:11px}
.whole-split-dialog{padding:22px;color:var(--ui-ink);font-size:13px}
.whole-split-intro{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.whole-tool-icon{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:12px;background:var(--ui-surface-soft);color:var(--ui-primary-border);font-size:20px}
.whole-split-intro h3{margin:0 0 5px;font-size:18px}
.whole-split-intro p,.whole-split-source>p{margin:0;color:var(--ui-muted);line-height:1.7}
.whole-split-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.whole-split-columns h4{font-size:14px;margin:0 0 12px;font-weight:700}
.whole-split-source,.whole-split-result{min-width:0}
.whole-split-text{box-sizing:border-box;width:100%;min-height:260px;max-height:44vh;resize:vertical;margin:12px 0;padding:14px;border:1px solid var(--ui-line);border-radius:10px;font:inherit;line-height:1.85;color:var(--ui-ink);background:#fff;white-space:pre-wrap}
.whole-split-text:focus{outline:2px solid var(--ui-primary-border);outline-offset:1px}
.whole-split-cuts{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.split-remove-cut{padding:6px 9px;border:1px solid var(--ui-line);border-radius:6px;background:var(--ui-surface-soft);color:var(--ui-ink);font-size:11px;cursor:pointer}
.whole-split-shared{display:flex;align-items:center;gap:6px;margin-top:16px;font-weight:600}
.whole-split-source>small{display:block;color:var(--ui-muted);line-height:1.7;margin-top:6px}
.whole-split-preview{display:grid;gap:12px}
.whole-split-card{padding:14px;border:1px solid var(--ui-line);border-radius:10px;background:#fff;overflow-wrap:anywhere;line-height:1.8}
.whole-split-card>header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:10px;color:var(--ui-primary-border)}
.whole-split-card>header label{font-weight:400;font-size:12px;color:var(--ui-muted)}
.whole-split-material{margin-bottom:10px;padding:10px;background:var(--ui-surface-soft);border-radius:6px;border-left:3px solid var(--ui-primary-border)}
.whole-split-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:230px;border:1px dashed var(--ui-line);border-radius:12px;color:var(--ui-muted);background:var(--ui-surface-soft)}
.whole-split-empty>i{font-size:28px;opacity:.6}
.whole-split-assets{margin-top:18px}
.whole-split-assignment{padding:12px;margin-bottom:10px;border:1px solid var(--ui-line);border-radius:8px}
.whole-split-assignment>img{display:block;max-width:100%;max-height:120px;margin:8px 0}
.whole-split-targets{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.whole-split-quick{display:block;margin-top:12px;font-size:12px;color:var(--ui-muted)}
.whole-split-quick select{width:100%;margin-top:6px}
.whole-split-table{max-width:100%;overflow:auto;margin:8px 0}
.whole-split-table td{border:1px solid var(--ui-line);padding:5px 8px;font-size:12px;overflow-wrap:anywhere}
.whole-split-option-preview{margin-top:8px;line-height:1.7;font-size:12px}
.whole-split-option-preview p{margin:4px 0}
.whole-split-assignment label{font-weight:400;margin:0}
.whole-split-solution{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.whole-split-solution select{width:auto;min-width:130px}
.whole-split-status{margin:16px 0 0;padding:10px 12px;background:var(--ui-surface-soft);color:var(--ui-muted);border-radius:8px;line-height:1.7}
@media(max-width:767px){.whole-split-dialog{padding:14px}.whole-split-columns{grid-template-columns:minmax(0,1fr)}.whole-structure-tools>small{margin-left:0;width:100%}.whole-split-text{min-height:180px}}
.whole-materials{flex:0 0 100%;min-width:0;margin:0;padding:8px 0 0;border-top:1px solid var(--ui-line);font-size:12px}
.whole-materials>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;cursor:pointer;color:var(--ui-ink);list-style:none}
.whole-materials>summary::-webkit-details-marker{display:none}
.whole-materials>summary>i{flex:none;color:var(--ui-light-action-text);font-size:16px}
.whole-materials[open]>summary>i{transform:rotate(180deg)}
.whole-materials>p{margin:10px 0;color:var(--ui-danger)}
.whole-material-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.whole-material-grid>figure{display:flex;flex-direction:column;margin:0;min-width:0;padding:10px;background:#fff;border-radius:6px}
.whole-material-grid .whole-material-add{align-self:flex-end;margin-top:auto}
.whole-material-preview{display:flex;align-items:center;justify-content:center;height:150px;overflow:hidden;margin:8px 0}
.whole-material-preview svg{display:block;width:100%;max-height:150px}


math-field:not(:defined) { visibility: hidden; }
.app-body .formula-caret-gap{display:inline-block;min-width:8px;margin:0 1px;padding:0 2px;border-radius:3px;vertical-align:baseline;white-space:pre;cursor:text;caret-color:#172b24}
.app-body .formula-caret-gap:hover{background:rgba(82,123,159,.12)}

.question-editor { position:relative; order:1; min-width:0; padding: 28px; }
.question-editor > #review-entry-loading { position:absolute; }
.question-editor > #question-empty{display:flex;min-height:420px;align-items:center;justify-content:center;gap:9px;padding:0;color:var(--ui-hint);font-size:14px}.question-editor > #question-empty[hidden]{display:none!important}.question-editor > #question-empty i{color:#2594bf;font-size:18px}
.question-form[hidden]{display:none!important}
.question-form{position:relative}.manual-solving{position:absolute;z-index:90;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-top:clamp(150px,28vh,310px);background:rgba(247,252,250,.74);backdrop-filter:blur(1.5px)}.manual-solving[hidden]{display:none!important}.manual-solving>div{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;column-gap:9px;row-gap:2px;color:#416257;background:transparent}.manual-solving i{grid-row:1/3;color:#2496c2;font-size:19px}.manual-solving strong,.manual-solving span{display:block}.manual-solving strong{grid-column:2;color:#285144;font-size:15px;line-height:1.35}.manual-solving span{grid-column:2;color:#758981;font-size:12px;line-height:1.5}.question-form.is-manual-solving .editor-content{pointer-events:none;user-select:none}
.review-layout.is-manual-solving .review-fields-card{pointer-events:none;user-select:none;opacity:.65}

.knowledge-suggestions{position:absolute;z-index:30;top:calc(100% + 5px);left:0;right:0;max-height:220px;padding:5px;border:1px solid #d5e4df;border-radius:8px;background:#fff;box-shadow:0 10px 26px rgba(31,70,58,.14);overflow:auto}.knowledge-suggestions button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 10px;border:0;border-radius:6px;color:#294b40;background:#fff;text-align:left}.knowledge-suggestions button:hover{background:#edf8f4}.knowledge-suggestions em{color:#84958f;font-size:12px;font-style:normal}
.question-status { align-self:flex-start; display:inline-flex; align-items:center; gap:4px; margin:3px 0 0; padding:3px 6px; border-radius:11px; font-size:12px; line-height:16px; white-space:nowrap; }.question-status.is-published,.question-status.is-corrected { color:#13765c; background:#dff3ea; }.question-status.is-ignored { color:var(--ui-neutral-text); background:var(--ui-neutral-soft); }.question-status.is-pending { color:#a26a18; background:#fff3da; }.question-status.is-solving { color:#1e6e9f; background:#e7f5fd; box-shadow:inset 0 0 0 1px #b8dff1; }.question-status.is-failed { color:#b43c34; background:#ffe5e1; }

.visual-editor-wrap { margin-bottom: 18px; border: 1px solid var(--ui-line); border-radius: 10px; overflow: hidden; background: #fff; }

.layout-canvas { min-height: 180px; padding:0; background:#fff; }

.layui-layer.app-dialog.review-crop-dialog .layui-layer-content{height:calc(100% - 119px)!important;padding:0!important;overflow:hidden}
.review-crop-dialog .layui-layer-btn .review-crop-clear-footer{order:-1;margin-right:auto!important;cursor:pointer}
.review-crop { height:100%; min-height:0; padding:12px 14px 10px; background:var(--ui-surface-soft); }
.review-crop-workspace { display:grid; grid-template-columns:118px minmax(0,1fr); gap:10px; height:100%; min-height:0; }
.review-crop-workspace.is-single { grid-template-columns:minmax(0,1fr); }
.review-crop-workspace.is-single .review-crop-pages { display:none; }
.review-crop-main { display:flex; min-width:0; min-height:0; flex-direction:column; }
.review-crop-pages { display:flex; width:100%; height:100%; max-height:100%; min-height:0; flex-direction:column; gap:8px; overflow-x:hidden; overflow-y:auto; padding:6px; border:1px solid #d6e4dd; border-radius:8px; background:#eef4f1; }
.review-crop-page { display:block; flex:0 0 auto; width:100%; padding:5px; overflow:hidden; border:1px solid #cfe0d8; border-radius:6px; color:#49665a; background:#fff; white-space:nowrap; }
.review-crop-page img { display:block; width:100%; height:92px; border-radius:3px; object-fit:contain; background:var(--ui-surface-soft); }
.review-crop-page span { display:block; padding:5px 2px 1px; font-size:12px; line-height:1.2; }
.review-crop-page:hover { border-color:#8fc8ef; background:#f2f8fd; }
.review-crop-page.active { color:var(--ui-selection-blue-dark); border-color:#79b9e5; background:#eaf4fb; box-shadow:0 2px 7px rgba(47,128,189,.12); }
.review-crop-tools { display:flex; flex:0 0 auto; align-items:center; gap:5px; margin-bottom:9px; padding:6px 8px; border:1px solid #d6e4dd; border-radius:7px; background:#fff; color:#6a7d74; font-size:12px; }
.review-crop-tools > i { width:1px; height:22px; margin:0 5px; background:#dce7e2; }
.review-crop-zoom { min-width:42px; color:#245b48; text-align:center; font-size:12px; }
.review-crop-tools button { height:29px; padding:0 9px; border:1px solid #c9dfef; border-radius:5px; color:#39789f; background:#f7fbfe; }
.review-crop-tools button:hover,.review-crop-tools button.active { color:#fff; border-color:var(--ui-selection-blue-dark); background:var(--ui-selection-blue); }
.review-crop-tools button:disabled { cursor:not-allowed; opacity:.4; }.review-crop-tools button.is-disabled{color:var(--ui-neutral-disabled);border-color:var(--ui-neutral-line);background:var(--ui-neutral-soft);cursor:not-allowed;opacity:.72}
.review-crop-tools button[data-tool="add"] { color:#27845f; border-color:#a9dcc7; background:#f0faf5; }
.review-crop-tools button[data-tool="add"]:hover,.review-crop-tools button[data-tool="add"].active { color:#fff; border-color:#1d7652; background:#29986c; }
.review-crop-tools button[data-tool="delete"] { color:#bd514d; border-color:#edbeb9; background:#fff5f4; }
.review-crop-tools button[data-tool="delete"]:hover { color:#fff; border-color:#bb4b47; background:#d9615b; }
.review-crop-tools button[data-tool="delete"].is-disabled,.review-crop-tools button[data-tool="delete"].is-disabled:hover { color:var(--ui-neutral-disabled); border-color:var(--ui-neutral-line); background:var(--ui-neutral-soft); }
.review-crop-stage{flex:1 1 auto; min-height:180px; overflow-y:auto; padding:0; border:0; border-radius:0; background:transparent; text-align:center;position:relative;}
.review-crop-stage.is-panning { cursor:grab; }
.review-crop-stage.is-panning:active { cursor:grabbing; }
.review-crop-stage.is-panning svg { pointer-events:none; }
.review-crop-canvas { position:relative; display:inline-block; max-width:100%; line-height:0; user-select:none; }
.review-crop-canvas img { position:absolute; top:0; left:0; display:block; max-width:100%; max-height:calc(88vh - 210px); object-fit:contain; pointer-events:none; transform-origin:0 0; }
.review-crop-canvas svg { position:absolute; inset:0; width:100%; height:100%; touch-action:none; cursor:crosshair; }
.review-crop-canvas svg.is-add-mode polygon { cursor:copy; }
.review-crop-canvas svg.is-delete-mode .review-crop-vertex { cursor:not-allowed; }
.review-crop-canvas polygon { fill:var(--ui-selection-blue-soft); stroke:var(--ui-selection-blue-dark); stroke-width:2.5; vector-effect:non-scaling-stroke; cursor:move; }
.review-crop-vertex { fill:#fff; stroke:var(--ui-selection-blue-dark); stroke-width:3; vector-effect:non-scaling-stroke; cursor:pointer; }
.review-crop-vertex.selected { fill:var(--ui-selection-blue); stroke:#fff; }
.review-crop-help { display:flex; flex:0 0 auto; align-items:center; gap:12px; padding-top:9px; color:#61776d; font-size:12px; line-height:1.6; }
.review-crop-help i { margin-right:4px; color:var(--ui-selection-blue-dark); }
.review-crop-mode-tip { margin-left:8px; color:var(--ui-selection-blue-dark); font-weight:700; }
@media (max-width:700px) {
    .review-crop-workspace { grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); }
    .review-crop-pages { height:auto; max-height:116px; flex-direction:row; overflow-x:auto; overflow-y:hidden; }
    .review-crop-page { width:92px; }
    .review-crop-page img { height:66px; }
}
.layout-block { position:relative; box-sizing:border-box; margin:0 0 12px; padding:10px; border:1px dashed var(--ui-line); border-radius:8px; background:#fbfefc; transition:border-color .15s,background .15s,box-shadow .15s; }
.layout-block:hover,.layout-block:focus-within { border-color: var(--ui-light-action-hover-line); background: var(--ui-surface-soft); box-shadow:0 0 0 2px rgba(53,151,220,.06); }
.layout-text-edit { min-height: 54px; padding: 11px; outline: 0; color: #1e2925; font-family: "Times New Roman", "Microsoft YaHei", serif; font-size: 15px; line-height: 1.85; white-space: pre-wrap; }
.layout-rich { min-height: 54px; padding: 11px; outline: 0; color: #1e2925; font-family: "Times New Roman", "Microsoft YaHei", serif; font-size: 15px; line-height: 1.85; white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; }

.inline-math { display: inline-block; max-width: 100%; padding: 0 2px; border: 0; background: transparent; vertical-align: middle; }
.layout-rich .inline-math { min-width: 24px; border-bottom: 1px dashed #9fcdb9; }
.layout-rich .inline-math::part(menu-toggle), .layout-rich .inline-math::part(virtual-keyboard-toggle) { display:inline-flex; }
.choice-grid, .list-preview-choices { display:flex; align-items:stretch; flex-direction:column; gap:3px; padding:8px 11px 12px; }
.choice-item { display: flex; min-width: 0; align-items: center; gap: 5px; }
.choice-key { color: var(--ui-question-option-text); }
.choice-item .layout-rich { flex: 1 1 auto; min-width: 0; padding: 8px 0; }
.choice-item .choice-text-input.is-empty:before{content:attr(data-placeholder);color:var(--ui-hint);font-size:13px;pointer-events:none}
.layout-choice .choice-grid{display:grid;grid-template-columns:1fr;gap:3px;}
@media(max-width:700px){.layout-choice .choice-grid{grid-template-columns:1fr}}
.list-preview-choice { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.capture-layout{display:grid; grid-template-columns:150px minmax(0,1fr) var(--ui-workspace-right-width); min-height:620px; border:1px solid var(--ui-line); border-radius:10px; overflow:hidden; background:#fff;position:relative;}
.capture-pages{padding:10px; overflow:auto; max-height:75vh; background:var(--ui-surface-soft);border-right:1px solid var(--ui-line);}.capture-page-card{margin:0 0 9px;padding:0;border:0;border-radius:7px;background:#fff}.capture-page-thumb{display:block;width:100%;margin:0;padding:3px;overflow:hidden;border:1px solid #cfe0d8;border-radius:6px;color:#49665a;background:#fff;text-align:center;white-space:nowrap}.capture-page-thumb:hover{border-color:#8fc8ef;background:#f2f8fd}.app-body .capture-page-thumb.active,.app-body .capture-page-thumb.active:focus{color:var(--ui-selection-blue-dark);border-color:#79b9e5;background:#eaf4fb;box-shadow:0 2px 7px rgba(47,128,189,.12)}.capture-page-preview{position:relative;display:flex!important;width:100%;height:120px;align-items:center;justify-content:center;overflow:hidden;border-radius:3px;color:#71978a;background:var(--ui-neutral-soft)}.capture-page-preview>i{font-size:16px}.capture-page-preview em{margin-left:4px;font-size:12px;font-style:normal}.capture-page-preview .capture-page-preview-image{display:block;width:100%;max-height:120px;border-radius:3px;object-fit:contain;background:var(--ui-surface-soft)}.capture-page-preview .capture-page-preview-image[hidden]{display:none!important}.capture-page-preview:not(.is-loading):not(.is-error)>i,.capture-page-preview:not(.is-loading):not(.is-error)>em{display:none}.capture-page-thumb>span:last-child{display:block;margin-top:4px;font-size:12px}.capture-page-smart{display:flex;width:calc(100% - 8px);min-height:25px;align-items:center;justify-content:center;margin:3px auto 0;padding:3px 5px;border:0;border-radius:5px;color:#17785c;background:#eef7f3;font-size:12px}.capture-page-smart:hover{color:#fff;background:#198464}.capture-page-smart:disabled{color:var(--ui-neutral-disabled);background:var(--ui-neutral-soft);cursor:not-allowed}.capture-page-smart i{margin-right:4px}
.capture-stage-shell{position:relative; min-width:0; min-height:0;display:flex;flex-direction:column;}.capture-stage{overflow:auto;padding:18px;background:var(--ui-neutral-soft);text-align:center;flex:1 1 auto;height:auto;min-height:0}.capture-stage.is-panning { cursor:grab; }.capture-stage.is-panning:active { cursor:grabbing; }.capture-stage #capture-canvas { position:relative; display:inline-block; text-align:left; }.capture-stage #capture-image { display:block; max-width:100%; max-height:75vh; user-select:none; }.capture-stage #capture-item-preview{position:absolute; inset:0; width:100%; height:100%; pointer-events:none;z-index:4;}.capture-stage #capture-boxes { position:absolute; inset:0; pointer-events:none; }.capture-image-tools { position:absolute; z-index:10; top:10px; right:10px; display:flex; gap:5px; padding:5px; border:1px solid rgba(47,128,189,.2); border-radius:6px; background:rgba(255,255,255,.94); box-shadow:0 2px 8px rgba(0,0,0,.12); }.capture-image-tools button { width:28px; height:27px; padding:0; border:0; border-radius:4px; color:#39789f; background:transparent; }.capture-image-tools button:hover, .capture-image-tools button.active { color:#fff; background:var(--ui-selection-blue); }.capture-image-tools button:disabled{color:var(--ui-neutral-disabled);background:var(--ui-neutral-soft);cursor:wait}
.image-loading{position:absolute;z-index:20;inset:0;display:none;align-items:center;justify-content:center;color:#60756e;background:var(--ui-neutral-soft);text-align:center;flex-direction:column}.capture-stage-shell.is-image-loading .image-loading,.capture-stage-shell.is-image-error .image-loading,.review-crop-stage.is-image-loading .image-loading,.review-crop-stage.is-image-error .image-loading{display:flex}.image-loading>i{display:flex;width:48px;height:48px;align-items:center;justify-content:center;margin-bottom:11px;border-radius:50%;color:var(--ui-selection-blue-dark);background:#fff;font-size:20px;box-shadow:0 5px 18px rgba(47,128,189,.12)}.image-loading strong,.image-loading span{display:block}.image-loading span{margin-top:5px;color:#7d8f89;font-size:12px}.image-loading>div{width:190px;height:4px;margin-top:15px;overflow:hidden;border-radius:4px;background:#d6e2e7}.image-loading b{display:block;width:42%;height:100%;border-radius:4px;background:var(--ui-selection-blue);animation:ui-loading-slide 1.1s ease-in-out infinite}.capture-stage-shell.is-image-error .image-loading>div,.review-crop-stage.is-image-error .image-loading>div{display:none}.capture-stage-shell.is-image-loading .capture-stage,.capture-stage-shell.is-image-error .capture-stage{visibility:hidden}.capture-stage-shell.is-image-loading .capture-image-tools{pointer-events:none;opacity:.55}.review-crop-stage.is-image-loading+.review-crop-help{pointer-events:none;opacity:.55}
.review-crop-stage.is-image-loading .review-crop-canvas,.review-crop-stage.is-image-error .review-crop-canvas{visibility:hidden}
.capture-stage-shell.is-image-error .image-loading,.review-crop-stage.is-image-error .image-loading{color:#a63832}.capture-stage-shell.is-image-error .image-loading>i,.review-crop-stage.is-image-error .image-loading>i{color:#cf4c43;box-shadow:0 5px 18px rgba(207,76,67,.12)}.capture-stage-shell.is-image-error .image-loading span,.review-crop-stage.is-image-error .image-loading span{color:#b4544d}
.capture-recognize-progress[hidden]{display:none}.capture-recognize-progress{position:absolute;z-index:50;inset:0;display:grid;grid-template-columns:150px minmax(0,1fr) 320px;align-items:center;padding:24px;background:rgba(239,246,242,.88);backdrop-filter:blur(3px)}.capture-recognize-progress-card{grid-column:2;justify-self:center;width:min(340px,92%);padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;filter:none!important;color:#607a6f;text-align:center}.capture-recognize-progress-card>i{color:#218fb8;font-size:32px}.capture-recognize-progress-card h3{margin:13px 0 7px;color:#1d4033;font-size:20px}.capture-recognize-progress-card p{min-height:22px;margin:0 0 11px;font-size:14px}.capture-recognize-progress-track{height:6px;margin:0 0 11px;overflow:hidden;border-radius:99px;background:rgba(102,153,136,.2)}.capture-recognize-progress-track span{display:block;width:5%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#278fb9,#5ab8d8);transition:width .42s ease}.capture-recognize-progress-card small{font-size:12px;line-height:1.6;color:var(--ui-hint)}@media(max-width:900px){.capture-recognize-progress{grid-template-columns:110px minmax(0,1fr)}.capture-recognize-progress-card{grid-column:2}}
.capture-box { position:absolute; box-sizing:border-box; pointer-events:none; }.capture-shape { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }.capture-shape polygon{fill:var(--ui-selection-blue-soft); stroke:var(--ui-selection-blue-dark); stroke-width:2; vector-effect:non-scaling-stroke; cursor:move;pointer-events:all;}.capture-box b { position:absolute; top:-20px; left:-2px; padding:2px 5px; color:#fff; background:var(--ui-selection-blue-dark); font:12px/16px Arial; white-space:nowrap; pointer-events:none; }.capture-box em { position:absolute; right:-9px; top:-9px; width:18px; height:18px; border-radius:50%; color:#fff; background:#c9534a; font:16px/17px Arial; font-style:normal; text-align:center; cursor:pointer; pointer-events:auto; }.capture-vertex { position:absolute; width:12px; height:12px; margin:-6px; border:2px solid #fff; border-radius:50%; background:var(--ui-selection-blue); box-shadow:0 0 0 1px var(--ui-selection-blue-dark); cursor:move; pointer-events:auto; }.capture-box.saved { opacity:.42; }.capture-box.saved .capture-shape polygon { cursor:pointer; stroke-dasharray:5 4; }.capture-tools{padding:10px; border-left:1px solid var(--ui-line); overflow:auto;display:flex; flex-direction:column; min-height:0;}.capture-tools .btn.btn-primary.btn-block { width:100%; }.capture-item { display:flex; align-items:center; justify-content:space-between; gap:6px; padding:8px 0; border-bottom:1px solid var(--ui-line); cursor:pointer; }.capture-item span { color:var(--ui-muted); font-size:12px; }.capture-item.active { padding-left:7px; border-left:3px solid var(--ui-selection-blue-dark); background:#eef7fd; }
.capture-box.selected .capture-shape polygon { stroke-width:3; }.capture-box.edge-hover .capture-shape polygon { cursor:copy; }.capture-vertex.selected { transform:scale(1.35); }.capture-tools #capture-items{overflow:auto;flex:0 0 210px;height:210px;min-height:0;overflow-y:auto;overflow-x:hidden;border:1px solid var(--ui-line);border-radius:8px;background:#fff}.capture-items-empty{ display:flex; min-height:160px; align-items:center; justify-content:center; color:var(--ui-hint); font-size:14px; text-align:center; }.capture-next-wrap { flex:0 0 auto; margin-top:auto; padding:12px 0 0; background:#fff; }.capture-tools .btn.btn-primary.btn-block.is-disabled { color:#fff; background:#aebbb5; border-color:#aebbb5; cursor:not-allowed; }.capture-tools .btn.btn-primary.btn-block.is-loading { opacity:.65; pointer-events:none; }
@media (max-width:900px){.capture-layout{grid-template-columns:110px minmax(0,1fr)}.capture-tools{grid-column:1/-1;border-left:0;border-top:1px solid var(--ui-line)}}
.layout-text-actions, .layout-image-actions { display: flex; align-items: center; gap: 5px; min-height: 28px; padding: 4px 8px; color: var(--ui-muted); font-size:12px; }
.layout-image-media{display:flex;width:100%;max-width:100%;flex-direction:column;align-items:center}
.layout-image-actions{align-self:stretch;justify-content:flex-end}
.layout-text-actions span { margin-right: auto; }
.layout-text-actions .layout-block-title{display:flex;align-items:center;gap:7px;color:#40574f}.layout-text-actions .layout-block-title strong{display:flex;align-items:center;min-height:18px;color:#263d35;font-size:13px;font-weight:700;line-height:18px}.layout-text-actions .layout-block-title small{display:flex;align-items:center;min-height:18px;color:var(--ui-hint);font-size:12px;font-weight:400;line-height:18px}
.layout-image.is-dragging{opacity:.55}.layout-image.is-drop-target{box-shadow:inset 0 0 0 2px var(--ui-green);background:var(--ui-mint)}
.layout-image.align-center { align-items: center; }.layout-image.align-left { align-items: flex-start; }.layout-image.align-right { align-items: flex-end; }
.layout-image img { max-width: 100%; padding: 4px; border: 1px solid var(--ui-line); border-radius: 5px; object-fit: contain; cursor: default; }
.image-role-select{position:relative;display:flex;gap:8px;width:min(100%,320px);height:28px;margin:8px 0 0;color:var(--ui-muted);font-size:12px;line-height:28px;align-items:center;}.image-role-select span{display:flex;flex:0 0 auto;height:28px;align-items:center;line-height:1}.image-role-select select{height:28px;min-width:0;padding-right:25px;font-size:12px;appearance:none;-webkit-appearance:none}.image-role-select:after{position:absolute;right:10px;top:50%;width:7px;height:7px;border-right:1.5px solid #6e9bb1;border-bottom:1.5px solid #6e9bb1;content:"";pointer-events:none;transform:translateY(-68%) rotate(45deg)}
.choice-content{flex:1 1 auto;min-width:0}.choice-images{display:flex;flex-wrap:wrap;gap:10px;margin:5px 0 10px}.choice-images .layout-image{flex:0 1 190px;width:min(100%,190px);padding:5px 7px 7px;border:1px solid #dceae4}.choice-images .layout-image-actions{min-height:26px;gap:5px}.image-action-main{display:flex;align-items:center;gap:5px;margin:0}.choice-images .layout-image-actions button{display:inline-flex;width:26px;min-width:26px;height:26px;align-items:center;justify-content:center;gap:3px;padding:0}.choice-images .layout-image-actions .image-edit{width:auto;min-width:46px;padding:0 5px;font-size:12px}.choice-images .layout-image-actions .image-remove{margin-left:0}.choice-images .image-caption{width:100%;margin:5px 0 0;gap:5px;font-size:12px}.choice-images .image-caption>span{flex:0 0 38px}
.layout-image-actions button, .layout-text-actions button { min-width: 24px; padding: 2px 6px; border: 1px solid var(--ui-line); border-radius: 4px; color: var(--ui-muted); background: #fff; }
.layout-image-view{display:flex;box-sizing:border-box;width:100%;min-width:0;min-height:120px;height:120px;max-width:100%;align-items:center;justify-content:center;border-radius:var(--ui-control-radius);background:#fff;cursor:default;overflow:hidden;transition:box-shadow .16s ease,transform .16s ease}
.layout-image-view:focus-visible{outline:2px solid #198464;outline-offset:3px}
.layout-image-view img,.layout-image-view svg,.layout-image-view .layout-crop-draft{max-width:100%;max-height:112px;object-fit:contain;cursor:pointer}
.layout-crop-draft{position:relative;display:inline-block;width:100%;max-width:100%;overflow:hidden;border:0;border-radius:6px;background:#fff;box-shadow:none}
.layout-crop-draft svg{display:block;width:100%;height:auto;max-height:300px;background:#fff}
.layout-crop-draft em{position:absolute;top:7px;left:7px;padding:3px 7px;border-radius:4px;color:#fff;background:#d88923;font-size:12px;font-style:normal;font-weight:700;box-shadow:0 2px 5px rgba(93,60,17,.18)}
.layout-image.is-crop-draft .layout-image-actions>span{color:#b56a12;font-weight:700}
.field-attention{position:relative!important;z-index:2;animation:field-attention 1.1s ease-in-out 2;border-radius:8px}
@keyframes field-attention{0%,100%{transform:translateY(0)}45%{transform:translateY(-3px)}}
.layout-image-actions .image-edit{border-color:#a8d7ed!important;color:#237da6!important;background:#edf8fd!important}.layout-image-actions .image-edit:hover{border-color:#258ab5!important;color:#fff!important;background:#258ab5!important}.image-remove{margin-left:4px;border-color:#efc0ba!important;color:#b34a3c!important;background:#fff2f0!important}.image-remove:hover{border-color:#ca5048!important;color:#fff!important;background:#ca5048!important}
.form-source { display: none !important; }
.editor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 18px; }
.editor-grid label,.editor-grid .editor-field{margin: 0;font-size: 12px;font-weight:400}
.editor-grid .form-control { margin-top: 7px; }
.field-required { color: #d9534f; font-style: normal; }
.field-note{color:var(--ui-hint)!important;font-size:12px!important;font-weight:400!important;line-height:1.4}
.form-dialog-field{display:block;margin:0 0 16px}.form-dialog-field:last-child{margin-bottom:0}.form-dialog-field>span{display:block;margin-bottom:7px}.form-dialog-field select.form-control{padding-right:30px;cursor:pointer}

@media (max-width: 1023px) {

}

@media (max-width: 680px) {
    .editor-grid { grid-template-columns: 1fr; }
    .question-editor { padding: 20px; }
}

/* Shared workspace decoration; a canvas-colored veil keeps SVGs subtle without dimming content. */
.app-body.workspace-page {
    background-image:linear-gradient(rgba(241,248,252,.65),rgba(241,248,252,.65)),
        url("../../img/platform/workspace-rings.svg"),url("../../img/platform/workspace-docx.svg"),
        url("../../img/platform/workspace-pdf.svg"),url("../../img/platform/workspace-book.svg"),url("../../img/platform/workspace-desk.svg");
    background-repeat:no-repeat;
    background-position:0 0,calc(100% + 92px) -340px,284px 138px,288px calc(100% - 182px),320px calc(100% - 96px),calc(100% - 52px) calc(100% - 8px);
    background-size:100% 100%,520px 520px,88px 96px,88px 104px,164px 112px,760px 145px;
    background-attachment:fixed;
}

.app-body * {
    box-sizing: border-box;
}

.app-container {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}

.site-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: var(--ui-ink);
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
}

.site-brand:hover,
.site-brand:focus {
    color: var(--ui-green);
    text-decoration: none;
}

.brand-mark,
.mobile-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    color: #fff;
    background: var(--ui-green);
}

.section-eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--ui-coral);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.16em;
}

.login-shell {
    display: grid;
    min-height: 100vh;
    grid-template-columns: minmax(420px, 1.05fr) minmax(420px, 0.95fr);
}

.login-intro {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100vh;
    overflow: hidden;
    padding: 56px clamp(48px, 7vw, 110px);
    color: #fff;
    background: var(--ui-green-dark);
}

.login-intro::before,
.login-intro::after {
    position: absolute;
    content: "";
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.12);
}

.login-intro::before {
    width: 420px;
    height: 420px;
    right: -160px;
    top: 80px;
}

.login-intro::after {
    width: 270px;
    height: 270px;
    left: -110px;
    bottom: 80px;
}

.brand-light {
    position: relative;
    z-index: 1;
    color: #fff;
}

.brand-light:hover,
.brand-light:focus {
    color: #fff;
}

.brand-light .brand-mark {
    color: var(--ui-green-dark);
    background: #fff;
}

.login-copy {
    position: relative;
    z-index: 1;
    max-width: 650px;
}

.login-copy h1 {
    margin: 0 0 26px;
    font-size: clamp(40px, 5vw, 68px);
    font-weight: 700;
    line-height: 1.16;
    letter-spacing: -0.04em;
}

.login-copy p {
    max-width: 540px;
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 17px;
    line-height: 1.85;
}

.login-points {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 14px 24px;
    color: rgba(255,255,255,.82);
    font-size: 13px;
}

.login-points i {
    margin-right: 7px;
    color: #8ed7bc;
}

.login-panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px;
    background: var(--ui-surface-soft);
}

.login-card {
    width: min(430px, 100%);
    padding: 44px;
    border: 1px solid var(--ui-line);
    border-radius: 24px;
    background: var(--ui-surface);
    box-shadow: var(--ui-shadow);
}

.mobile-mark {
    display: none;
}

.login-heading {
    margin-bottom: 34px;
}

.login-heading h2 {
    margin: 0 0 8px;
    font-size: 28px;
    font-weight: 700;
}

.login-heading p,
.section-heading p {
    margin: 0;
    color: var(--ui-muted);
}

.field-group {
    margin-bottom: 21px;
}

.field-group label {
    margin-bottom: 9px;
    font-size: 13px;
    font-weight: 700;
}

.input-wrap {
    position: relative;
}

.input-wrap > i {
    position: absolute;
    z-index: 2;
    left: 16px;
    top: 50%;
    color: #8a9791;
    transform: translateY(-50%);
}

.input-wrap .form-control {
    height: 50px;
    padding: 10px 16px 10px 44px;
    border-color: var(--ui-line);
    border-radius: 11px;
    box-shadow: none;
}

.input-wrap .form-control:focus {
    border-color: var(--ui-green);
    box-shadow: 0 0 0 3px rgba(23,107,81,.09);
}

.login-options {
    display: flex;
    justify-content: space-between;
    margin: 2px 0 25px;
    color: var(--ui-muted);
    font-size: 13px;
}

.login-options label {
    font-weight: 400;
}

.login-options a,
.register-link a {
    color: var(--ui-green);
    font-weight: 700;
}

.register-link,
.login-footer {
    margin: 25px 0 0;
    color: var(--ui-muted);
    text-align: center;
    font-size: 13px;
}

.login-footer {
    opacity: .78;
}

/* 公共页面框架：导航、账户和内容区域。 */
.app-sidebar {
    position: fixed;
    z-index: 30;
    top: 0;
    bottom: 0;
    left: 0;
    display: flex;
    width: 236px;
    flex-direction: column;
    padding: 22px 14px 16px;
    border-right: 1px solid var(--ui-line);
    background: linear-gradient(125deg,#fff,#fff 65%,#f8fcff);
}

.app-brand-wrap{display:flex;align-items:flex-start;gap:5px}
.app-brand {
    display: flex;
    min-width:0;
    flex:1;
    align-items: center;
    gap: 10px;
    padding: 0 8px 24px;
    color: var(--ui-ink);
    text-decoration: none;
}

.app-brand:hover,
.app-brand:focus { color: var(--ui-ink); text-decoration: none; }
.app-brand .brand-mark { display:block;width:50px;height:50px;border-radius:10px;background:transparent; }
.app-home{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;margin-top:4px;border:1px solid #d9e7ed;border-radius:7px;color:#6f95a7;background:#f8fbfd;font-size:13px;text-decoration:none}
.app-home:hover,.app-home:focus{border-color:#9fc9da;color:#3b88a9;background:#eaf6fa;text-decoration:none}
.app-brand strong,
.app-brand small { display: block; }
.app-brand strong { font-size: 15px; line-height: 1.2; }
.app-brand small { margin-top: 3px; color: var(--ui-muted); font-size:12px; font-weight: 400; }
.side-nav { display: flex; flex: 1 1 auto; flex-direction: column; gap: 3px; }
.side-link{ display: flex; min-height: 43px; align-items: center; gap: 11px; padding: 0 12px; border-radius: 11px; font-size: 14px; text-decoration: none; transition: color .16s, background .16s; }
.side-link:hover,
.side-link:focus{text-decoration:none}
.side-link > i{ width: 17px; font-size: 16px; text-align: center; }
.side-menu-flag{display:inline-flex;align-items:center;vertical-align:middle;margin-left:5px;padding:1px 4px;border-radius:5px;font-size:9px;font-weight:500;font-style:normal;line-height:13px;white-space:nowrap}
.side-menu-flag.flag-hot{color:#c56762;background:#fff0ed}
.side-menu-flag.flag-index{color:#4883ad;background:#edf5fc}
.side-menu-flag.flag-recommend{color:#518f7d;background:#eaf6ef}
.app-sidebar.is-compact-nav .side-menu-flag{display:none}
@media(max-width:900px){.side-menu-flag{display:none}}
.side-link > em { margin-left: auto; padding: 2px 5px; border-radius: 8px; color: #a47754; background: #fff4e9; font-size:12px; font-style: normal; }
.side-link.is-coming { color: #87938e; }
.side-submenu { position:relative; }
.side-submenu-toggle { list-style:none; cursor:pointer; }
.side-submenu-toggle::-webkit-details-marker { display:none; }
.side-submenu-toggle .side-submenu-chevron { width:auto; margin-left:auto; font-size:12px; transition:transform .16s; }
.side-submenu[open]:not(.is-collapsing) .side-submenu-chevron { transform:rotate(180deg); }
.side-submenu-items { display:grid; grid-template-rows:1fr; margin:3px 0 4px 18px; opacity:1; transition:grid-template-rows .2s ease,margin .2s ease,opacity .16s ease; }
.side-submenu-list { display:flex; min-height:0; flex-direction:column; gap:2px; overflow:hidden; padding-left:13px; border-left:1px solid #dbe8ed; }
.side-submenu.is-expanding .side-submenu-items,.side-submenu.is-collapsing .side-submenu-items { grid-template-rows:0fr; margin-top:0; margin-bottom:0; opacity:0; }
.side-submenu-link{ display:flex; min-height:35px; align-items:center; gap:9px; padding:0 9px; border-radius:7px; font-size:13px; text-decoration:none; }
.side-submenu-link > i{ width:15px; font-size:13px; text-align:center; }
.side-submenu-link:hover,.side-submenu-link:focus { text-decoration:none; }
@media(min-width:621px){
    .app-sidebar.is-compact-nav .side-nav>.side-link{position:relative;align-self:flex-start;width:48px;flex:none;justify-content:flex-start;padding:0 15px;white-space:nowrap;transition:width .18s,background .18s,color .18s}
    .app-sidebar.is-compact-nav .side-nav>.side-link>i{flex:0 0 17px}
    .app-sidebar.is-compact-nav .side-nav>.side-link>span{position:absolute;top:0;left:43px;display:flex;align-items:center;width:0;height:100%;overflow:hidden;opacity:0;transform:translateX(-6px);transition:width .18s,opacity .18s,transform .18s;pointer-events:none}
    .app-sidebar.is-compact-nav .side-nav>.side-link:is(:hover,:focus-visible){z-index:40;width:174px;color:var(--ui-nav-active);background:var(--ui-selection-blue-soft);box-shadow:0 5px 14px rgba(35,86,119,.1)}
    .app-sidebar.is-compact-nav .side-nav>.side-link:is(:hover,:focus-visible)>span{width:120px;opacity:1;transform:translateX(0)}
    .app-sidebar.is-compact-nav .side-submenu-items::after{content:"";position:absolute;top:0;bottom:0;left:-14px;width:14px}
}
@media(prefers-reduced-motion:reduce){.app-sidebar.is-compact-nav .side-nav>.side-link,.app-sidebar.is-compact-nav .side-nav>.side-link>span{transition:none}}
.side-account-wrap { position:relative; flex:0 0 auto; margin-top:14px; }
.side-account-toggle,.side-account-login { position:relative; display:flex; width:100%; min-height:54px; align-items:center; gap:10px; padding:8px 9px; border:1px solid #d7e6df; border-radius:12px; color:#29463b; background:var(--ui-surface-soft); text-align:left; text-decoration:none; transition:border-color .16s,background .16s,box-shadow .16s; }
.side-account-toggle:hover,.side-account-toggle:focus,.side-account-wrap.is-open .side-account-toggle,.side-account-login:hover,.side-account-login:focus { border-color:#9fcbbb; color:#1d5d48; background:#f3faf7; box-shadow:0 5px 15px rgba(35,91,69,.09); outline:0; text-decoration:none; }
.side-account-toggle > img { width:36px; height:36px; flex:0 0 36px; border:2px solid #d8eee6; border-radius:50%; object-fit:cover; }
.account-notice-badge{position:absolute;top:3px;left:35px;display:inline-flex;min-width:17px;height:17px;align-items:center;justify-content:center;padding:0 4px;border:2px solid #fff;border-radius:99px;color:#fff;background:#e46f68;font-size:12px;font-weight:700;line-height:1}
.account-notice-badge[hidden]{display:none}
.side-account-copy,.side-account-login > span { display:flex; min-width:0; flex:1; flex-direction:column; }
.side-account-copy strong,.side-account-login strong { overflow:hidden; font-size:14px; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.side-account-copy small,.side-account-login small{ overflow:hidden; margin-top:2px; color:var(--ui-hint); font-size:12px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.side-account-toggle > i:last-child,.side-account-login > i:last-child { color:#83a496; transition:transform .16s; }
.side-account-wrap.is-open .side-account-toggle > i:last-child { transform:rotate(180deg); }
.side-account-login > i:first-child { color:#3a8b6e; font-size:28px; }
.account-panel { position:absolute; z-index:80; bottom:0; left:calc(100% + 14px); width:296px; padding:16px; border:1px solid #dce7e2; border-radius:16px; background:#fff; box-shadow:0 16px 42px rgba(28,62,50,.18); }
.account-panel[hidden] { display:none; }
.account-panel::before { position:absolute; bottom:20px; left:-7px; width:13px; height:13px; border-bottom:1px solid #dce7e2; border-left:1px solid #dce7e2; background:#fff; content:""; transform:rotate(45deg); }
.account-panel-head { display:flex; align-items:center; gap:10px; padding-bottom:13px; border-bottom:1px solid #e5ece8; color:inherit; text-decoration:none; }
.account-panel-head img { width:40px; height:40px; border-radius:50%; object-fit:cover; }
.account-panel-head div { display:flex; min-width:0; flex-direction:column; }
.account-panel-head strong { overflow:hidden; color:#333333; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.account-panel-head span { margin-top:2px; color:#70847b; font-size:12px; }
.account-panel-head .account-membership { display:flex; flex-wrap:wrap; align-items:center; gap:0 4px; }
.account-panel-head .account-membership span { margin-top:0; }
.account-panel-head > i { margin-left:auto; color:#8ba69d; font-size:16px; transition:transform .18s ease,color .18s ease; }
.account-panel-head:hover > i { color:#4a948a; transform:none; }
.account-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.account-card { padding:24px; border:1px solid #dce8e7; border-radius:16px; background:rgba(255,255,255,.9); box-shadow:0 12px 28px rgba(78,128,135,.08); }
.account-card-title { display:flex; gap:11px; margin-bottom:20px; align-items:flex-start; }.account-card-title>i { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; background:#e6f4f2; color:#4a9b96; font-size:16px; }.account-card-title h2 { margin:0; color:#294854; font-size:17px; }.account-card-title p { margin:3px 0 0; color:#8ba0a7; font-size:12px; }
.account-card label { display:block; margin:13px 0; color:#617c85; font-size:13px; font-weight:600; }.account-card label input { display:block; width:100%; height:40px; margin-top:6px; padding:0 12px; border:1px solid #dce8e8; border-radius:9px; background:#fff; color:#34515b; font-size:14px; outline:0; }.account-card label input:focus { border-color:#73bdb8; box-shadow:0 0 0 3px rgba(115,189,184,.12); }
.account-field-tip{margin-left:8px;color:var(--ui-hint);font-size:12px;font-weight:400}
@media (max-width:900px){.account-grid{grid-template-columns:1fr}}
.user-home-list { overflow:hidden; border-top:1px solid #dce9e9; }.user-home-row { display:flex; min-height:82px; padding:16px 8px; align-items:center; gap:14px; border-bottom:1px solid #dce9e9; color:#35545d; text-decoration:none; transition:padding .18s ease,background .18s ease; }.user-home-row:hover { padding-left:14px; background:rgba(255,255,255,.42); color:#35545d; }.user-home-row>i { display:grid; width:38px; height:38px; place-items:center; border-radius:11px; background:#e8f5f3; color:#46958f; font-size:16px; }.user-home-row.is-service>i { background:#fff2dc; color:#c58b3f; }.user-home-row div { display:flex; min-width:0; flex:1; flex-direction:column; gap:3px; }.user-home-row strong { color:#294854; font-size:15px; }.user-home-row span { color:#81989f; font-size:12px; }.user-home-row em { margin-right:5px; color:#8fb0ae; font-size:17px; font-style:normal; }
.user-overview { display:flex; margin:10px 0 28px; padding:22px 24px; align-items:center; border-radius:18px; background:linear-gradient(112deg,#e4f4f2,#f8fcfb 58%,#edf5fb); box-shadow:0 14px 34px rgba(66,125,133,.1); }.user-overview-person { display:flex; gap:14px; align-items:center; }.user-overview-person img { width:58px; height:58px; border:3px solid rgba(255,255,255,.8); border-radius:19px; object-fit:cover; box-shadow:0 6px 14px rgba(46,112,112,.13); }.user-overview-person div { display:flex; flex-direction:column; gap:3px; }.user-overview-person span { color:#2f5860; font-size:17px; font-weight:650; }.user-overview-person strong { color:#70908d; font-size:12px; }.user-overview-person a,.user-overview-score a { color:#418983; font-size:12px; text-decoration:none; }.user-overview-score { display:flex; margin-left:auto; padding-left:32px; align-items:baseline; border-left:1px solid #b9dcda; }.user-overview-score span { margin-right:10px; color:#6b898e; font-size:12px; }.user-overview-score strong { color:#157b76; font-size:32px; line-height:1; }.user-overview-score em { margin:0 20px 0 4px; color:#6a898d; font-size:12px; font-style:normal; }.user-hub { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:38px; }.user-hub-head { display:flex; margin-bottom:8px; justify-content:space-between; color:#294e57; }.user-hub-head span { font-size:16px; font-weight:700; }.user-hub-head small{ color:var(--ui-hint); font-size:12px; }.user-hub-group>a { display:flex; padding:14px 5px; align-items:center; gap:12px; border-top:1px solid #dce9e9; color:#36565e; text-decoration:none; }.user-hub-group>a:last-child { border-bottom:1px solid #dce9e9; }.user-hub-group>a:hover { padding-left:10px; background:rgba(255,255,255,.38); color:#36565e; }.user-hub-group>a>i { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; background:#e7f4f2; color:#4b9b95; }.user-hub-group>a div { display:flex; flex:1; flex-direction:column; gap:3px; }.user-hub-group>a strong { color:#31515a; font-size:14px; }.user-hub-group>a span { color:#879ea3; font-size:12px; }.user-hub-group>a em { color:#9ab3b4; font-style:normal; }
@media(max-width:760px){.user-overview{align-items:flex-start;flex-direction:column;gap:18px}.user-overview-score{margin-left:0;padding-left:0;border-left:0}.user-hub{grid-template-columns:1fr;gap:25px}}
.app-section-heading{display:inline-flex;align-items:center;gap:8px;margin:0;color:var(--ui-ink);font-size:19px;font-weight:700;line-height:1.35}.app-section-heading>i{color:#dda94f;font-size:15px}
.user-home{padding-top:32px!important}
.user-home .user-home-heading{align-items:center;margin-bottom:20px}
.user-home-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0}
.user-home-security-note{display:inline-flex;align-items:center;gap:7px;color:var(--ui-hint);font-size:12px;line-height:1.4}
.user-home-security-note i{display:inline-grid;width:27px;height:27px;flex:0 0 27px;place-items:center;border-radius:8px;color:#54a397;background:#e8f5f3;font-size:14px}
.user-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.user-summary-card,.user-service-card{border:1px solid rgba(205,222,228,.93);border-radius:15px;background:rgba(255,255,255,.88);box-shadow:var(--ui-shadow);backdrop-filter:blur(7px)}
.user-summary-card{display:flex;min-height:218px;flex-direction:column;padding:22px 24px}
.user-card-label{display:inline-flex;align-items:center;gap:7px;color:#5d94a6;font-size:12px;font-weight:700}
.user-card-label i{color:#dda94f}
.user-logout-form{margin:0}
.user-logout-form button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:6px;padding:5px 12px;border:1px solid #efd8d5;border-radius:8px;color:#ad716c;background:#fffafa;font-size:12px;font-weight:400;white-space:nowrap;cursor:pointer}
.user-logout-form button:hover,.user-logout-form button:focus{border-color:#dda9a3;color:#9c5953;background:#fff3f1}
.user-profile-main{display:flex;align-items:center;gap:15px;margin:19px 0 18px}
.user-profile-main img{width:60px;height:60px;border:3px solid #fff;border-radius:17px;object-fit:cover;box-shadow:0 5px 13px rgba(59,127,142,.14)}
.user-profile-main div{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:7px}
.user-profile-main strong{overflow:hidden;max-width:100%;color:var(--ui-ink);font-size:19px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.user-member-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border:1px solid #d8e9f0;border-radius:99px;color:#4185a0;background:#f3f9fb;font-size:12px;font-weight:700;line-height:1.3}
.user-member-badge i{color:#d2a453;font-size:12px}
.user-card-link{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:15px;border-top:1px solid #e6eef0;color:#3289aa;font-size:13px;font-weight:400;text-decoration:none}
.user-card-link:hover{color:#267797;text-decoration:none}
.user-card-link i{font-size:12px}
.user-quota{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px}
.user-quota>span{color:#748e99;font-size:13px}
.user-quota-value{display:flex;align-items:baseline;gap:5px}
.user-quota-value strong{color:#267fa9;font-size:36px;line-height:1;font-variant-numeric:tabular-nums}
.user-quota-value em{color:#6e909c;font-size:12px;font-style:normal}
.user-quota-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}
.user-quota-meta span{display:flex;align-items:center;gap:5px;min-width:0;padding:9px 10px;border:1px solid #e4eef2;border-radius:8px;color:var(--ui-hint);background:#f8fbfc;font-size:12px;white-space:nowrap}
.user-quota-meta i{color:#7aaec0;font-size:12px}
.user-quota-meta strong{color:#326f8a;font-size:13px;font-weight:700}
.user-card-actions{display:flex;align-items:center;gap:9px;margin-top:auto;padding-top:15px}
.user-card-actions a{padding:7px 11px;border:1px solid #cce1e4;border-radius:8px;color:#43829a;background:#f8fcfd;font-size:12px;text-decoration:none}
.user-card-actions a:hover{border-color:#aad3df;color:#2c7897;background:#eef8fb;text-decoration:none}
.user-card-actions .is-invite{border-color:#efd1bc;color:#c97947;background:#fff8f2}
.user-card-actions .is-invite:hover{border-color:#e7ba9b;color:#b46736;background:#fff3e8}
.user-service-card{margin-top:18px;padding:21px 24px}
.user-service-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:15px}
.user-service-heading>span{padding-bottom:2px;color:var(--ui-hint);font-size:12px}
.user-service-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #e6eef0}
.user-service-links a{display:flex;min-height:78px;align-items:center;gap:12px;min-width:0;padding:16px 14px;border-right:1px solid #e6eef0;color:inherit;text-decoration:none}
.user-service-links a:hover{background:#f5fafc;text-decoration:none}
.user-service-links a:first-child{padding-left:0}
.user-service-links a:last-child{padding-right:0;border-right:0}
.user-service-links>a>i{display:flex;width:42px;height:42px;flex:0 0 42px;align-items:center;justify-content:center;border-radius:11px;color:#4b98b2;background:#e9f6fa;font-size:17px}
.user-service-links a:nth-child(2)>i{color:#718f7a;background:#edf5ef}
.user-service-links a:nth-child(3)>i{color:#7b82ad;background:#f0f0fa}
.user-service-links a>span{min-width:0;flex:1}
.user-service-links strong{display:block;color:var(--ui-ink);font-size:14px}
.user-service-links small{display:block;overflow:hidden;margin-top:5px;color:var(--ui-hint);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.user-service-links em{color:#80b2c2;font-style:normal}
@media(max-width:760px){.user-summary-grid{grid-template-columns:1fr}.user-summary-card{min-height:205px}.user-service-links{grid-template-columns:1fr}.user-service-links a,.user-service-links a:first-child,.user-service-links a:last-child{min-height:70px;padding:14px 0;border-right:0;border-bottom:1px solid #e6eef0}.user-service-links a:last-child{border-bottom:0}.user-service-heading>span{display:none}}
@media(max-width:680px){.user-home .user-home-heading{align-items:flex-start;flex-wrap:wrap}.user-home-heading-actions{width:100%;justify-content:space-between;gap:10px}.user-home-security-note{min-width:0}}
@media(max-width:480px){.user-summary-card,.user-service-card{padding:19px}.user-quota-meta{grid-template-columns:1fr}.user-quota-meta span{padding:8px 10px}.user-profile-main strong{font-size:17px}.user-quota-value strong{font-size:32px}}
.account-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}
.account-layout{width:min(980px,100%);margin-inline:auto}
.account-profile-card{padding:26px;border-color:rgba(205,222,228,.93);border-radius:15px;box-shadow:var(--ui-shadow)}
.account-profile-grid{display:grid;grid-template-columns:minmax(210px,260px) minmax(0,1fr);gap:28px;align-items:stretch}
.account-identity-pane{display:flex;min-width:0;flex-direction:column;padding:20px;border:1px solid #e1ebef;border-radius:12px;background:#f7fafc}
.account-identity-heading{display:flex;align-items:center;gap:10px}
.account-identity-heading>i{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:9px;color:#4b98b2;background:#e6f3f8;font-size:17px}
.account-identity-heading div{display:flex;flex-direction:column;gap:3px}
.account-identity-heading strong{color:#355564;font-size:14px}
.account-identity-heading span{color:var(--ui-hint);font-size:12px}
.account-avatar{display:flex;flex-direction:column;align-items:center;gap:11px;margin:23px 0 20px}
.account-avatar img{width:78px;height:78px;border:3px solid #fff;border-radius:19px;object-fit:cover;box-shadow:0 5px 14px rgba(59,127,142,.12)}
.account-avatar button{padding:6px 10px;border:1px solid #cfe3eb;border-radius:7px;color:#438eaa;background:#fff;font-size:12px;cursor:pointer}
.account-avatar button:hover{border-color:#9fcad9;color:#2e7897;background:#f2f9fc}
.account-readonly{display:grid;gap:2px;margin-top:auto;padding-top:11px;border-top:1px solid #e3edf1;color:#78919b;font-size:12px}
.account-readonly span{display:flex;min-width:0;flex-direction:column;gap:3px;padding:7px 0}
.account-readonly b{color:#456977;font-weight:600;overflow-wrap:anywhere}
.account-edit-pane{min-width:0;padding:1px 2px}
.account-edit-pane label:first-of-type{margin-top:0}
.account-card-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid #e6eef0}
.account-card-footer .btn.btn-primary{width:136px}
.account-password-trigger{border:0;background:transparent;color:#4b91aa;font-size:13px;white-space:nowrap}
.account-password-trigger i{margin-right:5px}
.password-form label{display:block;margin:0 0 14px;color:#617c85;font-size:13px;font-weight:600}
.password-form label:last-child{margin-bottom:0}
.password-form label input{display:block;width:100%;height:40px;margin-top:6px;padding:0 12px;border:1px solid #dce8e8;border-radius:9px;color:#34515b;font-size:14px;outline:0}
.password-form label input:focus{border-color:#73bdb8;box-shadow:0 0 0 3px rgba(115,189,184,.12)}
@media(max-width:800px){.account-profile-grid{grid-template-columns:1fr}.account-identity-pane{min-height:0}}
@media(max-width:700px){.account-profile-card{padding:18px}.account-profile-grid{gap:18px}.account-identity-pane{padding:16px}.account-avatar{margin:16px 0}.account-avatar img{width:60px;height:60px;border-radius:15px}.account-readonly{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.account-card-footer{align-items:stretch;flex-direction:column}.account-card-footer .btn.btn-primary{width:100%}.account-password-trigger{align-self:center}}
.account-balance { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:10px; row-gap:0; margin-top:13px; padding:8px 14px; border:1px solid #f0d69a; border-radius:12px; background:linear-gradient(135deg,#fffaf0,#fff3d4); }
.account-balance-heading{position:relative;z-index:1;grid-column:1;grid-row:1;white-space:nowrap}.account-balance-label{color:#96733b;font-size:12px}
.account-balance > strong { position:relative; z-index:1; grid-column:1; grid-row:2; display:flex; align-items:baseline; gap:5px; margin:0; color:#654716; }
.account-balance > strong b { font-size:20px; line-height:1.1; }
.account-balance > strong small { font-size:12px; }
.account-services { position:relative; z-index:1; grid-column:2; grid-row:1 / 3; align-self:center; display:inline-flex; min-height:28px; align-items:center; gap:4px; padding:0 8px; border:1px solid #e6c777; border-radius:7px; color:#9a6a20; background:rgba(255,255,255,.68); font-size:12px; line-height:1; text-decoration:none; white-space:nowrap; }
.account-balance .account-services:is(:link,:visited,:hover,:focus,:active){color:#9a6a20;text-decoration:none}
.account-services:is(:hover,:focus){border-color:#cf9c3f;background:#fffaf0}
.account-services:focus-visible{outline:2px solid #cf9c3f;outline-offset:2px}
.account-loading { position:absolute; top:50%; right:14px; display:none; margin-top:-7px; color:#bd8124; }
.account-panel.is-loading .account-loading { display:block; }
.account-balance-watermark { position:absolute; z-index:0; top:50%; right:18px; color:#e9bd63; font-size:54px; line-height:1; opacity:.13; transform:translateY(-50%) rotate(-9deg); pointer-events:none; }
.account-panel.is-loading .account-balance-watermark { display:none; }
.account-quotas{position:relative;z-index:1;grid-column:1 / -1;grid-row:3;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;padding-top:4px;border-top:1px solid rgba(230,199,119,.4);color:#8a713e;font-size:12px}:is(.account-paper-quota,.account-handout-quota){display:inline-flex;align-items:center;gap:3px;white-space:nowrap}:is(.account-paper-quota,.account-handout-quota) i{color:#c69746}:is(.account-paper-quota,.account-handout-quota) b{color:#654716;font-size:13px;font-weight:700}
.account-notices{padding:10px 0 4px}
.account-notices[hidden]{display:none}
.account-notice-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;color:#425d52;font-size:12px}
.account-notice-heading strong{font-weight:600}
.account-notice-read-all{padding:2px 0;border:0;color:#4b91aa;background:transparent;font-size:12px;cursor:pointer}
.account-notice-read-all[hidden]{display:none}
.account-notice-list{display:grid;gap:0}
.account-notice-item{display:flex;gap:8px;padding:8px;border-radius:8px;color:#61776e;text-decoration:none}
.account-notice-item+.account-notice-item{border-top:1px solid #edf2ef}
.account-notice-item:hover{color:#315f55;background:#f4f9f7;text-decoration:none}
.account-notice-item>i{margin-top:2px;color:#9db3aa;font-size:12px}
.account-notice-item.is-unread>i{color:#4ba29a}
.account-notice-item>span{display:flex;min-width:0;flex:1;flex-direction:column}
.account-notice-line{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px}
.account-notice-item strong{min-width:0;overflow:hidden;color:#3e5d52;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.account-notice-item small{margin-top:2px;overflow:hidden;color:var(--ui-hint);font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.account-notice-item em{flex:none;color:#a0afa9;font-size:12px;font-style:normal}
.account-notice-empty{padding:13px 8px;color:var(--ui-hint);font-size:12px;text-align:center}
.account-notice-heading .account-notice-view-all{display:inline-flex;align-items:center;gap:5px;padding:3px 5px;border:0;border-radius:5px;color:#4b91aa;background:transparent;font-size:12px;cursor:pointer}.account-notice-heading .account-notice-view-all:hover{color:#26758f;background:#eef8fb}
.account-notice-dialog{display:flex;height:100%;min-height:0;flex-direction:column}
.account-notice-dialog-head{display:flex;min-height:42px;align-items:center;justify-content:space-between;border-bottom:1px solid #e5ece8;color:#71857c;font-size:12px}
.account-notice-dialog-head b{color:#35594c}
.account-notice-dialog-list{display:grid;min-height:0;flex:1;align-content:start;gap:3px;padding:8px 0;overflow:auto}
.account-notice-dialog-list .account-notice-item{padding:10px 8px;border-bottom:1px solid #edf2ef;border-radius:7px}
.account-notice-dialog-list .account-notice-item small{white-space:normal}
.account-notice-dialog-pages{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid #e5ece8;color:#71857c;font-size:12px}
.account-notice-dialog-pages button{min-height:30px;padding:0 10px;border:1px solid #d8e6e0;border-radius:7px;color:#426a5b;background:#fff;font-size:12px}
.account-notice-dialog-pages button:disabled{cursor:not-allowed;opacity:.45}
.layui-layer.account-notice-layer .layui-layer-content{height:calc(100% - 43px);overflow:hidden}
.account-actions { margin-top:4px; padding-top:4px; }
.account-actions a,.account-actions button { display:flex; width:100%; min-height:34px; align-items:center; gap:9px; padding:0 8px; border:0; border-radius:7px; color:#425d52; background:transparent; font-size:14px; text-align:left; text-decoration:none; }
.account-actions a:hover,.account-actions button:hover { color:#176b50; background:#f0f8f4; text-decoration:none; }
.account-actions i { width:15px; color:#77978a; text-align:center; }
.account-actions .account-invite em{margin-left:auto;color:#d68127;font-size:12px;font-style:normal;font-weight:400;white-space:nowrap}
.account-actions form { margin:0; }
.app-page-dashboard .app-main,
.app-page-recognize .app-main,
.app-page-member .app-main,
.app-page-knowledge .app-main,
.app-page-questions .app-main,
.app-page-quick .app-main,
.tools-app-page .app-main { width: auto; max-width: none; margin: 0 0 0 236px; padding:var(--workspace-padding,20px 25px 30px); }
.app-page-dashboard .app-main > *,
.app-page-recognize .app-main > *,
.app-page-member .app-main > *,
.app-page-knowledge .app-main > *,
.app-page-questions .app-main > *,
.app-page-quick .app-main > *,
.tools-app-page .app-main > * { max-width: 1380px; margin-right: auto; margin-left: auto; }
.app-page-recognize .app-main.capture-workspace,
.app-page-recognize .app-main.review-page,
.app-page-recognize .app-main.recognition-page { max-width: none; }
.app-page-recognize .app-main.capture-workspace > *,
.app-page-recognize .app-main.recognition-page > * { max-width: none; }

.app-header {
    height: 74px;
    border-bottom: 1px solid var(--ui-line);
    background: rgba(255,255,255,.94);
}

.header-inner {
    display: flex;
    height: 100%;
    align-items: center;
}

.app-nav {
    display: flex;
    height: 100%;
    align-items: center;
    gap: 34px;
    margin-left: 70px;
}

.app-nav a {
    position: relative;
    display: flex;
    height: 100%;
    align-items: center;
    color: var(--ui-muted);
    font-size: 14px;
    text-decoration: none;
}

.app-nav a.active {
    color: var(--ui-ink);
    font-weight: 700;
}

.app-nav a.active::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 3px;
    content: "";
    background: var(--ui-green);
}

.app-nav a.is-disabled {
    cursor: default;
    opacity: .5;
}

.header-user {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-left: auto;
}

.user-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.3;
}

.user-meta strong {
    font-size: 13px;
}

.user-meta span {
    color: var(--ui-muted);
    font-size:12px;
}

.header-user > img {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
}

.header-user form {
    margin: 0 0 0 5px;
}

.header-user button {
    width: 34px;
    height: 34px;
    border: 1px solid var(--ui-line);
    border-radius: 10px;
    color: var(--ui-muted);
    background: #fff;
}

.app-main {
    padding-top: 58px;
    padding-bottom: 70px;
}

.welcome-panel {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 36px;
    margin-bottom: 54px;
}

.welcome-panel h1 {
    margin: 0 0 12px;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -.03em;
}

.welcome-panel p {
    max-width: 680px;
    margin: 0;
    color: var(--ui-muted);
    font-size: 15px;
    line-height: 1.75;
}

.quota-card {
    display: flex;
    min-width: 235px;
    flex-direction: column;
    padding: 19px 22px;
    border-left: 4px solid var(--ui-coral);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(27,59,48,.07);
}

.quota-card span,
.quota-card small {
    color: var(--ui-muted);
    font-size:12px;
}

.quota-card strong {
    margin: 3px 0 4px;
    font-size: 18px;
}

.section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 22px;
}

.section-heading h2 {
    margin: 0 0 6px;
    font-size: 23px;
    font-weight: 700;
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.feature-card {
    position: relative;
    display: flex;
    min-height: 285px;
    flex-direction: column;
    padding: 28px;
    overflow: hidden;
    border: 1px solid var(--ui-line);
    border-radius: 18px;
    background: #fff;
    box-shadow:var(--ui-shadow);
}

.feature-primary {
    border-color: transparent;
    color: #fff;
    background: var(--ui-green);
}

.feature-icon {
    display: flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    margin-bottom: 29px;
    border-radius: 14px;
    color: var(--ui-green);
    background: var(--ui-mint);
    font-size: 20px;
}

.feature-primary .feature-icon {
    color: #fff;
    background: rgba(255,255,255,.15);
}

.feature-content {
    flex: 1;
}

.feature-tag {
    color: var(--ui-coral);
    font-size:12px;
    font-weight: 800;
}

.feature-primary .feature-tag {
    color: #a9e1cc;
}

.feature-content h3 {
    margin: 8px 0 10px;
    font-size: 21px;
    font-weight: 700;
}

.feature-content p {
    margin: 0;
    color: var(--ui-muted);
    font-size: 13px;
    line-height: 1.75;
}

.feature-primary .feature-content p {
    color: rgba(255,255,255,.72);
}

.card-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: 22px;
    padding: 13px 0 0;
    border: 0;
    border-top: 1px solid rgba(255,255,255,.16);
    color: rgba(255,255,255,.8);
    background: transparent;
    font-size: 13px;
    text-align: left;
    text-decoration: none;
}

.card-action:hover,
.card-action:focus {
    color: #fff;
    text-decoration: none;
}

.page-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 30px;
}

.page-heading h1 {
    margin: 10px 0 10px;
    font-size: 22px;
    font-weight: 700;
}

.page-heading p {
    margin: 0;
    color: var(--ui-muted);
}

.back-link {
    color: var(--ui-green);
    font-size: 13px;
    font-weight: 700;
}

.upload-panel {
    margin-bottom: 38px;
    padding: 26px;
    border: 1px solid var(--ui-line);
    border-radius: 18px;
    background: #fff;
    box-shadow:var(--ui-shadow);
}

.upload-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.upload-panel-heading>div strong,.upload-panel-heading>div span{display:block}.upload-panel-heading>div strong{font-size:17px}.upload-panel-heading>div span{margin-top:3px;color:var(--ui-hint);font-size:12px}.guide-content{padding:4px 3px 0;color:#52665d;font-size:13px;line-height:1.65}.guide-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.guide-list li{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:start;padding:9px 10px;border:1px solid #e1ece7;border-radius:8px;background:var(--ui-surface-soft)}.guide-list i{display:grid;width:28px;height:28px;place-items:center;border-radius:7px;color:#28795f;background:#e8f5ef}.guide-list strong,.guide-list span{display:block}.guide-list strong{color:#28473b;font-size:13px}.guide-list span{margin-top:1px;color:var(--ui-hint);font-size:12px}.guide-note{margin:12px 0 0;padding:8px 10px;border-radius:7px;color:#89652f;background:#fff8ea;font-size:12px}
.capture-guide-content .guide-list,.upload-guide-content .guide-list{gap:0}.capture-guide-content .guide-list li,.upload-guide-content .guide-list li{grid-template-columns:30px 1fr;gap:10px;padding:11px 2px;border:0;border-bottom:1px solid #edf2ef;border-radius:0;background:transparent}.capture-guide-content .guide-list li:last-child,.upload-guide-content .guide-list li:last-child{border-bottom:0}.capture-guide-content .guide-list i,.upload-guide-content .guide-list i{margin-top:1px}
.layui-layer.capture-guide .layui-layer-content{max-height:calc(100vh - 166px);overflow-y:auto}

.upload-panel input[type="file"] {
    display: none !important;
}

.dropzone-wrap{position:relative}

.upload-dropzone {
    position: relative;
    display: flex;
    min-height: 260px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin: 0;
    overflow: hidden;
    border: 2px dashed #bfd1c9;
    border-radius: 15px;
    background: var(--ui-surface-soft);
    cursor: pointer;
    text-align: center;
    transition: border-color .2s ease, background .2s ease;
}

button.upload-dropzone{width:100%;border:2px dashed #cae0d5;background:#fbfefc;color:inherit;font:inherit}

.upload-dropzone:hover {
    border-color: var(--ui-green);
    background: #f1f8f4;
}

.upload-icon {
    display: flex;
    width: 64px;
    height: 64px;
    align-items: center;
    justify-content: center;
    margin-bottom: 17px;
    border-radius: 18px;
    color: var(--ui-green);
    background: var(--ui-mint);
    font-size: 25px;
}

.upload-dropzone strong {
    margin-bottom: 7px;
    font-size: 17px;
}

.upload-dropzone > span:not(.upload-icon) {
    color: var(--ui-muted);
    font-size: 12px;
}

.upload-dropzone .dropzone-paste-tip{display:inline-flex;align-items:center;gap:5px;margin-top:9px;color:#568f82}.dropzone-paste-tip i{color:#459b88}

.dropzone-wrap.has-file-selection .upload-dropzone>.upload-icon,.dropzone-wrap.has-file-selection .upload-dropzone>strong,.dropzone-wrap.has-file-selection .dropzone-format-tip,.dropzone-wrap.has-file-selection .dropzone-paste-tip{display:none}
.upload-selected-file{position:absolute;z-index:1;inset:14px 24px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;color:#367f99;font-size:13px;line-height:20px;pointer-events:none}.upload-selected-file[hidden],.upload-dropzone.is-uploading+.upload-selected-file{display:none}.upload-selected-copy{display:flex;max-width:min(620px,85%);flex:none;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-weight:600}.upload-selected-copy>.file-icon{width:64px;height:64px}.upload-selected-file.is-image{inset:8px 16px;gap:4px}.upload-selected-file.is-image .upload-selected-copy{order:-1}.upload-selected-file.is-image .upload-selected-copy>.file-icon{display:none}.upload-selected-file.is-image .upload-image-previews{min-height:0;flex:1}.upload-selected-name{display:flex;align-items:center;gap:8px;max-width:100%;min-width:0}.upload-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-file-remove{display:grid;flex:none;width:26px;height:26px;padding:0;place-items:center;border:1px solid #f0cdd0;border-radius:6px;color:#cf4e57;background:#fff5f5;font-size:13px;cursor:pointer;pointer-events:auto}.upload-file-remove[hidden]{display:none}.upload-file-remove:hover{color:#b6333d;background:#ffe8ea}.upload-file-remove:focus-visible{outline:2px solid #cf4e57;outline-offset:2px}.upload-selected-hint{color:var(--ui-hint);font-size:12px}.upload-image-previews{display:flex;width:100%;max-height:100%;align-content:flex-start;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:4px;overflow-y:auto;pointer-events:auto;scrollbar-width:none}.upload-image-previews::-webkit-scrollbar{display:none}.upload-image-previews[hidden]{display:none}.upload-image-preview{position:relative;display:grid;gap:3px;justify-items:center;cursor:grab}.upload-image-preview.is-dragging{opacity:.45}.upload-image-preview img{display:block;width:128px;height:128px;border:1px solid #cfe2e8;border-radius:8px;background:#fff;object-fit:contain}.upload-image-preview small{color:var(--ui-hint);font-size:12px;line-height:15px}.upload-image-remove{position:absolute;top:-6px;right:-6px;display:grid;width:20px;height:20px;padding:0;place-items:center;border:2px solid #fff;border-radius:50%;color:#fff;background:#df5960;font-size:12px;line-height:1;cursor:pointer}.upload-image-remove:hover{background:#c93f48}.upload-image-previews>b{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;color:#46859a;background:#eaf5f8;font-size:12px;font-weight:600}
.app-body.app-page-recognize .file-dropzone{min-height:218px}
.upload-setup{margin-top:18px;padding:19px 20px 18px;border:1px solid #e0ebe8;border-radius:13px;background:var(--ui-surface-soft)}
.upload-setup-title{display:flex;align-items:baseline;gap:12px;margin-bottom:15px}.upload-setup-title strong{color:#354f49;font-size:15px}.upload-setup-title span{color:var(--ui-muted);font-size:12px}
.upload-setup-fields{display:grid;gap:18px}.upload-setup-field{min-width:0;color:var(--ui-muted);font-size:12px}.upload-setup-field em{color:var(--ui-danger);font-style:normal}.upload-setup-field select[hidden]{display:none!important}.upload-field-heading{display:flex;min-height:26px;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.upload-field-heading>span{font-size:14px}.upload-option-group{display:flex;flex-wrap:wrap;gap:8px;padding:5px;border:1px solid transparent;border-radius:8px}.upload-option-group>.btn{min-width:76px;height:36px;padding:0 15px;font-size:13px;line-height:34px}.upload-subject-default,.upload-grade-default{white-space:nowrap}
.upload-setup-actions{display:flex;min-height:48px;align-items:center;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid #e5efeb}.upload-ready-status{flex:1;color:var(--ui-muted);font-size:12px}.upload-setup-actions .btn{min-width:106px;white-space:nowrap}.upload-setup-actions .btn[hidden]{display:none!important}.upload-setup-actions .btn-primary:disabled{cursor:not-allowed;opacity:.5}
@media(max-width:620px){.upload-panel{padding:18px}.upload-panel-heading{align-items:flex-start}.upload-panel-heading>div span{line-height:1.5}.upload-setup{padding:16px}.upload-setup-title{display:block}.upload-setup-title span{display:block;margin-top:3px}.upload-setup-fields{gap:13px}.upload-setup-actions{flex-wrap:wrap}.upload-ready-status{flex-basis:100%}.upload-setup-actions .btn-primary{flex:1}}

.upload-progress-mask{position:absolute;z-index:2;inset:0;display:none!important;align-items:center;justify-content:center;flex-direction:column;padding:24px;background:var(--ui-surface-soft);cursor:wait}.upload-dropzone.is-uploading .upload-progress-mask{display:flex!important}.upload-progress-icon{display:grid!important;width:54px;height:54px;place-items:center;margin-bottom:13px;border-radius:15px;color:#3d9dbd!important;background:#e7f5f9;font-size:22px!important}.upload-progress-icon i{animation:upload-pulse 1.15s ease-in-out infinite}.upload-progress-mask>strong{margin:0;color:#365761;font-size:15px}.upload-progress-track{display:block!important;width:min(360px,70%);height:7px;margin-top:15px;overflow:hidden;border-radius:99px;background:#dcebed}.upload-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:#48a6c8;transition:width .16s ease}.upload-progress-meta{display:flex!important;width:min(360px,70%);align-items:center;justify-content:space-between;margin-top:7px;color:var(--ui-hint)!important;font-size:12px!important}.upload-progress-meta b{color:#338dab;font-size:14px}.upload-progress-meta small{font-size:12px;font-weight:400}@keyframes upload-pulse{0%,100%{opacity:.55;transform:translateY(1px)}50%{opacity:1;transform:none}}

.upload-dropzone.is-uploading .upload-progress-mask[hidden]{display:none!important}
.upload-unfinished-state{display:flex;min-height:218px;align-items:center;justify-content:center;flex-direction:column;padding:22px;border:1px dashed #c9dfe9;border-radius:13px;background:var(--ui-surface-soft);text-align:center}.upload-unfinished-icon{display:grid;width:54px;height:54px;place-items:center;margin-bottom:13px;border-radius:15px;color:#348fb3;background:#e5f4fa;font-size:21px}.upload-unfinished-state>strong{color:#315363;font-size:16px}.upload-unfinished-state>p{max-width:540px;margin:7px 0 0;color:#708c98;font-size:13px;line-height:1.5}.upload-unfinished-track{display:none;width:min(360px,75%);height:7px;margin-top:17px;overflow:hidden;border-radius:99px;background:#d8eaf1}.upload-unfinished-track span{display:block;width:38%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#62b8d3,#2a91ba);animation:upload-unfinished-slide 1.3s ease-in-out infinite}.upload-unfinished-state.is-processing .upload-unfinished-track{display:block}@keyframes upload-unfinished-slide{0%{transform:translateX(-110%)}100%{transform:translateX(280%)}}@media(prefers-reduced-motion:reduce){.upload-unfinished-track span{animation:none!important}}
.upload-cancel-limit-state{border-color:#eadfc8;background:#fffcf6}.upload-cancel-limit-state .upload-unfinished-icon{color:#b8873e;background:#fff4df}

.task-list {
    border: 1px solid var(--ui-line);
    border-radius: 16px;
    overflow: visible;
    background: #fff;
}

.task-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;min-height:78px;align-items:center;gap:15px;padding:17px 22px;border-bottom:1px solid var(--ui-line)}
.task-list .task-item:is(.task-attention,.field-attention,.is-attention){position:relative;margin:6px 8px;padding:10px 12px;border:2px solid #e8972a;border-radius:10px;background:#fffdf8;animation:task-attention-border 1s ease-in-out 5!important;transform:none!important;box-shadow:none!important}
@keyframes task-attention-border{0%,100%{border-color:rgba(232,151,42,.45)}50%{border-color:#e8972a}}

.task-item:last-child{border-bottom:0}
.task-file{display:flex;width:40px;height:40px;align-items:center;justify-content:center}
.task-info{min-width:0}
.task-title{display:flex;min-width:0;align-items:center;gap:10px}
.task-title>strong{display:block;min-width:0;max-width:600px;flex:0 1 auto;overflow:hidden;color:var(--ui-ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.task-title .task-status{flex:0 0 auto;margin:0}
.task-mode-switch{display:inline-flex;flex:0 0 26px;align-items:center;justify-content:center;width:26px;height:26px;margin:0;padding:0;border:0;border-radius:var(--ui-control-radius);background:transparent;color:var(--ui-tech-blue-dark);font-size:14px;cursor:pointer;transition:color .15s}
.task-mode-switch:hover{color:var(--ui-ui-blue-500)}
.task-mode-switch:focus{outline:0}
.task-mode-switch:focus-visible{outline:2px solid var(--ui-ui-blue-200);outline-offset:1px}
.task-mode-switch:disabled{opacity:.5;cursor:wait}
.task-mode-switch[hidden]{display:none}
.task-meta{display:block;margin-top:5px;color:var(--ui-hint);font-size:12px}
.task-actions{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:7px}
.task-actions .btn{min-width:max-content;flex:0 0 auto;text-decoration:none;white-space:nowrap}
@media(max-width:850px){.task-item{grid-template-columns:40px minmax(0,1fr);gap:11px;padding:15px}.task-title{flex-wrap:wrap;gap:5px 9px}.task-title>strong{flex-basis:100%;white-space:normal}.task-actions{grid-column:2;justify-content:flex-start}}

.empty-state {
    padding: 46px;
    color: var(--ui-muted);
    text-align: center;
}

.progress-panel {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 28px;
    padding: 20px 24px;
    border: 1px solid var(--ui-line);
    border-radius: 15px;
    background: #fff;
}

.progress-icon {
    display: flex;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: #9a5c17;
    background: #fff0d5;
    font-size: 19px;
}

.progress-panel h3 {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 700;
}

.progress-panel p {
    margin: 0;
    color: var(--ui-muted);
    font-size: 12px;
}

.progress-status {
    margin-left: auto;
    padding: 5px 10px;
    border-radius: 99px;
    color: var(--ui-green);
    background: var(--ui-mint);
    font-size:12px;
    font-weight: 700;
}

@media (max-width: 900px) {
    .login-shell {
        grid-template-columns: 1fr;
    }

    .login-intro {
        display: none;
    }

    .mobile-mark {
        display: inline-flex;
        margin-bottom: 24px;
    }

    .feature-grid {
        grid-template-columns: 1fr;
    }

    .feature-card {
        min-height: 240px;
    }
}

@media (max-width: 680px) {
    .app-container {
        width: min(100% - 28px, 1180px);
    }

    .login-panel {
        padding: 22px;
    }

    .login-card {
        padding: 30px 24px;
    }

    .app-header {
        height: 66px;
    }

    .site-brand > span:last-child,
    .app-nav,
    .user-meta {
        display: none;
    }

    .app-main {
        padding-top: 34px;
    }

    .welcome-panel {
        align-items: stretch;
        flex-direction: column;
        margin-bottom: 38px;
    }

    .page-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .quota-card {
        min-width: 0;
    }

    .progress-panel {
        align-items: flex-start;
    }

    .progress-status {
        display: none;
    }
}

/* 公共响应式规则置后，确保覆盖旧页面规则。 */
@media (max-width: 900px) {
    .app-sidebar { width: 68px; padding: 16px 10px; }
    .app-brand-wrap{justify-content:center}
    .app-home{display:none}
    .app-brand { justify-content: center; padding: 0 0 20px; }
    .app-brand > span:last-child,
    .side-link > span,
    .side-link > em,
    .side-account-copy,
    .side-account-toggle > i:last-child,
    .side-account-login > span,
    .side-account-login > i:last-child { display:none; }
    .side-link { justify-content: center; padding: 0; }
    .side-link > i { width: auto; }
    .side-submenu-toggle .side-submenu-chevron { display:none; }
    .side-submenu-items { position:absolute; z-index:35; top:0; left:calc(100% + 12px); width:170px; margin:0; padding:7px; border:1px solid #dbe8ed; border-radius:9px; background:#fff; box-shadow:0 8px 22px rgba(35,66,83,.13); transform:translateY(0); transition:opacity .18s ease,transform .18s ease; }
    .side-submenu-items::before { position:absolute; top:16px; left:-6px; z-index:1; width:10px; height:10px; border-left:1px solid #dbe8ed; border-bottom:1px solid #dbe8ed; background:#fff; content:""; transform:rotate(45deg); }
    .side-submenu-list { padding-left:0; border-left:0; }
    .side-submenu.is-expanding .side-submenu-items,.side-submenu.is-collapsing .side-submenu-items { grid-template-rows:1fr; margin:0; transform:translateY(-6px); }
    .side-account-toggle,.side-account-login { min-height:46px; justify-content:center; padding:5px; }
    .account-panel { left:calc(100% + 10px); }
.app-page-dashboard .app-main,
.app-page-recognize .app-main,
.app-page-member .app-main,
.app-page-knowledge .app-main,
.app-page-questions .app-main,
.app-page-quick .app-main,
.tools-app-page .app-main { margin-left: 68px; padding:var(--workspace-padding,20px 25px 30px); }
}

@media (max-width: 620px) {
    .app-sidebar { position: static; width: 100%; height: 58px; flex-direction: row; align-items: center; padding: 7px 10px; border-right: 0; border-bottom: 1px solid var(--ui-line); }
    .app-brand { padding: 0; }
    .app-brand .brand-mark { width: 50px; height: 50px; }
    .side-nav { flex: 1; flex-direction: row; justify-content: flex-end; gap: 0; }
    .side-link { width: 40px; min-height: 40px; flex:0 0 40px; }
    .side-submenu-items { top:calc(100% + 8px); right:0; left:auto; }
    .side-submenu-items::before { top:-6px; right:13px; left:auto; border:0; border-top:1px solid #dbe8ed; border-left:1px solid #dbe8ed; }
    .side-account-wrap { margin:0; }
    .side-account-toggle,.side-account-login { width:40px; min-height:40px; }
    .side-account-toggle > img { width:30px; height:30px; flex-basis:30px; }
    .account-panel { position:fixed; top:64px; right:10px; bottom:auto; left:10px; width:auto; }
    .account-panel::before { display:none; }
.app-page-dashboard .app-main,
.app-page-recognize .app-main,
.app-page-member .app-main,
.app-page-knowledge .app-main,
.app-page-questions .app-main,
.app-page-quick .app-main,
.tools-app-page .app-main { margin-left: 0; padding:var(--workspace-padding,20px 25px 30px); }
}
@media (prefers-reduced-motion:reduce) {
    .side-submenu-items,.side-submenu-toggle .side-submenu-chevron { transition:none; }
}

/* 识别入口操作区。 */
@media (min-width:901px){.app-page-recognize .app-main.capture-workspace{height:100dvh;overflow:hidden;padding:var(--workspace-padding,20px 25px 30px)}.app-page-recognize .app-main.capture-workspace>.capture-layout{height:100%;min-height:0}.capture-layout>aside:first-child{min-height:0;overflow:hidden}.capture-pages{height:100%;max-height:none}.capture-stage-shell{height:100%;overflow:hidden}.capture-stage{height:100%;min-height:0}.capture-tools{height:100%;min-height:0;overflow:hidden}}
@media (min-width:901px){body.app-page-recognize:has(.app-main.capture-workspace),body.app-page-recognize:has(.app-main.review-page){height:100dvh;overflow:hidden}.app-page-recognize .app-main.capture-workspace,.app-page-recognize .app-main.review-page{height:100dvh;max-height:100dvh;margin-top:0;overflow:hidden}}
@media (min-width:901px){.app-page-recognize .app-main.review-page{height:100dvh;overflow:hidden}.review-layout .question-editor{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0;}}

/* 会员积分及充值选项。 */
.member-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:30px 34px; border:1px solid #dbe9e3; border-radius:18px; background:linear-gradient(122deg,#f2faf6,var(--ui-surface-soft) 62%,#f5f7ff); }
.member-hero-actions { display:flex; align-items:center; gap:10px; }.member-total { min-width:142px; padding:15px 18px; border:1px solid #d7e9e0; border-radius:14px; color:#60766c; background:rgba(255,255,255,.8); text-align:center; }.member-total span { display:block; font-size:12px; }.member-total strong { color:#187457; font-size:32px; line-height:1.05; }.member-total em { margin-left:4px; color:#71857c; font-size:12px; font-style:normal; }

.member-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:18px; }.member-summary-card { display:flex; align-items:center; gap:13px; min-height:98px; padding:18px 20px; border:1px solid #dfeae5; border-radius:14px; background:#fff; box-shadow:var(--ui-shadow); }.member-summary-card > i { display:grid; width:42px; height:42px; place-items:center; border-radius:12px; color:#bc7a35; background:#fff4e6; font-size:19px; }.member-summary-card.is-refill > i { color:#3279a2; background:#eaf5fb; }.member-summary-card div { min-width:0; }.member-summary-card span,.member-summary-card small{ display:block; color:var(--ui-hint); font-size:12px; }.member-summary-card strong { display:block; margin:3px 0; color:#1e4135; font-size:20px; }.member-summary-card em,.member-summary-card b { margin-left:auto; padding:5px 8px; border-radius:12px; color:#a37231; background:#fff4e5; font-size:12px; font-style:normal; }.member-summary-card b { color:#bd534c; background:#fff0ef; }
.member-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.member-plan-section{margin-top:0}.plan-quick-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 1px}
.member-notice { display:flex; align-items:center; gap:9px; margin-top:16px; padding:12px 16px; border:1px solid var(--ui-line); border-radius:10px; color:var(--ui-text); background:var(--ui-surface-soft); font-size:13px; }.member-notice i { color:#268568; font-size:16px; }
.refill-disabled-tip{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:10px 13px;border:1px solid #efd2a9;border-radius:9px;color:#8b5c21;background:#fff8eb;font-size:13px}.refill-disabled-tip i{color:#c17a25}.member-section.is-refill-disabled .member-plans{opacity:.52;filter:grayscale(.72)}.member-section.is-refill-disabled .member-plan{box-shadow:none}.member-section.is-refill-disabled .member-plan:hover{border-color:var(--ui-line);box-shadow:none}.member-plan.is-unavailable{opacity:.52;filter:grayscale(.72);box-shadow:none}.member-plan.is-unavailable:hover{border-color:var(--ui-line);box-shadow:none}
.member-section { margin-top:28px; }.member-section-title { display:flex; align-items:end; justify-content:space-between; margin-bottom:12px; }.member-section-title h2 { margin:0; color:#1c4034; font-size:20px; }.member-section-title p { margin:5px 0 0; color:#81918b; font-size:13px; }.member-plans { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; }.member-plan { position:relative; overflow:hidden; min-height:220px; padding:21px; border:1px solid var(--ui-line); border-radius:14px; background:#fff; }.member-plan:hover { border-color:#a7d3bf; box-shadow:0 10px 24px rgba(37,111,81,.08); }.member-plan > i { color:#c08039; font-size:19px; }.member-plan.is-refill > i { color:#337ba2; }.member-plan h3 { margin:10px 0 8px; color:#333333; font-size:17px; }.member-plan-score { color:#333333; font-size:28px; font-weight:700; line-height:1.1; }.member-plan-score small{ color:var(--ui-hint); font-size:13px; font-weight:400; }.member-plan p { min-height:36px; margin:10px 0 16px; color:#778982; font-size:12px; line-height:1.6; }.member-plan footer { display:flex; align-items:center; justify-content:space-between; gap:10px; }.member-plan footer strong { font-size:20px; }.member-order-panel { padding:4px 0; }.member-order-table { margin:0; border:1px solid var(--ui-line); border-radius:12px; overflow:hidden; background:#fff; }.member-order-table th { border-top:0!important; color:#70837a; background:var(--ui-surface-soft); font-size:12px; font-weight:600; white-space:nowrap; }.member-order-table td { vertical-align:middle!important; color:#344a40; }.member-order-table td small{ display:block; margin-top:3px; color:var(--ui-hint); font-size:12px; }.member-order-table code { color:#345b9d; background:transparent; font-size:14px; }.order-status { display:inline-block; padding:3px 8px; border-radius:10px; color:#687a72; background:#eef2f0; font-size:12px; }.order-status.is-paid { color:#197456; background:#e7f5ed; }.order-status.is-pending { color:#a36b24; background:#fff3dc; }.order-status.is-refunded { color:#416e98; background:#edf5fd; }.member-pagination { display:flex; justify-content:center; margin-top:16px; }.member-pagination .pagination { margin:0; }.member-orders-hero { margin-bottom:2px; }
.member-order-product-type { color:#829289; font-size:12px; font-weight:400; }

.member-plan.is-membership{display:flex;flex-direction:column;min-height:315px;padding:22px 22px 18px;border-color:#dce8ed;box-shadow:0 5px 20px rgba(46,92,120,.035)}
.member-section:not(.is-refill-disabled) .member-plan:is(.is-refill,.is-membership):not(.is-unavailable):not(.is-recommended):not(.is-default):hover{border-color:#9bcdf0;box-shadow:0 0 0 1px rgba(155,205,240,.35),0 8px 22px rgba(75,151,202,.12)}
.member-plan.is-membership.is-recommended{background:#fffdf9}
.member-plan.is-membership.is-recommended:not(.is-unavailable){border-color:#f7c38e;box-shadow:0 0 0 1px #f7c38e,0 0 20px rgba(245,155,66,.24)}
.member-plan-recommend-badge{position:absolute;top:0;right:0;padding:5px 12px;border-radius:0 12px 0 10px;color:#fff;font-size:12px;font-weight:600;line-height:1.4}
.member-plan-recommend-badge{background:linear-gradient(135deg,#f5a34d,#ed812c)}
.member-plan.is-default{background:linear-gradient(rgba(94,126,155,.07),rgba(94,126,155,.07)),#fff;border-color:#cedae4}
.member-plan.is-recommended .member-buy.btn-primary:not(:disabled){--btn-border:#ed812c;--btn-bg:linear-gradient(135deg,#f5a34d,#ed812c);--btn-hover-border:#d97122;--btn-hover-bg:linear-gradient(135deg,#ee9439,#d97122);box-shadow:0 5px 12px rgba(237,129,44,.2),inset 0 1px 0 rgba(255,255,255,.3)}
.member-plan-head{display:flex;align-items:center;gap:11px;min-height:34px}
.member-plan-period{position:relative;display:flex;gap:4px;align-self:flex-start;margin-top:16px;padding:3px;background:var(--member-period-track,#f1f6fa);border-radius:8px}
.member-annual-tip{position:absolute;left:calc(100% - 20px);bottom:calc(100% + 5px);padding:3px 6px;border-radius:5px;color:#fff;background:#e64f53;font-size:11px;font-weight:500;line-height:16px;white-space:nowrap;pointer-events:none;animation:member-annual-tip-bounce 2.4s ease-in-out infinite}
.member-annual-tip::before{position:absolute;top:100%;left:6px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #e64f53;content:""}
@keyframes member-annual-tip-bounce{0%,40%,100%{transform:translateY(0)}20%{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.member-annual-tip{animation:none}}
.member-plan.is-recommended .member-plan-period{--member-period-track:#fff0df;--member-period-muted:#a47a50;--member-period-accent:#c66c20;--member-period-shadow:rgba(209,125,44,.18)}
.member-period{border:0;border-radius:6px;padding:5px 18px;background:transparent;color:var(--member-period-muted,#718596);font:inherit;font-size:13px;cursor:pointer}
.member-period.is-active{background:#fff;color:var(--member-period-accent,#168cce);box-shadow:0 1px 5px var(--member-period-shadow,rgba(24,83,117,.12))}
.member-plan.is-default .member-period:disabled{cursor:default;color:#718596;opacity:1}
.member-period:focus-visible{outline:2px solid var(--member-period-accent,#168cce);outline-offset:2px}
.member-plan-icon{display:inline-flex;width:34px;height:34px;flex:none;align-items:center;justify-content:center;border-radius:10px;background:#edf5fb;color:#398ab4;font-size:17px}
.member-plan.is-recommended .member-plan-icon{background:#fff0df;color:#d88a35}
.member-plan.is-membership h3{margin:0;color:#294958;font-size:17px;line-height:1.35}
.member-plan-quota{margin-top:18px;padding:13px 15px;border:1px solid #e1edf6;border-radius:10px;background:#f5f9fd}
.member-plan.is-recommended .member-plan-quota{border-color:#f6e4ce;background:#fffcf7}
.member-plan-quota>span{display:block;color:#68879a;font-size:12px;font-weight:600;line-height:1.4}
.member-plan-quota>div{display:flex;align-items:baseline;gap:8px;margin-top:3px}
.member-plan-quota strong{color:#253f55;font-size:32px;font-weight:700;line-height:1.05}
.member-plan-quota em{color:#637e91;font-size:13px;font-style:normal}
.member-plan-benefits{display:grid;gap:0;margin-top:12px}
.member-plan-benefits>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 2px;border-bottom:1px solid #edf1f3;font-size:13px}
.member-plan-benefits>[hidden]{display:none}
.member-plan-benefits span{color:#6c8390}
.member-plan-benefits strong{color:#34576b;font-size:13px;font-weight:600;white-space:nowrap}
.member-plan-benefits>div:first-child strong{color:#287da8}
.member-plan.is-membership .member-plan-description{min-height:0;margin:12px 0 17px;color:var(--ui-hint);font-size:12px;line-height:1.55}
.member-plan.is-membership footer{margin-top:auto;padding-top:15px;border-top:1px solid #e8eff1}
.member-plan.is-membership footer strong{font-size:21px;white-space:nowrap}

@media(max-width:480px){.member-plan.is-membership{min-height:300px;padding:19px}.member-plan-quota{margin-top:15px}}
@media (max-width:700px){.member-hero{padding:18px}.member-total{min-width:0;width:100%;text-align:left}.member-summary-grid{grid-template-columns:1fr}}
.capture-tools>h3{margin:8px 0 6px;padding-bottom:6px;border-bottom:1px solid #e4ece8;color:#253b32;font-size:15px}.capture-tools .capture-item{min-height:38px;display:block;padding:0;outline:0;}.capture-tools .capture-item:last-child{border-bottom:0}.capture-tools .capture-item b{font-size:13px}.capture-tools .capture-item span{font-size:12px}
.capture-tools .capture-next-wrap{padding-top:8px;background:transparent;}.capture-tools .capture-next-wrap .btn.btn-primary.btn-block{min-height:48px}.capture-tools .capture-pending-badge{border-color:#efc57c;color:#9b6517;background:#fff7e9;font-style:normal;font-weight:700;white-space:nowrap}.capture-tools .capture-item.is-pending b{color:#80581f}
.capture-box-toolbar{position:absolute;z-index:9;right:0;bottom:calc(100% + 6px);display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:4px;border:1px solid rgba(47,128,189,.2);border-radius:7px;background:rgba(255,255,255,.96);box-shadow:0 3px 10px rgba(47,128,189,.16);pointer-events:auto}.capture-box.toolbar-inside .capture-box-toolbar{top:6px;bottom:auto;right:6px}.capture-box-toolbar button{display:inline-flex;height:28px;align-items:center;justify-content:center;gap:4px;padding:0 8px;border:0;border-radius:5px;color:#39789f;background:#edf7fd;font:12px/28px Arial,"Microsoft YaHei",sans-serif;white-space:nowrap}.capture-box-toolbar button:hover{color:#fff;background:var(--ui-selection-blue)}.capture-box-toolbar button:disabled{color:var(--ui-neutral-disabled);background:var(--ui-neutral-soft);cursor:not-allowed}.capture-box-toolbar .capture-remove{color:#b44943;background:#fff0ee}.capture-box-toolbar .capture-remove:hover{color:#fff;background:#c84f48}.capture-figure-role{display:flex;align-items:center;gap:4px;margin:0;color:#637972;font:12px/28px Arial,"Microsoft YaHei",sans-serif;white-space:nowrap}.capture-figure-role select{height:28px;max-width:92px;padding:0 4px;border:1px solid #c9dfef;border-radius:5px;color:#39789f;background:#f7fbfe;font:12px Arial,"Microsoft YaHei",sans-serif}
.capture-cross-page-hint{display:flex;width:max-content;max-width:calc(100% - 36px);align-items:center;justify-content:center;gap:7px;box-sizing:border-box;margin:13px auto 2px;padding:7px 12px;border:1px solid #d5e3dc;border-radius:7px;color:var(--ui-hint);background:rgba(255,255,255,.72);font-size:12px;line-height:1.45;text-align:left}.capture-cross-page-hint[hidden]{display:none}.capture-cross-page-hint i{flex:0 0 auto;color:#198467}.capture-cross-page-hint span{min-width:0}
.capture-box.active .capture-shape,.capture-box.active .capture-shape polygon{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M12 1L8 6h3v5H6V8l-5 4 5 4v-3h5v5H8l4 5 4-5h-3v-5h5v3l5-4-5-4v3h-5V6h3z' fill='%231d2924' stroke='%23fff' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E") 12 12,move!important}.capture-box.active .capture-vertex,.capture-box.active .capture-vertex:active{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M3 2v17l4.7-4.4 3.2 6.3 3-1.5-3.2-6.2H17z' fill='%23111111' stroke='%23fff' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E") 3 2,default!important}.capture-box.active.edge-hover .capture-shape polygon{cursor:copy!important}
#capture-canvas.is-adding-figure,.is-adding-figure .capture-box.active .capture-shape,.is-adding-figure .capture-box.active .capture-shape polygon,.is-adding-figure .capture-box.active .capture-vertex{cursor:crosshair!important}
.capture-guide-panel{flex:0 0 auto;margin:0 0 8px;overflow:hidden;border:1px solid #cfe3da;border-radius:9px;background:#f8fbf9}.capture-entry-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:7px 7px 7px 9px;border-bottom:1px solid var(--ui-line);background:#f4f9f6}.capture-manual-mode{display:flex;align-items:center;min-width:0;gap:8px;color:#1c684f}.capture-manual-mode>i{display:grid;flex:0 0 31px;width:31px;height:31px;place-items:center;border-radius:7px;color:#fff;background:#198467;font-size:16px}.capture-manual-mode span{min-width:0}.capture-manual-mode strong,.capture-manual-mode small{display:block}.capture-manual-mode strong{color:#23483a;font-size:15px;line-height:1.3}.capture-manual-mode small{overflow:hidden;color:var(--ui-hint);font-size:13px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.capture-quick-guide{padding:9px 10px;color:#61766d;background:#fff;font-size:13px;line-height:1.6}.capture-quick-guide p{display:flex;align-items:center;gap:7px;margin:0 0 6px;color:#315b4b;font-size:14px}.capture-quick-guide p>i{color:#198467}.capture-quick-guide small{display:block;color:var(--ui-hint);font-size:13px;line-height:1.6}
@media (min-width:901px){.capture-tools #capture-items{flex:1 1 auto;height:auto;min-height:0;margin-bottom:2px;overflow-y:auto;overflow-x:hidden}}
.answer-editors{margin-top:18px;border:1px solid var(--ui-line);border-radius:10px;background:#fff;overflow:hidden}.answer-rich{min-height:76px;padding:10px 11px;border:1px solid var(--ui-line);border-radius:6px;outline:0;font-family:"Times New Roman","Microsoft YaHei",serif;font-size:15px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;background:#fcfffd;font-weight:400;}.answer-rich:focus{border-color:var(--ui-ui-blue-500);box-shadow:0 0 0 3px var(--ui-selection-blue-soft)}.answer-rich .inline-math{min-width:24px;border-bottom:1px dashed #9fcdb9}.answer-rich .inline-math::part(menu-toggle),.answer-rich .inline-math::part(virtual-keyboard-toggle){display:none}
.layout-canvas>.layout-block{margin-bottom:20px}.layout-canvas>.layout-choice .choice-grid{width:100%;box-sizing:border-box;margin:10px 0 4px;padding:0}.layout-canvas>.layout-choice .choice-item{width:100%;justify-content:flex-start}.layout-canvas>.layout-choice .choice-item .layout-rich{flex:1 1 auto;text-align:left}.list-preview-choices .list-preview-choice{text-align:left}
/* 三栏共用底栏参与网格布局，编辑内容只在上方滚动。 */
.review-layout>.editor-footer{position:relative;z-index:10;box-sizing:border-box;display:flex;grid-column:1/-1;grid-row:2;align-items:stretch;flex-direction:column;gap:4px;min-width:0;margin:0;padding:8px 12px;border:0;border-top:1px solid #dce8e2;border-radius:0 0 16px 16px;background:#fff;box-shadow:0 -5px 14px rgba(28,59,46,.07)}
.review-reference{position:relative;box-sizing:border-box;width:100%;min-width:0}
.review-reference-toggle{display:flex;box-sizing:border-box;width:fit-content;max-width:100%;height:30px;align-items:center;justify-content:center;gap:6px;padding:0 9px;border:1px solid var(--ui-line);border-radius:6px;background:var(--ui-surface-soft);color:var(--ui-nav-active);font-size:12px;font-weight:400;white-space:nowrap;transition:background .18s,border-color .18s}
.review-reference-toggle:hover:not(:disabled){border-color:var(--ui-ui-blue-300);background:var(--ui-selection-blue-soft)}
.review-reference-toggle:disabled{color:var(--ui-hint);opacity:.6;cursor:not-allowed}
.review-reference-toggle>.fa:last-child{margin-left:auto;transition:transform .18s}
.review-reference-toggle[aria-expanded="true"]>.fa:last-child{transform:rotate(180deg)}
.review-reference-panel{position:absolute;z-index:30;bottom:calc(100% + 8px);left:0;display:flex;box-sizing:border-box;width:min(500px,calc(100vw - 32px));height:auto;min-height:110px;max-height:min(46dvh,400px,calc(100dvh - 110px));flex-direction:column;overflow:hidden;border:1px solid var(--ui-line);border-radius:12px 12px 8px 8px;background:#fff;box-shadow:0 -8px 26px rgba(35,66,83,.13);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity .18s,transform .18s,visibility .18s}
.review-reference-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.review-layout>.question-editor{isolation:isolate}
.review-reference-heading{display:flex;flex:0 0 auto;min-height:45px;align-items:center;justify-content:space-between;gap:6px;padding:7px 9px 7px 12px;border-bottom:1px solid var(--ui-line);background:var(--ui-surface-soft)}
.review-reference-heading>div{display:flex;min-width:0;align-items:baseline;flex-wrap:wrap;gap:4px 7px}
.review-reference-heading strong{color:var(--ui-ink);font-size:13px}
.review-reference-number{color:var(--ui-hint);font-size:11px;white-space:nowrap}
.review-reference-collapse{display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ui-muted);font-size:18px}
.review-reference-collapse:hover{border-color:var(--ui-line);background:#fff;color:var(--ui-nav-active)}
.review-reference-toggle:focus-visible,.review-reference-collapse:focus-visible,.review-reference-retry:focus-visible{outline:2px solid var(--ui-ui-blue-500);outline-offset:2px}
.review-reference-body{flex:1 1 auto;min-height:0;padding:10px;overflow:auto;overscroll-behavior:contain;background:#f5f9fc;scrollbar-width:thin}
.review-reference-status{display:flex;min-height:130px;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding:12px 0;color:var(--ui-hint);font-size:12px;line-height:1.6;text-align:center}
.review-reference-status>i{display:none;color:var(--ui-nav-active);font-size:24px}
.review-reference-status.is-loading>i{display:inline-block}
.review-reference-status[hidden],.review-reference-retry[hidden]{display:none}
.review-reference-retry{padding:4px 10px;border:1px solid var(--ui-line);border-radius:6px;color:var(--ui-nav-active);background:#fff;font-size:12px}
.review-reference-images{display:flex;flex-direction:column;gap:10px}
.review-reference-image{margin:0;padding:6px;border:1px solid var(--ui-line);border-radius:7px;background:#fff}
.review-reference-image figcaption{margin:0 0 6px;color:var(--ui-muted);font-size:11px}
.review-reference-image img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto}
.review-reference-image svg{display:block;width:100%;height:auto}
.review-reference-image svg.is-hidden,.review-reference-image img[hidden]{display:none}
.review-reference-view-toggle{display:block;margin:8px auto 0;padding:5px 10px;border:1px solid var(--ui-line);border-radius:6px;background:var(--ui-surface-soft);color:var(--ui-primary-border);font-size:12px;cursor:pointer}
.review-reference-image-error{margin:8px 0;color:var(--ui-hint);font-size:12px;text-align:center}
.review-layout:has(.review-reference-panel.is-open)>.editor-footer{z-index:25}
@media(prefers-reduced-motion:reduce){.review-reference-panel,.review-reference-toggle>.fa:last-child{transition:none}}
@media(min-width:1366px){.review-reference-panel{width:min(500px,calc(100vw - 310px))}}
@media(min-width:768px) and (max-width:1365px){.review-reference-panel{width:min(500px,calc(100vw - 112px))}}
.editor-footer .editor-actions{display:flex;width:100%;min-width:0;gap:8px;margin:0}
.editor-footer .editor-actions button,.editor-footer .editor-actions a{box-sizing:border-box;flex:1 1 0;margin:0}
.editor-footer .editor-actions a{display:inline-block;text-decoration:none;text-align:center}

/* 校对表单沿用 Bootstrap 控件视觉，字段名称与答案内容使用常规字重。 */

.editor-title-hint{margin-left:10px;color:var(--ui-muted);font-size:12px;font-weight:400}

/* 答案与解析按内容自适应高度；达到上限后在编辑区内滚动。 */
#answer-editor{display:block;width:100%;box-sizing:border-box;overscroll-behavior:contain}
.choice-answer-options{display:flex;min-height:42px;align-items:center;flex-wrap:wrap;gap:8px;padding:7px 9px;border:1px solid var(--ui-line);border-radius:8px;background:#fff}.choice-answer-options label{display:inline-flex!important;min-width:54px;height:28px;align-items:center;justify-content:center;gap:7px;margin:0!important;padding:0 11px!important;border:1px solid #d8e5ee!important;border-radius:6px;color:var(--ui-question-option-text);background:#fff;font-size:14px;font-weight:500!important;cursor:pointer;transition:border-color .16s,background .16s,color .16s}.choice-answer-options label>span{display:block;margin:0!important;padding:0;line-height:1}.choice-answer-options label:hover{border-color:var(--ui-ui-blue-300)!important;background:var(--ui-ui-blue-50)}.choice-answer-options input{position:relative;width:15px;height:15px;flex:0 0 15px;margin:0;border:1px solid var(--ui-ui-blue-300);background:#fff;appearance:none;-webkit-appearance:none;outline:0!important;box-shadow:none!important}.single-choice-answer input{border-radius:50%}.multiple-choice-answer input{border-radius:3px}.choice-answer-options input:checked{border-color:var(--ui-ui-blue-600);background:var(--ui-ui-blue-600)}.single-choice-answer input:checked:after,.multiple-choice-answer input:checked:after{position:absolute;left:4px;top:1px;width:4px;height:8px;border-right:2px solid #fff;border-bottom:2px solid #fff;content:"";transform:rotate(45deg)}.choice-answer-options label:has(input:checked){border-color:var(--ui-ui-blue-300)!important;color:var(--ui-question-option-text);background:var(--ui-ui-blue-50)}.choice-answer-options input:focus-visible{outline:2px solid var(--ui-ui-blue-300)!important;outline-offset:2px}
.answer-type-compact{min-height:54px!important}
.answer-type-expanded{min-height:76px!important}
#analysis-editor{position:relative;z-index:2;display:block;width:100%;box-sizing:border-box;overscroll-behavior:contain;pointer-events:auto;cursor:text}
#answer-editor .rich-text,#analysis-editor .rich-text{display:inline;user-select:text;pointer-events:auto;cursor:text}
#answer-editor .rich-text[contenteditable="true"],#analysis-editor .rich-text[contenteditable="true"]{min-width:1px;padding:0!important;border:0!important;border-radius:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;white-space:pre-wrap;caret-color:#172b24}
#answer-editor:focus-within,#analysis-editor:focus-within{border-color:var(--ui-ui-blue-500);box-shadow:0 0 0 3px var(--ui-selection-blue-soft)}
.answer-editors>.answer-field{display:block;margin:0;padding:13px 15px;border-top:1px solid #edf2ef}
.answer-editors>.answer-field>span{display:block;margin-bottom:8px;color:#1d4c3e;font-weight:400}

/* 校对页统一使用页面级公式工具栏，公式内部不再重复显示键盘和菜单入口。 */
.layout-canvas math-field::part(menu-toggle),.layout-canvas math-field::part(virtual-keyboard-toggle),.answer-editors math-field::part(menu-toggle),.answer-editors math-field::part(virtual-keyboard-toggle){display:none!important}
.editor-pane>.shared-formula-toolbar{margin:0 0 12px}

.answer-editors[hidden]{display:none!important}

.layout-text-actions .recapture-current{margin-left:auto}
.editor-footer .editor-actions > button:disabled{opacity:.52;box-shadow:none;transform:none;cursor:not-allowed;}

/* 框选列表状态：待确认可点击，待识别只读。 */
.capture-tools .capture-item-state{display:flex;align-items:center;justify-content:flex-end;min-width:0;flex:1;gap:4px;}.capture-tools .capture-ready-badge{display:inline-flex;align-items:center;padding:2px 6px;border:1px solid #d5ddd9;border-radius:4px;color:#7c8983;background:var(--ui-neutral-hover);font-size:12px;font-style:normal;font-weight:700;white-space:nowrap;cursor:default;pointer-events:none}.capture-tools button.capture-pending-badge{cursor:pointer}.capture-tools button.capture-pending-badge:hover,.capture-tools button.capture-pending-badge:focus{border-color:#dda84d;color:#7f5011;background:#ffefd2;outline:0}
.capture-tools .capture-item-main{display:flex;min-height:38px;align-items:center;justify-content:space-between;gap:6px;padding:7px 8px;border-left:3px solid transparent;cursor:pointer;transition:background .16s,border-color .16s}.capture-tools .capture-item:hover .capture-item-main,.capture-tools .capture-item:focus .capture-item-main{background:var(--ui-mint)}.capture-tools .capture-item.active{background:transparent;border-left:0}.capture-tools .capture-item.active .capture-item-main{padding-left:5px;border-left-color:var(--ui-selection-blue-dark);background:#eef7fd;box-shadow:inset 0 0 0 1px rgba(47,128,189,.1)}.capture-tools .capture-item-main>b{display:flex;min-width:0;align-items:baseline;gap:5px;white-space:nowrap}.capture-tools .capture-item-segment-meta{overflow:hidden;color:var(--ui-hint);font-size:12px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}
.editor-extra-grid{margin-top:0}.editor-extra-grid label small{color:var(--ui-hint);font-size:12px;font-weight:400}.editor-extra-grid .form-control{height:36px}

/* 底栏参与实际布局：内容只在上方滚动，绝不从底栏下穿透。 */
@media (min-width:901px){

    .question-form{display:flex!important;flex-direction:column;height:100%;min-height:0}
    .question-editor>.question-form{flex:1 1 auto}
    .editor-content{position:relative;z-index:0;flex:1 1 auto;min-height:0;overflow:auto;padding:0 28px 20px;}
}
/* 校对编辑区与属性区的桌面布局。 */
@media (min-width:1024px){

    .review-layout .question-editor{position:relative;order:2;border:0}
    .question-publish-sidebar{display:flex;flex-direction:column;order:3;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;border-left:1px solid var(--ui-line);background:var(--ui-surface-soft)}

    .review-layout>.editor-footer{display:grid;grid-template-columns:220px minmax(0,1fr) 140px 12px 140px minmax(0,1fr) var(--ui-workspace-right-width);align-items:center;gap:0;padding:8px 0}
    .editor-footer .review-reference{grid-column:1;padding:0 12px}
    .editor-footer .editor-actions{display:contents}
    .editor-footer .editor-actions .ignore-current{grid-column:3;width:140px;justify-self:center}
    .editor-footer .editor-actions .save-current{grid-column:5;width:140px;justify-self:center}
    .editor-footer .editor-actions .save-questions{grid-column:7;width:calc(100% - 8px);justify-self:center}
}
/* 紧凑桌面窗口保留三栏：收起主导航，题目列表与入库栏适度变窄。 */
@media (min-width:768px) and (max-width:1365px){
    body.app-page-recognize:has(.review-page) .app-sidebar{width:68px;padding:16px 10px}
    body.app-page-recognize:has(.review-page) .app-brand-wrap{justify-content:center}
    body.app-page-recognize:has(.review-page) .app-home{display:none}
    body.app-page-recognize:has(.review-page) .app-brand{justify-content:center;padding:0 0 20px}
    body.app-page-recognize:has(.review-page) .app-brand>span:last-child,
    body.app-page-recognize:has(.review-page) .side-link>span,
    body.app-page-recognize:has(.review-page) .side-link>em,
    body.app-page-recognize:has(.review-page) .side-account-copy,
    body.app-page-recognize:has(.review-page) .side-account-toggle>i:last-child,
    body.app-page-recognize:has(.review-page) .side-account-login>span,
    body.app-page-recognize:has(.review-page) .side-account-login>i:last-child,
    body.app-page-recognize:has(.review-page) .side-submenu-chevron{display:none}
    body.app-page-recognize:has(.review-page) .side-link{justify-content:center;padding:0}
    body.app-page-recognize:has(.review-page) .side-link>i{width:auto}
    body.app-page-recognize:has(.review-page) .side-submenu-items{position:absolute;z-index:35;top:0;left:calc(100% + 12px);width:170px;margin:0;padding:7px;border:1px solid #dbe8ed;border-radius:9px;background:#fff;box-shadow:0 8px 22px rgba(35,66,83,.13)}
    body.app-page-recognize:has(.review-page) .side-submenu-list{padding-left:0;border-left:0}
    body.app-page-recognize:has(.review-page) .side-account-toggle,
    body.app-page-recognize:has(.review-page) .side-account-login{min-height:46px;justify-content:center;padding:5px}
    body.app-page-recognize:has(.review-page) .account-panel{left:calc(100% + 10px)}
    body.app-page-recognize .app-main.review-page{margin-left:68px}
}
@media (min-width:1024px) and (max-width:1365px){
    .review-layout>.editor-footer{grid-template-columns:160px minmax(0,1fr) 140px 12px 140px minmax(0,1fr) 230px}

}
@media (max-width:1023px){
    .question-publish-sidebar{display:none}
}
@media (max-width:1023px){
    .review-layout .question-editor{box-sizing:border-box;order:2;width:100%;min-width:0}

}
@media (max-width:1023px){
    .editor-footer .editor-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
    .editor-footer .editor-actions .save-questions{grid-column:1/-1}
}
.capture-split-confirm{color:#42524d;line-height:1.7}.capture-split-confirm>p{margin:0 0 12px}.capture-split-confirm>p strong{color:#173e33;font-size:16px}.capture-split-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 16px}.capture-split-preview>span{position:relative;display:flex;align-items:center;justify-content:center;min-height:180px;padding:8px 8px 30px;border:1px solid #dfe8e5;border-radius:8px;background:#fff;overflow:hidden}.capture-split-preview>span>small{position:absolute;left:0;right:0;bottom:5px;text-align:center;color:var(--ui-hint)}.capture-split-note{padding:10px 12px;border-radius:8px;background:#fff8e8;color:#806327}@media(max-width:680px){.capture-split-preview{grid-template-columns:1fr}.page-split-dialog{max-width:calc(100vw - 24px)}}
.score-delta{font-weight:700}.score-delta.is-plus{color:#18805e}.score-delta.is-minus{color:#cf554d}.order-status.is-rewarded{color:#197456;background:#e7f5ed}.order-status.is-invalid{color:var(--ui-neutral-text);background:var(--ui-neutral-soft)}
.member-subpage .member-page-heading{margin-bottom:18px}.member-subpage .member-record-card{margin-top:0;padding:21px 24px;border:1px solid var(--ui-line);border-radius:14px;background:#fff}.member-record-card .table-responsive{border:0;overflow-x:auto}.member-record-card .member-order-table{margin:0;border:0;border-radius:0}.member-record-card .member-order-table th,.member-record-card .member-order-table td{padding:12px}.member-record-card .member-order-table tbody tr:hover{background:#f8fbfd}.member-record-balance{display:flex;flex:0 0 auto;align-items:baseline;gap:5px;padding:8px 11px;border:1px solid #dcebf4;border-radius:9px;color:#6b8998;background:#f5f9fc;font-size:12px}.member-record-balance strong{color:#2e739d;font-size:20px;line-height:1}.member-record-balance em{font-size:12px;font-style:normal}.member-record-empty{display:flex;min-height:170px;align-items:center;justify-content:center;flex-direction:column;border:1px dashed #d7e7ee;border-radius:10px;background:#f9fcfd;text-align:center}.member-record-empty>span{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;color:var(--ui-hint);background:#eaf4f8;font-size:18px}.member-record-empty strong{margin-top:10px;color:#526e7b;font-size:14px}.member-record-empty p{margin:4px 12px 0;color:var(--ui-hint);font-size:12px}.member-record-empty>a{margin-top:12px;color:#398ab4;font-size:12px;text-decoration:none}.member-record-empty>a:hover{text-decoration:underline}.member-record-page .score-delta{display:inline-block;min-width:45px;padding:4px 8px;border-radius:7px;text-align:center}.member-record-page .score-delta.is-plus{background:#ecf7f1}.member-record-page .score-delta.is-minus{background:#fff1ef}
.invite-page .invite-card{margin-top:0;margin-bottom:20px;padding:24px;border:1px solid var(--ui-line);border-radius:14px}.invite-card-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.invite-card-heading>div{min-width:0;flex:1}.invite-card-icon{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border-radius:11px;color:#348eb7;background:#eaf5fb;font-size:18px}.invite-card-heading h2{margin:0;color:#315363;font-size:17px}.invite-card-heading p{margin:3px 0 0;color:var(--ui-muted);font-size:12px}.invite-reward-tip{display:inline-flex;align-items:center;gap:5px;margin-left:auto;padding:4px 8px;border:1px solid #f0d6a7;border-radius:6px;color:#9a6a20;background:#fff8e9;font-size:12px;line-height:1.35;white-space:nowrap}.invite-reward-tip i{color:#d99436}.invite-reward-tip strong{color:#c87822;font-size:13px;font-weight:700}.invite-share-grid{display:grid;gap:14px}.invite-link-panel{min-width:0;padding:14px 16px;border:1px solid #e0eaee;border-radius:10px;background:#f8fbfd}.invite-link-panel>label{display:block;margin:0 0 8px;color:#6e8791;font-size:12px;font-weight:600}.invite-link{display:flex;min-width:0;gap:10px}.invite-page .invite-link .form-control{min-width:0;min-height:var(--ui-control-height);height:var(--ui-control-height);flex:1 1 auto;background:#fff}.invite-page .invite-link .invite-copy{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:var(--ui-control-height);flex-shrink:0}.invite-card .invite-card-tip{display:flex;align-items:flex-start;gap:7px;margin:15px 0 0;color:var(--ui-muted);font-size:12px;line-height:1.6}.invite-card-tip i{margin-top:2px;color:#71a9bf}
@media(max-width:700px){.member-subpage .member-page-heading{align-items:flex-start;gap:12px}.member-subpage .member-record-card,.invite-page .invite-card{padding:18px}.invite-card-heading{align-items:flex-start;flex-wrap:wrap}.invite-reward-tip{margin-left:52px}.invite-link{flex-direction:column}.invite-copy{align-self:stretch}}

/* 微信 Native 支付弹窗 */
.wechat-pay-dialog{display:flex;min-height:450px;align-items:center;flex-direction:column;padding:28px 24px 22px;background:linear-gradient(180deg,#f5fcf8 0,#fff 42%);text-align:center}.wechat-pay-brand{display:flex;align-items:center;gap:8px;color:#244b3c;font-size:18px}.wechat-pay-brand i{color:#07c160;font-size:25px}.wechat-pay-qrcode{display:flex;width:224px;height:224px;overflow:hidden;align-items:center;justify-content:center;margin:20px 0 12px;padding:11px;border:1px solid #dbece4;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(29,103,72,.08)}.wechat-pay-qrcode canvas,.wechat-pay-qrcode img{max-width:200px!important;max-height:200px!important}.wechat-pay-amount{color:#657d73;font-size:16px}.wechat-pay-amount strong{color:#ef6a43;font-size:27px}.wechat-pay-status{display:flex;align-items:center;gap:7px;margin:12px 0 7px;color:#597368;font-size:13px}.wechat-pay-status i{color:#07a956}.wechat-pay-dialog>small{max-width:320px;overflow:hidden;color:var(--ui-hint);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.wechat-pay-dialog.is-success .wechat-pay-qrcode{opacity:.4}.wechat-pay-dialog.is-success .wechat-pay-status{color:#168b52;font-weight:600}@media(max-width:420px){.wechat-pay-layer{width:calc(100vw - 24px)!important}.wechat-pay-dialog{padding-right:14px;padding-left:14px}}

/* 校对页属性区：与题库相同的轻量下拉选择器。 */
.pretty-select-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.pretty-dropdown{position:relative;margin-top:7px}
.pretty-toggle{display:grid;width:100%;height:38px;grid-template-columns:28px minmax(0,1fr) 14px;gap:8px;align-items:center;padding:0 10px 0 6px;border:1px solid var(--ui-line);border-radius:9px;color:var(--ui-ui-control-text,#263842);background:transparent;font-weight:400;text-align:left;transition:.18s}
.pretty-toggle:hover,.pretty-dropdown.is-open .pretty-toggle{color:var(--ui-ui-control-text,#263842);border-color:var(--ui-ui-blue-300,#9ebfe8);background:transparent}
.pretty-toggle:disabled{color:#8b9893;cursor:not-allowed;opacity:.68}
.pretty-toggle>.fa:last-child{color:#8ba1b3;text-align:center;transition:.18s}
.pretty-dropdown.is-open .pretty-toggle{box-shadow:0 0 0 3px rgba(82,151,220,.12)}
.pretty-dropdown.is-open .pretty-toggle>.fa:last-child{transform:rotate(180deg)}
.pretty-menu{position:absolute;z-index:35;top:calc(100% + 6px);left:0;display:none;width:100%;max-height:250px;padding:5px;border:1px solid var(--ui-line);border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(62,91,122,.13);overflow:auto}
.pretty-dropdown.is-open .pretty-menu{display:block}
.pretty-option{display:flex;width:100%;min-height:34px;align-items:center;justify-content:space-between;padding:7px 9px;border:0;border-radius:7px;color:#42545f;background:#fff;font-weight:400;text-align:left}
.pretty-option:hover,.pretty-option.is-active{color:var(--ui-ui-active-text,#3e78ad);background:var(--ui-ui-active-soft,#eaf4ff)}
.pretty-option:disabled,.pretty-option:disabled:hover{color:var(--ui-neutral-disabled);background:var(--ui-surface-soft);cursor:not-allowed;opacity:.72}
.pretty-option i{font-size:12px}
.pretty-dropdown.opens-up .pretty-menu{top:auto;bottom:calc(100% + 6px);box-shadow:0 -12px 30px rgba(31,71,58,.14)}.review-fields-card{margin-bottom:16px;padding:14px;border:1px solid #dce8e3;border-radius:10px;background:var(--ui-surface-soft)}.review-fields-card[hidden]{display:none!important}.review-fields-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 14px;color:var(--ui-ink);line-height:1.4}.review-fields-heading strong{font-size:16px}.review-fields-heading small{color:var(--ui-muted);font-size:12px;font-weight:400;white-space:nowrap}.review-fields-card .editor-grid{gap:12px;margin-bottom:12px}.review-fields-card .editor-extra-grid{margin-bottom:0}.review-fields-card .knowledge-editor{margin-top:7px;box-sizing:border-box;width:100%;min-width:0;max-width:100%;}
.review-fields-heading .review-current-label{font-size:14px}.review-fields-heading .review-current-label strong{color:#3c7160;font-size:inherit;font-weight:700}
.image-role-select .pretty-dropdown{flex:1;min-width:0;margin-top:0}.image-role-select .pretty-menu{z-index:48;width:max(100%,190px);}.image-role-select:has(.pretty-dropdown):after,.single-choice-wrap:has(.pretty-dropdown):after{display:none}
.editor-pane>.visual-editor-wrap:has(.image-role-select .pretty-dropdown.is-open){position:relative;z-index:5}.layout-canvas .choice-item:has(.image-role-select .pretty-dropdown.is-open),.layout-canvas .layout-image:has(.image-role-select .pretty-dropdown.is-open){position:relative;z-index:2}
.layout-image-section{overflow:visible;margin-top:-8px;}
.editor-pane #answer-editor:has(.pretty-dropdown),.editor-pane #answer-editor.answer-type-compact:has(.pretty-dropdown){max-height:none!important;overflow:visible!important}.editor-pane #answer-editor .pretty-dropdown{z-index:60}.image-role-select .pretty-option{min-height:30px;padding:6px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.choice-images .image-role-select .pretty-option{min-height:29px;font-size:12px}
.review-fields-card label>small,.review-fields-card .editor-field>small{color:var(--ui-hint);font-size:12px;font-weight:400;line-height:1.4}
.review-fields-card .editor-grid>*{min-width:0}
.review-fields-card .editor-grid .form-control{box-sizing:border-box;width:100%;min-width:0}

.review-fields-card .knowledge-field-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.review-fields-card .knowledge-field-heading .field-note{margin-left:auto;text-align:right;white-space:nowrap}
.review-fields-card .editor-extra-grid .editor-field.review-category-source{display:grid;gap:18px}
.review-fields-card .review-category-source>label{display:block;margin:0}
.review-fields-card .review-category-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.review-fields-card .review-category-heading .tree-manage{flex:0 0 auto}
.app-body .review-fields-card .knowledge-editor{height:auto;min-height:38px;align-items:center;flex-direction:row;flex-wrap:wrap;gap:5px;padding:5px 7px;overflow:visible}
.app-body .review-fields-card .knowledge-editor .knowledge-tags{display:contents}
.app-body .review-fields-card .knowledge-editor>#knowledge-input{box-sizing:border-box;width:auto;min-width:40px;height:26px;min-height:26px;max-height:26px;flex:1 1 40px;margin:0;padding:3px 5px;border:0;border-radius:0;background:transparent;box-shadow:none;font:12px/1.55 Arial,"Microsoft YaHei",sans-serif;resize:none}
.app-body .review-fields-card .knowledge-editor>#knowledge-input:hover,.app-body .review-fields-card .knowledge-editor>#knowledge-input:focus{border:0;background:transparent;box-shadow:none;outline:0}
@media(max-width:620px){.review-fields-card{padding:11px}.pretty-menu{position:fixed;top:auto;right:14px;bottom:14px;left:14px;width:auto;max-height:45vh}.review-page .editor-content .pretty-menu{position:absolute;top:calc(100% + 6px);right:auto;bottom:auto;left:0;width:100%}.review-page .editor-content .pretty-dropdown.opens-up .pretty-menu{top:auto;bottom:calc(100% + 6px)}}

/* 校对编辑区使用一个整体容器，内部区块以标题、留白和分隔线组织。 */
.editor-content>.editor-pane{box-sizing:border-box;padding:0;border:0;background:#fff}
.editor-pane>.review-fields-card{margin:0 0 20px;padding:0 0 18px;border:0;border-bottom:1px solid #e7efec;border-radius:0;background:transparent}
.question-editor-properties>.review-fields-card{flex:0 0 auto;margin:0;padding:17px 15px 20px;border:0;border-radius:0;background:transparent}.question-editor-properties>.review-fields-card .editor-grid{grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:14px}.question-editor-properties>.review-fields-card .editor-extra-grid{margin-bottom:0}.question-editor-properties>.review-fields-card .editor-field,.question-editor-properties>.review-fields-card label{display:block;min-width:0;line-height:1.45}.question-editor-properties>.review-fields-card .field-note{display:block;margin-top:3px}
.editor-pane>.visual-editor-wrap{margin-bottom:20px;border:0;border-bottom:1px solid #e7efec;border-radius:0;background:transparent;overflow:visible}

.editor-pane>.answer-editors{margin:0;border:0;border-radius:0;background:transparent;overflow:visible;display:grid;grid-template-columns:minmax(0,1fr);gap:20px;}
.editor-pane>.answer-editors>.answer-field{padding:12px 0;border-top:1px solid #edf2ef}.editor-pane>.answer-editors>.answer-field:first-child{padding-top:0;border-top:0}.editor-pane>.answer-editors>.answer-field>span{font-weight:700;margin:0 0 6px;padding:4px 8px;}
@media(max-width:620px){.editor-content>.editor-pane{padding:12px}.editor-pane>.review-fields-card{padding:0 0 15px}}

/* 校对内容统一为单列选项；答案与解析沿用题干区块的视觉。 */
.layout-figure-tools{display:flex;box-sizing:border-box;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:16px;margin:0 0 20px;padding:9px 10px;border:1px dashed var(--ui-line);border-radius:8px;background:#fbfefc}
.layout-figure-tools .layout-block-title{display:flex;min-width:0;align-items:center;gap:8px;color:#40574f}.layout-figure-tools .layout-block-title strong{color:#263d35;font-size:13px}.layout-figure-tools .layout-block-title small{color:var(--ui-hint);font-size:12px;font-weight:400}
.figure-add-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.figure-add-actions label{display:flex;align-items:center;gap:6px;margin:0;color:#71867d;font-size:12px;font-weight:400}.figure-add-role{box-sizing:border-box;height:30px;min-width:98px;padding:3px 25px 3px 9px;border:1px solid #c9dfef;border-radius:6px;color:#39789f;background:#fff;font-size:12px;line-height:22px;cursor:pointer}.figure-add-actions .image-add{height:30px;margin-left:0;padding:0 10px}.figure-add-actions .image-add i{margin:0;font-size:12px}

.layout-choice .choice-grid:not(.is-image-choice-layout) .choice-item .choice-content>.layout-rich{display:block;width:100%;box-sizing:border-box;cursor:text}
.layout-canvas>.layout-choice{box-sizing:border-box;padding:10px;border:1px dashed var(--ui-line);border-radius:8px;background:#fbfefc;box-shadow:none}.layout-canvas>.layout-choice:hover,.layout-canvas>.layout-choice:focus-within{border-color:var(--ui-light-action-hover-line);background:var(--ui-surface-soft);box-shadow:0 0 0 2px rgba(53,151,220,.06)}
.layout-choice .choice-grid.is-image-choice-layout .choice-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 7px;min-width:0;padding:8px;border:1px solid #dceae4;border-radius:8px;background:#fff;height:100%;}.layout-choice .choice-grid.is-image-choice-layout .choice-key{grid-column:1;grid-row:1;padding-top:4px}.layout-choice .choice-grid.is-image-choice-layout .choice-row-actions{grid-column:2;grid-row:1;flex:initial;margin:0}.layout-choice .choice-grid.is-image-choice-layout .choice-content{grid-column:1/-1;grid-row:2;min-width:0}.layout-choice .choice-grid.is-image-choice-layout .choice-content>.layout-rich{display:none}.layout-choice .choice-grid.is-image-choice-layout .choice-images{justify-content:center;margin:0}.layout-choice .choice-grid.is-image-choice-layout .choice-images .layout-image{flex:0 1 190px;width:190px;border:0;}

.layout-choice .choice-grid.is-image-choice-layout .choice-content:has(>.layout-rich:only-child){display:flex;align-items:center;justify-content:center;color:#91aaa0;font-size:12px}
.layout-choice .choice-grid.is-image-choice-layout .choice-content:has(>.layout-rich:only-child)::after{content:'待添加配图'}
@media(max-width:620px){.layout-figure-tools{align-items:flex-start;flex-direction:column;gap:9px}.figure-add-actions{width:100%}.figure-add-actions label{flex:1 1 auto}.figure-add-role{width:100%}.figure-add-actions .image-add{flex:0 0 auto}}

.editor-pane>.answer-editors>.answer-field,.editor-pane>.answer-editors>.answer-field:first-child{box-sizing:border-box;margin:0;padding:10px;border:1px dashed var(--ui-line);border-radius:8px;background:#fbfefc;transition:border-color .15s,background .15s,box-shadow .15s}
.editor-pane>.answer-editors>.answer-field:hover,.editor-pane>.answer-editors>.answer-field:focus-within{border-color:var(--ui-light-action-hover-line);background:var(--ui-surface-soft);box-shadow:0 0 0 2px rgba(53,151,220,.06)}

.paste-recognizing{position:fixed;z-index:1200;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(239,246,242,.88);backdrop-filter:blur(3px)}.paste-recognizing[hidden]{display:none!important}.paste-recognizing .capture-recognize-progress-card{grid-column:auto}.paste-recognizing .capture-recognize-progress-track span{width:42%;animation:ui-loading-slide 1.1s ease-in-out infinite}
.paste-dialog{padding:4px 2px}.paste-dialog>p{margin:0 0 10px}.paste-target{display:flex;flex-direction:column;justify-content:center;min-height:92px;padding:14px;border:1px dashed var(--ui-ui-blue-200);border-radius:8px;color:var(--ui-muted);background:var(--ui-surface-soft);text-align:center;outline:0}.paste-target:focus{border-color:var(--ui-ui-blue-500);background:var(--ui-ui-blue-50)}.paste-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:8px}.paste-images span{position:relative;display:block}.paste-images b{position:absolute;z-index:1;top:4px;left:4px;display:grid;width:20px;height:20px;place-items:center;border-radius:50%;color:#fff;background:var(--ui-ui-blue-600);font-size:12px}.paste-image-remove{position:absolute;z-index:2;top:4px;right:4px;display:grid;width:18px;height:18px;padding:0;place-items:center;border:0;border-radius:50%;color:#fff;background:#d85b54;font-size:12px;font-weight:400;line-height:1;cursor:pointer}.paste-image-remove:hover,.paste-image-remove:focus{background:#bd4741}.paste-target .paste-images img{display:block;width:100%;max-width:none;height:86px;margin:0;border:1px solid #cfe1d8;border-radius:5px;object-fit:contain;background:#fff}.paste-target>em{display:block;color:#70867c;font-size:12px;font-style:normal}
.layout-image-edit-hint{margin-left:8px;color:var(--ui-hint);font-size:12px;font-weight:400}
.editor-pane :is(#answer-editor,#analysis-editor){padding:11px;border:1px solid var(--ui-line);border-radius:7px;background:#fff;box-shadow:none}
.editor-pane :is(#answer-editor,#analysis-editor):focus-within{border-color:var(--ui-ui-blue-500);background:#fff;box-shadow:0 0 0 3px rgba(53,167,207,.14)}
/* 选择题由内部下拉绘制边框，不为答案容器再叠一层。 */
.editor-pane #answer-editor.is-choice-answer,.editor-pane #answer-editor:has(.choice-answer-options),#bank-choice-answer.is-choice-answer{height:auto!important;min-height:0!important;padding:0!important;border:0;background:transparent;box-shadow:none;overflow:visible!important}
/* 编辑面板在桌面宽度下占满主区。 */
@media (min-width:1280px){
    .editor-content{display:block!important;overflow:auto!important}
    .editor-content>.editor-pane{width:100%;height:auto!important;overflow:visible!important;padding-right:16px!important}
}

/* 编辑标题随内容滚动，公式工具区贴住编辑滚动层顶部，不再保留双层顶部留白。 */
@media (min-width:901px){

    .editor-content>.editor-pane{padding-top:0}
    .editor-pane>.review-fields-card{padding-top:16px}
    .editor-pane>.editor-sticky-tools{margin:0 -16px 14px}
}
@media (min-width:1024px){
    .editor-content>.editor-pane{border-top:0;border-radius:0 0 10px 10px}
}
/* 固定编辑器滚动条占位，避免切题时宽度变化。 */
@media (min-width:901px){
    .review-layout .question-editor,.review-layout .question-form{width:100%;min-width:0}
    .review-layout .editor-content{box-sizing:border-box;width:100%;min-width:0;overflow-x:hidden!important;overflow-y:scroll!important;scrollbar-gutter:stable}
}
.capture-layout-candidate{position:absolute;z-index:3;box-sizing:border-box;border:2px dashed rgba(232,143,32,.42);border-radius:3px;background:rgba(255,190,80,.025);pointer-events:auto;cursor:crosshair;transition:border-color .16s,background .16s,opacity .16s}.capture-layout-candidate b{position:absolute;top:-20px;left:-2px;display:none;padding:2px 6px;border-radius:3px 3px 3px 0;color:rgba(255,255,255,.95);background:rgba(216,137,25,.78);font:12px/16px Arial,"Microsoft YaHei",sans-serif;white-space:nowrap}.capture-layout-candidate:hover{border-color:rgba(218,125,13,.92);background:rgba(255,185,68,.13)}.capture-layout-candidate:hover b{display:block}.capture-layout-candidate.is-current-used{border-color:rgba(123,137,132,.42);background:rgba(103,116,110,.14);cursor:not-allowed;opacity:.72}.capture-layout-candidate.is-current-used b{display:block;background:rgba(104,118,111,.78)}.capture-layout-candidate.is-used{border-color:rgba(197,76,67,.56);background:rgba(203,81,72,.10);cursor:not-allowed;opacity:.84}.capture-layout-candidate.is-used b{display:block;background:rgba(193,67,59,.88)}.capture-layout-candidate.is-table{border-color:rgba(44,139,186,.42);background:rgba(61,170,219,.025)}.capture-layout-candidate.is-table b{background:rgba(40,127,174,.78)}.capture-layout-candidate.is-table.is-used{border-color:rgba(197,76,67,.56);background:rgba(203,81,72,.10)}.capture-layout-candidate.is-table.is-used b{display:block;background:rgba(193,67,59,.88)}.capture-box.figure .capture-shape polygon{fill:rgba(232,143,32,.10);stroke:#d98b19;stroke-dasharray:5 4}.capture-box.figure b{background:#d98b19}.capture-box-toolbar .capture-add-figure{color:#6d651c;background:#fff8d9}.capture-box-toolbar .capture-add-figure:hover,.capture-box-toolbar .capture-add-figure.active{color:#fff;background:#d4901f}
.capture-figure-panel[hidden]{display:none}.capture-figure-panel{flex:0 0 auto;max-height:340px;overflow:auto;margin-top:8px;padding:9px;border:1px solid #dce8e3;border-radius:9px;background:var(--ui-surface-soft)}.capture-figure-heading{display:flex;align-items:baseline;justify-content:space-between;gap:7px;margin-bottom:8px}.capture-figure-heading strong{color:#273f35;font-size:13px}.capture-figure-heading strong span{color:var(--ui-hint);font-weight:400}.capture-figure-heading small{color:var(--ui-hint);font-size:12px;text-align:right}.capture-figure-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.capture-figure-card{min-width:0;padding:5px;border:1px solid #dfebe5;border-radius:7px;background:#fff}.capture-figure-focus{position:relative;display:flex;width:100%;height:78px;align-items:center;justify-content:center;padding:0;border:0;border-radius:4px;background:#f1f5f2;cursor:pointer}.capture-figure-focus:hover{box-shadow:inset 0 0 0 2px #d58b24}.capture-figure-focus canvas{max-width:100%;max-height:100%}.capture-figure-card>div{display:flex;align-items:center;gap:4px;margin-top:5px}.capture-figure-badge{position:absolute;z-index:1;top:3px;right:3px;padding:2px 5px;border:1px solid #cfe1ec;border-radius:4px;color:#467695;background:rgba(239,248,255,.94);font-size:12px;line-height:1.4;pointer-events:none}.capture-figure-card select{min-width:0;flex:1 1 auto;padding:3px 2px;border:1px solid #d5e3dc;border-radius:4px;background:#fff;color:#31483d;font-size:12px}.capture-figure-delete{flex:0 0 auto;white-space:nowrap;padding:2px 4px;border:0;background:transparent;color:#a75648;font-size:12px;cursor:pointer}.capture-figure-empty{margin:2px 0;color:var(--ui-hint);font-size:12px;line-height:1.5}
.capture-exclude-start{padding:2px 6px;border:1px solid #eddbce;border-radius:5px;background:#fff8f2;color:#a36a3d;font-size:12px;cursor:pointer}.capture-exclude-start:hover{background:#fbeee4}.capture-figure-hint{display:block;margin:0 0 8px;color:var(--ui-hint);font-size:12px;line-height:1.4}.capture-excluded-list{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:8px;padding-top:7px;border-top:1px solid #e7ede9;color:#8d6656;font-size:12px}.capture-excluded-restore{padding:2px 5px;border:1px solid #e6d6ce;border-radius:4px;background:#fff;color:#9b6c59;font-size:12px;cursor:pointer}.capture-excluded-area{position:absolute;z-index:2;box-sizing:border-box;border:2px dashed #c57d6b;background:rgba(255,255,255,.4);pointer-events:none}.capture-excluded-area b{position:absolute;top:0;left:0;padding:1px 4px;background:#bd6c5e;color:#fff;font-size:12px;font-style:normal;white-space:nowrap}
.capture-stage #capture-image[hidden]{display:none!important}
.capture-split-preview-list{max-height:min(52vh,560px);overflow-y:auto;padding-right:4px}.capture-split-image-shell{display:flex;width:100%;height:100%;align-items:center;justify-content:center;border-radius:4px;color:#9aa7a3;background:var(--ui-neutral-soft)}.capture-split-image-shell em{margin:0;color:inherit;font-size:12px;font-style:normal}.capture-split-image-shell img{display:block;max-width:100%;max-height:260px;object-fit:contain}.capture-split-image-shell img[hidden]{display:none!important}.capture-split-image-shell:not(.is-loading):not(.is-error)>em{display:none}
.capture-page-preview.is-loading>i{display:none}.capture-page-preview.is-loading em{margin:0;color:#9aa7a3}
.review-fields-card .editor-extra-grid label>.form-control{box-sizing:border-box;height:38px;margin-top:7px;padding:0 12px;border:1px solid var(--ui-line);border-radius:9px;color:var(--ui-ui-control-text,#263842);background:#fff;box-shadow:none;line-height:36px;transition:border-color .18s,box-shadow .18s}
.review-fields-card .editor-extra-grid label>.form-control:focus{border-color:var(--ui-ui-blue-300,#9ebfe8);box-shadow:0 0 0 3px rgba(82,151,220,.12);outline:0}
.review-crop-page-preview{display:flex!important;width:100%;height:92px;align-items:center;justify-content:center;overflow:hidden;padding:0!important;border-radius:3px;color:#9aa7a3;background:var(--ui-neutral-soft)}.review-crop-page-preview em{padding:0!important;margin:0!important;color:inherit;font-size:12px;font-style:normal}.review-crop-page-preview-image[hidden]{display:none!important}.review-crop-page-preview-image{display:block;width:100%;height:92px!important;border-radius:3px;object-fit:contain;background:var(--ui-surface-soft)}.review-crop-page-preview:not(.is-loading):not(.is-error)>em{display:none}
.capture-page-preview.is-error,.capture-split-image-shell.is-error,.review-crop-page-preview.is-error{color:#ad6259;background:#fbf1ef}
/* 分类树通用控件 */
.tree-manage{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border:1px solid #d8e4e1;border-radius:4px;color:#638079;background:#fff;font-size:12px;line-height:1.3;text-decoration:none}
.tree-manage:hover{border-color:#a9cbbf;color:#26765f;background:#f3faf7}
.tree-manage i{font-size:12px}
.question-category-manage,.knowledge-category-manage{min-height:100%;background:var(--ui-surface-soft)}
.category-manage-page{padding:18px}
.category-manage-tip{margin:0 0 14px;color:var(--ui-hint);font-size:12px;line-height:1.6}
.category-upgrade-note{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;padding:13px 14px;border:1px solid #d8e7f2;border-radius:10px;background:#f4f9fd;color:#4a6880;font-size:13px;line-height:1.5}.category-upgrade-note>i{flex:none;margin-top:2px;color:#4d9ac4;font-size:17px}.category-upgrade-note a{display:inline-block;margin-left:6px;color:#247daf;font-weight:600;text-decoration:none;white-space:nowrap}.category-upgrade-note a:hover{color:#155e88;text-decoration:underline}
.category-manage-upgrade{align-items:center}.category-manage-upgrade>span{min-width:0;flex:1}.category-manage-upgrade .category-upgrade-action{display:inline-flex;min-height:32px;align-items:center;justify-content:center;gap:5px;flex:0 0 auto;margin-left:auto;padding:5px 11px;border:1px solid #80b6d2;border-radius:7px;color:#24749e;background:#fff;font-weight:700}.category-manage-upgrade .category-upgrade-action:hover{border-color:#4d9ac4;color:#155e88;background:#eef8fd;text-decoration:none}
@media(max-width:520px){.category-manage-upgrade{align-items:flex-start;flex-wrap:wrap}.category-manage-upgrade .category-upgrade-action{width:100%;margin-left:27px}}
.category-manage-list .category-limit-note{margin:0;border:0;border-radius:0;padding:13px 14px}
.category-manage-form{display:grid;grid-template-columns:minmax(120px,200px) minmax(120px,1fr) auto;gap:10px;align-items:end;padding:14px;border:1px solid #dce9e4;border-radius:10px;background:#fff}
.category-manage-form label{min-width:0;margin:0;color:#486159;font-size:12px}
.category-manage-form label>span{display:block;margin-bottom:6px}
.category-manage-form .pretty-dropdown{margin-top:0}
.category-manage-form .pretty-menu{position:absolute;top:calc(100% + 6px);right:auto;bottom:auto;left:0;width:100%;max-height:250px}
.category-cascade{display:grid;grid-template-columns:1fr;gap:10px}
.category-level-field{display:block;margin:0;color:#687b74;font-size:12px;font-weight:400}
.category-level-field[hidden]{display:none!important}
.category-level-field>span{display:block;margin-bottom:5px}
.category-level-field .pretty-dropdown{margin-top:0}
.category-manage-actions{display:flex;gap:7px}
.category-manage-actions .btn{padding:0 10px;white-space:nowrap}
.category-manage-list{margin-top:14px;border:1px solid #dce9e4;border-radius:10px;background:#fff;overflow:hidden}
.category-manage-row{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:12px;padding:7px 12px;border-bottom:1px solid #edf2ef;color:#3f5f55;font-size:13px}
.category-manage-row:last-child{border-bottom:0}
.category-manage-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.category-manage-row>span i{width:18px;color:#69a18e}
.category-manage-row.is-child{padding-left:34px;color:#647a72}
.knowledge-category-manage .category-manage-row[data-depth="2"]{padding-left:56px}
.category-manage-row>div{display:flex;flex:0 0 auto;align-items:center;gap:6px}
.category-manage-row button:not(.btn):not(.image-action-light){padding:3px 7px;border:1px solid #d6e3de;border-radius:5px;color:#527268;background:#fff;font-size:12px}
.category-manage-row button:not(.btn):not(.image-action-light):hover{border-color:#9fcabb;color:#176d58;background:#f2faf7}
.category-manage-row .btn{height:auto;padding:3px 7px;border-radius:5px;font-size:12px;font-weight:400;line-height:1.42857143;box-shadow:none}
.category-manage-row .category-row-delete,.category-manage-row .knowledge-category-row-delete{color:#ae5a52;border-color:#edcfcb}
.category-manage-empty{padding:34px 18px;color:var(--ui-hint);text-align:center;font-size:13px}

.capture-box.excluded .capture-shape polygon{fill:rgba(190,108,94,.17);stroke:#bd6c5e;stroke-dasharray:6 4}.capture-box.excluded b{background:#bd6c5e}.capture-box.excluded .capture-vertex{background:#bd6c5e;box-shadow:0 0 0 1px #a9574c}.capture-box.excluded.selected .capture-shape polygon{stroke:#a9574c}
.capture-box-toolbar .capture-exclude-start{color:#a36a3d;background:#fff8f2}.capture-box-toolbar .capture-exclude-start:hover{color:#fff;background:#bb7650}

/* 框选说明固定在试卷工作区顶部，仅中间试卷区域滚动。 */

.capture-stage-topbar{position:relative;z-index:12;flex:0 0 auto;border-bottom:1px solid var(--ui-line);background:#f3f7fa}
.capture-stage-guide{margin:0;overflow:visible;border:0;border-radius:0;background:transparent}
.capture-stage-guide .capture-quick-guide{display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 5px 6px 12px;background:#edf4f9;line-height:1.45}
.capture-stage-guide .capture-quick-guide p{display:block;min-width:0;margin:0;color:#60756c;font-size:13px;line-height:1.45}
.capture-stage-guide .capture-quick-guide p strong{color:#315b4b;font-size:13px}
.capture-guide-icon{display:grid;flex:0 0 26px;width:26px;height:26px;place-items:center;border-radius:7px;color:#198467;background:#edf7f3;font-size:13px}
.capture-guide-help{flex:0 0 auto;white-space:nowrap}
.capture-stage-body{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}
.capture-stage-body .capture-stage{height:100%;min-height:0}
.capture-stage-body .capture-image-tools{top:10px;right:10px;flex-direction:column}

.capture-pages,.capture-tools{background:#edf4f9}

.capture-figure-panel .capture-figure-heading small,.capture-figure-panel .capture-figure-hint,.capture-figure-panel .capture-figure-card b,.capture-figure-panel .capture-figure-card select,.capture-figure-panel .capture-figure-delete,.capture-figure-panel .capture-figure-empty,.capture-figure-panel .capture-excluded-list,.capture-figure-panel .capture-excluded-restore{font-size:12px}
.capture-tools .capture-item-title{display:flex;min-width:0;flex:1;align-items:center;gap:7px}
.capture-tools .capture-item-title>b{flex:0 0 auto;font-size:13px;white-space:nowrap}
.capture-tools .capture-item-title .capture-item-status{flex:0 0 auto}
.capture-tools .capture-item-title .capture-item-segment-meta{min-width:0}

/* Unified confirmation list; existing rich editor lives in a right-side drawer. */
.app-page-recognize .app-main.review-page:has(.review-list-workspace){height:100dvh;overflow-y:auto}
.review-list-workspace{min-width:0;margin:0 auto}
.review-list-columns{display:grid;grid-template-columns:232px minmax(0,1fr);align-items:start;gap:20px}
.review-list-overview{position:sticky;top:0;min-width:0;padding:18px;border:1px solid #e6edf2;border-radius:10px;background:#fff}
.review-overview-heading{display:flex;align-items:center;gap:9px;color:var(--ui-ink);margin-bottom:18px}
.review-overview-heading>i{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:#2788b4;background:#eaf5fc}
.review-overview-heading h2{margin:0;font-size:16px}
.review-recognition-status{margin-left:auto;flex:none}
.review-stage-heading{display:flex;align-items:center;gap:10px;width:100%;font-size:14px}
.review-overview-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}
.review-overview-loading{grid-column:1/-1;min-width:0;margin:0;color:var(--ui-ink);font-size:13px;line-height:1.6}
.review-overview-counts>button{display:flex;flex-direction:column;gap:6px;min-width:0;padding:12px;border:0;border-radius:9px;background:var(--ui-surface-soft);font:inherit;text-align:left;cursor:pointer}
.review-overview-counts>button:not(:disabled):hover{background:var(--ui-tech-blue-soft)}
.review-overview-counts>button:focus-visible{outline:2px solid var(--ui-ui-blue-500);outline-offset:2px}
.review-overview-counts>button:disabled{cursor:default;opacity:.65}
.review-overview-counts span{font-size:12px;color:var(--ui-muted)}
.review-overview-counts strong{font-size:24px;color:var(--ui-ink);font-variant-numeric:tabular-nums}
.review-overview-counts .is-confirmed strong{color:#3b806a}
.review-overview-counts .is-pending strong{color:#997138}
.review-list-summary{margin:14px 0;color:var(--ui-ink);font-size:13px}
.review-progress-state{display:inline-flex;align-items:center;gap:7px;color:var(--ui-muted);font-size:12px;line-height:1.6}
.review-progress-state>.fa{font-size:12px;color:var(--ui-hint)}
.review-progress-state.is-done>.fa{color:#70a692}
.review-progress-state.is-failed>.fa{color:#c39162}
.review-state-spinner{display:inline-block;box-sizing:border-box;flex:0 0 12px;width:12px;height:12px;border:2px dotted #92a9b8;border-radius:50%;animation:review-state-turn 1.4s linear infinite}
@keyframes review-state-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.review-state-spinner{animation:none}}
.review-list-publish-footer{display:flex;align-items:center;justify-content:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--ui-line)}
.review-list-publish-footer[hidden]{display:none}
.review-list-publish-footer>.review-list-publish{box-sizing:border-box;flex:0 0 auto;width:320px;max-width:100%;height:44px;min-height:44px;padding:0 8px;font-size:12px;line-height:1.4;white-space:normal}
#review-list-progress{border-top:1px solid var(--ui-line);background:#fff}
#review-list-progress .review-toolbar{padding:14px 0 8px;border:0;color:var(--ui-ink);font-size:12px;align-items:flex-start;flex-direction:column;gap:5px}
#review-list-progress .whole-page-progress{max-height:240px;display:flex;flex-direction:column;gap:8px;border:0;padding:0;color:var(--ui-ink)}
#review-list-progress .whole-page-progress[hidden]{display:none}
#review-list-progress .whole-page-row{gap:12px;min-width:0;border-radius:6px;background:var(--ui-surface-soft);padding:4px 8px}
.review-full-list{display:grid;gap:12px}
.review-list-main{min-width:0}
.review-list-continuation{display:flex;align-items:center;justify-content:center;gap:10px;padding:24px 16px;color:var(--ui-hint);font-size:14px;line-height:1.6;text-align:center}
.review-list-continuation[hidden],.review-list-continuation .review-state-spinner[hidden]{display:none}
.review-list-loading{display:flex;align-items:center;justify-content:center;min-width:0;min-height:clamp(260px,65dvh,680px)}
.review-loading-copy{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:100%;padding:24px 16px;color:var(--ui-muted);text-align:center}
.review-loading-copy>strong{color:var(--ui-ink);font-size:16px;line-height:1.5;font-weight:600}
.review-loading-copy>span{font-size:12px;line-height:1.6}
.review-scan-art{position:relative;width:220px;height:164px;max-width:100%;margin-bottom:12px;background:radial-gradient(ellipse at center,rgba(85,180,230,.13),transparent 70%)}
.review-scan-card{position:absolute;top:42px;width:106px;height:86px;border:1px solid #cee5f1;border-radius:10px;background:rgba(255,255,255,.32)}
.review-scan-card::after{content:"";position:absolute;inset:18px 14px;background:repeating-linear-gradient(to bottom,#dcecf5 0 3px,transparent 3px 13px);opacity:.65}
.review-scan-card.is-back{left:15px;transform:rotate(-12deg)}
.review-scan-card.is-front{right:15px;top:51px;transform:rotate(12deg)}
.review-scan-page{position:absolute;top:13px;left:58px;width:104px;height:135px;overflow:hidden;border:1px solid #b6dcec;border-radius:10px;background:linear-gradient(150deg,#fff,#f0f9fe);box-shadow:0 8px 22px rgba(78,148,188,.09)}
.review-scan-page>i{position:absolute;top:20px;left:18px;color:#79b9da;font-size:28px}
.review-scan-lines{position:absolute;top:62px;right:17px;left:17px;height:49px;background:repeating-linear-gradient(to bottom,#d5e9f4 0 3px,transparent 3px 14px);border-radius:2px}
.review-scan-beam{position:absolute;top:12px;left:0;right:0;height:28px;border-bottom:2px solid #5bbce7;background:linear-gradient(transparent,rgba(84,187,231,.16));box-shadow:0 4px 9px rgba(69,177,227,.12);animation:review-document-scan 2.8s ease-in-out infinite alternate}
@keyframes review-document-scan{from{transform:translateY(0);opacity:.45}to{transform:translateY(88px);opacity:1}}
@media(prefers-reduced-motion:reduce){.review-scan-beam{animation:none;transform:translateY(43px)}}
.review-list-card{position:relative;display:block;padding:16px 18px;border:1px solid #e6edf2;border-radius:10px;background:#fff}
.review-list-card-main{min-width:0}
.review-full-list>.review-list-card{scroll-margin-top:16px}
.review-list-content{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0}
.review-list-card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;margin-top:12px;padding-top:10px;border-top:1px solid #edf2f5}
.review-list-card-main>*{min-width:0;overflow-wrap:anywhere}
.review-list-card-main>header{display:flex;align-items:center;flex-wrap:wrap;gap:9px;min-height:28px;margin-bottom:10px}
.review-list-card-main>header small{margin-left:auto;text-align:right;color:var(--ui-muted);font-size:12px}
.review-list-metadata{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;min-width:0;flex:1 1 260px;color:#526c7d;font-size:12px;overflow-wrap:anywhere}
.review-list-metadata>span{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}
.review-list-meta-label{color:var(--ui-muted)}
.review-list-number{color:#202a32;font-size:18px;font-weight:700;font-family:SimHei,"Microsoft YaHei",sans-serif;font-variant-numeric:tabular-nums}
.review-shared-source{display:grid;gap:8px;margin:16px 0;padding:16px 0;border-top:1px solid var(--ui-line)}
.review-shared-source>label{margin:0;color:var(--ui-ink);font-size:13px;font-weight:500}
.review-shared-source>small{color:var(--ui-muted);font-size:12px}
.review-source-controls{display:flex;align-items:stretch;gap:8px;min-width:0}
.review-source-controls>.form-control{flex:1 1 0;min-width:0;width:0;min-height:var(--ui-control-height);font-size:12px}
.review-source-controls>.btn{flex:0 0 auto;height:var(--ui-control-height);min-height:var(--ui-control-height);padding:0 10px;font-size:12px;line-height:26px;white-space:nowrap}
.review-list-card.is-skipped{background:#f8f9fa}
.review-list-card.is-skipped .review-list-card-main,.review-list-card.is-skipped .review-list-metadata,.review-list-card.is-skipped .review-list-answered{filter:grayscale(.65);opacity:.78}
.review-list-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin-left:auto}
.review-list-workspace .review-list-card-actions .btn{height:28px;min-height:28px;width:auto;padding:0 8px;line-height:26px;font-size:12px;white-space:nowrap}
.review-list-text{white-space:pre-wrap;font-size:16px;line-height:1.75;color:var(--ui-ink);margin:0}
.review-list-options>div{display:flex;align-items:baseline;gap:6px;min-width:0;white-space:pre-wrap;line-height:1.8}
.review-option-content{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;max-width:100%}
.review-list-figure{margin:0;width:fit-content;max-width:100%;align-self:flex-start}
.review-list-figure figcaption{width:0;min-width:100%;margin-top:4px;text-align:center;overflow-wrap:anywhere;color:var(--ui-muted);font-size:12px}
.review-list-card.has-answer .review-list-card-main>header{padding-right:40px}
.review-list-answered{position:absolute;top:0;right:0;display:block;width:54px;height:54px;overflow:hidden;border-top-right-radius:9px;background:var(--ui-success);color:#fff;clip-path:polygon(0 0,100% 0,100% 100%);pointer-events:none}
.review-list-answered>span{position:absolute;top:11px;right:-7px;width:52px;text-align:center;font-size:11px;line-height:16px;white-space:nowrap;transform:rotate(45deg)}
.review-list-warning{color:#9b7041;background:#fff8ed;padding:9px 12px;border-radius:6px;font-size:13px}
.review-list-card.is-confirmed .review-list-warning{display:none}
.review-list-card.is-waiting{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:120px;text-align:center;color:var(--ui-muted)}
.review-list-card.is-waiting>div>p{display:flex;align-items:center;justify-content:center;gap:6px;margin:4px 0 0}
.review-drawer-open{overflow:hidden}
.review-drawer-shade{z-index:1300}
.review-drawer-shade[hidden],.review-layout.review-drawer[hidden]{display:none!important}
.question-editor-layout{--question-properties-width:340px;display:grid;grid-template-columns:minmax(0,1fr) var(--question-properties-width);grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0}
.app-page-recognize .app-main.review-page>.review-layout.review-drawer{position:fixed;z-index:1301;inset:0 0 0 auto;grid-template-rows:58px minmax(0,1fr) auto;height:100dvh;min-height:0;margin:0;border-radius:16px 0 0 16px;box-shadow:-12px 0 48px rgba(22,45,61,.16);overflow:visible;transform:translateX(100%);transition:transform .22s ease}
.app-page-recognize .app-main.review-page>.review-layout.review-drawer.is-open{transform:translateX(0)}
.review-drawer-heading{grid-column:1/-1;grid-row:1;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-bottom:1px solid var(--ui-line);background:#fff;border-top-left-radius:inherit}
.review-drawer-heading .review-drawer-close{min-width:36px}
.review-drawer-title{display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:10px}
.review-drawer-title>strong{font-size:22px;color:var(--ui-ink)}
.review-drawer-title .editor-title-hint{margin:0;padding:4px 8px;border-radius:99px;color:#4085a4;background:#eaf7fc;font-weight:400}

.question-editor-layout>:is(.question-editor,.question-editor-main){grid-column:1;grid-row:1;min-width:0;min-height:0;width:100%;padding:0;overflow:auto}
.question-editor-layout>.question-editor-properties{display:block;grid-column:2;grid-row:1;min-width:0;min-height:0;overflow:auto;border-left:1px solid var(--ui-line);background:var(--ui-surface-soft)}
.question-editor-properties :is(.form-control,.pretty-toggle,.bank-tag-editor,.knowledge-editor){background:#fff}
.question-editor-properties .pretty-toggle:is(:hover,:focus),.question-editor-properties .pretty-dropdown.is-open .pretty-toggle{background:#fff}
.review-layout.review-drawer>:is(.question-editor,.question-editor-properties){grid-row:2}

.question-editor-layout>.question-editor-main,.review-drawer .editor-content{padding:18px 24px 22px!important}
.review-drawer #whole-question-note{margin:0 0 16px;padding:10px 12px}
.review-drawer .editor-pane{padding:0!important;border:0;border-radius:0;box-shadow:none}
.question-editor-layout .editor-sticky-tools{top:-18px;margin:0 0 14px;border-bottom:0}
.review-drawer .editor-pane>.visual-editor-wrap{border:0;margin-bottom:16px}
.review-drawer #whole-structure-tools,.review-drawer .ignore-current[hidden]{display:none!important}
.review-list-global-actions{display:flex;flex-direction:column;gap:10px}
.review-list-structure{position:absolute;z-index:15;top:calc(100% + 6px);right:0;display:grid;gap:4px;width:144px;padding:5px;border:1px solid #e6edf2;border-radius:7px;background:#fff;box-shadow:0 5px 18px rgba(42,72,94,.08)}
.review-list-card-main>header>strong{padding:2px 7px;border-radius:4px;border:1px solid #eef2f5;color:#6a7d8e;font-size:12px;font-weight:400}
.review-list-more{position:relative}
.review-list-more-toggle{display:flex;align-items:center;justify-content:center;gap:5px;list-style:none}
.review-list-more-toggle::-webkit-details-marker{display:none}
.review-list-more:not([open])>.review-list-structure{display:none}
.review-list-card-actions .review-list-structure .btn{text-align:left;width:100%}
.question-editor-layout>.question-editor-footer{position:relative;z-index:10;grid-column:1/-1;grid-row:2;display:flex;flex-direction:row;align-items:center;gap:20px;margin:0;padding:12px 18px;border:0;border-top:1px solid var(--ui-line);border-bottom-left-radius:inherit;background:#fff;box-shadow:0 -5px 14px rgba(28,59,46,.07)}
.review-layout.review-drawer>.question-editor-footer{grid-row:3}
.question-editor-layout .editor-footer .editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1 0 auto;width:auto}
.question-editor-layout .editor-footer .editor-actions>button{flex:0 0 auto;width:116px;min-width:116px;height:38px;min-height:38px;padding:0 10px;font-size:13px;line-height:36px;white-space:nowrap}
.review-drawer .editor-footer .review-reference{flex:0 1 auto;width:auto;padding:0;min-width:150px}
.is-whole-review .review-drawer #review-reference{display:none}
.question-editor-layout.is-editor-compact{--question-properties-width:240px}
.question-editor-layout.is-editor-stacked{grid-template-columns:minmax(0,1fr)}
.review-drawer .knowledge-field-heading{flex-wrap:wrap;gap:3px 8px}
@media(max-width:1023px){.app-page-recognize .app-main.review-page>.review-layout.review-drawer{grid-template-columns:minmax(0,1fr);border-radius:0}.review-layout.review-drawer>.question-publish-sidebar{display:none}.review-drawer .review-fields-card{margin:12px}.review-list-card{padding:18px;gap:14px}}
@media(max-width:620px){.review-drawer .editor-footer .review-reference{min-width:0}.review-layout.review-drawer>.editor-footer{flex-wrap:wrap;gap:8px;padding:10px}}
@media(prefers-reduced-motion:reduce){.review-layout.review-drawer{transition:none}}
@media(max-width:900px){.review-list-columns{grid-template-columns:minmax(0,1fr)}.review-list-overview{position:static}.review-overview-counts{grid-template-columns:repeat(4,minmax(0,1fr))}.review-list-global-actions{align-items:flex-end}.review-drawer-title .editor-title-hint{display:none}}
@media(max-width:480px){.review-overview-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.review-list-card-actions{flex-wrap:wrap}}
