.dashboard-grid { grid-template-columns: 1fr; }

/* Compact market overview: the ranking is the product, so keep it above the fold. */
.live-shell { padding-bottom: 30px; }
.live-hero {
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 38px;
  align-items: center;
  padding: 34px 0 22px;
}
.live-hero h1 {
  margin: 9px 0 12px;
  font-size: clamp(2.45rem, 5vw, 4.7rem);
  line-height: .98;
  letter-spacing: -.06em;
}
.live-hero h1 em { margin-left: .18em; }
.live-hero p { max-width: 760px; font-size: .86rem; line-height: 1.65; }
.hero-status { padding: 18px 20px; border-radius: 15px; }
.hero-status strong { margin-top: 6px; font-size: clamp(1.85rem, 3vw, 2.7rem); }
.freshness { margin-top: 14px; padding-top: 11px; }
.source-strip { padding: 11px 15px; }
.market-tabs { margin-top: 20px; gap: 30px; }
.market-tabs button { padding: 12px 3px 11px; }
.live-controls { padding: 14px 0; }
.rank-switch button { padding: 9px 13px; }
.period-switch {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #091410;
}
.period-switch > span { padding: 0 7px; color: var(--muted); font-size: .68rem; }
.period-switch button {
  border: 0;
  border-radius: 7px;
  padding: 7px 10px;
  background: transparent;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 750;
  cursor: pointer;
}
.period-switch button:hover { color: var(--text); }
.period-switch button.active { background: var(--acid); color: #09100d; }
.period-switch button:disabled { cursor: wait; opacity: .72; }
.leader-panel { border-radius: 14px; }
.panel-head { padding: 16px 18px; background: linear-gradient(180deg, #101d18, #0b1613); }
.panel-head h2 { font-size: 1.12rem; }
.leader-columns {
  display: grid;
  grid-template-columns: 94px minmax(180px, 1.25fr) minmax(330px, 1.2fr) 96px 28px;
  gap: 14px;
  padding: 9px 18px;
  border-bottom: 1px solid var(--line);
  color: #71847a;
  font-size: .62rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.leader-row {
  grid-template-columns: 38px 40px minmax(180px, 1.25fr) minmax(330px, 1.2fr) 96px 28px !important;
  gap: 14px;
  min-height: 72px;
  padding: 12px 18px;
  transition: background .16s ease, box-shadow .16s ease;
}
.leader-row[aria-expanded="true"] { border-bottom-color: transparent; }
.leader-row:hover { background: #111f19; }
.leader-row.selected { background: linear-gradient(90deg, #1b2b21, #0e1c17); }
.leader-id strong { font-size: .9rem; }
.leader-id small { max-width: 210px; }
.leader-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(88px, 1fr));
  gap: 8px;
  min-width: 0;
}
.leader-metric {
  min-width: 0;
  padding: 7px 9px;
  border: 1px solid #21342c;
  border-radius: 8px;
  background: #091511;
}
.leader-metric small { margin: 0 0 3px; font-size: .59rem; letter-spacing: .04em; }
.leader-metric strong { font-size: .8rem; }
.risk-mini { width: 96px; }
.row-arrow {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border: 1px solid #31483d;
  border-radius: 50%;
  font-size: 1rem;
  line-height: 1;
}
.leader-row:hover .row-arrow,
.leader-row.selected .row-arrow { border-color: var(--acid); color: var(--acid); }

.inline-trades {
  background: #07110e;
  border-bottom: 1px solid var(--line);
  box-shadow: inset 3px 0 var(--acid);
}
.inline-trade-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 18px;
  border-top: 1px solid #31483d;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(90deg, #19291f, #0c1914);
}
.inline-trade-head span,
.inline-trade-head strong { display: block; }
.inline-trade-head span { color: var(--muted); font-size: .61rem; letter-spacing: .12em; }
.inline-trade-head strong { margin-top: 3px; font-size: .86rem; }
.inline-trade-head a { color: var(--acid); font-size: .72rem; text-decoration: none; white-space: nowrap; }
.inline-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); }
.inline-summary span { padding: 9px 18px; background: #0c1814; color: var(--muted); font-size: .65rem; }
.inline-summary b { margin-left: 7px; color: var(--text); font-size: .76rem; }
.inline-trade-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 470px; overflow: auto; }
.inline-trade-list .trade-item { min-height: 52px; padding: 8px 14px; gap: 7px; border-right: 1px solid var(--line); }
.inline-trade-list .trade-item:nth-child(even) { border-right: 0; }
.inline-trade-list .trade-item:hover { background: #0d1b16; }
.inline-trade-list .trade-symbol { gap: 7px; }
.inline-trade-list .side-dot { height: 20px; }
.method-card { margin-top: 18px; }

@media (max-width: 900px) {
  .live-hero { grid-template-columns: 1fr 290px; gap: 24px; }
  .leader-columns { display: none; }
  .leader-row {
    grid-template-columns: 36px 38px minmax(150px, 1fr) minmax(290px, 1.15fr) 82px 28px !important;
    gap: 10px;
  }
  .risk-mini { width: 82px; }
  .inline-trade-list { grid-template-columns: 1fr; max-height: 440px; }
  .inline-trade-list .trade-item { border-right: 0; }
}

@media (max-width: 720px) {
  .live-hero { grid-template-columns: 1fr; gap: 14px; padding: 24px 0 16px; }
  .live-hero h1 { font-size: clamp(2.15rem, 10vw, 3.1rem); }
  .hero-status { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 2px 16px; }
  .hero-status .pulse, .hero-status small { grid-column: 1; }
  .hero-status strong { grid-column: 2; grid-row: 1 / span 2; margin: 0; align-self: center; }
  .freshness { grid-column: 1 / -1; }
  .source-strip { margin-top: 2px; }
  .live-controls { align-items: stretch; flex-direction: column; gap: 10px; }
  .rank-switch { display: grid; grid-template-columns: 1fr 1fr; }
  .period-chip { justify-content: space-between; }
  .period-switch { justify-content: space-between; }
  .period-switch > span { margin-right: auto; }
  .leader-row {
    grid-template-columns: 30px 38px minmax(0, 1fr) 28px !important;
    grid-template-areas:
      "rank avatar identity arrow"
      ". stats stats stats";
    gap: 9px 10px;
    min-height: 104px;
    padding: 13px 12px;
  }
  .rank-no { grid-area: rank; }
  .avatar { grid-area: avatar; }
  .leader-id { grid-area: identity; }
  .leader-stats { grid-area: stats; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .leader-metric { display: block !important; padding: 6px 7px; }
  .leader-metric small { font-size: .55rem; }
  .leader-metric strong { font-size: .72rem; }
  .risk-mini { display: none !important; }
  .row-arrow { grid-area: arrow; }
}

@media (max-width: 620px) {
  .topbar .nav { display: none; }
  .live-hero p { font-size: .78rem; }
  .hero-status { padding: 14px; }
  .hero-status strong { font-size: 1.75rem; }
  .source-strip div { flex-wrap: wrap; row-gap: 4px; }
  .source-strip strong { width: calc(100% - 20px); }
  .source-strip span { padding-left: 18px; font-size: .68rem; }
  .market-tabs { margin-top: 14px; justify-content: space-around; gap: 0; }
  .market-tabs button { flex: 1; }
  .period-switch button { padding: 8px 11px; }
  .panel-head { padding: 14px 13px; }
  .inline-trade-head { padding: 12px; }
  .inline-summary { grid-template-columns: repeat(2, 1fr); }
  .inline-summary span { padding: 8px 12px; }
  .trade-item { padding: 12px; gap: 7px; }
  .method-card { margin-bottom: 70px; }
}

/* Clear hierarchy and consistent interaction states */
.traders-page .topbar{box-shadow:0 8px 30px #0003}.live-shell{padding-bottom:40px}.live-hero{padding-top:30px}.hero-status{border:1px solid var(--line);background:linear-gradient(145deg,#112019,#0a1512);box-shadow:0 18px 50px #0003}.source-strip{box-shadow:0 10px 28px #0002}.source-strip a{font-weight:700;border-bottom:1px solid transparent}.source-strip a:hover{border-bottom-color:var(--acid)}
.market-tabs button,.rank-switch button,.period-switch button{min-height:42px}.market-tabs button:focus-visible,.rank-switch button:focus-visible,.period-switch button:focus-visible,.leader-row:focus-visible{outline:2px solid var(--acid);outline-offset:2px}.live-controls{margin:0 0 14px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#091410}.leader-panel{box-shadow:0 18px 54px #0003}.leader-row{min-height:76px}.leader-row:active{background:#18271f}.inline-trade-head a{padding:7px 9px;border:1px solid #405e50;border-radius:8px}.inline-trade-head a:hover{border-color:var(--acid);background:#16241c}.method-card{box-shadow:0 14px 38px #0002}.trade-loading{min-height:116px;display:grid;place-items:center}
@media(max-width:720px){.live-shell{padding-bottom:18px}.live-hero{padding-top:20px}.live-hero h1{margin-bottom:10px}.hero-status{padding:13px 14px}.source-strip{padding:11px 12px}.market-tabs{margin-top:12px}.live-controls{margin-bottom:12px;padding:10px;gap:9px}.leader-row{min-height:108px}.method-card>div{padding:16px}.method-card p{font-size:.78rem;line-height:1.6}}
@media(max-width:620px){.live-state span{display:inline}.live-state{font-size:.7rem}.live-hero p{line-height:1.6}.rank-switch button{min-height:44px}.period-switch{min-height:46px}.period-switch>span{padding-left:4px}.period-switch button{min-height:36px;padding:7px 9px}.panel-head h2{font-size:1.05rem}.inline-trade-head{align-items:flex-start}.inline-trade-head a{padding:6px 8px}.inline-summary b{display:block;margin:2px 0 0}.trade-item{min-height:70px}}

/* Mobile layout stabilization */
@media(max-width:620px){
  .traders-page .topbar .shell{gap:8px}.traders-page .actions{gap:6px}
  .live-hero h1 em{display:block;margin-left:0}.live-hero h1{line-height:1.02}
  .hero-status{grid-template-columns:minmax(0,1fr) auto}.hero-status strong{white-space:nowrap}
  .source-strip{min-width:0}.source-strip div{min-width:0}.source-strip span{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .rank-switch button{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 6px;font-size:.76rem;line-height:1.2;white-space:nowrap}.rank-switch button span{flex:0 0 auto;margin-right:0}
  .period-switch{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:4px;padding:5px}.period-switch>span{margin:0;padding:0 4px;white-space:nowrap}.period-switch button{width:100%;padding:7px 4px;white-space:nowrap}
  .leader-row{overflow:hidden}.leader-id strong{font-size:.84rem}.leader-id small{font-size:.58rem}.leader-stats{min-width:0}.leader-metric{overflow:hidden}.leader-metric strong{font-size:.7rem}
  .inline-trade-head{gap:8px}.inline-trade-head>div{min-width:0}.inline-trade-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-trade-head a{flex:0 0 auto}
  .inline-trade-list .trade-item{display:grid;grid-template-columns:minmax(100px,1.2fr) 42px minmax(0,1fr) minmax(0,1fr);min-height:48px;gap:6px;padding:7px 10px}.inline-trade-list .trade-item>div:last-child{display:none}
  .traders-page .mobile-nav{gap:4px}.traders-page .mobile-nav a,.traders-page .mobile-nav button{min-width:0;padding:9px 6px;white-space:nowrap}
}
@media(max-width:360px){
  .traders-page .brand>span:not(.mark){font-size:0}.traders-page .brand>span:not(.mark):after{content:"SK";font-size:1rem}.live-state span{display:none}
  .live-hero h1{font-size:2.15rem}.live-hero p{font-size:.74rem}.source-strip strong{font-size:.75rem}.source-strip span{font-size:.62rem}
  .live-controls{padding:8px}.rank-switch button{font-size:.7rem}.rank-switch button span{font-size:.57rem}.period-switch>span{display:none}.period-switch{grid-template-columns:repeat(3,1fr)}
  .leader-row{grid-template-columns:26px 34px minmax(0,1fr) 26px!important;gap:8px}.avatar{width:32px;height:32px}.leader-stats{gap:4px}.leader-metric{padding:6px 5px}.leader-metric small{font-size:.5rem}.leader-metric strong{font-size:.65rem}
}

/* Compact signal monitor: rankings and inline trade history remain primary. */
.signal-monitor{margin:0 0 16px;border:1px solid #2b4438;border-radius:13px;overflow:hidden;background:#0a1612;box-shadow:0 12px 34px #0002}.signal-monitor>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;padding:10px 17px;cursor:pointer;list-style:none}.signal-monitor>summary::-webkit-details-marker{display:none}.signal-monitor>summary>div:first-child span,.signal-monitor>summary>div:first-child strong{display:block}.signal-monitor>summary>div:first-child strong{margin-top:3px;font-size:.88rem}.signal-monitor>summary>div:last-child{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.65rem}.signal-monitor>summary b{padding:5px 8px;border:1px solid #405d50;border-radius:7px;color:var(--text);font-size:.62rem}.signal-monitor[open]>summary{border-bottom:1px solid var(--line);background:#102019}.signal-monitor[open]>summary b{color:var(--acid);border-color:#607d39}.signal-monitor[open]>summary b:after{content:"收起"}.signal-monitor[open]>summary b{font-size:0}.signal-monitor[open]>summary b:after{font-size:.62rem}.signal-monitor-body{background:linear-gradient(145deg,#0d1b16,#08130f 65%)}.signal-monitor-head{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:13px 17px;border-bottom:1px solid var(--line)}.signal-monitor-head p{margin:0;color:var(--muted);font-size:.68rem;line-height:1.5}.signal-monitor-actions{display:flex;flex:0 0 auto;gap:8px}.signal-monitor-actions button,.signal-monitor-foot button,.inline-watch{min-height:34px;padding:0 10px;border:1px solid #405d50;border-radius:8px;background:#102019;color:var(--text);font-size:.66rem;font-weight:750;cursor:pointer}.signal-monitor-actions button:hover,.signal-monitor-foot button:hover,.inline-watch:hover{border-color:var(--acid);color:var(--acid)}.signal-monitor-actions button:disabled{opacity:.55;cursor:not-allowed}.signal-monitor-meta{padding:8px 17px;border-bottom:1px solid var(--line);background:#07110e;color:var(--muted);font-size:.62rem}.signal-feed{max-height:320px;overflow:auto}.signal-empty{min-height:88px;display:grid;place-items:center;align-content:center;gap:5px;padding:17px;text-align:center;color:var(--muted)}.signal-empty strong{color:var(--text);font-size:.76rem}.signal-empty span{font-size:.65rem}.signal-event{position:relative;display:grid;grid-template-columns:minmax(180px,1.35fr) 48px minmax(92px,.7fr) minmax(92px,.7fr) 80px;align-items:center;gap:13px;min-height:66px;padding:10px 17px 10px 21px;border-bottom:1px solid var(--line)}.signal-event:last-child{border-bottom:0}.signal-event:hover{background:#0d1c17}.signal-event-bar{position:absolute;inset:10px auto 10px 0;width:3px;border-radius:0 3px 3px 0;background:var(--mint)}.signal-event-bar.sell{background:var(--red)}.signal-event-main{min-width:0}.signal-event-main>div{display:flex;align-items:center;gap:8px;min-width:0}.signal-event-main strong,.signal-event-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signal-event-main strong{font-size:.78rem}.signal-event-main span{color:var(--acid);font-size:.7rem}.signal-event-main small,.signal-event-price small,.signal-event-value small{display:block;color:var(--muted);font-size:.58rem}.signal-event-main small{margin-top:4px}.signal-event-price strong,.signal-event-value strong{display:block;margin-top:3px;font-size:.75rem}.consensus-badge{justify-self:end;padding:5px 7px;border:1px solid #806b32;border-radius:999px;background:#f7c95112;color:#f0c75b;font-size:.6rem;white-space:nowrap}.signal-monitor-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:9px 17px;border-top:1px solid var(--line);color:var(--muted);font-size:.61rem}.signal-monitor-foot button{min-height:29px;background:transparent}.inline-trade-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.inline-watch{min-height:32px;background:#14231c}.inline-watch.active{border-color:#789c43;color:var(--acid);background:#c8ff5b12}
@media(max-width:720px){.signal-monitor>summary{padding:10px 13px}.signal-monitor>summary>div:last-child{gap:7px}.signal-monitor-head{display:grid;padding:12px 13px;gap:10px}.signal-monitor-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.signal-monitor-actions button{min-width:0;padding:0 7px}.signal-monitor-meta{padding:8px 13px}.signal-event{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main action" "price value" "consensus consensus";gap:9px 13px;padding:12px 13px 12px 17px}.signal-event-main{grid-area:main}.signal-event>.action-tag{grid-area:action}.signal-event-price{grid-area:price}.signal-event-value{grid-area:value;text-align:right}.signal-event>.consensus-badge{grid-area:consensus;justify-self:start}.signal-event>span:last-child:empty{display:none}.signal-monitor-foot{padding:9px 13px}.inline-trade-actions{gap:5px}.inline-watch{min-height:30px;padding:0 7px;font-size:.62rem}}
@media(max-width:420px){.signal-monitor>summary>div:last-child>span{display:none}.signal-monitor-actions{grid-template-columns:1fr}.signal-monitor-foot{align-items:flex-start}.signal-monitor-foot span{line-height:1.45}.inline-trade-head{display:grid}.inline-trade-actions{width:100%}.inline-trade-actions a,.inline-watch{flex:1;text-align:center}}
