:root {
  --bg: #0b1017;
  --panel: #111822;
  --panel-raised: #151e2a;
  --line: #253142;
  --line-soft: #1b2634;
  --text: #e9eef5;
  --muted: #8b9aae;
  --faint: #5a687b;
  --green: #22c993;
  --green-bg: rgba(34, 201, 147, 0.12);
  --red: #f05d6b;
  --red-bg: rgba(240, 93, 107, 0.12);
  --amber: #f2b84b;
  --violet: #a885f7;
  --blue: #65a8ff;
  --cyan: #4bc7d9;
  --mono: "DM Mono", "SFMono-Regular", Consolas, monospace;
  --sans: "Manrope", "Noto Sans SC", Arial, sans-serif;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--sans); font-size: 13px; letter-spacing: 0; }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 228px minmax(0, 1fr); }
.side-nav { position: sticky; top: 0; height: 100vh; background: #0e141d; border-right: 1px solid var(--line-soft); padding: 22px 13px 15px; display: flex; flex-direction: column; }
.brand, .mobile-brand { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 16px; }
.brand { padding: 0 9px 28px; }
.brand-mark { display: grid; place-items: center; height: 29px; width: 29px; color: #061412; background: var(--green); border-radius: 7px; }
.brand-mark svg { width: 18px; height: 18px; stroke-width: 2.4; }
.nav-links { display: grid; gap: 3px; }
.nav-item { border: 0; border-radius: 6px; background: transparent; color: var(--muted); min-height: 39px; padding: 0 10px; width: 100%; display: flex; align-items: center; gap: 10px; text-align: left; font-weight: 600; }
.nav-item svg { height: 17px; width: 17px; stroke-width: 1.8; }
.nav-item:hover, .nav-item.active { color: var(--text); background: #182231; }
.nav-item.active { box-shadow: inset 2px 0 0 var(--green); }
.nav-item b, .nav-item em { margin-left: auto; font-family: var(--mono); font-size: 10px; font-style: normal; font-weight: 500; }
.nav-item b { color: var(--faint); }
.nav-item em { padding: 2px 5px; color: var(--red); background: var(--red-bg); border-radius: 3px; font-size: 9px; letter-spacing: .04em; }
.nav-label { color: var(--faint); font-size: 10px; font-weight: 700; letter-spacing: .12em; margin: 27px 10px 8px; }
.compact .nav-item { min-height: 34px; font-size: 12px; }
.market-dot { height: 6px; width: 6px; border-radius: 50%; background: var(--green); }
.market-dot.us { background: var(--blue); }.market-dot.hk { background: var(--amber); }
.side-bottom { margin-top: auto; display: grid; gap: 8px; }
.source-status, .user-menu { width: 100%; border: 1px solid var(--line-soft); background: transparent; color: var(--text); border-radius: 6px; text-align: left; display: flex; align-items: center; gap: 8px; }
.source-status { padding: 9px 8px; }.source-status strong, .source-status small { display: block; }.source-status strong { font-size: 11px; }.source-status small { color: var(--muted); font-size: 10px; margin-top: 2px; }.source-status > svg, .user-menu > svg { margin-left: auto; width: 15px; color: var(--muted); }
.status-pulse { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px rgba(34,201,147,.11); flex: 0 0 auto; }
.user-menu { border: 0; padding: 5px 4px; gap: 8px; font-size: 12px; }.user-menu:hover { background: #182231; }.avatar { display: grid; place-items: center; height: 28px; width: 28px; color: #c7b6ff; background: #392c5c; font-size: 12px; border-radius: 50%; }

.workspace { min-width: 0; }
.topbar { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 0 28px; border-bottom: 1px solid var(--line-soft); }
.mobile-brand { display: none; }
.global-search { height: 34px; width: min(350px, 40vw); display: flex; align-items: center; gap: 8px; color: var(--muted); border: 1px solid var(--line); border-radius: 5px; padding: 0 8px; background: #0d141e; }.global-search svg { height: 16px; width: 16px; }.global-search input { min-width: 0; flex: 1; color: var(--text); background: transparent; border: 0; outline: 0; font-size: 12px; }.global-search input::placeholder { color: var(--faint); }.global-search kbd { color: var(--faint); border: 1px solid #334154; border-radius: 3px; padding: 1px 4px; font-family: var(--mono); font-size: 9px; }
.topbar-actions, .market-state { display: flex; align-items: center; }.topbar-actions { gap: 9px; }.market-state { gap: 7px; color: var(--muted); font-size: 11px; }.market-state strong { color: var(--green); font-size: 11px; margin-left: 2px; }
.icon-button { width: 32px; height: 32px; display: inline-grid; place-items: center; color: var(--muted); border: 1px solid var(--line); border-radius: 5px; background: transparent; }.icon-button:hover { color: var(--text); border-color: #43536a; background: #172130; }.icon-button svg { width: 16px; height: 16px; }.icon-button.small { width: 27px; height: 27px; border-color: transparent; }.icon-button.small:hover { border-color: var(--line); }.icon-button.send { color: #061412; background: var(--green); border-color: var(--green); }

.ticker-strip { min-height: 52px; padding: 0 28px; display: flex; align-items: stretch; gap: 23px; border-bottom: 1px solid var(--line-soft); overflow: hidden; }.ticker-title { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; color: var(--muted); font-weight: 600; font-size: 11px; }.ticker-title small { color: var(--faint); font-weight: 500; }.index-chip { min-width: 140px; border: 0; background: transparent; padding: 7px 0; display: grid; grid-template-columns: auto auto; grid-template-rows: 15px 16px; column-gap: 8px; text-align: left; }.index-chip:hover { background: rgba(255,255,255,.02); }.index-chip span { grid-column: 1/3; color: var(--muted); font-size: 10px; }.index-chip strong, .index-chip em { font-family: var(--mono); font-size: 11px; font-style: normal; }.index-chip strong { font-weight: 500; color: var(--text); }.up { color: var(--red) !important; }.down { color: var(--green) !important; }.strip-time { margin-left: auto; display: flex; align-items: center; color: var(--faint); font: 10px var(--mono); white-space: nowrap; }

.dashboard-grid { padding: 20px 28px 28px; display: grid; grid-template-columns: minmax(180px, .78fr) minmax(480px, 2.25fr) minmax(205px, .9fr); grid-template-areas: "watch chart details" "live chart details" "live signals details"; gap: 16px; align-items: stretch; }
.panel { min-width: 0; background: var(--panel); border: 1px solid var(--line-soft); border-radius: 7px; }.panel-header { min-height: 57px; padding: 14px 15px 10px; display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }.panel-header h1, .panel-header h2 { margin: 1px 0 0; font-size: 14px; font-weight: 700; line-height: 1.25; }.panel-header h1 { font-size: 17px; }.eyebrow { color: var(--faint); font-family: var(--mono); font-size: 9px; letter-spacing: .075em; }.compact-header { min-height: 50px; padding-bottom: 7px; }.compact-header h2 { font-size: 13px; }

.watchlist-panel { grid-area: watch; min-height: 350px; display: flex; flex-direction: column; }.watch-tabs, .live-filter { display: flex; gap: 15px; padding: 0 15px; border-bottom: 1px solid var(--line-soft); }.tab { position: relative; padding: 0 0 9px; border: 0; background: transparent; color: var(--faint); font-size: 11px; font-weight: 600; }.tab.active { color: var(--text); }.tab.active::after { content: ""; position: absolute; height: 2px; left: 0; right: 0; bottom: -1px; background: var(--green); }
.watch-table { display: grid; }.watch-row { position: relative; min-height: 48px; padding: 8px 12px 8px 15px; border-bottom: 1px solid var(--line-soft); display: grid; align-items: center; grid-template-columns: 1fr auto; gap: 5px; cursor: pointer; }.watch-row:hover, .watch-row.selected { background: var(--panel-raised); }.watch-row.selected::before { content:""; width: 2px; background: var(--green); position: absolute; inset: 0 auto 0 0; }.watch-name { min-width: 0; }.watch-name b { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 12px; }.watch-name small { color: var(--faint); font: 10px var(--mono); }.watch-quote { text-align: right; }.watch-quote strong, .watch-quote em { display: block; font-family: var(--mono); font-style: normal; }.watch-quote strong { font-size: 11px; font-weight: 500; }.watch-quote em { margin-top: 2px; font-size: 10px; }.text-action { display: inline-flex; align-items: center; gap: 5px; border: 0; background: transparent; color: var(--muted); font-size: 11px; padding: 7px 0; }.text-action:hover { color: var(--text); }.text-action svg { height: 13px; width: 13px; }.watchlist-panel .text-action { padding: 11px 15px; margin-top: auto; }

.chart-panel { grid-area: chart; overflow: hidden; }.chart-header { min-height: 75px; padding: 16px 18px 9px; display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }.asset-ident { min-width: 0; display: flex; align-items: center; gap: 9px; }.asset-icon { flex: 0 0 auto; display: grid; place-items: center; height: 33px; width: 33px; border-radius: 7px; color: #fee7bb; background: #63503a; font-size: 13px; font-weight: 700; }.star-button { display: grid; place-items: center; color: var(--faint); background: transparent; border: 0; padding: 4px; }.star-button.active { color: var(--amber); }.star-button svg { height: 16px; width: 16px; fill: currentColor; stroke-width: 1.6; }.quote-block { padding-top: 3px; text-align: right; font-family: var(--mono); }.quote-block strong { display: block; color: var(--red); font-size: 22px; letter-spacing: -.025em; font-weight: 500; }.quote-block span { font-size: 10px; }
.asset-stats { padding: 0 18px 11px; display: grid; grid-template-columns: repeat(5, auto); align-items: center; gap: 11px; border-bottom: 1px solid var(--line-soft); color: var(--faint); font-size: 10px; white-space: nowrap; }.asset-stats b { margin-left: 3px; font-family: var(--mono); color: var(--muted); font-weight: 500; }.chart-toolbar { min-height: 40px; padding: 0 14px 0 18px; display: flex; justify-content: space-between; align-items: center; }.timeframes { display: flex; height: 100%; align-items: center; gap: 1px; }.timeframe { padding: 4px 7px; color: var(--muted); font-size: 11px; border: 0; border-radius: 4px; background: transparent; }.timeframe.active { color: var(--text); background: #243142; }.timeframe:hover { color: var(--text); }.chart-tools { display: flex; align-items: center; gap: 2px; }.indicator-button { display: inline-flex; align-items: center; gap: 4px; height: 27px; padding: 0 7px; background: transparent; color: var(--muted); border: 1px solid transparent; border-radius: 4px; font-size: 11px; }.indicator-button:hover { color: var(--text); border-color: var(--line); }.indicator-button svg { height: 14px; width: 14px; }.indicator-button b { min-width: 14px; color: var(--green); font: 10px var(--mono); }.indicator-legend { height: 20px; padding: 0 18px; display: flex; align-items: center; gap: 12px; overflow: hidden; white-space: nowrap; color: var(--muted); font: 9px var(--mono); }.legend-ma5::before, .legend-ma10::before, .legend-ma20::before { content:""; display: inline-block; height: 2px; width: 8px; margin-right: 4px; vertical-align: middle; background: var(--amber); }.legend-ma10::before { background: var(--violet); }.legend-ma20::before { background: var(--cyan); }
.chart-wrap { position: relative; height: 285px; padding: 0 9px; }.chart-wrap svg, .volume-wrap svg { display: block; width: 100%; height: 100%; overflow: visible; }.chart-tooltip { position: absolute; z-index: 3; pointer-events: none; padding: 6px 7px; color: var(--text); background: #1d2938; border: 1px solid #41516a; border-radius: 4px; box-shadow: 0 6px 16px rgba(0,0,0,.25); font: 10px/1.5 var(--mono); white-space: pre-line; transform: translate(10px, -80%); }.volume-title { height: 22px; padding: 0 18px; display: flex; justify-content: space-between; align-items: center; color: var(--faint); font-size: 9px; }.volume-title span:last-child { font-family: var(--mono); }.volume-wrap { height: 67px; padding: 0 9px; }.chart-footer { min-height: 30px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line-soft); color: var(--faint); font-size: 9px; }.chart-footer span { display: flex; align-items: center; gap: 4px; }.chart-footer svg { width: 12px; height: 12px; color: var(--amber); }.chart-footer b { color: var(--muted); font-family: var(--mono); font-weight: 400; }

.details-column { grid-area: details; min-width: 0; display: grid; gap: 16px; align-content: start; }.market-depth { min-height: 316px; }.depth-tag { color: var(--cyan); background: rgba(75,199,217,.13); border-radius: 3px; padding: 2px 4px; font: 9px var(--mono); }.depth-list { padding: 4px 14px 4px; display: grid; gap: 2px; }.depth-row { position: relative; min-height: 22px; display: grid; align-items: center; grid-template-columns: 31px 1fr 46px; font: 10px var(--mono); overflow: hidden; }.depth-row::after { content:""; position:absolute; z-index:0; height: 16px; right: 0; top: 3px; background: var(--green-bg); }.depth-row.sell::after { background: var(--red-bg); }.depth-row > * { z-index: 1; }.depth-row span { color: var(--faint); }.depth-row b { text-align: right; color: var(--text); font-weight: 400; }.depth-row em { text-align: right; color: var(--muted); font-style: normal; font-size: 9px; }.depth-summary { border-top: 1px solid var(--line-soft); margin: 6px 14px 0; padding-top: 11px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 7px; color: var(--faint); font-size: 9px; }.depth-summary b { font: 10px var(--mono); }.depth-summary div { display: flex; overflow: hidden; height: 4px; border-radius: 2px; background: var(--line); }.depth-summary i { display: block; }.depth-summary .buy { background: var(--green); }.depth-summary .sell { background: var(--red); }
.alert-mini { overflow: hidden; }.alert-row { min-height: 55px; padding: 7px 14px; border-top: 1px solid var(--line-soft); display: flex; align-items: center; gap: 8px; }.alert-signal { display: grid; place-items: center; height: 25px; width: 25px; border-radius: 5px; background: rgba(242,184,75,.12); color: var(--amber); }.alert-signal.violet { background: rgba(168,133,247,.14); color: var(--violet); }.alert-signal svg { height: 14px; width: 14px; }.alert-row p { min-width: 0; margin: 0; flex: 1; }.alert-row b, .alert-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.alert-row b { font-size: 10px; }.alert-row small { margin-top: 2px; color: var(--faint); font-size: 9px; }.switch { position: relative; width: 25px; height: 14px; padding: 0; border: 0; border-radius: 7px; background: #435064; }.switch i { position: absolute; top: 3px; left: 3px; height: 8px; width: 8px; border-radius: 50%; background: white; transition: transform .18s; }.switch.on { background: var(--green); }.switch.on i { transform: translateX(11px); }

.live-panel { grid-area: live; min-height: 403px; display: flex; flex-direction: column; }.live-meta { display: flex; align-items: center; gap: 5px; color: var(--faint); font: 10px var(--mono); }.live-meta span { display: inline-flex; align-items: center; gap: 4px; }.live-meta svg { height: 13px; width: 13px; }.live-meta b { color: var(--green); font: 9px var(--mono); font-weight: 400; }.live-dot { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 3px rgba(240,93,107,.13); vertical-align: 2px; }.room-context { min-height: 31px; padding: 0 14px; display: flex; align-items: center; gap: 7px; color: var(--muted); background: #0e151f; border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); font-size: 9px; }.context-symbol { padding: 2px 4px; color: var(--amber); background: rgba(242,184,75,.12); border-radius: 3px; font: 9px var(--mono); }.context-state { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; color: var(--green); white-space: nowrap; }.context-state .status-pulse { width: 5px; height: 5px; box-shadow: none; }.live-filter { padding-top: 7px; }.live-feed { min-height: 0; flex: 1; padding: 6px 14px 7px; overflow: auto; scrollbar-width: thin; scrollbar-color: #334154 transparent; }.feed-item { padding: 9px 0; display: grid; grid-template-columns: 21px 1fr; gap: 8px; border-bottom: 1px solid var(--line-soft); }.feed-item:last-child { border-bottom: 0; }.feed-item.signal .feed-avatar { color: #ffe4aa; background: rgba(242,184,75,.16); }.feed-item.discussion .feed-avatar { color: #c8d9ff; background: #263852; }.feed-avatar { display: grid; place-items: center; height: 21px; width: 21px; border-radius: 50%; color: #c8d9ff; background: #263852; font-size: 9px; font-weight: 700; }.feed-avatar.system { color: #c1f4e5; background: #1b4a3e; }.feed-copy { min-width: 0; }.feed-copy header { display: flex; align-items: baseline; gap: 5px; }.feed-copy b { font-size: 10px; }.feed-copy time { color: var(--faint); font: 9px var(--mono); }.feed-copy p { margin: 3px 0 0; color: #b3c0d0; font-size: 10px; line-height: 1.55; }.feed-copy p strong { color: var(--amber); font-weight: 600; }.feed-copy p .rise { color: var(--red); }.feed-copy p .fall { color: var(--green); }.comment-form { border-top: 1px solid var(--line-soft); padding: 9px 10px; display: flex; align-items: center; gap: 7px; }.comment-tag { color: var(--violet); font: 9px var(--mono); }.comment-form input { min-width: 0; flex: 1; height: 29px; border: 1px solid var(--line); border-radius: 4px; padding: 0 8px; color: var(--text); background: #0d141e; font-size: 10px; }.comment-form input::placeholder { color: var(--faint); }

.signals-panel { grid-area: signals; min-height: 224px; }.signal-list { border-top: 1px solid var(--line-soft); }.signal-row { min-height: 44px; padding: 7px 14px; display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 8px; border-bottom: 1px solid var(--line-soft); }.signal-row:last-child { border-bottom: 0; }.signal-icon { display: grid; place-items: center; height: 23px; width: 23px; border-radius: 4px; color: var(--amber); background: rgba(242,184,75,.12); }.signal-icon.green { color: var(--green); background: var(--green-bg); }.signal-icon.red { color: var(--red); background: var(--red-bg); }.signal-icon svg { height: 13px; width: 13px; }.signal-name b, .signal-name span { display: block; }.signal-name b { font-size: 10px; }.signal-name span { color: var(--faint); font-size: 9px; margin-top: 1px; }.signal-value { text-align: right; font: 10px var(--mono); }.signal-value b { display: block; color: var(--text); font-weight: 400; }.signal-value span { font-size: 9px; }

.model-picker { min-height: 49px; padding: 7px 10px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; background: #101822; border-bottom: 1px solid var(--line-soft); }.model-tab { min-width: 0; border: 1px solid transparent; border-radius: 4px 4px 0 0; background: transparent; color: var(--muted); padding: 5px 6px 7px; text-align: left; }.model-tab:hover { color: var(--text); background: #182332; }.model-tab.active { color: var(--text); border-color: var(--line); border-bottom-color: var(--green); background: #192536; }.model-tab b, .model-tab small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.model-tab b { font-size: 10px; font-weight: 600; }.model-tab small { margin-top: 2px; color: var(--faint); font: 9px var(--mono); }.model-tab.active small { color: var(--green); }.model-statusline { min-height: 32px; padding: 0 14px; display: flex; align-items: center; gap: 11px; color: var(--faint); border-bottom: 1px solid var(--line-soft); font-size: 9px; white-space: nowrap; overflow: hidden; }.model-statusline b { margin-left: 3px; color: var(--text); font: 10px var(--mono); font-weight: 400; }.model-statusline .paper-status { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; color: var(--green); }.paper-status .status-pulse { width: 5px; height: 5px; box-shadow: none; }.feed-item.trade .feed-avatar { color: #e1d2ff; background: rgba(168,133,247,.16); }.feed-item.trade .feed-copy p strong { color: var(--violet); }.trade-chip { display: inline-block; margin-right: 4px; padding: 1px 4px; color: var(--violet); background: rgba(168,133,247,.13); border-radius: 3px; font: 9px var(--mono); }.trade-pnl { margin-left: 4px; color: var(--red); font: 9px var(--mono); }.trade-pnl.loss { color: var(--green); }

.modal-backdrop { position: fixed; inset: 0; z-index: 20; background: rgba(2,6,10,.68); backdrop-filter: blur(3px); }.app-modal { z-index: 21; width: min(510px, calc(100vw - 28px)); max-height: calc(100vh - 28px); padding: 0; overflow: hidden; color: var(--text); background: #141d29; border: 1px solid #36465d; border-radius: 8px; box-shadow: 0 24px 70px rgba(0,0,0,.5); }.app-modal::backdrop { background: transparent; }.modal-header { padding: 17px 18px 13px; display: flex; align-items: flex-start; justify-content: space-between; border-bottom: 1px solid var(--line); }.modal-header h2 { margin: 2px 0 0; font-size: 16px; }.modal-body { padding: 15px 18px 18px; overflow-y: auto; }.modal-search { display: flex; align-items: center; gap: 7px; height: 35px; border: 1px solid var(--line); border-radius: 5px; padding: 0 9px; color: var(--faint); background: #0e151f; }.modal-search svg { height: 15px; width: 15px; }.modal-search input { width: 100%; min-width: 0; color: var(--text); background: transparent; border: 0; outline: 0; }.indicator-list { margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }.indicator-item { display: flex; align-items: center; gap: 8px; min-height: 47px; padding: 7px 9px; border: 1px solid transparent; border-radius: 5px; cursor: pointer; }.indicator-item:hover { background: #1a2635; }.indicator-item input { accent-color: var(--green); }.indicator-item b, .indicator-item small { display: block; }.indicator-item b { font-size: 11px; }.indicator-item small { margin-top: 1px; color: var(--faint); font-size: 9px; }.modal-footer { min-height: 58px; padding: 11px 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; }.primary-button { min-height: 31px; border: 0; border-radius: 5px; padding: 0 11px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; color: #061412; background: var(--green); font-size: 11px; font-weight: 700; }.primary-button:hover { filter: brightness(1.08); }.primary-button svg { height: 14px; width: 14px; }
.source-modal { width: min(610px, calc(100vw - 28px)); }.modal-copy { margin: 0 0 13px; color: var(--muted); line-height: 1.6; font-size: 11px; }.source-list { display: grid; gap: 7px; }.source-row { padding: 10px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 9px; background: #101822; border: 1px solid var(--line); border-radius: 5px; }.source-row .status-pulse { width: 6px; height: 6px; }.source-name { min-width: 0; }.source-name b, .source-name small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }.source-name b { font-size: 11px; }.source-name small { margin-top: 2px; color: var(--faint); font: 9px var(--mono); }.source-row button { color: var(--faint); background: transparent; border: 0; padding: 3px; }.source-row button:hover { color: var(--red); }.source-row button svg { width: 15px; height: 15px; }.add-source-form { margin-top: 15px; padding-top: 15px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1.4fr auto; align-items: end; gap: 9px; }.add-source-form label, .alert-form label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; }.add-source-form input, .alert-form input, .form-select { width: 100%; height: 32px; border: 1px solid var(--line); border-radius: 4px; padding: 0 8px; color: var(--text); background: #0e151f; outline: 0; font-size: 11px; }.small-modal { width: min(390px, calc(100vw - 28px)); }.alert-form { display: grid; gap: 12px; }.alert-form .primary-button { margin-top: 2px; justify-self: end; }.toast { position: fixed; z-index: 50; left: 50%; bottom: 22px; max-width: calc(100vw - 28px); transform: translateX(-50%); padding: 9px 13px; color: var(--text); background: #223043; border: 1px solid #42556f; border-radius: 5px; box-shadow: 0 8px 25px rgba(0,0,0,.35); font-size: 11px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.contest-view { padding: 20px 28px 32px; }.contest-header { min-height: 72px; padding: 2px 0 16px; display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); }.contest-header h1 { margin: 4px 0 0; font-size: 22px; letter-spacing: 0; }.contest-header h1 small { color: var(--muted); font-size: 12px; font-weight: 500; }.trophy { font-size: 20px; }.contest-meta { display: flex; align-items: center; gap: 16px; color: var(--muted); font-size: 10px; }.contest-meta b { margin-left: 4px; color: var(--text); font-family: var(--mono); font-weight: 400; }.contest-meta .paper-status { display: inline-flex; align-items: center; gap: 5px; color: var(--green); }.contest-meta .status-pulse { width: 5px; height: 5px; box-shadow: none; }.contest-models { margin: 14px 0 16px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }.contest-model-card { min-height: 104px; padding: 11px 12px; position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); cursor: pointer; }.contest-model-card:hover, .contest-model-card.active { background: var(--panel-raised); border-color: #455a74; }.contest-model-card.active::after { content: ""; position: absolute; inset: auto 0 0; height: 2px; background: var(--model-color); }.contest-model-card header { display: flex; align-items: center; gap: 6px; }.model-avatar { display: grid; place-items: center; width: 23px; height: 23px; color: #08100f; background: var(--model-color); border-radius: 5px; font-size: 9px; font-weight: 700; }.contest-model-card h3 { margin: 0; font-size: 11px; }.contest-model-card .model-engine { margin: 2px 0 0 29px; color: var(--faint); font: 9px var(--mono); }.contest-metric-row { margin-top: 10px; display: flex; align-items: baseline; justify-content: space-between; }.contest-pnl { color: var(--red); font: 16px var(--mono); }.contest-pnl.loss { color: var(--green); }.position-state { color: var(--muted); font-size: 10px; }.position-state b { color: var(--text); font-family: var(--mono); font-weight: 400; }.contest-action { margin-top: 6px; color: var(--amber); font: 9px var(--mono); }.contest-action.hold { color: var(--muted); }.contest-main-grid, .contest-bottom-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(290px, .78fr); gap: 14px; }.contest-bottom-grid { margin-top: 14px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }.contest-chart, .decision-panel, .leaderboard, .audience { min-width: 0; overflow: hidden; }.contest-section-title { min-height: 54px; padding: 13px 15px 10px; display: flex; align-items: flex-start; justify-content: space-between; border-bottom: 1px solid var(--line-soft); }.contest-section-title h2 { margin: 3px 0 0; font-size: 13px; }.chart-note { color: var(--faint); font-size: 9px; }.live-badge { padding: 2px 5px; color: var(--red); background: var(--red-bg); border-radius: 3px; font: 9px var(--mono); }.contest-chart-canvas { height: 355px; padding: 8px 10px 10px; }.contest-chart-canvas svg { width: 100%; height: 100%; }.decision-feed { height: 355px; padding: 5px 14px; overflow: auto; scrollbar-width: thin; scrollbar-color: #334154 transparent; }.decision-item { padding: 10px 0; display: grid; grid-template-columns: 24px 1fr; gap: 8px; border-bottom: 1px solid var(--line-soft); }.decision-item:last-child { border-bottom: 0; }.decision-avatar { display: grid; place-items: center; height: 23px; width: 23px; color: #08100f; background: var(--model-color); border-radius: 5px; font-size: 8px; font-weight: 700; }.decision-copy header { display: flex; align-items: baseline; gap: 6px; }.decision-copy b { font-size: 10px; }.decision-copy time { color: var(--faint); font: 9px var(--mono); }.decision-copy p { margin: 3px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }.decision-copy strong { color: var(--text); }.decision-reason { color: var(--faint); }.rank-row { min-height: 46px; padding: 8px 15px; display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 8px; border-bottom: 1px solid var(--line-soft); }.rank-row:last-child { border-bottom: 0; }.rank-no { color: var(--faint); font: 11px var(--mono); }.rank-name b, .rank-name small { display: block; }.rank-name b { font-size: 10px; }.rank-name small { color: var(--faint); font: 9px var(--mono); margin-top: 2px; }.rank-pnl { color: var(--red); font: 11px var(--mono); }.rank-pnl.loss { color: var(--green); }.audience-feed { min-height: 220px; padding: 5px 14px; }.audience-item { padding: 9px 0; display: grid; grid-template-columns: 22px 1fr; gap: 7px; border-bottom: 1px solid var(--line-soft); }.audience-avatar { display: grid; place-items: center; width: 22px; height: 22px; color: #c8d9ff; background: #263852; border-radius: 50%; font-size: 8px; }.audience-item p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.45; }.audience-item b { color: var(--text); margin-right: 4px; }.audience-item time { color: var(--faint); font: 9px var(--mono); margin-left: 4px; }.audience .comment-form { margin-top: auto; }
.channel-bar { min-height: 54px; padding: 0 0 10px; display: flex; align-items: flex-end; gap: 14px; border-bottom: 1px solid var(--line); }.channel-bar h2 { margin: 2px 0 0; font-size: 14px; }.channel-tabs { display: flex; align-items: flex-end; gap: 4px; flex: 1; overflow-x: auto; scrollbar-width: none; }.channel-tabs::-webkit-scrollbar { display: none; }.channel-tab { min-width: max-content; padding: 7px 10px; color: var(--muted); border: 1px solid transparent; border-radius: 4px; background: transparent; font-size: 10px; }.channel-tab:hover { color: var(--text); background: var(--panel-raised); }.channel-tab.active { color: var(--text); border-color: var(--line); background: var(--panel-raised); }.channel-tab small { margin-left: 5px; color: var(--faint); font: 9px var(--mono); }.channel-lock { color: var(--amber); margin-right: 3px; }
.community-view { min-height: calc(100vh - 118px); display: grid; grid-template-columns: 190px minmax(0, 1fr) 190px; background: #0d131c; border: 1px solid var(--line-soft); border-radius: 7px; overflow: hidden; }.community-channels { min-width: 0; padding: 15px 9px 10px; background: #101721; border-right: 1px solid var(--line-soft); display: flex; flex-direction: column; }.community-brand { display: flex; align-items: center; gap: 8px; padding: 0 7px 20px; border-bottom: 1px solid var(--line-soft); }.community-brand .brand-mark { width: 25px; height: 25px; border-radius: 6px; }.community-brand b, .community-brand small { display: block; }.community-brand b { font-size: 11px; }.community-brand small { margin-top: 2px; color: var(--faint); font: 8px var(--mono); }.community-section-label { margin: 16px 7px 7px; color: var(--faint); font: 9px var(--mono); text-transform: uppercase; letter-spacing: .06em; display: flex; align-items: center; justify-content: space-between; }.community-section-label .icon-button { margin: -5px -4px -5px 0; }.community-channel { width: 100%; min-height: 31px; padding: 0 8px; display: flex; align-items: center; gap: 7px; border: 0; border-radius: 4px; background: transparent; color: var(--muted); text-align: left; font-size: 10px; }.community-channel svg { width: 13px; height: 13px; color: var(--faint); }.community-channel span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.community-channel small, .community-channel b { margin-left: auto; color: var(--faint); font: 9px var(--mono); }.community-channel b { color: var(--red); font-size: 8px; }.community-channel:hover, .community-channel.active { color: var(--text); background: #1a2636; }.community-channel.active { box-shadow: inset 2px 0 0 var(--green); }.community-channel.locked { color: var(--faint); }.community-user { margin-top: auto; padding: 9px 5px 0; border-top: 1px solid var(--line-soft); display: flex; align-items: center; gap: 7px; }.community-user > div { min-width: 0; flex: 1; }.community-user b, .community-user small { display: block; }.community-user b { font-size: 10px; }.community-user small { margin-top: 2px; color: var(--green); font-size: 9px; }.community-user .status-pulse { display: inline-block; width: 5px; height: 5px; margin-right: 4px; box-shadow: none; }.community-room { min-width: 0; display: flex; flex-direction: column; background: #0d141e; }.room-topbar { min-height: 63px; padding: 0 17px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line-soft); }.room-topbar > div:first-child { display: flex; align-items: center; gap: 9px; }.room-hash { color: var(--faint); font-size: 24px; }.room-topbar h1 { margin: 0; font-size: 14px; }.room-topbar p { margin: 4px 0 0; color: var(--faint); font-size: 9px; }.room-topbar p .live-dot { margin-right: 3px; }.room-actions { display: flex; align-items: center; gap: 5px; }.room-action { min-height: 27px; padding: 0 8px; display: inline-flex; align-items: center; gap: 5px; color: var(--muted); border: 1px solid transparent; border-radius: 4px; background: transparent; font-size: 9px; }.room-action svg { width: 13px; height: 13px; }.room-action:hover, .room-action.active { color: var(--text); background: #1a2738; border-color: var(--line); }.room-action.active { color: var(--green); }.room-topic { min-height: 35px; padding: 0 17px; display: flex; align-items: center; gap: 7px; color: var(--muted); border-bottom: 1px solid var(--line-soft); font-size: 9px; }.room-topic b { color: var(--text); }.topic-price { margin-left: auto; color: var(--red); font: 10px var(--mono); }.topic-price em { margin-left: 4px; font-style: normal; }.topic-follow { padding: 4px 7px; display: inline-flex; align-items: center; gap: 4px; color: var(--faint); border: 1px solid var(--line); border-radius: 4px; background: transparent; font-size: 9px; }.topic-follow svg { width: 12px; height: 12px; }.topic-follow:hover { color: var(--amber); }.stream-stage { min-height: 380px; padding: 13px 15px 15px; border-bottom: 1px solid var(--line-soft); }.stage-label { display: flex; align-items: center; gap: 7px; color: var(--faint); font: 9px var(--mono); }.stage-clock { margin-left: auto; }.streamer-grid { margin-top: 10px; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }.streamer-card { min-height: 136px; padding: 11px; position: relative; border: 1px solid var(--line); border-radius: 5px; background: #121b27; overflow: hidden; }.streamer-card:hover { border-color: #4a617d; }.streamer-card .stream-glow { position: absolute; width: 80px; height: 80px; right: -20px; top: -24px; background: var(--model-color); opacity: .08; border-radius: 50%; filter: blur(3px); }.streamer-head { position: relative; display: flex; align-items: center; gap: 7px; }.streamer-avatar { display: grid; place-items: center; width: 28px; height: 28px; color: #08100f; background: var(--model-color); border-radius: 7px; font-size: 9px; font-weight: 700; }.streamer-head b { display: block; font-size: 10px; }.streamer-head small { display: block; margin-top: 2px; color: var(--green); font: 8px var(--mono); }.streamer-signal { margin-top: 14px; color: var(--muted); font-size: 9px; line-height: 1.45; }.streamer-signal strong { color: var(--text); }.streamer-footer { position: absolute; left: 11px; right: 11px; bottom: 9px; display: flex; align-items: center; justify-content: space-between; color: var(--faint); font: 8px var(--mono); }.join-pk { padding: 3px 6px; color: var(--violet); border: 1px solid rgba(168,133,247,.4); border-radius: 3px; background: rgba(168,133,247,.08); font: 8px var(--mono); }.pk-banner { margin-top: 9px; min-height: 48px; padding: 8px 10px; display: flex; align-items: center; gap: 8px; background: rgba(168,133,247,.08); border: 1px dashed rgba(168,133,247,.35); border-radius: 5px; }.pk-icon { display: grid; place-items: center; width: 26px; height: 26px; color: var(--violet); background: rgba(168,133,247,.14); border-radius: 5px; }.pk-icon svg { width: 14px; height: 14px; }.pk-banner b, .pk-banner small { display: block; }.pk-banner b { font-size: 10px; }.pk-banner small { margin-top: 2px; color: var(--muted); font-size: 9px; }.pk-join { margin-left: auto; padding: 5px 8px; color: #130d1e; border: 0; border-radius: 4px; background: var(--violet); font-size: 9px; font-weight: 700; }.community-chat { min-height: 230px; flex: 1; display: flex; flex-direction: column; }.community-chat > header { min-height: 37px; padding: 0 15px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line-soft); color: var(--muted); font-size: 10px; }.community-chat > header b { color: var(--text); }.community-chat > header span { color: var(--faint); }.chat-filter { display: inline-flex; align-items: center; gap: 4px; color: var(--faint); border: 0; background: transparent; font-size: 9px; }.chat-filter svg { width: 12px; height: 12px; }.community-messages { flex: 1; min-height: 140px; padding: 5px 15px; overflow: auto; }.community-message { padding: 7px 0; color: var(--muted); font-size: 10px; line-height: 1.45; }.community-message b { color: var(--text); margin-right: 5px; }.community-message time { color: var(--faint); font: 8px var(--mono); margin-left: 5px; }.community-compose { padding: 8px 11px; display: flex; align-items: center; gap: 5px; border-top: 1px solid var(--line-soft); }.community-compose input { min-width: 0; flex: 1; height: 28px; border: 1px solid var(--line); border-radius: 4px; padding: 0 7px; color: var(--text); background: #111a25; font-size: 9px; }.community-compose button { width: 28px; height: 28px; color: var(--green); border: 0; background: transparent; }.community-compose button svg { width: 14px; height: 14px; }.compose-prefix { color: var(--faint); font: 13px var(--mono); }.community-members { min-width: 0; padding: 13px 9px; background: #101721; border-left: 1px solid var(--line-soft); }.community-members > header { padding: 0 7px 12px; display: flex; justify-content: space-between; color: var(--muted); font-size: 10px; }.community-members > header b { color: var(--faint); font: 10px var(--mono); }.member-group { margin-bottom: 16px; }.member-group h3 { margin: 0 7px 7px; color: var(--faint); font: 9px var(--mono); text-transform: uppercase; }.member-group h3 .status-pulse { display: inline-block; width: 5px; height: 5px; margin-right: 4px; box-shadow: none; }.member-group h3 .muted { background: var(--faint); }.member-row { min-height: 35px; padding: 4px 7px; display: flex; align-items: center; gap: 7px; border-radius: 4px; }.member-row:hover { background: #182332; }.member-row .streamer-avatar { width: 23px; height: 23px; border-radius: 6px; font-size: 8px; }.member-row b, .member-row small { display: block; }.member-row b { font-size: 9px; }.member-row small { margin-top: 2px; color: var(--green); font: 8px var(--mono); }.member-row .member-pk { margin-left: auto; color: var(--violet); font: 8px var(--mono); }
.contest-view[hidden] { display: none; }.contest-view.is-active + .dashboard-grid { display: none; }.contest-bottom-grid .leaderboard { min-height: 250px; }
.contest-view > .community-view ~ * { display: none; }
.app-shell:has(.community-view) { display: block; }.app-shell:has(.community-view) > .side-nav, .app-shell:has(.community-view) .topbar, .app-shell:has(.community-view) .ticker-strip { display: none; }.app-shell:has(.community-view) .contest-view { padding: 0; }.app-shell:has(.community-view) .community-view { min-height: 100vh; border: 0; border-radius: 0; }
.room-tools { min-height: 38px; padding: 0 17px; display: flex; align-items: center; gap: 4px; border-bottom: 1px solid var(--line-soft); }.room-tool { min-height: 26px; padding: 0 8px; display: inline-flex; align-items: center; gap: 5px; color: var(--muted); border: 1px solid transparent; border-radius: 4px; background: transparent; font-size: 9px; }.room-tool svg { width: 13px; height: 13px; }.room-tool:hover, .room-tool.active { color: var(--text); background: #1a2738; border-color: var(--line); }.room-tool.active { color: var(--green); }
.community-hero { min-height: 220px; position: relative; overflow: hidden; padding: 28px; display: flex; align-items: center; background: radial-gradient(circle at 78% 45%, rgba(91,85,190,.27), transparent 28%), linear-gradient(115deg, #151f2c 0%, #101827 58%, #182238 100%); border-bottom: 1px solid var(--line); }.community-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13,20,30,.08), rgba(13,20,30,.55)); pointer-events: none; }.hero-copy { position: relative; z-index: 2; max-width: 440px; }.hero-copy h1 { margin: 6px 0 9px; max-width: 390px; font-size: 25px; line-height: 1.18; }.hero-copy p { margin: 0; max-width: 360px; color: #aebbd0; font-size: 11px; line-height: 1.6; }.hero-actions { margin-top: 18px; display: flex; gap: 7px; }.hero-primary, .hero-secondary { min-height: 31px; display: inline-flex; align-items: center; gap: 6px; padding: 0 10px; border-radius: 4px; font-size: 10px; font-weight: 700; }.hero-primary { color: #071410; background: var(--green); border: 0; }.hero-secondary { color: var(--text); background: rgba(255,255,255,.04); border: 1px solid #3a4b64; }.hero-primary svg, .hero-secondary svg { width: 14px; height: 14px; }.hero-live { position: absolute; z-index: 2; right: 25px; bottom: 21px; display: grid; gap: 4px; text-align: right; }.hero-live b { font-size: 11px; }.hero-live small { color: var(--muted); font: 9px var(--mono); }.hero-art { position: absolute; inset: 0 0 0 34%; pointer-events: none; opacity: .95; }.hero-grid-lines { position: absolute; inset: 0; background-image: linear-gradient(rgba(101,168,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(101,168,255,.08) 1px, transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(90deg, transparent, black 35%, black); }.hero-orbit { position: absolute; border: 1px solid rgba(101,168,255,.35); border-radius: 50%; transform: rotate(-22deg); }.orbit-a { width: 360px; height: 142px; right: 16%; top: 25px; }.orbit-b { width: 265px; height: 104px; right: 24%; top: 43px; border-color: rgba(168,133,247,.5); }.hero-node { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(34,201,147,.12), 0 0 20px rgba(34,201,147,.85); }.node-a { top: 46px; right: 26%; }.node-b { top: 119px; right: 47%; background: var(--violet); box-shadow: 0 0 0 5px rgba(168,133,247,.12), 0 0 20px rgba(168,133,247,.8); }.node-c { top: 91px; right: 12%; background: var(--amber); box-shadow: 0 0 0 5px rgba(242,184,75,.12), 0 0 20px rgba(242,184,75,.8); }
.dashboard-grid.is-hidden { display: none; }
.workspace.contest-mode .ticker-strip { display: none; }
@media (max-width: 900px) { .contest-models { grid-template-columns: repeat(3, minmax(0, 1fr)); }.contest-main-grid { grid-template-columns: minmax(0, 1.2fr) minmax(250px, .8fr); }.contest-chart-canvas, .decision-feed { height: 300px; } }
@media (max-width: 1050px) { .community-view { grid-template-columns: 170px minmax(0,1fr) 160px; }.streamer-grid { grid-template-columns: 1fr; }.stream-stage { min-height: 420px; } }
@media (max-width: 600px) { .contest-view { padding: 12px; }.contest-header { display: block; }.contest-header h1 { font-size: 18px; }.contest-meta { margin-top: 10px; flex-wrap: wrap; gap: 8px 13px; }.contest-models { grid-template-columns: repeat(2, minmax(0, 1fr)); }.contest-main-grid, .contest-bottom-grid { grid-template-columns: minmax(0,1fr); }.contest-chart-canvas, .decision-feed { height: 270px; }.contest-model-card { min-height: 95px; } }
@media (max-width: 760px) { .community-view { grid-template-columns: 1fr; min-height: 0; }.community-channels, .community-members { display: none; }.room-topbar { padding: 0 12px; }.room-actions .room-action { padding: 0 5px; }.room-actions .room-action span { display: none; }.room-topic { padding: 0 12px; }.stream-stage { padding: 11px 12px; }.streamer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }.streamer-card { min-height: 132px; }.community-chat { min-height: 270px; }.channel-bar { display: none; } }
.room-content-view { margin-top: 10px; }
.streamer-card { cursor: pointer; }
.streamer-card-featured { max-width: 680px; min-height: 190px; }
#aiMembers .member-row { cursor: pointer; }
#aiMembers .member-row:hover { box-shadow: inset 2px 0 0 var(--green); }
.room-back { margin-right: 1px; }
.streamer-room { margin-top: 10px; }
.streamer-room-summary { min-height: 86px; padding: 12px; display: flex; align-items: center; gap: 20px; border: 1px solid var(--line); border-left: 3px solid var(--model-color); border-radius: 5px; background: #121b27; }
.streamer-room-identity { min-width: 190px; display: flex; align-items: center; gap: 9px; }.streamer-room-identity .streamer-avatar { background: var(--model-color); }.streamer-room-identity h2 { margin: 2px 0; font-size: 14px; }.streamer-room-identity p { margin: 0; color: var(--muted); font-size: 9px; }
.streamer-room-stat { min-width: 90px; padding-left: 18px; border-left: 1px solid var(--line-soft); }.streamer-room-stat span, .streamer-room-stat b { display: block; }.streamer-room-stat span { color: var(--faint); font: 8px var(--mono); }.streamer-room-stat b { margin-top: 5px; color: var(--text); font: 11px var(--mono); }
.streamer-room-grid { margin-top: 9px; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }.streamer-room-card { min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 5px; background: #121b27; }.streamer-room-card > header { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }.streamer-room-card > header > b, .streamer-room-card > header > div b { color: var(--text); font-size: 10px; }.streamer-room-card > header > strong { font: 10px var(--mono); }
.position-main { margin: 12px 0 9px; display: flex; align-items: end; justify-content: space-between; gap: 8px; }.position-main span, .position-main strong, .position-main small { display: block; }.position-main span, .position-main small { color: var(--faint); font-size: 8px; }.position-main strong { margin: 3px 0; font-size: 12px; }.position-main > b { font: 15px var(--mono); }.position-bar { height: 5px; overflow: hidden; background: var(--line); border-radius: 3px; }.position-bar i { display: block; height: 100%; background: var(--green); }.position-card footer, .chart-card footer { margin-top: 8px; display: flex; justify-content: space-between; color: var(--faint); font: 8px var(--mono); }
.chart-card svg { width: 100%; height: 92px; margin-top: 9px; background: linear-gradient(180deg, rgba(101,168,255,.05), transparent); }.chart-card footer { color: var(--muted); }
.analysis-score { margin: 11px 0; display: flex; align-items: center; gap: 8px; }.analysis-score > span { display: grid; place-items: center; width: 42px; height: 42px; color: var(--green); border: 2px solid var(--green); border-radius: 50%; font: 10px var(--mono); }.analysis-score b, .analysis-score small { display: block; }.analysis-score b { font-size: 11px; }.analysis-score small { margin-top: 3px; color: var(--faint); font-size: 8px; }.analysis-card ul { margin: 0; padding: 0; list-style: none; color: var(--muted); font-size: 9px; line-height: 1.7; }.analysis-card li::before { content: "•"; color: var(--model-color); margin-right: 5px; }
.streamer-activity { margin-top: 8px; }.streamer-activity article { padding: 7px 0; display: grid; grid-template-columns: 34px 1fr; gap: 8px; border-top: 1px solid var(--line-soft); }.streamer-activity time { color: var(--faint); font: 8px var(--mono); }.streamer-activity b, .streamer-activity small { display: block; }.streamer-activity b { font-size: 9px; }.streamer-activity small { margin-top: 2px; color: var(--muted); font-size: 8px; line-height: 1.4; }
.hotspot-list { margin-top: 8px; }.hotspot-list article { min-height: 33px; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 6px; border-top: 1px solid var(--line-soft); color: var(--muted); }.hotspot-list span { color: var(--amber); font: 8px var(--mono); }.hotspot-list b { color: var(--text); font-size: 9px; font-weight: 500; }.hotspot-list small { color: var(--faint); font: 8px var(--mono); }
@media (max-width: 760px) { .streamer-room-summary { align-items: flex-start; flex-wrap: wrap; gap: 12px; }.streamer-room-stat { padding-left: 0; border-left: 0; }.streamer-room-grid { grid-template-columns: 1fr; } }
.trader-live-room { margin-top: 9px; }.trader-live-head { min-height: 58px; padding: 9px 12px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid var(--line); border-left: 3px solid var(--model-color); background: #121b27; }.trader-live-head > div { display: flex; align-items: center; gap: 10px; }.trader-live-head .streamer-avatar { background: var(--model-color); }.trader-live-head b, .trader-live-head small { display: block; }.trader-live-head small { margin-top: 3px; color: var(--muted); font-size: 8px; }.trader-live-head > div:last-child span { min-width: 70px; color: var(--faint); font: 8px var(--mono); }.trader-live-head > div:last-child b { margin-top: 4px; color: var(--text); font-size: 10px; }
.trader-live-stage { margin-top: 8px; display: grid; grid-template-columns: minmax(0, 1fr) 220px; border: 1px solid var(--line); background: #0d141e; }.trader-chart-shell { min-width: 0; }.trader-chart-toolbar { min-height: 42px; padding: 0 10px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--line-soft); }.holding-switcher { position: relative; }.holding-select { height: 27px; padding: 0 7px; display: inline-flex; align-items: center; gap: 5px; color: var(--text); border: 1px solid var(--line); background: #151e2a; font-size: 9px; }.holding-select svg { width: 12px; }.holding-menu { position: absolute; z-index: 8; top: 31px; left: 0; width: 165px; padding: 4px; border: 1px solid #3b4b62; background: #151e2a; box-shadow: 0 12px 28px rgba(0,0,0,.4); }.holding-menu button { width: 100%; padding: 7px; color: var(--muted); border: 0; background: transparent; text-align: left; font-size: 9px; }.holding-menu button:hover { color: var(--text); background: #202c3c; }.chart-periods { display: flex; gap: 2px; }.chart-periods button, .trader-indicators button { min-width: 28px; padding: 4px 6px; color: var(--faint); border: 0; background: transparent; font: 8px var(--mono); }.chart-periods button.active, .chart-periods button:hover, .trader-indicators button.active { color: var(--text); background: #243142; }.trader-chart-toolbar .chart-tools { margin-left: auto; }.trader-chart-toolbar .chart-tools button { width: 27px; height: 27px; display: grid; place-items: center; color: var(--faint); border: 1px solid transparent; background: transparent; }.trader-chart-toolbar .chart-tools button:hover, .trader-chart-toolbar .chart-tools button.active { color: var(--green); border-color: var(--line); background: #182332; }.trader-chart-toolbar .chart-tools svg { width: 13px; }
.trader-indicators { min-height: 31px; padding: 0 10px; display: flex; align-items: center; gap: 3px; border-bottom: 1px solid var(--line-soft); }.trader-indicators span { margin-left: auto; color: var(--violet); font: 8px var(--mono); }.trader-chart { position: relative; height: 270px; padding: 7px 10px 42px; }.trader-chart > svg { width: 100%; height: 100%; overflow: visible; }.trader-chart svg text { fill: var(--faint); font: 8px var(--mono); }.trader-chart .trade-mark text { fill: #08100f; font-weight: 700; }.chart-volume { position: absolute; left: 12px; right: 22px; bottom: 7px; height: 32px; border-top: 1px solid var(--line-soft); }.chart-volume i { position: absolute; bottom: 0; width: 1.2%; background: rgba(101,168,255,.35); }.trader-chart-shell > footer { min-height: 28px; padding: 0 12px; display: flex; align-items: center; gap: 18px; border-top: 1px solid var(--line-soft); color: var(--faint); font: 8px var(--mono); }
.trader-sidecar { border-left: 1px solid var(--line); background: #111925; }.trader-sidecar section { padding: 11px; border-bottom: 1px solid var(--line-soft); }.trader-sidecar header { display: flex; justify-content: space-between; }.trader-sidecar header > b { color: var(--green); font: 8px var(--mono); }.trader-sidecar section > strong, .trader-sidecar section > small { display: block; }.trader-sidecar section > strong { margin-top: 9px; font-size: 11px; }.trader-sidecar section > small { margin: 3px 0 8px; color: var(--muted); font-size: 8px; }.trader-sidecar .position-bar { height: 4px; }.trader-sidecar section > p { margin: 7px 0 0; color: var(--muted); font-size: 8px; line-height: 1.45; }.trader-sidecar section > p b { float: right; }.trader-sidecar h3 { margin: 8px 0 4px; font-size: 11px; }.trader-sidecar ul { margin: 7px 0 0; padding-left: 14px; color: var(--faint); font-size: 8px; line-height: 1.65; }
.trader-decision-strip { margin-top: 8px; border: 1px solid var(--line); background: #111925; }.trader-decision-strip > header { min-height: 35px; padding: 0 11px; display: flex; align-items: center; gap: 7px; border-bottom: 1px solid var(--line-soft); }.trader-decision-strip > header b { font-size: 9px; }.trader-decision-strip article { min-height: 35px; padding: 0 11px; display: grid; grid-template-columns: 38px minmax(120px, .45fr) 1fr; align-items: center; gap: 7px; border-bottom: 1px solid var(--line-soft); }.trader-decision-strip article:last-child { border-bottom: 0; }.trader-decision-strip time { color: var(--faint); font: 8px var(--mono); }.trader-decision-strip article b { font-size: 9px; }.trader-decision-strip article span { color: var(--muted); font-size: 8px; }
@media (max-width: 900px) { .trader-live-stage { grid-template-columns: 1fr; }.trader-sidecar { display: grid; grid-template-columns: repeat(3, 1fr); border-left: 0; border-top: 1px solid var(--line); }.trader-live-head { align-items: flex-start; }.trader-live-head > div:last-child { flex-wrap: wrap; } }
@media (max-width: 600px) { .trader-live-head { display: block; }.trader-live-head > div:last-child { margin-top: 10px; }.trader-chart-toolbar { flex-wrap: wrap; padding: 7px; }.trader-chart-toolbar .chart-tools { margin-left: 0; }.trader-sidecar { grid-template-columns: 1fr; }.trader-decision-strip article { grid-template-columns: 34px 1fr; padding: 6px 9px; }.trader-decision-strip article span { grid-column: 2; } }
.pk-live-room { margin-top: 9px; border: 1px solid rgba(168,133,247,.35); background: #0d141e; }.pk-live-header { min-height: 47px; padding: 0 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); background: rgba(168,133,247,.06); }.pk-live-header > div { display: flex; align-items: center; gap: 8px; }.pk-live-header span { color: var(--muted); font: 8px var(--mono); }.pk-live-header b { font-size: 10px; }.pk-live-header button { min-height: 27px; display: inline-flex; align-items: center; gap: 5px; padding: 0 8px; color: var(--red); border: 1px solid rgba(240,93,107,.35); background: rgba(240,93,107,.08); font-size: 9px; }.pk-live-header button svg { width: 12px; }
.pk-live-split { position: relative; display: grid; grid-template-columns: 1fr 1fr; }.pk-live-pane { min-width: 0; padding: 12px; }.pk-live-pane + .pk-live-pane { border-left: 1px solid var(--line); }.pk-live-pane > header { display: flex; align-items: center; justify-content: space-between; }.pk-live-pane > header > div { display: flex; align-items: center; gap: 8px; }.pk-live-pane .streamer-avatar { background: var(--model-color); }.pk-live-pane header b, .pk-live-pane header small { display: block; }.pk-live-pane header small { margin-top: 3px; color: var(--muted); font-size: 8px; }.pk-live-pane header strong { font: 15px var(--mono); }.pk-live-chart { height: 190px; margin-top: 10px; padding: 8px; background: #101823; border: 1px solid var(--line-soft); }.pk-live-chart svg { width: 100%; height: 100%; overflow: visible; }.pk-live-chart svg text { fill: #08100f; font: 6px var(--mono); font-weight: 700; }.pk-live-metrics { min-height: 34px; display: flex; align-items: center; justify-content: space-around; border-bottom: 1px solid var(--line-soft); color: var(--faint); font: 8px var(--mono); }.pk-live-metrics b { margin-left: 4px; color: var(--text); }.pk-live-pane footer { padding-top: 9px; }.pk-live-pane footer b, .pk-live-pane footer span { display: block; }.pk-live-pane footer b { font-size: 9px; }.pk-live-pane footer span { margin-top: 3px; color: var(--muted); font-size: 8px; }.pk-live-vs { position: absolute; z-index: 4; left: 50%; top: 50%; display: grid; place-items: center; width: 34px; height: 34px; transform: translate(-50%, -50%); color: var(--violet); border: 1px solid rgba(168,133,247,.55); border-radius: 50%; background: #111925; font: 9px var(--mono); }
.pk-live-score { min-height: 42px; padding: 0 12px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; border-top: 1px solid var(--line); color: var(--muted); font: 8px var(--mono); }.pk-live-score > div { display: flex; height: 5px; overflow: hidden; background: var(--line); }.pk-live-score i:first-child { background: var(--violet); }.pk-live-score i:last-child { flex: 1; background: var(--green); }
@media (max-width: 700px) { .pk-live-split { grid-template-columns: 1fr; }.pk-live-pane + .pk-live-pane { border-left: 0; border-top: 1px solid var(--line); }.pk-live-vs { top: 50%; }.pk-live-header { align-items: flex-start; padding-top: 8px; padding-bottom: 8px; }.pk-live-header > div:first-child { align-items: flex-start; flex-wrap: wrap; } }
.streamer-home { min-height: 100vh; background: #0d141e; }.streamer-home-nav { min-height: 66px; padding: 0 28px; display: grid; grid-template-columns: 230px 1fr auto; align-items: center; border-bottom: 1px solid var(--line); background: #101721; }.streamer-home-nav .community-brand { padding: 0; border: 0; }.streamer-home-nav nav { height: 100%; display: flex; align-items: stretch; gap: 4px; }.streamer-home-nav nav button { position: relative; padding: 0 13px; color: var(--muted); border: 0; background: transparent; font-size: 10px; }.streamer-home-nav nav button.active { color: var(--text); }.streamer-home-nav nav button.active::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 0; height: 2px; background: var(--green); }.streamer-home-nav > div:last-child { display: flex; gap: 7px; }.home-search { min-width: 180px; display: inline-flex; align-items: center; gap: 6px; padding: 0 9px; color: var(--faint); border: 1px solid var(--line); background: #0d141e; font-size: 9px; }.home-search svg { width: 13px; }
.streamer-home-main { width: min(1260px, calc(100% - 40px)); margin: 0 auto; padding: 32px 0 40px; }.streamer-home-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }.streamer-home-intro h1 { margin: 5px 0 7px; font-size: 24px; }.streamer-home-intro p { margin: 0; color: var(--muted); font-size: 11px; }.home-market-state { min-width: 175px; display: grid; grid-template-columns: 10px 1fr; align-items: center; padding: 10px 12px; border-left: 1px solid var(--line); }.home-market-state b, .home-market-state small { display: block; }.home-market-state b { font-size: 10px; }.home-market-state small { grid-column: 2; margin-top: 3px; color: var(--faint); font: 8px var(--mono); }
.home-filters { margin-top: 24px; padding-bottom: 9px; display: flex; gap: 5px; border-bottom: 1px solid var(--line); }.home-filters button { padding: 6px 9px; color: var(--faint); border: 1px solid transparent; border-radius: 4px; background: transparent; font-size: 9px; }.home-filters button.active, .home-filters button:hover { color: var(--text); border-color: var(--line); background: #182332; }.home-streamer-grid { margin-top: 14px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }.home-streamer-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: #121b27; cursor: pointer; }.home-streamer-card:hover { border-color: #4a617d; transform: translateY(-1px); }.home-streamer-card > header { padding: 11px; display: flex; align-items: center; gap: 8px; }.home-streamer-card .streamer-avatar { background: var(--model-color); }.home-streamer-card > header > div { min-width: 0; flex: 1; }.home-streamer-card header b, .home-streamer-card header small { display: block; }.home-streamer-card header b { font-size: 11px; }.home-streamer-card header small { margin-top: 3px; color: var(--green); font-size: 8px; }.home-streamer-card header button { width: 26px; height: 26px; display: grid; place-items: center; color: var(--faint); border: 0; background: transparent; }.home-stream-cover { min-height: 112px; padding: 13px; position: relative; display: flex; align-items: flex-end; justify-content: space-between; background: linear-gradient(135deg, #182333, #111925 65%); border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }.home-stream-cover::after { content: ""; position: absolute; right: -20px; top: -30px; width: 120px; height: 120px; border: 1px solid var(--model-color); border-radius: 50%; opacity: .18; }.home-live-chip { position: absolute; left: 12px; top: 10px; padding: 2px 5px; color: var(--red); background: var(--red-bg); font: 8px var(--mono); }.home-stream-cover span, .home-stream-cover strong, .home-stream-cover small { display: block; }.home-stream-cover div > span { color: var(--faint); font: 8px var(--mono); }.home-stream-cover strong { margin: 4px 0; font-size: 14px; }.home-stream-cover small { color: var(--muted); font-size: 8px; }.home-stream-cover > b { z-index: 1; font: 16px var(--mono); }.home-stream-meta { padding: 9px 11px; display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--line-soft); color: var(--faint); font: 8px var(--mono); }.home-stream-meta b { display: block; margin-top: 3px; color: var(--text); font-size: 9px; }.home-streamer-card > p { min-height: 43px; margin: 0; padding: 9px 11px; color: var(--muted); font-size: 9px; line-height: 1.5; }.home-streamer-card > footer { min-height: 37px; padding: 0 11px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line-soft); color: var(--faint); font: 8px var(--mono); }.home-streamer-card footer button { display: inline-flex; align-items: center; gap: 4px; color: var(--green); border: 0; background: transparent; font-size: 9px; }.home-streamer-card footer svg { width: 12px; }
.home-arena-strip { margin-top: 18px; min-height: 74px; padding: 11px 14px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 24px; border: 1px solid rgba(168,133,247,.3); background: rgba(168,133,247,.06); }.home-arena-strip > div:first-child { display: flex; align-items: center; gap: 10px; }.home-arena-strip > div:first-child b, .home-arena-strip > div:first-child small { display: block; }.home-arena-strip > div:first-child b { font-size: 11px; }.home-arena-strip > div:first-child small { margin-top: 3px; color: var(--muted); font-size: 8px; }.home-arena-match { display: flex; align-items: center; gap: 10px; color: var(--muted); font: 9px var(--mono); }.home-arena-match b { color: var(--red); }.home-arena-match i { display: grid; place-items: center; width: 27px; height: 27px; color: var(--violet); border: 1px solid rgba(168,133,247,.4); border-radius: 50%; font-style: normal; }.home-arena-strip > button { padding: 7px 10px; color: #100b19; border: 0; background: var(--violet); font-size: 9px; font-weight: 700; }
@media (max-width: 900px) { .streamer-home-nav { grid-template-columns: 1fr auto; padding: 0 16px; }.streamer-home-nav nav { display: none; }.home-search { display: none; }.home-streamer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 600px) { .streamer-home-main { width: calc(100% - 24px); padding-top: 22px; }.streamer-home-intro { display: block; }.home-market-state { margin-top: 15px; padding-left: 0; border-left: 0; }.home-filters { overflow-x: auto; }.home-filters button { white-space: nowrap; }.home-streamer-grid { grid-template-columns: 1fr; }.home-arena-strip { grid-template-columns: 1fr; gap: 10px; }.home-arena-strip > button { justify-self: start; } }

/* AI operations console */
.streamer-home { display: grid; grid-template-columns: 210px minmax(0,1fr); background: #0b1119; }
.streamer-home[hidden], .community-view[hidden] { display: none !important; }
.streamer-home-nav { position: sticky; top: 0; height: 100vh; min-height: 0; padding: 18px 12px 14px; display: flex; flex-direction: column; align-items: stretch; border-right: 1px solid var(--line); border-bottom: 0; }
.streamer-home-nav .community-brand { padding: 0 7px 18px; border-bottom: 1px solid var(--line-soft); }
.streamer-home-nav nav { height: auto; margin-top: 16px; display: grid; align-items: initial; gap: 3px; }
.streamer-home-nav nav button { min-height: 36px; padding: 0 9px; text-align: left; border-radius: 4px; }
.streamer-home-nav nav button.active { background: #192535; box-shadow: inset 2px 0 0 var(--green); }
.streamer-home-nav nav button.active::after { display: none; }
.streamer-home-nav > div:last-child { margin-top: auto; display: grid; gap: 7px; }
.streamer-home-nav .home-search { min-width: 0; min-height: 32px; }
.streamer-home-nav .hero-secondary { justify-content: center; }
.streamer-home-main { width: auto; margin: 0; padding: 22px 24px 28px; overflow: hidden; }
.streamer-home-intro { min-height: 54px; align-items: center; padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.streamer-home-intro h1 { margin: 3px 0 4px; font-size: 17px; }
.streamer-home-intro p { font-size: 9px; }
.home-market-state { padding: 6px 9px; border: 1px solid var(--line-soft); background: #101822; }
.console-summary { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-top: 0; background: #101822; }
.console-summary > div { min-height: 70px; padding: 11px 13px; border-right: 1px solid var(--line-soft); }
.console-summary > div:last-child { border-right: 0; }
.console-summary span, .console-summary b, .console-summary small { display: block; }
.console-summary span { color: var(--faint); font: 8px var(--mono); text-transform: uppercase; }
.console-summary b { margin-top: 7px; color: var(--text); font: 15px var(--mono); }
.console-summary small { margin-top: 4px; color: var(--faint); font-size: 8px; }
.console-summary .console-normal { color: var(--green); }
.console-toolbar { min-height: 48px; margin-top: 14px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.console-toolbar .home-filters { margin: 0; padding: 0; border: 0; }
.console-toolbar > button { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; color: var(--muted); border: 1px solid var(--line); background: #111925; font-size: 9px; }
.console-toolbar > button svg { width: 12px; }
.console-table-head, .home-streamer-card { display: grid; grid-template-columns: minmax(150px,1.25fr) minmax(130px,.9fr) minmax(180px,1.15fr) minmax(180px,1.4fr) minmax(120px,.8fr) 58px; align-items: center; gap: 10px; }
.console-table-head { min-height: 32px; padding: 0 10px; color: var(--faint); border: 1px solid var(--line-soft); border-top: 0; background: #0e151f; font: 8px var(--mono); text-transform: uppercase; }
.home-streamer-grid { margin-top: 0; display: grid; grid-template-columns: 1fr; gap: 0; border-left: 1px solid var(--line-soft); border-right: 1px solid var(--line-soft); }
.home-streamer-card { min-height: 68px; padding: 7px 10px; border: 0; border-bottom: 1px solid var(--line-soft); border-radius: 0; background: #111925; }
.home-streamer-card:hover { z-index: 1; transform: none; background: #15202e; box-shadow: inset 2px 0 0 var(--model-color); }
.home-streamer-card > header { padding: 0; }
.home-streamer-card > header .streamer-avatar { width: 30px; height: 30px; }
.home-streamer-card > header b { font-size: 10px; }
.home-streamer-card > header small { color: var(--faint); font: 8px var(--mono); }
.home-stream-cover { min-height: 0; padding: 0; display: flex; align-items: center; background: transparent; border: 0; }
.home-stream-cover::after, .home-live-chip { display: none; }
.home-stream-cover strong { margin: 0 0 3px; font-size: 10px; }
.home-stream-cover > b { font-size: 11px; }
.home-stream-meta { padding: 0; display: grid; grid-template-columns: repeat(3,1fr); border: 0; }
.home-stream-meta span { font-size: 7px; }
.home-stream-meta b { font-size: 9px; }
.home-streamer-card > p { min-height: 0; margin: 0; padding: 0; }
.home-streamer-card > p b, .home-streamer-card > p span { display: block; }
.home-streamer-card > p b { color: var(--text); font-size: 9px; }
.home-streamer-card > p span { margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.home-streamer-card > footer { min-height: 0; padding: 0; border: 0; }
.console-live { display: inline-flex; align-items: center; gap: 5px; color: var(--green); white-space: nowrap; }
.console-live .status-pulse { width: 5px; height: 5px; box-shadow: none; }
.home-streamer-card footer button { justify-content: flex-end; }
.home-arena-strip { margin-top: 12px; min-height: 58px; border-radius: 0; }
@media (max-width: 1050px) { .console-table-head, .home-streamer-card { grid-template-columns: minmax(140px,1fr) minmax(120px,.85fr) minmax(160px,1fr) minmax(160px,1.2fr) 58px; }.console-table-head span:nth-child(5), .home-streamer-card > footer > span { display: none; }.home-streamer-card > footer { justify-content: flex-end; } }
@media (max-width: 760px) { .streamer-home { grid-template-columns: 1fr; }.streamer-home-nav { position: static; height: auto; padding: 10px 12px; flex-direction: row; align-items: center; }.streamer-home-nav .community-brand { padding: 0; border: 0; }.streamer-home-nav nav, .streamer-home-nav .home-search { display: none; }.streamer-home-nav > div:last-child { margin: 0 0 0 auto; }.streamer-home-main { padding: 15px 12px 24px; }.console-summary { grid-template-columns: repeat(2,1fr); }.console-summary > div { border-bottom: 1px solid var(--line-soft); }.console-summary > div:last-child { grid-column: 1 / -1; }.console-table-head { display: none; }.home-streamer-card { grid-template-columns: 1fr auto; gap: 8px; min-height: 118px; }.home-streamer-card > header { grid-column: 1; }.home-stream-cover { grid-column: 2; grid-row: 1; }.home-stream-meta { grid-column: 1 / -1; }.home-streamer-card > p { grid-column: 1 / -1; }.home-streamer-card > footer { grid-column: 1 / -1; }.home-streamer-card > footer > span { display: inline-flex; } }

/* Focused streamer room: the trading broadcast is the page. */
.community-view.personal-room-mode { grid-template-columns: minmax(0, 1fr); overflow: visible; }
.community-view.personal-room-mode > .community-channels,
.community-view.personal-room-mode > .community-members,
.community-view.personal-room-mode .community-hero { display: none; }
.community-view.personal-room-mode .community-room { width: 100%; min-height: 100vh; }
.community-view.personal-room-mode .room-topbar { position: sticky; z-index: 12; top: 0; background: rgba(13,20,30,.96); backdrop-filter: blur(10px); }
.community-view.personal-room-mode .stream-stage { padding: 14px 22px 18px; }
.community-view.personal-room-mode .community-chat { min-height: 300px; }
.community-view.personal-room-mode .community-messages { padding-left: 22px; padding-right: 22px; }
.community-view.personal-room-mode .community-compose { padding-left: 18px; padding-right: 18px; }
@media (min-width: 1500px) { .community-view.personal-room-mode .trader-chart { height: 360px; }.community-view.personal-room-mode .pk-live-chart { height: 270px; } }
@media (max-width: 760px) { .community-view.personal-room-mode .stream-stage { padding-left: 10px; padding-right: 10px; } }

/* Television network treatment for the public channel lobby. */
.tv-station-status { margin: 10px 6px 4px; padding: 8px 7px; display: grid; grid-template-columns: 9px auto; align-items: center; border: 1px solid rgba(240,93,107,.22); background: rgba(240,93,107,.05); }
.tv-station-status .live-dot { width: 5px; height: 5px; margin: 0; }
.tv-station-status b { color: var(--red); font: 8px var(--mono); letter-spacing: .08em; }
.tv-station-status small { grid-column: 2; margin-top: 3px; color: var(--faint); font: 7px var(--mono); }
.community-channel { position: relative; padding-left: 32px; }
.community-channel::before { position: absolute; left: 7px; width: 17px; color: #536176; font: 8px var(--mono); }
.community-channel:nth-of-type(1)::before { content: "01"; }.community-channel:nth-of-type(2)::before { content: "02"; }.community-channel:nth-of-type(3)::before { content: "03"; }.community-channel:nth-of-type(4)::before { content: "11"; }.community-channel:nth-of-type(5)::before { content: "12"; }.community-channel:nth-of-type(6)::before { content: "VIP"; font-size: 6px; }
.community-channel.active::before { color: var(--green); }
.community-channel.active { background: linear-gradient(90deg, rgba(34,201,147,.11), #1a2636 48%); }
.room-topbar { min-height: 72px; }
.room-program-line { margin-bottom: 3px; display: flex; align-items: center; gap: 6px; }
.on-air-label { padding: 2px 5px; color: #14070a; background: var(--red); font: 7px var(--mono); font-weight: 700; }
.program-type { color: var(--faint); font: 7px var(--mono); letter-spacing: .06em; }
.room-topbar h1 { font-size: 15px; }
.room-tools { background: #101824; }
.room-tool.active { box-shadow: inset 0 -2px 0 var(--green); border-color: transparent; border-radius: 0; }
.community-members > header::before { content: "AUDIENCE"; margin-right: auto; color: var(--faint); font: 7px var(--mono); }
.community-members > header > span { display: none; }
.pk-focus { box-shadow: inset 3px 0 0 var(--violet); }
.room-panel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.room-info-card { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 5px; background: #121b27; }
.room-info-card.room-wide { grid-column: 1 / -1; }
.room-info-card h3 { margin: 4px 0 5px; font-size: 12px; }
.room-info-card p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.room-info-card header { display: flex; align-items: center; gap: 7px; }
.room-info-card header > div { min-width: 0; flex: 1; }
.room-info-card header b, .room-info-card header small { display: block; }
.room-info-card header small, .strategy-row small, .news-item small { margin-top: 2px; color: var(--faint); font: 8px var(--mono); }
.room-info-card header strong { font: 11px var(--mono); }
.room-stat-row { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 14px; color: var(--faint); font: 9px var(--mono); }
.room-stat-row b { margin-left: 4px; color: var(--text); }
.strategy-controls { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.strategy-chip { padding: 5px 8px; color: var(--muted); border: 1px solid var(--line); border-radius: 4px; background: #0f1722; font-size: 9px; }
.strategy-chip.active { color: var(--green); border-color: rgba(34,201,147,.45); background: rgba(34,201,147,.08); }
.strategy-row { display: flex; align-items: center; gap: 8px; }
.strategy-row > div { min-width: 0; flex: 1; }
.strategy-row b, .strategy-row small { display: block; }
.strategy-toggle { width: 27px; height: 15px; padding: 2px; border: 0; border-radius: 10px; background: var(--line); }
.strategy-toggle i { display: block; width: 11px; height: 11px; border-radius: 50%; background: var(--faint); }
.strategy-toggle.on { background: rgba(34,201,147,.35); }.strategy-toggle.on i { margin-left: 12px; background: var(--green); }
.news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.news-item { display: flex; flex-direction: column; gap: 5px; }.news-item b { font-size: 10px; line-height: 1.4; }.news-time { color: var(--green); font: 8px var(--mono); }
@media (max-width: 560px) { .room-panel-grid, .news-grid { grid-template-columns: 1fr; } .room-info-card.room-wide { grid-column: auto; } }

/* Wide live-room layout: keep the channel chrome stable and use the stage efficiently. */
@media (min-width: 1400px) {
  .community-view { grid-template-columns: 224px minmax(0, 1fr) 248px; }
  .community-channels { padding-left: 13px; padding-right: 13px; }
  .community-members { padding-left: 13px; padding-right: 13px; }
  .streamer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .streamer-card { min-height: 128px; }
  .stream-stage { min-height: 330px; }
  .community-chat { min-height: 214px; }
}

@media (min-width: 1800px) {
  .community-view { grid-template-columns: 238px minmax(0, 1fr) 264px; }
  .community-hero { min-height: 188px; padding: 24px 30px; }
  .streamer-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .streamer-card { min-height: 145px; }
  .pk-focus + .stream-stage { min-height: 300px; }
}
@media (max-width: 760px) { .community-hero { min-height: 255px; padding: 22px 17px; align-items: flex-start; }.hero-copy h1 { font-size: 21px; max-width: 280px; }.hero-copy p { max-width: 270px; }.hero-art { inset: 35% -10% 0 18%; opacity: .72; }.hero-live { left: 17px; right: auto; bottom: 18px; text-align: left; }.hero-actions { margin-top: 15px; } }

/* Live room hierarchy refinements */
.community-view { grid-template-columns: 188px minmax(0, 1fr) 220px; }
.community-hero { min-height: 175px; padding: 24px 28px; }
.community-brand b { font-size: 12px; letter-spacing: .02em; }.community-brand small { color: var(--green); letter-spacing: .06em; }
.hero-copy h1 { font-size: 23px; }
.hero-copy p { font-size: 10px; }
.pk-focus { margin: 10px 15px 0; padding: 10px 12px; background: linear-gradient(100deg, rgba(168,133,247,.11), rgba(34,201,147,.06)); border: 1px solid rgba(168,133,247,.28); border-radius: 5px; }.pk-focus-label { display: flex; align-items: center; gap: 7px; color: var(--muted); font: 9px var(--mono); }.pk-versus { margin-top: 8px; display: grid; grid-template-columns: 1fr 34px 1fr; align-items: center; gap: 8px; }.pk-player { display: flex; align-items: center; gap: 7px; }.pk-player > div { min-width: 0; flex: 1; }.pk-player b, .pk-player small { display: block; }.pk-player b { font-size: 10px; }.pk-player small { margin-top: 2px; color: var(--faint); font: 8px var(--mono); }.pk-player strong { font: 12px var(--mono); }.pk-alpha { background: var(--violet); }.pk-local { background: var(--green); }.versus-mark { display: grid; place-items: center; width: 28px; height: 28px; color: var(--violet); border: 1px solid rgba(168,133,247,.45); border-radius: 50%; font: 9px var(--mono); }.pk-score { margin-top: 8px; display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 9px; }.pk-score b { color: var(--green); }.pk-score > div { flex: 1; display: flex; height: 4px; overflow: hidden; border-radius: 2px; background: var(--line); }.pk-score i { display: block; }.pk-score i:first-child { background: var(--violet); }.pk-score i:last-child { background: var(--green); }.pk-focus + .stream-stage { min-height: 315px; padding-top: 11px; }.streamer-card { min-height: 118px; }
@media (max-width: 760px) { .community-view { grid-template-columns: 1fr; }.pk-focus { margin: 9px 12px 0; }.pk-versus { grid-template-columns: 1fr 28px 1fr; gap: 4px; }.pk-score > div { min-width: 40px; }.community-hero { min-height: 175px; }.streamer-card { min-height: 128px; } }
.pk-members { padding: 7px 0; border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }.pk-dot { background: var(--violet); box-shadow: 0 0 0 3px rgba(168,133,247,.12) !important; }.pk-members .member-pk { color: var(--green); }
.pk-countdown { margin-left: auto; color: var(--amber); font: 10px var(--mono); }.pk-focus-label small { color: var(--muted); }.pk-player small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 180px; }
.community-hero { min-height: 155px; }.hero-copy h1 { font-size: 22px; }.hero-actions { margin-top: 11px; }
.streamer-card { min-height: 112px; }.stream-follow { margin-left: auto; width: 22px; height: 22px; display: grid; place-items: center; color: var(--faint); background: transparent; border: 0; }.stream-follow:hover { color: var(--amber); }.stream-follow svg { width: 13px; height: 13px; }

@media (max-width: 1180px) { .app-shell { grid-template-columns: 62px minmax(0,1fr); }.side-nav { padding: 18px 9px 12px; }.brand { justify-content: center; padding: 0 0 25px; }.brand-name, .nav-item span, .nav-item b, .nav-item em, .nav-label, .source-status > span, .source-status > svg, .user-menu > span:not(.avatar), .user-menu > svg { display: none; }.nav-item { justify-content: center; padding: 0; }.source-status, .user-menu { justify-content: center; }.compact .nav-item { min-height: 31px; }.dashboard-grid { grid-template-columns: minmax(200px,.8fr) minmax(450px, 2fr); grid-template-areas: "watch chart" "live chart" "live signals" "details details"; }.details-column { grid-template-columns: 1fr 1fr; }.market-depth, .alert-mini { min-height: auto; }.depth-list { grid-template-columns: 1fr 1fr; column-gap: 14px; }.depth-row:nth-child(n+6) { grid-column: 2; }.alert-mini { display: grid; grid-template-rows: auto 1fr; }.alert-row { border-top: 0; border-left: 1px solid var(--line-soft); }.alert-mini > .alert-row:nth-of-type(2) { grid-column: 2; grid-row: 2; }.alert-mini > .alert-row:nth-of-type(1) { grid-column: 1; grid-row: 2; } }
@media (max-width: 860px) { .topbar { padding: 0 18px; }.ticker-strip { padding: 0 18px; gap: 16px; }.wide-only { display: none; }.dashboard-grid { padding: 16px 18px 24px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "chart chart" "watch live" "details details" "signals signals"; }.chart-wrap { height: 300px; }.live-panel, .watchlist-panel { min-height: 350px; } }
@media (max-width: 600px) { .app-shell { display: block; }.side-nav { display: none; }.topbar { min-height: 58px; padding: 0 14px; gap: 9px; }.mobile-brand { display: flex; font-size: 13px; white-space: nowrap; }.mobile-brand .brand-mark { width: 24px; height: 24px; border-radius: 5px; }.mobile-brand .brand-mark svg { width: 15px; }.global-search { width: auto; flex: 1; }.global-search kbd { display: none; }.topbar-actions .market-state { display: none; }.topbar-actions { gap: 3px; }.topbar-actions .icon-button { border-color: transparent; width: 29px; }.ticker-strip { min-height: 48px; padding: 0 14px; gap: 14px; }.ticker-title { font-size: 10px; }.ticker-title small, .index-chip:nth-of-type(n+3), .strip-time { display: none; }.index-chip { min-width: 116px; }.dashboard-grid { padding: 12px 12px 20px; grid-template-columns: minmax(0,1fr); grid-template-areas: "chart" "watch" "live" "details" "signals"; gap: 12px; }.chart-header { padding: 14px 14px 7px; }.quote-block strong { font-size: 18px; }.asset-stats { overflow-x: auto; scrollbar-width: none; padding: 0 14px 10px; gap: 10px; }.asset-stats::-webkit-scrollbar { display: none; }.chart-toolbar { padding-left: 12px; }.timeframe { padding: 4px 5px; }.indicator-legend { padding: 0 12px; gap: 8px; }.chart-wrap { height: 230px; padding: 0 4px; }.volume-wrap { padding: 0 4px; }.chart-footer { padding: 0 12px; }.watchlist-panel, .live-panel { min-height: 295px; }.details-column { grid-template-columns: 1fr; gap: 12px; }.depth-list { grid-template-columns: 1fr; }.depth-row:nth-child(n+6) { grid-column: auto; }.alert-mini { display: block; }.alert-row { border-left: 0; border-top: 1px solid var(--line-soft); }.signal-row { padding: 7px 12px; }.add-source-form, .indicator-list { grid-template-columns: 1fr; }.add-source-form .primary-button { width: 100%; }.modal-body { padding: 13px; }.modal-header, .modal-footer { padding-left: 13px; padding-right: 13px; } }

/* Native button defaults need to stay inside the terminal palette. */
.watch-row { border: 0; background: transparent; color: var(--text); text-align: left; }

@media (max-width: 600px) {
  .model-picker { grid-template-columns: repeat(4, 118px); overflow-x: auto; scrollbar-width: none; }
  .model-picker::-webkit-scrollbar { display: none; }
  .model-statusline { gap: 8px; font-size: 8px; }
  .model-statusline .paper-status { display: none; }
}
