
:root,:root[data-theme="dark"]{--bg:#05070c;--card:#0b0e17;--card2:#10141f;--line:rgba(255,255,255,.06);--line2:rgba(255,255,255,.11);
--ink:#e8ecf3;--ink2:#a7afc0;--muted:#6b7488;--up:#00ffcc;--dn:#ff3366;--warn:#ffb020;--cool:#5b8cff;--lime:#a3e635;--lime-ink:#a3e635;
--on-lime:#05070c;--up-bg:rgba(0,255,204,.08);--dn-bg:rgba(255,51,102,.09);--warn-bg:rgba(255,176,32,.09);--cool-bg:rgba(91,140,255,.10);
--up-bd:rgba(0,255,204,.35);--dn-bd:rgba(255,51,102,.4);--warn-bd:rgba(255,176,32,.4);--cool-bd:rgba(91,140,255,.45);
--lime-bg:rgba(163,230,53,.07);--lime-bd:rgba(163,230,53,.45);--hover:rgba(255,255,255,.035);--wash:rgba(255,255,255,.015);
--glass1:rgba(255,255,255,.035);--glass2:rgba(255,255,255,.01);--side:rgba(7,9,15,.92);--topbar:rgba(5,7,12,.9);--thead:#0d111b;
--glow1:rgba(0,255,204,.07);--glow2:rgba(163,230,53,.05);--scrim:rgba(0,0,0,.55);--toast:#11161f;--grid:rgba(255,255,255,.06);
--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--s5:#d55181;--s6:#008300;--s7:#9085e9;--s8:#e66767;--s9:#5b6274;
--c-solana:#c084fc;--c-robinhood:#4ade80;--c-bsc:#fbbf24;--c-base:#60a5fa;--c-arc:#22d3ee;--c-monad:#a78bfa;--c-ethereum:#94a3b8;--c-other:#4b5364;
--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;
color-scheme:dark}
:root[data-theme="light"]{--bg:#f5f7fa;--card:#ffffff;--card2:#f0f3f7;--line:rgba(15,23,42,.08);--line2:rgba(15,23,42,.15);
--ink:#0f172a;--ink2:#475569;--muted:#64748b;--up:#059669;--dn:#e11d48;--warn:#b45309;--cool:#2563eb;--lime:#a3e635;--lime-ink:#4d7c0f;
--on-lime:#14210a;--up-bg:rgba(5,150,105,.08);--dn-bg:rgba(225,29,72,.07);--warn-bg:rgba(180,83,9,.08);--cool-bg:rgba(37,99,235,.08);
--up-bd:rgba(5,150,105,.35);--dn-bd:rgba(225,29,72,.35);--warn-bd:rgba(180,83,9,.35);--cool-bd:rgba(37,99,235,.35);
--lime-bg:rgba(132,204,22,.12);--lime-bd:rgba(77,124,15,.45);--hover:rgba(15,23,42,.04);--wash:rgba(15,23,42,.02);
--glass1:rgba(255,255,255,.92);--glass2:rgba(255,255,255,.80);--side:rgba(255,255,255,.94);--topbar:rgba(255,255,255,.92);--thead:#f3f5f8;
--glow1:rgba(5,150,105,.06);--glow2:rgba(132,204,22,.07);--scrim:rgba(15,23,42,.35);--toast:#ffffff;--grid:rgba(15,23,42,.07);
--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--s4:#eda100;--s5:#e87ba4;--s6:#008300;--s7:#4a3aa7;--s8:#e34948;--s9:#94a3b8;
--c-solana:#9333ea;--c-robinhood:#16a34a;--c-bsc:#b45309;--c-base:#2563eb;--c-arc:#0891b2;--c-monad:#7c3aed;--c-ethereum:#64748b;--c-other:#94a3b8;
color-scheme:light}
*{box-sizing:border-box}
html,body{background:var(--bg);margin:0}
body{color:var(--ink);font:14.5px/1.65 var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
background:radial-gradient(700px 420px at 12% -8%,var(--glow1),transparent 70%),radial-gradient(640px 420px at 100% 108%,var(--glow2),transparent 70%)}
a{color:inherit}
a:hover{color:var(--lime-ink)}
.num,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
svg.ic{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---- 外壳：左侧常驻导航 ---- */
.side{position:fixed;top:0;left:0;bottom:0;width:236px;z-index:30;background:var(--side);
border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 14px;backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;padding:4px 6px 14px}
.brand .av{width:38px;height:38px;border-radius:50%;box-shadow:0 0 0 1.5px var(--lime),0 0 18px rgba(163,230,53,.25)}
.brand b{display:block;font-size:15px;font-weight:700;letter-spacing:.2px;color:var(--ink)}
.brand i{display:block;font-style:normal;font-family:var(--mono);font-size:9.5px;letter-spacing:1.4px;color:var(--muted);margin-top:2px}
.tools{display:flex;align-items:center;gap:8px;padding:0 6px 14px;border-bottom:1px solid var(--line);margin-bottom:10px}
.lang{display:inline-flex;border:1px solid var(--line2);border-radius:8px;overflow:hidden;font:600 11.5px/1 var(--sans)}
.lang a{padding:6px 10px;text-decoration:none;color:var(--ink2)}
.lang a.on{background:var(--lime);color:var(--on-lime)}
.lang a:not(.on):hover{background:var(--hover);color:var(--ink)}
.thm{display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;border:1px solid var(--line2);border-radius:8px;
background:transparent;color:var(--ink2);cursor:pointer;padding:0}
.thm:hover{color:var(--ink);background:var(--hover)}
.thm .sun{display:none}.thm .moon{display:block}
:root[data-theme="light"] .thm .sun{display:block}:root[data-theme="light"] .thm .moon{display:none}
.snav{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}
.sgrp{font-family:var(--mono);font-size:10px;letter-spacing:1.6px;color:var(--muted);padding:12px 10px 6px;text-transform:uppercase}
.snav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--ink2);
font-size:13.5px;position:relative;transition:background .15s,color .15s}
.snav a:hover{background:var(--hover);color:var(--ink)}
.snav a.on{background:var(--lime-bg);color:var(--ink)}
.snav a.on:before{content:"";position:absolute;left:-14px;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:var(--lime)}
.snav a.on svg.ic{color:var(--lime-ink)}
.sfoot{border-top:1px solid var(--line);padding:14px 6px 0;font-size:11.5px;color:var(--muted);line-height:1.6}
.live{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10.5px;color:var(--ink2)}
.live i{width:7px;height:7px;border-radius:50%;background:var(--up);box-shadow:0 0 8px var(--up);animation:pulse 2.4s infinite}
@keyframes pulse{50%{opacity:.35}}
.sfoot a{display:inline-block;margin-top:8px;color:var(--ink2);text-decoration:none;font-family:var(--mono);font-size:11.5px}
.sfoot p{margin:8px 0 0;font-size:10.5px}
.main{margin-left:236px;position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}
.mi{width:100%;max-width:1280px;margin:0 auto;padding:26px 36px 56px;flex:1}
.mi.narrow{max-width:900px}
.foot{border-top:1px solid var(--line);color:var(--muted);font-size:11.5px;padding:18px 36px;display:flex;gap:10px 22px;flex-wrap:wrap}
.foot a{color:var(--muted)}
.topbar{display:none}
.navtg{display:none}
@media (max-width:960px){
 .side{transform:translateX(-100%);transition:transform .2s;width:264px}
 .navtg:checked~.side{transform:none}
 .navtg:checked~.scrim{display:block}
 .scrim{display:none;position:fixed;inset:0;background:var(--scrim);z-index:25}
 .main{margin-left:0}
 .topbar{display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:20;padding:10px 16px;
  background:var(--topbar);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
 .topbar label{cursor:pointer;display:flex;padding:6px;border:1px solid var(--line2);border-radius:8px}
 .topbar .home{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;font-size:14px;min-width:0}
 .topbar .home span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .topbar img{width:26px;height:26px;border-radius:50%;box-shadow:0 0 0 1.5px var(--lime)}
 .topbar .sp{flex:1}
 .mi{padding:18px 16px 40px}
 .ph .stamp{text-align:left}
 .foot{padding:16px}
}

/* ---- 面包屑 ---- */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12.5px;color:var(--muted);margin:0 0 14px}
.crumbs a{color:var(--ink2);text-decoration:none;border-bottom:1px dashed var(--line2)}
.crumbs a:hover{color:var(--lime-ink);border-color:var(--lime-ink)}
.crumbs .sep{opacity:.6}
.crumbs .cur{color:var(--ink)}

