/* Sanchay 2.0 architecture layer
   The production data and interaction hooks remain in the existing modules;
   this stylesheet makes the supplied master architecture the visual system. */

:root {
  --bg:#0d1210;
  --surface:#121816;
  --surface-raised:#161d1a;
  --line:#27312d;
  --ink:#eef3f0;
  --muted:#8e9b95;
  --accent:#64c7a2;
  --accent-strong:#8ad7c3;
  --accent-soft:rgba(100,199,162,.12);
  --pos:#63c398;
  --neg:#e17e70;
  --warn:#e0ae5d;
  --bar-bg:#1b2420;
  --night:#0d1210;
  --night-2:#121816;
  --mint:#64c7a2;
  --shadow:0 16px 44px rgba(0,0,0,.22);
  --shadow-lift:0 20px 60px rgba(0,0,0,.34);
  --radius:12px;
  --shell-max:2160px;
  --shell-gutter:18px;
}

:root[data-theme="light"] {
  --bg:#f1f2ed;
  --surface:#fbfcf9;
  --surface-raised:#fff;
  --line:#dfe4df;
  --ink:#17201c;
  --muted:#66726c;
  --accent:#15654d;
  --accent-strong:#0b4b39;
  --accent-soft:rgba(21,101,77,.09);
  --pos:#177a55;
  --neg:#bd5547;
  --warn:#9c681a;
  --bar-bg:#f4f6f2;
  --night:#fbfcf9;
  --night-2:#f4f6f2;
  --mint:#15654d;
  --shadow:0 12px 36px rgba(32,50,41,.08);
  --shadow-lift:0 18px 50px rgba(32,50,41,.12);
}

html { scroll-behavior:smooth; }
[data-architecture-legacy] { display:none!important; }
body { background:var(--bg); font-size:13px; line-height:1.45; }
button,a,input,select { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible {
  outline:2px solid var(--accent); outline-offset:2px;
}
.mobile-search-toggle { display:none; }

/* Compact application chrome from the master architecture. */
.topbar {
  position:sticky; top:0; z-index:100;
  padding:0 14px;
  background:color-mix(in srgb,var(--surface) 92%,transparent);
  color:var(--ink);
  border-bottom:1px solid var(--line);
  -webkit-backdrop-filter:blur(18px) saturate(1.35);
  backdrop-filter:blur(18px) saturate(1.35);
}
.topbar-inner {
  max-width:none; min-height:54px;
  display:grid; grid-template-columns:auto minmax(460px,auto) minmax(180px,340px) auto;
  align-items:center; justify-content:stretch; gap:14px;
}
.brand { gap:9px; text-decoration:none; }
.mark {
  width:32px; height:32px; border-radius:9px;
  background:var(--accent-soft); color:var(--accent);
  border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));
  box-shadow:none; font-size:14px;
}
.topbar .mark { box-shadow:none; }
.topbar h1 { margin:0; color:var(--ink); font-size:14px; line-height:1; }
.topbar .brand-kicker {
  margin:3px 0 0; color:var(--muted); opacity:1;
  font-size:7.5px; letter-spacing:.08em;
}
.topbar .tabs {
  position:static; display:flex; align-items:stretch; justify-content:center;
  width:auto; min-width:0; margin:0; padding:0; overflow:auto;
  background:transparent; border:0; box-shadow:none; scrollbar-width:none;
}
.topbar .tabs::-webkit-scrollbar,.subtabs::-webkit-scrollbar { display:none; }
.topbar .tab {
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  min-width:max-content; height:53px; padding:0 12px;
  border:0; border-radius:0; background:transparent; color:var(--muted);
  font-size:10px; font-weight:700; text-decoration:none; white-space:nowrap;
}
.topbar .tab::after {
  content:""; position:absolute; left:11px; right:11px; bottom:0;
  height:2px; border-radius:2px 2px 0 0; background:transparent;
}
.topbar .tab:hover { color:var(--ink); background:var(--accent-soft); }
.topbar .tab.is-active { color:var(--accent); background:transparent; }
.topbar .tab.is-active::after { background:var(--accent); }
.global-stock-search {
  position:relative; min-width:0; height:34px; margin:0;
}
.global-stock-search > span {
  position:absolute; left:10px; top:50%; transform:translateY(-50%);
  color:var(--muted); font-size:14px; pointer-events:none;
}
.global-stock-search input {
  width:100%; height:34px; padding:0 34px 0 30px;
  border:1px solid var(--line); border-radius:9px;
  background:var(--surface-raised); color:var(--ink); font-size:10px;
}
.global-stock-search input::placeholder { color:var(--muted); }
.global-stock-search kbd {
  position:absolute; right:9px; top:50%; transform:translateY(-50%);
  padding:1px 5px; border:1px solid var(--line); border-radius:4px;
  background:var(--surface); color:var(--muted); font:8px var(--font-ui);
}
.header-actions { gap:8px; }
.app-data-status {
  display:inline-flex; align-items:center; gap:5px; color:var(--muted);
  font-size:8px; font-weight:700; white-space:nowrap;
}
.app-data-status i { width:6px; height:6px; border-radius:50%; background:var(--pos); box-shadow:0 0 0 4px color-mix(in srgb,var(--pos) 10%,transparent); }
.topbar .account-avatar,.topbar .theme-toggle {
  width:31px; height:31px; border:1px solid var(--line); border-radius:8px;
  background:var(--surface-raised); color:var(--muted); box-shadow:none;
}
.topbar .account-avatar:hover,.topbar .theme-toggle:hover { border-color:var(--accent); background:var(--accent-soft); color:var(--accent); }
.theme-toggle svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; }

/* Secondary views remain close to the top and use the same quiet underline. */
.subtabs {
  position:sticky; top:54px; z-index:85; display:flex; align-items:center;
  max-width:none; min-height:38px; margin:0; padding:0 18px;
  gap:4px; overflow-x:auto; background:color-mix(in srgb,var(--bg) 94%,transparent);
  border-bottom:1px solid var(--line); box-shadow:none; scrollbar-width:none;
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
}
.subtabs[hidden] { display:none; }
.subtab {
  min-width:max-content; height:37px; padding:0 11px; border:0; border-bottom:2px solid transparent;
  border-radius:0; background:transparent; color:var(--muted); font-size:9px; font-weight:700;
}
.subtab:hover { color:var(--ink); }
.subtab.is-active { color:var(--accent); border-bottom-color:var(--accent); background:transparent; }

/* Page rhythm: smaller headings, tighter evidence surfaces, no decorative banners. */
body > main:not(.sx-shell) { max-width:none; margin:0; padding:18px 18px 72px; }
.panel { max-width:none; }
.panel.is-active { animation:s2-enter .18s ease both; }
@keyframes s2-enter { from{opacity:.45;transform:translateY(3px)} to{opacity:1;transform:none} }
.compact-page-heading,.section-head,.scores-page-head,.fund-page-heading,.news-page-head,.deals-page-head {
  display:flex; align-items:flex-end; justify-content:space-between; gap:16px;
  margin:0 0 14px; padding:0; border:0; background:transparent;
}
.compact-page-heading h2,.section-head h2,.scores-page-head h2,.fund-page-heading h2,.news-page-head h2,.deals-page-head h2 {
  margin:0; font-family:var(--font-display); font-size:28px; font-weight:600;
  line-height:1.04; letter-spacing:-.035em; color:var(--ink);
}
.section-head p,.scores-page-head p,.fund-page-heading p,.news-page-head p,.deals-page-head p {
  max-width:680px; margin:4px 0 0; color:var(--muted); font-size:9.5px; line-height:1.45;
}
.eyebrow { color:var(--accent); font-size:8.5px; letter-spacing:.12em; }
.data-stamp,.microcopy,.prototype-note { color:var(--muted); font-size:8px; }

