/* app.css — /app/ shell (website dashboard + Telegram Mini App). Mobile-first; tokens come from site.css.
   Telegram theme: tg.js sets html[data-theme] + --tg-theme-* (themeParams) + --tg-safe-top/bottom. */

/* Change-direction tokens (T-12, owner 2026-10-11). --pos / --neg colour a numeric rise / fall and swap under
   html[data-change-colors="red-up"] (红涨绿跌, opt-in; green-up is the default in both languages since 2026-10-13). --bull / --bear
   colour a stance or a buy / sell and swap WITH --pos / --neg, so a rise, a buy and a bullish call always share one colour. --heat-neutral anchors the watchlist heat map. */
html { --pos: var(--green); --neg: var(--red); --bull: var(--green); --bear: var(--red); --heat-neutral: #25313a; }
html[data-change-colors="red-up"] { --pos: var(--red); --neg: var(--green); --bull: var(--red); --bear: var(--green); }
/* Explicit theme wins over prefers-color-scheme (Telegram's colorScheme, or a future toggle). */
html[data-theme="light"] {
  --bg: #fbfaf7; --bg-2: #f3f1ea; --surface: #ffffff; --surface-2: #f5f3ec; --border: #e3e0d6;
  /* finding app.css:13 — --accent unified to the site hot orange (#ff9000), was the pre-palette-v2 duck yellow;
     finding site.css:12 — --faint bumped from #7b8794 (3.5:1, fails AA) to #5d6875 (~5.6:1). */
  --text: #141a21; --muted: #4d5966; --faint: #5d6875; --accent: #ff9000; --accent-ink: #1a1400;
  --green: #187b35; --red: #cf222e; --orange: #b54700; --yellow: #8c5b00; --blue: #0969da;
  --bubble: #ffffff; --bubble-ink: #1f2a37; --shadow: 0 10px 40px rgba(20, 20, 0, .12); color-scheme: light;
}
html[data-theme="dark"] {
  --bg: #0b0f14; --bg-2: #0f151d; --surface: #121821; --surface-2: #182130; --border: #223041;
  /* finding app.css:13 — --accent unified to #ff9000 (was #f5c33b); finding site.css:12 — --faint #6b7784→#8a95a2 (AA). */
  --text: #e6edf3; --muted: #9aa7b4; --faint: #8a95a2; --accent: #ff9000; --accent-ink: #1a1400;
  --green: #3fb950; --red: #f85149; --orange: #f0883e; --yellow: #d29922; --blue: #58a6ff;
  --bubble: #1d2733; --bubble-ink: #dfe7ef; --shadow: 0 10px 40px rgba(0, 0, 0, .45); color-scheme: dark;
}
/* Inside Telegram: follow the client's palette (fallbacks = our own theme). --accent (#ff9000) matches the website. */
html[data-theme="dark"][data-tg]:not([data-tg="web"]) {
  --bg: var(--tg-theme-bg-color, #0b0f14); --bg-2: var(--tg-theme-secondary-bg-color, #0f151d);
  --surface: var(--tg-theme-section-bg-color, var(--tg-theme-secondary-bg-color, #121821));
  --surface-2: var(--tg-theme-secondary-bg-color, #182130);
  --text: var(--tg-theme-text-color, #e6edf3); --muted: var(--tg-theme-hint-color, #9aa7b4);
  --faint: var(--tg-theme-hint-color, #8a95a2); --blue: var(--tg-theme-link-color, #58a6ff);
  --border: color-mix(in srgb, var(--text) 14%, var(--bg));
}
html[data-theme="light"][data-tg]:not([data-tg="web"]) {
  --bg: var(--tg-theme-bg-color, #fbfaf7); --bg-2: var(--tg-theme-secondary-bg-color, #f3f1ea);
  --surface: var(--tg-theme-section-bg-color, #ffffff);
  --surface-2: var(--tg-theme-secondary-bg-color, #f5f3ec);
  --text: var(--tg-theme-text-color, #141a21); --muted: var(--tg-theme-hint-color, #4d5966);
  --faint: var(--tg-theme-hint-color, #5d6875); --blue: var(--tg-theme-link-color, #0969da);
  --border: color-mix(in srgb, var(--text) 12%, var(--bg));
}

:root { --safe-top: max(env(safe-area-inset-top, 0px), var(--tg-safe-top, 0px)); --safe-bottom: max(env(safe-area-inset-bottom, 0px), var(--tg-safe-bottom, 0px)); }

html, body.page-app { height: 100%; }
body.page-app { overflow: hidden; overscroll-behavior: none; font-size: 15px; }
.app-shell { display: flex; flex-direction: column; height: 100vh; height: 100dvh; background: var(--bg); }
.hidden, [hidden] { display: none !important; }
.spacer { flex: 1 1 auto; }
.muted { color: var(--muted); }
.small { font-size: var(--fs-sm); }
.pos { color: var(--pos); }
.neg { color: var(--neg); }
.break { word-break: break-all; }

/* ---- top bar / bottom nav ---- */
.app-top { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; padding: calc(8px + var(--safe-top)) 14px 8px; background: var(--surface); border-bottom: 1px solid var(--border); }
.app-top .brand { font-size: var(--fs-md); }
.tier-host:empty { display: none; }
.tier-badge { font-size: var(--fs-2xs); letter-spacing: .06em; padding: 2px 8px; border-radius: var(--r-sm); border: 1px solid var(--border); color: var(--muted); text-transform: uppercase; }
.tier-badge.tier-paid { color:var(--accent-text, var(--accent)); border-color: var(--accent); }
.tier-badge.tier-pro { color: var(--accent-ink); background: var(--accent); border-color: var(--accent); }
.app-main { flex: 1 1 auto; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 14px 14px 28px; overscroll-behavior: contain; }
.app-view { max-width: 760px; margin: 0 auto; }
.app-foot { max-width: 760px; margin: 28px auto 0; color: var(--faint); font-size: var(--fs-xs); text-align: center; }
/* A compact desktop workspace; four daily destinations + an accessible mobile disclosure. */
.app-icon-defs { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
.app-icon { display: block; width: 20px; height: 20px; flex: 0 0 auto; }
.app-nav { position: relative; flex: 0 0 auto; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 3px; padding: 7px 8px calc(7px + var(--safe-bottom)); background: var(--surface); border-top: 1px solid var(--border); z-index: 20; }
.app-nav > a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-height: 52px; padding: 7px 3px; border-radius: 12px; color: var(--muted); font-size: 11px; font-weight: 550; line-height: 1.25; text-decoration: none; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: color .16s, background .16s; }
.app-nav > a span { white-space: nowrap; }
.app-nav > a:hover { color: var(--text); background: var(--surface-2); }
.app-nav > a.on { color: var(--text); background: color-mix(in srgb, var(--accent) 12%, var(--surface)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 26%, transparent); }
.app-nav a.on > .app-icon { color:var(--accent-text, var(--accent)); }
body:is([data-route="login"], [data-route="forgot"], [data-route="reset"]) .app-nav { display: none; }
/* Desktop: the five tabs sit in one centred pill under the header. */
@media (min-width: 1000px) {
  .app-top { order: -2; }
  .app-nav { order: -1; align-self: center; grid-template-columns: repeat(9, max-content); gap: 4px; padding: 5px; margin: 14px auto 0; border: 1px solid var(--border); border-radius: 16px; max-width: calc(100% - 32px); }
  .app-nav > a { display: flex; flex-direction: row; gap: 8px; min-height: 42px; padding: 9px 14px; font-size: 13px; border-radius: 11px; }
  .app-main { padding: 24px 20px 40px; }
}
@media (min-width: 1000px) and (max-width: 1200px) { .app-nav > a { padding: 9px 10px; gap: 6px; } }
@media (prefers-reduced-motion: reduce) { .app-nav a { transition: none; } }

/* ---- generic ---- */
h1 { font-size: var(--fs-xl); margin: 0; }
h2 { font-size: var(--fs-md); margin: 18px 0 8px; }
h3 { font-size: var(--fs-md); margin: 0 0 4px; }
.view-head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 12px; flex-wrap: wrap; }
.view-head .count { color: var(--muted); font-size: var(--fs-sm); }
.view-head .spot { margin-left: auto; font-weight: 700; }
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); padding: 12px 14px; margin-bottom: 10px; }
.cards { display: flex; flex-direction: column; gap: 10px; }
.add-row { display: flex; gap: 8px; margin-bottom: 12px; }
.add-row .input { flex: 1 1 auto; min-width: 0; }
.alerts-form { flex-wrap: wrap; }
.alerts-form .short { flex: 0 0 96px; }
.alerts-form .input:not(.short) { flex: 1 1 200px; }
.input { font: inherit; font-size: 16px; color: var(--text); background: var(--bg); border: 1px solid var(--border); border-radius: var(--r-md); padding: 9px 12px; outline: none; }
.input:focus { border-color: var(--focus-ring, var(--accent)); box-shadow: 0 0 0 2px var(--focus-ring, var(--accent)); }
.btn:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.btn[data-soon] { border-style: dashed; color: var(--faint); }
.btn.danger:hover { color: var(--red); border-color: var(--red); }
.empty { color: var(--muted); text-align: center; padding: 28px 12px; margin: 0; }
.errbox { color: var(--red); background: color-mix(in srgb, var(--red) 8%, var(--surface)); border: 1px solid color-mix(in srgb, var(--red) 40%, var(--border)); border-radius: var(--r-md); padding: 10px 12px; font-size: var(--fs-base); display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin: 6px 0; }
.spinner-row { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: var(--fs-sm); padding: 8px 0; }
.spinner { width: 14px; height: 14px; border: 2px solid var(--border); border-top-color: var(--accent); border-radius: 50%; animation: spin .8s linear infinite; flex: 0 0 auto; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .spinner { animation-duration: 2s; } }
.chip-red { color: var(--red); border-color: var(--red); }
.chip-dim { color: var(--faint); }
.chip-pending { color: var(--yellow); border-color: var(--yellow); }
.chip-done { color: var(--green); border-color: var(--green); }
.chip-error { color: var(--red); border-color: var(--red); }
.chip-fired { color: var(--accent-ink); background: var(--accent); border-color: var(--accent); }
.seg { display: inline-flex; border: 1px solid var(--border); border-radius: var(--r-md); overflow: hidden; margin-bottom: 12px; }
.seg button { font: inherit; font-family: var(--mono); font-size: var(--fs-sm); background: transparent; color: var(--muted); border: 0; padding: 7px 14px; cursor: pointer; }
.seg button.on { background: var(--accent); color: var(--accent-ink); font-weight: 700; }
.kv-grid { display: grid; grid-template-columns: max-content 1fr; gap: 4px 12px; margin: 8px 0 0; font-size: var(--fs-base); }
.kv-grid dt { color: var(--muted); }
.kv-grid dd { margin: 0; text-align: right; }
.kv-grid .copy { margin-left: 6px; }

/* ---- lock overlay ---- */
.locked { position: relative; margin-top: 8px; border-radius: var(--r-md); overflow: hidden; min-height: 76px; }
.locked-content { filter: blur(5px); opacity: .55; pointer-events: none; user-select: none; }
.locked-veil { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 6px 10px; text-align: center; color: var(--text); text-decoration: none; background: color-mix(in srgb, var(--surface) 35%, transparent); font-size: var(--fs-sm); line-height: 1.3; }
.locked-icon { display: none; }
.locked-text::before { content: "🔒 "; }
.locked-veil:hover { text-decoration: none; }
.locked-cta { color: var(--accent-ink); background: var(--accent); border-radius: var(--r-sm); padding: 3px 10px; font-size: var(--fs-xs); font-weight: 700; }

/* ---- watchlist ---- */
.snap-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ticker { font-weight: 800; font-size: var(--fs-md); color: var(--text); }
.ticker:hover { color:var(--accent-text, var(--accent)); text-decoration: none; }
.spot { font-weight: 600; }
.pro-rows { border-top: 1px dashed var(--border); padding-top: 6px; }

/* ---- alerts ---- */
.alist { display: flex; flex-direction: column; gap: 8px; }
.alert-row { display: flex; gap: 10px; align-items: center; margin: 0; }
.alert-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.alert-main .cond { font-size: var(--fs-base); overflow-wrap: anywhere; }
.alert-side { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.alert-row[data-state="error"] .cond { color: var(--muted); }
.alert-custom-panel .alert-row { flex-wrap: wrap; align-items: flex-start; }
.alert-custom-panel .alert-main { flex: 1 1 18rem; }
.alert-custom-panel .alert-side { flex: 1 1 18rem; min-width: 0; flex-wrap: wrap; }
.alert-custom-panel .alert-side .muted { white-space: normal; }
.page-app .alert-custom-panel .btn { min-height: 44px; min-width: 44px; white-space: normal; }
.alert-custom-panel .screen-saved > .btn { margin-right: 8px; margin-bottom: 8px; }
.page-app .alert-custom-panel input, .page-app .alert-custom-panel textarea { font-size: 16px; }

/* ---- chart ---- */
.chart-host { position: relative; width: 100%; height: 440px; border: 1px solid var(--border); border-radius: var(--r-md); overflow: hidden; background: var(--surface); }
#chart-spot{text-align:right;min-width:0}#chart-spot time{display:block;font:400 .72rem/1.4 var(--font-sans, sans-serif);max-width:28ch;margin-top:4px}
.chart-company-name:empty{display:none}.chart-company-name{margin:-8px 0 12px;overflow-wrap:anywhere}.chart-snapshot-date{flex-basis:100%}
@media (max-width: 480px) { .chart-host { height: 400px; } }
.legend { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; margin: 0 0 10px; font-size: var(--fs-sm); color: var(--muted); min-height: 24px; }
.legend-item i { display: inline-block; width: 10px; height: 3px; border-radius: 2px; vertical-align: middle; margin-right: 5px; }
.legend-item b { color: var(--text); }
.legend .locked { flex: 1 1 100%; margin: 0; }
.legend-fake { padding: 10px 12px; font-size: var(--fs-sm); color: var(--muted); }
.chips .chip { color: var(--text); text-decoration: none; }

/* ---- billing ---- */
.picker { margin: 0 0 12px; padding: 12px 14px; font-size: var(--fs-base); }
.picker ul { margin: 6px 0 0; padding-left: 1.1rem; }
.picker li { margin-bottom: 3px; color: var(--muted); }
.tier-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 6px; }
@media (max-width: 420px) { .tier-cards { grid-template-columns: 1fr; } }
.tier-card { display: flex; flex-direction: column; gap: 4px; margin: 0; }
.tier-card.on { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent) inset; }
.tier-card .price { font-size: var(--fs-xl); }
.tier-card .btn { margin-top: auto; }
.rails h2 { margin-top: 14px; }
.rail-row { display: flex; flex-wrap: wrap; gap: 8px; }
.pay-panel { margin-top: 14px; padding: 14px; border: 1px solid var(--accent); border-radius: var(--r-md); background: var(--surface); }
.order-head { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: var(--fs-base); margin-bottom: 10px; }
.qr-box { display: flex; justify-content: center; padding: 8px 0; }
.qr { width: 220px; max-width: 100%; height: auto; border-radius: var(--r-sm); background: #fff; padding: 6px; }
.paid-hint { margin-top: 10px; border-top: 1px dashed var(--border); padding-top: 10px; font-size: var(--fs-base); }
.paid-hint .cta-row { margin: 8px 0 0; }
.orders-list { display: flex; flex-direction: column; gap: 6px; }
.order-row { display: grid; grid-template-columns: max-content 1fr max-content max-content max-content; gap: 8px 10px; align-items: center; font-size: var(--fs-sm); padding: 8px 10px; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface); }
@media (max-width: 520px) { .order-row { grid-template-columns: 1fr 1fr; } }
.billing-foot { margin-top: 20px; }

/* ---- login ---- */
.login { max-width: 460px; margin: 6vh auto 0; padding: 22px 20px; }
.login h1 { margin-bottom: 6px; }
.login-block { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.login-block .btn { width: 100%; }
.login-or { text-align: center; color: var(--faint); margin: 16px 0 2px; font-size: var(--fs-sm); }
.widget-host { display: flex; justify-content: center; min-height: 0; }
.widget-host iframe { max-width: 100%; }
.nonce-host { display: flex; flex-direction: column; gap: 8px; }
.nonce-host code { display: block; margin-top: 4px; padding: 6px 8px; background: var(--surface-2); border-radius: var(--r-sm); user-select: all; overflow-wrap: anywhere; }
.waiting { color: var(--muted); font-size: var(--fs-sm); }

/* ---- toast / modal ---- */
#toasts { position: fixed; top: calc(10px + var(--safe-top)); left: 0; right: 0; display: flex; flex-direction: column; align-items: center; gap: 6px; z-index: 120; pointer-events: none; padding: 0 12px; }
.toast { background: var(--bubble); color: var(--bubble-ink); border: 1px solid var(--border); border-radius: var(--r-md); padding: 8px 14px; font-size: var(--fs-base); box-shadow: var(--shadow); opacity: 0; transform: translateY(-8px); transition: opacity .2s ease, transform .2s ease; max-width: 100%; }
.toast.show { opacity: 1; transform: translateY(0); }
.toast.ok { border-color: var(--green); }
.toast.err { border-color: var(--red); }
#modal { position: fixed; inset: 0; z-index: 110; background: rgba(0, 0, 0, .55); display: flex; align-items: flex-end; justify-content: center; padding: 0; }
#modal[hidden] { display: none !important; }
.modal-box { width: 100%; max-width: 520px; background: var(--surface); border: 1px solid var(--border); border-radius: 16px 16px 0 0; padding: 18px 18px calc(18px + var(--safe-bottom)); box-shadow: var(--shadow); }
.modal-box h3 { margin-bottom: 8px; }
.modal-body p { margin-bottom: .5em; font-size: var(--fs-base); }
.modal-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
@media (min-width: 600px) { #modal { align-items: center; padding: 20px; } .modal-box { border-radius: var(--r-lg); padding-bottom: 18px; } }

/* ---- brand mark + empty states (canonical fluffy duck; SYSTEMDESIGN §5.2 C) ---- */
.app-top .brand { display: inline-flex; align-items: center; gap: 6px; }
.app-top .avatar-mark { width: 26px; height: 26px; box-shadow: none; }
.empty::before { content: ""; display: block; width: 72px; height: 72px; margin: 0 auto 8px; background: url("/duck-head-cutout-v1-192.webp") center / contain no-repeat; border-radius: 0; opacity: 1; }

/* §14 profile */
.card.profile .form { display: grid; gap: 12px; margin-top: 12px; }
.card.profile .field { display: grid; gap: 4px; } .card.profile .label { font-size: var(--fs-sm); color: var(--muted); }
.card.profile .check { display: flex; align-items: center; gap: 8px; font-size: var(--fs-base); }
.card.profile .verify { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--border); }
.card.profile .danger { margin-top: 22px; color: var(--muted); } .card.profile .danger summary { cursor: pointer; }
.card.profile .notification-settings { margin-top:24px; padding-top:20px; border-top:1px solid var(--border); }
.notification-settings h2 { margin:0 0 8px; }
.notification-settings .notification-channel { padding:12px 14px; border:1px solid var(--border); border-radius:12px; }
.notification-channel p { margin:6px 0 0 24px; }
.notification-settings .cta-row { margin-top:14px; flex-wrap:wrap; }
.notification-settings .notification-receipt { margin-top:16px; padding:12px 14px; background:var(--surface2); border-radius:12px; }
.notification-receipt p { margin:6px 0; overflow-wrap:anywhere; }
.notification-link { margin:16px 0; display:grid; justify-items:start; gap:10px; min-width:0; }
.notification-link p { margin:0; }.notification-link iframe { max-width:100%; }
.telegram-link-code { font-size:28px; letter-spacing:.2em; }
.telegram-link-qr { padding:8px; background:#fff; border-radius:12px; max-width:100%; }
.telegram-link-qr svg { display:block; width:180px; max-width:100%; height:auto; }
.telegram-link-identity { max-width:100%; overflow-wrap:anywhere; }
.card.profile .account-settings { margin-top:24px; padding-top:18px; border-top:1px solid var(--border); }
.card.profile details > summary { cursor:pointer; }
.card.profile .account-settings > section { margin-top:18px; }
.btn-danger { background: #3a1216; color: #ff8a80; border: 1px solid #5a1c22; }
.ok { color: var(--green); }

/* ══════════════════════════════════════════════════════════════════════════════════════════════
   a11y + §18.2 loading polish (2026-08-30, CSS/UX cluster)
   ══════════════════════════════════════════════════════════════════════════════════════════════ */

/* finding site.css:413 — sub-44px tap targets in the app. Grow the touch hit areas (touch pointers only,
   so the desktop dashboard keeps its compact density). */
@media (pointer: coarse) {
  .app-nav a { min-height: 44px; justify-content: center; }
  .seg button, .btn-sm, .copy { min-height: 44px; }
  .alert-side .btn, .snap-head .btn.danger, .add-row .btn { min-height: 44px; }
}

/* finding chart.js:59 / watchlist.js:118 — §18.2 skeletons in place of bare spinners.
   One shimmer definition; reduced-motion falls back to a static placeholder. */
@keyframes shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.skel { background: linear-gradient(90deg, var(--surface-2) 25%, var(--border) 50%, var(--surface-2) 75%);
  background-size: 200% 100%; animation: shimmer 1.2s linear infinite; border-radius: var(--r-sm); }

/* Chart host: while #chart-status still holds the loading spinner, shimmer over the 440px host so it is
   never a blank bordered void. The shimmer clears the instant bars arrive (spinner removed) and never shows
   on an error/no-data state (status then holds text, not a spinner) so it can't get stuck. */
.chart-host::after { content: ""; position: absolute; inset: 0; opacity: 0; pointer-events: none;
  background: linear-gradient(90deg, var(--surface-2) 25%, var(--border) 50%, var(--surface-2) 75%); background-size: 200% 100%; }
.app-view:has(#chart-status .spinner) .chart-host::after { opacity: 1; animation: shimmer 1.2s linear infinite; }

/* Watchlist snapshot card still fetching (holds a spinner-row): shimmer placeholder at ~kv-grid height so
   the list doesn't jump when data slots in. Clears automatically once the card re-renders with data. */
.card.snap:has(> .spinner-row)::after { content: ""; display: block; height: 92px; margin-top: 8px; border-radius: var(--r-sm);
  background: linear-gradient(90deg, var(--surface-2) 25%, var(--border) 50%, var(--surface-2) 75%); background-size: 200% 100%; animation: shimmer 1.2s linear infinite; }

/* finding watchlist.js:58 — the empty mascot state flashed before the first list() resolved. Delay its reveal
   so a fast L2-hit fetch replaces it before it ever paints; a genuinely empty list still shows it after ~0.45s.
   (Pure-CSS mitigation; the definitive fix is a JS loaded-flag, tracked on the JS cluster's watchlist.js:58.) */
.empty { animation: empty-reveal .01s linear .45s both; }
@keyframes empty-reveal { from { opacity: 0; } to { opacity: 1; } }

/* finding app.css:186 — the bottom sheet popped in with no transition. Animate backdrop + box on appearance
   (JS un-hides #modal and injects .modal-box), matching the toast / glossary-sheet feel. */
#modal:not([hidden]) { animation: modal-backdrop .18s ease; }
.modal-box { animation: modal-rise .22s ease; }
@keyframes modal-backdrop { from { opacity: 0; } }
@keyframes modal-rise { from { transform: translateY(14px); opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  .app-view:has(#chart-status .spinner) .chart-host::after,
  .card.snap:has(> .spinner-row)::after,
  .skel { animation: none; }
  #modal:not([hidden]), .modal-box, .toast { animation: none; transition: none; }
}

/* watchlist: a freshly-added ticker whose quote is still loading — a calm state, never a red error box
   (the add already succeeded, so it must not contradict the "已添加" toast). */
.snap-loading { display: flex; align-items: center; gap: 10px; padding: 6px 2px 2px; flex-wrap: wrap; }
.snap-loading .muted { color: var(--muted); }


/* ── investment calendar: month grid + two-week view (calendar.js) ───────── */
.calendar-view { --c-earn:#19579a; --c-macro:#994800; --c-opex:#6c3ca3; --c-rebal:#156745; --c-session:#86500b; --c-geo:#b3261e; }
@media (prefers-color-scheme:dark) {
  :root:not([data-theme="light"]) .calendar-view { --c-earn:#78b8ff; --c-macro:#ffb45d; --c-opex:#cca4ff; --c-rebal:#63d6ab; --c-session:#ffd17a; --c-geo:#ff8a80; }
}
:root[data-theme="dark"] .calendar-view { --c-earn:#78b8ff; --c-macro:#ffb45d; --c-opex:#cca4ff; --c-rebal:#63d6ab; --c-session:#ffd17a; --c-geo:#ff8a80; }
.cal-kind-geo { --cal-tone:var(--c-geo); }
.cal-kind-earnings { --cal-tone:var(--c-earn); }
.cal-kind-macro { --cal-tone:var(--c-macro); }
.cal-kind-expiry { --cal-tone:var(--c-opex); }
.cal-kind-rebal { --cal-tone:var(--c-rebal); }
.cal-kind-session { --cal-tone:var(--c-session); }
.cal-kind-other { --cal-tone:var(--muted); }

.cal-bar { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 4px; }
.cal-fchip { border: 1px solid var(--border); background: var(--surface); color: var(--muted); border-radius: 999px; padding: 6px 13px; font-size: var(--fs-xs); cursor: pointer; transition: border-color .15s, color .15s, background .15s; }
.cal-fchip:hover { border-color: var(--fg); color: var(--fg); }
.cal-fchip.on { border-color: var(--accent); background: var(--accent); color: var(--accent-ink); font-weight: 700; }
.cal-fchip.cal-mine.on { border-color: var(--accent); background: var(--accent); color: var(--accent-ink); }

.cal-modebar { display: inline-flex; gap: 3px; margin: 10px 0 16px; padding: 3px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface); }
.cal-mode { border: 0; background: transparent; color: var(--muted); font-size: var(--fs-sm); padding: 6px 18px; border-radius: 8px; cursor: pointer; transition: background .15s, color .15s; }
.cal-mode.on { background: var(--surface-2); color: var(--fg); box-shadow: 0 1px 2px rgba(0,0,0,.35); font-weight: 600; }

.cal-mhead { display: flex; align-items: center; gap: 9px; margin: 2px 0 12px; }
.cal-mnav { width: 34px; height: 34px; border: 1px solid var(--border); background: var(--surface); color: var(--fg); border-radius: 9px; font-size: 18px; line-height: 1; cursor: pointer; transition: background .15s, border-color .15s; }
.cal-mnav:hover { background: var(--surface-2); border-color: var(--fg); }
.cal-mtitle { font-weight: 700; font-size: var(--fs-md); letter-spacing: .3px; }
.cal-today { margin-left: auto; border: 1px solid var(--border); background: var(--surface); color: var(--muted); border-radius: 9px; padding: 7px 14px; font-size: var(--fs-xs); cursor: pointer; transition: color .15s, border-color .15s; }
.cal-today:hover { color: var(--fg); border-color: var(--fg); }

.cal-wdrow { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; margin-bottom: 8px; }
.cal-wd { text-align: center; font-size: var(--fs-2xs); font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); }

/* shared day-cell look (month + biweekly) */
.cal-grid, .cal-bigrid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; }
.cal-cell, .cal-bicell { position: relative; border: 1px solid var(--border); border-radius: 12px; background: var(--surface);
  text-align: left; cursor: pointer; display: flex; flex-direction: column; gap: 5px; overflow: hidden; color: var(--fg); font: inherit;
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease; }
.cal-cell { min-height: 92px; padding: 7px; }
.cal-bicell { min-height: 104px; padding: 8px; }
.cal-cell.cal-empty { border: 0; background: transparent; cursor: default; }
.cal-cell:not(.cal-empty):hover, .cal-bicell:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); box-shadow: 0 6px 18px rgba(0,0,0,.28); }
.cal-cell.cal-weekend, .cal-bicell.cal-weekend { opacity: .6; }
.cal-cell.cal-has { background: color-mix(in srgb, var(--accent) 5%, var(--surface)); }
.cal-cell.cal-is-today, .cal-bicell.cal-is-today { border-color: color-mix(in srgb, var(--accent) 60%, var(--border)); box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent) inset; }
.cal-cell.cal-sel, .cal-bicell.cal-sel { box-shadow: 0 0 0 2px var(--accent) inset; }
.cal-cell.cal-mine-cell::after, .cal-bicell.cal-mine-cell::after { content: "\2605"; position: absolute; top: 5px; right: 6px; font-size: 9px; color:var(--accent-text, var(--accent)); }

.cal-dnum, .cal-bidnum { font-size: var(--fs-xs); font-weight: 650; color: var(--muted); display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 21px; padding: 0 5px; border-radius: 7px; align-self: flex-start; font-variant-numeric: tabular-nums; }
.cal-cell.cal-is-today .cal-dnum, .cal-bicell.cal-is-today .cal-bidnum { background: var(--accent); color: var(--accent-ink); }

/* biweekly event pills */
.cal-events { display: flex; flex-direction: column; gap: 4px; }
.pill { display: flex; align-items: center; gap: 6px; padding: 3px 8px 3px 5px; border-radius: 8px; font-size: var(--fs-xs); line-height: 1.4; border: 1px solid transparent; white-space: nowrap; overflow: hidden; letter-spacing: .1px; }
.pill-earn { background: color-mix(in srgb, var(--c-earn) 15%, var(--surface)); border-color: color-mix(in srgb, var(--c-earn) 34%, transparent); color: color-mix(in srgb, var(--c-earn) 78%, var(--fg)); }
.pill-earn.mine { background: color-mix(in srgb, var(--accent) 17%, var(--surface)); border-color: color-mix(in srgb, var(--accent) 42%, transparent); color: color-mix(in srgb, var(--accent) 82%, var(--fg)); }
.pill-geo { background: color-mix(in srgb, var(--c-geo) 14%, var(--surface)); border-color: color-mix(in srgb, var(--c-geo) 36%, transparent); color: color-mix(in srgb, var(--c-geo) 82%, var(--fg)); font-weight: 600; }
.cal-t-geo .cal-title { color: color-mix(in srgb, var(--c-geo) 72%, var(--fg)); }
.cal-tentative { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 12px; }
.cal-tentative-label { font-size: var(--fs-2xs); color: var(--muted); letter-spacing: 1px; text-transform: uppercase; }
.pill-macro { background: color-mix(in srgb, var(--c-macro) 13%, var(--surface)); border-color: color-mix(in srgb, var(--c-macro) 30%, transparent); color: color-mix(in srgb, var(--c-macro) 82%, var(--fg)); }
.pill-opex, .pill-witching { background: color-mix(in srgb, var(--c-opex) 15%, var(--surface)); border-color: color-mix(in srgb, var(--c-opex) 32%, transparent); color: color-mix(in srgb, var(--c-opex) 78%, var(--fg)); }
.pill-rebal { background: color-mix(in srgb, var(--c-rebal) 15%, var(--surface)); border-color: color-mix(in srgb, var(--c-rebal) 32%, transparent); color: color-mix(in srgb, var(--c-rebal) 74%, var(--fg)); }
.pill-logo { width: 18px; height: 18px; border-radius: 5px; object-fit: contain; background: #fff; flex: 0 0 auto; }
.pill-tk { font-family: var(--font); font-weight: 700; font-size: var(--fs-2xs); }
.pill-ic { flex: 0 0 auto; }
.pill-txt { overflow: hidden; text-overflow: ellipsis; }
.pill-txt.mine { color:var(--accent-text, var(--accent)); font-weight: 600; }
.pill-more { font-size: var(--fs-2xs); color: var(--muted); padding-left: 5px; }

/* month mini-bars */
.cal-mini { display: flex; flex-direction: column; gap: 3px; width: 100%; }
.mbar { display: flex; align-items: center; gap: 6px; font-size: var(--fs-xs); line-height: 1.35; white-space: nowrap; overflow: hidden; color: var(--fg); }
.mbar .bardot { width: 6px; height: 6px; border-radius: 50%; flex: 0 0 auto; }

/* selected-day detail */
.cal-detail { margin-top: 18px; border-top: 1px solid var(--border); padding-top: 14px; }
.cal-day-h { font-weight: 700; font-size: var(--fs-base); color: var(--text); margin-bottom: 10px; }
.cal-empty-day { padding: 12px 0; color: var(--muted); }
.cal-ev { display: flex; gap: 11px; align-items: flex-start; padding: 11px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); margin-bottom: 8px; }
.cal-ev.cal-mine-ev { border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); background: color-mix(in srgb, var(--accent) 6%, var(--surface)); }
.cal-ev-logo { width: 38px; height: 38px; border-radius: 9px; object-fit: contain; background: #fff; flex: 0 0 auto; }
.cal-ico { width: 38px; height: 38px; border-radius: 9px; background: var(--surface-2); display: flex; align-items: center; justify-content: center; font-size: 19px; flex: 0 0 auto; }
.cal-main { flex: 1 1 auto; min-width: 0; }
.cal-kind-label { display:inline-block; margin-bottom:6px; padding:2px 8px; border-radius:6px; font-size:12px; font-weight:650; color:var(--cal-tone); background:color-mix(in srgb,var(--cal-tone) 8%,var(--surface)); }
.cal-ev { border-inline-start:3px solid var(--cal-tone,var(--border)); }
.cal-event-brief { margin:8px 0; line-height:1.6; color:var(--text); }
.cal-title { font-size: var(--fs-sm); font-weight: 650; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.cal-tk { font-family: var(--font); font-size: var(--fs-2xs); color: var(--muted); border: 1px solid var(--border); padding: 1px 6px; border-radius: 5px; }
.cal-tk.on { color:var(--accent-text, var(--accent)); border-color: var(--accent); }
.cal-mine-badge { font-size: var(--fs-2xs); color: var(--accent-ink); background: var(--accent); border-radius: 999px; padding: 1px 8px; font-weight: 700; }
.cal-note { font-size: var(--fs-xs); color: var(--muted); margin-top: 4px; line-height: 1.5; }
.cal-link { display: inline-block; margin-top: 6px; font-size: var(--fs-xs); color:var(--accent-text, var(--accent)); text-decoration: none; }
.cal-link:hover { text-decoration: underline; }
.cal-t-earnings .cal-title { color: color-mix(in srgb, var(--c-earn) 70%, var(--fg)); }
.cal-impact { display: flex; gap: 8px; align-items: baseline; margin-top: 8px; padding: 9px 11px; border-radius: 10px; background: color-mix(in srgb, var(--c-macro) 9%, var(--surface)); border: 1px solid color-mix(in srgb, var(--c-macro) 24%, transparent); }
.cal-impact-tag { flex: 0 0 auto; font-size: var(--fs-2xs); font-weight: 700; color: color-mix(in srgb, var(--c-macro) 80%, var(--fg)); white-space: nowrap; }
.cal-impact-txt { font-size: var(--fs-xs); line-height: 1.6; color: var(--fg); }

@media (max-width: 560px) {
  .cal-grid, .cal-bigrid, .cal-wdrow { gap: 5px; }
  .cal-cell { min-height: 74px; }
  .cal-bicell { min-height: 88px; }
  .pill-logo { width: 16px; height: 16px; }
}

/* ── 雷达 Radar: shared firehose boards (T-layout: wide top bar + grid below) — boards.js ── */
.brd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px; }
.brd-wide { grid-column: 1 / -1; }
.brd-card { border: 1px solid var(--border); border-radius: 14px; background: var(--surface); padding: 13px 15px; min-width: 0; }
.brd-card.brd-wide { background: color-mix(in srgb, var(--accent) 5%, var(--surface)); border-color: color-mix(in srgb, var(--accent) 22%, var(--border)); }
.brd-head { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 8px; min-width: 0; }
.brd-htext { min-width: 0; }
.brd-ico { font-size: 20px; line-height: 1.15; flex: 0 0 auto; }
.brd-title { font-weight: 700; font-size: var(--fs-base); }
.brd-desc { font-size: var(--fs-xs); margin-top: 2px; line-height: 1.4; }
.brd-list { display: flex; flex-direction: column; }
.brd-wide .brd-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; align-items: start; }
.brd-itemw { border-top: 1px solid color-mix(in srgb, var(--border) 55%, transparent); min-width: 0; }
.brd-list > .brd-itemw:first-child { border-top: 0; }
.brd-wide .brd-list > .brd-itemw:nth-child(2) { border-top: 0; }
.brd-item { width: 100%; display: flex; align-items: flex-start; gap: 8px; padding: 8px 3px; background: none; border: 0; text-align: left; cursor: pointer; font: inherit; color: inherit; min-width: 0; border-radius: 7px; transition: background .12s; }
.brd-item:hover { background: color-mix(in srgb, var(--accent) 7%, transparent); }
.brd-tk { font-family: var(--font); font-weight: 700; color:var(--accent-text, var(--accent)); flex: 0 0 auto; font-size: var(--fs-xs); line-height: 1.4; }
.brd-txt { flex: 1 1 auto; min-width: 0; color: var(--fg); font-size: var(--fs-xs); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.brd-dir { flex: 0 0 auto; font-size: .85em; line-height: 1.5; }
.brd-dir.bull { color: var(--bull, #3fb950); }
.brd-dir.bear { color: var(--bear, #f85149); }
.brd-time { flex: 0 0 auto; font-size: var(--fs-2xs); line-height: 1.8; }
.brd-caret { flex: 0 0 auto; color: var(--muted); font-size: var(--fs-xs); line-height: 1.5; transition: transform .15s; }
.brd-itemw.open .brd-caret { transform: rotate(180deg); }
.brd-detail { display: none; padding: 0 3px 10px 3px; }
.brd-itemw.open .brd-detail { display: block; }
.brd-full { font-size: var(--fs-xs); line-height: 1.55; color: var(--fg); margin-bottom: 8px; }
.brd-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.brd-kind { font-size: var(--fs-2xs); font-weight: 600; color: var(--muted); border: 1px solid var(--border); border-radius: 999px; padding: 1px 9px; }
.brd-when { font-size: var(--fs-2xs); }
.brd-chart { font-size: var(--fs-2xs); color:var(--accent-text, var(--accent)); text-decoration: none; font-weight: 700; }
.brd-chart:hover { text-decoration: underline; }
@media (max-width: 640px) { .brd-grid, .brd-wide .brd-list { grid-template-columns: 1fr; } .brd-wide .brd-list > .brd-itemw:nth-child(2) { border-top: 1px solid color-mix(in srgb, var(--border) 55%, transparent); } }

/* Week Ahead strip inside Radar (boards.js weekAheadCard) — scroll-snap day cards + ‹ › nav */
.wa-card { width: 100%; }
.wa-card .brd-head { align-items: center; }
.wa-navs { margin-left: auto; display: inline-flex; gap: 6px; flex: 0 0 auto; }
.wa-nav { width: 32px; height: 32px; border: 1px solid var(--border); background: var(--surface); color: var(--text); border-radius: 8px; cursor: pointer; font-size: 16px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; transition: background .15s, border-color .15s, opacity .15s; }
.wa-nav:hover { background: var(--surface-2); border-color: var(--accent); }
.wa-nav:disabled { opacity: .35; cursor: default; }
.wa-strip { display: flex; gap: 10px; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory; scroll-padding-left: 2px; padding: 2px 2px 8px; scrollbar-width: thin; scrollbar-color: var(--border) transparent; -webkit-overflow-scrolling: touch; }
.wa-strip::-webkit-scrollbar { height: 8px; }
.wa-strip::-webkit-scrollbar-thumb { background: var(--border); border-radius: 999px; }
.wa-day { flex: 0 0 202px; min-width: 0; scroll-snap-align: start; border: 1px solid color-mix(in srgb, var(--border) 70%, transparent); border-radius: 12px; padding: 9px 11px; background: color-mix(in srgb, var(--surface) 80%, transparent); }
.wa-dh { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; margin-bottom: 8px; padding-bottom: 7px; border-bottom: 1px solid color-mix(in srgb, var(--border) 58%, transparent); }
.wa-dow { font-weight: 700; font-size: var(--fs-sm); color: var(--text); }
.wa-date { font-size: var(--fs-2xs); color: var(--muted); font-variant-numeric: tabular-nums; }
.wa-ev { display: block; padding: 6px 0; border-top: 1px solid color-mix(in srgb, var(--border) 45%, transparent); }
.wa-day .wa-ev:first-of-type { border-top: 0; }
.wa-et { display: block; font-size: var(--fs-2xs); color: var(--muted); letter-spacing: .2px; margin-bottom: 1px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.wa-nm { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: normal; overflow-wrap: anywhere; font-size: var(--fs-xs); line-height: 1.3; }
.wa-macro .wa-nm { color: color-mix(in srgb, var(--accent) 78%, var(--text)); font-weight: 600; }
.wa-er .wa-nm { color: color-mix(in srgb, #4ea1ff 80%, var(--text)); font-weight: 700; }
.wa-more { margin-top: 6px; font-size: var(--fs-2xs); color: var(--muted); }
.wa-empty { font-size: var(--fs-xs); color: var(--muted); padding: 4px 0; }
@media (max-width: 560px) { .wa-day { flex: 0 0 78vw; } }

/* ── UI-audit polish: contrast, hierarchy, mobile tap-targets & month labels ── */
@media (pointer: coarse) {
  .cal-fchip, .cal-mode, .cal-today, .cr-chip { min-height: 44px; }
  .cal-mnav, .wa-nav { width: 44px; height: 44px; }
}
@media (max-width: 400px) {
  .cal-mini .pill-txt { display: none; }
  .cal-mini { flex-direction: row; flex-wrap: wrap; gap: 4px; }
  .cal-mini .bardot { width: 7px; height: 7px; }
}

/* Review workspace: clearer hierarchy without changing the market-data palette. */
.route-page { min-width: 0; }
.view-intro { margin: -4px 0 20px; max-width: 62ch; line-height: 1.65; }
.view-head h1 { font-size: clamp(22px, 3vw, 28px); letter-spacing: -.025em; }
.snap { padding: 18px 20px; }
.snap-head { flex-wrap: wrap; gap: 10px; padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.snap .spot { font-size: 23px; font-weight: 700; letter-spacing: -.025em; }
.snap .kv-grid { grid-template-columns: minmax(110px, .8fr) minmax(0, 1.2fr); gap: 10px 20px; padding: 14px 0; margin: 0; }
.snap .kv-grid dd { overflow-wrap: anywhere; text-align: right; }
.snap .pro-rows { border-top: 1px solid var(--border); }
.snap-actions { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 14px; border-top: 1px solid var(--border); }
.login-methods { display: flex; gap: 4px; padding: 4px; margin: 22px 0 12px; background: var(--bg); border: 1px solid var(--border); border-radius: 14px; }
.login-methods .btn { flex: 1; padding: 10px 6px; min-width: 0; font-size: 14px; border: 0; }
.login-methods [aria-pressed="true"] { background: var(--surface-2); color: var(--text); box-shadow: 0 1px 3px #0003; }
.login-label { display: flex; flex-direction: column; gap: 7px; text-align: left; color: var(--muted); font-size: 13px; }
.login-label .input { width: 100%; color: var(--text); }
.login-forgot { align-self: flex-end; padding: 8px 0; }
.recovery .login-block { display: grid; gap: 16px; }
.recovery-status { line-height: 1.6; }
.recovery-help { margin: 20px 0; text-align: left; }
.recovery > a { display: inline-block; margin: 12px 16px 0 0; }
.login .login-block { border: 0; padding-top: 8px; }
.data-notice { font-size: 14px; line-height: 1.6; padding: 12px 14px; border-left: 3px solid var(--accent); background: var(--surface-2); border-radius: 0 10px 10px 0; }
.shared-read-update { margin: 0 0 12px; padding: 4px 10px; background: var(--surface-2); border-left: 3px solid var(--accent); border-radius: 0 10px 10px 0; overflow-wrap: anywhere; }
.shared-read-update:not([hidden]) { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 2px 10px; }
.shared-read-update p { flex: 1 1 140px; margin: 0; font-size: 13px; line-height: 1.5; }
.shared-read-update .btn { flex: 0 0 auto; min-height: 44px; padding: 6px 10px; font-size: 13px; }
.page-app :is(a, button, summary):focus-visible { outline: 2px solid var(--focus-ring, var(--accent)); outline-offset: 3px; }
.page-app .input, .page-app .btn { transition: border-color .15s, background-color .15s, box-shadow .15s; }
@media (max-width: 799px) {
  .app-main { padding: 20px 16px 28px; }
}
@media (max-width: 420px) {
  .snap { padding: 15px; }
  .snap .kv-grid { grid-template-columns: minmax(90px, .8fr) minmax(0, 1.2fr); gap: 10px; font-size: 13px; }
  .snap-head .spacer { display: none; }
  .snap-head .spot { font-size: 21px; }
  .app-top { gap: 7px; padding-left: 10px; padding-right: 10px; }
  .app-top .brand { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-app *, .page-app *::before, .page-app *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
.cr-feed { margin-top: 16px; }
.cr-attribution { margin: 8px 0; line-height: 1.6; }
.cr-evidence { flex-basis: 100%; font-size: 12px; line-height: 1.6; }
.cr-evidence summary { cursor: pointer; color: var(--muted); }
.cr-evidence blockquote { border-left: 2px solid var(--border); margin: 8px 0; padding-left: 10px; }
.event-review h2 { margin: 12px 0; font-size: 21px; }
.event-review-head { display: flex; flex-wrap: wrap; gap: 12px; color: var(--muted); }
.event-price-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 20px 0; border-block: 1px solid var(--border); }
.event-price-grid strong { display: block; font-size: 25px; margin: 10px 0; }
.event-price-grid small { display: block; }
@media (max-width: 420px) { .event-price-grid { gap: 8px; } .event-price-grid strong { font-size: 20px; } }

.profile-reminder{margin:0 0 16px;padding:12px 16px;border:1px solid var(--border);border-radius:12px;font-size:14px;line-height:1.5}.profile-reminder a{text-decoration:underline}

.creators-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.creators-controls .input{flex:1;min-width:180px}.creators-controls [aria-pressed="true"]{border-color:var(--accent);color:var(--accent-text, var(--accent))}.cr-video-title{font-size:16px;line-height:1.5;margin:8px 0}
.creator-person-search{flex:1 1 26rem;min-width:0}.creator-person-search .creator-onboarding{padding:0;margin:0;border:0;background:transparent}.creator-person-search .creator-find-form{margin-top:0}.creator-person-search .creator-find-form label{min-width:0}.creator-person-search .creator-find-form input{min-width:0}.creators-controls>[data-creator-scope]{align-self:flex-start;margin-top:25px}.creator-watch-match{color:var(--accent-text,var(--accent))}
@media(max-width:600px){.creator-person-search{flex-basis:100%}.creators-controls>[data-creator-scope]{margin-top:0}.creator-person-search .creator-find-form{gap:8px}}

/* Keep the brand warm without a neon halo competing with navigation. */
.app-top .avatar-mark { width: 30px; height: 30px; box-shadow: none; }
.app-top .tier-badge.tier-pro { color:var(--accent-text, var(--accent)); background: color-mix(in srgb, var(--accent) 10%, var(--surface)); border-color: color-mix(in srgb, var(--accent) 25%, var(--border)); font-size: 10px; border-radius: 6px; padding: 3px 6px; }
.app-top .lang-toggle, .app-top #logout { font-size: 12px; min-height: 36px; padding: 8px 10px; border-radius: 10px; }
.profile-reminder { max-width: 760px; margin: 0 auto 20px; padding: 12px 16px; font-size: 13px; line-height: 1.6; }
@media (max-width: 380px) { .app-top .brand { font-size: 12px; gap: 5px; } .app-top .avatar-mark { width: 24px; height: 24px; } .app-top { gap: 5px; } .app-top #logout, .app-top .lang-toggle { padding: 8px; } }

/* Radar receipts share the navigation icon system and give the ticker a clear anchor. */
.brd-ico { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 auto; border: 1px solid var(--border); border-radius: 11px; background: var(--surface-2); color:var(--accent-text, var(--accent)); }
.brd-item { display: grid; grid-template-columns: 1fr auto auto; gap: 7px; padding: 14px 4px; align-items: center; }
.brd-tk { font-size: 20px; line-height: 1.25; letter-spacing: -.03em; color: var(--text); grid-column: 1; }
.brd-txt { grid-column: 1; font-size: 13px; line-height: 1.6; -webkit-line-clamp: 3; }
.brd-time { grid-column: 2; grid-row: 1; font-size: 11px; }
.brd-caret { grid-column: 3; grid-row: 1; }
.brd-full { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.75; }
.brd-archive-tag { display: inline-block; margin: 12px 4px 0; padding: 3px 7px; border: 1px solid var(--border); border-radius: 5px; color: var(--muted); font-size: 10px; }
.brd-receipt-note { padding-left: 10px; border-left: 2px solid var(--border); }

.snap-freshness { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; }

.pill-ic .app-icon { width: 12px; height: 12px; }
.cal-ico .app-icon { width: 18px; height: 18px; }

.cr-chip.on { background: color-mix(in srgb, var(--accent) 10%, var(--surface)); color: var(--text); border-color: color-mix(in srgb, var(--accent) 28%, var(--border)); font-weight: 500; }

/* Mobile disclosures: long evidence must expand inside the page, not widen or clip it. */
.app-view, .cr-post, .cr-calls, .cr-call, .cr-evidence, .brd-card, .cal-main { min-width: 0; }
.cr-call { flex-wrap: wrap; max-width: 100%; border-radius: 12px; background: var(--surface-2); color: var(--text); }
.cr-call-note { max-width: 100%; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.cr-evidence { width: 100%; }
.cr-evidence blockquote, .cr-sum, .cr-video-title, .cal-note, .cal-title { overflow-wrap: anywhere; }
.cr-evidence summary, .cr-post summary { min-height: 44px; padding: 10px 0; }
.brd-txt { grid-column: 1 / -1; }
.brd-itemw.open .brd-txt { display: block; overflow: visible; }
.modal-box { max-height: calc(100dvh - var(--safe-top) - 16px); overflow-y: auto; overscroll-behavior: contain; }
.cal-event-count { display: none; }
.cal-mhead { flex-wrap: wrap; }
.cal-mtitle { min-width: 0; flex: 1 1 120px; }
.cal-mnav { flex: 0 0 34px; }
.cal-detail { scroll-margin-top: 12px; }
@media (max-width: 560px) {
  .cal-impact { flex-direction: column; align-items: flex-start; gap: 4px; }
  .cal-grid, .cal-bigrid, .cal-wdrow { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
  .cal-cell, .cal-bicell { padding: 4px 1px; min-width: 0; min-height: 56px; align-items: center; }
  .cal-dnum, .cal-bidnum { align-self: center; padding: 0; }
  .cal-cell .cal-mini, .cal-bicell .cal-events { display: none; }
  .cal-event-count { display: block; color:var(--accent-text, var(--accent)); font-size: 11px; line-height: 16px; }
  .cal-cell.cal-mine-cell::after, .cal-bicell.cal-mine-cell::after { right: 1px; top: 1px; font-size: 7px; }
}
.evidence-page-head{display:flex;justify-content:space-between;gap:24px;align-items:start}.evidence-page-head>p{flex-shrink:0}
.evidence-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin:22px 0}
.evidence-metric{display:flex;flex-direction:column;gap:8px;min-width:0;padding:18px;background:var(--surface)}.evidence-metric strong{font-size:24px;letter-spacing:-.035em;overflow-wrap:anywhere}
.creator-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px;margin:20px 0;max-height:380px;overflow:auto;padding:2px}
.creator-profile{border:1px solid var(--border);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:14px;min-width:0;background:var(--surface)}.creator-profile.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
.creator-identity{display:flex;gap:12px;align-items:center}.creator-identity p{margin:4px 0 0}.creator-monogram{width:40px;height:40px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;flex-shrink:0;color:var(--accent-text, var(--accent))}
.creator-name{font:inherit;font-weight:650;text-align:left;color:var(--text);background:none;border:0;cursor:pointer;padding:0;line-height:1.5}.creator-name:hover{text-decoration:underline}.creator-profile .cr-chip{align-self:start;margin-top:auto}
.creator-about{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.creator-about summary,.creator-audit summary{color:var(--muted);cursor:pointer}.creator-about p{margin:8px 0}.creator-x{border:1px solid var(--border);border-radius:10px;padding:14px 18px;font-size:13px}.creator-x summary{cursor:pointer}.creator-x p{line-height:1.8;max-width:850px}
.evidence-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:20px 0}.evidence-controls [aria-pressed="true"]{color:var(--accent-text, var(--accent));border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.evidence-controls select{width:auto;max-width:100%;min-height:40px}.evidence-controls input{flex:1;min-width:160px}.evidence-controls button{min-height:40px}
.creators-view .cr-feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.creators-view .cr-post{margin:0;border:1px solid var(--border);border-radius:16px;padding:24px;min-width:0}.cr-post .cr-sum{font-size:14px;line-height:1.85}.cr-post .cr-video-title{font-size:18px;line-height:1.55;margin:14px 0}.creator-source-facts{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:11px;color:var(--muted);margin:12px 0}.creator-audit{margin-top:18px;font-size:12px}.creator-audit code,.cr-evidence code{display:block;overflow-wrap:anywhere;white-space:normal;font-size:10px;color:var(--muted);margin:12px 0}.cr-sections summary{cursor:pointer;padding:8px 0}.cr-sections>div{border-left:1px solid var(--border);padding:8px 0 8px 14px;margin:8px 0}.cr-sections p{line-height:1.85;font-size:13px}.cr-call{padding:14px;border-radius:10px}.cr-call .btn{margin-left:auto}
.research-method{border-left:3px solid var(--accent);padding:12px 16px;background:var(--surface-2);font-size:13px;line-height:1.8}.study-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.study-row{border:1px solid var(--border);border-radius:16px;padding:22px;min-width:0}.study-row h3{font-size:15px;line-height:1.6;margin:14px 0 8px}.study-heading{display:flex;gap:12px;align-items:center}.study-heading>a{font-size:22px;font-weight:650}.evidence-badge{margin-left:auto;font-size:10px;letter-spacing:.05em;border:1px solid var(--border);border-radius:5px;padding:4px 7px;color:var(--muted)}
.evidence-timeline{margin:18px 0;display:grid;gap:12px;padding-left:14px;border-left:1px solid var(--border)}.evidence-timeline>div{display:flex;justify-content:space-between;gap:12px}.evidence-timeline dt{font-size:11px;color:var(--muted)}.evidence-timeline dd{font-size:11px;margin:0;text-align:right}.study-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin:16px 0}.study-results .evidence-metric{padding:12px}.study-results strong{font-size:20px}.study-status{padding:12px;background:var(--surface-2);border-radius:8px;font-size:13px;line-height:1.7}
.signal-archive{scroll-margin-top:24px}.signal-archive:not(:empty){margin-top:32px;padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.signal-day{font-size:12px;color:var(--muted);letter-spacing:.03em;padding-top:20px}.signal-history-list .brd-itemw{border:1px solid var(--border);border-radius:12px;margin:10px 0;padding:8px 16px}.signal-history-list .brd-txt{-webkit-line-clamp:2}.brd-card>.btn{margin-top:16px}.brd-grid .brd-wide{grid-column:auto}.brd-wide .brd-list{grid-template-columns:1fr}
@media(max-width:900px){.evidence-page-head{display:block}.creators-view .cr-feed,.study-list{grid-template-columns:1fr}.evidence-metric{padding:14px}.evidence-metric strong{font-size:22px}}
@media(max-width:480px){.evidence-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.creator-directory{grid-template-columns:1fr;max-height:290px}.creators-view .cr-post,.study-row{padding:17px}.study-results .evidence-metric{padding:9px}.study-results strong{font-size:18px}.study-results .small{font-size:10px}.evidence-timeline>div{display:block}.evidence-timeline dd{text-align:left;margin-top:4px}.signal-archive:not(:empty){padding:16px}.evidence-controls{gap:8px}.evidence-controls button{min-height:44px}}
.study-figure{margin:18px 0 8px;min-width:0}.study-chart{display:block;width:100%;height:auto;max-height:180px}.study-figure figcaption{font-size:10px;text-align:right}.brd-disclosure{grid-column:1 / -1;color:var(--accent-text, var(--accent));font-size:11px;text-align:left}

/* Google and email account entry */
body:is([data-route="register"],[data-route="oauth"]) .app-nav { display:none; }
.google-login-block { margin:1.5rem 0; }
.google-login { width:100%; background:#fff; color:#202124; border:1px solid #dadce0; font-weight:600; text-align:center; }
.google-login:hover { background:#f0f3f7; color:#202124; }
.google-login-block p { text-align:center; margin-top:.7rem; }
.login-signup { display:block; margin-top:1rem; }
.profile .field { min-width:0; }

/* Completed-month history stays separate from the dated event agenda. */
.seasonality-view { margin-top:24px; min-width:0; }
.seasonality-view h2 { font-size:23px; line-height:1.4; }
.season-macro { padding:20px; background:var(--surface-2); border:1px solid var(--border); border-radius:12px; margin-bottom:28px; }
.season-macro h3 { margin:0 0 10px; font-size:16px; }
.season-macro summary { cursor:pointer; font-weight:600; font-size:14px; line-height:1.6; color:var(--accent-text, var(--accent)); }
.season-macro p { line-height:1.8; }.season-macro ul { list-style:none; padding:0; margin:16px 0; }
.season-macro li { display:flex; flex-wrap:wrap; gap:8px 24px; font-size:13px; padding:10px 0; border-top:1px solid var(--border); }
.season-macro li .mono { min-width:190px; }.season-macro a { color:var(--accent-text, var(--accent)); }
.season-month { display:block; margin-top:24px; font-size:22px; font-weight:650; }
.seasonality-view .season-slider { display:block; width:100%; padding:0; min-height:44px; margin:8px 0 0; accent-color:var(--accent); cursor:ew-resize; }
.season-scale { display:flex; justify-content:space-between; color:var(--muted); font-size:11px; }
.season-controls { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin:24px 0 16px; }
.season-controls label { font-size:12px; display:grid; gap:6px; min-width:0; }.season-controls select { width:auto; max-width:100%; min-height:44px; }
.season-controls [aria-pressed="true"] { border-color:var(--accent); color:var(--accent-text, var(--accent)); background:color-mix(in srgb,var(--accent) 8%,var(--surface)); }
.season-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:20px 0; }
.season-metrics article { padding:20px; border:1px solid var(--border); border-radius:12px; min-width:0; }
.season-metrics b,.season-metrics strong,.season-metrics span { display:block; }.season-metrics strong { font-size:32px; margin:12px 0 4px; }.season-metrics p { margin:14px 0 0; line-height:1.7; }
.season-legend { display:flex; gap:20px; align-items:center; font-size:12px; margin:18px 0 8px; }
.season-spy { color:var(--accent-text, var(--accent)); }.season-qqq { color:var(--blue,#4ea1ff); }
[data-theme="light"] .season-spy { color:#945000; } [data-theme="light"] .season-qqq { color:#255ca4; }
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) .season-spy { color:#945000; }
  :root:not([data-theme="dark"]) .season-qqq { color:#255ca4; }
}
.season-chart-nav { display:flex; justify-content:space-between; gap:12px; margin-bottom:12px; }
.season-bars { display:flex; width:100%; overflow-x:auto; overscroll-behavior-x:contain; gap:12px; padding:12px 8px 20px; border:1px solid var(--border); border-radius:12px; scrollbar-color:var(--muted) var(--surface); }
.season-year { flex:0 0 64px; text-align:center; font-size:12px; }.season-year > span { display:block; font-size:11px; line-height:1.8; }
.season-pair { display:flex; justify-content:center; gap:6px; height:144px; position:relative; margin-bottom:12px; }
.season-pair::before { content:''; position:absolute; top:50%; inset-inline:0; border-top:1px solid var(--muted); }
.season-track { width:18px; position:relative; }.season-bar { position:absolute; left:0; width:100%; border-radius:2px; background:var(--accent); }.season-bar.qqq { background:var(--blue,#4ea1ff); }
.season-details { margin-top:20px; border-top:1px solid var(--border); }.season-details summary { cursor:pointer; color:var(--accent-text, var(--accent)); min-height:44px; padding:16px 0; }.season-details p { line-height:1.8; }.season-details a { font-size:12px; }
.season-table { width:100%; border-collapse:collapse; font-size:13px; }.season-table caption { text-align:left; color:var(--muted); padding:14px 0; }.season-table td,.season-table th { text-align:right; padding:12px 8px; border-bottom:1px solid var(--border); }.season-table th:first-child { text-align:left; }
.season-bars:focus-visible,.season-slider:focus-visible { outline:2px solid var(--focus-ring, var(--accent)); outline-offset:3px; }
@media(max-width:480px) { .seasonality-view h2 { font-size:20px; }.season-metrics { gap:10px; }.season-metrics article { padding:12px; }.season-metrics strong { font-size:27px; }.season-metrics .small { font-size:11px; }.season-macro { padding:14px; }.season-controls { align-items:stretch; }.season-controls label { width:100%; } }

/* Creator setup, evidence workspace and portfolio scenarios. */

.creator-onboarding{padding:24px;margin:14px 0 24px;border:1px solid var(--border);border-radius:16px;background:var(--surface2)}.creator-setup-heading h2{font-size:1.35rem;margin:2px 0 8px}.creator-find-form{display:flex;gap:12px;align-items:end;margin-top:20px}.creator-find-form label{display:grid;gap:7px;flex:1}.creator-find-form label>span{font-size:.8rem;color:var(--muted)}.creator-find-form input{width:100%}.creator-example{border:0;background:none;color:var(--accent-text, var(--accent));padding:12px 0 0;text-align:left;cursor:pointer;overflow-wrap:anywhere;font-size:.8rem}.creator-find-results:empty{display:none}.creator-find-results{margin-top:16px}.creator-candidate{display:flex;align-items:center;width:100%;gap:12px;text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;margin-top:8px;cursor:pointer}.creator-candidate>span:nth-child(2){flex:1;min-width:0}.creator-candidate small{display:block;overflow-wrap:anywhere;margin-top:4px}.creator-avatar{flex:none;width:44px;height:44px;border-radius:50%;object-fit:cover}.creator-workspace-tabs{display:flex;gap:5px;border-bottom:1px solid var(--border);margin:8px 0 22px;overflow-x:auto}.creator-workspace-tabs button{flex:1;min-width:max-content;background:transparent;color:var(--muted);border:0;border-bottom:2px solid transparent;padding:15px 18px;cursor:pointer;font:inherit;font-weight:600}.creator-workspace-tabs button[aria-pressed=true]{color:var(--accent-text, var(--accent));border-bottom-color:var(--accent);background:var(--surface2)}.creator-workspace-tabs button:hover{color:var(--text)}.creator-selected{display:flex;align-items:center;justify-content:space-between;font-weight:600}.creator-card-coverage{font:11px var(--mono);color:var(--muted);margin:12px 0}.creator-analysis-state{font-size:.75rem;color:var(--accent-text, var(--accent));line-height:1.6}.creator-directory{max-height:360px}.creator-confirm{width:min(560px,calc(100vw - 32px));max-height:85dvh;overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:20px;padding:28px;box-shadow:0 24px 90px #0009}.creator-confirm::backdrop{background:#000b;backdrop-filter:blur(4px)}.creator-confirm h2{font-size:1.4rem;margin:8px 0 24px}.creator-confirm .creator-identity h3{margin:0}.creator-confirm p{line-height:1.7;overflow-wrap:anywhere}.creator-confirm-note{border-left:2px solid var(--accent);padding-left:14px;color:var(--muted);font-size:.85rem}.creator-confirm .evidence-controls{justify-content:flex-end;margin-top:24px}.creator-allocation{display:flex;height:26px;overflow:hidden;border-radius:6px;margin:16px 0 10px;font:10px var(--mono);color:#081510}.creator-allocation span{display:grid;place-items:center;min-width:0;flex-basis:0}
@media(max-width:720px){.creator-onboarding{padding:16px}.creator-find-form{flex-direction:column;align-items:stretch}.creator-workspace-tabs button{padding:13px 11px;font-size:.85rem}.creator-confirm{padding:20px}.creator-confirm .evidence-controls{flex-direction:column}.creator-confirm .btn{width:100%}.creator-selected{align-items:start;gap:10px}.creator-workspace .evidence-controls select{max-width:100%}}
.creator-confirm .evidence-controls{position:sticky;bottom:-28px;background:var(--surface);padding:14px 0;border-top:1px solid var(--border);margin-bottom:-28px}.creator-confirm .small{font-size:.8rem}
@media(max-width:720px){.creator-confirm .evidence-controls{bottom:-20px;margin-bottom:-20px}}
@media(max-width:720px){.creator-workspace-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:0}.creator-workspace-tabs button{min-width:0;white-space:normal}}

/* Creator starting points (the natural-language alert composer was retired 2026-10-07). */
.creator-pick:hover{border-color:var(--accent);color:var(--accent-text, var(--accent))}
.creator-pick:focus-visible{outline:2px solid var(--focus-ring, var(--accent));outline-offset:3px}
.creator-example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 24px}
.creator-pick{appearance:none;text-align:left;cursor:pointer;border:1px solid var(--border);border-radius:12px;padding:16px;background:var(--surface-2);color:var(--text);font:inherit;min-width:0}
.creator-pick strong,.creator-pick span{display:block;overflow-wrap:anywhere}.creator-pick strong{font-size:14px;margin-bottom:5px}.creator-pick span{font-size:12px;color:var(--muted)}
@media(max-width:560px){.creator-example-grid{grid-template-columns:1fr}.creator-pick{padding:14px}}

/* Creator search: shared directory suggestions and durable follow feedback. */
.creator-suggestions{margin-top:8px;border:1px solid var(--border);border-radius:12px;overflow:hidden;max-height:300px;overflow-y:auto}
.creator-suggestions[hidden]{display:none}
.creator-suggestion{display:flex;gap:12px;align-items:center;width:100%;padding:12px;text-align:left;border:0;border-bottom:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font:inherit}
.creator-suggestion:last-child{border-bottom:0}.creator-suggestion:hover,.creator-suggestion[aria-selected=true]{background:var(--surface2);outline:2px solid var(--focus-ring, var(--accent));outline-offset:-2px}
.creator-suggestion>span{min-width:0}.creator-suggestion strong,.creator-suggestion small{display:block;overflow-wrap:anywhere}.creator-suggestion small{font-size:.75rem;margin-top:4px}
.creator-follow-success{border-left:3px solid var(--accent);padding:12px 16px;background:var(--surface2);border-radius:6px;line-height:1.6;overflow-wrap:anywhere}

/* Company search: visible instrument labels and independent 44px watch actions. */
.symbol-picker { flex:1; min-width:0; position:relative; }
.symbol-picker > input { width:100%; font-size:16px; }
.page-app .symbol-picker > input { font-size:16px; min-height:44px; }
.page-app .app-view:has(.symbol-options:not([hidden])) { position:relative; z-index:1; }
.symbol-options { position:absolute; left:0; right:0; top:calc(100% + 4px); z-index:40; background:var(--bg,#101010); border:1px solid var(--accent,#ff9800); border-radius:12px; padding:6px; box-shadow:0 18px 45px #0009; max-height:min(340px,48dvh,var(--symbol-available-height,340px)); overflow-y:auto; overscroll-behavior:contain; }
.symbol-options[hidden] { display:none; }
.symbol-options-above { top:auto; bottom:calc(100% + 4px); }
.symbol-option { display:grid; grid-template-columns:68px minmax(0,1fr) auto; align-items:center; gap:10px; padding:12px 10px; min-height:48px; border-radius:7px; cursor:pointer; }
.symbol-option:hover, .symbol-option[aria-selected=true] { background:color-mix(in srgb,var(--accent,#ff9800) 15%,transparent); }
.symbol-option[aria-disabled=true] { opacity:.65; cursor:default; }
.symbol-name { min-width:0; overflow-wrap:anywhere; font-size:.9rem; }
.symbol-status { min-height:20px; margin-top:4px; }
.symbol-picker:has(> input[aria-expanded="true"]) > .symbol-status { position:absolute; width:1px; height:1px; min-height:0; padding:0; margin:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.symbol-tags { display:flex; flex-wrap:wrap; gap:4px; margin:4px 0; }
.symbol-tag { display:inline-block; border:1px solid var(--border); border-radius:4px; padding:1px 5px; color:var(--muted); font-size:.6875rem; line-height:1.5; white-space:nowrap; }
.symbol-options-actions .symbol-option { grid-template-columns:minmax(0,1fr) minmax(64px,auto); gap:8px; padding:4px; cursor:default; }
.symbol-select-cell { min-width:0; }
.symbol-identity { min-width:0; }
.symbol-detail { font-size:.75rem; line-height:1.45; margin-top:3px; }
.symbol-detail .symbol-exchange { display:inline; white-space:nowrap; }
.symbol-select { display:grid; grid-template-columns:68px minmax(0,1fr); gap:10px; align-items:center; width:100%; min-height:44px; padding:8px 4px; border:0; border-radius:6px; text-align:left; color:var(--text); background:transparent; font:inherit; cursor:pointer; }
.symbol-select:focus-visible,.symbol-add:focus-visible { outline:2px solid var(--focus-ring,var(--accent)); outline-offset:1px; }
.symbol-select:disabled { cursor:default; }
.symbol-action-cell { display:flex; flex-direction:column; align-items:center; gap:4px; max-width:145px; }
.page-app .symbol-options .symbol-add { min-height:44px; }
.symbol-add { min-width:64px; min-height:44px; padding:8px 12px; font-size:.8125rem; white-space:normal; }
.symbol-reason,.symbol-action-note { color:var(--muted); font-size:.75rem; line-height:1.4; overflow-wrap:anywhere; text-align:center; }
.symbol-blocked .symbol-select { color:var(--muted); }
.symbol-blocked { background:color-mix(in srgb,var(--muted) 5%,transparent); }
.add-row:has(.symbol-picker) { align-items:flex-start; }
@media(max-width:560px) {
 .symbol-option { grid-template-columns:60px minmax(0,1fr); gap:6px; }
 .symbol-option > .symbol-exchange { grid-column:2; }
 .symbol-options-actions .symbol-option { grid-template-columns:minmax(0,1fr) 68px; gap:5px; }
 .symbol-select { grid-template-columns:minmax(0,1fr); gap:3px; padding:6px 4px; }
 .symbol-identity { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
 .symbol-identity .symbol-tags { margin:0; }
 .symbol-select .symbol-name { font-size:.8125rem; }
 .symbol-select .symbol-detail { font-size:.6875rem; }
 .symbol-select .symbol-exchange { font-size:.6875rem; }
 .symbol-action-cell { max-width:68px; }
 .symbol-add { min-width:64px; width:100%; padding:8px 4px; }
 .symbol-reason,.symbol-action-note { font-size:.6875rem; }
}

/* Event dossiers keep the scan brief; evidence expands in place. */
.event-insight { margin-top:14px; }
.event-eyebrow { display:block; color:var(--accent-text, var(--accent)); font-size:.75rem; font-weight:650; margin-bottom:5px; }
.event-hint { border-left:2px solid var(--accent,#ff9800); padding:2px 0 2px 12px; }
.event-hint p,.event-relevance p { margin:4px 0 8px; font-size:.875rem; line-height:1.65; }
.event-schedule { margin:8px 0 14px; }
.event-relevance { padding:12px 0; border-top:1px solid #ffffff12; }
.event-related-chips { display:flex; flex-wrap:wrap; gap:7px; }
.event-related { display:flex; gap:5px 10px; flex-wrap:wrap; align-items:center; border:1px solid #ffffff20; border-radius:9px; padding:8px 10px; text-decoration:none; font-size:.8rem; }
.event-related .small { flex-basis:100%; font-size:.75rem; }
.event-basis { margin-top:9px; font-size:.75rem; color:var(--muted,#9098a2); }
.event-source-link { display:block; margin:6px 0; overflow-wrap:anywhere; }
.event-evidence { background:#ffffff04; border:1px solid #ffffff18; border-radius:10px; margin-top:6px; }
.event-evidence > summary { padding:12px 14px; font-size:.875rem; cursor:pointer; font-weight:600; }
.event-evidence[open] > summary { border-bottom:1px solid #ffffff12; }
.event-evidence-body { padding:0 14px 14px; }
.event-evidence-caption { font-size:.8rem; line-height:1.6; }
.event-evidence-toolbar { display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; }
.event-stock.input { width:auto; min-width:110px; padding:7px 10px; font-size:.85rem; }
.event-horizons { display:flex; gap:4px; }
.event-horizons .active { color:var(--accent-text, var(--accent)); border-color:var(--accent,#ff9800); }
.event-stats { display:grid; grid-template-columns:1fr 1fr 1.4fr; gap:10px; margin:14px 0; }
.event-stats strong { display:block; margin-top:4px; font-size:1.1rem; }
.event-distribution { height:6px; display:flex; overflow:hidden; border-radius:4px; }
.event-up { background:var(--pos,#4dbb77); }.event-down { background:var(--neg,#ec655a); }.event-flat { background:#888; }
.event-caveat { line-height:1.6; color:var(--muted,#a0a5ad); }
.event-table-scroll { overflow:auto; max-height:360px; margin-top:10px; }
.event-sample-table { font-size:.75rem; width:100%; border-collapse:collapse; white-space:nowrap; }
.event-sample-table th,.event-sample-table td { padding:9px 10px; border-bottom:1px solid #ffffff14; text-align:left; }
.event-sample-table th { background:var(--bg,#111); position:sticky; top:0; }
.event-samples summary { font-size:.8rem; cursor:pointer; }
.event-upgrade { display:inline-block; margin:10px 0; font-size:.8rem; }
.cal-main { min-width:0; }
@media(max-width:560px) {
 .event-stats { grid-template-columns:1fr 1fr; }
 .event-stats > :last-child { grid-column:1/-1; }
 .event-evidence-body { padding:0 10px 10px; }
 .event-related { max-width:100%; }
 .event-evidence-toolbar { align-items:flex-start; }
 .event-horizons .btn { padding:7px 8px; }
}
@media(max-width:560px) {
 .cal-ev { display:block; position:relative; }
 .cal-ev > .cal-ico,.cal-ev > .cal-ev-logo { position:absolute; top:11px; left:11px; width:28px; height:28px; }
 .cal-ev .cal-kind-label { margin-left:36px; min-height:28px; display:inline-flex; align-items:center; }
 .cal-ev .cal-title { padding-left:36px; min-height:30px; }
 .event-horizons { flex-wrap:wrap; }
 .event-stats strong { font-size:1rem; }
}

.event-recent-history{margin-top:1.5rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.event-recent-history h4{grid-column:1/-1;margin:0}
.event-past-card{border:1px solid var(--border);border-radius:10px;padding:.9rem;min-width:0;overflow-wrap:anywhere}
.event-past-card>div{display:flex;flex-direction:column;gap:.25rem}.event-past-card p{margin:.6rem 0}
.event-year-label{display:flex;align-items:center;gap:.8rem;margin:1rem 0}.event-year-label select{max-width:160px}
@media(max-width:680px){.event-recent-history{grid-template-columns:1fr}}
/* Dated market context shares evidence and calendar navigation across the app. */
.briefing-notes, .screen-method, .screen-coverage { margin-block: .75rem; }
.briefing-notes > summary, .screen-method > summary, .screen-coverage > summary { cursor: pointer; min-height: 44px; align-content: center; font-size: .9rem; color: var(--muted); }
.market-evidence-item a { overflow-wrap: anywhere; }
.prediction-contract summary { cursor: pointer; color:var(--accent-text, var(--accent)); padding-block: .45rem; }
.market-evidence-item { padding-block: .8rem; border-top: 1px solid var(--line,#303238); }
.prediction-panel { border-top: 1px solid var(--line,#303238); margin-top: 1rem; padding-top: .5rem; }
.prediction-panel h4 { margin-bottom: .5rem; }
.prediction-contract { padding: .8rem 0; border-bottom: 1px solid var(--line,#303238); }
.prediction-contract h5 { font-size: .94rem; margin: 0 0 .5rem; overflow-wrap: anywhere; }
.prediction-outcomes { display: flex; flex-wrap: wrap; gap: .5rem; }
.prediction-outcome { display: flex; gap: .75rem; align-items: baseline; border: 1px solid var(--line,#303238); border-radius: 8px; padding: .35rem .6rem; }
.prediction-outcome strong { color:var(--accent-text, var(--accent)); }
.prediction-rules { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 18rem; overflow: auto; }

.billing-currency{margin:20px 0}.billing-currency label{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.billing-currency select{padding:10px 12px;max-width:100%;border:1px solid var(--line,#343b44);border-radius:10px;background:var(--card,#12161b);color:inherit}

/* Same-stock combined filters and the matching reminder workflow. */
.signal-screen{margin:1rem 0 1.5rem;border:1px solid var(--border,#343434);border-radius:16px;background:var(--surface,#141414);overflow:hidden}
.signal-screen>summary{padding:1rem 1.2rem;cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.2rem}
.signal-screen>summary strong{color:var(--accent-text, var(--accent))}
.signal-screen>summary .muted{font-size:.85rem}
.screen-body{padding:0 1.2rem 1.2rem}
.screen-presets,.screen-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:.8rem 0}
.page-app .signal-screen .screen-presets .btn,.page-app .signal-screen .screen-days-shortcuts .btn{min-height:44px;min-width:44px;white-space:normal}
.page-app .signal-screen .screen-actions .btn,.page-app .signal-screen .screen-saved-tools .btn,.page-app .screen-saved .btn{min-height:44px;min-width:44px}
.page-app .signal-screen .input{font-size:16px;min-height:44px}
.screen-selected-mark{display:none}
.screen-presets [aria-pressed=true] .screen-selected-mark{display:inline;margin-right:.35rem}
.signal-screen .screen-presets [aria-pressed=true],.signal-screen .screen-days-shortcuts [aria-pressed=true],.screen-event-choice.is-selected,.screen-check.is-selected,.screen-saved-row.is-selected{
  border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--text)}
.signal-screen .screen-presets [aria-pressed=true],.signal-screen .screen-days-shortcuts [aria-pressed=true]{box-shadow:inset 0 -3px 0 var(--accent)}
.screen-field-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem}
.screen-applied{font-size:.75rem;color:var(--accent-text,var(--accent));font-weight:600}
.screen-field.is-selected .input{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}
.screen-saved-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}
.screen-saved-tools select{width:auto;max-width:100%}
.screen-selection{padding:.75rem 0;border-top:1px solid var(--border);font-size:.9rem;overflow-wrap:anywhere}
.screen-days{margin-top:1rem;min-width:0;border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem}
.screen-days legend{padding:0 .4rem;font-weight:600}
.screen-days-control{display:flex;align-items:center;gap:1rem}
.screen-days-range{flex:1;min-width:0;height:44px;accent-color:var(--accent);cursor:pointer}
.screen-days-number{display:flex;align-items:center;gap:.4rem;flex:none}
.screen-days-number .input{width:5.5rem;font-size:16px;min-height:44px}
.screen-days-shortcuts{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.3rem}
.screen-days p{margin:.6rem 0 0}
.screen-days.is-selected legend{color:var(--accent-text,var(--accent))}
.screen-event-choice:focus-within,.screen-check:focus-within,.screen-days-range:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.screen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;margin:1rem 0}
.screen-field{display:flex;flex-direction:column;gap:.45rem;font-size:.85rem;min-width:0}
.screen-field .input{width:100%;min-width:0}
.screen-check{display:flex;gap:.6rem;align-items:center;line-height:1.5;cursor:pointer;min-height:44px;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;width:fit-content;max-width:100%}
.screen-check input,.screen-events input{margin-top:.3rem;flex:0 0 auto;accent-color:var(--accent,#eda33b)}
.screen-technical{padding-top:.8rem;border-top:1px solid var(--border,#343434)}
.screen-events{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem;padding:1rem;border:1px solid var(--border,#343434);border-radius:10px}
.screen-events legend{padding:0 .4rem;font-weight:600}
.screen-events label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer;max-width:100%;min-height:44px;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px}
.screen-check input,.screen-events input{margin-top:0;width:16px;height:16px}
.screen-save{margin:1.2rem 0;padding:1rem;border:1px solid var(--border,#343434);border-radius:10px;background:color-mix(in srgb,var(--accent) 4%,var(--surface))}
.screen-save .screen-field{margin:.7rem 0;max-width:560px}
.screen-diagnostics{grid-column:1/-1}
.screen-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:.8rem}
.screen-match{padding:1rem;min-width:0}
.screen-match p{margin:.5rem 0}
.screen-match-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;align-items:center}
.screen-match-head>div{display:flex;gap:.6rem;flex-wrap:wrap;min-width:0;overflow-wrap:anywhere}
.screen-evidence{display:flex;flex-wrap:wrap;gap:.35rem .7rem;padding:.55rem 0;border-top:1px solid var(--border,#343434);font-size:.85rem}
.screen-unknown,.screen-empty{grid-column:1/-1}
.screen-unknown{padding:1rem;border:1px dashed var(--border,#343434);border-radius:10px}
.screen-unknown summary,.screen-hit summary{cursor:pointer;line-height:1.6;overflow-wrap:anywhere}
.screen-saved{margin-top:2rem;border-top:1px solid var(--border,#343434);padding-top:1rem}
.screen-saved-list{display:grid;gap:.8rem;margin-top:1rem}
.screen-saved-row{padding:1rem;overflow-wrap:anywhere}
.screen-saved-row h3{margin:0 0 .5rem}
/* 条件提醒 management (owner 2026-10-07): compact monitor rows, "⋯" actions, collapsed 口径, legacy rows at the bottom. */
.screen-saved-row.monitor-row{padding:.65rem .8rem;display:grid;gap:.3rem}
.monitor-row-head{display:flex;align-items:center;gap:.5rem;min-width:0}
.monitor-row-title{flex:1 1 8rem;min-width:0;margin:0;font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.monitor-chip{font-family:inherit;font-size:12px;line-height:1.4;padding:2px 9px;white-space:nowrap;flex:0 0 auto}
.monitor-chip[data-monitor-chip=active]{color:var(--green,#3fa66b);border-color:color-mix(in srgb,var(--green,#3fa66b) 60%,transparent)}
.monitor-chip[data-monitor-chip=stopped],.monitor-chip[data-monitor-chip=access]{color:var(--muted)}
.monitor-chip[data-monitor-chip=waiting],.monitor-chip[data-monitor-chip=paused]{color:var(--yellow,#b58a12);border-color:color-mix(in srgb,var(--yellow,#b58a12) 60%,transparent)}
.monitor-chip[data-monitor-chip=draft],.monitor-chip[data-monitor-chip=trial]{color:var(--muted)}
.page-app .monitor-more{flex:0 0 auto;min-width:44px;min-height:44px;padding:0;font-size:20px;line-height:1}
.monitor-row-sentence{min-width:0}
.monitor-row-meta{margin:0}
.page-app .screen-saved .monitor-actions{margin:.2rem 0 0}
.page-app .screen-saved .monitor-actions .btn{min-height:44px;white-space:normal}
.monitor-row-basis{font-size:12px;color:var(--muted)}
.monitor-row-basis>summary{cursor:pointer;display:inline-flex;align-items:center;min-height:32px;padding:0 2px}
.monitor-row-basis .monitor-terms p{margin:.3rem 0;overflow-wrap:anywhere}
.alert-row.monitor-row-compact{flex-wrap:wrap;align-items:center}
.alert-row.monitor-row-compact>div{flex:1 1 10rem;min-width:0}
.alert-row.monitor-row-compact h3,.alert-row.monitor-row-compact p{margin:0}
.alerts-legacy{margin-top:.6rem}
.alerts-legacy>summary{cursor:pointer;display:flex;align-items:center;gap:.5rem;min-height:44px;font-weight:600}
.alerts-legacy[open]>summary{margin-bottom:.4rem}
.alerts-legacy .screen-saved-list{margin-top:.6rem}
.alerts-legacy .alist{margin-top:.8rem}
.alert-custom-panel .screen-saved{margin-top:.4rem;border-top:0;padding-top:0}
.alert-custom-panel .screen-saved-list{margin-top:.4rem}
.screen-hit{padding:1rem;border:1px solid var(--border,#343434);border-radius:10px}
.screen-hit .screen-match{margin-top:.8rem}
@media(max-width:560px){.screen-body{padding:0 .8rem 1rem}.signal-screen>summary{padding:.9rem .8rem}.screen-grid{grid-template-columns:1fr}.screen-presets .btn{white-space:normal;text-align:left}.screen-events{padding:.7rem;display:grid;grid-template-columns:1fr}.screen-actions>.btn{flex:1 1 130px;white-space:normal}.screen-match-head .btn{padding-left:0}.screen-field span{line-height:1.4}}

.creator-stock-filter{display:flex;align-items:flex-end;gap:.6rem;flex-basis:100%;margin-top:.4rem}
.creator-stock-filter label{display:grid;gap:.25rem;flex:1;min-width:0;max-width:360px}
.creator-stock-filter input{width:100%;min-width:0}.creator-stock-context{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}
@media(max-width:480px){.creator-stock-filter{align-items:stretch;flex-direction:column}.creator-stock-filter label{max-width:none}}
.radar-access-note{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;padding:.8rem 1rem;border:1px solid var(--border,#343434);border-radius:12px;margin:.7rem 0 1rem;font-size:.86rem}
.radar-access-note p{flex:1 1 280px;line-height:1.55;margin:0}
.screen-coverage{grid-column:1/-1;line-height:1.65}
/* Macro evidence: accessible line charts, with separate units and explicit gaps. */
.macro-beta { margin-block: 1rem; --macro-green:#63d99b; --macro-blue:#8bafff; }
html[data-theme="light"] .macro-beta { --macro-green:#147443; --macro-blue:#345da6; }
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) .macro-beta { --macro-green:#147443; --macro-blue:#345da6; }
}
.macro-heading h2 { margin: .35rem 0 .6rem; font-size: clamp(22px,2vw,28px); line-height:1.3; }
.macro-scores { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .6rem; margin-block: 1.25rem; }
.macro-score { display: flex; flex-direction: column; gap: .35rem; padding: .7rem 1rem; border-left: 2px solid color-mix(in srgb,var(--macro-green) 45%,var(--border)); }
.macro-score strong { color: var(--macro-green); font-size: clamp(1.8rem,4vw,2.65rem); font-weight: 500; line-height: 1.1; }
.macro-annotation { border-left: 2px solid var(--macro-green); padding: .65rem 1rem; background: color-mix(in srgb,var(--macro-green) 8%,var(--surface)); }
.macro-controls,.macro-tabs,.macro-legend { display: flex; gap: .35rem; flex-wrap: wrap; }
.macro-controls { justify-content: space-between; margin-block: 1.2rem .5rem; }
.macro-tabs { max-width: 100%; }
.macro-readout { display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap; min-height: 2.1rem; padding: .5rem 0; }
.macro-readout>strong { color: var(--muted); }
.macro-chart svg { width: 100%; height: auto; min-height: 180px; display: block; touch-action: pan-y; }
.macro-date-label { display: flex; flex-direction: column; gap: .3rem; color: var(--muted); font-size: .78rem; }
.macro-date-slider { width: 100%; accent-color: var(--macro-green); margin: .2rem 0; min-height: 24px; }
.macro-legend { gap: 1rem; align-items: center; margin-block: .65rem 1.4rem; }
.macro-legend span { display: flex; align-items: center; gap: .4rem; }
.macro-legend i { width: 16px; height: 2px; display: inline-block; }
.macro-evidence,.macro-validation { border-top: 1px solid var(--border); padding-block: .75rem; }
.macro-evidence summary,.macro-validation summary { cursor: pointer; padding-block: .4rem; }
.macro-metrics { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: .8rem; margin-block: 1rem; }
.macro-metrics>div { display: flex; flex-direction: column; gap: .25rem; }
.macro-contributions { display: grid; grid-template-columns: 1fr auto; gap: .5rem 1rem; }
.macro-contributions dd { margin: 0; text-align: right; }
.macro-table-scroll { overflow-x: auto; }
.macro-validation-table { width: 100%; border-collapse: collapse; white-space: nowrap; font-size: .8rem; }
.macro-validation-table th,.macro-validation-table td { padding: .6rem .5rem; border-bottom: 1px solid var(--border); text-align: left; }
@media(max-width:560px) { .macro-score { padding: .5rem; }.macro-score>span {font-size:.72rem;}.macro-controls { gap:.8rem; }.macro-tabs .btn { padding:.4rem .6rem; }.macro-readout { gap:.6rem; font-size:.85rem; } }
.earnings-panel { border-block: 1px solid var(--line,#303238); padding: 1.25rem 0; margin-block: 1rem; }
.earnings-heading h3 { margin: .3rem 0; }
.earnings-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-block: 1rem; align-items: start; }
.earnings-card { border: 1px solid var(--line,#303238); border-radius: 12px; padding: 1rem; min-width: 0; }
.earnings-card h4 { margin: .5rem 0; }
.earnings-metrics { display: grid; gap: .65rem; margin: 1rem 0; }
.earnings-metrics > div { display: grid; grid-template-columns: 1fr auto; gap: .35rem .6rem; align-items: baseline; }
.earnings-metrics dt { font-size: .85rem; }
.earnings-metrics dd { font-size: 1.1rem; margin: 0; font-weight: 600; }
.earnings-metrics .small { grid-column: 1/-1; }
.earnings-panel p, .earnings-panel blockquote { overflow-wrap: anywhere; }
.earnings-panel summary { cursor: pointer; color:var(--accent-text, var(--accent)); padding-block: .6rem; }
.earnings-panel blockquote { border-left: 2px solid var(--line,#303238); margin: .6rem 0; padding-left: .8rem; color: var(--muted); font-size: .85rem; }
.earnings-context-groups { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)); gap: 1rem; }
.earnings-context-groups h4 { margin-bottom: .2rem; }
.earnings-observation { margin-bottom: .8rem; }
.earnings-observation p { margin-bottom: .25rem; }
.earnings-citations summary { font-size: .8rem; padding-block: .15rem; }
.earnings-reaction-chips { display: flex; gap: 1rem; flex-wrap: wrap; }
.earnings-reaction-chips > div { display: grid; gap: .4rem; border: 1px solid var(--line,#303238); border-radius: 8px; padding: .7rem 1rem; min-width: 120px; }
.earnings-reaction-chips .mono { font-size: 1.15rem; }
.earnings-method { margin-block: 1rem; }
@media(max-width:640px) { .earnings-columns { grid-template-columns: 1fr; } .earnings-card { padding: .85rem; } .earnings-reaction-chips { gap: .5rem; } }

/* Source-linked business context */
.company-context{border:1px solid var(--border);border-radius:12px;padding:16px;margin:16px 0;min-width:0}.company-heading,.company-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.company-context p{line-height:1.6;overflow-wrap:anywhere}.company-links{margin:10px 0}.company-evidence summary{cursor:pointer;color:var(--accent-text, var(--accent))}.company-source{display:block;margin:8px 0;overflow-wrap:anywhere}.symbol-name small{display:block;white-space:normal}.company-context .chip{white-space:normal}

.company-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.company-flow>div{padding:12px;border-radius:8px;background:var(--bg);border:1px solid var(--border)}.company-flow p{margin:6px 0 0}@media(max-width:520px){.company-flow{grid-template-columns:1fr}}

/* Creator notifications share the existing Alerts navigation and account boundary. */
.updates-entry { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.updates-entry h2,.updates-entry p { margin:0 0 6px; }
.updates-layout { display:grid; grid-template-columns:minmax(270px,340px) minmax(0,1fr); gap:24px; align-items:start; }
.updates-settings,.updates-feed { min-width:0; }
.updates-settings .card { margin-bottom:16px; padding:20px; }
.updates-settings h2,.updates-feed h2 { font-size:1.1rem; margin:0 0 12px; }
.updates-settings h3 { margin:20px 0 10px; font-size:1rem; }
.updates-saved .updates-topic:first-of-type { border-top:0; padding-top:0; margin-top:0; }
.updates-watchlist { border-top:1px solid var(--border); border-bottom:1px solid var(--border); margin:16px 0; }
.updates-watchlist > summary { cursor:pointer; min-height:44px; padding:12px 0; font-size:.85rem; font-weight:600; }
.updates-watchlist > summary .count { margin-left:8px; font-size:.75rem; }
.updates-watchlist .updates-choices { margin:0 0 12px; }
.updates-watchlist legend { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.updates-add { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0; }
.updates-add .symbol-picker { flex:1 1 180px; min-width:0; }
.updates-add input { width:100%; }
.updates-choices { padding:0; border:0; margin:18px 0; min-width:0; }
.updates-choices legend { font-size:.85rem; color:var(--muted); padding:0 0 8px; }
.updates-choice,.updates-check { display:flex; align-items:center; gap:10px; min-height:44px; cursor:pointer; font-size:.9rem; }
.updates-choice input,.updates-check input { accent-color:var(--accent); width:18px; height:18px; flex-shrink:0; }
.updates-choice small { display:block; font-size:.75rem; margin-top:2px; }
.updates-topic { border-top:1px solid var(--border); padding:14px 0 0; margin-top:10px; }
.updates-topic-head,.updates-topic-actions,.updates-feed-head,.updates-item-top { display:flex; gap:12px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.updates-topic p { margin:8px 0; font-size:.75rem; }
.updates-topic-actions .updates-check { font-size:.8rem; }
.updates-push p { line-height:1.6; margin:10px 0; }
.updates-status:empty { display:none; }
.updates-status { padding:12px 16px; border-left:3px solid var(--accent); background:var(--surface-2); margin-bottom:18px; }
.updates-item { margin-top:16px; }
.updates-item[data-unread=true] { border-left:3px solid var(--accent); }
.updates-selected { outline:2px solid var(--focus-ring, var(--accent)); outline-offset:3px; }
.updates-item-top { justify-content:flex-start; }
.updates-author { font-weight:600; margin-right:auto; }
.updates-item h3 { font-size:1.1rem; line-height:1.5; margin:13px 0 8px; overflow-wrap:anywhere; }
.updates-reasons { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.updates-reason { font-size:.75rem; padding:5px 9px; border-radius:var(--r-sm); border:1px solid var(--border); background:var(--surface-2); }
.updates-direct { color:var(--pos); }.updates-sector { color:var(--muted); }
.updates-detail { border-top:1px solid var(--border); margin-top:14px; }
.updates-detail summary { padding:14px 0; cursor:pointer; color:var(--text); min-height:44px; font-weight:600; font-size:.9rem; }
.updates-summary { white-space:pre-line; line-height:1.8; overflow-wrap:anywhere; }
.updates-dates { display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 16px; font-size:.8rem; margin:20px 0; }
.updates-dates dt { color:var(--muted); }.updates-dates dd { margin:0; }
.updates-evidence blockquote { margin:12px 0; border-left:2px solid var(--border); padding-left:12px; line-height:1.65; }
.updates-evidence a { display:inline-block; padding:8px 0; font-size:.85rem; }
.updates-item-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.updates-gate { max-width:760px; }.updates-gate li { line-height:1.7; margin:8px 0; }
.updates-gate a { margin:14px 10px 0 0; }
.updates-page button:focus-visible,.updates-page a:focus-visible,.updates-page summary:focus-visible,.updates-page input:focus-visible { outline:2px solid var(--focus-ring, var(--accent)); outline-offset:3px; }
@media(max-width:900px) { .updates-layout { grid-template-columns:1fr; }.updates-entry { align-items:start; flex-direction:column; } }
@media(max-width:480px) { .updates-dates { grid-template-columns:1fr; gap:4px; }.updates-dates dd { margin-bottom:9px; }.updates-layout { gap:12px; }.updates-item-actions .btn { min-height:44px; } }

/* Creator overview: charts and takeaways first, source detail on demand. */
.creators-view .creator-directory{max-height:340px;margin:12px 0 24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
.creators-view .creator-directory:empty{display:none}.creators-view .creator-profile{padding:16px;gap:8px}.creator-profile p{margin:0}.creator-card-gist{font-size:.82rem;line-height:1.6;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.creator-profile .creator-card-coverage{font:12px var(--font);color:var(--accent-text, var(--accent))}.creator-profile .cr-chip{margin-top:8px}.creator-page{max-width:860px;margin:22px auto}.creator-page-heading{margin-bottom:24px}.creator-page-heading h2{font-size:1.5rem;margin:0 0 5px}.creator-page-heading p{margin:0}.creator-page-heading .creator-avatar{width:54px;height:54px}.creator-page-visual{background:var(--surface2);border:1px solid var(--border);border-radius:18px;padding:22px}.creator-page-visual h3{font-size:1.05rem;margin:0 0 8px}.creator-visual-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.creator-visual-heading .evidence-badge{white-space:nowrap}.creator-chart{margin:14px 0 0}.creator-price-chart{width:100%;height:auto;display:block}.creator-chart-range{width:calc(100% - 70px);margin:0 20px 0 50px;accent-color:var(--accent);cursor:ew-resize}.creator-chart-readout{text-align:center;color:var(--muted);font-family:var(--mono);margin:10px 0}.creator-page-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.creator-page-metrics .evidence-metric{padding:0;background:transparent}.creator-page-metrics strong{font-size:1.25rem}.creator-page-method{margin-top:20px;font-size:.8rem}.creator-page-method blockquote{margin:12px 0;padding-left:12px;border-left:2px solid var(--accent)}.creator-activity{margin:24px 0 18px}.creator-activity-bars{display:flex;gap:12px;align-items:end;min-height:134px;justify-content:center}.creator-activity-column{display:flex;flex-direction:column;align-items:center;justify-content:end;gap:7px;flex:1;max-width:100px}.creator-activity-track{width:70%;background:var(--border);border-radius:5px 5px 0 0;display:flex;align-items:end;min-height:2px}.creator-activity-track>div{width:100%;background:var(--accent);border-radius:5px 5px 0 0}.creator-activity figcaption{text-align:center;margin-top:20px}.creator-highlights{margin:28px 0}.creator-highlights h3{font-size:1.1rem}.creator-highlights article{padding:16px 0;border-bottom:1px solid var(--border)}.creator-highlights article p{margin:8px 0 10px;line-height:1.8;font-size:.95rem;max-width:72ch}.creator-mentions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:20px 0}.creator-page-about{padding:18px 0;line-height:1.8}.creator-video-archive{margin:24px 0;border-top:1px solid var(--border);padding-top:22px}.creator-video-archive>summary{font-weight:600;margin-bottom:20px;cursor:pointer}.creator-page details>summary{cursor:pointer;color:var(--muted)}.creator-recent-feed>button{margin-bottom:18px}
@media(max-width:600px){.creator-page{margin-top:20px}.creator-page-heading h2{font-size:1.2rem}.creator-page-visual{padding:16px 12px}.creator-page-metrics{gap:8px}.creator-page-metrics strong{font-size:1.05rem}.creator-visual-heading{align-items:start;flex-direction:column;gap:4px}.creator-highlights article p{font-size:.9rem}.creators-view .creator-directory{max-height:360px}.creator-activity-column{gap:5px}.creator-activity-column .small{font-size:.65rem}.creator-chart-readout{font-size:.65rem}}
.creators-view [hidden]{display:none!important}.creator-page-heading h1{font-size:1.5rem;margin:0 0 5px}.creator-page-coverage-mini{padding:18px;margin:24px 0}.creator-page-coverage-mini .creator-activity{max-width:420px;margin:12px 0}.creator-page-coverage-mini .creator-activity-bars{min-height:90px}.creator-page-coverage-mini .creator-activity-track{max-height:64px}.creator-page-coverage-mini .creator-activity figcaption{text-align:left;margin-top:10px}.creator-page-coverage-mini>p{margin:10px 0 0}@media(max-width:600px){.creator-page-heading h1{font-size:1.2rem}}
.creators-view .creator-workspace-tabs{flex-wrap:nowrap}.creators-view .creator-workspace-tabs button{min-width:0;white-space:nowrap}@media(max-width:600px){.creators-view .creator-workspace-tabs button{font-size:.78rem;padding:13px 6px}}

/* Calendar: a compact agenda, with exchange closures distinct from releases. */
.calendar-view > h1 { margin-bottom:8px; }
.calendar-view > p { margin-top:0; }
.cal-filters { margin:16px 0 10px; border-bottom:1px solid var(--border); }
.cal-filters > summary,.cal-research-more > summary,.cal-session-impact > summary { cursor:pointer; min-height:44px; padding:12px 0; font-size:13px; color:var(--accent-text, var(--accent)); }
.cal-filters .cal-bar { margin-top:0; }
.cal-research-more { margin-top:6px; }
.cal-research-more > summary { padding:8px 0; min-height:38px; }
.cal-ev.cal-t-holiday,.cal-ev.cal-t-early_close { border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border)); background:color-mix(in srgb,var(--accent) 6%,var(--surface)); border-radius:12px; }
.cal-t-holiday .cal-title,.cal-t-early_close .cal-title { color:var(--accent-text, var(--accent)); }
.cal-holiday-brief { font-size:13px; line-height:1.75; margin:12px 0 0; }
.cal-session-impact { border-top:1px solid var(--border); margin-top:12px; }
.cal-session-impact > div { padding:12px 0; border-top:1px solid var(--border); }
.cal-session-impact strong { font-size:13px; }
.cal-session-impact p { line-height:1.8; margin:8px 0; }
.cal-closed { background:color-mix(in srgb,var(--accent) 8%,var(--surface))!important; }
.pill-holiday,.pill-early_close { color:var(--accent-text, var(--accent)); border:1px solid color-mix(in srgb,var(--accent) 30%,transparent); }
.cal-closed .mbar { color:var(--accent-text, var(--accent)); }
.seasonality-view .season-controls { align-items:end; gap:12px; margin:20px 0 12px; }
.seasonality-view .season-controls label { flex:1 1 150px; }
.seasonality-view .season-controls select { width:100%; }
.season-reading { border-left:3px solid var(--accent); padding:4px 0 4px 18px; margin:24px 0 18px; max-width:850px; }
.season-reading h3 { font-size:20px; margin:0 0 8px; }
.season-reading p { font-size:15px; line-height:1.9; margin:0; }
.season-metrics article { padding:18px; background:var(--surface-2); }
.season-metrics article > b { font-size:14px; margin-bottom:14px; }
.season-metrics strong { font-size:27px; margin:6px 0 18px; }
.season-metrics article > .small { font-size:12px; }
.season-distribution { display:flex; gap:3px; height:6px; overflow:hidden; border-radius:3px; }
.season-distribution i { height:100%; }.season-up { background:var(--pos,#33c793); }.season-down { background:var(--neg,#f47067); }.season-flat { background:var(--muted); }
.season-limit { line-height:1.7; }
.season-year-tools { display:flex; gap:12px; margin-top:4px; flex-wrap:wrap; }
.season-year-tools label { display:grid; gap:6px; flex:1 1 120px; font-size:12px; color:var(--muted); }
.season-year-tools select { width:100%; min-height:44px; }
.season-table .season-year { font-size:13px; }
.season-table td { font-variant-numeric:tabular-nums; white-space:nowrap; }
@media(max-width:560px) {
 .season-metrics { grid-template-columns:1fr; gap:10px; }
 .season-metrics article { padding:16px; }
 .season-metrics strong { font-size:25px; }
 .season-reading { padding-left:12px; }
 .season-reading h3 { font-size:18px; }
 .season-reading p { font-size:14px; }
 .season-table th,.season-table td { padding:12px 4px; font-size:12px; }
 .calendar-view .cal-note { font-size:14px; line-height:1.7; }
}
.season-controls select,.season-year-tools select { background:var(--surface-2); color:var(--text); border:1px solid var(--border); border-radius:9px; padding:10px 12px; font:inherit; font-size:13px; }
.cal-session-grid-label { display:none; }
@media(max-width:560px) {
 .cal-session-grid-label { display:block; font-size:9px; line-height:1.4; white-space:normal; color:var(--accent-text, var(--accent)); }
 .cal-closed .cal-event-count,.cal-early .cal-event-count { display:none; }
}
/* Source-grounded creator facts and distinct market-price anchors. */
.creator-claim-facts,.creator-price-context{display:grid;gap:.65rem;margin:1rem 0}
.creator-claim-facts>div,.creator-price-context>div{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,2fr);gap:1rem}
.creator-claim-facts dt,.creator-price-context dt{color:var(--muted);font-size:.85rem}
.creator-claim-facts dd,.creator-price-context dd{margin:0;overflow-wrap:anywhere;line-height:1.55}
.creator-price-anchors{padding:1rem;border:1px solid var(--border);border-radius:12px;margin:1rem 0}
.creator-price-anchors h4{margin:0 0 .75rem}
.study-list>.study-row:only-child{grid-column:1/-1}
@media(max-width:600px){.creator-claim-facts>div,.creator-price-context>div{grid-template-columns:1fr;gap:.2rem}}


/* Two-week overview: readable day cards on phones, horizontal weeks on desktop. */
.cal-biweeks { display:grid; gap:6px; }
.cal-biweek { min-width:0; }
/* two-week view: a legend of kinds, a week line to plan around, narrow weekend columns, today anchored */
.cal-legend { display:flex; flex-wrap:wrap; gap:6px 16px; margin:0 0 6px; font-size:var(--fs-2xs); color:var(--muted); }
.cal-legend-item { display:inline-flex; align-items:center; gap:6px; }
.cal-legend-item i { width:8px; height:8px; border-radius:50%; background:var(--cal-tone, var(--muted)); }
.cal-legend-n { color:var(--fg); }
.cal-week-head { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 14px; margin:12px 0 6px; }
.cal-week-label { display:block; margin:0; font-size:var(--fs-2xs); font-weight:700; letter-spacing:1.2px; text-transform:uppercase; color:var(--muted); }
.cal-week-highlights { margin:0; font-size:var(--fs-xs); line-height:1.5; color:var(--fg); }
.cal-biweek .cal-bigrid { grid-template-columns:.6fr repeat(5, 1fr) .6fr; gap:6px; }
.cal-bicell { min-height:126px; padding:9px 9px 10px; gap:6px; }
.cal-bicell.cal-wknd { background:color-mix(in srgb, var(--surface-2) 60%, var(--surface)); opacity:.8; }
.cal-bicell.cal-wknd .cal-biquiet { display:none; }
.cal-bicell.cal-weekend { opacity:.8; }
.cal-bicell.cal-is-today { background:color-mix(in srgb, var(--accent) 8%, var(--surface)); border-color:color-mix(in srgb, var(--accent) 55%, var(--border)); box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent) inset, 0 8px 22px rgba(0,0,0,.2); opacity:1; }
.cal-bicell.cal-is-today::before { content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--accent); }
.cal-biweekday { display:inline-block; font-size:var(--fs-2xs); letter-spacing:1.2px; text-transform:uppercase; font-weight:650; color:var(--muted); }
.cal-bicell.cal-is-today .cal-biweekday { color:var(--accent-text, var(--accent)); }
.cal-bisession { font-size:var(--fs-2xs); font-weight:650; color:var(--c-session); }
.cal-biquiet { font-size:var(--fs-2xs); color:color-mix(in srgb, var(--muted) 70%, transparent); }
.pill .pill-txt { flex:1 1 auto; min-width:0; }
.pill-when { flex:0 0 auto; font-family:var(--font); font-size:11px; opacity:1; }
.pill-major { border-inline-start-width:3px; font-weight:650; }
.cal-bidate { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; }
.cal-bicell .cal-bidnum { font-size:20px; line-height:1.2; height:30px; min-width:30px; color:var(--text); }
.cal-bicell.cal-weekend { opacity:1; background:var(--surface-2); }
.cal-bicell:focus-visible { outline:3px solid var(--text); outline-offset:2px; }
.cal-biquiet { font-size:13px; line-height:1.4; color:var(--muted); }
.cal-bicell .cal-events { min-width:0; width:100%; }
.cal-bicell .pill { flex-wrap:wrap; gap:2px 5px; padding:5px 7px; border:0; border-inline-start:3px solid var(--cal-tone); border-radius:6px; background:color-mix(in srgb,var(--cal-tone) 8%,var(--surface)); font-size:13px; color:var(--cal-tone); }
.cal-bicell .pill-kind { flex-basis:100%; min-width:0; font-size:12px; font-weight:600; line-height:1.35; white-space:normal; overflow-wrap:anywhere; }
.cal-bicell .pill-ic { display:none; }
/* The legend and the tone name the kind; inside a two-week cell only earnings keep their word (after the ticker). */
.cal-bicell .pill:not(.pill-earn) .pill-kind { display:none; }
.cal-bicell .pill-geo .pill-ic { display:inline-flex; width:13px; height:13px; }
.cal-bicell .pill-geo .pill-ic .app-icon { width:13px; height:13px; }
.cal-bicell .pill-when { order:9; margin-left:auto; }
.cal-bicell.cal-wknd .cal-biweekday { font-size:9px; letter-spacing:.4px; white-space:nowrap; }
.cal-bicell .pill-txt { white-space:normal; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.cal-bicell .pill-tk { font-size:13px; overflow-wrap:anywhere; white-space:normal; }
.cal-bicell .pill-holiday, .cal-bicell .pill-early_close { font-weight:650; }
.cal-bicell .pill-more { font-size:13px; padding:0; color:var(--muted); }
@media (max-width:560px) {
  .calendar-view .cal-modebar { display:flex; margin:8px 0 12px; }
  .calendar-view .cal-mode { flex:1; min-height:44px; padding:8px 6px; font-size:15px; }
  .calendar-view .cal-grid-hint { font-size:14px; line-height:1.5; margin:0 0 14px; }
  .calendar-view .cal-mhead { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; gap:8px; }
  .calendar-view .cal-mnav { width:44px; height:44px; }
  .calendar-view .cal-mtitle { text-align:center; font-size:16px; line-height:1.4; letter-spacing:0; }
  .calendar-view .cal-today { grid-column:1 / -1; justify-self:end; min-height:44px; font-size:14px; }
  .cal-bibox > .cal-wdrow { display:none; }
  .cal-biweeks { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .cal-biweek { display:grid; grid-template-rows:auto 1fr; }
  .cal-week-label { display:block; margin:0 0 10px; font-size:14px; line-height:1.5; color:var(--text); letter-spacing:0; text-transform:none; }
  .cal-week-highlights { font-size:13px; }
  .cal-biweek .cal-bigrid { grid-template-columns:minmax(0,1fr); grid-auto-rows:1fr; gap:8px; }
  .cal-bicell.cal-wknd { opacity:1; }
  .cal-bicell.cal-wknd .cal-biquiet { display:inline; }
  .cal-biweek .cal-bicell { min-height:92px; padding:10px; align-items:stretch; gap:6px; border-radius:12px; }
  .cal-bicell .cal-bidnum { font-size:22px; padding:0; align-self:auto; }
  .cal-biweekday { display:block; font-size:14px; color:var(--muted); }
  .cal-bicell.cal-is-today .cal-biweekday { color:var(--text); }
  .cal-bicell .cal-events { display:flex; gap:5px; }
  .cal-bicell .pill, .cal-bicell .pill-tk, .cal-bicell .pill-more, .cal-biquiet { font-size:14px; line-height:1.4; }
  .cal-bicell.cal-mine-cell::after { font-size:12px; top:3px; right:5px; }
  .cal-bicell .pill { padding:5px 6px; }
  .cal-bicell .pill-logo { width:16px; height:16px; }
  .calendar-view .cal-title { font-size:16px; }
  .calendar-view .cal-research-more > summary, .calendar-view .cal-session-impact > summary { font-size:14px; }
}

/* Watchlist overview: one selected detail, faithful market-cap areas. */
.watch-controls {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 16px}
.watch-modes {display:flex;gap:3px;padding:3px;background:var(--surface);border:1px solid var(--border);border-radius:10px}
.watch-modes .btn {border-color:transparent;min-height:36px;padding:7px 13px;font-size:13px;border-radius:7px;color:var(--muted)}
.watch-modes [aria-pressed="true"] {background:var(--surface-2);color:var(--text);border-color:var(--border);box-shadow:0 1px 3px #00000012}
.watch-controls .watch-filter {font-size:14px;padding:10px 14px;background:var(--surface)}
.watch-filter {flex:1;min-width:160px}
.watch-layout {min-width:0}
.watch-layout.has-detail {display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.85fr);gap:18px;align-items:start}
.watch-overview,.watch-detail {min-width:0}
.watch-detail {position:sticky;top:0;max-height:calc(100dvh - 220px);overflow:auto;scroll-margin:20px}
.watch-close {margin:0 0 8px}
.watch-research {margin:10px 0}
.watch-table {border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}
.watch-row {display:grid;grid-template-columns:minmax(160px,1fr) minmax(94px,.22fr) minmax(90px,.2fr) minmax(84px,.18fr);gap:20px;align-items:center;width:100%;min-height:78px;padding:15px 20px;background:transparent;color:var(--text);border:0;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);font:inherit;text-align:right;cursor:pointer;transition:background .15s}
.watch-row:last-child {border-bottom:0}
.watch-row:hover {background:color-mix(in srgb,var(--surface-2) 65%,var(--surface))}
.watch-row[aria-pressed="true"] {background:color-mix(in srgb,var(--accent) 5%,var(--surface));box-shadow:inset 3px 0 0 var(--accent)}
.watch-row:focus-visible,.watch-tile:focus-visible {outline:3px solid var(--accent);outline-offset:-3px;z-index:2}
.watch-identity {display:grid;text-align:left;gap:5px;min-width:0}
.watch-identity-title {display:flex;gap:12px;align-items:center;min-width:0}
.watch-identity strong {font-size:15px;font-weight:700;letter-spacing:.01em}
.watch-industry {font-size:11px;color:var(--muted);background:var(--surface-2);padding:3px 7px;border-radius:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.watch-company {font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.watch-row-price,.watch-row-cap {font-size:14px;font-weight:550;white-space:nowrap}
.watch-row-cap {color:var(--muted);font-weight:500}
.watch-row .watch-change {justify-self:end;font-size:13px;font-weight:650;padding:5px 8px;border-radius:7px;white-space:nowrap}
.watch-row .watch-change.watch-up {background:color-mix(in srgb,var(--pos) 9%,transparent)}
.watch-row .watch-change.watch-down {background:color-mix(in srgb,var(--neg) 9%,transparent)}
.watch-columns {min-height:46px;font-size:12px;font-weight:500;color:var(--muted);background:color-mix(in srgb,var(--surface-2) 55%,var(--surface));cursor:default;padding-block:12px}
.watch-columns span:first-child {text-align:left}
.watch-up {color:var(--pos)} .watch-down {color:var(--neg)} .watch-flat,.watch-unknown {color:var(--muted)}
.watch-session {margin:8px 0 12px}
.watch-saved-note{display:block;font-family:inherit;font-size:11px;font-weight:500;line-height:1.4;color:var(--muted);white-space:normal}
.watch-retained-note{margin:4px 0 12px;line-height:1.5}
.watch-tile .watch-saved-note{color:inherit;opacity:.85}
.watch-map-panel {padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 5px 24px #00000008}
.watch-map-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}
.watch-map-heading h2 {margin:0;font-size:16px;font-weight:650;letter-spacing:.01em}
.watch-map-heading .watch-session {margin:4px 0 0;font-size:12px}
.watch-breadth {min-width:180px}
.watch-breadth-labels {display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;font-size:12px}
.watch-breadth-labels>span {display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.watch-breadth-labels i {width:5px;height:5px;border-radius:50%;background:currentColor}
.watch-breadth-bar {display:flex;height:3px;gap:3px;border-radius:3px;overflow:hidden;margin-top:9px}
.watch-breadth-bar span {background:currentColor;opacity:.6;border-radius:3px}
.watch-map-frame {position:relative;isolation:isolate}
.watch-treemap {position:relative;width:100%;height:clamp(280px,43dvh,420px);background:var(--surface);border-radius:9px;overflow:hidden}
.watch-tile {position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;overflow:hidden;min-width:0;min-height:0;margin:0;padding:8px;border:2px solid var(--surface);border-radius:7px;cursor:pointer;color:#f3f7fa;font:inherit;background:var(--tile-color,#35404d);transition:filter .16s,box-shadow .16s}
.watch-tile:hover {filter:brightness(1.13);box-shadow:inset 0 0 0 1px #ffffff65;z-index:1}
.watch-tile.watch-unknown {background:repeating-linear-gradient(135deg,#35404d 0 7px,#2f3945 7px 14px)}
.watch-tile strong {font-size:var(--tile-type,20px);font-weight:650;letter-spacing:.015em;line-height:1.2;white-space:nowrap;flex-shrink:0}
.watch-tile-change {font-size:clamp(12px,calc(var(--tile-type,20px)*.62),20px);line-height:1.4;font-weight:450}
.watch-tile-company {max-width:95%;font-size:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#dce6ea}
.watch-tile-sector {display:none;position:absolute;top:14px;left:16px;right:16px;text-align:left;color:#dce6ea;font-size:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.watch-tile-cap {display:none;color:#dce6ea;font-size:11px;margin-top:8px}
.watch-tile.roomy .watch-tile-sector,.watch-tile.roomy .watch-tile-cap {display:block}
.watch-tile.roomy .watch-tile-company {font-size:12px;margin-top:3px}
.watch-tile.tiny>* {visibility:hidden}
.watch-tile[aria-pressed="true"] {box-shadow:inset 0 0 0 2px var(--accent);z-index:1}
.watch-legend {display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:14px 2px 0;color:var(--muted)}
.watch-legend>.small {font-size:11px}
.watch-legend>span:first-child {margin-right:auto}
.watch-color-scale {display:flex;gap:2px;overflow:hidden;border-radius:4px}
.watch-color-scale>span {min-width:36px;text-align:center;color:#f3f7fa;padding:3px 6px;font-size:10px;line-height:1.5}
.watch-legend-missing::before {content:'';display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:2px;background:repeating-linear-gradient(135deg,#35404d 0 3px,#667281 3px 4px)}
.watch-small-tiles {margin:16px 0 0;padding:13px 2px 0;border-top:1px solid var(--border)}
.watch-small-tiles>summary {cursor:pointer;font-size:12px;color:var(--muted)}
.watch-small-count {font-size:10px;margin-left:4px;color:var(--faint)}
.watch-small-list {display:flex;min-width:0;flex-wrap:wrap;gap:2px 12px;margin-top:6px}
.watch-small-stock {display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:5px 8px;margin:0 -4px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text);font:inherit;font-size:12px;cursor:pointer}
.watch-small-stock strong {font-weight:600}
.watch-small-stock .mono {font-size:11px}
.watch-small-stock:hover,.watch-small-stock[aria-pressed="true"] {background:var(--surface-2);border-color:var(--border)}
.watch-small-stock:focus-visible {outline:2px solid var(--accent);outline-offset:1px}
.watch-small-dot {width:7px;height:7px;border-radius:2px;flex-shrink:0;box-shadow:0 0 0 1px #ffffff26}
.watch-map-tooltip {position:absolute;width:260px;max-width:calc(100% - 16px);z-index:5;padding:15px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:0 8px 32px #00000040;font-size:12px;overflow-wrap:anywhere}
.watch-tip-heading {display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:3px;font-size:16px}
.watch-tip-heading strong {font-weight:650}
.watch-tip-heading .mono {font-size:14px}
.watch-tip-company {font-weight:500;margin-bottom:3px}
.watch-map-tooltip .small {font-size:11px}
.watch-tip-facts {display:grid;grid-template-columns:1fr auto;gap:6px 10px;margin:12px 0 10px;padding-top:10px;border-top:1px solid var(--border)}
.watch-tip-facts dt {color:var(--muted)}
.watch-tip-facts dd {margin:0;text-align:right}
.watch-tip-date {color:var(--muted);font-size:10px}
.watch-unweighted h2 {font-size:16px;margin:20px 0 5px}
.watch-method {margin:16px 0;color:var(--muted);font-size:var(--fs-sm)}
.watch-method summary {cursor:pointer}
@media(max-width:1050px) {.watch-layout.has-detail {display:block}.watch-detail {position:static;max-height:none;margin-top:18px}}
@media(max-width:580px) {.watch-row {grid-template-columns:minmax(95px,1fr) 74px 75px;gap:7px;padding:12px 6px}.watch-row-cap,.watch-columns>span:last-child {display:none}.watch-controls {gap:8px;margin-top:16px}.watch-controls .watch-filter {order:3;flex-basis:100%}.watch-controls>.input {max-width:100%}.watch-filter {min-width:140px}.watch-identity .small {font-size:11px}.watch-map-panel {padding:14px 10px;border-radius:12px}.watch-map-heading {display:block;margin:0 3px 12px}.watch-map-heading h2 {font-size:15px}.watch-breadth {margin-top:12px;min-width:0}.watch-breadth-labels {justify-content:flex-start}.watch-treemap {height:320px}.watch-tile {padding:5px}.watch-tile-company {display:none}.watch-tile-sector {top:10px;left:10px;right:10px;font-size:10px}.watch-tile-cap {font-size:10px}.watch-legend {gap:10px;margin-top:12px}.watch-color-scale {margin-left:auto}.watch-color-scale>span {min-width:30px;padding:3px 5px}.watch-small-tiles {display:block;margin-top:12px;padding-top:12px}.watch-small-list {gap:1px 12px;margin-top:5px}.watch-small-stock {min-height:40px}}

.app-view.watchlist-view, .app-view:has(.watchlist-view) {max-width:1280px}
/* Keep the ticker when a compact cell cannot fit all three lines. Never shrink
   names below 12px or alter market-cap areas to make a label fit. The complete
   ticker and numeric change remain in the accessible buttons below the map. */
.watch-tile.compact>span {display:none}
.watch-tile.compact {padding:1px;border-radius:4px}
.watch-tile.compact>strong {font-size:12px;line-height:1.2;letter-spacing:0;font-weight:600}
@media(max-width:760px){.watch-identity-title{display:block}.watch-industry{display:none}.watch-row{gap:10px;padding:13px 14px}}
@media(max-width:580px){.watch-row{grid-template-columns:minmax(86px,1fr) 74px 80px;gap:8px;min-height:72px;padding:13px 10px}.watch-row-price{font-size:13px}.watch-row .watch-change{font-size:12px;padding:5px 6px}.watch-columns{min-height:42px;font-size:11px;padding-block:10px}.watch-identity strong{font-size:14px}.watch-company{font-size:11px}.watch-small-stock{min-height:44px}.watch-small-stock .mono{font-size:12px}}
@media(prefers-reduced-motion:reduce) {.watch-tile {transition:none}}

/* A readable default; exact market-cap areas remain a separate, labeled view. */
.watch-controls .watch-search {flex:1;min-width:180px}
.watchlist-view>.view-head {flex-wrap:wrap}
.watchlist-view .watch-add-options {margin:0 0 0 auto}
.watchlist-view .watch-add-options[open] {flex-basis:100%;margin-top:10px}
.watch-controls .watch-search input {width:100%;min-height:44px;font-size:16px}
.watch-search .symbol-status:empty {display:none}
.watch-search-offer {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;margin:0 0 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.watch-search-offer[hidden] {display:none}
.watch-search-offer strong {margin-right:12px}
.watch-search-offer p {margin:5px 0 0;color:var(--muted);font-size:13px}
.watch-search-offer .btn {flex-shrink:0;min-height:44px}
.watch-map-scale {display:flex;gap:4px;margin:0 0 14px}
.watch-map-scale .btn {min-height:44px}
.watch-map-scale [aria-pressed="true"] {background:var(--surface-2);border-color:var(--border);color:var(--text)}
.watch-tile-price {display:none;font-size:12px;color:#e5edf1}
.watch-tile.roomy .watch-tile-price {display:block}
.watch-treemap.is-equal {display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;height:auto;overflow:visible}
.watch-treemap.is-equal .watch-tile {position:relative;min-height:124px;border:0;padding:14px 10px;gap:6px}
.watch-treemap.is-equal .watch-tile strong {font-size:18px}
.watch-treemap.is-equal .watch-tile-change {font-size:16px}
.watch-treemap.is-equal .watch-tile-price {display:block;font-size:13px}
.watch-overview.is-filtered .empty {padding:24px 12px}
.watch-overview.is-filtered .empty img {display:none}
@media(max-width:580px) {
  .watchlist-view>.view-head {gap:8px;margin-bottom:6px}
  .watchlist-view>.view-head h1 {font-size:18px}
  .watchlist-view>.view-head .count {font-size:12px}
  .watchlist-view .watch-controls {margin:8px 0 12px}
  .watchlist-view .watch-map-heading h2 {display:none}
  .watchlist-view .watch-map-panel {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
  .watchlist-view .watch-map-heading {margin:0;min-width:0}
  .watchlist-view .watch-map-scale {margin:0;align-self:start}
  .watchlist-view .watch-map-scale .btn {padding-inline:8px;font-size:12px}
  .watchlist-view .watch-map-panel>:not(.watch-map-heading):not(.watch-map-scale) {grid-column:1 / -1}
  .watchlist-view .watch-breadth {margin-top:6px}
  .watchlist-view .watch-breadth-bar {display:none}
  .watch-controls .watch-search {order:3;flex-basis:100%;min-width:0}
  .watch-search-offer {align-items:flex-start;flex-direction:column;gap:12px;padding:14px}
  .watch-treemap.is-equal {grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .watch-treemap.is-equal .watch-tile {min-height:108px}
  .watch-treemap.is-equal .watch-tile strong {font-size:16px}
  .watch-treemap.is-equal .watch-tile-change {font-size:15px}
}



/* Shared ticker evidence, progressively disclosed. */
.research-record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.research-stream{min-width:0}.research-evidence{padding:12px 0;border-top:1px solid var(--border);overflow-wrap:anywhere}.research-facts{display:flex;gap:16px;flex-wrap:wrap}.research-facts dt{font-size:.8rem}.research-facts dd{margin:4px 0;font-weight:600}.research-change{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.research-record{margin-bottom:24px}
.social-history-plot{margin:12px 0}.social-history-plot svg{width:100%;max-height:200px;display:block}
/* Vibe is directional sentiment. Unavailable views have no colored gauge. */
.vibe-direction{margin:14px 0}.vibe-verdict{display:block;font-size:.95rem;line-height:1.5}.vibe-balance{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0}.vibe-balance dt{color:var(--muted);font-size:.8rem}.vibe-balance dd{margin:5px 0 0;font-size:1.25rem;font-weight:650}.vibe-direction>p{line-height:1.6;margin:10px 0}.vibe-attention-history>summary{min-height:44px;display:list-item;align-content:center;cursor:pointer}.vibe-general{padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface);margin-bottom:22px}.vibe-general h2,.vibe-stocks-title{font-size:1.1rem;margin:0 0 12px}.vibe-general-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.vibe-scope{min-width:0}.vibe-scope h3{font-size:.9rem;margin:0 0 6px}.vibe-scope-state{font-size:.85rem;line-height:1.5;margin:0;color:var(--muted)}.vibe-general>p{line-height:1.6;margin:14px 0 0}.vibe-contrarian{border-top:1px solid var(--border);margin-top:12px;font-size:.85rem;line-height:1.7}.vibe-contrarian>summary{cursor:pointer;min-height:44px;align-content:center;font-weight:600}.vibe-contrarian p{margin:10px 0}.social-card .vibe-direction{margin:16px 0}.social-card>.btn{margin-bottom:16px}
@media(max-width:650px){.vibe-general{padding:16px;margin-bottom:20px}.vibe-general-grid{gap:12px}.vibe-direction .small{font-size:.8rem}.social-workspace .social-filters input,.social-workspace .social-filters select{font-size:16px}}
/* Shared stock briefs: a short judgment first, evidence on demand. */
.stock-briefs{display:grid;gap:16px;max-width:1100px}.stock-briefs>p{margin:0}
.stock-brief-search .btn{flex:0 0 auto;white-space:nowrap}
.stock-brief{min-width:0;border-left:3px solid var(--accent,#ff9700)}
.stock-brief-head,.stock-brief-links{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.stock-brief-head{justify-content:space-between}.stock-brief-head h2{margin:0}
.stock-brief-state{font-size:.82rem;font-weight:700;color:var(--accent,#ff9700);margin-bottom:8px}
.stock-brief-summary{font-size:1.08rem;line-height:1.7;max-width:72ch}
.stock-brief-actions{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:16px 0;border-top:1px solid var(--line,#27323e)}
.stock-brief-actions h3,.stock-brief-reasoning h3{font-size:.84rem;color:var(--muted,#9ca9b6);margin:0 0 7px}
.stock-brief-actions p{margin:0;line-height:1.65}.stock-brief-reasoning>section{padding:14px 0;border-bottom:1px solid var(--line,#27323e)}
.stock-brief-reasoning summary,.stock-brief-evidence summary,.stock-brief-more>summary{cursor:pointer;padding:12px 0;font-weight:600}
.stock-brief-fact{border-top:1px solid var(--line,#27323e);padding:12px 0;overflow-wrap:anywhere;scroll-margin-top:12px}.stock-brief-fact h4{margin:0}.stock-brief-fact p{margin:8px 0}
.stock-brief-fact:focus{outline:2px solid var(--accent,#ff9700);outline-offset:4px}
.brief-citation{font:inherit;font-size:.7rem;vertical-align:super;border:0;background:transparent;color:var(--accent,#ff9700);padding:4px 6px;cursor:pointer;min-width:24px;min-height:24px}
.stock-brief-history{display:grid;gap:12px;margin-top:18px}.stock-brief-history .stock-brief{border-left-width:1px}
.vibe-action{font-size:1rem;line-height:1.6;font-weight:600;margin:16px 0}.social-card>.social-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:600px){.stock-brief-actions{grid-template-columns:1fr;gap:16px}.stock-brief-summary{font-size:1rem}.stock-brief-links{gap:8px}.stock-brief .btn{white-space:normal}.stock-brief-history .stock-brief{padding:12px}.brief-citation{min-height:32px;min-width:28px}}

/* Evidence map — a compact canvas with a stock at the centre and dated, openable branches. */
.evidence-view{--evidence-support:#107348;--evidence-counter:#b53c52;--evidence-context:#3d6e9c}
html[data-theme=dark] .evidence-view,html[data-theme=dark] .evidence-detail{--evidence-support:#47df98;--evidence-counter:#f18b9b;--evidence-context:#8cb6e7}
@media(prefers-color-scheme:dark){html:not([data-theme=light]) :is(.evidence-view,.evidence-detail){--evidence-support:#47df98;--evidence-counter:#f18b9b;--evidence-context:#8cb6e7}}
.evidence-detail{--evidence-support:#107348;--evidence-counter:#b53c52;--evidence-context:#3d6e9c}
.evidence-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:12px}
.evidence-heading .view-head{margin:0}
.evidence-ticker{flex:0 1 310px;min-width:0;margin:0;gap:8px}
.evidence-ticker>.input{flex:1;min-width:0}.page-app .evidence-ticker>.btn{flex-shrink:0;white-space:nowrap;min-height:44px}
.page-app .evidence-view .input{min-height:44px;font-size:16px}
.evidence-watchlist{display:flex;flex-wrap:wrap;align-items:center;gap:6px;max-width:100%;padding:2px 1px 8px;margin-bottom:8px}
.evidence-watchlist .chip{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 13px;border-radius:10px;text-decoration:none;background:transparent;color:var(--muted);border-color:transparent}
.evidence-watchlist .chip:hover{background:var(--surface-2);color:var(--text)}
.evidence-watchlist [aria-current=page]{background:color-mix(in srgb,var(--accent) 9%,var(--surface));border-color:color-mix(in srgb,var(--accent) 30%,var(--border));color:var(--text);font-weight:700}
.evidence-takeaway{display:flex;align-items:center;gap:14px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-radius:14px;padding:14px 18px;margin:0 0 18px;background:linear-gradient(100deg,color-mix(in srgb,var(--accent) 5%,var(--surface)),var(--surface))}
.evidence-summary-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-text,var(--accent))}
.evidence-takeaway.is-pending .eyebrow{display:none}.evidence-takeaway.is-pending p{margin:0;color:var(--muted)}
.evidence-summary-copy{min-width:0}.evidence-takeaway .eyebrow{font-size:10px;letter-spacing:.08em;color:var(--muted);font-weight:650}
.evidence-takeaway p{margin:3px 0 0;font-size:1rem;line-height:1.6;overflow-wrap:anywhere}
.evidence-takeaway .brief-citation{font-size:11px;min-width:28px;min-height:28px;margin-left:3px;vertical-align:baseline;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--muted)}
.evidence-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.evidence-tools>.input{order:2;width:270px;min-width:0;background:transparent}
.evidence-filters{order:1;display:flex;gap:4px;flex-wrap:wrap}
.page-app .evidence-filters .btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;border:1px solid transparent;background:transparent;color:var(--muted);padding:8px 12px;border-radius:10px;white-space:nowrap}
.evidence-filter-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 4px;border-radius:5px;background:var(--surface-2);font-size:11px;color:var(--muted)}
.evidence-filters [aria-pressed=true]{background:var(--surface)!important;border-color:var(--border)!important;color:var(--text)!important;box-shadow:0 1px 3px #00000008}
.evidence-filters .is-support{--branch:var(--evidence-support)}.evidence-filters .is-counter{--branch:var(--evidence-counter)}.evidence-filters .is-context{--branch:var(--evidence-context)}
.evidence-filters :is(.is-support,.is-counter,.is-context)>span:first-child::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;margin:0 7px 2px 0;background:var(--branch)}
.evidence-filter-select{display:none}
.evidence-map{--evidence-layout:stack;position:relative;isolation:isolate;display:flex;flex-direction:column;gap:32px;padding:24px 20px;margin:0;border:1px solid var(--border);border-radius:20px;background-color:color-mix(in srgb,var(--surface) 32%,var(--bg));background-image:radial-gradient(color-mix(in srgb,var(--muted) 16%,transparent) .8px,transparent .8px);background-size:18px 18px}
.evidence-connections{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:-1}
.evidence-wire{fill:none;stroke:var(--branch);stroke-width:1.5;opacity:.65}
.evidence-port{fill:var(--branch);stroke:var(--surface);stroke-width:2}
.evidence-trunk{fill:none;stroke:var(--border);stroke-width:1.5}
.evidence-map .is-support,.evidence-stance.is-support{--branch:var(--evidence-support)}
.evidence-map .is-counter,.evidence-stance.is-counter{--branch:var(--evidence-counter)}
.evidence-map .is-context,.evidence-stance.is-context{--branch:var(--evidence-context)}
.evidence-center{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;align-self:center;grid-column:2;min-width:0;width:164px;min-height:164px;border:1px solid color-mix(in srgb,var(--accent) 48%,var(--border));border-radius:50%;background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--accent) 10%,var(--surface)),var(--surface) 78%);box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 4%,transparent),0 8px 28px #0000000b;text-align:center;padding:16px}
.evidence-center-icon{color:var(--accent-text,var(--accent));margin-bottom:2px}.evidence-center-icon .app-icon{width:22px;height:22px}
.evidence-center>.mono{font-size:1.75rem;line-height:1.2;font-weight:750;letter-spacing:-.035em;overflow-wrap:anywhere;max-width:100%}
.evidence-center>strong{font-size:11px;font-weight:500;color:var(--muted)}.evidence-center>.small{font-size:10px}
.evidence-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-width:0}
.evidence-node{position:relative;appearance:none;text-align:left;display:flex;flex-direction:column;gap:8px;min-width:0;padding:15px 17px;border:1px solid color-mix(in srgb,var(--branch) 22%,var(--border));border-radius:13px;background:linear-gradient(130deg,color-mix(in srgb,var(--branch) 5%,var(--surface)),var(--surface) 65%);color:var(--text);font:inherit;cursor:pointer;box-shadow:0 3px 9px #00000008;transition:box-shadow .18s,border-color .18s,background .18s}
.evidence-node:hover,.evidence-node:focus-visible{border-color:var(--branch);box-shadow:0 4px 20px color-mix(in srgb,var(--branch) 12%,transparent)}
.evidence-node:focus-visible{outline:2px solid var(--branch);outline-offset:3px}
.evidence-node>strong{font-size:.9375rem;font-weight:650;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.comparison-label{display:block;color:var(--muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.comparison-context{border-left:2px solid var(--border);padding-left:12px;margin:12px 0;overflow-wrap:anywhere}
.comparison-context p{margin:6px 0;line-height:1.6}.comparison-context .comparison-label{font-weight:600;color:var(--text)}
.comparison-source{display:flex;align-items:center;min-height:44px;width:fit-content;max-width:100%;font-size:13px}
.evidence-node-label{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:550;line-height:1.5;color:var(--branch)}
.evidence-category{display:flex;align-items:center;gap:6px}.evidence-category::before{content:'';width:6px;height:6px;flex-shrink:0;border-radius:50%;background:currentColor}
.evidence-condition{font-size:9px;color:var(--muted);padding:1px 5px;border:1px solid var(--border);border-radius:4px}
.evidence-node-number{margin-left:auto;font-size:10px;letter-spacing:.04em;color:var(--faint);opacity:.8}
.evidence-node-author{display:flex;align-items:center;gap:6px;font-size:11px;line-height:1.4;color:var(--muted);min-width:0;margin-top:auto}
.evidence-node-author .app-icon{width:13px;height:13px;opacity:.75}.evidence-node-author>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.evidence-node-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:10px;color:var(--muted);padding-top:6px;border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent)}
.evidence-node-footer>span:last-child{color:var(--branch)}
.evidence-map-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 22px}.evidence-map-footer>p{margin:0;font-size:12px}
.page-app .evidence-map-footer .btn{min-height:44px}
.evidence-map.is-empty .evidence-center{display:none}.evidence-map.is-empty .evidence-branches{display:block;grid-column:1/-1;margin-left:0}.evidence-map .empty{margin:0;padding:24px 12px;text-align:center;animation:none}.evidence-map .empty::before{display:none}
.evidence-coverage{border-top:1px solid var(--border);color:var(--muted);font-size:13px;line-height:1.7}
.evidence-coverage>summary{display:list-item;cursor:pointer;color:var(--text);padding:14px 0;min-height:44px;font-weight:550}
.evidence-links,.evidence-history{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.page-app .evidence-links .btn,.page-app .evidence-history .btn{min-height:44px}
.evidence-stance{display:inline-flex;align-items:center;gap:7px;color:var(--branch);font-size:12px;font-weight:650;background:color-mix(in srgb,var(--branch) 8%,transparent);padding:5px 9px;border-radius:7px;margin:0 0 8px}
.evidence-stance::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--branch)}
.evidence-source{padding:18px 0;border-top:1px solid var(--border);overflow-wrap:anywhere}.evidence-source>h3{margin:0 0 10px;font-size:.9375rem}.evidence-source>p{line-height:1.7}.evidence-source>.small{font-size:12px;margin:6px 0}
.evidence-source>details{margin-top:16px;font-size:12px}.evidence-source summary{cursor:pointer;min-height:44px;display:list-item;padding:12px 0}
.evidence-hash,.evidence-facts{font-size:.7rem;white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}.evidence-detail>p{line-height:1.7}
@media(min-width:1100px){
 .evidence-map{--evidence-layout:radial;display:grid;grid-template-columns:minmax(0,1fr) 164px minmax(0,1fr);column-gap:44px;row-gap:18px;padding:24px}
 .evidence-branches{display:contents}
}
@media(min-width:601px) and (max-width:1099px){
 .evidence-heading{gap:16px}
 .evidence-ticker{flex-basis:255px}.evidence-tools>.input{width:215px}
 .evidence-center{width:auto;min-height:0;border-radius:14px;padding:12px 22px;display:grid;grid-template-columns:auto auto;gap:3px 12px;text-align:left}
 .evidence-center-icon{grid-row:1/3;margin:0}.evidence-center>.mono{font-size:1.3rem}.evidence-center>strong{display:none}.evidence-center>.small{grid-column:2}
 .evidence-node{grid-column:auto!important;grid-row:auto!important}
}
/* Shared nodes retain one source action; phone grouping does not duplicate evidence. */
.evidence-group,.evidence-group-nodes{display:contents}
.evidence-group-heading,.evidence-node-mobile-meta,.evidence-stock-trigger,.evidence-mobile-actions,.evidence-mobile-state{display:none}
.evidence-center-info>.small{font-size:10px}
.evidence-reset-filter{appearance:none;background:none;border:0;color:var(--accent-text,var(--accent));font:inherit;font-size:12px;min-height:44px;cursor:pointer;text-align:left;padding:0 4px;text-decoration:underline;text-underline-offset:3px;margin-bottom:6px}
.evidence-picker-form{display:flex;gap:8px;margin:0 0 16px}.page-app .evidence-picker-form .input{font-size:16px;min-height:44px;min-width:0;flex:1}.page-app .evidence-picker-form .btn{min-height:44px;flex-shrink:0}
.evidence-picker-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.evidence-picker-list .chip{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:0;overflow-wrap:anywhere;border-radius:9px;text-decoration:none;padding:6px;font-size:12px}.evidence-picker-list [aria-current=page]{border-color:var(--accent);color:var(--text)}
@media(max-width:600px){
 .evidence-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 8px}.evidence-heading .view-head{margin:0;flex:1;min-width:0}.page-app .evidence-heading h1{font-size:20px}
 .evidence-heading>.evidence-ticker,.evidence-watchlist{display:none}
 .evidence-mobile-actions{display:flex;gap:6px;align-items:center}.evidence-search-toggle,.evidence-empty-picker{display:inline-flex;align-items:center;justify-content:center;gap:6px;appearance:none;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--muted);font:inherit;min-height:44px;min-width:44px;padding:8px;cursor:pointer}
 .evidence-search-toggle[aria-expanded=true],.evidence-view:has(.evidence-reset-filter:not([hidden])) .evidence-search-toggle{color:var(--accent-text,var(--accent));border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}
 .evidence-search-glyph{display:block;position:relative;width:18px;height:18px}.evidence-search-glyph::before{content:'';position:absolute;left:1px;top:1px;width:10px;height:10px;border:1.7px solid currentColor;border-radius:50%}.evidence-search-glyph::after{content:'';position:absolute;left:11px;top:12px;width:7px;height:1.7px;background:currentColor;transform:rotate(45deg);transform-origin:left center;border-radius:2px}
 .evidence-view:has(.evidence-center) .evidence-empty-picker,.evidence-view:not(:has(.evidence-tools)) .evidence-search-toggle{display:none}
 .evidence-takeaway{margin:0 0 12px;padding:10px 12px;border-radius:10px}.evidence-summary-icon,.evidence-takeaway .eyebrow{display:none}.evidence-takeaway p{font-size:.875rem;line-height:1.6;margin:0}
 .evidence-takeaway.is-pending{padding:0 2px;border:0;background:none;margin:0 0 12px}.evidence-takeaway.is-pending p{font-size:12px;line-height:18px}.evidence-workspace:has(.evidence-center) .evidence-takeaway.is-pending{display:none}
 .evidence-tools{display:none;margin-bottom:8px}.evidence-search-open .evidence-tools{display:flex;gap:8px}.evidence-tools>.input{order:0;flex:1 1 0;width:auto;min-width:0}.evidence-tools>.evidence-filter-select{display:block;flex:0 0 120px;width:120px;padding-left:8px;padding-right:4px}.evidence-filters{display:none}
 .evidence-reset-filter{margin:0 0 6px;min-height:44px}
 .evidence-map{--evidence-layout:tree;gap:22px;padding:0;border:0;border-radius:0;background:none}
 .evidence-center{flex-direction:row;justify-content:center;gap:16px;width:fit-content;min-width:210px;max-width:100%;min-height:58px;border-radius:14px;padding:6px 14px;box-shadow:none;text-align:left;background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 7%,var(--surface)),var(--surface))}
 .evidence-center-icon,.evidence-center>strong{display:none}.evidence-center>.mono{font-size:1.25rem}.evidence-center:has(.evidence-stock-trigger)>.mono{display:none}.evidence-center-info{display:flex;flex-direction:column;gap:3px;max-width:115px}.evidence-center-info>.small{font-size:11px;line-height:1.5}.evidence-mobile-state{display:block;font-size:10px;color:var(--faint);line-height:1.5}
 .evidence-stock-trigger{display:inline-flex;border-radius:7px;align-items:center;gap:10px;appearance:none;border:0;background:transparent;padding:0;min-height:44px;max-width:100%;color:var(--text);font:inherit;font-weight:750;font-size:21px;cursor:pointer}.evidence-stock-trigger>span{font-size:15px;color:var(--muted);font-weight:400}
 .evidence-branches{display:flex;flex-direction:column;gap:18px;margin:0 0 0 28px}
 .evidence-group{display:block;min-width:0}.evidence-group-heading{display:flex;align-items:center;gap:8px;color:var(--branch);font-size:12px;font-weight:650;line-height:20px;margin:0 0 8px}
 .evidence-group-count{display:inline-grid;place-items:center;min-width:22px;min-height:20px;padding:0 5px;border-radius:5px;background:color-mix(in srgb,var(--branch) 10%,transparent);font-size:11px}
 .evidence-group-nodes{display:flex;flex-direction:column;gap:4px;margin-left:20px}
 .evidence-node{grid-column:auto!important;grid-row:auto!important;position:relative;padding:10px 25px 10px 12px;gap:7px;min-height:66px;border:0;border-radius:8px;background:color-mix(in srgb,var(--branch) 3%,var(--surface));box-shadow:none}
 .evidence-node::after{content:'›';position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:20px;font-weight:400;color:var(--muted)}
 .evidence-node:hover,.evidence-node:focus-visible{background:color-mix(in srgb,var(--branch) 8%,var(--surface));box-shadow:none}
 .evidence-node>strong{font-size:15px;line-height:1.55;font-weight:600;-webkit-line-clamp:2}
 .evidence-node-label,.evidence-node-author,.evidence-node-footer{display:none}
 .evidence-node-mobile-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;line-height:16px;color:var(--muted)}
 .evidence-mobile-author{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.evidence-mobile-count{margin-left:auto}.evidence-node-mobile-meta .evidence-condition{font-size:10px}
 .evidence-leaf-trunk{opacity:.28}.evidence-map-footer{margin:10px 0 14px}.evidence-map-footer>p{font-size:11px}.evidence-coverage{font-size:12px}
 .evidence-map.is-empty .evidence-branches{margin-left:0}.evidence-map.is-empty .evidence-center{display:flex}
}
@media(prefers-reduced-motion:reduce){.evidence-node{transition:none}}

/* Platform icons identify the source; a verified direction takes color priority. */
:is(.evidence-view,.evidence-detail){--source-youtube:#bd3040;--source-macro:#936300;--source-mono:#343c47}
html[data-theme=dark] :is(.evidence-view,.evidence-detail){--source-youtube:#f18f99;--source-macro:#e6bf67;--source-mono:#c3cbd5}
@media(prefers-color-scheme:dark){html:not([data-theme=light]) :is(.evidence-view,.evidence-detail){--source-youtube:#f18f99;--source-macro:#e6bf67;--source-mono:#c3cbd5}}
.evidence-node{--source-tone:var(--muted);isolation:isolate;overflow:hidden;border:1px solid var(--border);border-inline-start:2px solid color-mix(in srgb,var(--source-tone) 45%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--source-tone) 3%,var(--surface)),var(--surface) 70%)}
.evidence-node.source-youtube{--source-tone:var(--source-youtube)}
.evidence-node.source-x{--source-tone:var(--source-mono)}
.evidence-node.source-macro{--source-tone:var(--source-macro)}
.evidence-node:hover,.evidence-node:focus-visible{border-color:color-mix(in srgb,var(--source-tone) 65%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--source-tone) 5%,var(--surface)),var(--surface) 70%);box-shadow:0 6px 20px #0000000c}
.evidence-node:focus-visible{outline-color:var(--text)}
.evidence-source-watermark{position:absolute;z-index:-1;pointer-events:none;right:12px;bottom:28px;width:108px;height:80px;color:var(--source-tone);opacity:.075;display:grid;place-items:center}
.evidence-source-watermark>svg{width:100%;height:100%}
.evidence-node .evidence-node-label{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:2px}
.evidence-source-badge{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;width:fit-content;max-width:100%;font-size:11px;line-height:18px;font-weight:650;color:var(--muted)}
.evidence-source-badge.source-youtube{color:var(--source-youtube)}
.evidence-source-badge.source-macro{color:var(--source-macro)}
.evidence-source-badge :is(.evidence-brand-mark,.app-icon){width:17px;height:17px;flex-shrink:0}
.evidence-source-badge.source-x{color:var(--text)}
.evidence-source-badge.source-x .evidence-brand-mark{box-sizing:content-box;width:12px;height:12px;padding:3px;border-radius:5px;background:#101318;color:#f8fafc;border:1px solid #58616b}
.evidence-node .evidence-category{margin-left:auto;padding:2px 7px;border:1px solid color-mix(in srgb,var(--branch) 35%,transparent);border-radius:6px;background:color-mix(in srgb,var(--branch) 7%,var(--surface));font-size:10px;line-height:16px;white-space:nowrap;flex-shrink:0}
.evidence-node .evidence-category::before{width:5px;height:5px}
.evidence-node-flags{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:10px;line-height:16px}
.evidence-node-footer>span:last-child{color:var(--muted)}
.evidence-node-footer .evidence-node-number{margin-left:auto}
.evidence-source>.evidence-source-badge{margin-bottom:9px}
@media(max-width:600px){
 .evidence-node{border-radius:10px;padding:10px 24px 10px 11px}
 .evidence-node .evidence-node-label{gap:6px;margin-bottom:0}
 .evidence-source-watermark{width:76px;height:58px;right:12px;bottom:19px;opacity:.065}
 .evidence-node-flags{display:none}
}

/* Price dates, candle size and option expiries are three distinct controls. */
.chart-controls{display:flex;gap:20px;align-items:flex-end;flex-wrap:wrap;margin:4px 0 20px}
.chart-control{display:flex;flex-direction:column;gap:7px}
.chart-controls .seg{margin:0;font-family:inherit}
.chart-controls .seg button{padding:9px 14px;min-height:42px;font-size:13px}
.chart-controls .input,.chart-option-controls .input{width:auto;min-height:42px;font-size:14px}
.chart-help-button{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--muted);font-weight:600;cursor:pointer;flex-shrink:0}
.chart-help-button:hover,.chart-help-button:focus-visible{color:var(--accent);border-color:var(--accent)}
.chart-controls>.chart-help-button{margin-bottom:5px}
.chart-workspace{border:1px solid var(--border);border-radius:20px;padding:16px 18px;background:color-mix(in srgb,var(--surface) 52%,var(--bg))}
.chart-workspace .chart-host{height:480px;border:0;border-radius:0;background:transparent}
.chart-ohlc{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;min-height:30px;margin:0 0 10px;font-size:12px}
.chart-axes{margin:10px 0 18px;font-size:11px}
.chart-option-controls{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--border);margin:0 0 14px}
.chart-option-controls>label:first-child{display:flex;align-items:center;gap:10px}
.chart-extra-toggle{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;margin-left:auto;cursor:pointer}
.chart-workspace .legend{gap:10px 22px;font-size:13px}
.chart-wall-position{font-size:13px;margin:14px 0 8px;line-height:1.65}
.chart-option-notes>.small{font-size:11px;margin:5px 0;overflow-wrap:anywhere}
.chart-expiries{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.chart-expiries summary{font-size:12px;cursor:pointer;color:var(--muted)}
.chart-expiry-rows{display:grid;margin-top:10px}
.chart-expiry-row{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:12px;text-align:left;background:transparent;border:0;border-top:1px solid var(--border);padding:12px 6px;color:var(--text);cursor:pointer}
.chart-expiry-row:hover{background:var(--surface)}
.chart-expiry-row span{display:flex;flex-direction:column;gap:4px;font-size:13px}
.chart-expiry-row small{font-size:11px;color:var(--muted)}
.chart-help h3{margin:20px 0 6px;font-size:15px}.chart-help p{line-height:1.75;font-size:14px}
@media(max-width:600px){
 .chart-controls{gap:10px;align-items:center;margin-bottom:14px}.chart-control:first-child{flex-basis:100%}
 .chart-controls .seg{display:flex;width:100%}.chart-controls .seg button{padding:8px 5px;flex:1;font-size:12px;min-height:44px}
 .chart-controls .chart-control:nth-child(2){flex-direction:row;align-items:center;gap:10px}
 .chart-controls .input,.chart-option-controls .input{font-size:16px;min-height:44px;max-width:210px}
 .chart-controls>.chart-help-button{margin:0}.chart-help-button{width:44px;height:44px}
 .chart-workspace{padding:12px 8px;border-radius:14px}.chart-workspace .chart-host{height:410px}
 .chart-ohlc{gap:4px;font-size:10px}.chart-ohlc time{flex-basis:100%;font-size:10px}.chart-axes{font-size:10px;margin:6px 0 12px}
 .chart-option-controls{gap:8px}.chart-extra-toggle{margin:0;min-height:36px;flex-basis:100%}
 .chart-workspace .legend{font-size:12px;gap:8px 16px}.chart-wall-position{font-size:12px}
 .chart-expiry-row{gap:5px;grid-template-columns:1.4fr 1fr 1fr 1fr;padding:12px 2px}.chart-expiry-row span{font-size:11px}.chart-expiry-row small{font-size:9px}
}

/* A dated quote anchors the evidence. The liquid depicts range position only. */
.evidence-center{overflow:hidden;isolation:isolate;min-height:194px;width:190px;border-color:color-mix(in srgb,var(--water-color,var(--muted)) 40%,var(--border));box-shadow:0 0 0 7px color-mix(in srgb,var(--water-color,var(--muted)) 5%,transparent);background:var(--surface)}
.evidence-water{position:absolute;z-index:-1;left:0;right:0;bottom:0;height:var(--water-height,0);max-height:100%;background:linear-gradient(0deg,color-mix(in srgb,var(--water-color) 22%,transparent),color-mix(in srgb,var(--water-color) 8%,transparent));border-top:1px solid color-mix(in srgb,var(--water-color) 45%,transparent);pointer-events:none}
.evidence-water::before{content:'';position:absolute;inset:-5px -20px auto;height:13px;border-radius:50%;background:color-mix(in srgb,var(--water-color) 13%,transparent);transform:rotate(-3deg)}
.evidence-center>.mono{font-size:22px}.evidence-price{display:flex;flex-direction:column;align-items:center;gap:5px;border:0;background:transparent;color:var(--text);padding:5px 0;cursor:pointer;min-height:44px}
.evidence-price strong{font-size:23px;letter-spacing:-.04em}.evidence-price span{font-size:9px;color:var(--muted);white-space:nowrap}
.evidence-water-caption{font:inherit;font-size:9px;padding:5px 0;border:0;background:transparent;color:var(--muted);cursor:pointer}
.evidence-center-info>.small{font-size:9px}.evidence-market-price{font-size:32px;font-weight:700;margin:0 0 8px}.evidence-market-detail h3{margin:24px 0 8px;font-size:15px}.evidence-market-detail p{line-height:1.7}
.evidence-priority{font-size:9px;color:var(--muted)}.evidence-ordering{border:0;background:transparent;padding:10px 0;color:var(--muted);font:inherit;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.evidence-queue-note{line-height:1.7;margin:10px 0}
@media(min-width:1100px){.evidence-map{grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr);column-gap:30px}}
@media(min-width:601px) and (max-width:1099px){.evidence-center{display:flex;flex-direction:row;gap:18px;width:auto;min-height:0;padding:12px 20px;border-radius:16px}.evidence-center-info{display:none}.evidence-water-caption{max-width:80px}}
@media(max-width:600px){
 .evidence-center{width:100%;max-width:340px;min-width:0;min-height:84px;display:grid;grid-template-columns:1fr auto;gap:0 12px;padding:7px 14px;border-radius:14px;text-align:left;box-shadow:none}
 .evidence-center:has(.evidence-stock-trigger)>.mono{display:none}.evidence-stock-trigger{grid-column:1;grid-row:1;min-height:36px;font-size:20px}
 .evidence-price{grid-column:2;grid-row:1;align-items:flex-end;padding:0;min-height:42px;gap:2px}.evidence-price strong{font-size:21px}.evidence-price span{font-size:11px}
 .evidence-center-info{grid-column:1;grid-row:2;max-width:none;gap:0}.evidence-center-info>.small{font-size:11px}.evidence-mobile-state{font-size:11px;color:var(--muted)}
 .evidence-water-caption{grid-column:2;grid-row:2;font-size:10px;text-align:right;max-width:130px;padding:5px 0;min-height:36px}
 .evidence-queue-note{font-size:11px}.evidence-ordering{min-height:44px}.evidence-price:focus-visible,.evidence-water-caption:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
}
.evidence-original-title {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.55;text-align:left}
.evidence-original p {margin:6px 0 16px;overflow-wrap:anywhere}

.creator-reviewed-spans{margin:18px 0;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.creator-reviewed-spans h3{margin:0;font-size:15px}.creator-reviewed-spans>p{line-height:1.6}
.creator-reviewed-spans article{padding:12px 0;border-top:1px solid var(--border)}.creator-reviewed-spans article p{margin:6px 0;font-size:14px;line-height:1.6}
.creator-reviewed-spans article>a{display:inline-flex;align-items:center;min-height:44px;margin-right:16px}

.creator-spans-more>summary{min-height:44px;align-content:center;cursor:pointer;color:var(--accent-text);font-size:13px}

/* Exact evidence links retain a readable source context on narrow screens. */
.creator-reviewed-spans article.is-focused{outline:2px solid var(--accent);outline-offset:3px;scroll-margin:100px 0 100px}
.creator-reviewed-spans article.is-support{border-left:3px solid var(--green)}
.creator-reviewed-spans article.is-counter{border-left:3px solid var(--red)}
.creator-reviewed-spans.is-inline{border:0;background:transparent;padding:0;margin:16px 0}
.creator-reviewed-spans.is-inline article{padding:14px;border:1px solid var(--border);border-radius:12px;margin:12px 0;background:var(--bg)}
.creator-reviewed-spans.is-inline article.is-support{border-left:3px solid var(--green)}
.creator-reviewed-spans.is-inline article.is-counter{border-left:3px solid var(--red)}
.creator-reviewed-spans article>.cr-take{display:inline-flex;margin:0 8px 6px 0}
.creator-ticker-views{display:flex;flex-wrap:wrap;gap:6px;width:100%}
.creator-ticker-views .cr-take{display:inline-flex;text-decoration:none;align-items:center;min-height:32px;padding:4px 10px;white-space:nowrap}
.creator-reviewed-spans blockquote{margin:12px 0;padding-left:12px;border-left:2px solid var(--border);overflow-wrap:anywhere}
.cr-post.is-focused-source{scroll-margin-top:90px}

/* Saved analysis is a local disclosure; citations use the existing source dialog. */
/* Saved analysis is readable on arrival; only its supporting detail is collapsed. */
.evidence-analysis{margin:0 0 20px;padding:18px 20px 6px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:16px;background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 4%,var(--surface)),var(--surface) 65%);max-width:100%;overflow-wrap:anywhere}
.evidence-analysis-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 16px}
.evidence-analysis-heading h2{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:650;letter-spacing:.01em}
.evidence-analysis-heading .app-icon{width:16px;height:16px;color:var(--accent-text,var(--accent))}
.evidence-analysis-time{margin:0;font-size:11px;line-height:1.6;color:var(--muted)}
.evidence-analysis-overview{margin:10px 0 8px;max-width:90ch;font-size:16px;line-height:1.8;color:var(--text)}
.evidence-analysis-citations{display:inline-flex;gap:3px;vertical-align:baseline;margin-left:4px}
.page-app .evidence-analysis .brief-citation{display:inline-grid;place-items:center;min-width:28px;min-height:28px;padding:2px 5px;margin:0;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--muted);font-size:11px;line-height:1.4;cursor:pointer}
.evidence-analysis .brief-citation:hover,.evidence-analysis .brief-citation:focus-visible{color:var(--accent-text,var(--accent));border-color:var(--accent)}
.evidence-analysis-details>summary{width:fit-content;min-height:44px;align-content:center;cursor:pointer;font-size:12px;color:var(--muted);padding:10px 0}
.evidence-analysis-details>summary:hover,.evidence-analysis-details>summary:focus-visible{color:var(--text)}
.evidence-analysis-details[open]>summary{color:var(--text)}
.evidence-analysis-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:20px;padding:16px 0;border-top:1px solid var(--border)}
.evidence-analysis-body h3{font-size:12px;font-weight:650;margin:0 0 6px;color:var(--muted)}
.evidence-analysis-body p{font-size:13px;line-height:1.8;margin:0}
.evidence-analysis-body .is-risks h3{color:var(--evidence-counter)}
.evidence-analysis-status{font-size:13px;line-height:1.7;color:var(--muted);margin:8px 0 12px}
.evidence-analysis.is-pending{padding:14px 18px 2px;border-color:var(--border);background:var(--surface)}
/* Direction remains source-owned. Color and text make it legible together. */
.evidence-node.is-context{border-color:var(--border);border-inline-start-color:color-mix(in srgb,var(--branch) 40%,var(--border));background:linear-gradient(125deg,color-mix(in srgb,var(--branch) 3%,var(--surface)),var(--surface))}
.evidence-node.is-context:is(:hover,:focus-visible){border-color:var(--branch);background:color-mix(in srgb,var(--branch) 5%,var(--surface))}
.evidence-node.is-context .evidence-source-watermark{color:var(--branch)}
.evidence-node:is(.is-support,.is-counter){--source-tone:var(--branch);border-color:color-mix(in srgb,var(--branch) 60%,var(--border));border-inline-start:3px solid var(--branch);background:linear-gradient(125deg,color-mix(in srgb,var(--branch) 18%,var(--surface)),color-mix(in srgb,var(--branch) 7%,var(--surface)))}
.evidence-node:is(.is-support,.is-counter):is(:hover,:focus-visible){border-color:var(--branch);background:linear-gradient(125deg,color-mix(in srgb,var(--branch) 23%,var(--surface)),color-mix(in srgb,var(--branch) 10%,var(--surface)));box-shadow:0 4px 18px color-mix(in srgb,var(--branch) 10%,transparent)}
.evidence-node:is(.is-support,.is-counter) .evidence-source-badge{color:var(--branch)}
.evidence-node:is(.is-support,.is-counter) .evidence-source-badge.source-x .evidence-brand-mark{color:var(--branch);background:color-mix(in srgb,var(--branch) 12%,var(--surface));border-color:color-mix(in srgb,var(--branch) 50%,var(--border))}
.evidence-node:is(.is-support,.is-counter) .evidence-source-watermark{color:var(--branch);opacity:.1}
.evidence-node:is(.is-support,.is-counter) .evidence-category{padding:3px 7px;border-radius:5px;background:color-mix(in srgb,var(--branch) 15%,transparent);font-size:11px;font-weight:700}
.evidence-wire:is(.is-support,.is-counter){stroke-width:2;opacity:.9}
.evidence-filters :is(.is-support,.is-counter){color:var(--branch)}
.evidence-filters :is(.is-support,.is-counter)[aria-pressed=true]{border-color:var(--branch);background:color-mix(in srgb,var(--branch) 12%,var(--surface))}
@media(max-width:700px){
 .evidence-analysis{padding:14px 14px 4px;border-radius:12px;margin-bottom:16px}
 .evidence-analysis-heading{align-items:flex-start;flex-direction:column;gap:4px}
 .evidence-analysis-overview{font-size:15px;line-height:1.7;margin:8px 0 2px}
 .evidence-analysis-body{grid-template-columns:1fr;gap:16px;padding:12px 0 16px}
 .page-app .evidence-analysis .brief-citation{min-width:36px;min-height:36px}
 .evidence-analysis.is-pending{padding:12px 14px 2px}
 .evidence-node:is(.is-support,.is-counter) .evidence-node-label{display:flex}
 .evidence-node:is(.is-support,.is-counter) .evidence-node-label :is(.evidence-node-number,.evidence-condition){display:none}
}

/* Stock navigation stays visible, including names beyond the quick links. */
.evidence-switch-stock,.evidence-all-stocks{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:8px 13px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:13px;cursor:pointer}
.evidence-switch-stock strong{font-size:15px}.evidence-switch-stock>span{color:var(--muted)}
.evidence-all-stocks{color:var(--accent-text,var(--accent));background:transparent;border-color:transparent}
.evidence-switch-stock:hover,.evidence-all-stocks:hover{background:var(--surface-2);border-color:var(--border)}
.evidence-picker-caption{margin:0 0 10px;font-size:13px;color:var(--muted)}
.evidence-stock-picker .evidence-picker-list{max-height:42dvh;overflow-y:auto;overscroll-behavior:contain;padding:2px;margin-bottom:20px;scrollbar-width:thin}
.evidence-stock-picker .evidence-picker-list .chip{font-size:14px;min-height:48px;background:var(--surface-2)}
.evidence-stock-picker .evidence-picker-list [aria-current=page]{background:color-mix(in srgb,var(--accent) 12%,var(--surface));font-weight:700}
.evidence-stock-picker .evidence-picker-form{margin-bottom:0}
.watch-overview{container-type:inline-size}
.watch-row-entry{display:grid;grid-template-columns:minmax(0,1fr) 106px;align-items:stretch;border-bottom:1px solid var(--border)}
.watch-row-entry:last-child{border-bottom:0}
.watch-row-entry>.watch-row{min-width:0;border-bottom:0;grid-template-columns:minmax(100px,1fr) 82px 76px 76px;gap:12px;padding-inline:16px}
.watch-map-link{display:flex;align-items:center;justify-content:center;gap:6px;align-self:center;min-height:44px;margin:6px 10px 6px 0;padding:6px 8px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:9px;color:var(--accent-text,var(--accent));background:color-mix(in srgb,var(--accent) 6%,var(--surface));font-size:12px;text-decoration:none;white-space:nowrap}
.watch-map-link .app-icon{width:16px;height:16px;flex-shrink:0}
.watch-map-link:hover{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-color:var(--accent)}
.watch-columns-entry{background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}
.watch-map-column{align-self:center;text-align:center;color:var(--muted);font-size:12px;padding-right:10px}
.watch-evidence-entry{display:flex;align-items:center;gap:14px;min-height:80px;margin:16px 0 6px;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));border-radius:12px;background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 10%,var(--surface)),var(--surface));color:var(--text);text-decoration:none}
.watch-evidence-entry>.app-icon{width:28px;height:28px;flex-shrink:0;color:var(--accent-text,var(--accent))}
.watch-evidence-entry>span:nth-child(2){display:grid;gap:4px;min-width:0;flex:1}.watch-evidence-entry strong{font-size:16px}.watch-evidence-entry>span>span{color:var(--muted);font-size:12px;line-height:1.5}.watch-evidence-entry>span:last-child{color:var(--accent-text,var(--accent));font-size:22px}
.watch-evidence-entry:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}
@container(max-width:640px){
 .watch-row-entry{grid-template-columns:minmax(0,1fr) 76px}
 .watch-row-entry>.watch-row{grid-template-columns:minmax(0,1fr) 78px;gap:4px 10px;min-height:80px;padding:10px 12px}
 .watch-row-entry .watch-identity{grid-row:1/3}.watch-row-entry .watch-industry{display:none}
 .watch-row-entry .watch-row-price{grid-column:2;grid-row:1;font-size:13px}.watch-row-entry .watch-change{grid-column:2;grid-row:2;font-size:12px;padding:3px 5px}
 .watch-row-entry .watch-row-cap,.watch-columns-entry{display:none}
 .watch-map-link{flex-direction:column;gap:3px;padding:6px 3px;margin-right:8px;min-height:48px}
}
@media(max-width:600px){
 .evidence-heading{flex-wrap:nowrap}.evidence-switch-stock{gap:7px;padding:8px 10px;font-size:12px}.evidence-switch-stock strong{font-size:14px}
 .evidence-stock-picker .evidence-picker-list{grid-template-columns:repeat(3,minmax(0,1fr));max-height:36dvh;margin-bottom:14px}
 .watch-evidence-entry{min-height:76px;padding:14px;gap:12px}.watch-evidence-entry>span>span{font-size:12px}
}

/* Creator studies: published-price snapshot stays visible before +20 matures. */
.study-row{--study-bull:#107348;--study-bear:#b53c52}
html[data-theme=dark] .study-row{--study-bull:#47df98;--study-bear:#f18b9b}
.study-row.study-bull{border-top:3px solid var(--study-bull)}
.study-row.study-bear{border-top:3px solid var(--study-bear)}
.study-row .cr-bull{color:var(--study-bull);background:color-mix(in srgb,var(--study-bull) 12%,transparent)}
.study-row .cr-bear{color:var(--study-bear);background:color-mix(in srgb,var(--study-bear) 12%,transparent)}
.study-row .cr-take{font-size:12px;padding:4px 9px}
.study-row .cr-neutral{color:var(--text);border-color:var(--border)}
.study-price-snapshot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 0;margin-top:8px;border-block:1px solid var(--border)}
.study-price-snapshot>div{display:flex;flex-direction:column;gap:5px;min-width:0}
.study-price-snapshot strong{font-size:clamp(16px,2vw,22px);overflow-wrap:anywhere}
.study-price-snapshot .small{font-size:11px;line-height:1.4}
.study-condition{font-size:13px;line-height:1.7;color:var(--text)}
.study-window{font-size:13px;margin:14px 0}
@media(max-width:480px){.study-row{padding:16px}.study-price-snapshot{gap:8px}.study-heading{gap:8px}}

.social-risk{display:inline-flex;width:fit-content;justify-self:start;color:var(--red);font-size:12px;border:1px solid currentColor;border-radius:6px;padding:4px 7px;line-height:1.4}
.social-history-row>.event-price-comparison{grid-column:1 / -1;width:100%}
.social-card .event-price-comparison{margin-top:12px}

html[lang^=en] .study-price-snapshot>div>.small:first-child{min-height:2.8em}

/* Saved creator views: one expandable stock group, individual observations inside. */
.study-groups{align-items:start}
.study-list>.study-group:only-child{grid-column:1/-1}
.study-group{min-width:0;border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden;--study-bull:#107348;--study-bear:#b53c52}
html[data-theme=dark] .study-group{--study-bull:#47df98;--study-bear:#f18b9b}
@media(prefers-color-scheme:dark){html:not([data-theme=light]) :is(.study-row,.study-group){--study-bull:#47df98;--study-bear:#f18b9b}}
.study-group-summary{display:block;list-style:none;padding:18px;cursor:pointer;border-top:3px solid transparent}
.study-group-summary::-webkit-details-marker{display:none}
.study-group-summary.study-bull{border-top-color:var(--study-bull)}
.study-group-summary.study-bear{border-top-color:var(--study-bear)}
.study-group-summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.study-group-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.study-group-heading>strong{font-size:21px;letter-spacing:-.025em}
.study-group-author{margin-left:auto;overflow-wrap:anywhere;font-size:12px}
.study-group .cr-take{font-size:11px;padding:3px 8px}
.study-group .cr-bull{color:var(--study-bull);background:color-mix(in srgb,var(--study-bull) 10%,transparent)}
.study-group .cr-bear{color:var(--study-bear);background:color-mix(in srgb,var(--study-bear) 10%,transparent)}
.study-group :is(.cr-neutral,.study-group-note){color:var(--text)}
.study-group-time,.study-group-note,.study-group-mixed,.study-group-conditional{display:block}
.study-group-time{margin-top:8px;font-size:11px}
.study-group-note{font-size:14px;font-weight:550;line-height:1.6;margin-top:12px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.study-group-mixed,.study-group-conditional{font-size:11px;line-height:1.5;margin-top:6px}
.study-group .study-price-snapshot{padding:12px 0;margin-top:12px}
.study-group .study-price-snapshot strong{font-size:18px}
.study-group-expand{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);padding-top:12px}
.study-group[open]>.study-group-summary .study-group-expand>span:last-child{transform:rotate(180deg)}
.study-group-views{display:grid;gap:12px;padding:16px;border-top:1px solid var(--border);background:var(--bg)}
.study-group-views .study-row{background:var(--surface)}
.study-group-views [data-point-id].is-focused-study{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:480px){.study-group-summary{padding:14px}.study-group-views{padding:12px;gap:12px}.study-group-heading{gap:8px}.study-group .study-price-snapshot strong{font-size:17px}}

/* The same account limits stay readable on a phone and on a desktop. */
.free-guide{padding:14px 16px;border:1px solid var(--line);border-radius:12px;margin:0 0 14px}
.free-guide-heading,.experience-quota{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap}
.free-guide-heading{justify-content:space-between;margin-bottom:10px}
.free-guide-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.free-guide-links>a{padding:10px;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-size:14px}
.experience-quota{font-size:14px;margin:8px 0 14px;line-height:1.6}
.experience-quota>a{margin-left:auto}
.evidence-examples,.evidence-selections{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}
.evidence-examples>strong{font-size:14px;font-weight:500}
.evidence-selection{display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:8px;padding-left:12px}
.evidence-selection>button{min-width:44px;min-height:44px;border:0;background:none;color:inherit;cursor:pointer}
.experience-comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.experience-comparison article{min-width:0}.experience-comparison p{line-height:1.65}
@media(max-width:600px){.free-guide-links{grid-template-columns:1fr 1fr}.experience-comparison{grid-template-columns:1fr}.experience-quota>a{margin-left:0}.evidence-examples>strong{width:100%}}

/* Account identity stays distinct from the Ducky brand and fits narrow headers. */
.app-top .account-avatar { position:relative; display:inline-flex; flex:0 0 36px; width:36px; height:36px; align-items:center; justify-content:center; border-radius:50%; overflow:hidden; border:1px solid var(--border); background:var(--surface-2); color:var(--text); font-size:14px; font-weight:700; text-decoration:none; }
.app-top .account-avatar[hidden] { display:none; }
.account-avatar img { position:absolute; inset:1px; width:32px; height:32px; border-radius:50%; object-fit:cover; }
.account-avatar:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.x-login { justify-content:center; }

/* Watchlist comparison: analytical fields occupy the former identity-column gap. */
.watch-rich-entry{grid-template-columns:minmax(0,1fr)104px}
.watch-rich-entry>.watch-row{grid-template-columns:minmax(158px,1.8fr) repeat(6,minmax(80px,1fr)) minmax(94px,1.1fr);gap:12px;padding:16px;align-items:center}
.watch-rich-entry .watch-identity-title{flex-wrap:wrap;gap:5px 8px}
.watch-rich-entry .watch-identity strong{font-size:16px;letter-spacing:.025em}
.watch-rich-entry .watch-industry{font-size:12px;padding:3px 5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.watch-rich-entry .watch-company{font-size:11px;line-height:1.45}
.watch-stock-cap{color:var(--muted);font-size:11px;line-height:1.5}
.watch-metric,.watch-quote{display:flex;flex-direction:column;align-items:flex-end;gap:5px;min-width:0;text-align:right}
.watch-metric-value{font-size:16px;font-weight:600;line-height:1.25;font-variant-numeric:tabular-nums;letter-spacing:-.025em;white-space:nowrap}
.watch-metric-label{display:none;color:var(--muted);font-size:11px;font-weight:400;line-height:1.4}
.watch-metric-note{color:var(--muted);font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.watch-metric-status{color:var(--muted);font-size:12px;line-height:1.4}
.watch-metric-date{display:block;white-space:nowrap}
.watch-rich-entry .watch-row-price{font-size:16px;line-height:1.3}
.watch-rich-entry .watch-change{font-size:11px;line-height:1.35;padding:3px 6px;align-self:flex-end}
.watch-rich-entry .watch-columns{min-height:44px;font-size:12px;line-height:1.5;padding-block:12px}
.watch-rich-entry .watch-columns>span:not(:first-child){text-align:right}
.watch-attention-high{color:var(--orange)}
.watch-metric[data-status=stale] .watch-metric-value,.watch-metric[data-status=expired] .watch-metric-value,.watch-metric[data-status=outside_latest_sample] .watch-metric-value{color:var(--muted)}
.watch-metric-method{margin:18px 0 12px;color:var(--muted);font-size:12px}
.watch-metric-method>summary,.watch-metric-source>summary{min-height:36px;display:list-item;align-content:center;cursor:pointer}
.watch-metric-method p{max-width:90ch;line-height:1.7;margin:8px 0}
.watch-metric-source{padding:4px 12px;border-top:1px solid var(--border)}
.watch-metric-source dl{display:grid;grid-template-columns:130px 1fr;gap:8px 16px;font-size:11px;overflow-wrap:anywhere}
.watch-metric-source dd{margin:0}
.watch-metric-source>a{display:inline-block;margin:8px 0;font-size:12px}
@container(max-width:980px){
  .watch-rich-entry{grid-template-columns:minmax(0,1fr)96px}
  .watch-rich-entry>.watch-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px;padding:16px;min-height:0}
  .watch-rich-entry .watch-identity{grid-column:1/3;grid-row:1}
  .watch-rich-entry .watch-quote{grid-column:3;grid-row:1}
  .watch-rich-entry .watch-metric{align-items:flex-start;text-align:left;padding-top:10px;border-top:1px solid var(--border);gap:4px}
  .watch-rich-entry .watch-metric-label{display:block}
  .watch-rich-entry .watch-industry{display:inline}
  .watch-rich-entry .watch-stock-cap{display:block}
  .watch-rich-entry.watch-columns-entry{display:none}
  .watch-rich-entry .watch-map-link{align-self:start;margin-top:20px}
}
@container(max-width:620px){
  .watch-rich-entry{grid-template-columns:minmax(0,1fr)}
  .watch-rich-entry>.watch-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px;padding:14px;min-height:0}
  .watch-rich-entry .watch-identity{grid-column:1/3;grid-row:1}
  .watch-rich-entry .watch-quote{grid-column:3;grid-row:1}
  .watch-rich-entry .watch-identity strong{font-size:16px}
  .watch-rich-entry .watch-identity-title{display:flex;align-items:flex-start;flex-direction:column}
  .watch-rich-entry .watch-metric-value{font-size:16px}
  .watch-rich-entry .watch-metric-note,.watch-rich-entry .watch-metric-status{font-size:11px}
  .watch-rich-entry .watch-map-link{flex-direction:row;justify-self:end;align-self:auto;min-height:40px;margin:0 14px 14px;padding:8px 12px}
  .watch-metric-source dl{grid-template-columns:1fr;gap:5px}
  .watch-metric-source dd{margin-bottom:8px}
}

@container(max-width:320px){
 .watch-rich-entry>.watch-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .watch-rich-entry .watch-identity{grid-column:1;grid-row:1}
 .watch-rich-entry .watch-quote{grid-column:2;grid-row:1}
}

/* Keep the map title readable alongside its two source/navigation actions. */
@media(max-width:380px){.page-app .evidence-heading{flex-wrap:wrap}.page-app .evidence-heading>.view-head{flex:1 0 100%}.page-app .evidence-heading>.evidence-switch-stock{flex:1}}