/* ---- 页头 ---- */
.ph{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 24px;margin-bottom:22px}
.eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:1.8px;color:var(--lime-ink);text-transform:uppercase}
h1{font:700 26px/1.25 var(--sans);letter-spacing:-.2px;margin:6px 0 0}
h2{font:600 17px/1.35 var(--sans);margin:34px 0 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
h2 .sub{font-weight:400;font-size:12.5px;color:var(--muted)}
h3{font:600 14.5px/1.4 var(--sans);margin:22px 0 8px}
.lede{color:var(--ink2);max-width:78ch;margin:10px 0 0;font-size:14px}
.stamp{font-family:var(--mono);font-size:11px;color:var(--muted);text-align:right;line-height:1.7}
.stamp b{color:var(--ink2);font-weight:500}
.note{border:1px dashed var(--line2);border-radius:10px;padding:10px 14px;font-size:12.5px;color:var(--ink2);margin:0 0 16px;background:var(--wash)}

/* ---- 卡片 ---- */
.glass{background:linear-gradient(180deg,var(--glass1),var(--glass2));border:1px solid var(--line);
border-radius:14px;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px}
.grid{display:grid;gap:12px}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1100px){.g4,.g5{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.g4,.g3,.g2,.g5{grid-template-columns:1fr}}

.verdict{padding:20px 22px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:14px;position:relative;overflow:hidden}
.verdict:after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;
background:radial-gradient(circle,var(--glow1),transparent 70%)}
.verdict .lbl{font-family:var(--mono);font-size:10px;letter-spacing:1.6px;color:var(--muted);text-transform:uppercase}
.verdict .txt{font-size:17px;font-weight:600;line-height:1.5;margin:6px 0 10px;max-width:70ch}
.verdict .body{flex:1;min-width:260px}
.l1line{font-family:var(--mono);font-size:11.5px;color:var(--ink2);line-height:1.7;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line2);word-break:break-word}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;padding:3px 9px;border-radius:999px;
border:1px solid var(--line2);color:var(--ink2);white-space:nowrap}
.chip i{width:6px;height:6px;border-radius:50%;background:currentColor}
.t-up{color:var(--up)}.t-dn{color:var(--dn)}.t-warn{color:var(--warn)}.t-cool{color:var(--cool)}.t-neutral{color:var(--ink2)}
.chip.t-up{border-color:var(--up-bd);background:var(--up-bg)}.chip.t-dn{border-color:var(--dn-bd);background:var(--dn-bg)}
.chip.t-warn{border-color:var(--warn-bd);background:var(--warn-bg)}.chip.t-cool{border-color:var(--cool-bd);background:var(--cool-bg)}
.grade{font-family:var(--mono);font-size:9.5px;border-radius:4px;padding:0 5px;border:1px solid var(--line2);color:var(--muted);white-space:nowrap;font-weight:400}
.grade.g-v{color:var(--up);border-color:var(--up-bd)}.grade.g-d{color:var(--cool);border-color:var(--cool-bd)}.grade.g-o{color:var(--warn);border-color:var(--warn-bd)}

