/* CrowdFPL canon: crowdfpl-monorepo/design/web/DESIGN.md, commit f3d56c5. */
:root {
  --background:120 15% 97%; --foreground:142 25% 12%; --card:0 0% 100%;
  --muted:120 15% 94%; --muted-foreground:142 15% 38%;
  --border:120 15% 88%; --input:120 15% 88%;
  --primary:142 85% 25%; --primary-foreground:120 15% 97%;
  --accent:142 25% 95%; --ring:var(--primary); --brand-text:142 60% 11%;
  --radius:8px; --radius-md:6px; --radius-sm:4px; --expert-header-height:64px;
}
/* inter-latin-400-normal; range copied from package/400.css. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(expert-calls-fonts/inter-latin-400-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* inter-latin-ext-400-normal; range copied from package/400.css. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(expert-calls-fonts/inter-latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* inter-latin-600-normal; range copied from package/600.css. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(expert-calls-fonts/inter-latin-600-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* inter-latin-ext-600-normal; range copied from package/600.css. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(expert-calls-fonts/inter-latin-ext-600-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* inter-latin-700-normal; range copied from package/700.css. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(expert-calls-fonts/inter-latin-700-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* inter-latin-ext-700-normal; range copied from package/700.css. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(expert-calls-fonts/inter-latin-ext-700-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* Isolated styles for the current immutable sentiment result. */ #sentiment-explorer[hidden]{ display:none !important; }
#sentiment-explorer, .se-dialog { --se-accent:hsl(var(--primary)); --se-ink:hsl(var(--foreground)); --se-muted:hsl(var(--muted-foreground)); --se-line:hsl(var(--border)); --se-brand:hsl(var(--primary)); --se-buy:#12715b; --se-sell:#b44552; --se-hold:#365fa0; --se-avoid:#9d661b; color:var(--se-ink); font-family:Inter,system-ui,Arial,sans-serif; font-size:14px; line-height:1.55; }
#sentiment-explorer { padding:24px 28px 30px; background:hsl(var(--background)); }
#sentiment-explorer *, .se-dialog * { box-sizing:border-box; }
#sentiment-explorer h2, #sentiment-explorer h3, #sentiment-explorer p, .se-dialog h3, .se-dialog p { margin:0; }
#sentiment-explorer button, .se-dialog button { font:inherit; }
#sentiment-explorer button, .se-dialog button, #sentiment-explorer summary, .se-dialog summary { cursor:pointer; }
#sentiment-explorer button:focus-visible, #sentiment-explorer input:focus-visible, #sentiment-explorer select:focus-visible, #sentiment-explorer summary:focus-visible, #sentiment-explorer a:focus-visible, .se-dialog :focus-visible { outline:2px solid hsl(var(--ring)); outline-offset:2px; }
#sentiment-explorer a, .se-dialog a { color:var(--se-accent); text-underline-offset:3px; }
.se-header { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:26px 0 20px; }
#sentiment-explorer .se-overline, .se-dialog .se-overline { color:var(--se-muted); font-size:12px; margin-bottom:5px; }
#sentiment-explorer .se-header h1 { font-size:clamp(26px,3.2vw,38px); letter-spacing:-1.1px; line-height:1.16; font-weight:750; margin-bottom:10px; }
.se-header p:last-child { color:var(--se-muted); font-size:14px; }
.se-filters { display:flex; align-items:flex-end; flex-wrap:wrap; gap:12px; padding:15px 0; border-top:1px solid var(--se-line); border-bottom:1px solid var(--se-line); }
.se-filters label { display:flex; flex-direction:column; gap:5px; font-size:12px; font-weight:600; color:var(--se-muted); }
.se-filters .se-search { flex:1; min-width:170px; max-width:340px; }
.se-filters input[type="search"], .se-filters select { height:36px; border:1px solid hsl(var(--input)); border-radius:var(--radius-md); padding:8px 11px; background:hsl(var(--background)); color:var(--se-ink); font-size:13px; }
.se-text-button { padding:9px 0; border:0; background:none; color:var(--se-accent); font-size:12px !important; text-decoration:underline; text-underline-offset:3px; }
#sentiment-explorer .se-result-count { font-size:12px; color:var(--se-muted); margin:13px 0; }
.se-dossier { min-width:0; background:hsl(var(--accent)); border:1px solid hsl(var(--border)); border-radius:12px; padding:22px; }
#sentiment-explorer .se-dossier h3, .se-dialog .se-dossier h3 { font-size:29px; font-weight:750; letter-spacing:-.8px; line-height:1.2; margin-bottom:4px; }
.se-tag { display:inline-block; padding:3px 7px; border-radius:4px; font-size:12px; line-height:1.4; font-weight:600; background:hsl(var(--muted)); color:hsl(var(--primary)); }
.se-tag.caution { color:hsl(var(--muted-foreground)); background:hsl(var(--muted)); }
#sentiment-explorer .se-micro, .se-dialog .se-micro { font-size:12px; color:var(--se-muted); margin:9px 0; line-height:1.65; }
.se-condition{ padding:10px 12px; border-left:3px solid hsl(var(--border)); background:hsl(var(--muted)); font-size:12px; color:hsl(var(--muted-foreground)); margin:12px 0; }
.se-evidence { border-top:1px solid var(--se-line); }
.se-evidence > summary { padding:14px 0; font-size:12px; font-weight:650; }
.se-evidence > summary span { float:right; color:hsl(var(--muted-foreground)); }
.se-evidence[open] > summary { color:hsl(var(--primary)); }
.se-argument { padding:15px 0; border-top:1px dashed hsl(var(--border)); }
.se-argument-head { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-bottom:9px; }
.se-argument-head strong { font-size:12px; }
#sentiment-explorer .se-argument p, .se-dialog .se-argument p { margin:8px 0; font-size:12px; }
.se-source { font-size:12px; line-height:1.8; color:var(--se-muted); }
.se-source span { padding:0 4px; }
.se-argument > small { font-size:12px; color:var(--se-muted); }
.se-original-note { margin-top:8px; color:var(--se-muted); font-size:12px; }
.se-original-note summary { font-size:12px; }
.se-table-scroll { width:100%; overflow:auto; max-height:680px; border:1px solid var(--se-line); border-radius:9px; overscroll-behavior:contain; }
.se-table-scroll table { width:100%; border-collapse:separate; border-spacing:0; font-variant-numeric:tabular-nums; font-size:12px; }
.se-table-scroll thead th { position:sticky; top:0; z-index:2; padding:15px; background:hsl(var(--muted)); text-align:left; color:hsl(var(--foreground)); border-bottom:1px solid hsl(var(--border)); }
.se-table-scroll tbody th { text-align:left; font-weight:500; padding:12px 15px; }
.se-table-scroll tbody td { padding:9px 12px; }
.se-table-scroll tbody th, .se-table-scroll tbody td { border-bottom:1px solid hsl(var(--border)); }
.se-table-scroll th strong { display:block; font-size:14px; font-weight:650; }.se-table-scroll th small { display:block; font-size:12px; color:var(--se-muted); font-weight:400; white-space:nowrap; margin-top:3px; }
.se-table-scroll tbody tr:last-child > * { border-bottom:0; }.se-table-scroll tbody tr:hover { background:hsl(var(--accent)); }
.se-map-cell { position:relative; width:100%; border:0; border-radius:5px; text-align:left; padding:7px 10px; background:hsl(var(--accent)); color:var(--se-ink); overflow:hidden; }
.se-map-cell strong, .se-map-cell small { position:relative; display:block; }.se-map-cell strong { font-size:20px; font-weight:650; }.se-map-cell small { font-size:12px; white-space:nowrap; }
.se-no-vote { color:hsl(var(--muted-foreground)); padding-left:10px; }
.se-in { color:var(--se-buy); font-weight:650; }.se-out { color:var(--se-sell); font-weight:650; }
.se-flow-bar { display:flex; height:7px; min-width:90px; width:100%; border-radius:3px; overflow:hidden; background:hsl(var(--muted)); }.se-flow-bar span { background:#30977f; }.se-flow-bar i { background:#ca6873; }
.se-coverage { padding:20px 0 0; border-top:1px solid var(--se-line); margin-top:27px; font-size:12px; color:var(--se-muted); }.se-coverage > summary { font-size:12px; font-weight:650; color:var(--se-ink); }.se-coverage > summary span { margin-left:12px; color:hsl(var(--muted-foreground)); font-size:12px; font-weight:500; }.se-coverage h3 { font-size:14px; color:var(--se-ink); }.se-coverage p { margin:12px 0 !important; max-width:85ch; }.se-coverage details { margin-top:15px; }.se-coverage pre { max-width:100%; white-space:pre-wrap; overflow-wrap:anywhere; font:11px/1.6 inherit; }
.se-empty { padding:35px 18px; text-align:center; color:var(--se-muted); }.se-empty h2,.se-empty h3 { margin-bottom:10px !important; }.se-empty button { margin-top:12px; padding:10px 14px; border:1px solid var(--se-line); border-radius:6px; background:hsl(var(--card)); }
.se-dialog { max-width:650px; width:calc(100% - 32px); max-height:85vh; padding:16px; border:1px solid hsl(var(--border)); border-radius:14px; box-shadow:0 25px 100px hsl(var(--foreground) / .27); }.se-dialog::backdrop { background:hsl(var(--foreground) / .44); }.se-dialog .se-dossier { border:0; }.se-dialog-close { display:block; margin-left:auto; padding:8px 12px; border:0; border-radius:6px; background:hsl(var(--muted)); color:hsl(var(--primary)); }.se-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; clip:rect(0,0,0,0); overflow:hidden; white-space:nowrap; border:0; }
@media (max-width:1000px) {.se-dossier { padding:18px; } }
@media (max-width:760px) {
}
@media (prefers-reduced-motion:reduce) { #sentiment-explorer *, .se-dialog * { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
.se-tag, .se-source, .se-argument > small,
.se-original-note, .se-original-note summary, .se-map-cell small, .se-table-scroll th small { font-size:12px; }
@media (max-width:760px) {.se-map-cell small { white-space:normal; }.se-table-scroll th small { white-space:normal; } }
.se-header { padding:21px 0 16px; }
.se-filters { padding:12px 0; }
@media (max-width:760px) {
  .se-header { padding:19px 0 13px; }
  #sentiment-explorer .se-header h1 { font-size:27px; }
}
/* Opinion map + overview and shared evidence dossier. */
.se-combined .se-header { padding-top:4px; padding-bottom:23px; }
.se-combined-table-meta { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.se-combined-table-meta > span { font-size:12px; color:var(--se-muted); }
.se-combined-table { min-width:960px; table-layout:fixed; }
.se-combined-table thead th { padding:13px 10px; }
.se-combined-table thead th:first-child { width:17%; padding-left:15px; }
.se-combined-table thead th:not(:first-child):not(:last-child) { width:14%; }
.se-combined-table thead th:last-child { width:27%; }
.se-combined-table thead th.buy { color:var(--se-buy); }.se-combined-table thead th.avoid { color:var(--se-avoid); }.se-combined-table thead th.sell { color:var(--se-sell); }.se-combined-table thead th.hold { color:var(--se-hold); }
.se-combined-table tbody tr { cursor:pointer; }
.se-combined-table tbody tr:focus-within { background:hsl(var(--accent)); }
.se-combined-table tbody th { padding:12px; }
.se-combined-table tbody td { padding:9px 7px; }
.se-combined-table tbody tr:hover .se-combined-player strong { color:hsl(var(--primary)); }
.se-combined-table .se-map-cell { min-height:73px; padding:8px 9px; }
.se-combined-table .se-map-cell small { font-size:12px; white-space:normal; line-height:1.4; min-height:30px; }
.se-combined-table .se-map-cell:hover { outline:1px solid hsl(var(--border)); outline-offset:1px; }
.se-combined-player { width:100%; background:none; border:0; text-align:left; color:var(--se-ink); padding:3px; border-radius:3px; }
.se-combined-player strong { line-height:1.35; }
.se-combined-player strong span { font-size:12px; color:hsl(var(--muted-foreground)); }
.se-combined-player small { white-space:normal !important; }
.se-combined-table .se-combined-market, .se-combined-market-heading { border-left:1px solid hsl(var(--border)); padding-left:17px !important; padding-right:17px !important; }
.se-combined-table .se-combined-market { background:hsl(var(--card)); }
.se-mini-volumes { display:flex; justify-content:space-between; gap:15px; font-variant-numeric:tabular-nums; }
.se-mini-volumes > span { display:flex; align-items:baseline; gap:6px; }
.se-mini-volumes small { font-size:12px; color:var(--se-muted); letter-spacing:.4px; }
.se-mini-volumes b { font-size:14px; }
.se-combined-market .se-flow-bar, .se-panel-flow .se-flow-bar { margin:7px 0; height:5px; }
.se-mini-balance { display:flex; justify-content:space-between; gap:10px; color:var(--se-muted); font-size:12px; font-variant-numeric:tabular-nums; }
.se-mini-balance b { color:var(--se-ink); font-weight:650; }
.se-mini-balance b.se-in { color:var(--se-buy); }.se-mini-balance b.se-out { color:var(--se-sell); }
.se-market-missing { font-size:12px; color:var(--se-muted); }
.se-mobile-action, .se-mobile-market-label { display:none; }
.se-combined-dialog { max-width:960px; padding:18px; background:hsl(var(--card)); }
.se-combined-dialog-toolbar { display:flex; align-items:center; gap:12px; padding-bottom:13px; position:sticky; top:-18px; z-index:4; background:hsl(var(--card)); }
.se-combined-dialog-toolbar > span { font-size:12px; font-weight:650; color:hsl(var(--muted-foreground)); }
.se-opinion-switch { display:flex; gap:7px; padding:0 0 18px; }
.se-opinion-switch button { display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid hsl(var(--border)); border-radius:7px; background:hsl(var(--card)); color:hsl(var(--foreground)); padding:8px 13px; font-size:13px; }
.se-opinion-switch b { font-size:12px; }
.se-opinion-switch button[aria-pressed="true"] { color:hsl(var(--card)); background:hsl(var(--primary)); border-color:hsl(var(--primary)); }
.se-opinion-switch button:disabled { color:hsl(var(--muted-foreground)); background:hsl(var(--accent)); border-color:hsl(var(--border)); cursor:default; }
.se-combined-dialog .se-dossier { padding:22px; }
.se-combined-market-panel { padding:18px; border:1px solid hsl(var(--border)); border-radius:10px; }
.se-combined-dialog .se-combined-market-panel h3 { font-size:18px; letter-spacing:-.3px; }
.se-combined-market-panel .se-overline { font-size:12px; font-weight:650; }
.se-combined-market-panel .se-mini-volumes > span { display:block; }
.se-combined-market-panel .se-mini-volumes b { display:block; font-size:22px; font-weight:650; letter-spacing:-.5px; }
.se-combined-market-panel .se-mini-balance { display:block; font-size:12px; }
.se-combined-market-panel .se-mini-balance > span { display:flex; justify-content:space-between; margin-top:8px; }
.se-panel-flow { padding:12px 0 16px; }
.se-market-facts { display:flex; gap:24px; padding:14px 0; border-top:1px solid var(--se-line); border-bottom:1px solid var(--se-line); font-size:12px; color:var(--se-muted); }
.se-market-facts strong { display:block; margin-top:3px; font-size:17px; color:var(--se-ink); }
.se-combined-market-panel .se-condition { margin-top:20px; font-size:12px; }
.se-combined-market-panel .se-condition p { margin-top:6px; }
@media (max-width:759px) {
  .se-combined .se-header { padding-top:4px; padding-bottom:17px; }
  .se-combined-table-meta { display:block; margin:12px 0; }
  .se-combined-table-meta .se-result-count { margin:0 0 3px !important; }
  .se-combined-table { min-width:0; table-layout:auto; }
  .se-combined-table thead { position:absolute; width:1px; height:1px; margin:-1px; clip:rect(0,0,0,0); overflow:hidden; }
  .se-combined-table tbody { display:block; }
  .se-combined-table tbody tr { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:12px; gap:8px 5px; border-bottom:1px solid hsl(var(--border)); }
  .se-combined-table tbody tr:last-child { border-bottom:0; }
  .se-combined-table tbody th { grid-column:1 / -1; position:static; padding:0; border:0; box-shadow:none; background:transparent; }
  .se-combined-table .se-combined-player { padding:0 0 5px; }
  .se-combined-table .se-combined-player strong { font-size:17px; }
  .se-combined-table tbody td { padding:0; border:0; }
  .se-combined-table .se-map-cell { min-height:76px; padding:6px; }
  .se-combined-table .se-map-cell small { font-size:12px; }
  .se-combined-table .se-map-cell strong { font-size:21px; }
  .se-mobile-action { display:block; font-size:12px; font-weight:650; padding:0 6px 5px; color:hsl(var(--foreground)); }
  .se-combined-table .se-no-vote { display:block; padding-top:12px; }
  .se-combined-table tbody .se-combined-market { grid-column:1 / -1; border:0; border-top:1px solid hsl(var(--border)); margin-top:3px; padding:10px 0 0 !important; background:transparent; }
  .se-mobile-market-label { display:block; color:var(--se-muted); font-size:12px; margin-bottom:6px; }
  .se-combined-scroll { max-height:690px; }
}
@media (max-width:760px) {
  .se-combined-dialog { padding:10px; }
  .se-combined-dialog-toolbar { top:-10px; }
  .se-opinion-switch { gap:5px; }
  .se-opinion-switch button { flex:1; padding:9px 8px; gap:6px; font-size:12px; }
  .se-combined-dialog .se-dossier { padding:17px; }
  .se-combined-market-panel .se-mini-volumes > span { display:flex; }
  .se-combined-market-panel .se-mini-balance { display:flex; }
  .se-combined-market-panel .se-mini-balance > span { gap:6px; }
}

.se-evidence pre, .se-original-note pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; line-height:1.6; max-width:100%; }
.status-pill.stopping { background:hsl(var(--muted)); color:hsl(var(--muted-foreground)); }
.status-pill.cancelled { background:hsl(var(--muted)); color:hsl(var(--muted-foreground)); }

.se-history-status { color:hsl(var(--muted-foreground)); font-size:12px; line-height:1.6; }
.se-source-quote { margin:10px 0; padding:10px 14px; border-left:3px solid hsl(var(--border)); background:hsl(var(--accent)); white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; line-height:1.6; }

/* Phase 1 only. Opinion map + remains the frozen comparison baseline. */
.se-v2 .se-v2-meta { font-size:12px; line-height:1.7; color:var(--se-muted); margin-bottom:12px; }
@media (max-width:760px) {
  .se-v2 .se-header { flex-wrap:wrap; gap:12px; padding-bottom:12px; }
  .se-v2 .se-v2-meta { font-size:12px; }
  .se-v2 .se-combined-scroll { max-height:none; overflow:visible; }
}
/* V2 phase 2: answer first; baseline selectors and dossier remain unchanged. */
#sentiment-explorer.se-v2 .se-header { display:flex; flex-wrap:wrap; gap:8px 18px; align-items:baseline; padding:0 0 16px; }
#sentiment-explorer.se-v2 .se-header h1 { font-size:23px; letter-spacing:-.5px; margin:0; }
.se-v2 .se-header .se-v2-meta { flex-basis:100%; margin:0; font-size:12px; }
.se-v2 .se-v2-glance { margin-bottom:16px; }
#sentiment-explorer.se-v2 .se-v2-glance > h3 { font-size:16px; margin-bottom:10px; }
.se-v2 .se-v2-panels { display:grid; grid-template-columns:1fr; gap:12px; }
.se-v2 .se-v2-panel { min-width:0; border:1px solid var(--se-line); border-radius:8px; padding:12px; }
.se-v2 .se-v2-panel-heading { display:flex; justify-content:space-between; align-items:baseline; gap:8px; min-height:28px; }
#sentiment-explorer.se-v2 .se-v2-panel h3 { font-size:14px; }
.se-v2 .se-v2-panel-heading .se-text-button { padding:0; white-space:nowrap; }
.se-v2 .se-v2-panel ol { list-style:none; margin:0; padding:0; }
.se-v2 .se-v2-panel li + li { border-top:1px solid var(--se-line); }
#sentiment-explorer.se-v2 .se-v2-summary-player { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; gap:2px 6px; text-align:left; width:100%; border:0; background:transparent; color:var(--se-ink); padding:6px 0; line-height:1.35; }
.se-v2 .se-v2-summary-player:hover { background:hsl(var(--accent)); }
.se-v2 .se-v2-summary-player strong { display:block; font-size:14px; }
.se-v2 .se-v2-summary-player small { display:block; font-size:12px; color:var(--se-muted); }
.se-v2 .se-v2-summary-player > small:last-child { grid-column:1 / -1; }
.se-v2 .se-v2-summary-player > span { display:block; grid-column:1 / -1; font-size:12px; margin-top:0; }
#sentiment-explorer.se-v2 .se-v2-panel-note, #sentiment-explorer.se-v2 .se-v2-panel-empty { margin-top:8px; font-size:12px; }
#sentiment-explorer.se-v2 .se-v2-summary-note { margin-top:8px; font-size:12px; }
.se-v2 .se-v2-lenses { display:flex; gap:4px; flex-basis:100%; flex-wrap:wrap; }
.se-v2 .se-v2-lenses button { padding:7px 14px; border:1px solid var(--se-line); border-radius:6px; background:hsl(var(--card)); color:var(--se-ink); font-size:12px !important; }
.se-v2 .se-v2-lenses button[aria-pressed="true"] { background:hsl(var(--muted)); border-color:hsl(var(--border)); color:hsl(var(--primary)); }
#sentiment-explorer.se-v2 .se-v2-lens-note { margin:0 0 10px; }
.se-v2 .se-v2-net strong { display:block; font-size:16px; font-variant-numeric:tabular-nums; }
.se-v2 .se-v2-net .se-flow-bar { width:100%; }
@media (min-width:760px) { .se-v2 .se-v2-panels { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (min-width:1100px) { .se-v2 .se-v2-panels { grid-template-columns:repeat(4,minmax(0,1fr)); }.se-v2 .se-v2-lenses { flex-basis:auto; } }
@media (min-width:760px) {
  .se-v2 .se-combined-table thead th:first-child { width:20%; }
  .se-v2 .se-combined-table thead th:not(:first-child):not(:last-child) { width:16%; }
  .se-v2 .se-combined-table thead th:last-child { width:16%; }
}
@media (max-width:759px) { .se-v2 .se-v2-panel li:nth-child(n+4) { display:none; } }
@media (max-width:759px) {
  .se-v2 .se-combined-table tbody .se-combined-market { display:flex; align-items:center; gap:12px; }
  .se-v2 .se-mobile-market-label { margin:0; flex:none; }
  .se-v2 .se-v2-net { display:flex; align-items:center; gap:10px; flex:1; min-width:0; }
  .se-v2 .se-v2-net strong { font-size:14px; white-space:nowrap; }
  .se-v2 .se-v2-net .se-flow-bar { flex:1; margin:0; }
}

/* V2 phase 3: four equal decision columns; no baseline or dossier overrides. */
.se-v2 { --se2-buy:#00a68f; --se2-buy-tint:#66cabc; --se2-avoid:#b7791f; --se2-avoid-tint:#d4af79; --se2-sell:#c03c6e; --se2-sell-tint:#d98aa8; --se2-hold:#3a64b8; --se2-hold-tint:#89a2d4; --se2-track:hsl(var(--muted)); }
.se-v2 .buy { --se2-mark:var(--se2-buy); --se2-tint:var(--se2-buy-tint); }
.se-v2 .avoid { --se2-mark:var(--se2-avoid); --se2-tint:var(--se2-avoid-tint); }
.se-v2 .sell { --se2-mark:var(--se2-sell); --se2-tint:var(--se2-sell-tint); }
.se-v2 .hold { --se2-mark:var(--se2-hold); --se2-tint:var(--se2-hold-tint); }
.se-v2 .se-v2-swatch { display:inline-block; width:8px; height:8px; flex:none; margin-right:5px; border-radius:1px; background:var(--se2-mark); }
.se-v2 .se-v2-bar { display:block; height:7px; background:var(--se2-track); border-radius:2px; margin:4px 0 3px; }
.se-v2 .se-v2-bar-fill { display:flex; height:100%; gap:2px; }
.se-v2 .se-v2-bar-fill > i { display:block; flex-basis:0; flex-grow:1; min-width:0; border-radius:2px; }
.se-v2 .se-v2-firm { background:var(--se2-mark); }
.se-v2 .se-v2-conditional { background:var(--se2-tint); }
.se-v2 .se-v2-opposing { background:repeating-linear-gradient(135deg,var(--se2-mark) 0 2px,transparent 2px 5px); box-shadow:inset 0 0 0 1px var(--se2-mark); }
.se-v2 .se-v2-unknown { background:var(--se-muted); }
.se-v2 .se-v2-legend { display:flex; flex-wrap:wrap; align-items:center; gap:6px 16px; margin:8px 0 12px; color:var(--se-muted); font-size:12px; }
.se-v2 .se-v2-legend > span { display:flex; align-items:center; }
.se-v2 .se-v2-legend > span:last-child { display:block; }
.se-v2 .se-v2-legend .se-v2-swatch { width:20px; height:8px; }
.se-v2 .se-combined-table thead th { color:var(--se-ink); }
.se-v2 .se-combined-table tbody td, .se-v2 .se-combined-table tbody th { padding-top:6px; padding-bottom:6px; }
.se-v2 .se-combined-table .se-v2-decision { min-height:0; padding:2px 4px; background:transparent; color:var(--se-ink); border-radius:3px; }
.se-v2 .se-combined-table .se-v2-decision strong { font-size:17px; font-weight:700; line-height:19px; font-variant-numeric:tabular-nums; color:var(--se-ink); }
.se-v2 .se-combined-table .se-v2-decision small { min-height:0; margin:0; font-size:12px; line-height:14px; color:var(--se-muted); white-space:nowrap; }
.se-v2 .se-v2-net strong { color:var(--se-ink); }
.se-v2 .se-v2-net .se-flow-bar > span { background:var(--se2-buy-tint); }
.se-v2 .se-v2-net .se-flow-bar > i { background:var(--se2-sell-tint); }
.se-v2 .se-v2-summary-player > .se-v2-bar { margin:3px 0; }
.se-v2 .se-v2-summary-player > span > b { color:var(--se-ink); font-weight:700; }
@media (max-width:759px) {
  .se-v2 .se-combined-table tbody tr { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 12px; padding:10px; }
  .se-v2 .se-combined-table tbody th { grid-column:1 / -1; grid-row:1; padding:0 85px 0 0; }
  .se-v2 .se-combined-table .se-combined-player { padding:0; }
  .se-v2 .se-combined-table .se-combined-player strong { font-size:15px; }
  .se-v2 .se-combined-table .se-combined-player small { font-size:12px; }
  .se-v2 .se-combined-table tbody td { padding:0; min-width:0; }
  .se-v2 .se-combined-table .se-v2-decision { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; padding:2px 0; }
  .se-v2 .se-mobile-action { color:var(--se-ink); font-size:12px; line-height:19px; padding:0; }
  .se-v2 .se-v2-decision .se-mobile-action { display:flex; align-items:center; }
  .se-v2 .se-v2-decision .se-v2-bar, .se-v2 .se-v2-decision small { grid-column:1 / -1; }
  .se-v2 .se-combined-table .se-no-vote { padding:0; line-height:19px; }
  .se-v2 .se-combined-table tbody .se-combined-market { grid-column:2; grid-row:1; align-self:start; justify-self:end; max-width:80px; padding:0 !important; margin:0; border:0; }
  .se-v2 .se-combined-market .se-mobile-market-label { display:none; }
  .se-v2 .se-v2-net { display:block; text-align:right; width:76px; }
  .se-v2 .se-v2-net .se-flow-bar { margin-top:4px; height:4px; min-width:0; }
}

/* V2 phase 4: the player sheet only; baseline and overview styles stay frozen. */
html:has(.se-v2-player-dialog[open]) { overflow:hidden; }
.se-v2-player-dialog { max-width:1000px; padding:18px 22px; }
.se-v2-player-dialog .se-v2-player-header { display:flex; justify-content:space-between; align-items:end; gap:18px; padding:4px 0 16px; border-bottom:1px solid var(--se-line); }
.se-v2-player-dialog .se-v2-player-header h3 { font-size:28px; line-height:1.2; letter-spacing:-.7px; }
.se-v2-player-dialog .se-v2-player-header p { margin-top:5px; color:var(--se-muted); font-size:12px; }
.se-v2-player-dialog .se-opinion-switch { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:16px 0; }
.se-v2-player-dialog .se-opinion-switch button { display:block; min-width:0; padding:9px 10px; text-align:left; color:var(--se-ink); background:hsl(var(--card)); border:1px solid var(--se-line); border-radius:8px; }
.se-v2-player-dialog .se-opinion-switch button > span:first-child { display:flex; align-items:center; font-size:12px; font-weight:650; }
.se-v2-player-dialog .se-opinion-switch b { display:block; font-size:21px; line-height:1.25; font-variant-numeric:tabular-nums; }
.se-v2-player-dialog .se-opinion-switch small { display:block; color:var(--se-muted); font-size:12px; line-height:1.35; }
.se-v2-player-dialog .se-opinion-switch button[aria-pressed="true"] { border-color:var(--se-ink); box-shadow:inset 0 0 0 1px var(--se-ink); }
.se-v2-player-dialog .se-opinion-switch button:disabled { color:var(--se-muted); background:hsl(var(--accent)); }
.se-v2-player-dialog .se-dossier { padding:0; background:hsl(var(--card)); border:0; border-radius:0; }
.se-v2-player-dialog .se-v2-contexts { display:flex; flex-wrap:wrap; gap:6px; margin:14px 0; }
.se-v2-player-dialog .se-v2-contexts button { border:1px solid var(--se-line); background:hsl(var(--card)); border-radius:20px; padding:5px 11px; color:var(--se-ink); font-size:12px; }
.se-v2-player-dialog .se-v2-contexts button[aria-pressed="true"] { background:var(--se-ink); border-color:var(--se-ink); color:hsl(var(--card)); }
.se-v2-player-dialog .se-v2-expert-list h4 { display:flex; justify-content:space-between; gap:10px; margin:0; padding:12px 0 8px; border-top:1px solid var(--se-line); font-size:13px; }
.se-v2-player-dialog .se-v2-expert-list h4 > span { color:var(--se-muted); font-size:12px; font-weight:400; }
.se-v2-player-dialog .se-v2-expert { display:grid; grid-template-columns:minmax(0,1fr) 135px; gap:0 14px; border-top:1px solid var(--se-line); padding:7px 0; }
.se-v2-player-dialog .se-v2-expert-content { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr); gap:14px; width:100%; text-align:left; color:var(--se-ink); background:transparent; border:0; padding:0; line-height:1.45; }
.se-v2-player-dialog .se-v2-expert-who, .se-v2-player-dialog .se-v2-expert-summary { min-width:0; overflow-wrap:anywhere; }
.se-v2-player-dialog .se-v2-expert-who > strong { font-size:12px; }
.se-v2-player-dialog .se-v2-expert-who > small { display:block; font-size:12px; color:var(--se-muted); }
.se-v2-player-dialog .se-v2-expert-pills { display:flex; flex-wrap:wrap; gap:3px; margin-top:4px; }
.se-v2-player-dialog .se-v2-expert-pills .se-tag { padding:1px 5px; margin:0; font-size:12px; line-height:1.5; }
.se-v2-player-dialog .se-v2-expert-reason { display:block; font-size:12px; }
.se-v2-player-dialog .se-v2-expert-condition { display:block; margin-top:3px; color:hsl(var(--muted-foreground)); font-size:12px; }
.se-v2-player-dialog .se-v2-expert-source { min-width:0; font-size:12px; color:var(--se-muted); text-align:right; overflow-wrap:anywhere; }
.se-v2-player-dialog .se-v2-expert-source > span { display:block; margin-top:3px; font-size:12px; }
.se-v2-player-dialog .se-evidence > summary { font-size:13px; }
.se-v2-player-dialog .se-v2-opposite > summary > span:first-child { float:none; color:var(--se-ink); }
.se-v2-player-dialog .se-v2-opposite > summary > small { display:block; margin-top:4px; color:var(--se-muted); font-size:12px; font-weight:400; }
@media (max-width:760px) {
  .se-v2-player-dialog { width:100%; max-width:none; height:100%; height:100dvh; max-height:100%; max-height:100dvh; margin:0; padding:12px 14px; border:0; border-radius:0; }
  .se-v2-player-dialog .se-combined-dialog-toolbar { top:-12px; }
  .se-v2-player-dialog .se-v2-player-header { display:block; }
  .se-v2-player-dialog .se-v2-player-header h3 { font-size:26px; }
  .se-v2-player-dialog .se-opinion-switch { gap:6px; padding:14px 0; }
  .se-v2-player-dialog .se-opinion-switch button { padding:7px; }
  .se-v2-player-dialog .se-opinion-switch button > span:first-child, .se-v2-player-dialog .se-opinion-switch small { font-size:12px; }
  .se-v2-player-dialog .se-dossier { padding:0; }
  .se-v2-player-dialog .se-v2-expert { grid-template-columns:minmax(0,1fr); gap:4px; padding:7px 0; }
  .se-v2-player-dialog .se-v2-expert-content { grid-template-columns:minmax(0,1fr); gap:4px; }
  .se-v2-player-dialog .se-v2-expert-who { display:flex; flex-wrap:wrap; align-items:baseline; gap:3px 7px; }
  .se-v2-player-dialog .se-v2-expert-pills { margin-top:0; }
  .se-v2-player-dialog .se-v2-contexts { gap:5px; margin:12px 0; }
  .se-v2-player-dialog .se-v2-contexts button { font-size:12px; padding:5px 9px; }
  .se-v2-player-dialog .se-v2-expert-source { text-align:left; display:flex; flex-wrap:wrap; gap:4px 12px; align-items:baseline; }
  .se-v2-player-dialog .se-v2-expert-source > span { margin:0; }
}

/* V2 phase 5a: share feedback; no baseline selector changes. */
.se-v2-player-dialog .se-dialog-copy { margin-left:auto; padding:8px 12px; border:0; border-radius:6px; background:hsl(var(--muted)); color:hsl(var(--primary)); }
.se-v2-player-dialog .se-dialog-close { margin-left:0; }
.se-v2-player-dialog .se-v2-copy-feedback { color:var(--se-muted); font-size:12px; }
.se-v2-player-dialog .se-v2-copy-feedback:not(:empty) { padding-bottom:12px; }
.se-v2-player-dialog .se-v2-copy-feedback label { display:block; }
.se-v2-player-dialog .se-v2-copy-feedback input { display:block; width:100%; min-width:0; margin-top:4px; padding:8px; font:inherit; color:var(--se-ink); background:hsl(var(--card)); border:1px solid var(--se-line); }
.se-v2-player-dialog .se-combined-dialog-toolbar { flex-wrap:wrap; }

.se-v2 .se-combined-table .se-no-vote, .se-v2 .se-combined-player strong span { color:var(--se-muted); }

/* V2 phase 5b: keyboard shortcut before the overview; base remains unchanged. */
.se-v2-skip { scroll-margin-top:var(--expert-header-height); position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.se-v2-skip:focus { position:fixed; top:8px; left:16px; z-index:20; display:inline-block; width:auto; height:auto; margin:0 0 12px; padding:8px 12px; overflow:visible; clip:auto; white-space:normal; background:hsl(var(--card)); border:1px solid hsl(var(--border)); border-radius:6px; }

/* V2 phase 5c: labelled advice filter and neutral market encoding. */
.se-v2 { --se2-market-in:hsl(var(--muted-foreground)); --se2-market-out:hsl(var(--border)); }
.se-v2 .se-v2-lens-filter { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.se-v2 .se-v2-lenses { flex-wrap:nowrap; gap:0; flex-basis:auto; border:1px solid var(--se-line); border-radius:6px; overflow:hidden; }
.se-v2 .se-v2-lenses button { min-height:40px; padding:7px 10px; border:0; border-right:1px solid var(--se-line); border-radius:0; background:transparent; color:var(--se-ink); }
.se-v2 .se-v2-lenses button:last-child { border-right:0; }
.se-v2 .se-v2-lenses button[aria-pressed="true"] { background:var(--se-ink); color:hsl(var(--card)); font-weight:600; }
.se-v2 .se-v2-lenses button:focus-visible { outline-offset:2px; }
.se-v2 .se-combined-table thead .se-v2-selected-column { background:hsl(var(--muted)); }
.se-v2 .se-combined-table-meta { display:block; }
#sentiment-explorer.se-v2 .se-v2-explanation { margin:4px 0 0; }
.se-v2 .se-flow-bar { gap:1px; }
.se-v2 .se-flow-bar > span, .se-v2 .se-v2-net .se-flow-bar > span { background:var(--se2-market-in); }
.se-v2 .se-flow-bar > i, .se-v2 .se-v2-net .se-flow-bar > i { background:var(--se2-market-out); }
.se-v2 .se-in, .se-v2 .se-out, .se-v2 .se-mini-balance b.se-in, .se-v2 .se-mini-balance b.se-out { color:var(--se-ink); }
@media (max-width:759px) { .se-v2 .se-v2-desktop-note { display:none; } }
@media (max-width:760px) {
  .se-v2 .se-v2-lens-filter { width:100%; gap:6px; }
  .se-v2 .se-v2-lenses { width:100%; }
  .se-v2 .se-v2-lenses button { flex:1; min-width:0; min-height:44px; padding:5px 2px; }
  .se-v2 .se-mobile-action { font-weight:400; }
  .se-v2 .se-mobile-action.se-v2-selected-label { font-weight:700; }
}

/* Situation control, owner decision 30. */
.se-v2 .se-v2-context-filter { margin:4px 0 20px; }
.se-v2#sentiment-explorer .se-v2-context-filter > p { margin:10px 0 0; }
.se-v2 .se-v2-overall { margin:8px 0 14px; }

/* V2 honesty and trust: shared base styles and rendering stay unchanged. */
.se-v2 .se-v2-value, .se-v2 .se-v2-info-links { flex-basis:100%; }
#sentiment-explorer.se-v2 .se-v2-value { margin:0; font-size:13px; line-height:1.65; color:var(--se-muted); }
.se-v2 .se-v2-info-links, .se-v2 .se-v2-glance-heading > a { font-size:12px; }
#sentiment-explorer.se-v2 .se-v2-meta p { margin:3px 0; font-size:12px; line-height:1.7; }
.se-v2 .se-v2-info { scroll-margin-top:var(--expert-header-height); }
#sentiment-explorer.se-v2 .se-v2-info > summary h3 { display:inline; font-size:14px; font-weight:650; }
.se-v2 .se-v2-info > summary h3:focus-visible, .se-v2 #se-v2-roll-heading:focus-visible { outline:2px solid hsl(var(--ring)); outline-offset:2px; }
.se-v2 .se-v2-info-body { max-width:85ch; line-height:1.7; }
.se-v2 .se-v2-info-body ol, .se-v2 .se-v2-info-body ul { padding-left:22px; }
.se-v2 .se-v2-info-body li + li { margin-top:8px; }
.se-v2 .se-v2-glance-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:10px; }
#sentiment-explorer.se-v2 .se-v2-glance-heading h3 { font-size:16px; margin:0; }
#sentiment-explorer.se-v2 .se-v2-panel-subtitle { font-size:12px; line-height:1.55; min-height:35px; margin:2px 0 10px; color:var(--se-muted); }
.se-v2 #se-v2-roll { scroll-margin-top:var(--expert-header-height); }

/* V2 phase 5f: neutral signed market scale and pinned club abbreviations. */
.se-v2 { --se2-market-fill:hsl(200 8% 40%); --se2-market-track:hsl(220 14% 96%); --se2-market-sold:var(--se2-market-fill); }
.se-v2 abbr[title] { text-decoration:none; }
.se-v2 .se-v2-market-bar { position:relative; height:7px; margin:6px 0; background:var(--se2-market-track); border-radius:2px; }
.se-v2 .se-v2-market-bar::after { content:""; position:absolute; left:50%; top:-2px; bottom:-2px; width:1px; background:var(--se2-market-fill); }
.se-v2 .se-v2-market-bar > i { position:absolute; height:100%; min-width:3px; max-width:50%; }
.se-v2 .se-v2-market-bought { left:50%; background:var(--se2-market-fill); }
.se-v2 .se-v2-market-sold { right:50%; background:var(--se2-market-sold); }
.se-v2 .se-v2-net > small { display:block; color:var(--se-muted); font-size:12px; white-space:nowrap; font-variant-numeric:tabular-nums; }
@media (max-width:759px) {
  .se-v2 .se-combined-table tbody th { padding-right:0; }
  .se-v2 .se-combined-table tbody .se-combined-market { grid-column:1 / -1; grid-row:auto; justify-self:stretch; max-width:none; border-top:1px solid hsl(var(--border)); padding:8px 0 0 !important; }
  .se-v2 .se-combined-market .se-mobile-market-label { display:block; }
  .se-v2 .se-v2-net { display:grid; grid-template-columns:auto minmax(0,1fr); gap:4px 10px; width:auto; text-align:left; }
  .se-v2 .se-v2-market-bar { margin:0; align-self:center; }
  .se-v2 .se-v2-net > small { grid-column:1 / -1; }
}

/* V2 phase 5g: only direction glyphs use the separate market arrow palette. */
.se-v2 { --se2-market-up-arrow:#2c6a2c; --se2-market-down-arrow:#9c2f1f; }
.se-v2 .se-v2-market-up { color:var(--se2-market-up-arrow); }
.se-v2 .se-v2-market-down { color:var(--se2-market-down-arrow); }
.se-v2 .se-v2-legend > .se-v2-market-key { display:block; }

/* V2 phase 5h: compact overview and on-demand reading key. */
#sentiment-explorer.se-v2 .se-combined-table-meta { display:flex; flex-direction:row; justify-content:space-between; align-items:center; gap:12px; }
.se-v2 .se-combined-table-meta [data-se-read] { flex:none; }
.se-v2 #se-v2-roll > summary { display:block; }
.se-v2 #se-v2-roll > summary strong { display:inline; }
html:has(.se-v2-read-dialog[open]) { overflow:hidden; }
.se-v2-read-dialog { max-width:760px; background:hsl(var(--card)); padding:20px; }
.se-v2-read-dialog .se-combined-dialog-toolbar { top:0; align-items:flex-start; }
.se-v2-read-dialog h3 { font-size:20px; }
.se-v2-read-dialog .se-dialog-close { flex:none; }
.se-v2-read-dialog .se-v2-info-body p + p { margin-top:12px; }
@media (max-width:760px) {
  .se-v2-read-dialog { width:100%; max-width:none; height:100%; height:100dvh; max-height:100%; max-height:100dvh; margin:0; padding:14px; border:0; border-radius:0; }
}

/* Phase 5i: list presentation only; rankings and the frozen base stay unchanged. */
.se-v2 .se-v2-glance [hidden] { display:none; }
.se-v2 .se-v2-panel-heading h3 { display:flex; align-items:center; gap:6px; }
.se-v2 .se-v2-panel > [data-se-see-all] { min-height:44px; padding:8px 0 0; }

/* Phase 5j: answer-first player sheet. */
.se-v2-player-dialog .se-v2-player-header { padding-bottom:8px; }
.se-v2-player-dialog .se-opinion-switch { padding:10px 0; }
.se-v2-player-dialog .se-v2-answer { font-size:14px; line-height:1.45; }
.se-v2-player-dialog .se-v2-answer p { margin:0; }
.se-v2-player-dialog .se-v2-answer p:first-child { font-weight:650; }
.se-v2-player-dialog .se-v2-answer-bar { display:flex; gap:2px; margin:6px 0; }
.se-v2-player-dialog .se-v2-answer-bar > div { min-width:0; }
.se-v2-player-dialog .se-v2-answer-bar .se-v2-bar { margin:0; }
.se-v2-player-dialog .se-v2-intent { margin:6px 0; }
.se-v2-player-dialog .se-v2-contexts { margin:8px 0; }
.se-v2-player-dialog .se-v2-zero { opacity:.65; }
.se-v2-player-dialog .se-v2-swap { margin:6px 0; }
.se-v2-player-dialog .se-v2-swap button { padding:0; font:inherit; }
.se-v2-player-dialog .se-v2-availability { margin-top:6px; font-size:12px; }
.se-v2-player-dialog .se-v2-status-badge { display:inline-block; color:var(--se-ink); border:1px solid currentColor; border-radius:4px; padding:2px 5px; }
.se-v2-player-dialog .se-v2-availability small { display:block; margin-top:4px; color:var(--se-muted); }
.se-v2-player-dialog .se-v2-player-transfers { color:var(--se-ink); }
.se-v2-player-dialog .se-v2-price-change { white-space:nowrap; }
.se-v2-player-dialog .se-v2-show-all { margin:8px 0 12px; }
.se-v2-player-dialog [data-se-neighbour] { padding:6px; font:inherit; font-size:12px; border:1px solid var(--se-line); border-radius:5px; background:hsl(var(--card)); color:var(--se-ink); }
.se-v2-player-dialog [data-se-neighbour][aria-disabled="true"] { color:var(--se-muted); }
.se-v2-player-dialog .se-v2-mini { display:none; }
@media (max-width:759px) {
  .se-v2-player-dialog .se-combined-dialog-toolbar { gap:6px; padding-bottom:8px; }
  .se-v2-player-dialog .se-combined-dialog-toolbar > span { width:100%; font-size:12px; }
  .se-v2-player-dialog .se-dialog-copy, .se-v2-player-dialog .se-dialog-close { padding:6px; font-size:12px; }
  .se-v2-player-dialog .se-v2-mini:not([hidden]) { display:block; position:sticky; top:var(--se-mini-top,60px); z-index:3; background:hsl(var(--card)); border-bottom:1px solid var(--se-line); padding:5px 0; }
  .se-v2-player-dialog .se-v2-mini > strong { display:block; font-size:12px; margin-bottom:4px; }
  .se-v2-player-dialog .se-v2-mini > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
  .se-v2-player-dialog .se-v2-mini button { min-width:0; padding:5px 2px; border:1px solid var(--se-line); border-radius:4px; color:var(--se-ink); background:hsl(var(--card)); font-size:12px; }
  .se-v2-player-dialog .se-v2-mini button[aria-pressed="true"] { background:var(--se-ink); color:hsl(var(--primary-foreground)); }
}
.se-v2-player-dialog .se-opinion-switch button { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px; align-items:center; }
.se-v2-player-dialog .se-opinion-switch button > .se-v2-bar { grid-column:1 / -1; width:100%; }
.se-v2-player-dialog .se-v2-expert-list h4 { padding:6px 0; }
@media (max-width:759px) {
  .se-v2-player-dialog .se-opinion-switch { padding:6px 0; }
  .se-v2-player-dialog .se-opinion-switch button { padding:5px; }
  .se-v2-player-dialog .se-opinion-switch b { font-size:18px; }
  .se-v2-player-dialog .se-v2-contexts { margin:6px 0; gap:4px; }
  .se-v2-player-dialog .se-v2-swap { margin:4px 0; }
}
@media (max-width:759px) {
  .se-v2-player-dialog .se-v2-player-header { padding-bottom:4px; }
  .se-v2-player-dialog .se-opinion-switch { padding:5px 0; }
  .se-v2-player-dialog .se-v2-expert-list h4 { padding:4px 0; }
}

/* Minimal inherited page/container rules. The map's own rules follow unchanged. */
:root { --ink:hsl(var(--foreground)); --canvas:hsl(var(--background)); --line:hsl(var(--border)); --focus-ring:hsl(var(--primary)); }
* { box-sizing:border-box; }
html { scroll-behavior:auto; scrollbar-gutter:stable; }
body { margin:0; min-width:320px; color:var(--ink); background:hsl(var(--background)); font:15px/1.55 Inter,system-ui,Arial,sans-serif; }
button, a { -webkit-tap-highlight-color:transparent; }
button { font:inherit; }
.shell { width:min(1340px,calc(100% - 40px)); margin:0 auto; }
.map-container { min-width:0; min-height:300px; margin-bottom:32px; border:0; border-radius:0; background:transparent; box-shadow:none; }
.map-container h2 { margin:0; font-size:21px; letter-spacing:-.03em; }
:where(button, a, summary, textarea, [tabindex]):focus-visible { outline:2px solid var(--focus-ring); outline-offset:2px; }
@media (max-width:700px) { .shell { width:calc(100% - 20px); } }


/* Standalone polish, owner decision 27. */
#sentiment-explorer .se-quiet-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; height:32px; padding:0 10px; border:1px solid var(--se-line); border-radius:6px; background:transparent; color:var(--se-accent); font-size:12px; text-decoration:none; white-space:nowrap; }
#sentiment-explorer .se-quiet-button:hover { background:hsl(var(--muted)); border-color:hsl(var(--border)); }
.se-help-icon { display:inline-flex; align-items:center; justify-content:center; width:14px; height:14px; border:1px solid currentColor; border-radius:50%; font-size:12px; line-height:1; }
#sentiment-explorer .se-navigation-link { display:inline-flex; align-items:center; color:var(--se-accent); font-weight:500; text-decoration:none; }
#sentiment-explorer .se-navigation-link:hover, #sentiment-explorer .se-navigation-link:focus { text-decoration:underline; }
@media (max-width:760px) {
  #sentiment-explorer .se-quiet-button { height:auto; min-height:40px; white-space:normal; }
}

/* Expert Calls, owner decisions 28–29. */
.expert-header { position:sticky; top:0; z-index:10; height:var(--expert-header-height); background:hsl(var(--background) / .95); backdrop-filter:blur(8px); border-bottom:1px solid hsl(var(--border)); }
.expert-header-inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.expert-brand { display:flex; align-items:center; gap:10px; min-width:0; white-space:nowrap; }
.expert-mark { display:block; flex:none; width:28px; height:28px; border-radius:var(--radius); }
.expert-brand-title { font-size:18px; font-weight:600; letter-spacing:-.2px; color:hsl(var(--brand-text)); }
.expert-by { font-size:14px; color:hsl(var(--muted-foreground)); }
.expert-gw { flex:none; padding:2px 8px; border:1px solid hsl(var(--border)); border-radius:var(--radius-md); background:hsl(var(--card)); font-size:13px; font-weight:500; }
a, #sentiment-explorer a, .se-dialog a { color:hsl(var(--primary)); font-weight:500; text-decoration:none; }
a:hover, a:focus-visible { text-decoration:underline; }
#sentiment-explorer.se-v2 .se-header h1 { margin:0; font-size:20px; line-height:28px; font-weight:600; letter-spacing:-.5px; color:hsl(var(--foreground)); }
#sentiment-explorer.se-v2 .se-v2-value { font-size:14px; }
#sentiment-explorer .se-quiet-button, .se-text-button { font-weight:500; text-decoration:none; }
#sentiment-explorer.se-v2 .se-v2-lenses button { color:hsl(var(--foreground)); background:transparent; font-weight:600; }
#sentiment-explorer.se-v2 .se-v2-lenses button[aria-pressed="true"] { background:hsl(var(--primary)); color:hsl(var(--primary-foreground)); border-color:hsl(var(--primary)); font-weight:600; }
.se-v2 .se-v2-lenses { overflow:visible; }
.se-v2 .se-v2-lenses button:first-child { border-radius:var(--radius-md) 0 0 var(--radius-md); }
.se-v2 .se-v2-lenses button:last-child { border-radius:0 var(--radius-md) var(--radius-md) 0; }
.se-table-scroll, .se-v2 .se-v2-panel { background:hsl(var(--card)); border:1px solid hsl(var(--border)); border-radius:var(--radius); }
.se-v2 .se-combined-table thead th { background:hsl(var(--muted)); color:hsl(var(--muted-foreground)); font-size:12px; font-weight:500; }
.se-combined-table tbody tr { background:hsl(var(--card)); }
.se-dialog .se-dialog-copy, .se-dialog .se-dialog-close, .se-dialog [data-se-neighbour] { background:hsl(var(--card)); color:hsl(var(--foreground)); border:1px solid hsl(var(--border)); border-radius:var(--radius-md); }
#se-combined-search, .se-v2-lenses [data-se-lens] { scroll-margin-top:var(--expert-header-height); }
.expert-footer { border-top:1px solid hsl(var(--border)); padding:20px 0; text-align:center; font-size:14px; }
@media (max-width:759px) {
  :root { --expert-header-height:56px; }
  .expert-header-inner { gap:6px; }
  .expert-brand { gap:6px; }
  .expert-by { font-size:12px; }
  .expert-gw { padding:2px 6px; }
}

/* Compact filters and table, owner decision 30. */
.se-nowrap { white-space:nowrap; }
.se-search-field { position:relative; display:block; }
.se-search-field input { width:100%; padding-right:36px !important; }
.se-search-field input::-webkit-search-cancel-button { appearance:none; }
#sentiment-explorer [data-se-clear-search] { position:absolute; right:1px; top:1px; width:34px; height:34px; padding:0; border:0; background:transparent; color:var(--se-muted); }
.se-filter-status { display:flex; align-items:center; gap:16px; margin-left:auto; min-height:36px; white-space:nowrap; font-size:13px; }
#sentiment-explorer .se-filter-status .se-result-count { margin:0; }
#sentiment-explorer [data-se-clear-filters] { color:hsl(var(--primary)); font-weight:500; }
.se-v2 .se-combined-table thead th { padding-top:7px; padding-bottom:7px; white-space:nowrap; line-height:16px; }
.se-v2 .se-combined-market-heading small { font-size:12px; line-height:14px; white-space:nowrap; }
#sentiment-explorer .se-v2-singles { display:block; width:100%; height:44px; padding:0 8px; border:0; border-top:1px solid var(--se-line); border-radius:0; background:hsl(var(--card)); color:hsl(var(--primary)); font-size:13px; font-weight:500; text-align:center; }
@media(max-width:759px) {
  .se-filter-status { flex-basis:100%; margin-left:0; min-height:24px; justify-content:space-between; }
}

/* Decision 31: frame, readable type and one FPL transfers component. */
.expert-header-inner { padding-left:28px; padding-right:28px; }
#sentiment-explorer input, #sentiment-explorer select { font-family:inherit; font-size:14px; font-weight:400; }
.se-v2 .se-combined-table .se-combined-player strong { font-size:16px; font-weight:700; }
.se-v2 .se-combined-table .se-combined-player small { font-size:12px; }
.se-v2 .se-combined-table .se-v2-decision strong { font-size:16px; font-weight:600; }
.se-v2 .se-v2-summary-player strong { font-size:15px; font-weight:700; }
.se-v2 .se-v2-summary-player small { font-size:12px; }
.se-v2-player-dialog .se-v2-expert-who > strong { font-size:14px; font-weight:650; }
.se-v2-player-dialog .se-v2-expert-pills .se-tag { font-size:12px; color:hsl(var(--foreground)); background:hsl(var(--muted)); }
.se-v2-player-dialog .se-v2-expert-pills .se-vote-pill { border:1px solid var(--se2-mark); }
.se-v2-player-dialog .se-v2-expert-pills .se-pill-firm { background:var(--se2-mark); color:hsl(0 0% 7%); }
.se-v2-player-dialog .se-v2-expert-pills .se-pill-firm.sell, .se-v2-player-dialog .se-v2-expert-pills .se-pill-firm.hold { color:hsl(0 0% 100%); }
.se-v2-player-dialog .se-v2-expert-pills .se-pill-tentative { background:hsl(var(--card)); color:hsl(var(--foreground)); }
.se-v2-player-dialog .se-v2-player-header > div { width:100%; }
.se-v2 .se-v2-net { display:grid; grid-template-columns:auto minmax(0,1fr); gap:4px 10px; width:100%; text-align:left; }
.se-v2 .se-v2-net strong { grid-column:2; font-size:16px; text-align:right; white-space:nowrap; }
.se-v2 .se-transfer-label { display:none; font-size:12px; align-self:baseline; color:var(--se-muted); }
.se-v2 .se-v2-market-bar { grid-column:1 / -1; width:100%; margin:2px 0; }
.se-v2 .se-v2-net > .se-transfer-ends { grid-column:1 / -1; display:flex; justify-content:space-between; gap:8px; font-size:12px; }
.se-v2-player-dialog .se-transfer-label { display:block; }
.se-v2-player-dialog .se-v2-player-transfers { margin-top:8px; }
.se-v2-player-dialog .se-v2-expert-source a { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.se-v2-player-dialog .se-v2-expert-source a > span { color:var(--se-muted); }
@media(max-width:759px) {
  .shell { width:calc(100% - 32px); }
  #sentiment-explorer { padding:24px 0 30px; }
  .expert-header-inner { padding-left:0; padding-right:0; }
  #sentiment-explorer input, #sentiment-explorer select { font-size:16px; }
  .se-v2-player-dialog .se-v2-expert-source a { width:100%; min-height:44px; align-items:center; }
  .se-v2-player-dialog .se-dialog-copy, .se-v2-player-dialog .se-dialog-close, .se-v2-player-dialog [data-se-neighbour], .se-v2-player-dialog .se-v2-contexts button, .se-v2-player-dialog .se-v2-swap button { min-height:44px; }
  .se-v2 .se-combined-table .se-combined-player strong { font-size:17px; }
  .se-v2 .se-combined-table tbody { display:grid; gap:8px; }
  .se-v2 .se-combined-table tbody tr, .se-v2 .se-combined-table tbody tr:last-child { border:1px solid hsl(var(--border)); border-radius:8px; }
  .se-v2 .se-combined-scroll { border:0; border-radius:0; background:transparent; }
  .se-v2 .se-combined-table { background:transparent; }
  .se-v2 .se-combined-table tbody .se-combined-market { display:block; width:100%; }
  .se-v2 .se-combined-market .se-mobile-market-label { display:none; }
  .se-v2 .se-transfer-label { display:block; }
}

.se-v2 .se-transfer-label, .se-v2 .se-v2-net .se-transfer-ends { color:var(--se2-market-fill); }

/* Decision 31 / phase 6g: one scope select, one summary, one table lens. */
:root { --popover:0 0% 100%; --badge-draw-bg:48 96% 89%; --badge-draw-fg:32 95% 30%; }
.se-v2 .se-page-heading { margin-bottom:8px; }
#sentiment-explorer.se-v2 .se-page-heading .se-header { display:block; flex:1; min-width:0; padding:0; }
.se-v2 { --expert-plan-height:0px; --expert-sticky-height:calc(var(--expert-header-height) + var(--expert-plan-height)); }
.se-v2:has(.se-plan-bar) { --expert-plan-height:57px; }
.se-v2 .se-plan-bar { position:sticky; top:var(--expert-header-height); z-index:5; display:flex; align-items:center; gap:12px; margin:0 -16px 20px; padding:8px 16px; border-bottom:1px solid hsl(var(--border)); background:hsl(var(--background)); }
.se-v2 .se-v2-context-filter label { font-size:13px; font-weight:600; color:hsl(var(--foreground)); white-space:nowrap; }
.se-v2 .se-plan-echo { color:hsl(var(--foreground)); font-weight:600; }
.se-v2 .se-plan-note { margin-bottom:20px; }
.se-v2 .se-filter-status { white-space:normal; flex-wrap:wrap; }
.se-v2 .se-combined-market-heading small { white-space:normal; }
.se-v2 .se-filters, .se-v2 #se-combined-search, .se-v2 .se-v2-lenses [data-se-lens], .se-v2 .se-v2-skip { scroll-margin-top:var(--expert-sticky-height); }
.se-v2 .se-v2-panels { grid-template-columns:minmax(0,1.3fr) minmax(0,1.3fr) minmax(0,1fr); align-items:start; }
.se-v2 .se-summary-stack { display:grid; gap:12px; min-width:0; }
.se-v2 .se-v2-panel-heading { display:flex; }
.se-v2 .se-v2-summary-player strong { min-width:0; }
.se-v2 .se-wildcard-tag { display:inline-block; font-size:12px; font-weight:600; line-height:1.4; margin-left:6px; padding:1px 5px; border-radius:4px; color:hsl(var(--badge-draw-fg)); background:hsl(var(--badge-draw-bg)); white-space:nowrap; vertical-align:1px; }
#sentiment-explorer.se-v2 .se-summary-compact .se-v2-summary-player { grid-template-columns:minmax(0,1fr) minmax(0,auto); gap:8px; }
.se-v2 .se-summary-compact .se-v2-summary-player > span { grid-column:2; text-align:right; color:var(--se-muted); }
.se-v2 .se-combined-scroll { max-height:none; overflow:visible; overscroll-behavior:auto; }
.se-v2 .se-combined-table { min-width:0; }
@media(min-width:760px) {
  .se-v2 .se-combined-table thead th { top:var(--expert-sticky-height); z-index:2; }
  .se-v2 .se-combined-table .se-v2-decision small { white-space:normal; }
}
@media(max-width:759px) {
  .se-v2 .se-page-heading { display:block; }
  .se-v2:has(.se-plan-bar) { --expert-plan-height:57px; }
  .se-v2 .se-plan-bar { padding-top:6px; padding-bottom:6px; }
  #sentiment-explorer.se-v2 #se-v2-situation { flex:1; width:auto; }
  .se-v2 .se-v2-panels { grid-template-columns:minmax(0,1fr); }
  .se-v2 .se-summary-compact { padding:0; }
  #sentiment-explorer.se-v2 .se-summary-toggle { display:flex; align-items:center; gap:10px; min-height:48px; width:100%; padding:10px 12px; border:0; border-radius:8px; background:hsl(var(--card)); color:var(--se-ink); text-align:left; font-size:13px; }
  .se-v2 .se-summary-toggle > b { min-width:64px; }
  .se-v2 .se-summary-toggle > span { flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .se-v2 .se-summary-toggle > i { font-style:normal; font-size:18px; }
  .se-v2 .se-summary-compact ol { padding:0 12px 12px; }
  #sentiment-explorer.se-v2 .se-summary-compact .se-v2-summary-player { grid-template-columns:minmax(0,1fr) auto; gap:2px 6px; }
  .se-v2 .se-summary-compact .se-v2-summary-player > span { grid-column:1 / -1; text-align:left; }
  #sentiment-explorer.se-v2 .se-summary-none { min-height:48px; padding:12px; font-size:13px; color:var(--se-muted); }
  .se-v2 .se-combined-table .se-missing-decisions { grid-column:1 / -1; font-size:12px; color:var(--se-muted); }
}

/* Decision 32a: shared custom select; pointer focus never borrows the keyboard ring. */
.se-position { display:flex; flex-direction:column; gap:4px; min-width:140px; }
.se-position > label { font-size:12px; color:var(--se-muted); }
#sentiment-explorer .se-select-trigger { display:flex; align-items:center; justify-content:space-between; gap:8px; height:40px; min-width:0; padding:8px 12px; border:1px solid hsl(var(--input)); border-radius:6px; background:hsl(var(--background)); color:hsl(var(--foreground)); font-family:inherit; font-size:14px; font-weight:500; text-align:left; cursor:pointer; box-shadow:none; outline:none; }
#sentiment-explorer .se-select-trigger:focus-visible:not([data-se-pointer]) { outline:2px solid hsl(var(--ring)); outline-offset:2px; }
#sentiment-explorer #se-v2-situation { width:260px; }
.se-select-value { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.se-select-chevron { flex:none; opacity:.5; transition:transform 120ms ease-out; }
[aria-expanded="true"] > .se-select-chevron { transform:rotate(180deg); }
.se-select-list { position:fixed; z-index:100; box-sizing:border-box; margin:0; padding:4px; max-height:384px; overflow:auto; overscroll-behavior:contain; border:1px solid hsl(var(--border)); border-radius:6px; background:hsl(var(--popover)); color:hsl(var(--foreground)); box-shadow:0 4px 6px -1px hsl(0 0% 0% / .1),0 2px 4px -2px hsl(0 0% 0% / .1); font-family:Inter,system-ui,Arial,sans-serif; animation:se-select-in 120ms ease-out; }
.se-select-option { position:relative; box-sizing:border-box; display:flex; align-items:center; min-height:36px; padding:6px 8px 6px 32px; border-radius:4px; font-size:14px; line-height:20px; font-weight:400; cursor:pointer; user-select:none; }
.se-select-option:hover, .se-select-option.se-select-current { background:hsl(var(--accent)); }
.se-select-option[aria-selected="true"] { background:hsl(var(--primary) / .1); color:hsl(var(--primary)); font-weight:600; }
.se-select-option > svg { position:absolute; left:8px; visibility:hidden; }
.se-select-option[aria-selected="true"] > svg { visibility:visible; }
@keyframes se-select-in { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
.se-select-list[data-side="top"] { animation-name:se-select-in-above; }
@keyframes se-select-in-above { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:759px) {
  #sentiment-explorer .se-select-trigger { height:44px; font-size:16px; }
  #sentiment-explorer #se-v2-situation { flex:1; width:auto; }
  .se-select-option { min-height:44px; font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .se-select-list { animation:none; } .se-select-chevron { transition:none; } }
