:root{
  --bg:#0a0c12; --bg2:#0d1017;
  --panel:#141926; --panel2:#1b2231; --line:rgba(255,255,255,.07); --line2:rgba(255,255,255,.13);
  --text:#eef2f8; --dim:#98a2b3; --faint:#6b7484;
  --accent:#ff4d7d; --accent2:#38bdf8; --gold:#fbbf24; --green:#34d399;
  --radius:14px; --shadow:0 6px 20px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.5;
  background:
    radial-gradient(1100px 520px at 82% -8%,rgba(56,189,248,.10),transparent 60%),
    radial-gradient(900px 480px at 4% 0%,rgba(255,77,125,.10),transparent 55%),
    var(--bg);
  background-attachment:fixed;
}
h1,h2,h3{margin:0}
a{color:inherit}
.hidden{display:none!important}
::selection{background:rgba(56,189,248,.28)}
::-webkit-scrollbar{height:8px;width:8px}
::-webkit-scrollbar-thumb{background:var(--line2);border-radius:8px}

/* ---------- 顶部 ---------- */
.topbar{
  display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  padding:16px clamp(16px,4vw,28px);
  background:linear-gradient(180deg,rgba(24,30,45,.9),rgba(13,16,23,.72));
  border-bottom:1px solid var(--line);backdrop-filter:blur(10px);
  position:sticky;top:0;z-index:30;
}
.brand{display:flex;gap:14px;align-items:center}
.logo{
  font-size:24px;line-height:1;display:grid;place-items:center;width:46px;height:46px;border-radius:13px;
  background:linear-gradient(140deg,rgba(255,77,125,.22),rgba(56,189,248,.22));
  border:1px solid var(--line2);box-shadow:inset 0 0 16px rgba(56,189,248,.12);
}
.brand h1{font-size:20px;font-weight:700;letter-spacing:.3px}
.tag{
  font-size:10px;font-weight:700;color:var(--accent2);letter-spacing:1px;
  border:1px solid rgba(56,189,248,.5);border-radius:6px;padding:2px 6px;vertical-align:middle;margin-left:8px;
}
.sub{margin:4px 0 0;color:var(--dim);font-size:12px;letter-spacing:.2px}
.top-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.status{
  color:var(--dim);font-size:12px;font-variant-numeric:tabular-nums;
  background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:6px 12px;
}