.hero{padding:16px 18px 12px;position:relative;overflow:hidden;text-decoration:none;display:block}
.hero .k{font-size:11.5px;color:var(--muted);display:flex;justify-content:space-between;gap:8px}
.hero .k span{font-family:var(--mono);font-size:10px;letter-spacing:.6px}
.hero .v{font:600 25px/1.2 var(--mono);letter-spacing:-.5px;margin:8px 0 4px}
.hero .s{font-size:12px;color:var(--ink2)}
.hero svg.spk{margin-top:10px;width:100%;height:34px}
a.hero:hover{border-color:var(--line2)}

.sig{padding:16px 18px;text-decoration:none;display:block;border-top:2px solid var(--line2)}
.sig:hover{background:var(--card2);color:inherit}
.sig .n{font-family:var(--mono);font-size:10px;letter-spacing:1.4px;color:var(--muted)}
.sig .q{font-size:12px;color:var(--muted);margin-top:2px}
.sig .v{font-size:15px;font-weight:600;margin:10px 0 8px;line-height:1.4}
.sig ul{list-style:none;margin:0;padding:0;font-size:12px;color:var(--ink2)}
.sig li{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-top:1px dashed var(--line)}
.sig li b{font-family:var(--mono);font-weight:500;color:var(--ink);text-align:right}
.sig.t-up{border-top-color:var(--up)}.sig.t-dn{border-top-color:var(--dn)}.sig.t-warn{border-top-color:var(--warn)}.sig.t-cool{border-top-color:var(--cool)}

