/* 前台公共表单控件和操作按钮。布局/状态规则与语义按钮共用，不使用覆盖补丁。 */
.bank-rich-editor{min-height:46px;padding:10px 12px;border:1px solid #d6e3de;border-radius:8px;color:#183d32;background:#fff;font-size:14px;line-height:1.75;outline:0;white-space:pre-wrap}
.bank-rich-editor.is-tall{min-height:96px}
.bank-rich-editor math-field{display:inline-block;min-width:28px;margin:0 2px;border:0;border-bottom:1px dashed #9cc9bc;border-radius:0;background:var(--ui-surface-soft);font-size:1.05em;max-width:100%;vertical-align:middle;line-height:1;}
.nice-validator .bank-rich-editor,.bank-rich-editor{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.bank-rich-editor math-field::part(menu-toggle),.bank-rich-editor math-field::part(virtual-keyboard-toggle),.question-table-cell-rich math-field::part(menu-toggle),.question-table-cell-rich math-field::part(virtual-keyboard-toggle){display:none!important}
#toast-container{z-index:2147483647!important}
.price{display:inline;color:var(--ui-danger);font-style:normal;font-weight:700}
.page-back-top{position:fixed;right:24px;bottom:calc(32px + env(safe-area-inset-bottom,0px));z-index:80;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--ui-line);border-radius:var(--ui-control-radius);background:var(--ui-surface);color:var(--ui-tech-blue-dark);box-shadow:0 3px 12px rgba(38,101,143,.12);font-size:23px;line-height:1;cursor:pointer;transition:background-color .16s,color .16s,box-shadow .16s}
.page-back-top[hidden]{display:none}
.ui-location-highlight{border-color:var(--ui-ui-blue-500)!important;box-shadow:0 0 0 3px rgba(53,167,207,.16),0 0 16px rgba(53,167,207,.22)!important}
.page-back-top:hover{background:var(--ui-tech-blue-soft);box-shadow:0 4px 16px rgba(38,101,143,.2)}
.page-back-top:focus-visible{outline:2px solid var(--ui-ui-blue-500);outline-offset:3px}
body:is(.review-drawer-open,.bank-edit-drawer-open,.modal-open) .page-back-top{display:none}
body.bank-edit-drawer-open{overflow:hidden}
@media(max-width:640px){.page-back-top{right:16px;bottom:calc(24px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){.page-back-top{transition:none}}
:root {
    --ui-control-radius:7px;
    --ui-question-option-text:#000;
    --ui-control-height:38px;
    --btn-color:#688498;--btn-border:#d6e6f0;--btn-bg:linear-gradient(#fff,#f9fcfe);
    --btn-hover-color:#416b87;--btn-hover-border:#a9ccdf;--btn-hover-bg:#edf6fc;
    --ui-nav-text:#4b5563;
    --ui-nav-icon-default:var(--ui-nav-text);
    --ui-nav-icon:var(--ui-nav-icon-default);
    --ui-nav-active:#258bc6;
    --ui-nav-active-soft:linear-gradient(105deg,#e4f2ff,#dcebfc);
    --ui-nav-hover-soft:#f0f7fd;
    --ui-nav-child-soft:#edf6ff;
    --ui-ink:#163954;
    --ui-text:#5b7792;
    --ui-hint:#74818d;
    --ui-muted:var(--ui-hint);
    --ui-surface:#fff;
    --ui-light-action-text:#617c91;
    --ui-light-action-line:#d9e5ee;
    --ui-light-action-bg:#fbfdff;
    --ui-light-action-hover-text:#2873a7;
    --ui-light-action-hover-line:#a9cde4;
    --ui-light-action-hover-bg:#f0f7fd;
    --ui-neutral-soft:#f2f6fa;
    --ui-neutral-hover:#e8eff6;
    --ui-neutral-line:#d9e3ec;
    --ui-neutral-text:#718394;
    --ui-neutral-disabled:#94a5b4;
    --ui-disabled-bg:linear-gradient(#f8fafc,var(--ui-neutral-soft));
    --ui-surface-soft:#f8fbfe;
    --ui-surface-blue:var(--ui-neutral-soft);
    --ui-canvas:#f1f8fc;
    --ui-green:#4d9ec7;
    --ui-green-dark:#2b7196;
    --ui-mint:#e8f5fd;
    --ui-line:#d2e6f4;
    --ui-action-teal:#7eaaa0;
    --ui-action-teal-dark:#668f85;
    --ui-action-blue:#2c70bc;
    --ui-action-blue-dark:#205b9e;
    --ui-action-publish:#4c5ca8;
    --ui-action-publish-dark:#394b91;
    --ui-action-danger:#d75f5d;
    --ui-action-danger-dark:#bd494b;
    --ui-action-neutral:var(--ui-neutral-soft);
    --ui-tech-blue:#189eea;
    --ui-tech-blue-dark:#2184bf;
    --ui-tech-blue-soft:#eaf3ff;
    --ui-coral:#ea7963;
    --ui-yellow:#f2c45d;
    --ui-success:#18765f;
    --ui-warning:#c48a25;
    --ui-warning-border:#ecd39f;
    --ui-danger-border:#efc6c2;
    --ui-success-border:#bcded1;
    --ui-danger-rgb:217,87,79;
    --ui-danger:rgb(var(--ui-danger-rgb));
    --ui-danger-shadow:0 0 10px rgba(var(--ui-danger-rgb),.28);
    --ui-workspace-right-width:320px;
    --ui-ui-blue-50:#f3f7ff;
    --ui-ui-blue-100:#eaf3ff;
    --ui-ui-blue-200:#c8daf2;
    --ui-ui-blue-300:#9ebfe8;
    --ui-ui-blue-500:#6ab4e3;
    --ui-ui-blue-600:#3097d5;
    --ui-ui-blue-700:#527b9f;
    --ui-ui-active-text:#3e78ad;
    --ui-ui-active-soft:#eaf4ff;
    --ui-ui-icon-soft:#e4f1ff;
    --ui-capture:#8069b6;
    --ui-capture-soft:#f0edfb;
    --ui-capture-icon:#e5ddfb;
    --ui-ui-control-text:#263842;
    --ui-ui-control-placeholder:#8a9ba7;
    --ui-ui-danger:var(--ui-danger);
    --ui-ui-danger-dark:#ae5145;
    --ui-ui-danger-soft:#fff0ec;
    --ui-ui-success:#5f8d7d;
    --ui-ui-success-dark:#4e7769;
    --ui-ui-success-soft:#edf6f2;
    --ui-ui-warning:#a98243;
    --ui-ui-warning-soft:#fff7e6;
    --ui-ui-neutral-soft:var(--ui-neutral-soft);
    --ui-ui-yellow:#f1c763;
    --ui-ui-coral:#dc735f;
    --ui-action-ink:#39352e;
    --ui-primary-ink:#fff;
    --ui-primary-border:#1494de;
    --ui-primary-start:#42bfec;
    --ui-primary-end:#138eec;
    --ui-primary-hover-start:#32b1e3;
    --ui-primary-hover-end:#0e81d6;
    --ui-selection-blue:#82abd2;
    --ui-selection-blue-dark:#527b9f;
    --ui-selection-blue-soft:rgba(130,171,210,.16);
    --ui-shadow:0 8px 26px -12px rgba(143,184,213,.29);
    --ui-ui-shadow:0 6px 16px rgba(78,126,121,.12);
    --ui-ui-tech-shadow:0 6px 16px rgba(100,143,183,.13);
}

.layui-layer.app-dialog .layui-layer-confirm{border:0!important;border-radius:inherit!important;background:transparent;outline:0!important;box-shadow:none!important;-webkit-appearance:none;appearance:none}
/* Layer focuses a transparent button over its styled anchor; show keyboard focus on the anchor itself. */
/* Pointer clicks must not retain the browser's black button outline.
   Keyboard navigation keeps an explicit brand-colored focus indicator. */
:is(.app-body,.auth-page,.home-body,.content-page) :is(button,a[role="button"]):focus:not(:focus-visible){outline:0}

/* 原生文本控件和 form-control 共用外观。 */
input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="hidden"]),
textarea,
select {
    font-weight:400!important;
}
:is(.app-body,.category-manage-page,.form-dialog-body) input:is([type="text"],[type="search"],[type="email"],[type="password"],[type="number"],[type="tel"],[type="url"],[type="date"],[type="datetime-local"],[type="time"]),
:is(.app-body,.category-manage-page,.form-dialog-body) textarea:not([data-table-cell]),
:is(.app-body,.category-manage-page,.form-dialog-body) select {
    border:1px solid var(--ui-line);
    border-radius:var(--ui-control-radius);
    color:var(--ui-ui-control-text);
    background:transparent;
    outline:0;
    box-shadow:0 1px 2px rgba(31,76,64,.025);
    transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
:is(.app-body,.category-manage-page,.form-dialog-body) input:is([type="text"],[type="search"],[type="email"],[type="password"],[type="number"],[type="tel"],[type="url"],[type="date"],[type="datetime-local"],[type="time"]):hover,
:is(.app-body,.category-manage-page,.form-dialog-body) textarea:not([data-table-cell]):hover,:is(.app-body,.category-manage-page,.form-dialog-body) select:hover { border-color:var(--ui-ui-blue-300); }
:is(.app-body,.category-manage-page,.form-dialog-body) input:is([type="text"],[type="search"],[type="email"],[type="password"],[type="number"],[type="tel"],[type="url"],[type="date"],[type="datetime-local"],[type="time"]):focus,
:is(.app-body,.category-manage-page,.form-dialog-body) textarea:not([data-table-cell]):focus,:is(.app-body,.category-manage-page,.form-dialog-body) select:focus {
    border-color:var(--ui-ui-blue-500);background:transparent;outline:0;box-shadow:0 0 0 3px rgba(53,167,207,.16);
}
:is(.app-body,.category-manage-page,.form-dialog-body) input[type="checkbox"],:is(.app-body,.category-manage-page,.form-dialog-body) input[type="radio"] { accent-color:var(--ui-ui-blue-600); }

/* 公共表单控件尺寸；外观及聚焦状态由上方原生控件规则统一负责。 */
:is(.app-body,.category-manage-page,.form-dialog-body) input.form-control:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
:is(.app-body,.category-manage-page,.form-dialog-body) select.form-control{display:block;width:100%;height:var(--ui-control-height);padding:var(--ui-control-padding,7px 12px);line-height:var(--ui-control-line-height,22px)}
:is(.app-body,.category-manage-page,.form-dialog-body) textarea.form-control{display:block;width:100%;padding:7px 12px}
/* 自定义下拉使用组件箭头；其余原生下拉统一提供展开指示。 */
:is(.app-body,.category-manage-page,.form-dialog-body) select:not(.pretty-select):not(.pretty-select-native):not([multiple]):not([size]):not(.handout-select>select){appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%237ba1bc' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px 12px}
input::placeholder,
textarea::placeholder { color:var(--ui-ui-control-placeholder);opacity:1;font-weight:400!important; }
:is(.app-body,.category-manage-page,.form-dialog-body) input.form-control:disabled,:is(.app-body,.category-manage-page,.form-dialog-body) input.form-control[readonly],
:is(.app-body,.category-manage-page,.form-dialog-body) textarea.form-control:disabled,:is(.app-body,.category-manage-page,.form-dialog-body) select.form-control:disabled {
    color:var(--ui-neutral-text);border-color:var(--ui-neutral-line);background:var(--ui-ui-neutral-soft);box-shadow:none;cursor:not-allowed;
}
/* 错误聚焦共用单层红边与模糊光晕；组合控件仅由外层绘制错误状态。 */
:is(.app-body,.iframe-dialog-body) .has-error .form-control,
:is(.app-body,.iframe-dialog-body) .has-error .pretty-toggle,
:is(.app-body,.iframe-dialog-body) .form-control.is-invalid+.pretty-dropdown .pretty-toggle,
:is(.app-body,.iframe-dialog-body) .form-control.is-invalid,
:is(.app-body,.iframe-dialog-body) .field-invalid,
.field-attention,
:is(.app-body,.iframe-dialog-body) :is(input,textarea,select):user-invalid:focus{
    border:1px solid var(--ui-danger)!important;outline:0!important;box-shadow:var(--ui-danger-shadow)!important;
}
:is(.field-invalid,.field-attention) :is(.btn,.form-control,.pretty-toggle,.bank-rich-editor,.answer-rich,.search-control,.bank-tag-editor,.knowledge-editor):is(:focus,:focus-within){
    border-color:var(--ui-line)!important;outline:0!important;box-shadow:none!important;
}

/* 组合搜索及标签控件自行绘制外边框。 */
.app-body .knowledge-editor #knowledge-input,
.app-body .knowledge-keyword-wrap>input { border:0;border-radius:0;background:transparent;box-shadow:none; }

/* 公共列表搜索框。 */
.app-body .search-control{position:relative;display:flex;width:100%;height:var(--ui-control-height);box-sizing:border-box;align-items:center;border:1px solid var(--ui-line);border-radius:var(--ui-control-radius);background:#fff;transition:border-color .16s ease,box-shadow .16s ease}.app-body .search-control:focus-within{border-color:var(--ui-ui-blue-500,#35a7cf);box-shadow:0 0 0 3px rgba(53,167,207,.14)}.app-body .search-control>i{position:static;z-index:1;flex:0 0 27px;margin-left:6px;line-height:1;pointer-events:none;transform:none;transition:color .16s ease}.app-body .search-control:focus-within>i{color:var(--ui-ui-active-text,#3e78ad)}.app-body .search-control>input{min-width:0;flex:1 1 auto;width:100%;height:calc(var(--ui-control-height) - 2px)!important;padding:7px 10px;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0}.app-body .search-control>.sp_container{flex:1 1 auto;min-width:0;width:auto!important}.app-body .search-control>.sp_container>.sp_input{height:calc(var(--ui-control-height) - 2px);padding:7px 10px;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0}.app-body .search-control>button,.app-body .search-control>#knowledge-clear{position:static;top:auto;right:auto;display:flex;flex:0 0 auto;width:18px;height:18px;align-items:center;justify-content:center;margin:0 8px 0 0;padding:0;border:0;border-radius:50%;color:#93a49e;background:#f0f4f2;font-family:Arial,sans-serif;font-size:13px;font-weight:400;line-height:1;transform:none}.app-body .search-control>button>i{font-weight:400}.app-body .search-control>button:hover{color:#5d7770;background:#e1ebe7}.app-body .search-control>button[hidden]{display:none}
/* 下拉框与搜索输入框的前置图标共用蓝底外观。 */
.pretty-toggle>.fa:first-child,.app-body .search-control>i{display:flex;width:27px;height:27px;align-items:center;justify-content:center;border-radius:7px;color:var(--ui-ui-active-text,#3e78ad);background:var(--ui-ui-icon-soft,#e4f1ff)}
.app-body .search-control>input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.app-body .search-control>button[id$="-clear-keyword"]{position:relative}
.app-body .search-control>button[id$="-clear-keyword"]>i.fa-times{display:none}
.app-body .search-control>button[id$="-clear-keyword"]::before,.app-body .search-control>button[id$="-clear-keyword"]::after{position:absolute;left:4px;top:8px;width:10px;height:1px;background:currentColor;content:""}
.app-body .search-control>button[id$="-clear-keyword"]::before{transform:rotate(45deg)}
.app-body .search-control>button[id$="-clear-keyword"]::after{transform:rotate(-45deg)}

/* 答案编辑区的自动解题与图片粘贴操作。 */
.answer-field-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px}.answer-field-copy{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;gap:5px}
:is(.app-body,.iframe-dialog-body) .answer-action-row{display:flex;flex:0 0 auto;align-items:center;gap:8px;margin:0}
:is(.app-body,.iframe-dialog-body) .answer-action-row[hidden],:is(.app-body,.iframe-dialog-body) .answer-action-tip[hidden],:is(.app-body,.iframe-dialog-body) .answer-action-buttons>[hidden]{display:none!important}
:is(.app-body,.iframe-dialog-body) .answer-action-tip{margin:0;color:var(--ui-hint);font-size:12px;line-height:1.5}
:is(.app-body,.iframe-dialog-body) .answer-action-buttons{display:flex;flex:0 0 auto;align-items:center;gap:7px;margin-left:auto}
:is(.app-body,.iframe-dialog-body) .answer-field{position:relative}
.answer-field-heading{display:flex;align-items:center;gap:12px;margin:0;color:#1d4c3e;font-weight:700}.answer-field-heading>span{min-width:0}
/* 校对与编辑共用整行选项框；图片选项保留卡片布局。 */
.question-option-list:not(.is-image-choice-layout){display:grid;grid-template-columns:1fr;gap:4px;padding:0}
.question-option-list:not(.is-image-choice-layout)>.question-option-row{box-sizing:border-box;display:flex;min-width:0;min-height:64px;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--ui-line);border-radius:8px;background:#fff;transition:border-color .15s,box-shadow .15s}
.question-option-list:not(.is-image-choice-layout)>.question-option-row:hover{border-color:var(--ui-ui-blue-300)}
.question-option-list:not(.is-image-choice-layout)>.question-option-row:focus-within{border-color:var(--ui-ui-blue-500);box-shadow:0 0 0 2px var(--ui-selection-blue-soft)}
.question-option-key{display:flex;flex:0 0 34px;align-items:center;justify-content:center;margin:0;padding:0;color:var(--ui-question-option-text);font-size:16px;font-weight:700}
.question-option-content{flex:1 1 auto;min-width:0}
.question-option-actions{display:grid;flex:0 0 88px;align-self:center;grid-template-columns:repeat(3,28px);gap:2px;margin:0}
.question-option-list:not(.is-image-choice-layout)>.question-option-row>.question-option-content>:is(.layout-rich,.bank-rich-editor){box-sizing:border-box;min-height:46px;padding:9px 0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:15px;line-height:1.85}
:is(.app-body,.iframe-dialog-body) .tree-manage.is-blue{border-color:var(--ui-light-action-line);color:var(--ui-light-action-text);background:var(--ui-light-action-bg)}
:is(.app-body,.iframe-dialog-body) .tree-manage.is-blue:hover{border-color:var(--ui-light-action-hover-line);color:var(--ui-light-action-hover-text);background:var(--ui-light-action-hover-bg)}
:is(.app-body,.iframe-dialog-body) :is(.image-action-light,.answer-solve-button){display:inline-flex;box-sizing:border-box;flex:none;align-items:center;justify-content:center;gap:5px;padding:4px 9px;border:1px solid var(--ui-light-action-line);border-radius:6px;color:var(--ui-light-action-text);background:var(--ui-light-action-bg);font-size:12px;font-weight:400;line-height:1.5;white-space:nowrap}
:is(.app-body,.iframe-dialog-body) :is(.image-action-light,.answer-solve-button):is(:hover,:focus){border-color:var(--ui-light-action-hover-line);color:var(--ui-light-action-hover-text);background:var(--ui-light-action-hover-bg);outline:0}
:is(.app-body,.iframe-dialog-body) .image-action-light.is-icon-only{width:28px;height:28px;min-width:28px;padding:0}
:is(.app-body,.iframe-dialog-body) :is(.answer-solve-button,.image-action-light):disabled{color:var(--ui-neutral-disabled);border-color:var(--ui-neutral-line);background:var(--ui-neutral-soft);cursor:not-allowed;opacity:.7}
@media(max-width:620px){.answer-field-header{flex-wrap:wrap}.answer-field-copy{flex-basis:180px}.answer-field-header .answer-action-row{margin-left:auto}}

/* 日期范围插件同时携带两套图标类名，统一使用 FontAwesome，避免图标和日期文字叠加。 */
.app-body .daterangepicker .input-mini.form-control{box-sizing:border-box!important;width:100%!important;min-height:30px!important;height:30px!important;padding:0 6px 0 32px!important;border:1px solid var(--ui-line)!important;border-radius:6px!important;color:#3d5360!important;background:#fff!important;box-shadow:none!important;font-size:12px!important;line-height:28px!important;text-indent:0!important}
.app-body .daterangepicker .input-mini.form-control:focus{border-color:#4a9ec7!important;box-shadow:0 0 0 2px rgba(74,158,199,.14)!important}
.app-body .daterangepicker .daterangepicker_input>i.fa.glyphicon{position:absolute!important;z-index:1;display:block!important;top:8px!important;left:10px!important;width:14px!important;height:14px!important;margin:0!important;padding:0!important;color:#6f8793!important;font-family:FontAwesome!important;font-size:12px!important;font-style:normal!important;font-weight:400!important;line-height:1!important;pointer-events:none}
.app-body .daterangepicker .daterangepicker_input>i.fa.glyphicon:before{content:"\f073"!important;font-family:FontAwesome!important}
.app-body .daterangepicker .range_inputs{display:flex;justify-content:flex-end;gap:6px;padding:3px 4px 4px;white-space:nowrap}
.app-body .daterangepicker .range_inputs>.applyBtn,.app-body .daterangepicker .range_inputs>.cancelBtn{display:inline-flex!important;min-width:52px!important;height:27px!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0 9px!important;border-width:1px!important;border-style:solid!important;border-radius:6px!important;font-size:12px!important;font-weight:600!important;line-height:25px!important;box-shadow:none!important;transform:none!important}
.app-body .daterangepicker .range_inputs>.applyBtn{color:#fff!important;border-color:var(--ui-primary-border)!important;background:linear-gradient(135deg,var(--ui-primary-start),var(--ui-primary-end))!important}
.app-body .daterangepicker .range_inputs>.applyBtn:hover:not(:disabled),.app-body .daterangepicker .range_inputs>.applyBtn:focus:not(:disabled){border-color:#2876ad!important;background:linear-gradient(135deg,var(--ui-primary-hover-start),var(--ui-primary-hover-end))!important}
.app-body .daterangepicker .range_inputs>.applyBtn:disabled{opacity:.5!important;cursor:not-allowed!important}
.app-body .daterangepicker .range_inputs>.cancelBtn{color:#5b7169!important;border-color:#d7e4df!important;background:var(--ui-surface-soft)!important}
.app-body .daterangepicker .range_inputs>.cancelBtn:hover,.app-body .daterangepicker .range_inputs>.cancelBtn:focus{border-color:#bdd4cb!important;color:#365d51!important;background:#edf5f1!important}

/* 公共列表分页。 */
.app-body .member-pagination{display:flex;align-items:center;justify-content:center;min-height:52px;margin-top:16px;padding:8px 20px;border-top:1px solid #edf2ef;color:var(--ui-muted);font-size:12px}.app-body .member-pagination .pagination{display:flex;margin:0;gap:5px}.app-body .member-pagination .pagination>li>a,.app-body .member-pagination .pagination>li>span,.app-body .ajax-pagination button,.app-body .paper-ajax-pagination button{display:flex;align-items:center;justify-content:center;min-width:31px;height:31px;margin:0;padding:0 8px;border:1px solid #d6e3de;border-radius:7px;color:#587067;background:#fff;line-height:1}.app-body .member-pagination .pagination>li>a:hover,.app-body .ajax-pagination button:hover:not(:disabled),.app-body .paper-ajax-pagination button:hover:not(:disabled){border-color:var(--ui-ui-blue-300);color:var(--ui-ui-active-text);background:var(--ui-ui-active-soft)}.app-body .member-pagination .pagination>.active>a,.app-body .member-pagination .pagination>.active>span,.app-body .ajax-pagination button.is-active,.app-body .paper-ajax-pagination button.is-active{border-color:var(--ui-ui-blue-300);color:var(--ui-ui-active-text);background:var(--ui-ui-active-soft)}.app-body .member-pagination .pagination>.disabled>a,.app-body .member-pagination .pagination>.disabled>span,.app-body .ajax-pagination button:disabled,.app-body .paper-ajax-pagination button:disabled{border-color:var(--ui-neutral-line);color:var(--ui-neutral-disabled);background:var(--ui-surface-soft);cursor:not-allowed}.app-body .paper-ajax-pagination{display:flex;align-items:center;justify-content:center;gap:5px;min-height:52px;margin:0;padding:8px 20px;border-top:1px solid #edf2ef}

/* Shared semantic buttons: primary 38px, secondary 30px, compact 26px.
   Hover never translates a control. Page CSS owns layout only. */
.btn,.layui-layer.app-dialog .layui-layer-btn>a.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:5px;box-sizing:border-box;
    height:30px;margin:0;padding:0 12px;border:1px solid var(--btn-border);border-radius:var(--ui-control-radius);
    color:var(--btn-color);background:var(--btn-bg);box-shadow:0 2px 6px rgba(119,159,188,.04);
    font-size:12px;font-weight:500;line-height:28px;text-decoration:none;white-space:nowrap;cursor:pointer;
    transition:color .18s,border-color .18s,background .18s,box-shadow .18s;
}
.btn.btn-block{display:flex;width:100%}
.form-actions>.btn{min-width:100px}
.btn:not(:disabled):not([aria-disabled="true"]):not(.is-disabled):not(.disabled):hover,
.btn:not(:disabled):not([aria-disabled="true"]):not(.is-disabled):not(.disabled):focus-visible,
.layui-layer.app-dialog .layui-layer-btn>a.btn:hover,
.layui-layer.app-dialog .layui-layer-btn>a.btn:has(.layui-layer-confirm:focus-visible){
    color:var(--btn-hover-color);border-color:var(--btn-hover-border);background:var(--btn-hover-bg);
    box-shadow:0 3px 8px rgba(119,159,188,.12);text-decoration:none;
}
:is(.btn:focus,.btn:active:focus,.btn.active:focus):not(:disabled):not([aria-disabled="true"]):not(.is-disabled):not(.disabled),.layui-layer.app-dialog .layui-layer-btn>a.btn:focus:not(.disabled):not([aria-disabled="true"]){color:var(--btn-color);border-color:var(--btn-border);background:var(--btn-bg);outline:0;box-shadow:none}
/* 统一取消按钮和可点击控件的浏览器聚焦外框，输入框的正常聚焦样式不变。 */
:is(button,input[type="button"],input[type="submit"],input[type="reset"],[role="button"],.btn,.layui-layer-btn>a):is(:focus,:focus-visible,:active){outline:0!important;outline-offset:0}
.btn:is(.btn-primary,.btn-danger-primary,.btn-warning-primary){
    height:38px;padding:0 16px;font-size:13px;font-weight:600;line-height:36px;box-shadow:0 5px 12px rgba(var(--btn-shadow-rgb,36,157,222),.19),inset 0 1px 0 rgba(255,255,255,.3);
}
.btn.btn-primary{
    --btn-color:#fff;--btn-border:var(--ui-primary-border);--btn-bg:linear-gradient(135deg,var(--ui-primary-start),var(--ui-primary-end));
    --btn-hover-color:#fff;--btn-hover-border:#1189cf;--btn-hover-bg:linear-gradient(135deg,var(--ui-primary-hover-start),var(--ui-primary-hover-end));
}
.btn.btn-danger-primary{--btn-color:#fff;--btn-border:var(--ui-action-danger);--btn-bg:linear-gradient(135deg,#f07874,var(--ui-action-danger));--btn-hover-color:#fff;--btn-hover-border:var(--ui-action-danger-dark);--btn-hover-bg:linear-gradient(135deg,var(--ui-action-danger),var(--ui-action-danger-dark));--btn-shadow-rgb:224,101,97}
.btn.btn-warning-primary{--btn-color:#fff;--btn-border:#df951e;--btn-bg:linear-gradient(135deg,#efb64f,#df951e);--btn-hover-color:#fff;--btn-hover-border:#c58015;--btn-hover-bg:linear-gradient(135deg,#e5a737,#c58015);--btn-shadow-rgb:223,149,30}
.btn.btn-success,.btn.btn-line-success{
    --btn-color:#40977f;--btn-border:#b9dfd0;--btn-hover-color:#2d806a;--btn-hover-border:#8bcab2;--btn-hover-bg:#e7f6ee;
}
.btn.btn-success{--btn-bg:linear-gradient(#f0fbf5,#dff1e7)}
.btn.btn-warning,.btn.btn-line-warning{
    --btn-color:#bd852d;--btn-border:#ecd3a7;--btn-hover-color:#a26d20;--btn-hover-border:#dcaf68;--btn-hover-bg:#fff0d4;
}
.btn.btn-warning{--btn-bg:linear-gradient(#fff9ec,#ffefce)}
.btn.btn-danger,.btn.btn-line-danger{
    --btn-color:#e06561;--btn-border:#f1c6c6;--btn-hover-color:#c9514d;--btn-hover-border:#e7a2a1;--btn-hover-bg:#fff0f0;
}
.btn.btn-danger{--btn-bg:linear-gradient(#fff4f3,#ffe5e3)}
.btn.btn-danger.is-solid{
    --btn-color:#fff;--btn-border:var(--ui-action-danger);--btn-bg:var(--ui-action-danger);
    --btn-hover-color:#fff;--btn-hover-border:var(--ui-action-danger-dark);--btn-hover-bg:var(--ui-action-danger-dark);
}
.btn.btn-member{
    --btn-color:#c78327;--btn-border:#f5bf74;--btn-bg:linear-gradient(#fffdf8,#fff7e7);
    --btn-hover-color:#aa6416;--btn-hover-border:#e9a442;--btn-hover-bg:linear-gradient(#fff4d9,#ffeac1);
    height:28px;padding:0 10px;font-size:11px;line-height:26px;
}
.btn.btn-info,.btn.btn-line-primary{
    --btn-color:#378fc2;--btn-border:#b8d9ed;--btn-hover-color:#237eb2;--btn-hover-border:#88bfdf;--btn-hover-bg:#eaf6ff;
}
.btn.btn-info{--btn-bg:linear-gradient(#f4fbff,#e3f3fd)}
.btn.btn-line-warning.is-marked{--btn-bg:#fff3d8;--btn-border:#e8c887;--btn-color:#a87520}
.btn.btn-publish,.btn.btn-line-publish{
    --btn-color:#8b74bb;--btn-border:#d7ccee;--btn-hover-color:#745aa6;--btn-hover-border:#baa7dc;--btn-hover-bg:#f1eafa;
}
.btn.btn-publish{--btn-bg:linear-gradient(#fbf8ff,#ede6fa)}
.btn.btn-line,.btn.btn-line-primary,.btn.btn-line-success,.btn.btn-line-warning,.btn.btn-line-danger,.btn.btn-line-publish{--btn-bg:linear-gradient(#fff,#fcfdfe)}
.btn:active:not(:disabled):not([aria-disabled="true"]):not(.is-disabled):not(.disabled){box-shadow:inset 0 1px 3px rgba(119,159,188,.14)}
.btn:disabled,.btn[aria-disabled="true"],.btn.is-disabled,.btn.disabled{
    --btn-color:var(--ui-neutral-disabled);--btn-border:var(--ui-neutral-line);--btn-bg:var(--ui-disabled-bg);
    color:var(--btn-color);border-color:var(--btn-border);background:var(--btn-bg);outline:0;box-shadow:none;cursor:not-allowed;opacity:1;
}
/* 禁用按钮固定为中性状态，阻止页面专用悬停/点击规则重新绘制高亮边框。 */
:is(.app-body,.iframe-dialog-body,.layui-layer.app-dialog) :is(button,input[type="button"],input[type="submit"],input[type="reset"],.btn,.button,[role="button"]):is(:disabled,[aria-disabled="true"],.is-disabled,.disabled){color:var(--ui-neutral-disabled)!important;border-color:var(--ui-neutral-line)!important;background:var(--ui-disabled-bg)!important;outline:0!important;box-shadow:none!important;transform:none!important;cursor:not-allowed}
.btn.btn-big{height:40px;padding:0 18px;font-size:14px;line-height:38px}
.btn.btn-small:not(.btn-member),.btn.btn-sm:not(.btn-member){height:30px;padding:0 12px;font-size:12px;line-height:28px}
.btn.btn-tiny,.btn.btn-xs{height:26px;padding:0 8px;font-size:11px;line-height:24px}
.btn i{font-size:1em}
.file-icon{display:inline-block;width:40px;height:40px;flex:0 0 auto;object-fit:contain;vertical-align:middle}
.action-icon{display:inline-block;width:14px;height:14px;flex:0 0 14px;object-fit:contain;vertical-align:middle}
.app-body :is(.task-actions,.paper-row-actions,.bank-item-actions,.knowledge-actions) .btn{height:30px;padding:0 10px;font-size:11px;line-height:28px}
.app-body .task-actions .btn>i{width:13px;margin:0;text-align:center;font-size:13px;line-height:1}
.app-body .status-tiny{padding:2px 6px;border-radius:5px;font-size:10px;line-height:1.4}
.app-body .filter-actions{display:flex;align-items:center;gap:8px}
.app-body .filter-actions>.btn{height:var(--ui-control-height);min-height:var(--ui-control-height);padding:0 12px;font-size:12px;line-height:calc(var(--ui-control-height) - 2px);white-space:nowrap}
.app-body .paper-view-actions>.btn{height:30px;font-size:12px;line-height:28px}
.app-body :is(.member-hero-actions,.plan-quick-actions)>.btn{height:28px;min-height:28px;padding:0 10px;font-size:11px;line-height:26px}
.app-body :is(.paper-submit-actions,.paper-layout-actions,.editor-actions,.upload-setup-actions,.tools-action-buttons,.tools-page-footer>div,.account-card-footer)>.btn,.modal-footer>.btn,.bank-edit-actions>.btn{height:var(--ui-control-height);min-height:var(--ui-control-height);font-size:13px;line-height:calc(var(--ui-control-height) - 2px)}
.app-body .task-item[data-task-status="capturing"] .task-review,
.app-body .dashboard-task-list .task-item[data-task-status="capturing"] .btn-line-primary{
    --btn-color:#bd852d;--btn-border:#ecd3a7;--btn-hover-color:#a26d20;--btn-hover-border:#dcaf68;--btn-hover-bg:#fff0d4;
}
.formula-svg{display:inline-block;width:auto;height:auto;max-width:100%;vertical-align:-.2em;zoom:.8;pointer-events:none;user-select:none}
.formula-svg.is-display{display:block;width:auto;height:auto;max-width:100%;margin:6px 0;vertical-align:middle}

/* 公共圆角标签：基础结构、颜色、尺寸和可移除状态可自由组合。 */
.tag{display:inline-flex;align-items:center;gap:4px;box-sizing:border-box;padding:3px 7px;border:1px solid transparent;border-radius:var(--ui-control-radius);font-size:12px;font-style:normal;line-height:1.35;text-decoration:none;white-space:nowrap}
.tag.tag-compact{padding:2px 6px;font-size:12px;line-height:1.3}
.tag.tag-blue{color:#157f9f;border-color:#63bdd5;background:#edf9fc}
.tag.tag-teal{color:#177f82;border-color:#91d1d0;background:#effafa}
.tag.tag-violet{color:#81539d;border-color:#d6bce4;background:#faf5fc}
.tag.tag-green{color:#25804c;border-color:#addcb7;background:#f0faf1}
.tag.tag-amber{color:#a96a13;border-color:#f1ca86;background:#fff8ea}
.tag.tag-rose{color:#b94d60;border-color:#eeb6c0;background:#fff3f5}
.tag.tag-red{color:#a9443e;border-color:#e8aaa5;background:#fff1ef}
.tag.tag-slate{color:#5e747f;border-color:#cbd9de;background:#f6f9fa}
.tag.tag-knowledge{color:#55758d;border-color:#d0dfeb;background:var(--ui-light-action-hover-bg)}
.tag.tag-borderless{border-color:transparent}
.tag.tag-removable{padding-right:4px}
.tag .tag-remove{display:inline-flex;width:17px;height:17px;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;color:currentColor;background:transparent;line-height:1;cursor:pointer;opacity:.68}
.tag .tag-remove:hover,.tag .tag-remove:focus{color:#fff;background:#5c7f75;opacity:1;outline:0}
.tag.tag-knowledge .tag-remove:hover,.tag.tag-knowledge .tag-remove:focus{color:var(--ui-light-action-hover-text);background:var(--ui-light-action-hover-bg)}
a.tag:hover,a.tag:focus{color:inherit;text-decoration:none;filter:brightness(.97)}
.bank-tag-editor,.knowledge-editor{position:relative;display:flex;box-sizing:border-box;height:38px;min-height:38px;flex-wrap:nowrap;align-items:center;gap:5px;padding:5px 7px;overflow-x:auto;overflow-y:hidden;border:1px solid var(--ui-line);border-radius:var(--ui-control-radius);background:#fff;scrollbar-width:none;-ms-overflow-style:none}
.bank-tag-editor::-webkit-scrollbar,.knowledge-editor::-webkit-scrollbar{display:none;width:0;height:0}
.bank-tag-editor:focus-within,.knowledge-editor:focus-within{border-color:var(--ui-ui-blue-500,#35a7cf);box-shadow:0 0 0 3px rgba(53,167,207,.14)}
.bank-tag-list,.knowledge-tags{display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:5px}
:is(.app-body,.form-dialog-body) .bank-tag-editor>input,.app-body .knowledge-editor>#knowledge-input{min-width:110px;flex:1 1 120px;height:26px;min-height:26px;margin:0;padding:2px 4px;border:0;border-radius:0;outline:0;background:transparent;box-shadow:none;line-height:20px}
:is(.app-body,.form-dialog-body) .bank-tag-editor>input:hover,:is(.app-body,.form-dialog-body) .bank-tag-editor>input:focus,.app-body .knowledge-editor>#knowledge-input:hover,.app-body .knowledge-editor>#knowledge-input:focus{border:0;background:transparent;box-shadow:none}
.bank-tag-editor>input[hidden]{display:none!important}
.difficulty-stars{display:inline-flex;align-items:center;gap:2px;color:#e5a323;font-size:16px;line-height:1;white-space:nowrap;vertical-align:middle}
.difficulty-star{display:inline-block;flex:0 0 1em;width:1em;height:1em;background-color:currentColor;-webkit-mask:url('../../img/star-rounded.svg') center/contain no-repeat;mask:url('../../img/star-rounded.svg') center/contain no-repeat}

/* 普通操作使用品牌色，智能识别操作使用蓝色。 */
.app-body .paper-layout-grid input[type="range"] { accent-color:var(--ui-green); }
.app-body .paper-export-document { --paper-font-size:17px; }
.app-body .paper-export-section h3 { text-align:left; }

.app-body .capture-smart-progress-card>i,
.app-body .capture-smart-progress-card strong,
.app-body .capture-recognize-progress-card>i,
.app-body .capture-image-loading>i,
.app-body .review-crop-loading>i { color:var(--ui-ui-blue-600); }
.app-body .capture-smart-progress-track span,
.app-body .capture-image-loading b,
.app-body .review-crop-loading b {
    background:linear-gradient(90deg,var(--ui-ui-blue-600),#72b1f2);
}
.app-body .capture-smart-progress-card,
.app-body .capture-recognize-progress-card { border-color:var(--ui-ui-blue-200);box-shadow:0 18px 42px rgba(63,136,232,.16); }
/* 信息提示样式。 */
.app-body .info-tip {
    display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;
    border:1px solid #cfe3f2;border-radius:8px;color:#527083;background:#f2f9fd;
    font-size:12px;font-weight:400;line-height:1.55;
}
.app-body .info-tip>i { flex:0 0 auto;margin-top:3px;color:#4d9ac4; }

/* 工具按钮样式。 */
.app-body .capture-quick-guide p>i { color:#5f8f83; }
.layui-layer.friendly-guide .guide-content{color:var(--ui-hint);font-size:13px;line-height:1.65}
.layui-layer.friendly-guide .guide-list li{border-color:#e5f0f4}
.layui-layer.friendly-guide .guide-list i{color:#529eb7;background:#eaf7fa}
.layui-layer.friendly-guide .guide-list strong{color:var(--ui-ink);font-size:13px}
.layui-layer.friendly-guide .guide-list span{color:var(--ui-hint);font-size:12px}

/* 智能操作使用蓝色，与保存确认操作区分。 */
.app-body .file-dropzone{--ui-neutral-soft:var(--ui-surface-soft);position:relative;display:flex;min-height:285px;align-items:center;justify-content:center;flex-direction:column;margin:0;padding-top:30px;padding-bottom:30px;overflow:hidden;border:1.5px dashed #bad8e2;border-radius:15px;color:inherit;background:var(--ui-surface-soft);cursor:pointer;text-align:center;transition:border-color .18s,background .18s}
.app-body .file-dropzone:hover,.app-body .file-dropzone.is-dragging{border-color:#60afd0;background:var(--ui-surface-soft)}
.app-body .file-dropzone-icon{display:grid;width:64px;height:64px;margin-bottom:13px;place-items:center;border-radius:18px;color:#49a1c6;background:#e8f6fb;font-size:27px}
.app-body .file-dropzone strong{color:var(--ui-ink);font-size:17px}
.app-body .file-dropzone>p,.app-body .file-dropzone>.dropzone-format-tip{margin:7px 18px 17px;color:var(--ui-hint);font-size:12px}
.app-body .file-dropzone>.dropzone-paste-tip{color:var(--ui-hint)}.app-body .file-dropzone>.dropzone-paste-tip i{color:#49a1c6}
.app-body .capture-page-smart { color:var(--ui-ui-blue-700);border-color:var(--ui-ui-blue-200);background:var(--ui-ui-blue-50); }
.app-body .capture-page-smart:hover { color:var(--ui-ui-blue-700);border-color:var(--ui-ui-blue-300);background:var(--ui-ui-blue-100);box-shadow:var(--ui-ui-tech-shadow); }

.app-body .knowledge-symbol { color:var(--ui-ui-active-text);background:var(--ui-ui-icon-soft); }

.app-body .knowledge-open-bank:hover { color:var(--ui-ui-active-text); }
.app-body .knowledge-state { color:var(--ui-ui-active-text);background:var(--ui-ui-active-soft); }
.app-body .bank-rich-editor:focus { border-color:var(--ui-ui-blue-500);box-shadow:0 0 0 3px rgba(53,167,207,.14); }

.app-body .knowledge-chips button:hover,
.app-body .knowledge-chips button.is-active{color:var(--ui-ui-active-text);border-color:var(--ui-ui-blue-300);background:var(--ui-ui-active-soft)}

.app-body .paper-layout-loading-icon { color:var(--ui-green); }
.app-body .paper-layout-loading-bar i { background:var(--ui-green); }
.app-body .paper-selected-meta #paper-selected-score,
.app-body .paper-selected-heading>#paper-selected-score,
.app-body .paper-price-list .is-free,
.app-body .paper-selected-number,
.app-body .paper-source-tag.is-mine,
.app-body .paper-selected-expand:hover { color:var(--ui-green-dark); }
.app-body .paper-source-tag.is-mine { background:#edf8f4; }

/* 公共界面、导航及状态色。 */
.app-body {
    min-height:100vh;
    margin:0;
    padding:0;
    color:var(--ui-ink);
    background-color:var(--ui-canvas);
    background-image:radial-gradient(ellipse at 74% 0,rgba(217,239,255,.6),transparent 46%),linear-gradient(160deg,#f2f9ff,#f5fafc 68%,#eaf6fd);
    font-family:"Microsoft YaHei","PingFang SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    background-attachment:fixed;
}

/* 知识点、题库等左侧分类树共用结构与交互样式。 */
.category-panel{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--ui-line);border-radius:14px;background:#fff;box-shadow:var(--ui-shadow)}
.category-panel-heading{display:flex;min-height:61px;flex:0 0 auto;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border-bottom:1px solid var(--ui-line)}
.category-panel-heading>div{display:flex;min-width:0;flex-direction:column;gap:2px}
.category-panel-heading strong{color:#294d40;font-size:16px}
.category-panel-heading small{color:var(--ui-muted);font-size:12px;font-weight:400}
.category-tree{min-height:0;flex:1;padding:8px;overflow-y:auto;overscroll-behavior:contain}
.category-tree-node{display:flex;width:100%;min-height:36px;align-items:center;justify-content:space-between;gap:7px;padding:6px 8px;border:0;border-radius:7px;color:#50675e;background:transparent;text-align:left;font-size:12px}
.category-tree-node>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.category-tree-node em{padding-left:5px;color:#91a09b;font-size:12px;font-style:normal}
.category-tree-node:hover,.category-tree-node.is-active{color:#11664f;background:#eaf7f1}
.category-tree-row{display:flex;align-items:center}
.category-tree-row .category-tree-node{min-width:0;flex:1}
.category-tree-toggle,.category-tree-folder{display:flex;width:24px;height:36px;flex:0 0 24px;align-items:center;justify-content:center;padding:0;border:0;color:#6da08f;background:transparent;font-size:13px}
.category-tree-toggle:hover{color:#317961}
.category-tree-children{margin-left:18px;padding:2px 0 4px 10px;border-left:1px dashed #bfd9cf}
.category-tree-children>.category-tree-row,.category-tree-children>.category-tree-branch{position:relative}
.category-tree-children>.category-tree-row:before,.category-tree-children>.category-tree-branch:before{position:absolute;top:18px;left:-10px;width:10px;border-top:1px dashed #bfd9cf;content:""}
.category-tree-branch.is-collapsed>.category-tree-children{display:none}
.app-body .side-link{color:var(--ui-nav-text)}
.app-body .side-submenu-link{color:var(--ui-nav-text)}
.app-body .side-submenu-link>i{color:var(--ui-nav-icon)}
.app-body .side-link:hover,
.app-body .side-link:focus { color:var(--ui-nav-active);background:var(--ui-nav-hover-soft); }
.app-body .side-nav:not(.has-open-submenu) .side-link.is-active { --ui-nav-icon:var(--ui-nav-active);color:var(--ui-nav-active);background:var(--ui-nav-active-soft);font-weight:600; }
.app-body .side-submenu[open]:not(.has-active-child):not(.is-collapsing)>.side-submenu-toggle{color:var(--ui-nav-active);background:var(--ui-nav-hover-soft);font-weight:500}
.app-body .side-submenu[open]:not(.has-active-child):not(.is-collapsing)>.side-submenu-toggle>i:first-child { color:var(--ui-nav-active); }
.app-body .side-submenu.has-active-child[open]>.side-submenu-toggle,
.app-body .side-submenu.has-active-child[open]>.side-submenu-toggle:hover,
.app-body .side-submenu.has-active-child[open]>.side-submenu-toggle:focus { color:var(--ui-nav-text);background:transparent;font-weight:400; }
.app-body .side-submenu.has-active-child[open]>.side-submenu-toggle>i:first-child,
.app-body .side-submenu.has-active-child[open]>.side-submenu-toggle:hover>i:first-child { color:var(--ui-nav-icon); }
.app-body .side-submenu-link:hover,
.app-body .side-submenu-link:focus,
.app-body .side-submenu-link.is-active { --ui-nav-icon:var(--ui-nav-active);color:var(--ui-nav-active);background:var(--ui-nav-child-soft);font-weight:600; }
.app-body .side-submenu.is-collapsing .side-submenu-link { --ui-nav-icon:var(--ui-nav-icon-default);color:var(--ui-nav-text);background:transparent;font-weight:400; }
@media(max-width:900px){
    .app-body .side-nav:not(.has-open-submenu) .side-submenu.has-active-child:not([open])>.side-submenu-toggle { color:var(--ui-nav-active);background:var(--ui-nav-active-soft);font-weight:600; }
    .app-body .side-nav:not(.has-open-submenu) .side-submenu.has-active-child:not([open])>.side-submenu-toggle>i:first-child { color:var(--ui-nav-active); }
}

/* 公共分段选择控件。 */
.app-body .segmented-control{display:inline-flex!important;align-items:center;padding:3px!important;border:1px solid #e0edf1!important;border-radius:9px!important;background:#edf7fa!important;box-shadow:inset 0 1px 1px rgba(91,148,164,.035)}
.app-body .segmented-control>button{display:inline-flex!important;height:30px;align-items:center;justify-content:center;gap:5px;padding:0 12px!important;border:0!important;border-radius:6px!important;color:#78909a!important;background:transparent!important;font-size:12px;font-weight:400;line-height:30px;transition:color .18s,background .18s,box-shadow .18s}
.app-body .segmented-control>button i{color:#78a5b1;transition:color .18s}
.app-body .segmented-control>button.is-active{color:#2f7c98!important;background:#fff!important;font-weight:700!important;box-shadow:0 2px 7px rgba(74,133,151,.12)!important}
.app-body .segmented-control>button.is-active i{color:#3c9ebb}
.pill-choice-group{display:inline-flex;align-items:center;gap:0;overflow:hidden;border:1px solid var(--ui-line);border-radius:999px;background:#fff}
.pill-choice-group>.pill-choice{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:26px;padding:2px 9px;border:0;border-right:1px solid var(--ui-line);border-radius:0;background:transparent;color:var(--ui-text);font-size:11px;line-height:20px;white-space:nowrap;cursor:pointer}
.pill-choice-group>.pill-choice:last-child{border-right:0}
.pill-choice-group>.pill-choice.is-active{background:var(--hs-primary,var(--ui-primary));color:#fff}
.pill-choice-group>.pill-choice:hover:not(.is-active){background:var(--hs-soft,#f3f7f9)}
.pill-choice-group:focus-within{outline:2px solid var(--ui-primary);outline-offset:2px}
.pill-choice-group>.pill-choice:focus-visible{outline:none}
.pill-choice-group>.pill-choice:disabled{opacity:.5;cursor:default}
.app-body .segmented-control>button:hover:not(.is-active){color:#4d7e8e!important;background:rgba(255,255,255,.48)!important}

/* 题库、知识点和试卷页面共用标题及基础卡片结构。 */
.app-body :is(.knowledge-heading,.bank-heading,.paper-heading,.handout-heading){display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.app-body :is(.knowledge-list-panel,.bank-filter,.bank-results,.paper-meta,.paper-filter,.paper-selected-card,.paper-sheet){border:1px solid var(--ui-line);border-radius:14px;background:#fff;box-shadow:var(--ui-shadow)}

/* 跨页面加载进度条共用位移动画，各组件保留自己的颜色。 */
@keyframes ui-loading-slide{0%{transform:translateX(-110%)}100%{transform:translateX(340%)}}

/* 卡片内提示保留内容间距。 */
.app-body .paper-selected-card .paper-score-tip{margin:10px 12px 0;padding:9px 12px;border:1px solid #cce3ed;border-radius:8px;color:var(--ui-hint);background:#eef8fc}
.app-body .paper-selected-card .paper-score-tip i{color:#4e9fc0}

/* 公共页面标题层级。 */
.app-body .page-intro h1{margin:0;color:var(--ui-ink);font-size:22px;font-weight:700;line-height:1.25;letter-spacing:.1px}
.app-body .page-intro p{margin-bottom:0}
.app-body :is(.knowledge-heading,.bank-heading,.paper-heading,.handout-heading)>.btn.btn-primary.btn-big{flex:0 0 auto;min-width:140px;width:auto;text-decoration:none}
.app-body :is(.knowledge-heading,.bank-heading,.paper-heading,.handout-heading)>.btn.btn-primary.btn-big i{margin-right:6px}
@media(max-width:900px){
    .app-body :is(.knowledge-heading,.bank-heading,.paper-heading,.handout-heading,.member-page-heading,.account-heading,.member-hero){align-items:center;gap:10px}
    .app-body :is(.knowledge-heading,.bank-heading,.paper-heading,.handout-heading,.member-page-heading,.account-heading,.member-hero)>.page-intro{min-width:0;flex:1 1 auto}
    .app-body :is(.knowledge-heading,.bank-heading,.paper-heading,.handout-heading,.member-page-heading,.account-heading,.member-hero)>.page-intro h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .app-body :is(.knowledge-heading,.bank-heading,.paper-heading,.handout-heading,.member-page-heading,.account-heading,.member-hero)>:is(.btn,.paper-view-actions,.plan-quick-actions,.member-hero-actions,.member-order-link){flex:0 0 auto;white-space:nowrap}
}
@media(max-width:620px){
    .app-body :is(.knowledge-heading,.bank-heading,.paper-heading,.handout-heading,.member-page-heading,.account-heading,.member-hero){gap:8px}
    .app-body :is(.knowledge-heading,.bank-heading,.paper-heading,.handout-heading)>.btn,
    .app-body .paper-heading .paper-view-actions>.btn{height:30px;padding:0 10px;font-size:12px;line-height:28px}
    body.app-body :is(.knowledge-heading,.bank-heading,.paper-heading,.handout-heading)>.btn.btn-primary.btn-big{min-width:0}
    .app-body :is(.knowledge-heading,.bank-heading,.paper-heading,.handout-heading)>.btn i,
    .app-body .paper-heading .paper-view-actions>.btn i{font-size:12px}
    .app-body .plan-quick-actions{gap:6px}
    .app-body .plan-quick-actions>.btn{padding:0 8px}
    .app-body .member-hero-actions{gap:6px}
    .app-body .member-hero-actions>.btn{padding:0 7px}
    .app-body .member-hero-actions .plan-invite .fa-angle-right,
    .app-body .member-hero-actions .member-order-link i{display:none}
    .app-body .account-heading>.member-order-link{min-height:30px;padding:4px 8px;font-size:12px}
}

/* 全站弹窗组件：遮罩、标题、正文和操作区保持同一套层级。 */
.layui-layer-shade{background:#263943!important;backdrop-filter:blur(3px)}
.iframe-dialog-body{min-height:100%;margin:0!important;padding:0!important}
.question-editor-drawer{width:min(1120px,calc(96vw - 200px))!important}
@media(min-width:1024px) and (max-width:1366px){.question-editor-drawer{width:min(1020px,calc(96vw - 300px))!important}}
@media(max-width:1023px){.question-editor-drawer{width:calc(100% - 24px)!important}}
.layui-layer.app-dialog.app-drawer{box-sizing:border-box;overflow:visible;display:flex;flex-direction:column;top:0!important;right:0!important;left:auto!important;height:100dvh!important;border-radius:15px 0 0 15px!important;animation:ui-drawer-enter .22s ease both}
.layui-layer.app-dialog.app-drawer>.layui-layer-content{flex:1 1 auto;min-height:0;height:auto!important;overflow:hidden}
.layui-layer.app-dialog.app-drawer iframe{display:block;width:100%;height:100%!important}
@keyframes ui-drawer-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
.layui-layer.app-dialog.app-drawer.is-closing{animation:ui-drawer-exit .22s ease both;pointer-events:none}
@keyframes ui-drawer-exit{from{transform:translateX(0)}to{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.layui-layer.app-dialog.app-drawer{animation:none}}
.layui-layer.app-dialog{overflow:hidden;border:1px solid rgba(207,224,230,.96)!important;border-radius:15px!important;box-shadow:0 22px 56px rgba(20,43,54,.28)!important}.layui-layer.app-dialog.layui-layer-dialog,.layui-layer.app-dialog.layui-layer-page{display:flex;flex-direction:column}.layui-layer.app-dialog.layui-layer-dialog .layui-layer-content,.layui-layer.app-dialog.layui-layer-page .layui-layer-content{height:auto!important;min-height:0;flex:1 1 auto;overflow-y:auto;padding:20px!important;}
.layui-layer.app-dialog .layui-layer-title{flex:0 0 auto;position:relative;height:66px;padding:12px 40px 10px 52px!important;border:0!important;border-bottom:1px solid #e6eef0!important;color:var(--ui-ink)!important;background:#fff!important;font-size:15px!important;font-weight:700!important;line-height:21px!important}
.layui-layer.app-dialog .layui-layer-title:before{position:absolute;left:14px;top:19px;width:28px;height:28px;border-radius:8px;background:var(--ui-ui-blue-100);color:var(--ui-ui-active-text);content:"\f132";font:14px/28px FontAwesome;text-align:center}
.layui-layer.app-dialog .layui-layer-title:after{display:none!important;content:none!important}.layui-layer.app-dialog .dialog-title-description{display:block;margin-top:1px;color:var(--ui-hint);font-size:12px;font-weight:400;line-height:17px}
.layui-layer.app-dialog.dialog-info .layui-layer-title:before{color:#4c98b3;background:#e9f6fa;content:"\f05a"}.layui-layer.app-dialog.dialog-success .layui-layer-title:before{color:#449c7e;background:#eaf6f0;content:"\f00c"}.layui-layer.app-dialog.dialog-warning .layui-layer-title:before{color:#c58a38;background:#fff4df;content:"\f071"}.layui-layer.app-dialog.dialog-error .layui-layer-title:before{color:#cf6d67;background:#fff0ee;content:"\f057"}
.layui-layer.app-dialog .layui-layer-content{box-sizing:border-box;font-size:14px;line-height:1.7}.layui-layer.app-dialog.layui-layer-dialog .layui-layer-content{min-height:100px}.layui-layer.app-dialog.layui-layer-dialog .layui-layer-content .layui-layer-ico{display:none!important}
.layui-layer.app-dialog.dialog-description-title .layui-layer-title{height:auto!important;min-height:66px;white-space:normal!important}.layui-layer.app-dialog.dialog-description-title .dialog-title-description{white-space:normal;overflow-wrap:anywhere}
.layui-layer.app-dialog .layui-layer-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 14px 12px;border-top:1px solid #e6eef0;background:#fbfdfe}
.layui-layer.app-dialog .layui-layer-setwin{top:0!important;right:0!important}.layui-layer.app-dialog .layui-layer-close{top:14px!important;right:10px!important;width:24px!important;height:24px!important;border-radius:7px!important;color:#8299a1!important;background:none!important;font-size:0!important;text-align:center!important}.layui-layer.app-dialog .layui-layer-close:after{content:"\00d7";font-size:22px;line-height:22px}.layui-layer.app-dialog .layui-layer-close:hover{color:#54737d!important;background:#f1f7f8!important}
.layui-layer.app-dialog.layui-layer-iframe .layui-layer-setwin{display:flex;top:14px!important;right:14px!important;height:26px;align-items:center}.layui-layer.app-dialog.layui-layer-iframe .layui-layer-setwin>a{position:static!important;flex:0 0 auto;margin-left:8px!important}.layui-layer.app-dialog.layui-layer-iframe .layui-layer-close{top:auto!important;right:auto!important}
/* 右侧工作区统一内边距；页面布局通过变量使用，打印布局保留自身设置。 */
@media screen{.app-body{--workspace-padding:20px 25px 30px}}
@media screen and (max-width:620px){.app-body{--workspace-padding:15px 15px 20px}}

.app-body .side-link>i { color:var(--ui-nav-icon); }
.app-body .side-link.is-active>i,
.app-body .side-link:hover>i,
.app-body .side-link:focus>i { color:var(--ui-nav-active); }
.app-body .bank-view-tabs button.is-active{
    color:var(--ui-ui-active-text);
    border-color:var(--ui-ui-blue-300);
    background:var(--ui-ui-active-soft);
}

/* 侧栏账户入口。 */
.app-body .side-account-wrap {
    margin-top:18px;
    padding:14px 0 0;
    border-top:1px solid var(--ui-line);
}
.app-body .side-account-toggle,
.app-body .side-account-login {
    min-height:50px;
    padding:7px 8px;
    border:0;
    border-radius:9px;
    color:#314b5c;
    background:transparent;
    box-shadow:none;
}
.app-body .side-account-toggle:hover,
.app-body .side-account-toggle:focus,
.app-body .side-account-wrap.is-open .side-account-toggle,
.app-body .side-account-login:hover,
.app-body .side-account-login:focus {
    border:0;
    color:#2e638f;
    background:var(--ui-ui-active-soft);
    box-shadow:none;
}
.app-body .side-account-toggle>img { border-color:#dcecff; }
.app-body .side-account-toggle>i:last-child,
.app-body .side-account-login>i:last-child { color:#8ba4ba; }

/* 框选操作使用独立的紫蓝色。 */
.app-body .capture-manual-mode>i {
    color:#fff;
    background:linear-gradient(145deg,#9b87ca,#7862ad);
}
.app-body .capture-manual-mode { color:var(--ui-capture); }
.app-body .capture-manual-mode strong { color:#4d4168; }
.app-body .capture-next-wrap .fa-crop { color:var(--ui-capture-icon); }

.app-body .content-card,
.app-body .feature-card,
.app-body .upload-panel,
.app-body .progress-panel,
.app-body .quota-card,
.app-body .member-summary-card,
.app-body .invite-card,
.app-body .knowledge-panel,
.app-body .knowledge-list-panel,
.app-body .bank-edit-card,
.app-body .bank-fields-card,
.app-body .paper-meta,
.app-body .paper-browser,
.app-body .paper-selected-card,
.app-body .paper-sheet,
.app-body .paper-layout-panel,
.app-body .paper-layout-preview { border-color:var(--ui-line);background:var(--ui-surface);box-shadow:var(--ui-shadow); }

.app-body .task-status{display:inline-flex;align-items:center;min-width:0;padding:2px 7px;border:1px solid transparent;border-radius:5px;color:#96651f;background:var(--ui-ui-warning-soft);font-size:10px;font-weight:400;line-height:1.4;text-align:center;white-space:nowrap}
.app-body .task-status.status-preparing,.app-body .task-status.status-capturing,.app-body .task-status.status-recognizing{color:#96651f;background:var(--ui-ui-warning-soft)}
.app-body .question-status.is-published,
.app-body .question-status.is-corrected,
.app-body .task-status.status-success,
.app-body .order-status.is-paid,
.app-body .order-status.is-rewarded { color:var(--ui-ui-success);background:var(--ui-ui-success-soft); }
.app-body .question-status.is-pending,
.app-body .order-status.is-pending,
.app-body .capture-pending-badge { color:#96651f;background:var(--ui-ui-warning-soft); }
.app-body .question-status.is-solving { color:var(--ui-ui-blue-700);background:var(--ui-ui-blue-100);box-shadow:inset 0 0 0 1px var(--ui-ui-blue-200); }
.app-body .question-status.is-failed,
.app-body .task-status.status-failed { color:#ac3f38;background:var(--ui-ui-danger-soft); }
.app-body .question-status.is-ignored,
.app-body .order-status.is-invalid,
.app-body .capture-ready-badge { color:var(--ui-neutral-text);background:var(--ui-ui-neutral-soft); }


.app-body .score-delta.is-plus { color:var(--ui-ui-success); }
.app-body .score-delta.is-minus { color:var(--ui-ui-danger); }

.app-body #toast-container>.toast-success { background-color:var(--ui-ui-success); }
.app-body #toast-container>.toast-info { background-color:var(--ui-ui-blue-600); }
.app-body #toast-container>.toast-warning { color:#fff;background-color:#a96517; }
#toast-container>.toast-error { background-color:var(--ui-danger); }

.layui-layer.app-dialog .quota-dialog-message{padding:11px 13px;border:1px solid #dcebf4;border-radius:9px;color:var(--ui-text);background:#f4f9fc;font-size:14px;font-weight:400;line-height:1.65}
.layui-layer.app-dialog .quota-dialog-note{margin:17px 0 9px;color:var(--ui-hint);font-size:12px;line-height:1.5}
.layui-layer.app-dialog .quota-dialog-options{display:grid;gap:9px}
.layui-layer.app-dialog .quota-dialog-option{display:flex;min-height:65px;align-items:center;gap:11px;padding:10px 12px;border:1px solid #dce8ec;border-radius:9px;color:#375762;background:#fff;text-decoration:none;transition:border-color .16s,background-color .16s,box-shadow .16s}
.layui-layer.app-dialog .quota-dialog-option:hover,.layui-layer.app-dialog .quota-dialog-option:focus-visible{border-color:#91c3db;background:#f7fbfd;box-shadow:0 0 0 2px rgba(66,151,192,.1);outline:0}
.layui-layer.app-dialog .quota-dialog-option.is-primary{border-color:#b9d9e9;background:#f3f9fc}
.layui-layer.app-dialog .quota-dialog-option-icon{display:grid;flex:0 0 35px;width:35px;height:35px;place-items:center;border-radius:8px;color:#328eb8;background:#e7f4fa;font-size:15px}
.layui-layer.app-dialog .quota-dialog-option-copy{display:grid;flex:1;gap:2px;min-width:0}.layui-layer.app-dialog .quota-dialog-option-copy strong{color:#315363;font-size:14px;line-height:1.4}.layui-layer.app-dialog .quota-dialog-option-copy small{color:var(--ui-hint);font-size:12px;line-height:1.45}
.layui-layer.app-dialog .quota-dialog-option-arrow{color:#8ca8b5;font-size:18px}
.layui-layer.app-dialog .quota-dialog-shell{position:relative}
.layui-layer.app-dialog .quota-dialog-shell.is-awaiting-score .quota-dialog-body{pointer-events:none;user-select:none}
.layui-layer.app-dialog .quota-dialog-refresh-mask{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:20px;border-radius:9px;background:rgba(248,252,255,.9)}
.layui-layer.app-dialog .quota-dialog-refresh-mask[hidden]{display:none}
.layui-layer.app-dialog .quota-dialog-refresh{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:144px;height:40px;padding:0 18px;border-radius:10px;font-size:14px}
.layui-layer.app-dialog .quota-dialog-refresh>i{font-size:15px;line-height:1}

@media(max-width:620px){
    .app-body .side-account-wrap{margin:0;padding:0;border-top:0}
    .app-body .side-account-toggle,.app-body .side-account-login{min-height:40px;padding:5px}
}

/* 题库与组卷搜索结果共用题目内容结构。 */
.question-item-main{min-width:0}
.app-body .member-pagination[hidden]{display:none}
.document-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:18px}.document-list>.empty-state{grid-column:1/-1;padding:65px 20px;background:#fff;border:1px dashed var(--ui-line);border-radius:14px}.document-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--ui-line);border-radius:14px;background:#fff}.document-card:hover{border-color:#8fc5e7;box-shadow:0 7px 20px rgba(61,132,182,.1)}.document-card-preview{display:block;box-sizing:border-box;height:190px;padding:25px 24px;background:linear-gradient(135deg,#f4faff,#ecf6fd);color:var(--ui-ink)}.document-card-preview>small{display:block;margin-bottom:12px;color:var(--ui-hint);font-size:12px;line-height:18px}.document-card-preview strong{display:-webkit-box;height:56px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:19px;line-height:28px;overflow-wrap:anywhere}.document-card-preview>span{display:block;height:5px;width:68%;margin-top:15px;background:#dcecf5;border-radius:3px}.document-card-copy{display:flex;flex-direction:column;flex:1;padding:16px}.document-card-copy p{color:var(--ui-hint);font-size:12px}.document-card-actions{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:14px}
.document-list-tools{display:grid;grid-template-columns:minmax(0,1fr) 150px 150px auto;align-items:center;gap:12px;box-sizing:border-box;width:1040px;max-width:100%;margin:0 auto 18px;padding:16px;border:1px solid var(--ui-line);border-radius:14px;background:#fff;box-shadow:var(--ui-shadow)}
.document-list-tools>.pretty-dropdown{margin-top:0;min-width:0}
.document-list-tools .pretty-toggle{height:var(--ui-control-height)}
.document-list-tools>.search-control{min-width:0}
.document-list-search-actions{display:flex;align-items:center;justify-content:center;gap:8px}
.document-list-search-actions>.btn{height:var(--ui-control-height);min-width:78px}
@media(max-width:900px){.document-list-tools{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.document-list-tools{width:100%;max-width:none}}
.document-card-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:12px}
.document-card-preview-meta{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:5px}
.question-item-meta,.question-item-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.question-item-difficulty{display:inline-flex;align-items:center;color:#808080;font-size:12px;white-space:nowrap}
.question-item-difficulty .difficulty-stars{margin-left:2px}
.question-item-content{margin-top:13px;color:#183d32;font-size:15px;line-height:1.85}
.question-list-placeholder,.review-list-placeholder{display:flex;align-items:center;justify-content:center;min-height:120px;margin:0;text-align:center;color:var(--ui-muted);font-size:13px}
:is(.question-item-options,.review-list-options){--question-option-default-columns:4;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 22px;margin:0}
.question-item-options{margin-top:10px}
.question-item-options>div{display:flex;min-width:0;gap:7px;line-height:1.7}
:is(.question-item-options,.review-list-options)>div>b{flex:0 0 auto;white-space:nowrap}
:is(.question-item-options,.review-list-options)>div>span{min-width:0;overflow-wrap:anywhere}
:is(.question-item-options,.review-list-options).is-options-two{grid-template-columns:repeat(2,minmax(0,1fr))}
:is(.question-item-options,.review-list-options).is-options-single{grid-template-columns:minmax(0,1fr)}
.question-item-options b,.paper-question-options b{color:var(--ui-question-option-text)}
.question-item-images,.question-list-figures{display:flex;align-items:flex-start;flex-wrap:wrap;gap:16px 24px;min-width:0}
.question-item-images{margin-top:12px}
.question-stem-preview{position:relative;min-width:0;max-width:100%;padding-right:68px}
.question-stem-preview:not(.is-expanded) .question-stem-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.question-stem-toggle{position:absolute;right:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:6px;width:64px;height:26px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--ui-tech-blue-dark);font-size:12px;white-space:nowrap;cursor:pointer}
.question-stem-toggle[hidden]{display:none}
.question-stem-toggle-label{display:block;line-height:14px}
.question-stem-toggle-icon{position:relative;flex:0 0 10px;width:10px;height:14px}
.question-stem-toggle-icon::before,.question-stem-toggle-icon::after{content:'';position:absolute;box-sizing:border-box;left:1px;top:-2px;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.question-stem-toggle-icon::after{top:3px}
.question-stem-preview.is-expanded .question-stem-toggle-icon{transform:rotate(180deg)}
.question-stem-toggle:hover,.question-stem-toggle:focus,.question-stem-toggle:active{background:transparent;border:0;outline:none;box-shadow:none}
.question-stem-toggle:focus-visible .question-stem-toggle-label{text-decoration:underline}
.question-item-images img,.review-list-figure img{display:block;max-width:min(100%,360px);max-height:100px;width:auto;height:auto;border:0;border-radius:5px;object-fit:contain}
.review-list-figure.is-option-figure img,:is(.question-item-options,.review-list-options) img:not(.formula-svg){max-width:min(100%,100px);max-height:60px;width:auto;height:auto;border:0;object-fit:contain}
.question-option-images{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:100%}
.question-item-tags{margin-top:12px}
.question-item-footer{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px 16px;min-width:0}
.question-item-footer>.question-item-tags{margin:0}
.question-item-tags .tag.tag-knowledge{border:0}
@media(max-width:1200px){:is(.question-item-options,.review-list-options){--question-option-default-columns:2;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:641px){:is(.question-item-options,.review-list-options){padding-inline:20px}}
@media(max-width:640px){:is(.question-item-options,.review-list-options){--question-option-default-columns:1;grid-template-columns:minmax(0,1fr)}}
.inline-notice{display:flex;align-items:flex-start;gap:7px;padding:0;border:0;background:transparent;color:var(--ui-muted);font-size:12px;line-height:1.6}
.inline-notice[hidden]{display:none!important}
.inline-notice>i{flex:0 0 auto;margin-top:3px}
.inline-notice>span{min-width:0}
.inline-notice.is-boxed{padding:10px 12px;border:1px solid var(--notice-border,var(--ui-line));border-radius:8px;background:var(--notice-background,var(--ui-surface-soft))}
.inline-notice.is-warning{--notice-border:var(--ui-warning-border);--notice-background:var(--ui-ui-warning-soft);color:var(--ui-warning)}
.inline-notice.is-info{--notice-border:var(--ui-ui-blue-200);--notice-background:var(--ui-tech-blue-soft);color:var(--ui-tech-blue-dark)}
.inline-notice.is-danger{--notice-border:var(--ui-danger-border);--notice-background:var(--ui-ui-danger-soft);color:var(--ui-danger)}
.inline-notice.is-success{--notice-border:var(--ui-success-border);--notice-background:var(--ui-ui-success-soft);color:var(--ui-success)}
.solve-candidate-content{color:var(--ui-ink);font-size:14px;line-height:1.8}
.solve-candidate-note{margin:0 0 16px;color:var(--ui-hint);font-size:13px}
.question-table-region{position:relative;box-sizing:border-box;width:fit-content;max-width:min(100%,640px);min-width:0;margin:10px 0;padding:10px;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-surface-soft)}
.question-table-heading{display:flex;align-items:center;gap:12px;min-height:20px;margin-bottom:8px;padding-right:88px;color:var(--ui-text);font-weight:600}
.question-table-region.has-mode-choice .question-table-heading{flex-wrap:wrap;min-width:0}
.question-table-region.is-whole-table .question-table-heading{padding-right:0}
.question-table-mode{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin:0;font-size:12px;font-weight:400;white-space:nowrap}
.question-table-mode select{flex:0 0 148px;width:148px}
.question-table-heading>span{flex-shrink:0;white-space:nowrap}
.question-table-region.is-readonly-table{margin:0;padding:0;border:0;border-radius:0;background:transparent}
.question-table-image{display:none;max-width:100%;padding:8px;background:var(--ui-surface)}
.question-table-image img{display:block;max-width:100%;max-height:320px;object-fit:contain;margin:auto}
.question-table-region.is-image-mode .question-table-image{display:block}
.question-table-region.is-image-mode .question-table-scroll{display:none}
.question-table-source-missing{margin:8px 0 0;color:var(--ui-hint);font-size:12px}
.question-table-source{font-size:12px;font-weight:400}
.question-table-source summary{position:absolute;top:8px;right:8px;display:flex;align-items:center;gap:4px;padding:3px 6px;border-radius:4px;color:var(--ui-hint);list-style:none;cursor:pointer}
.question-table-source summary::-webkit-details-marker{display:none}
.question-table-source summary::before{content:'▸'}
.question-table-source[open] summary::before{content:'▾'}
.question-table-source summary:hover,.question-table-source summary:focus-visible{background:var(--ui-tech-blue-soft);color:var(--ui-tech-blue-dark)}
.question-table-source-preview{margin-top:10px;padding:8px;border:1px dashed var(--ui-line);border-radius:6px;background:#fff}
.question-table-source-preview img{display:block;width:auto;max-width:100%;max-height:260px;object-fit:contain;object-position:left top}
.question-table-copy-source{display:block;max-width:100%;padding:0;border:0;background:transparent;color:var(--ui-hint);text-align:left;cursor:copy}
.question-table-copy-source:focus-visible{outline:2px solid var(--ui-ui-blue-500);outline-offset:3px}
.question-table-copy-source:disabled{opacity:.65;cursor:wait}
.question-table-copy-hint{display:block;margin-bottom:6px;font-size:12px;font-weight:400;line-height:1.5}
.question-table-copy-source:hover .question-table-copy-hint{color:var(--ui-tech-blue-dark)}
.refill-page{margin:0;background:var(--ui-surface-soft);color:var(--ui-text)}
.refill-content{padding:18px 20px}
.refill-packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.refill-package{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:14px 12px;border:1px solid var(--ui-line);border-radius:12px;background:linear-gradient(160deg,#fff 55%,var(--ui-tech-blue-soft));box-shadow:0 4px 12px rgba(30,98,145,.04);color:var(--ui-text);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.refill-package:hover,.refill-package:focus-visible{border-color:var(--ui-ui-blue-300);box-shadow:0 6px 18px rgba(30,98,145,.12);outline:0}
.refill-package:disabled{opacity:.6;cursor:wait}
.refill-package-name{max-width:100%;overflow-wrap:anywhere;font-size:13px;color:var(--ui-muted)}
.refill-package-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--ui-ui-blue-200);border-radius:9px;background:var(--ui-tech-blue-soft);color:var(--ui-tech-blue-dark);font-size:16px}
.refill-package-score{font-size:12px;color:var(--ui-hint)}
.refill-package-score strong{font-size:30px;color:var(--ui-tech-blue-dark);font-weight:600}
.refill-package-price{font-size:18px;color:var(--ui-warning)}
.refill-package-action{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;box-sizing:border-box;margin-top:3px;padding:7px 10px;border-radius:7px;background:linear-gradient(135deg,#28b5ef,#139ae0);box-shadow:0 3px 8px rgba(19,154,224,.16);color:#fff;font-size:12px}
.refill-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:12px}
.refill-footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.refill-footer .btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:30px;padding:0 10px;font-size:12px;font-weight:400;line-height:28px;white-space:nowrap}
.quota-dialog-options>button.quota-dialog-option{width:100%;font:inherit;text-align:left;cursor:pointer}
@media(max-width:480px){.refill-content{padding:14px}.refill-packages{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.question-table-scroll{max-width:100%;overflow-x:auto}
.question-data-table{width:max-content;margin:0;border-collapse:collapse;table-layout:auto;line-height:1.6;color:inherit;background:#fff}
.question-data-table td{min-width:32px;padding:3px 10px;border:1px solid #cbd7de;vertical-align:middle;overflow-wrap:anywhere}
.question-data-table .table-cell-align-left{text-align:left}.question-data-table .table-cell-align-center{text-align:center}.question-data-table .table-cell-align-right{text-align:right}.question-data-table .table-cell-align-left textarea,.question-data-table .table-cell-align-center textarea,.question-data-table .table-cell-align-right textarea{text-align:inherit}
.question-table-cell-editor{position:relative;width:max-content;min-width:32px;max-width:240px;line-height:1.6}
.question-table-cell-size{display:block;box-sizing:border-box;min-height:calc(1.6em + 10px);padding:4px;border:1px solid transparent;visibility:hidden;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}
.question-data-table textarea{display:block;box-sizing:border-box;width:100%;min-width:32px;min-height:32px;margin:0;padding:4px;border:1px solid transparent;border-radius:4px;resize:vertical;background:transparent;color:inherit;font:inherit;line-height:1.6}
.question-table-cell-editor textarea{position:absolute;inset:0;height:100%;min-width:0;min-height:0;resize:none;overflow:hidden}
.question-table-cell-rich{box-sizing:border-box;width:max-content;min-width:32px;max-width:240px;min-height:32px;padding:4px;border:1px solid transparent;border-radius:4px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;text-align:inherit}
.question-table-cell-rich:focus-within{outline:0;border-color:var(--ui-ui-blue-500);background:var(--ui-surface-soft)}
.question-table-cell-rich math-field{max-width:100%;vertical-align:middle;border:0;background:transparent;font:inherit}
.question-data-table textarea:focus{outline:0;border-color:var(--ui-ui-blue-500);background:var(--ui-surface-soft)}
.solve-candidate-content h4{margin:16px 0 8px;font-size:14px;font-weight:600}
.solve-candidate-preview{padding:12px;border:1px solid var(--ui-line);border-radius:8px;background:#fff;overflow-wrap:anywhere}
.solve-candidate-preview math-field{visibility:hidden;max-width:100%;border:0;background:transparent;pointer-events:none}
.solve-candidate-preview math-field.is-ready{visibility:visible}
.solve-candidate-preview math-field::part(menu-toggle),.solve-candidate-preview math-field::part(virtual-keyboard-toggle){display:none}
.solve-candidate-formula-error{display:inline-block;padding:1px 6px;border-radius:4px;background:var(--ui-ui-warning-soft);color:var(--ui-warning);font-size:12px}
@media(max-width:620px){.layui-layer.solve-candidate-dialog .layui-layer-btn{flex-wrap:wrap}}
/* 题目校对和题库编辑共用配图容器、卡片及归属操作行。 */
.question-figure-card,.review-source-controls{--ui-control-height:28px;--ui-control-padding:3px 7px;--ui-control-line-height:20px}
.question-figure-gallery{display:flex;align-items:stretch;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;gap:12px;padding:12px;border-radius:var(--ui-control-radius);background:var(--ui-surface-soft)}
.question-option-list.is-image-choice-layout,.bank-edit-options.is-image-choice-layout{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:200px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:8px;gap:14px;align-items:start}
.question-figure-card{box-sizing:border-box;display:flex;flex:0 0 200px;width:100%;max-width:200px;min-width:0;flex-direction:column;align-items:center;margin:0;padding:8px;border-radius:var(--ui-control-radius);background:#fff}
.question-figure-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;margin-top:6px}
.question-figure-controls>label{flex:1 1 80px;min-width:0;width:80px;height:var(--ui-control-height);margin:0;line-height:20px}
.question-figure-controls .pretty-toggle{display:grid;box-sizing:border-box;grid-template-columns:minmax(0,1fr) 10px;gap:3px;height:var(--ui-control-height);min-height:var(--ui-control-height);padding:0 4px;border-radius:6px;font-size:12px;line-height:20px}
.question-figure-controls .pretty-toggle>.fa:first-child{display:none}
.question-figure-controls .pretty-toggle>.fa:last-child{grid-column:2;justify-self:end;width:10px;min-width:10px;margin:0;padding:0}
.question-figure-controls .pretty-toggle>span{grid-column:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.pretty-menu.is-figure-floating{position:fixed;z-index:2147483000;display:block;box-sizing:border-box;left:var(--figure-menu-left);top:var(--figure-menu-top);bottom:auto;width:var(--figure-menu-width);max-height:var(--figure-menu-height);margin:0;font-size:12px}
.pretty-menu.is-figure-floating .pretty-option{min-height:28px;padding:4px 7px;white-space:nowrap}
.question-figure-controls>.layout-image-actions,.question-figure-controls>.bank-image-actions{flex:0 0 auto;width:auto;min-height:var(--ui-control-height);margin:0 0 0 auto;padding:0}
.question-figure-caption{display:flex;align-items:center;gap:6px;width:100%;margin:6px 0 0;color:var(--ui-muted);font-size:12px}
.question-figure-caption>span{flex:0 0 auto}
.question-figure-caption>input{box-sizing:border-box;flex:1;min-width:0;height:var(--ui-control-height);min-height:var(--ui-control-height);padding:var(--ui-control-padding);font-size:12px;line-height:var(--ui-control-line-height)}
.workspace-drawer-collapse{position:absolute;z-index:30;left:-24px;top:50%;transform:translateY(-50%);display:grid;place-items:center;box-sizing:border-box;width:24px;min-width:24px;height:64px;margin:0;padding:0;border:1px solid #d5e5ef;border-right:0;border-radius:10px 0 0 10px;color:#5c8aa4;background:#f6fbff;box-shadow:-3px 0 10px rgba(32,73,99,.1);cursor:pointer;transition:color .15s,background-color .15s}
.question-item-source{display:inline-flex;max-width:340px;align-items:center;gap:4px;overflow:hidden;color:#7a8d86;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.workspace-drawer-collapse:hover{color:#187fb4;background-color:#eaf5fd}
.workspace-drawer-collapse:focus-visible{outline:2px solid var(--ui-primary-border);outline-offset:2px}
.workspace-drawer-collapse:disabled{cursor:wait;opacity:.6}
/* 滑窗遮罩直属页面，始终覆盖视口，并与滑窗使用同一时长过渡。 */
.workspace-drawer-shade{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;margin:0;border-radius:0;background:#263943;opacity:.48;animation:ui-drawer-shade-enter .22s ease both}
.workspace-drawer-shade.is-closing{animation:ui-drawer-shade-exit .22s ease both}
@keyframes ui-drawer-shade-enter{from{opacity:0}to{opacity:.48}}
@keyframes ui-drawer-shade-exit{from{opacity:.48}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.workspace-drawer-shade,.workspace-drawer-shade.is-closing{animation:none}}



