/* ============================================================
   东南教育 · 全站共享品牌层 v3「学理图谱」
   ------------------------------------------------------------
   载入顺序：必须在各页原有 CSS 之后（最后一条 stylesheet）。
   职责：① 令牌统一 ② 虚化学科元素背景 ③ 品牌标识强化
        ④ 报告页 / 教师端 / 管理端 / 登录 / 协议页视觉对齐
        ⑤ 手机端同步
   原则：只做外观覆盖与增补，不改任何 DOM 结构、表单字段、
        尺寸布局逻辑、事件钩子；所有原有功能保持不变。
   ============================================================ */

/* ---------- 0. 品牌字体（供非首页页面按需加载，URL 与首页一致，不重复下载） ---------- */
@font-face{font-family:"SE Serif";src:url("/assets/fonts/se-serif-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"SE Serif";src:url("/assets/fonts/se-serif-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"SE Num";src:url("/assets/fonts/se-num-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"SE Num";src:url("/assets/fonts/se-num-800.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}

:root{
  --se-ink:#12293A; --se-night:#0B1D2B; --se-teal:#0A6E70;
  --se-teal-lt:#46B7B0; --se-red:#B23A2C; --se-brand:#9E0F26;
  --se-paper:#F4F1E8; --se-card:#FCFAF5; --se-line:#D5D0BE;
  --se-serif:"SE Serif","Noto Serif SC","Songti SC",SimSun,serif;
  --se-num:"SE Num","Manrope","Segoe UI",sans-serif;
  --se-grid:rgba(18,41,58,.052);
}

/* ---------- 1. 令牌重映射：只作用于非首页，避免污染 public.css 的同名变量 ---------- */
body:not(.landing){
  --crimson:#12293A;          /* 主色：墨蓝 */
  --crimson-deep:#0B1D2B;
  --gold:#0A6E70;             /* 强调：实验青 */
  --gold-light:#D7EAE7;
  --ink:#12293A;
  --muted:#51636E;
  --dim:#71828C;
  --bg:#F4F1E8;              /* 象牙实验纸 */
  --card:#FCFAF5;
  --line:#D5D0BE;
  --ok:#1F6B52; --ok-bg:#E4F1EB;
  --warn:#9A6212; --warn-bg:#FAF0DB;
  --bad:#B23A2C; --bad-bg:#FBE9E5;
  --shadow:0 18px 44px -28px rgba(11,29,43,.30);
  --radius:10px;
  background-color:var(--bg);
}
body:not(.landing) a{color:var(--se-ink)}
body:not(.landing) a:hover{color:var(--se-teal)}
body:not(.landing) ::selection{background:rgba(10,110,112,.16)}

/* ---------- 2. 全局背景：虚化学科元素 + 坐标网格 ---------- */
/* 六套学科水印为独立 SVG，纸面与深色底都能隐约可见；虚化由 SVG 内高斯模糊实现 */
body.landing{
  background-image:
    url("/assets/brand/wm-math.svg"),url("/assets/brand/wm-chem.svg"),
    url("/assets/brand/wm-physics.svg"),url("/assets/brand/wm-english.svg"),
    url("/assets/brand/wm-chinese.svg"),url("/assets/brand/wm-diagram.svg"),
    linear-gradient(90deg,var(--grid) 1px,transparent 1px),
    linear-gradient(0deg,var(--grid) 1px,transparent 1px),
    linear-gradient(90deg,rgba(18,41,58,.075) 1px,transparent 1px),
    linear-gradient(0deg,rgba(18,41,58,.075) 1px,transparent 1px);
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat,repeat,repeat,repeat;
  background-position:3% 17%,75% 11%,5% 50%,71% 42%,7% 78%,79% 72%,0 0,0 0,0 0,0 0;
  background-size:250px 97px,270px 98px,240px 112px,270px 84px,290px 100px,230px 172px,22px 22px,22px 22px,110px 110px,110px 110px;
  background-attachment:fixed,fixed,fixed,fixed,fixed,fixed,fixed,fixed,fixed,fixed;
}
body:not(.landing){
  background-image:
    url("/assets/brand/wm-math.svg"),url("/assets/brand/wm-chem.svg"),
    url("/assets/brand/wm-physics.svg"),url("/assets/brand/wm-english.svg"),
    url("/assets/brand/wm-chinese.svg"),url("/assets/brand/wm-diagram.svg"),
    linear-gradient(90deg,var(--se-grid) 1px,transparent 1px),
    linear-gradient(0deg,var(--se-grid) 1px,transparent 1px),
    linear-gradient(90deg,rgba(18,41,58,.075) 1px,transparent 1px),
    linear-gradient(0deg,rgba(18,41,58,.075) 1px,transparent 1px);
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat,repeat,repeat,repeat;
  background-position:3% 17%,75% 11%,5% 50%,71% 42%,7% 78%,79% 72%,0 0,0 0,0 0,0 0;
  background-size:250px 97px,270px 98px,240px 112px,270px 84px,290px 100px,230px 172px,22px 22px,22px 22px,110px 110px,110px 110px;
  background-attachment:fixed,fixed,fixed,fixed,fixed,fixed,fixed,fixed,fixed,fixed;
}
body.preview-body{background-color:#EDE8DA}
body.public-page{background-color:var(--se-night);color:#F4F1E8}
body.report-page{background-color:var(--se-paper)}

/* 深色数据剧场：补一层学科水印，避免深色区把背景吃掉 */
.landing .theater::before{
  background-image:
    url("/assets/brand/wm-physics.svg"),url("/assets/brand/wm-chinese.svg"),
    linear-gradient(90deg,rgba(70,183,176,.055) 1px,transparent 1px),
    linear-gradient(0deg,rgba(70,183,176,.055) 1px,transparent 1px);
  background-repeat:no-repeat,no-repeat,repeat,repeat;
  background-position:4% 16%,76% 72%,0 0,0 0;
  background-size:210px 98px,250px 86px,26px 26px,26px 26px;
  background-attachment:fixed,fixed,scroll,scroll;
}

/* ---------- 3. 品牌标识强化（logo + 品牌名） ---------- */
/* 3.1 首页顶部品牌锁 */
.cover .brand{gap:12px;padding-right:18px;border-right:1px solid var(--line)}
.cover .brand::before{content:"";width:4px;height:40px;background:var(--se-brand);flex:none;margin-right:2px}
.cover .brand img{width:42px;height:42px;border-radius:50%;
  box-shadow:0 0 0 2px var(--se-paper),0 0 0 3px rgba(158,15,38,.55),0 6px 16px rgba(158,15,38,.20)}
.cover .brand-t{font-family:var(--se-serif);font-size:21px;font-weight:700;letter-spacing:.10em;line-height:1.15}
.cover .brand-t small{font-size:9px;letter-spacing:.26em;font-weight:800;color:var(--se-teal);margin-top:4px}
.cover .btn-cream.sm{padding:11px 17px;font-size:10.5px}
.foot-brand img{width:34px;height:34px;
  box-shadow:0 0 0 2px var(--se-paper),0 0 0 3px rgba(158,15,38,.45)}
.foot-brand span{font-family:var(--se-serif);font-size:17px;font-weight:700;letter-spacing:.10em}
.foot-brand small{font-size:8px;letter-spacing:.22em;font-weight:800}

/* 3.2 教师端 / 管理端 / 预览页 / 协议页顶栏 */
.topbar .brand::before,.preview-top .brand::before,.public-top .brand::before{
  content:"";width:4px;height:38px;background:var(--se-brand);flex:none;margin-right:4px}
.topbar .brand,.preview-top .brand,.public-top .brand{gap:11px;padding-right:16px;border-right:1px solid var(--se-line)}
.topbar .brand img,.preview-top .brand img,.public-top .brand img{
  width:42px;height:42px;border-radius:50%;
  box-shadow:0 0 0 2px var(--se-card),0 0 0 3px rgba(158,15,38,.45),0 5px 14px rgba(158,15,38,.18)}
/* 预览页 logo 带 inline width/height，需要提升优先级才能放大 */
.preview-top .brand img{width:44px!important;height:44px!important}
.topbar .brand .name,.preview-top .brand .name{
  font-family:var(--se-serif);font-size:19px;font-weight:700;letter-spacing:.07em;line-height:1.2;color:var(--se-ink)}
.topbar .brand .name small,.preview-top .brand .name small{
  font-family:var(--se-num);font-size:9.5px;letter-spacing:.20em;font-weight:800;color:var(--se-teal);margin-top:3px}
.public-top .brand .name{font-family:var(--se-serif);font-size:19px;font-weight:700;letter-spacing:.07em;color:#F4F1E8}
.public-top .brand .name small{font-family:var(--se-num);font-size:9.5px;letter-spacing:.20em;font-weight:800;color:var(--se-teal-lt)}
.topbar,.public-top,.preview-top{border-bottom-color:var(--se-line)}
.topbar{background:rgba(252,250,245,.94)}
.preview-top{background:rgba(252,250,245,.94)}
.public-top{background:rgba(11,29,43,.90);border-bottom-color:rgba(70,183,176,.22)}

/* 3.3 报告纸张抬头 */
.paper-brand img{width:50px;height:50px;
  box-shadow:0 0 0 2px var(--se-card),0 0 0 3px rgba(158,15,38,.42)}
.paper-brand b{font-family:var(--se-serif);font-size:17px;letter-spacing:.08em;color:var(--se-ink)}
.paper-brand span{font-family:var(--se-num);font-size:9px;letter-spacing:.24em;color:var(--se-teal);font-weight:800}
.paper-head{border-bottom:2px solid var(--se-ink)}
.paper-title{font-family:var(--se-serif);color:var(--se-ink)}

/* 3.4 登录页品牌区 */
.login-page{background:transparent}
.login-brand{background:var(--se-night);color:#F4F1E8}
/* 深色品牌区：水印直接叠进已生效的 ::before 背景层，使用亮青版以便可见 */
.login-brand::before{
  background-image:
    url("/assets/brand/wm-chem-lt.svg"),
    url("/assets/brand/wm-english-lt.svg"),
    url("/assets/brand/wm-diagram-lt.svg"),
    radial-gradient(700px 420px at 84% -10%,rgba(70,183,176,.16),transparent 62%),
    radial-gradient(620px 420px at 0% 100%,rgba(158,15,38,.20),transparent 60%),
    linear-gradient(rgba(70,183,176,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(70,183,176,.055) 1px,transparent 1px);
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat,repeat;
  background-position:7% 22%,58% 68%,70% 9%,0 0,0 0,0 0,0 0;
  background-size:250px 92px,250px 78px,190px 142px,auto,auto,26px 26px,26px 26px}
.login-brand .logo-row{gap:16px}
.login-brand .logo-row img{width:68px;height:68px;
  box-shadow:0 0 0 3px rgba(244,241,232,.16),0 10px 28px rgba(0,0,0,.35)}
.login-brand .logo-row .t{font-family:var(--se-serif);font-size:26px;font-weight:700;letter-spacing:.10em}
.login-brand .logo-row .t small{font-family:var(--se-num);font-size:10.5px;letter-spacing:.26em;color:var(--se-teal-lt);font-weight:800;margin-top:5px}
.login-brand h1{font-family:var(--se-serif)}
.login-brand h1 span{color:var(--se-teal-lt)}
.login-brand p{color:#A9BCC7}
.login-brand .tags span{border-color:rgba(70,183,176,.34);color:#D6E4E9;background:rgba(70,183,176,.07)}
.login-brand .foot{color:#7E96A4}

/* ---------- 4. 各端视觉对齐（只换颜色/字重，不动尺寸与布局） ---------- */
/* 4.1 app.css 页面的硬编码暖色 */
body:not(.landing) .topbar{background:rgba(252,250,245,.94)}
body:not(.landing) .btn:hover{border-color:var(--se-teal);background:#EAF3F1;color:var(--se-ink)}
body:not(.landing) .btn-primary{background:var(--se-ink);color:#F4F1E8;border-color:var(--se-ink);
  box-shadow:0 3px 0 var(--se-teal-dp, #075253)}
body:not(.landing) .btn-primary:hover{background:var(--se-night);border-color:var(--se-night);color:#F4F1E8}
body:not(.landing) .btn-gold{background:var(--se-teal);border-color:var(--se-teal);color:#F4F1E8}
body:not(.landing) .stat .n{color:var(--se-teal);font-family:var(--se-num)}
body:not(.landing) .kicker{color:var(--se-teal);font-family:var(--se-num)}
body:not(.landing) .page-head h1,.login-card h2{font-family:var(--se-serif);letter-spacing:.01em}
body:not(.landing) .table th{background:#EFEDE3;color:var(--muted)}
body:not(.landing) .table tr:hover td{background:#F2F5F2}
body:not(.landing) .report-card::before{background:linear-gradient(90deg,var(--se-ink),var(--se-teal))}
body:not(.landing) .doc-section h3{color:var(--se-ink)}
body:not(.landing) .doc-section h3::before{background:linear-gradient(180deg,var(--se-ink),var(--se-teal))}
body:not(.landing) .input:focus,body:not(.landing) .select:focus,body:not(.landing) .textarea:focus{
  border-color:var(--se-teal);box-shadow:0 0 0 3px rgba(10,110,112,.12)}
body:not(.landing) .empty{background:rgba(252,250,245,.75);border-color:var(--se-line)}
body:not(.landing) .modal-mask{background:rgba(11,29,43,.48)}
body:not(.landing) .toast{background:var(--se-night);color:#F4F1E8;border-color:rgba(70,183,176,.35)}
body:not(.landing) .quota{background:#EAF3F1;color:var(--se-teal);border-color:rgba(10,110,112,.3)}
body:not(.landing) .badge.admin{color:var(--se-ink);background:#E4EEF0;border-color:#C6DBDE}
body:not(.landing) .badge.draft{color:var(--se-ink);background:#DCEDEA;border-color:rgba(10,110,112,.35)}
body:not(.landing) .secret{background:#EAF3F1;border-color:rgba(10,110,112,.35);color:var(--se-ink)}

/* 4.2 协议 / 隐私页深色版式 */
body.public-page .public-section{border-top-color:rgba(70,183,176,.18)}
body.public-page .public-section .kicker{color:var(--se-teal-lt)}
body.public-page .public-grid .cell{border-color:rgba(70,183,176,.20);background:rgba(70,183,176,.05)}
body.public-page .public-footer{border-top-color:rgba(70,183,176,.18)}
body.public-page .public-top a{color:#D6E4E9}

/* 4.3 报告阅读版（preview.css 为硬编码暖色，这里统一到纸面体系） */
.preview-top{border-bottom-color:var(--se-line)}
.sample-banner{background:rgba(10,110,112,.06);border:1px solid var(--se-line);
  border-left:3px solid var(--se-teal);color:var(--muted)}
.sample-toc{border-color:var(--se-line);background:rgba(252,250,245,.82)}
.sample-toc a{color:var(--muted);border-color:var(--se-line);background:var(--se-card)}
.sample-toc a:hover{color:var(--se-teal);border-color:var(--se-teal)}
.paper{background:var(--se-card);border-color:var(--se-line)}
.paper-subtitle,.paper-head .date{color:var(--muted)}
.stat-strip .s{background:#F1EFE5;border-color:var(--se-line)}
.stat-strip .s b{color:var(--se-teal);font-family:var(--se-num)}
.chart-box{background:var(--se-card);border-color:var(--se-line)}
.chart-box .t{color:var(--muted)}
.module h2{color:var(--se-ink);font-family:var(--se-serif)}
.module h2 .idx{background:var(--se-ink);color:#F4F1E8;border-radius:5px}
.module .m-sub,.module .m-tag{color:var(--muted)}
.kv-row{border-bottom-color:var(--se-line)}
.kv-row .l{color:var(--muted)}
.kv-row .v{color:var(--se-ink)}
.kv-row .v.auto{color:var(--se-teal)}
.eval-total{background:linear-gradient(135deg,#EEF4F2,#F4F1E8);border-color:var(--se-line)}
.eval-total .score,.eval-total .lv{color:var(--se-teal)}
.eval-total .lv{background:#DCEDEA}
.eval-item{border-bottom-color:var(--se-line)}
.eval-item .lv.on{color:var(--se-teal)}
.analysis{background:#F1EFE5;border-left-color:var(--se-teal);color:#3B4B55}
.analysis .p,.summary .h{color:var(--se-ink)}
.d-table th,.d-table td{border-color:var(--se-line)}
.d-table th{background:#EFEDE3;color:var(--muted)}
.d-table td:first-child{background:#F6F4EC;color:var(--se-ink)}
.summary,.verdict-box{background:#F6F4EC;border-color:var(--se-line)}
.verdict-box .big,.verdict-reasons,.summary .t,.chips span{color:#3B4B55}
.chips span{border-color:var(--se-line);background:var(--se-card)}
.paper-foot{border-top-color:var(--se-line);color:var(--muted)}
.paper-brand b{color:var(--se-ink)}

/* 4.4 报告填写页（report.css 以变量为主，补少量硬编码底色） */
.form-nav .nav-tools button{background:#EFEDE3}
.form-nav a:hover{background:#EAF3F1}
.form-nav a.active{background:#E1EFEC;color:var(--se-ink)}
.form-nav a .n{color:var(--se-teal)}
.f-head{background:linear-gradient(180deg,var(--se-card),#F6F4EC)}
.f-head .idx{background:var(--se-ink);border-radius:5px}

/* ---------- 5. 手机端同步（与首页同一套视觉语法） ---------- */
@media (max-width:960px){
  body.landing,body:not(.landing){
    background-size:190px 74px,205px 75px,180px 84px,205px 64px,220px 76px,175px 130px,22px 22px,22px 22px,110px 110px,110px 110px;
  }
  /* 手机端登录页：把整块深色品牌区收成一条紧凑品牌头，保证 logo / 品牌名仍醒目 */
  .login-page{grid-template-columns:1fr;grid-template-rows:auto 1fr;background:transparent}
  .login-brand{display:block;padding:14px 18px;min-height:0}
  .login-brand>div>h1,.login-brand>div>p,.login-brand>div>.tags,.login-brand>.foot{display:none}
  .login-brand .logo-row{gap:12px}
  .login-brand .logo-row img{width:44px;height:44px}
  .login-brand .logo-row .t{font-size:19px}
  .login-brand .logo-row .t small{font-size:8.5px;letter-spacing:.2em}
  /* 紧凑品牌头不再承载水印，避免与 logo 抢视觉 */
  .login-brand::before{
    background-image:
      radial-gradient(700px 420px at 84% -10%,rgba(70,183,176,.16),transparent 62%),
      radial-gradient(620px 420px at 0% 100%,rgba(158,15,38,.20),transparent 60%),
      linear-gradient(rgba(70,183,176,.055) 1px,transparent 1px),
      linear-gradient(90deg,rgba(70,183,176,.055) 1px,transparent 1px);
    background-size:auto,auto,26px 26px,26px 26px}
  .login-form-wrap{padding:30px 20px}
}
@media (max-width:640px){
  /* 窄屏只保留 3 组水印，避免与正文抢视觉 */
  body.landing,body:not(.landing){
    background-image:
      url("/assets/brand/wm-math.svg"),url("/assets/brand/wm-chinese.svg"),url("/assets/brand/wm-diagram.svg"),
      linear-gradient(90deg,var(--se-grid) 1px,transparent 1px),
      linear-gradient(0deg,var(--se-grid) 1px,transparent 1px),
      linear-gradient(90deg,rgba(18,41,58,.075) 1px,transparent 1px),
      linear-gradient(0deg,rgba(18,41,58,.075) 1px,transparent 1px);
    background-repeat:no-repeat,no-repeat,no-repeat,repeat,repeat,repeat,repeat;
    background-position:2% 10%,70% 16%,6% 88%,0 0,0 0,0 0,0 0;
    background-size:150px 58px,172px 60px,140px 105px,22px 22px,22px 22px,110px 110px,110px 110px;
    background-attachment:fixed,fixed,fixed,fixed,fixed,fixed,fixed;
  }
  body.landing{
    background-image:
      url("/assets/brand/wm-math.svg"),url("/assets/brand/wm-chinese.svg"),url("/assets/brand/wm-diagram.svg"),
      linear-gradient(90deg,var(--grid) 1px,transparent 1px),
      linear-gradient(0deg,var(--grid) 1px,transparent 1px),
      linear-gradient(90deg,rgba(18,41,58,.075) 1px,transparent 1px),
      linear-gradient(0deg,rgba(18,41,58,.075) 1px,transparent 1px);
  }
  /* 品牌区窄屏保持醒目但收紧 */
  .cover .brand::before,.topbar .brand::before,.preview-top .brand::before,.public-top .brand::before{display:none}
  .cover .brand{gap:9px;padding-right:10px}
  .cover .brand img,.topbar .brand img,.public-top .brand img{width:34px;height:34px}
  .preview-top .brand img{width:34px!important;height:34px!important}
  .cover .brand-t{font-size:17px}
  .cover .brand-t small{font-size:7.5px;letter-spacing:.16em}
  .topbar .brand,.preview-top .brand,.public-top .brand{gap:8px;padding-right:8px}
  .topbar .brand .name,.preview-top .brand .name,.public-top .brand .name{font-size:15px}
  .topbar .brand .name small,.preview-top .brand .name small,.public-top .brand .name small{font-size:7.5px;letter-spacing:.1em}
  .foot-brand img{width:28px;height:28px}
  .foot-brand span{font-size:14px}
  .paper{padding:22px 16px 28px}
  .paper-brand img{width:38px;height:38px}
  .paper-brand b{font-size:14px}
  .preview-top .brand .name small{display:none}
  .landing .theater::before{
    background-image:linear-gradient(90deg,rgba(70,183,176,.055) 1px,transparent 1px),
                     linear-gradient(0deg,rgba(70,183,176,.055) 1px,transparent 1px);
    background-size:26px 26px,26px 26px;background-repeat:repeat,repeat}
  /* 表格与表单沿用原有横滑 / 单列能力，只统一描边 */
  .table-wrap,.form-shell{border-color:var(--se-line)}
  .btn-staff.sm{padding:7px 9px;font-size:9px;letter-spacing:.06em;gap:5px}
  .btn-staff.sm .ar{width:11px;height:11px}
  .module-export{padding:3px 6px;font-size:8px}
}

/* ---------- 5.1 首页教师登录入口（克制线框，不与主 CTA 抢视觉） ---------- */
.btn-staff{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;white-space:nowrap;
  font:700 10px var(--se-num);letter-spacing:.14em;text-decoration:none;
  border:1px solid var(--se-line);color:var(--se-ink);background:transparent;
  transition:border-color .25s,color .25s,background .25s}
.btn-staff .ar{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.btn-staff:hover{border-color:var(--se-teal);color:var(--se-teal);background:rgba(10,110,112,.05)}
.btn-staff:hover .ar{transform:translateX(3px)}
.btn-staff:focus-visible{outline:2px solid var(--se-teal);outline-offset:3px}

/* ---------- 5.2 教师端「导出本板块图片」按钮 ---------- */
.module-export{margin-left:auto;flex:none;border:1px solid var(--se-line);
  background:transparent;color:var(--se-teal);border-radius:4px;cursor:pointer;
  font:700 9px var(--se-num);letter-spacing:.1em;padding:4px 8px;
  transition:border-color .2s,background .2s}
.module-export:hover{border-color:var(--se-teal);background:rgba(10,110,112,.07)}
.module-export:disabled{opacity:.5;cursor:wait}
.module h2{flex-wrap:wrap}

/* ---------- 5.3 导出文档专用品牌抬头 / 页脚（仅导出时临时插入，屏幕不显示） ---------- */
.export-doc-head{display:flex;align-items:center;gap:12px;
  border-bottom:2px solid var(--se-ink);padding:0 0 12px;margin:0 0 20px}
.export-doc-head img{width:36px;height:36px;border-radius:50%;flex:none}
.export-doc-head .eb-t{display:flex;flex-direction:column;gap:2px}
.export-doc-head .eb-t b{font-family:var(--se-serif);font-size:16px;font-weight:700;letter-spacing:.10em;color:var(--se-ink)}
.export-doc-head .eb-t small{font-family:var(--se-num);font-size:8px;letter-spacing:.22em;font-weight:800;color:var(--se-teal)}
.export-doc-head .eb-doc{margin-left:auto;text-align:right;font:700 9px var(--se-num);letter-spacing:.14em;color:#51636E}
.export-doc-head .eb-doc small{display:block;font-size:8px;font-weight:600;letter-spacing:.1em;color:#71828C;margin-top:3px}
.export-doc-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin-top:28px;padding-top:10px;border-top:1px solid var(--se-line);
  font-size:9px;color:#71828C;letter-spacing:.04em;line-height:1.7}


/* ---------- 5.4 一模块一图（纯 HTML/CSS，导出与打印均可带出） ---------- */
.mc{margin:14px 0 18px;padding:14px 16px 16px;background:#F6F4EC;
  border:1px solid var(--se-line);border-radius:8px;break-inside:avoid;page-break-inside:avoid}
.mc figcaption{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  border-bottom:1px dashed var(--se-line);padding-bottom:9px;margin-bottom:12px}
.mc-fig{font:800 8.5px var(--se-num);letter-spacing:.18em;color:var(--se-teal);white-space:nowrap}
.mc figcaption b{font-family:var(--se-serif);font-size:13px;font-weight:700;color:var(--se-ink);letter-spacing:.02em}
.mc-note{font-size:9.5px;color:#71828C;margin-left:auto;line-height:1.5}
.mc-bars{display:flex;flex-direction:column;gap:7px}
.mc-row{display:grid;grid-template-columns:96px minmax(0,1fr) 76px;gap:10px;align-items:center;font-size:10px}
.mc-l{color:#3B4B55;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-track{display:block;height:9px;background:#E7E4D9;border-radius:2px;overflow:hidden;position:relative}
.mc-track::after{content:"";position:absolute;left:25%;top:0;bottom:0;width:1px;background:rgba(255,255,255,.65)}
.mc-track::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(255,255,255,.65)}
.mc-track i,.mc-stack i{display:block;height:100%;border-radius:2px}
.mc-a{background:var(--se-teal)} .mc-b{background:#7FB8B4}
.mc-c{background:#C9B27B} .mc-d{background:var(--se-red)}
.mc-v{font:700 10px var(--se-num);color:var(--se-ink);text-align:right;white-space:nowrap}
.mc-v em{display:block;font:400 8.5px var(--sans);font-style:normal;color:#71828C}
.mc-stack{display:flex;height:9px;border-radius:2px;overflow:hidden;background:#E7E4D9}
.mc-stack i{border-radius:0}
.mc-legend{display:flex;gap:16px;justify-content:flex-end;margin-top:8px;font-size:9px;color:#71828C}
.mc-legend span{display:flex;align-items:center;gap:5px}
.mc-legend i{width:9px;height:9px;border-radius:2px;display:inline-block}
.mc-empty{font-size:10.5px;color:#71828C;text-align:center;padding:14px;border:1px dashed var(--se-line);border-radius:6px}
.mc-donut{width:132px;height:132px;margin:6px auto;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(var(--se-teal) calc(var(--p) * 1%),#E7E4D9 0)}
.mc-donut-in{width:96px;height:96px;border-radius:50%;background:#FCFAF5;display:flex;
  flex-direction:column;align-items:center;justify-content:center;gap:2px}
.mc-donut-in b{font:800 24px var(--se-num);color:var(--se-ink);line-height:1}
.mc-donut-in span{font-size:9px;color:#71828C}
.mc-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--se-line);border:1px solid var(--se-line)}
.mc-timeline>div{background:#FCFAF5;padding:11px 10px;display:flex;flex-direction:column;gap:4px}
.mc-timeline b{font:800 12px var(--se-num);color:var(--se-teal)}
.mc-timeline span{font-size:9.5px;color:#3B4B55;line-height:1.5}
@media (max-width:640px){
  .mc{padding:11px 10px 12px}
  .mc-row{grid-template-columns:72px minmax(0,1fr) 60px;gap:6px;font-size:9px}
  .mc-note{width:100%;margin-left:0}
  .mc-timeline{grid-template-columns:1fr}
}

/* ---------- 5.5 填写页实时图表槽 ---------- */
.mc-slot{margin:0 0 16px}
.mc-live{font:800 8.5px var(--se-num);letter-spacing:.16em;color:var(--se-teal);margin-bottom:7px}
.f-card.collapsed .mc-slot{display:none}

/* ---------- 5.6 表格独立列设置（两端共用 table-config.js 的列定义） ---------- */
.f-table[data-fixed="1"],.d-table[data-fixed="1"]{table-layout:fixed}
.f-table [data-align="center"],.d-table [data-align="center"]{text-align:center}
.f-table [data-align="right"],.d-table [data-align="right"]{text-align:right}
.f-table td[data-type="number"],.d-table td[data-type="number"]{
  font-family:var(--se-num);font-variant-numeric:tabular-nums}
.f-table td[data-align="center"] .f-input,.f-table td[data-align="right"] .f-input{text-align:center}
.f-table td .cell-input{display:flex;align-items:center;gap:4px;justify-content:center}
.f-table td[data-align="left"] .cell-input{justify-content:flex-start}
.cell-unit{font:700 10px var(--se-num);color:#71828C;flex:none}
.th-unit{font:700 9px var(--se-num);color:var(--se-teal);margin-left:3px}
.table-title{font-family:var(--se-serif);font-size:12px;font-weight:700;color:var(--se-ink);margin:14px 0 7px}
.table-hint{font-size:10.5px;line-height:1.6;margin:-2px 0 10px;padding:6px 9px;
  border-left:2px solid var(--se-teal);background:#EEF4F2;color:#3B4B55}
.table-hint.warn{border-left-color:var(--se-red);background:#FBEEEA;color:#8B3A2E}
.table-hint.ok{border-left-color:var(--se-teal)}

/* ---------- 5.7 纯文字板块要点清单（不含分数/百分比） ---------- */
.mc-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px}
.mc-check{display:flex;align-items:center;gap:7px;font-size:10.5px;color:#71828C;
  padding:6px 9px;border:1px solid var(--se-line);border-radius:5px;background:#FCFAF5}
.mc-check i{font-style:normal;font:800 11px var(--se-num);color:#9AA7AD;width:13px;text-align:center;flex:none}
.mc-check.on{color:var(--se-ink);border-color:rgba(10,110,112,.38);background:#EAF3F1}
.mc-check.on i{color:var(--se-teal)}
@media (max-width:640px){.mc-checklist{grid-template-columns:1fr}}
/* ---------- 6. 打印 / 减少动效 ---------- */
@media print{
  body.landing,body:not(.landing){background-image:none!important;background-color:#fff!important}
  .landing .theater::before{display:none!important}
  .module-export,.export-doc-head,.export-doc-foot{display:none!important}
  .paper-head{border-bottom-color:var(--se-ink)!important}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