/* ---- 异动预警看台 ---- */
.board{padding:0;overflow:hidden}
.board-hd{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.board-hd b{font-size:13.5px}
.board-hd .dot{width:8px;height:8px;border-radius:50%;background:var(--dn);box-shadow:0 0 10px var(--dn);animation:pulse 1.6s infinite}
.board-hd .sp{flex:1}
.ticker{overflow:hidden;white-space:nowrap;border-bottom:1px solid var(--line);background:var(--wash);
-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ticker-track{display:inline-flex;gap:38px;padding:9px 0;animation:tick 70s linear infinite;font-family:var(--mono);font-size:12px}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-track span{color:var(--ink2)}.ticker-track span b{font-weight:500}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}
.alerts{list-style:none;margin:0;padding:6px 0}
.alerts li{display:flex;gap:12px;align-items:flex-start;padding:8px 16px;font-size:13px;border-bottom:1px solid var(--line)}
.alerts li:last-child{border-bottom:none}
.alerts .lv{font-family:var(--mono);font-size:10px;padding:1px 6px;border-radius:4px;flex:none;margin-top:2px}
.alerts .lv.h{color:var(--dn);background:var(--dn-bg);border:1px solid var(--dn-bd)}
.alerts .lv.m{color:var(--warn);background:var(--warn-bg);border:1px solid var(--warn-bd)}
.alerts .d{font-family:var(--mono);font-size:11px;color:var(--muted);flex:none;margin-top:1px}
.quiet{padding:14px 16px;color:var(--muted);font-size:13px}

.btn{display:inline-flex;align-items:center;gap:7px;font:600 12px/1 var(--sans);padding:8px 12px;border-radius:8px;
border:1px solid var(--lime-bd);color:var(--lime-ink);background:var(--lime-bg);cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{filter:brightness(1.1);color:var(--lime-ink)}
.btn.ghost{border-color:var(--line2);color:var(--ink2);background:transparent}
.btn.ghost:hover{color:var(--ink);border-color:var(--ink2)}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);opacity:0;z-index:99;
background:var(--toast);border:1px solid var(--line2);color:var(--ink);padding:10px 16px;border-radius:10px;font-size:13px;transition:.25s;pointer-events:none}
.toast.on{opacity:1;transform:translateX(-50%)}

