:root{
  --ink:#1B1A18; --ink2:#4A4844; --muted:#8C887F; --faint:#B4AFA5;
  --line:#E6E2D9; --line2:#F1EEE7; --bg:#F2F0EA; --card:#FFFFFF;
  --accent:#C5482D; --accent-soft:#FBEDE9;
  --green:#4C7A63; --gold:#A8802F; --blue:#41577F;
  --r:16px;
}
*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;padding:0;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue","Microsoft YaHei",sans-serif;
  background:#E9E6DE;color:var(--ink);font-size:14px;line-height:1.55;
  font-variant-numeric:tabular-nums;
}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0;}
input{font-family:inherit;outline:none;border:none;background:none;color:inherit;}

.app{
  max-width:430px;margin:0 auto;min-height:100vh;background:var(--bg);
  position:relative;padding-bottom:74px;
}
@media(min-width:720px){
  .app{box-shadow:0 0 0 1px rgba(0,0,0,.05),0 24px 60px -24px rgba(27,26,24,.35);}
}

/* ---------- 通用 ---------- */
.page{display:none;padding:0 16px 24px;}
.page.on{display:block;}
.hide{display:none !important;}

.topbar{display:flex;align-items:center;gap:10px;padding:18px 16px 10px;}
.avatar{width:36px;height:36px;border-radius:50%;background:#1B1A18;color:#F6F3EC;
  display:grid;place-items:center;font-size:13px;font-weight:600;flex:none;}
