/* ══════════════════════════════════════════════════════════
   孵化引擎 · Design System v2 「Aurora Glass」
   ① 材质底盘  ② 呼吸节奏  ③ 空间纵深  ④ 组件规范
   ══════════════════════════════════════════════════════════ */

/* ───────── ① 令牌 ───────── */
:root{
  --ink:#07080c;
  --ink-1:#0b0d13;
  --ink-2:#11141c;

  --coral:#ff6b5b;
  --coral-2:#ff9752;
  --violet:#8b7bff;
  --violet-2:#b39bff;
  --mint:#38d6a8;
  --amber:#ffc45e;

  --fg:#eef1f7;
  --fg-2:#a6aebf;
  --fg-3:#6c7587;

  --line:rgba(255,255,255,.085);
  --line-2:rgba(255,255,255,.15);
  --line-3:rgba(255,255,255,.24);

  --glass-1:linear-gradient(158deg,rgba(255,255,255,.075),rgba(255,255,255,.018) 58%,rgba(255,255,255,.004));
  --blur:26px;

  --sh-xs:0 1px 2px rgba(0,0,0,.30);
  --sh-s:0 6px 18px -10px rgba(0,0,0,.55), 0 1px 2px rgba(0,0,0,.30);
  --sh-m:0 18px 46px -22px rgba(0,0,0,.72), 0 2px 8px -4px rgba(0,0,0,.4);
  --sh-l:0 40px 90px -40px rgba(0,0,0,.85), 0 8px 24px -16px rgba(0,0,0,.5);
  --inset-hi:inset 0 1px 0 rgba(255,255,255,.10);

  --r-xs:9px; --r-s:12px; --r-m:18px; --r-l:26px; --r-xl:34px; --r-full:999px;

  --ease:cubic-bezier(.22,.72,.24,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --t-fast:.18s; --t-mid:.34s; --t-slow:.62s;

  --maxw:1140px;
  --nav-h:62px;
}

[data-theme="light"]{
  --ink:#f4f3ef;
  --ink-1:#eeede8;
  --ink-2:#ffffff;
  --fg:#101319;
  --fg-2:#4a5162;
  --fg-3:#858c9c;
  --line:rgba(12,15,22,.10);
  --line-2:rgba(12,15,22,.18);
  --line-3:rgba(12,15,22,.28);
  --glass-1:linear-gradient(158deg,rgba(255,255,255,.94),rgba(255,255,255,.72));
  --sh-s:0 6px 18px -12px rgba(18,22,34,.28), 0 1px 2px rgba(18,22,34,.06);
  --sh-m:0 18px 44px -26px rgba(18,22,34,.34), 0 2px 8px -5px rgba(18,22,34,.1);
  --sh-l:0 40px 84px -46px rgba(18,22,34,.42);
  --inset-hi:inset 0 1px 0 rgba(255,255,255,.9);
  --coral:#e5503c; --violet:#5f4fdc; --violet-2:#4b3ac9; --mint:#0f9770; --amber:#b8790c;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:var(--ink);color:var(--fg);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Segoe UI",Roboto,sans-serif;
  font-size:15px;line-height:1.62;min-height:100vh;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  transition:background var(--t-mid) var(--ease),color var(--t-mid) var(--ease);
}
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(58vw 46vw at 12% -6%,rgba(255,107,91,.20),transparent 62%),
    radial-gradient(52vw 42vw at 88% 4%,rgba(139,123,255,.20),transparent 64%),
    radial-gradient(70vw 60vw at 46% 108%,rgba(56,214,168,.13),transparent 66%);
  filter:blur(18px);
}
[data-theme="light"] body::before{opacity:.45}
h1,h2,h3,h4{line-height:1.2;margin:0;font-weight:700;letter-spacing:-.022em}
p{margin:0}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--coral);color:#fff}
input,textarea,select{font:inherit}

.grain{
  position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}
.dust{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.5}

/* ───────── 导航 ───────── */
.nav{
  position:sticky;top:0;z-index:80;
  height:var(--nav-h);display:flex;align-items:center;gap:16px;
  padding:0 clamp(16px,4vw,34px);
  background:linear-gradient(to bottom,rgba(7,8,12,.86),rgba(7,8,12,.5));
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border-bottom:1px solid var(--line);
}
[data-theme="light"] .nav{background:linear-gradient(to bottom,rgba(247,246,243,.9),rgba(247,246,243,.6))}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.brand-mark{
  width:32px;height:32px;border-radius:10px;display:grid;place-items:center;position:relative;
  background:conic-gradient(from 140deg,var(--coral),var(--coral-2),var(--violet),var(--mint),var(--coral));
  box-shadow:0 8px 22px -10px rgba(255,107,91,.9),var(--inset-hi);
}
.brand-mark i{width:11px;height:11px;border-radius:3px;background:rgba(7,8,12,.82);display:block;transform:rotate(45deg)}
.brand-txt{display:flex;flex-direction:column;line-height:1.05}
.brand-txt b{font-size:15px;letter-spacing:.01em}
.brand-txt em{font-size:8.5px;font-style:normal;letter-spacing:.22em;color:var(--fg-3);font-weight:600}

.nav-pill{
  position:relative;display:flex;gap:2px;margin-left:auto;
  padding:4px;border-radius:var(--r-full);
  background:rgba(255,255,255,.045);border:1px solid var(--line);
  box-shadow:var(--inset-hi);
}
[data-theme="light"] .nav-pill{background:rgba(12,15,22,.045)}
.nav-ind{
  position:absolute;top:4px;left:4px;height:calc(100% - 8px);width:0;border-radius:var(--r-full);
  background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.055));
  border:1px solid var(--line-2);box-shadow:var(--sh-xs);
  transition:transform var(--t-mid) var(--ease),width var(--t-mid) var(--ease);
}
[data-theme="light"] .nav-ind{background:#fff;border-color:rgba(12,15,22,.1)}
.tab{
  position:relative;z-index:1;padding:7px 15px;border-radius:var(--r-full);
  font-size:13px;font-weight:600;color:var(--fg-2);white-space:nowrap;
  transition:color var(--t-fast) var(--ease);
}
.tab:hover{color:var(--fg)}
.tab.is-on{color:var(--fg)}
.icon-btn{
  width:34px;height:34px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;
  border:1px solid var(--line);color:var(--fg-2);background:rgba(255,255,255,.03);
  transition:color var(--t-fast),border-color var(--t-fast),transform var(--t-fast);
}
.icon-btn:hover{color:var(--coral);border-color:var(--line-3);transform:rotate(-16deg)}

/* ───────── 布局 ───────── */
main{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:0 clamp(16px,4vw,34px) 72px}
.view{padding-top:clamp(20px,4vw,46px);animation:viewIn .5s var(--ease-out)}
.view.hidden{display:none}
@keyframes viewIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
[data-reveal].in{opacity:1;transform:none}

/* ───────── Hero ───────── */
.hero{position:relative;padding:clamp(30px,6vw,72px) 0 clamp(22px,4vw,40px)}
.orb{
  position:absolute;right:-6%;top:-4%;
  width:min(620px,62vw);height:min(620px,62vw);
  z-index:0;pointer-events:none;
  opacity:0;animation:orbIn 1.6s var(--ease-out) .1s forwards;
}
@keyframes orbIn{to{opacity:.95}}
.hero-inner{position:relative;z-index:1;max-width:640px}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 13px;border-radius:var(--r-full);
  font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--coral);
  background:rgba(255,107,91,.09);border:1px solid rgba(255,107,91,.22);
  box-shadow:var(--inset-hi);
}
.badge .dot{
  width:6px;height:6px;border-radius:50%;background:var(--coral);
  box-shadow:0 0 0 0 rgba(255,107,91,.6);animation:pulse 2.2s infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(255,107,91,.55)}
  70%{box-shadow:0 0 0 9px rgba(255,107,91,0)}
  100%{box-shadow:0 0 0 0 rgba(255,107,91,0)}
}
.hero h1{
  margin-top:22px;font-size:clamp(29px,5.4vw,52px);
  font-weight:800;letter-spacing:-.038em;line-height:1.12;
}
.grad{
  background:linear-gradient(96deg,var(--coral) 4%,var(--coral-2) 42%,var(--violet-2) 96%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  background-size:200% 100%;animation:sheen 9s linear infinite;
}
@keyframes sheen{to{background-position:200% 0}}
.lede{margin-top:20px;max-width:600px;font-size:clamp(13.5px,2.6vw,16px);line-height:1.75;color:var(--fg-2)}
.lede strong{color:var(--fg);font-weight:600}

.stat-row{display:flex;gap:clamp(20px,5vw,48px);margin-top:clamp(22px,4vw,34px);flex-wrap:wrap}
.stat b{
  display:block;font-size:clamp(22px,5vw,30px);font-weight:800;letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;
  background:linear-gradient(180deg,var(--fg),var(--fg-2));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.stat span{font-size:11px;letter-spacing:.1em;color:var(--fg-3);font-weight:600}

/* ───────── 玻璃卡 ───────── */
.glass,.card{
  position:relative;
  background:var(--glass-1);
  border:1px solid var(--line);
  border-radius:var(--r-l);
  box-shadow:var(--sh-m),var(--inset-hi);
  backdrop-filter:blur(var(--blur)) saturate(170%);
  -webkit-backdrop-filter:blur(var(--blur)) saturate(170%);
}
[data-theme="light"] .glass,[data-theme="light"] .card{backdrop-filter:none;-webkit-backdrop-filter:none}

/* ───────── 向导 ───────── */
.wizard{margin-bottom:26px;overflow:hidden;transition:box-shadow var(--t-mid) var(--ease)}
.wizard:hover{box-shadow:var(--sh-l),var(--inset-hi)}
.wiz-head{padding:20px 22px 0}
.wiz-bar{height:3px;border-radius:var(--r-full);background:rgba(255,255,255,.07);overflow:hidden}
[data-theme="light"] .wiz-bar{background:rgba(12,15,22,.08)}
.wiz-bar i{
  display:block;height:100%;width:20%;border-radius:var(--r-full);
  background:linear-gradient(90deg,var(--coral),var(--violet));
  box-shadow:0 0 14px rgba(255,107,91,.7);
  transition:width var(--t-slow) var(--ease-out);
}
.wiz-meta{display:flex;justify-content:space-between;align-items:center;margin-top:11px}
.wiz-step{font-size:11.5px;letter-spacing:.06em;color:var(--fg-3);font-variant-numeric:tabular-nums;font-weight:600}
.txt-btn{font-size:12px;color:var(--fg-3);transition:color var(--t-fast)}
.txt-btn:hover{color:var(--coral)}

#form{padding:4px 22px}
.field{padding:17px 0;border-bottom:1px solid var(--line)}
.field:last-child{border-bottom:none}
.field-label{display:flex;align-items:baseline;gap:8px;margin-bottom:11px}
.field-label b{font-size:13.5px;font-weight:600}
.field-label small{font-size:10.5px;color:var(--coral);font-weight:600;letter-spacing:.04em}
.field-hint{font-size:11.5px;color:var(--fg-3);margin-top:9px;line-height:1.6}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  position:relative;padding:8px 14px;border-radius:11px;font-size:13px;line-height:1.25;
  border:1px solid var(--line);background:rgba(255,255,255,.028);color:var(--fg-2);
  transition:all var(--t-fast) var(--ease);
}
.chip:hover{border-color:var(--line-3);color:var(--fg);transform:translateY(-1px);box-shadow:var(--sh-s)}
.chip:active{transform:translateY(0) scale(.97)}
.chip.is-on{
  background:rgba(255,107,91,.13);border-color:rgba(255,107,91,.55);color:var(--coral);
  font-weight:600;box-shadow:0 6px 18px -12px rgba(255,107,91,.9),var(--inset-hi);
}
.chip.is-on.violet{
  background:rgba(139,123,255,.14);border-color:rgba(139,123,255,.55);color:var(--violet-2);
  box-shadow:0 6px 18px -12px rgba(139,123,255,.9),var(--inset-hi);
}
.chip.sm{padding:6px 11px;font-size:12px;border-radius:9px}
[data-theme="light"] .chip{background:rgba(255,255,255,.7)}
[data-theme="light"] .chip.is-on{color:#b8341f;background:rgba(229,80,60,.1)}
[data-theme="light"] .chip.is-on.violet{color:#4b3ac9;background:rgba(95,79,220,.1)}

input[type=text],input[type=number],textarea,select{
  width:100%;padding:12px 14px;border-radius:12px;
  border:1px solid var(--line);background:rgba(255,255,255,.03);
  color:var(--fg);font-size:14px;outline:none;
  transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast);
}
[data-theme="light"] input[type=text]{background:#fff}
input[type=text]:focus,textarea:focus,select:focus{
  border-color:rgba(255,107,91,.6);background:rgba(255,107,91,.05);
  box-shadow:0 0 0 4px rgba(255,107,91,.09);
}
input::placeholder,textarea::placeholder{color:var(--fg-3)}
textarea{resize:vertical;min-height:78px;line-height:1.65}
select{appearance:none;padding-right:34px}

.range-wrap{display:flex;align-items:center;gap:14px;max-width:440px}
input[type=range]{
  -webkit-appearance:none;appearance:none;flex:1;height:4px;border-radius:var(--r-full);
  background:linear-gradient(90deg,var(--coral),var(--violet));outline:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:19px;height:19px;border-radius:50%;
  background:var(--ink-2);border:2px solid var(--coral);cursor:pointer;
  box-shadow:0 3px 12px -2px rgba(0,0,0,.7),0 0 0 0 rgba(255,107,91,.4);
  transition:box-shadow var(--t-fast);
}
input[type=range]::-webkit-slider-thumb:hover{box-shadow:0 3px 14px -2px rgba(0,0,0,.7),0 0 0 7px rgba(255,107,91,.16)}
input[type=range]::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:var(--ink-2);border:2px solid var(--coral);cursor:pointer}
.range-val{min-width:48px;text-align:right;font-size:13.5px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--coral)}

.wiz-actions{
  display:flex;gap:10px;padding:18px 22px;
  border-top:1px solid var(--line);
  background:linear-gradient(to bottom,transparent,rgba(255,255,255,.02));
}

/* ───────── 按钮 ───────── */
.btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:12px 20px;border-radius:13px;font-size:13.5px;font-weight:650;
  border:1px solid transparent;flex-shrink:0;overflow:hidden;
  transition:transform var(--t-fast) var(--ease),box-shadow var(--t-fast),background var(--t-fast),border-color var(--t-fast),color var(--t-fast);
}
.btn:active{transform:scale(.975)}
.btn.primary{
  color:#fff;
  background:linear-gradient(100deg,var(--coral),var(--coral-2) 55%,var(--violet));
  box-shadow:0 14px 32px -16px rgba(255,107,91,.9),var(--inset-hi);
}
.btn.primary::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.35),transparent 80%);
  transform:translateX(-120%);transition:transform .7s var(--ease-out);
}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 20px 42px -18px rgba(255,107,91,1),var(--inset-hi)}
.btn.primary:hover::after{transform:translateX(120%)}
.btn.ghost{
  border-color:var(--line-2);color:var(--fg-2);background:rgba(255,255,255,.035);
  box-shadow:var(--inset-hi);
}
.btn.ghost:hover{color:var(--fg);border-color:var(--line-3);background:rgba(255,255,255,.07);transform:translateY(-1px)}
.btn.sm{padding:8px 14px;font-size:12.5px;border-radius:10px}
.wiz-actions .btn.primary{flex:1}

/* ───────── 区块标题 ───────── */
.sec-head{margin-bottom:22px;max-width:660px}
.eyebrow{font-size:10.5px;letter-spacing:.26em;font-weight:700;color:var(--coral);margin-bottom:10px}
.sec-head h2{font-size:clamp(23px,4.6vw,34px);font-weight:800;letter-spacing:-.03em}
.sec-head p{margin-top:10px;color:var(--fg-2);font-size:13.5px;line-height:1.7}

/* ───────── 结果 ───────── */
.res-bar{
  display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;
  padding:8px;border-radius:16px;
  background:rgba(255,255,255,.04);border:1px solid var(--line);
  box-shadow:var(--inset-hi);
  position:sticky;top:calc(var(--nav-h) + 8px);z-index:50;
  backdrop-filter:blur(20px) saturate(170%);
  -webkit-backdrop-filter:blur(20px) saturate(170%);
}