/* Shared cards and tables. */
.today-glance,.portfolio-summary-grid,.market-summary-grid,.summary-grid,.fund-summary-grid,.catalyst-summary-grid {
  gap:8px;
}
.today-glance article,.portfolio-summary-grid > *, .market-summary-grid > *, .summary-card,.fund-summary-grid > *,.catalyst-summary-grid > * {
  min-height:78px; padding:12px 13px; border:1px solid var(--line); border-radius:10px;
  background:var(--surface); box-shadow:none;
}
.today-glance article span,.summary-card span { font-size:8px; letter-spacing:.08em; }
.today-glance article strong,.summary-card strong { font-family:var(--font-display); font-size:22px; font-weight:600; }
.today-glance article small,.summary-card small { font-size:8px; color:var(--muted); }
.today-personal,.today-participation,.portfolio-surface,.watchlist-surface,.updates-surface,
.score-explorer,.market-participation-leaders,.market-opportunity-lifecycle,.market-breadth,
.fund-surface,.deals-surface,.calendar-surface,.catalyst-surface,.emerging-surface,
.listings-surface,.penny-surface,.marked-section,.marked-group,.portfolio-connect {
  border:1px solid var(--line); border-radius:12px; background:var(--surface); box-shadow:none;
}
.today-section-head,.portfolio-surface-head,.watchlist-surface-head,.updates-surface-head,
.market-section-head,.fund-surface-head,.deals-surface-head,.calendar-surface-head {
  padding:13px 14px 10px; border-bottom:1px solid var(--line);
}
.today-section-head h2,.portfolio-surface-head h3,.watchlist-surface-head h3,.updates-surface-head h3,
.market-section-head h2,.fund-surface-head h2,.deals-surface-head h2,.calendar-surface-head h2 {
  margin:0; font-family:var(--font-display); font-size:18px; font-weight:600; letter-spacing:-.025em;
}
.today-section-head p,.portfolio-surface-head span,.market-section-head p { margin:3px 0 0; color:var(--muted); font-size:8.5px; }
table { border-collapse:collapse; }
.score-table,.portfolio-table,.deal-table,.fund-table { background:var(--surface); border-color:var(--line); }
.score-table th,.portfolio-table th,.deal-table th,.fund-table th {
  height:34px; padding:8px 10px; color:var(--muted); font-size:7.5px; letter-spacing:.08em;
  background:var(--surface); border-bottom:1px solid var(--line);
}
.score-table td,.portfolio-table td,.deal-table td,.fund-table td { padding:9px 10px; border-bottom:1px solid var(--line); font-size:9px; }
.score-table tbody tr:hover,.portfolio-table tbody tr:hover,.deal-table tbody tr:hover { background:var(--accent-soft); }