/* ---- 指标卡（宏观仪表盘） ---- */
.layer{margin-top:34px;scroll-margin-top:20px}
.layer-hd{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:12px}
.layer-hd .no{font-family:var(--mono);font-size:11px;color:var(--lime-ink);border:1px solid var(--lime-bd);border-radius:6px;padding:2px 7px}
.layer-hd h2{margin:0}
.layer-hd .why{font-size:12.5px;color:var(--muted);width:100%}
.grp{font-family:var(--mono);font-size:10.5px;letter-spacing:1.2px;color:var(--muted);margin:18px 0 8px;display:flex;align-items:center;gap:10px}
.grp:after{content:"";flex:1;height:1px;background:var(--line)}
a.ind{text-decoration:none;color:inherit;transition:border-color .15s,background .15s}
a.ind:hover{border-color:var(--lime-bd);background:var(--card2);color:inherit}
.ind{padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-height:168px}
.ind .top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.ind .nm{font-size:13px;font-weight:600;display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}
.ind .v{font:600 22px/1.2 var(--mono);letter-spacing:-.4px}
.ind .b{font-size:12px;color:var(--ink2)}
.ind .ft{margin-top:auto;display:flex;justify-content:space-between;gap:8px;font-size:10.5px;color:var(--muted);font-family:var(--mono)}
.ind .ft .stale{color:var(--warn)}
.ind .ft .go{color:var(--lime-ink)}
.ind svg.spk{width:100%;height:32px}
.ind.obs{opacity:.75}
.pend{padding:12px 14px;border:1px dashed var(--line2);border-radius:12px;font-size:12px;color:var(--muted)}
.pend b{display:block;color:var(--ink2);font-size:12.5px;margin-bottom:3px;font-weight:600}
.src{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}

/* ---- FAQ ---- */
.faqs{display:grid;gap:8px}
.faq summary{cursor:pointer;padding:12px 16px;font-weight:600;font-size:13.5px;list-style:none;display:flex;justify-content:space-between;gap:10px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";color:var(--muted);font-family:var(--mono)}
.faq[open] summary:after{content:"−"}
.faq p{margin:0;padding:0 16px 14px;color:var(--ink2);font-size:13.5px;line-height:1.75}

/* ---- 情境格 ---- */
.scen{display:grid;grid-template-columns:150px repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:12.5px}
.scen>div{background:var(--card);padding:10px 12px}
.scen .h{font-size:11px;color:var(--muted);font-family:var(--mono)}
.scen .r{color:var(--ink2);font-size:12px}
.scen .c b{display:block;font:600 16px/1.3 var(--mono)}
.scen .c span{font-size:11px;color:var(--muted)}
.scen .c.on{outline:2px solid var(--lime);outline-offset:-2px;background:var(--lime-bg)}
.scen .c.worst:after{content:attr(data-w);display:block;font-size:10.5px;color:var(--warn);margin-top:2px}
@media(max-width:760px){.scen{grid-template-columns:110px repeat(4,minmax(86px,1fr));overflow-x:auto}}
.scen-wrap{overflow-x:auto}

/* ---- 表格 ---- */
.tw{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--card)}
table{border-collapse:collapse;width:100%;font-size:13px}
th{font-size:10.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);font-weight:600;text-align:right;
padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--wash)}
td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;font-family:var(--mono);font-variant-numeric:tabular-nums}
th.l,td.l{text-align:left}
td.l{font-family:var(--sans)}
td.wrap{white-space:normal;font-family:var(--sans)}
tr:last-child td{border-bottom:none}
tbody tr:hover td{background:var(--hover)}
tr.cur td{background:var(--lime-bg)}
td.rk{color:var(--muted);width:1%;font-size:11.5px}
th.hl{color:var(--lime-ink)} td.hl{color:var(--ink);background:var(--lime-bg)}
.pname{display:flex;align-items:center;gap:9px;font-weight:600}
.pname img{width:18px;height:18px;border-radius:50%;background:var(--card2);flex:none}
.pname a{text-decoration:none}
.pname .deep{font-family:var(--mono);font-size:9px;color:var(--lime-ink);border:1px solid var(--lime-bd);border-radius:3px;padding:0 4px;font-weight:500}
.badge{display:inline-block;font-family:var(--mono);font-size:10px;padding:1px 7px;border-radius:999px;border:1px solid currentColor;margin-left:4px;opacity:.9;font-weight:400}
.b-solana{color:var(--c-solana)}.b-robinhood{color:var(--c-robinhood)}.b-bsc{color:var(--c-bsc)}.b-base{color:var(--c-base)}.b-arc{color:var(--c-arc)}
.b-monad{color:var(--c-monad)}.b-ethereum{color:var(--c-ethereum)}.b-other{color:var(--muted)}
.d.up{color:var(--up)}.d.dn{color:var(--dn)}.d{color:var(--ink2)}
svg.spk{display:block;width:92px;height:26px;margin-left:auto}
.tw.scroll{max-height:720px;overflow:auto}.tw.scroll thead th{position:sticky;top:0;z-index:2;background:var(--thead)}
.tnote{font-size:12px;color:var(--muted);margin:10px 2px 0;line-height:1.7}
.share{display:flex;align-items:center;gap:8px;min-width:120px}
.share .bar{flex:1;height:8px;background:var(--wash);border-radius:4px;overflow:hidden;min-width:70px}
.share .bar i{display:block;height:100%;border-radius:0 4px 4px 0}
.share b{font-weight:500;min-width:44px;text-align:right}
.zbar{display:inline-block;height:8px;border-radius:0 4px 4px 0;vertical-align:middle;margin-right:8px;opacity:.8}

