:root {
  --bg: #030403;
  --surface: #080a08;
  --surface-2: #0c0f0c;
  --ink: #f5f7f1;
  --muted: #a6ada0;
  --dim: #727a6d;
  --lime: #ccff00;
  --blue: #79c8ff;
  --peer: #d6a85f;
  --coral: #ff8b7c;
  --line: rgba(255, 255, 255, .14);
  --grid: rgba(255, 255, 255, .075);
  --serif: Georgia, "Times New Roman", serif;
  --sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

* { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  background: var(--bg);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
button, select { font: inherit; }
button, a, select { -webkit-tap-highlight-color: transparent; }
.skip {
  position: fixed; top: -5rem; left: 1rem; z-index: 100;
  padding: .8rem 1rem; color: #000; background: var(--lime);
}
.skip:focus { top: 1rem; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.site-header {
  position: sticky; top: 0; z-index: 30;
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 2rem;
  min-height: 76px; padding: .8rem clamp(1rem, 3.4vw, 3rem);
  border-bottom: 1px solid rgba(255, 255, 255, .09);
  background: rgba(3, 4, 3, .9); backdrop-filter: blur(16px);
}
.brand { display: inline-flex; align-items: center; gap: .7rem; font-size: 1.25rem; font-weight: 700; text-decoration: none; }
.brand img {
  width: 45px; height: 45px; border: 1px solid rgba(204, 255, 0, .5); border-radius: 50%;
  object-fit: cover;
}
.site-nav { display: flex; align-items: center; gap: 1.6rem; }
.site-nav a { color: #d9ddd4; font-size: .9rem; text-decoration: none; }
.site-nav a:hover, .site-nav a:focus-visible { color: var(--lime); }
.header-market-tools { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; min-width: 0; }
.live-perp {
  display: grid; grid-template-columns: auto auto auto auto; align-items: center; gap: .7rem;
  min-height: 43px; padding: .38rem .72rem; color: var(--ink);
  border: 1px solid rgba(255, 255, 255, .17); border-radius: 6px; background: #080a08;
  font-family: var(--mono); font-variant-numeric: tabular-nums; white-space: nowrap;
}
.live-perp-status { display: flex; align-items: center; gap: .45rem; }
.live-perp-dot { width: 7px; height: 7px; border-radius: 50%; background: #777f73; }
.live-perp-feed { display: grid; gap: .16rem; }
.live-perp-label { color: #aeb5aa; font: 700 .66rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.live-perp-state { color: #858d80; font: 700 .6rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.live-perp-price { min-width: 7.5ch; color: var(--ink); font: 650 1rem/1 var(--mono); text-align: right; }
.live-perp-change { min-width: 6.4ch; color: #8d9589; font: 700 .8rem/1 var(--mono); text-align: right; }
.live-perp-time { color: #858d80; font: 600 .66rem/1 var(--mono); letter-spacing: .025em; }
.live-perp.is-live { border-color: rgba(204, 255, 0, .3); }
.live-perp.is-live .live-perp-dot { background: var(--lime); }
.live-perp.is-live .live-perp-state { color: #9ebd22; }
.live-perp.is-snapshot .live-perp-dot, .live-perp.is-stale .live-perp-dot { background: #d9a84d; }
.live-perp.is-snapshot .live-perp-state, .live-perp.is-stale .live-perp-state { color: #c59a4a; }
.live-perp.is-offline .live-perp-dot { background: var(--coral); }
.live-perp.is-offline .live-perp-state { color: #d77d71; }
.instrument-picker { display: flex; align-items: center; gap: .75rem; }
.market-search { position: relative; display: flex; align-items: center; flex: 0 1 auto; width: clamp(170px, 15vw, 230px); min-width: 140px; }
.market-search-icon {
  position: absolute; left: .8rem; width: 15px; height: 15px;
  color: var(--dim); pointer-events: none;
}
.market-search input {
  width: 100%; min-height: 44px; padding: 0 2.3rem 0 2.35rem;
  color: var(--ink); border: 1px solid rgba(204, 255, 0, .38); border-radius: 999px;
  background: #090c08; font: 650 .85rem/1 var(--mono); text-overflow: ellipsis;
}
.market-search input::placeholder { color: var(--dim); font-weight: 600; }
.market-search input:hover { border-color: rgba(204, 255, 0, .7); background: #0d110b; }
.market-search input:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; }
.market-search-kbd {
  position: absolute; right: .85rem; padding: .18rem .45rem;
  color: var(--dim); border: 1px solid rgba(255, 255, 255, .22); border-radius: 5px;
  font: 700 .68rem/1 var(--mono); pointer-events: none;
}
.market-search.is-open .market-search-kbd,
.market-search input:focus + .market-search-kbd { display: none; }
#market-search-results {
  position: absolute; top: calc(100% + .5rem); right: 0; z-index: 60;
  width: max(100%, 320px); max-height: 336px; margin: 0; padding: .35rem; overflow-y: auto;
  list-style: none; border: 1px solid rgba(204, 255, 0, .35); border-radius: 12px;
  background: #090c08; box-shadow: 0 18px 40px rgba(0, 0, 0, .55);
}
#market-search-results li {
  display: grid; grid-template-columns: 6.2ch minmax(0, 1fr) auto; gap: .7rem; align-items: baseline;
  padding: .55rem .7rem; border-radius: 8px; cursor: pointer;
}
#market-search-results li strong { color: var(--lime); font: 700 .84rem/1.1 var(--mono); letter-spacing: .04em; }
#market-search-results li span { overflow: hidden; color: var(--ink); font-size: .84rem; text-overflow: ellipsis; white-space: nowrap; }
#market-search-results li small { color: var(--dim); font: 600 .68rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
#market-search-results li[aria-selected="true"],
#market-search-results li:hover { background: rgba(204, 255, 0, .09); }
#market-search-results .market-search-empty { grid-template-columns: 1fr; color: var(--dim); cursor: default; }
#market-search-results .market-search-empty:hover { background: none; }
.instrument-picker label { color: var(--dim); font: 600 .8rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.instrument-picker select {
  width: clamp(190px, 18vw, 270px); min-height: 44px; padding: 0 2.25rem 0 .9rem;
  color: var(--ink); border: 1px solid rgba(204, 255, 0, .38); border-radius: 999px;
  background: #090c08; cursor: pointer; font: 650 .85rem/1 var(--mono);
  text-overflow: ellipsis;
}
.instrument-picker select:hover { border-color: rgba(204, 255, 0, .7); background: #0d110b; }
.instrument-picker select:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; }
.instrument-picker optgroup { color: var(--lime); background: #090c08; font-weight: 800; }
.instrument-picker option { color: var(--ink); background: #090c08; font-weight: 600; }

main { min-height: 80vh; }
.chart-section { width: min(1600px, calc(100% - 3rem)); margin: 0 auto; padding: clamp(2rem, 4vw, 3.5rem) 0 5.5rem; }
.chart-frame {
  overflow: hidden; border: 1px solid rgba(255, 255, 255, .18); border-radius: 18px;
  background:
    linear-gradient(rgba(255, 255, 255, .022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .022) 1px, transparent 1px),
    #070907;
  background-size: 52px 52px;
  box-shadow: none;
}
.chart-head {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: end;
  padding: 1.7rem 2rem 1.45rem; border-bottom: 1px solid var(--line); background: rgba(3, 4, 3, .62);
}
.chart-title-row { display: flex; align-items: baseline; gap: 1rem; }
.chart-title-row h1 { margin: 0; font: 400 clamp(1.8rem, 3vw, 2.8rem)/1 var(--serif); }
.legend { display: flex; flex-wrap: wrap; gap: .85rem 1.5rem; margin-top: 1.1rem; }
.legend-item { display: inline-flex; align-items: center; gap: .55rem; color: #d9ddd4; font-size: .9rem; }
.legend-details > summary { display: none; }
.venue-rows-toggle { display: none; width: calc(100% - 2rem); margin: .6rem 1rem .9rem; padding: .65rem; color: var(--lime); border: 1px solid rgba(204, 255, 0, .4); border-radius: 8px; background: transparent; cursor: pointer; font: 700 .74rem/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.legend-line { width: 27px; height: 0; border-top: 2px solid var(--blue); }
.legend-peer { width: 27px; height: 0; border-top: 2px dashed var(--peer); }
.legend-range { width: 27px; height: 9px; border-top: 1px solid rgba(204, 255, 0, .72); border-bottom: 1px solid rgba(204, 255, 0, .72); background: rgba(204, 255, 0, .06); }
.legend-payoff { width: 27px; height: 9px; border-top: 1px dashed #b9c0b5; border-bottom: 1px dashed #b9c0b5; background: rgba(255, 139, 124, .055); }
.legend-candle { position: relative; width: 9px; height: 18px; border: 1px solid var(--lime); background: rgba(204, 255, 0, .3); }
.legend-candle::before { content: ""; position: absolute; top: -5px; bottom: -5px; left: 3px; width: 1px; background: var(--lime); }
.range-controls { display: flex; gap: .35rem; }
.range-controls button {
  min-width: 48px; min-height: 42px; padding: .55rem .7rem; color: #aeb5a8;
  border: 1px solid transparent; border-radius: 999px; background: transparent; cursor: pointer;
  font: 600 .84rem/1 var(--mono); letter-spacing: .05em;
}
.range-controls button:hover { color: var(--ink); border-color: var(--line); }
.range-controls button[aria-pressed="true"] { color: #000; background: var(--lime); }
.range-controls button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.mobile-scroll-note { display: none; margin: 0; padding: .75rem 1.2rem 0; color: var(--dim); font: .8rem/1.4 var(--mono); text-transform: uppercase; }
.chart-scroll { max-width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-color: rgba(204, 255, 0, .55) rgba(255, 255, 255, .06); }
.distribution-center-controls {
  display: flex; align-items: center; justify-content: flex-end; gap: .45rem;
  padding: .65rem 2rem; border-top: 1px solid rgba(255, 255, 255, .08); background: rgba(3, 4, 3, .66);
}
.distribution-center-controls > span { margin-right: .35rem; color: #858d80; font: 700 .66rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.distribution-center-controls button {
  min-height: 36px; padding: .45rem .7rem; color: #aeb5aa; border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 4px; background: transparent; cursor: pointer; font: 700 .7rem/1 var(--mono); letter-spacing: .035em;
}
.distribution-center-controls button:hover { color: var(--ink); border-color: rgba(255, 255, 255, .3); }
.distribution-center-controls button[aria-pressed="true"] { color: var(--lime); border-color: rgba(204, 255, 0, .45); background: rgba(204, 255, 0, .045); }
.distribution-center-controls button:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.chart-stage { position: relative; min-width: 820px; height: clamp(430px, 49vw, 650px); min-height: 430px; }
.chart-stage:focus-visible { outline: 2px solid var(--lime); outline-offset: -4px; }
.chart-stage svg { display: block; width: 100%; height: 100%; touch-action: pan-x; }
.chart-loading, .chart-error { display: grid; place-items: center; height: 100%; color: var(--muted); font: .9rem/1.6 var(--mono); text-align: center; }
.chart-error { color: #ffaaa1; }
.market-grid { stroke: var(--grid); stroke-width: 1; vector-effect: non-scaling-stroke; }
.market-axis { fill: #798174; font: 12px var(--mono); }
.market-spot { fill: none; stroke: #78b9dc; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; opacity: .7; }
.market-peer { fill: none; stroke: var(--peer); stroke-width: 1.5; stroke-dasharray: 7 5; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; opacity: .9; }
.market-peer-live { fill: var(--peer); stroke: #070807; stroke-width: 2; vector-effect: non-scaling-stroke; }
.options-fan-band { fill: rgba(204, 255, 0, .055); stroke: none; }
.options-fan-line { fill: none; stroke: rgba(204, 255, 0, .52); stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.options-fan-line.median { stroke: rgba(245, 247, 241, .76); stroke-dasharray: 3 5; }
.options-event-line { stroke: rgba(204, 255, 0, .72); stroke-width: 1; stroke-dasharray: 2 5; vector-effect: non-scaling-stroke; }
.options-expiry-line { stroke: rgba(255, 255, 255, .16); stroke-width: 1; stroke-dasharray: 2 5; vector-effect: non-scaling-stroke; }
.options-event-label { fill: var(--lime); font: 700 11px var(--mono); letter-spacing: .08em; }
.options-price-label { fill: #8a9285; font: 11px var(--mono); }
.options-price-label.median { fill: #e8ece4; }
.options-price-label.profitable { fill: var(--lime); font-weight: 700; }
.options-profit-zone { fill: rgba(204, 255, 0, .025); }
.options-loss-zone { fill: rgba(255, 139, 124, .035); }
.options-breakeven-line { stroke: rgba(235, 239, 230, .56); stroke-width: 1; stroke-dasharray: 5 4; vector-effect: non-scaling-stroke; }
.options-strike-line { stroke: rgba(255, 139, 124, .45); stroke-width: 1; stroke-dasharray: 2 4; vector-effect: non-scaling-stroke; }
.options-level-label { fill: #aeb5aa; font: 700 10px var(--mono); letter-spacing: .04em; }
.market-wick { stroke: #d7dfd1; stroke-width: 1; vector-effect: non-scaling-stroke; opacity: .78; }
.market-body-up { fill: rgba(190, 230, 37, .72); stroke: #d4ff35; stroke-width: 1; vector-effect: non-scaling-stroke; }
.market-body-down { fill: rgba(224, 117, 104, .68); stroke: #ff9a8d; stroke-width: 1; vector-effect: non-scaling-stroke; }
.market-proxy .market-wick { stroke: #6f786b; opacity: .42; }
.market-proxy .market-body-up, .market-proxy .market-body-down { fill: rgba(126, 139, 120, .18); stroke: #737e6e; opacity: .72; }
.market-partial .market-wick { stroke: #d4ff35; stroke-width: 1.35; stroke-dasharray: 3 2; opacity: 1; }
.market-partial rect { fill: rgba(3, 4, 3, .88); stroke-width: 1.5; stroke-dasharray: 3 2; }
.market-crosshair { stroke: rgba(255, 255, 255, .44); stroke-width: 1; stroke-dasharray: 3 4; vector-effect: non-scaling-stroke; pointer-events: none; }
.market-focus-dot { fill: var(--blue); stroke: #061015; stroke-width: 2; pointer-events: none; }
.market-focus-dot.perp-only { fill: var(--lime); stroke: #101400; }
.chart-tooltip {
  position: absolute; z-index: 4; width: 260px; padding: .9rem 1rem;
  color: var(--ink); border: 1px solid rgba(204, 255, 0, .34); background: rgba(4, 6, 4, .95);
  box-shadow: 0 16px 55px rgba(0, 0, 0, .48); pointer-events: none;
}
.chart-tooltip[hidden] { display: none; }
.tooltip-date { margin-bottom: .7rem; color: var(--lime); font: 600 .84rem/1 var(--mono); letter-spacing: .08em; }
.tooltip-row { display: flex; justify-content: space-between; gap: 1rem; padding: .22rem 0; color: #cdd2c8; font-size: .88rem; }
.tooltip-row strong { color: var(--ink); font: 600 .86rem/1 var(--mono); font-variant-numeric: tabular-nums; }
.tooltip-row.spot strong { color: var(--blue); }
.tooltip-row.peer strong { color: var(--peer); }
.tooltip-precision { margin: .65rem 0 0; color: var(--dim); font: .76rem/1.45 var(--mono); }
.peer-panel { border-top: 1px solid var(--line); background: rgba(5, 6, 5, .9); }
.peer-panel-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding: 1.25rem 2rem 1rem; }
.peer-panel-head span { color: var(--peer); font: 700 .68rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.peer-panel-head h2 { margin: .45rem 0 0; font: 500 clamp(1.1rem, 1.8vw, 1.45rem)/1.2 var(--sans); }
.peer-panel-head small { color: #7f877a; font: 600 .72rem/1.45 var(--mono); text-align: right; }
.peer-hedge-row { display: grid; grid-template-columns: 150px minmax(190px, 1fr); gap: 1rem; align-items: baseline; padding: .85rem 2rem; border-top: 1px solid rgba(255, 255, 255, .08); border-bottom: 1px solid rgba(255, 255, 255, .08); }
.peer-hedge-row > span { color: #737b70; font: 700 .66rem/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.peer-hedge-row strong { color: var(--peer); font: 700 .84rem/1.35 var(--mono); }
.peer-table-scroll { overflow-x: auto; margin: 1rem 2rem 1.25rem; border: 1px solid rgba(255, 255, 255, .12); border-radius: 5px; }
.peer-table-scroll:focus-visible { outline: 2px solid var(--peer); outline-offset: 2px; }
.peer-table { width: 100%; min-width: 860px; border-collapse: collapse; font: .76rem/1.45 var(--mono); font-variant-numeric: tabular-nums; }
.peer-table th { padding: .55rem .7rem; color: #747c70; background: rgba(255, 255, 255, .025); font-size: .64rem; letter-spacing: .075em; text-align: left; text-transform: uppercase; }
.peer-table th:not(:first-child), .peer-table td:not(:first-child) { text-align: right; white-space: nowrap; }
.peer-table th:nth-child(n+2), .peer-table td:nth-child(n+2) { width: 120px; }
.peer-table tbody tr { border-top: 1px solid rgba(255, 255, 255, .07); }
.peer-table td { padding: .7rem; color: #aeb5aa; vertical-align: top; }
.peer-table td:first-child { width: 190px; }
.peer-table td:first-child strong { display: block; color: var(--ink); font-size: .84rem; }
.peer-table .peer-ticker-link { display: inline-block; color: inherit; text-decoration: none; }
.peer-table .peer-ticker-link:hover strong { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.peer-table .peer-ticker-link:focus-visible { outline: 2px solid var(--peer); outline-offset: 3px; }
.peer-table td:first-child span { display: block; margin-top: .22rem; color: #747c70; font-size: .68rem; }
.peer-table td:nth-child(2) { color: var(--peer); font-weight: 700; }
.peer-table .peer-change { color: #aeb5aa; font-weight: 700; }
.peer-table .peer-change.positive { color: #a8c76b; }
.peer-table .peer-change.negative { color: #d68072; }
.peer-table .peer-funding { color: #aeb5aa; font-weight: 700; }
.peer-table .peer-funding.positive { color: #a8c76b; }
.peer-table .peer-funding.negative { color: #d68072; }
.peer-fundamentals-table { min-width: 1120px; }
.peer-table abbr.peer-nm { color: #aeb5aa; text-decoration: none; border-bottom: 1px dotted #6f766c; cursor: help; }
.peer-table abbr.peer-basis { color: #aeb5aa; text-decoration: none; margin-left: 2px; font-size: 0.85em; cursor: help; }
.peer-fundamentals-table th { white-space: normal !important; }
.peer-fundamentals-table th, .peer-fundamentals-table td { padding-left: .5rem; padding-right: .5rem; }
.peer-fundamentals-table td:first-child { width: 150px; }
.peer-fundamentals-table th:nth-child(n+2), .peer-fundamentals-table td:nth-child(n+2) { width: 92px; }
.peer-fundamentals-table th:nth-child(5), .peer-fundamentals-table td:nth-child(5) { width: 104px; }
.peer-fundamentals-table th:nth-child(9), .peer-fundamentals-table td:nth-child(9) { width: 112px; }
.peer-fundamentals-table .peer-target-row { background: rgba(174, 196, 216, .055); box-shadow: inset 3px 0 0 var(--blue); }
.peer-fundamentals-table .peer-target-row td:first-child strong { color: var(--blue); }
.peer-fundamentals-table .peer-average-row { background: rgba(196, 202, 147, .035); box-shadow: inset 3px 0 0 rgba(196, 202, 147, .48); }
.peer-fundamentals-table .peer-average-row td { border-bottom: 1px solid rgba(196, 202, 147, .2); color: #c3c8bd; }
.peer-fundamentals-table .peer-average-row td:first-child strong { color: var(--peer); }
.peer-fundamentals-table .peer-average-row td:first-child span { letter-spacing: .035em; }
.earnings-options-panel { border-top: 1px solid var(--line); background: rgba(3, 4, 3, .82); }
.earnings-options-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding: 1.35rem 2rem 1rem; }
.earnings-options-kicker { color: var(--lime); font: 700 .68rem/1 var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.earnings-options-head h2 { margin: .45rem 0 0; font: 500 clamp(1.1rem, 1.8vw, 1.45rem)/1.2 var(--sans); }
.earnings-options-head p { margin: .4rem 0 0; color: var(--dim); font: .76rem/1.45 var(--mono); text-transform: uppercase; letter-spacing: .045em; }
.earnings-options-asof { color: #969e91; font: 650 .76rem/1.4 var(--mono); letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.earnings-options-summary { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.earnings-options-summary > div { min-width: 0; padding: 1rem 1.35rem 1.1rem; border-right: 1px solid var(--line); }
.earnings-options-summary > div:last-child { border-right: 0; }
.earnings-options-summary small { display: block; color: var(--dim); font: 650 .7rem/1 var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.earnings-options-summary strong { display: block; margin-top: .5rem; color: var(--ink); font: 650 clamp(.95rem, 1.55vw, 1.25rem)/1.15 var(--mono); font-variant-numeric: tabular-nums; }
.earnings-options-summary span { display: block; margin-top: .4rem; color: #747c70; font: .68rem/1.4 var(--mono); }
.historical-plays { padding: 1.2rem 2rem .2rem; }
.historical-plays > header { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: .8rem; }
.historical-plays > header span { color: var(--lime); font: 700 .66rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.historical-plays > header h3 { margin: .4rem 0 0; font: 500 clamp(.95rem, 1.45vw, 1.2rem)/1.2 var(--sans); }
.historical-table-scroll { overflow-x: auto; border: 1px solid rgba(255, 255, 255, .13); border-radius: 6px; }
.historical-table-scroll:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.historical-structure-table { width: 100%; min-width: 1080px; border-collapse: collapse; color: #bdc4b9; font: .76rem/1.3 var(--mono); font-variant-numeric: tabular-nums; }
.earnings-structure-table { min-width: 940px; }
.historical-structure-table th { padding: .6rem .7rem; color: #747c70; background: rgba(255, 255, 255, .025); font-size: .64rem; letter-spacing: .07em; text-align: right; text-transform: uppercase; white-space: nowrap; }
.historical-structure-table th:first-child, .historical-structure-table th:nth-child(2) { text-align: left; }
.historical-structure-table tbody tr { border-top: 1px solid rgba(255, 255, 255, .075); cursor: pointer; }
.historical-structure-table tbody tr:hover { background: rgba(255, 255, 255, .025); }
.historical-structure-table tbody tr[aria-selected="true"] { background: rgba(204, 255, 0, .055); box-shadow: inset 3px 0 0 var(--lime); }
.historical-structure-table tbody tr:focus-visible { outline: 2px solid var(--lime); outline-offset: -2px; }
.historical-structure-table td { padding: .72rem .7rem; text-align: right; white-space: nowrap; }
.historical-structure-table td:first-child, .historical-structure-table td:nth-child(2) { text-align: left; }
.historical-structure-table td:first-child { min-width: 180px; }
.historical-structure-table td:first-child input { width: 14px; height: 14px; margin: 0 .5rem 0 0; accent-color: var(--lime); vertical-align: middle; pointer-events: none; }
.historical-structure-table td strong { color: var(--ink); font-weight: 700; }
.historical-structure-table td:first-child > strong { font-size: .82rem; vertical-align: middle; }
.historical-structure-table td:nth-child(2) { min-width: 300px; }
.historical-structure-table td span { display: block; color: #aab1a5; font-size: .68rem; }
.historical-structure-table td span + span { margin-top: .3rem; }
.options-method-note { margin: .85rem 2rem 1.35rem; color: #697066; font: .72rem/1.55 var(--mono); }
.earnings-ledger { border-top: 1px solid var(--line); background: #050605; }
.earnings-ledger-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding: 1.35rem 2rem 1rem; }
.earnings-ledger-head span { color: var(--blue); font: 700 .68rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.earnings-ledger-head h2 { margin: .45rem 0 0; font: 500 clamp(1.1rem, 1.8vw, 1.45rem)/1.2 var(--sans); }
.earnings-ledger-head small { color: #7f877a; font: 600 .72rem/1.45 var(--mono); text-align: right; }
.earnings-ledger-scroll { overflow-x: auto; margin: 0 2rem; border: 1px solid rgba(255, 255, 255, .12); border-radius: 5px; }
.earnings-ledger-scroll:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.earnings-ledger-table { width: 100%; min-width: 1060px; border-collapse: collapse; font: .76rem/1.45 var(--mono); font-variant-numeric: tabular-nums; }
.earnings-ledger-table th { padding: .6rem .75rem; color: #747c70; background: rgba(255, 255, 255, .025); font-size: .64rem; letter-spacing: .075em; text-align: left; text-transform: uppercase; }
.earnings-ledger-table th:nth-child(1) { width: 160px; }
.earnings-ledger-table th:nth-child(2) { width: 190px; }
.earnings-ledger-table th:nth-child(3) { width: 110px; }
.earnings-ledger-table tbody tr { border-top: 1px solid rgba(255, 255, 255, .07); }
.earnings-ledger-table td { padding: .75rem; color: #aeb5aa; vertical-align: top; }
.earnings-ledger-table td > span, .earnings-ledger-table td > strong + span { display: block; margin-top: .25rem; color: #70776d; font-size: .66rem; }
.earnings-ledger-table td > span.earnings-ledger-table td > span.earnings-ledger-table td.positive { color: #a8c76b; }
.earnings-ledger-table td.negative { color: #d68072; }
.transcript-brief summary { color: var(--blue); cursor: pointer; font-weight: 700; list-style-position: outside; }
.transcript-brief summary:hover, .transcript-brief summary:focus-visible { color: var(--ink); }
.transcript-brief article { max-width: 96ch; padding: .7rem 0 .25rem; color: #b8beb4; font: .84rem/1.65 var(--sans); }
.transcript-brief article h4 { margin: 1rem 0 .35rem; color: var(--ink); font: 650 .85rem/1.3 var(--mono); letter-spacing: .02em; }
.transcript-brief article h4:first-child { margin-top: 0; }
.transcript-brief article ul { margin: 0; padding-left: 1.15rem; }
.transcript-brief article li + li { margin-top: .35rem; }
.transcript-brief article p { margin: .3rem 0; }
.transcript-unavailable { color: #626960 !important; }
.earnings-ledger-method { margin: .8rem 2rem 1.25rem; color: #697066; font: .72rem/1.55 var(--mono); }
.funding-forecast { border-top: 1px solid var(--line); background: rgba(5, 7, 5, .92); }
.funding-forecast-head {
  display: flex; align-items: end; justify-content: space-between; gap: 1.5rem;
  padding: 1.2rem 2rem .85rem;
}
.funding-forecast-head h2 { margin: 0; font: 500 clamp(1rem, 1.6vw, 1.3rem)/1.2 var(--sans); }
.funding-forecast-head div > span {
  display: block; margin-top: .38rem; color: var(--dim);
  font: .76rem/1.4 var(--mono); text-transform: uppercase; letter-spacing: .06em;
}
.funding-forecast-asof {
  color: var(--dim); font: 600 .76rem/1.4 var(--mono); letter-spacing: .04em;
  text-transform: uppercase; white-space: nowrap;
}
.funding-forecast-grid {
  display: grid; grid-template-columns: minmax(155px, 230px) minmax(155px, 230px) minmax(240px, 1fr);
  border-top: 1px solid var(--line);
}
.funding-horizon { padding: 1.1rem 2rem 1.25rem; border-right: 1px solid var(--line); }
.funding-horizon small {
  display: block; color: var(--dim); font: .76rem/1 var(--mono);
  letter-spacing: .09em; text-transform: uppercase;
}
.funding-horizon strong {
  display: block; margin-top: .55rem; color: var(--ink);
  font: 600 clamp(1.45rem, 2.5vw, 2.05rem)/1 var(--mono); font-variant-numeric: tabular-nums;
}
.funding-horizon span {
  display: block; margin-top: .55rem; color: var(--muted);
  font: 700 .72rem/1 var(--mono); letter-spacing: .09em; text-transform: uppercase;
}
.funding-forecast-grid > p {
  align-self: center; max-width: 54ch; margin: 0; padding: 1.1rem 2rem;
  color: var(--dim); font: .76rem/1.55 var(--mono);
}
.ratio-panel { border-top: 1px solid var(--line); background: rgba(3, 4, 3, .76); }
.ratio-head {
  display: flex; align-items: end; justify-content: space-between; gap: 1.5rem;
  padding: 1.2rem 2rem .85rem;
}
.ratio-head h2 { margin: 0; font: 500 clamp(1rem, 1.6vw, 1.3rem)/1.2 var(--sans); }
.ratio-head span { display: block; margin-top: .38rem; color: var(--dim); font: .76rem/1.4 var(--mono); text-transform: uppercase; letter-spacing: .06em; }
.ratio-head strong { color: var(--ink); font: 600 1rem/1 var(--mono); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ratio-stage { position: relative; min-width: 820px; height: clamp(190px, 18vw, 245px); min-height: 190px; }
.ratio-stage:focus-visible { outline: 2px solid var(--lime); outline-offset: -4px; }
.ratio-stage svg { display: block; width: 100%; height: 100%; touch-action: pan-x; }
.ratio-area { fill: rgba(204, 255, 0, .055); }
.ratio-line { fill: none; stroke: var(--lime); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.ratio-baseline { stroke: rgba(255, 255, 255, .46); stroke-width: 1; stroke-dasharray: 5 5; vector-effect: non-scaling-stroke; }
.ratio-crosshair { stroke: rgba(255, 255, 255, .44); stroke-width: 1; stroke-dasharray: 3 4; vector-effect: non-scaling-stroke; pointer-events: none; }
.ratio-focus-dot { fill: var(--lime); stroke: #101400; stroke-width: 2; pointer-events: none; }
.ratio-tooltip .tooltip-row strong { color: var(--lime); }
.onchain-panel { border-top: 1px solid var(--line); background: rgba(5, 7, 5, .9); }
.onchain-head {
  display: flex; align-items: end; justify-content: space-between; gap: 1.5rem;
  padding: 1.35rem 2rem 1rem;
}
.onchain-head h2 { margin: 0; font: 500 clamp(1rem, 1.6vw, 1.3rem)/1.2 var(--sans); }
.onchain-head > div:first-child > span { display: block; margin-top: .38rem; color: var(--dim); font: .76rem/1.4 var(--mono); text-transform: uppercase; letter-spacing: .06em; }
.onchain-status { display: grid; justify-items: end; gap: .45rem; text-align: right; }
.onchain-status strong { max-width: 52ch; color: var(--ink); font: 600 .82rem/1.35 var(--mono); font-variant-numeric: tabular-nums; }
.onchain-live-stamp { color: var(--lime); font: 600 .72rem/1.3 var(--mono); letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.onchain-table { margin: 0 2rem; border: 1px solid var(--line); border-radius: 10px; overflow-x: auto; scrollbar-color: rgba(204, 255, 0, .55) rgba(255, 255, 255, .06); background: rgba(0, 0, 0, .2); }
.onchain-table-head, .onchain-market-row {
  display: grid; grid-template-columns: minmax(120px, .8fr) minmax(140px, 1fr) minmax(220px, 1.6fr) minmax(96px, .65fr) minmax(96px, .65fr);
  gap: 1rem; align-items: start;
}
.onchain-table-head { padding: .7rem 1rem; color: var(--dim); border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, .025); font: 600 .72rem/1.2 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.onchain-market-row { position: relative; padding: 1rem; border-bottom: 1px solid var(--line); }
.onchain-market-row:last-child { border-bottom: 0; }
.onchain-market-row.preferred-market { background: rgba(255, 255, 255, .025); }
.onchain-cell { min-width: 0; }
.onchain-token { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .55rem; }
.onchain-token strong { font: 700 1rem/1 var(--mono); }
.onchain-token a { color: var(--dim); font: 600 .72rem/1 var(--mono); text-decoration: none; text-transform: uppercase; letter-spacing: .06em; }
.onchain-token a:hover, .onchain-token a:focus-visible { color: var(--lime); }
.onchain-structure { display: block; margin: .5rem 0 0 1.05rem; color: var(--muted); font: .72rem/1.45 var(--mono); }
.preferred-badge { padding: .27rem .4rem; color: #101300; border-radius: 3px; background: var(--lime); font: 800 .66rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.issuer-mark { width: 7px; height: 7px; border-radius: 50%; background: var(--muted); }
.issuer-robinhood .issuer-mark { color: var(--lime); background: var(--lime); }
.issuer-ondo .issuer-mark { color: var(--blue); background: var(--blue); }
.issuer-xstocks .issuer-mark { color: var(--coral); background: var(--coral); }
.issuer-btechbinance .issuer-mark { color: #ffcb6b; background: #ffcb6b; }
.issuer-backpack .issuer-mark { color: #bc9cff; background: #bc9cff; }
.issuer-reality .issuer-mark { color: #4ee6c1; background: #4ee6c1; }
.network-list { display: flex; flex-wrap: wrap; gap: .35rem; }
.network-badge { padding: .28rem .42rem; color: #bfc5ba; border: 1px solid rgba(255, 255, 255, .12); border-radius: 4px; background: rgba(255, 255, 255, .025); font: .72rem/1 var(--mono); white-space: nowrap; }
.network-details summary, .contract-details summary { color: var(--muted); cursor: pointer; font: .76rem/1.35 var(--mono); }
.network-details[open] summary, .contract-details[open] summary { margin-bottom: .55rem; color: var(--lime); }
.contract-primary { display: flex; align-items: baseline; gap: .5rem; }
.contract-network { flex: 0 0 auto; color: var(--dim); font: 600 .72rem/1 var(--mono); text-transform: uppercase; }
.contract-link { min-width: 0; color: #dce1d7; font: .8rem/1.45 var(--mono); overflow-wrap: anywhere; text-decoration-color: rgba(204, 255, 0, .35); text-underline-offset: 3px; }
.contract-link:hover, .contract-link:focus-visible { color: var(--lime); }
.contract-details { margin-top: .5rem; }
.contract-deployment-list { display: grid; gap: .45rem; }
.contract-deployment { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: .45rem; align-items: start; }
.contract-deployment span { color: var(--dim); font: .7rem/1.45 var(--mono); }
.contract-deployment a { color: #aeb5a8; font: .72rem/1.45 var(--mono); overflow-wrap: anywhere; }
.onchain-metric strong { display: block; color: var(--ink); font: 700 .95rem/1.1 var(--mono); font-variant-numeric: tabular-nums; }
.onchain-metric small { display: block; margin-top: .35rem; color: var(--dim); font: .7rem/1.35 var(--mono); }
.onchain-metric small a { color: var(--dim); text-decoration-color: rgba(204, 255, 0, .28); text-underline-offset: 3px; }
.onchain-metric small a:hover, .onchain-metric small a:focus-visible { color: var(--lime); }
.direct-venue-table { grid-column: 1 / -1; margin-top: .15rem; border: 1px solid rgba(255, 255, 255, .1); border-radius: 7px; overflow: hidden; background: rgba(0, 0, 0, .28); }
.direct-venue-head, .direct-venue-row { display: grid; grid-template-columns: minmax(120px, 1.25fr) repeat(2, minmax(80px, .72fr)) repeat(2, minmax(90px, .82fr)) minmax(90px, .82fr) minmax(82px, .75fr); column-gap: .75rem; align-items: start; }
.direct-venue-head { padding: .52rem .7rem; color: #72796e; border-bottom: 1px solid rgba(255, 255, 255, .08); background: rgba(255, 255, 255, .025); font: 600 .66rem/1.2 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.direct-venue-row { padding: .72rem; border-bottom: 1px solid rgba(255, 255, 255, .075); }
.direct-venue-row:last-child { border-bottom: 0; }
.direct-venue-cell { min-width: 0; }
.direct-venue-cell strong { display: block; color: var(--ink); font: 650 .86rem/1.2 var(--mono); font-variant-numeric: tabular-nums; white-space: nowrap; }
.direct-venue-cell small { display: block; margin-top: .28rem; color: #676e63; font: .64rem/1.25 var(--mono); }
.direct-venue-cell.venue > div { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.direct-venue-cell.venue a { display: inline-block; margin-top: .32rem; color: #9ba395; font: 600 .68rem/1.3 var(--mono); text-decoration-color: rgba(204, 255, 0, .24); text-underline-offset: 3px; }
.direct-venue-cell.venue a:hover, .direct-venue-cell.venue a:focus-visible, .venue-source a:hover, .venue-source a:focus-visible { color: var(--lime); }
.venue-state { width: 6px; height: 6px; border-radius: 50%; }
.venue-state.live { background: var(--lime); }
.venue-state.snapshot { background: #848b80; }
.venue-state.reference { background: #8f9690; }
.direct-venue-row.reference-row { background: rgba(255, 255, 255, .018); }
.venue-status { color: #6f766b; font: 700 .6rem/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.venue-source { grid-column: 1 / -1; margin-top: .5rem; padding-top: .45rem; color: #5d6459; border-top: 1px solid rgba(255, 255, 255, .055); font: .62rem/1.2 var(--mono); }
.venue-source a { color: inherit; text-decoration: none; }
.direct-venue-empty { grid-column: 1 / -1; margin-top: .15rem; padding: .8rem; color: #70776d; border: 1px dashed rgba(255, 255, 255, .1); border-radius: 7px; font: .7rem/1.45 var(--mono); }
.onchain-loading, .onchain-empty { padding: 1.4rem 1rem; color: var(--muted); font: .84rem/1.55 var(--mono); }
.onchain-note { margin: .8rem 2rem 1.35rem; color: var(--dim); font: .72rem/1.5 var(--mono); }
.onchain-note strong { color: var(--ink); }
.onchain-table.venue-split-mode { border: 0; border-radius: 0; overflow: visible; background: transparent; }
.onchain-table.venue-split-mode > .onchain-table-head { display: none; }
.venue-split-shell { display: grid; gap: 1.1rem; }
.venue-class-section { overflow-x: auto; scrollbar-color: rgba(204, 255, 0, .55) rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .11); border-radius: 9px; background: rgba(0, 0, 0, .28); }
.venue-class-section > header { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; padding: .85rem 1rem; border-bottom: 1px solid rgba(255, 255, 255, .09); }
.venue-class-section > header h3 { margin: .2rem 0 0; color: var(--ink); font: 650 1rem/1.1 var(--sans); }
.venue-class-section > header p { margin: 0; color: #6f776b; font: .68rem/1.45 var(--mono); text-align: right; }
.venue-class-kicker { font: 700 .64rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.cex-section, .dex-section { border-left-color: rgba(255, 255, 255, .22); }
.cex-section .venue-class-kicker, .dex-section .venue-class-kicker { color: #a5aca2; }
.venue-split-head, .venue-split-row { display: grid; align-items: start; column-gap: .72rem; }
.cex-split-table .venue-split-head, .cex-market-row { grid-template-columns: minmax(112px, 1.05fr) minmax(105px, .9fr) 62px minmax(86px, .78fr) minmax(82px, .74fr) minmax(82px, .74fr) minmax(90px, .8fr); }
.dex-split-table .venue-split-head, .dex-market-row { grid-template-columns: minmax(115px, .8fr) minmax(240px, 1.85fr) minmax(78px, .58fr) minmax(86px, .65fr) minmax(86px, .62fr) minmax(78px, .58fr); }
.venue-split-head { padding: .55rem .75rem; color: #747c70; border-bottom: 1px solid rgba(255, 255, 255, .08); background: rgba(255, 255, 255, .025); font: 700 .64rem/1.2 var(--mono); letter-spacing: .075em; text-transform: uppercase; }
.venue-split-row { position: relative; padding: .78rem .75rem; border-bottom: 1px solid rgba(255, 255, 255, .07); }
.venue-split-row:last-child { border-bottom: 0; }
.cex-market-row.market-leader, .dex-market-row.routed-dex { background: rgba(255, 255, 255, .018); }
.split-cell { min-width: 0; }
.split-cell strong { display: block; color: var(--ink); font: 650 .84rem/1.25 var(--mono); font-variant-numeric: tabular-nums; }
.split-cell small { display: block; margin-top: .25rem; color: #697066; font: .64rem/1.35 var(--mono); }
.split-cell.venue { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .42rem; }
.split-cell.venue > strong { font-size: .9rem; }
.split-cell.venue > a, .split-cell.venue > small { flex-basis: 100%; }
.split-cell.venue > a { color: #abb3a5; font: 600 .7rem/1.35 var(--mono); text-decoration-color: rgba(204, 255, 0, .28); text-underline-offset: 3px; }
.split-cell.venue > a:hover, .split-cell.venue > a:focus-visible { color: var(--lime); }
.venue-class-badge { padding: .24rem .34rem; border-radius: 3px; font: 800 .58rem/1 var(--mono); letter-spacing: .1em; }
.venue-class-badge.cex, .venue-class-badge.dex { color: #c8cec4; border: 1px solid rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .035); }
.leader-badge, .route-badge { padding: .24rem .34rem; border-radius: 3px; font: 750 .56rem/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.leader-badge, .route-badge { color: #c2c8bf; border: 1px solid rgba(255, 255, 255, .13); background: transparent; }
.split-source { grid-column: 1 / -1; margin-top: .5rem; padding-top: .42rem; color: #5d655a; border-top: 1px solid rgba(255, 255, 255, .05); font: .6rem/1.25 var(--mono); }
.split-source a { color: inherit; text-decoration: none; }
.split-source a:hover, .split-source a:focus-visible { color: var(--lime); }
.dex-contract-stack { display: grid; gap: .55rem; }
.dex-token-contract, .dex-pool-contracts { display: grid; grid-template-columns: 105px minmax(0, 1fr); gap: .5rem; align-items: start; }
.dex-token-contract > span, .dex-pool-contracts > span { color: #70786d; font: 700 .6rem/1.35 var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.dex-contract-link, .dex-route-contract a { color: #d9dfd5; font: .7rem/1.35 var(--mono); overflow-wrap: anywhere; text-decoration-color: rgba(204, 255, 0, .35); text-underline-offset: 3px; }
.dex-contract-link:hover, .dex-contract-link:focus-visible, .dex-route-contract a:hover, .dex-route-contract a:focus-visible { color: var(--lime); }
.dex-route-contract { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: .42rem; margin-bottom: .25rem; }
.dex-route-contract span { color: #8a9285; font: .62rem/1.35 var(--mono); }
.dex-route-details { min-width: 0; }
.dex-route-details summary { width: fit-content; color: #c7cdc3; cursor: pointer; font: 650 .7rem/1.35 var(--mono); text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .25); text-underline-offset: 3px; }
.dex-route-details[open] summary { margin-bottom: .55rem; }
.dex-route-details > div { display: grid; gap: .3rem; padding: .55rem 0 0 .1rem; border-top: 1px solid rgba(255, 255, 255, .07); }
.contract-missing { color: var(--coral) !important; text-transform: none !important; }
.dex-quote-ladder { grid-column: 1 / -1; display: flex; align-items: center; gap: .75rem; margin-top: .62rem; padding: .55rem .65rem; border: 1px solid rgba(255, 255, 255, .09); border-radius: 5px; background: rgba(255, 255, 255, .018); }
.dex-quote-ladder > span { flex: 0 0 auto; color: #899181; font: 700 .6rem/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.dex-quote-ladder > div { display: flex; flex-wrap: wrap; gap: .4rem; }
.dex-quote-ladder > div > span { display: inline-flex; gap: .35rem; padding: .27rem .38rem; color: #aab1a4; border: 1px solid rgba(255, 255, 255, .09); border-radius: 3px; font: .64rem/1 var(--mono); }
.dex-quote-ladder b { color: var(--ink); font-weight: 700; }

.positive { color: var(--lime) !important; }
.negative { color: var(--coral) !important; }

.chart-disclosure { max-width: 110ch; margin: 1rem .15rem 0; color: var(--dim); font: .82rem/1.6 var(--mono); }

footer {
  display: grid; grid-template-columns: 1fr auto; gap: 2rem; padding: 2rem clamp(1.5rem, 4vw, 3rem);
  color: #8d9488; border-top: 1px solid var(--line); font-size: .9rem;
}
.foot-links { display: flex; flex-wrap: wrap; gap: 1.3rem; }
.foot-links a { text-decoration: none; }
.foot-links a:hover, .foot-links a:focus-visible { color: var(--lime); }
.footnote { grid-column: 1 / -1; max-width: 95ch; color: #666d62; line-height: 1.5; }

@media (max-width: 1180px) {
  .site-header { gap: 1.25rem; }
  .live-perp-time { display: none; }
  .market-search { width: clamp(150px, 13vw, 200px); }
}

@media (max-width: 980px) {
  .site-header { grid-template-columns: auto 1fr; gap: 1rem; }
  .site-nav { display: none; }
  .header-market-tools { justify-self: end; }
  .instrument-picker { justify-self: end; }
  .chart-section { width: calc(100% - 1.5rem); }
  .chart-head { grid-template-columns: 1fr; align-items: start; }
  .range-controls { justify-content: flex-start; }
  .earnings-options-summary { grid-template-columns: 1fr 1fr; }
  .earnings-options-summary > div:nth-child(2) { border-right: 0; }
  .earnings-options-summary > div:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .funding-forecast-grid { grid-template-columns: 1fr 1fr; }
  .funding-forecast-grid > p { grid-column: 1 / -1; border-top: 1px solid var(--line); }
  .onchain-table-head, .onchain-market-row { grid-template-columns: minmax(120px, .7fr) minmax(135px, .8fr) minmax(220px, 1.4fr) 105px 105px; gap: .75rem; }
  .direct-venue-head, .direct-venue-row { grid-template-columns: minmax(130px, 1.15fr) repeat(2, minmax(78px, .65fr)) repeat(2, minmax(92px, .78fr)) minmax(92px, .76fr) minmax(82px, .68fr); column-gap: .55rem; }
}

@media (max-width: 920px) {
  .onchain-table-head { display: none; }
  .onchain-market-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; }
  .onchain-cell.contracts { grid-column: 1 / -1; padding: .75rem 0; border-top: 1px solid rgba(255, 255, 255, .08); border-bottom: 1px solid rgba(255, 255, 255, .08); }
  .onchain-cell::before { display: block; margin-bottom: .5rem; color: var(--dim); font: 600 .68rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
  .onchain-cell.token::before { content: "Token"; }
  .onchain-cell.networks::before { content: "Networks"; }
  .onchain-cell.contracts::before { content: "Primary contract"; }
  .onchain-cell.liquidity::before { content: "Venue coverage"; }
  .onchain-cell.volume::before { content: "Direct 24h"; }
  .direct-venue-head { display: none; }
  .direct-venue-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .85rem 1rem; padding: .85rem; }
  .direct-venue-cell.venue, .venue-source { grid-column: 1 / -1; }
  .direct-venue-cell::before { display: block; margin-bottom: .38rem; color: #60675d; font: 600 .6rem/1 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
  .direct-venue-cell.price::before { content: "Price"; }
  .direct-venue-cell.spread::before { content: "Spread / fee"; }
  .direct-venue-cell.buy-depth::before { content: "Buy liquidity"; }
  .direct-venue-cell.sell-depth::before { content: "Sell liquidity"; }
  .direct-venue-cell.turnover::before { content: "24h turnover"; }
  .direct-venue-cell.pool-tvl::before { content: "Pool TVL"; }
  .venue-class-section > header { align-items: start; }
  .venue-class-section > header p { max-width: 48%; }
  .venue-split-head { display: none; }
  .cex-market-row, .dex-market-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .8rem 1rem; }
  .cex-market-row .split-cell.venue, .dex-market-row .split-cell.venue, .dex-market-row .dex-contracts, .split-source, .dex-quote-ladder { grid-column: 1 / -1; }
  .split-cell::before { display: block; margin-bottom: .35rem; color: #60675d; font: 700 .58rem/1 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
  .split-cell.venue::before, .split-cell.dex-contracts::before { display: none; }
  .split-cell.product::before { content: "Token product"; }
  .split-cell.rank::before { content: "CEX volume rank"; }
  .split-cell.price::before { content: "Price / spread"; }
  .split-cell.buy-depth::before { content: "Buy depth"; }
  .split-cell.sell-depth::before { content: "Sell depth"; }
  .split-cell.turnover::before { content: "24h volume"; }
  .split-cell.spread::before { content: "Execution"; }
  .split-cell.pool-tvl::before { content: "Pool TVL"; }
}

@media (max-width: 620px) {
  .site-header { grid-template-columns: auto 1fr; row-gap: .6rem; min-height: 68px; padding: .7rem 1rem; }
  .brand { font-size: 1rem; }
  .brand img { width: 39px; height: 39px; }
  .header-market-tools { grid-column: 1 / -1; width: 100%; gap: .5rem; }
  .live-perp { flex: 1 1 auto; grid-template-columns: auto minmax(6.4ch, 1fr) auto; gap: .5rem; min-width: 0; padding-inline: .6rem; }
  .live-perp-price { min-width: 0; }
  .live-perp-time { display: none; }
  .instrument-picker { flex: 0 0 auto; }
  .instrument-picker label { display: none; }
  .instrument-picker select { width: min(47vw, 230px); min-width: 142px; max-width: 47vw; min-height: 44px; }
  .header-market-tools { flex-wrap: wrap; }
  .market-search { flex: 1 1 140px; width: auto; }
  .market-search input { width: 100%; min-width: 120px; }
  .market-search-kbd { display: none; }
  #market-search-results { left: 0; right: auto; width: min(92vw, 360px); }
  .chart-frame { border-radius: 11px; }
  .chart-head { gap: 1.4rem; padding: 1.35rem 1.15rem 1.15rem; }
  .chart-title-row { display: grid; gap: .45rem; }
  .legend { display: grid; }
  .range-controls { width: 100%; }
  .range-controls button { flex: 1; min-width: 44px; }
  .mobile-scroll-note { display: block; }
  .distribution-center-controls { flex-wrap: wrap; justify-content: flex-start; padding: .7rem 1.15rem; }
  .distribution-center-controls > span { flex: 0 0 100%; margin: 0 0 .15rem; }
  .distribution-center-controls button { flex: 1 1 150px; min-height: 44px; }
  .chart-stage { height: 460px; }
  .ratio-head { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: .75rem; padding: 1.1rem 1.15rem .75rem; }
  .ratio-head strong { justify-self: start; white-space: normal; }
  .peer-panel-head { display: grid; gap: .65rem; padding: 1.1rem 1.15rem .85rem; }
  .peer-panel-head small { text-align: left; }
  .peer-hedge-row { grid-template-columns: 1fr; gap: .45rem; padding: .85rem 1.15rem; }
  .peer-table-scroll { margin: .9rem 1.15rem 0; }
  .earnings-options-head { display: grid; gap: .75rem; align-items: start; padding: 1.1rem 1.15rem .85rem; }
  .earnings-options-asof { white-space: normal; }
  .earnings-options-summary > div { padding: .9rem .95rem 1rem; }
  .historical-plays { padding: 1rem 1.15rem .2rem; }
  .historical-plays > header { display: grid; gap: .5rem; }
  .options-method-note { margin: .75rem 1.15rem 1.1rem; }
  .earnings-ledger-head { display: grid; gap: .65rem; padding: 1.1rem 1.15rem .85rem; }
  .earnings-ledger-head small { text-align: left; }
  .earnings-ledger-scroll { margin: 0 1.15rem; }
  .earnings-ledger-method { margin: .75rem 1.15rem 1.1rem; }
  .funding-forecast-head { align-items: start; padding: 1.1rem 1.15rem .75rem; }
  .funding-forecast-asof { max-width: 42%; text-align: right; white-space: normal; }
  .funding-horizon { padding: 1rem 1.15rem 1.1rem; }
  .funding-forecast-grid > p { padding: .9rem 1.15rem 1rem; }
  .ratio-head span { max-width: 28ch; }
  .ratio-stage { height: 210px; }
  .onchain-head { align-items: start; padding: 1.15rem; }
  .onchain-status { max-width: 48%; }
  .onchain-status strong, .onchain-live-stamp { text-align: right; white-space: normal; }
  .onchain-table { margin: 0 1.15rem; }
  .onchain-note { margin: .75rem 1.15rem 1.2rem; }
  footer { grid-template-columns: 1fr; }
}

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

@media (max-width: 720px) {
  /* Chart first: the header scrolls away instead of pinning 40% of the viewport. */
  .site-header { position: static; }
  .chart-title-row h1 { font-size: 1.3rem; line-height: 1.15; }
  .chart-section { padding-top: 1rem; }
  .chart-head { gap: .9rem; padding-bottom: .9rem; }
  /* Legend collapses behind a toggle so the first screen is the chart. */
  .legend-details > summary {
    display: inline-block; padding: .3rem 0; color: #9aa294; cursor: pointer;
    font: 600 .72rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase;
  }
  .legend { margin-top: .5rem; gap: .5rem 1rem; }
  .legend-item { font-size: .78rem; }
  /* Peer basket: no horizontal scroll; keep instrument, weight, and both changes. */
  .peer-table { min-width: 0; font-size: .72rem; }
  .peer-table-scroll { overflow-x: visible; }
  .peer-table th:nth-child(n+5), .peer-table td:nth-child(n+5) { display: none; }
  .peer-table th, .peer-table td { padding: .5rem .45rem; white-space: normal; }
  .peer-table td:first-child { width: auto; }
  .peer-table td:first-child span { display: none; }
  .peer-table th:nth-child(n+2), .peer-table td:nth-child(n+2) { width: auto; }
  /* Earnings ledger: rows stack; the briefing breaks out to the full mobile width. */
  .earnings-ledger-table { min-width: 0; font-size: .72rem; }
  .earnings-ledger-scroll { overflow-x: visible; }
  .earnings-ledger-table th:nth-child(3), .earnings-ledger-table td:nth-child(3),
  .earnings-ledger-table th:nth-child(4) { display: none; }
  .earnings-ledger-table thead tr, .earnings-ledger-table tbody tr { display: grid; grid-template-columns: 1fr auto; align-items: baseline; }
  .earnings-ledger-table th, .earnings-ledger-table td { padding: .5rem .45rem; }
  .earnings-ledger-table th:nth-child(1), .earnings-ledger-table th:nth-child(2) { width: auto; }
  .earnings-ledger-table td:nth-child(4) { grid-column: 1 / -1; padding-top: 0; }
  .transcript-brief article { max-width: none; }
  /* Options structures: trade, what you buy, and the payout/move column only. */
  .historical-structure-table { min-width: 0; font-size: .7rem; }
  .historical-structure-table th, .historical-structure-table td { padding: .5rem .4rem; white-space: normal; }
  .earnings-structure-table th:nth-child(3), .earnings-structure-table td:nth-child(3),
  .earnings-structure-table th:nth-child(4), .earnings-structure-table td:nth-child(4),
  .earnings-structure-table th:nth-child(6), .earnings-structure-table td:nth-child(6) { display: none; }
  .term-structure-table th:nth-child(3), .term-structure-table td:nth-child(3),
  .term-structure-table th:nth-child(4), .term-structure-table td:nth-child(4),
  .term-structure-table th:nth-child(5), .term-structure-table td:nth-child(5),
  .term-structure-table th:nth-child(7), .term-structure-table td:nth-child(7),
  .term-structure-table th:nth-child(8), .term-structure-table td:nth-child(8),
  .term-structure-table th:nth-child(9), .term-structure-table td:nth-child(9) { display: none; }
  /* Venue walls collapse to the top rows with an explicit expander. */
  .venue-split-table.is-capped [role="rowgroup"] > :nth-child(n+4) { display: none; }
  .venue-rows-toggle { display: block; }
}