/* Buttons and filters. */
.portfolio-action,.watch-add,.watch-alert-button,.updates-mark-read,.market-reset,.score-reset,
.event-filter,.deal-filter,.filter-chip,.trend-filter-button,.fund-filter button {
  min-height:32px; padding:0 11px; border:1px solid var(--line); border-radius:8px;
  background:var(--surface-raised); color:var(--muted); font-size:9px; font-weight:700; box-shadow:none;
}
.portfolio-action:hover,.watch-add:hover,.watch-alert-button:hover,.updates-mark-read:hover,.market-reset:hover,
.event-filter:hover,.deal-filter:hover,.filter-chip:hover,.trend-filter-button:hover { border-color:var(--accent); color:var(--accent); }
.portfolio-action-primary,.watch-add { background:var(--accent); border-color:var(--accent); color:#fff; }
input,select,textarea {
  border-color:var(--line)!important; border-radius:9px!important; background:var(--surface-raised)!important;
  color:var(--ink)!important; box-shadow:none!important;
}

/* Today and Market use the compact card language of the prototype. */
.marked-today { margin-top:12px; }
.marked-grid,.score-card-grid,.market-sector-grid,.early-grid,.listing-grid,.penny-grid { gap:8px; }
.marked-card,.score-card,.market-sector-card,.early-card,.listing-card,.penny-card {
  border:1px solid var(--line); border-radius:10px; background:var(--surface-raised); box-shadow:none;
  transition:transform .14s ease,border-color .14s ease,background .14s ease;
}
.marked-card:hover,.score-card:hover,.market-sector-card:hover,.early-card:hover,.listing-card:hover,.penny-card:hover {
  transform:translateY(-1px); border-color:color-mix(in srgb,var(--accent) 48%,var(--line)); background:color-mix(in srgb,var(--surface-raised) 94%,var(--accent-soft));
}
.research-state,.market-trend-state,.stage-pill,.state-pill,.deal-tag,.attention-pill {
  border-radius:999px; box-shadow:none; font-size:8px; line-height:1.2;
}
.market-toolbar,.score-filterbar,.deals-filterbar,.calendar-filterbar {
  gap:7px; padding:8px; border:1px solid var(--line); border-radius:10px; background:var(--surface);
}

/* Portfolio becomes a quiet decision workspace, not a collection of banners. */
.portfolio-heading { margin-bottom:12px; }
.portfolio-decision-surface { margin-bottom:10px; }
.portfolio-dashboard { gap:10px; }
.portfolio-insight-grid { gap:10px; }
.calm-strip { border-radius:10px; box-shadow:none; }
.portfolio-mobile-card { border:1px solid var(--line); border-radius:11px; background:var(--surface); box-shadow:none; }

/* Super Chart: chart-first workspace with a compact right evidence rail. */
.superchart-page .topbar { position:sticky; }
.sx-shell { max-width:none!important; padding:12px 14px 70px!important; }
.sx-cmdbar {
  top:54px!important; padding:8px 0!important; background:color-mix(in srgb,var(--bg) 92%,transparent)!important;
  border-bottom:0; backdrop-filter:blur(16px);
}
.sx-search input { height:36px!important; border-radius:9px!important; font-size:10px!important; }
.sx-search .icon { font-size:12px; }
.sx-step button { width:33px!important; height:33px!important; border-radius:8px!important; font-size:11px!important; }
.sx-step small,.sx-hint { font-size:8px!important; }
.sx-hero {
  margin-top:4px!important; padding:12px!important; border:1px solid var(--line)!important;
  border-radius:12px!important; background:var(--surface)!important; box-shadow:none!important;
}
.sx-eyebrow { font-size:8px!important; }
.sx-head { gap:8px 14px!important; margin-bottom:9px!important; }
.sx-head h1 { font-size:23px!important; }
.sx-head .co { font-size:9px!important; }
.sx-identity .sui-company-mark.is-lg { width:36px!important; height:36px!important; border-radius:10px!important; font-size:9px!important; }
.sx-px b { font-size:23px!important; }
.sx-px small,.sx-px>span { font-size:8px!important; }
.sx-watch { min-height:32px!important; padding:5px 10px!important; border-radius:8px!important; font-size:9px!important; }
.sx-tf { padding:3px!important; border-radius:8px!important; }
.sx-tf button { min-height:27px!important; padding:0 10px!important; font-size:8px!important; }
.sx-score-pill { min-height:32px; border-radius:8px!important; font-size:8px!important; }
.sx-score-pill b { font-size:12px!important; }
.sx-research-grid { grid-template-columns:minmax(0,1fr) 326px!important; gap:9px!important; }
.sx-chart-toolbar { gap:6px!important; margin-bottom:6px!important; }
.sx-layerbar { gap:5px!important; padding:5px!important; border-radius:9px!important; background:var(--surface-raised)!important; }
.sx-layer { min-height:29px!important; padding:0 8px!important; border-radius:7px!important; font-size:8px!important; }
.sx-context-strip { gap:6px!important; margin-bottom:6px!important; }
.sx-context-state { min-height:60px!important; padding:9px 10px!important; border-radius:9px!important; }
.sx-context-kicker,.sx-context-state small,.sx-context-meta { font-size:8px!important; }
.sx-context-state strong { font-size:14px!important; }
.sx-glow-guide { min-height:58px!important; margin-bottom:6px!important; padding:8px 9px!important; border-radius:9px!important; }
.sx-glow-kicker,.sx-glow-copy small,.sx-glow-proof small { font-size:8px!important; }
.sx-glow-copy strong { font-size:14px!important; }
.sx-glow-proof b { font-size:16px!important; }
.sx-chart-area { grid-template-columns:34px minmax(0,1fr)!important; gap:5px!important; }
.sx-tools { gap:4px!important; padding:4px!important; border-radius:8px!important; }
.sx-tool { width:24px!important; height:25px!important; border-radius:6px!important; }
.sx-chart { min-height:510px!important; }
#sx-decision-rail { top:108px!important; border-radius:10px!important; }
.sx-rail-heading { min-height:36px!important; padding:7px 9px!important; font-size:9px!important; }
.sx-rail-status { font-size:8px!important; }
.sx-decision { gap:9px!important; padding:11px 10px!important; }
.sx-decision-kicker { font-size:8px!important; }
.sx-decision h2 { font-size:18px!important; }
.sx-decision-summary,.sx-decision-next,.sx-decision-link { font-size:9px!important; }
.sx-checks { gap:5px!important; }
.sx-check { padding:8px 9px!important; border-radius:8px!important; }
.sx-check span,.sx-check::before { font-size:7px!important; }
.sx-check b { font-size:9px!important; }
.sx-regime,.sx-card,.sx-stat { border-radius:10px!important; box-shadow:none!important; }
.sx-card { padding:12px!important; }
.sx-card h3 { font-size:14px!important; }

@media (max-width:1320px) {
  .topbar-inner { grid-template-columns:auto minmax(420px,1fr) minmax(150px,250px) auto; gap:9px; }
  .topbar .tab { padding-inline:9px; }
  .app-data-status { display:none; }
}

@media (max-width:980px) {
  .topbar { padding:0 10px; }
  .topbar-inner { grid-template-columns:auto minmax(0,1fr) auto; }
  .topbar .tabs { grid-column:2; justify-content:flex-start; }
  .global-stock-search { display:none; }
  .brand-kicker { display:none; }
  .sx-research-grid { grid-template-columns:1fr!important; }
  .sx-decision-pair { grid-column:1!important; grid-row:2!important; }
  .sx-chart-column { grid-column:1!important; grid-row:1!important; }
  #sx-decision-rail { position:relative!important; top:auto!important; }
}

@media (max-width:720px) {
  body { font-size:12px; }
  .topbar { position:sticky; padding:0 7px; }
  .topbar-inner { min-height:48px; grid-template-columns:auto minmax(0,1fr) auto; gap:6px; }
  .brand { gap:0; }
  .brand > div { display:none; }
  .mark { width:32px; height:32px; }
  .topbar .tabs { min-width:0; justify-content:flex-start; }
  .topbar .tab { height:47px; padding:0 9px; font-size:9px; }
  .topbar .tab::after { left:8px; right:8px; }
  .header-actions { gap:4px; }
  .topbar .account-avatar,.topbar .theme-toggle { width:30px; height:30px; }
  .subtabs { top:48px; min-height:36px; padding-inline:8px; }
  .subtab { height:35px; padding-inline:9px; font-size:8.5px; }
  body > main:not(.sx-shell) { padding:13px 8px 58px; }
  .compact-page-heading,.section-head,.scores-page-head,.fund-page-heading,.news-page-head,.deals-page-head {
    display:block; margin-bottom:10px;
  }
  .compact-page-heading h2,.section-head h2,.scores-page-head h2,.fund-page-heading h2,.news-page-head h2,.deals-page-head h2 {
    font-size:24px; line-height:1.05;
  }
  .section-head p,.scores-page-head p,.fund-page-heading p,.news-page-head p,.deals-page-head p {
    margin-top:4px; font-size:9px;
  }
  .portfolio-heading .portfolio-action { width:100%; margin-top:10px; }
  .today-glance { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .today-glance article { min-height:72px; }
  .market-toolbar,.score-filterbar,.deals-filterbar,.calendar-filterbar { padding:7px; }
  .sx-shell { padding:8px 5px 58px!important; }
  .sx-cmdbar { top:48px!important; }
  .sx-hero { padding:9px!important; }
  .sx-chart-area { grid-template-columns:1fr!important; }
  .sx-tools { flex-direction:row!important; position:static!important; width:max-content; margin:0 0 6px!important; }
  .sx-tool { width:34px!important; height:34px!important; }
  .sx-chart { min-height:430px!important; }
  .sx-decision-pair { grid-row:2!important; }
}

@media (max-width:430px) {
  .topbar .tab { padding-inline:8px; }
  .topbar .theme-toggle { display:grid; }
  .today-glance { grid-template-columns:1fr 1fr; gap:6px; }
  .today-glance article { padding:10px; }
  .today-personal-grid,.portfolio-insight-grid,.watchlist-layout { grid-template-columns:1fr!important; }
  .sx-head h1 { font-size:21px!important; }
  .sx-px b { font-size:22px!important; }
  .sx-layerbar { overflow-x:auto; flex-wrap:nowrap!important; scrollbar-width:none; }
  .sx-decision { grid-template-columns:1fr!important; }
  .sx-checks,.sx-evidence-grid { grid-template-columns:1fr!important; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; }
}

/* Mobile application shell: utilities stay in a compact first row while the
   product destinations form an independent, swipeable row beneath them. */
@media (max-width:720px) {
  .topbar {
    padding:0 7px;
    transition:transform .2s ease;
    will-change:transform;
  }
  .topbar.mobile-chrome-hidden { transform:translateY(-100%); }
  .topbar-inner {
    position:relative;
    min-height:86px;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:46px 40px;
    column-gap:8px;
    row-gap:0;
  }
  .topbar .brand {
    grid-column:1;
    grid-row:1;
    min-width:0;
    gap:7px;
  }
  .topbar .brand > div { display:block; min-width:0; }
  .topbar h1 { overflow:hidden; font-size:13.5px; text-overflow:ellipsis; white-space:nowrap; }
  .topbar .brand-kicker {
    display:block;
    margin-top:2px;
    font-size:6.5px;
    line-height:1;
    letter-spacing:.08em;
    white-space:nowrap;
  }
  .topbar .mark { width:31px; height:31px; flex:0 0 31px; }
  .topbar .header-actions {
    grid-column:2;
    grid-row:1;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:4px;
    min-width:0;
  }
  .topbar .app-data-status { display:none; }
  .topbar .mobile-search-toggle,
  .topbar .account-avatar,
  .topbar .theme-toggle {
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    flex:0 0 30px;
    padding:0;
    border:1px solid var(--line);
    border-radius:8px;
    background:var(--surface-raised);
    color:var(--muted);
    box-shadow:none;
  }
  .topbar .mobile-search-toggle svg { width:15px; height:15px; }
  .topbar .tabs {
    grid-column:1/-1;
    grid-row:2;
    width:calc(100% + 14px);
    height:40px;
    margin:0 -7px;
    padding:0 6px;
    justify-content:flex-start;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    border-top:1px solid color-mix(in srgb,var(--line) 74%,transparent);
  }
  .topbar .tab {
    height:39px;
    min-width:max-content;
    padding:0 13px;
    font-size:10px;
    scroll-snap-align:center;
  }
  .topbar .tab::after { left:12px; right:12px; }
  .topbar .global-stock-search {
    position:absolute;
    z-index:4;
    left:1px;
    right:1px;
    top:49px;
    display:block;
    width:auto;
    height:34px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-5px);
    transition:opacity .14s ease,transform .14s ease,visibility .14s;
  }
  .topbar.mobile-search-open .global-stock-search {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .topbar.mobile-search-open .global-stock-search input {
    box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 12%,transparent);
  }
  .subtabs { top:86px; transition:top .2s ease; }
  html.mobile-chrome-hidden .subtabs { top:0; }
}

@media (max-width:390px) {
  .topbar h1 { font-size:12.5px; }
  .topbar .header-actions { gap:3px; }
  .topbar .mobile-search-toggle,
  .topbar .account-avatar,
  .topbar .theme-toggle { width:29px; height:29px; flex-basis:29px; }
}

/* --------------------------------------------------------------------------
   Sanchay 2.0 body architecture
   -------------------------------------------------------------------------- */
.s2-pagebar {
  min-height:112px; display:flex; align-items:flex-end; justify-content:space-between;
  gap:28px; margin:0 0 14px; padding:18px 20px;
  border:1px solid var(--line); border-radius:13px;
  background:
    radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 34%),
    linear-gradient(135deg,var(--surface-raised),var(--surface));
  overflow:hidden;
}
.s2-pagebar-copy { min-width:0; }
.s2-page-kicker {
  display:flex; align-items:center; gap:7px; margin:0 0 7px;
  color:var(--accent); font-size:9.5px; line-height:1; font-weight:800;
  letter-spacing:.13em; text-transform:uppercase;
}
.s2-page-kicker i,.s2-session-chip i {
  display:inline-block; width:4px; height:4px; border-radius:50%; background:var(--accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent);
}
.s2-pagebar h1 {
  max-width:840px; margin:0; color:var(--ink); font:600 clamp(25px,2.4vw,40px)/1.03 var(--font-display);
  letter-spacing:-.045em;
}
.s2-pagebar p { max-width:720px; margin:8px 0 0; color:var(--muted); font-size:12.5px; }
.s2-pagebar-side { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex:0 0 auto; }
.s2-session-chip {
  display:inline-flex; align-items:center; gap:7px; min-height:29px; padding:0 10px;
  border:1px solid var(--line); border-radius:999px; background:var(--surface);
  color:var(--muted); font-size:10px; font-weight:700; white-space:nowrap;
}
.s2-pagebar-side .portfolio-action,.s2-pagebar-side .primary-action,.s2-pagebar-side .watch-add {
  min-height:32px; margin:0;
}