.hero-track{
  position:relative;overflow:hidden;
  border-radius:var(--r-xl);padding:clamp(22px,4.4vw,34px);
  border:1px solid rgba(255,107,91,.28);
  background:
    radial-gradient(120% 120% at 0% 0%,rgba(255,107,91,.20),transparent 55%),
    radial-gradient(100% 120% at 100% 100%,rgba(139,123,255,.20),transparent 58%),
    var(--glass-1);
  box-shadow:var(--sh-l),var(--inset-hi);
  backdrop-filter:blur(var(--blur)) saturate(180%);
  -webkit-backdrop-filter:blur(var(--blur)) saturate(180%);
  margin-bottom:14px;
}
.hero-track::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.07) 50%,transparent 65%);
  transform:translateX(-70%);animation:sweep 7s var(--ease-out) infinite;
}
@keyframes sweep{0%,55%{transform:translateX(-70%)}100%{transform:translateX(70%)}}
.ht-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;position:relative;z-index:1}
.ht-label{font-size:10.5px;letter-spacing:.22em;font-weight:700;color:var(--coral)}
.ht-name{display:flex;align-items:center;gap:13px;margin-top:10px;flex-wrap:wrap}
.ht-name .em{font-size:clamp(30px,7vw,42px);line-height:1;flex-shrink:0}
.ht-name b{font-size:clamp(27px,6.4vw,42px);font-weight:800;letter-spacing:-.035em}
.ht-tag{font-size:12px;color:var(--fg-2);margin-top:6px}
.ht-score{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}
.ht-score b{
  font-size:clamp(38px,9vw,58px);font-weight:800;letter-spacing:-.05em;line-height:.9;
  font-variant-numeric:tabular-nums;
  background:linear-gradient(160deg,var(--coral),var(--violet-2));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.ht-score span{font-size:10.5px;letter-spacing:.14em;color:var(--fg-3);margin-top:6px;font-weight:600}
.ht-desc{margin-top:16px;font-size:13.5px;line-height:1.75;color:var(--fg-2);max-width:640px;position:relative;z-index:1}

.aux-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.aux{
  display:flex;align-items:center;gap:13px;padding:16px 18px;border-radius:var(--r-m);
  background:var(--glass-1);border:1px solid var(--line);
  box-shadow:var(--sh-s),var(--inset-hi);
  transition:transform var(--t-fast) var(--ease),border-color var(--t-fast),box-shadow var(--t-fast);
}
.aux:hover{transform:translateY(-2px);border-color:var(--line-2);box-shadow:var(--sh-m),var(--inset-hi)}
.aux .em{font-size:22px;flex-shrink:0}
.aux .nm{font-size:14px;font-weight:700}
.aux .sb{font-size:11px;color:var(--fg-3);margin-top:2px}
.aux .sc{margin-left:auto;font-size:19px;font-weight:800;color:var(--violet-2);font-variant-numeric:tabular-nums}

.block{padding:clamp(20px,3.6vw,28px);margin-bottom:14px}
.block-h{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.block-h .idx{
  font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--coral);
  background:rgba(255,107,91,.12);border:1px solid rgba(255,107,91,.2);
  padding:4px 9px;border-radius:7px;
}
.block-h h3{font-size:16px;font-weight:700}
.block-h .sub{font-size:11px;color:var(--fg-3);margin-left:auto}

.score-row{padding:12px 0;border-bottom:1px solid var(--line)}
.score-row:last-child{border-bottom:none}
.score-top{display:flex;align-items:center;gap:9px;margin-bottom:8px;font-size:13.5px}
.score-top .nm{font-weight:600}
.score-top .pc{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:700;color:var(--fg-2);font-size:13px}
.bar{height:5px;border-radius:var(--r-full);background:rgba(255,255,255,.07);overflow:hidden}
.bar i{
  display:block;height:100%;border-radius:var(--r-full);width:0;
  background:linear-gradient(90deg,var(--coral),var(--violet));
  box-shadow:0 0 12px rgba(255,107,91,.5);
  transition:width 1s var(--ease-out);
}
.score-why{font-size:11.5px;color:var(--fg-3);margin-top:7px;line-height:1.55}

.persona{
  border-radius:var(--r-m);padding:20px;
  background:linear-gradient(150deg,rgba(139,123,255,.14),rgba(139,123,255,.02) 62%);
  border:1px solid rgba(139,123,255,.24);
  box-shadow:var(--inset-hi);
}
.persona h4{font-size:19px;font-weight:800;letter-spacing:-.025em}
.persona .tagline{font-size:13px;color:var(--fg-2);margin-top:7px;line-height:1.65}
.kv{display:grid;gap:11px;margin-top:18px}
.kv-row{display:grid;grid-template-columns:76px 1fr;gap:14px;font-size:13px;align-items:start}
.kv-row dt{color:var(--fg-3);font-size:11.5px;padding-top:2px;letter-spacing:.03em;font-weight:600}
.kv-row dd{margin:0;color:var(--fg-2);line-height:1.68}
.kv-row dd b{color:var(--fg);font-weight:600}

.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px}
table{width:100%;border-collapse:collapse;font-size:13px;min-width:520px}
th{
  text-align:left;font-size:10.5px;letter-spacing:.1em;color:var(--fg-3);
  font-weight:700;padding:9px 11px;border-bottom:1px solid var(--line-2);white-space:nowrap;
}
td{padding:12px 11px;border-bottom:1px solid var(--line);color:var(--fg-2);vertical-align:top}
td:first-child{color:var(--fg);font-weight:600;white-space:nowrap}
tr:last-child td{border-bottom:none}
tbody tr{transition:background var(--t-fast)}
tbody tr:hover{background:rgba(255,255,255,.025)}

.tl{display:grid;gap:0;position:relative;padding-left:22px}
.tl::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:linear-gradient(to bottom,var(--coral),var(--violet),transparent)}
.tl-item{position:relative;padding-bottom:18px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{
  content:"";position:absolute;left:-21px;top:6px;width:9px;height:9px;border-radius:50%;
  background:var(--ink);border:2px solid var(--coral);box-shadow:0 0 0 4px rgba(255,107,91,.1);
}
.tl-t{font-size:11px;font-weight:700;color:var(--coral);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.tl-h{font-size:13.5px;font-weight:600;margin-top:2px}
.tl-d{font-size:12.5px;color:var(--fg-3);line-height:1.65;margin-top:3px}

ul.plain{list-style:none;padding:0;margin:0;display:grid;gap:10px}
ul.plain li{position:relative;padding-left:18px;font-size:13px;color:var(--fg-2);line-height:1.7}
ul.plain li::before{content:"";position:absolute;left:3px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--violet)}
ul.plain.mint li::before{background:var(--mint)}
ul.plain.warn li::before{background:var(--coral)}
ul.plain li b{color:var(--fg);font-weight:600}

.script-grid{display:grid;gap:12px}
.script{
  border-radius:var(--r-s);border:1px solid var(--line);
  background:rgba(255,255,255,.025);overflow:hidden;
  transition:border-color var(--t-fast),box-shadow var(--t-fast);
}
.script:hover{border-color:var(--line-2);box-shadow:var(--sh-s)}
.script-h{
  display:flex;align-items:center;gap:8px;padding:11px 15px;
  font-size:11.5px;font-weight:700;letter-spacing:.05em;color:var(--fg-2);
  border-bottom:1px solid var(--line);
}
.script-h .cp{
  margin-left:auto;font-size:11px;font-weight:600;color:var(--fg-3);
  padding:3px 9px;border-radius:7px;border:1px solid var(--line);transition:all var(--t-fast);
}
.script-h .cp:hover{color:var(--coral);border-color:rgba(255,107,91,.5);background:rgba(255,107,91,.08)}
.script ul{padding:13px 15px;margin:0;list-style:none;display:grid;gap:9px}
.script li{font-size:12.8px;color:var(--fg-2);line-height:1.66;padding-left:14px;position:relative}
.script li::before{content:"“";position:absolute;left:0;top:-2px;color:var(--coral);font-weight:700;font-size:15px}

.risk{display:grid;gap:10px}
.risk-item{
  display:flex;gap:12px;padding:14px 16px;border-radius:var(--r-s);
  background:rgba(255,107,91,.07);border:1px solid rgba(255,107,91,.18);
}
.risk-item .ico{color:var(--coral);font-weight:800;flex-shrink:0;line-height:1.5}
.risk-item .tx{font-size:12.8px;color:var(--fg-2);line-height:1.66}
.risk-item .tx b{color:var(--fg)}

.pot{display:grid;gap:14px}
.pot-row{display:grid;grid-template-columns:96px 1fr 42px;gap:12px;align-items:center}
.pot-row .lb{font-size:12.5px;color:var(--fg-2);font-weight:600}
.pot-row .vl{font-size:13px;font-weight:700;color:var(--fg);text-align:right;font-variant-numeric:tabular-nums}

.md-out{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:11.5px;line-height:1.85;color:var(--fg-2);
  background:rgba(0,0,0,.32);border:1px solid var(--line);border-radius:var(--r-s);
  padding:18px;white-space:pre-wrap;word-break:break-word;
  max-height:420px;overflow:auto;margin:0;
}
[data-theme="light"] .md-out{background:#fbfaf7}

.seg{
  display:inline-flex;gap:3px;padding:4px;margin-bottom:20px;
  border-radius:var(--r-full);background:rgba(255,255,255,.045);
  border:1px solid var(--line);box-shadow:var(--inset-hi);
}
[data-theme="light"] .seg{background:rgba(12,15,22,.04)}
.seg-item{
  padding:8px 16px;border-radius:var(--r-full);font-size:12.5px;font-weight:600;
  color:var(--fg-2);transition:all var(--t-fast) var(--ease);white-space:nowrap;
}
.seg-item:hover{color:var(--fg)}
.seg-item.is-on{background:var(--fg);color:var(--ink);box-shadow:var(--sh-s)}

/* 方案卡 */
.plan-list{display:grid;gap:12px}
.plan{
  border-radius:var(--r-m);border:1px solid var(--line);
  background:var(--glass-1);box-shadow:var(--sh-s),var(--inset-hi);
  overflow:hidden;
  transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast) var(--ease);
}
.plan:hover{border-color:var(--line-2);box-shadow:var(--sh-m),var(--inset-hi);transform:translateY(-2px)}
.plan.open{transform:none}
.plan-head{display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;user-select:none}
.plan-ico{
  width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:20px;flex-shrink:0;
  background:rgba(255,255,255,.06);border:1px solid var(--line);box-shadow:var(--inset-hi);
  transition:transform var(--t-fast) var(--ease);
}
.plan:hover .plan-ico{transform:rotate(-6deg) scale(1.05)}
.plan-meta{flex:1;min-width:0}
.plan-meta .nm{font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sex{font-size:9.5px;padding:2px 7px;border-radius:5px;font-weight:800;letter-spacing:.06em}
.sex.f{background:rgba(255,107,91,.14);color:var(--coral)}
.sex.m{background:rgba(139,123,255,.14);color:var(--violet-2)}
.sex.t{background:rgba(56,214,168,.14);color:var(--mint)}
.plan-meta .sb{font-size:11.5px;color:var(--fg-3);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-caret{color:var(--fg-3);font-size:10px;flex-shrink:0;transition:transform var(--t-mid) var(--ease)}
.plan.open .plan-caret{transform:rotate(180deg);color:var(--coral)}
.plan-body{display:none;padding:0 18px 22px;border-top:1px solid var(--line)}
.plan.open .plan-body{display:block;animation:bodyIn .34s var(--ease-out)}
@keyframes bodyIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.plan-body h5{font-size:10.5px;letter-spacing:.12em;color:var(--coral);font-weight:800;margin:20px 0 10px}
.plan-body h5:first-child{margin-top:18px}
.plan-body p{font-size:13px;color:var(--fg-2);line-height:1.72}

/* 知识库 */
.kb-toolbar{margin-bottom:14px}
.kb-toolbar input{max-width:420px}
.kb-cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.kb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.kb-card{
  display:flex;flex-direction:column;gap:9px;
  padding:18px;border-radius:var(--r-m);
  background:var(--glass-1);border:1px solid var(--line);
  box-shadow:var(--sh-s),var(--inset-hi);
  transition:transform var(--t-fast) var(--ease),border-color var(--t-fast),box-shadow var(--t-fast);
}
.kb-card:hover{transform:translateY(-3px);border-color:rgba(255,107,91,.4);box-shadow:var(--sh-m),var(--inset-hi)}
.kb-cat{font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--coral)}
.kb-title{font-size:14px;font-weight:700;line-height:1.45}
.kb-note{font-size:11.5px;color:var(--fg-3);line-height:1.6}
.kb-go{margin-top:auto;font-size:11.5px;font-weight:600;color:var(--fg-2);display:flex;align-items:center;gap:5px}
.kb-card:hover .kb-go{color:var(--coral)}

/* 档案 */
.profile-list{display:grid;gap:10px}
.p-item{
  display:flex;align-items:center;gap:14px;padding:15px 18px;
  border-radius:var(--r-m);border:1px solid var(--line);
  background:var(--glass-1);box-shadow:var(--sh-s),var(--inset-hi);
  transition:transform var(--t-fast) var(--ease),border-color var(--t-fast);
}
.p-item:hover{transform:translateY(-2px);border-color:var(--line-2)}
.p-av{
  width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  font-size:15px;font-weight:800;flex-shrink:0;color:#fff;
  background:linear-gradient(140deg,var(--coral),var(--violet));
  box-shadow:0 8px 20px -10px rgba(255,107,91,.9);
}
.p-info{flex:1;min-width:0}
.p-info .nm{font-size:14px;font-weight:700}
.p-info .sb{font-size:11.5px;color:var(--fg-3);margin-top:3px}
.p-acts{display:flex;gap:6px;flex-shrink:0}
.mini{
  padding:6px 12px;border-radius:9px;font-size:11.5px;font-weight:600;
  border:1px solid var(--line);color:var(--fg-2);transition:all var(--t-fast);
}
.mini:hover{color:var(--coral);border-color:rgba(255,107,91,.5);background:rgba(255,107,91,.08)}
.empty{
  text-align:center;padding:56px 22px;color:var(--fg-3);font-size:13px;
  border:1px dashed var(--line-2);border-radius:var(--r-m);
}

/* 页脚 / Toast */
.foot{
  position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;
  padding:26px clamp(16px,4vw,34px) 46px;
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  font-size:11px;letter-spacing:.05em;color:var(--fg-3);
  border-top:1px solid var(--line);
}
.toast{
  position:fixed;left:50%;bottom:36px;transform:translate(-50%,24px) scale(.96);
  padding:12px 22px;border-radius:var(--r-full);
  background:var(--fg);color:var(--ink);
  font-size:13px;font-weight:650;opacity:0;pointer-events:none;
  transition:all .32s var(--ease-out);z-index:200;max-width:88vw;text-align:center;
  box-shadow:0 20px 44px -18px rgba(0,0,0,.7);
}
.toast.on{opacity:1;transform:translate(-50%,0) scale(1)}

.hidden{display:none !important}

/* 桌面 hero 两栏 */
@media(min-width:861px){
  .hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:34px;align-items:center}
  .hero-inner{grid-column:1;grid-row:1;max-width:none}
  .orb{
    grid-column:2;grid-row:1;
    position:relative;right:auto;top:auto;
    width:360px;height:360px;justify-self:end;
    opacity:0;animation:orbIn 1.6s var(--ease-out) .1s forwards;
  }
  #form{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
  #form .field.wide{grid-column:1 / -1}
}

/* 响应式 */
@media(max-width:860px){
  .orb{width:min(440px,86vw);height:min(440px,86vw);right:-22%;top:-2%;opacity:.7}
  .aux-row{grid-template-columns:1fr}
}
@media(max-width:720px){
  :root{--nav-h:104px}
  .nav{flex-wrap:wrap;padding:10px 16px 8px;height:auto;gap:8px}
  .brand{order:1}
  .icon-btn{order:2;margin-left:auto}
  .nav-pill{order:3;width:100%;margin-left:0;justify-content:space-between}
  .tab{flex:1;text-align:center;padding:8px 4px}
  .brand-txt em{display:none}
  .hero{padding-top:18px}
  .hero-inner{max-width:100%}
  .orb{width:min(360px,110vw);height:min(360px,110vw);right:-40%;top:-60px;opacity:.55}
  .res-bar{top:auto;position:static;display:grid;grid-template-columns:1fr 1fr}
  .res-bar .btn{width:100%;flex:none;justify-content:center;padding:11px 8px;font-size:13px}
  .kv-row{grid-template-columns:1fr;gap:3px}
  .pot-row{grid-template-columns:84px 1fr 38px;gap:8px}
  .kb-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  table{min-width:0;font-size:12px}
  th,td{padding:9px 7px}
  td:first-child{white-space:normal}
  th{font-size:9.5px;letter-spacing:.03em}
  .stat-row{gap:16px}
  .plan-head{padding:14px}
  .plan-body{padding:0 14px 18px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  [data-reveal]{opacity:1;transform:none}
}
@media print{
  .nav,.foot,.toast,.res-bar,.grain,.dust,.orb{display:none !important}
  body{background:#fff;color:#000}
  .card,.glass{box-shadow:none;border-color:#ddd;backdrop-filter:none}
}

/* 答疑列表 */
.faq-list{display:grid;gap:10px}
.faq-item{
  border:1px solid var(--line);background:var(--glass-1);
  border-radius:var(--r-m);padding:16px 18px;
  box-shadow:var(--sh-s),var(--inset-hi);
  transition:transform var(--t-fast) var(--ease),border-color var(--t-fast),box-shadow var(--t-fast);
}
.faq-item:hover{transform:translateY(-2px);border-color:var(--line-2);box-shadow:var(--sh-m),var(--inset-hi)}
.faq-q{display:flex;gap:10px;align-items:flex-start;font-size:14px;font-weight:700;line-height:1.55}
.faq-badge{
  font-size:9.5px;font-weight:800;letter-spacing:.06em;color:var(--coral);
  background:rgba(255,107,91,.12);border:1px solid rgba(255,107,91,.22);
  padding:2px 7px;border-radius:5px;white-space:nowrap;flex-shrink:0;margin-top:2px;
}
.faq-a{margin-top:10px;font-size:12.8px;color:var(--fg-2);line-height:1.78}
.faq-meta{margin-top:12px;display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--fg-3)}
.faq-meta a{color:var(--violet-2);font-weight:600}
.faq-meta a:hover{color:var(--coral)}

/* ══════════ 个播体系 ══════════ */

/* 三格说明卡 */
.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.mini{
  padding:16px 18px;border-radius:var(--r-m);
  background:var(--glass-1);border:1px solid var(--line);
  box-shadow:var(--sh-s),var(--inset-hi);
}
.mini-top{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.mini-top b{font-size:14px;font-weight:700;letter-spacing:-.01em}
.mini-top span{
  font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--coral);
  background:rgba(255,107,91,.12);border:1px solid rgba(255,107,91,.22);
  padding:2px 7px;border-radius:5px;
}
.mini-d{font-size:12.4px;line-height:1.72;color:var(--fg-2)}

/* 铁律 */
.law-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 26px}
.law{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.law-n{
  font-size:10.5px;font-weight:800;color:var(--fg-3);letter-spacing:.05em;
  font-variant-numeric:tabular-nums;padding-top:2px;flex-shrink:0;
}
.law-t{font-size:13px;font-weight:700;line-height:1.5;margin-bottom:3px}
.law-d{font-size:12px;line-height:1.7;color:var(--fg-2)}

/* 阶段过关 */
.gate-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.gate{
  font-size:11.8px;line-height:1.7;color:var(--fg-2);
  background:rgba(56,214,168,.07);border:1px solid rgba(56,214,168,.2);
  border-radius:var(--r-s);padding:10px 13px;
}
.gate b{display:block;font-size:10px;letter-spacing:.1em;color:var(--mint);margin-bottom:4px;font-weight:800}
.gate.bad{background:rgba(255,107,91,.06);border-color:rgba(255,107,91,.2)}
.gate.bad b{color:var(--coral)}

/* 三步法 */
.step3-wrap{display:grid;gap:10px}
.step3{
  display:flex;gap:16px;padding:18px;
  border-radius:var(--r-m);border:1px solid var(--line);
  background:var(--glass-1);box-shadow:var(--sh-s),var(--inset-hi);
}
.step3-n{
  font-size:20px;font-weight:800;letter-spacing:-.03em;
  color:var(--coral);line-height:1;flex-shrink:0;
  font-variant-numeric:tabular-nums;padding-top:2px;
}
.step3-b{flex:1;min-width:0}
.step3-t{font-size:14px;font-weight:700;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.step3-d{font-size:12px;font-weight:500;color:var(--fg-2)}
.step3-eg{
  margin-top:9px;font-size:12.8px;line-height:1.7;color:var(--fg);
  padding:9px 12px;border-radius:var(--r-xs);
  background:rgba(139,123,255,.09);border-left:2px solid var(--violet);
}
.step3-why{margin-top:8px;font-size:11.8px;line-height:1.7;color:var(--fg-3)}

/* 场景对照 */
.scene-list{display:grid;gap:10px}
.scene{
  padding:15px 17px;border-radius:var(--r-m);
  border:1px solid var(--line);background:rgba(255,255,255,.018);
}
.scene-q{font-size:13px;font-weight:700;margin-bottom:10px;color:var(--fg)}
.scene-row{display:flex;gap:10px;font-size:12.5px;line-height:1.7;margin-bottom:6px}
.scene-k{
  flex-shrink:0;width:62px;font-size:10px;font-weight:800;letter-spacing:.06em;
  padding-top:4px;
}
.scene-row.bad .scene-k{color:var(--coral)}
.scene-row.bad span:last-child{color:var(--fg-2);opacity:.82;text-decoration:line-through;text-decoration-color:rgba(255,107,91,.55)}
.scene-row.good .scene-k{color:var(--mint)}
.scene-row.good span:last-child{color:var(--fg)}
.scene-why{
  margin-top:9px;padding-top:9px;border-top:1px dashed var(--line);
  font-size:11.5px;line-height:1.7;color:var(--fg-3);
}

/* 流程表内话术 */
.flow-s{
  margin-top:5px;font-size:11.5px;line-height:1.65;color:var(--fg-3);
  font-style:italic;
}

/* 案例卡 */
.case-score{
  font-size:12px;line-height:1.7;color:var(--mint);
  padding:10px 13px;border-radius:var(--r-s);margin-bottom:16px;
  background:rgba(56,214,168,.07);border:1px solid rgba(56,214,168,.18);
}
.case-meta{margin-top:14px;font-size:11px;color:var(--fg-3)}

@media(max-width:860px){
  .mini-grid{grid-template-columns:1fr}
  .law-grid{grid-template-columns:1fr}
  .gate-row{grid-template-columns:1fr}
}

/* 流程列表 */
.flow-list{display:grid;gap:0}
.flow-item{
  display:grid;grid-template-columns:74px 1fr;gap:16px;
  padding:14px 0;border-bottom:1px solid var(--line);
}
.flow-item:last-child{border-bottom:none}
.flow-t{
  font-size:12px;font-weight:800;letter-spacing:.02em;color:var(--coral);
  font-variant-numeric:tabular-nums;padding-top:1px;white-space:nowrap;
}
.flow-t.alt{color:var(--violet-2)}
.flow-b b{display:block;font-size:13px;font-weight:700;margin-bottom:4px}
.flow-b span{display:block;font-size:12.4px;line-height:1.72;color:var(--fg-2)}
.flow-b em{
  display:block;margin-top:7px;font-size:11.8px;line-height:1.7;color:var(--fg-3);
  font-style:normal;padding:7px 10px;border-radius:8px;
  background:rgba(255,255,255,.03);border-left:2px solid var(--line-3);
}

/* 诊断列表 */
.diag-list{display:grid;gap:8px}
.diag-row{
  display:grid;grid-template-columns:190px 1fr 1fr;gap:18px;
  padding:14px 16px;border-radius:var(--r-s);
  border:1px solid var(--line);background:rgba(255,255,255,.018);
  font-size:12.3px;line-height:1.72;color:var(--fg-2);
}
.diag-s{font-weight:700;color:var(--fg);font-size:12.6px}
.diag-c b,.diag-a b{
  display:block;font-size:9.5px;letter-spacing:.1em;font-weight:800;
  color:var(--fg-3);margin-bottom:3px;
}
.diag-a{color:var(--mint)}
.diag-a b{color:rgba(56,214,168,.65)}

@media(max-width:820px){
  .diag-row{grid-template-columns:1fr;gap:8px}
  .diag-c b,.diag-a b{display:inline;margin-right:7px;letter-spacing:.06em}
  .flow-item{grid-template-columns:60px 1fr;gap:12px}
}

/* 首页统计：窄屏两列，避免四位数挤压 */
@media(max-width:620px){
  .stat-row{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
  .orb{right:-44%;animation:none!important;opacity:.2!important}
  .hero-inner{text-shadow:0 1px 14px rgba(7,8,12,.55)}
}

/* 分段控件：内容超出时横向滚动，不裁切 */
.seg{max-width:100%;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.seg::-webkit-scrollbar{display:none}
.seg-item{flex:0 0 auto}

/* ══════════ 今天做什么 ══════════ */
.today-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;align-items:start}
.today-h{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--fg-3);margin-bottom:12px}
.today-task{
  display:flex;gap:14px;align-items:flex-start;
  padding:14px 16px;margin-bottom:9px;border-radius:var(--r-m);
  background:rgba(255,255,255,.028);border:1px solid var(--line);
  font-size:14px;line-height:1.65;
}
.today-n{
  flex-shrink:0;width:24px;height:24px;border-radius:50%;
  display:grid;place-items:center;font-size:12px;font-weight:800;
  background:linear-gradient(135deg,var(--coral),var(--violet));color:#fff;
  margin-top:1px;
}
.quote-box{
  position:relative;padding:18px;border-radius:var(--r-m);
  background:rgba(139,123,255,.09);border:1px solid rgba(139,123,255,.24);
  margin-bottom:12px;
}
.quote-k{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--violet-2);margin-bottom:9px}
.quote-t{font-size:14.5px;line-height:1.75;font-weight:600;padding-right:44px}
.quote-box .cp{
  position:absolute;right:12px;top:12px;
  font-size:10px;font-weight:700;padding:4px 9px;border-radius:6px;
  border:1px solid rgba(139,123,255,.35);color:var(--violet-2);
}
.watch-box{
  padding:16px 18px;border-radius:var(--r-m);
  background:rgba(56,214,168,.06);border:1px solid rgba(56,214,168,.2);
}
.watch-box .quote-k{color:var(--mint)}
.watch-t{font-size:13px;line-height:1.75;color:var(--fg-2)}
.today-lesson{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-top:20px;padding-top:18px;border-top:1px solid var(--line);
}
.today-lesson-k{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--fg-3)}
.lesson-chip{
  font-size:11.5px;font-weight:600;padding:6px 11px;border-radius:var(--r-full);
  border:1px solid var(--line-2);color:var(--fg-2);background:rgba(255,255,255,.03);
  transition:.16s;
}
.lesson-chip:hover{color:var(--fg);border-color:var(--coral);background:rgba(255,107,91,.1)}
.lesson-chip.sm{padding:3px 9px;font-size:10.5px}

/* ══════════ 认知课 ══════════ */
.mod-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:34px 0 6px}
.mod-head:first-child{margin-top:0}
.mod-n{
  font-size:9.5px;font-weight:800;letter-spacing:.1em;color:var(--coral);
  border:1px solid rgba(255,107,91,.3);background:rgba(255,107,91,.1);
  padding:3px 8px;border-radius:5px;
}
.mod-head h3{font-size:17px;font-weight:800;letter-spacing:-.02em}
.mod-when{font-size:11px;color:var(--fg-3);margin-left:auto}
.mod-why{font-size:12.5px;color:var(--fg-3);line-height:1.7;margin-bottom:12px}

.lesson{
  border-radius:var(--r-m);border:1px solid var(--line);
  background:var(--glass-1);box-shadow:var(--sh-s),var(--inset-hi);
  margin-bottom:8px;overflow:hidden;
  transition:border-color var(--t-fast);
}
.lesson.open{border-color:var(--line-2)}
.lesson-h{display:flex;gap:13px;align-items:center;padding:15px 17px;cursor:pointer}
.lesson-id{
  flex-shrink:0;font-size:10.5px;font-weight:800;letter-spacing:.04em;
  color:var(--fg-3);font-variant-numeric:tabular-nums;padding-top:1px;
}
.lesson-hb{flex:1;min-width:0}
.lesson-t{font-size:14px;font-weight:700;line-height:1.45}
.lesson-one{font-size:12px;color:var(--fg-2);line-height:1.6;margin-top:3px}
.lesson-caret{font-size:9px;color:var(--fg-3);transition:transform var(--t-fast)}
.lesson.open .lesson-caret{transform:rotate(180deg);color:var(--coral)}
.lesson-body{display:none;padding:0 17px 18px 46px}
.lesson.open .lesson-body{display:block}
.lesson-sec{margin-bottom:14px}
.lesson-sec b{display:block;font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--fg-3);margin-bottom:7px}
.plain.sm li{font-size:12.6px;line-height:1.75}
.lesson-eg{
  font-size:12.6px;line-height:1.75;color:var(--fg);
  padding:11px 13px;border-radius:var(--r-s);margin-bottom:14px;
  background:rgba(139,123,255,.09);border-left:2px solid var(--violet);
}
.lesson-today{
  font-size:13px;line-height:1.7;padding:12px 14px;border-radius:var(--r-s);
  background:rgba(255,107,91,.08);border:1px solid rgba(255,107,91,.22);
  margin-bottom:8px;
}
.lesson-today b{display:block;font-size:10px;letter-spacing:.1em;color:var(--coral);margin-bottom:5px}
.lesson-wrong{
  font-size:12.3px;line-height:1.7;padding:10px 14px;border-radius:var(--r-s);
  background:rgba(255,255,255,.025);border:1px dashed var(--line-2);color:var(--fg-2);
}
.lesson-wrong b{display:block;font-size:10px;letter-spacing:.1em;color:var(--fg-3);margin-bottom:4px}

