*{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#f3f6fb;--bg-soft:#e9eef7;--card:#ffffff;--border:#e2e9f3;--text:#1b2537;--muted:#64748f;--faint:#94a3b8;--primary:#1b5cc6;--primary-weak:#e8effc;--accent:#0e9f9f;--accent-weak:#e2f6f6;--up:#d93a3a;--up-weak:#fdeeee;--down:#0a9d6d;--down-weak:#e6f7f1;--warn:#d97706;--warn-weak:#fdf3e3;--shadow:0 1px 2px rgba(16,32,64,.05),0 6px 20px rgba(16,32,64,.06);--shadow-lg:0 8px 30px rgba(16,32,64,.12);--radius:14px;--radius-sm:9px;--sidebar-w:236px;--topbar-h:58px;--font:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:15.2px;line-height:1.62;-webkit-font-smoothing:antialiased}
::selection{background:var(--primary);color:#fff}
.app{display:flex;min-height:100vh}
.sidebar{width:var(--sidebar-w);background:linear-gradient(180deg,var(--card),var(--bg-soft));border-right:1px solid var(--border);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:50}
.brand{display:flex;align-items:center;gap:10px;padding:18px 18px 14px;border-bottom:1px solid var(--border)}
.brand .logo{width:36px;height:36px;flex:none}
.brand .name{font-size:17px;font-weight:700}
.brand .sub{font-size:11px;color:var(--muted);margin-top:1px}
.nav{flex:1;padding:10px 12px;overflow-y:auto}
.nav-group{font-size:11px;color:var(--faint);padding:12px 10px 4px;letter-spacing:1px}
.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;color:var(--muted);cursor:pointer;font-size:14px;margin-bottom:2px;border:1px solid transparent;transition:all .15s;user-select:none}
.nav-item svg{width:17px;height:17px;flex:none}
.nav-item:hover{background:var(--bg-soft);color:var(--text)}
.nav-item.active{background:var(--primary-weak);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 22%,transparent);font-weight:600}
.nav-item .new-tag{margin-left:auto;font-size:10px;background:var(--accent-weak);color:var(--accent);padding:1px 6px;border-radius:20px;font-weight:600}
.sidebar-foot{padding:12px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--faint)}
.main{flex:1;margin-left:var(--sidebar-w);min-width:0}
.topbar{height:var(--topbar-h);display:flex;align-items:center;gap:12px;padding:0 22px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--card) 85%,transparent);backdrop-filter:blur(8px);position:sticky;top:0;z-index:40}
.topbar .hamburger{display:none}
.topbar .title{font-size:16px;font-weight:700}
.topbar .spacer{flex:1}
.icon-btn{width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:var(--card);color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}
.icon-btn:hover{color:var(--primary);border-color:var(--primary)}
.icon-btn svg{width:16px;height:16px}
.content{max-width:1180px;margin:0 auto;padding:22px 24px 80px}
.view{display:none}
.view.active{display:block;animation:fadein .18s ease}
@keyframes fadein{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px;overflow:hidden}
.card-h{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.card-h .ct{font-size:15px;font-weight:700}
.card-h .cd{font-size:12px;color:var(--muted)}
.card-h .spacer{flex:1}
.card-b{padding:16px 18px}
.card-b.flush{padding:0}
.hint{font-size:12px;color:var(--muted)}
.hint b{color:var(--text)}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:12px}
.stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:13px 16px;box-shadow:var(--shadow)}
.stat .k{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}
.stat .v{font-size:21px;font-weight:750;margin-top:3px;font-variant-numeric:tabular-nums}
.stat .s{font-size:11px;color:var(--faint);margin-top:1px}
.stat.hero{background:linear-gradient(135deg,var(--primary),var(--accent));border:none}
.stat.hero .k,.stat.hero .v,.stat.hero .s{color:#fff}
.stat.hero-warm{background:linear-gradient(135deg,#be123c,#d64545 55%,#f59e0b 115%);border:none;box-shadow:0 10px 28px rgba(190,18,60,.28)}
.stat.hero-warm .k,.stat.hero-warm .v,.stat.hero-warm .s{color:#fff}
.table-wrap{overflow-x:auto}
table.dt{width:100%;border-collapse:collapse;font-size:13.2px;white-space:nowrap}
table.dt th{position:sticky;top:0;background:var(--bg-soft);color:var(--muted);font-weight:600;text-align:right;padding:9px 12px;border-bottom:1px solid var(--border);cursor:pointer;user-select:none;font-size:12.2px}
table.dt th.no-sort{cursor:default}
table.dt th:first-child,table.dt td:first-child{text-align:left}
table.dt td{padding:8px 12px;border-bottom:1px solid color-mix(in srgb,var(--border) 55%,transparent);text-align:right;font-variant-numeric:tabular-nums}
table.dt tbody tr:hover td{background:color-mix(in srgb,var(--primary-weak) 45%,transparent)}
.table-foot{display:flex;align-items:center;gap:10px;padding:10px 14px;flex-wrap:wrap}
.table-foot .info{font-size:12px;color:var(--muted)}
.pager{margin-left:auto;display:flex;gap:6px}
.up{color:var(--up)}
.down{color:var(--down)}
.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;background:var(--bg-soft);color:var(--muted)}
.badge.b-primary{background:var(--primary-weak);color:var(--primary)}
.badge.b-accent{background:var(--accent-weak);color:var(--accent)}
.badge.b-warn{background:var(--warn-weak);color:var(--warn)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--faint);display:inline-block}
.dot.live{background:var(--up);animation:pulse 1.2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.input,.select{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:8px 12px;font-size:13.5px;font-family:var(--font);outline:none}
.input:focus,.select:focus{border-color:var(--primary)}
.input.w-sm{width:110px}.input.w-md{width:190px}
.btn{display:inline-flex;align-items:center;gap:6px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 16px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:var(--font)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn.ghost{background:transparent;color:var(--primary);border:1px solid var(--primary)}
.btn.soft{background:var(--primary-weak);color:var(--primary);border:none}
.btn.sm{padding:5px 11px;font-size:12.5px}
.chart{width:100%;height:320px}
.chart.sm{height:240px}
.chart.lg{height:420px}
.chart-box{padding:8px 10px 12px}
.chart-title{font-size:13px;font-weight:700;color:var(--muted);padding:6px 8px 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.timeline{position:relative;padding-left:18px}
.timeline::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--border)}
.tl-item{position:relative;padding:8px 0 14px 14px}
.tl-item::before{content:"";position:absolute;left:-17px;top:15px;width:10px;height:10px;border-radius:50%;background:var(--primary);border:2px solid var(--card)}
.tl-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.tl-date{font-size:12px;color:var(--muted)}
.tl-title{font-weight:650}
.tl-meta{font-size:12px;color:var(--muted);margin-top:2px}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal .wd{text-align:center;font-size:11.5px;color:var(--faint);padding:4px 0}
.cal .cell{min-height:76px;border:1px solid var(--border);border-radius:10px;padding:5px 7px;background:var(--card)}
.cal .cell.today{border-color:var(--primary)}
.cal .dnum{font-size:12px;color:var(--muted);font-weight:600}
.cal .ev{margin-top:3px;padding:1px 6px;border-radius:6px;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.cal .ev.apply{background:var(--primary-weak);color:var(--primary)}
.cal .ev.list{background:var(--accent-weak);color:var(--accent)}
.cal .ev.release{background:var(--warn-weak);color:var(--warn)}
.cal-legend{display:flex;gap:14px;margin-top:10px;font-size:12px;color:var(--muted);flex-wrap:wrap}
.result{border-radius:var(--radius);padding:16px 18px;border:1px solid var(--border);background:var(--bg-soft)}
.result .rk{font-size:12.5px;color:var(--muted)}
.result .rv{font-size:24px;font-weight:750;font-variant-numeric:tabular-nums}
.result.ok{background:var(--accent-weak)}
.result.warn{background:var(--warn-weak)}
.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.faq-item{border-bottom:1px solid var(--border)}
.faq-q{width:100%;text-align:left;background:none;border:none;color:var(--text);font-family:var(--font);font-size:14px;font-weight:600;padding:13px 18px;cursor:pointer;display:flex;align-items:center;gap:8px}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s;padding:0 18px;font-size:13.5px;color:var(--muted)}
.faq-item.open .faq-a{max-height:420px;padding-bottom:14px}
table.rule{width:100%;border-collapse:collapse;font-size:13.5px}
table.rule th,table.rule td{padding:10px 14px;border-bottom:1px solid var(--border);text-align:left}
table.rule th{color:var(--muted);font-weight:600;width:128px;background:var(--bg-soft)}
.subtabs{display:flex;gap:6px;flex-wrap:wrap}
.subtab{padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:var(--card);color:var(--muted);font-size:12.8px;cursor:pointer;font-family:var(--font)}
.subtab.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}
.slider-wrap{padding:14px 18px 18px}
input[type=range].replay{width:100%;accent-color:var(--primary);height:26px}
.slider-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:4px}
.radar-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 18px}
.kv{display:flex;gap:18px;flex-wrap:wrap}
.kv .kv-item{font-size:12.5px;color:var(--muted)}
.kv .kv-item b{color:var(--text);font-size:14px;margin-left:4px}
.match-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.match-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;background:var(--bg-soft)}
.match-card .mc-name{font-weight:650;font-size:13.5px;display:flex;justify-content:space-between}
.match-card .mc-sim{font-size:11px;color:var(--accent);font-weight:700}
.promo-card{border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow)}
.promo-icon{flex:none;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--primary),var(--accent))}
.promo-icon svg{width:21px;height:21px}
.promo-t{font-weight:750;font-size:15px}
.promo-d{font-size:12.5px;color:var(--muted);margin-top:2px}
.ledger-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:14px}
.ledger-empty{text-align:center;padding:34px 10px;color:var(--muted);font-size:13px}
.tool-icon{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 16%,transparent),color-mix(in srgb,var(--accent) 16%,transparent));color:var(--primary);margin-bottom:8px}
.tool-icon svg{width:19px;height:19px}
.steps{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}
.step{display:flex;gap:12px;padding:11px 0;border-bottom:1px dashed var(--border)}
.s-no{flex:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:750;font-size:13px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--accent))}
.s-body b{display:block;font-size:13.8px}
.s-body span{font-size:12.5px;color:var(--muted)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.grid-2>.card{margin-bottom:0}
.footnote{font-size:12px;color:var(--faint);padding:10px 2px}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
.mt8{margin-top:8px}.mt14{margin-top:14px}.mb8{margin-bottom:8px}.mb14{margin-bottom:14px}
.flex{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.grow{flex:1}
.site-foot{text-align:center;padding:26px 10px 10px;font-size:12px;color:var(--faint);line-height:1.9}
.hero{position:relative;overflow:hidden;border-radius:22px;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));background:var(--card);box-shadow:var(--shadow-lg);margin-bottom:14px}
.hero-inner{position:relative;display:grid;grid-template-columns:1.25fr .9fr;gap:18px;padding:46px 44px 42px;align-items:center}
.hero-badge{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--primary) 30%,transparent);padding:5px 14px;border-radius:30px}
.hero-title{font-size:clamp(28px,3.6vw,44px);line-height:1.22;font-weight:800;margin:16px 0 12px}
.hero-title em{font-style:normal;background:linear-gradient(100deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:2px}
.hero-sub{color:var(--muted);font-size:15px;max-width:46ch}
.hero-cta{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.hero-note{margin-top:14px;font-size:12px;color:var(--faint)}
.hero-visual{position:relative;height:320px}
.hero-compass{position:absolute;inset:0;margin:auto;width:300px;height:300px;color:var(--text);filter:drop-shadow(0 0 20px color-mix(in srgb,var(--primary) 30%,transparent)) drop-shadow(0 4px 60px color-mix(in srgb,var(--accent) 20%,transparent));animation:compass-float 6s ease-in-out infinite}
.hero-compass .glow-ring{fill:none;stroke-width:2;stroke-dasharray:4 8;animation:compass-spin 30s linear infinite;transform-origin:100px 100px;opacity:.4}
@keyframes compass-spin{to{transform:rotate(360deg)}}
@keyframes compass-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-chip{position:absolute;z-index:2;padding:9px 14px;border-radius:13px;background:color-mix(in srgb,var(--card) 78%,transparent);border:1px solid var(--border);box-shadow:var(--shadow);font-size:12px;color:var(--muted);white-space:nowrap}
.hero-chip b{display:block;font-size:10.5px;color:var(--faint);font-weight:600}
.hero-chip span{font-size:15px;font-weight:750;color:var(--text)}
.orbit{position:absolute;inset:0;margin:auto;border-radius:50%;border:1px dashed color-mix(in srgb,var(--primary) 30%,transparent)}
.orbit.o1{width:250px;height:250px}.orbit.o2{width:300px;height:300px}.orbit.o3{width:348px;height:348px;opacity:.5}
.orbit::before{content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.glance-strip{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:13px;overflow:hidden;background:var(--card);box-shadow:var(--shadow)}
.glance-strip .ticker-tag{flex:none;display:flex;align-items:center;padding:0 14px;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(120deg,var(--primary),var(--accent))}
.glance-items{display:flex;flex-wrap:wrap;align-items:center;padding:6px 12px;gap:4px 22px}
.tk-item{display:inline-flex;align-items:baseline;gap:7px;font-size:13px;padding:3px 0}
.tk-item .n{font-weight:650;color:var(--text)}
.tk-item .c{color:var(--faint);font-size:11px}
.tk-item .v{font-weight:700}
.ledger-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:14px}
.ledger-empty{text-align:center;padding:34px 10px;color:var(--muted);font-size:13px}
dialog.sheet{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--text);box-shadow:var(--shadow-lg);padding:0;width:min(480px,92vw)}
.form-grid{display:grid;grid-template-columns:96px 1fr;gap:10px 12px;align-items:center}
.form-grid label{font-size:13px;color:var(--muted);text-align:right}
.tool-icon{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 16%,transparent),color-mix(in srgb,var(--accent) 16%,transparent));color:var(--primary);margin-bottom:8px}
.tool-icon svg{width:19px;height:19px}
.tool-t{font-weight:700;font-size:14.5px}
.tool-d{font-size:12px;color:var(--muted);margin-top:3px}
.steps{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}
.step{display:flex;gap:12px;padding:11px 0;border-bottom:1px dashed var(--border)}
.s-no{flex:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:750;font-size:13px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--accent))}
.s-body b{display:block;font-size:13.8px}
.s-body span{font-size:12.5px;color:var(--muted)}
#drawer-mask{position:fixed;inset:0;background:rgba(8,14,26,.4);z-index:45;display:none}
#drawer-mask.show{display:block}
.footnote{font-size:12px;color:var(--faint);padding:10px 2px}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
.mt8{margin-top:8px}.mt14{margin-top:14px}.mb8{margin-bottom:8px}.mb14{margin-bottom:14px}
.flex{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.grow{flex:1}
.site-foot{text-align:center;padding:26px 10px 10px;font-size:12px;color:var(--faint);line-height:1.9}
@media(max-width:960px){.sidebar{transform:translateX(-105%);transition:transform .22s;box-shadow:none}.sidebar.open{transform:none;box-shadow:var(--shadow-lg)}.main{margin-left:0}.topbar .hamburger{display:inline-flex}.content{padding:16px 13px 70px}.stat .v{font-size:18px}table.dt{font-size:12.4px}.chart{height:260px}.hero-inner{grid-template-columns:1fr;padding:30px 22px 26px}.hero-visual{height:230px;order:-1}.hero-compass{width:210px;height:210px}.hero-cta .btn{flex:1 1 auto;justify-content:center}.steps{grid-template-columns:1fr}}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--faint) 45%,transparent);border-radius:8px}

