/* ============================================================
   视界云漫剧数据系统 · 设计系统
   一个 CSS 文件覆盖四类页面：查询 / 排行榜 / 剧单 / 详情
   风格：深海墨蓝 + 天青-品红渐变，玻璃拟态卡片，克制的动效
   ============================================================ */

:root{
  /* 品牌色 */
  --sky:#38bdf8; --sky-deep:#0284c7; --indigo:#6366f1; --violet:#8b5cf6; --pink:#ec4899;
  --gold:#f59e0b; --silver:#94a3b8; --bronze:#d97706;
  --ok:#10b981; --warn:#f59e0b; --danger:#f43f5e;

  /* 浅色主题 */
  --bg:#f3f6fb; --bg-grad-1:#e8eefb; --bg-grad-2:#f7f3fb;
  --card:#ffffff; --card-soft:rgba(255,255,255,.72);
  --line:rgba(15,23,42,.08); --line-strong:rgba(15,23,42,.14);
  --text:#0f172a; --text-2:#475569; --text-3:#94a3b8;
  --shadow-sm:0 1px 2px rgba(15,23,42,.05);
  --shadow:0 2px 4px rgba(15,23,42,.04), 0 12px 32px rgba(15,23,42,.07);
  --shadow-lg:0 8px 24px rgba(15,23,42,.10), 0 32px 64px rgba(15,23,42,.10);
  --radius:16px; --radius-sm:11px; --radius-lg:22px;

  /* 渐变 */
  --grad-brand:linear-gradient(120deg,#0ea5e9 0%,#6366f1 55%,#ec4899 100%);
  --grad-brand-soft:linear-gradient(120deg,rgba(14,165,233,.12),rgba(99,102,241,.10),rgba(236,72,153,.12));
  --grad-gold:linear-gradient(135deg,#fbbf24,#f59e0b 60%,#d97706);
  --grad-text:linear-gradient(100deg,#0284c7,#6366f1 55%,#db2777);
}

html[data-theme="dark"]{
  --bg:#080c18; --bg-grad-1:#0b1224; --bg-grad-2:#150b22;
  --card:#111827; --card-soft:rgba(17,24,39,.72);
  --line:rgba(148,163,184,.16); --line-strong:rgba(148,163,184,.28);
  --text:#f1f5f9; --text-2:#a8b4c8; --text-3:#64748b;
  --shadow-sm:0 1px 2px rgba(0,0,0,.4);
  --shadow:0 2px 6px rgba(0,0,0,.35), 0 16px 40px rgba(0,0,0,.35);
  --shadow-lg:0 10px 30px rgba(0,0,0,.45), 0 40px 80px rgba(0,0,0,.45);
  --grad-brand-soft:linear-gradient(120deg,rgba(14,165,233,.16),rgba(99,102,241,.14),rgba(236,72,153,.14));
}

*{box-sizing:border-box}
[hidden]{display:none !important}
html,body{margin:0;padding:0}
body{
  background:
    radial-gradient(1100px 620px at 12% -6%, var(--bg-grad-1) 0%, transparent 60%),
    radial-gradient(900px 560px at 92% 4%, var(--bg-grad-2) 0%, transparent 58%),
    var(--bg);
  color:var(--text); min-height:100vh;
  font:15px/1.62 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
img{display:block;max-width:100%}

/* ---------- 布局 ---------- */
.shell{max-width:1080px;margin:0 auto;padding:0 16px 64px}
.shell-tight{max-width:860px}
.stack{display:flex;flex-direction:column;gap:16px}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.row-between{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media (max-width:820px){
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .grid-2,.grid-3{grid-template-columns:1fr}
}

/* ---------- 顶栏 ---------- */
.topbar{
  position:sticky;top:0;z-index:40;
  backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);
  background:color-mix(in srgb, var(--bg) 78%, transparent);
  border-bottom:1px solid var(--line);
}
.topbar .inner{max-width:1080px;margin:0 auto;padding:11px 16px;display:flex;align-items:center;gap:12px}
.brand{display:flex;align-items:center;gap:10px;min-width:0}
.brand .mark{
  width:34px;height:34px;border-radius:11px;background:var(--grad-brand);
  display:grid;place-items:center;color:#fff;font-weight:800;font-size:15px;flex:0 0 auto;
  box-shadow:0 6px 16px rgba(99,102,241,.35);
}
.brand .name{font-weight:700;font-size:15px;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand .sub{font-size:11px;color:var(--text-3);letter-spacing:.14em;text-transform:uppercase}
.topbar .nav{margin-left:auto;display:flex;align-items:center;gap:6px}
.nav-link{
  padding:7px 13px;border-radius:999px;font-size:13.5px;color:var(--text-2);
  border:1px solid transparent;transition:.16s;white-space:nowrap;
}
.nav-link:hover{background:var(--card-soft);border-color:var(--line);color:var(--text)}
.nav-link[aria-current="page"]{background:var(--grad-brand);color:#fff;box-shadow:0 6px 18px rgba(99,102,241,.28)}
.icon-btn{
  width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--card);
  color:var(--text-2);display:grid;place-items:center;cursor:pointer;transition:.16s;
}
.icon-btn:hover{color:var(--text);border-color:var(--line-strong)}
@media (max-width:640px){
  .brand .sub{display:none}
  .nav-link{padding:6px 10px;font-size:12.5px}
}

/* ---------- 卡片 ---------- */
.card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:18px;position:relative;overflow:hidden;
}
.card.flush{padding:0}
.card.glass{background:var(--card-soft);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.card-accent::before{
  content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--grad-brand);
  opacity:.9;
}
.card-title{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700;margin:0 0 14px}
.card-title .dot{width:8px;height:8px;border-radius:3px;background:var(--grad-brand);flex:0 0 auto}
.card-title .hint{margin-left:auto;font-size:12px;color:var(--text-3);font-weight:400}
.section-label{
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);
}

/* ---------- 表单 ---------- */
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field > label{font-size:12px;color:var(--text-2);font-weight:500}
.input,.select{
  border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:11px 13px;
  font-size:14.5px;font-family:inherit;color:var(--text);background:var(--card);
  transition:.16s;width:100%;min-width:0;
}
.input::placeholder{color:var(--text-3)}
.input:focus,.select:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 3px rgba(56,189,248,.18)}
.input-group{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.input-group .field{flex:1 1 180px}
.btn{
  border:0;border-radius:var(--radius-sm);padding:11px 20px;font-size:14.5px;font-weight:600;
  cursor:pointer;background:var(--grad-brand);color:#fff;transition:.16s;
  box-shadow:0 8px 22px rgba(99,102,241,.28);white-space:nowrap;
}
.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn[disabled]{opacity:.55;cursor:default;transform:none;filter:none;box-shadow:none}
.btn.ghost{background:var(--card);color:var(--text);border:1px solid var(--line-strong);box-shadow:var(--shadow-sm)}
.btn.ghost:hover{border-color:var(--sky);color:var(--sky-deep)}
.btn.sm{padding:6px 12px;font-size:12.5px;box-shadow:none;font-weight:500}
.btn.block{width:100%;justify-content:center}
.btn-row{display:flex;gap:10px;flex-wrap:wrap}

/* 快捷区间 chip */
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{
  border:1px solid var(--line-strong);background:var(--card);border-radius:999px;
  padding:6px 14px;font-size:13px;color:var(--text-2);cursor:pointer;transition:.16s;
}
.chip:hover{border-color:var(--sky);color:var(--sky-deep);background:rgba(56,189,248,.06)}
.chip[aria-pressed="true"]{background:var(--grad-brand);border-color:transparent;color:#fff;box-shadow:0 6px 16px rgba(99,102,241,.26)}

/* 机构 tab */
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tab{
  border:1px solid var(--line);background:var(--card);border-radius:10px;padding:7px 14px;
  font-size:13px;color:var(--text-2);cursor:pointer;transition:.16s;
}
.tab:hover{border-color:var(--line-strong);color:var(--text)}
.tab[aria-selected="true"]{background:var(--grad-brand-soft);border-color:rgba(99,102,241,.35);color:var(--text);font-weight:600}

/* ---------- 指标 ---------- */
.kpi{padding:16px 18px}
.kpi .k{font-size:12px;color:var(--text-2);display:flex;align-items:center;gap:6px}
.kpi .v{
  font-size:26px;font-weight:750;letter-spacing:-.02em;font-variant-numeric:tabular-nums;
  margin-top:4px;line-height:1.15;
}
.kpi .v small{font-size:13px;font-weight:500;color:var(--text-2);margin-left:3px}
.kpi .sub{font-size:12px;color:var(--text-3);margin-top:3px}
.kpi .ico{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:var(--grad-brand-soft);color:var(--indigo);flex:0 0 auto}

.hero-amount{
  font-size:clamp(34px,9vw,54px);font-weight:800;letter-spacing:-.03em;line-height:1.05;
  font-variant-numeric:tabular-nums;
  background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;
}
html[data-theme="dark"] .hero-amount{background:linear-gradient(100deg,#38bdf8,#818cf8 55%,#f472b6);-webkit-background-clip:text;background-clip:text}
/* 天数徽标（圆角胶囊，不跟榜单气泡混用） */
.days-badge{
  display:inline-flex;align-items:center;gap:5px;border-radius:9px;padding:4px 11px;
  font-size:12.5px;font-weight:650;color:var(--sky-deep);
  background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.3);
}
.pill{
  display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 10px;
  font-size:11.5px;font-weight:600;border:1px solid transparent;background:var(--grad-brand-soft);color:var(--indigo);
}
.pill.ok{background:rgba(16,185,129,.12);color:#059669;border-color:rgba(16,185,129,.25)}
.pill.warn{background:rgba(245,158,11,.14);color:#b45309;border-color:rgba(245,158,11,.28)}
.pill.danger{background:rgba(244,63,94,.12);color:#e11d48;border-color:rgba(244,63,94,.24)}
.pill.gold{background:var(--grad-gold);color:#fff;border-color:transparent}
.pill.ghost{background:var(--card);border-color:var(--line-strong);color:var(--text-2)}

/* ---------- 表格 ---------- */
.table-wrap{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:auto;max-height:560px}
table.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
table.tbl th{
  text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-3);padding:11px 14px;background:var(--card-soft);
  position:sticky;top:0;z-index:2;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);
}
table.tbl td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
table.tbl tbody tr:last-child td{border-bottom:0}
table.tbl tbody tr{transition:background .14s}
table.tbl tbody tr:hover{background:rgba(56,189,248,.05)}
.num{text-align:right;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}
.nowrap{white-space:nowrap}
.muted{color:var(--text-3)}
.dim{color:var(--text-2)}
.em{font-weight:650}

/* 展开行 */
.expand-btn{
  border:1px solid var(--line);background:var(--card);border-radius:8px;width:26px;height:26px;
  display:grid;place-items:center;cursor:pointer;color:var(--text-2);transition:.16s;
}
.expand-btn:hover{border-color:var(--sky);color:var(--sky-deep)}
.expand-btn svg{transition:transform .2s}
.expand-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
tr.detail-row td{background:color-mix(in srgb, var(--sky) 5%, var(--card));padding:14px 18px}
.source-item{display:flex;align-items:baseline;gap:12px;padding:7px 0;border-bottom:1px dashed var(--line)}
.source-item:last-child{border-bottom:0}

/* ---------- 排行榜 ---------- */
.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}
@media (max-width:760px){.podium{grid-template-columns:1fr;align-items:stretch}}
.podium .p{
  position:relative;border-radius:var(--radius-lg);padding:18px 16px;color:#fff;overflow:hidden;
  min-height:172px;display:flex;flex-direction:column;justify-content:space-between;
  box-shadow:var(--shadow-lg);
}
.podium .p.rank-1{background:linear-gradient(150deg,#fbbf24,#f59e0b 45%,#b45309);order:2}
.podium .p.rank-2{background:linear-gradient(150deg,#94a3b8,#64748b 50%,#334155);order:1}
.podium .p.rank-3{background:linear-gradient(150deg,#fb923c,#ea580c 50%,#9a3412);order:3}
@media (max-width:760px){.podium .p{order:0 !important;min-height:auto}}
.podium .p::after{
  content:"";position:absolute;right:-40px;top:-40px;width:150px;height:150px;border-radius:50%;
  background:rgba(255,255,255,.14);
}
.podium .p .rk{
  font-size:12px;font-weight:800;letter-spacing:.16em;opacity:.92;display:flex;align-items:center;gap:8px;
}
.podium .p .crown{position:absolute;right:14px;top:12px;font-size:20px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}
.podium .p .tt{font-size:16px;font-weight:700;line-height:1.35;margin:10px 0 8px;position:relative;z-index:1}
.podium .p .rv{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.podium .p .rs{font-size:11.5px;opacity:.9;margin-top:3px}

.rank-row{
  display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line);
  transition:background .14s;
}
.rank-row:last-child{border-bottom:0}
.rank-row:hover{background:rgba(56,189,248,.05)}
.rank-row .no{
  width:30px;height:30px;border-radius:10px;display:grid;place-items:center;
  font-weight:750;font-size:13px;background:var(--card-soft);color:var(--text-2);border:1px solid var(--line);flex:0 0 auto;
}
.rank-row.top1 .no{background:var(--grad-gold);color:#fff;border-color:transparent}
.rank-row.top2 .no{background:linear-gradient(135deg,#cbd5e1,#64748b);color:#fff;border-color:transparent}
.rank-row.top3 .no{background:linear-gradient(135deg,#fdba74,#c2410c);color:#fff;border-color:transparent}
.rank-row .tt{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis}
.rank-row .money{margin-left:auto;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}

.metric-card{border-radius:var(--radius);border:1px solid var(--line);padding:14px 16px;background:var(--card)}
.metric-card .kv{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:4px 0}
.metric-card .kv .k{color:var(--text-2)}
.metric-card .kv .v{font-weight:650;font-variant-numeric:tabular-nums}
.bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden}
.bar > i{display:block;height:100%;border-radius:99px;background:var(--grad-brand)}

/* ---------- 剧单 ---------- */
.playlist-card{
  display:flex;gap:14px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--card);box-shadow:var(--shadow-sm);transition:.18s;
}
.playlist-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--line-strong)}
.playlist-card .cover{
  width:104px;height:138px;border-radius:10px;flex:0 0 auto;object-fit:cover;
  background:var(--grad-brand-soft);border:1px solid var(--line);
  display:grid;place-items:center;color:var(--text-3);font-size:11px;text-align:center;line-height:1.3;
}
.playlist-card .meta{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:7px}
.playlist-card .tt{font-weight:700;font-size:16px;line-height:1.35}
.playlist-card .tags{display:flex;gap:6px;flex-wrap:wrap}

/* 卡片上的表现数据（收益 / 播放 / 视频数 / 视频号数） */
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.stat-box{
  background:color-mix(in srgb, var(--sky) 6%, var(--card));
  border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:0;
}
.stat-box .k{font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat-box .v{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin-top:2px;white-space:nowrap}
.stat-box .v small{font-size:11px;font-weight:500;color:var(--text-2);margin-left:2px}
.stat-box.hl{background:var(--grad-brand-soft);border-color:rgba(99,102,241,.28)}
.stat-box.hl .v{color:var(--indigo)}
html[data-theme="dark"] .stat-box.hl .v{color:#a5b4fc}
.card-foot{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:8px;border-top:1px dashed var(--line);flex-wrap:wrap}
.card-foot .go{margin-left:auto;color:var(--brand);font-size:12.5px;font-weight:600;white-space:nowrap}
@media (max-width:560px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.detail-cover{
  width:100%;max-width:220px;aspect-ratio:3/4;border-radius:var(--radius);object-fit:cover;
  border:1px solid var(--line);background:var(--grad-brand-soft);
  display:grid;place-items:center;color:var(--text-3);font-size:12px;text-align:center;
}

/* ---------- 状态 ---------- */
.empty{
  padding:34px 18px;text-align:center;color:var(--text-2);
  border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--card-soft);
}
.empty .big{font-size:30px;margin-bottom:8px;opacity:.65}
.empty .why{font-size:12.5px;color:var(--text-3);margin-top:6px}
.alert{border-radius:var(--radius-sm);padding:11px 14px;font-size:13.5px;border:1px solid transparent}
.alert.err{background:rgba(244,63,94,.08);border-color:rgba(244,63,94,.28);color:#be123c}
.alert.warn{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.3);color:#92400e}
.alert.ok{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.3);color:#047857}
.alert.info{background:rgba(56,189,248,.1);border-color:rgba(56,189,248,.3);color:#0369a1}
.skeleton{
  border-radius:8px;height:14px;
  background:linear-gradient(90deg,var(--line) 0%,var(--card) 40%,var(--line) 80%);
  background-size:220% 100%;animation:sk 1.15s ease-in-out infinite;
}
@keyframes sk{0%{background-position:120% 0}100%{background-position:-120% 0}}
.spinner{
  width:15px;height:15px;border-radius:50%;border:2px solid rgba(255,255,255,.42);
  border-top-color:#fff;display:inline-block;animation:spin .7s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- 动效 ---------- */
.fade-up{animation:fadeUp .42s cubic-bezier(.22,.9,.28,1) both}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.stagger > *{animation:fadeUp .42s cubic-bezier(.22,.9,.28,1) both}
.stagger > *:nth-child(1){animation-delay:.02s}
.stagger > *:nth-child(2){animation-delay:.06s}
.stagger > *:nth-child(3){animation-delay:.10s}
.stagger > *:nth-child(4){animation-delay:.14s}
.stagger > *:nth-child(5){animation-delay:.18s}
.stagger > *:nth-child(6){animation-delay:.22s}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important}
}

/* ---------- 水印 ---------- */
.watermark{
  position:fixed;inset:0;pointer-events:none;z-index:60;overflow:hidden;
  opacity:.5;mix-blend-mode:multiply;
}
html[data-theme="dark"] .watermark{opacity:.32;mix-blend-mode:screen}
.watermark span{
  position:absolute;font-size:13px;font-weight:600;color:rgba(71,85,105,.20);
  white-space:nowrap;transform:rotate(-22deg);letter-spacing:.05em;
}
html[data-theme="dark"] .watermark span{color:rgba(148,163,184,.18)}

/* ---------- 图表 ---------- */
.chart{width:100%;height:auto;max-height:260px;display:block}
.chart-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-2)}
.chart-legend i{width:9px;height:9px;border-radius:3px;display:inline-block;margin-right:5px}

/* ---------- 页脚 ---------- */
.foot{text-align:center;color:var(--text-3);font-size:12px;padding:26px 0 0;line-height:1.8}

/* ---------- 备案信息（公开平台必须展示） ---------- */
.beian{
  margin-top:8px;padding:14px 0 28px;text-align:center;
  font-size:12.5px;color:var(--text-3);line-height:1.9;
}
.beian .beian-item{
  display:inline-block;margin:2px 6px;color:var(--text-3);
  transition:color .16s;
}
.beian a.beian-item:hover{color:var(--brand)}
.beian .beian-sep{margin:0 2px;color:var(--line-strong)}
.beian .beian-ico{margin-right:3px;font-size:11px}
@media (max-width:600px){
  .beian{padding:12px 0 22px;font-size:11.5px}
  .beian .beian-item{display:block;margin:2px 0}
  .beian .beian-sep{display:none}
}

/* ---------- 提示条 ---------- */
.toast{
  position:fixed;left:50%;bottom:26px;transform:translate(-50%,14px);z-index:80;
  background:#0f172a;color:#fff;padding:11px 18px;border-radius:12px;font-size:13.5px;
  box-shadow:0 18px 44px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:.24s;max-width:90vw;text-align:center;
}
.toast.show{opacity:1;transform:translate(-50%,0)}
html[data-theme="dark"] .toast{background:#e2e8f0;color:#0f172a}

/* ---------- 打印 ---------- */
@media print{
  .topbar,.btn,.chips,.foot{display:none !important}
  body{background:#fff}
  .card{box-shadow:none;border-color:#e2e8f0}
}

/* ---------- 移动端细化（≤600px）---------- */
@media (max-width:600px){
  .shell{padding:0 12px 48px}
  .card{padding:15px;border-radius:14px}
  .card-title{font-size:14px}

  /* 查询表单：输入框铺满一行，按钮独占一行，避免被挤出屏幕 */
  .input-group{flex-direction:column;align-items:stretch;gap:10px}
  .input-group .field{flex:1 1 auto;width:100%}
  .input-group .btn{width:100%;padding:12px}
  .input,.select{font-size:16px;padding:11px 12px}   /* 16px 可避免 iOS 聚焦缩放 */

  /* 顶栏更紧凑 */
  .topbar .inner{padding:9px 12px;gap:8px}
  .brand .mark{width:30px;height:30px;border-radius:9px;font-size:14px}
  .brand .name{font-size:14px}
  .nav-link{padding:6px 9px;font-size:12px}
  .icon-btn{width:30px;height:30px}

  /* 指标卡：两列，数字缩小一档 */
  .kpi{padding:13px}
  .kpi .v{font-size:22px}
  .kpi .k{font-size:11.5px}

  /* 表格：收紧内边距，次要列在手机上隐藏，避免横向溢出 */
  table.tbl th,table.tbl td{padding:10px 8px;font-size:13px}
  .table-wrap{max-height:none;overflow-x:visible}
  .col-hide-sm{display:none !important}

  /* 明细表在小屏改为「卡片式」：第一列做标题，其余单元格带字段名 */
  table.tbl-cards{display:block}
  table.tbl-cards thead{display:none}
  table.tbl-cards tbody{display:block}
  table.tbl-cards tr{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;
    padding:11px 12px;border-bottom:1px solid var(--line);
  }
  table.tbl-cards tr:last-child{border-bottom:0}
  table.tbl-cards tr:hover{background:transparent}
  table.tbl-cards td{
    display:flex;flex-direction:column;gap:2px;border:0;padding:0;
    font-size:13px;text-align:left !important;white-space:normal;overflow-wrap:anywhere;
  }
  table.tbl-cards td::before{
    content:attr(data-label);font-size:10.5px;color:var(--text-3);letter-spacing:.04em;
  }
  /* 日期与收益更突出，箭头列留在日期前面 */
  table.tbl-cards td[data-label=""]{grid-column:auto;justify-content:center}
  table.tbl-cards td[data-label="日期"]{font-weight:650}
  table.tbl-cards td[data-label="收益 (元)"] .em,
  table.tbl-cards td[data-label="收益 (元)"]{font-weight:700}
  table.tbl-cards tr.detail-row{display:block;padding:0}
  table.tbl-cards tr.detail-row td{display:block;padding:12px 14px}

  /* 榜单 */
  .rank-row{gap:10px;padding:11px 12px}
  .rank-row .money{font-size:15px}
  .podium .p{min-height:auto;padding:16px}
  .podium .p .rv{font-size:21px}

  /* 剧单卡片改为上下堆叠 */
  .playlist-card{flex-direction:column;gap:12px}
  .playlist-card .cover{width:100%;height:150px}
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

  /* 图表高度自适应 */
  .chart{max-height:200px}
  .chart-legend{font-size:11.5px;gap:10px}
}