.s2-scope-tabs {
  display:flex; width:max-content; max-width:100%; gap:3px; margin:0 0 10px; padding:3px;
  border:1px solid var(--line); border-radius:9px; background:var(--surface);
}
.s2-scope-tabs button,.s2-rail-tabs button {
  min-height:29px; padding:0 11px; border:0; border-radius:6px;
  background:transparent; color:var(--muted); font-size:10.5px; font-weight:800;
}
.s2-scope-tabs button:hover,.s2-rail-tabs button:hover { color:var(--ink); }
.s2-scope-tabs button.is-active,.s2-rail-tabs button.is-active { background:var(--accent); color:#fff; }

.s2-metric-grid { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px!important; margin-bottom:10px; }
.s2-metric-grid > * {
  min-height:86px!important; display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
  padding:13px 14px!important; border:1px solid var(--line)!important; border-radius:10px!important;
  background:var(--surface)!important; box-shadow:none!important;
}
.s2-metric-grid > *:first-child { border-color:color-mix(in srgb,var(--accent) 45%,var(--line))!important; background:var(--accent-soft)!important; }
.s2-metric-grid > * span { color:var(--muted)!important; font-size:9.5px!important; font-weight:800!important; letter-spacing:.08em!important; text-transform:uppercase; }
.s2-metric-grid > * strong { margin:3px 0 1px!important; color:var(--ink)!important; font:600 24px/1 var(--font-display)!important; }
.s2-metric-grid > * small { color:var(--muted)!important; font-size:10px!important; }

/* Today: daily queue plus the user's private workspace, not one long feed. */
.s2-today-workspace { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(290px,.65fr); gap:10px; align-items:start; }
.s2-today-workspace > .marked-today { margin:0; min-width:0; }
.s2-today-workspace > .today-personal { margin:0; position:sticky; top:104px; min-width:0; }
.s2-today-workspace .today-personal-grid { grid-template-columns:1fr; gap:8px; padding:10px; }
.s2-today-workspace .today-personal-grid > article { min-width:0; border:1px solid var(--line); border-radius:9px; background:var(--surface-raised); }
.s2-today-workspace .today-queue-head {
  display:flex; align-items:flex-end; justify-content:space-between; gap:12px; padding:13px 14px 10px;
  border:1px solid var(--line); border-bottom:0; border-radius:12px 12px 0 0; background:var(--surface);
}
.s2-today-workspace .marked-head { font-size:18px; }
.s2-today-workspace .today-lifecycle { margin:0; border-radius:0; border-bottom:0; }
.s2-today-workspace .today-lifecycle:last-child { border-bottom:1px solid var(--line); border-radius:0 0 12px 12px; }
.s2-today-workspace .today-lifecycle-head { min-height:54px; padding:10px 13px; }
.s2-today-workspace .marked-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding:0 10px 10px; }
.s2-today-workspace .marked-card { min-height:154px; padding:11px; }
.today-personal[data-focus="portfolio"] #today-research { opacity:.45; }
.today-personal[data-focus="radar"] #today-portfolio { opacity:.45; }

