:root {
  --bg: #07110f;
  --bg-soft: #0c1916;
  --panel: #10231e;
  --panel-2: #142b25;
  --ink: #f5f4e8;
  --muted: #aebdb6;
  --gold: #f4c85b;
  --gold-2: #dcae35;
  --green: #2fe19a;
  --red: #ee5b67;
  --line: rgba(255,255,255,.11);
  --shadow: 0 25px 80px rgba(0,0,0,.38);
  --radius: 24px;
  --spin-duration: 2.1s;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: "DM Sans", sans-serif; color: var(--ink); background: radial-gradient(circle at 85% 0%, rgba(47,225,154,.10), transparent 26%), var(--bg); line-height: 1.55; }
button, input, select { font: inherit; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; background: var(--gold); color: #111; padding: .75rem 1rem; border-radius: 8px; }
.skip-link:focus { top: 1rem; }
.site-header { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1rem clamp(1rem,4vw,4rem); background: rgba(7,17,15,.88); backdrop-filter: blur(18px); border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: .65rem; font-family: "Space Grotesk"; font-size: 1.35rem; font-weight: 700; letter-spacing: -.04em; }
.brand-mark { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--gold); color: #102019; box-shadow: 0 0 0 4px rgba(244,200,91,.12); }
.brand-accent { color: var(--green); }
nav { display: flex; gap: 1.5rem; color: var(--muted); font-size: .93rem; }
nav a:hover { color: var(--ink); }
.primary-button,.secondary-button,.ghost-button { border-radius: 999px; padding: .78rem 1.15rem; font-weight: 700; border: 1px solid transparent; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.primary-button { background: var(--gold); color: #142019; }
.secondary-button { background: var(--green); color: #062018; }
.ghost-button { background: transparent; color: var(--ink); border-color: var(--line); }
.primary-button:hover,.secondary-button:hover,.ghost-button:hover { transform: translateY(-2px); }
.hero { min-height: 690px; display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem,6vw,7rem); align-items: center; padding: clamp(4rem,9vw,8rem) clamp(1.25rem,6vw,7rem); overflow: hidden; }
.eyebrow { margin: 0 0 .75rem; color: var(--green); font-size: .77rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 800; }
h1,h2,h3 { font-family: "Space Grotesk"; line-height: 1.05; margin-top: 0; }
h1 { font-size: clamp(3.1rem,7vw,6.7rem); letter-spacing: -.065em; margin-bottom: 1.5rem; }
h1 span { color: var(--gold); }
h2 { font-size: clamp(2.25rem,4vw,4.2rem); letter-spacing: -.05em; }
h3 { letter-spacing: -.025em; }
.hero-lede { max-width: 760px; color: var(--muted); font-size: clamp(1.05rem,1.8vw,1.28rem); }
.hero-actions { display: flex; gap: .75rem; margin: 2rem 0 1rem; }
.microcopy { color: #81928b; font-size: .86rem; }
.hero-machine { position: relative; max-width: 510px; margin-inline: auto; padding: 2.2rem 1.5rem 1.5rem; border: 2px solid rgba(244,200,91,.7); border-radius: 44px; background: linear-gradient(160deg,#18372e,#091411 70%); box-shadow: var(--shadow), inset 0 0 0 8px rgba(244,200,91,.05); transform: rotate(2deg); }
.machine-top { display: flex; justify-content: space-around; position: absolute; top: .55rem; left: 2rem; right: 2rem; }
.light { width: 12px; height: 12px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 18px var(--gold); }
.machine-screen { display: grid; grid-template-columns: repeat(3,1fr); gap: .7rem; background: #030806; border: 1px solid rgba(255,255,255,.18); padding: .8rem; border-radius: 22px; }
.mini-reel { min-height: 210px; border-radius: 15px; display: flex; flex-direction: column; justify-content: center; align-items: center; background: linear-gradient(#f5f2de,#d8d6c6); color: #122019; text-align: center; overflow: hidden; }
.mini-reel.feature { box-shadow: inset 0 0 0 5px var(--gold); transform: scale(1.03); }
.mini-reel span,.mini-reel small { font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.mini-reel strong { font: 700 clamp(2rem,5vw,4rem) "Space Grotesk"; margin: .4rem 0; }
.machine-label { text-align: center; margin: 1rem 0; font: 700 .8rem "Space Grotesk"; letter-spacing: .16em; color: var(--gold); }
.machine-base { display: flex; justify-content: space-around; padding: .9rem 1rem; border-radius: 16px; background: rgba(0,0,0,.25); color: var(--muted); font-size: .72rem; letter-spacing: .14em; }
.ticker-strip { border-block: 1px solid var(--line); background: #091512; min-height: 74px; display: flex; align-items: center; }
.spin-section,.result-section,.how-section,.method-section { padding: clamp(4rem,8vw,8rem) clamp(1.25rem,6vw,7rem); }
.section-heading { max-width: 850px; margin-bottom: 3rem; }
.section-heading.center { text-align: center; margin-inline: auto; }
.section-heading p:not(.eyebrow) { color: var(--muted); }
.spin-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 2rem; align-items: start; }
.control-panel,.wheel-panel,.info-card,.widget-card,.ai-summary-card { background: linear-gradient(145deg,rgba(20,43,37,.94),rgba(12,25,22,.94)); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 18px 60px rgba(0,0,0,.18); }
.control-panel { padding: clamp(1.2rem,3vw,2rem); }
.control-heading { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.25rem; }
.control-heading h3 { margin-bottom: .35rem; }
.control-heading p { margin: 0; color: var(--muted); font-size: .92rem; }
.segment-heading { margin-top: 2rem; }
.step-number { flex: 0 0 auto; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--gold); color: #132019; font-weight: 800; }
.choice-grid { display: grid; gap: .65rem; }
.choice-grid.markets { grid-template-columns: repeat(3,1fr); }
.choice-grid.segments { grid-template-columns: repeat(4,1fr); }
.choice-card { position: relative; min-height: 92px; padding: .9rem; border-radius: 16px; border: 1px solid var(--line); background: rgba(255,255,255,.025); color: var(--ink); text-align: left; }
.choice-card:hover { border-color: rgba(244,200,91,.5); }
.choice-card.active { border-color: var(--gold); background: rgba(244,200,91,.1); box-shadow: inset 0 0 0 1px rgba(244,200,91,.35); }
.choice-card strong { display: block; font-family: "Space Grotesk"; }
.choice-card small { color: var(--muted); display: block; margin-top: .25rem; line-height: 1.25; }
.choice-card .preview-tag { position: absolute; right: .55rem; top: .55rem; font-size: .58rem; text-transform: uppercase; letter-spacing: .09em; color: var(--gold); }
.eligible-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding: 1rem 1.15rem; border-radius: 16px; background: rgba(0,0,0,.2); }
.eligible-bar div { display: flex; align-items: baseline; gap: .45rem; }
.eligible-bar strong { font: 700 1.6rem "Space Grotesk"; color: var(--green); }
.eligible-bar span { color: var(--muted); }
.text-button { border: 0; background: transparent; color: var(--gold); font-weight: 700; }
.wheel-panel { position: sticky; top: 100px; padding: 2rem; text-align: center; }
.wheel-wrap { max-width: 480px; margin: 0 auto; position: relative; isolation: isolate; }
.roulette-wheel { position: relative; aspect-ratio: 1; border-radius: 50%; background: conic-gradient(from -22.5deg,#c33f49 0 12.5%,#101815 12.5% 25%,#c33f49 25% 37.5%,#101815 37.5% 50%,#c33f49 50% 62.5%,#101815 62.5% 75%,#c33f49 75% 87.5%,#101815 87.5% 100%); border: 14px solid var(--gold-2); box-shadow: 0 0 0 8px #6f5117,0 30px 80px rgba(0,0,0,.55),inset 0 0 35px rgba(0,0,0,.55); transition: transform var(--spin-duration) cubic-bezier(.12,.74,.13,1); }
.roulette-wheel::before { content:""; position:absolute; inset: 9%; border: 2px solid rgba(244,200,91,.65); border-radius: 50%; }
.wheel-ring { position:absolute; inset:-7px; border-radius:50%; border: 7px dotted #fff1a6; opacity:.75; }
.wheel-pointer { position: absolute; left: 50%; top: -17px; transform: translateX(-50%); z-index: 5; width: 0; height: 0; border-left: 18px solid transparent; border-right: 18px solid transparent; border-top: 38px solid var(--green); filter: drop-shadow(0 4px 5px rgba(0,0,0,.5)); }
.wheel-labels span { --angle: calc(var(--i) * 45deg); position:absolute; left:50%; top:50%; transform: rotate(var(--angle)) translateY(-42%) translateX(-50%); transform-origin: 0 0; font: 700 .64rem "Space Grotesk"; letter-spacing:.08em; }
.spin-button { position:absolute; inset:31%; z-index:4; border-radius:50%; touch-action:manipulation; border: 8px solid #8a651d; background: radial-gradient(circle at 35% 30%,#ffe998,#e1ad35 58%,#987018); color:#122019; box-shadow: 0 10px 30px rgba(0,0,0,.45),inset 0 3px 4px rgba(255,255,255,.7); }
.spin-button span { display:block; font:700 clamp(1.6rem,3vw,2.6rem) "Space Grotesk"; }
.spin-button small { display:block; font-size:.55rem; letter-spacing:.12em; font-weight:800; }
.spin-button:hover:not(:disabled) { transform:scale(1.025); }
.spin-button:disabled { opacity:.78; cursor:wait; }
.spin-button:focus-visible { outline: 4px solid var(--green); outline-offset: 5px; }
.selection-readout { margin-top: 1.6rem; }
.selection-readout span { color: var(--muted); display:block; font-size:.8rem; }
.selection-readout strong { color: var(--gold); }
.wheel-note { color: #82938c; font-size: .79rem; }
.hidden { display:none !important; }
.result-section { border-top: 1px solid var(--line); background: linear-gradient(180deg,rgba(47,225,154,.035),transparent 30%); }
.result-section.result-reveal { animation: resultReveal .45s ease-out both; }
@keyframes resultReveal { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
.result-header { display:flex; justify-content:space-between; gap:2rem; align-items:end; margin-bottom:2rem; }
.company-title-row { display:flex; gap:1rem; align-items:center; }
.ticker-badge { display:grid; place-items:center; min-width:82px; height:82px; padding:0 .7rem; border-radius:22px; background:var(--gold); color:#132019; font:700 1.35rem "Space Grotesk"; }
.company-title-row h2 { margin:0 0 .3rem; font-size:clamp(2rem,4vw,4rem); }
.company-title-row p { margin:0; color:var(--muted); }
.result-actions { display:flex; gap:.7rem; }
.stat-row { display:grid; grid-template-columns:repeat(5,1fr); gap:.75rem; margin-bottom:2rem; }
.stat-card { padding:1rem; border-radius:16px; background:rgba(255,255,255,.035); border:1px solid var(--line); }
.stat-card span { display:block; color:var(--muted); font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; }
.stat-card strong { display:block; margin-top:.35rem; font-family:"Space Grotesk"; }
.tab-bar { display:flex; gap:.25rem; overflow:auto; padding:.4rem; border-radius:999px; background:rgba(0,0,0,.22); width:max-content; max-width:100%; margin-bottom:1.5rem; }
.tab { border:0; color:var(--muted); background:transparent; border-radius:999px; padding:.72rem 1rem; white-space:nowrap; font-weight:700; }
.tab.active { background:var(--ink); color:#122019; }
.tab-panel { display:none; }
.tab-panel.active { display:block; }
.content-grid { display:grid; gap:1rem; }
.content-grid.two-thirds { grid-template-columns:2fr 1fr; }
.info-card { padding:clamp(1.25rem,3vw,2rem); }
.info-card.large > p:not(.card-kicker) { color:var(--muted); font-size:1.05rem; }
.card-kicker { color:var(--green); text-transform:uppercase; letter-spacing:.13em; font-size:.7rem; font-weight:800; margin:0 0 .55rem; }
.playful-card { background:linear-gradient(145deg,rgba(244,200,91,.17),rgba(12,25,22,.95)); }
.fact-list { display:grid; grid-template-columns:repeat(2,1fr); gap:.85rem; margin:1.5rem 0 0; }
.fact-list div { padding:.9rem; border-radius:14px; background:rgba(0,0,0,.18); }
.fact-list dt { color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.fact-list dd { margin:.25rem 0 0; font-weight:700; }
.source-note { margin-top:1.25rem; color:#82938c; font-size:.78rem; }
.market-disclaimer { display:flex; gap:1rem; align-items:center; padding:1rem 1.2rem; margin-bottom:1rem; border-radius:16px; background:rgba(244,200,91,.10); border:1px solid rgba(244,200,91,.25); }
.market-disclaimer span { color:var(--muted); }
.market-widget-grid { display:grid; gap:1rem; }
.widget-card { overflow:hidden; padding:.35rem; min-width:0; }
.widget-height-small { min-height:420px; }
.widget-height-large { min-height:620px; }
.panel-intro,.news-controls { display:flex; justify-content:space-between; gap:2rem; align-items:end; margin-bottom:1.25rem; }
.panel-intro p { color:var(--muted); max-width:520px; }
.source-links { display:grid; gap:.75rem; }
.source-links a { color:var(--green); font-weight:700; font-size:.82rem; }
.source-links a { padding:.85rem; border:1px solid var(--line); border-radius:12px; }
.range-toggle { display:flex; padding:.3rem; border-radius:999px; background:rgba(0,0,0,.25); }
.range-toggle button { border:0; border-radius:999px; background:transparent; color:var(--muted); padding:.65rem .9rem; font-weight:700; }
.range-toggle button.active { background:var(--gold); color:#122019; }
.ai-summary-card { display:flex; gap:1rem; padding:1.25rem; margin-bottom:1rem; }
.ai-badge { display:grid; place-items:center; flex:0 0 auto; width:45px; height:45px; border-radius:14px; background:var(--green); color:#062018; font:800 .9rem "Space Grotesk"; }
.ai-summary-card p { margin:.25rem 0 0; color:var(--muted); }
.news-status { color:var(--muted); margin:.5rem 0; }
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.news-card { display:flex; flex-direction:column; padding:1.15rem; min-height:230px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.03); }
.news-card .publisher { color:var(--green); font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.news-card h4 { margin:.7rem 0; font:700 1rem/1.3 "Space Grotesk"; }
.news-card p { color:var(--muted); font-size:.86rem; }
.news-card a { margin-top:auto; color:var(--gold); font-weight:800; font-size:.82rem; }
.how-section { background:#0b1815; }
.how-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.how-grid article { padding:1.5rem; border-top:1px solid var(--line); }
.how-grid span { color:var(--gold); font:700 1.6rem "Space Grotesk"; }
.how-grid p { color:var(--muted); }
.method-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:5rem; align-items:start; }
.method-copy p:not(.eyebrow) { color:var(--muted); }
.method-list { display:grid; gap:1rem; }
.method-list div { display:grid; grid-template-columns:180px 1fr; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.method-list span { color:var(--muted); }
footer { display:grid; grid-template-columns:.55fr 1.6fr .55fr; gap:2rem; padding:3rem clamp(1.25rem,6vw,7rem); border-top:1px solid var(--line); background:#040a08; }
.footer-brand { display:flex; align-items:flex-start; gap:.7rem; font-family:"Space Grotesk"; }
.footer-disclaimer p { color:var(--muted); font-size:.82rem; }
.footer-meta { display:flex; flex-direction:column; color:#82938c; font-size:.8rem; }
.universe-dialog { width:min(1100px,94vw); max-height:88vh; color:var(--ink); background:#0b1815; border:1px solid var(--line); border-radius:24px; padding:0; box-shadow:var(--shadow); }
.universe-dialog::backdrop { background:rgba(0,0,0,.72); backdrop-filter:blur(5px); }
.dialog-header { display:flex; justify-content:space-between; align-items:start; padding:1.5rem; border-bottom:1px solid var(--line); }
.dialog-header h2 { margin:0; font-size:2rem; }
.dialog-close { border:0; background:transparent; color:var(--ink); font-size:2rem; }
.universe-tools { display:grid; grid-template-columns:1fr 220px; gap:.75rem; padding:1rem 1.5rem; }
.universe-tools input,.universe-tools select { width:100%; padding:.8rem 1rem; border:1px solid var(--line); border-radius:12px; background:#091310; color:var(--ink); }
.dialog-filter-summary { padding:0 1.5rem 1rem; color:var(--muted); }
.universe-table-wrap { overflow:auto; max-height:56vh; }
table { width:100%; border-collapse:collapse; }
th,td { padding:.9rem 1.5rem; border-top:1px solid var(--line); text-align:left; font-size:.86rem; }
th { position:sticky; top:0; background:#10211c; color:var(--gold); }
td { color:var(--muted); }
td strong { color:var(--ink); }
.toast { position:fixed; right:1.2rem; bottom:1.2rem; z-index:100; transform:translateY(30px); opacity:0; padding:.85rem 1rem; background:var(--ink); color:#122019; border-radius:12px; transition:.25s ease; font-weight:700; }
.toast.show { transform:none; opacity:1; }
.empty-state { grid-column:1/-1; padding:2rem; text-align:center; border:1px dashed var(--line); border-radius:18px; color:var(--muted); }
@media (max-width: 1050px) {
  nav { display:none; }
  .hero,.spin-layout,.method-section { grid-template-columns:1fr; }
  .hero-machine { width:min(510px,100%); }
  .wheel-panel { position:relative; top:auto; }
  .choice-grid.segments { grid-template-columns:repeat(3,1fr); }
  .news-grid { grid-template-columns:repeat(2,1fr); }
  .how-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 720px) {
  .site-header { gap:.8rem; }
  .site-header .ghost-button { display:none; }
  .hero { padding-top:3rem; }
  .hero-actions,.result-header,.panel-intro,.news-controls { align-items:stretch; flex-direction:column; }
  .choice-grid.markets,.choice-grid.segments { grid-template-columns:repeat(2,1fr); }
  .stat-row { grid-template-columns:repeat(2,1fr); }
  .content-grid.two-thirds,.news-grid,.fact-list { grid-template-columns:1fr; }
  .market-disclaimer { align-items:flex-start; flex-direction:column; }
  .how-grid { grid-template-columns:1fr; }
  .method-list div { grid-template-columns:1fr; gap:.3rem; }
  footer { grid-template-columns:1fr; }
  .universe-tools { grid-template-columns:1fr; }
  th,td { padding:.75rem; }
}
@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
}

/* SpinFin v2 additions */
.disclaimer-callout {
  display:flex;
  gap:.75rem;
  align-items:center;
  flex-wrap:wrap;
  padding:1rem 1.15rem;
  margin:1.1rem 0 0;
  border:1px solid rgba(244,200,91,.32);
  border-radius:18px;
  background:rgba(244,200,91,.11);
  color:var(--ink);
}
.disclaimer-callout strong { color:var(--gold); }
.disclaimer-callout span { color:var(--muted); }
.disclaimer-callout.compact { max-width:760px; }
.result-disclaimer { margin:0 0 1.5rem; }
.choice-grid.sizes { grid-template-columns:repeat(5,1fr); }
.wheel-actions { display:grid; margin:1.25rem 0 .35rem; }
.full { width:100%; justify-content:center; }
.recent-spins-card {
  margin-top:1.25rem;
  padding:1rem;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.035);
}
.recent-spins-header { display:flex; justify-content:space-between; gap:1rem; align-items:center; margin-bottom:.8rem; }
.recent-spins-list { display:grid; gap:.55rem; }
.recent-spins-list > span, .recent-spins-card p { color:var(--muted); font-size:.8rem; }
.recent-spin { display:grid; grid-template-columns:64px 1fr; gap:.25rem .75rem; padding:.65rem; border-radius:12px; background:rgba(0,0,0,.18); }
.recent-spin strong { color:var(--gold); grid-row:1/3; align-self:center; }
.recent-spin span { color:var(--ink); font-weight:700; }
.recent-spin small { color:var(--muted); }
.stat-row.expanded { grid-template-columns:repeat(4,1fr); }
.stat-card { min-height:92px; }
.overview-extra { grid-template-columns:1fr 1fr; margin-top:1rem; }
.business-grid { display:grid; grid-template-columns:2fr 1fr; gap:1rem; }
.business-grid .large { min-width:0; }
.rich-list, .tag-list { margin:1rem 0 0; padding:0; list-style:none; display:grid; gap:.7rem; }
.rich-list li, .tag-list li {
  position:relative;
  padding:.85rem .9rem .85rem 2.1rem;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(0,0,0,.16);
  color:var(--muted);
}
.rich-list li::before, .tag-list li::before {
  content:"";
  position:absolute;
  left:.9rem;
  top:1.15rem;
  width:.45rem;
  height:.45rem;
  border-radius:50%;
  background:var(--green);
}
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem; margin-top:1rem; }
.metric-grid.earnings { grid-template-columns:repeat(2,1fr); }
.metric-card {
  padding:.9rem;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.03);
}
.metric-card span { display:block; color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.metric-card strong { display:block; margin:.3rem 0; font-family:"Space Grotesk"; }
.metric-card small { display:block; color:#82938c; font-size:.72rem; line-height:1.3; }
.context-list { display:grid; gap:.7rem; margin-top:1rem; }
.context-list div { padding:.85rem; border:1px solid var(--line); border-radius:14px; background:rgba(0,0,0,.16); }
.context-list strong, .context-list span { display:block; }
.context-list span { color:var(--muted); margin-top:.25rem; }
.competitor-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:.75rem; margin-top:1rem; }
.competitor-card { padding:.9rem; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.03); }
.competitor-card strong { display:block; font-family:"Space Grotesk"; }
.competitor-card span { color:var(--gold); font-size:.8rem; font-weight:800; }
.competitor-card p { color:var(--muted); font-size:.82rem; }
.source-links.single { margin-top:.7rem; }
.source-links.single a { display:inline-block; }

@media (max-width: 1050px) {
  .choice-grid.sizes { grid-template-columns:repeat(3,1fr); }
  .stat-row.expanded, .metric-grid, .competitor-grid { grid-template-columns:repeat(2,1fr); }
  .business-grid, .overview-extra { grid-template-columns:1fr; }
}
@media (max-width: 720px) {
  .choice-grid.sizes { grid-template-columns:repeat(2,1fr); }
  .stat-row.expanded, .metric-grid, .metric-grid.earnings, .competitor-grid { grid-template-columns:1fr; }
}

.market-data-status {
  display:flex;
  align-items:flex-start;
  gap:.8rem;
  margin:-.4rem 0 1.25rem;
  padding:.9rem 1rem;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.025);
}
.market-data-status-dot {
  flex:0 0 auto;
  width:.65rem;
  height:.65rem;
  margin-top:.32rem;
  border-radius:50%;
  background:var(--muted);
  box-shadow:0 0 0 4px rgba(255,255,255,.04);
}
.market-data-status div { display:grid; gap:.18rem; }
.market-data-status strong { color:var(--ink); font-size:.9rem; }
.market-data-status span { color:var(--muted); font-size:.82rem; line-height:1.45; }
.market-data-status.loading .market-data-status-dot { background:var(--gold); }
.market-data-status.success .market-data-status-dot { background:var(--green); }
.market-data-status.partial .market-data-status-dot { background:var(--gold); }
.market-data-status.error {
  border-color:rgba(255,111,97,.35);
  background:rgba(255,111,97,.06);
}
.market-data-status.error .market-data-status-dot { background:#ff6f61; }
.market-data-inline-status {
  min-height:1.2em;
  margin:.75rem 0 0;
  color:var(--muted);
  font-size:.8rem;
}

/* SpinFin 4.0 universe-loading status */
.universe-status {
  margin-top: 1rem;
  margin-bottom: 0;
}
.universe-status strong {
  font-size: .86rem;
}