.who{flex:1;min-width:0;}
.who b{display:block;font-size:14.5px;letter-spacing:-.2px;}
.who s{display:block;text-decoration:none;font-size:11px;color:var(--muted);margin-top:1px;}
.chip{font-size:10.5px;padding:3px 9px;border-radius:20px;background:#EAE6DD;color:var(--ink2);}
.chip.lv{background:#1B1A18;color:#F6F3EC;font-weight:600;letter-spacing:.3px;}
.chip.quit{background:transparent;color:var(--faint);border:1px solid var(--line);cursor:pointer;}
.chip.quit:hover{color:var(--muted);border-color:#CFC9BC;}

.sec{margin-top:22px;}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:9px;padding:0 2px;}
.sec-h h3{margin:0;font-size:14px;font-weight:650;letter-spacing:-.2px;}
.sec-h h3 em{font-style:normal;font-weight:600;color:var(--muted);font-size:11px;margin-left:6px;}
.sec-h a{font-size:11.5px;color:var(--muted);text-decoration:none;display:flex;align-items:center;gap:2px;}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;}
.pad{padding:14px 15px;}

/* ---------- 首页 ---------- */
.hero{
  background:linear-gradient(150deg,#232220 0%,#151413 100%);
  color:#F6F3EC;border-radius:20px;padding:18px 18px 16px;position:relative;overflow:hidden;
  box-shadow:0 10px 24px -16px rgba(27,26,24,.8);
}
.hero::after{content:"";position:absolute;right:-46px;top:-56px;width:170px;height:170px;
  border-radius:50%;background:radial-gradient(circle,rgba(197,72,45,.32),transparent 68%);}
.hero .lbl{font-size:11px;color:#A9A399;display:flex;align-items:center;gap:7px;}
.hero .lbl em{font-style:normal;background:rgba(246,243,236,.12);padding:1px 7px;border-radius:20px;font-size:9.5px;letter-spacing:.4px;}
.hero .big{font-size:44px;font-weight:600;letter-spacing:-2px;line-height:1.1;margin:6px 0 2px;}
.hero .big i{font-style:normal;font-size:14px;font-weight:400;color:#A9A399;margin-left:3px;letter-spacing:0;}
.hero .meta{display:flex;gap:0;margin-top:12px;border-top:1px solid rgba(246,243,236,.12);padding-top:11px;}
.hero .meta > div{flex:1;font-size:10.5px;color:#9C968C;}
.hero .meta > div + div{border-left:1px solid rgba(246,243,236,.12);padding-left:12px;}
.hero .meta b{display:block;color:#F6F3EC;font-size:15px;font-weight:600;margin-top:2px;letter-spacing:-.2px;}
.hero .meta b em{font-style:normal;font-size:10px;color:#8C877D;font-weight:400;margin-left:2px;}

.pools{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:10px;}
.pool{background:#fff;padding:11px 11px 10px;}
.pool h4{margin:0;font-size:10.5px;color:var(--muted);font-weight:500;display:flex;align-items:center;gap:5px;}
.pool h4 s{width:5px;height:5px;border-radius:50%;text-decoration:none;display:inline-block;}
.pool .num{font-size:18px;font-weight:650;letter-spacing:-.6px;margin:3px 0 5px;}
.pool .num span{font-size:10px;color:var(--faint);font-weight:400;letter-spacing:0;}
.pool .bar{height:3px;background:var(--line2);border-radius:3px;overflow:hidden;}
.pool .bar i{display:block;height:100%;border-radius:3px;}

.todo{display:flex;align-items:center;gap:11px;padding:12px 14px;border-bottom:1px solid var(--line2);}
.todo:last-child{border-bottom:none;}
.todo .ic{width:30px;height:30px;border-radius:9px;background:var(--line2);display:grid;place-items:center;font-size:13px;flex:none;}
.todo .tx{flex:1;min-width:0;}
.todo .tx b{display:block;font-size:12.5px;font-weight:600;letter-spacing:-.1px;}
.todo .tx s{display:block;text-decoration:none;font-size:10.5px;color:var(--muted);margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.todo .go{font-size:11px;color:var(--accent);font-weight:500;flex:none;}

.case-item{padding:12px 14px;border-bottom:1px solid var(--line2);}
.case-item:last-child{border-bottom:none;}
.ci-t{display:flex;align-items:center;gap:8px;}
.ci-t b{font-size:12.5px;font-weight:600;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.stk{font-size:9.5px;padding:2px 6px;border-radius:5px;white-space:nowrap;}
.stk.ok{background:#EDF3EF;color:#3F6B56;}
.stk.wait{background:#FBF2E2;color:#8A6420;}
.stk.no{background:#F3F1EB;color:var(--muted);}
.ci-m{font-size:10.5px;color:var(--muted);margin-top:3px;}
.ci-n{font-size:11px;color:var(--ink2);margin-top:5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.ci-n em{font-style:normal;color:var(--accent);font-weight:600;}

.rank-row{display:flex;align-items:center;gap:11px;padding:9px 14px;border-bottom:1px solid var(--line2);}
.rank-row:last-child{border-bottom:none;}
.rank-row .no{width:22px;font-size:11.5px;color:var(--muted);font-weight:600;text-align:center;flex:none;}
.rank-row .no.top{color:var(--accent);}
.rank-row .nm{flex:1;min-width:0;font-size:12.5px;}
.rank-row .nm s{display:block;text-decoration:none;font-size:9.5px;color:var(--faint);}
.rank-row .sc{font-size:13px;font-weight:650;letter-spacing:-.2px;}
.rank-row .sc s{text-decoration:none;font-size:9px;color:var(--faint);font-weight:400;margin-left:1px;}
.rank-row.me{background:var(--accent-soft);}
.rank-row.me .nm{font-weight:600;color:var(--accent);}
.rank-row.me .sc{color:var(--accent);}
.me-divider{display:flex;align-items:center;gap:8px;padding:6px 14px;font-size:9.5px;color:var(--faint);}
.me-divider:before,.me-divider:after{content:"";height:1px;background:var(--line);flex:1;}

.ev{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line2);}
.ev:last-child{border-bottom:none;}
.ev .dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex:none;margin-left:4px;}
.ev .tx{flex:1;min-width:0;}
.ev .tx b{display:block;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ev .tx s{display:block;text-decoration:none;font-size:10px;color:var(--faint);margin-top:1px;}
.ev .dl{font-size:12.5px;font-weight:600;color:var(--green);}
.ev .dl.pending{color:var(--gold);font-size:11px;}
.ev .arr{font-size:10px;color:var(--faint);}

/* ---------- 列表页 ---------- */
.page-head{padding:20px 2px 12px;}
.page-head h2{margin:0;font-size:22px;font-weight:650;letter-spacing:-.7px;}
.page-head p{margin:4px 0 0;font-size:11.5px;color:var(--muted);}
.progress{display:flex;gap:14px;margin-top:12px;}
.progress div{flex:1;}
.progress s{display:block;text-decoration:none;font-size:10px;color:var(--muted);}
.progress b{font-size:15px;font-weight:650;letter-spacing:-.3px;}
.progress b em{font-style:normal;font-size:10px;color:var(--faint);font-weight:400;}

.seg{display:flex;gap:4px;background:#E7E3DA;padding:3px;border-radius:10px;margin:4px 0 12px;}
.seg button{flex:1;padding:7px 0;border-radius:8px;font-size:12px;color:var(--ink2);}
.seg button.on{background:#fff;font-weight:600;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.06);}

.course{display:flex;align-items:center;gap:11px;padding:11px 14px;border-bottom:1px solid var(--line2);}
.course:last-child{border-bottom:none;}
.course .cd{width:30px;font-size:9.5px;color:var(--faint);letter-spacing:.2px;flex:none;}
.course .bd{flex:1;min-width:0;}
.course .bd b{display:block;font-size:12.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.course .bd s{display:block;text-decoration:none;font-size:10px;color:var(--faint);margin-top:1px;}
.course .val{font-size:14px;font-weight:650;letter-spacing:-.3px;min-width:38px;text-align:right;}
.course .val small{font-size:9px;color:var(--faint);font-weight:400;}
.course .val.miss{font-size:10.5px;color:var(--faint);font-weight:400;}

.tier{display:flex;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line2);align-items:stretch;}
.tier:last-child{border-bottom:none;}
.tier .bd{flex:1;min-width:0;}
.tier .bd b{display:block;font-size:12.5px;font-weight:500;}
.tier .bd s{display:block;text-decoration:none;font-size:10px;color:var(--faint);margin-top:2px;line-height:1.45;}
.door{display:flex;gap:6px;align-items:center;}
.door .d{width:52px;border-radius:9px;padding:6px 0;text-align:center;font-size:10.5px;border:1px solid var(--line);}
.door .d.base{background:#F4F7F4;color:#3F6B56;border-color:#DFE9E3;}
.door .d.chal{background:#FDF1EE;color:#B34A2E;border-color:#F2DDD7;}
.door .d.none{background:#FAF8F3;color:var(--faint);}
.door .d b{display:block;font-size:12px;font-weight:650;}

/* ---------- 任务卡片：序号 / 已提交 / 去提交 ---------- */
.tier{cursor:pointer;}
.tk-no{width:24px;flex:none;display:flex;align-items:flex-start;justify-content:center;
  font-size:10.5px;color:var(--faint);font-weight:600;padding-top:2px;letter-spacing:.3px;}
.tier.is-done .tk-no{color:var(--green);}
.tier.is-off{opacity:.55;}
.tier .bd .tscore{display:inline-block;margin-top:5px;font-size:10px;color:var(--green);
  background:#EFF5F1;border-radius:6px;padding:1px 6px;text-decoration:none;}
.door .d.done{background:#EAF1EC;color:#3F6B56;border-color:#D8E5DC;}
.door .d.go{background:#FFF;color:var(--ink);border-color:#1B1A18;font-weight:600;white-space:nowrap;
  width:auto;min-width:52px;padding:6px 7px;}
.door .d.go b{display:none;}
.door .d b{font-size:9.5px;font-weight:500;opacity:.75;margin-top:1px;}

/* 任务抽屉：头部 / 引导页 / 已提交页 */
.tsk-head{padding:0 2px 14px;}
.tsk-no-l{font-size:10px;color:var(--faint);letter-spacing:.6px;font-weight:600;}
.tsk-title{font-size:15.5px;font-weight:650;letter-spacing:-.2px;margin-top:3px;}
.tsk-desc{font-size:11.5px;color:var(--muted);line-height:1.6;margin-top:5px;}
.tsk-guide,.tsk-done,.tsk-empty{background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  padding:22px 18px;text-align:center;}
.tsk-guide .ic,.tsk-done .ic,.tsk-empty .ic{width:40px;height:40px;border-radius:50%;margin:0 auto 10px;
  display:grid;place-items:center;font-size:17px;font-weight:600;}
.tsk-done .ic{background:#EAF1EC;color:var(--green);}
.tsk-guide .ic{background:#1B1A18;color:#F6F3EC;}
.tsk-empty .ic{background:var(--line2);color:var(--faint);}
.tsk-guide b,.tsk-done b,.tsk-empty b{display:block;font-size:13.5px;font-weight:650;}
.tsk-done b{color:#3F6B56;}
.tsk-guide s,.tsk-done s,.tsk-empty s{display:block;text-decoration:none;font-size:11px;color:var(--muted);
  line-height:1.65;margin-top:6px;}
.tsk-done s em{font-style:normal;color:var(--ink2);font-weight:600;}
.tsk-btn{display:block;margin-top:14px;padding:11px 0;border-radius:12px;background:#1B1A18;color:#F6F3EC;
  font-size:12.5px;font-weight:600;text-decoration:none;text-align:center;letter-spacing:.2px;}
.tsk-btn:active{opacity:.85;}
.tsk-hint{display:block;margin-top:8px;font-size:10px;color:var(--faint);}
.tsk-done + .tsk-meta{margin-top:10px;}
.tsk-meta{display:flex;padding:12px 0;}
.tsk-meta > div{flex:1;text-align:center;border-right:1px solid var(--line2);}
.tsk-meta > div:last-child{border-right:none;}
.tsk-meta s{display:block;text-decoration:none;font-size:9.5px;color:var(--faint);}
.tsk-meta b{display:block;font-size:12px;font-weight:650;margin-top:2px;}
.tsk-acts{margin-top:10px;}
.tsk-acts .tsk-btn{margin-top:0;}

/* ---------- 能力 ---------- */
.radars{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.radar-mini{background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px 4px 6px;text-align:center;position:relative;}
.radar-mini.on{border-color:#1B1A18;box-shadow:0 0 0 1px #1B1A18 inset;}
.radar-mini .t{font-size:10px;color:var(--muted);}
.radar-mini .v{font-size:13px;font-weight:650;letter-spacing:-.2px;margin-top:1px;}
.radar-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-top:10px;padding:6px 2px 2px;}
.shape{padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-top:10px;}
.shape b{display:block;font-size:13px;font-weight:650;letter-spacing:-.2px;}
.shape p{margin:4px 0 0;font-size:11px;color:var(--ink2);line-height:1.6;}
.shape p em{font-style:normal;color:var(--accent);font-weight:600;}
.axis-row{display:grid;grid-template-columns:56px 1fr 1fr 1fr;gap:6px;padding:9px 14px;
  border-bottom:1px solid var(--line2);font-size:11.5px;align-items:center;}
.axis-row:last-child{border-bottom:none;}
.axis-row.head{font-size:9.5px;color:var(--muted);padding:8px 14px;background:#FAF8F3;}
.axis-row .an{font-weight:600;font-size:12px;display:flex;align-items:center;gap:5px;}
.axis-row .an s{width:5px;height:5px;border-radius:50%;text-decoration:none;}
.axis-row .vv{text-align:right;font-size:12px;}
.axis-row .vv.na{color:var(--faint);}
.evcard{padding:12px 14px;border-bottom:1px solid var(--line2);}
.evcard:last-child{border-bottom:none;}
.evcard .k{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);}
.evcard .k b{color:var(--ink);font-size:12px;}
.evcard .q{font-size:11px;color:var(--ink2);line-height:1.6;margin-top:5px;}
.evcard .q.miss{color:var(--accent);}

/* ---------- 底部 Tab ---------- */
.tabbar{
  position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;
  background:rgba(252,250,246,.94);backdrop-filter:blur(14px);
  border-top:1px solid var(--line);display:flex;z-index:60;padding:7px 0 9px;
}
.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;color:var(--muted);}
.tabbar button .ic{font-size:17px;line-height:1;filter:grayscale(1);opacity:.5;}
.tabbar button.on{color:var(--ink);font-weight:600;}
.tabbar button.on .ic{filter:none;opacity:1;}

/* ---------- 抽屉 ---------- */
.mask{position:fixed;inset:0;background:rgba(27,26,24,.42);z-index:80;opacity:0;pointer-events:none;transition:.2s;}
.mask.on{opacity:1;pointer-events:auto;}
.sheet{
  position:fixed;left:50%;transform:translate(-50%,100%);bottom:0;width:100%;max-width:430px;
  background:var(--bg);border-radius:22px 22px 0 0;z-index:90;max-height:88vh;display:flex;flex-direction:column;
  transition:transform .26s cubic-bezier(.22,.8,.3,1);
}
.sheet.on{transform:translate(-50%,0);}
.sheet-h{display:flex;align-items:center;padding:16px 16px 10px;flex:none;}
.sheet-h b{font-size:16px;font-weight:650;letter-spacing:-.3px;flex:1;}
.sheet-h button{font-size:19px;color:var(--muted);line-height:1;}
.sheet-b{overflow-y:auto;padding:0 16px 24px;-webkit-overflow-scrolling:touch;}
.sheet-b .card{margin-bottom:10px;}

/* ---------- 登录 ---------- */
.gate{position:fixed;inset:0;z-index:120;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:24px;}
.gate-inner{width:100%;max-width:360px;}
.gate .mark{width:44px;height:44px;border-radius:13px;background:#1B1A18;color:#F6F3EC;display:grid;place-items:center;font-size:17px;font-weight:600;letter-spacing:-1px;}
.gate h1{font-size:26px;letter-spacing:-1px;margin:16px 0 4px;font-weight:650;}
.gate p.sub{font-size:12px;color:var(--muted);margin:0 0 22px;line-height:1.6;}
.gate .field{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px 14px;}
.gate .field input{flex:1;font-size:14px;}
.gate .field input::placeholder{color:var(--faint);}
.gate .btn{width:100%;margin-top:10px;padding:13px;border-radius:13px;background:#1B1A18;color:#F6F3EC;font-size:14px;font-weight:600;}
.gate .btn:disabled{opacity:.4;}
.gate .err{font-size:11.5px;color:var(--accent);margin-top:9px;min-height:16px;}
.gate .demo{margin-top:24px;border-top:1px solid var(--line);padding-top:16px;}
.gate .demo s{display:block;text-decoration:none;font-size:10.5px;color:var(--faint);margin-bottom:8px;}
.gate .demo button{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;padding:7px 12px;border:1px solid var(--line);border-radius:20px;background:#fff;margin:0 6px 6px 0;}
.gate .demo button em{font-style:normal;color:var(--faint);font-size:10px;}

/* 评分卡 */
.score-total{display:flex;align-items:baseline;gap:8px;padding:2px 2px 12px;}
.score-total b{font-size:28px;font-weight:650;letter-spacing:-1px;}
.score-total s{text-decoration:none;font-size:11px;color:var(--muted);}
.dim{padding:10px 14px;border-bottom:1px solid var(--line2);}
.dim:last-child{border-bottom:none;}
.dim .h{display:flex;font-size:11.5px;}
.dim .h span{flex:1;color:var(--ink2);}
.dim .h b{font-weight:600;}
.dim .h b.zero{color:var(--accent);}
.dim .bar{height:4px;background:var(--line2);border-radius:3px;margin-top:6px;overflow:hidden;}
.dim .bar i{display:block;height:100%;border-radius:3px;background:var(--ink);}
.dim .bar i.zero{background:var(--accent);}
.dim .tip{font-size:10px;color:var(--accent);margin-top:5px;}

.empty{padding:30px 16px;text-align:center;color:var(--faint);font-size:12px;}
.footnote{padding:18px 4px 4px;font-size:10px;color:var(--faint);line-height:1.7;}

/* ---- 入营画像 / 空态提示 ---- */
.pfchips{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 12px;}
.pfchips span{font-size:10.5px;color:var(--ink2);background:var(--line2);border-radius:20px;padding:3px 9px;}
.pfchips span b{font-weight:600;color:var(--ink);}
.notice{margin:0 18px 12px;padding:10px 12px;border-radius:10px;background:#FBF4EC;
  border:1px solid #F0E2D2;font-size:11px;line-height:1.7;color:#8A6A4E;}
.pfrow{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--line2);font-size:11.5px;}
.pfrow:last-child{border-bottom:none;}
.pfrow s{flex:0 0 58px;text-decoration:none;color:var(--faint);font-size:10.5px;padding-top:1px;}
.pfrow b{font-weight:500;color:var(--ink);line-height:1.6;}

/* ---------- 登录：候选列表 / 锁定 ---------- */
.cands{margin-top:12px;display:flex;flex-direction:column;gap:8px;}
.cands-h{font-size:11px;color:var(--muted);padding:2px 2px 2px;}
.cand{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;
  background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px 13px;text-align:left;}
.cand:hover{border-color:#CFC9BC;background:#FDFCFA;}
.cand b{font-size:13.5px;font-weight:600;color:var(--ink);}
.cand s{text-decoration:none;font-size:11px;color:var(--muted);line-height:1.5;}
.cands-note{font-size:11px;color:var(--muted);line-height:1.7;padding:4px 2px 0;}
.picked{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px 13px;margin-bottom:10px;}
.picked b{font-size:14px;font-weight:600;}
.picked s{text-decoration:none;font-size:11px;color:var(--muted);}
.gate .btn.ghost{background:transparent;color:var(--muted);font-weight:500;font-size:12.5px;
  border:1px solid var(--line);margin-top:8px;}
.gate .btn.ghost:hover{color:var(--ink2);border-color:#CFC9BC;}
.lockbox{margin-top:12px;display:flex;align-items:center;gap:10px;
  background:#FBF1EE;border:1px solid #F0DDD5;border-radius:11px;padding:11px 13px;}
.lockbox b{font-size:15px;color:var(--accent);min-width:44px;}
.lockbox s{text-decoration:none;font-size:11px;color:#96634F;}

/* ---------- 登录：一步表单 ---------- */
.gate .field.mt{margin-top:10px;}
.gate .field:focus-within{border-color:#CFC9BC;box-shadow:0 0 0 3px rgba(27,26,24,.04);}
/* 姓名与后 4 位同一套字：居中、加粗、宽字距 */
.gate .field input.big{font-size:18px;font-weight:600;text-align:center;letter-spacing:4px;}
.gate .field input.big::placeholder{font-size:13px;font-weight:400;letter-spacing:0;color:var(--faint);}
.gate .hint{font-size:11.5px;line-height:1.6;color:var(--muted);text-align:center;
  margin-top:9px;padding:0 2px;transition:color .15s;}
.gate .hint:empty{display:none;}
.gate .hint.warn{color:var(--accent);}
.gate .hint b{font-weight:600;color:var(--ink2);letter-spacing:.5px;}
.gate .btn{margin-top:14px;}

/* ---------- 首页瘦身：积分卡单格 / 榜单前 20 / 入营测评 ---------- */
.hero .meta .one{display:flex;align-items:baseline;gap:8px;cursor:pointer;}
.hero .meta .one b{margin-top:0;}
.hero .meta .one .arw{margin-left:auto;color:#8C877D;font-size:13px;}
.baseline-tag{font-size:10px;letter-spacing:1px;color:var(--muted);
  display:inline-flex;align-items:center;gap:6px;padding:0 18px 2px;}
.baseline-tag:before{content:"";width:14px;height:1px;background:#2F6F5E;opacity:.6;}
.pfgoal{display:flex;gap:10px;align-items:flex-start;}
.pfgoal s{flex:0 0 auto;text-decoration:none;font-size:10px;color:#F6F3EC;
  background:#2F6F5E;border-radius:4px;padding:2px 7px;letter-spacing:.5px;}
.pfgoal b{font-weight:500;font-size:12.5px;line-height:1.75;color:var(--ink);}
#homeBoardSeg{margin:2px 0 10px;}

/* ---------- v0.3：三池并进积分黑框 ---------- */
.hero .hpools{display:flex;margin-top:12px;border-top:1px solid rgba(246,243,236,.12);padding-top:11px;}
.hero .hp{flex:1;min-width:0;}
.hero .hp + .hp{border-left:1px solid rgba(246,243,236,.12);padding-left:12px;}
.hero .hp .k{display:flex;align-items:center;gap:5px;font-size:10.5px;color:#9C968C;}
.hero .hp .k .dot{width:5px;height:5px;border-radius:50%;flex:none;}
.hero .hp .v{display:block;color:#F6F3EC;font-size:16px;font-weight:650;letter-spacing:-.3px;margin-top:3px;}
.hero .hp .v em{font-style:normal;font-size:10px;color:#8C877D;font-weight:400;letter-spacing:0;margin-left:1px;white-space:nowrap;}
.hero .hp .v .arw{float:right;color:#8C877D;font-size:13px;font-weight:400;line-height:1.5;}
/* 可点击的池子（课程 / 任务）：箭头放在标签行末尾，不去挤数字 */
.hero .hp .k .arw{margin-left:auto;color:#8C877D;font-size:12px;font-weight:400;line-height:1;}
.hero .hp .bar{display:block;height:3px;border-radius:2px;background:rgba(246,243,236,.14);margin-top:7px;overflow:hidden;}
.hero .hp .bar i{display:block;height:100%;border-radius:2px;}
.hero .hp .note{display:block;font-size:9px;color:#9C968C;margin-top:6px;letter-spacing:.2px;line-height:1.2;}
.hero .hp.go{cursor:pointer;}

/* ---------- 课程板块：序号 / 直播标记 / 课程详情元信息与选课入口 ---------- */
.course .cd{width:50px;font-size:10px;color:#8C877D;letter-spacing:0;line-height:1.3;
  white-space:nowrap;flex:none;}
.tag-live{margin-left:6px;padding:1px 5px;border-radius:4px;font-style:normal;
  font-size:9px;color:#96634F;background:#F4EDE9;letter-spacing:.3px;vertical-align:1px;}
.cmeta{display:flex;flex-wrap:wrap;gap:6px 10px;padding:0 2px 12px;}
.cmeta span{display:inline-flex;align-items:baseline;gap:5px;font-size:11px;}
.cmeta s{text-decoration:none;color:#9C968C;}
.cmeta b{font-weight:600;color:var(--ink);}
.course-go{display:block;margin:0 0 12px;padding:10px 14px;border-radius:10px;text-align:center;
  background:#1B1A18;color:#F6F3EC;font-size:12.5px;font-weight:600;text-decoration:none;letter-spacing:.3px;}
.course-go:active{opacity:.85;}
.course-tip{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:#F7F4EC;
  font-size:11.5px;line-height:1.7;color:#6C675E;}
.course-tip b{color:var(--ink);}