/* ---------- 按钮 ---------- */
.btn{
  border:1px solid var(--line2);background:var(--panel2);color:var(--text);
  padding:8px 15px;border-radius:10px;cursor:pointer;font-size:13px;font-weight:500;
  transition:border-color .15s,background .15s,transform .1s;
}
.btn:hover{border-color:var(--accent2);background:#212a3c}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:transparent}
.btn.pro{background:linear-gradient(90deg,var(--accent),#ff8f5c);border:none;color:#fff;font-weight:600}
.btn.pro.on{background:linear-gradient(90deg,var(--green),#2ea043)}

/* ---------- 分区导航 ---------- */
.zones{
  display:flex;gap:8px;padding:12px clamp(16px,4vw,28px);overflow-x:auto;
  border-bottom:1px solid var(--line);background:rgba(20,25,38,.5);
  scrollbar-width:none;
}
.zones::-webkit-scrollbar{display:none}
.zone{
  white-space:nowrap;padding:6px 15px;border-radius:999px;border:1px solid var(--line);
  background:var(--panel2);color:var(--dim);cursor:pointer;font-size:13px;transition:.15s;
}
.zone:hover{color:var(--text);border-color:var(--line2)}
.zone.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 3px 12px rgba(255,77,125,.35)}
.zone.watch-tab{border-color:#38455c}
.zone.watch-tab.active{background:var(--accent2);border-color:var(--accent2);box-shadow:0 3px 12px rgba(56,189,248,.35)}
.zone.board-tab{border-color:#4a3f26}
.zone.board-tab.active{background:var(--gold);border-color:var(--gold);color:#211704;box-shadow:0 3px 12px rgba(251,191,36,.28)}
.zone.locked::after{content:" 🔒";font-size:11px}

/* ---------- 布局 ---------- */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 344px;gap:22px;padding:22px clamp(16px,4vw,28px);max-width:1440px;margin:0 auto}
@media(max-width:980px){.layout{grid-template-columns:1fr}}

/* ---------- 搜索 ---------- */
.searchbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;margin-bottom:16px}
.searchbar input{
  min-width:0;background:var(--panel);color:var(--text);border:1px solid var(--line2);
  border-radius:12px;padding:12px 16px;font-size:14px;transition:.15s;
}
.searchbar input::placeholder{color:var(--faint)}
.searchbar input:focus{outline:none;border-color:var(--accent2);box-shadow:0 0 0 3px rgba(56,189,248,.14)}
@media(max-width:760px){.searchbar{grid-template-columns:1fr 1fr}.searchbar input{grid-column:1/-1}}

.hits-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.hits-head h2{font-size:16px;font-weight:700}
.sort{color:var(--dim);font-size:13px}
.sort select{background:var(--panel2);color:var(--text);border:1px solid var(--line2);border-radius:8px;padding:6px 10px;cursor:pointer}
@media(max-width:760px){.hits-head{align-items:flex-start;flex-direction:column;gap:10px}}

/* ---------- 爆款卡片 ---------- */
.hit-list{display:flex;flex-direction:column;gap:12px;position:relative}
.hit{
  display:grid;grid-template-columns:38px 128px 1fr auto;gap:16px;align-items:center;
  background:linear-gradient(180deg,var(--panel),rgba(17,22,33,.85));
  border:1px solid var(--line);border-radius:var(--radius);padding:12px;cursor:pointer;position:relative;
  transition:border-color .15s,transform .12s,box-shadow .15s;
}
.hit:hover{border-color:var(--line2);transform:translateY(-2px);box-shadow:var(--shadow)}
.hit.open{border-color:var(--accent2);box-shadow:0 0 0 1px rgba(56,189,248,.25)}
.hit.alert-hit{border-color:rgba(255,77,109,.55);box-shadow:0 0 0 1px rgba(255,77,109,.22)}
.rank{font-size:19px;font-weight:800;color:var(--faint);text-align:center;font-variant-numeric:tabular-nums}
.hit:nth-child(1) .rank{color:var(--gold)}
.hit:nth-child(2) .rank,.hit:nth-child(3) .rank{color:var(--accent)}
.cover{width:128px;height:80px;object-fit:cover;border-radius:10px;background:#0b0f16;border:1px solid var(--line)}
.info{min-width:0}
.title{font-size:14.5px;font-weight:600;line-height:1.4;margin:0 0 7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.title a{color:var(--text);text-decoration:none}
.title a:hover{color:var(--accent2)}
.meta{color:var(--dim);font-size:12px;display:flex;gap:12px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.meta .up{color:var(--accent2)}
.watch-actions{display:flex;gap:8px;margin-top:9px;flex-wrap:wrap}
.mini-btn{border:1px solid var(--line);background:var(--panel2);color:var(--dim);border-radius:8px;padding:4px 10px;font-size:12px;cursor:pointer;transition:.15s}
.mini-btn:hover{color:var(--text);border-color:var(--accent2)}
.mini-btn.on{color:#fff;background:rgba(52,211,153,.16);border-color:var(--green)}
.mini-btn.collect-on{color:#fff7d6;background:rgba(251,191,36,.16);border-color:var(--gold)}

/* 分数区 */
.scorebox{text-align:center;min-width:90px;padding-left:14px;border-left:1px solid var(--line)}
.hot{font-size:27px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.hot.h1{color:#ff4d6d}.hot.h2{color:#ff8f5c}.hot.h3{color:var(--gold)}.hot.h4{color:var(--dim)}
.hotlabel{font-size:10px;color:var(--faint);letter-spacing:1.5px;margin-top:3px}
.parts{display:flex;gap:4px;justify-content:center;margin-top:7px}
.parts span{font-size:10px;color:var(--dim);background:var(--panel2);border:1px solid var(--line);border-radius:5px;padding:1px 5px}
.chip{display:inline-block;font-size:11px;background:rgba(255,77,125,.14);color:#ff9db4;border-radius:6px;padding:1px 7px;margin-left:6px}

.paywall{margin-top:16px;text-align:center;padding:34px;border:1px dashed var(--accent);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,77,125,.08),transparent)}
.paywall h3{margin:0 0 8px;font-size:18px}
.paywall p{color:var(--dim);margin:0 0 16px}

/* ---------- 右侧选题分析 ---------- */
.topics h2{font-size:16px;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:9px}
.topics h2::before{content:"";width:4px;height:16px;border-radius:3px;background:linear-gradient(180deg,var(--accent),var(--accent2))}
.pro-badge{font-size:10px;background:linear-gradient(90deg,var(--accent),#ff8f5c);color:#fff;border-radius:5px;padding:1px 6px;vertical-align:middle}
.topic-box{background:linear-gradient(180deg,var(--panel),rgba(17,22,33,.7));border:1px solid var(--line);border-radius:var(--radius);padding:16px;min-height:200px}
.related-box{min-height:0;margin-bottom:16px}
.topic-head{font-size:13px;color:var(--accent2);font-weight:600;margin-bottom:12px}
.topic-lock{text-align:center;color:var(--dim);padding:30px 10px}
.tsec{margin-bottom:18px}
.tsec:last-child{margin-bottom:0}
.tsec h4{margin:0 0 10px;font-size:12px;color:var(--faint);font-weight:600;letter-spacing:.5px}
.cloud{display:flex;flex-wrap:wrap;gap:8px}
.kw{background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:4px 11px;font-size:13px;transition:.15s}
.kw:hover{border-color:var(--line2)}
.kw b{color:var(--accent)}
.kw .c{color:var(--faint);font-size:11px;margin-left:3px;font-variant-numeric:tabular-nums}
.pat{margin-bottom:8px}
.pat-row{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px;font-variant-numeric:tabular-nums}
.bar{height:6px;background:var(--panel2);border-radius:4px;overflow:hidden}
.bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2))}

.foot{text-align:center;color:var(--faint);font-size:12px;padding:28px 16px;border-top:1px solid var(--line);margin-top:12px}
.foot .icp{display:inline-block;margin-top:8px;color:var(--dim);text-decoration:none}
.foot .icp:hover{color:var(--text);text-decoration:underline}
.loading{color:var(--dim);text-align:center;padding:40px}
.loading.compact{padding:8px 0;text-align:left}

/* ---------- 弹窗 / 兑换（付费流程，当前未启用）---------- */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:100;backdrop-filter:blur(4px)}
.modal-box{position:relative;background:var(--panel);border:1px solid var(--line2);border-radius:16px;padding:32px;width:min(440px,92vw);text-align:center;box-shadow:var(--shadow)}
.modal-box h3{font-size:20px;margin-bottom:8px}
.modal-sub{color:var(--dim);font-size:13px;margin:0 0 22px}
.modal-close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--dim);font-size:18px;cursor:pointer}
.modal-close:hover{color:var(--text)}
.btn.big{width:100%;padding:13px;font-size:15px}
.modal-or{color:var(--dim);font-size:12px;margin:18px 0 12px;position:relative}
.redeem-row{display:flex;gap:8px}
#codeInput{flex:1;background:var(--panel2);border:1px solid var(--line2);color:var(--text);border-radius:8px;padding:10px 12px;font-size:14px;letter-spacing:1px}
#codeInput:focus{outline:none;border-color:var(--accent2)}
.redeem-row .btn{padding:10px 20px;background:var(--accent2);border:none;color:#fff;font-weight:600}
.redeem-msg{margin-top:14px;font-size:13px;min-height:18px}

/* ---------- 趋势曲线 / 生命周期 ---------- */
.pot{font-size:22px;font-weight:800;line-height:1;margin-top:10px;font-variant-numeric:tabular-nums}
.pot.h1{color:#ff4d6d}.pot.h2{color:#ff8f5c}.pot.h3{color:var(--gold)}.pot.h4{color:var(--dim)}
.lc{display:inline-block;font-size:11px;border-radius:6px;padding:1px 8px;margin-left:6px;font-weight:600;vertical-align:middle}
.lc-new{background:#12261a;color:#5fd18a;border:1px solid #1f5236}
.lc-rising{background:#0f2233;color:#5fb8ff;border:1px solid #1f4a6e}
.lc-burst{background:#2a1216;color:#ff7a95;border:1px solid #6e2130}
.lc-stable{background:#26220f;color:var(--gold);border:1px solid #6e5f1f}
.lc-declining{background:#241a0f;color:#ffab5c;border:1px solid #6e4a1f}
.lc-longtail{background:#1a1f26;color:var(--dim);border:1px solid var(--line)}
.alert-badge{display:inline-block;font-size:11px;border-radius:6px;padding:1px 8px;margin-left:6px;font-weight:700;vertical-align:middle;background:#2a1216;color:#ff7a95;border:1px solid #6e2130}

.growthrow{display:flex;gap:12px;margin-top:6px;font-size:12px;color:var(--dim);flex-wrap:wrap;font-variant-numeric:tabular-nums}
.growthrow b{color:var(--green);font-weight:700}
.sparkrow{display:flex;align-items:center;gap:8px;margin-top:7px}
.spark{width:96px;height:26px}
.spark polyline{fill:none;stroke-width:1.6;vector-effect:non-scaling-stroke}
.spark.up polyline{stroke:var(--green)}
.spark.down polyline{stroke:#ff6a6a}
.spark-empty{font-size:11px;color:var(--faint)}
.sparklab{font-size:11px;color:var(--dim)}

.detail{background:var(--panel);border:1px solid var(--accent2);border-radius:12px;margin-top:-4px;padding:16px 18px;animation:fade .2s ease}
@keyframes fade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.detail-inner .dtitle{font-size:14px;font-weight:600;margin-bottom:10px}
.detail-inner .dhint{font-size:12px;color:var(--dim);margin:6px 0 0;line-height:1.6}
.charts{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:760px){.charts{grid-template-columns:1fr}}
.chart .clab{font-size:12px;font-weight:600;margin-bottom:4px}
.chart .clab span{color:var(--dim);font-weight:400;margin-left:6px}
.linechart{width:100%;height:120px;display:block}
.linechart .area{fill:var(--c);opacity:.12;stroke:none}
.linechart .line{fill:none;stroke:var(--c);stroke-width:2;vector-effect:non-scaling-stroke}
.linechart circle{fill:var(--c)}

/* ---------- 我的关注 ---------- */
.watch-summary{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-items:baseline;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.watch-summary b{font-size:26px;color:var(--dim);font-variant-numeric:tabular-nums}
.watch-summary.has-alert{border-color:#ff4d6d;background:rgba(255,77,109,.08)}
.watch-summary.has-alert b{color:#ff4d6d}
.watch-summary span{font-weight:700}
.watch-summary em{grid-column:1/-1;color:var(--dim);font-size:12px;font-style:normal;line-height:1.6}
.watch-section{display:flex;flex-direction:column;gap:12px}
.watch-section h3{margin:10px 0 0;font-size:14px;color:var(--text)}
.watch-empty{background:var(--panel);border:1px dashed var(--line2);border-radius:12px;color:var(--dim);padding:34px;text-align:center}
.watch-empty.small{padding:18px;text-align:left}

/* ---------- 选题工作台 ---------- */
.board-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px;
}
.board-filters{display:flex;gap:7px;flex-wrap:wrap}
.board-tools{display:flex;align-items:center;gap:10px;color:var(--dim);font-size:12px;font-variant-numeric:tabular-nums}
.board-list{display:flex;flex-direction:column;gap:12px}
.board-card{
  display:grid;grid-template-columns:128px minmax(0,1fr) 128px;gap:16px;align-items:start;
  background:linear-gradient(180deg,var(--panel),rgba(17,22,33,.85));
  border:1px solid var(--line);border-radius:var(--radius);padding:12px;
}
.board-cover{width:128px;height:80px}
.board-main{min-width:0}
.board-note{
  width:100%;min-height:78px;margin-top:10px;resize:vertical;
  background:var(--panel2);border:1px solid var(--line2);border-radius:10px;color:var(--text);
  padding:10px 12px;font:inherit;line-height:1.5;
}
.board-note::placeholder{color:var(--faint)}
.board-note:focus{outline:none;border-color:var(--accent2);box-shadow:0 0 0 3px rgba(56,189,248,.12)}
.board-side{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.board-status{background:var(--panel2);color:var(--text);border:1px solid var(--line2);border-radius:8px;padding:7px 10px;cursor:pointer}
.board-remove:hover{border-color:var(--accent);color:#ff9db4}

/* ---------- 全网热搜 ---------- */
.hs-h2{font-size:16px;font-weight:700;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.hs-note{font-size:11px;color:var(--faint);font-weight:400;letter-spacing:0}
.hs-tabs{display:flex;gap:6px;margin:12px 0;flex-wrap:wrap}
.hs-tab{padding:5px 13px;border-radius:999px;border:1px solid var(--line);background:var(--panel2);color:var(--dim);cursor:pointer;font-size:12px;transition:.15s}
.hs-tab:hover{color:var(--text);border-color:var(--line2)}
.hs-tab.active{background:var(--accent2);color:#fff;border-color:var(--accent2)}
.hs-list{list-style:none;margin:0;padding:0}
.hs-list li{display:flex;align-items:flex-start;gap:10px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px;line-height:1.45}
.hs-rank{flex:0 0 20px;text-align:center;color:var(--faint);font-weight:700;font-size:12px;font-variant-numeric:tabular-nums}
.hs-list li:nth-child(1) .hs-rank,.hs-list li:nth-child(2) .hs-rank,.hs-list li:nth-child(3) .hs-rank{color:var(--accent)}
.hs-list a{color:var(--text);text-decoration:none}
.hs-list a:hover{color:var(--accent2);text-decoration:underline}
.hs-foot{font-size:11px;color:var(--faint);margin-top:10px;line-height:1.5}

/* ---------- 移动端 ---------- */
@media(max-width:760px){
  body{font-size:13.5px}
  .topbar{padding:12px 16px}
  .brand h1{font-size:18px}
  .logo{width:40px;height:40px;font-size:21px}
  .hit{grid-template-columns:30px 104px 1fr;gap:12px;align-items:flex-start;padding:11px}
  .cover{width:104px;height:64px}
  .scorebox{grid-column:2/-1;display:flex;align-items:center;gap:16px;text-align:left;min-width:0;padding-left:0;border-left:none;border-top:1px solid var(--line);margin-top:10px;padding-top:10px;width:100%}
  .scorebox .hotlabel{margin-top:0}
  .pot{margin-top:0}
  .parts{justify-content:flex-start}
  .board-toolbar{align-items:flex-start;flex-direction:column}
  .board-tools{width:100%;justify-content:space-between}
  .board-card{grid-template-columns:104px minmax(0,1fr);gap:12px}
  .board-cover{width:104px;height:64px}
  .board-side{grid-column:1/-1;flex-direction:row}
  .board-status{flex:1}
}
@media(max-width:420px){
  .hit{grid-template-columns:1fr;gap:10px}
  .rank{position:absolute;top:8px;left:8px;z-index:2;width:26px;height:26px;line-height:26px;border-radius:8px;background:rgba(10,12,18,.72);font-size:14px}
  .cover{width:100%;height:180px}
  .info{padding-left:0}
  .board-card{grid-template-columns:1fr}
  .board-cover{width:100%;height:180px}
}
