/* Reference stock pages. All changes leave with the selected stock view. */
.app[data-stock-style] .stock-scene {
  --stock-font: Arial, sans-serif;
  --stock-display: var(--stock-font);
  --bg: #fff; --bg-elevated: #fff; --bg-inset: #f5f7f9;
  --text: #232a31; --text-2: #464e56; --text-3: #5b636b;
  --line: #dfe3e7; --line-strong: #cbd2da; --navy: #232a31;
  --font-ui: var(--stock-font); --font-mono: var(--stock-font);
  background: var(--bg); color: var(--text); font-family: var(--stock-font);
}
.app[data-stock-style="robinhood"] .stock-scene {
  --stock-font: "Stock Capsule Sans", Arial, sans-serif;
  --stock-display: "Stock Capsule Sans", Arial, sans-serif;
  --text: #000; --text-2: #30363a; --text-3: #6f787e;
  --accent: #00c805; --accent-hover: #00b405; --accent-text: #00b405; --accent-ink: #fff;
  --bg-hover: #f5f8f5; --bg-accent-soft: #00c80512;
  --line: #e3e9ed; --line-strong: #c6ced3; --up: #00c805; --down: #ff5000;
}
.app[data-stock-style="yahoo"] .stock-scene {
  --stock-font: Arial, sans-serif;
  --stock-display: Arial, sans-serif;
  --accent: #0078ff; --accent-hover: #005cdb; --accent-text: #0674f9; --accent-ink: #fff;
  --bg-hover: #f0f9ff; --bg-accent-soft: #f0f9ff;
  --up: #00856a; --down: #f0001e;
}
.app[data-stock-style="google"] .stock-scene {
  --stock-font: "Stock Google Sans", Arial, sans-serif;
  --stock-display: "Stock Google Sans", Arial, sans-serif;
  --text: #101010; --text-2: #3c4043; --text-3: #5f6368;
  --accent: #0b57d0; --accent-hover: #0842a0; --accent-text: #1967d2; --accent-ink: #fff;
  --bg-inset: #f7f8fa; --bg-hover: #e8eaed; --bg-accent-soft: #e5edff;
  --line: #dadce0; --line-strong: #c9cdd3; --up: #008000; --down: #d50000;
}
.app[data-stock-style="perplexity"] .stock-scene {
  --stock-font: "Stock PPLX Sans", Arial, sans-serif;
  --stock-display: var(--stock-font);
  --bg: #fbfbfb; --bg-elevated: #fff; --bg-inset: #f3f3f3;
  --text: #0b2833; --text-2: #485e66; --text-3: #647b83;
  --accent: #016a71; --accent-hover: #015a60; --accent-text: #016a71; --accent-ink: #fff;
  --bg-hover: #edf0ef; --bg-accent-soft: #e5eeee;
  --line: #e9ecee; --line-strong: #d7dddf; --up: #007a1d; --down: #a23544;
}
.app[data-stock-style="tradingview"] .stock-scene {
  --stock-font: -apple-system, BlinkMacSystemFont, "Trebuchet MS", Roboto, Ubuntu, Arial, sans-serif;
  --stock-display: var(--stock-font);
  --bg: #fff; --bg-elevated: #fff; --bg-inset: #f8f9fd; --bg-hover: #f0f3fa;
  --text: #131722; --text-2: #434651; --text-3: #787b86; --navy: #131722;
  --accent: #2962ff; --accent-hover: #1e53e5; --accent-text: #2962ff; --accent-ink: #fff;
  --bg-accent-soft: #2962ff0f; --line: #e0e3eb; --line-strong: #d1d4dc;
  --up: #089981; --down: #f23645;
}
.app[data-stock-style] .main > .menu-btn,
.app[data-stock-style] .main > .scrim { display: none !important; }
.app[data-stock-style] > .sidebar { position: relative; inset: auto; display: flex; width: 252px; translate: none; flex-shrink: 0; }
.app[data-stock-style] .sidebar :is(.nav-label, .recents, .profile-chevron) { display: block; }
.app[data-stock-style] .sidebar .nav-kbd { display: inline; }
.app[data-stock-style] .sidebar .profile-meta { display: flex; }
.app[data-stock-style] .sidebar .side-head { flex-direction: row; height: 60px; padding: 0 0 0 25px; gap: 0; }
.app[data-stock-style] .sidebar .brand-logo { width: 62px; }
.app[data-stock-style] .sidebar .side-toggle { position: absolute; }
.app[data-stock-style] .sidebar .nav-item { justify-content: flex-start; padding: 0 9px 0 11px; }
.app[data-stock-style] .sidebar .profile { justify-content: flex-start; padding: 6px; }
.app[data-stock-style] .sidebar .side-foot { margin-top: 0; }
.app[data-stock-style] .main { background: #fff; container: stock-workspace / inline-size; }
.app[data-stock-style] #page { padding: 0; background: #fff; }
.app[data-stock-style] .stock-scene { min-height: 100%; padding-bottom: 72px; font: 14px/1.45 var(--stock-font); }
.app[data-stock-style] .stock-scene :is(button, input, select, textarea) { font-family: var(--stock-font); }
.app[data-stock-style] .stock-scene a { color: inherit; text-decoration: none; }
.app[data-stock-style] .stock-scene button { letter-spacing: normal; text-transform: none; }
.app[data-stock-style] .card { min-width: 0; box-shadow: none; border: 1px solid var(--line); }
.app[data-stock-style] .stock-scene .btn { font: 500 14px/1 var(--stock-font); letter-spacing: normal; text-transform: none; }
.app[data-stock-style] .stock-scene .stock-ticker,
.app[data-stock-style] .stock-scene .price-chart { --font-ui: var(--stock-font); --font-mono: var(--stock-font); }
.app[data-stock-style] .stock-ticker { background: transparent; padding: 0; border-radius: 0; gap: 24px; }
.app[data-stock-style] .stock-ticker,
.app[data-stock-style] .stock-ticker .price-chart {
  --bg: inherit; --bg-elevated: inherit; --bg-inset: inherit; --bg-hover: inherit;
  --text: inherit; --text-2: inherit; --text-3: inherit; --navy: inherit;
  --accent: inherit; --accent-hover: inherit; --accent-text: inherit; --accent-ink: inherit;
  --bg-accent-soft: inherit; --line: inherit; --line-strong: inherit; --chip: inherit;
  --up: inherit; --down: inherit;
}
.app[data-stock-style] .stock-company-mark { display: none; }
.app[data-stock-style="google"] .stock-company-mark,
.app[data-stock-style="perplexity"] .stock-company-mark { display: inline-grid; flex-shrink: 0; place-items: center; width: 32px; height: 32px; margin-right: 8px; border-radius: 10px; background: #f1f3f4; color: #0b0b0b; vertical-align: middle; font-size: 22px; }
.app[data-stock-style="perplexity"] .stock-company-mark { width: 40px; height: 40px; margin-right: 8px; background: transparent; font-size: 32px; }
.app[data-stock-style="google"] .ticker-head > div:first-child,
.app[data-stock-style="perplexity"] .ticker-head > div:first-child { position: relative; }
.app[data-stock-style="google"] .stock-company-mark,
.app[data-stock-style="perplexity"] .stock-company-mark { position: absolute; left: 0; top: 0; }
.app[data-stock-style="google"] .ticker-head > div:first-child { padding-left: 40px; }
.app[data-stock-style="perplexity"] .ticker-head > div:first-child { padding-left: 48px; }
.app[data-stock-style] .stock-company-mark img { width: 100%; height: 100%; object-fit: contain; border-radius: inherit; }
.app[data-stock-style] .stock-company-actions { display: flex; align-items: center; gap: 12px; }
.app[data-stock-style] .stock-company-actions .stock-price-alert { display: none; }
.app[data-stock-style] .stock-scene .ticker-head > .stock-advisor-impact {
  position: static; display: inline-flex; align-self: center; width: auto; height: auto; padding: 6px 9px;
  border: 1px solid var(--line); border-radius: 6px; background: var(--bg); color: var(--text); font-size: 12px;
  white-space: nowrap; pointer-events: auto;
}
.app[data-stock-style="yahoo"] .stock-scene .ticker-head > .stock-advisor-impact::after { content: none; }
.app[data-stock-style="robinhood"] .stock-scene .ticker-head > .stock-advisor-impact { align-self: flex-start; margin-top: 8px; }
.app[data-stock-style] .stock-site-header { display: flex; align-items: center; gap: 32px; height: 80px; padding: 0 24px; background: var(--bg); }
.app[data-stock-style] .stock-wordmark { display: inline-flex; flex-shrink: 0; align-items: center; gap: 6px; color: var(--text); font: 600 24px/1 var(--stock-display); letter-spacing: -1px; white-space: nowrap; }
.app[data-stock-style] .stock-wordmark svg { width: 25px; height: 28px; }
.app[data-stock-style] .stock-header-search { position: relative; width: 510px; max-width: 46%; }
.app[data-stock-style] .stock-header-search .ticker-search { margin: 0; }
.app[data-stock-style] .stock-header-search input { height: 38px; border: 1px solid var(--line); border-radius: 4px; padding: 0 16px 0 36px; background: var(--bg-elevated); color: var(--text); font-size: 14px; }
.app[data-stock-style] .stock-header-search::before { content: ""; position: absolute; z-index: 1; top: 12px; left: 15px; width: 9px; height: 9px; border: 1.7px solid currentColor; border-radius: 50%; pointer-events: none; }
.app[data-stock-style] .stock-header-search::after { content: ""; position: absolute; z-index: 1; top: 22px; left: 25px; width: 5px; height: 1.7px; background: currentColor; rotate: 45deg; pointer-events: none; }
.app[data-stock-style] .stock-header-links { display: flex; flex: 1; align-items: center; justify-content: flex-end; gap: 30px; white-space: nowrap; font-size: 13px; font-weight: 600; }
.app[data-stock-style] .stock-header-links button { font-weight: inherit; }
.app[data-stock-style] .stock-header-links .stock-sign-in { padding: 10px 18px; border: 1px solid var(--line); border-radius: 24px; }
.app[data-stock-style] .stock-secondary-nav,
.app[data-stock-style] .stock-market-strip { display: none; }
.app[data-stock-style] .stock-workspace { display: grid; grid-template-columns: minmax(0, 1fr); }
.app[data-stock-style] .stock-left-rail { display: none; min-width: 0; }
.app[data-stock-style] .stock-left-rail > * { display: none; }
.app[data-stock-style="yahoo"] .stock-yahoo-rail,
.app[data-stock-style="google"] .stock-google-rail { display: flex; flex-direction: column; }
.app[data-stock-style] .stock-content { min-width: 0; }
.app[data-stock-style] .stock-breadcrumbs { margin: 0 0 12px; color: var(--text-3); font-size: 12px; line-height: 20px; }
.app[data-stock-style] .stock-breadcrumbs { display: flex; align-items: center; gap: 10px; }
.app[data-stock-style] .stock-breadcrumbs .icon-btn { margin-left: auto; }
.app[data-stock-style] .stock-breadcrumbs span + span { margin-left: 10px; }
.app[data-stock-style] .stock-ticker { display: grid; grid-template-columns: minmax(0, 1fr) 330px; grid-template-areas: "head trade" "chart trade" "research trending" "profile trending" "stats trending" "news trending"; column-gap: 24px; align-items: start; }
.app[data-stock-style] .ticker-head { grid-area: head; min-width: 0; margin: 0; padding: 0; }
.app[data-stock-style] .ticker-head > div:first-child { min-width: 0; }
.app[data-stock-style] .ticker-symbol { font: 600 26px/1.25 var(--stock-display); letter-spacing: -.4px; }
.app[data-stock-style] .ticker-name { margin: 2px 0 0; color: var(--text-3); font-size: 13px; }
.app[data-stock-style] .ticker-price { font: 600 32px/1.2 var(--stock-display); letter-spacing: -.7px; }
.app[data-stock-style] .ticker-change { color: var(--text-3); font-size: 14px; }
.app[data-stock-style] .stock-scene .ticker-change[data-tone="up"] { color: var(--up); }
.app[data-stock-style] .stock-scene .ticker-change[data-tone="down"] { color: var(--down); }
.app[data-stock-style] .stock-chart-card { grid-area: chart; gap: 0; padding: 0; border-radius: 0; border: 0; background: transparent; }
.app[data-stock-style] .stock-scene .stock-chart-card { border: 0; }
.app[data-stock-style] .stock-chart-card .chart-presentation { display: none; }
.app[data-stock-style] .stock-section-tabs { grid-area: tabs; display: flex; gap: 24px; min-width: 0; border-bottom: 1px solid var(--line); }
.app[data-stock-style] .stock-section-tabs button { position: relative; flex-shrink: 0; padding: 12px 0 15px; color: var(--text-2); font-size: 14px; }
.app[data-stock-style] .stock-section-tabs :is(button[aria-selected="true"], button.active) { color: var(--text); }
.app[data-stock-style] .stock-section-tabs :is(button[aria-selected="true"], button.active)::after { content: ""; position: absolute; bottom: -1px; height: 2px; left: 0; right: 0; background: currentColor; }
.app[data-stock-style] .stock-chart-tools { grid-area: tools; display: flex; align-items: center; gap: 8px; min-width: 0; }
.app[data-stock-style] .stock-chart-tools button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 8px; white-space: nowrap; font-size: 12px; }
.app[data-stock-style] .stock-chart-tools button svg { width: 16px; height: 16px; }
.app[data-stock-style] .stock-chart-tools select { padding: 5px 22px 5px 7px; border: 0; border-radius: 5px; background: transparent; color: inherit; font-size: 12px; }
.app[data-stock-style] .stock-scene .price-chart[data-chart-type="line"] .chart-area { display: none; }
.chart-y-labels, .chart-x-labels { display: none; }
.app[data-stock-style] .stock-scene .chart-drawing { position: relative; }
.app[data-stock-style] .stock-scene .chart-drawing > svg { display: block; }
.app[data-stock-style] .stock-scene :is(.price-grid text, .price-date-axis text) { visibility: hidden; }
.app[data-stock-style] .stock-scene :is(.chart-y-labels, .chart-x-labels) { position: absolute; inset: 0; display: block; pointer-events: none; }
.app[data-stock-style] .stock-scene :is(.stock-axis-y, .stock-axis-date) { position: absolute; color: var(--text-3); font: 400 12px/1.2 var(--stock-font); white-space: nowrap; }
.app[data-stock-style] .stock-scene .stock-axis-y { left: 4px; transform: translateY(-50%); }
.app[data-stock-style] .stock-scene .stock-axis-date { top: 98%; transform: translate(-50%, -100%); }
.app[data-stock-style] .stock-scene .stock-axis-date[data-align="start"] { transform: translateY(-100%); }
.app[data-stock-style] .stock-scene .stock-axis-date[data-align="end"] { transform: translate(-100%, -100%); }
.app[data-stock-style="yahoo"] .stock-scene .stock-axis-y { left: auto; right: 6%; }
.app[data-stock-style="robinhood"] .stock-scene :is(.chart-y-labels, .chart-x-labels) { display: none; }
.app[data-stock-style]:is([data-stock-style="yahoo"], [data-stock-style="google"], [data-stock-style="perplexity"]) .stock-scene .chart-area { fill: var(--chart-area-fill); opacity: 1; }
.app[data-stock-style] .stock-stats-card { grid-area: stats; }
.app[data-stock-style] .stock-profile-card { grid-area: profile; }
.app[data-stock-style] .stock-news-card { grid-area: news; }
.app[data-stock-style] .stock-research-card { grid-area: research; }
.app[data-stock-style] .stock-trade-card { grid-area: trade; }
.app[data-stock-style] .stock-trending-card { grid-area: trending; }
.app[data-stock-style] :is(.stock-stats-card, .stock-profile-card, .stock-news-card, .stock-research-card, .stock-trade-card, .stock-trending-card) { align-self: start; }
.app[data-stock-style] :is(.stock-trade-card, .stock-trending-card) { display: flex; flex-direction: column; gap: 14px; min-width: 0; border: 1px solid var(--line); padding: 16px; background: var(--bg-elevated); }
.app[data-stock-style] :is(.stock-trade-card, .stock-trending-card) > h2 { margin: 0; font: 600 18px/1.3 var(--stock-display); }
.app[data-stock-style] .stock-trade-card h3 { margin: 0; font-size: 13px; font-weight: 600; }
.app[data-stock-style] .card-head h2 { color: var(--text); font: 600 20px/1.3 var(--stock-display); text-transform: none; letter-spacing: -.2px; }
.app[data-stock-style] .stock-profile-card p { margin: 0; line-height: 1.6; }
.app[data-stock-style] .stock-chart-card .range-tabs { margin: 0; min-width: 0; }
.app[data-stock-style] .stock-chart-card .seg { gap: 0; padding: 0; border-radius: 0; background: transparent; }
.app[data-stock-style] .stock-chart-card .seg-btn { padding: 0 12px; height: 34px; font-size: 12px; border-radius: 4px; }
.app[data-stock-style] .stock-chart-card .seg-btn[aria-pressed="true"] { box-shadow: none; }
.app[data-stock-style] .stock-chart-card .chart-slot { min-height: 0; }
.app[data-stock-style] .stock-chart-card .price-chart { margin: 0; }
.app[data-stock-style] .stock-chart-card .chart-summary { display: none; }
.app[data-stock-style] .price-grid text,
.app[data-stock-style] .price-date-axis text { font: 12px var(--stock-font); }
.app[data-stock-style] .price-chart .chart-tip { top: 12px; translate: -50% 0; z-index: 2; font: 12px/1.4 var(--stock-font); }
.app[data-stock-style] .price-chart figcaption { color: var(--text-3); font: 10px/1.45 var(--stock-font); }
.app[data-stock-style] .stock-scene .price-chart figcaption { display: none; }
.app[data-stock-style] .stock-chart-card .chart-range-stats { display: none; }
.app[data-stock-style] .stock-mode-controls { position: fixed; right: 16px; bottom: 14px; z-index: 20; display: flex; align-items: center; gap: 7px; padding: 6px; border: 1px solid var(--line-strong); border-radius: 10px; box-shadow: 0 3px 18px #0000000d; background: var(--bg-elevated); color: var(--text); font: 12px/1.3 var(--stock-font); }
.app[data-stock-style] .stock-mode-controls label { padding-left: 5px; color: var(--text-3); }
.app[data-stock-style] .stock-mode-controls select { max-width: 150px; padding: 5px 24px 5px 8px; border: 0; border-radius: 5px; background: var(--bg-inset); color: var(--text); font-size: 12px; }
.app[data-stock-style] .stock-mode-controls button { display: flex; align-items: center; justify-content: center; gap: 4px; min-height: 28px; padding: 4px 8px; border-radius: 5px; font-size: 12px; }
.app[data-stock-style] .stock-mode-controls button:hover { background: var(--bg-hover); }
.app[data-stock-style] .stock-rail-heading { display: flex; align-items: center; justify-content: space-between; margin: 0 0 16px; font-size: 16px; font-weight: 500; }
.app[data-stock-style] .stock-rail-item { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 0; font-size: 14px; text-align: left; }
.app[data-stock-style] .stock-rail-item svg { width: 18px; height: 18px; }
.app[data-stock-style] .stock-trade-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 13px; }
.app[data-stock-style] .stock-trade-row :is(input, select) { width: 144px; height: 36px; padding: 0 12px; border: 1px solid var(--line); border-radius: 4px; background: var(--bg-elevated); color: var(--text); text-align: right; }
.app[data-stock-style] .stock-trade-total { display: flex; justify-content: space-between; padding-top: 12px; border-top: 1px solid var(--line); font-size: 13px; font-weight: 600; }
.app[data-stock-style] .stock-trending-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.app[data-stock-style] .stock-trending-row strong { color: var(--accent-text); font-weight: 500; }
.app[data-stock-style] .stock-trending-row small { display: block; color: var(--text-2); }
.app[data-stock-style] .stock-trending-row > :last-child { text-align: right; }
.app[data-stock-style] .stock-trending-rows .stock-market-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; width: 100%; min-width: 0; gap: 2px 16px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 13px; line-height: 18px; text-align: left; }
.app[data-stock-style] .stock-trending-rows .stock-market-item b { font-weight: 500; color: var(--accent-text); }
.app[data-stock-style] .stock-trending-rows .stock-market-item span { text-align: right; }
.app[data-stock-style] .stock-trending-rows .stock-market-item small { grid-column: 2; font-size: 12px; text-align: right; }
.app[data-stock-style] .stock-scene .stock-market-item[data-tone="up"] small { color: var(--up); }
.app[data-stock-style] .stock-scene .stock-market-item[data-tone="down"] small { color: var(--down); }
.app[data-stock-style] .stock-outlook { display: none; margin: 0 368px 16px 0; padding: 15px 22px; border-radius: 16px; background: var(--bg-inset); font-size: 14px; }
.app[data-stock-style="google"] .stock-outlook { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.app[data-stock-style="google"] .stock-outlook button { flex-shrink: 0; font-size: 14px; }
.app[data-stock-style] .stock-timestamp { color: var(--text-3); font-size: 12px; font-weight: 400; letter-spacing: normal; }

/* Robinhood: open chart, small navigation, and a fixed-width order ticket. */
.app[data-stock-style="robinhood"] .stock-site-header { gap: 42px; height: 80px; padding: 0 24px 0 32px; }
.app[data-stock-style="robinhood"] .stock-wordmark { font-size: 24px; letter-spacing: -1.1px; }
.app[data-stock-style="robinhood"] .stock-header-search { width: 508px; }
.app[data-stock-style="robinhood"] .stock-header-search input { height: 36px; font-size: 13px; }
.app[data-stock-style="robinhood"] .stock-header-links { gap: 32px; font-size: 13px; }
.app[data-stock-style="robinhood"] .stock-header-links .stock-sign-in { border: 0; padding: 0; }
.app[data-stock-style="robinhood"] .stock-workspace { padding: 0 24px; }
.app[data-stock-style="robinhood"] .stock-breadcrumbs { display: none; }
.app[data-stock-style="robinhood"] .stock-ticker { grid-template-rows: auto auto auto; column-gap: 24px; row-gap: 24px; }
.app[data-stock-style="robinhood"] .ticker-head { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.app[data-stock-style="robinhood"] .ticker-head > div:first-child { flex: 0; }
.app[data-stock-style="robinhood"] .ticker-symbol { font: 500 32px/1.25 var(--stock-display); letter-spacing: -.33px; }
.app[data-stock-style="robinhood"] .ticker-name { display: none; }
.app[data-stock-style="robinhood"] .ticker-quote { text-align: left; }
.app[data-stock-style="robinhood"] .ticker-price { font: 500 32px/1.25 var(--stock-display); letter-spacing: -.33px; }
.app[data-stock-style="robinhood"] .stock-timestamp { margin: 8px 0 0 4px; color: #000; font-size: 13px; font-weight: 700; }
.app[data-stock-style="robinhood"] .ticker-change { margin-top: 5px; font-size: 13px; font-weight: 600; }
.app[data-stock-style="robinhood"] .ticker-head > button { display: none; }
.app[data-stock-style="robinhood"] .stock-company-actions { display: none; }
.app[data-stock-style="robinhood"] :is(.stock-section-tabs, .stock-chart-tools) { display: none; }
.app[data-stock-style="robinhood"] .stock-chart-card { margin-top: -10px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.app[data-stock-style="robinhood"] .stock-scene .stock-chart-card { border: 0; border-bottom: 1px solid var(--line); }
.app[data-stock-style="robinhood"] .stock-chart-card .chart-kicker { display: none; }
.app[data-stock-style="robinhood"] .stock-chart-card .price-chart svg { height: 275px; }
.app[data-stock-style="robinhood"] .stock-chart-card .chart-frame { padding: 0; border: 0; }
.app[data-stock-style="robinhood"] .stock-chart-card .chart-line { stroke-width: 1.5; }
.app[data-stock-style="robinhood"] .stock-chart-card .price-baseline { stroke: #939a9c; stroke-dasharray: 1 5; }
.app[data-stock-style="robinhood"] .stock-chart-card .price-endpoint { display: none; }
.app[data-stock-style="robinhood"] .stock-chart-card .range-tabs { order: 2; margin-top: 5px; }
.app[data-stock-style="robinhood"] .stock-chart-card .seg { gap: 20px; }
.app[data-stock-style="robinhood"] .stock-chart-card .seg-btn { padding: 0 4px 8px; border-radius: 0; border-bottom: 2px solid transparent; font-size: 13px; font-weight: 700; letter-spacing: 2px; }
.app[data-stock-style="robinhood"] .stock-chart-card .seg-btn:first-child { padding-left: 0; }
.app[data-stock-style="robinhood"] .stock-chart-card .seg-btn[aria-pressed="true"] { background: transparent; color: #000; border-bottom-color: #000; }
.app[data-stock-style="robinhood"] .price-chart figcaption { padding-top: 6px; }
.app[data-stock-style="robinhood"] .stock-trade-card { gap: 20px; padding: 18px 20px 20px; border-radius: 4px; box-shadow: 0 8px 24px #00000008; font-size: 13px; }
.app[data-stock-style="robinhood"] .stock-trade-card .card-head { margin: -1px -20px 0; padding: 0 20px 16px; border-bottom: 1px solid var(--line); }
.app[data-stock-style="robinhood"] .stock-trade-card .card-head h2 { font: 600 14px/1.4 var(--stock-font); letter-spacing: 0; }
.app[data-stock-style="robinhood"] .stock-trade-card > h2 { margin: -1px -20px 0; padding: 0 20px 16px; border-bottom: 1px solid var(--line); font: 600 14px/1.4 var(--stock-font); letter-spacing: 0; }
.app[data-stock-style="robinhood"] .stock-trade-card > .stock-toolbar-button { width: 100%; height: 44px; border-radius: 24px; background: #00c805; color: #fff; font-size: 13px; font-weight: 700; }
.app[data-stock-style="robinhood"] .stock-trade-card p { margin: 0; line-height: 1.9; }
.app[data-stock-style="robinhood"] .stock-trade-card .btn { width: 100%; height: 44px; border-radius: 24px; font-size: 13px; font-weight: 600; }
.app[data-stock-style="robinhood"] .stock-research-card { margin-top: 12px; padding: 24px 28px; border-radius: 4px; }
.app[data-stock-style="robinhood"] .stock-research-card .card-head h2 { color: var(--text-3); font-size: 15px; }
.app[data-stock-style="robinhood"] .stock-profile-card,
.app[data-stock-style="robinhood"] .stock-stats-card,
.app[data-stock-style="robinhood"] .stock-news-card { padding: 10px 0; border: 0; border-radius: 0; }
.app[data-stock-style="robinhood"] .stock-profile-card .card-head { padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.app[data-stock-style="robinhood"] .stock-profile-card .card-head h2 { font-size: 24px; font-weight: 500; }
.app[data-stock-style="robinhood"] .stock-trending-card { border-radius: 4px; }

/* Yahoo Finance: stacked site navigation, market tape, and dense quote grid. */
.app[data-stock-style="yahoo"] .stock-site-header { height: 64px; gap: 22px; }
.app[data-stock-style="yahoo"] .stock-wordmark { font-size: 23px; font-weight: 800; letter-spacing: -1.3px; }
.app[data-stock-style="yahoo"] .stock-wordmark > :first-child { color: #7e1fff; }
.app[data-stock-style="yahoo"] .stock-wordmark { color: #7e1fff; }
.app[data-stock-style="yahoo"] .stock-header-search { width: 476px; }
.app[data-stock-style="yahoo"] .stock-header-search input { height: 40px; border: 0; border-radius: 24px; background: #f0f3f5; padding-left: 24px; font-size: 15px; }
.app[data-stock-style="yahoo"] .stock-header-search::before { top: 13px; left: auto; right: 30px; border-color: #fff; }
.app[data-stock-style="yahoo"] .stock-header-search::after { top: 23px; left: auto; right: 25px; background: #fff; }
.app[data-stock-style="yahoo"] .stock-header-search .ticker-search::after { content: ""; position: absolute; top: 0; right: 0; width: 72px; height: 40px; border-radius: 24px; background: #00856a; pointer-events: none; }
.app[data-stock-style="yahoo"] .stock-header-search::before,
.app[data-stock-style="yahoo"] .stock-header-search::after { z-index: 2; }
.app[data-stock-style="yahoo"] .stock-header-links { justify-content: space-between; gap: 20px; padding-left: 55px; font-size: 14px; }
.app[data-stock-style="yahoo"] .stock-header-links .stock-sign-in { padding: 10px 16px; font-weight: 500; }
.app[data-stock-style="yahoo"] .stock-secondary-nav { display: flex; justify-content: space-between; align-items: center; gap: 24px; height: 52px; padding: 0 24px; border-block: 1px solid var(--line); font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; }
.app[data-stock-style="yahoo"] .stock-secondary-nav button { white-space: nowrap; }
.app[data-stock-style="yahoo"] .stock-market-strip { display: flex; align-items: center; gap: 24px; height: 77px; padding: 9px 24px; border-bottom: 1px solid var(--line); overflow: hidden; white-space: nowrap; }
.app[data-stock-style="yahoo"] .stock-market-item { min-width: 140px; font-size: 12px; line-height: 18px; }
.app[data-stock-style="yahoo"] .stock-market-item strong { display: block; color: #006bff; font-weight: 500; }
.app[data-stock-style="yahoo"] .stock-market-item b { display: block; font-weight: 600; }
.app[data-stock-style="yahoo"] .stock-market-item small { font-size: 12px; color: var(--up); }
.app[data-stock-style="yahoo"] .stock-market-strip > .stock-market-item { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1px; text-align: left; }
.app[data-stock-style="yahoo"] .stock-market-strip > .stock-market-item > span { font-size: 13px; font-weight: 600; }
.app[data-stock-style="yahoo"] .stock-workspace { grid-template-columns: 136px minmax(0, 1fr); gap: 24px; padding: 24px 12px 0 24px; }
.app[data-stock-style="yahoo"] .stock-left-rail { display: flex; flex-direction: column; gap: 0; align-items: flex-start; font-size: 14px; font-weight: 600; }
.app[data-stock-style="yahoo"] .stock-left-rail button { min-height: 28px; padding: 4px; text-align: left; font-size: 14px; }
.app[data-stock-style="yahoo"] .stock-left-rail button[aria-selected="true"] { border-radius: 3px; background: #f0f9ff; color: #0674f9; }
.app[data-stock-style="yahoo"] .stock-left-rail button.active { align-self: flex-start; border-radius: 3px; background: #f0f9ff; color: #0674f9; }
.app[data-stock-style="yahoo"] .stock-breadcrumbs { margin-bottom: 5px; font-size: 12px; }
.app[data-stock-style="yahoo"] .stock-ticker { grid-template-columns: minmax(0, 1fr) 344px; grid-template-areas: "head trending" "chart trending" "stats profile" "earnings earnings" "news research"; gap: 24px; }
.app[data-stock-style="yahoo"] .ticker-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; }
.app[data-stock-style="yahoo"] .ticker-head > div:first-child { flex: 0 1 auto; }
.app[data-stock-style="yahoo"] .ticker-symbol { font: 700 24px/1.25 var(--stock-display); letter-spacing: -.24px; }
.app[data-stock-style="yahoo"] .ticker-name { display: none; }
.app[data-stock-style="yahoo"] .ticker-quote { flex-basis: 100%; order: 3; display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; padding-top: 10px; border-top: 1px solid var(--line); text-align: left; }
.app[data-stock-style="yahoo"] .ticker-price { font: 700 32px/1.25 var(--stock-display); letter-spacing: -.8px; }
.app[data-stock-style="yahoo"] .stock-timestamp { flex-basis: 100%; margin: -4px 0 0; font-size: 12px; }
.app[data-stock-style="yahoo"] .ticker-change { font-size: 21px; font-weight: 700; }
.app[data-stock-style="yahoo"] .stock-scene .ticker-head > button { width: 24px; height: 28px; padding: 0; border: 0; font-size: 0; }
.app[data-stock-style="yahoo"] .stock-scene .ticker-head > button::after { content: "☆"; font-size: 25px; line-height: 28px; }
.app[data-stock-style="yahoo"] .stock-company-actions { align-self: center; }
.app[data-stock-style="yahoo"] .stock-scene .stock-company-actions > button:first-child { width: 24px; height: 28px; padding: 0; border: 0; font-size: 0; }
.app[data-stock-style="yahoo"] .stock-scene .stock-company-actions > button:first-child::after { content: "☆"; font-size: 25px; line-height: 28px; }
.app[data-stock-style="yahoo"] .ticker-head > button svg { width: 20px; height: 20px; }
.app[data-stock-style="yahoo"] :is(.stock-section-tabs, .stock-trade-card) { display: none; }
.app[data-stock-style="yahoo"] .stock-scene .stock-chart-card { position: relative; padding: 18px 16px 8px; border: 1px solid var(--line); border-radius: 5px; }
.app[data-stock-style="yahoo"] .stock-chart-card .range-tabs { padding-bottom: 9px; }
.app[data-stock-style="yahoo"] .stock-chart-card .seg-btn { height: 25px; padding: 0 12px; font-size: 12px; font-weight: 600; }
.app[data-stock-style="yahoo"] .stock-chart-card .seg-btn[aria-pressed="true"] { background: #f0f9ff; color: #0674f9; }
.app[data-stock-style="yahoo"] .stock-chart-card .chart-frame { padding: 0; border: 0; border-radius: 0; }
.app[data-stock-style="yahoo"] .stock-chart-card .price-chart svg { height: 260px; }
.app[data-stock-style="yahoo"] .stock-chart-card .chart-line { stroke-width: 1.2; }
.app[data-stock-style="yahoo"] .stock-chart-card .chart-area { opacity: .3; }
.app[data-stock-style="yahoo"] .price-grid line { stroke: #d9dde0; }
.app[data-stock-style="yahoo"] .stock-chart-tools { position: absolute; z-index: 1; right: 16px; top: 18px; display: flex; gap: 7px; height: 26px; }
.app[data-stock-style="yahoo"] .stock-chart-tools button { height: 28px; padding: 3px 9px; border-radius: 20px; font-size: 11px; }
.app[data-stock-style="yahoo"] .stock-chart-tools select { height: 28px; border: 1px solid var(--line); border-radius: 20px; background: #fff; font-size: 11px; }
.app[data-stock-style="yahoo"] .stock-trending-card { margin-top: -25px; padding: 16px; border-radius: 8px; box-shadow: 0 2px 8px #00000005; }
.app[data-stock-style="yahoo"] .stock-trending-card .card-head h2 { font-size: 18px; }
.app[data-stock-style="yahoo"] .stock-trending-card .stock-market-item { display: grid; grid-template-columns: 1fr auto; width: 100%; min-width: 0; padding: 7px 0; border-bottom: 1px solid var(--line); text-align: left; font-size: 12px; line-height: 15px; }
.app[data-stock-style="yahoo"] .stock-trending-card .stock-market-item b { color: #006bff; font-weight: 500; }
.app[data-stock-style="yahoo"] .stock-trending-card .stock-market-item span { text-align: right; }
.app[data-stock-style="yahoo"] .stock-trending-card .stock-market-item small { grid-column: 2; text-align: right; }
.app[data-stock-style="yahoo"] .stock-profile-card,
.app[data-stock-style="yahoo"] .stock-stats-card,
.app[data-stock-style="yahoo"] .stock-news-card { padding: 0; border: 0; border-radius: 0; }
.app[data-stock-style="yahoo"] .stock-stats-card .stats dt,
.app[data-stock-style="yahoo"] .stock-stats-card .stats dd { font-size: 14px; }

/* Google Finance: Lists, rounded overview, and a persistent research column. */
.app[data-stock-style="google"] .stock-site-header { height: 80px; gap: 24px; padding: 0 36px 0 20px; }
.app[data-stock-style="google"] .stock-wordmark { width: 304px; font-size: 26px; font-weight: 500; letter-spacing: -.8px; }
.app[data-stock-style="google"] .stock-wordmark > :last-child { color: #5f6368; font-weight: 400; }
.app[data-stock-style="google"] .stock-header-search { width: 700px; max-width: none; }
.app[data-stock-style="google"] .stock-header-search input { height: 48px; padding-left: 52px; border: 0; border-radius: 32px; background: #e9ecf2; font-size: 18px; }
.app[data-stock-style="google"] .stock-header-search::before { top: 15px; left: 22px; width: 11px; height: 11px; }
.app[data-stock-style="google"] .stock-header-search::after { top: 26px; left: 34px; }
.app[data-stock-style="google"] .stock-header-links { flex: 1; min-width: 180px; gap: 22px; font-size: 14px; }
.app[data-stock-style="google"] .stock-header-links .stock-sign-in { padding: 11px 23px; border-color: #0b57d0; background: #0b57d0; color: #fff; font-weight: 500; }
.app[data-stock-style="google"] .stock-workspace { grid-template-columns: 300px minmax(0, 1fr); }
.app[data-stock-style="google"] .stock-left-rail { display: block; min-height: calc(100dvh - 80px); padding: 8px 24px 24px; border-right: 1px solid #c9cdd3; }
.app[data-stock-style="google"] .stock-left-rail .stock-rail-heading { padding-bottom: 10px; border-bottom: 1px solid #c9cdd3; font-size: 24px; }
.app[data-stock-style="google"] .stock-left-rail .stock-rail-item { padding: 10px 0; }
.app[data-stock-style="google"] .stock-left-rail .stock-rail-item + .stock-rail-heading { margin-top: 24px; padding-top: 24px; font-size: 16px; border-top: 1px solid #c9cdd3; border-bottom: 0; }
.app[data-stock-style="google"] .stock-left-rail .stock-market-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; padding: 12px 0; border-bottom: 1px solid #eceff2; font-size: 14px; text-align: left; }
.app[data-stock-style="google"] .stock-left-rail .stock-market-item span { text-align: right; }
.app[data-stock-style="google"] .stock-left-rail .stock-market-item small { grid-column: 2; color: var(--up); font-size: 12px; text-align: right; }
.app[data-stock-style="google"] .stock-content { padding: 12px 24px 24px; }
.app[data-stock-style="google"] .stock-breadcrumbs { margin-bottom: 10px; font-size: 14px; }
.app[data-stock-style="google"] .stock-ticker { position: relative; grid-template-columns: minmax(0, 1fr) 320px; grid-template-areas: "head research" "tools research" "chart research" "tabs research" "stats research" "profile research" "news research"; gap: 0 48px; }
.app[data-stock-style="google"] .stock-breadcrumbs { height: 20px; }
.app[data-stock-style="google"] .stock-breadcrumbs .icon-btn { height: 20px; width: 20px; }
.app[data-stock-style="google"] .ticker-head { position: relative; display: flex; flex-wrap: wrap; align-items: flex-start; gap: 4px; padding: 0 0 10px; }
.app[data-stock-style="google"] .ticker-head > div:first-child { flex-basis: 100%; }
.app[data-stock-style="google"] .ticker-symbol { padding-right: 150px; font: 400 20px/1.5 var(--stock-display); letter-spacing: -.1px; }
.app[data-stock-style="google"] .ticker-name { display: none; }
.app[data-stock-style="google"] .ticker-quote { display: flex; align-items: baseline; gap: 12px; text-align: left; }
.app[data-stock-style="google"] .ticker-price { font: 500 24px/1.35 var(--stock-display); letter-spacing: -.4px; }
.app[data-stock-style="google"] .ticker-change { margin: 0; font-size: 20px; }
.app[data-stock-style="google"] .stock-timestamp { flex-basis: 100%; margin: 0; font-size: 14px; }
.app[data-stock-style="google"] .ticker-quote { flex-wrap: wrap; }
.app[data-stock-style="google"] .ticker-head > button { position: absolute; right: 0; top: 1px; height: 36px; padding: 0 16px; border: 0; border-radius: 22px; background: #e5edff; color: #101010; font-size: 14px; }
.app[data-stock-style="google"] .stock-company-actions { position: absolute; right: 0; top: 1px; }
.app[data-stock-style="google"] .stock-company-actions > button:first-child { height: 36px; padding: 0 16px; border: 0; border-radius: 22px; background: #e5edff; color: #101010; font-size: 14px; }
.app[data-stock-style="google"] .stock-chart-tools { height: 40px; padding: 0 14px; gap: 14px; border-radius: 18px 18px 0 0; background: #f7f8fa; }
.app[data-stock-style="google"] .stock-chart-tools button { padding: 5px 7px; border: 0; font-size: 14px; }
.app[data-stock-style="google"] .stock-chart-tools button:last-child { border-radius: 24px; background: #e9ecf2; font-size: 12px; }
.app[data-stock-style="google"] .stock-chart-tools select { font-size: 14px; }
.app[data-stock-style="google"] .stock-chart-card { margin-top: 2px; }
.app[data-stock-style="google"] .stock-chart-card .chart-frame { padding: 10px 12px 4px; border-radius: 0; background: #f7f8fa; }
.app[data-stock-style="google"] .stock-chart-card .price-chart svg { height: 212px; }
.app[data-stock-style="google"] .stock-chart-card .chart-line { stroke-width: 2; }
.app[data-stock-style="google"] .stock-chart-card .chart-area { opacity: .2; }
.app[data-stock-style="google"] .stock-chart-card .range-tabs { order: 2; margin-top: 2px; padding: 6px 16px; border-radius: 0 0 18px 18px; background: #f7f8fa; }
.app[data-stock-style="google"] .stock-chart-card .seg { width: 100%; justify-content: space-between; padding: 0; background: transparent; }
.app[data-stock-style="google"] .stock-chart-card .seg-btn { height: 24px; min-width: 48px; padding: 0 12px; border-radius: 8px; font-family: "Stock Google Sans Text", var(--stock-font); font-size: 12px; }
.app[data-stock-style="google"] .stock-chart-card .seg-btn[aria-pressed="true"] { background: #e9ecf2; color: #101010; }
.app[data-stock-style="google"] .price-chart figcaption { padding: 0 12px 5px; margin: 0; background: #f7f8fa; font-size: 9px; }
.app[data-stock-style="google"] .stock-section-tabs { margin-top: 10px; gap: 32px; }
.app[data-stock-style="google"] .stock-section-tabs button { padding: 12px 0; font-size: 14px; }
.app[data-stock-style="google"] .stock-section-tabs :is(button[aria-selected="true"], button.active)::after { background: #1a73e8; }
.app[data-stock-style="google"] .stock-stats-card,
.app[data-stock-style="google"] .stock-profile-card,
.app[data-stock-style="google"] .stock-news-card { margin-top: 20px; padding: 0; border: 0; border-radius: 0; }
.app[data-stock-style="google"] .stock-stats-card .stats { gap: 0 24px; }
.app[data-stock-style="google"] .stock-stats-card .stats dt,
.app[data-stock-style="google"] .stock-stats-card .stats dd { padding: 12px 0; font-size: 12px; }
.app[data-stock-style="google"] .stock-scene .stock-research-card { grid-area: unset; position: absolute; right: 0; top: -100px; width: 320px; height: calc(100dvh - 116px); min-height: 0; margin: 0; padding: 0 0 130px; border: 0; border-radius: 0; background: #fff; }
.app[data-stock-style="google"] .stock-research-card::before { content: ""; position: absolute; left: -24px; top: -12px; bottom: -24px; width: 1px; background: #c9cdd3; }
.app[data-stock-style="google"] .stock-research-card .card-head h2 { font: 400 24px/1.4 var(--stock-display); }
.app[data-stock-style="google"] .stock-research-card .card-head p { margin-top: 36px; color: #101010; font-size: 20px; font-weight: 500; }
.app[data-stock-style="google"] .stock-research-card .chips { flex-direction: column; align-items: flex-start; margin-top: 40px; }
.app[data-stock-style="google"] .stock-research-card .chip { padding: 9px 16px; border: 0; border-radius: 24px; box-shadow: none; background: #e2e5e9; color: #101010; font-size: 14px; }
.app[data-stock-style="google"] .stock-research-card .ask-form { position: absolute; bottom: 0; left: -8px; right: -8px; min-height: 116px; padding: 16px; border: 1px solid #c9cdd3; border-radius: 32px; background: #f0f3f6; }
.app[data-stock-style="google"] .stock-research-card .ask-form input { height: 40px; padding: 0 8px; border: 0; background: transparent; font-size: 18px; }
.app[data-stock-style="google"] .stock-research-card .ask-form button { align-self: flex-end; width: 36px; height: 36px; padding: 0; border-radius: 50%; font-size: 0; background: #dadddf; color: #5f6368; }
.app[data-stock-style="google"] :is(.stock-trade-card, .stock-trending-card) { display: none; }

/* Perplexity Finance: full-height app rail, compact finance header and research. */
.app[data-stock-style="perplexity"] .stock-site-header { position: relative; height: 57px; gap: 24px; margin-left: 0; padding: 0 16px; border-bottom: 1px solid var(--line); }
.app[data-stock-style="perplexity"] .stock-wordmark { font-size: 14px; font-weight: 400; letter-spacing: 0; color: #485e66; }
.app[data-stock-style="perplexity"] .stock-wordmark svg { width: 18px; height: 18px; }
/* Centred in the header, as on perplexity.ai/finance, whatever sits either side of it. */
.app[data-stock-style="perplexity"] .stock-header-search { position: absolute; top: 12px; left: 50%; width: min(420px, 38%); margin: 0; translate: -50% 0; }
.app[data-stock-style="perplexity"] .stock-header-links { margin-left: auto; }
.app[data-stock-style="perplexity"] .stock-header-search input { height: 33px; padding-left: 32px; border-radius: 8px; font-size: 14px; background: #fff; }
.app[data-stock-style="perplexity"] .stock-header-search::before { top: 9px; left: 12px; border-width: 1px; }
.app[data-stock-style="perplexity"] .stock-header-search::after { top: 19px; left: 21px; height: 1px; }
.app[data-stock-style="perplexity"] .stock-header-links { gap: 8px; flex: 0; font-size: 14px; font-weight: 400; }
.app[data-stock-style="perplexity"] .stock-header-links button { padding: 5px 12px; border: 1px solid var(--line-strong); border-radius: 8px; }
.app[data-stock-style="perplexity"] .stock-workspace { grid-template-columns: minmax(0, 1fr); }
.app[data-stock-style="perplexity"] .stock-content { grid-column: 1; padding: 24px 32px; }
.app[data-stock-style="perplexity"] .stock-breadcrumbs { display: none; }
.app[data-stock-style="perplexity"] .stock-ticker { grid-template-columns: minmax(0, 1fr) 300px; grid-template-areas: "head head" "tabs tabs" "chart profile" "news trending" "research trending" "stats trending"; gap: 16px 32px; }
.app[data-stock-style="perplexity"] .ticker-head { min-height: 48px; align-items: flex-start; padding: 0 16px; }
.app[data-stock-style="perplexity"] .ticker-symbol { font: 600 24px/1.2 var(--stock-display); letter-spacing: -.4px; }
.app[data-stock-style="perplexity"] .ticker-name { margin-top: 0; color: #485e66; font: 12px/18px "Stock PPLX Sans Mono", monospace; }
.app[data-stock-style="perplexity"] .ticker-quote { display: none; }
.app[data-stock-style="perplexity"] .ticker-head > button { padding: 4px 10px; height: 28px; border: 0; color: #485e66; font-size: 14px; }
.app[data-stock-style="perplexity"] .stock-company-actions button { padding: 4px 6px; height: 28px; border: 0; color: #485e66; font-size: 14px; }
.app[data-stock-style="perplexity"] .stock-company-actions .stock-price-alert { display: inline-flex; }
.app[data-stock-style="perplexity"] .stock-section-tabs { gap: 20px; padding: 0 16px; margin-top: 0; }
.app[data-stock-style="perplexity"] .stock-section-tabs button { padding: 10px 0 12px; font-size: 14px; }
.app[data-stock-style="perplexity"] .stock-chart-card { position: relative; }
.app[data-stock-style="perplexity"] .stock-chart-card .price-chart { border: 1px solid #e9ecee; border-radius: 13px; background: #fff; }
.app[data-stock-style="perplexity"] .stock-chart-card .chart-summary { display: flex; align-items: baseline; flex-wrap: nowrap; justify-content: flex-start; padding: 9px 16px 7px; border-bottom: 1px solid var(--line); gap: 8px; }
.app[data-stock-style="perplexity"] .stock-chart-card .chart-price-block { display: flex; align-items: baseline; flex-direction: row-reverse; flex-wrap: wrap; gap: 0 8px; }
.app[data-stock-style="perplexity"] .stock-chart-card .chart-price-block { position: relative; align-items: flex-start; flex-direction: column; padding-bottom: 17px; }
.app[data-stock-style="perplexity"] .stock-chart-card .chart-last { font-size: 18px; font-weight: 400; letter-spacing: 0; }
.app[data-stock-style="perplexity"] .stock-chart-card .chart-kicker { position: absolute; left: 0; bottom: 0; width: 300px; line-height: 17px; min-height: 0; font-size: 12px; }
.app[data-stock-style="perplexity"] .stock-chart-card .chart-return { display: flex; align-items: baseline; flex-direction: row; text-align: left; }
.app[data-stock-style="perplexity"] .stock-chart-card .chart-return strong { font: 400 18px/1.3 var(--stock-font); }
.app[data-stock-style="perplexity"] .stock-chart-card .chart-return { align-self: flex-start; padding-top: 0; }
.app[data-stock-style="perplexity"] .stock-chart-card .chart-return span { display: none; }
.app[data-stock-style="perplexity"] .stock-chart-card .chart-frame { padding: 64px 0 0; background-image: radial-gradient(#dfe6e8 .65px, transparent .65px); background-size: 5px 5px; }
.app[data-stock-style="perplexity"] .stock-chart-card .price-chart svg { height: 280px; }
.app[data-stock-style="perplexity"] .stock-chart-card .chart-line { stroke-width: 1.7; }
.app[data-stock-style="perplexity"] .stock-chart-card .chart-area { opacity: .12; }
.app[data-stock-style="perplexity"] .stock-chart-card .range-tabs { position: absolute; top: 66px; left: 9px; z-index: 1; display: flex; align-items: center; max-width: calc(100% - 18px); }
.app[data-stock-style="perplexity"] .stock-chart-card .seg { padding: 2px; border: 1px solid #e0e4e6; border-radius: 8px; background: #f5f7f7; }
.app[data-stock-style="perplexity"] .stock-chart-card .seg-btn { height: 28px; padding: 0 9px; font-size: 12px; }
.app[data-stock-style="perplexity"] .stock-chart-card .seg-btn[aria-pressed="true"] { background: #e5e6e6; }
.app[data-stock-style="perplexity"] .stock-chart-card .chart-range-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); background: #fff; }
.app[data-stock-style="perplexity"] .stock-chart-card .chart-range-stats > div { display: flex; justify-content: space-between; gap: 8px; padding: 9px 8px; border-bottom: 1px solid var(--line); }
.app[data-stock-style="perplexity"] .stock-chart-card .chart-range-stats dt,
.app[data-stock-style="perplexity"] .stock-chart-card .chart-range-stats dd { font: 14px/1.3 var(--stock-font); margin: 0; }
.app[data-stock-style="perplexity"] .price-chart figcaption { padding: 6px 9px; font-size: 9px; }
.app[data-stock-style="perplexity"] .stock-chart-tools { position: absolute; top: 66px; left: 340px; z-index: 1; display: flex; gap: 4px; height: 31px; }
.app[data-stock-style="perplexity"] .stock-chart-tools button { height: 31px; padding: 3px 8px; border-color: #0b283326; border-radius: 8px; background: #fff; font-size: 12px; }
.app[data-stock-style="perplexity"] .stock-chart-tools select { height: 31px; padding-left: 6px; padding-right: 18px; border: 1px solid #0b283326; border-radius: 8px; background: #f5f7f7; font-size: 12px; }
.app[data-stock-style] .stock-range-select { display: none; }
.app[data-stock-style="perplexity"] .stock-chart-card:has(.stock-range-select) .seg { display: flex; }
.app[data-stock-style="perplexity"] .stock-range-select { display: none; }
.app[data-stock-style] .stock-range-calendar { display: none; }
.app[data-stock-style="perplexity"] .stock-range-calendar { display: inline-grid; place-items: center; width: 30px; height: 31px; margin-left: 2px; border: 1px solid var(--line-strong); border-radius: 7px; background: #f5f7f7; font-size: 13px; }
.app[data-stock-style] :is(.stock-chart-watermark, .stock-prev-close-badge) { display: none; }
.app[data-stock-style="perplexity"] .stock-chart-watermark { position: absolute; top: 12px; right: 16px; display: block; color: #485e66; font: 400 15px/1.3 var(--stock-font); }
.app[data-stock-style="perplexity"] .stock-prev-close-badge { position: absolute; right: 12px; top: 76%; display: block; padding: 4px 9px; border-radius: 18px; background: #e9ecec; color: #485e66; font-size: 12px; white-space: nowrap; }
.app[data-stock-style="perplexity"] .stock-profile-card { padding: 8px 16px 12px; border-radius: 13px; }
.app[data-stock-style="perplexity"] .stock-profile-card > .card-head { display: none; }
.app[data-stock-style="perplexity"] .stock-profile-description { margin-top: -2px; padding-top: 10px; border-top: 1px solid var(--line); }
.app[data-stock-style="perplexity"] .stock-profile-description p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden; }
.app[data-stock-style="perplexity"] .stock-profile-description.expanded p { display: block; overflow: visible; -webkit-line-clamp: unset; }
.app[data-stock-style="perplexity"] .stock-profile-description button { margin-top: 10px; font-size: 12px; color: #485e66; }
.app[data-stock-style="perplexity"] .stock-profile-card .stats { grid-template-columns: max-content minmax(0, 1fr); column-gap: 12px; }
.app[data-stock-style="perplexity"] .stock-profile-card .stats dt,
.app[data-stock-style="perplexity"] .stock-profile-card .stats dd { padding: 5px 0; font-size: 14px; line-height: 18px; }
.app[data-stock-style="perplexity"] .stock-profile-card p { font-size: 14px; line-height: 20px; }
.app[data-stock-style="perplexity"] .stock-news-card { padding: 16px; border-radius: 13px; }
.app[data-stock-style="perplexity"] .stock-news-card .card-head h2 { font-size: 14px; font-weight: 400; }
.app[data-stock-style="perplexity"] .stock-research-card { padding: 16px; border-radius: 18px; box-shadow: 0 2px 5px #00000008; }
.app[data-stock-style="perplexity"] .stock-research-card .card-head h2 { font-size: 16px; font-weight: 400; }
.app[data-stock-style="perplexity"] .stock-research-card .ask-form input { height: 40px; padding: 0 4px; border: 0; font-size: 16px; }
.app[data-stock-style="perplexity"] .stock-trending-card { border-radius: 13px; }
.app[data-stock-style="perplexity"] .stock-stats-card,
.app[data-stock-style="perplexity"] .stock-trade-card { display: none; }

@container stock-workspace (min-width: 1800px) {
  .app[data-stock-style="robinhood"] .stock-workspace { max-width: 1600px; margin: 0 auto; }
  .app[data-stock-style="yahoo"] .stock-workspace { max-width: 1800px; margin: 0 auto; }
}
@container stock-workspace (max-width: 1250px) {
  .app[data-stock-style] .stock-header-links { gap: 18px; }
  .app[data-stock-style="robinhood"] .stock-header-links { gap: 20px; }
  .app[data-stock-style="yahoo"] .stock-header-links { padding-left: 8px; }
  .app[data-stock-style="google"] .stock-wordmark { width: 234px; }
  .app[data-stock-style="google"] .stock-workspace { grid-template-columns: 230px minmax(0, 1fr); }
  .app[data-stock-style="google"] .stock-ticker { grid-template-columns: minmax(0, 1fr) 270px; column-gap: 32px; }
  .app[data-stock-style="google"] .stock-outlook { margin-right: 302px; }
  .app[data-stock-style="google"] .stock-research-card::before { left: -16px; }
  .app[data-stock-style="google"] .stock-scene .stock-research-card { width: 270px; }
  .app[data-stock-style="google"] .stock-header-links { min-width: 120px; }
  .app[data-stock-style="perplexity"] .stock-ticker { grid-template-columns: minmax(0, 1fr) 270px; column-gap: 24px; }
  .app[data-stock-style="perplexity"] .stock-content { padding-inline: 24px; }
}
@container stock-workspace (max-width: 1050px) {
  .app[data-stock-style] .stock-header-links > :not(:last-child):not(.stock-sign-in) { display: none; }
  .app[data-stock-style="robinhood"] .stock-ticker { grid-template-columns: minmax(0, 1fr) 290px; }
  .app[data-stock-style="yahoo"] .stock-workspace { grid-template-columns: 112px minmax(0, 1fr); gap: 16px; padding-left: 16px; }
  .app[data-stock-style="yahoo"] .stock-ticker { grid-template-columns: minmax(0, 1fr) 280px; gap: 18px; }
  .app[data-stock-style="yahoo"] .stock-chart-card .seg-btn { padding-inline: 9px; }
  .app[data-stock-style="yahoo"] .stock-chart-tools .stock-indicators { display: none; }
  .app[data-stock-style="google"] .stock-workspace { grid-template-columns: 190px minmax(0, 1fr); }
  .app[data-stock-style="google"] .stock-left-rail { padding-inline: 18px; }
  .app[data-stock-style="google"] .stock-wordmark { width: 190px; }
  .app[data-stock-style="google"] .stock-ticker { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "tools" "chart" "tabs" "stats" "profile" "news" "research"; }
  .app[data-stock-style="google"] .stock-outlook { margin-right: 0; }
  .app[data-stock-style="google"] .stock-scene .stock-research-card { grid-area: research; position: relative; top: auto; right: auto; width: auto; height: auto; min-height: 300px; margin: 30px 0 0; padding: 20px 0 130px; border-top: 1px solid var(--line); }
  .app[data-stock-style="google"] .stock-research-card::before { display: none; }
  .app[data-stock-style="google"] .stock-research-card .card-head p { margin-top: 10px; }
  .app[data-stock-style="google"] .stock-research-card .chips { flex-direction: row; margin-top: 0; }
}
@container stock-workspace (max-width: 1000px) {
  .app[data-stock-style="perplexity"] .stock-chart-tools { top: 106px; left: 9px; }
  .app[data-stock-style="perplexity"] .stock-chart-card .chart-frame { padding-top: 104px; }
}
@container stock-workspace (max-width: 850px) {
  .app[data-stock-style="perplexity"] .stock-ticker { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "tabs" "chart" "profile" "news" "research" "trending"; }
  .app[data-stock-style="perplexity"] .stock-profile-card .stats { grid-template-columns: max-content 1fr max-content 1fr; }
  .app[data-stock-style="perplexity"] .stock-company-actions { gap: 6px; }
}
@container stock-workspace (max-width: 800px) {
  .app[data-stock-style] .stock-site-header { height: 64px; padding: 0 16px; gap: 20px; }
  .app[data-stock-style] .stock-wordmark { font-size: 21px; }
  .app[data-stock-style] .stock-header-search { max-width: none; width: auto; flex: 1; }
  .app[data-stock-style] .stock-header-links { flex: 0; }
  .app[data-stock-style] .stock-header-links .stock-sign-in { padding: 8px 12px; }
  .app[data-stock-style="robinhood"] .stock-workspace { padding: 14px 20px; }
  .app[data-stock-style="robinhood"] .stock-ticker { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "chart" "trade" "research" "profile" "stats" "news" "trending"; }
  .app[data-stock-style="robinhood"] .stock-trade-card { max-width: 450px; width: 100%; }
  .app[data-stock-style="yahoo"] .stock-ticker { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "chart" "stats" "earnings" "news" "trending" "profile" "research"; }
  .app[data-stock-style="yahoo"] .stock-trending-card { margin-top: 0; }
  .app[data-stock-style="yahoo"] .stock-secondary-nav { padding-inline: 16px; gap: 22px; justify-content: flex-start; }
  .app[data-stock-style="google"] .stock-wordmark { width: auto; }
  .app[data-stock-style="google"] .stock-workspace { grid-template-columns: minmax(0, 1fr); }
  .app[data-stock-style="google"] .stock-left-rail { display: none; }
  .app[data-stock-style="google"] .stock-content { padding: 16px; }
  .app[data-stock-style="google"] .stock-header-search input { height: 40px; font-size: 14px; padding-left: 36px; }
  .app[data-stock-style="google"] .stock-header-search::before { top: 11px; left: 15px; }
  .app[data-stock-style="google"] .stock-header-search::after { top: 22px; left: 26px; }
  .app[data-stock-style="google"] .stock-header-links { min-width: 0; }
  .app[data-stock-style="perplexity"] .stock-header-search { position: relative; top: auto; left: auto; right: auto; width: auto; max-width: none; translate: none; }
  .app[data-stock-style="perplexity"] .stock-site-header .stock-wordmark { font-size: 13px; }
}
@container stock-workspace (max-width: 560px) {
  .app[data-stock-style] .stock-scene { padding-bottom: 84px; }
  .app[data-stock-style] .stock-site-header { height: auto; min-height: 62px; flex-wrap: wrap; gap: 12px; padding-block: 12px; }
  .app[data-stock-style] .stock-header-search { flex-basis: 100%; order: 3; }
  .app[data-stock-style] .stock-header-links { margin-left: auto; }
  .app[data-stock-style] .stock-ticker { row-gap: 20px; }
  .app[data-stock-style] .stock-mode-controls { left: auto; right: 10px; width: calc(100cqw - 20px); bottom: 10px; justify-content: space-between; padding: 8px; }
  .app[data-stock-style] .stock-mode-controls select { max-width: 155px; }
  .app[data-stock-style] .stock-section-tabs { gap: 22px; overflow-x: auto; }
  .app[data-stock-style] .stock-chart-card .seg { display: flex; flex-wrap: nowrap; overflow-x: auto; max-width: 100%; }
  .app[data-stock-style] .stock-chart-card .seg-btn { flex-shrink: 0; }
  .app[data-stock-style] .stock-chart-card .price-chart svg { height: 230px; }
  .app[data-stock-style] .stock-chart-card .price-grid text,
  .app[data-stock-style] .stock-chart-card .price-date-axis text { font-size: 12.5px; transform-box: fill-box; transform: scaleX(1.6); transform-origin: center; }
  .app[data-stock-style] .stock-chart-card .price-grid text,
  .app[data-stock-style] .stock-chart-card .price-date-axis text:first-child { transform-origin: left center; }
  .app[data-stock-style] .stock-chart-card .price-date-axis text:last-child { transform-origin: right center; }
  .app[data-stock-style] .stock-chart-card .price-chart figcaption { flex-direction: column; gap: 0; font-size: 9px; }
  .app[data-stock-style] .stock-chart-card .price-chart figcaption > :last-child { text-align: left; }
  .app[data-stock-style="robinhood"] .stock-workspace { padding-inline: 16px; }
  .app[data-stock-style="robinhood"] .ticker-symbol { font-size: 29px; }
  .app[data-stock-style="robinhood"] .ticker-price { font-size: 32px; }
  .app[data-stock-style="robinhood"] .stock-chart-card .seg { gap: 16px; }
  .app[data-stock-style="robinhood"] .stock-chart-card .seg-btn { padding-inline: 2px; font-size: 12px; }
  .app[data-stock-style="robinhood"] .stock-research-card { padding: 20px; }
  .app[data-stock-style="yahoo"] .stock-workspace { display: block; padding: 16px 12px; }
  .app[data-stock-style="yahoo"] .stock-left-rail { flex-direction: row; gap: 16px; padding-bottom: 14px; white-space: nowrap; overflow-x: auto; margin-bottom: 10px; border-bottom: 1px solid var(--line); }
  .app[data-stock-style="yahoo"] .stock-yahoo-rail { flex-direction: row; gap: 20px; width: max-content; }
  .app[data-stock-style="yahoo"] .stock-left-rail button { flex-shrink: 0; }
  .app[data-stock-style="yahoo"] .stock-market-strip { height: 66px; gap: 20px; padding-inline: 16px; }
  .app[data-stock-style="yahoo"] .stock-market-item { min-width: 110px; }
  .app[data-stock-style="yahoo"] .ticker-symbol { font-size: 24px; }
  .app[data-stock-style="yahoo"] .ticker-price { font-size: 32px; }
  .app[data-stock-style="yahoo"] .ticker-change { font-size: 18px; }
  .app[data-stock-style="yahoo"] .stock-chart-card { padding: 12px 8px 6px; }
  .app[data-stock-style="yahoo"] .stock-chart-card .seg-btn { padding-inline: 9px; }
  .app[data-stock-style="yahoo"] .stock-chart-tools { position: static; justify-content: flex-end; margin-bottom: 7px; }
  .app[data-stock-style="google"] .stock-header-search input { font-size: 16px; }
  .app[data-stock-style="google"] .stock-outlook { padding: 12px 14px; border-radius: 12px; font-size: 12px; }
  .app[data-stock-style="google"] .ticker-symbol { padding-right: 120px; font-size: 20px; }
  .app[data-stock-style="google"] .ticker-head > button { padding-inline: 12px; font-size: 12px; }
  .app[data-stock-style="google"] .ticker-quote { flex-wrap: wrap; gap: 0 8px; }
  .app[data-stock-style="google"] .ticker-change { font-size: 17px; }
  .app[data-stock-style="google"] .stock-ticker { row-gap: 0; }
  .app[data-stock-style="google"] .stock-chart-tools { gap: 4px; padding-inline: 5px; overflow-x: auto; }
  .app[data-stock-style="google"] .stock-chart-tools button { font-size: 12px; }
  .app[data-stock-style="google"] .stock-chart-card .range-tabs { padding-inline: 6px; }
  .app[data-stock-style="google"] .stock-chart-card .seg-btn { min-width: 35px; padding-inline: 9px; }
  .app[data-stock-style="google"] .stock-section-tabs { gap: 22px; }
  .app[data-stock-style="perplexity"] .stock-site-header { margin-left: 0; }
  .app[data-stock-style="perplexity"] .stock-workspace { display: block; }
  .app[data-stock-style="perplexity"] .stock-content { padding: 20px 12px; }
  .app[data-stock-style="perplexity"] .ticker-head { padding-inline: 4px; min-height: 42px; }
  .app[data-stock-style="perplexity"] .ticker-head > div:first-child { flex-basis: 100%; }
  .app[data-stock-style="perplexity"] .stock-company-actions { flex-basis: 100%; justify-content: flex-end; }
  .app[data-stock-style="perplexity"] .stock-company-actions .stock-price-alert { display: none; }
  .app[data-stock-style="perplexity"] .ticker-symbol { font-size: 24px; }
  .app[data-stock-style="perplexity"] .stock-section-tabs { padding-inline: 4px; }
  .app[data-stock-style="perplexity"] .stock-chart-card .chart-price-block { align-items: flex-start; flex-direction: column; }
  .app[data-stock-style="perplexity"] .stock-chart-card .chart-return strong { font-size: 15px; }
  .app[data-stock-style="perplexity"] .stock-chart-card .chart-summary { gap: 5px; padding-inline: 10px; }
  .app[data-stock-style="perplexity"] .stock-chart-card .range-tabs { width: calc(100% - 18px); }
  .app[data-stock-style="perplexity"] .stock-chart-card .seg { flex: 1; min-width: 0; overflow-x: auto; }
  .app[data-stock-style="perplexity"] .stock-chart-card .seg-btn { padding-inline: 9px; }
  .app[data-stock-style="perplexity"] .stock-chart-watermark { right: 12px; top: 87px; font-size: 13px; }
  .app[data-stock-style="perplexity"] .stock-chart-card .chart-range-stats { grid-template-columns: 1fr; }
  .app[data-stock-style="perplexity"] .stock-chart-card .chart-range-stats > div { border-right: 0; padding-inline: 12px; }
  .app[data-stock-style="perplexity"] .stock-profile-card .stats { grid-template-columns: max-content minmax(0, 1fr); }
  .app[data-stock-style] .stock-stats-card .stats { grid-template-columns: max-content minmax(0, 1fr); }
  .app[data-stock-style] .stock-research-card .ask-form { flex-wrap: wrap; }
  .app[data-stock-style] .stock-research-card .ask-form input { flex: 1 1 180px; }
}
@media (max-width: 860px) {
  .app[data-stock-style] > .sidebar { position: relative; inset: auto; z-index: 5; width: 60px; translate: none; }
  .app[data-stock-style] .sidebar :is(.nav-label, .nav-kbd, .recents, .profile-meta, .profile-chevron) { display: none; }
  .app[data-stock-style] .sidebar .side-head { flex-direction: column; height: auto; gap: 6px; padding: 10px 0 6px; }
  .app[data-stock-style] .sidebar .brand-logo { width: 44px; }
  .app[data-stock-style] .sidebar .side-toggle { display: none; }
  .app[data-stock-style] .sidebar .nav { padding-inline: 6px; }
  .app[data-stock-style] .sidebar .nav-item { justify-content: center; padding: 0; }
  .app[data-stock-style] .sidebar .profile { justify-content: center; padding: 6px 0; }
  .app[data-stock-style] .sidebar .side-foot { margin-top: auto; padding-inline: 6px; }
  .app[data-stock-style] .stock-mode-controls { left: 70px; right: 10px; width: auto; max-width: calc(100vw - 80px); }
}
@media (min-width: 861px) {
  .app.rail[data-stock-style] > .sidebar { width: 60px; }
  .app.rail[data-stock-style] .sidebar :is(.nav-label, .nav-kbd, .recents, .profile-meta, .profile-chevron) { display: none; }
  .app.rail[data-stock-style] .sidebar .side-head { flex-direction: column; height: auto; gap: 6px; padding: 10px 0 6px; }
  .app.rail[data-stock-style] .sidebar .brand-logo { width: 44px; }
  .app.rail[data-stock-style] .sidebar .side-toggle { position: static; }
  .app.rail[data-stock-style] .sidebar .nav-item { justify-content: center; padding: 0; }
  .app.rail[data-stock-style] .sidebar .profile { justify-content: center; padding: 6px 0; }
  .app.rail[data-stock-style] .sidebar .side-foot { margin-top: auto; }
}
@container stock-workspace (max-width: 420px) {
  .app[data-stock-style] .stock-chart-card .price-grid text,
  .app[data-stock-style] .stock-chart-card .price-date-axis text { transform: scaleX(2.1); }
}

/* TradingView Supercharts: a compact terminal around the user's own market data. */
.price-chart[data-style="tradingview"] {
  --bg: #fff; --bg-elevated: #fff; --bg-inset: #f8f9fd; --bg-hover: #f0f3fa;
  --text: #131722; --text-2: #434651; --text-3: #787b86; --navy: #131722;
  --accent: #2962ff; --accent-hover: #1e53e5; --accent-text: #2962ff; --accent-ink: #fff;
  --up: #089981; --down: #f23645; --line: #e0e3eb; --line-strong: #d1d4dc;
  --stock-font: -apple-system, BlinkMacSystemFont, "Trebuchet MS", Roboto, Ubuntu, Arial, sans-serif;
  color: #131722; background: #fff; font-family: var(--stock-font);
}
.price-chart[data-style="tradingview"] .chart-drawing { position: relative; }
.price-chart[data-style="tradingview"] .chart-drawing > svg { display: block; }
.price-chart[data-style="tradingview"] .chart-summary { font-family: var(--stock-font); }
.price-chart[data-style="tradingview"] :is(.price-grid text, .price-date-axis text) { fill: #787b86; font: 12px var(--stock-font); }
.price-chart[data-style="tradingview"] .price-grid line { stroke: #d5d5d5; stroke-width: 1; stroke-dasharray: 1 3; }
.price-chart[data-style="tradingview"] .price-vertical-grid { display: block; }
.price-chart[data-style="tradingview"] .price-vertical-grid line { stroke: #d5d5d5; stroke-width: 1; stroke-dasharray: 1 3; vector-effect: non-scaling-stroke; }
.price-chart[data-style="tradingview"] .price-current-line { display: block; stroke: #2962ff; stroke-width: 1; stroke-dasharray: 1 3; vector-effect: non-scaling-stroke; }
.price-chart[data-style="tradingview"] .price-volume { opacity: 1; }
.price-chart[data-style="tradingview"] .price-volume rect[data-tone="up"] { fill: #92d2cc; }
.price-chart[data-style="tradingview"] .price-volume rect[data-tone="down"] { fill: #f7a9a7; }
.price-chart[data-style="tradingview"] .candle-wick { stroke: #089981; stroke-width: 1; vector-effect: non-scaling-stroke; }
.price-chart[data-style="tradingview"] .candle-body { fill: #089981; stroke: #089981; stroke-width: .5; vector-effect: non-scaling-stroke; }
.price-chart[data-style="tradingview"] .price-candle[data-tone="down"] .candle-wick { stroke: #f23645; }
.price-chart[data-style="tradingview"] .price-candle[data-tone="down"] .candle-body { fill: #f23645; stroke: #f23645; }
.price-chart[data-style="tradingview"][data-chart-type="candles"] .price-candles { display: block; }
.price-chart[data-style="tradingview"][data-chart-type="candles"] :is(.chart-line, .chart-area, .price-endpoint, .price-cursor-dot) { display: none; }
.price-chart[data-style="tradingview"]:not([data-chart-type="candles"]) .price-candles { display: none; }
.price-chart[data-style="tradingview"] .chart-last-price { position: absolute; z-index: 1; right: 3px; display: block; padding: 2px 4px; border-radius: 1px; background: #089981; color: #fff; font: 12px/1.2 var(--stock-font); transform: translateY(-50%); white-space: nowrap; }
.price-chart[data-style="tradingview"] .chart-last-price[data-tone="down"] { background: #f23645; }
.app[data-stock-style="tradingview"] .stock-scene { height: 100dvh; min-height: 100dvh; padding-bottom: 0; overflow: hidden; background: #f8f9fd; }
.app[data-stock-style="tradingview"] .stock-site-header { height: 38px; min-height: 38px; gap: 10px; padding: 0 8px; border-bottom: 0; background: #fff; }
.app[data-stock-style="tradingview"] .stock-wordmark { margin-right: 2px; font: 600 19px/1 var(--stock-font); letter-spacing: -.6px; }
.app[data-stock-style="tradingview"] .stock-header-search { flex: 0 1 190px; width: 190px; max-width: 25%; }
.app[data-stock-style="tradingview"] .stock-header-search input { height: 28px; padding: 0 12px 0 28px; border: 0; border-radius: 16px; background: #f0f3fa; font-size: 13px; font-weight: 600; }
.app[data-stock-style="tradingview"] .stock-header-search::before { top: 8px; left: 10px; width: 9px; height: 9px; border-width: 1.4px; }
.app[data-stock-style="tradingview"] .stock-header-search::after { top: 17px; left: 19px; height: 1.4px; }
.app[data-stock-style="tradingview"] .stock-header-links { gap: 2px; font-size: 14px; font-weight: 400; }
.app[data-stock-style="tradingview"] .stock-header-links button { height: 28px; padding: 0 8px; border-radius: 6px; }
.app[data-stock-style="tradingview"] .stock-header-links button:hover { background: #f0f3fa; }
.app[data-stock-style="tradingview"] .stock-header-links .stock-sign-in { height: 28px; padding: 0 12px; border: 1px solid #e0e3eb; border-radius: 16px; font-size: 13px; }
.app[data-stock-style="tradingview"] .stock-site-header .stock-chart-tools { position: static; display: flex; flex-shrink: 0; gap: 2px; height: 28px; padding-left: 6px; border-left: 1px solid #e0e3eb; background: transparent; }
.app[data-stock-style="tradingview"] .stock-site-header .stock-chart-tools button { width: 28px; height: 28px; padding: 5px; border: 0; border-radius: 4px; font-size: 13px; }
.app[data-stock-style="tradingview"] .stock-site-header .stock-chart-tools button:hover { background: #f0f3fa; }
.app[data-stock-style="tradingview"] .stock-site-header .stock-chart-tools .stock-compare { width: auto; padding-inline: 7px; }
.app[data-stock-style="tradingview"] .stock-site-header .stock-chart-tools select { height: 28px; padding: 0 18px 0 6px; background: transparent; font-size: 13px; }
.app[data-stock-style="tradingview"] :is(.stock-left-rail, .stock-breadcrumbs, .stock-outlook, .stock-section-tabs, .stock-news-card, .stock-research-card, .stock-stats-card, .stock-trade-card) { display: none; }
.app[data-stock-style="tradingview"] .stock-workspace { display: block; padding: 4px 0 0; }
.app[data-stock-style="tradingview"] .stock-content { padding: 0; }
.app[data-stock-style="tradingview"] .stock-ticker { position: relative; display: grid; grid-template-columns: 52px minmax(0, 1fr) 300px 44px; grid-template-areas: "drawing chart right utility" "drawing status right utility"; grid-template-rows: minmax(0, 1fr) 28px; gap: 4px; height: calc(100dvh - 42px); min-height: 0; background: #f0f3fa; overflow: hidden; }
.app[data-stock-style="tradingview"] .stock-drawing-rail { grid-area: drawing; display: flex; flex-direction: column; align-items: center; gap: 0; height: 100%; min-height: 0; padding: 5px 0; overflow-y: auto; scrollbar-width: none; background: #fff; }
.app[data-stock-style="tradingview"] .stock-drawing-rail button { display: grid; place-items: center; flex-shrink: 0; width: 38px; height: 38px; border-radius: 5px; color: #131722; }
.app[data-stock-style="tradingview"] .stock-drawing-rail button:first-child { background: #f0f3fa; }
.app[data-stock-style="tradingview"] .stock-drawing-rail button:hover { background: #f0f3fa; }
.app[data-stock-style="tradingview"] .stock-drawing-rail button svg { width: 23px; height: 23px; stroke-width: 1.3; }
.app[data-stock-style="tradingview"] .stock-drawing-rail hr { width: 34px; margin: 5px 0; border: 0; border-top: 1px solid #e0e3eb; }
.app[data-stock-style="tradingview"] .stock-utility-rail { grid-area: utility; display: flex; flex-direction: column; align-items: center; height: 100%; padding: 4px 0; background: #fff; }
.app[data-stock-style="tradingview"] .stock-utility-rail button { display: grid; place-items: center; width: 40px; height: 44px; color: #131722; border-radius: 5px; }
.app[data-stock-style="tradingview"] .stock-utility-rail button:first-child { background: #f0f3fa; }
.app[data-stock-style="tradingview"] .stock-utility-rail button svg { width: 23px; height: 23px; stroke-width: 1.3; }
.app[data-stock-style="tradingview"] .ticker-head { position: absolute; z-index: 2; top: 6px; left: 64px; right: 366px; display: flex; align-items: center; flex-wrap: wrap; gap: 0 8px; min-height: 24px; padding: 0; pointer-events: none; }
.app[data-stock-style="tradingview"] .ticker-head > div:first-child { flex: 0 1 auto; padding: 0; }
.app[data-stock-style="tradingview"] .ticker-symbol { overflow: hidden; font: 400 16px/24px var(--stock-font); letter-spacing: 0; text-overflow: ellipsis; white-space: nowrap; }
.app[data-stock-style="tradingview"] :is(.ticker-name, .ticker-quote, .stock-company-actions, .stock-company-mark) { display: none; }
.app[data-stock-style="tradingview"] .stock-ohlc-legend { display: inline-block; color: #089981; font: 400 12px/20px var(--stock-font); white-space: nowrap; }
.app[data-stock-style="tradingview"] .stock-scene .stock-chart-card { grid-area: chart; height: 100%; min-height: 0; display: flex; flex-direction: column; padding: 0; border: 0; border-radius: 0; background: #fff; overflow: hidden; }
.app[data-stock-style="tradingview"] .stock-chart-card .chart-slot { flex: 1; min-height: 0; }
.app[data-stock-style="tradingview"] .stock-chart-card .price-chart { display: flex; flex-direction: column; height: 100%; border: 0; border-radius: 0; overflow: visible; }
.app[data-stock-style="tradingview"] .stock-chart-card .chart-frame { display: flex; flex-direction: column; flex: 1; min-height: 0; padding: 30px 0 0; border: 0; border-radius: 0; background: #fff; }
.app[data-stock-style="tradingview"] .stock-chart-card .chart-drawing { flex: 1; min-height: 0; background-image: repeating-linear-gradient(90deg, transparent 0, transparent calc(16.666% - 1px), #e0e3eb55 calc(16.666% - 1px), #e0e3eb55 16.666%); }
.app[data-stock-style="tradingview"] .stock-chart-card .price-chart svg { width: 100%; height: 100%; min-height: 0; overflow: visible; }
.app[data-stock-style="tradingview"] .price-grid line { stroke: #d5d5d5; stroke-dasharray: 1 4; stroke-width: 1; }
.app[data-stock-style="tradingview"] .price-vertical-grid { display: block; }
.app[data-stock-style="tradingview"] .price-vertical-grid line { stroke: #d5d5d5; stroke-dasharray: 1 3; stroke-width: 1; vector-effect: non-scaling-stroke; }
.app[data-stock-style="tradingview"] .price-current-line { display: block; stroke: #2962ff; stroke-width: 1; stroke-dasharray: 1 3; vector-effect: non-scaling-stroke; }
.app[data-stock-style="tradingview"] .price-baseline { stroke: #2962ff; stroke-dasharray: 1 3; opacity: .65; }
.app[data-stock-style="tradingview"] .stock-scene .stock-axis-y { left: auto; right: 8px; padding-left: 3px; background: #fff; color: #131722; font-size: 12px; }
.app[data-stock-style="tradingview"] .stock-scene .stock-axis-date { color: #131722; font-size: 12px; }
.app[data-stock-style="tradingview"] .price-volume { opacity: 1; }
.app[data-stock-style="tradingview"] .price-volume rect[data-tone="up"] { fill: #92d2cc; }
.app[data-stock-style="tradingview"] .price-volume rect[data-tone="down"] { fill: #f7a9a7; }
.app[data-stock-style="tradingview"] .price-candle .candle-wick { stroke: #089981; stroke-width: 1; vector-effect: non-scaling-stroke; }
.app[data-stock-style="tradingview"] .price-candle .candle-body { fill: #089981; stroke: #089981; stroke-width: .5; vector-effect: non-scaling-stroke; }
.app[data-stock-style="tradingview"] .price-candle[data-tone="down"] .candle-wick { stroke: #f23645; }
.app[data-stock-style="tradingview"] .price-candle[data-tone="down"] .candle-body { fill: #f23645; stroke: #f23645; }
.app[data-stock-style="tradingview"] .price-chart[data-chart-type="candles"] :is(.chart-line, .chart-area, .price-endpoint, .price-cursor-dot) { display: none; }
.app[data-stock-style="tradingview"] .price-chart[data-chart-type="candles"] .price-candles { display: block; }
.app[data-stock-style="tradingview"] .price-chart:not([data-chart-type="candles"]) .price-candles { display: none; }
.app[data-stock-style="tradingview"] .chart-last-price { position: absolute; z-index: 1; right: 3px; display: block; padding: 2px 4px; border-radius: 1px; background: #089981; color: #fff; font: 400 12px/1.2 var(--stock-font); transform: translateY(-50%); white-space: nowrap; }
.app[data-stock-style="tradingview"] .chart-last-price[data-tone="down"] { background: #f23645; }
.app[data-stock-style="tradingview"] .stock-candle-unavailable { position: absolute; bottom: 42px; left: 50%; z-index: 2; max-width: calc(100% - 40px); padding: 8px 12px; border: 1px solid #e0e3eb; border-radius: 5px; background: #fff; color: #787b86; font-size: 12px; text-align: center; transform: translateX(-50%); }
.app[data-stock-style="tradingview"] .stock-chart-card .range-tabs { order: 2; display: flex; align-items: center; flex-shrink: 0; height: 38px; padding: 0 8px; margin: 0; border-top: 1px solid #e0e3eb; background: #fff; }
.app[data-stock-style="tradingview"] .stock-chart-card .seg { display: flex; gap: 6px; padding: 0; background: transparent; }
.app[data-stock-style="tradingview"] .stock-chart-card .seg-btn { height: 27px; padding: 0 7px; border-radius: 4px; color: #434651; font-size: 12px; font-weight: 500; }
.app[data-stock-style="tradingview"] .stock-chart-card .seg-btn[aria-pressed="true"] { background: #f0f3fa; color: #2962ff; }
.app[data-stock-style="tradingview"] .stock-terminal-status { grid-area: status; display: flex; align-items: center; justify-content: flex-end; height: 28px; padding: 0 10px; background: #fff; color: #434651; font-size: 12px; }
.app[data-stock-style="tradingview"] .stock-terminal-status span { padding: 0 8px; border-left: 1px solid #e0e3eb; }
.app[data-stock-style="tradingview"] .stock-trending-card { grid-area: auto; position: absolute; top: 0; right: 48px; width: 300px; height: 43%; padding: 0; gap: 0; border: 0; border-radius: 0; background: #fff; overflow: hidden; }
.app[data-stock-style="tradingview"] .stock-trending-card > h2 { display: flex; align-items: center; height: 46px; margin: 0; padding: 0 16px; font: 600 14px/1 var(--stock-font); }
.app[data-stock-style="tradingview"] .stock-watchlist-columns { display: grid; grid-template-columns: minmax(0, 1fr) 80px 64px; gap: 8px; padding: 7px 12px; border-bottom: 1px solid #e0e3eb; color: #787b86; font-size: 12px; }
.app[data-stock-style="tradingview"] .stock-watchlist-columns > :not(:first-child) { text-align: right; }
.app[data-stock-style="tradingview"] .stock-trending-rows { flex: 1; min-height: 0; overflow-y: auto; }
.app[data-stock-style="tradingview"] .stock-trending-rows .stock-market-item { grid-template-columns: minmax(0, 1fr) 80px 64px; gap: 8px; min-height: 32px; padding: 6px 12px; border-bottom-color: #e0e3eb; font-size: 13px; line-height: 20px; }
.app[data-stock-style="tradingview"] .stock-trending-rows .stock-market-item b { color: #131722; }
.app[data-stock-style="tradingview"] .stock-trending-rows .stock-market-item small { grid-column: 3; font-size: 12px; }
.app[data-stock-style="tradingview"] .stock-profile-card { grid-area: auto; position: absolute; top: calc(43% + 4px); bottom: 0; right: 48px; width: 300px; margin: 0; padding: 16px; border: 0; border-radius: 0; background: #fff; overflow-y: auto; }
.app[data-stock-style="tradingview"] .stock-profile-card > .card-head { display: none; }
.app[data-stock-style="tradingview"] .stock-tv-details { display: block; }
.app[data-stock-style="tradingview"] .stock-tv-details h3 { margin: 0 0 8px; color: #131722; font: 600 14px/1.35 var(--stock-font); }
.app[data-stock-style="tradingview"] .stock-tv-details p { margin: 0; }
.app[data-stock-style="tradingview"] .stock-tv-details-price { font: 600 28px/1.4 var(--stock-font); letter-spacing: -.2px; }
.app[data-stock-style="tradingview"] .stock-tv-details-change { color: #089981; font: 500 14px/1.5 var(--stock-font); }
.app[data-stock-style="tradingview"] .stock-tv-details-change[data-tone="down"] { color: #f23645; }
.app[data-stock-style="tradingview"] .stock-profile-card .stats { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); column-gap: 12px; }
.app[data-stock-style="tradingview"] .stock-profile-card .stats :is(dt, dd) { padding: 8px 0; font-size: 12px; line-height: 17px; }
.app[data-stock-style="tradingview"] .stock-profile-description { padding: 8px 0; font-size: 12px; }
.app[data-stock-style="tradingview"] .stock-profile-description p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-height: 1.5; }
.app[data-stock-style="tradingview"] .stock-profile-description.expanded p { display: block; overflow: visible; -webkit-line-clamp: unset; }
.app[data-stock-style="tradingview"] .stock-profile-description button { margin-top: 8px; color: #2962ff; font-size: 12px; }
.app[data-stock-style="tradingview"] .stock-mode-controls { bottom: 34px; right: 64px; padding: 4px; border-radius: 5px; box-shadow: 0 2px 8px #1317220d; }
.app[data-stock-style="tradingview"] .stock-watchlist-hidden .stock-ticker { grid-template-columns: 52px minmax(0, 1fr) 44px; grid-template-areas: "drawing chart utility" "drawing status utility"; }
.app[data-stock-style="tradingview"] .stock-watchlist-hidden :is(.stock-trending-card, .stock-profile-card) { display: none; }
.app[data-stock-style="tradingview"] .stock-watchlist-hidden .ticker-head { right: 66px; }

@container stock-workspace (max-width: 1100px) {
  .app[data-stock-style="tradingview"] .stock-site-header { gap: 6px; }
  .app[data-stock-style="tradingview"] .stock-header-search { flex-basis: 150px; }
  .app[data-stock-style="tradingview"] .stock-header-links button { padding-inline: 5px; font-size: 12px; }
  .app[data-stock-style="tradingview"] .stock-site-header .stock-chart-tools .stock-compare { display: none; }
}
@container stock-workspace (max-width: 900px) {
  .app[data-stock-style="tradingview"] .stock-ticker { grid-template-columns: 44px minmax(0, 1fr); grid-template-areas: "drawing chart" "drawing status"; }
  .app[data-stock-style="tradingview"] .stock-watchlist-hidden .stock-ticker { grid-template-columns: 44px minmax(0, 1fr); grid-template-areas: "drawing chart" "drawing status"; }
  .app[data-stock-style="tradingview"] :is(.stock-utility-rail, .stock-trending-card, .stock-profile-card) { display: none; }
  .app[data-stock-style="tradingview"] .stock-drawing-rail button { width: 36px; }
  .app[data-stock-style="tradingview"] .ticker-head { left: 56px; right: 12px; }
  .app[data-stock-style="tradingview"] .stock-watchlist-hidden .ticker-head { right: 12px; }
  .app[data-stock-style="tradingview"] .stock-header-links > :not(:last-child):not(.stock-sign-in) { display: none; }
  .app[data-stock-style="tradingview"] .stock-mode-controls { right: 10px; bottom: 34px; width: auto; left: auto; }
}
@container stock-workspace (max-width: 560px) {
  .app[data-stock-style="tradingview"] .stock-site-header { height: 76px; min-height: 76px; padding: 4px 8px; flex-wrap: wrap; justify-content: space-between; gap: 3px 6px; }
  .app[data-stock-style="tradingview"] .stock-wordmark { font-size: 18px; }
  .app[data-stock-style="tradingview"] .stock-header-search { order: 0; flex: 1 1 auto; max-width: calc(100% - 94px); width: auto; }
  .app[data-stock-style="tradingview"] .stock-header-links { flex: 0; margin-left: 0; }
  .app[data-stock-style="tradingview"] .stock-header-links .stock-sign-in { height: 27px; padding-inline: 8px; font-size: 12px; }
  .app[data-stock-style="tradingview"] .stock-site-header .stock-chart-tools { order: 3; flex-basis: 100%; justify-content: flex-start; border-left: 0; padding-left: 0; }
  .app[data-stock-style="tradingview"] .stock-ticker { grid-template-columns: minmax(0, 1fr); grid-template-areas: "chart" "status"; height: calc(100dvh - 80px); row-gap: 4px; }
  .app[data-stock-style="tradingview"] .stock-watchlist-hidden .stock-ticker { grid-template-columns: minmax(0, 1fr); grid-template-areas: "chart" "status"; }
  .app[data-stock-style="tradingview"] .stock-drawing-rail { display: none; }
  .app[data-stock-style="tradingview"] .ticker-head { left: 10px; right: 10px; top: 4px; max-height: 44px; overflow: hidden; gap: 0; }
  .app[data-stock-style="tradingview"] .stock-watchlist-hidden .ticker-head { right: 10px; }
  .app[data-stock-style="tradingview"] .ticker-symbol { font-size: 13px; line-height: 20px; }
  .app[data-stock-style="tradingview"] .stock-ohlc-legend { font-size: 10px; line-height: 16px; }
  .app[data-stock-style="tradingview"] .stock-chart-card .chart-frame { padding-top: 44px; }
  .app[data-stock-style="tradingview"] .stock-chart-card .range-tabs { padding-inline: 4px; height: 34px; }
  .app[data-stock-style="tradingview"] .stock-chart-card .seg { gap: 2px; }
  .app[data-stock-style="tradingview"] .stock-chart-card .seg-btn { padding-inline: 6px; font-size: 11px; }
  .app[data-stock-style="tradingview"] .stock-scene .stock-axis-y { font-size: 11px; right: 5px; }
  .app[data-stock-style="tradingview"] .stock-scene .stock-axis-date { font-size: 10px; }
  .app[data-stock-style="tradingview"] .stock-mode-controls { left: auto; right: 8px; bottom: 34px; width: auto; max-width: calc(100cqw - 16px); font-size: 11px; }
  .app[data-stock-style="tradingview"] .stock-mode-controls > span { display: none; }
  .app[data-stock-style="tradingview"] .stock-mode-controls select { max-width: 140px; font-size: 11px; }
  .app[data-stock-style="tradingview"] .stock-mode-controls button { font-size: 11px; }
}

/* Feargreedflow view: feargreedflow.com's stock quote section, ported from sentiment-lab app/globals.css (.stock-*,
   .etf-table). Its colours are the app's own palette, light or dark (theme.js sets <html data-palette data-theme>), so
   the page and its background change with Settings › Appearance like every other page. `inherit` undoes the white
   reference-page tokens that .app[data-stock-style] .stock-scene sets for the other views. */
.app[data-stock-style="feargreed"] .stock-scene,
.app[data-stock-style="feargreed"] .stock-scene :is(.ticker[data-chart-style="feargreed"], .price-chart[data-style="feargreed"]) {
  --bg: inherit; --bg-elevated: inherit; --bg-inset: inherit; --bg-hover: inherit; --bg-accent-soft: inherit; --chip: inherit;
  --text: inherit; --text-2: inherit; --text-3: inherit; --navy: inherit; --line: inherit; --line-strong: inherit;
  --accent: inherit; --accent-hover: inherit; --accent-text: inherit; --accent-ink: inherit; --up: inherit; --down: inherit;
}
.app[data-stock-style="feargreed"] .stock-scene {
  --stock-font: Inter, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  min-height: 100vh;
  background: transparent; /* the palette's own background (and its animated scene) shows through */
}
.app[data-stock-style="feargreed"] :is(.main, #page) { background: transparent; }
.fgf-bar { display: flex; align-items: center; gap: 10px; padding: 10px 18px; border-bottom: 1px solid var(--line); background: var(--bg); }
.fgf-bar .ticker-search { flex: 1; max-width: 420px; margin: 0; }
.fgf-back { padding: 6px 10px; border-radius: 7px; color: var(--text-3); font-size: 13px; }
.fgf-back:hover { background: var(--bg-hover); color: var(--text); }
.fgf-bar .icon-btn { margin-left: auto; }
.fgf-page { max-width: 1280px; margin: 22px auto 0; padding: 0 18px 80px; container-type: inline-size; }
.fgf-status { padding: 60px 0; color: var(--text-3); text-align: center; }
.fgf-data-note { margin: 0 0 16px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg-elevated); color: var(--text-3); font-size: .85rem; }
.fgf-head { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; margin-bottom: 16px; }
.fgf-head-logo { width: 44px; height: 44px; border-radius: 9px; background: rgba(255, 255, 255, .9); }
.fgf-head-name { margin: 0; font-size: 1.45rem; font-weight: 700; line-height: 1.15; }
.fgf-head-sub { margin-top: 2px; color: var(--text-3); font-size: .84rem; }
.fgf-head-flag { width: 18px; height: 13px; margin: 0 2px 0 7px; border-radius: 2px; vertical-align: -1px; }
.fgf-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; align-items: start; }
.fgf-main, .fgf-side { min-width: 0; }
.fgf-card { margin-bottom: 16px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-elevated); }
.fgf-card-title, .fgf-side-title { margin: 0 0 10px; font-size: 1.02rem; font-weight: 700; }
.fgf-side-title { margin-top: 4px; }
.fgf-card-top { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 16px; }
.fgf-card-top-main { min-width: 0; }
.fgf-card-top-side { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.fgf-price-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; }
.fgf-price { font-size: 2rem; font-weight: 700; letter-spacing: -.01em; }
.fgf-change { font-size: 1.02rem; font-weight: 600; }
.fgf-scene .up { color: var(--up); }
.fgf-scene .down { color: var(--down); }
.fgf-range-wording { color: var(--text-3); font-size: .86rem; }
.fgf-session { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; min-height: 1em; margin: 2px 0 12px; color: var(--text-3); font-size: .8rem; }
.fgf-session-post b, .fgf-next-earnings b { color: var(--text); font-weight: 600; }
.fgf-next-earnings { padding-top: 4px; color: var(--text-3); font-size: .84rem; white-space: nowrap; }
.fgf-watch { padding: 6px 12px; border: 1px solid var(--line); border-radius: 8px; color: var(--text); font-size: .82rem; font-weight: 600; }
.fgf-watch:hover, .fgf-watch.saved { border-color: var(--accent); color: var(--accent); }
/* Client Exposure, Export chart, then the watch button, on one row under the next-earnings line. */
.fgf-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px; }
.fgf-actions > .btn { padding: 6px 12px; border-radius: 8px; font-size: .82rem; }
/* Section tabs under the name and logo (quantcept.io's ticker view). */
.fgf-tabs { display: flex; gap: 22px; margin: -2px 0 18px; overflow-x: auto; border-bottom: 1px solid var(--line); scrollbar-width: none; }
.fgf-tab { flex: none; padding: 9px 0 11px; border-bottom: 2px solid transparent; margin-bottom: -1px; color: var(--text-3); font-size: .92rem; font-weight: 600; }
.fgf-tab:hover { color: var(--text); }
.fgf-tab.active { border-bottom-color: var(--text); color: var(--text); }
.fgf-panel { min-width: 0; }
.fgf-panel > .fgf-chart-empty { min-height: 220px; }
.fgf-panel-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 16px; }
.fgf-panel-grid > .fgf-card { margin-bottom: 16px; }
.fgf-panel-note { margin: 10px 0 0; color: var(--text-3); font-size: .76rem; }
.fgf-panel > .fgf-panel-note { margin: 0 0 16px; }
.fgf-panel-sub { margin: 4px 0 12px; color: var(--text-3); font-size: .82rem; }
.fgf-big { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; font-size: 1.7rem; font-weight: 700; letter-spacing: -.01em; }
.fgf-big .up, .fgf-big .down { font-size: 1rem; }
.fgf-card .range { display: flex; align-items: center; gap: 10px; }
.fgf-card .range .range-bar { flex: 1; width: auto; height: 6px; border-radius: 3px; }
.fgf-card .range .range-bar i { width: 12px; height: 12px; margin-left: -6px; border: 2px solid var(--bg-elevated); }
.fgf-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
@container (max-width: 664px) { .fgf-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fgf-tile { display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-elevated); }
.fgf-tile-label { color: var(--text-3); font-size: .78rem; }
.fgf-tile-value { font-size: 1.25rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.fgf-tile-note { color: var(--text-3); font-size: .76rem; }
.fgf-data-scroll { overflow-x: auto; }
.fgf-data-table { width: 100%; border-collapse: collapse; font-size: .84rem; }
.fgf-data-table th { padding: 7px 10px; border-bottom: 1px solid var(--line); color: var(--text-3); font-size: .74rem; font-weight: 600; text-align: left; white-space: nowrap; }
.fgf-data-table td { padding: 7px 10px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.fgf-data-table td:first-child { white-space: normal; min-width: 140px; }
.fgf-data-table tr:last-child td { border-bottom: 0; }
.fgf-data-table .num { font-variant-numeric: tabular-nums; text-align: right; }
.fgf-data-table tr.sub td { color: var(--text-3); font-size: .78rem; }
.fgf-data-table tr.sub td:first-child { padding-left: 22px; }
.fgf-data-section td { padding-top: 14px; color: var(--text); font-size: .76rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.fgf-action { font-weight: 600; }
.fgf-action.upgrade { color: var(--up); }
.fgf-action.downgrade { color: var(--down); }
/* Analyst ratings and the ownership split: one stacked bar and its legend. */
.fgf-rating { margin-bottom: 12px; }
.fgf-rating-bar { display: flex; gap: 2px; height: 12px; overflow: hidden; border-radius: 999px; background: var(--bg-inset); }
.fgf-rating-bar > i { min-width: 3px; }
.fgf-rating-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; color: var(--text-2); font-size: .78rem; }
.fgf-rating-legend span { display: inline-flex; align-items: center; gap: 6px; }
.fgf-rating-legend i { width: 9px; height: 9px; border-radius: 3px; }
.fgf-rating-legend small { color: var(--text-3); }
.fgf-rating-strongBuy { background: color-mix(in srgb, var(--up) 100%, #000 15%); }
.fgf-rating-buy { background: color-mix(in srgb, var(--up) 60%, transparent); }
.fgf-rating-hold { background: #d4a72c; }
.fgf-rating-sell { background: color-mix(in srgb, var(--down) 60%, transparent); }
.fgf-rating-strongSell { background: var(--down); }
.fgf-owner-insiders { background: var(--accent); }
.fgf-owner-institutions { background: #4da3ff; }
.fgf-owner-public { background: var(--line-strong); }
/* Dividends per share by year. */
.fgf-div-bars { display: flex; align-items: flex-end; gap: 6px; height: 190px; padding-top: 18px; }
.fgf-div-bar { display: flex; flex: 1; flex-direction: column; justify-content: flex-end; align-items: center; min-width: 0; height: 100%; gap: 4px; }
.fgf-div-bar > i { width: min(100%, 34px); border-radius: 4px 4px 0 0; background: var(--accent); }
.fgf-div-bar.partial > i { opacity: .45; }
.fgf-div-bar small { color: var(--text-3); font-size: .7rem; }
.fgf-div-amount { color: var(--text-2); font-size: .66rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
@container (max-width: 664px) { .fgf-div-amount { display: none; } }
/* Reported earnings on the price chart: blue dots kept off the up/down colours (Luna LPL11's #4da3ff). */
.chart-earnings-dot { position: absolute; z-index: 2; width: 10px; height: 10px; border: 2px solid var(--bg-elevated); border-radius: 50%; background: #4da3ff; box-shadow: 0 0 0 1px #4da3ff66; pointer-events: none; transform: translate(-50%, -50%); }
.chart-tip .chart-tip-earn { display: flex; flex-direction: column; gap: 1px; margin-top: 4px; padding-top: 4px; border-top: 1px solid #ffffff33; white-space: nowrap; }
.chart-tip-earn b { display: inline-flex; align-items: center; gap: 5px; }
.chart-tip-earn b i { width: 8px; height: 8px; border-radius: 50%; background: #4da3ff; }
.chart-tip-earn .up { color: #6ee7a0; }
.chart-tip-earn .down { color: #fda4a4; }
/* On the price chart's light, palette-coloured label. */
.price-chart .chart-tip .chart-tip-earn { border-top-color: var(--line); }
.price-chart .chart-tip-earn .up { color: var(--up); }
.price-chart .chart-tip-earn .down { color: var(--down); }
.fgf-chart-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 12px; }
.fgf-ranges { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 3px; border: 1px solid var(--line); border-radius: 9px; }
.fgf-range-btn { padding: 4px 9px; border: 1px solid transparent; border-radius: 7px; color: var(--text-3); font-size: .82rem; font-weight: 600; }
.fgf-range-btn:hover { color: var(--text); }
.fgf-range-btn.active { border-color: var(--line); background: var(--bg-inset); color: var(--text); }
.fgf-chart { position: relative; min-height: 300px; }
.fgf-chart-empty { display: flex; align-items: center; justify-content: center; min-height: 120px; margin: 0; color: var(--text-3); }
.fgf-chart > .fgf-chart-empty { min-height: 300px; }
/* The card is the frame here, so priceChart's own toolbar, headline, range stats and caption step aside. */
.fgf-chart .price-chart[data-style="feargreed"] { margin: 0; padding: 0; border: 0; background: none; }
.fgf-chart .price-chart :is(.chart-presentation, .chart-summary, .chart-range-stats, figcaption, .stock-chart-watermark) { display: none; }
.fgf-chart .price-chart svg, .fgf-chart .lab-lines svg { height: 300px; }
.app[data-stock-style] .fgf-chart .stock-axis-y { left: auto; right: 2px; }
.fgf-volume-strip { position: relative; margin-top: 6px; }
.fgf-volume svg { display: block; width: 100%; height: 72px; cursor: crosshair; }
.fgf-volume rect { fill: var(--up); opacity: .72; transition: opacity .1s; }
.fgf-volume rect[data-tone="down"] { fill: var(--down); }
.fgf-volume svg:hover rect, .fgf-volume-strip:has(rect.on) rect { opacity: .45; }
.fgf-volume svg rect.on { opacity: 1; }
.fgf-volume-tip { top: -2px; }
.fgf-volume-tip .up, .chart-tip .up { color: #6ee7a0; }
.fgf-volume-tip .down, .chart-tip .down { color: #fda4a4; }
/* Technicals: the menu beside Compare, the RSI panel under the volume, and a note when a range is too short. */
.fgf-tech-menu { width: min(280px, 72vw); padding: 6px 4px; }
.fgf-tech-group { padding: 8px 10px 4px; color: var(--text-3); font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.fgf-tech-row { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 6px 10px; border-radius: 7px; font-size: .84rem; cursor: pointer; }
.fgf-tech-row:hover { background: var(--bg-hover); }
.fgf-tech-swatch, .fgf-tech-key i { width: 16px; height: 3px; border-radius: 2px; background: var(--tech-color); }
.fgf-tech-swatch.dashed, .fgf-tech-key i.dashed { background: repeating-linear-gradient(90deg, var(--tech-color) 0 5px, transparent 5px 8px); }
.fgf-switch { position: relative; display: inline-flex; width: 30px; height: 17px; }
.fgf-switch input { position: absolute; inset: 0; z-index: 1; margin: 0; opacity: 0; cursor: pointer; }
.fgf-switch-track { width: 100%; height: 100%; border-radius: 999px; background: var(--line-strong); transition: background .15s; }
.fgf-switch-track::after { content: ""; position: absolute; top: 2px; left: 2px; width: 13px; height: 13px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px #0003; transition: transform .15s; }
.fgf-switch input:checked + .fgf-switch-track { background: var(--accent); }
.fgf-switch input:checked + .fgf-switch-track::after { transform: translateX(13px); }
.fgf-switch input:focus-visible + .fgf-switch-track { outline: 2px solid var(--accent); outline-offset: 2px; }
.fgf-rsi { margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--line); }
.fgf-rsi-head { display: flex; align-items: center; gap: 14px; color: var(--text-3); font-size: .76rem; }
.fgf-rsi-head b { margin-left: auto; color: var(--text); font-variant-numeric: tabular-nums; }
.fgf-rsi-head b.up { color: var(--up); }
.fgf-rsi-head b.down { color: var(--down); }
.fgf-tech-key { display: inline-flex; align-items: center; gap: 6px; }
.fgf-rsi-plot { position: relative; }
.fgf-rsi-plot svg { display: block; width: 100%; height: 84px; }
.fgf-rsi-band { fill: rgba(126, 87, 194, .08); }
.fgf-rsi-level { stroke: var(--line-strong); stroke-dasharray: 3 4; vector-effect: non-scaling-stroke; }
.fgf-rsi-level.mid { opacity: .5; }
.fgf-rsi-line { fill: none; stroke-width: 1.4; vector-effect: non-scaling-stroke; }
.fgf-rsi-line.dashed { stroke-width: 1.1; stroke-dasharray: 4 3; }
.fgf-rsi-tick { position: absolute; right: 2px; color: var(--text-3); font: 400 10.5px/1 var(--font-mono); transform: translateY(-50%); }
.fgf-tech-note { margin: 8px 0 0; color: var(--text-3); font-size: .78rem; }
.fgf-tech-note:empty { display: none; }
.fgf-stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 14px; border-top: 1px solid var(--line); }
.fgf-stat { display: flex; justify-content: space-between; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--line); font-size: .86rem; }
.fgf-stat:nth-last-child(-n + 3) { border-bottom: 0; }
.fgf-stat-label { color: var(--text-3); }
.fgf-stat-value { font-weight: 600; white-space: nowrap; }
.fgf-row { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line); color: var(--text-3); font-size: .86rem; }
.fgf-row:last-of-type { border-bottom: 0; }
.fgf-row-value { color: var(--text); font-weight: 600; text-align: right; }
.fgf-desc { display: -webkit-box; margin: 12px 0 0; overflow: hidden; color: var(--text-3); font-size: .82rem; line-height: 1.55; -webkit-line-clamp: 5; -webkit-box-orient: vertical; }
.fgf-desc.open { -webkit-line-clamp: unset; }
.fgf-desc-toggle { margin-top: 8px; padding: 0; color: var(--accent); font-size: .8rem; font-weight: 600; }
.fgf-etf-sub { margin: 0 0 10px; color: var(--text-3); font-size: .74rem; }
.fgf-etf-row { display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px 0; border-bottom: 1px solid var(--line); color: var(--text); text-align: left; }
.fgf-etf-row:last-child { border-bottom: 0; }
.fgf-etf-row:hover .fgf-etf-sym { color: var(--accent); }
.fgf-etf-row img { flex-shrink: 0; width: 26px; height: 26px; border-radius: 6px; background: rgba(255, 255, 255, .9); }
.fgf-etf-main { flex: 1; min-width: 0; }
.fgf-etf-sym { font-size: .88rem; font-weight: 700; }
.fgf-etf-name { overflow: hidden; color: var(--text-3); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.fgf-etf-meta { font-size: .74rem; font-weight: 600; text-align: right; }
.fgf-etf-vol { color: var(--text-3); font-weight: 500; }
.fgf-table-scroll { max-height: 520px; overflow-y: auto; }
/* An ETF's Market Value wheel on the left and its top 25 holdings beside it, the list scrolling at the wheel's height;
   stacked again where there isn't room for both. */
.fgf-holdings-pair { display: flex; gap: 16px; align-items: stretch; margin-bottom: 16px; }
.fgf-holdings-pair > .fgf-card { min-width: 0; margin-bottom: 0; }
.fgf-wide { grid-column: 1 / -1; min-width: 0; }
.fgf-holdings-pair > .fgf-wheel-card { flex: 0 1 63%; }
.fgf-holdings-pair > .fgf-holdings { flex: 1 1 0; display: flex; flex-direction: column; }
.fgf-holdings-pair .fgf-table-scroll { max-height: 452px; }
.fgf-holdings-source { margin: 8px 0 0; }
.fgf-holdings-source a { color: var(--accent-text); }
@media (max-width: 900px) { .fgf-holdings-pair { flex-direction: column; } .fgf-holdings-pair .fgf-table-scroll { max-height: 520px; } }
.fgf-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: .84rem; }
.fgf-table :is(th, td):first-child { width: 96px; }
.fgf-table :is(th, td):last-child { width: 76px; }
.fgf-table th { padding: 6px 8px; border-bottom: 1px solid var(--line); color: var(--text-3); font-size: .72rem; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.fgf-table td { padding: 6px 8px; border-bottom: 1px solid var(--line); }
.fgf-table tr:last-child td { border-bottom: 0; }
.fgf-table .num { font-variant-numeric: tabular-nums; text-align: right; }
.fgf-table tr.clickable { cursor: pointer; }
.fgf-table tr.clickable:hover td { background: rgba(139, 147, 163, .08); }
.fgf-table tr.clickable:hover .fgf-table-sym { color: var(--accent); }
.fgf-table-sym { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.fgf-table-sym img { width: 18px; height: 18px; border-radius: 5px; background: rgba(255, 255, 255, .9); }
.fgf-table-name { overflow: hidden; color: var(--text-3); text-overflow: ellipsis; white-space: nowrap; }
/* feargreedflow.com's 980px and 700px breakpoints, measured on this page (it sits beside the sidebar). */
@container (max-width: 944px) { .fgf-grid { grid-template-columns: minmax(0, 1fr); } }
@container (max-width: 664px) {
  .fgf-stats-grid { grid-template-columns: repeat(2, 1fr); }
  .fgf-stat:nth-last-child(-n + 3) { border-bottom: 1px solid var(--line); }
  .fgf-stat:last-child { border-bottom: 0; }
  .fgf-chart, .fgf-chart > .fgf-chart-empty { min-height: 240px; }
  .fgf-chart .price-chart svg, .fgf-chart .lab-lines svg { height: 240px; }
}

/* Earnings Trends (market.js earningsTrends): Yahoo Finance's and feargreedflow.com's two cards, EPS against the
   estimate and revenue against earnings. Shown by the Yahoo view and the Feargreedflow view. */
.stock-earnings-card { display: none; }
.app[data-stock-style="yahoo"] .stock-earnings-card:not([hidden]) { display: block; grid-area: earnings; min-width: 0; }
.earn-section { min-width: 0; }
.earn-title { margin: 0 0 12px; font-size: 20px; font-weight: 700; }
/* Compare: the pill, its menu, and the table under an indexed chart (sentiment-lab .stock-cmp-*). */
.fgf-cmp-control { position: relative; }
.fgf-cmp-btn { display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--text-3); font-size: .82rem; font-weight: 600; }
.fgf-cmp-btn:hover, .fgf-cmp-btn.open, .fgf-cmp-btn.filled { color: var(--text); }
.fgf-cmp-chevron svg { display: block; transition: transform .15s; }
.fgf-cmp-btn.open .fgf-cmp-chevron svg { transform: rotate(180deg); }
.fgf-cmp-count { min-width: 18px; padding: 1px 5px; border-radius: 999px; background: var(--accent); color: #fff; font-size: .68rem; line-height: 1.4; text-align: center; }
.fgf-cmp-menu { position: absolute; top: calc(100% + 6px); left: 0; z-index: 5; width: min(340px, 68vw); padding: 8px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg-elevated); box-shadow: var(--shadow-pop); }
.fgf-cmp-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.fgf-cmp-chip { display: inline-flex; align-items: center; gap: 6px; padding: 3px 4px 3px 8px; border: 1px solid var(--line); border-radius: 999px; font-size: .78rem; font-weight: 600; }
.fgf-cmp-chip i { width: 8px; height: 8px; border-radius: 50%; }
.fgf-cmp-x { width: 20px; height: 20px; border-radius: 50%; color: var(--text-3); font-size: .95rem; line-height: 1; }
.fgf-cmp-x:hover { background: var(--bg-hover); color: var(--text); }
.fgf-cmp-input { width: 100%; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); color: var(--text); font-size: .86rem; }
.fgf-cmp-input:focus { outline: none; border-color: var(--accent); }
.fgf-cmp-results { max-height: 260px; margin-top: 4px; overflow-y: auto; }
.fgf-cmp-result { display: grid; grid-template-columns: 22px 56px minmax(0, 1fr) auto; align-items: center; gap: 8px; width: 100%; padding: 7px 8px; border-radius: 7px; font-size: .82rem; text-align: left; }
.fgf-cmp-result:is(:hover, :focus-visible), .fgf-cmp-result.lead { background: var(--bg-hover); outline: none; }
.fgf-cmp-result-logo { width: 22px; height: 22px; border-radius: 6px; background: rgba(255, 255, 255, .9); object-fit: contain; }
/* Compare mode's drag-measure: each stock's move between the two dates. */
.lab-measure-out .lab-measure-row { display: flex; align-items: center; gap: 5px; }
.chart-measure strong.down { color: var(--down); }
.lab-lines:has(.lab-measure-out:not([hidden])) .lab-tip { display: none; }
.fgf-chart .lab-lines svg { cursor: crosshair; touch-action: none; }
.fgf-chart .lab-lines svg:focus:not(:focus-visible) { outline: none; }
.fgf-cmp-result-sym { font-weight: 700; }
.fgf-cmp-result-name { overflow: hidden; color: var(--text-2); text-overflow: ellipsis; white-space: nowrap; }
.fgf-cmp-result-kind { color: var(--text-3); font-size: .72rem; }
.fgf-cmp-hint { padding: 8px; color: var(--text-3); font-size: .8rem; }
.fgf-cmp:empty { display: none; }
.fgf-cmp { margin: 12px 0 14px; }
.fgf-cmp-caption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 14px; margin-bottom: 6px; color: var(--text-3); font-size: .78rem; }
.fgf-cmp-row { display: grid; grid-template-columns: minmax(0, 1.8fr) repeat(3, minmax(0, .7fr)) 22px; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: .86rem; }
.fgf-cmp-row:last-child { border-bottom: 0; }
.fgf-cmp-row.head { padding: 4px 0; color: var(--text-3); font-size: .74rem; font-weight: 600; }
.fgf-cmp-row > :nth-child(n + 2) { text-align: right; }
.fgf-cmp-row .up { color: var(--up); }
.fgf-cmp-row .down { color: var(--down); }
.fgf-cmp-id { display: flex; align-items: center; gap: 8px; min-width: 0; }
.fgf-cmp-swatch { flex: none; width: 10px; height: 10px; border-radius: 3px; }
.fgf-cmp-id img { flex: none; width: 24px; height: 24px; border-radius: 6px; }
.fgf-cmp-names { display: flex; flex-direction: column; min-width: 0; }
.fgf-cmp-names :is(b, em) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fgf-cmp-names b { font-weight: 600; }
.fgf-cmp-names em { color: var(--text-3); font-size: .74rem; font-style: normal; }
.fgf-cmp-price, .fgf-cmp-pct { font-weight: 600; }
/* Recent News: three stories around the move on screen (sentiment-lab .catalyst-*). */
.fgf-news { margin-bottom: 16px; container: fgf-news / inline-size; }
.fgf-news-title { margin: 0; font-size: 1.15rem; font-weight: 700; }
.fgf-news-state { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0; color: var(--text-3); font-size: .86rem; }
.fgf-news-retry { flex: none; padding: 5px 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--text); font-size: .8rem; font-weight: 600; }
.fgf-news-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding-top: 14px; }
/* A market headline has no photo: its publisher's icon, centred on the card's gradient. */
.fgf-news-image img.fgf-news-icon { inset: 50% auto auto 50%; width: 44px; height: 44px; border-radius: 10px; object-fit: contain; translate: -50% -50%; background: #fff; box-shadow: 0 4px 14px #0000001f; }
.fgf-news-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-elevated); color: var(--text); text-decoration: none; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.fgf-news-card:hover { border-color: color-mix(in srgb, var(--accent) 42%, var(--line)); box-shadow: 0 10px 28px #0000001f; transform: translateY(-2px); }
.fgf-news-image { position: relative; height: 132px; overflow: hidden; background: radial-gradient(circle at 72% 24%, color-mix(in srgb, var(--accent) 28%, transparent), transparent 60%), linear-gradient(145deg, var(--bg-inset), var(--bg-elevated)); }
.fgf-news-image img { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; }
.fgf-news-image > span { position: absolute; left: 18px; bottom: 12px; color: var(--text-2); font-size: 4rem; font-weight: 800; line-height: .8; opacity: .16; }
.fgf-news-image > i { position: absolute; right: 12px; bottom: 10px; z-index: 2; color: #fff; font-size: .66rem; font-style: normal; font-weight: 800; letter-spacing: .08em; text-shadow: 0 1px 8px #00000073; }
.fgf-news-body { display: flex; flex: 1; flex-direction: column; padding: 13px 14px 14px; }
.fgf-news-meta { display: flex; flex-wrap: wrap; gap: 2px 8px; color: var(--text-3); font-size: .68rem; }
.fgf-news-meta span + span::before { content: "·"; margin-right: 8px; }
.fgf-news-body > b { margin-top: 9px; font-size: .9rem; font-weight: 700; line-height: 1.35; }
.fgf-news-body > p { display: -webkit-box; overflow: hidden; margin: 6px 0 0; color: var(--text-2); font-size: .76rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.fgf-news-body > small { margin-top: auto; padding-top: 12px; color: var(--accent-text); font-size: .62rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
@container (max-width: 664px) {
  .fgf-cmp-row { grid-template-columns: minmax(0, 1fr) 72px 72px 22px; }
  .fgf-cmp-row > :nth-child(3) { display: none; }
}
.fgf-main .earn-section { margin-bottom: 16px; }
.fgf-main .earn-title { font-size: 1.15rem; }
.earn-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr)); gap: 16px; }
.fgf-page .earn-cards { gap: 16px; }
.fgf-page .earn-card.fgf-card { margin-bottom: 0; }
.earn-card { min-width: 0; }
.earn-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.earn-head h3 { margin: 0; font-size: 15px; font-weight: 700; }
.earn-toggle { display: inline-flex; padding: 2px; border: 1px solid var(--line); border-radius: 999px; }
.earn-toggle button { padding: 3px 10px; border-radius: 999px; color: var(--text-3); font-size: 12px; font-weight: 600; }
.earn-toggle button.on { background: var(--bg-inset); color: var(--text); box-shadow: 0 0 0 1px var(--line); }
.earn-sub { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; min-height: 20px; margin: 10px 0 4px; color: var(--text-3); font-size: 12.5px; }
.earn-sub b { margin-right: 4px; color: var(--text); }
.earn-sub [data-tone="up"] { color: var(--up); font-weight: 600; }
.earn-sub [data-tone="down"] { color: var(--down); font-weight: 600; }
.earn-ring, .earn-dot, .earn-key { display: inline-block; width: 10px; height: 10px; margin-left: 6px; border-radius: 50%; }
.earn-ring { box-shadow: inset 0 0 0 2px var(--text-3); }
.earn-key { border-radius: 3px; }
.earn-key.rev { background: #4da3ff; }
.earn-key.net { background: #ffd53d; }
.earn-key.margin { width: 12px; height: 2px; border-radius: 0; background: #22c3ab; vertical-align: 3px; }
.earn-plot svg { display: block; width: 100%; height: auto; overflow: visible; }
.earn-grid { stroke: var(--line); stroke-width: 1; }
.earn-zero { stroke: var(--line-strong); stroke-width: 1; }
.earn-axis { fill: var(--text-3); font: 10px var(--font-ui); }
.earn-est { fill: none; stroke: var(--text-3); stroke-width: 2; }
.earn-col:hover > rect:first-child { fill: color-mix(in srgb, var(--text) 4%, transparent); }
.earn-margin { fill: none; stroke: #22c3ab; stroke-width: 2; }
.earn-margin-dot { fill: var(--bg-elevated); stroke: #22c3ab; stroke-width: 1.5; }
.earn-beats { display: grid; margin-top: 4px; font-size: 11px; text-align: center; }
.earn-beat { display: grid; gap: 1px; color: var(--text-3); line-height: 1.25; white-space: nowrap; }
.earn-beat b { font-weight: 600; }
.earn-beat small { font-size: 10.5px; }
.earn-beat[data-tone="up"] { color: var(--up); font-weight: 600; }
.earn-beat[data-tone="down"] { color: var(--down); font-weight: 600; }
.earn-empty { margin: 24px 0; color: var(--text-3); text-align: center; }
/* Recent News: four across where there's room, two by two in a narrower column, one at a time on a phone. */
@container fgf-news (max-width: 820px) { .fgf-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container fgf-news (max-width: 420px) { .fgf-news-grid { grid-template-columns: minmax(0, 1fr); } }
