/* ============================================================
 * 智小盒 · 深色主题覆盖层
 * 【本文件由 scripts_dev/gen_theme_dark.py 自动生成，不要手改】
 * 生成段：把 resume/index.html 内联 CSS 里每一条写死颜色的规则，
 *         按「属性角色 × 颜色聚类」翻译成 html[data-theme="dark"] 作用域下的对应规则。
 * 手写段：文件末尾 HANDWRITTEN 之后，深色专属装饰（霓虹底光 / 玻璃导航 / 扫描卡）。
 * 浅色真源：resume/index.html 的 <style> 块。改完浅色必须重跑本生成器，
 *            deploy.py 构建前有 --check 闸门拦漂。
 * ============================================================ */

@media screen{

/* 令牌层：只在 data-theme="dark" 下生效。
   特异性 0,1,1 > site-header.js 运行时注入的 :root{}（0,1,0），
   所以 --wkh-* 那套顶栏令牌也放这里，不必等它注入完再改。 */
html[data-theme="dark"]{
  --ink:#f0f2ff;
  --ink-2:#161938;
  --ink-3:#1d2143;
  --gold:#00e5ff;
  --gold-2:#5cefff;
  --gold-soft:rgba(0,229,255,.14);
  --paper:#070814;
  --paper-2:#11142a;
  --text:#f0f2ff;
  --text-2:#aeb4d4;
  --line:rgba(255,255,255,.10);
  --wk-bg:#070814;
  --wk-surface:#11142a;
  --wk-surface-2:#161938;
  --wk-surface-3:#1d2143;
  --wk-line:rgba(255,255,255,.10);
  --wk-line-strong:rgba(92,239,255,.35);
  --wk-text:#f0f2ff;
  --wk-text-2:#aeb4d4;
  --wk-text-3:#868cb4;
  --wk-cyan:#00e5ff;
  --wk-violet:#a78bff;
  --wk-mint:#00ffa3;
  --wk-amber:#ffb800;
  --wk-pink:#ff6fb0;
  --wk-ink-on-neon:#0a0b1a;
  --glow-line:rgba(0,229,255,.35);
  --glow-soft:0 20px 60px rgba(0,0,0,.5);
  --glow-strong:0 6px 30px rgba(0,229,255,.35);
  --ring-track:rgba(255,255,255,.10);
  --num-top:#f0f2ff;
  --num-bot:#aeb4d4;
  --wk-panel:#12251a;
  --wk-panel-2:#17301f;
  --wk-panel-3:#1c3a27;
  --wk-panel-line:rgba(61,220,151,.26);
  --wk-panel-ring:rgba(0,0,0,.58);
  --wk-panel-acc:#6ee7a5;
  --wk-panel-acc-2:#34d399;
  --wk-panel-acc-on:#06251a;
  --wk-panel-acc-soft:rgba(110,231,165,.14);
  --wk-panel-text-2:#aeb4d4;
  --room-fg:#f4efe2;
  --room-fg-me:#ecd9a0;
  --room-fg-dim:#8d9aad;
  --room-fg-who:#7f8d9f;
  --room-line:rgba(255,255,255,.10);
  --room-accent:#c8b26a;
  --room-accent-bg:rgba(201,162,39,.10);
  --room-accent-line:rgba(201,162,39,.34);
  --room-danger:#f0cfc9;
  --room-danger-bg:rgba(170,71,59,.22);
  --room-danger-line:rgba(227,138,126,.5);
  --room-live:#e0684f;
}

html[data-theme="dark"] ::selection{color:#060815}
html[data-theme="dark"] .sec-kicker{color:#5cefff}
html[data-theme="dark"] .hero{background:radial-gradient(1200px 600px at 78% 30%,#0b0d1c 0%,#0b0d1c 55%)}
html[data-theme="dark"] .hero h1{color:#dce3f5}
html[data-theme="dark"] .hero-sub{color:#dce3f5}
html[data-theme="dark"] .btn-gold{color:#060815}
html[data-theme="dark"] .btn-gold .btn-rec{background:#070814;color:#f0f2ff;border:1.5px solid rgba(0,229,255,0.4);box-shadow:0 2px 8px rgba(11,13,28,0.35)}
html[data-theme="dark"] .hero-meta{color:#dce3f5}
html[data-theme="dark"] .hero-meta b{color:#dce3f5}
html[data-theme="dark"] .hero-ip{filter:drop-shadow(0 12px 18px rgba(240,242,255,0.22))}
html[data-theme="dark"] .hero-ip.ip-drag{filter:drop-shadow(0 18px 28px rgba(240,242,255,0.36))}
html[data-theme="dark"] .scan-card{box-shadow:0 20px 60px rgba(0,0,0,.18),inset 0 1px 0 rgba(17,20,42,0.04)}
html[data-theme="dark"] .dp-wall img{background:#11142a}
html[data-theme="dark"] .dp-shot img{background:#11142a}
html[data-theme="dark"] .dp-shot figcaption{color:#f0f2ff}
html[data-theme="dark"] .dp-cp .cov-row .st.no{background:color-mix(in srgb,#161938 38%,transparent)}
html[data-theme="dark"] .dp-mb .dp-row .bar.mid::before{background:rgba(255,255,255,.08)}
html[data-theme="dark"] .newsbar{background:rgba(255,255,255,.08)}
html[data-theme="dark"] .rs-drop{border:1.5px dashed rgba(0,229,255,0.4)}
html[data-theme="dark"] .rs-drop:hover{background:#11142a}
html[data-theme="dark"] .rs-drop.over{background:#11142a}
html[data-theme="dark"] .rs-card-tag{color:#5cefff;border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .rs-card{background:#11142a;box-shadow:0 20px 50px rgba(11,13,28,0.1)}
html[data-theme="dark"] .rs-ring{background:conic-gradient(var(--gold) calc(var(--p,0) * 1%),rgba(255,255,255,.08) 0)}
html[data-theme="dark"] .rs-ring::before{background:#11142a}
html[data-theme="dark"] .rs-score .num.c-good{color:#00ffa3}
html[data-theme="dark"] .rs-score .num.c-mid{color:#00e5ff}
html[data-theme="dark"] .rs-score .num.c-bad{color:#ff6fb0}
html[data-theme="dark"] .rs-ring .rlo{color:#868cb4}
html[data-theme="dark"] .rs-band.tone-good{color:#00ffa3;background:rgba(0,255,163,0.07);border:1px solid rgba(0,255,163,0.2)}
html[data-theme="dark"] .rs-band.tone-warn{color:#5cefff;background:rgba(255,255,255,0.045);border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .rs-band.tone-bad{color:#ff6fb0;background:rgba(255,61,154,0.08);border:1px solid rgba(255,61,154,0.22)}
html[data-theme="dark"] .rs-tiers{border-top:1px solid rgba(255,255,255,0.12)}
html[data-theme="dark"] .rs-tier.t-fatal{color:#ff6fb0;background:rgba(255,61,154,0.08);border:1px solid rgba(255,61,154,0.22)}
html[data-theme="dark"] .rs-tier.t-improve{color:#5cefff;background:rgba(255,255,255,0.045);border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .rs-tier.t-todo{color:#00ffa3;background:rgba(0,255,163,0.07);border:1px solid rgba(0,255,163,0.2)}
html[data-theme="dark"] .rs-item{border-bottom:1px dashed rgba(255,255,255,0.12)}
html[data-theme="dark"] .rs-lv.t-fatal{color:#ff6fb0;background:rgba(255,61,154,0.08);border:1px solid rgba(255,61,154,0.22)}
html[data-theme="dark"] .rs-lv.t-improve{color:#5cefff;background:rgba(255,255,255,0.045);border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .rs-item-h .where{color:#868cb4}
html[data-theme="dark"] .rs-ev b{color:#868cb4}
html[data-theme="dark"] .rs-fix{color:#00ffa3}
html[data-theme="dark"] .rs-fix b{color:#00ffa3}
html[data-theme="dark"] .rs-more{color:#868cb4}
html[data-theme="dark"] .tools-sec{background:#0b0d1c}
html[data-theme="dark"] .tools-sec .sec-title{color:#dce3f5}
html[data-theme="dark"] .tools-sec .sec-desc{color:#dce3f5}
html[data-theme="dark"] .tool-card{background:rgba(17,20,42,0.045);border:1px solid rgba(255,255,255,0.1)}
html[data-theme="dark"] .tool-card:hover{border-color:rgba(0,229,255,0.55);background:rgba(0,229,255,0.08)}
html[data-theme="dark"] .tool-card .ticon{border:1.5px solid rgba(0,229,255,0.6)}
html[data-theme="dark"] .tool-card b{color:#dce3f5}
html[data-theme="dark"] .tool-card span{color:#dce3f5}
html[data-theme="dark"] .tool-card .tarrow{color:#aeb4d4}
html[data-theme="dark"] .recent-more{color:#5cefff;border-bottom:1px solid rgba(0,229,255,0.5)}
html[data-theme="dark"] .recent-grid .tool-card:hover{background:#11142a;border-color:rgba(0,229,255,0.4);box-shadow:0 12px 30px rgba(11,13,28,0.12)}
html[data-theme="dark"] .recent-grid .tool-card .tarrow{color:#5cefff}
html[data-theme="dark"] .recent-empty{border:1px dashed rgba(0,229,255,0.4)}
html[data-theme="dark"] .recent-empty b{color:#5cefff}
html[data-theme="dark"] .privacy-bar{background:#11142a}
html[data-theme="dark"] .privacy-bar .wrap{color:#5cefff}
html[data-theme="dark"] .privacy-bar svg{stroke:#5cefff}
html[data-theme="dark"] .privacy-bar b{color:#5cefff}
html[data-theme="dark"] .rp-score .num.c-good{color:#00ffa3}
html[data-theme="dark"] .rp-score .num.c-mid{color:#00e5ff}
html[data-theme="dark"] .rp-score .num.c-bad{color:#ff6fb0}
html[data-theme="dark"] .rp-score .bar{background:rgba(255,255,255,0.045)}
html[data-theme="dark"] .rp-sec.good>h4 .dot{background:rgba(0,255,163,0.1)}
html[data-theme="dark"] .rp-sec.warn>h4 .dot{background:rgba(0,229,255,0.14)}
html[data-theme="dark"] .rp-sec.bad>h4 .dot{background:rgba(255,61,154,0.12)}
html[data-theme="dark"] .rp-sec li{color:#f0f2ff}
html[data-theme="dark"] .rp-sec.good li::before{background:rgba(0,255,163,0.1)}
html[data-theme="dark"] .rp-sec.bad li::before{background:rgba(255,61,154,0.12)}
html[data-theme="dark"] .rp-sec li .rp-ref{background:rgba(255,255,255,0.045);border:1px solid rgba(0,229,255,0.4);color:#5cefff}
html[data-theme="dark"] .rp-sec>p{color:#f0f2ff}
html[data-theme="dark"] .rp-kw span{background:rgba(255,255,255,0.045);border:1px solid rgba(0,229,255,0.4);color:#5cefff}
html[data-theme="dark"] .rp-sg{background:#11142a}
html[data-theme="dark"] .rp-sg .a{color:#f0f2ff}
html[data-theme="dark"] .rp-btn.gold{color:#060815}
html[data-theme="dark"] .rp-btn.danger:hover{border-color:rgba(255,61,154,0.35);color:#ff6fb0}
html[data-theme="dark"] .rp2-band.tone-good{background:rgba(0,255,163,0.07);color:#00ffa3;border:1px solid rgba(0,255,163,0.2)}
html[data-theme="dark"] .rp2-band.tone-warn{background:rgba(255,255,255,0.045);color:#00e5ff;border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .rp2-band.tone-bad{background:rgba(255,61,154,0.08);color:#ff6fb0;border:1px solid rgba(255,61,154,0.22)}
html[data-theme="dark"] .rp2-delta.up{color:#00ffa3}
html[data-theme="dark"] .rp2-delta.down{color:#ff6fb0}
html[data-theme="dark"] .rp-vol{border:1px solid rgba(255,255,255,0.12);background:#11142a;color:#aeb4d4}
html[data-theme="dark"] .trust .stars{color:#00e5ff}
html[data-theme="dark"] .trust .stars em{color:#aeb4d4}
html[data-theme="dark"] .doc-k{color:#5cefff}
html[data-theme="dark"] .rp-dim-h .wt{color:#868cb4}
html[data-theme="dark"] .rp-dim-h .bar{background:rgba(255,255,255,0.045)}
html[data-theme="dark"] .rp-dim-h .sc.lv-0{color:#ff6fb0}
html[data-theme="dark"] .rp-dim-h .sc.lv-1{color:#ff6fb0}
html[data-theme="dark"] .rp-dim-h .sc.lv-2{color:#00e5ff}
html[data-theme="dark"] .rp-dim-h .sc.lv-3{color:#ffb800}
html[data-theme="dark"] .rp-dim-h .sc.lv-4{color:#00ffa3}
html[data-theme="dark"] .rp-dim .bar i.lv-0{background:rgba(255,61,154,0.12)}
html[data-theme="dark"] .rp-dim .bar i.lv-1{background:rgba(255,184,0,0.1)}
html[data-theme="dark"] .rp-dim .bar i.lv-2{background:rgba(0,229,255,0.14)}
html[data-theme="dark"] .rp-dim .bar i.lv-3{background:rgba(255,184,0,0.1)}
html[data-theme="dark"] .rp-dim .bar i.lv-4{background:rgba(0,255,163,0.1)}
html[data-theme="dark"] .rp-ev{color:#f0f2ff;border-left:2px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .rp-ev b{color:#5cefff}
html[data-theme="dark"] .rp-why{color:#f0f2ff}
html[data-theme="dark"] .rp-fix{background:#11142a;border:1px dashed rgba(0,229,255,0.4)}
html[data-theme="dark"] .rp-item{border-left:3px solid rgba(0,229,255,0.4);background:#11142a}
html[data-theme="dark"] .rp-tier.t-fatal .rp-item{border-left-color:rgba(255,61,154,0.35)}
html[data-theme="dark"] .rp-tier.t-improve .rp-item{border-left-color:rgba(0,229,255,0.4)}
html[data-theme="dark"] .rp-tier.t-todo .rp-item{border-left-color:rgba(255,184,0,0.3)}
html[data-theme="dark"] .rp-item-h .where{color:#5cefff;background:rgba(255,255,255,0.045);border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .rp-ph{color:#5cefff;background:rgba(255,255,255,0.045);border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .rp-warn{color:#ff6fb0;background:rgba(255,255,255,0.045);border:1px solid rgba(255,61,154,0.22)}
html[data-theme="dark"] .rp-warn.soft{color:#00e5ff;background:#11142a;border-color:rgba(255,255,255,0.12)}
html[data-theme="dark"] .rp-warn.calc{color:#f0f2ff;background:#11142a;border-color:rgba(255,255,255,0.12)}
html[data-theme="dark"] .rp-mx-sum b{background:#11142a}
html[data-theme="dark"] .rp-st.ok{color:#00ffa3;background:rgba(0,255,163,0.07);border-color:rgba(0,255,163,0.2)}
html[data-theme="dark"] .rp-st.soft{color:#7ec8ff;background:#11142a;border-color:rgba(124,58,255,0.35)}
html[data-theme="dark"] .rp-st.thin{color:#00e5ff;background:rgba(255,255,255,0.045);border-color:rgba(0,229,255,0.4)}
html[data-theme="dark"] .rp-st.gap{color:#ff6fb0;background:rgba(255,61,154,0.08);border-color:rgba(255,61,154,0.22)}
html[data-theme="dark"] .rp-st.unk{color:#f0f2ff;background:#11142a;border-color:rgba(255,255,255,0.12)}
html[data-theme="dark"] .rp-redflags{color:#ff6fb0;background:rgba(255,255,255,0.045);border:1px solid rgba(255,61,154,0.22)}
html[data-theme="dark"] .rp-redflags b{color:#ff6fb0}
html[data-theme="dark"] .rp-rw{background:#11142a}
html[data-theme="dark"] .rp-rw .where{color:#5cefff;background:#070814}
html[data-theme="dark"] .rp-rw .old{color:#aeb4d4}
html[data-theme="dark"] .rp-rw .old::before{color:#868cb4}
html[data-theme="dark"] .rp-rw .new{background:#11142a}
html[data-theme="dark"] .rp-rw .new::before{color:#868cb4}
html[data-theme="dark"] .rp-rw mark{background:rgba(255,255,255,0.045)}
html[data-theme="dark"] .rp-fold{background:#11142a}
html[data-theme="dark"] .rp-fold .bd{color:#f0f2ff}
html[data-theme="dark"] .rp-kv .k{color:#5cefff}
html[data-theme="dark"] .rp-tier.t-good .rp-item{border-left-color:rgba(0,255,163,0.32);background:#11142a}
html[data-theme="dark"] .rp-use{background:rgba(0,255,163,0.07);border:1px dashed rgba(0,255,163,0.2)}
html[data-theme="dark"] .rp-use b{color:#00ffa3}
html[data-theme="dark"] .rp-ab-c{background:#11142a}
html[data-theme="dark"] .rp-ab-c .t{color:#868cb4}
html[data-theme="dark"] .rp-ab-a{border-color:rgba(0,255,163,0.2);background:rgba(0,255,163,0.07)}
html[data-theme="dark"] .rp-ab-a .t{color:#00ffa3}
html[data-theme="dark"] .rp-ab-b{border-color:rgba(255,255,255,0.12);background:#11142a}
html[data-theme="dark"] .rp-ab-b .t{color:#5cefff}
html[data-theme="dark"] .rp-hr-sev.hi{color:#ff6fb0;background:rgba(255,61,154,0.08);border-color:rgba(255,61,154,0.22)}
html[data-theme="dark"] .rp-hr-sev.mid{color:#00e5ff;background:rgba(255,255,255,0.045);border-color:rgba(0,229,255,0.4)}
html[data-theme="dark"] .rp-hr-sev.lo{color:#f0f2ff;background:#11142a;border-color:rgba(255,255,255,0.12)}
html[data-theme="dark"] .rp-hr-d{color:#f0f2ff}
html[data-theme="dark"] .rp-hr-f{background:#11142a;border:1px dashed rgba(0,229,255,0.4)}
html[data-theme="dark"] .rw-chip{background:#11142a}
html[data-theme="dark"] .rw-chip:hover{border-color:rgba(255,255,255,0.14)}
html[data-theme="dark"] .rw-chip.on{background:rgba(255,255,255,0.045);border-color:rgba(0,229,255,0.4);color:#5cefff}
html[data-theme="dark"] .ng-local{color:#5cefff;background:rgba(255,255,255,0.045);border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .ng-t{background:#11142a}
html[data-theme="dark"] .ng-t input{background:#11142a}
html[data-theme="dark"] .ng-t input:focus{border-color:rgba(255,255,255,0.14);background:#11142a}
html[data-theme="dark"] .ng-t.key{border-color:rgba(0,229,255,0.4);background:#11142a}
html[data-theme="dark"] .ng-fill{background:rgba(255,255,255,0.045);border-bottom:2px solid rgba(0,229,255,0.4);color:#5cefff}
html[data-theme="dark"] .ng-slot{color:#5cefff;border-bottom:1px dashed rgba(0,229,255,0.4)}
html[data-theme="dark"] .ng-script{background:#11142a;border:1px solid rgba(255,255,255,0.12)}
html[data-theme="dark"] .ng-pool span{background:#070814}
html[data-theme="dark"] .ng-pool span.hit{background:rgba(255,255,255,0.045);border-color:rgba(0,229,255,0.4);color:#5cefff}
html[data-theme="dark"] .ng-q{border-left:3px solid rgba(255,61,154,0.35)}
html[data-theme="dark"] .cp-form{box-shadow:0 10px 30px rgba(11,13,28,0.06)}
html[data-theme="dark"] .cp-field label b{color:#5cefff}
html[data-theme="dark"] .cp-form input{background:#11142a}
html[data-theme="dark"] .cp-form input:focus{box-shadow:0 0 0 3px rgba(0,229,255,0.12)}
html[data-theme="dark"] .cp-go{color:#060815}
html[data-theme="dark"] .cp-status.err{color:#ff6fb0}
html[data-theme="dark"] .cp-disclaimer{border:1px solid rgba(0,229,255,0.35)}
html[data-theme="dark"] .cp-pick button{background:rgba(17,20,42,0.04);border:1px solid rgba(255,255,255,0.14);color:#dce3f5}
html[data-theme="dark"] .cp-pick button:hover{background:rgba(0,229,255,0.08)}
html[data-theme="dark"] .cp-pick .cyn{color:#dce3f5}
html[data-theme="dark"] .cp-pick .cym{color:#dce3f5}
html[data-theme="dark"] .cp-sources em{color:#aeb4d4}
html[data-theme="dark"] .cps-badge{border-bottom:1px dotted rgba(255,255,255,0.14)}
html[data-theme="dark"] .cp-cov li.ok b{color:#00ffa3}
html[data-theme="dark"] .cp-cov li.off b{color:#ffb800}
html[data-theme="dark"] .cp-cov li em{color:#aeb4d4}
html[data-theme="dark"] .cp-rating.g{color:#00ffa3;background:rgba(0,255,163,0.07);border-color:rgba(0,255,163,0.32)}
html[data-theme="dark"] .cp-rating.y{color:#5cefff;border-color:rgba(0,229,255,0.42)}
html[data-theme="dark"] .cp-rating.r{color:#ff6fb0;background:rgba(255,255,255,0.045);border-color:rgba(255,61,154,0.32)}
html[data-theme="dark"] .cp-rating.u{background:#11142a}
html[data-theme="dark"] .cp-stab .yes{color:#00ffa3}
html[data-theme="dark"] .cp-stab .unk{color:#ffb800}
html[data-theme="dark"] .cps-warn{color:#ffb800}
html[data-theme="dark"] .iv-form select, html[data-theme="dark"] .iv-form input, html[data-theme="dark"] .iv-form textarea{background:#11142a}
html[data-theme="dark"] .iv-form input:focus, html[data-theme="dark"] .iv-form select:focus, html[data-theme="dark"] .iv-form textarea:focus{box-shadow:0 0 0 3px rgba(0,229,255,0.12)}
html[data-theme="dark"] .iv-prog-spin{border:2.5px solid rgba(255,255,255,0.12)}
html[data-theme="dark"] .iv-steps li{color:#868cb4}
html[data-theme="dark"] .iv-steps li::before{border:1.5px solid rgba(0,229,255,0.4);background:#11142a}
html[data-theme="dark"] .iv-steps li.done::after{color:#f0f2ff}
html[data-theme="dark"] .iv-prog-err{color:#ff6fb0}
html[data-theme="dark"] .iv-prog-err button{border:1px solid rgba(255,61,154,0.4);background:#11142a;color:#ff6fb0}
html[data-theme="dark"] .iv-prog-err button:hover{background:rgba(255,61,154,0.08)}
html[data-theme="dark"] .mk-prog-bar{background:rgba(255,255,255,.08)}
html[data-theme="dark"] .mk-ava{border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .mk-turn.iv .mk-ava{border-color:rgba(0,229,255,0.4);color:#060815}
html[data-theme="dark"] .mk-turn.me .mk-ava{background:#0b0d1c;color:#f0f2ff}
html[data-theme="dark"] .mk-note{background:rgba(255,255,255,0.045);border:1px dashed rgba(0,229,255,0.4);color:#5cefff}
html[data-theme="dark"] .mk-note .t{color:#5cefff}
html[data-theme="dark"] .mk-fb{border:1px solid rgba(0,229,255,0.45)}
html[data-theme="dark"] .mk-fb-tag{color:#5cefff;background:rgba(0,229,255,0.18);border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .mk-band.good{border-color:rgba(0,255,163,0.6);color:#00ffa3;background:rgba(0,255,163,0.12)}
html[data-theme="dark"] .mk-band.mid{border-color:rgba(0,229,255,0.7);color:#5cefff;background:rgba(0,229,255,0.14)}
html[data-theme="dark"] .mk-band.low{border-color:rgba(255,61,154,0.6);color:#ff6fb0;background:rgba(255,61,154,0.12)}
html[data-theme="dark"] .mk-dim-bar{background:rgba(255,255,255,.08)}
html[data-theme="dark"] .mk-fb-sec.good .t{color:#00ffa3}
html[data-theme="dark"] .mk-fb-sec.imp .t{color:#ff6fb0}
html[data-theme="dark"] .mk-fb-sec.ideal .t{color:#5cefff}
html[data-theme="dark"] .mk-deg{background:rgba(0,229,255,0.1);border:1px dashed rgba(0,229,255,0.5)}
html[data-theme="dark"] .mk-answer:focus{box-shadow:0 0 0 3px rgba(0,229,255,0.12)}
html[data-theme="dark"] #mkMic{border:1px solid rgba(0,255,163,0.32);background:rgba(0,255,163,0.1);color:#f0f2ff;box-shadow:0 3px 12px rgba(0,255,163,0.35)}
html[data-theme="dark"] #mkMic:hover{background:rgba(0,255,163,0.1)}
html[data-theme="dark"] #mkMic.rec{background:rgba(255,61,154,0.12);border-color:rgba(255,61,154,0.35);box-shadow:0 3px 12px rgba(255,61,154,0.35)}
html[data-theme="dark"] #mkMic.rec:hover{background:rgba(255,61,154,0.12)}
html[data-theme="dark"] .mk-mic-hint.err{color:#ff6fb0}
html[data-theme="dark"] .wk-vfab-btn{border:1px solid rgba(0,255,163,0.32);background:rgba(0,255,163,0.1);color:#f0f2ff;box-shadow:0 6px 22px rgba(0,255,163,0.45)}
html[data-theme="dark"] .wk-vfab-btn:focus-visible{outline:2px solid rgba(0,255,163,0.32)}
html[data-theme="dark"] .wk-vfab-btn.rec{background:rgba(255,61,154,0.12);border-color:rgba(255,61,154,0.35);box-shadow:0 6px 22px rgba(255,61,154,0.5)}
html[data-theme="dark"] .wk-vfab-btn.rec:hover{background:rgba(255,61,154,0.12)}
html[data-theme="dark"] .wk-vfab-btn.rec::before{border:2px solid rgba(255,61,154,0.5)}
html[data-theme="dark"] .wk-vfab-time{background:rgba(255,61,154,0.12);color:#f0f2ff}
html[data-theme="dark"] .wk-vfab-tip{background:#0b0d1c;color:#f0f2ff}
html[data-theme="dark"] .wk-vfab-tip b{color:#5cefff}
html[data-theme="dark"] .wk-vfab-tip.err{background:rgba(255,61,154,0.12);color:#f0f2ff}
html[data-theme="dark"] .wk-vfab-tip.err b{color:#00e5ff}
html[data-theme="dark"] .wk-voice-target{outline:2px dashed rgba(0,255,163,0.32);background-color:rgba(0,255,163,0.06)}
html[data-theme="dark"] .wk-voice-round{border:1px solid rgba(0,255,163,0.32);background:rgba(0,255,163,0.1);color:#f0f2ff;box-shadow:0 2px 8px rgba(0,255,163,0.3)}
html[data-theme="dark"] .wk-voice-round:hover{background:rgba(0,255,163,0.1)}
html[data-theme="dark"] .wk-voice-round.rec{background:rgba(255,61,154,0.12);border-color:rgba(255,61,154,0.35)}
html[data-theme="dark"] .gn-foot-note{color:#868cb4}
html[data-theme="dark"] .mk-card-head{border:1px solid rgba(0,229,255,0.35)}
html[data-theme="dark"] .mk-card-head .k{color:#5cefff}
html[data-theme="dark"] .mk-plan-n{border:1px solid rgba(0,229,255,0.5);color:#5cefff}
html[data-theme="dark"] .mk-plan .meta em{color:#5cefff}
html[data-theme="dark"] .mk-box.good{border-left-color:rgba(0,255,163,0.85);background:rgba(0,255,163,0.06)}
html[data-theme="dark"] .mk-box.weak{border-left-color:rgba(255,61,154,0.85);background:rgba(255,61,154,0.06)}
html[data-theme="dark"] .mk-box.tip{border-left-color:rgba(0,229,255,0.8);background:rgba(0,229,255,0.07)}
html[data-theme="dark"] .mk-rq .row.warn b{color:#ff6fb0}
html[data-theme="dark"] .pm-req{color:#ff6fb0}
html[data-theme="dark"] .pm-urg.high{border-color:rgba(255,61,154,0.6);color:#ff6fb0;background:rgba(255,61,154,0.12)}
html[data-theme="dark"] .pm-urg.mid{border-color:rgba(0,229,255,0.7);color:#5cefff;background:rgba(0,229,255,0.14)}
html[data-theme="dark"] .pm-urg.low{border-color:rgba(0,255,163,0.6);color:#00ffa3;background:rgba(0,255,163,0.12)}
html[data-theme="dark"] .pm-cov-i.asked .st{color:#5cefff}
html[data-theme="dark"] .pm-cov-i.weak{border-color:rgba(255,61,154,0.55);background:rgba(255,61,154,0.08)}
html[data-theme="dark"] .pm-cov-i.weak .st{color:#ff6fb0}
html[data-theme="dark"] .pm-stale{background:rgba(0,229,255,0.1);border:1px dashed rgba(0,229,255,0.5)}
html[data-theme="dark"] .pm-card .mk-card-head .pm-stats{border-top:1px dashed rgba(0,229,255,0.45)}
html[data-theme="dark"] .pm-card .mk-card-head .pm-stats b{color:#5cefff}
html[data-theme="dark"] .iv-head{border:1px solid rgba(0,229,255,0.35)}
html[data-theme="dark"] .iv-comps span{color:#5cefff;background:#11142a;border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .iv-num{background:#0b0d1c}
html[data-theme="dark"] .iv-comp{color:#5cefff;border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .iv-ev b{color:#5cefff}
html[data-theme="dark"] .iv-must{color:#5cefff}
html[data-theme="dark"] .iv-block .iv-bt{color:#868cb4}
html[data-theme="dark"] .iv-framework{background:#11142a}
html[data-theme="dark"] .iv-trap{color:#ff6fb0;background:rgba(255,255,255,0.045);border:1px solid rgba(255,61,154,0.22);border-left:3px solid rgba(255,61,154,0.35)}
html[data-theme="dark"] .iv-gap{border:1px solid rgba(0,229,255,0.3)}
html[data-theme="dark"] .iv-ph{background:rgba(0,229,255,0.22)}
html[data-theme="dark"] .iv-quality{color:#5cefff;background:#11142a;border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .rm-track{background:rgba(255,255,255,.08)}
html[data-theme="dark"] .rm-dot{background:#11142a}
html[data-theme="dark"] .rm-mic-dot{border:1.5px solid rgba(255,255,255,.12)}
html[data-theme="dark"] .rm-sumcard{border-left:3px solid rgba(0,229,255,0.8);background:rgba(0,229,255,0.05)}
html[data-theme="dark"] .rm-sumcard .k{color:#5cefff}
html[data-theme="dark"] .rm-next{border-left:3px solid rgba(0,229,255,0.8)}
html[data-theme="dark"] .rm-log-i.ai .mk{background:#0b0d1c;color:#5cefff}
html[data-theme="dark"] .rm-log-i.me .mk{color:#5cefff;border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .up-modal{border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .up-close{color:#868cb4}
html[data-theme="dark"] .up-close:hover{color:#5cefff}
html[data-theme="dark"] .up-drop{border:1.5px dashed rgba(0,229,255,0.4)}
html[data-theme="dark"] .up-drop:hover{background:#11142a}
html[data-theme="dark"] .up-drop.busy{background:#11142a}
html[data-theme="dark"] .up-spinner{border:3px solid rgba(255,255,255,0.12)}
html[data-theme="dark"] .up-steps li{color:#868cb4}
html[data-theme="dark"] .up-steps li::before{border:1.5px solid rgba(0,229,255,0.4);background:#11142a}
html[data-theme="dark"] .chat-imgchip{background:rgba(17,20,42,0.06);border:1px solid rgba(255,255,255,0.14)}
html[data-theme="dark"] .chat-imgchip span{color:#dce3f5}
html[data-theme="dark"] .chat-imgchip b{color:#dce3f5}
html[data-theme="dark"] .up-recent .upm-label{color:#868cb4}
html[data-theme="dark"] .site-foot{background:#0b0d1c;border-top:1px solid rgba(0,229,255,0.25)}
html[data-theme="dark"] .foot-brand .fb-name{color:#dce3f5}
html[data-theme="dark"] .foot-brand .fb-name span{color:#dce3f5}
html[data-theme="dark"] .foot-brand p{color:#dce3f5}
html[data-theme="dark"] .foot-brand .fb-privacy{color:#dce3f5}
html[data-theme="dark"] .foot-col h5{color:#dce3f5}
html[data-theme="dark"] .foot-col a{color:#dce3f5}
html[data-theme="dark"] .foot-bottom{color:#dce3f5}
html[data-theme="dark"] #view-home.show ~ .site-foot .foot-bottom{border-top:1px solid rgba(255,255,255,0.08)}
html[data-theme="dark"] .foot-bottom .beian a{color:#dce3f5}
html[data-theme="dark"] .confirm-head{background:linear-gradient(180deg,#0b0d1c,#0b0d1c)}
html[data-theme="dark"] .confirm-head h2{color:#dce3f5}
html[data-theme="dark"] .confirm-head p{color:#dce3f5}
html[data-theme="dark"] .confirm-head .file-chip{background:rgba(0,229,255,0.12);border:1px solid rgba(0,229,255,0.4);color:#5cefff}
html[data-theme="dark"] .fsec-head{background:#11142a}
html[data-theme="dark"] .fsec-head .cnt{background:rgba(255,255,255,0.045)}
html[data-theme="dark"] .fsec-head .arrow{color:#868cb4}
html[data-theme="dark"] .ffield label{color:#f0f2ff}
html[data-theme="dark"] .ffield input{background:#11142a}
html[data-theme="dark"] .ffield textarea{background:#11142a}
html[data-theme="dark"] .mod-item input{background:#11142a}
html[data-theme="dark"] .mod-item textarea{background:#11142a}
html[data-theme="dark"] .ffield.low input{background:rgba(255,255,255,0.045);box-shadow:0 0 0 3px rgba(0,229,255,0.12)}
html[data-theme="dark"] .ffield .warn{color:#5cefff}
html[data-theme="dark"] .photo-cell{border:1.5px dashed rgba(0,229,255,0.4);background:#11142a}
html[data-theme="dark"] .photo-cell .ph-plus{border:1.5px dashed rgba(0,229,255,0.4)}
html[data-theme="dark"] .mod-item{background:#11142a}
html[data-theme="dark"] .mod-item .mi-del{color:#868cb4}
html[data-theme="dark"] .mod-item .mi-del:hover{color:#ff6fb0}
html[data-theme="dark"] .add-btn{color:#5cefff}
html[data-theme="dark"] .ai-btn{border:1px solid rgba(0,229,255,0.55);color:#5cefff;background:#11142a}
html[data-theme="dark"] .ai-btn:hover{color:#060815}
html[data-theme="dark"] .ai-rough{background:#11142a;border:1px dashed rgba(0,229,255,0.5)}
html[data-theme="dark"] .ai-rough textarea{background:#11142a}
html[data-theme="dark"] .ai-go{color:#060815}
html[data-theme="dark"] .ai-cancel{background:#11142a}
html[data-theme="dark"] .ai-panel .ap-card{border:1px solid rgba(0,229,255,0.55)}
html[data-theme="dark"] .ai-panel .ap-head{background:#11142a}
html[data-theme="dark"] .ai-panel .ap-head button{color:#868cb4}
html[data-theme="dark"] .ai-panel .ap-list{background:#11142a;border:1px solid rgba(0,229,255,0.35)}
html[data-theme="dark"] .ai-panel .ap-list li{color:#5cefff}
html[data-theme="dark"] .ai-panel .ap-note{color:#5cefff}
html[data-theme="dark"] .ai-panel .ap-foot{background:#11142a}
html[data-theme="dark"] .ai-panel .ap-yes{color:#060815}
html[data-theme="dark"] .ai-panel .ap-no{background:#11142a}
html[data-theme="dark"] .ai-panel .ap-auto{background:#11142a;color:#5cefff}
html[data-theme="dark"] .ai-panel .ap-tabs button{background:#11142a}
html[data-theme="dark"] .ai-panel .ap-tabs button.on{color:#060815}
html[data-theme="dark"] .ai-panel .ap-hint{color:#5cefff;background:#11142a;border:1px solid rgba(0,229,255,0.35)}
html[data-theme="dark"] .ai-panel .ap-hint b{color:#5cefff}
html[data-theme="dark"] .ai-panel .ap-merge label{background:#11142a}
html[data-theme="dark"] .wk-toast{background:#0b0d1c;color:#f0f2ff}
html[data-theme="dark"] .wk-toast.ok{background:#0b0d1c}
html[data-theme="dark"] .wk-toast.err{background:rgba(255,61,154,0.12)}
html[data-theme="dark"] .wk-ai-mask{background:rgba(11,13,28,0.46)}
html[data-theme="dark"] .chat-quick button{border:1px solid rgba(0,229,255,0.45)}
html[data-theme="dark"] .chat-quick button:hover{color:#060815}
html[data-theme="dark"] .confirm-bar{background:rgba(7,8,20,0.95)}
html[data-theme="dark"] .confirm-bar .tip i{background:rgba(255,255,255,0.045)}
html[data-theme="dark"] .parse-warn{background:rgba(255,255,255,0.045);border:1px solid rgba(0,229,255,0.55)}
html[data-theme="dark"] .parse-warn .pw-title{color:#5cefff}
html[data-theme="dark"] .parse-warn .pw-title::before{color:#060815}
html[data-theme="dark"] .parse-warn li{color:#5cefff}
html[data-theme="dark"] .parse-warn .pw-go{background:#11142a;color:#5cefff}
html[data-theme="dark"] .parse-warn .pw-note{color:#868cb4}
html[data-theme="dark"] .studio-notice{background:rgba(255,255,255,0.045);border-bottom:1px solid rgba(0,229,255,0.45);color:#5cefff}
html[data-theme="dark"] .studio-notice a{color:#5cefff}
html[data-theme="dark"] .pv-trial button:hover{color:#060815}
html[data-theme="dark"] .demo-badge{color:#5cefff;background:rgba(255,255,255,0.045);border:1px solid rgba(0,229,255,0.5)}
html[data-theme="dark"] .iv-weak{background:rgba(255,255,255,0.045);border:1px solid rgba(0,229,255,0.45);color:#5cefff}
html[data-theme="dark"] .iv-weak b{color:#5cefff}
html[data-theme="dark"] .iv-weak button{border:1px solid rgba(0,229,255,0.4);background:#11142a;color:#5cefff}
html[data-theme="dark"] .cap-hist-card .cap-openlink{color:#5cefff}
html[data-theme="dark"] .btn-line{border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .btn-line:hover{color:#5cefff}
html[data-theme="dark"] .btn-gold-sm{color:#060815}
html[data-theme="dark"] .chat-panel{background:#0b0d1c;border-right:1px solid rgba(0,229,255,0.25)}
html[data-theme="dark"] .pv-side-ink{background:#0b0d1c;color:#f0f2ff;border-color:rgba(0,229,255,.25)}
html[data-theme="dark"] .pv-side-ink:hover{color:#5cefff}
html[data-theme="dark"] .pv-side-ink.on{color:#5cefff}
html[data-theme="dark"] .chat-panel .wk-rail{border-right:1px solid rgba(92,239,255,0.18);color:#060815}
html[data-theme="dark"] .wk-side .wk-rail{border-left:1px solid rgba(92,239,255,0.18);color:#060815}
html[data-theme="dark"] .wk-sd-series button.on{background:#0b0d1c;border-color:rgba(0,229,255,.25);color:#f0f2ff}
html[data-theme="dark"] .wk-sd-pv{background:#11142a}
html[data-theme="dark"] .wk-sd-cta{color:#060815}
html[data-theme="dark"] .wk-sd-cta:hover{background:rgba(0,229,255,0.14)}
html[data-theme="dark"] .wk-sd-cta[disabled]{background:rgba(255,255,255,0.045);color:#868cb4}
html[data-theme="dark"] .wk-sd-warn{color:#00e5ff;background:rgba(255,255,255,0.045);border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .chat-top{border-bottom:1px solid rgba(255,255,255,0.08)}
html[data-theme="dark"] .chat-top b{color:#dce3f5}
html[data-theme="dark"] .chat-top span{color:#aeb4d4}
html[data-theme="dark"] .msg.user{color:#dce3f5}
html[data-theme="dark"] .msg.ai{color:#dce3f5}
html[data-theme="dark"] .msg.ai .bubble{background:rgba(17,20,42,0.05);border:1px solid rgba(255,255,255,0.09)}
html[data-theme="dark"] .msg.ai .bubble b{color:#5cefff}
html[data-theme="dark"] .confirm-card{background:rgba(0,229,255,0.07);border:1px solid rgba(0,229,255,0.35)}
html[data-theme="dark"] .confirm-card li{color:#dce3f5}
html[data-theme="dark"] .cc-yes{color:#060815}
html[data-theme="dark"] .cc-no{border:1px solid rgba(255,255,255,0.25);color:#dce3f5}
html[data-theme="dark"] .chat-input{border-top:1px solid rgba(255,255,255,0.08)}
html[data-theme="dark"] .chat-input .box{background:rgba(17,20,42,0.06);border:1px solid rgba(255,255,255,0.12)}
html[data-theme="dark"] .chat-input input{color:#f0f2ff}
html[data-theme="dark"] .chat-input input::placeholder{color:#aeb4d4}
html[data-theme="dark"] .chat-hint{color:#aeb4d4}
html[data-theme="dark"] .chat-top .jd-btn{border:1px solid rgba(0,229,255,0.5)}
html[data-theme="dark"] .chat-top .jd-btn:hover{color:#060815}
html[data-theme="dark"] .chat-fold{color:#aeb4d4}
html[data-theme="dark"] .jd-modal{border:1px solid rgba(0,229,255,0.35);color:#dce3f5}
html[data-theme="dark"] .jd-modal h3{color:#dce3f5}
html[data-theme="dark"] .jd-modal .jd-sub{color:#aeb4d4}
html[data-theme="dark"] .jd-modal textarea{background:rgba(17,20,42,0.05);border:1px solid rgba(255,255,255,0.14);color:#f0f2ff}
html[data-theme="dark"] .jd-up{border:1px dashed rgba(255,255,255,0.3);color:#dce3f5}
html[data-theme="dark"] #jdScan .wk-relay-btn, html[data-theme="dark"] #chatScan .wk-relay-btn{border:1px dashed rgba(255,255,255,0.3);color:#dce3f5}
html[data-theme="dark"] .jd-go{color:#060815}
html[data-theme="dark"] .jd-close{border:1px solid rgba(255,255,255,0.2);color:#dce3f5}
html[data-theme="dark"] .jd-close:hover{color:#f0f2ff;border-color:rgba(255,255,255,0.12)}
html[data-theme="dark"] .jd-last{color:#aeb4d4}
html[data-theme="dark"] .jd-result{border-top:1px solid rgba(255,255,255,0.1)}
html[data-theme="dark"] .jd-score .bar{background:rgba(17,20,42,0.1)}
html[data-theme="dark"] .jd-score .sum{color:#dce3f5}
html[data-theme="dark"] .jd-sec li{color:#dce3f5}
html[data-theme="dark"] .jd-sec.matched li::before{background:rgba(0,255,163,0.1)}
html[data-theme="dark"] .jd-sec li em{color:#dce3f5}
html[data-theme="dark"] .jd-kw span{border:1px solid rgba(0,229,255,0.4);color:#5cefff}
html[data-theme="dark"] .jd-adopt{background:rgba(0,229,255,0.12);border:1px solid rgba(0,229,255,0.45);color:#5cefff}
html[data-theme="dark"] .jd-adopt:hover{color:#060815}
html[data-theme="dark"] .jd-note{color:#aeb4d4}
html[data-theme="dark"] .jd-sg{border:1px solid rgba(255,255,255,0.1)}
html[data-theme="dark"] .jd-sg .a{color:#dce3f5}
html[data-theme="dark"] .jd-sg .one{border:1px solid rgba(0,229,255,0.5)}
html[data-theme="dark"] .jd-sg .one:hover{color:#060815}
html[data-theme="dark"] .jd-ref{border:1px solid rgba(255,255,255,0.22);color:#dce3f5}
html[data-theme="dark"] .pv-dock{background:rgba(11,13,28,0.97);border:1px solid rgba(0,229,255,0.4);color:#dce3f5}
html[data-theme="dark"] .pv-dock .dk-head{border-bottom:1px solid rgba(255,255,255,0.1)}
html[data-theme="dark"] .pv-dock .dk-head b{color:#dce3f5}
html[data-theme="dark"] .pv-dock .dk-head button{border:1px solid rgba(255,255,255,0.2);color:#dce3f5}
html[data-theme="dark"] .pv-dock .dk-head button:hover{color:#f0f2ff;border-color:rgba(255,255,255,0.12)}
html[data-theme="dark"] .jd-tabs{border-bottom:1px solid rgba(255,255,255,0.12)}
html[data-theme="dark"] .jd-tabs button{color:#dce3f5}
html[data-theme="dark"] .jd-tabs button:hover{color:#dce3f5}
html[data-theme="dark"] .preview-panel{background:#0b0d1c}
html[data-theme="dark"] .pv-export{color:#060815}
html[data-theme="dark"] .pv-frame .hec-frame{background:#11142a}
html[data-theme="dark"] .pv-edit{border:1px solid rgba(0,229,255,0.4);color:#5cefff}
html[data-theme="dark"] .pv-edit:hover{color:#5cefff}
html[data-theme="dark"] .pv-edit.on{color:#060815}
html[data-theme="dark"] .ph-modal{border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .ph-acts .danger:hover{border-color:rgba(255,61,154,0.35);color:#ff6fb0}
html[data-theme="dark"] .pv-savestate.dirty{color:#5cefff}
html[data-theme="dark"] #undoBtn{background:rgba(0,229,255,0.12);border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] #undoBtn:hover{background:rgba(0,229,255,0.25)}
html[data-theme="dark"] .confirm-card{background:rgba(0,229,255,0.07);border:1px solid rgba(0,229,255,0.35)}
html[data-theme="dark"] .cc-list li{color:#dce3f5}
html[data-theme="dark"] .cc-yes{color:#060815}
html[data-theme="dark"] .cc-no{border:1px solid rgba(255,255,255,0.25);color:#dce3f5}
html[data-theme="dark"] .cc-no:hover{border-color:rgba(255,255,255,0.5);color:#dce3f5}
html[data-theme="dark"] .cc-tweak input{background:rgba(17,20,42,0.06);border:1px solid rgba(255,255,255,0.12);color:#f0f2ff}
html[data-theme="dark"] .cc-tweak input::placeholder{color:#aeb4d4}
html[data-theme="dark"] .cc-tweak button{border:1px solid rgba(0,229,255,0.45)}
html[data-theme="dark"] .cc-tweak button:hover{color:#060815}
html[data-theme="dark"] .undo-link button{border:1px solid rgba(255,255,255,0.18);color:#dce3f5}
html[data-theme="dark"] .undo-link button:hover{border-color:rgba(0,229,255,0.5)}
html[data-theme="dark"] .privacy-note{color:#868cb4}
html[data-theme="dark"] .privacy-note b{color:#5cefff}
html[data-theme="dark"] .privacy-banner{background:rgba(255,255,255,0.045);border:1px solid rgba(255,255,255,0.12);color:#5cefff}
html[data-theme="dark"] .privacy-banner b{color:#5cefff}
html[data-theme="dark"] .pv-private-hint{color:#ff6fb0}
html[data-theme="dark"] .lib-card:hover, html[data-theme="dark"] .lib-card:focus-visible{box-shadow:0 14px 34px rgba(11,13,28,0.13);border-color:rgba(0,229,255,0.4)}
html[data-theme="dark"] .lib-thumb{background:#0b0d1c}
html[data-theme="dark"] .lib-thumb .hot{color:#060815}
html[data-theme="dark"] .lib-tags span{color:#5cefff}
html[data-theme="dark"] .lib-tags span.ats{color:#f0f2ff;background:#161938;border:1px solid rgba(255,255,255,0.12)}
html[data-theme="dark"] .lf-chip:hover{border-color:rgba(0,229,255,0.4)}
html[data-theme="dark"] .lf-chip.on{background:#0b0d1c;border-color:rgba(0,229,255,.25);color:#f0f2ff}
html[data-theme="dark"] .lib-thumb .lib-group{color:#868cb4;background:rgba(17,20,42,0.86)}
html[data-theme="dark"] .lib-loading{color:#868cb4}
html[data-theme="dark"] .lib-loading .lib-loading-sub{color:#868cb4}
html[data-theme="dark"] .lib-info .go{background:#11142a}
html[data-theme="dark"] .lib-thumb::after{color:#868cb4;background:rgba(17,20,42,0.9)}
html[data-theme="dark"] .lib-swatches i{box-shadow:0 0 0 1px rgba(11,13,28,0.14)}
html[data-theme="dark"] .scene-label{color:#5cefff}
html[data-theme="dark"] .series-card::before{background:linear-gradient(90deg,var(--series-color,rgba(0,229,255,0.14)) 0%,var(--series-ink,#0b0d1c) 100%)}
html[data-theme="dark"] .series-card .lib-info .go{color:var(--series-on,#f0f2ff)}
html[data-theme="dark"] .series-card .lib-thumb{background:linear-gradient(135deg,
  color-mix(in srgb,var(--series-color,rgba(0,229,255,0.14)) 8%,#11142a) 0%,
  color-mix(in srgb,var(--series-ink,#0b0d1c) 5%,#11142a) 100%)}
html[data-theme="dark"] .series-badge{color:#f0f2ff;background:var(--series-ink,#0b0d1c)}
html[data-theme="dark"] .tpl-lb-x{background:#11142a}
html[data-theme="dark"] .tpl-lb-nav{border:1px solid rgba(255,255,255,0.3);color:#f0f2ff}
html[data-theme="dark"] .tpl-lb-nav:hover{color:#060815}
html[data-theme="dark"] .tpl-lb-stage{background:#0b0d1c}
html[data-theme="dark"] .tpl-lb-stage img{border:1px solid rgba(255,255,255,0.14)}
html[data-theme="dark"] .tpl-lb-live{border:1px solid rgba(255,255,255,0.14);background:#11142a}
html[data-theme="dark"] .tpl-lb-live iframe{background:#11142a}
html[data-theme="dark"] .tpl-lb-wm{color:rgba(240,242,255,0.11)}
html[data-theme="dark"] .tpl-lb-side .lb-group{color:#5cefff}
html[data-theme="dark"] .tpl-lb-side .en{color:#5cefff}
html[data-theme="dark"] .tpl-lb-sw .k{color:#f0f2ff}
html[data-theme="dark"] .tpl-lb-sw > button{border:1px solid rgba(92,239,255,0.14)}
html[data-theme="dark"] .tpl-lb-sw > button.on{box-shadow:0 0 0 2px var(--paper-2),0 0 0 3.5px #0b0d1c}
html[data-theme="dark"] .tpl-lb-heads .k, html[data-theme="dark"] .wk-sd-series .k{color:#f0f2ff}
html[data-theme="dark"] .tpl-lb-heads button{border:1px solid rgba(92,239,255,0.14);background:#11142a}
html[data-theme="dark"] .skin-row button{border:1px solid rgba(92,239,255,0.14);background:#11142a}
html[data-theme="dark"] .skin-row button picture{background:#11142a}
html[data-theme="dark"] .tpl-lb-cta{color:#060815}
html[data-theme="dark"] .tpl-lb-cta:hover{background:rgba(0,229,255,0.14)}
html[data-theme="dark"] .tpl-lb-tip{color:#868cb4}
html[data-theme="dark"] .bf-intro .bf-kick{color:#5cefff}
html[data-theme="dark"] .bf-steps li:not(:last-child)::after{border-top:1.5px solid rgba(0,229,255,0.4);border-right:1.5px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .bf-steps li .n{color:#060815}
html[data-theme="dark"] .lib-foot a:not(.lp-cta){color:#5cefff;border-bottom:1px solid rgba(0,229,255,0.5)}
html[data-theme="dark"] .lib-foot a:not(.lp-cta):hover{border-color:rgba(0,229,255,.25)}
html[data-theme="dark"] .lv-foot-note{color:#868cb4}
html[data-theme="dark"] .lp-cta{box-shadow:0 4px 16px rgba(0,229,255,0.3);color:#060815}
html[data-theme="dark"] .gn-card .gn-tag{color:#5cefff}
html[data-theme="dark"] .gn-warn{color:#ff6fb0}
html[data-theme="dark"] .mine-av{border:1px solid rgba(0,229,255,0.45);color:#5cefff}
html[data-theme="dark"] .mine-pts b{color:#5cefff}
html[data-theme="dark"] .mine-actions .ma-note{color:#868cb4}
html[data-theme="dark"] .mine-card:hover{box-shadow:0 16px 40px rgba(11,13,28,0.12)}
html[data-theme="dark"] .mine-thumb{background:#0b0d1c}
html[data-theme="dark"] .mine-info .meta .st{color:#00ffa3;background:rgba(0,255,163,0.07)}
html[data-theme="dark"] .mine-info .meta .st.draft{color:#5cefff;background:rgba(255,255,255,0.045)}
html[data-theme="dark"] .mine-del{border:1.5px solid rgba(255,61,154,0.35);background:rgba(17,20,42,0.94);color:#ff6fb0}
html[data-theme="dark"] .mine-del:hover{color:#f0f2ff;background:rgba(255,61,154,0.12);border-color:rgba(255,61,154,0.35)}
html[data-theme="dark"] .mine-new{border:1.5px dashed rgba(0,229,255,0.4)}
html[data-theme="dark"] .mine-new:hover{background:#11142a}
html[data-theme="dark"] .cap-steps span{color:#868cb4}
html[data-theme="dark"] .cap-steps span.done{border-color:rgba(0,229,255,0.4)}
html[data-theme="dark"] .cap-brief p{color:#f0f2ff}
html[data-theme="dark"] .cap-brief .cap-not{background:#070814;border:1px dashed rgba(0,229,255,0.4)}
html[data-theme="dark"] .cap-card{border-top:3px solid var(--cap-cat,rgba(255,255,255,0.12))}
html[data-theme="dark"] .cap-card .cap-def{color:#f0f2ff}
html[data-theme="dark"] .cap-card .cap-why{color:#5cefff;background:#070814}
html[data-theme="dark"] .cap-card ul li::before{background:var(--cap-cat,rgba(0,229,255,0.14))}
html[data-theme="dark"] .cap-progbar{background:rgba(255,255,255,0.045)}
html[data-theme="dark"] .cap-q-def{color:#f0f2ff}
html[data-theme="dark"] .cap-anchors li{color:#f0f2ff;border-bottom:1px solid rgba(255,255,255,0.12);background:#11142a}
html[data-theme="dark"] .cap-anchors li.a1 b{color:#ff6fb0}
html[data-theme="dark"] .cap-anchors li.a3 b{color:#5cefff}
html[data-theme="dark"] .cap-anchors li.a5 b{color:#00ffa3}
html[data-theme="dark"] .cap-opt{background:#11142a}
html[data-theme="dark"] .cap-opt.sel .n{color:#5cefff}
html[data-theme="dark"] .cap-ev textarea{background:#11142a}
html[data-theme="dark"] .cap-band{background:rgba(255,255,255,0.045)}
html[data-theme="dark"] .cap-band i:nth-child(1){background:rgba(255,61,154,0.12)}
html[data-theme="dark"] .cap-band i:nth-child(2){background:rgba(255,184,0,0.1)}
html[data-theme="dark"] .cap-band i:nth-child(3){background:rgba(0,229,255,0.14)}
html[data-theme="dark"] .cap-band i:nth-child(4){background:rgba(255,184,0,0.1)}
html[data-theme="dark"] .cap-band i:nth-child(5){background:rgba(0,255,163,0.07)}
html[data-theme="dark"] .cap-band .mk{background:#0b0d1c;box-shadow:0 0 0 2px #11142a}
html[data-theme="dark"] .cap-scale{color:#868cb4}
html[data-theme="dark"] .cap-row{border-bottom:1px dashed rgba(255,255,255,0.12)}
html[data-theme="dark"] .cap-row .sc b.g-neg{color:#ff6fb0}
html[data-theme="dark"] .cap-row .sc b.g-zero{color:#00ffa3}
html[data-theme="dark"] .cap-summary{color:#f0f2ff}
html[data-theme="dark"] .cap-item{border-top:3px solid var(--cap-cat,rgba(255,255,255,0.12))}
html[data-theme="dark"] .cap-item-h .tag.t-good{border-color:rgba(0,255,163,0.2);color:#00ffa3;background:rgba(0,255,163,0.07)}
html[data-theme="dark"] .cap-item-h .tag.t-mid{border-color:rgba(0,229,255,0.4);color:#5cefff;background:#070814}
html[data-theme="dark"] .cap-item-h .tag.t-bad{border-color:rgba(255,61,154,0.35);color:#ff6fb0;background:rgba(255,61,154,0.08)}
html[data-theme="dark"] .cap-narr{color:#f0f2ff;border-left:2px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .cap-narr .src{color:#868cb4}
html[data-theme="dark"] .cap-evshow{color:#868cb4;background:#070814}
html[data-theme="dark"] .cap-evshow b{color:#5cefff}
html[data-theme="dark"] table.cap-table th{background:#070814}
html[data-theme="dark"] table.cap-table tr.grp td{background:#11142a}
html[data-theme="dark"] .cap-flags li{color:#5cefff;background:#070814;border:1px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .cap-decl{border:1px dashed rgba(0,229,255,0.4)}
html[data-theme="dark"] .cap-col.good{border-left:3px solid rgba(0,255,163,0.32)}
html[data-theme="dark"] .cap-col.bad{border-left:3px solid rgba(255,61,154,0.35)}
html[data-theme="dark"] .cap-col li{color:#f0f2ff}
html[data-theme="dark"] .cap-col.good li::before{background:rgba(0,255,163,0.1)}
html[data-theme="dark"] .cap-col.bad li::before{background:rgba(255,61,154,0.12)}
html[data-theme="dark"] .cap-tip{border-left:2px solid rgba(0,229,255,0.4)}
html[data-theme="dark"] .cap-tip .x{color:#f0f2ff}
html[data-theme="dark"] .cap-dropnote{color:#868cb4}
html[data-theme="dark"] .cap-foot{color:#868cb4}
html[data-theme="dark"] .cap-status.err{color:#ff6fb0}
html[data-theme="dark"] .jr-pitem .dot{background:rgba(255,255,255,.08)}
html[data-theme="dark"] .jr-skel-b{background:rgba(255,255,255,.08)}
html[data-theme="dark"] .jr-dv-slot{background:#11142a}
html[data-theme="dark"] .jr-dv-slot .jr-dv-frame{background:#11142a}
html[data-theme="dark"] .jr-dv-fade{background:linear-gradient(rgba(17,20,42,0),#11142a)}
html[data-theme="dark"] .jr-dv-tag{background:#0b0d1c;color:#f0f2ff}
html[data-theme="dark"] .jr-dv-tag.ai{background:rgba(0,229,255,0.14);color:#f0f2ff}
html[data-theme="dark"] .cc-old{color:#dce3f5;text-decoration-color:rgba(220,227,245,0.55)}
html[data-theme="dark"] .cc-new{color:#8cf5c8}
html[data-theme="dark"] .cc-ctx{color:#dce3f5}
html[data-theme="dark"] .cc-where{color:#aeb4d4}
html[data-theme="dark"] .jr-chat-send{color:#060815}
html[data-theme="dark"] .jr-step.on .no{color:#060815}
html[data-theme="dark"] #view-mockroom .ivf-step.cur .no{color:#060815}
html[data-theme="dark"] #view-mockroom .ivf-next .gold{color:#060815}
@media (hover:hover) and (pointer:fine){
html[data-theme="dark"] .wk-vfab-btn:hover{background:rgba(0,255,163,0.1);box-shadow:0 8px 26px rgba(0,255,163,0.55)}
}
@media (max-width:960px){
html[data-theme="dark"] .chat-panel{border-bottom:1px solid rgba(0,229,255,0.25)}
}

/* ===== HANDWRITTEN：深色专属装饰，人工维护 ===== */
/* 手写段（gen_theme_dark.py 会原样附在生成段之后，不覆盖这里）。
   生成段负责「把浅色的每条颜色翻译过去」；这一段负责深色才有、
   浅色里不存在对应规则的东西：底光栅格、玻璃导航、霓虹描边、暗色滚动条。
   顺序很重要——本段在生成段之后，同一选择器同优先级时后写的赢。 */

/* ---------- 底色：网格 + 三团霓虹（浅色的米纸质感在深色里没有对应物） ---------- */
html[data-theme="dark"] body{background:#070814}
html[data-theme="dark"] body::before,
html[data-theme="dark"] body::after{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none}
html[data-theme="dark"] body::before{
  background-image:
    linear-gradient(to right,rgba(124,58,255,.06) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(124,58,255,.06) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 0%,transparent 75%);
  mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 0%,transparent 75%)}
html[data-theme="dark"] body::after{
  z-index:-1;
  background:
    radial-gradient(ellipse 50% 40% at 18% 12%,rgba(0,229,255,.18),transparent 60%),
    radial-gradient(ellipse 50% 40% at 85% 8%,rgba(124,58,255,.22),transparent 60%),
    radial-gradient(ellipse 60% 50% at 50% 100%,rgba(0,255,163,.10),transparent 70%)}
/* 网格平移：只在深色跑。用 background-position（整屏重绘）而不是 transform——
   transform 版要把 ::before 外扩 64px 防露边，mask 椭圆会随盒子变大而偏移，
   量测基线（_diag_bg_layerarea.js）是按这版几何钉的。60s 一格的动画帧成本可接受。
   prefers-reduced-motion 下直接停。 */
@keyframes wkGridPan{from{background-position:0 0}to{background-position:64px 64px}}
html[data-theme="dark"] body::before{animation:wkGridPan 60s linear infinite}

/* ---------- 共享顶栏：墨底 → 玻璃底（--wkh-* 由 site-header.js 运行时注入，
   这里用 html[data-theme] 的更高特异性盖它，不去改那份全站文件） ---------- */
html[data-theme="dark"]{
  --wkh-ink:#0a0b1a;--wkh-ink2:#161938;
  --wkh-gold:#00e5ff;--wkh-gold2:#5cefff;
  --wkh-paper:#070814;--wkh-text:#f0f2ff;--wkh-text2:#aeb4d4;
  --wkh-line:rgba(255,255,255,.10)}
html[data-theme="dark"] .wkh{
  background:rgba(7,8,20,.72);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom-color:rgba(124,58,255,.18);
  box-shadow:0 1px 0 rgba(255,255,255,.04),0 8px 30px rgba(0,0,0,.35)}
/* 品牌徽标：金圈文字 → 渐变描边圆角方块（conic 环 + 深内核，对齐目标稿 .brand-mark）。
   旧规则里的 .wkh-brand-mark 是个不存在的选择器（真名 .wkh-mark），一并修掉。 */
html[data-theme="dark"] .wkh .wkh-mark{
  border:1.5px solid transparent;border-radius:8px;color:#00e5ff;
  background:linear-gradient(#0a0b1a,#0a0b1a) padding-box,
    conic-gradient(from 220deg,#00e5ff,#7c3aff,#00ffa3,#00e5ff) border-box;
  box-shadow:0 0 18px rgba(0,229,255,.35)}
/* 顶栏 CTA：平涂霓虹 → 青→紫渐变（目标稿 .cta：radius 10 + 青色辉光，hover 上浮） */
html[data-theme="dark"] .wkh .wkh-cta{
  background:linear-gradient(135deg,#00e5ff,#7c3aff);border-radius:10px;
  box-shadow:0 4px 24px rgba(0,229,255,.32)}
html[data-theme="dark"] .wkh .wkh-cta:hover{
  background:linear-gradient(135deg,#5cefff,#8f55ff);
  transform:translateY(-1px);box-shadow:0 8px 32px rgba(0,229,255,.5)}

/* ---------- 主视觉区：深色下 hero 不再自带底 ----------
   这里原来钉着一圈「区块锚定」的霓虹晕：首屏看着对，可它长在 hero 盒子上，
   一滚出 hero 就跟着滚走——正是「光晕滚动就没了」的假象来源。首屏的光
   由上面 body::after 那层固定的三团光晕全程提供。（2026-09-20 像素级实测钉板） */
html[data-theme="dark"] .hero{background:none}

/* ---------- 深色下不留任何整宽不透明带 ----------
   底光/网格是 body::before/::after 带负 z-index 的 fixed 层，任何整宽不透明的
   section 底都会把它整段盖掉：滚到哪段、光在哪段消失，底色还跟着跳档——
   tools-sec / site-foot（#0b0d1c）与 privacy-bar（#11142a）是生成层按 token_roles
   写死的；needs / recent-sec 走 var(--paper) 恰好算出和 body 同色的 #070814，
   看不出跳色但照样挡光。只撤 background，border-top 保留。
   ★ 新增首页整宽区块时一律不许写 background，否则又会盖掉底光。 */
html[data-theme="dark"] .needs,
html[data-theme="dark"] .tools-sec,
html[data-theme="dark"] .recent-sec,
html[data-theme="dark"] .privacy-bar,
html[data-theme="dark"] footer.site-foot{background:none}
/* 首页改版（2026-09-20）：原来这里钉着 .hv-doc / .hv-card 两条「暗房里的纸还是纸」
   ——那张米白纸片是旧首页的简历示意卡，已被 hero 右侧的 scan-card（UI 卡片，不是导出物）
   取代，规则跟着删。真正的导出物豁免（A4 预览、模板缩略图、rv- 渲染层）在
   e2e_theme.js 的 paper 白名单里按类名匹配，不依赖这一段。 */
html[data-theme="dark"] .rs-card{background:#11142a}

/* ---------- 主按钮上的图标：生成层只配得准「同一条规则里」的文字，
   子元素 svg 的 stroke:var(--ink) 会翻成浅色 → 实心霓虹上看不见。
   全站只有这两处是「霓虹底 + 图标子元素」，逐个点名比再加一层通用机制划算。 */
html[data-theme="dark"] .chat-send svg,
html[data-theme="dark"] .pv-export svg{stroke:#060815}

/* ---------- 预览层水印：生成层按「页面底色」把它翻成浅色墨，但它压的永远是
   纸色简历图（导出物在深色下也保持纸色），浅色墨在白纸上等于没有。钉回深墨。 */
html[data-theme="dark"] .tpl-lb-wm{color:rgba(10,22,40,.11)}

/* ---------- 标题强调行：深色下换成霓虹渐变（浅色保持金字，不动那套米纸调性） ---------- */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  html[data-theme="dark"] .hero h1 .g{
    background:linear-gradient(110deg,#00e5ff 0%,#00ffa3 50%,#7c3aff 100%);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent}
}

/* ---------- 面试阶段选择器：非选中按钮在深色底上对比度不足，单独提亮 ---------- */
html[data-theme="dark"] .iv-stage .lb{color:var(--text)}
html[data-theme="dark"] .iv-stage-btn{
  color:var(--text);border-color:rgba(255,255,255,.22);
  background:rgba(255,255,255,.06)}
html[data-theme="dark"] .iv-stage-btn:hover{
  border-color:var(--gold);background:var(--gold-soft);color:var(--ink)}
html[data-theme="dark"] .iv-stage-btn[aria-pressed="true"]{
  color:var(--ink);background:var(--gold-soft);border-color:var(--gold);box-shadow:0 0 14px rgba(0,229,255,.18)}

/* ---------- 首页 CTA / 工具卡：深色下换成霓虹渐变与光标跟随光晕 ---------- */
html[data-theme="dark"] .hero-actions .btn-gold,
html[data-theme="dark"] .final-cta .btn-gold{
  background:linear-gradient(135deg,#00e5ff,#7c3aff);
  color:#0a0b1a;
  box-shadow:0 6px 30px rgba(0,229,255,.35)}
html[data-theme="dark"] .hero-actions .btn-gold:hover,
html[data-theme="dark"] .final-cta .btn-gold:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 40px rgba(0,229,255,.55)}
html[data-theme="dark"] .btn-ghost{
  border-color:rgba(0,229,255,.35);
  background:rgba(0,229,255,.04)}
html[data-theme="dark"] .btn-ghost:hover{
  border-color:#00e5ff;
  background:rgba(0,229,255,.10)}
html[data-theme="dark"] .tool:hover{
  border-color:rgba(0,229,255,.35);
  box-shadow:0 12px 40px rgba(0,229,255,.12)}
html[data-theme="dark"] .scan-card{
  box-shadow:0 20px 60px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.04)}
/* 收尾 CTA 卡内的 32px 网格：浅色源用 --wk-cyan 14% 是米纸上的暗金细纹，
   深色下同一个浓度翻成霓虹青就明显比目标稿重。稿值只有 4%、mask 收到 70%，
   这里按稿钉回（生成层对这条纯令牌规则不产覆盖，所以必须在手写段修）。 */
html[data-theme="dark"] .final-cta::before{
  background-image:
    linear-gradient(to right,rgba(0,229,255,.04) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(0,229,255,.04) 1px,transparent 1px);
  -webkit-mask-image:radial-gradient(ellipse at center,#000,transparent 70%);
  mask-image:radial-gradient(ellipse at center,#000,transparent 70%)}

/* ---------- 模板墙系列卡：CTA 在两个主题下都填该系列主色 ----------
   生成段里那条 html[data-theme="dark"] .lib-info .go{background:#11142a} 是在
   「.go 没有按卡配色」的年代写的；现在卡上的墨色 --series-on 是按主色现算的，
   底却仍被它盖成深墨 → 深字压深底，金色族的「开始定制」直接看不见。
   这里把系列卡的底按回来（选择器多一层 .series-card，特异性压过那条通用的）。 */
html[data-theme="dark"] .series-card .lib-info .go{
  background:var(--series-color);border-color:var(--series-color)}
html[data-theme="dark"] .series-card:hover .lib-info .go,
html[data-theme="dark"] .series-card:focus-visible .lib-info .go{
  background:color-mix(in srgb,var(--series-color) 85%,#fff);
  border-color:color-mix(in srgb,var(--series-color) 85%,#fff)}

/* ---------- 焦点可见性：深色下金色描边换成霓虹，键盘用户要看得见 ---------- */
html[data-theme="dark"] :focus-visible{outline:2px solid #5cefff;outline-offset:2px}
html[data-theme="dark"] ::selection{background:#00e5ff;color:#0a0b1a}

/* ---------- 下拉框：把箭头补回来 ----------
   浅色层给 .iv-form select 画了自定义箭头（appearance:none 是为了让各浏览器同高，
   见 index.html 里那段注释），但生成段里有一条
   `html[data-theme="dark"] .iv-form select, ... input, ... textarea{background:#11142a}`
   —— 它用的是 background **简写**，会把 background-image / -position / -size 一起清掉。
   生成器不会替我们保留这几条，所以深色档必须在这里原样补回（并换浅一点的灰，
   深底上 #837f74 太暗）。改浅色箭头时记得同步这里。 */
html[data-theme="dark"] .iv-form select{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' fill='none' stroke='%239aa4b2' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 13px center;
  background-size:11px 7px;
}

/* ---------- 滚动条 ---------- */
html[data-theme="dark"] *{scrollbar-color:rgba(255,255,255,.18) transparent}

/* ---------- 动效降级：底光栅格 + 浮动标签这类常驻动画一律停掉 ---------- */
@media (prefers-reduced-motion:reduce){
  html[data-theme="dark"] body::before{animation:none}
  html[data-theme="dark"] *,
  html[data-theme="dark"] *::before,
  html[data-theme="dark"] *::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important}
}

/* ---------- 成品卡并排对比：**纸永远是白的**（2026-09-22 第五轮）----------
   浅色层给纸槽/帧写死 #fff、给标签片写死「深底浅字」，生成器会照角色把它们翻成
   深色底（--paper-2 那档）与霓虹描边 —— 但那两样是**渲染物**，不属于本页主题：
   缩略图里装的就是一份白纸简历（与工作台预览完全一致），纸槽若跟着翻成深色，
   下沿会露出一条深色，渐隐也会变成一道压在简历上的黑带；标签片翻成浅底浅字后
   压在白纸上反而看不清。
   所以这里把这几条**改回固定值**：纸的底色、纸角标签从来只跟「纸」有关，不跟主题。
   改浅色那几条时记得同步这里（生成器不会替我们保留）。 */
html[data-theme="dark"] .jr-dv-slot:not(.jr-dv-ghost){background:#fff}
html[data-theme="dark"] .jr-dv-slot .jr-dv-frame{background:#fff}
html[data-theme="dark"] .jr-dv-fade{background:linear-gradient(rgba(255,255,255,0),#fff)}
html[data-theme="dark"] .jr-dv-tag{background:#0a1628;color:#fff}
html[data-theme="dark"] .jr-dv-tag.ai{background:#c9a227;color:#0a1628}
/* ★ 上面那条必须带 `:not(.jr-dv-ghost)`：右栏那个「示意」骨架是**同一族**纸槽
   （.jr-dv-slot.jr-dv-ghost），它的底是**跟着主题走**的 --wk-surface-2。
   不带 :not 时我这三条 (0,2,1) 会盖掉浅色层里那条 (0,1,0) 的 .jr-dv-ghost ——
   深色档右栏会被涂成白纸，而骨架条（currentColor @22%）与深色档的近白文字
   一起压在白底上：条子看不见、字也看不见（实测截图里就是白茫茫一块）。
   实测教训：**同一个类名上的两条规则，深色层新加的那条特异性更高就赢了**，
   别看它写在后面。 */
html[data-theme="dark"] .jr-dv-slot.jr-dv-ghost{background:var(--wk-surface-2)}

/* ---------- 分步进度与转圈：把「正在第几步」翻回来（2026-09-25 站长报上传简历没进度）----------
   症状：上传简历弹窗里三颗点长成一个样，等 10~30 秒后直接出结果，完全看不出走到哪一步。
   根因不在浅色真源，而在生成段的**按属性通用底**：浅色的
   `.up-steps li::before{border:1.5px solid #d8cdaa;background:#fff}` 里是写死色，
   生成器照着翻成 `html[data-theme="dark"] .up-steps li::before{border:…;background:#11142a}`。
   这条带 html[data-theme] 前缀 ⇒ 特异性 (0,2,3)，**压过**浅色那条
   `.up-steps li.on::before{border-color:var(--gold);border-top-color:transparent}` 的 (0,2,2)
   （令牌规则生成器一条都不产，因为它以为 :root 翻转会自动跟上）。于是：
   · on 的「顶边透明 + 旋转」被整圈同色盖掉 —— 转了等于没转；
   · done 的实心点被 background:#11142a 盖回空心；
   · 三态文字色也统一被 li{color:#868cb4} 拉平。
   实测（scripts_dev/check_progress_states.js）：深色档 pending/on/done 的
   border+background+color 三个值**逐字相同**，只有 animation-name 不同（而它不可见）。
   这里按状态补回，值与浅色语义对齐（空心 = 未开始、青色转圈 = 进行中、实心 = 已完成）。
   **改浅色那几条时记得同步这里**，判据脚本会替你红。 */
/* 未开始：把生成段那条过亮的青色环压回中性空心环，留出"亮起来"的余地 */
html[data-theme="dark"] .up-steps li::before,
html[data-theme="dark"] .iv-steps li::before{border-color:rgba(174,180,212,.28)}
/* 进行中 */
html[data-theme="dark"] .up-steps li.on,
html[data-theme="dark"] .iv-steps li.on{color:var(--ink)}
html[data-theme="dark"] .up-steps li.on::before,
html[data-theme="dark"] .iv-steps li.on::before{
  border:1.5px solid var(--gold);border-top-color:transparent;animation:upSpin .9s linear infinite}
/* 已完成：实心点 + 勾（勾压在青色实心点上，必须走近黑，不能用生成段的近白） */
html[data-theme="dark"] .up-steps li.done,
html[data-theme="dark"] .iv-steps li.done{color:var(--text-2)}
html[data-theme="dark"] .up-steps li.done::before,
html[data-theme="dark"] .iv-steps li.done::before{
  border:1.5px solid var(--gold);background:var(--gold)}
html[data-theme="dark"] .iv-steps li.done::after{color:var(--wk-ink-on-neon)}
/* 转圈 loading 环（贴图识字 / 面试题出卷）：同款病——生成段用 border **简写**
   把浅色那条 border-top-color:var(--gold) 的"缺口"抹平了，四边同色就是块静止的圆环。 */
html[data-theme="dark"] .up-spinner{border-top-color:var(--gold)}
html[data-theme="dark"] .iv-prog-spin{border-top-color:var(--gold)}
/* 能力测评步骤条：生成段 `.cap-steps span{color:#868cb4}` (0,2,2) 压过浅色的
   `span.on{color:var(--ink)}` (0,2,1)，当前这一步的文字不再提亮（描边/底色还在，
   所以只是"弱一档"，不像上面两个彻底看不出动）。 */
html[data-theme="dark"] .cap-steps span.on{color:var(--ink)}
html[data-theme="dark"] .cap-steps span.done{color:var(--text-2)}

/* ---------- 同一次排查里的另外两处「深色下两态同值」（2026-09-25）----------
   这两条不是"压顶"，是**值塌陷**：生成段确实出了状态规则，但浅色那三个近白
   （#fff / #fffef9 / #fffdf5）被颜色聚类映射成同一个深色值，状态差异在翻译时丢了。
   判据脚本 scripts_dev/check_state_rules_dark.js（浏览器量实际 computed 值）。 */
/* 上传区的「忙碌态」：浅色是 var(--gold) 描边 + 比 --paper-2 亮一档的底，
   深色下底被翻成 #11142a（= 基线本身就是 --paper-2 = #11142a）、描边被
   生成段那条 html[data-theme="dark"] .up-drop{border:…} **简写** 抹平，
   于是"正在解析"的那块板和没上传时一模一样。:hover 与 .busy 浅色同值，一并补。 */
html[data-theme="dark"] .up-drop:hover,
html[data-theme="dark"] .up-drop.busy{border-color:var(--gold);background:var(--wk-surface-2)}
/* 成功 toast：浅色 #2f4a37（墨绿）被翻成 #0b0d1c，与基线 .wk-toast 深色底逐字相同
   ⇒「已保存 / 诊断完成」和一条普通提示长得一样。失败那条 .err 翻成了粉底，是好的；
   这里按同款口径给成功配淡绿底（文字仍是 --ink，压在深底上够读）。 */
html[data-theme="dark"] .wk-toast.ok{background:rgba(0,255,163,.14)}

/* ---------- 同一条链路上的「手感」：拖放区 / 证件照格 / 解析核对按钮的悬停态 ----------
   这三处不是"看不出走到哪一步"，是深色下鼠标划过没有任何反馈（浅色那条只有
   border-color 一个属性，被生成段的 border 简写整条抹掉）。顺手一起补，
   免得下次又有人报「深色下点不动」。 */
html[data-theme="dark"] .rs-drop:hover,
html[data-theme="dark"] .rs-drop.over{border-color:var(--gold)}
html[data-theme="dark"] .photo-cell:hover{border-color:var(--gold)}
html[data-theme="dark"] .photo-cell:hover .ph-plus{border-color:var(--gold)}
/* 「解析核对提醒」里那颗去确认页的按钮：浅色悬停是实心金底，深色生成段把底压回 #11142a。
   补回实心底时**必须同时改字色**——深色那版字是青色 #5cefff，压在青色底上等于隐形。 */
html[data-theme="dark"] .parse-warn .pw-go:hover{background:var(--gold);color:var(--wk-ink-on-neon)}

}