/* Market: state first, participation map second, opportunity explorer third. */
.s2-market-read { margin:0 0 10px; padding:14px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.s2-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:11px; }
.s2-section-heading span { color:var(--accent); font-size:9.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.s2-section-heading h2 { margin:3px 0 0; font:600 20px/1.05 var(--font-display); letter-spacing:-.025em; }
.s2-section-heading p { max-width:460px; margin:0; color:var(--muted); font-size:10.5px; text-align:right; }
.s2-state-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.s2-state-grid article {
  min-height:78px; padding:11px 12px; border:1px solid var(--line); border-radius:9px;
  background:var(--surface-raised); box-shadow:inset 2px 0 0 var(--tone,var(--accent));
}
.s2-state-grid article[data-tone="positive"] { --tone:var(--pos); }
.s2-state-grid article[data-tone="warning"] { --tone:var(--warn); }
.s2-state-grid article[data-tone="negative"] { --tone:var(--neg); }
.s2-state-grid article span,.s2-state-grid article small { display:block; color:var(--muted); font-size:9px; }
.s2-state-grid article span { font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.s2-state-grid article b { display:block; margin:5px 0 3px; color:var(--ink); font:600 20px/1 var(--font-display); }
.s2-participation-map { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:5px; margin-top:8px; }
.s2-participation-map button {
  position:relative; min-width:0; min-height:72px; padding:9px; overflow:hidden; text-align:left;
  border:1px solid color-mix(in srgb,var(--accent) var(--heat-pct),var(--line)); border-radius:8px;
  background:color-mix(in srgb,var(--accent) var(--heat-bg),var(--surface-raised)); color:var(--ink);
}
.s2-participation-map button:hover { transform:translateY(-1px); border-color:var(--accent); }
.s2-participation-map span,.s2-participation-map small { position:relative; z-index:1; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.s2-participation-map span { font-size:10.5px; font-weight:800; }
.s2-participation-map b { position:relative; z-index:1; display:block; margin:5px 0 1px; color:var(--accent); font:600 18px/1 var(--font-display); }
.s2-participation-map small { color:var(--muted); font-size:9px; }
.s2-participation-map i { position:absolute; right:-7px; bottom:-12px; color:var(--accent); opacity:.06; font:600 48px/1 var(--font-display); }
.s2-participation-map i::after { content:counter(rank); counter-reset:rank var(--rank); }
.s2-section-block { border:1px solid var(--line)!important; border-radius:12px!important; background:var(--surface)!important; box-shadow:none!important; }
.market-sector-section.s2-section-block { padding:14px!important; margin-bottom:10px!important; }
.s2-control-deck { margin:0!important; padding:8px!important; border:1px solid var(--line)!important; border-radius:10px!important; background:var(--surface)!important; }
.s2-opportunity-table { border:1px solid var(--line); border-radius:10px; background:var(--surface); overflow:auto; }
.column-legend { opacity:.8; }

/* Portfolio: overview, decisions, then holdings. */
.s2-portfolio-analysis { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:10px; align-items:start; margin:0 0 10px; }
.s2-portfolio-analysis > * { margin:0!important; }
.s2-portfolio-analysis .portfolio-insight-grid { grid-template-columns:1fr; }
.portfolio-dashboard > .portfolio-summary-grid { order:-3; }
.portfolio-dashboard > .calm-strip { order:-2; }
.portfolio-holdings-card.s2-section-block { margin-bottom:10px; }

/* Supporting workspaces use the same section architecture. */
[data-s2-page="early"] .early-summary,[data-s2-page="deals"] .deal-summary-grid { margin-bottom:10px; }
[data-s2-page="early"] .early-grid,[data-s2-page="listings"] .listing-grid,[data-s2-page="penny"] .penny-radar-grid { margin-top:10px; }
[data-s2-page="news"] .catalyst-status { padding:13px 14px; }
[data-s2-page="news"] .calendar-controls,[data-s2-page="deals"] .deal-toolbar,[data-s2-page="deals"] .deal-viewbar { padding:8px; }
[data-s2-page="deals"] .findings { margin-bottom:10px; }
[data-s2-page="fundindex"] .cross-asset-pulse,[data-s2-page="fundgold"] .cross-asset-pulse,[data-s2-page="fundsector"] .cross-asset-pulse { margin-bottom:10px; }

/* Super Chart: every research surface now lives in the persistent right rail. */
.s2-superchart #sx-decision-rail { display:flex; flex-direction:column; max-height:calc(100vh - 122px); }
.s2-rail-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:3px; padding:5px; border-bottom:1px solid var(--line); background:var(--surface); }
.s2-rail-panel { min-height:0; overflow:auto; scrollbar-width:thin; }
.s2-rail-panel[hidden] { display:none!important; }
.s2-rail-panel > .sx-rail-body { overflow:visible; }
.s2-rail-panel > .sx-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; padding:8px; }
.s2-rail-panel > .sx-stats .sx-stat { min-width:0; padding:8px!important; }
.s2-rail-panel > .sx-card,.s2-rail-panel > .sx-profile,.s2-rail-panel > .sx-out {
  margin:6px!important; padding:10px!important; border-radius:8px!important; background:var(--surface)!important;
}
.s2-rail-panel .sx-card h3 { margin-bottom:8px!important; font-size:13px!important; }
.s2-rail-panel .sx-profile[hidden],.s2-rail-panel .sx-out[hidden] { display:none!important; }
.s2-drained { display:none!important; }
.s2-superchart .sx-hero { overflow:visible!important; }
.s2-superchart .sx-chart-column { min-width:0; }
.s2-superchart .sx-chart-actions { align-self:start; }

@media (min-width:721px) {
  .topbar .tab { font-size:11.5px; }
  .topbar h1 { font-size:15.5px; }
  .topbar .brand-kicker { font-size:9.5px; }
  .global-stock-search input { font-size:11px; }
  .subtab { font-size:10.5px; }
  .scores td { font-size:10.5px; }
  .scores th,.sort-head { font-size:9px; }
}

@media (max-width:1180px) {
  .s2-participation-map { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .s2-state-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .s2-today-workspace { grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr); }
  .s2-portfolio-analysis { grid-template-columns:1fr; }
}

@media (max-width:980px) {
  .s2-pagebar { min-height:100px; }
  .s2-today-workspace { grid-template-columns:1fr; }
  .s2-today-workspace > .today-personal { position:static; }
  .s2-superchart #sx-decision-rail { max-height:none; }
  .s2-rail-panel { overflow:visible; }
}

@media (max-width:720px) {
  .s2-pagebar { min-height:0; display:block; margin-bottom:9px; padding:13px 12px; border-radius:11px; }
  .s2-pagebar h1 { max-width:none; font-size:25px; }
  .s2-pagebar p { margin-top:6px; font-size:9px; }
  .s2-pagebar-side { justify-content:flex-start; flex-wrap:wrap; margin-top:10px; }
  .s2-pagebar-side .portfolio-action,.s2-pagebar-side .primary-action,.s2-pagebar-side .watch-add { width:auto; margin:0; }
  .s2-session-chip { min-height:27px; }
  .s2-scope-tabs { width:100%; overflow-x:auto; }
  .s2-scope-tabs button { flex:1 0 auto; }
  .s2-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .s2-metric-grid > * { min-height:76px!important; padding:11px!important; }
  .s2-today-workspace .marked-list { grid-template-columns:1fr; }
  .s2-today-workspace .today-queue-head,.s2-section-heading { display:block; }
  .s2-section-heading p { margin-top:5px; text-align:left; }
  .s2-state-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .s2-participation-map { display:flex; grid-template-columns:none; overflow-x:auto; padding-bottom:3px; scrollbar-width:thin; }
  .s2-participation-map button { flex:0 0 154px; }
  .s2-market-read { padding:10px; }
  .s2-control-deck { display:grid!important; grid-template-columns:1fr!important; }
  .s2-control-deck > * { width:100%!important; min-width:0!important; }
  .market-trend-filter { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .market-trend-filter > span { grid-column:1/-1; }
  .market-trend-filter button { min-width:0!important; padding-inline:5px!important; }
  .s2-superchart .sx-cmdbar { position:relative!important; top:auto!important; }
  .s2-superchart .sx-head { display:grid!important; grid-template-columns:1fr auto!important; }
  .s2-superchart .sx-identity { min-width:0!important; }
  .s2-superchart .sx-identity h1,.s2-superchart .sx-identity .co { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .s2-superchart .sx-px { min-width:0!important; }
  .s2-superchart .sx-head-controls { grid-column:1/-1; display:grid!important; grid-template-columns:minmax(0,1fr) auto!important; }
  .s2-superchart .sx-watch { width:100%!important; white-space:nowrap; }
  .s2-superchart .sx-tf { grid-column:1; }
  .s2-superchart .sx-score-pill { grid-column:2; }
  .s2-superchart .sx-chart-actions { margin-left:auto; }
}

@media (max-width:430px) {
  .s2-pagebar h1 { font-size:23px; }
  .s2-page-kicker { font-size:7.5px; }
  .s2-state-grid { grid-template-columns:1fr 1fr; gap:6px; }
  .s2-state-grid article { min-height:72px; padding:9px; }
  .s2-participation-map { gap:5px; }
  .s2-participation-map button { min-height:68px; padding:8px; }
  .s2-superchart .sx-head { grid-template-columns:minmax(0,1fr) auto!important; }
  .s2-superchart .sx-px b { font-size:20px!important; }
  .s2-superchart .sx-head-controls { grid-template-columns:minmax(0,1fr) minmax(118px,auto)!important; }
  .s2-superchart .sx-watch { grid-column:1/-1!important; }
  .s2-superchart .sx-tf { grid-column:1!important; display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%!important; }
  .s2-superchart .sx-score-pill { grid-column:2!important; justify-self:stretch; white-space:nowrap; }
  .s2-superchart .sx-score-pill small { display:none!important; }
  .s2-rail-tabs { position:sticky; top:0; z-index:4; }
}

/* Today — faithful implementation of the approved master HTML. */
.today-master {
  --today-near:#2d8b86;
  --today-underway:var(--pos);
  --today-extended:var(--warn);
  --today-below:var(--neg);
}
.today-master-bar {
  min-height:58px; display:flex; align-items:center; gap:12px; margin:0 0 22px; padding:0 16px;
  border:1px solid var(--line); border-radius:12px; background:var(--surface-raised);
}
.today-master-title { min-width:max-content; }
.today-master-title strong { display:block; font-size:16px; letter-spacing:-.02em; }
.today-master-title small { display:block; margin-top:1px; color:var(--muted); font-size:9px; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
.today-master-meta { display:flex; align-items:center; gap:6px; min-width:0; }
.today-meta-pill {
  display:inline-flex; align-items:center; gap:6px; min-height:30px; padding:0 9px;
  border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--muted); font-size:10px; white-space:nowrap;
}
.today-meta-pill i { width:6px; height:6px; border-radius:50%; background:var(--accent); }
.today-master-spacer { flex:1; }
.today-scope { display:flex; align-items:center; gap:2px; padding:3px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.today-scope button { min-height:29px; padding:0 10px; border:0; border-radius:6px; background:transparent; color:var(--muted); font-size:10px; font-weight:800; white-space:nowrap; }
.today-scope button.is-active { background:var(--accent); color:#fff; }
.today-master-content { width:min(100%,1540px); margin:0 auto; }
.today-master-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.today-master-intro h1 { margin:0; font:600 36px/1 var(--font-display); letter-spacing:-.045em; }
.today-master-intro p { margin:8px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.today-session-copy { color:var(--muted); font-size:10.5px; line-height:1.55; text-align:right; }

.today-master .today-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0 0 20px; }
.today-master .summary-tile {
  position:relative; min-width:0; min-height:96px; padding:15px 16px; overflow:hidden;
  border:1px solid var(--line); border-radius:13px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--tile-color,var(--accent)) 6%,var(--surface)),var(--surface));
}
.today-master .summary-tile::after { content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--tile-color,var(--accent)); opacity:.82; }
.today-master .summary-tile.primary { --tile-color:var(--accent); }
.today-master .summary-tile.fresh { --tile-color:var(--pos); }
.today-master .summary-tile.early { --tile-color:var(--today-near); }
.today-master .summary-tile.attention { --tile-color:var(--warn); }
.today-master .summary-tile span,.today-master .summary-tile small { display:block; color:var(--muted); }
.today-master .summary-tile span { font-size:9.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.today-master .summary-tile strong { display:block; margin-top:5px; color:var(--ink); font:600 29px/1 var(--font-display); letter-spacing:-.04em; }
.today-master .summary-tile small { margin-top:7px; overflow:hidden; font-size:10.5px; text-overflow:ellipsis; white-space:nowrap; }

.today-top-grid { display:grid; grid-template-columns:minmax(0,1.72fr) minmax(310px,.66fr); gap:15px; align-items:start; margin-bottom:20px; }
.today-surface { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:15px; background:var(--surface); }
.today-master .today-personal { margin:0; padding:0; }
.today-fresh-surface { border-color:color-mix(in srgb,var(--accent) 34%,var(--line)); background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 7%,var(--surface)),var(--surface) 58%); }
.today-surface-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:19px 20px 15px; border-bottom:1px solid var(--line); }
.today-surface-head h2 { margin:0; font:600 26px/1.05 var(--font-display); letter-spacing:-.035em; }
.today-surface-head p { margin:5px 0 0; color:var(--muted); font-size:10.5px; line-height:1.45; }
.today-surface-count { display:inline-flex; align-items:center; gap:6px; margin-top:4px; color:var(--muted); font-size:10.5px; white-space:nowrap; }
.today-surface-count b { color:var(--ink); font-size:14px; }