/* 课表 */
.map-row{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.map-row:last-child{border-bottom:none}
.map-d{font-size:12px;font-weight:800;color:var(--coral);padding-top:2px}
.map-t{font-size:14px;font-weight:700;margin-bottom:8px}
.map-ls{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.map-why{font-size:12px;line-height:1.7;color:var(--fg-3)}

/* 水位线 */
.warn-box{display:grid;gap:8px}
.warn-li{
  font-size:12.8px;line-height:1.75;color:var(--fg-2);
  padding:10px 14px;border-radius:var(--r-s);
  background:rgba(255,196,94,.06);border-left:2px solid var(--amber);
}
.bench-list{display:grid;gap:10px}
.bench{
  padding:15px 17px;border-radius:var(--r-m);
  border:1px solid var(--line);background:rgba(255,255,255,.02);
}
.bench-d{
  display:flex;align-items:baseline;gap:10px;font-size:13.5px;font-weight:800;
  margin-bottom:12px;
}
.bench-d i{
  font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.06em;
  color:var(--fg-3);border:1px solid var(--line);padding:2px 6px;border-radius:4px;
}
.bench-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 14px}
.bench-grid span{display:block;font-size:9.5px;letter-spacing:.06em;color:var(--fg-3);margin-bottom:3px}
.bench-grid b{font-size:12.8px;font-weight:700;font-variant-numeric:tabular-nums}

.metric-list{display:grid;gap:8px}
.metric{
  display:grid;grid-template-columns:88px 1.4fr 96px 104px 1.5fr;gap:12px;
  align-items:center;padding:12px 14px;border-radius:var(--r-s);
  border:1px solid var(--line);background:rgba(255,255,255,.018);
  font-size:11.8px;line-height:1.6;color:var(--fg-2);
}
.metric-k{font-weight:800;color:var(--fg);font-size:12.5px}
.metric-f{color:var(--fg-3)}
.metric-ok{color:var(--mint);font-weight:700}
.metric-bad{color:var(--coral);font-weight:700}
.metric-why{color:var(--fg-3)}

@media(max-width:860px){
  .today-grid{grid-template-columns:1fr}
  .bench-grid{grid-template-columns:1fr 1fr}
  .metric{grid-template-columns:1fr 1fr;gap:6px 12px}
  .metric-f,.metric-why{grid-column:1 / -1}
  .map-row{grid-template-columns:1fr;gap:6px}
  .lesson-body{padding-left:17px}
}

/* 阶段选择：换行排列，不横向滚动 */
.pick-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.pick{
  padding:9px 16px;border-radius:var(--r-full);
  font-size:12.5px;font-weight:600;color:var(--fg-2);
  background:rgba(255,255,255,.045);border:1px solid var(--line);
  transition:.16s;
}
.pick:hover{color:var(--fg);border-color:var(--line-2)}
.pick.is-on{background:var(--fg);color:var(--ink);border-color:transparent;box-shadow:var(--sh-s)}

/* ══════════ 打印卡 ══════════ */
.print-only{display:none}

@media print{
  @page{size:A4;margin:16mm}
  html,body{background:#fff!important;color:#000!important}
  body>*{display:none!important}
  body>#printArea{display:block!important}
  .p-sheet{
    font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
    color:#111;max-width:170mm;
  }
  .p-head{border-bottom:2px solid #111;padding-bottom:10px;margin-bottom:22px}
  .p-title{font-size:26pt;font-weight:800;letter-spacing:-.02em}
  .p-sub{font-size:10pt;color:#555;margin-top:5px;letter-spacing:.05em}
  .p-sec{margin-bottom:20px}
  .p-k{font-size:8.5pt;font-weight:800;letter-spacing:.14em;color:#888;margin-bottom:8px}
  .p-ol{margin:0;padding-left:20px}
  .p-ol li{font-size:13pt;line-height:1.85;margin-bottom:6px}
  .p-quote{
    font-size:15pt;font-weight:700;line-height:1.7;
    border-left:3px solid #111;padding:8px 0 8px 14px;
  }
  .p-line{font-size:11.5pt;line-height:1.8;color:#333}
  .p-foot{font-size:9.5pt;color:#666;margin-top:26px;border-top:1px dashed #bbb;padding-top:12px}
  .p-blank{height:70mm}
  .p-sign{font-size:8pt;color:#aaa;margin-top:18px;letter-spacing:.08em}
}

/* 向导提示 */
.wiz-hint{
  font-size:10.5px;color:var(--fg-3);letter-spacing:.04em;
  border:1px dashed var(--line-2);border-radius:var(--r-full);
  padding:2px 9px;margin-left:auto;margin-right:10px;
}

@media(max-width:430px){
  .wiz-hint{display:none}
}

/* 类型说明 */
.mode-note{
  margin-top:14px;padding:13px 15px;border-radius:var(--r-s);
  font-size:12.6px;line-height:1.75;color:var(--fg-2);
  background:rgba(255,255,255,.028);border:1px solid var(--line);
}
.mode-note b{
  display:inline-block;margin-right:8px;padding:2px 7px;border-radius:5px;
  font-size:10px;font-weight:800;letter-spacing:.04em;
  color:var(--violet-2);background:rgba(139,123,255,.14);border:1px solid rgba(139,123,255,.25);
}

/* ══════════ 考核工具 ══════════ */
.seg-wrap{margin-bottom:6px}
.assess-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}
.assess-f{
  display:flex;flex-direction:column;gap:5px;
  padding:11px 13px;border-radius:var(--r-s);
  border:1px solid var(--line);background:rgba(255,255,255,.025);
}
.assess-f span{font-size:11px;font-weight:700;color:var(--fg-2)}
.assess-f input{
  width:100%;background:transparent;border:none;outline:none;
  font-size:16px;font-weight:700;color:var(--fg);font-variant-numeric:tabular-nums;
  padding:2px 0;
}
.assess-f input::placeholder{font-size:13px;font-weight:500;color:var(--fg-3)}
.assess-f i{font-style:normal;font-size:9.5px;color:var(--fg-3);letter-spacing:.02em}
.assess-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.assess-tip{font-size:11px;color:var(--fg-3)}
.assess-empty{
  font-size:12.5px;color:var(--fg-3);padding:14px 16px;
  border:1px dashed var(--line-2);border-radius:var(--r-s);
}

.assess-res{
  padding:16px 18px;border-radius:var(--r-m);margin-bottom:14px;
  border:1px solid var(--line);
}
.assess-res.ok{background:rgba(56,214,168,.08);border-color:rgba(56,214,168,.28)}
.assess-res.warn{background:rgba(255,196,94,.08);border-color:rgba(255,196,94,.3)}
.assess-res.bad{background:rgba(255,107,91,.08);border-color:rgba(255,107,91,.3)}
.assess-res.top{background:rgba(139,123,255,.1);border-color:rgba(139,123,255,.3)}
.ares-h{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}
.ares-h span{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--fg-3)}
.ares-h b{font-size:19px;font-weight:800;letter-spacing:-.02em}
.assess-res.ok .ares-h b{color:var(--mint)}
.assess-res.warn .ares-h b{color:var(--amber)}
.assess-res.bad .ares-h b{color:var(--coral)}
.assess-res.top .ares-h b{color:var(--violet-2)}
.ares-n{font-size:12.5px;line-height:1.72;color:var(--fg-2)}

.arow-head,.arow{
  display:grid;grid-template-columns:1.1fr 80px 110px 70px;
  gap:10px;align-items:center;padding:11px 14px;border-radius:var(--r-s);
  font-size:12px;
}
.arow-head{font-size:9.5px;letter-spacing:.1em;color:var(--fg-3);font-weight:800;padding-bottom:4px}
.arow{border:1px solid var(--line);margin-bottom:6px;background:rgba(255,255,255,.018)}
.arow-k{font-weight:700;color:var(--fg)}
.arow-v{font-weight:800;font-variant-numeric:tabular-nums}
.arow-l{color:var(--fg-3);font-variant-numeric:tabular-nums;font-size:11px}
.arow-s{font-weight:800;font-size:11px;text-align:right}
.arow.low .arow-s{color:var(--coral)}
.arow.ok .arow-s{color:var(--mint)}
.arow.top .arow-s{color:var(--violet-2)}
.arow-a{grid-column:1 / -1;font-size:11px;line-height:1.6;color:var(--fg-2);padding-top:4px;opacity:.85}

.assess-rules{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:6px}
.assess-rule{font-size:11.8px;line-height:1.7;color:var(--fg-3)}
.assess-rule::before{content:"·";margin-right:7px;color:var(--coral);font-weight:800}

@media(max-width:860px){
  .assess-grid{grid-template-columns:1fr 1fr}
  .arow-head{display:none}
  .arow{grid-template-columns:1fr auto}
  .arow-l{grid-column:1;font-size:10.5px}
  .arow-s{grid-column:2;grid-row:1}
  .arow-v{grid-column:2;grid-row:1;justify-self:end;padding-right:56px}
}

/* ══════════ 工作台 ══════════ */
.hstat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.hstat{
  padding:16px 18px;border-radius:var(--r-m);
  background:var(--glass-1);border:1px solid var(--line);
  box-shadow:var(--sh-s),var(--inset-hi);
}
.hstat b{display:block;font-size:26px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1}
.hstat span{font-size:10.5px;letter-spacing:.08em;color:var(--fg-3);font-weight:600}
.hstat.warn b{color:var(--amber)}
.hstat.bad b{color:var(--coral)}

.host-tools{
  display:flex;gap:12px;align-items:center;flex-wrap:wrap;
  margin-bottom:18px;
}
.host-tools #hostSearch{
  flex:1;min-width:180px;max-width:320px;
  background:rgba(255,255,255,.045);border:1px solid var(--line);
  border-radius:var(--r-full);padding:9px 16px;font-size:13px;color:var(--fg);
}
.host-tools #hostSearch::placeholder{color:var(--fg-3)}
.host-acts{display:flex;gap:8px;flex-wrap:wrap}

.host-list{display:grid;gap:10px}
.hcard{
  display:flex;gap:14px;align-items:center;
  padding:16px 18px;border-radius:var(--r-m);
  background:var(--glass-1);border:1px solid var(--line);
  box-shadow:var(--sh-s),var(--inset-hi);
  cursor:pointer;transition:transform var(--t-fast) var(--ease),border-color var(--t-fast),box-shadow var(--t-fast);
}
.hcard:hover{transform:translateY(-2px);border-color:var(--line-2);box-shadow:var(--sh-m),var(--inset-hi)}
.hc-av{
  width:44px;height:44px;border-radius:13px;flex-shrink:0;
  display:grid;place-items:center;font-size:17px;font-weight:800;
  background:linear-gradient(140deg,rgba(255,107,91,.9),rgba(139,123,255,.9));
  color:#fff;box-shadow:0 8px 20px -12px var(--coral);
}
.hc-av.big{width:60px;height:60px;border-radius:18px;font-size:22px}
.hc-main{flex:1;min-width:0}
.hc-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.hc-top b{font-size:15px;letter-spacing:-.01em}
.tag{
  font-size:9.5px;font-weight:800;letter-spacing:.04em;
  padding:2px 7px;border-radius:5px;
  color:var(--fg-2);background:rgba(255,255,255,.06);border:1px solid var(--line);
}
.tag.stage{color:var(--violet-2);background:rgba(139,123,255,.12);border-color:rgba(139,123,255,.24)}
.hc-sub{font-size:11.5px;color:var(--fg-3);margin-bottom:7px}
.hc-nums{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--fg-3)}
.hc-nums b{color:var(--fg);font-variant-numeric:tabular-nums;font-size:12.5px}
.hc-nums .muted{color:var(--fg-3)}
.hc-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}
.hc-date{font-size:10.5px;color:var(--fg-3)}

.vbadge{
  font-size:10.5px;font-weight:800;letter-spacing:.04em;
  padding:4px 10px;border-radius:var(--r-full);white-space:nowrap;
}
.vbadge.ok{color:var(--mint);background:rgba(56,214,168,.12);border:1px solid rgba(56,214,168,.3)}
.vbadge.warn{color:var(--amber);background:rgba(255,196,94,.12);border:1px solid rgba(255,196,94,.3)}
.vbadge.bad{color:var(--coral);background:rgba(255,107,91,.12);border:1px solid rgba(255,107,91,.32)}
.vbadge.top{color:var(--violet-2);background:rgba(139,123,255,.14);border:1px solid rgba(139,123,255,.32)}
.vbadge.none,.vbadge.na{color:var(--fg-3);background:rgba(255,255,255,.05);border:1px solid var(--line)}

.empty.big{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:56px 24px;text-align:center;
}
.empty.big b{font-size:16px}
.empty.big span{font-size:12.5px;color:var(--fg-3);max-width:360px;line-height:1.7}

/* 单人详情 */
.back-link{
  font-size:12px;color:var(--fg-3);margin-bottom:16px;
  background:none;border:none;padding:0;
}
.back-link:hover{color:var(--coral)}
.hd-head{display:flex;gap:16px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
.hd-id{flex:1;min-width:180px}
.hd-id h3{font-size:20px;font-weight:800;letter-spacing:-.02em;margin-bottom:6px}
.hd-sub{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11.5px;color:var(--fg-3)}
.hd-acts{display:flex;gap:8px;flex-wrap:wrap}

.hd-ctrl{
  display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;
  padding:14px 16px;border-radius:var(--r-m);
  border:1px solid var(--line);background:rgba(255,255,255,.022);
  margin-bottom:16px;
}
.hd-ctrl label{display:flex;flex-direction:column;gap:5px;font-size:10px;letter-spacing:.08em;color:var(--fg-3);font-weight:700}
.hd-ctrl select,.hd-ctrl input{
  background:rgba(255,255,255,.05);border:1px solid var(--line);
  border-radius:9px;padding:7px 11px;font-size:12.5px;color:var(--fg);min-width:120px;
}
.txt-btn.danger{color:var(--coral);margin-left:auto;font-size:11.5px}

.hd-block{
  padding:20px;border-radius:var(--r-l);margin-bottom:14px;
  background:var(--glass-1);border:1px solid var(--line);
  box-shadow:var(--sh-s),var(--inset-hi);
}
.hd-today .today-task{font-size:13.5px}
.hd-watch{
  margin-top:10px;font-size:12.2px;line-height:1.7;color:var(--fg-2);
  padding:10px 13px;border-radius:var(--r-s);
  background:rgba(56,214,168,.06);border:1px solid rgba(56,214,168,.18);
}
.hd-watch b{color:var(--mint);font-size:10px;letter-spacing:.1em;margin-right:8px}
.hd-lessons{margin-top:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:10.5px;color:var(--fg-3)}

.verdict{
  padding:16px 18px;border-radius:var(--r-m);margin-bottom:18px;
  border:1px solid var(--line);
}
.verdict.ok{background:rgba(56,214,168,.07);border-color:rgba(56,214,168,.26)}
.verdict.warn{background:rgba(255,196,94,.07);border-color:rgba(255,196,94,.28)}
.verdict.bad{background:rgba(255,107,91,.07);border-color:rgba(255,107,91,.28)}
.verdict.top{background:rgba(139,123,255,.1);border-color:rgba(139,123,255,.3)}
.verdict.none,.verdict.na{background:rgba(255,255,255,.025)}
.v-top{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}
.v-top span{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--fg-3)}
.v-top b{font-size:19px;font-weight:800;letter-spacing:-.02em}
.verdict.ok .v-top b{color:var(--mint)}
.verdict.warn .v-top b{color:var(--amber)}
.verdict.bad .v-top b{color:var(--coral)}
.verdict.top .v-top b{color:var(--violet-2)}
.v-note{font-size:12.5px;line-height:1.72;color:var(--fg-2)}
.fix-list{margin-top:12px;display:grid;gap:6px}
.fix{
  font-size:11.8px;line-height:1.7;color:var(--fg-2);
  padding:8px 12px;border-radius:8px;background:rgba(255,255,255,.03);
}
.fix b{color:var(--coral);margin-right:8px;font-size:10.5px;letter-spacing:.04em}

.log-form{padding-top:4px}
.log-k{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--fg-3);margin-bottom:10px}
.log-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:10px}
.log-f{display:flex;flex-direction:column;gap:4px}
.log-f span{font-size:9.5px;color:var(--fg-3);letter-spacing:.02em}
.log-f input{
  width:100%;background:rgba(255,255,255,.04);border:1px solid var(--line);
  border-radius:8px;padding:8px 9px;font-size:13px;font-weight:700;color:var(--fg);
  font-variant-numeric:tabular-nums;
}
.log-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.log-note{
  flex:1;min-width:200px;background:rgba(255,255,255,.04);border:1px solid var(--line);
  border-radius:9px;padding:9px 13px;font-size:12.5px;color:var(--fg);
}

.trend{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.trend-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.trend-h b{font-size:11px;letter-spacing:.06em;color:var(--fg-2)}
.trend-h span{font-size:10.5px;color:var(--fg-3)}
.spark{width:100%;height:56px;display:block}
.spark-empty{font-size:11.5px;color:var(--fg-3);padding:10px 0}

.tbl.sm table{font-size:11.5px}
.tbl.sm th,.tbl.sm td{padding:7px 9px}

.rev-form{display:grid;gap:8px;margin-bottom:16px}
.rev-form input{
  background:rgba(255,255,255,.04);border:1px solid var(--line);
  border-radius:9px;padding:10px 13px;font-size:12.5px;color:var(--fg);
}
.rev-form button{justify-self:start;margin-top:4px}
.rev-list{display:grid;gap:8px}
.rev{
  display:flex;gap:14px;padding:12px 14px;border-radius:var(--r-s);
  background:rgba(255,255,255,.022);border:1px solid var(--line);
}
.rev-d{font-size:10.5px;color:var(--fg-3);font-variant-numeric:tabular-nums;flex-shrink:0;padding-top:2px}
.rev-b{flex:1;display:grid;gap:4px;font-size:12px;line-height:1.65;color:var(--fg-2)}
.rev-b b{display:inline-block;width:64px;font-size:10px;letter-spacing:.06em;color:var(--fg-3)}

/* 工具卡 */
.card-note{font-size:12.5px;color:var(--fg-3);line-height:1.7;margin-bottom:16px}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.tcard{
  padding:18px;border-radius:var(--r-m);
  background:var(--glass-1);border:1px solid var(--line);
  box-shadow:var(--sh-s),var(--inset-hi);
}
.tc-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.tc-t{font-size:14.5px;font-weight:800;letter-spacing:-.01em}
.tc-s{font-size:11px;color:var(--fg-3);margin-top:3px}
.tc-list{margin:0;padding-left:18px}
.tc-list li{font-size:12.3px;line-height:1.8;color:var(--fg-2);margin-bottom:2px}
.tc-q{
  font-size:12.4px;line-height:1.7;color:var(--fg-2);
  padding:8px 0;border-bottom:1px dashed var(--line);
}
.tc-q:last-child{border-bottom:none}
.tc-q b{display:block;font-size:9.5px;letter-spacing:.08em;color:var(--coral);margin-bottom:3px}

@media(max-width:860px){
  .hstat-row{grid-template-columns:1fr 1fr}
  .log-grid{grid-template-columns:repeat(4,1fr)}
  .hd-ctrl{gap:10px}
  .hd-ctrl label{flex:1;min-width:120px}
  .hd-acts{width:100%}
}
@media(max-width:560px){
  .log-grid{grid-template-columns:1fr 1fr}
  .hcard{align-items:flex-start}
  .hc-nums{gap:10px}
  .host-acts{margin-left:0;width:100%}
}

/* 打印补充 */
@media print{
  .p-table{width:100%;border-collapse:collapse;font-size:10.5pt}
  .p-table th,.p-table td{border:1px solid #bbb;padding:6px 8px;text-align:left}
  .p-table th{background:#f2f2f2;font-size:9pt;letter-spacing:.06em}
  .p-blankcell{height:24px}
  .p-line-big{height:22mm;border-bottom:1px solid #bbb}
}

@media(max-width:560px){
  .hd-ctrl{flex-direction:column;align-items:stretch;gap:10px}
  .hd-ctrl label,.hd-ctrl select,.hd-ctrl input{width:100%;min-width:0}
  .hd-ctrl .txt-btn.danger{margin-left:0;align-self:flex-start}
  .hd-head{gap:12px}
  .hd-acts{width:100%}
  .rev{flex-direction:column;gap:6px}
  .rev-b b{width:auto;margin-right:6px}
}

/* 带教排期 */
.teach-list{display:grid;gap:2px}
.teach-row{display:grid;grid-template-columns:92px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.teach-row:last-child{border-bottom:none}
.teach-d{font-size:12px;font-weight:800;color:var(--coral);padding-top:2px}
.teach-t{font-size:13.5px;font-weight:700;margin-bottom:8px}
.teach-ls{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.techip{
  font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:var(--r-full);
  color:var(--violet-2);background:rgba(139,123,255,.1);border:1px solid rgba(139,123,255,.22);
}
.teach-line{font-size:11.8px;color:var(--fg-3);line-height:1.6}
@media(max-width:620px){
  .teach-row{grid-template-columns:1fr;gap:6px}
}

/* 批量录数据 */
.batch{
  padding:18px;border-radius:var(--r-l);margin-bottom:14px;
  background:var(--glass-1);border:1px solid var(--line);
  box-shadow:var(--sh-m),var(--inset-hi);
}
.batch-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.batch-h b{font-size:14px;display:block;margin-bottom:3px}
.batch-h span{font-size:11.5px;color:var(--fg-3)}
.batch-acts{display:flex;gap:8px}
.batch-scroll{overflow-x:auto;scrollbar-width:thin}
.batch-tbl{border-collapse:separate;border-spacing:0 6px;min-width:720px;width:100%}
.batch-tbl th{
  font-size:9.5px;letter-spacing:.06em;color:var(--fg-3);font-weight:800;
  text-align:left;padding:0 6px 4px;white-space:nowrap;
}
.batch-tbl td{padding:0 4px}
.batch-tbl .bn{font-size:12.5px;font-weight:700;white-space:nowrap;padding-right:10px}
.batch-tbl .bs{font-size:10.5px;color:var(--fg-3);white-space:nowrap}
.batch-tbl input{
  width:88px;background:rgba(255,255,255,.05);border:1px solid var(--line);
  border-radius:8px;padding:7px 9px;font-size:12.5px;font-weight:700;color:var(--fg);
  font-variant-numeric:tabular-nums;
}
.batch-tbl input:focus{border-color:var(--coral);outline:none}

/* 工作台工具栏改两行 */
.host-tools{display:block}
.ht-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.ht-row #hostSearch{flex:1;min-width:180px;max-width:340px}
.host-acts{display:flex;gap:8px;flex-wrap:wrap}

/* ══════════ 联系卡 ══════════ */
.contact-wrap{
  position:relative;z-index:2;max-width:var(--maxw);
  margin:22px auto 0;padding:0 clamp(16px,4vw,34px);
}
.contact-card{
  padding:24px 26px 20px;border-radius:22px;max-width:520px;
  background:var(--glass-1);
  border:1px solid var(--line);
  box-shadow:var(--sh-l),var(--inset-hi);
  backdrop-filter:blur(var(--blur)) saturate(160%);
  -webkit-backdrop-filter:blur(var(--blur)) saturate(160%);
}
.cc-k{font-size:12.5px;color:var(--fg-2);margin-bottom:12px;letter-spacing:.01em}
.cc-wx{
  display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;
  font-size:13px;color:var(--fg-2);margin-bottom:14px;
}
.cc-wx b{
  font-size:clamp(22px,3.4vw,28px);font-weight:800;letter-spacing:.01em;
  color:var(--fg);font-variant-numeric:tabular-nums;
}
.cc-p{font-size:12.5px;line-height:1.9;color:var(--fg-3)}
.cc-btn{
  width:100%;margin-top:18px;height:48px;border-radius:var(--r-full);
  background:linear-gradient(96deg,#8fe9c9 0%,#b6a9f2 52%,#cbb4f9 100%);
  color:#0a0c12;font-size:15px;font-weight:800;letter-spacing:.02em;
  display:flex;align-items:center;justify-content:center;gap:10px;
  box-shadow:0 18px 42px -24px rgba(150,220,220,.62);
  transition:transform var(--t-fast) var(--ease),box-shadow var(--t-fast);
}
.cc-btn:hover{transform:translateY(-2px);box-shadow:0 24px 52px -26px rgba(150,220,220,.72)}
.cc-btn:active{transform:translateY(0)}
.cc-emoji{font-size:15px;line-height:1}
.cc-sign{
  margin-top:18px;text-align:right;
  font-size:10.5px;letter-spacing:.08em;color:var(--fg-3);opacity:.8;
}
.foot-brand b{color:var(--fg-2);font-weight:700}
[data-theme="light"] .cc-btn{box-shadow:0 16px 34px -20px rgba(90,150,150,.45)}

@media(max-width:560px){
  .contact-card{padding:20px 18px 16px;border-radius:20px;max-width:none}
  .cc-btn{height:46px;font-size:14.5px;margin-top:14px}
  .cc-p{font-size:12px}
  .cc-wx b{font-size:22px}
}

/* ══════════ 看人（消费者心理） ══════════ */
.user-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ucard{
  padding:16px;border-radius:var(--r-m);border:1px solid var(--line);
  background:rgba(255,255,255,.025);
}
.uc-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.uc-top b{font-size:15px}
.uc-top span{font-size:10px;color:var(--fg-3);letter-spacing:.04em}
.uc-pay{font-size:11px;color:var(--coral);font-weight:700;margin-bottom:12px}
.uc-row{font-size:11.8px;line-height:1.7;color:var(--fg-2);margin-bottom:4px}
.uc-row i{display:inline-block;width:44px;font-style:normal;font-size:10px;color:var(--fg-3);letter-spacing:.04em}
.uc-risk{
  margin-top:10px;padding-top:9px;border-top:1px dashed var(--line);
  font-size:11px;line-height:1.65;color:var(--fg-3);
}
.uc-risk::before{content:"⚠ ";color:var(--amber)}

.sig-list{display:grid;gap:2px}
.sig{
  display:grid;grid-template-columns:180px 1fr 1.1fr;gap:14px;
  padding:13px 0;border-bottom:1px solid var(--line);align-items:start;
}
.sig:last-child{border-bottom:none}
.sig-s{font-size:12.5px;font-weight:700;color:var(--fg)}
.sig-i{font-size:12px;line-height:1.7;color:var(--fg-2)}
.sig-a{font-size:12px;line-height:1.7;color:var(--mint)}
.sig-a::before{content:"→ ";opacity:.6}

.emo-list{display:grid;gap:10px}
.emo{
  display:flex;gap:16px;padding:16px;border-radius:var(--r-m);
  border:1px solid var(--line);background:var(--glass-1);
}
.emo-n{font-size:18px;font-weight:800;color:var(--coral);line-height:1;flex-shrink:0;padding-top:2px}
.emo-b{flex:1;min-width:0}
.emo-t{font-size:14px;font-weight:700;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.emo-t span{font-size:12px;font-weight:500;color:var(--fg-2)}
.emo-eg{
  margin-top:8px;font-size:12.6px;line-height:1.7;color:var(--fg);
  padding:8px 12px;border-radius:8px;background:rgba(139,123,255,.09);
  border-left:2px solid var(--violet);
}
.emo-wrong{margin-top:7px;font-size:11.5px;color:var(--fg-3)}

.ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.lad{padding:15px;border-radius:var(--r-m);border:1px solid var(--line);background:rgba(255,255,255,.02)}
.lad-p{font-size:14px;font-weight:800;color:var(--coral);margin-bottom:4px}
.lad-buy{font-size:11px;color:var(--fg);margin-bottom:8px}
.lad-need{font-size:11.5px;line-height:1.65;color:var(--fg-2);margin-bottom:8px}
.lad-act{font-size:11px;line-height:1.65;color:var(--fg-3);padding-top:8px;border-top:1px dashed var(--line)}

/* ══════════ 看图判断 ══════════ */
.vt{
  padding:22px;border-radius:var(--r-l);
  background:var(--glass-1);border:1px solid var(--line);
  box-shadow:var(--sh-m),var(--inset-hi);
  backdrop-filter:blur(var(--blur)) saturate(160%);
  -webkit-backdrop-filter:blur(var(--blur)) saturate(160%);
}
.vt-head{margin-bottom:18px}
.vt-eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--coral);margin-bottom:7px}
.vt-head h3{font-size:19px;font-weight:800;letter-spacing:-.02em;margin-bottom:6px}
.vt-head p{font-size:12.4px;line-height:1.75;color:var(--fg-3);max-width:640px}

.vt-body{display:grid;grid-template-columns:320px 1fr;gap:18px;align-items:start}
.vt-drop{
  display:block;border:1px dashed var(--line-2);border-radius:var(--r-m);
  padding:26px 16px;text-align:center;cursor:pointer;
  background:rgba(255,255,255,.02);transition:.18s;
}
.vt-drop:hover{border-color:var(--coral);background:rgba(255,107,91,.05)}
.vt-drop-in b{display:block;font-size:13.5px;margin-bottom:4px}
.vt-drop-in span{font-size:11px;color:var(--fg-3)}
.vt-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}
.vt-thumb{width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px;border:1px solid var(--line)}
.vt-color{margin-top:12px}
.vt-loading{font-size:11.5px;color:var(--fg-3)}
.vt-color-h{font-size:9.5px;letter-spacing:.1em;color:var(--fg-3);font-weight:800;margin-bottom:7px}
.vt-swatches{display:flex;gap:5px;margin-bottom:8px}
.vt-swatches i{width:26px;height:26px;border-radius:7px;border:1px solid rgba(255,255,255,.16)}
.vt-kv{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:var(--fg-3)}
.vt-kv b{color:var(--fg);font-size:12px}
.vt-color-tip{margin-top:8px;font-size:10.5px;line-height:1.6;color:var(--fg-3);opacity:.85}

.vt-fields{display:grid;gap:11px;margin-bottom:14px}
.vt-field>span{display:block;font-size:10px;letter-spacing:.1em;color:var(--fg-3);font-weight:800;margin-bottom:6px}
.vt-field i{display:block;margin-top:5px;font-style:normal;font-size:10px;color:var(--fg-3)}
.vt-opts{display:flex;gap:6px;flex-wrap:wrap}
.vt-opt{
  padding:6px 12px;border-radius:var(--r-full);font-size:12px;
  border:1px solid var(--line);color:var(--fg-2);background:rgba(255,255,255,.03);
  transition:.16s;
}
.vt-opt:hover{border-color:var(--line-2);color:var(--fg)}
.vt-opt.is-on{background:var(--fg);color:var(--ink);border-color:transparent}
.vt-tip{font-size:10.5px;color:var(--fg-3);margin-top:8px}

.vt-res{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.vt-res-h{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.vt-res-k{font-size:10px;letter-spacing:.12em;color:var(--fg-3);font-weight:800;margin-bottom:6px}
.vt-res-t{font-size:24px;font-weight:800;letter-spacing:-.02em;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.vt-res-t span{font-size:12px;font-weight:600;color:var(--mint)}
.vt-res-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.vt-res-tags em,.vt-alt-tags em{
  font-style:normal;font-size:10px;padding:2px 8px;border-radius:var(--r-full);
  color:var(--violet-2);background:rgba(139,123,255,.12);border:1px solid rgba(139,123,255,.24);
}
.vt-res-acts{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start}
.vt-why{font-size:11.5px;line-height:1.7;color:var(--fg-3);margin-bottom:16px}

.vt-cards{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;align-items:start}
.vt-detail{padding:16px;border-radius:var(--r-m);border:1px solid var(--line);background:rgba(255,255,255,.02)}
.vt-sec{font-size:12.5px;line-height:1.75;color:var(--fg-2);padding:8px 0;border-bottom:1px dashed var(--line)}
.vt-sec:last-child{border-bottom:none}
.vt-sec b{display:inline-block;width:64px;font-size:10px;letter-spacing:.08em;color:var(--fg-3);font-weight:800;vertical-align:top;padding-top:3px}
.vt-quote{color:var(--fg);font-weight:600}
.vt-ref{color:var(--fg-3);font-size:11px}

.vt-side{display:grid;gap:12px}
.vt-colorcard{padding:14px;border-radius:var(--r-m);border:1px solid rgba(56,214,168,.2);background:rgba(56,214,168,.05)}
.vt-colorcard.muted{border-color:var(--line);background:rgba(255,255,255,.02)}
.vt-sec-t{font-size:10px;letter-spacing:.1em;color:var(--fg-3);font-weight:800;margin-bottom:9px}
.vt-cc-row{font-size:11.6px;line-height:1.7;color:var(--fg-2);margin-bottom:6px}
.vt-cc-row i{display:inline-block;width:38px;font-style:normal;font-size:10px;color:var(--fg-3)}
.vt-alts{padding:14px;border-radius:var(--r-m);border:1px solid var(--line);background:rgba(255,255,255,.02)}
.vt-alt{margin-bottom:12px}
.vt-alt:last-child{margin-bottom:0}
.vt-alt-top{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:5px}
.vt-alt-top span{color:var(--fg-3);font-size:11px}
.vt-alt-bar{height:4px;border-radius:2px;background:rgba(255,255,255,.07);overflow:hidden;margin-bottom:6px}
.vt-alt-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--coral),var(--violet))}

@media(max-width:980px){
  .user-grid{grid-template-columns:1fr 1fr}
  .ladder{grid-template-columns:1fr 1fr}
  .vt-body{grid-template-columns:1fr}
  .vt-cards{grid-template-columns:1fr}
  .sig{grid-template-columns:1fr;gap:5px}
  .sig-a::before{content:""}
}
@media(max-width:560px){
  .user-grid,.ladder{grid-template-columns:1fr}
  .vt{padding:16px}
  .vt-res-t{font-size:20px}
  .vt-sec b{width:100%;margin-bottom:3px}
}

@media(min-width:980px){
  .vt-fields{grid-template-columns:1fr 1fr;gap:12px 22px}
}

/* ══════════ 上传即出结果 ══════════ */
.vt-meter{
  margin-top:10px;font-size:11.5px;line-height:1.6;color:var(--fg-3);
  padding:8px 11px;border-radius:var(--r-s);border:1px dashed var(--line);
}
.vt-meter.busy{color:var(--violet-2);border-color:rgba(139,123,255,.35);background:rgba(139,123,255,.06)}
.vt-meter.ok{color:var(--mint);border-color:rgba(56,214,168,.3);background:rgba(56,214,168,.05)}
.vt-meter.fail{color:var(--coral);border-color:rgba(255,107,91,.35);background:rgba(255,107,91,.06)}

.vt-shots{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.vt-shot{position:relative;border-radius:var(--r-s);overflow:hidden;border:1px solid var(--line);line-height:0}
.vt-shot canvas{display:block;border-radius:var(--r-s)}
.vt-shot em{
  position:absolute;left:6px;bottom:6px;font-style:normal;
  font-size:9.5px;font-weight:700;letter-spacing:.04em;
  padding:2px 6px;border-radius:4px;color:#0b0d13;
  background:rgba(255,255,255,.78);
}

/* 读数 */
.vt-read{display:grid;gap:9px}
.vt-read-empty,.vt-read-fail{
  padding:14px 15px;border-radius:var(--r-m);
  border:1px dashed var(--line-2);background:rgba(255,255,255,.02);
}
.vt-read-empty b,.vt-read-fail b{display:block;font-size:13px;margin-bottom:6px}
.vt-read-empty span,.vt-read-fail span{display:block;font-size:12.3px;line-height:1.7;color:var(--fg-3)}
.vt-read-empty i{display:block;margin-top:9px;font-size:11.5px;color:var(--fg-3);opacity:.85;font-style:normal}
.vt-read-fail{border-color:rgba(255,107,91,.3);background:rgba(255,107,91,.05)}
.vt-read-fail b{color:var(--coral)}

.vt-read-h{display:flex;align-items:baseline;gap:10px;padding-bottom:4px}
.vt-read-h b{font-size:13.5px}
.vt-read-h span{font-size:10.5px;color:var(--fg-3);margin-left:auto}

.vt-rrow{display:grid;grid-template-columns:46px 1fr;gap:10px;align-items:start;padding:8px 0;border-bottom:1px solid var(--line)}
.vt-rrow:last-of-type{border-bottom:none}
.vt-rrow i{
  font-style:normal;font-size:10px;font-weight:800;letter-spacing:.06em;
  color:var(--fg-3);padding-top:2px;
}
.vt-rrow b{display:block;font-size:13px;font-weight:700;line-height:1.5}
.vt-rrow em{display:block;font-style:normal;font-size:11.5px;line-height:1.65;color:var(--fg-3);margin-top:2px}
.vt-sw{
  display:inline-block;width:11px;height:11px;border-radius:3px;
  margin-right:6px;vertical-align:-1px;border:1px solid rgba(255,255,255,.25);
}
.vt-qbox{display:grid;gap:6px;margin-top:6px}
.vt-q{font-size:11.5px;line-height:1.65;padding:7px 10px;border-radius:var(--r-xs)}
.vt-q.warn{color:#ffcf8a;background:rgba(255,196,94,.07);border-left:2px solid var(--amber)}
.vt-q.note{color:var(--fg-3);background:rgba(255,255,255,.025);border-left:2px solid var(--line-3)}

/* 可改项折叠 */
.vt-tuning{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.vt-tuning summary{
  cursor:pointer;font-size:12px;font-weight:600;color:var(--fg-3);
  list-style:none;padding:2px 0;
}
.vt-tuning summary::-webkit-details-marker{display:none}
.vt-tuning summary::before{content:'▸ ';color:var(--coral)}
.vt-tuning[open] summary::before{content:'▾ '}
.vt-tuning summary:hover{color:var(--fg-2)}
.vt-tuning .vt-fields{margin-top:12px}

@media(max-width:560px){
  .vt-shot canvas{width:104px!important;height:auto!important}
  .vt-rrow{grid-template-columns:40px 1fr;gap:8px}
}

.vt-tie{
  margin-top:4px;padding:9px 12px;border-radius:var(--r-s);
  font-size:11.8px;line-height:1.7;color:var(--fg-2);
  background:rgba(255,196,94,.06);border-left:2px solid var(--amber);
}

/* ══════════ AI 复核 ══════════ */
.mini.accent{
  border-color:rgba(139,123,255,.4);color:var(--violet-2);
  background:rgba(139,123,255,.1);
}
.mini.accent:hover{background:rgba(139,123,255,.18)}
.mini:disabled{opacity:.55;cursor:not-allowed}

.vt-ai{
  margin-top:18px;padding:18px;border-radius:var(--r-m);
  background:rgba(139,123,255,.055);border:1px solid rgba(139,123,255,.22);
}
.vt-ai-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.vt-ai-h b{font-size:13.5px;font-weight:800}
.vt-ai-h span{font-size:10.5px;color:var(--fg-3);margin-left:auto}
.vt-ai-pick{font-size:12.5px;color:var(--fg-2);margin-bottom:8px}
.vt-ai-pick b{color:var(--violet-2);font-weight:800}
.vt-ai-why{font-size:13px;line-height:1.8;color:var(--fg);margin-bottom:14px}
.vt-ai-dl{display:grid;gap:8px;margin-bottom:12px}
.vt-ai-row{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:start}
.vt-ai-row dt{
  font-size:9.5px;font-weight:800;letter-spacing:.06em;color:var(--fg-3);padding-top:3px;
}
.vt-ai-row dd{font-size:12.5px;line-height:1.75;color:var(--fg-2)}
.vt-ai-note{
  font-size:11.5px;line-height:1.7;color:var(--fg-3);
  padding:8px 11px;border-radius:var(--r-xs);
  background:rgba(255,196,94,.06);border-left:2px solid var(--amber);
}
.vt-ai-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.vt-ai-loading,.vt-ai-fail{
  margin-top:16px;padding:14px 16px;border-radius:var(--r-m);
  font-size:12.5px;line-height:1.75;
}
.vt-ai-loading{color:var(--violet-2);background:rgba(139,123,255,.06);border:1px dashed rgba(139,123,255,.3)}
.vt-ai-fail{color:var(--coral);background:rgba(255,107,91,.06);border:1px solid rgba(255,107,91,.25)}

.vt-aichip{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10px;font-weight:700;letter-spacing:.05em;
  padding:3px 9px;border-radius:var(--r-full);margin-left:10px;
}
.vt-aichip.on{color:var(--mint);background:rgba(56,214,168,.1);border:1px solid rgba(56,214,168,.3)}
.vt-aichip.nokey{color:var(--amber);background:rgba(255,196,94,.08);border:1px solid rgba(255,196,94,.28)}

@media(max-width:560px){
  .vt-ai-row{grid-template-columns:1fr;gap:2px}
  .vt-ai-row dt{padding-top:0}
}

/* ══════════ 通用 AI 面板 ══════════ */
.aip{margin-top:6px}
.aip-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.aip-btn{white-space:nowrap}
.aip-hint{font-size:11px;color:var(--fg-3)}
.aip-loading{
  margin-top:12px;padding:12px 14px;border-radius:var(--r-s);
  font-size:12.5px;color:var(--violet-2);
  background:rgba(139,123,255,.06);border:1px dashed rgba(139,123,255,.3);
}
.aip-res{
  margin-top:14px;padding:18px;border-radius:var(--r-m);
  background:rgba(139,123,255,.05);border:1px solid rgba(139,123,255,.2);
}
.aip-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.aip-h b{font-size:14px;font-weight:800;letter-spacing:-.01em}
.aip-h span{font-size:10px;color:var(--fg-3);margin-left:auto}
.aip-sum{font-size:13px;line-height:1.8;color:var(--fg);margin-bottom:14px}
.aip-blocks{display:grid;gap:11px;margin-bottom:14px}
.aip-b{display:grid;grid-template-columns:78px 1fr;gap:12px;align-items:start}
.aip-b i{
  font-style:normal;font-size:10px;font-weight:800;letter-spacing:.05em;
  color:var(--violet-2);padding-top:3px;
}
.aip-b span{font-size:12.6px;line-height:1.78;color:var(--fg-2)}
.aip-lines{display:grid;gap:9px;margin-bottom:14px}
.aip-l{
  padding:12px 14px;border-radius:var(--r-s);
  background:rgba(255,255,255,.028);border-left:2px solid rgba(139,123,255,.45);
}
.aip-l-scene{font-size:10px;font-weight:800;letter-spacing:.05em;color:var(--fg-3);margin-bottom:6px}
.aip-l-say{font-size:13.5px;line-height:1.8;color:var(--fg)}
.aip-l-why{font-size:11.3px;line-height:1.7;color:var(--fg-3);margin-top:7px}
.aip-risk{
  font-size:12px;line-height:1.7;color:#ffcf8a;
  padding:9px 12px;border-radius:var(--r-xs);
  background:rgba(255,196,94,.07);border-left:2px solid var(--amber);
}
.aip-note{
  font-size:11.5px;line-height:1.7;color:var(--fg-3);
  padding:8px 11px;border-radius:var(--r-xs);margin-top:8px;
  background:rgba(255,255,255,.025);border-left:2px solid var(--line-3);
}
.aip-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
@media(max-width:560px){ .aip-b{grid-template-columns:1fr;gap:3px} .aip-b i{padding-top:0} }

/* ══════════ AI 唱歌 ══════════ */
.ac-warn{
  margin-top:14px;padding:11px 14px;border-radius:var(--r-s);
  font-size:12.2px;line-height:1.75;color:var(--fg-2);
  background:rgba(255,196,94,.06);border-left:2px solid var(--amber);
}
.ac-p{font-size:12.8px;line-height:1.8;color:var(--fg-2);margin:8px 0 12px}
.ac-k{
  font-size:10.5px;font-weight:800;letter-spacing:.07em;color:var(--fg-3);
  margin:16px 0 8px;
}
.ac-k.ok{color:var(--mint)} .ac-k.bad{color:var(--coral)}
.ac-two{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:6px}
.ac-ol{margin:6px 0 0 18px;font-size:12.8px;line-height:1.85;color:var(--fg-2)}
.ac-ol li{margin-bottom:5px}

.ac-form{padding:14px 0;border-bottom:1px solid var(--line)}
.ac-form:last-child{border-bottom:none}
.ac-form-h b{display:block;font-size:13.5px;margin-bottom:5px}
.ac-form-h span{font-size:12.3px;line-height:1.72;color:var(--fg-2)}
.ac-form-subs{display:grid;gap:6px;margin-top:10px}
.ac-sub{display:grid;grid-template-columns:96px 1fr;gap:10px;font-size:12px;line-height:1.7}
.ac-sub b{font-size:11px;font-weight:700;color:var(--violet-2)}
.ac-sub span{color:var(--fg-2)}

.ac-songs{display:grid;gap:6px;margin-top:14px}
.ac-song{border:1px solid var(--line);border-radius:var(--r-s);background:rgba(255,255,255,.018);overflow:hidden}
.ac-song-h{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer}
.ac-song-n{
  font-size:10px;font-weight:800;color:var(--fg-3);
  font-variant-numeric:tabular-nums;flex-shrink:0;
}
.ac-song-t{flex:1;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;min-width:0}
.ac-song-t b{font-size:13px;font-weight:700}
.ac-song-t span{font-size:10.5px;color:var(--coral);font-weight:700}
.ac-caret{font-size:9px;color:var(--fg-3);transition:transform .16s}
.ac-song.open .ac-caret{transform:rotate(180deg);color:var(--coral)}
.ac-song-b{display:none;padding:0 14px 14px;border-top:1px solid var(--line)}
.ac-song.open .ac-song-b{display:block}
.ac-sec{margin-top:11px}
.ac-sec i{
  display:block;font-style:normal;font-size:10px;font-weight:800;
  letter-spacing:.05em;color:var(--fg-3);margin-bottom:5px;
}
.ac-sec p{font-size:12.4px;line-height:1.8;color:var(--fg-2)}
.ac-tech{
  margin-top:11px;padding:9px 12px;border-radius:var(--r-xs);
  font-size:11.8px;line-height:1.72;color:var(--fg-2);
  background:rgba(56,214,168,.05);border-left:2px solid rgba(56,214,168,.4);
}
.ac-tech b{
  display:block;font-size:9.5px;letter-spacing:.07em;
  color:var(--mint);margin-bottom:4px;
}
.ac-end{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.ac-quote{
  font-size:13px;line-height:1.85;color:var(--fg);
  padding:12px 14px;border-radius:var(--r-s);margin:8px 0 10px;
  background:rgba(139,123,255,.08);border-left:2px solid var(--violet);
}
.ac-tgroup{margin-bottom:16px}
.ac-tgroup:last-child{margin-bottom:0}

.ac-rule{padding:14px 0;border-bottom:1px solid var(--line)}
.ac-rule:last-child{border-bottom:none}
.ac-rule-h{font-size:13px;font-weight:800;margin-bottom:9px}
.ac-rule-bad,.ac-rule-why,.ac-rule-fix{
  display:grid;grid-template-columns:52px 1fr;gap:10px;
  font-size:12.2px;line-height:1.72;margin-bottom:6px;
}
.ac-rule-bad i,.ac-rule-why i,.ac-rule-fix i{
  font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.05em;padding-top:3px;
}
.ac-rule-bad i{color:var(--coral)} .ac-rule-bad{color:var(--fg-2);opacity:.9}
.ac-rule-why i{color:var(--fg-3)} .ac-rule-why{color:var(--fg-3)}
.ac-rule-fix i{color:var(--mint)} .ac-rule-fix{color:var(--fg)}

/* ══════════ 关系维护 ══════════ */
.rel-trans{display:grid;gap:6px}
.rel-tr{
  display:grid;grid-template-columns:1fr 24px 1.3fr;gap:10px;align-items:center;
  padding:9px 12px;border-radius:var(--r-xs);
  background:rgba(255,255,255,.02);font-size:12.3px;line-height:1.65;
}
.rel-tr-raw{color:var(--fg-3);text-decoration:line-through;text-decoration-color:rgba(255,107,91,.4)}
.rel-tr-arrow{color:var(--fg-3);text-align:center;font-size:11px}
.rel-tr-soft{color:var(--fg)}

.rel-scene{border:1px solid var(--line);border-radius:var(--r-s);margin-bottom:6px;overflow:hidden;background:rgba(255,255,255,.018)}
.rel-scene-h{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer}
.rel-scene-h b{flex:1;font-size:12.8px;font-weight:700;line-height:1.55}
.rel-scene-b{display:none;padding:0 14px 14px;border-top:1px solid var(--line)}
.rel-scene.open .rel-scene-b{display:block}
.rel-scene.open .ac-caret{transform:rotate(180deg);color:var(--coral)}
.rel-say{
  font-size:13.2px;line-height:1.85;color:var(--fg);
  padding:12px 14px;border-radius:var(--r-s);margin-top:12px;
  background:rgba(139,123,255,.07);border-left:2px solid rgba(139,123,255,.5);
}

.rel-tier{padding:14px 0;border-bottom:1px solid var(--line)}
.rel-tier:last-child{border-bottom:none}
.rel-tier-h{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.rel-tier-h b{font-size:14px;font-weight:800}
.rel-tier-h span{
  font-size:9.5px;font-weight:700;letter-spacing:.05em;
  padding:2px 7px;border-radius:4px;
  color:var(--coral);background:rgba(255,107,91,.12);border:1px solid rgba(255,107,91,.2);
}
.rel-bei{padding:12px 0;border-bottom:1px solid var(--line)}
.rel-bei:last-child{border-bottom:none}
.rel-bei-k{font-size:13px;font-weight:800;color:var(--violet-2);margin-bottom:5px}
.rel-bei-d{font-size:12.3px;line-height:1.72;color:var(--fg-2)}
.rel-bei-eg{font-size:12px;line-height:1.7;color:var(--fg-3);margin-top:6px;font-style:italic}
.rel-debate{display:grid;gap:5px;grid-template-columns:1fr 1fr;margin-top:4px}
.rel-debate span{
  font-size:12px;line-height:1.65;color:var(--fg-2);
  padding:6px 9px;border-radius:var(--r-xs);background:rgba(255,255,255,.022);
}
.rel-debate i{
  font-style:normal;font-size:9.5px;font-weight:800;color:var(--fg-3);
  margin-right:6px;font-variant-numeric:tabular-nums;
}
@media(max-width:760px){
  .ac-two{grid-template-columns:1fr;gap:12px}
  .rel-tr{grid-template-columns:1fr;gap:4px}
  .rel-tr-arrow{display:none}
  .rel-debate{grid-template-columns:1fr}
  .ac-sub{grid-template-columns:1fr;gap:2px}
}

/* ══════════ 开通指南 / 价格对比 ══════════ */
.ai-models{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0 0 66px}
.ai-model-chip{
  font-size:10px;font-weight:600;padding:4px 8px;border-radius:var(--r-full);
  border:1px solid var(--line-2);color:var(--fg-3);
  background:rgba(255,255,255,.03);transition:.15s;
  font-family:var(--mono,ui-monospace,SFMono-Regular,Menlo,monospace);
}
.ai-model-chip:hover{color:var(--fg);border-color:var(--coral)}
.ai-model-chip.on{color:var(--coral);border-color:rgba(255,107,91,.5);background:rgba(255,107,91,.1)}

.ai-guide{margin-top:12px;border-top:1px dashed var(--line);padding-top:10px}
.ai-guide>summary{
  cursor:pointer;list-style:none;font-size:11.5px;font-weight:600;color:var(--violet-2);
  padding:2px 0;
}
.ai-guide>summary::-webkit-details-marker{display:none}
.ai-guide>summary::before{content:'▸ ';font-size:9px}
.ai-guide[open]>summary::before{content:'▾ '}
.ai-guide>summary:hover{color:var(--coral)}
.aig{padding-top:10px}
.aig-k{
  font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--fg-3);
  margin:12px 0 7px;
}
.aig-k:first-child{margin-top:0}
.aig-steps{margin:0 0 0 16px;font-size:11.8px;line-height:1.85;color:var(--fg-2)}
.aig-steps li{margin-bottom:3px}
.aig-note{
  margin-top:8px;font-size:11px;line-height:1.7;color:var(--fg-3);
  padding:7px 10px;border-radius:var(--r-xs);
  background:rgba(255,196,94,.05);border-left:2px solid rgba(255,196,94,.35);
}
.aig-tbl{width:100%;border-collapse:collapse;font-size:11.5px;margin-top:2px}
.aig-tbl th{
  font-size:9px;font-weight:800;letter-spacing:.06em;color:var(--fg-3);
  text-align:left;padding:0 6px 5px;border-bottom:1px solid var(--line);
}
.aig-tbl td{padding:6px 6px;color:var(--fg-2);border-bottom:1px solid rgba(255,255,255,.03)}
.aig-tbl td:first-child b{font-weight:700;color:var(--fg)}
.aig-tbl tr.on td{background:rgba(255,107,91,.05)}
.aig-tbl tr.on td:first-child b{color:var(--coral)}
.aig-tbl td:nth-child(2),.aig-tbl td:nth-child(3){font-variant-numeric:tabular-nums;white-space:nowrap}
.aig-tag{
  font-style:normal;font-size:9px;font-weight:700;letter-spacing:.03em;
  margin-left:5px;padding:1px 5px;border-radius:3px;
  color:var(--fg-3);background:rgba(255,255,255,.06);
}
.aig-tbl tr.on .aig-tag{color:var(--coral);background:rgba(255,107,91,.14)}
.aig-foot{margin-top:9px;font-size:10.5px;line-height:1.75;color:var(--fg-3);opacity:.85}
@media(max-width:560px){ .ai-models{margin-left:0} }

/* ══════════ 一键孵化方案 ══════════ */
#vtOne{margin-top:18px}
.one{
  border:1px solid rgba(255,107,91,.22);border-radius:var(--r-l);
  background:linear-gradient(180deg,rgba(255,107,91,.05),rgba(139,123,255,.04));
  padding:22px;
}
.one-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.one-k{font-size:9.5px;font-weight:800;letter-spacing:.11em;color:var(--coral);margin-bottom:6px}
.one-t{font-size:18px;font-weight:800;letter-spacing:-.02em;line-height:1.35}
.one-t b{color:var(--coral)}
.one-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.one-tags em{
  font-style:normal;font-size:10.5px;font-weight:600;
  padding:2px 8px;border-radius:var(--r-full);
  color:var(--fg-2);background:rgba(255,255,255,.06);border:1px solid var(--line);
}
.one-acts{display:flex;gap:7px;flex-wrap:wrap}

.one-sec{padding:18px 0;border-top:1px solid var(--line)}
.one-sec:first-of-type{margin-top:14px}
.one-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.one-n{
  font-size:10px;font-weight:800;letter-spacing:.04em;color:var(--coral);
  border:1px solid rgba(255,107,91,.3);background:rgba(255,107,91,.1);
  padding:2px 7px;border-radius:4px;font-variant-numeric:tabular-nums;
}
.one-h h3{font-size:15.5px;font-weight:800;letter-spacing:-.01em}
.one-sub{font-size:11px;color:var(--fg-3);margin-left:auto;text-align:right}

.one-kv{display:grid;gap:8px}
.one-kvr{display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:start}
.one-kvr dt{font-size:10px;font-weight:800;letter-spacing:.05em;color:var(--fg-3);padding-top:3px}
.one-kvr dd{font-size:12.6px;line-height:1.75;color:var(--fg-2)}
.one-list{margin-top:4px}
.one-list li{font-size:12.4px;line-height:1.75;color:var(--fg-2);margin-bottom:6px}
.one-note{margin-top:10px;font-size:11px;color:var(--fg-3);line-height:1.7}

.one-groups{display:grid;gap:12px}
.one-group b{display:block;font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--violet-2);margin-bottom:6px}
.one-group ul{margin:0 0 0 14px}
.one-group li{font-size:12.3px;line-height:1.75;color:var(--fg-2);margin-bottom:4px}
.one-extra{margin-top:14px}
.one-extra b{display:block;font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--mint);margin-bottom:6px}

.one-ai{margin-top:18px;padding-top:16px;border-top:1px dashed var(--line)}
.one-ai .one-k{margin-bottom:6px}
.one-aip{font-size:12px;line-height:1.75;color:var(--fg-3);margin-bottom:12px}
.one-foot{margin-top:18px;padding-top:12px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.06em;color:var(--fg-3);text-align:right;opacity:.8}

/* 打印版 */
.p-row{display:grid;grid-template-columns:64px 1fr;gap:8px;font-size:11.5px;line-height:1.6;margin-bottom:3px}
.p-row b{font-weight:700}
.p-li{font-size:11px;line-height:1.6;margin-bottom:2px}
.p-g{margin-top:6px}
.p-g b{font-size:10.5px}
@media(max-width:620px){
  .one{padding:16px}
  .one-kvr{grid-template-columns:1fr;gap:2px}
  .one-sub{display:none}
}

.vt-drop-tip{
  margin-top:8px;font-size:10.5px;line-height:1.6;color:var(--fg-3);
  text-align:center;opacity:.8;
}

.one-name{
  width:auto;min-width:110px;max-width:200px;
  background:transparent;border:none;border-bottom:1px dashed var(--line-2);
  font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--fg);
  font-family:inherit;padding:0 2px 2px;margin-right:8px;
}
.one-name:focus{outline:none;border-bottom-color:var(--coral)}
.one-name::placeholder{color:var(--fg-3);font-weight:500;font-size:14px}

/* 内容两栏：直播 / 短视频 */
.one-two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:4px 0 6px}
.one-col{padding:14px 16px;border-radius:var(--r-m);background:rgba(255,255,255,.025);border:1px solid var(--line)}
.one-col-h{font-size:12px;font-weight:800;letter-spacing:.02em;margin-bottom:8px;color:var(--fg)}
.one-col-h i{display:block;font-style:normal;font-size:10.5px;font-weight:500;color:var(--fg-3);margin-top:3px;letter-spacing:0}
.one-col ul{margin:0;padding-left:14px}
.one-col li{font-size:12.2px;line-height:1.72;color:var(--fg-2);margin-bottom:7px}
.one-lt{font-size:10.5px;font-weight:800;letter-spacing:.06em;color:var(--fg-3);margin:14px 0 6px}

/* 第一周打卡 */
#ciBox{margin-top:16px}
.ci{border:1px solid rgba(56,214,168,.22);border-radius:var(--r-l);background:rgba(56,214,168,.045);padding:18px}
.ci-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.ci-head b{font-size:14px;font-weight:800}
.ci-pct{
  font-size:11px;font-weight:700;color:var(--mint);margin-left:10px;
  font-variant-numeric:tabular-nums;
}
.ci-acts{display:flex;gap:7px;flex-wrap:wrap}
.ci-bar{height:4px;border-radius:2px;background:rgba(255,255,255,.08);overflow:hidden;margin-bottom:12px}
.ci-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--mint),#8fe9c9);transition:width .3s var(--ease)}
.ci-intro{font-size:11.5px;line-height:1.7;color:var(--fg-3);margin-bottom:12px}
.ci-days{display:grid;gap:7px}
.ci-day{
  display:flex;gap:12px;align-items:flex-start;padding:12px 14px;
  border-radius:var(--r-s);border:1px solid var(--line);background:rgba(255,255,255,.02);
  cursor:pointer;transition:.15s;
}
.ci-day:hover{border-color:var(--line-2);background:rgba(255,255,255,.035)}
.ci-box{
  flex-shrink:0;width:18px;height:18px;border-radius:5px;margin-top:1px;
  border:1.5px solid rgba(255,255,255,.25);background:transparent;
  position:relative;transition:.15s;
}
.ci-day.done .ci-box{background:var(--mint);border-color:var(--mint)}
.ci-day.done .ci-box::after{
  content:'';position:absolute;left:5px;top:1.5px;width:5px;height:9px;
  border:solid #0b0d13;border-width:0 2px 2px 0;transform:rotate(45deg);
}
.ci-day.done{border-color:rgba(56,214,168,.35);background:rgba(56,214,168,.06)}
.ci-day.done .ci-t span{color:var(--fg-3);text-decoration:line-through;text-decoration-color:rgba(56,214,168,.5)}
.ci-main{flex:1;min-width:0}
.ci-t{display:flex;gap:8px;align-items:baseline;font-size:12.8px;line-height:1.65}
.ci-t b{flex-shrink:0;font-size:10px;font-weight:800;color:var(--coral);letter-spacing:.04em}
.ci-t span{color:var(--fg)}
.ci-w{margin-top:6px;font-size:11.5px;color:var(--fg-3)}
.ci-w b{color:var(--mint);font-weight:700}
.ci-f{margin-top:4px;font-size:11px;line-height:1.65;color:var(--fg-3);opacity:.8}
.ci-tip{
  margin-top:12px;font-size:11px;line-height:1.7;color:var(--fg-3);
  padding:8px 11px;border-radius:var(--r-xs);
  background:rgba(255,196,94,.05);border-left:2px solid rgba(255,196,94,.35);
}
.p-table .p-check{font-size:16px;text-align:center;width:36px}
@media(max-width:760px){
  .one-two{grid-template-columns:1fr;gap:10px}
}

/* ══════════ 运营手册 ══════════ */
.ops-flow{display:grid;gap:8px;margin:6px 0 4px}
.ops-step{display:flex;gap:12px;align-items:flex-start}
.ops-step-n{
  flex-shrink:0;width:20px;height:20px;border-radius:50%;margin-top:1px;
  display:grid;place-items:center;font-size:10.5px;font-weight:800;
  color:#0b0d13;background:linear-gradient(135deg,var(--coral),var(--violet));
}
.ops-step b{display:block;font-size:12.6px;font-weight:700;margin-bottom:2px}
.ops-step span{font-size:12px;line-height:1.7;color:var(--fg-2)}
.ops-seg{
  display:grid;grid-template-columns:88px 1fr;gap:12px;
  padding:10px 0;border-bottom:1px solid var(--line);font-size:12.4px;line-height:1.72;
}
.ops-seg:last-of-type{border-bottom:none}
.ops-seg b{font-size:11px;font-weight:800;color:var(--coral);padding-top:2px}
.ops-seg span{color:var(--fg-2)}
.ops-print{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px dashed var(--line)}
@media(max-width:560px){ .ops-seg{grid-template-columns:1fr;gap:2px} }

/* ══════════ 原生下拉：让选项列表也跟随深色 ══════════
   不加这段，Windows 上展开的选项是系统白底 + 继承来的浅色字，等于看不见 */
select{color-scheme:dark}
select option,
select optgroup{
  background-color:#171922;
  color:#e9ecf5;
  font:inherit;
}
select option:checked,
select option:hover{
  background-color:#2b2f42;
  color:#fff;
}
select option:disabled{color:#7b8194}
/* 保留自定义箭头，但让它有足够对比 */
select{
  background-image:linear-gradient(45deg,transparent 50%,var(--fg-3) 50%),
                   linear-gradient(135deg,var(--fg-3) 50%,transparent 50%);
  background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 13px) calc(50% - 2px);
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}
[data-theme="light"] select{color-scheme:light}
[data-theme="light"] select option,
[data-theme="light"] select optgroup{background-color:#fff;color:#1a1c24}
[data-theme="light"] select option:checked{background-color:#e8eaf2;color:#111}

/* ══════════ 礼物话术库 ══════════ */
.gf{border:1px solid var(--line);border-radius:var(--r-s);margin-bottom:7px;background:rgba(255,255,255,.018);overflow:hidden}
.gf-h{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer}
.gf-h b{font-size:12.5px;font-weight:800;flex-shrink:0}
.gf-h span{flex:1;font-size:11px;color:var(--fg-3);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gf.open .ac-caret{transform:rotate(180deg);color:var(--coral)}
.gf-b{display:none;padding:0 14px 14px;border-top:1px solid var(--line)}
.gf.open .gf-b{display:block}
.gf-step{margin-top:12px}
.gf-k{
  display:flex;align-items:center;gap:8px;margin-bottom:6px;
  font-size:10px;font-weight:800;letter-spacing:.05em;color:var(--violet-2);
}
.gf-k em{
  font-style:normal;font-size:9.5px;font-weight:600;letter-spacing:0;
  padding:1px 6px;border-radius:3px;color:var(--fg-3);background:rgba(255,255,255,.06);
}
.gf-k .gf-cp{margin-left:auto;flex-shrink:0}
.gf-v{
  font-size:13px;line-height:1.9;color:var(--fg);
  padding:12px 14px;border-radius:var(--r-s);
  background:rgba(139,123,255,.06);border-left:2px solid rgba(139,123,255,.45);
  white-space:pre-wrap;
}
.gf-foot{margin-top:14px;display:flex;justify-content:flex-end}
.kb-cat em{display:block;font-style:normal;font-size:9.5px;color:var(--fg-3);margin-top:2px}

/* AI 唱歌 · 歌单 */
.sb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}
.sb-item{
  text-align:left;font-size:12.2px;line-height:1.5;color:var(--fg-2);
  padding:8px 11px;border-radius:var(--r-xs);
  border:1px solid var(--line);background:rgba(255,255,255,.02);
  font-family:inherit;transition:.14s;
}
.sb-item:hover{color:var(--fg);border-color:var(--line-2);background:rgba(255,255,255,.05)}
.sb-item:active{border-color:var(--coral);color:var(--coral)}
.sb-tip{margin-top:12px;font-size:11px;color:var(--fg-3)}

/* ══════════ 实战片段 ══════════ */
.vd{border:1px solid var(--line);border-radius:var(--r-s);margin-bottom:8px;background:rgba(255,255,255,.018);overflow:hidden}
.vd-h{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;cursor:pointer}
.vd-h>div{flex:1;min-width:0}
.vd-h b{display:block;font-size:13px;font-weight:800;line-height:1.5}
.vd-meta{display:block;font-size:10.5px;color:var(--fg-3);margin-top:4px;line-height:1.6}
.vd.open .ac-caret{transform:rotate(180deg);color:var(--coral)}
.vd-b{display:none;padding:0 14px 14px;border-top:1px solid var(--line)}
.vd.open .vd-b{display:block}
.vd-k{
  font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--fg-3);
  margin:14px 0 7px;
}
.vd-script p{
  font-size:12.8px;line-height:1.9;color:var(--fg);
  padding:8px 12px;border-radius:var(--r-xs);margin-bottom:4px;
  background:rgba(139,123,255,.055);border-left:2px solid rgba(139,123,255,.35);
  white-space:pre-wrap;
}
.vd-key{
  margin-top:12px;padding:9px 12px;border-radius:var(--r-xs);
  font-size:12px;line-height:1.7;color:var(--mint);
  background:rgba(56,214,168,.06);border-left:2px solid rgba(56,214,168,.4);
}
.vd-foot{margin-top:12px;display:flex;justify-content:flex-end}

/* ══════════ 五层阶梯 ══════════ */
.ladder{display:grid;gap:0;margin-top:14px;position:relative}
.ld{display:flex;gap:14px;padding:14px 0;border-bottom:1px dashed var(--line)}
.ld:last-child{border-bottom:none}
.ld-lv{
  flex-shrink:0;width:38px;height:38px;border-radius:10px;
  display:grid;place-items:center;font-size:11px;font-weight:800;letter-spacing:.02em;
  color:#0b0d13;background:linear-gradient(135deg,var(--coral),var(--violet));
}
.ld-body{flex:1;min-width:0}
.ld-n{font-size:15px;font-weight:800;letter-spacing:-.01em;margin-bottom:4px}
.ld-what{font-size:12.6px;line-height:1.75;color:var(--fg-2);margin-bottom:8px}
.ld-row{display:grid;grid-template-columns:56px 1fr;gap:10px;font-size:12.2px;line-height:1.72;margin-bottom:6px}
.ld-row i{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.05em;color:var(--mint);padding-top:3px}
.ld-row span{color:var(--fg-2)}
.ld-eg{
  font-size:12.6px;line-height:1.8;color:var(--fg);
  padding:9px 12px;border-radius:var(--r-xs);
  background:rgba(139,123,255,.07);border-left:2px solid rgba(139,123,255,.45);
}
.ld-fail{
  margin-top:7px;display:grid;grid-template-columns:56px 1fr;gap:10px;
  font-size:11.5px;line-height:1.7;color:var(--fg-3);
}
.ld-fail i{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.05em;color:var(--coral);padding-top:2px}

/* ══════════ 八条规律 ══════════ */
.rul{padding:16px 0;border-bottom:1px solid var(--line)}
.rul:last-child{border-bottom:none}
.rul-h{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.rul-h span{
  flex-shrink:0;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;
  font-size:10px;font-weight:800;color:var(--coral);
  border:1px solid rgba(255,107,91,.35);background:rgba(255,107,91,.1);
}
.rul-h b{font-size:13.5px;font-weight:800;letter-spacing:-.01em}
.rul-row{display:grid;grid-template-columns:72px 1fr;gap:10px;font-size:12.3px;line-height:1.75;margin-bottom:6px}
.rul-row i{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.05em;color:var(--fg-3);padding-top:3px}
.rul-row span{color:var(--fg-2)}
.rul-limit{
  margin-top:7px;font-size:11.5px;line-height:1.7;color:var(--fg-3);
  padding:8px 11px;border-radius:var(--r-xs);
  background:rgba(255,196,94,.05);border-left:2px solid rgba(255,196,94,.35);
}
.rul-limit i{font-style:normal;font-weight:800;color:var(--amber);margin-right:6px;font-size:9.5px;letter-spacing:.05em}
@media(max-width:560px){
  .ld-row,.ld-fail,.rul-row{grid-template-columns:1fr;gap:2px}
  .ld-lv{width:32px;height:32px;font-size:10px}
}

/* 引擎失败时的出口 */
.vt-fail-acts{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 10px}
.vt-tech{
  font-size:10.5px;line-height:1.6;color:var(--fg-3);opacity:.7;
  word-break:break-all;
}
.foot-ver{font-size:10.5px;color:var(--fg-3);opacity:.75}
.foot-ver a{color:var(--fg-3);text-decoration:underline;text-underline-offset:2px}
.foot-ver a:hover{color:var(--coral)}

/* 性别确认与切换 */
.vt-ask{
  padding:20px;border-radius:var(--r-m);
  border:1px solid rgba(255,107,91,.28);background:rgba(255,107,91,.05);
}
.vt-ask-h{font-size:16px;font-weight:800;letter-spacing:-.01em;margin-bottom:8px}
.vt-ask-d{font-size:12.5px;line-height:1.75;color:var(--fg-2);margin-bottom:14px}
.vt-ask-acts{display:flex;gap:10px;flex-wrap:wrap}
.vt-ask-acts .btn{min-width:96px;justify-content:center}
.vt-sexflip{
  margin-top:10px;font-size:11px;color:var(--fg-3);
  background:none;border:none;padding:0;cursor:pointer;
  text-decoration:underline;text-underline-offset:3px;
}
.vt-sexflip:hover{color:var(--coral)}

/* ══════════ 运营总纲（思维笔记树） ══════════ */
.mn-wrap{font-size:12.6px}
.mn-kids{list-style:none;margin:0;padding-left:18px}
.mn-kids.mn-root{padding-left:0}
.mn{position:relative}
.mn-row{
  display:flex;align-items:flex-start;gap:8px;
  padding:6px 8px;border-radius:6px;cursor:pointer;line-height:1.65;
  transition:background .12s;
}
.mn-row:hover{background:rgba(255,255,255,.035)}
.mn-caret{
  flex-shrink:0;width:10px;font-size:9px;font-style:normal;color:var(--fg-3);
  transition:transform .14s;padding-top:3px;text-align:center;
}
.mn-caret.mn-dot{opacity:.35}
.mn.closed > .mn-row .mn-caret:not(.mn-dot){transform:rotate(-90deg)}
.mn.closed > .mn-kids{display:none}
.mn-t{flex:1;min-width:0;color:var(--fg-2);word-break:break-word}
.mn-root > .mn > .mn-row > .mn-t{color:var(--fg);font-weight:700;font-size:13.5px}
.mn-kids .mn-kids > .mn > .mn-row > .mn-t{color:var(--fg)}
.mn-img{
  flex-shrink:0;font-style:normal;font-size:9px;font-weight:700;
  color:var(--violet-2);background:rgba(139,123,255,.12);
  padding:1px 5px;border-radius:3px;margin-top:2px;
}
.mn-n{
  flex-shrink:0;font-size:9.5px;font-weight:700;color:var(--fg-3);
  background:rgba(255,255,255,.06);padding:1px 5px;border-radius:3px;margin-top:2px;
  font-variant-numeric:tabular-nums;
}
.mn-root > .mn{margin-bottom:4px}

/* 运营总纲 · 引用链接 */
.mn-lks{display:flex;flex-wrap:wrap;gap:5px;padding:0 0 6px 26px}
.mn-lk{
  font-size:10.5px;line-height:1.5;color:var(--violet-2);
  padding:2px 7px;border-radius:4px;
  background:rgba(139,123,255,.09);border:1px solid rgba(139,123,255,.2);
  text-decoration:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.mn-lk:hover{color:var(--fg);border-color:rgba(139,123,255,.45);background:rgba(139,123,255,.16)}

.vt-aiset-free{
  font-size:12px;line-height:1.75;color:var(--fg-2);
  padding:11px 13px;border-radius:var(--r-xs);margin:10px 0 12px;
  background:rgba(56,214,168,.06);border-left:2px solid rgba(56,214,168,.4);
}
.vt-aiset-free b{color:var(--mint)}

/* ══════════ 平台活动 ══════════ */
.act-m{border:1px solid var(--line);border-radius:var(--r-s);margin-bottom:8px;background:rgba(255,255,255,.018);overflow:hidden}
.act-m-h{display:flex;align-items:center;gap:10px;padding:13px 14px;cursor:pointer}
.act-m-h b{flex:1;min-width:0;font-size:13px;font-weight:800;line-height:1.5}
.act-m-h span{flex-shrink:0;font-size:10.5px;color:var(--fg-3)}
.act-m.open .ac-caret{transform:rotate(180deg);color:var(--coral)}
.act-m-b{display:none;padding:2px 14px 14px;border-top:1px solid var(--line)}
.act-m.open .act-m-b{display:block}
.act-item{padding:14px 0;border-bottom:1px dashed var(--line)}
.act-item:last-child{border-bottom:none}
.act-item-h{font-size:12.8px;font-weight:800;color:var(--fg);margin-bottom:8px;line-height:1.55}
.act-p{font-size:12.3px;line-height:1.8;color:var(--fg-2);margin-bottom:6px;word-break:break-word}
.act-p a{color:var(--violet-2);text-decoration:underline;text-underline-offset:2px}
.act-p a:hover{color:var(--coral)}
.act-sub{
  font-size:10.5px;font-weight:800;letter-spacing:.05em;color:var(--mint);
  margin:14px 0 8px;padding-top:10px;border-top:1px solid var(--line);
}
.act-tb{overflow-x:auto;margin:8px 0 10px;border-radius:var(--r-xs);border:1px solid var(--line)}
.act-tb table{border-collapse:collapse;font-size:11.5px;min-width:100%}
.act-tb th{
  font-size:9.5px;font-weight:800;letter-spacing:.04em;color:var(--fg-3);
  padding:7px 9px;text-align:left;white-space:nowrap;
  background:rgba(255,255,255,.04);border-bottom:1px solid var(--line);
}
.act-tb td{
  padding:7px 9px;color:var(--fg-2);line-height:1.6;
  border-bottom:1px solid rgba(255,255,255,.035);
  min-width:70px;
}
.act-tb tr:last-child td{border-bottom:none}

/* ══════════════════════════════════════════════════════════════════
   设计系统 v3 「克制」
   ──────────────────────────────────────────────────────────────────
   依据视觉培训课程提炼的黄金法则重做：
   ① 少即是多      去掉三色渐变、彩色雾霾、扫光动画
   ② 视觉焦点      标题只留一个强调色，其余靠字重与留白
   ③ 增强对比      不是加黑，而是把底噪压下去，让卡片浮起来
   ④ 视觉层次      表面分三层（底 / 面 / 浮），用 1px 描边 + 极淡内高光
   ⑤ 重复          圆角三档、间距 4 基准、字号 7 级
   ⑥ 元素风格统一  一种按钮、一种卡片、一种标签
   ⑦ 留白          块间距加大，一屏少说一件事
   ══════════════════════════════════════════════════════════════════ */

/* ① 令牌 */
:root{
  --r-xs:6px; --r-s:9px; --r-m:13px; --r-l:17px; --r-xl:20px;

  --sh-xs:0 1px 1px rgba(0,0,0,.16);
  --sh-s:0 2px 6px -2px rgba(0,0,0,.26);
  --sh-m:0 10px 26px -14px rgba(0,0,0,.40);
  --sh-l:0 22px 54px -28px rgba(0,0,0,.50);
  --inset-hi:inset 0 1px 0 rgba(255,255,255,.045);

  --s0:#08090d; --s1:#0e1016; --s2:#14161d; --s3:#1b1e26;

  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:32px; --sp-7:48px;

  --t-cap:11px; --t-sm:12px; --t-bd:13px; --t-ld:15px; --t-h3:17px; --t-h2:20px;

  --glass-1:none;
  --blur:0px;
}

/* ② 底噪：从彩色雾霾 → 环境光（低到几乎看不见，只留一点温度） */
body::before{
  background:
    radial-gradient(60vw 48vw at 10% -10%,rgba(255,107,91,.075),transparent 66%),
    radial-gradient(54vw 44vw at 92% 2%,rgba(139,123,255,.065),transparent 68%),
    radial-gradient(72vw 50vw at 48% 112%,rgba(56,214,168,.035),transparent 70%);
  filter:blur(52px);
}
body{background:var(--s0)}

/* ③ 标题与强调：只留一个色 */
.grad{
  background:none!important;-webkit-text-fill-color:currentColor!important;
  color:var(--coral);animation:none!important;
}
.hero h1{letter-spacing:-.034em;line-height:1.14}
.stat b{
  background:none!important;-webkit-text-fill-color:currentColor!important;
  color:var(--fg);
}

/* ④ 按钮：单色系，去掉三色渐变与扫光 */
.btn.primary{
  background:var(--coral);
  box-shadow:0 8px 20px -12px rgba(255,107,91,.55),var(--inset-hi);
}
.btn.primary::after{display:none}
.btn.primary:hover{background:#ff7c6d;transform:translateY(-1px);box-shadow:0 12px 26px -14px rgba(255,107,91,.6)}
.btn.ghost{background:transparent;border-color:var(--line-2)}
.btn.ghost:hover{background:rgba(255,255,255,.04);border-color:var(--line-3)}
.btn{border-radius:var(--r-s);font-weight:600}
.mini{border-radius:var(--r-xs)}

/* ⑤ 卡片：表面三层 + 细描边，替代玻璃与重阴影 */
.glass,.card{
  background:var(--s1)!important;
  border:1px solid var(--line)!important;
  box-shadow:var(--inset-hi)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.card:hover{border-color:var(--line-2)!important}

/* ⑥ 留白节奏 */
.block{padding:clamp(22px,3.4vw,30px);margin-bottom:18px}
.block-h{margin-bottom:20px;gap:11px}
.block-h h3{font-size:var(--t-h3);font-weight:700;letter-spacing:-.018em;line-height:1.45}
.block-h .idx{
  font-size:10px;font-weight:700;letter-spacing:.09em;
  background:transparent;border:1px solid rgba(255,107,91,.32);
  padding:3px 8px;border-radius:5px;
}
.block-h .sub{font-size:var(--t-cap)}

/* ⑦ 装饰线：霓虹双色 → 单色淡线 */
.progress-bar i,.bar i,.ci-bar i{background:var(--coral)!important}
.tl::before{background:var(--line-2)!important}

/* ⑧ 输入与下拉：统一到同一套边与圆角 */
input[type=text],input[type=number],input[type=url],input[type=password],textarea,select{
  border-radius:var(--r-s);background:rgba(255,255,255,.022);border-color:var(--line);
}
input[type=text]:focus,input[type=number]:focus,input[type=url]:focus,input[type=password]:focus,textarea:focus,select:focus{
  background:rgba(255,107,91,.04);border-color:rgba(255,107,91,.45);
  box-shadow:0 0 0 3px rgba(255,107,91,.07);
}

/* ⑨ 动效收敛：保留需要的，去掉打扰的 */
@keyframes sheen{to{background-position:0 0}}

/* ⑩ 浅色主题对齐 */
[data-theme="light"]{
  --s0:#f3f2ee; --s1:#ffffff; --s2:#fbfaf7; --s3:#f4f2ee;
  --inset-hi:inset 0 1px 0 rgba(255,255,255,.9);
}
[data-theme="light"] body{background:var(--s0)}
[data-theme="light"] .glass,[data-theme="light"] .card{
  background:var(--s1)!important;border-color:rgba(12,15,22,.09)!important;
  box-shadow:0 1px 2px rgba(18,22,34,.05)!important;
}

/* ⑪ 光球：从"主角"降为"环境光"
      原来 620px、opacity .95，比标题还亮，抢了视觉焦点；
      现在缩到 1/3 面积，压到 .38，只做右缘的一点温度。 */
.orb{
  width:min(340px,38vw)!important;
  height:min(340px,38vw)!important;
  right:-7%!important;
  top:-8%!important;
}
@keyframes orbIn{to{opacity:.38}}
.orb{right:-13%!important;top:-10%!important;width:min(300px,32vw)!important;height:min(300px,32vw)!important}
@keyframes orbIn{to{opacity:.28}}

/* ⑫ 首屏主操作：让"选模式"成为第二焦点
      原来主项是浅底深字、次项几乎看不见——违反"视觉焦点"。
      现在主项用品牌色实心，次项给够对比的描边。 */
#engineMode .seg-item{
  color:var(--fg-2);
  border:1px solid var(--line-2);
  background:transparent;
  padding:10px 18px;
}
#engineMode .seg-item:hover{color:var(--fg);border-color:var(--line-3)}
#engineMode .seg-item.is-on{
  background:var(--coral);
  color:#fff;
  border-color:var(--coral);
  box-shadow:0 10px 24px -16px rgba(255,107,91,.85);
}
#engineMode .seg-item.is-on:hover{color:#fff}

/* ══════════ 集训考点 ══════════ */
.dl{border:1px solid var(--line);border-radius:var(--r-s);margin-bottom:7px;background:rgba(255,255,255,.018);overflow:hidden}
.dl-h{display:flex;align-items:center;gap:11px;padding:12px 14px;cursor:pointer}
.dl-date{flex-shrink:0;font-size:11px;font-weight:800;color:var(--coral);font-variant-numeric:tabular-nums;min-width:38px}
.dl-main{flex:1;min-width:0}
.dl-main b{display:block;font-size:12.8px;font-weight:700;line-height:1.5}
.dl-main span{display:block;font-size:10.5px;color:var(--fg-3);margin-top:2px}
.dl-badge{flex-shrink:0;font-style:normal;font-size:9px;font-weight:800;color:var(--mint);
  background:rgba(56,214,168,.12);padding:2px 6px;border-radius:3px}
.dl.open .ac-caret{transform:rotate(180deg);color:var(--coral)}
.dl-b{display:none;padding:2px 14px 14px;border-top:1px solid var(--line)}
.dl.open .dl-b{display:block}
.dl-link{
  display:inline-block;margin:12px 8px 0 0;font-size:11px;color:var(--violet-2);
  border:1px solid rgba(139,123,255,.28);padding:3px 9px;border-radius:5px;
}
.dl-link:hover{color:var(--fg);border-color:rgba(139,123,255,.5)}
.dl-course{display:inline-block;margin-top:12px;font-size:10.5px;color:var(--fg-3)}
.dl-k{font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--fg-3);margin:14px 0 8px}
.dl-q{margin-bottom:10px}
.dl-q-h{font-size:12.3px;line-height:1.7;color:var(--fg);margin-bottom:5px}
.dl-a{
  font-size:12.2px;line-height:1.85;color:var(--fg-2);
  padding:9px 12px;border-radius:var(--r-xs);
  background:rgba(56,214,168,.055);border-left:2px solid rgba(56,214,168,.4);
}
.dl-noquiz{font-size:11.5px;color:var(--fg-3);padding:8px 0}

.kb-total{
  font-size:11px;line-height:1.9;color:var(--fg-3);
  padding:9px 13px;margin:14px 0 0;border-radius:var(--r-xs);
  background:rgba(255,255,255,.022);border:1px solid var(--line);
}
.kb-total b{color:var(--coral);font-size:12.5px;font-variant-numeric:tabular-nums}

/* 方案页 · 适配风格 */
.sty-alt-row{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:11px;color:var(--fg-3)}
.sty-alt{
  font-size:11px;color:var(--fg-2);padding:3px 9px;border-radius:5px;
  border:1px solid var(--line);background:rgba(255,255,255,.025);
}

.vt-aiset-kb{
  font-size:11.5px;line-height:1.8;color:var(--fg-2);
  padding:9px 12px;border-radius:var(--r-xs);margin:10px 0 8px;
  background:rgba(139,123,255,.06);border-left:2px solid rgba(139,123,255,.38);
}
.vt-aiset-kb b{color:var(--violet-2);font-variant-numeric:tabular-nums}

/* AI 反馈条 */
.aip-fb{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);
}
.aip-fb-q{font-size:11px;color:var(--fg-3);margin-right:2px}
.aip-fb .mini{font-size:11px}
.aip-fb.done{opacity:.75}
.aip-fb-tip{font-size:11px;color:var(--mint);opacity:0;transition:opacity .2s}
.aip-fb-tip.on{opacity:1}

/* 记忆面板 */
.vt-aiset-mem{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:11.5px;color:var(--fg-3);
  padding:8px 12px;margin:12px 0 0;border-radius:var(--r-xs);
  background:rgba(255,196,94,.055);border-left:2px solid rgba(255,196,94,.4);
}
.vt-aiset-mem b{color:var(--amber);font-variant-numeric:tabular-nums;font-size:12.5px}
.vt-aiset-mem span{flex:1;min-width:140px}
.vt-aiset-mem .mini{font-size:10.5px;padding:2px 8px}

/* ══════════ 群情报 ══════════ */
.itl{padding:13px 0;border-bottom:1px dashed var(--line)}
.itl:last-child{border-bottom:none}
.itl-h{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.itl-b{
  font-size:9.5px;font-weight:800;letter-spacing:.03em;
  padding:2px 7px;border-radius:4px;
  color:var(--fg-2);background:rgba(255,255,255,.06);border:1px solid var(--line);
}
.itl-b-规范红线{color:#ffb4ab;background:rgba(255,107,91,.12);border-color:rgba(255,107,91,.3)}
.itl-b-避坑{color:var(--amber);background:rgba(255,196,94,.1);border-color:rgba(255,196,94,.26)}
.itl-b-案例{color:var(--mint);background:rgba(56,214,168,.1);border-color:rgba(56,214,168,.26)}
.itl-b-政策{color:var(--violet-2);background:rgba(139,123,255,.1);border-color:rgba(139,123,255,.26)}
.itl-g{font-size:10.5px;color:var(--fg-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.itl-t{
  font-size:12.3px;line-height:1.8;color:var(--fg-2);word-break:break-word;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
}
.itl.long .itl-t{-webkit-line-clamp:4}
.itl.long.open .itl-t{-webkit-line-clamp:unset;display:block}
.itl-more{
  margin-top:7px;font-size:10.5px;color:var(--coral);
  background:none;border:none;padding:0;cursor:pointer;
  text-decoration:underline;text-underline-offset:3px;
}

.intel-count{font-size:10.5px;color:var(--fg-3);margin-bottom:6px}

/* 资料页标签分两行 */
.kb-tabs{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.kb-row{display:flex;align-items:center;gap:8px;min-width:0}
.kb-lab{flex:0 0 40px;font-size:10px;letter-spacing:.04em;color:var(--fg-3)}
.kb-row .seg{flex:1;min-width:0;overflow-x:auto;margin:0;scrollbar-width:none}
.kb-row .seg::-webkit-scrollbar{display:none}

/* 页脚：当前用户 / 退出 */
.foot-link{
  background:none;border:none;padding:0 4px;cursor:pointer;
  font-size:inherit;color:var(--coral);text-decoration:underline;
  text-underline-offset:3px;font-family:inherit;
}
.foot-link:hover{color:var(--fg)}
#whoami{color:var(--fg-2);margin-right:2px}

/* ══════════════════════════════════════════════════════════════════
   表单可读性修复（移动端）
   ──────────────────────────────────────────────────────────────────
   问题：手机上输入框会被浏览器按"系统浅色主题"刷成白底，
   而我们的文字是浅色 → 白底白字，看不见自己打的是什么。
   三件事：声明配色方案、统一控件底色、压掉自动填充的黄白底。
   ══════════════════════════════════════════════════════════════════ */
:root{color-scheme:dark}
[data-theme="light"]{color-scheme:light}

input,textarea,select{
  color:var(--fg);
  background:var(--s2);
  border:1px solid var(--line-2);
  caret-color:var(--coral);
  -webkit-text-fill-color:var(--fg);      /* 压住 iOS 的填充色 */
}
input::placeholder,textarea::placeholder{
  color:var(--fg-3);
  opacity:1;
  -webkit-text-fill-color:var(--fg-3);
}
select option{background:var(--s2);color:var(--fg)}

/* 自动填充：浏览器会强行刷白/黄，用内阴影盖掉 */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px var(--s2) inset !important;
  -webkit-text-fill-color:var(--fg) !important;
  caret-color:var(--coral);
  transition:background-color 9999s ease-out 0s;
}

/* 「一键孵化方案」里那个名字输入框：原来是无框虚线，手机上极不可读 */
.one-name{
  background:var(--s2) !important;
  border:1px solid var(--line-2) !important;
  border-radius:8px !important;
  padding:7px 11px !important;
  min-height:38px;
  font-size:16px !important;      /* ≥16px 才不会触发 iOS 自动放大 */
  max-width:100%;
}
.one-name:focus{border-color:rgba(255,107,91,.55) !important;box-shadow:0 0 0 3px rgba(255,107,91,.08)}
.one-name::placeholder{font-size:13px !important}

/* 名字 + 风格名：手机上换行，别挤在一行 */
.one-t{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.one-t b{flex:0 1 auto;min-width:0}

/* 结果卡里的小标题在窄屏上留点气口 */
@media (max-width:420px){
  .one-top{gap:10px}
  .one-acts{width:100%}
  .one-acts .mini{flex:1}
}

/* ══════════════════════════════════════════════════════════════════
   手机端可读性统一
   ──────────────────────────────────────────────────────────────────
   之前最小字号到 9.5px，在手机上基本是"糊的"。
   这里不改结构，只抬底线：正文、列表、说明文字各抬一档，
   输入框统一 16px（低于 16 时 iOS 会在聚焦瞬间放大页面，很晃眼）。
   ══════════════════════════════════════════════════════════════════ */
@media (max-width:480px){
  body{font-size:14.5px;line-height:1.72}

  input,textarea,select{font-size:16px}

  /* 卡片里的正文与列表 */
  .ac-p{font-size:13px;line-height:1.85}
  .kv-row dt{font-size:11px}
  .kv-row dd{font-size:12.8px;line-height:1.8}
  .itl-t{font-size:12.8px;line-height:1.85}
  .itl-g{font-size:10.5px}
  .dl-q-h{font-size:12.6px}
  .dl-a{font-size:12.6px;line-height:1.85}

  /* 最小的那批标签抬到 10px，不再用 9.5 */
  .block-h .sub,.badge,.itl-b,.dl-badge,.aip-fb-q{font-size:10px}
  .block-h h3{font-size:16px}

  /* 触控目标 */
  .mini{padding:5px 10px;font-size:11.5px}
  .seg-item{padding:8px 13px;font-size:12.5px}
  .chip{padding:6px 11px;font-size:12px}

  /* 卡片之间留口气 */
  .block{margin-bottom:16px}
  .block-h{margin-bottom:16px}
}

/* ══════════════════════════════════════════════════════════════════
   表单控件最终覆盖（第二版）
   ──────────────────────────────────────────────────────────────────
   上一版用 `input{...}`（权重 0,0,1），被更早的
   `input[type=text],input[type=password]...`（权重 0,1,1）压住了，
   所以背景还是"近乎透明"，密码框被浏览器按自动填充画成白底。
   这次用同样的选择器 + !important，并且关掉原生外观，
   让浏览器不再自己给输入框上色。
   ══════════════════════════════════════════════════════════════════ */
input[type=text],input[type=number],input[type=url],input[type=password],
input[type=search],input[type=email],input[type=tel],textarea{
  -webkit-appearance:none;
  appearance:none;
  background:var(--s2) !important;
  border:1px solid var(--line-2) !important;
  color:var(--fg) !important;
  -webkit-text-fill-color:var(--fg) !important;
  border-radius:var(--r-s);
}
input[type=text]:focus,input[type=number]:focus,input[type=url]:focus,
input[type=password]:focus,input[type=search]:focus,input[type=email]:focus,
input[type=tel]:focus,textarea:focus{
  background:var(--s3) !important;
  border-color:rgba(255,107,91,.5) !important;
  box-shadow:0 0 0 3px rgba(255,107,91,.08);
}
select{
  background:var(--s2) !important;
  border:1px solid var(--line-2) !important;
  color:var(--fg) !important;
}

/* 密码框：安卓/iOS 的密码管理器会另刷一层底色，这里兜住 */
input[type=password]{
  -webkit-text-security:disc;
  background-image:none !important;
}
input[type=password]:not(:placeholder-shown){
  letter-spacing:.12em;
}

/* 自动填充：再次压一遍，覆盖上面所有情况 */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input[type=password]:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px var(--s2) inset !important;
  -webkit-text-fill-color:var(--fg) !important;
  background-color:var(--s2) !important;
  background-image:none !important;
}
