/* ============================================================
   学途点点 · xt10.css v2 ——「录取档案 · 朱批」设计系统(第十批重做)
   ------------------------------------------------------------
   设计语言:把整站当成"一份被认真批阅过的录取档案"。
   · 朱批  —— 朱砂波浪批注线(.zhu)、「批」字旁注(.cl-more)
   · 印鉴  —— 骑缝圆章(.x10-seal)、虚线核验章(.dx-tag)
   · 档案  —— 牛皮纸档案袋(主页 hero)、卷一/卷二卷标页签
   · 答题卡 —— 30 秒自测的方块填涂(.cl-q .bx)
   全部颜色取主站设计令牌,随四套主题换肤;仅作用于
   home-* / cl-* / pol2-* / dx-* / .ptabs / .qhero.x10 等命名空间。
   ============================================================ */
:root{
  --gold-bg:var(--gold-soft,#faf1d8);
  --gold-dark:color-mix(in srgb,var(--gold,#cf9b3c) 72%,#4a3300);
  --slate-bg:var(--slate-soft,#dceff9);
  --slate-dark:color-mix(in srgb,var(--slate,#3f93d4) 70%,#0b2a44);
  --cinnabar-bg:color-mix(in srgb,var(--cinnabar,#c2452d) 11%,#fff);
  /* 朱批波浪线(随 cinnabar 固定朱砂,不随主题——批注语义色) */
  --zhu-wave:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='8' viewBox='0 0 22 8'><path d='M0 5 Q 5.5 0 11 5 T 22 5' fill='none' stroke='%23c2452d' stroke-width='2.2' stroke-linecap='round'/></svg>");
}
.zhu{background:var(--zhu-wave) repeat-x left bottom/22px 8px;padding-bottom:9px}
.x10-num{font-variant-numeric:tabular-nums}

/* —— 骑缝圆章(纯 CSS,衬线 + 双环虚线)—— */
.x10-seal{position:absolute;display:grid;place-items:center;width:92px;height:92px;border-radius:50%;
  border:2.5px solid var(--cinnabar);box-shadow:inset 0 0 0 4px transparent,inset 0 0 0 5.5px color-mix(in srgb,var(--cinnabar) 55%,transparent);
  color:var(--cinnabar);font-family:var(--serif);font-weight:900;line-height:1.32;text-align:center;font-size:14px;letter-spacing:2px;
  transform:rotate(-12deg);opacity:.88;mix-blend-mode:multiply;pointer-events:none}
.x10-seal::before{content:"";position:absolute;inset:7px;border-radius:50%;border:1.5px dashed color-mix(in srgb,var(--cinnabar) 70%,transparent)}
.x10-seal small{display:block;font-size:9px;letter-spacing:3px;font-weight:700;margin-top:2px}

/* —— 第十批页头(政策 / 看板):左侧竖排档案号 + 朱批标题 —— */
.qhero.x10{position:relative;padding-left:64px}
.qhero.x10 .x10-side{position:absolute;left:0;top:6px;writing-mode:vertical-rl;font-family:var(--mono);
  font-size:10.5px;letter-spacing:5px;color:var(--muted-2);border-left:1px solid var(--line);padding-left:9px;height:120px}
.qhero.x10 h1 .zhu{padding-bottom:7px}
@media(max-width:760px){.qhero.x10{padding-left:0}.qhero.x10 .x10-side{display:none}}

/* —— 统一页签家族(政策主页签 / 学堂子页签 / 看板卷标):
      报刊目录式下划线 + 朱砂折角,替代原灰底胶囊 —— */
.ptabs, .cl-tabs, .dx-tabs{display:flex;flex-wrap:wrap;gap:0 4px;border-bottom:1.5px solid var(--line);background:none;padding:0;margin:18px 0 16px}
.ptabs button, .cl-tabs button, .dx-tabs button{position:relative;border:none;background:none;border-radius:0;
  padding:9px 14px 11px;font-size:13.5px;color:var(--muted);cursor:pointer;font-family:var(--sans);transition:color .14s;white-space:nowrap}
.ptabs button:hover, .cl-tabs button:hover, .dx-tabs button:hover{color:var(--ink)}
.ptabs button.on, .cl-tabs button.on, .dx-tabs button.on{color:var(--ink);font-weight:800;font-family:var(--serif);font-size:14.5px;background:none;box-shadow:none}
.ptabs button.on::after, .cl-tabs button.on::after, .dx-tabs button.on::after{content:"";position:absolute;left:10px;right:10px;bottom:-1.5px;height:3px;background:var(--pine);border-radius:2px}
.ptabs button.on::before, .cl-tabs button.on::before, .dx-tabs button.on::before{content:"";position:absolute;top:5px;right:2px;width:0;height:0;
  border-top:7px solid var(--cinnabar);border-left:7px solid transparent;opacity:.85}
.cl-tabs{margin:20px 0 14px}
.cl-tabs button{font-size:13px;padding:8px 12px 10px}
.dx-tabs button .v{font-family:var(--mono);font-size:10px;letter-spacing:2px;color:var(--cinnabar-dark);margin-right:6px}
.dx-tabs button .c{font-family:var(--mono);font-size:11px;margin-left:6px;color:var(--muted-2)}
.dx-tabs button.on .c{color:var(--pine-dark)}

@keyframes x10fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.cl-pane.on,.dx-pane.on{animation:x10fade .28s ease}
@media (prefers-reduced-motion:reduce){.cl-pane.on,.dx-pane.on{animation:none}}

/* ============================================================ ① 主页 v2 */
.home-wrap{padding-bottom:64px;position:relative}
.home-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:46px;align-items:center;padding:46px 0 30px;overflow:visible}
.hh-wm{position:absolute;right:-12px;top:-58px;writing-mode:vertical-rl;font-family:var(--serif);font-weight:900;
  font-size:236px;line-height:1;letter-spacing:22px;color:var(--pine);opacity:.055;pointer-events:none;user-select:none;z-index:0}
.hh-left{position:relative;z-index:1}
.hh-left .kicker{font-family:var(--mono);font-size:11.5px;letter-spacing:4px;color:var(--cinnabar-dark);text-transform:uppercase}
.hh-no{display:inline-block;margin-left:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:2px;color:var(--muted-2);border:1px solid var(--line);border-radius:4px;padding:2px 8px;vertical-align:1px}
.hh-title{font-family:var(--serif);font-weight:900;font-size:clamp(32px,4.4vw,50px);line-height:1.32;margin:14px 0 14px;color:var(--ink)}
.hh-title em{font-style:normal;color:var(--cinnabar-dark)}
.hh-sub{color:var(--ink-soft);max-width:540px;font-size:14.5px;line-height:1.95}
.hh-sub b{color:var(--ink)}
.hh-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.hh-btn{border-radius:13px;padding:13px 24px;font-size:15px;font-weight:800;cursor:pointer;transition:.16s;font-family:var(--sans)}
.hh-btn.main{border:none;background:linear-gradient(135deg,var(--pine),var(--pine-dark));color:#fff;box-shadow:0 10px 26px var(--pine-a35)}
.hh-btn.main:hover{transform:translateY(-2px);box-shadow:0 14px 32px var(--pine-a35)}
.hh-btn.ghost{border:1.5px solid var(--line);background:var(--panel);color:var(--ink-soft)}
.hh-btn.ghost:hover{border-color:var(--pine);color:var(--pine-dark)}
.hh-stats{display:flex;flex-wrap:wrap;gap:10px 0;margin-top:30px}
.hh-stat{padding:2px 26px 2px 14px;border-left:1px solid var(--line)}
.hh-stat:first-child{padding-left:0;border-left:none}
.hh-stat b{font-family:var(--serif);font-weight:900;font-size:25px;color:var(--ink);font-variant-numeric:tabular-nums}
.hh-stat b small{font-size:12px;font-weight:700;color:var(--muted);margin-left:1px}
.hh-stat span{display:block;font-size:11px;color:var(--muted);margin-top:2px;letter-spacing:.5px}

/* 右侧:档案袋 + 抽出的报告卡 + 骑缝章 */
.hh-right{position:relative;z-index:1;min-height:380px}
.hh-folder{position:absolute;inset:34px -6px 6px 30px;border-radius:14px 14px 16px 16px;
  background:linear-gradient(168deg,color-mix(in srgb,var(--gold) 30%,#fdf6e6),color-mix(in srgb,var(--gold) 46%,#e7d3a4));
  border:1px solid color-mix(in srgb,var(--gold-dark) 34%,#fff);box-shadow:var(--shadow-lift);transform:rotate(1.6deg)}
.hh-folder::before{content:"";position:absolute;left:0;right:0;top:0;height:54px;border-radius:14px 14px 0 0;
  background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 22%,#fff8ea),transparent);border-bottom:1px dashed color-mix(in srgb,var(--gold-dark) 36%,transparent)}
.hh-folder .tie{position:absolute;top:24px;right:26px;width:26px;height:26px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#fff6e0,color-mix(in srgb,var(--gold-dark) 70%,#7a5a16));box-shadow:0 1px 3px rgba(70,50,0,.4)}
.hh-folder .tie::after{content:"";position:absolute;top:11px;left:-46px;width:58px;height:3px;border-radius:3px;
  background:var(--cinnabar);transform:rotate(24deg);box-shadow:0 10px 0 -1px color-mix(in srgb,var(--cinnabar) 80%,#7c2418)}
.hh-folder .lbl{position:absolute;left:18px;bottom:14px;font-family:var(--serif);font-weight:900;font-size:13px;letter-spacing:6px;
  color:color-mix(in srgb,var(--gold-dark) 80%,#3c2a00);writing-mode:vertical-rl;opacity:.75}
.hh-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow-lift);
  padding:17px 17px 14px;transform:rotate(-1.4deg);max-width:392px}
.hh-card::before{content:"REPORT · 学途点点 智能规划";position:absolute;top:-9px;left:16px;background:var(--ink);color:#fff;
  font-family:var(--mono);font-size:9.5px;letter-spacing:2px;padding:3px 10px;border-radius:999px}
.hhc-tabs{display:flex;gap:6px;margin:6px 0 10px}
.hhc-tabs span{font-size:11.5px;padding:4px 12px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.hhc-tabs span.on{background:var(--pine);border-color:var(--pine);color:#fff;font-weight:700}
.hhc-row{display:flex;align-items:center;gap:10px;padding:9px 9px;border-radius:11px}
.hhc-row.open{background:var(--pine-tint);outline:1px solid var(--pine-border)}
.hhc-row.dim{opacity:.6}
.hhc-row .d{width:9px;height:9px;border-radius:50%;flex:none}
.hhc-row .d.s{background:var(--pine)} .hhc-row .d.b{background:var(--slate)}
.hhc-row .m{flex:1;min-width:0}
.hhc-row .m b{display:block;font-size:13.5px;color:var(--ink)}
.hhc-row .m small{font-size:10.5px;color:var(--muted)}
.hhc-row .n{font-family:var(--serif);font-weight:900;font-size:20px;color:var(--ink);font-variant-numeric:tabular-nums}
.hhc-row .n small{font-size:12px;color:var(--muted)}
.hhc-axis{padding:5px 9px 2px}
.hhc-axis svg{width:100%;height:42px;display:block}
.hhc-cap{font-size:10.5px;color:var(--muted);padding:0 9px 5px}
.hhc-foot{display:flex;gap:6px;padding:7px 9px 2px;border-top:1px dashed var(--line);margin-top:6px}
.hhc-foot i{font-style:normal;font-family:var(--mono);font-size:9.5px;letter-spacing:.5px;color:var(--pine-dark);background:var(--pine-tint);border:1px solid var(--pine-border);border-radius:5px;padding:2px 7px}
.hh-right .x10-seal{right:-12px;bottom:-2px}

/* 口径承诺细带 */
.home-tick{display:flex;flex-wrap:wrap;gap:8px 0;justify-content:space-between;border-block:1px solid var(--line);
  padding:11px 2px;margin:30px 0 6px;font-family:var(--mono);font-size:11px;letter-spacing:1.5px;color:var(--muted)}
.home-tick i{font-style:normal;display:flex;align-items:center;gap:9px}
.home-tick i::before{content:"◇";color:var(--cinnabar);font-size:9px}

.home-sec{margin-top:52px;position:relative}
.hs-title{font-family:var(--serif);font-weight:900;font-size:23px;color:var(--ink);display:flex;align-items:baseline;gap:12px;margin-bottom:6px}
.hs-title .en{font-family:var(--mono);font-size:10px;letter-spacing:3px;color:var(--muted-2);text-transform:uppercase}
.hs-rule{height:1px;background:var(--line);margin:0 0 20px;position:relative}
.hs-rule::before{content:"";position:absolute;left:0;top:-1.5px;width:54px;height:4px;background:var(--cinnabar);border-radius:2px}

/* 四步:装订线 + 巨影编号(真实流程,序号承载信息) */
.home-steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-top:6px}
.home-steps::before{content:"";position:absolute;left:2%;right:2%;top:-2px;border-top:1.5px dashed var(--line)}
.hstep{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:42px 17px 15px;box-shadow:var(--shadow);overflow:hidden}
.hstep .no{position:absolute;top:-14px;right:6px;font-family:var(--serif);font-weight:900;font-size:74px;line-height:1;
  color:var(--pine);opacity:.10;letter-spacing:-2px;font-variant-numeric:tabular-nums}
.hstep::before{content:"";position:absolute;left:17px;top:20px;width:26px;height:4px;border-radius:2px;background:var(--pine)}
.hstep b{display:block;font-family:var(--serif);font-size:16px;color:var(--ink)}
.hstep p{font-size:12.5px;color:var(--muted);line-height:1.8;margin:6px 0 0}

/* 功能:便当格(报告主卡跨两列) */
.home-feats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.hfeat{position:relative;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:16px;
  padding:17px 17px 15px;cursor:pointer;transition:.18s;box-shadow:var(--shadow);font-family:var(--sans);overflow:hidden}
.hfeat:hover{transform:translateY(-4px);border-color:var(--pine-border);box-shadow:var(--shadow-lift)}
.hfeat::after{content:"";position:absolute;right:13px;bottom:13px;width:9px;height:9px;
  border-right:2px solid var(--cinnabar);border-top:2px solid var(--cinnabar);transform:rotate(45deg);opacity:0;transition:.18s}
.hfeat:hover::after{opacity:.9;right:11px}
.hfeat.big{grid-column:span 2;background:linear-gradient(150deg,var(--pine-tint),var(--panel) 58%)}
.hfeat .fi{display:inline-grid;place-items:center;width:35px;height:35px;border-radius:11px;font-family:var(--serif);font-weight:900;font-size:16px;margin-bottom:10px}
.hfeat b{display:block;font-family:var(--serif);font-size:16px;color:var(--ink)}
.hfeat p{font-size:12.5px;color:var(--muted);line-height:1.8;margin:6px 0 0;max-width:46ch}
.hfeat .tag{position:absolute;top:15px;right:15px;font-family:var(--mono);font-size:9.5px;letter-spacing:1.5px;color:var(--pine-dark);
  border:1px solid var(--pine-border);border-radius:5px;padding:2px 7px;background:var(--paper-warm)}
.hfeat.big svg{position:absolute;right:-8px;bottom:-6px;width:200px;height:74px;opacity:.5;pointer-events:none}

/* 口径宣言:墨色面板 + 红章 */
.home-creed{position:relative;background:linear-gradient(155deg,color-mix(in srgb,var(--ink) 96%,#000),color-mix(in srgb,var(--ink) 84%,var(--pine)));
  border-radius:22px;padding:34px 38px 30px;color:#fff;overflow:hidden;box-shadow:var(--shadow-lift)}
.home-creed::before{content:"口径";position:absolute;right:-26px;bottom:-58px;font-family:var(--serif);font-weight:900;font-size:190px;line-height:1;color:#fff;opacity:.05;letter-spacing:8px}
.hc-kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:4px;color:color-mix(in srgb,#fff 62%,var(--pine));text-transform:uppercase}
.hc-title{font-family:var(--serif);font-weight:900;font-size:22px;margin:8px 0 18px}
.home-creed .x10-seal{right:30px;top:24px;width:84px;height:84px;font-size:13px;color:#ff8d75;border-color:#ff8d75;mix-blend-mode:normal;opacity:.92}
.home-creed .x10-seal::before{border-color:color-mix(in srgb,#ff8d75 70%,transparent)}
.hc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 30px;position:relative;z-index:1}
.hc-it{border-left:2px solid color-mix(in srgb,#fff 26%,transparent);padding-left:14px}
.hc-it b{display:block;font-family:var(--serif);font-size:15.5px;letter-spacing:.5px}
.hc-it p{font-size:12.5px;line-height:1.85;color:color-mix(in srgb,#fff 76%,transparent);margin:5px 0 0}
.home-disclaim{margin-top:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.5px;color:var(--muted);line-height:1.9}

@media (max-width:980px){
  .home-hero{grid-template-columns:1fr;gap:30px}
  .hh-wm{font-size:170px;right:-20px;top:-30px}
  .hh-right{max-width:430px;min-height:360px}
  .home-steps,.home-feats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hfeat.big{grid-column:span 2}
}
@media (max-width:620px){
  .home-steps,.home-feats,.hc-grid{grid-template-columns:1fr}
  .hh-stats{gap:10px 0}.hh-stat{padding-right:16px}
  .home-creed{padding:26px 22px}
  .home-creed .x10-seal{display:none}
}

/* ============================================================ ② 政策学堂 / 政策行抽屉 v2 */
.cl-intro{font-size:13.5px;color:var(--ink-soft);line-height:1.95;margin:4px 0 12px;max-width:86ch}
.cl-intro b{color:var(--ink)}

/* 计划蛋糕条:加高 + 总数竖牌 */
.cl-barwrap{display:flex;gap:0;align-items:stretch;margin:10px 0 8px}
.cl-bartotal{flex:none;display:grid;place-items:center;padding:0 13px;border:1px solid var(--line);border-right:none;border-radius:12px 0 0 12px;
  background:var(--ink);color:#fff;font-family:var(--serif);font-weight:900;font-size:13px;letter-spacing:1px;text-align:center;line-height:1.5}
.cl-bartotal small{display:block;font-family:var(--mono);font-size:9px;letter-spacing:2px;opacity:.66;font-weight:400}
.cl-bar{display:flex;flex:1;height:46px;border-radius:0 12px 12px 0;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.cl-bar i{display:grid;place-items:center;font-style:normal;font-size:11px;color:#fff;font-weight:700;letter-spacing:.5px;cursor:pointer;white-space:nowrap;overflow:hidden;transition:filter .14s,flex-grow .2s}
.cl-bar i:hover{filter:brightness(1.14)}
.cl-legend{display:flex;flex-wrap:wrap;gap:5px 16px;margin:9px 0 2px;font-size:11.5px;color:var(--muted)}
.cl-legend i{font-style:normal;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.cl-legend i:hover{color:var(--ink)}
.cl-legend .dt{width:8px;height:8px;border-radius:2.5px}
.cl-barcap{font-size:11px;color:var(--muted-2);margin:4px 0 2px;font-family:var(--mono);letter-spacing:.5px}

/* 行抽屉 v2:左色脊 + 衬线徽字 + 衬线大数 */
.cl-rows{display:flex;flex-direction:column;gap:9px}
details.cl-row{position:relative;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--rc,var(--pine));
  border-radius:13px;overflow:hidden;transition:border-color .15s,box-shadow .15s}
details.cl-row:hover{box-shadow:var(--shadow)}
details.cl-row[open]{border-color:color-mix(in srgb,var(--rc,var(--pine)) 45%,var(--line));border-left-color:var(--rc,var(--pine));box-shadow:var(--shadow-lift)}
details.cl-row>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:12px 15px 12px 13px;cursor:pointer;user-select:none}
details.cl-row>summary::-webkit-details-marker{display:none}
.cl-bd{flex:none;width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:var(--rc,var(--pine));
  color:#fff;font-family:var(--serif);font-weight:900;font-size:14.5px;box-shadow:0 3px 8px color-mix(in srgb,var(--rc,var(--pine)) 36%,transparent)}
.cl-dot{width:10px;height:10px;border-radius:50%;flex:none;background:var(--rc,var(--pine))}
.cl-main{flex:1;min-width:0}
.cl-main b{font-family:var(--serif);font-size:15px;color:var(--ink);letter-spacing:.3px}
.cl-main small{display:block;font-size:12px;color:var(--muted);margin-top:2px;line-height:1.6}
.cl-side{display:flex;align-items:center;gap:8px;flex:none}
.cl-chip{font-size:10.5px;padding:3.5px 10px;border-radius:999px;background:transparent;border:1px solid var(--line);color:var(--muted);white-space:nowrap;letter-spacing:.5px}
.cl-chip.k{border-color:color-mix(in srgb,var(--rc,var(--pine)) 40%,transparent);color:color-mix(in srgb,var(--rc,var(--pine)) 80%,var(--ink))}
.cl-chip.warn{border:1.5px dashed var(--cinnabar);color:var(--cinnabar-dark);font-weight:700}
.cl-num{font-family:var(--serif);font-weight:900;font-size:19px;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.cl-num small{font-size:11px;color:var(--muted);font-weight:600;letter-spacing:0}
.cl-cv{flex:none;width:21px;height:21px;border-radius:7px;display:grid;place-items:center;color:var(--muted);background:var(--panel-2);font-size:12px;transition:transform .18s,background .18s}
details.cl-row[open] .cl-cv{transform:rotate(180deg);background:color-mix(in srgb,var(--rc,var(--pine)) 14%,#fff);color:color-mix(in srgb,var(--rc,var(--pine)) 85%,#000)}
.cl-drawer{border-top:1px solid color-mix(in srgb,var(--rc,var(--pine)) 22%,var(--line-soft));
  padding:14px 17px 15px;background:color-mix(in srgb,var(--rc,var(--pine)) 3.5%,var(--paper-warm))}
.cl-dl{display:grid;grid-template-columns:78px minmax(0,1fr);gap:9px 14px;font-size:13px;line-height:1.85}
.cl-dl dt{position:relative;color:color-mix(in srgb,var(--rc,var(--pine)) 78%,var(--ink));font-weight:800;white-space:nowrap;font-family:var(--serif);padding-left:13px}
.cl-dl dt::before{content:"";position:absolute;left:0;top:9px;width:7px;height:2.5px;border-radius:2px;background:var(--rc,var(--pine))}
.cl-dl dd{margin:0;color:var(--ink-soft)}
/* 「再想一层」→ 朱批旁注 */
.cl-more{position:relative;margin-top:13px;padding:11px 14px 11px 46px;border:none;border-left:3px double var(--cinnabar);
  background:color-mix(in srgb,var(--cinnabar) 4.5%,transparent);border-radius:0 10px 10px 0;font-size:12.8px;color:var(--ink-soft);line-height:1.85}
.cl-more::before{content:"批";position:absolute;left:11px;top:11px;width:23px;height:23px;border:1.5px solid var(--cinnabar);
  border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-weight:900;font-size:12px;color:var(--cinnabar);transform:rotate(-10deg)}
.cl-more b{color:var(--cinnabar-dark)}
.cl-ref{font-family:var(--mono);font-size:10px;color:var(--muted-2);vertical-align:super;margin-left:1px}
.cl-foot{margin-top:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.3px;color:var(--muted);line-height:1.9}

/* 三条线:渐变标尺 + 刻度 */
.cl-lines{display:flex;gap:20px;align-items:stretch;margin-bottom:12px}
.cl-ruler{flex:none;width:128px;position:relative;border-radius:14px;border:1px solid var(--line);overflow:hidden;
  background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 22%,#fff) 0%,color-mix(in srgb,#7A3FB5 14%,#fff) 52%,color-mix(in srgb,var(--pine) 16%,#fff) 100%)}
.cl-ruler::before{content:"";position:absolute;left:16px;top:12px;bottom:12px;width:3px;border-radius:2px;
  background:linear-gradient(180deg,var(--gold-dark),#7A3FB5 52%,var(--pine-dark))}
.cl-ruler .cap{position:absolute;top:8px;right:9px;writing-mode:vertical-rl;font-family:var(--mono);font-size:9.5px;letter-spacing:3px;color:var(--muted)}
.cl-ruler .mk{position:absolute;left:9px;right:8px;display:flex;align-items:center;gap:7px;font-size:10.5px;font-weight:700;color:var(--ink-soft)}
.cl-ruler .mk::before{content:"";flex:none;width:11px;height:11px;border-radius:50%;border:2.5px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.25);background:var(--mc,var(--ink))}
@media(max-width:680px){.cl-lines{flex-direction:column}.cl-ruler{width:100%;height:64px}
  .cl-ruler::before{left:12px;right:12px;top:30px;bottom:auto;width:auto;height:3px;background:linear-gradient(90deg,var(--gold-dark),#7A3FB5 52%,var(--pine-dark))}
  .cl-ruler .mk{flex-direction:column;gap:3px;width:auto}}

/* 30 秒自测:答题卡填涂 */
.cl-quiz{display:flex;flex-direction:column;gap:9px;counter-reset:clq}
.cl-q{display:flex;align-items:flex-start;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:12px 15px;cursor:pointer;transition:.15s;font-size:13.5px;color:var(--ink-soft);line-height:1.75}
.cl-q::before{counter-increment:clq;content:counter(clq);flex:none;font-family:var(--serif);font-weight:900;font-size:14px;color:var(--muted-2);width:14px;text-align:center;margin-top:1px}
.cl-q:hover{border-color:var(--pine-border)}
.cl-q.on{border-color:var(--ink);background:var(--pine-tint)}
.cl-q .bx{flex:none;width:30px;height:16px;border-radius:3px;border:1.6px solid var(--ink-soft);margin-top:4px;position:relative;transition:.15s;background:var(--panel);font-size:0;color:transparent;overflow:hidden}
.cl-q.on .bx{background:var(--ink);border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--panel)}
.cl-result{position:relative;margin-top:14px;border:1.5px dashed color-mix(in srgb,var(--ink) 32%,transparent);background:var(--paper-warm);
  border-radius:14px;padding:15px 18px 14px 56px;font-size:13.5px;color:var(--ink-soft);line-height:2.05}
.cl-result::before{content:"判定";position:absolute;left:13px;top:14px;writing-mode:vertical-rl;font-family:var(--serif);font-weight:900;
  font-size:14px;letter-spacing:6px;color:var(--cinnabar);border-right:1px solid var(--line);padding-right:8px}
.cl-result b{color:var(--ink);font-family:var(--serif)}
.cl-result .go{display:inline-block;margin:2px 7px 2px 0;padding:4px 13px;border-radius:999px;background:var(--panel);
  border:1px solid var(--pine-border);color:var(--pine-dark);font-size:12.5px;cursor:pointer;font-weight:700;transition:.14s}
.cl-result .go:hover{background:var(--pine);border-color:var(--pine);color:#fff}

/* 来源:红头文件 */
.cl-srcwrap{border-top:3px solid var(--cinnabar);background:var(--panel);border-radius:4px 4px 14px 14px;
  border-inline:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 19px 15px;box-shadow:var(--shadow)}
.cl-srchead{display:flex;align-items:baseline;gap:12px;margin-bottom:13px}
.cl-srchead b{font-family:var(--serif);font-weight:900;font-size:16px;color:var(--cinnabar-dark);letter-spacing:1px}
.cl-srchead i{font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:3px;color:var(--muted-2)}
.cl-srcs{counter-reset:src;display:flex;flex-direction:column;gap:10px;font-size:12.8px;color:var(--ink-soft);line-height:1.85}
.cl-srcs .s{position:relative;padding-left:36px}
.cl-srcs .s::before{counter-increment:src;content:counter(src);position:absolute;left:0;top:2px;width:21px;height:21px;
  border:1.2px solid var(--cinnabar);color:var(--cinnabar-dark);border-radius:5px;display:grid;place-items:center;
  font-family:var(--serif);font-weight:900;font-size:11.5px}

.pol2-rows{margin-top:10px}

/* ============================================================ ③ 数据看板 v2 */
/* ★ 修复:#dashGrid 自身是 2 列网格(main.css .dash-grid),新分层结构改为块级,
     内层各卷再各自建 .dash-grid 网格,否则页签按钮会被网格拉成整列高。 */
#dashGrid{display:block}
#dashGrid > .dx-pane > .dash-grid{margin-top:4px}

/* KPI:成绩单数字(顶部色规线 + 衬线大数) */
.dash-kpis .kpi{position:relative;border-top:3px solid var(--pine);border-radius:5px 5px 14px 14px}
.dash-kpis .kpi.gold{border-top-color:var(--gold)} .dash-kpis .kpi.slate{border-top-color:var(--slate)} .dash-kpis .kpi.cin{border-top-color:var(--cinnabar)}
.dash-kpis .kpi .kn{font-family:var(--serif);font-weight:900;font-variant-numeric:tabular-nums}

.dx-note{font-family:var(--mono);font-size:11px;letter-spacing:.5px;color:var(--muted);margin:2px 0 10px}
.dx-note b{color:var(--cinnabar-dark);font-weight:700}

/* 图卡精修:衬线标题 + 顶部细规线 */
#dashGrid .dash-card{border-top:1px solid var(--line)}
#dashGrid .dash-card h3{font-family:var(--serif);letter-spacing:.3px}

/* 洞察清单 */
.dx-head{font-family:var(--serif);font-weight:900;font-size:18px;color:var(--ink);margin:24px 0 3px;display:flex;align-items:center;gap:10px}
.dx-head::before{content:"";width:4px;height:18px;border-radius:3px;background:var(--cinnabar)}
.dx-head .en{font-family:var(--mono);font-size:9.5px;letter-spacing:3px;color:var(--muted-2);font-weight:400}
details.dx-row{background:var(--panel);border:1px solid var(--line);border-radius:13px;overflow:hidden;transition:box-shadow .15s,border-color .15s}
details.dx-row:hover{box-shadow:var(--shadow)}
details.dx-row[open]{border-color:var(--pine-border);box-shadow:var(--shadow-lift)}
details.dx-row>summary{list-style:none;display:flex;align-items:center;gap:13px;padding:12px 16px;cursor:pointer}
details.dx-row>summary::-webkit-details-marker{display:none}
.dx-no{flex:none;font-family:var(--serif);font-weight:900;font-size:21px;color:var(--pine);opacity:.5;font-variant-numeric:tabular-nums;width:30px;text-align:center}
details.dx-row[open] .dx-no{opacity:1;color:var(--pine-dark)}
.dx-t{flex:1;min-width:0}
.dx-t b{font-family:var(--serif);font-size:14.5px;color:var(--ink)}
.dx-t small{display:block;font-size:11.8px;color:var(--muted);margin-top:2px;line-height:1.6}
.dx-k{font-family:var(--serif);font-weight:900;font-size:21px;color:var(--cinnabar-dark);white-space:nowrap;font-variant-numeric:tabular-nums}
.dx-k small{font-size:10.5px;color:var(--muted);font-weight:600}
.dx-tag{font-size:10.5px;padding:3.5px 10px;border-radius:999px;border:1.5px dashed var(--cinnabar);color:var(--cinnabar-dark);font-weight:800;white-space:nowrap;letter-spacing:1px;transform:rotate(-2deg)}
.dx-body{border-top:1px dashed var(--line);padding:13px 17px 14px;font-size:12.9px;color:var(--ink-soft);line-height:1.9;background:var(--paper-warm)}
.dx-body table{border-collapse:collapse;margin:10px 0;font-size:12px;font-variant-numeric:tabular-nums}
.dx-body th,.dx-body td{border:1px solid var(--line);padding:4.5px 12px;text-align:right}
.dx-body th{background:var(--panel-2);color:var(--ink-soft);font-weight:700;font-family:var(--serif)}
.dx-body td:first-child,.dx-body th:first-child{text-align:left}
.dx-src{margin-top:8px;font-family:var(--mono);font-size:10px;letter-spacing:.3px;color:var(--muted-2)}
.dx-foot{margin-top:14px;font-family:var(--mono);font-size:10.5px;color:var(--muted);line-height:1.9;border-top:1px dashed var(--line);padding-top:11px}

/* 滑档预警列表:斑马纹 + 限高滚动 */
.slip-dash .slip-bars{max-height:460px;overflow:auto;padding-right:6px;scrollbar-width:thin}
.slip-dash .sbar:nth-child(odd){background:color-mix(in srgb,var(--cinnabar) 2.5%,transparent);border-radius:7px}
.slip-dash .sbar .cnt{font-family:var(--serif);font-weight:800;font-variant-numeric:tabular-nums}