/* ---- 过滤器 ---- */
.fbar{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:12px 14px;margin:0 0 12px}
.fg{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.fg .fl{font-family:var(--mono);font-size:10px;letter-spacing:1.2px;color:var(--muted);text-transform:uppercase;margin-right:2px}
.pill{font:500 12px/1 var(--sans);padding:6px 10px;border-radius:7px;border:1px solid var(--line2);color:var(--ink2);background:transparent;cursor:pointer}
.pill:hover{color:var(--ink);border-color:var(--ink2)}
.pill.on{color:var(--on-lime);background:var(--lime);border-color:var(--lime)}
.pill small{font-family:var(--mono);font-size:10px;opacity:.75;margin-left:4px}
.fcount{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--muted)}
.chainbar{display:flex;height:8px;border-radius:5px;overflow:hidden;margin:12px 0 6px;background:var(--card2);gap:2px}
.chainbar i{display:block;height:100%}
.chainleg{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:11.5px;color:var(--ink2)}
.chainleg span{display:inline-flex;align-items:center;gap:6px}.chainleg i{width:8px;height:8px;border-radius:2px}
.chainleg b{font-family:var(--mono);font-weight:500;color:var(--ink)}

/* ---- 静态小图 / 交互图 ---- */
.plot{overflow-x:auto}
.tsvg{display:block;width:100%;min-width:520px;height:auto}
.tsvg .gl{stroke:var(--grid);stroke-width:1}
.tsvg .ax{fill:var(--muted);font-size:10.5px;font-family:var(--mono)}
.legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;color:var(--ink2);margin:4px 0 8px}
.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:3px;border-radius:2px}
.legend i.box{width:10px;height:10px;border-radius:2px}
.legend b{font-family:var(--mono);color:var(--ink);font-weight:500}
.uc-chart{position:relative}
.uc-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0 0 8px}
.uc-bar .fg{gap:4px}
.uc-plot{position:relative;width:100%;touch-action:pan-y}
.uc-plot svg{display:block;width:100%;overflow:visible}
.uc-plot .gl{stroke:var(--grid);stroke-width:1}
.uc-plot .ax{fill:var(--muted);font-size:10.5px;font-family:var(--mono)}
.uc-plot .thr{stroke-width:1;stroke-dasharray:4 4;opacity:.85}
.uc-plot .thl{font-size:10px;font-family:var(--sans)}
.uc-plot .zero{stroke:var(--line2);stroke-width:1}
.uc-plot .xh{stroke:var(--ink2);stroke-width:1;opacity:.6}
.uc-tip{position:absolute;pointer-events:none;z-index:5;background:var(--card);border:1px solid var(--line2);border-radius:8px;
padding:8px 10px;font-size:12px;min-width:150px;box-shadow:0 6px 24px rgba(0,0,0,.25);display:none}
.uc-tip .td{font-family:var(--mono);font-size:10.5px;color:var(--muted);margin-bottom:4px}
.uc-tip .tr{display:flex;align-items:center;gap:8px;line-height:1.55}
.uc-tip .tr i{width:10px;height:2px;border-radius:1px;flex:none}
.uc-tip .tr b{font-family:var(--mono);font-weight:600;color:var(--ink);margin-left:auto;padding-left:10px}
.uc-tip .tr span{color:var(--ink2)}
.uc-empty{padding:30px 10px;text-align:center;color:var(--muted);font-size:12.5px;border:1px dashed var(--line2);border-radius:10px}
.uc-note{font-size:11.5px;color:var(--muted);margin-top:6px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.stats>div{background:var(--card);padding:12px 14px}
.stats .k{font-size:11px;color:var(--muted)}.stats .v{font:600 17px/1.3 var(--mono);margin-top:4px}.stats .s{font-size:11px;color:var(--muted)}
@media(max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gauge{position:relative;height:26px;margin:14px 0 4px}
.gauge .trk{position:absolute;left:0;right:0;top:10px;height:6px;border-radius:3px;background:var(--card2)}
.gauge .iqr{position:absolute;top:10px;height:6px;background:var(--cool-bg);border:1px solid var(--cool-bd);border-radius:3px}
.gauge .p90{position:absolute;top:8px;height:10px;border-left:1px solid var(--line2);border-right:1px solid var(--line2)}
.gauge .now{position:absolute;top:2px;width:3px;height:22px;background:var(--ink);border-radius:2px;transform:translateX(-1px)}
.gauge-lbl{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;color:var(--muted)}

/* ---- 列表 / 日志 ---- */
.list{list-style:none;margin:0;padding:0}
.list li{display:flex;gap:14px;align-items:baseline;padding:11px 16px;border-bottom:1px solid var(--line)}
.list li:last-child{border-bottom:none}
.list .d{font-family:var(--mono);font-size:11.5px;color:var(--muted);flex:none;min-width:92px}
.list a{text-decoration:none;font-weight:600}
.list .s{display:block;font-size:12.5px;color:var(--ink2);margin-top:3px;font-weight:400}
.list .x{margin-left:auto;flex:none}
.empty{padding:18px 20px;color:var(--ink2);font-size:13px;border:1px dashed var(--line2);border-radius:12px}
.pager{display:flex;justify-content:space-between;gap:10px;margin-top:26px;font-size:13px}
.pager a{text-decoration:none;color:var(--ink2)}
.cmt{border-left:3px solid var(--lime);padding:14px 18px;background:var(--lime-bg);border-radius:0 10px 10px 0;margin-top:12px}
.cmt p{margin:0 0 10px}.cmt p:last-child{margin:0}

/* ---- 分析报告 ---- */
.rcard{padding:18px 20px;text-decoration:none;display:flex;flex-direction:column;gap:8px}
a.rcard:hover{border-color:var(--lime-bd);color:inherit}
.rcard .d{font-family:var(--mono);font-size:11px;color:var(--muted)}
.rcard b{font-size:16px;line-height:1.4}
.rcard p{margin:0;font-size:13px;color:var(--ink2)}
.rsum{padding:18px 22px;margin:6px 0 22px}
.rsum h4{margin:0 0 8px;font-size:12px;letter-spacing:1px;color:var(--lime-ink);font-family:var(--mono);text-transform:uppercase}
.rsum ul{margin:8px 0 0;padding-left:20px}.rsum li{margin:4px 0}
.rbody{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px 30px;overflow-x:auto}
@media(max-width:640px){.rbody{padding:16px}}

/* ---- 板块轮动 ---- */
.cat{padding:13px 14px;display:flex;flex-direction:column;gap:4px}
.cat .nm{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cat .v{font:600 19px/1.2 var(--mono)}
.cat .s{font-size:11px;color:var(--muted);font-family:var(--mono)}
.cat .t3{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cat.t-up{box-shadow:inset 0 2px 0 var(--up)}.cat.t-dn{box-shadow:inset 0 2px 0 var(--dn)}

/* ---- 文章（手写 md） ---- */
.article{max-width:74ch;font-size:15px;line-height:1.8}
.article p{margin:0 0 14px}
.article blockquote{margin:0 0 14px;padding:8px 18px;border-left:3px solid var(--lime);color:var(--ink2);background:var(--wash);border-radius:0 8px 8px 0}
.article code{background:var(--hover);padding:1px 5px;border-radius:4px;font-family:var(--mono);font-size:.88em}
.article ul{padding-left:22px}.article li{margin:0 0 7px}
.callout{border-left:3px solid var(--lime);background:var(--lime-bg);padding:14px 18px;margin:20px 0;border-radius:0 10px 10px 0}
.callout h4{margin:0 0 6px;font-size:13px;color:var(--lime-ink)}
.callout.blue{border-color:var(--cool);background:var(--cool-bg)}.callout.blue h4{color:var(--cool)}
.callout.red{border-color:var(--dn);background:var(--dn-bg)}.callout.red h4{color:var(--dn)}
.callout.green,.callout.gray{border-color:var(--up);background:var(--up-bg)}.callout.green h4,.callout.gray h4{color:var(--up)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:20px 0}
.kpi{background:var(--card);padding:14px}.kpi .k{font-size:11px;color:var(--muted)}.kpi .v{font:600 22px/1.2 var(--mono)}.kpi .s{font-size:11.5px;color:var(--muted)}

/* ---- 分享长图舞台（屏幕外渲染，html2canvas 截图；长图固定深色） ---- */
.sc{position:fixed;left:-12000px;top:0;width:1080px;padding:54px 56px 40px;background:#05070c;color:#e8ecf3;font-family:var(--sans);
--ink:#e8ecf3;--ink2:#a7afc0;--muted:#6b7488;--up:#00ffcc;--dn:#ff3366;--warn:#ffb020;--cool:#5b8cff;--line:rgba(255,255,255,.06);--line2:rgba(255,255,255,.11);
--up-bg:rgba(0,255,204,.08);--dn-bg:rgba(255,51,102,.09);--warn-bg:rgba(255,176,32,.09);--cool-bg:rgba(91,140,255,.10);--card:#0b0e17;--wash:rgba(255,255,255,.015);
background-image:radial-gradient(700px 400px at 0% 0%,rgba(0,255,204,.10),transparent 70%),radial-gradient(600px 400px at 100% 100%,rgba(163,230,53,.08),transparent 70%)}
.sc-hd{display:flex;align-items:center;gap:16px}
.sc-hd img{width:64px;height:64px;border-radius:50%;box-shadow:0 0 0 3px #a3e635}
.sc-hd b{display:block;font-size:26px}.sc-hd i{display:block;font-style:normal;font-family:var(--mono);font-size:16px;color:#8c94a6;margin-top:2px}
.sc-date{margin-left:auto;font-family:var(--mono);font-size:18px;color:#a7afc0;text-align:right}
.sc-title{font-size:40px;font-weight:700;margin:34px 0 8px;letter-spacing:-.5px}
.sc-sub{font-size:19px;color:#a7afc0;margin-bottom:24px;line-height:1.5}
.sc table{font-size:20px}.sc th{font-size:14px;padding:12px 14px}.sc td{padding:13px 14px}
.sc .sc-box{border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#0b0e17;overflow:hidden;margin-bottom:22px}
.sc .sc-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.sc .sc-kpi{border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#0b0e17;padding:18px}
.sc .sc-kpi .k{font-size:15px;color:#8c94a6}.sc .sc-kpi .v{font:600 30px/1.2 var(--mono);margin-top:8px}.sc .sc-kpi .s{font-size:15px;margin-top:4px}
.sc .sc-al{list-style:none;margin:0;padding:6px 0;font-size:19px}.sc .sc-al li{padding:11px 20px;border-bottom:1px solid rgba(255,255,255,.06)}
.sc .sc-al li:last-child{border:none}
.sc .chip{font-size:17px;padding:6px 14px}
.sc-ft{display:flex;gap:24px;align-items:center;margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);font-family:var(--mono);font-size:15px;color:#6b7488}
.sc-ft b{color:#a3e635;font-size:18px}