.today-fresh-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:12px; }
.today-fresh-card,.today-research-card {
  position:relative; display:flex; min-width:0; flex-direction:column; padding:17px 17px 14px; overflow:hidden;
  border:1px solid var(--line); border-radius:14px; background:var(--surface-raised); color:inherit; text-decoration:none;
  transition:border-color .15s,transform .15s,box-shadow .15s;
}
.today-fresh-card { min-height:292px; background:color-mix(in srgb,var(--surface-raised) 94%,var(--accent) 6%); }
.today-fresh-card::before,.today-research-card::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--stage-accent,var(--accent)); opacity:.75; }
.today-fresh-card:hover,.today-research-card:hover { border-color:color-mix(in srgb,var(--accent) 50%,var(--line)); transform:translateY(-2px); box-shadow:0 14px 34px rgba(0,0,0,.11); }
.today-card-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.today-marked-chip { display:inline-flex; align-items:center; gap:7px; min-height:29px; padding:0 9px; border:1px solid var(--line); border-radius:8px; background:var(--bar-bg); white-space:nowrap; }
.today-marked-chip small { color:var(--muted); font-size:7px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.today-marked-chip b { font-size:10.5px; }
.today-marked-chip.is-fresh { border-color:color-mix(in srgb,var(--pos) 30%,var(--line)); background:color-mix(in srgb,var(--pos) 9%,var(--surface-raised)); color:var(--pos); }
.today-marked-chip.is-fresh small { color:currentColor; opacity:.75; }
.today-stage-pill { display:inline-flex; align-items:center; gap:6px; min-height:29px; padding:0 10px; border:1px solid color-mix(in srgb,currentColor 25%,var(--line)); border-radius:999px; background:color-mix(in srgb,currentColor 7%,var(--surface-raised)); font-size:9.5px; font-weight:800; white-space:nowrap; }
.today-stage-pill i { width:6px; height:6px; border-radius:50%; background:currentColor; box-shadow:0 0 0 4px color-mix(in srgb,currentColor 9%,transparent); }
.today-stage-pill.is-near { color:var(--today-near); }.today-stage-pill.is-underway { color:var(--pos); }.today-stage-pill.is-extended { color:var(--warn); }.today-stage-pill.is-below { color:var(--neg); }
.today-stock-main { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:11px; margin-top:15px; }
.today-company-dot { display:grid; place-items:center; width:40px; height:40px; border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line)); border-radius:11px; background:var(--accent-soft); color:var(--accent); font-size:10.5px; font-weight:850; }
.today-stock-copy { min-width:0; }
.today-stock-copy b { display:block; font:600 22px/1 var(--font-display); letter-spacing:-.025em; }
.today-stock-copy small { display:block; margin-top:4px; overflow:hidden; color:var(--muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.today-stock-price { min-width:max-content; text-align:right; }
.today-stock-price b { display:block; font:600 22px/1 var(--font-display); letter-spacing:-.025em; }
.today-stock-price small { display:block; margin-top:5px; color:var(--muted); font-size:8.5px; letter-spacing:.05em; text-transform:uppercase; }
.today-base-band { display:grid; grid-template-columns:1fr auto; align-items:center; gap:12px; margin-top:15px; padding:10px 12px; border:1px solid color-mix(in srgb,var(--warn) 16%,var(--line)); border-radius:10px; background:color-mix(in srgb,var(--warn) 6%,var(--bar-bg)); }
.today-base-band small { display:inline-block; margin-right:7px; color:var(--warn); font-size:8.5px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.today-base-band b { font-size:13px; }
.today-base-band .move { text-align:right; }.today-base-band .move b { display:block; color:var(--pos); font-size:14px; }.today-base-band .move small { display:block; margin:2px 0 0; color:var(--muted); font-size:7.5px; }.today-base-band .move.warning b { color:var(--warn); }.today-base-band .move.negative b { color:var(--neg); }
.today-signal-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }
.today-signal-cell { min-width:0; padding:10px 11px; border:1px solid var(--line); border-radius:10px; background:color-mix(in srgb,var(--surface) 65%,transparent); }
.today-signal-cell>small { display:block; color:var(--muted); font-size:7.5px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.today-signal-cell strong { display:flex; align-items:center; gap:6px; margin-top:4px; overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.today-signal-cell strong i { width:6px; height:6px; flex:none; border-radius:50%; background:currentColor; box-shadow:0 0 9px color-mix(in srgb,currentColor 45%,transparent); }
.today-signal-cell strong.good { color:var(--pos); }.today-signal-cell strong.teal { color:var(--today-near); }.today-signal-cell strong.warn { color:var(--warn); }.today-signal-cell strong.red { color:var(--neg); }.today-signal-cell strong.neutral { color:var(--muted); }
.today-card-action { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:10px; border-top:1px solid var(--line); color:var(--muted); font-size:9px; }
.today-card-action b { color:var(--accent); font-size:10px; }

.today-attention-body { padding:11px 14px 14px; }
.today-attention-status { display:flex; align-items:center; gap:9px; padding:12px; border-radius:9px; background:var(--accent-soft); color:var(--accent); }
.today-attention-status.has-attention { background:color-mix(in srgb,var(--warn) 10%,var(--surface-raised)); color:var(--warn); }
.today-attention-status i { display:grid; place-items:center; width:23px; height:23px; flex:none; border-radius:50%; background:color-mix(in srgb,currentColor 20%,transparent); font-style:normal; font-weight:850; }
.today-attention-status strong { font-size:11.5px; }.today-attention-status small { display:block; margin-top:1px; color:var(--muted); font-size:9px; }
.today-attention-list { margin:8px 0 0; padding:0; list-style:none; }
.today-attention-list li+li { border-top:1px solid var(--line); }
.today-attention-list a,.today-attention-list li.is-empty { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; padding:11px 2px; color:inherit; text-decoration:none; }
.today-attention-list b { font-size:11.5px; }.today-attention-list small { display:block; margin-top:2px; color:var(--muted); font-size:9px; }.today-attention-list i { color:var(--accent); font-style:normal; }
.today-attention-action { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:7px; padding-top:10px; border-top:1px solid var(--line); color:var(--muted); font-size:8.5px; }
.today-attention-action a { color:var(--accent); font-size:9px; font-weight:800; text-decoration:none; white-space:nowrap; }

.today-queue-surface { margin-bottom:15px; }
.today-queue-filter { display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:0 20px 16px; border-bottom:1px solid var(--line); }
.today-queue-filter>span { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:8.5px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.today-queue-filter>span::before { content:""; width:14px; height:2px; border-radius:2px; background:var(--accent); }
.today-queue-tabs { display:flex; align-items:center; gap:8px; width:100%; overflow-x:auto; padding-bottom:1px; scrollbar-width:none; }
.today-queue-tabs::-webkit-scrollbar { display:none; }
.today-queue-tabs button { min-height:37px; padding:0 13px; border:1px solid var(--line); border-radius:9px; background:var(--surface-raised); color:var(--muted); font-size:10.5px; font-weight:800; white-space:nowrap; }
.today-queue-tabs button.is-active { border-color:var(--accent); background:var(--accent); color:#fff; box-shadow:0 7px 18px color-mix(in srgb,var(--accent) 18%,transparent); }
.today-queue-tabs em { display:inline-grid; place-items:center; min-width:20px; height:20px; margin-left:5px; padding:0 5px; border-radius:999px; background:var(--bar-bg); color:var(--muted); font-size:8.5px; font-style:normal; }
.today-queue-tabs button.is-active em { background:rgba(255,255,255,.15); color:#fff; }
.today-queue-body { padding:13px; }
.today-research-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.today-research-card { min-height:245px; padding:14px; border-radius:13px; }
.today-research-card[hidden] { display:none; }
.today-research-card .today-stock-main { gap:9px; margin-top:13px; }.today-research-card .today-company-dot { width:36px; height:36px; border-radius:10px; font-size:9.5px; }.today-research-card .today-stock-copy b { font-size:19px; }.today-research-card .today-stock-copy small { font-size:9px; }.today-research-card .today-stock-price b { font-size:18px; }.today-research-card .today-stock-price small { font-size:7.5px; }
.today-research-card .today-base-band { margin-top:12px; padding:8px 10px; }.today-research-card .today-base-band b { font-size:11.5px; }.today-research-card .today-base-band .move b { font-size:12px; }
.today-research-card .today-signal-grid { margin-top:8px; }.today-research-card .today-signal-cell { padding:8px 9px; }.today-research-card .today-signal-cell strong { font-size:9.5px; }
.today-research-card .today-card-action { padding-top:8px; font-size:8.5px; }.today-research-card .today-card-action b { font-size:9px; }
.today-market-change { display:flex; align-items:center; gap:12px; padding:11px 13px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.today-change-icon { display:grid; place-items:center; width:31px; height:31px; flex:none; border-radius:9px; background:var(--accent-soft); color:var(--accent); font-weight:850; }
.today-market-change strong { font-size:10.5px; }.today-market-change p { margin:1px 0 0; color:var(--muted); font-size:9px; }.today-market-change .brief-crossed { padding:0; border:0; background:transparent; }
.today-stamp { margin:10px 2px 0; color:var(--muted); font-size:8.5px; text-align:right; }
.today-empty-state { grid-column:1/-1; margin:0; padding:30px 18px; color:var(--muted); text-align:center; }

@media (max-width:1180px) {
  .today-top-grid { grid-template-columns:1fr; }
  .today-research-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .today-master-bar { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:43px 42px; gap:0 7px; min-height:94px; margin-bottom:14px; padding:4px 9px; }
  .today-master-title { grid-column:1; grid-row:1; }.today-master-meta { grid-column:2; grid-row:1; justify-content:flex-end; }.today-master-meta .today-meta-pill:nth-child(2) { display:none; }.today-master-spacer { display:none; }
  .today-scope { grid-column:1/-1; grid-row:2; width:100%; overflow-x:auto; }.today-scope button { flex:1 0 auto; }
  .today-master-intro { align-items:flex-start; }.today-master-intro h1 { font-size:27px; }.today-master-intro p { font-size:10.5px; }.today-session-copy { display:none; }
  .today-master .today-summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.today-master .summary-tile { min-height:84px; padding:12px; }.today-master .summary-tile strong { font-size:24px; }.today-master .summary-tile small { font-size:9px; white-space:normal; }
  .today-surface-head { padding:15px 14px 12px; }.today-surface-head h2 { font-size:23px; }.today-surface-head p { font-size:9.5px; }
  .today-fresh-grid { grid-template-columns:1fr; padding:9px; }.today-fresh-card { min-height:278px; padding:15px; }
  .today-queue-filter { padding:0 12px 13px; }.today-queue-tabs { width:100%; }.today-queue-tabs button { min-height:36px; font-size:10px; }
  .today-research-grid { grid-template-columns:1fr; }.today-research-card { min-height:236px; }
}
@media (max-width:430px) {
  .today-stock-main { grid-template-columns:auto minmax(0,1fr); }
  .today-stock-price { grid-column:1/-1; display:flex; align-items:baseline; gap:7px; margin-top:2px; text-align:left; }.today-stock-price small { margin:0; }
  .today-stock-copy b { font-size:21px; }.today-stock-price b { font-size:20px; }
  .today-card-head { align-items:flex-start; }.today-stage-pill { max-width:52%; overflow:hidden; text-overflow:ellipsis; }
}

/* Market — participation-first implementation of the approved master workspace. */
.market-master { --market-teal:#2d8b86; }
.market-master-bar {
  min-height:58px; display:flex; align-items:center; gap:12px; margin:0 0 22px; padding:0 16px;
  border:1px solid var(--line); border-radius:12px; background:var(--surface-raised);
}
.market-master-title { min-width:max-content; }
.market-master-title strong { display:block; font-size:16px; letter-spacing:-.02em; }
.market-master-title small { display:block; margin-top:1px; color:var(--muted); font-size:9px; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
.market-master-meta { display:flex; align-items:center; gap:6px; min-width:0; }
.market-meta-pill,.market-regime-chip { display:inline-flex; align-items:center; gap:6px; min-height:30px; padding:0 9px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--muted); font-size:10px; white-space:nowrap; }
.market-meta-pill i { width:6px; height:6px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px var(--accent-soft); }
.market-master-spacer { flex:1; }
.market-regime-chip { border-color:color-mix(in srgb,var(--accent) 28%,var(--line)); background:var(--accent-soft); color:var(--accent); font-weight:800; }
.market-master-content { width:min(100%,1540px); margin:0 auto; }
.market-master-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.market-master-intro h1 { margin:0; font:600 36px/1 var(--font-display); letter-spacing:-.045em; }
.market-master-intro p { margin:8px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.market-method-flow { color:var(--muted); font-size:10px; font-weight:750; letter-spacing:.035em; white-space:nowrap; }

.market-master .market-state-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(430px,.9fr); gap:12px; margin-bottom:14px; }
.market-master .market-state-card { position:relative; min-height:218px; padding:20px 21px; overflow:hidden; border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line)); border-radius:15px; background:radial-gradient(circle at 92% 15%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 34%),linear-gradient(145deg,color-mix(in srgb,var(--accent) 7%,var(--surface)),var(--surface) 62%); }
.market-state-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.market-kicker { display:inline-flex; align-items:center; gap:7px; color:var(--accent); font-size:9px; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.market-kicker i { width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px var(--accent-soft); }
.market-sample { color:var(--muted); font-size:8px; letter-spacing:.08em; text-transform:uppercase; }
.market-master .market-state-card h2 { margin:13px 0 7px; font:600 30px/1.04 var(--font-display); letter-spacing:-.04em; }
.market-master .market-state-card>p { max-width:730px; margin:0; color:var(--muted); font-size:12px; line-height:1.6; }
.market-balance { margin-top:22px; }
.market-balance-track { display:flex; width:100%; height:8px; overflow:hidden; border-radius:999px; background:var(--bar-bg); }
.market-balance-track i { display:block; height:100%; }.market-balance-track .building { background:var(--pos); }.market-balance-track .mixed { background:var(--warn); opacity:.55; }.market-balance-track .weakening { background:var(--neg); }
.market-balance-labels { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:9px; color:var(--muted); font-size:8.5px; }
.market-balance-labels span { display:flex; align-items:center; gap:4px; white-space:nowrap; }.market-balance-labels i { width:6px; height:6px; border-radius:50%; }.market-balance-labels i.building { background:var(--pos); }.market-balance-labels i.mixed { background:var(--warn); }.market-balance-labels i.weakening { background:var(--neg); }.market-balance-labels b { color:var(--ink); }
.market-master .market-metrics { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.market-master .market-metric { position:relative; min-height:105px; padding:13px 14px; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.market-master .market-metric::after { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--metric,var(--accent)); opacity:.78; }
.market-master .market-metric span { display:block; color:var(--muted); font-size:8.5px; font-weight:800; letter-spacing:.075em; text-transform:uppercase; }
.market-master .market-metric b { display:block; margin-top:7px; font:600 25px/1 var(--font-display); letter-spacing:-.035em; }
.market-master .market-metric small { display:block; margin-top:7px; color:var(--muted); font-size:8.5px; line-height:1.35; }
.market-master .market-metric.good { --metric:var(--pos); }.market-master .market-metric.teal { --metric:var(--market-teal); }.market-master .market-metric.warn { --metric:var(--warn); }.market-master .market-metric.red { --metric:var(--neg); }

.market-master .market-panel { min-width:0; margin:0 0 14px; overflow:hidden; border:1px solid var(--line); border-radius:15px; background:var(--surface); }
.market-master .market-sector-section { padding:0; }
.market-master .market-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:17px 18px 13px; border-bottom:1px solid var(--line); }
.market-master .market-panel-head h2 { margin:0; font:600 22px/1.1 var(--font-display); letter-spacing:-.03em; }
.market-master .market-panel-head p { margin:4px 0 0; color:var(--muted); font-size:10px; line-height:1.45; }
.market-master .market-panel-head>span { margin-top:3px; color:var(--muted); font-size:8.5px; white-space:nowrap; }
.market-master .market-sector-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:0; padding:12px; }
.market-master .market-sector-card { min-height:154px; padding:15px; border:1px solid var(--line); border-radius:13px; background:var(--surface-raised); color:var(--ink); text-align:left; transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease; }
.market-master .market-sector-card:hover { border-color:color-mix(in srgb,var(--accent) 55%,var(--line)); transform:translateY(-1px); }
.market-master .market-sector-card.is-active { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 8%,var(--surface-raised)); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent),0 8px 22px color-mix(in srgb,var(--accent) 10%,transparent); }
.market-sector-name { display:-webkit-box; min-height:38px!important; overflow:hidden; color:var(--ink)!important; font-size:15px!important; font-weight:800!important; line-height:1.25!important; text-overflow:ellipsis; white-space:normal; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.market-sector-total { display:block; min-height:0!important; margin-top:4px; color:var(--muted)!important; font-size:10.5px!important; font-weight:650!important; }
.market-sector-meter { display:flex!important; min-height:0!important; height:8px; margin-top:14px; overflow:hidden; border-radius:999px; background:var(--bar-bg); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 60%,transparent); }
.market-sector-meter i { display:block; flex:none; height:100%; min-width:0; }.market-sector-meter .building { background:var(--pos); }.market-sector-meter .constructive { background:var(--market-teal); }.market-sector-meter .pressure { background:var(--neg); }
.market-sector-stats { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); min-height:0!important; gap:8px; margin-top:12px; }
.market-sector-stats span { display:block!important; min-width:0; min-height:0!important; color:var(--muted)!important; font-size:10px!important; font-weight:650!important; line-height:1.25; }
.market-sector-stats b { display:block!important; margin-bottom:3px; color:var(--ink); font-size:16px; font-weight:800; line-height:1; }.market-sector-stats small { display:block!important; color:inherit!important; font-size:10px!important; font-weight:650!important; line-height:1.3; overflow-wrap:anywhere; }.market-sector-stats .building b { color:var(--pos); }.market-sector-stats .constructive b { color:var(--market-teal); }.market-sector-stats .pressure b { color:var(--neg); }

.market-master .market-opportunities .market-panel-head { margin:0; }
.market-master .market-count { font-size:9px!important; font-weight:700; }
.market-stage-shell { display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:12px 18px 14px; border-bottom:1px solid var(--line); }
.market-stage-shell>span { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:8.5px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.market-stage-shell>span::before { content:""; width:14px; height:2px; border-radius:2px; background:var(--accent); }
.market-master .market-stage-tabs { display:flex; align-items:center; gap:7px; width:100%; overflow-x:auto; padding-bottom:1px; scrollbar-width:none; }.market-master .market-stage-tabs::-webkit-scrollbar { display:none; }
.market-master .market-stage-tabs button { min-height:36px; padding:0 12px; border:1px solid var(--line); border-radius:9px; background:var(--surface-raised); color:var(--muted); font-size:10px; font-weight:800; white-space:nowrap; }
.market-master .market-stage-tabs button.is-active { border-color:var(--accent); background:var(--accent); color:#fff; box-shadow:0 7px 18px color-mix(in srgb,var(--accent) 17%,transparent); }
.market-master .market-stage-tabs em { display:inline-grid; place-items:center; min-width:20px; height:20px; margin-left:5px; padding:0 5px; border-radius:999px; background:var(--bar-bg); color:var(--muted); font-size:8px; font-style:normal; }.market-master .market-stage-tabs button.is-active em { background:rgba(255,255,255,.15); color:#fff; }
.market-master .market-controls { display:grid!important; grid-template-columns:minmax(220px,1.4fr) 170px 170px minmax(300px,auto) 175px auto; align-items:end; gap:8px; margin:0; padding:12px 18px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:var(--surface); }
.market-master .market-controls>* { min-width:0; }
.market-master .market-controls .search-wrap { width:100%; max-width:none; }
.market-master .market-controls .compact-filter { display:grid; gap:4px; width:100%; }
.market-master .market-controls .compact-filter>span,.market-master .market-trend-filter>span { color:var(--muted); font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.market-master .market-controls select,.market-master .market-controls input { width:100%; min-height:36px; font-size:10px; }
.market-master .market-trend-filter { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.market-master .market-trend-filter>span { grid-column:1/-1; }.market-master .market-trend-filter button { min-width:0; min-height:36px; padding:0 7px; font-size:9px; }
.market-master .market-reset { min-height:36px; align-self:end; padding:0 11px; white-space:nowrap; }
.market-master .market-results-heading { min-height:34px; margin:0; padding:8px 18px; border-bottom:1px solid var(--line); background:var(--bar-bg); }
.market-master .market-results-heading #market-active-filters { margin:0; font-size:9px; }
.market-master .table-scroll { margin:0; border:0; border-radius:0; box-shadow:none; }
.market-master table.scores { width:100%; min-width:1200px; table-layout:fixed; font-size:12px; }
.market-master table.scores th { padding:12px 13px; font-size:10px; }.market-master table.scores td { padding:14px 13px; vertical-align:middle; }
.market-master table.scores th:nth-child(1) { width:28%; }.market-master table.scores th:nth-child(2) { width:14%; }.market-master table.scores th:nth-child(3) { width:15%; }.market-master table.scores th:nth-child(4) { width:10%; }.market-master table.scores th:nth-child(5) { width:11%; }.market-master table.scores th:nth-child(6) { width:8%; }.market-master table.scores th:nth-child(7) { width:7%; }.market-master table.scores th:nth-child(8) { width:7%; }
.market-master table.scores .sym small { display:block; max-width:none; margin-top:4px; overflow:visible; white-space:normal; text-overflow:clip; }.market-master table.scores .sym .market-company-name { color:var(--accent); font-size:12px; font-weight:750; line-height:1.35; }.market-master table.scores .sym .market-company-sector { color:var(--muted); font-size:10.5px; font-weight:600; line-height:1.35; }.market-master table.scores .sym .market-row-reason { max-width:430px; margin-top:8px; color:color-mix(in srgb,var(--ink) 62%,var(--muted)); font-size:10.5px; line-height:1.5; }
.market-signal-pill { display:inline-flex; align-items:center; gap:6px; max-width:100%; min-height:31px; padding:0 10px; border:1px solid color-mix(in srgb,currentColor 25%,var(--line)); border-radius:999px; background:color-mix(in srgb,currentColor 7%,var(--surface)); color:var(--muted); font-size:10px; font-weight:800; line-height:1.2; white-space:nowrap; }
.market-signal-pill i { width:6px; height:6px; flex:none; border-radius:50%; background:currentColor; box-shadow:0 0 7px color-mix(in srgb,currentColor 42%,transparent); }.market-signal-pill.good { color:var(--pos); }.market-signal-pill.warn { color:var(--warn); }.market-signal-pill.red { color:var(--neg); }.market-signal-pill.neutral { color:var(--muted); }
.market-master .market-session { width:100%; min-width:0; justify-content:flex-end; }.market-master .market-session-cell { min-width:0; padding-right:18px!important; }.market-master .market-session-copy small { font-size:8.5px; }.market-master .market-session-copy b { font-size:13px; }
.market-master .load-more-bar { margin:0; padding:12px 16px; border-top:1px solid var(--line); }

.market-mobile-card { min-width:0; box-shadow:none!important; }
.market-mobile-head { display:grid!important; grid-template-columns:auto minmax(0,1fr) auto; align-items:center!important; gap:9px!important; }
.market-mobile-head>div { display:block!important; min-width:0; }.market-mobile-head>div strong,.market-mobile-head>div small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.market-mobile-head>div small { margin-top:3px; color:var(--muted); font-size:9px; }
.market-mobile-mark { display:grid; place-items:center; width:36px; height:36px; border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line)); border-radius:10px; background:var(--accent-soft); color:var(--accent); font-size:9px; font-weight:850; }
.market-mobile-head .market-signal-pill { max-width:120px; overflow:hidden; text-overflow:ellipsis; }
.market-mobile-signals { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:13px; }
.market-mobile-signals>div { min-width:0; padding:9px; border:1px solid var(--line); border-radius:9px; background:var(--bar-bg); }.market-mobile-signals small { display:block; margin-bottom:5px; color:var(--muted); font-size:7.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.market-mobile-signals .market-signal-pill { max-width:100%; min-height:24px; padding:0; overflow:hidden; border:0; background:transparent; text-overflow:ellipsis; }.market-mobile-value { display:block; min-height:24px; padding-top:4px; font-size:12px; }
.market-mobile-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; padding-top:10px; border-top:1px solid var(--line); }.market-mobile-foot .market-session-copy { text-align:left; }.market-mobile-foot>b { color:var(--accent); font-size:9px; white-space:nowrap; }

@media (max-width:1180px) {
  .market-master .market-state-grid { grid-template-columns:1fr; }.market-master .market-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }.market-master .market-metric { min-height:92px; }
  .market-master .market-controls { grid-template-columns:repeat(3,minmax(0,1fr)); }.market-master .market-controls .search-wrap { grid-column:span 2; }.market-master .market-trend-filter { grid-column:span 2; }
}
@media (max-width:820px) {
  .market-master .market-sector-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .market-master .market-controls { grid-template-columns:1fr 1fr!important; }.market-master .market-controls .search-wrap,.market-master .market-trend-filter { grid-column:1/-1; }.market-master .market-reset { justify-self:start; }
  .market-master .mobile-score-list { padding:10px; }
}
@media (max-width:720px) {
  .market-master-bar { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:43px 38px; gap:0 7px; min-height:88px; margin-bottom:14px; padding:4px 9px; }.market-master-title { grid-column:1; grid-row:1; }.market-master-meta { grid-column:2; grid-row:1; justify-content:flex-end; }.market-master-meta .market-meta-pill:nth-child(2) { display:none; }.market-master-spacer { display:none; }.market-regime-chip { grid-column:1/-1; grid-row:2; width:max-content; max-width:100%; overflow:hidden; text-overflow:ellipsis; }
  .market-master-intro { align-items:flex-start; }.market-master-intro h1 { font-size:28px; }.market-master-intro p { font-size:10.5px; }.market-method-flow { display:none; }
  .market-master .market-state-card { min-height:210px; padding:17px; }.market-master .market-state-card h2 { font-size:27px; }.market-master .market-state-card>p { font-size:10.5px; }
  .market-master .market-metrics { grid-template-columns:1fr 1fr; }.market-master .market-metric { min-height:91px; padding:11px; }.market-master .market-metric b { font-size:22px; }
  .market-balance-labels { align-items:flex-start; flex-direction:column; gap:5px; }
  .market-master .market-panel-head { padding:14px 13px 11px; }.market-master .market-panel-head h2 { font-size:21px; }.market-master .market-panel-head>span { display:none; }
  .market-stage-shell { padding:11px 12px 13px; }.market-master .market-stage-tabs button { min-height:37px; }
  .market-master .market-results-heading { padding-inline:12px; }
}
@media (max-width:430px) {
  .market-master .market-sector-grid { grid-template-columns:1fr; padding:8px; }.market-master .market-sector-card { min-height:158px; padding:15px; }.market-sector-name { min-height:0!important; font-size:16px!important; }.market-sector-total { font-size:11px!important; }.market-sector-meter { height:9px; }.market-sector-stats { gap:10px; }.market-sector-stats b { font-size:18px; }.market-sector-stats small { font-size:10.5px!important; }
  .market-master .market-controls { grid-template-columns:1fr!important; padding:10px 11px; }.market-master .market-controls>* { grid-column:1!important; }.market-master .market-reset { width:100%; }
  .market-mobile-head { grid-template-columns:auto minmax(0,1fr); }.market-mobile-head .market-signal-pill { grid-column:1/-1; width:max-content; max-width:100%; }
}