/* 暗色主题 */
html[data-theme="dark"]{--bg:#0d1420;--bg-soft:#111b2a;--card:#16202f;--border:#253349;--text:#dbe5f3;--muted:#8394ae;--faint:#5c6c88;--primary:#5b93f0;--primary-weak:#1a2a45;--accent:#2fc6c6;--accent-weak:#10302f;--up:#ef5350;--up-weak:#331d1d;--down:#26b586;--down-weak:#12302a;--warn:#e8a23d;--warn-weak:#33270f;--shadow:0 1px 2px rgba(0,0,0,.3),0 6px 20px rgba(0,0,0,.25);--shadow-lg:0 8px 30px rgba(0,0,0,.45)}

/* 配色方案覆盖 */
html[data-scheme="fashion"]{--primary:#be123c;--primary-weak:#fdf2f4;--accent:#d97706;--accent-weak:#fef3c7}
html[data-scheme="fresh"]{--primary:#0d9488;--primary-weak:#ccfbf1;--accent:#0ea5e9;--accent-weak:#e0f2fe}
html[data-scheme="tech"]{--primary:#1b5cc6;--primary-weak:#e8effc;--accent:#0e9f9f;--accent-weak:#e2f6f6}
html[data-scheme="finance"]{--primary:#1e3a5f;--primary-weak:#e8edf4;--accent:#c9a227;--accent-weak:#fbf3d9}
html[data-scheme="morandi"]{--primary:#78716c;--primary-weak:#f0ebe5;--accent:#a8a29e;--accent-weak:#f5f0eb}
html[data-scheme="macaron"]{--primary:#c97b96;--primary-weak:#fdf0f4;--accent:#7c9cbf;--accent-weak:#e8f0f8}
html[data-scheme="deep"] {
  --bg: #0a0e1a; --bg-soft: #0e1526; --card: #111a2e;
  --border: #1a2a4a; --text: #c8d8f0; --muted: #6884b0; --faint: #3d5a85;
  --primary: #4a9eda; --primary-weak: #0d1f3a;
  --accent: #e8734a; --accent-weak: #2a1210;
  --up: #e85450; --down: #2db88a; --warn: #e8a23d;
  --shadow: 0 1px 3px rgba(0,0,0,.5), 0 6px 24px rgba(0,0,0,.35);
  --shadow-lg: 0 8px 36px rgba(0,0,0,.55);
}
html[data-theme="dark"][data-scheme="fashion"]{--primary:#fb7185;--primary-weak:#1f1428;--accent:#fbbf24;--accent-weak:#2b1f0a}
html[data-theme="dark"][data-scheme="fresh"]{--primary:#2dd4bf;--primary-weak:#0c1a1a;--accent:#6ee7b7;--accent-weak:#0a1f14}
html[data-theme="dark"][data-scheme="tech"]{--primary:#60a5fa;--primary-weak:#122036;--accent:#22d3ee;--accent-weak:#0a1a20}
html[data-theme="dark"][data-scheme="finance"]{--primary:#93b5e8;--primary-weak:#0f1a28;--accent:#e8c547;--accent-weak:#1a1808}

.hero-shimmer{position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,color-mix(in srgb,var(--primary) 8%,transparent) 45%,color-mix(in srgb,var(--accent) 8%,transparent) 55%,transparent 70%);background-size:250% 250%;animation:shimmer 8s ease-in-out infinite;pointer-events:none}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-100% 0}}

/* ============ 市场指数条（总览） ============ */
.idx-card .card-h{align-items:baseline}
.idx-time{font-size:12px;color:var(--muted)}
.idx-grid{display:grid;grid-template-columns:1.45fr repeat(7,1fr);gap:10px}
.idx-chip{border:1px solid var(--border);border-radius:var(--radius);
  padding:10px 12px;background:var(--bg-soft);display:flex;flex-direction:column;gap:2px;min-width:0}
.idx-chip .idx-name{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}
.idx-chip .idx-code{font-size:10px;color:var(--faint)}
.idx-chip .idx-val{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.2px}
.idx-chip .idx-meta{font-size:12px;color:var(--muted)}
.idx-chip .idx-meta .up,.idx-chip .idx-meta .down{font-weight:600}
.idx-chip.hero{background:
  linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,var(--bg-soft)),var(--bg-soft));
  border-color:color-mix(in srgb,var(--primary) 35%,var(--border));position:relative;overflow:hidden}
.idx-chip.hero .idx-val{font-size:24px}
.idx-spark{width:100%;height:34px;margin-top:4px;opacity:.9}
@media (max-width:720px){
  .idx-grid{grid-template-columns:repeat(2,1fr)}
  .idx-chip.hero{grid-column:1/-1}
  .idx-chip .idx-val{font-size:16px}
  .idx-chip.hero .idx-val{font-size:21px}
}

/* ============ 多股档位对照（门槛与档位） ============ */
.tm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.tm-item{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;background:var(--bg-soft)}
.tm-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.tm-name{font-weight:700;color:var(--text);text-decoration:none}
.tm-name:hover{color:var(--primary)}
.tm-date{font-size:12px;color:var(--muted)}
.tm-rows{display:flex;flex-direction:column;gap:5px}
.tm-row{display:grid;grid-template-columns:72px 1fr 86px;align-items:center;gap:8px;font-size:12px}
.tm-fund{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}
.tm-track{height:10px;border-radius:5px;background:color-mix(in srgb,var(--primary) 8%,transparent);
  overflow:hidden}
.tm-track i{display:block;height:100%;border-radius:5px;
  background:linear-gradient(90deg,var(--primary),var(--accent));opacity:.85}
.tm-users{color:var(--text);font-variant-numeric:tabular-nums}
.tm-more{font-size:11px;color:var(--faint);margin-top:2px}
@media (max-width:720px){
  .tm-grid{grid-template-columns:1fr}
  .tm-row{grid-template-columns:64px 1fr 78px}
}

/* hero chips 分散定位（此前无坐标规则导致三卡重叠，c3 盖住 c1/c2） */
.hero-chip.c1{left:-4%;top:44%}
.hero-chip.c2{right:2%;top:8%}
.hero-chip.c3{left:6%;bottom:2%}
@media (max-width:980px){
  .hero-chip{padding:7px 11px;border-radius:11px}
  .hero-chip span{font-size:13px}
  .hero-chip.c1{left:0;top:46%}
  .hero-chip.c2{right:0;top:6%}
  .hero-chip.c3{left:2%;bottom:0}
}
/* 指数页相关指数网格（12+ 卡自适应，区别于首页 idx-grid 的 8 卡布局） */
.ix-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
@media (max-width:720px){.ix-grid{grid-template-columns:repeat(2,1fr)}}

/* 字号档位：小/中/大（btn-fs 切换 html[data-fs]，zoom 全站等比、图表 resize 跟随） */
html[data-fs="s"] body{zoom:.92}
html[data-fs="l"] body{zoom:1.09}
@supports not (zoom: 1.5){
  html[data-fs="s"]{font-size:14.5px}
  html[data-fs="l"]{font-size:17px}
  html[data-fs="s"] body{font-size:14.5px}
  html[data-fs="l"] body{font-size:17px}
}

/* 月历增强：过去日期淡化、周末着色、溢出提示 */
.cal .cell.past{opacity:.55}
.cal .cell.weekend .dnum{color:var(--faint)}
.cal .ev.more{font-size:10.5px;color:var(--faint);border:none;background:none;justify-content:center}

/* 站内访问统计（关于本站卡） */
#site-stats{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}
#site-stats .ss-kv{display:flex;flex-direction:column;gap:1px}
#site-stats .ss-kv b{font-size:18px;font-variant-numeric:tabular-nums}
#site-stats .ss-kv span{font-size:11px;color:var(--faint)}
#site-stats .ss-bars{display:flex;gap:4px;align-items:flex-end;flex:1 1 220px;min-width:200px;height:58px}
#site-stats .ss-bar{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1}
#site-stats .ss-bar i{width:100%;max-width:14px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--primary),color-mix(in srgb,var(--primary) 25%,transparent))}
#site-stats .ss-bar span{font-size:9px;color:var(--faint);white-space:nowrap}
