:root {
  color-scheme: dark;
  --ink: #080c0b;
  --ink-soft: #0d1210;
  --panel: #111815;
  --panel-raised: #151f1b;
  --panel-warm: #1d1b14;
  --line: #293731;
  --line-bright: #405249;
  --paper: #edf3ee;
  --paper-dim: #b9c7bf;
  --muted: #7f9188;
  --mint: #70f0aa;
  --mint-deep: #0c5135;
  --amber: #efb85d;
  --amber-deep: #4b3514;
  --red: #ff7068;
  --red-deep: #4a1b1b;
  --blue: #77a7ff;
  --blue-deep: #172b4b;
  --rail: 276px;
  --radius: 6px;
  --shadow: 0 28px 80px rgb(0 0 0 / 28%);
  --font-display: "Bodoni 72 Smallcaps", "STSong", "Songti SC", serif;
  --font-body: "Avenir Next", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-mono: "SFMono-Regular", "Roboto Mono", "Menlo", monospace;
}

* {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  overflow-x: hidden;
  background: var(--ink);
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  color: var(--paper);
  background:
    radial-gradient(circle at 78% -10%, rgb(112 240 170 / 8%), transparent 33rem),
    radial-gradient(circle at 8% 105%, rgb(239 184 93 / 7%), transparent 34rem),
    var(--ink);
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.55;
}

.file-protocol-gate {
  position: fixed;
  inset: 16px 16px auto;
  z-index: 1000;
  padding: 17px 20px;
  border: 1px solid var(--red);
  border-left-width: 4px;
  color: var(--paper);
  background: rgb(40 12 12 / 97%);
  box-shadow: var(--shadow);
  font-family: var(--font-mono);
}

.file-protocol-gate[hidden] { display: none; }
.file-protocol-gate strong { color: var(--red); }
.file-protocol-gate p { margin: 5px 0; color: var(--paper-dim); font-size: 10px; }
.file-protocol-gate code { color: var(--amber); }
.file-protocol-gate a { color: var(--mint); font-size: 11px; }

button,
input,
select {
  font: inherit;
}

button,
select,
input[type="range"] {
  cursor: pointer;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
a:focus-visible {
  outline: 2px solid var(--mint);
  outline-offset: 3px;
}

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 100;
  padding: 10px 14px;
  color: var(--ink);
  background: var(--mint);
  transform: translateY(-160%);
  transition: transform 160ms ease;
}

.skip-link:focus {
  transform: translateY(0);
}

.ambient-grid {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.18;
  background-image:
    linear-gradient(rgb(121 153 137 / 12%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(121 153 137 / 12%) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(to bottom, black, transparent 84%);
}

.app-shell {
  min-height: 100vh;
}

.side-rail {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 20;
  display: flex;
  width: var(--rail);
  flex-direction: column;
  border-right: 1px solid var(--line);
  background:
    linear-gradient(180deg, rgb(255 255 255 / 2%), transparent 25%),
    rgb(9 14 12 / 96%);
  backdrop-filter: blur(18px);
}

.side-rail::after {
  position: absolute;
  right: -1px;
  top: 0;
  width: 1px;
  height: 21%;
  content: "";
  background: linear-gradient(var(--mint), transparent);
}

.brand-lockup {
  display: flex;
  min-height: 126px;
  align-items: center;
  gap: 15px;
  padding: 24px 23px 20px;
  border-bottom: 1px solid var(--line);
}

.brand-mark {
  position: relative;
  display: grid;
  width: 54px;
  height: 58px;
  place-items: center;
  border: 1px solid var(--line-bright);
  color: var(--mint);
  background: linear-gradient(145deg, rgb(112 240 170 / 10%), transparent);
  font-family: var(--font-display);
  font-size: 32px;
  line-height: 1;
}

.brand-mark::before,
.brand-mark::after {
  position: absolute;
  width: 9px;
  height: 9px;
  content: "";
  border-color: var(--mint);
}

.brand-mark::before {
  top: -1px;
  left: -1px;
  border-top: 2px solid;
  border-left: 2px solid;
}

.brand-mark::after {
  right: -1px;
  bottom: -1px;
  border-right: 2px solid;
  border-bottom: 2px solid;
}

.brand-mark i {
  position: absolute;
  right: 3px;
  bottom: 0;
  color: var(--amber);
  font-family: var(--font-mono);
  font-size: 9px;
  font-style: normal;
}

.eyebrow,
.breadcrumb,
.section-kicker,
.panel-kicker,
.mini-label {
  margin: 0;
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.brand-lockup h1 {
  margin: 4px 0 0;
  font-family: var(--font-display);
  font-size: 23px;
  font-weight: 600;
  letter-spacing: 0.06em;
}

.primary-nav {
  padding: 18px 13px;
}

.nav-item {
  position: relative;
  display: grid;
  width: 100%;
  min-height: 58px;
  grid-template-columns: 32px 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid transparent;
  border-radius: 4px;
  color: var(--paper-dim);
  background: transparent;
  text-align: left;
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.nav-item:hover {
  color: var(--paper);
  background: rgb(255 255 255 / 3%);
  transform: translateX(3px);
}

.nav-item.is-active {
  border-color: var(--line);
  color: var(--paper);
  background: linear-gradient(90deg, rgb(112 240 170 / 10%), rgb(112 240 170 / 2%));
}

.nav-item.is-active::before {
  position: absolute;
  left: -14px;
  width: 3px;
  height: 32px;
  content: "";
  background: var(--mint);
  box-shadow: 0 0 18px rgb(112 240 170 / 42%);
}

.nav-index {
  grid-row: 1 / 3;
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 10px;
}

.nav-item.is-active .nav-index {
  color: var(--mint);
}

.nav-item > span:nth-child(2) {
  font-weight: 650;
  letter-spacing: 0.04em;
}

.nav-item small {
  color: var(--muted);
  font-size: 10px;
  letter-spacing: 0.04em;
}

.rail-progress {
  margin: auto 22px 20px;
  padding: 17px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.rail-progress__label {
  display: flex;
  justify-content: space-between;
  color: var(--muted);
  font-size: 11px;
}

.rail-progress__label strong {
  color: var(--paper);
  font-family: var(--font-mono);
}

.progress-track {
  height: 3px;
  margin: 11px 0 12px;
  overflow: hidden;
  background: var(--line);
}

.progress-track span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--mint), var(--amber));
  transition: width 450ms cubic-bezier(0.16, 1, 0.3, 1);
}

.text-button {
  padding: 0;
  border: 0;
  color: var(--mint);
  background: transparent;
  font-size: 11px;
  letter-spacing: 0.08em;
}

.rail-status {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px 22px 21px;
}

.rail-status strong,
.rail-status small {
  display: block;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.rail-status small {
  margin-top: 2px;
  color: var(--muted);
}

.pulse-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--amber);
  box-shadow: 0 0 0 5px rgb(239 184 93 / 10%);
  animation: pulse 2.2s infinite;
}

.workspace {
  min-height: 100vh;
  margin-left: var(--rail);
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 15;
  display: flex;
  min-height: 88px;
  align-items: center;
  justify-content: space-between;
  padding: 17px clamp(22px, 3vw, 48px);
  border-bottom: 1px solid var(--line);
  background: rgb(8 12 11 / 90%);
  backdrop-filter: blur(22px);
}

.topbar h2 {
  margin: 4px 0 0;
  font-family: var(--font-display);
  font-size: clamp(22px, 2.1vw, 30px);
  font-weight: 600;
  letter-spacing: 0.03em;
}

.topbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.source-button {
  display: grid;
  min-width: 172px;
  height: 45px;
  grid-template-columns: 9px 1fr auto;
  align-items: center;
  gap: 9px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 3px;
  color: var(--paper-dim);
  background:
    linear-gradient(110deg, rgb(119 167 255 / 8%), transparent 60%),
    var(--panel);
  text-align: left;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.source-button:hover {
  border-color: var(--blue);
  transform: translateY(-1px);
}

.source-button__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--amber);
  box-shadow: 0 0 0 4px rgb(239 184 93 / 9%);
}

.source-button span:nth-child(2) {
  display: flex;
  flex-direction: column;
  line-height: 1.05;
}

.source-button small,
.source-button em {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 7px;
  font-style: normal;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.source-button strong {
  margin-top: 3px;
  color: var(--paper);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.04em;
}

.source-button em {
  padding: 3px 5px;
  border: 1px solid rgb(239 184 93 / 24%);
  color: var(--amber);
}

.source-button.is-live {
  border-color: rgb(112 240 170 / 34%);
  background:
    linear-gradient(110deg, rgb(112 240 170 / 11%), transparent 62%),
    var(--panel);
}

.source-button.is-live .source-button__dot,
.pulse-dot.is-live {
  background: var(--mint);
  box-shadow: 0 0 0 5px rgb(112 240 170 / 10%), 0 0 15px rgb(112 240 170 / 30%);
}

.source-button.is-live em {
  border-color: rgb(112 240 170 / 25%);
  color: var(--mint);
}

.source-button.is-error .source-button__dot,
.pulse-dot.is-error {
  background: var(--red);
  box-shadow: 0 0 0 5px rgb(255 112 104 / 10%);
}

.source-button.is-error em {
  border-color: rgb(255 112 104 / 28%);
  color: var(--red);
}

.source-button.is-loading .source-button__dot {
  animation: pulse 900ms infinite;
}

.symbol-picker {
  position: relative;
  z-index: 42;
}

.symbol-picker__trigger {
  display: grid;
  min-width: 154px;
  height: 45px;
  grid-template-columns: 30px 1fr 15px;
  align-items: center;
  gap: 9px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 3px;
  color: var(--paper);
  background: var(--panel);
  text-align: left;
}

.symbol-picker__trigger:hover,
.symbol-picker.is-open .symbol-picker__trigger {
  border-color: var(--line-bright);
  background: var(--panel-raised);
}

.symbol-picker__trigger > svg {
  width: 15px;
  fill: none;
  stroke: var(--muted);
  stroke-width: 1.5;
  transition: transform 160ms ease;
}

.symbol-picker.is-open .symbol-picker__trigger > svg { transform: rotate(180deg); }

.symbol-avatar {
  position: relative;
  display: grid;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  place-items: center;
  overflow: hidden;
  border: 1px solid #3b4b44;
  border-radius: 7px;
  color: var(--paper);
  background: linear-gradient(135deg, #22302a, #0b100e);
}

.symbol-avatar img {
  display: block;
  width: 21px;
  height: 21px;
  object-fit: contain;
}

.symbol-avatar.has-logo { background: #f5f7f4; }
.symbol-avatar.is-all {
  border-color: rgb(112 240 170 / 42%);
  color: var(--mint);
  background: radial-gradient(circle at 50% 38%, rgb(112 240 170 / 22%), transparent 64%), #0a1410;
}
.symbol-avatar.is-all b { display: block; font-size: 8px; letter-spacing: .04em; }
.symbol-avatar b { font-family: var(--font-mono); font-size: 7px; letter-spacing: -0.04em; }
.symbol-avatar.has-logo b { display: none; }

.symbol-picker__current { display: grid; line-height: 1.1; }
.symbol-picker__current small { color: var(--muted); font-size: 8px; letter-spacing: 0.08em; }
.symbol-picker__current strong { margin-top: 4px; font-family: var(--font-mono); font-size: 12px; }

.symbol-picker__menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: min(550px, calc(100vw - 34px));
  max-height: min(680px, calc(100vh - 105px));
  overflow-y: auto;
  border: 1px solid var(--line-bright);
  border-radius: 4px;
  background: rgb(10 15 13 / 98%);
  box-shadow: 0 26px 80px rgb(0 0 0 / 55%);
}

.symbol-picker__menu[hidden] { display: none; }

.symbol-picker__menu > header {
  position: sticky;
  z-index: 2;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 17px;
  border-bottom: 1px solid var(--line);
  background: rgb(10 15 13 / 98%);
}

.symbol-picker__menu header div { display: grid; }
.symbol-picker__menu header strong { font-family: var(--font-display); font-size: 17px; font-weight: 500; }
.symbol-picker__menu header small { color: var(--muted); font-size: 8px; }
.symbol-picker__menu header em { color: var(--amber); font-family: var(--font-mono); font-size: 8px; font-style: normal; }

.symbol-picker__group { padding: 13px 14px 5px; }
.symbol-picker__group + .symbol-picker__group { border-top: 1px solid var(--line); }
.symbol-picker__group h3 { margin: 0 3px 9px; color: var(--muted); font-family: var(--font-mono); font-size: 8px; font-weight: 500; letter-spacing: 0.12em; }
.symbol-picker__group > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }

.symbol-option {
  display: grid;
  min-width: 0;
  grid-template-columns: 30px 1fr auto;
  align-items: center;
  gap: 9px;
  padding: 8px;
  border: 1px solid transparent;
  border-radius: 3px;
  color: var(--paper);
  background: transparent;
  text-align: left;
}

.symbol-option:hover { border-color: var(--line); background: var(--ink-soft); }
.symbol-option.is-active { border-color: rgb(112 240 210 / 42%); background: rgb(112 240 210 / 7%); }
.symbol-option > span:nth-child(2) { display: grid; min-width: 0; }
.symbol-option strong { font-family: var(--font-mono); font-size: 11px; }
.symbol-option small { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.symbol-option i { color: var(--mint); font-family: var(--font-mono); font-size: 7px; font-style: normal; }
.symbol-picker__scope > div { grid-template-columns: 1fr; }
.symbol-option.all-opportunities { min-height: 54px; }
.symbol-option.all-opportunities small { white-space: normal; }

.icon-button {
  display: grid;
  width: 45px;
  height: 45px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 3px;
  color: var(--paper-dim);
  background: var(--panel);
  transition: border-color 160ms ease, color 160ms ease;
}

.export-decision-button {
  display: grid;
  height: 45px;
  grid-template-columns: 20px auto;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 3px;
  color: var(--paper-dim);
  background: var(--panel);
  text-align: left;
}

.export-decision-button:hover { border-color: var(--amber); color: var(--paper); background: var(--panel-warm); }
.export-decision-button:disabled { cursor: not-allowed; border-color: var(--line); color: #56635d; opacity: .56; }
.export-decision-button:disabled:hover { border-color: var(--line); color: #56635d; background: var(--panel); }
.export-decision-button svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.export-decision-button span { display: grid; line-height: 1.05; }
.export-decision-button small { color: var(--muted); font-size: 7px; letter-spacing: .06em; }
.export-decision-button strong { margin-top: 4px; font-family: var(--font-mono); font-size: 9px; }

.icon-button:hover {
  border-color: var(--mint);
  color: var(--mint);
}

.icon-button svg {
  width: 19px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: square;
  stroke-width: 1.5;
}

.data-ribbon {
  display: grid;
  grid-template-columns: minmax(170px, 0.8fr) repeat(3, minmax(145px, 1fr)) minmax(240px, 1.35fr);
  min-height: 66px;
  border-bottom: 1px solid var(--line);
  background: var(--ink-soft);
}

.ticker-tag,
.ribbon-fact,
.ribbon-warning {
  display: flex;
  min-width: 0;
  align-items: center;
  padding: 11px 18px;
  border-right: 1px solid var(--line);
}

.ticker-tag {
  gap: 10px;
}

.ticker-tag span {
  color: var(--mint);
  font-family: var(--font-mono);
  font-weight: 800;
}

.ticker-tag strong {
  font-family: var(--font-mono);
  font-size: 17px;
}

.ticker-tag em {
  color: var(--mint);
  font-family: var(--font-mono);
  font-size: 10px;
  font-style: normal;
}

.ribbon-fact {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.ribbon-fact span {
  color: var(--muted);
  font-size: 9px;
  letter-spacing: 0.1em;
}

.ribbon-fact strong {
  max-width: 100%;
  overflow: hidden;
  margin-top: 3px;
  font-family: var(--font-mono);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ribbon-warning {
  gap: 8px;
  border-right: 0;
  color: var(--amber);
  font-size: 11px;
  letter-spacing: 0.04em;
}

.ribbon-warning.is-live {
  color: var(--mint);
  background: linear-gradient(90deg, rgb(112 240 170 / 4%), transparent);
}

.ribbon-warning.is-error {
  color: var(--red);
}

.status-chip,
.chip {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 4px 7px;
  border: 1px solid rgb(112 240 170 / 28%);
  border-radius: 2px;
  color: var(--mint);
  background: rgb(112 240 170 / 7%);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.07em;
  line-height: 1;
}

.status-chip.is-partial,
.chip.watch {
  border-color: rgb(239 184 93 / 34%);
  color: var(--amber);
  background: rgb(239 184 93 / 8%);
}

.chip.danger {
  border-color: rgb(255 112 104 / 34%);
  color: var(--red);
  background: rgb(255 112 104 / 8%);
}

.chip.muted {
  border-color: var(--line);
  color: var(--muted);
  background: rgb(255 255 255 / 2%);
}

.view-stage {
  width: min(1600px, 100%);
  margin: 0 auto;
  padding: clamp(25px, 3.2vw, 52px);
}

.view-enter {
  animation: reveal 480ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 25px;
}

.section-heading h3 {
  max-width: 850px;
  margin: 7px 0 0;
  font-family: var(--font-display);
  font-size: clamp(30px, 4vw, 55px);
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 1.02;
}

.section-heading > p:last-child {
  max-width: 420px;
  margin: 0;
  color: var(--paper-dim);
  font-size: 13px;
}

.command-hero {
  position: relative;
  display: grid;
  min-height: 420px;
  grid-template-columns: minmax(0, 1.22fr) minmax(330px, 0.78fr);
  overflow: hidden;
  border: 1px solid var(--line);
  background:
    linear-gradient(115deg, rgb(112 240 170 / 7%), transparent 44%),
    var(--panel);
  box-shadow: var(--shadow);
}

.command-hero::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  background: repeating-linear-gradient(115deg, transparent 0 46px, rgb(255 255 255 / 1.5%) 47px 48px);
}

.hero-copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(30px, 5vw, 76px);
}

.hero-kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--mint);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
}

.hero-kicker::before {
  width: 30px;
  height: 1px;
  content: "";
  background: var(--mint);
}

.hero-copy h3 {
  max-width: 720px;
  margin: 20px 0 18px;
  font-family: var(--font-display);
  font-size: clamp(42px, 6vw, 82px);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 0.97;
}

.hero-copy h3 em {
  color: var(--amber);
  font-style: normal;
}

.hero-copy > p {
  max-width: 650px;
  margin: 0;
  color: var(--paper-dim);
  font-size: clamp(13px, 1.2vw, 16px);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.primary-button,
.secondary-button,
.compact-button {
  min-height: 43px;
  padding: 0 18px;
  border: 1px solid var(--mint);
  border-radius: 2px;
  color: var(--ink);
  background: var(--mint);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.05em;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.primary-button:hover,
.compact-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 26px rgb(112 240 170 / 18%);
}

.secondary-button {
  color: var(--paper);
  background: transparent;
  border-color: var(--line-bright);
}

.secondary-button:hover {
  border-color: var(--paper-dim);
  transform: translateY(-2px);
}

.compact-button {
  min-height: 35px;
  padding: 0 12px;
  font-size: 10px;
}

.compact-button.secondary {
  border-color: var(--line-bright);
  color: var(--paper);
  background: transparent;
}

.hero-core {
  position: relative;
  display: grid;
  min-height: 420px;
  place-items: center;
  overflow: hidden;
  border-left: 1px solid var(--line);
  background: rgb(0 0 0 / 16%);
}

.hero-core::before,
.hero-core::after {
  position: absolute;
  width: 360px;
  height: 360px;
  content: "";
  border: 1px solid var(--line);
  border-radius: 50%;
  animation: orbit 16s linear infinite;
}

.hero-core::after {
  width: 260px;
  height: 260px;
  border-style: dashed;
  animation-direction: reverse;
  animation-duration: 20s;
}

.decision-core {
  position: relative;
  z-index: 2;
  display: grid;
  width: 190px;
  height: 190px;
  place-items: center;
  border: 1px solid rgb(112 240 170 / 38%);
  border-radius: 50%;
  background: radial-gradient(circle, rgb(112 240 170 / 14%), var(--ink-soft) 67%);
  box-shadow: 0 0 70px rgb(112 240 170 / 8%);
  text-align: center;
}

.decision-core::before {
  position: absolute;
  width: 8px;
  height: 8px;
  content: "";
  border-radius: 50%;
  background: var(--mint);
  box-shadow: 0 0 14px var(--mint);
  transform: translateY(-71px);
}

.decision-core strong {
  display: block;
  font-family: var(--font-display);
  font-size: 30px;
  font-weight: 500;
}

.decision-core span {
  display: block;
  margin-top: 5px;
  color: var(--mint);
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.1em;
}

.core-label {
  position: absolute;
  z-index: 2;
  padding: 5px 8px;
  border: 1px solid var(--line);
  color: var(--paper-dim);
  background: var(--panel);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.core-label.one { top: 22%; left: 8%; }
.core-label.two { top: 22%; right: 8%; }
.core-label.three { right: 12%; bottom: 20%; }
.core-label.four { bottom: 20%; left: 12%; }

.mission-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 15px;
  border: 1px solid var(--line);
  background: var(--panel);
}

.mission-step {
  position: relative;
  min-height: 91px;
  padding: 17px 19px;
  border-right: 1px solid var(--line);
}

.mission-step:last-child {
  border-right: 0;
}

.mission-step span {
  color: var(--mint);
  font-family: var(--font-mono);
  font-size: 9px;
}

.mission-step strong {
  display: block;
  margin: 7px 0 2px;
  font-size: 13px;
}

.mission-step small {
  color: var(--muted);
  font-size: 10px;
}

.market-heatmap-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}

.market-heatmap-panel::before {
  position: absolute;
  z-index: 3;
  inset: 0 0 auto;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, #ff8068, var(--amber) 49%, #55b7ff);
}

.market-heatmap-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 26px;
  padding: 25px 27px 19px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(110deg, rgb(112 240 170 / 6%), transparent 46%);
}

.market-heatmap-header h3 {
  margin: 6px 0 5px;
  font-family: var(--font-display);
  font-size: clamp(27px, 3vw, 39px);
  font-weight: 500;
  letter-spacing: -.015em;
  line-height: 1;
}

.market-heatmap-header p:last-child {
  max-width: 790px;
  margin: 0;
  color: var(--paper-dim);
  font-size: 11px;
}

.market-heatmap-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
  background: #0b100e;
}

.market-heatmap-summary > div {
  min-width: 0;
  padding: 12px 18px;
  border-right: 1px solid var(--line);
}

.market-heatmap-summary > div:last-child { border-right: 0; }
.market-heatmap-summary span,
.market-heatmap-summary small { display: block; color: var(--muted); font-family: var(--font-mono); font-size: 8px; }
.market-heatmap-summary strong { display: block; margin: 3px 0 1px; font-family: var(--font-mono); font-size: 17px; }
.market-heatmap-summary strong.buy { color: #55b7ff; }
.market-heatmap-summary strong.sell { color: #ff8068; }
.market-heatmap-summary strong.neutral { color: var(--amber); }

.market-scan-progress { height: 2px; overflow: hidden; background: #111815; }
.market-scan-progress i { display: block; height: 100%; background: linear-gradient(90deg, var(--mint), #55b7ff); transition: width 260ms ease; }

.market-heatmap-frame {
  position: relative;
  overflow-x: auto;
  min-height: 420px;
  padding: 6px 12px 0;
  background: #090e0d;
  scrollbar-color: var(--line-bright) var(--ink);
  scrollbar-width: thin;
}

.market-heatmap { display: block; width: 100%; min-width: 820px; height: auto; }
.market-map-dot { cursor: pointer; outline: none; }
.market-map-bubble { stroke-width: 2; transition: filter 150ms ease, transform 150ms ease; transform-box: fill-box; transform-origin: center; }
.market-map-dot.buy .market-map-bubble { fill: #55b7ff; fill-opacity: .8; stroke: #b8e4ff; }
.market-map-dot.sell .market-map-bubble { fill: #ff8068; fill-opacity: .82; stroke: #ffd0c7; }
.market-map-dot.neutral .market-map-bubble { fill: var(--amber); fill-opacity: .82; stroke: #ffe3ab; }
.market-map-dot:hover .market-map-bubble,
.market-map-dot:focus .market-map-bubble { filter: drop-shadow(0 0 9px currentColor); transform: scale(1.17); }
.market-map-dot text { fill: #08100d; font-family: var(--font-mono); font-size: 7px; font-weight: 800; pointer-events: none; }
.market-map-selection { fill: none; stroke: var(--paper); stroke-width: 1.4; stroke-dasharray: 4 3; animation: marketSelection 6s linear infinite; }
.market-map-dot.is-selected .market-map-bubble { stroke-width: 3; }
.market-map-mid-label { fill: var(--amber); font-family: var(--font-mono); font-size: 7px; letter-spacing: .08em; }
.market-map-tooltip {
  width: 338px;
  min-width: 0;
  gap: 0;
  overflow: hidden;
  padding: 0;
  border-top: 2px solid var(--mint);
  background: rgb(7 13 11 / 98%);
}

.market-tooltip-head,
.market-tooltip-price,
.market-tooltip-channels,
.market-tooltip-levels {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.market-tooltip-head { padding: 10px 12px 8px; border-bottom: 1px solid var(--line); }
.market-tooltip-head span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.market-tooltip-head b { margin-right: 5px; color: var(--paper); font-size: 11px; }
.market-tooltip-head i { flex: 0 0 auto; padding: 2px 5px; border: 1px solid var(--line-bright); color: var(--amber); font-family: var(--font-mono); font-size: 6px; font-style: normal; }
.market-tooltip-price { padding: 9px 12px 8px; }
.market-tooltip-price strong { color: var(--paper); font-size: 18px; }
.market-tooltip-price em { font-family: var(--font-mono); font-size: 9px; font-style: normal; }
.market-tooltip-price em.buy { color: var(--mint); }
.market-tooltip-price em.sell { color: var(--red); }

.market-tooltip-grid { display: grid; grid-template-columns: 1fr 1fr; border-block: 1px solid var(--line); background: var(--line); gap: 1px; }
.market-tooltip-grid > div { min-width: 0; padding: 8px 11px; background: #0a110f; }
.market-tooltip-grid span,
.market-tooltip-grid small { display: block; }
.market-tooltip-grid strong { display: block; overflow: hidden; margin: 3px 0 1px; color: var(--paper); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.market-tooltip-grid strong.buy { color: #55b7ff; }
.market-tooltip-grid strong.sell { color: #ff8068; }
.market-tooltip-grid strong.neutral { color: var(--amber); }
.market-tooltip-channels,
.market-tooltip-levels { padding: 7px 12px; border-bottom: 1px solid var(--line); }
.market-tooltip-channels span:first-child { color: #78c7ff; }
.market-tooltip-channels span:last-child { color: #ff9a86; }
.market-tooltip-levels b { color: var(--paper-dim); font-weight: 600; }
.market-map-tooltip p { margin: 0; padding: 8px 12px; border-bottom: 1px solid var(--line); }
.market-map-tooltip p span,
.market-map-tooltip p b { display: block; }
.market-map-tooltip p span { margin-bottom: 3px; color: var(--mint); font-family: var(--font-mono); font-size: 7px; }
.market-map-tooltip p b { color: var(--paper-dim); font-family: var(--font-body); font-size: 9px; font-weight: 500; line-height: 1.45; }
.market-map-tooltip > small { display: block; padding: 7px 12px 10px; line-height: 1.4; }

.market-heatmap-empty {
  position: absolute;
  inset: 50% auto auto 50%;
  display: grid;
  place-items: center;
  gap: 7px;
  width: min(360px, 80%);
  color: var(--paper-dim);
  text-align: center;
  transform: translate(-50%, -50%);
}

.market-heatmap-empty i {
  width: 18px;
  height: 18px;
  border: 1px solid var(--line-bright);
  border-top-color: var(--mint);
  border-radius: 50%;
  animation: orbit .9s linear infinite;
}

.market-heatmap-empty strong { font-family: var(--font-mono); font-size: 11px; }
.market-heatmap-empty small { color: var(--muted); font-family: var(--font-mono); font-size: 8px; }

.scope-selection-gate {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(245px, .5fr);
  align-items: center;
  gap: 34px;
  margin-top: 14px;
  padding: 23px 25px;
  border: 1px solid var(--line);
  border-left: 2px solid var(--mint);
  border-radius: var(--radius);
  background: linear-gradient(100deg, rgb(112 240 170 / 7%), transparent 50%), var(--panel);
  box-shadow: var(--shadow);
}

.scope-selection-gate h3 { margin: 6px 0 5px; font-family: var(--font-display); font-size: clamp(24px, 3vw, 38px); font-weight: 500; line-height: 1.03; }
.scope-selection-gate p:last-child { max-width: 810px; margin: 0; color: var(--paper-dim); font-size: 10px; }
.scope-selection-action { display: grid; justify-items: start; gap: 8px; }
.scope-selection-action span { color: var(--paper-dim); font-family: var(--font-mono); font-size: 9px; }
.scope-selection-action span b { color: var(--mint); font-size: 18px; }
.scope-selection-action small { color: var(--muted); font-family: var(--font-mono); font-size: 7px; }

@keyframes marketSelection {
  to { transform: rotate(360deg); transform-origin: center; }
}

.role-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
  margin-top: 15px;
}

.role-card,
.panel,
.metric-card,
.monitor-card,
.greek-card,
.lesson-card,
.quiz-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(145deg, rgb(255 255 255 / 2.5%), transparent 46%), var(--panel);
}

.role-card {
  position: relative;
  min-height: 270px;
  overflow: hidden;
  padding: 25px;
  transition: transform 220ms ease, border-color 220ms ease;
}

.role-card:hover {
  border-color: var(--line-bright);
  transform: translateY(-4px);
}

.role-card::after {
  position: absolute;
  right: -20px;
  bottom: -60px;
  color: rgb(255 255 255 / 2.2%);
  content: attr(data-index);
  font-family: var(--font-display);
  font-size: 180px;
  line-height: 1;
}

.role-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--line-bright);
  color: var(--mint);
  font-family: var(--font-mono);
  font-size: 12px;
}

.role-card h4 {
  margin: 20px 0 8px;
  font-family: var(--font-display);
  font-size: 27px;
  font-weight: 500;
}

.role-card > p {
  min-height: 45px;
  margin: 0 0 18px;
  color: var(--paper-dim);
  font-size: 12px;
}

.role-answer {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: var(--paper);
  font-size: 11px;
}

.role-answer::before {
  flex: 0 0 auto;
  margin-top: 5px;
  width: 5px;
  height: 5px;
  content: "";
  background: var(--amber);
  transform: rotate(45deg);
}

.role-card button {
  position: relative;
  z-index: 2;
  margin-top: 20px;
}

.module-rail {
  display: grid;
  grid-template-columns: repeat(6, minmax(140px, 1fr));
  overflow-x: auto;
  margin-top: 15px;
  border: 1px solid var(--line);
  background: var(--panel);
}

.module-tile {
  min-height: 114px;
  padding: 16px;
  border-right: 1px solid var(--line);
}

.module-tile:last-child {
  border-right: 0;
}

.module-tile span {
  color: var(--amber);
  font-family: var(--font-mono);
  font-size: 9px;
}

.module-tile strong {
  display: block;
  margin: 8px 0 4px;
  font-size: 11px;
}

.module-tile small {
  color: var(--muted);
  font-size: 9px;
}

.module-tile.is-complete {
  background: linear-gradient(150deg, rgb(112 240 170 / 9%), transparent 70%);
}

.module-tile.is-complete strong::after {
  margin-left: 6px;
  color: var(--mint);
  content: "✓";
}

.split-grid,
.underwriting-layout,
.speculator-layout {
  display: grid;
  grid-template-columns: minmax(340px, 0.78fr) minmax(0, 1.22fr);
  gap: 15px;
}

.panel {
  min-width: 0;
  padding: 22px;
}

.panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--line);
}

.panel-head h4 {
  margin: 5px 0 0;
  font-family: var(--font-display);
  font-size: 23px;
  font-weight: 500;
}

.panel-head > p {
  max-width: 330px;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  text-align: right;
}

.control-stack {
  display: grid;
  gap: 20px;
}

.control-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 7px 18px;
  align-items: center;
}

.control-row label {
  color: var(--paper-dim);
  font-size: 11px;
  letter-spacing: 0.03em;
}

.control-row output {
  color: var(--mint);
  font-family: var(--font-mono);
  font-size: 12px;
}

.control-row input[type="range"] {
  grid-column: 1 / 3;
  width: 100%;
  height: 3px;
  margin: 6px 0;
  appearance: none;
  background: linear-gradient(90deg, var(--line-bright), var(--mint));
}

.control-row input[type="range"]::-webkit-slider-thumb {
  width: 14px;
  height: 18px;
  appearance: none;
  border: 2px solid var(--ink);
  border-radius: 1px;
  background: var(--mint);
  box-shadow: 0 0 0 1px var(--mint);
}

.hedge-ticket {
  position: relative;
  margin-top: 23px;
  overflow: hidden;
  padding: 22px;
  border: 1px solid rgb(112 240 170 / 30%);
  background: linear-gradient(120deg, rgb(112 240 170 / 13%), transparent 65%);
}

.hedge-ticket::after {
  position: absolute;
  top: -34px;
  right: -34px;
  width: 100px;
  height: 100px;
  content: "";
  border: 1px solid rgb(112 240 170 / 15%);
  border-radius: 50%;
}

.hedge-ticket span,
.risk-ticket span {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.1em;
}

.hedge-ticket strong {
  display: block;
  margin: 7px 0;
  color: var(--mint);
  font-family: var(--font-display);
  font-size: clamp(25px, 3vw, 39px);
  font-weight: 500;
}

.hedge-ticket p {
  margin: 0;
  color: var(--paper-dim);
  font-size: 11px;
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.metric-card {
  min-height: 112px;
  padding: 15px;
}

.metric-card span {
  color: var(--muted);
  font-size: 9px;
  letter-spacing: 0.07em;
}

.metric-card strong {
  display: block;
  margin: 9px 0 2px;
  font-family: var(--font-mono);
  font-size: clamp(17px, 2vw, 25px);
}

.metric-card small {
  color: var(--paper-dim);
  font-size: 9px;
}

.metric-card.accent strong { color: var(--mint); }
.metric-card.warning strong { color: var(--amber); }
.metric-card.danger strong { color: var(--red); }

.hedge-heatmap-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}

.hedge-heatmap-panel::before {
  position: absolute;
  z-index: 2;
  inset: 0 0 auto;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, #ff8068, var(--amber) 49%, #55b7ff);
}

.hedge-heatmap-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 20px 22px 15px;
  border-bottom: 1px solid var(--line);
}

.hedge-heatmap-header h3 { margin: 4px 0 3px; font-family: var(--font-display); font-size: clamp(25px, 3vw, 38px); font-weight: 500; }
.hedge-heatmap-header p:last-child { max-width: 730px; margin: 0; color: var(--paper-dim); font-size: 10px; }

.hedge-heatmap-summary {
  display: grid;
  grid-template-columns: 1.05fr 1fr .72fr 1.12fr;
  border-bottom: 1px solid var(--line);
  background: #0b100e;
}

.hedge-heatmap-summary > div { min-width: 0; padding: 12px 17px; border-right: 1px solid var(--line); }
.hedge-heatmap-summary > div:last-child { border-right: 0; }
.hedge-heatmap-summary span,
.hedge-heatmap-summary small { display: block; color: var(--muted); font-family: var(--font-mono); font-size: 8px; }
.hedge-heatmap-summary strong { display: block; overflow: hidden; margin: 5px 0 2px; font-family: var(--font-mono); font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.hedge-heatmap-summary strong.buy { color: #55b7ff; }
.hedge-heatmap-summary strong.sell { color: #ff8068; }
.hedge-heatmap-summary strong.neutral { color: var(--amber); }
.hedge-heatmap-summary strong em { color: var(--muted); font-size: 8px; font-style: normal; }

.hedge-heatmap-frame {
  position: relative;
  overflow-x: auto;
  padding: 8px 12px 0;
  background: #090e0d;
  scrollbar-color: var(--line-bright) var(--ink);
  scrollbar-width: thin;
}

.hedge-heatmap { display: block; width: 100%; min-width: 780px; height: auto; }
.hedge-map-bg { stroke: #33423c; stroke-width: 1; }
.hedge-map-axis { stroke: #6b7e74; stroke-width: .8; stroke-dasharray: 5 6; opacity: .65; }
.hedge-map-quadrant,
.hedge-map-axis-label { fill: #87998f; font-family: var(--font-mono); font-size: 8px; letter-spacing: .04em; }
.hedge-map-axis-label { fill: #6d8177; letter-spacing: .08em; }
.hedge-map-dot { cursor: help; outline: none; }
.hedge-map-dot circle:not(.hedge-map-pulse) { stroke-width: 2.2; transition: filter 150ms ease, transform 150ms ease; transform-box: fill-box; transform-origin: center; }
.hedge-map-dot.buy circle:not(.hedge-map-pulse) { fill: #55b7ff; fill-opacity: .76; stroke: #a6dcff; }
.hedge-map-dot.sell circle:not(.hedge-map-pulse) { fill: #ff8068; fill-opacity: .76; stroke: #ffc1b5; }
.hedge-map-dot.neutral circle:not(.hedge-map-pulse) { fill: var(--amber); fill-opacity: .78; stroke: #ffe1a5; }
.hedge-map-dot:hover circle:not(.hedge-map-pulse),
.hedge-map-dot:focus circle:not(.hedge-map-pulse) { filter: drop-shadow(0 0 8px currentColor); transform: scale(1.17); }
.hedge-map-dot text { fill: #07100d; font-family: var(--font-mono); font-size: 7px; font-weight: 900; pointer-events: none; }
.hedge-map-dot.is-current text { font-weight: 900; }
.hedge-map-pulse { fill: none; stroke: var(--amber); stroke-width: 1.2; opacity: .72; animation: mapPulse 1.8s ease-out infinite; }

.hedge-map-tooltip {
  position: absolute;
  z-index: 5;
  display: grid;
  min-width: 190px;
  gap: 2px;
  padding: 10px 11px;
  border: 1px solid var(--line-bright);
  border-radius: 3px;
  background: rgb(7 12 10 / 96%);
  box-shadow: 0 16px 38px rgb(0 0 0 / 45%);
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity 90ms ease, transform 90ms ease;
}

.hedge-map-tooltip.is-visible { opacity: 1; transform: translateY(0); }
.hedge-map-tooltip span,
.hedge-map-tooltip small { color: var(--muted); font-family: var(--font-mono); font-size: 8px; }
.hedge-map-tooltip strong { font-family: var(--font-mono); font-size: 11px; }
.hedge-map-tooltip strong.buy { color: #55b7ff; }
.hedge-map-tooltip strong.sell { color: #ff8068; }
.hedge-map-tooltip strong.neutral { color: var(--amber); }

.hedge-map-tooltip.market-map-tooltip {
  width: 338px;
  min-width: 338px;
  gap: 0;
  overflow: hidden;
  padding: 0;
  border-top: 2px solid var(--mint);
  border-radius: 3px;
  background: rgb(7 13 11 / 98%);
}

.market-tooltip-price em.neutral,
.market-tooltip-price em.mixed { color: var(--amber); }
.market-tooltip-price em.up { color: #55b7ff; }
.market-tooltip-price em.down { color: #ff8068; }

.hedge-map-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 22px;
  align-items: center;
  padding: 10px 20px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: var(--paper-dim);
  font-family: var(--font-mono);
  font-size: 8px;
}

.hedge-map-legend span { display: inline-flex; align-items: center; gap: 7px; }
.hedge-map-legend i { width: 9px; height: 9px; border-radius: 50%; }
.hedge-map-legend i.buy { background: #55b7ff; }
.hedge-map-legend i.sell { background: #ff8068; }
.hedge-map-legend i.neutral { background: var(--amber); }
.hedge-map-legend em { margin-left: auto; color: var(--muted); font-style: normal; }
.hedge-map-note { margin: 0; padding: 9px 20px 12px; color: var(--muted); font-family: var(--font-mono); font-size: 8px; }

.dealer-layer-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 12px 0;
  border: 1px solid var(--line);
  background: var(--line);
}

.dealer-layer-nav > * {
  display: grid;
  min-height: 61px;
  grid-template-columns: 28px 1fr;
  align-content: center;
  gap: 1px 9px;
  padding: 9px 14px;
  border: 0;
  color: var(--paper);
  background: var(--ink-soft);
  text-align: left;
}

.dealer-layer-nav button:hover { background: var(--panel-raised); }
.dealer-layer-nav > * > span { grid-row: span 2; color: var(--amber); font-family: var(--font-mono); font-size: 9px; }
.dealer-layer-nav strong { font-family: var(--font-mono); font-size: 10px; }
.dealer-layer-nav small { color: var(--muted); font-size: 8px; }

.deferred-layer-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 12px;
  padding: 17px 20px;
  border: 1px dashed var(--line-bright);
  border-radius: var(--radius);
  background: linear-gradient(110deg, rgb(85 183 255 / 4%), transparent 44%), var(--ink-soft);
}

.deferred-layer-card.compact { margin-top: 0; }
.deferred-layer-card span { color: var(--amber); font-family: var(--font-mono); font-size: 8px; letter-spacing: .08em; }
.deferred-layer-card h4 { margin: 3px 0; font-family: var(--font-display); font-size: 21px; font-weight: 500; }
.deferred-layer-card p { max-width: 720px; margin: 0; color: var(--muted); font-size: 9px; }
.deferred-layer-card button { flex: 0 0 auto; }

@keyframes mapPulse {
  0% { opacity: .75; transform: scale(.8); transform-origin: center; }
  100% { opacity: 0; transform: scale(1.5); transform-origin: center; }
}

.gex-intraday-panel {
  position: relative;
  margin-bottom: 15px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgb(255 112 104 / 4%), transparent 38%),
    var(--panel);
  box-shadow: var(--shadow);
}

.gex-intraday-panel::before {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  left: 0;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, transparent, var(--red), transparent);
  opacity: 0.8;
}

.gex-chart-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 26px;
  padding: 22px 23px 18px;
  border-bottom: 1px solid var(--line);
}

.gex-chart-header h4 {
  margin: 5px 0 4px;
  font-family: var(--font-display);
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 500;
}

.gex-chart-header > div:first-child > p:last-child {
  max-width: 730px;
  margin: 0;
  color: var(--paper-dim);
  font-size: 10px;
}

.gex-chart-toolbar {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
}

.gex-axis-switch {
  display: inline-flex;
  min-height: 37px;
  overflow: hidden;
  border: 1px solid var(--line-bright);
  border-radius: 2px;
  background: var(--ink-soft);
}

.gex-axis-switch button {
  min-width: 68px;
  padding: 0 10px;
  border: 0;
  border-right: 1px solid var(--line);
  color: var(--muted);
  background: transparent;
  font-family: var(--font-mono);
  font-size: 8px;
  cursor: pointer;
}

.gex-axis-switch button:last-child { border-right: 0; }
.gex-axis-switch button:hover { color: var(--paper); background: rgb(112 240 170 / 4%); }
.gex-axis-switch button.is-active { color: var(--mint); background: rgb(112 240 170 / 10%); box-shadow: inset 0 -2px 0 var(--mint); }

.live-feed-badge {
  display: inline-flex;
  min-height: 37px;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
  border: 1px solid rgb(112 240 170 / 30%);
  border-radius: 2px;
  color: var(--mint);
  background: rgb(112 240 170 / 6%);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.08em;
}

.live-feed-badge i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mint);
  box-shadow: 0 0 10px rgb(112 240 170 / 60%);
  animation: pulse 1.8s infinite;
}

.terminal-toggle {
  display: flex;
  min-height: 37px;
  align-items: center;
  gap: 8px;
  padding: 0 11px;
  border: 1px solid rgb(255 112 104 / 30%);
  border-radius: 2px;
  color: var(--paper-dim);
  background: rgb(255 112 104 / 5%);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.05em;
  cursor: pointer;
}

.terminal-toggle input {
  position: relative;
  width: 24px;
  height: 12px;
  margin: 0;
  appearance: none;
  border: 1px solid var(--line-bright);
  border-radius: 10px;
  background: var(--ink);
  transition: border-color 160ms ease, background 160ms ease;
}

.terminal-toggle input::after {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 6px;
  height: 6px;
  content: "";
  border-radius: 50%;
  background: var(--muted);
  transition: transform 160ms ease, background 160ms ease;
}

.terminal-toggle input:checked {
  border-color: var(--red);
  background: rgb(255 112 104 / 16%);
}

.terminal-toggle input:checked::after {
  background: var(--red);
  transform: translateX(12px);
  box-shadow: 0 0 8px rgb(255 112 104 / 60%);
}

.step-badges {
  display: inline-flex;
  min-height: 37px;
  align-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 2px;
  background: var(--ink-soft);
}

.step-badges span {
  display: grid;
  min-width: 42px;
  align-self: stretch;
  place-items: center;
  border-right: 1px solid var(--line);
  color: var(--amber);
  font-family: var(--font-mono);
  font-size: 9px;
}

.step-badges span:last-child { border-right: 0; }

.gex-chart-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
  background: rgb(0 0 0 / 12%);
}

.gex-chart-stats > div {
  min-width: 0;
  padding: 13px 18px;
  border-right: 1px solid var(--line);
}

.gex-chart-stats > div:last-child { border-right: 0; }

.gex-chart-stats span,
.structure-summary span {
  display: block;
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.08em;
}

.gex-chart-stats strong,
.structure-summary strong {
  display: inline-block;
  margin-top: 5px;
  font-family: var(--font-mono);
  font-size: 15px;
}

.gex-chart-stats small {
  margin-left: 8px;
  color: var(--paper-dim);
  font-size: 8px;
}

.wall-level-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  padding: 1px 0;
  border-bottom: 1px solid var(--line);
  background: var(--line);
}

.wall-level {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  align-items: center;
  gap: 2px 18px;
  padding: 10px 18px 10px 12px;
  background: #0b100e;
}

.wall-level > b {
  display: grid;
  width: 30px;
  height: 30px;
  grid-row: span 2;
  place-items: center;
  border-radius: 3px;
  font-family: var(--font-mono);
  font-size: 17px;
}

.wall-level.call-wall > b { color: #55b7ff; background: rgb(85 183 255 / 13%); }
.wall-level.put-wall > b { color: #70f0aa; background: rgb(112 240 170 / 13%); }

.wall-level span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--paper-dim);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.06em;
}

.wall-level span i { width: 22px; border-top: 2px solid; }
.wall-level.call-wall span i { border-color: #55b7ff; }
.wall-level.put-wall span i { border-color: #70f0aa; }
.wall-level strong { grid-row: span 2; font-family: var(--font-mono); font-size: 18px; }
.wall-level.call-wall strong { color: #55b7ff; }
.wall-level.put-wall strong { color: #70f0aa; }
.wall-level small { color: var(--muted); font-size: 8px; }

.wall-response-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  padding: 1px 0;
  border-bottom: 1px solid var(--line);
  background: var(--line);
}

.wall-response-card {
  position: relative;
  min-width: 0;
  padding: 15px 17px 13px;
  overflow: hidden;
  background: #0a100e;
}

.wall-response-card::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  content: "";
}

.wall-response-card.call-wall::before { background: #55b7ff; }
.wall-response-card.put-wall::before { background: #70f0aa; }
.wall-response-card.is-compress { background: linear-gradient(120deg, rgb(63 180 128 / 8%), transparent 54%), #0a100e; }
.wall-response-card.is-amplify { background: linear-gradient(120deg, rgb(255 93 84 / 10%), transparent 54%), #0a100e; }
.wall-response-card.is-wait { background: linear-gradient(120deg, rgb(239 184 93 / 7%), transparent 54%), #0a100e; }

.wall-response-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 11px;
  border-bottom: 1px solid var(--line);
}

.wall-response-card > header > div {
  display: grid;
  grid-template-columns: 24px auto auto;
  align-items: center;
  gap: 8px;
}

.wall-response-card > header > div > b {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 2px;
  font-family: var(--font-mono);
}

.wall-response-card.call-wall > header > div > b { color: #8fd3ff; background: rgb(85 183 255 / 14%); }
.wall-response-card.put-wall > header > div > b { color: #9af5c1; background: rgb(112 240 170 / 14%); }

.wall-response-card > header span,
.wall-response-card > header em {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 8px;
  font-style: normal;
  letter-spacing: .08em;
}

.wall-response-card > header strong {
  font-family: var(--font-mono);
  font-size: 17px;
}

.wall-response-card.call-wall > header strong { color: #65c2ff; }
.wall-response-card.put-wall > header strong { color: #70f0aa; }

.wall-response-card > header em {
  padding: 4px 6px;
  border: 1px solid var(--line-bright);
  color: var(--paper-dim);
  white-space: nowrap;
}

.wall-response-verdict {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 3px 12px;
  padding: 13px 0 12px;
}

.wall-response-verdict > span {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: .06em;
}

.wall-response-verdict > strong {
  grid-column: 1 / -1;
  font-family: var(--font-display);
  font-size: clamp(22px, 2.4vw, 31px);
  font-weight: 500;
  line-height: 1;
}

.wall-response-verdict > strong b {
  margin-left: 7px;
  font-family: var(--font-mono);
  font-size: 12px;
}

.wall-response-card.is-compress .wall-response-verdict > strong { color: #70f0aa; }
.wall-response-card.is-amplify .wall-response-verdict > strong { color: #ff7068; }
.wall-response-card.is-wait .wall-response-verdict > strong { color: var(--amber); }

.wall-response-verdict > small {
  grid-column: 1 / -1;
  color: var(--paper-dim);
  font-size: 8px;
}

.wall-response-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
}

.wall-response-metrics > div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 8px;
  padding: 10px;
  border: 1px solid var(--line);
  background: rgb(0 0 0 / 13%);
}

.wall-response-metrics span,
.wall-response-metrics small,
.wall-response-card > footer {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 8px;
}

.wall-response-metrics b { font-family: var(--font-mono); font-size: 13px; }
.wall-response-metrics i {
  position: relative;
  height: 4px;
  grid-column: 1 / -1;
  overflow: hidden;
  background: #17201c;
}

.wall-response-metrics i em {
  position: absolute;
  inset: 0 auto 0 0;
  background: linear-gradient(90deg, #55b7ff, #efb85d);
}

.wall-response-metrics small { grid-column: 1 / -1; color: var(--paper-dim); }

.wall-response-reconcile {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 9px;
  margin-top: 10px;
  padding: 7px 9px;
  border-left: 2px solid var(--amber);
  color: var(--paper-dim);
  background: rgb(239 184 93 / 5%);
  font-size: 8px;
}

.wall-response-reconcile b {
  color: var(--amber);
  font-family: var(--font-mono);
  font-size: 8px;
  white-space: nowrap;
}

.wall-response-card > footer {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding-top: 10px;
}

.wall-response-card > footer span { color: var(--paper); }
.wall-response-card > footer small { color: var(--muted); }

.wall-response-primer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
  padding: 9px 17px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  background: #090e0d;
  font-family: var(--font-mono);
  font-size: 8px;
}

.wall-response-primer > b { color: var(--paper); letter-spacing: .08em; }
.wall-response-primer span strong { color: var(--paper-dim); }
.wall-response-primer em { margin-left: auto; color: var(--amber); font-style: normal; }

.shared-wall-notice {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  padding: 9px 17px;
  border-bottom: 1px solid var(--line);
  color: var(--paper-dim);
  background: linear-gradient(90deg, rgb(85 183 255 / 7%), rgb(112 240 170 / 6%));
  font-size: 8px;
}

.shared-wall-notice b {
  color: var(--amber);
  font-family: var(--font-mono);
  letter-spacing: .05em;
  white-space: nowrap;
}

.gex-chart-frame {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 10px 13px 0;
  background:
    radial-gradient(circle at 72% 45%, rgb(255 82 74 / 6%), transparent 36%),
    #090e0d;
  scrollbar-color: var(--line-bright) var(--ink);
  scrollbar-width: thin;
}

.dealer-gex-chart {
  display: block;
  width: 100%;
  min-width: 820px;
  height: auto;
  user-select: none;
  touch-action: pan-x pan-y;
}

.chart-plot-bg {
  fill: #0b1110;
  stroke: #2b3934;
  stroke-width: 1;
}

.price-plot-bg {
  fill: #08110f;
}

.profile-plot-bg {
  fill: #110d0c;
  stroke: #53312d;
}

.panel-scale-label {
  fill: #6f857b;
  font-family: var(--font-mono);
  font-size: 7.5px;
  letter-spacing: .08em;
  paint-order: stroke;
  stroke: #08110f;
  stroke-width: 3px;
}

.panel-scale-label.profile {
  fill: #ff8b82;
  stroke: #110d0c;
}

.panel-scale-label.pressure {
  fill: #d9b86f;
  stroke: #08110f;
}

.chart-grid-line {
  stroke: #2b3733;
  stroke-width: 0.75;
  stroke-dasharray: 2 3;
  opacity: 0.76;
}

.chart-grid-line.vertical {
  opacity: 0.54;
}

.chart-grid-line.profile {
  stroke: #54312d;
  opacity: .56;
}

.dealer-gex-chart.is-wall-synced .chart-grid-line.profile {
  stroke: #2b3733;
  opacity: .76;
}

.profile-axis-label {
  fill: #b77972;
  font-size: 7.5px;
}

.dealer-gex-chart.is-wall-synced .profile-axis-label { fill: #82948b; }

.chart-axis-label,
.axis-title,
.profile-title,
.current-time-label,
.current-price-label,
.chart-key-label,
.step-level-label text {
  fill: #82948b;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.04em;
}

.axis-title {
  fill: #5f7168;
  font-size: 8px;
  letter-spacing: 0.14em;
}

.gex-heat-layer {
  transition: opacity 220ms ease;
}

.is-heat-hidden .gex-heat-layer {
  opacity: 0;
}

.chart-panel-divider {
  stroke: #6a746f;
  stroke-width: .8;
  stroke-dasharray: 3 5;
  opacity: .55;
}

.gex-profile-baseline {
  stroke: #ff8279;
  stroke-width: 1;
  opacity: .5;
}

.gex-profile-fill {
  fill: url(#gex-profile-fill);
  opacity: .82;
}

.gex-profile-path {
  fill: none;
  stroke: #ff7268;
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: url(#gex-profile-glow);
}

.gex-profile-peak-guide {
  stroke: #ffb0aa;
  stroke-width: .75;
  stroke-dasharray: 2 3;
  opacity: .72;
}

.gex-profile-peak {
  fill: #ff7268;
  stroke: #ffd0cc;
  stroke-width: 1.4;
}

.gex-profile-peak-label {
  fill: #ffc2bc;
  font-family: var(--font-mono);
  font-size: 7px;
  letter-spacing: .05em;
  paint-order: stroke;
  stroke: #110d0c;
  stroke-width: 3px;
}

.profile-title {
  fill: #ff8c84;
  font-size: 8px;
}

.intraday-area {
  fill: url(#intraday-area-fill);
}

.intraday-path-glow {
  fill: none;
  stroke: rgb(112 240 210 / 20%);
  stroke-width: 7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.intraday-path {
  fill: none;
  stroke: #70f0d2;
  stroke-width: 2.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: url(#price-glow);
}

.hedge-pressure-layer {
  pointer-events: none;
}

.delta-pressure-path,
.gamma-pressure-path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: url(#hedge-pressure-glow);
}

.delta-pressure-path {
  stroke: #55b7ff;
  stroke-width: 2.1;
  stroke-dasharray: 8 4;
}

.gamma-pressure-path {
  stroke: #efb85d;
  stroke-width: 2.25;
  stroke-dasharray: 2 3;
}

.delta-pressure-current {
  fill: #55b7ff;
  stroke: #d4efff;
  stroke-width: 1.2;
}

.gamma-pressure-current {
  fill: #efb85d;
  stroke: #fff0c9;
  stroke-width: 1.2;
}

.step-level-line {
  stroke: #a88a50;
  stroke-width: 0.8;
  stroke-dasharray: 4 5;
  opacity: 0.42;
}

.step-level-line.step-0-5 { opacity: 0.3; stroke-dasharray: 2 5; }
.step-level-line.step-1 { opacity: 0.48; }
.step-level-line.step-2 { opacity: 0.68; stroke-width: 1; }

.step-level-line.profile {
  stroke: #c99f57;
}

.step-level-label.profile rect {
  fill: rgb(17 13 12 / 88%);
}

.step-level-label.profile text {
  font-size: 7px;
}

.step-level-label rect {
  fill: #111814;
  fill-opacity: 0.9;
  stroke: #685a3c;
  stroke-width: 0.6;
}

.step-level-label text {
  fill: #d2ad69;
  font-size: 7.5px;
}

.chart-key-line {
  stroke-width: 1;
  stroke-dasharray: 7 5;
  opacity: 0.72;
}

.chart-key-line.prior-close { stroke: #64736c; }
.chart-key-line.gamma-flip { stroke: #efb85d; stroke-width: 1.3; }
.chart-key-line.call-wall { stroke: #55b7ff; stroke-width: 1.4; stroke-dasharray: 8 4; }
.chart-key-line.put-wall { stroke: #70f0aa; stroke-width: 1.4; stroke-dasharray: 2 4; }

.chart-key-label {
  paint-order: stroke;
  stroke: #0b1110;
  stroke-width: 3px;
}

.chart-key-label.gamma-flip { fill: #efb85d; }
.chart-key-label.call-wall { fill: #76c8ff; }
.chart-key-label.put-wall { fill: #91f6bd; }

.chart-key-label.profile {
  font-size: 7px;
  stroke: #110d0c;
}

.wall-impact-layer { pointer-events: none; }

.wall-impact-band {
  opacity: .13;
  stroke-width: .7;
}

.wall-impact-band.compress {
  fill: #58d892;
  stroke: #70f0aa;
}

.wall-impact-band.amplify {
  fill: #ff5f56;
  stroke: #ff867f;
  opacity: .18;
}

.wall-impact-band.call-wall { stroke-dasharray: 8 4; }
.wall-impact-band.put-wall { stroke-dasharray: 2 4; }

.chart-key-line.profile {
  opacity: .82;
}

.wall-sync-bridge { pointer-events: none; }
.wall-sync-bridge line { stroke-width: 1.6; }
.wall-sync-bridge rect { stroke-width: .8; }
.wall-sync-bridge text { font-family: var(--font-mono); font-size: 7px; font-weight: 800; }
.wall-sync-bridge.call-wall line { stroke: #55b7ff; stroke-dasharray: 8 4; }
.wall-sync-bridge.call-wall rect { fill: rgb(16 48 69 / 96%); stroke: #55b7ff; }
.wall-sync-bridge.call-wall text { fill: #9bd8ff; }
.wall-sync-bridge.put-wall line { stroke: #70f0aa; stroke-dasharray: 2 4; }
.wall-sync-bridge.put-wall rect { fill: rgb(12 47 32 / 96%); stroke: #70f0aa; }
.wall-sync-bridge.put-wall text { fill: #a8f8ca; }
.wall-sync-bridge.shared-wall line { stroke: var(--amber); stroke-dasharray: 5 3; }
.wall-sync-bridge.shared-wall rect { fill: rgb(42 32 16 / 96%); stroke: var(--amber); }
.wall-sync-bridge.shared-wall text { fill: #f4c979; font-size: 6.5px; }

.chart-wall-label-bg { stroke-width: .75; }
.chart-wall-label-bg.call-wall { fill: rgb(16 48 69 / 94%); stroke: #55b7ff; }
.chart-wall-label-bg.put-wall { fill: rgb(12 47 32 / 94%); stroke: #70f0aa; }

.current-time-line {
  stroke: #d8e4dd;
  stroke-width: 1;
  stroke-dasharray: 3 4;
  opacity: 0.68;
}

.current-time-label {
  fill: #d7e2dc;
}

.current-price-halo {
  fill: #70f0d2;
  opacity: 0.18;
}

.current-price-dot {
  fill: #70f0d2;
  filter: url(#price-glow);
}

.current-price-label {
  fill: #dffbf2;
  font-size: 10px;
  font-weight: 700;
  paint-order: stroke;
  stroke: #09100e;
  stroke-width: 4px;
}

.gex-chart-cursor {
  opacity: 0;
  pointer-events: none;
  transition: opacity 90ms ease;
}

.gex-chart-cursor.is-visible { opacity: 1; }

.gex-chart-cursor line {
  stroke: #e9f7f0;
  stroke-width: 0.75;
  stroke-dasharray: 2 3;
  opacity: 0.7;
}

.gex-chart-cursor circle.price {
  fill: #0b1110;
  stroke: #70f0d2;
  stroke-width: 2;
}

.gex-chart-cursor circle.delta {
  fill: #07131a;
  stroke: #55b7ff;
  stroke-width: 2;
}

.gex-chart-cursor circle.gamma {
  fill: #171208;
  stroke: #efb85d;
  stroke-width: 2;
}

.gex-profile-cursor {
  opacity: 0;
  pointer-events: none;
  transition: opacity 90ms ease;
}

.gex-profile-cursor.is-visible { opacity: 1; }

.gex-profile-cursor line {
  stroke: #ffc0ba;
  stroke-width: .8;
  stroke-dasharray: 2 3;
  opacity: .82;
}

.gex-profile-cursor circle {
  fill: #110d0c;
  stroke: #ff766d;
  stroke-width: 2;
}

.gex-chart-tooltip {
  position: absolute;
  z-index: 4;
  display: grid;
  min-width: 132px;
  gap: 2px;
  padding: 9px 10px;
  border: 1px solid #42564d;
  border-radius: 2px;
  color: var(--paper);
  background: rgb(7 12 10 / 94%);
  box-shadow: 0 14px 34px rgb(0 0 0 / 38%);
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity 90ms ease, transform 90ms ease;
}

.gex-chart-tooltip.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.gex-chart-tooltip span,
.gex-chart-tooltip small {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 8px;
}

.gex-chart-tooltip strong {
  color: #70f0d2;
  font-family: var(--font-mono);
  font-size: 15px;
}

.gex-chart-tooltip small.delta { color: #80ceff; }
.gex-chart-tooltip small.gamma { color: #f2c56f; }
.gex-chart-tooltip small.wall {
  margin: 3px 0;
  padding: 4px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: #9ef0c1;
}

.gex-chart-tooltip.is-profile {
  border-color: #8c4f49;
}

.gex-chart-tooltip.is-profile strong {
  color: #ff8279;
}

.gex-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 19px;
  padding: 11px 20px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: var(--paper-dim);
  font-family: var(--font-mono);
  font-size: 8px;
}

.gex-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.legend-line {
  display: inline-block;
  width: 17px;
  height: 0;
  border-top: 2px solid var(--paper-dim);
}

.legend-line.price { border-color: #70f0d2; }
.legend-line.delta-pressure { border-color: #55b7ff; border-top-style: dashed; }
.legend-line.gamma-pressure { border-color: #efb85d; border-top-style: dotted; }
.legend-line.flip { border-color: var(--amber); border-top-style: dashed; }
.legend-line.prior { border-color: #64736c; border-top-style: dashed; }
.legend-line.call { border-color: #55b7ff; border-top-style: dashed; }
.legend-line.put { border-color: #70f0aa; border-top-style: dotted; }
.legend-line.step { border-color: #a88a50; border-top-style: dashed; }

.wall-legend b { font-family: var(--font-mono); font-size: 10px; }
.wall-legend.call b { color: #55b7ff; }
.wall-legend.put b { color: #70f0aa; }

.legend-box {
  display: inline-block;
  width: 13px;
  height: 8px;
  border: 1px solid rgb(255 112 104 / 60%);
}

.legend-box.heat {
  background: linear-gradient(90deg, rgb(255 112 104 / 10%), rgb(255 112 104 / 76%));
}

.legend-box.compress {
  border-color: #70f0aa;
  background: rgb(112 240 170 / 28%);
}

.legend-box.amplify {
  border-color: #ff7068;
  background: rgb(255 112 104 / 34%);
}

.legend-box.profile {
  border-color: #ff766d;
  background: linear-gradient(90deg, rgb(255 112 104 / 5%), rgb(255 112 104 / 72%));
  clip-path: polygon(0 80%, 18% 58%, 37% 72%, 58% 28%, 78% 45%, 100% 8%, 100% 100%, 0 100%);
}

.gex-chart-note {
  margin: 0;
  padding: 9px 20px 12px;
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 8px;
}

.dealer-flow-panel {
  position: relative;
  margin: -1px 0 15px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}

.dealer-flow-panel::before {
  position: absolute;
  z-index: 1;
  inset: 0 0 auto;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, #55b7ff, transparent 45%, #ff6d7a);
}

.dealer-flow-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
  padding: 20px 22px 16px;
  border-bottom: 1px solid var(--line);
}

.dealer-flow-header h4 { margin: 3px 0 2px; font-family: var(--font-display); font-size: 24px; font-weight: 500; }
.dealer-flow-header p:last-child { max-width: 690px; margin: 0; color: var(--muted); font-size: 9px; }

.dealer-flow-header-tools {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-end;
  gap: 9px;
  flex-direction: column;
}

.dealer-flow-window-switch {
  display: inline-flex;
  min-height: 34px;
  overflow: hidden;
  border: 1px solid var(--line-bright);
  border-radius: 2px;
  background: var(--ink-soft);
}

.dealer-flow-window-switch button {
  min-width: 43px;
  padding: 0 9px;
  border: 0;
  border-right: 1px solid var(--line);
  color: var(--muted);
  background: transparent;
  font-family: var(--font-mono);
  font-size: 8px;
  cursor: pointer;
}

.dealer-flow-window-switch button:last-child { min-width: 52px; border-right: 0; }
.dealer-flow-window-switch button:hover { color: var(--paper); background: rgb(112 240 170 / 5%); }
.dealer-flow-window-switch button.is-active { color: var(--mint); background: rgb(112 240 170 / 11%); box-shadow: inset 0 -2px 0 var(--mint); }

.dealer-flow-live-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
  background: #0a100e;
}

.dealer-flow-live-strip > div {
  min-width: 0;
  padding: 13px 18px;
  border-right: 1px solid var(--line);
}

.dealer-flow-live-strip > div:last-child { border-right: 0; }
.dealer-flow-live-strip span,
.dealer-flow-live-strip small { display: block; color: var(--muted); font-family: var(--font-mono); font-size: 8px; }
.dealer-flow-live-strip strong { display: block; margin: 5px 0 3px; color: var(--paper); font-family: var(--font-mono); font-size: 13px; }
.dealer-flow-live-strip.buy > div:first-child { box-shadow: inset 3px 0 0 var(--mint); background: linear-gradient(90deg, rgb(112 240 170 / 8%), transparent); }
.dealer-flow-live-strip.sell > div:first-child { box-shadow: inset 3px 0 0 var(--red); background: linear-gradient(90deg, rgb(255 109 122 / 9%), transparent); }
.dealer-flow-live-strip.buy > div:first-child strong,
.dealer-flow-live-strip strong.up { color: var(--mint); }
.dealer-flow-live-strip.sell > div:first-child strong,
.dealer-flow-live-strip strong.down { color: var(--red); }
.dealer-flow-live-strip strong.flat { color: var(--amber); }
.dealer-flow-live-strip .lead strong { color: var(--amber); font-size: 17px; }

.dealer-flow-alert {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px 190px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(90deg, rgb(112 240 170 / 5%), transparent 62%);
}

.dealer-flow-alert > div { min-width: 0; padding: 13px 18px; border-right: 1px solid var(--line); }
.dealer-flow-alert > div:last-child { border-right: 0; }
.dealer-flow-alert span,
.dealer-flow-alert em { display: block; color: var(--muted); font-family: var(--font-mono); font-size: 8px; font-style: normal; letter-spacing: .05em; }
.dealer-flow-alert strong { display: block; margin: 4px 0 2px; color: var(--paper); font-family: var(--font-mono); font-size: 13px; }
.dealer-flow-alert-copy p { max-width: 790px; margin: 3px 0 0; color: var(--paper-dim); font-size: 9px; }
.dealer-flow-alert-score strong { color: var(--amber); font-size: 22px; }
.dealer-flow-alert-score strong small { color: var(--muted); font-size: 8px; }
.dealer-flow-calibration strong { color: var(--amber); font-size: 18px; }
.dealer-flow-alert.watch { background: linear-gradient(90deg, rgb(239 184 93 / 12%), transparent 64%); box-shadow: inset 3px 0 0 var(--amber); }
.dealer-flow-alert.danger { background: linear-gradient(90deg, rgb(255 109 122 / 14%), transparent 66%); box-shadow: inset 3px 0 0 var(--red); }
.dealer-flow-alert.danger .dealer-flow-alert-copy strong,
.dealer-flow-alert.danger .dealer-flow-alert-score strong { color: var(--red); }
.dealer-flow-alert.wait { background: linear-gradient(90deg, rgb(239 184 93 / 7%), transparent 65%); box-shadow: inset 3px 0 0 var(--amber); }

.dealer-flow-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
  background: #0b100e;
}

.dealer-flow-kpis > div { min-width: 0; padding: 12px 18px; border-right: 1px solid var(--line); }
.dealer-flow-kpis > div:last-child { border-right: 0; }
.dealer-flow-kpis span,
.dealer-flow-kpis small { display: block; color: var(--muted); font-family: var(--font-mono); font-size: 8px; }
.dealer-flow-kpis strong { display: block; overflow: hidden; margin: 5px 0 2px; font-family: var(--font-mono); font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.dealer-flow-kpis strong.call { color: #55b7ff; }
.dealer-flow-kpis strong.put,
.dealer-flow-kpis strong.negative { color: #ff6d7a; }
.dealer-flow-kpis strong.positive { color: var(--mint); }
.dealer-flow-kpis strong.bias { color: var(--amber); font-size: 13px; }
.dealer-flow-kpis strong.direction { font-size: 13px; }
.dealer-flow-kpis strong.direction.buy { color: var(--mint); }
.dealer-flow-kpis strong.direction.sell { color: #ff8068; }
.dealer-flow-kpis strong.direction.neutral { color: var(--amber); }
.dealer-flow-kpis strong.channel { display: flex; gap: 11px; align-items: baseline; }
.dealer-flow-kpis strong.channel b { color: #55b7ff; font-weight: 650; }
.dealer-flow-kpis strong.channel i { color: #ff6d7a; font-style: normal; }
.dealer-flow-kpis strong.trend.risk { color: var(--red); }
.dealer-flow-kpis strong.trend.relief { color: var(--mint); }
.dealer-flow-kpis strong.trend.neutral { color: var(--amber); }
.dealer-flow-kpis strong.warning { max-width: 100%; font-size: 11px; white-space: normal; }
.dealer-flow-kpis strong.warning.watch,
.dealer-flow-kpis strong.warning.wait { color: var(--amber); }
.dealer-flow-kpis strong.warning.danger { color: var(--red); }
.dealer-flow-kpis strong.warning.stable { color: var(--mint); }

.dealer-flow-channel-meter {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 9px 18px;
  border-bottom: 1px solid var(--line);
  background: #080e0c;
}

.dealer-flow-channel-meter span { position: relative; height: 20px; overflow: hidden; border: 1px solid var(--line); background: #0c1210; }
.dealer-flow-channel-meter span i { position: absolute; z-index: 0; inset: 0 auto 0 0; display: block; opacity: .2; }
.dealer-flow-channel-meter span.call i { background: #55b7ff; }
.dealer-flow-channel-meter span.put i { background: #ff6d7a; }
.dealer-flow-channel-meter b { position: relative; z-index: 1; display: block; padding: 4px 7px; color: var(--paper-dim); font-family: var(--font-mono); font-size: 7px; font-weight: 600; }
.dealer-flow-channel-meter span.call b { color: #82cbff; }
.dealer-flow-channel-meter span.put b { color: #ff8d96; }
.dealer-flow-channel-meter em { color: var(--muted); font-family: var(--font-mono); font-size: 7px; font-style: normal; white-space: nowrap; }

.dealer-flow-chart-frame {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 8px 13px 0;
  background:
    linear-gradient(180deg, rgb(85 183 255 / 3%), transparent 47%, rgb(255 109 122 / 3%)),
    #090e0d;
  scrollbar-color: var(--line-bright) var(--ink);
  scrollbar-width: thin;
}

.dealer-flow-chart { display: block; width: 100%; min-width: 820px; height: auto; user-select: none; touch-action: pan-x pan-y; }
.flow-plot-bg { fill: #0b1110; stroke: #2b3934; stroke-width: 1; }
.flow-plot-bg.price { fill: #09110f; }
.flow-plot-bg.pressure { fill: #090f0d; }
.flow-grid-line { stroke: #2b3733; stroke-width: .75; stroke-dasharray: 2 3; opacity: .7; }
.flow-grid-line.vertical { opacity: .48; }
.flow-grid-line.price-grid { stroke-dasharray: 2 5; opacity: .52; }
.flow-grid-line.zero { stroke: #71827a; stroke-width: 1; stroke-dasharray: 7 5; opacity: .8; }
.flow-buy-zone { fill: rgb(112 240 170 / 3.5%); }
.flow-sell-zone { fill: rgb(255 109 122 / 3.5%); }
.flow-axis-label,
.flow-axis-title,
.flow-zero-label { fill: #73857c; font-family: var(--font-mono); font-size: 8px; letter-spacing: .05em; }
.flow-axis-title { fill: #586a61; letter-spacing: .12em; }
.flow-zero-label { fill: #8d9d95; }
.flow-price-axis-label,
.flow-price-axis-title,
.flow-window-label { fill: #8aa89b; font-family: var(--font-mono); font-size: 7px; letter-spacing: .05em; }
.flow-window-label { fill: var(--amber); }
.flow-window-shade { fill: rgb(239 184 93 / 3.5%); pointer-events: none; }
.flow-window-boundary { stroke: var(--amber); stroke-width: .8; stroke-dasharray: 4 4; opacity: .75; pointer-events: none; }
.flow-no-history-zone { fill: rgb(122 139 131 / 4%); stroke: none; pointer-events: none; }
.flow-zone-label,
.flow-current-label,
.flow-lane-title,
.flow-current-price-label { font-family: var(--font-mono); font-size: 8px; letter-spacing: .04em; }
.flow-lane-title { fill: #74887e; letter-spacing: .1em; }
.flow-lane-title.price { fill: #91cbb7; }
.flow-lane-title.pressure { fill: #8e9d96; }
.flow-zone-label.buy,
.flow-current-label.buy { fill: var(--mint); }
.flow-zone-label.sell,
.flow-current-label.sell { fill: var(--red); }
.flow-current-label.balanced { fill: var(--amber); }
.flow-net-bar { opacity: .72; }
.flow-net-bar.positive { fill: #70f0aa; }
.flow-net-bar.negative { fill: #ff6d7a; }
.flow-net-bar.is-current { opacity: 1; }
.flow-net-bar.positive.is-current { filter: drop-shadow(0 0 4px rgb(112 240 170 / 65%)); }
.flow-net-bar.negative.is-current { filter: drop-shadow(0 0 4px rgb(255 109 122 / 65%)); }
.flow-net-bar.positive.fading { fill: var(--amber); opacity: .82; }
.flow-net-bar.negative.building-sell { fill: #ff6d7a; opacity: .9; }
.flow-price-area { fill: url(#flow-price-area); pointer-events: none; }
.flow-price-path { fill: none; stroke: #70f0c3; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; opacity: .98; filter: drop-shadow(0 0 5px rgb(112 240 195 / 32%)); }
.flow-current-price-dot { fill: #70f0c3; stroke: #d9fff0; stroke-width: 1.4; filter: drop-shadow(0 0 6px rgb(112 240 195 / 58%)); }
.flow-current-price-label { fill: #d9f3e7; font-size: 9px; font-weight: 700; paint-order: stroke; stroke: #07100d; stroke-width: 3px; }
.flow-call-path,
.flow-put-path { fill: none; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; opacity: .78; }
.flow-call-path { stroke: #55b7ff; }
.flow-put-path { stroke: #ff7a84; }

.flow-pressure-turn { pointer-events: none; }
.flow-pressure-turn line { stroke-width: .8; stroke-dasharray: 2 3; opacity: .6; }
.flow-pressure-turn circle { stroke-width: 1.5; }
.flow-pressure-turn.buy line,
.flow-pressure-turn.buy circle { stroke: var(--mint); }
.flow-pressure-turn.buy circle { fill: #0b1110; }
.flow-pressure-turn.sell line,
.flow-pressure-turn.sell circle { stroke: var(--red); }
.flow-pressure-turn.sell circle { fill: #0b1110; }

.flow-alert-marker { pointer-events: none; }
.flow-alert-marker line { stroke-width: .8; stroke-dasharray: 2 4; opacity: .58; }
.flow-alert-marker path { stroke-width: 1; }
.flow-alert-marker.watch line,
.flow-alert-marker.watch path { stroke: var(--amber); }
.flow-alert-marker.watch path { fill: rgb(239 184 93 / 78%); }
.flow-alert-marker.danger line,
.flow-alert-marker.danger path { stroke: var(--red); }
.flow-alert-marker.danger path { fill: rgb(255 109 122 / 88%); }

.dealer-flow-cursor { opacity: 0; pointer-events: none; transition: opacity 90ms ease; }
.dealer-flow-cursor.is-visible { opacity: 1; }
.dealer-flow-cursor line { stroke: #e9f7f0; stroke-width: .75; stroke-dasharray: 2 3; opacity: .68; }
.dealer-flow-cursor circle { fill: #0b1110; stroke-width: 2; }
.dealer-flow-cursor circle.price { stroke: #d9f3e7; }
.dealer-flow-cursor circle.net { stroke: var(--amber); }
.dealer-flow-cursor circle.call { stroke: #55b7ff; }
.dealer-flow-cursor circle.put { stroke: #ff6d7a; }

.dealer-flow-tooltip {
  position: absolute;
  z-index: 4;
  display: grid;
  min-width: 145px;
  gap: 1px;
  padding: 9px 10px;
  border: 1px solid #42564d;
  border-radius: 2px;
  background: rgb(7 12 10 / 95%);
  box-shadow: 0 14px 34px rgb(0 0 0 / 38%);
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity 90ms ease, transform 90ms ease;
}

.dealer-flow-tooltip.is-visible { opacity: 1; transform: translateY(0); }
.dealer-flow-tooltip span,
.dealer-flow-tooltip small { color: var(--muted); font-family: var(--font-mono); font-size: 8px; }
.dealer-flow-tooltip strong { font-family: var(--font-mono); font-size: 11px; }
.dealer-flow-tooltip strong.call { color: #55b7ff; }
.dealer-flow-tooltip strong.put { color: #ff6d7a; }
.dealer-flow-tooltip strong.price { color: #d9f3e7; }
.dealer-flow-tooltip strong.buy { color: var(--mint); }
.dealer-flow-tooltip strong.sell { color: var(--red); }
.dealer-flow-tooltip strong.warning { margin-top: 3px; font-size: 9px; }
.dealer-flow-tooltip strong.warning.watch,
.dealer-flow-tooltip strong.warning.wait { color: var(--amber); }
.dealer-flow-tooltip strong.warning.danger { color: var(--red); }
.dealer-flow-tooltip strong.warning.stable { color: var(--mint); }

.dealer-flow-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 20px;
  padding: 10px 20px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: var(--paper-dim);
  font-family: var(--font-mono);
  font-size: 8px;
}

.dealer-flow-legend span { display: inline-flex; align-items: center; gap: 7px; }
.dealer-flow-legend span i { display: inline-block; width: 18px; border-top: 2px solid; }
.dealer-flow-legend i.price { border-color: #d9f3e7; }
.dealer-flow-legend i.call { border-color: #55b7ff; }
.dealer-flow-legend i.put { border-color: #ff6d7a; }
.dealer-flow-legend i.net { width: 9px; height: 8px; border: 0; background: var(--mint); opacity: .72; }
.dealer-flow-legend i.net.sell { background: var(--red); }
.dealer-flow-legend i.fading { width: 9px; height: 8px; border: 0; background: var(--amber); opacity: .82; }
.dealer-flow-legend i.alert { width: 0; height: 0; border: 5px solid transparent; border-top: 0; border-bottom: 9px solid var(--red); }
.dealer-flow-legend em { margin-left: auto; color: var(--muted); font-style: normal; }
.dealer-flow-note { margin: 0; padding: 9px 20px 12px; color: var(--muted); font-family: var(--font-mono); font-size: 8px; }

.dealer-flow-panel.is-modeled .dealer-flow-chart,
.dealer-flow-panel.is-modeled .dealer-flow-kpis { opacity: .58; }

.structure-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 15px;
  border: 1px solid var(--line);
  background: var(--line);
}

.structure-summary > div {
  min-width: 0;
  padding: 13px;
  background: var(--ink-soft);
}

.structure-summary > div:first-child strong { color: var(--red); }
.structure-summary > div:nth-child(2) strong { color: var(--amber); }
.structure-summary > div:nth-child(3) strong { color: #55b7ff; }
.structure-summary > div:nth-child(4) strong { color: #ff6d7a; }

.structure-map {
  margin-top: 15px;
  padding: 20px;
  border: 1px solid var(--line);
  background: var(--ink-soft);
}

.price-rail {
  position: relative;
  height: 92px;
  margin: 23px 8px 6px;
}

.price-rail::before {
  position: absolute;
  top: 45px;
  right: 0;
  left: 0;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, var(--red), var(--amber), var(--mint));
  opacity: 0.65;
}

.rail-marker {
  position: absolute;
  top: 35px;
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translateX(-50%);
}

.rail-marker::before {
  width: 2px;
  height: 21px;
  content: "";
  background: currentColor;
}

.rail-marker span {
  margin-top: 5px;
  color: currentColor;
  font-family: var(--font-mono);
  font-size: 8px;
  white-space: nowrap;
}

.rail-marker strong {
  color: var(--paper);
  font-size: 9px;
}

.rail-marker.spot {
  top: 3px;
  color: var(--paper);
}

.rail-marker.spot::before {
  height: 50px;
  background: var(--paper);
}

.rail-marker.put { color: var(--red); }
.rail-marker.flip { color: var(--amber); }
.rail-marker.call { color: var(--mint); }

.monitor-grid,
.greeks-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 15px;
}

.monitor-card {
  position: relative;
  min-height: 145px;
  padding: 17px;
  overflow: hidden;
}

.monitor-card::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 2px;
  content: "";
  background: var(--line-bright);
}

.monitor-card.stable::before { background: var(--mint); }
.monitor-card.watch::before { background: var(--amber); }
.monitor-card.danger::before { background: var(--red); }

.monitor-card span {
  color: var(--muted);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.monitor-card strong {
  display: block;
  margin: 13px 0 8px;
  font-family: var(--font-display);
  font-size: 21px;
  font-weight: 500;
}

.monitor-card p {
  margin: 0;
  color: var(--paper-dim);
  font-size: 10px;
}

.greeks-grid {
  grid-template-columns: repeat(6, minmax(100px, 1fr));
}

.greek-card {
  min-height: 130px;
  padding: 15px;
}

.greek-card span {
  color: var(--amber);
  font-family: var(--font-display);
  font-size: 19px;
}

.greek-card strong {
  display: block;
  margin: 13px 0 5px;
  font-family: var(--font-mono);
  font-size: 15px;
}

.greek-card small {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.35;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.field {
  display: grid;
  gap: 6px;
}

.field.full {
  grid-column: 1 / -1;
}

.field label {
  color: var(--muted);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.field input,
.field select {
  width: 100%;
  min-height: 42px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 2px;
  color: var(--paper);
  background: var(--ink-soft);
  font-family: var(--font-mono);
  font-size: 12px;
}

.field input:hover,
.field select:hover {
  border-color: var(--line-bright);
}

.readonly-field {
  display: flex;
  min-height: 42px;
  align-items: center;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 2px;
  color: var(--amber);
  background: var(--ink-soft);
  font-family: var(--font-mono);
  font-size: 11px;
}

/* Day 02 · market-maker insurance desk */
.insurance-opportunity-map,
.insurance-selected-verdict,
.insurance-command-hero,
.insurance-process,
.insurance-lab-shell,
.insurance-output-grid,
.insurance-defined-risk-strip,
.insurance-curve-panel,
.insurance-why-panel,
.insurance-training-mode,
.insurance-risk-boundary {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #0a100e;
  box-shadow: var(--shadow);
}

.insurance-opportunity-map {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #08100d;
  box-shadow: var(--shadow);
}

.insurance-opportunity-map::before {
  position: absolute;
  z-index: 3;
  inset: 0 0 auto;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, #52655d, var(--amber) 52%, var(--mint));
}

.insurance-opportunity-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  padding: 25px 27px 19px;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(108deg, rgb(112 240 170 / 7%), transparent 47%),
    repeating-linear-gradient(126deg, transparent 0 42px, rgb(255 255 255 / 1%) 43px 44px);
}

.insurance-opportunity-header h2 { margin: 6px 0 7px; font-family: var(--font-display); font-size: clamp(31px, 4.2vw, 52px); font-weight: 500; letter-spacing: -.015em; line-height: .98; }
.insurance-opportunity-header p:last-child { max-width: 850px; margin: 0; color: var(--paper-dim); font-size: 10px; line-height: 1.55; }
.insurance-map-status { display: grid; min-width: 175px; padding: 11px 13px; border: 1px solid rgb(239 184 93 / 34%); background: rgb(239 184 93 / 5%); text-align: right; }
.insurance-map-status span,
.insurance-map-status em { color: var(--muted); font-family: var(--font-mono); font-size: 7px; font-style: normal; }
.insurance-map-status strong { margin: 1px 0 2px; color: var(--amber); font-family: var(--font-display); font-size: 25px; font-weight: 500; }

.insurance-opportunity-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
  background: #0a100e;
}
.insurance-opportunity-summary > div { min-width: 0; padding: 12px 18px; border-right: 1px solid var(--line); }
.insurance-opportunity-summary > div:last-child { border-right: 0; }
.insurance-opportunity-summary span,
.insurance-opportunity-summary small { display: block; overflow: hidden; color: var(--muted); font-family: var(--font-mono); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.insurance-opportunity-summary strong { display: block; margin: 3px 0 1px; overflow: hidden; font-family: var(--font-mono); font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.insurance-opportunity-summary strong.priority { color: var(--mint); }
.insurance-opportunity-summary strong.neutral,
.insurance-opportunity-summary strong.watch { color: var(--amber); }
.insurance-opportunity-summary strong.danger { color: #ff8068; }

.insurance-opportunity-frame { position: relative; min-height: 430px; overflow-x: auto; padding: 5px 12px 0; background: #070d0b; scrollbar-color: var(--line-bright) var(--ink); scrollbar-width: thin; }
.insurance-opportunity-chart { display: block; width: 100%; min-width: 820px; height: auto; }
.insurance-zone-bg { fill: #0c1512; stroke: #34443d; stroke-width: 1; }
.insurance-zone-outline { fill: none; stroke: #34443d; stroke-width: 1; }
.insurance-zone-risk { fill: #ff8068; fill-opacity: .055; }
.insurance-map-axis { stroke: #9eb5aa; stroke-width: 1; stroke-dasharray: 7 6; opacity: .62; }
.insurance-map-grid { stroke: #33423c; stroke-width: .6; opacity: .54; }
.insurance-map-tick,
.insurance-map-quadrant,
.insurance-map-axis-label { fill: #788a81; font-family: var(--font-mono); font-size: 8px; }
.insurance-map-quadrant.priority { fill: var(--mint); }
.insurance-map-axis-label { fill: #72847b; letter-spacing: .07em; }
.insurance-map-dot { cursor: pointer; outline: none; }
.insurance-map-bubble { stroke-width: 2.2; transition: filter 150ms ease, transform 150ms ease; transform-box: fill-box; transform-origin: center; }
.insurance-map-dot.priority { color: var(--mint); }
.insurance-map-dot.priority .insurance-map-bubble { fill: var(--mint); fill-opacity: .82; stroke: #c7fff0; }
.insurance-map-dot.watch { color: var(--amber); }
.insurance-map-dot.watch .insurance-map-bubble { fill: var(--amber); fill-opacity: .82; stroke: #ffe6b5; }
.insurance-map-dot.danger { color: #ff8068; }
.insurance-map-dot.danger .insurance-map-bubble { fill: #ff8068; fill-opacity: .83; stroke: #ffd0c7; }
.insurance-map-dot.muted { color: #75877e; }
.insurance-map-dot.muted .insurance-map-bubble { fill: #60736a; fill-opacity: .74; stroke: #a8b9b1; }
.insurance-map-dot:hover .insurance-map-bubble,
.insurance-map-dot:focus .insurance-map-bubble { filter: drop-shadow(0 0 10px currentColor); transform: scale(1.18); }
.insurance-map-dot text { fill: #07100c; font-family: var(--font-mono); font-size: 7px; font-weight: 800; pointer-events: none; }
.insurance-map-selection { fill: none; stroke: var(--paper); stroke-width: 1.4; stroke-dasharray: 4 3; animation: marketSelection 6s linear infinite; }
.insurance-map-dot.is-selected .insurance-map-bubble { stroke-width: 3; }
.insurance-opportunity-tooltip.market-map-tooltip { min-width: 338px; }
.insurance-opportunity-tooltip strong.priority { color: var(--mint); }
.insurance-opportunity-tooltip strong.watch { color: var(--amber); }
.insurance-opportunity-tooltip strong.danger { color: #ff8068; }
.insurance-opportunity-tooltip strong.muted { color: var(--paper-dim); }

.insurance-opportunity-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 22px; padding: 10px 20px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--paper-dim); font-family: var(--font-mono); font-size: 8px; }
.insurance-opportunity-legend span { display: inline-flex; align-items: center; gap: 7px; }
.insurance-opportunity-legend i { width: 9px; height: 9px; border-radius: 50%; }
.insurance-opportunity-legend i.priority { background: var(--mint); }
.insurance-opportunity-legend i.watch { background: var(--amber); }
.insurance-opportunity-legend i.danger { background: #ff8068; }
.insurance-opportunity-legend em { margin-left: auto; color: var(--muted); font-style: normal; }
.insurance-opportunity-note { margin: 0; padding: 9px 20px 12px; color: var(--muted); font-family: var(--font-mono); font-size: 8px; }

.insurance-selected-verdict { margin-top: 11px; }
.insurance-selected-verdict > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 17px 20px 14px; background: linear-gradient(100deg, rgb(112 240 170 / 6%), transparent); }
.insurance-selected-verdict h3 { margin: 5px 0 4px; font-family: var(--font-display); font-size: clamp(27px, 3.2vw, 39px); font-weight: 500; }
.insurance-selected-verdict header p:last-child { margin: 0; color: var(--paper-dim); font-size: 9px; }

.insurance-command-hero {
  position: relative;
  background:
    linear-gradient(112deg, rgb(112 240 170 / 7%), transparent 42%),
    repeating-linear-gradient(126deg, transparent 0 38px, rgb(255 255 255 / 1.2%) 39px 40px),
    #09100d;
}

.insurance-command-hero::before {
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, var(--mint), var(--amber) 56%, #ff6d7a);
}

.insurance-command-hero > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 30px;
  padding: 27px 28px 20px;
}

.insurance-command-hero h2 {
  max-width: 900px;
  margin: 7px 0 8px;
  color: var(--paper);
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 62px);
  font-weight: 500;
  line-height: .96;
}

.insurance-command-hero header p:last-child {
  max-width: 760px;
  margin: 0;
  color: var(--paper-dim);
  font-size: 11px;
}

.insurance-pro-badge {
  display: grid;
  min-width: 155px;
  padding: 13px 15px;
  border: 1px solid rgb(239 184 93 / 34%);
  background: rgb(239 184 93 / 5%);
  text-align: right;
}

.insurance-pro-badge span,
.insurance-pro-badge small { color: var(--muted); font-family: var(--font-mono); font-size: 7px; }
.insurance-pro-badge strong { margin: 2px 0; color: var(--amber); font-family: var(--font-display); font-size: 28px; font-weight: 500; }

.insurance-hero-results {
  display: grid;
  grid-template-columns: .72fr .62fr .66fr 1.45fr;
  gap: 1px;
  border-block: 1px solid var(--line);
  background: var(--line);
}

.insurance-hero-results article {
  min-width: 0;
  min-height: 112px;
  padding: 17px 20px;
  background: rgb(7 13 11 / 94%);
}

.insurance-hero-results article > span,
.insurance-hero-results article > small { display: block; color: var(--muted); font-family: var(--font-mono); font-size: 8px; }
.insurance-hero-results article > small { margin-top: 7px; }
.insurance-hero-results .no-payout strong,
.insurance-hero-results .premium strong { display: block; margin-top: 12px; font-family: var(--font-display); font-size: clamp(28px, 3vw, 41px); font-weight: 500; line-height: 1; }
.insurance-hero-results .no-payout strong { color: var(--mint); }
.insurance-hero-results .premium strong { color: var(--amber); }
.insurance-hero-results .execution strong { display: block; max-width: 580px; margin-top: 12px; color: var(--paper); font-family: var(--font-display); font-size: clamp(20px, 2.3vw, 30px); font-weight: 500; line-height: 1.06; }

.insurance-stars {
  display: flex;
  gap: 4px;
  margin-top: 13px;
}

.insurance-stars i { color: #26322d; font-size: 23px; font-style: normal; }
.insurance-stars.opportunity i.is-on { color: var(--mint); text-shadow: 0 0 14px rgb(112 240 170 / 32%); }
.insurance-stars.risk i.is-on { color: #ff8068; text-shadow: 0 0 14px rgb(255 128 104 / 28%); }

.insurance-decision-line {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content;
  align-items: center;
  gap: 18px;
  padding: 10px 20px;
  color: var(--paper-dim);
  font-size: 9px;
}

.insurance-decision-line span { padding: 5px 7px; border: 1px solid var(--line-bright); font-family: var(--font-mono); font-size: 7px; }
.insurance-decision-line span.allow { color: var(--mint); border-color: rgb(112 240 170 / 40%); }
.insurance-decision-line span.decline { color: #ff8068; border-color: rgb(255 128 104 / 40%); }
.insurance-decision-line span.wait { color: var(--amber); border-color: rgb(239 184 93 / 40%); }
.insurance-decision-line em { color: var(--muted); font-family: var(--font-mono); font-size: 7px; font-style: normal; }

.insurance-process {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  margin-top: 11px;
  background: var(--line);
}

.insurance-process button {
  display: grid;
  min-width: 0;
  min-height: 72px;
  padding: 11px 14px;
  border: 0;
  color: var(--paper);
  background: #0a100e;
  text-align: left;
  cursor: pointer;
}

.insurance-process button:hover { background: rgb(112 240 170 / 5%); }
.insurance-process span { color: var(--mint); font-family: var(--font-mono); font-size: 7px; }
.insurance-process b { margin-top: 3px; font-family: var(--font-display); font-size: 16px; font-weight: 500; }
.insurance-process small { color: var(--muted); font-family: var(--font-mono); font-size: 7px; }

.insurance-lab-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(380px, .8fr);
  margin-top: 15px;
}

.insurance-lab-form { padding: 22px 24px; }
.insurance-lab-form .panel-head { margin-bottom: 14px; }
.insurance-lab-form h3,
.insurance-score-board h3,
.insurance-curve-panel h3,
.insurance-why-panel h3,
.insurance-training-mode h3 { margin: 4px 0 0; font-family: var(--font-display); font-size: clamp(25px, 3vw, 36px); font-weight: 500; line-height: 1; }

.insurance-lab-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.insurance-lab-fields label { display: grid; min-width: 0; gap: 5px; }
.insurance-lab-fields label > span { color: var(--muted); font-size: 8px; letter-spacing: .06em; }
.insurance-lab-fields input,
.insurance-lab-fields select { width: 100%; min-height: 39px; padding: 0 9px; border: 1px solid var(--line); border-radius: 2px; color: var(--paper); background: var(--ink-soft); font-family: var(--font-mono); font-size: 11px; }
.insurance-lab-form .primary-button { margin-top: 16px; }

.insurance-score-board {
  padding: 22px 24px;
  border-left: 1px solid var(--line);
  background: radial-gradient(circle at 16% 10%, rgb(112 240 170 / 11%), transparent 32%), #08100d;
}

.insurance-score-board.wait { background: radial-gradient(circle at 16% 10%, rgb(239 184 93 / 10%), transparent 32%), #08100d; }
.insurance-score-board.decline { background: radial-gradient(circle at 16% 10%, rgb(255 109 122 / 11%), transparent 32%), #08100d; }
.insurance-score-board > header { display: flex; align-items: center; gap: 16px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.insurance-score-number { min-width: 92px; }
.insurance-score-number strong { color: var(--mint); font-family: var(--font-display); font-size: 60px; font-weight: 500; line-height: .8; }
.insurance-score-board.decline .insurance-score-number strong { color: #ff8068; }
.insurance-score-board.wait .insurance-score-number strong { color: var(--amber); }
.insurance-score-number span { color: var(--muted); font-family: var(--font-mono); font-size: 9px; }
.insurance-score-board header small { color: var(--paper-dim); font-family: var(--font-mono); font-size: 8px; }

.insurance-score-components { display: grid; gap: 9px; margin-top: 17px; }
.insurance-score-components > div { display: grid; grid-template-columns: 132px minmax(60px, 1fr) 62px; align-items: center; gap: 9px; }
.insurance-score-components span { display: flex; justify-content: space-between; gap: 5px; color: var(--paper-dim); font-size: 8px; }
.insurance-score-components span i { color: var(--muted); font-family: var(--font-mono); font-size: 7px; font-style: normal; }
.insurance-score-components b { height: 3px; overflow: hidden; background: #25312c; }
.insurance-score-components b em { display: block; height: 100%; background: var(--mint); }
.insurance-score-components strong { display: flex; justify-content: space-between; color: var(--paper); font-family: var(--font-mono); font-size: 9px; }
.insurance-score-components strong small { color: var(--mint); font-size: 7px; }
.insurance-score-components .tail b em { background: #ff8068; }
.insurance-score-components .tail strong small { color: #ff8068; }
.insurance-score-board > p { margin: 17px 0 0; padding: 10px; border: 1px solid var(--line); color: var(--muted); font-family: var(--font-mono); font-size: 7px; }

.insurance-output-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1px;
  margin-top: 15px;
  background: var(--line);
}

.insurance-output-grid article { min-width: 0; min-height: 105px; padding: 14px 13px; background: #0a100e; }
.insurance-output-grid span,
.insurance-output-grid small { display: block; color: var(--muted); font-family: var(--font-mono); font-size: 7px; }
.insurance-output-grid strong { display: block; overflow-wrap: anywhere; margin: 11px 0 5px; color: var(--paper); font-family: var(--font-mono); font-size: 15px; }
.insurance-output-grid strong i { color: var(--muted); font-size: 8px; font-style: normal; }
.insurance-output-grid .danger strong { color: #ff8068; }
.insurance-output-grid .repair strong { color: var(--mint); }

.insurance-sweet-spot-panel {
  position: relative;
  overflow: hidden;
  margin-top: 15px;
  border: 1px solid var(--line);
  background:
    linear-gradient(180deg, rgb(112 240 170 / 4%), transparent 48%, rgb(255 109 122 / 4%)),
    #080f0c;
}

.insurance-sweet-spot-panel::before {
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, var(--mint), var(--amber) 50%, #ff6d7a);
}

.insurance-sweet-spot-panel > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 21px 23px 16px;
  border-bottom: 1px solid var(--line);
}

.insurance-sweet-spot-panel h3 {
  margin: 4px 0 0;
  font-family: var(--font-display);
  font-size: clamp(27px, 3vw, 39px);
  font-weight: 500;
  line-height: 1;
}

.insurance-sweet-spot-panel > header p:last-child {
  max-width: 760px;
  margin: 8px 0 0;
  color: var(--paper-dim);
  font-size: 9px;
}

.insurance-sweet-spot-panel > header > span {
  flex: 0 0 auto;
  color: var(--amber);
  font-family: var(--font-mono);
  font-size: 8px;
  line-height: 1.6;
  text-align: right;
}

.insurance-sweet-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
}

.insurance-sweet-summary article {
  min-width: 0;
  padding: 17px 19px;
  background: #0a110e;
}

.insurance-sweet-summary article.sweet { background: linear-gradient(110deg, rgb(112 240 170 / 10%), transparent 66%), #0a110e; }
.insurance-sweet-summary article.danger { background: linear-gradient(110deg, rgb(255 109 122 / 10%), transparent 66%), #0a110e; }
.insurance-sweet-summary article.is-unqualified { background: linear-gradient(110deg, rgb(239 184 93 / 8%), transparent 66%), #0a110e; }
.insurance-sweet-summary span { color: var(--muted); font-family: var(--font-mono); font-size: 8px; letter-spacing: .06em; }
.insurance-sweet-summary strong { display: block; margin: 7px 0 10px; font-family: var(--font-display); font-size: clamp(28px, 3vw, 42px); font-weight: 500; line-height: 1; }
.insurance-sweet-summary .sweet strong { color: var(--mint); }
.insurance-sweet-summary .danger strong { color: #ff8068; }
.insurance-sweet-summary .is-unqualified strong { color: var(--amber); }
.insurance-sweet-summary article > div { display: flex; flex-wrap: wrap; gap: 7px; }
.insurance-sweet-summary b { padding: 5px 7px; border: 1px solid var(--line-bright); color: var(--paper-dim); font-family: var(--font-mono); font-size: 7px; font-weight: 500; }
.insurance-sweet-summary p { max-width: 660px; margin: 11px 0 0; color: var(--paper-dim); font-size: 9px; line-height: 1.55; }

.insurance-sweet-chart-frame { overflow-x: auto; border-top: 1px solid var(--line); background: #070d0b; }
.insurance-sweet-chart { display: block; width: 100%; min-width: 760px; height: auto; }
.insurance-sweet-zone.repair { fill: rgb(112 240 170 / 7%); }
.insurance-sweet-zone.danger { fill: rgb(255 109 122 / 7%); }
.insurance-sweet-grid { stroke: #26342e; stroke-width: .8; stroke-dasharray: 2 5; }
.insurance-sweet-grid.zero { stroke: #687a71; stroke-width: 1.2; stroke-dasharray: 6 5; }
.insurance-sweet-axis-label,
.insurance-sweet-axis-title,
.insurance-sweet-anchor-label,
.insurance-sweet-point-label { fill: #71837a; font-family: var(--font-mono); font-size: 8px; }
.insurance-sweet-axis-title { fill: #607169; letter-spacing: .06em; }
.insurance-sweet-anchor { stroke-width: 1; stroke-dasharray: 4 4; opacity: .72; }
.insurance-sweet-anchor.wall { stroke: var(--mint); }
.insurance-sweet-anchor.flip { stroke: var(--amber); }
.insurance-sweet-anchor-label.wall { fill: var(--mint); }
.insurance-sweet-anchor-label.flip { fill: var(--amber); }
.insurance-sweet-path { fill: none; stroke: #96aaa0; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; opacity: .68; }
.insurance-sweet-point { cursor: help; outline: none; }
.insurance-sweet-point circle { stroke-width: 2; transition: filter 130ms ease, transform 130ms ease; transform-box: fill-box; transform-origin: center; }
.insurance-sweet-point.repair circle { fill: rgb(112 240 170 / 78%); stroke: #c3fbd8; }
.insurance-sweet-point.danger circle { fill: rgb(255 109 122 / 82%); stroke: #ffd0d5; }
.insurance-sweet-point.mixed circle { fill: rgb(239 184 93 / 78%); stroke: #ffe0a0; }
.insurance-sweet-point.is-sweet circle { stroke-width: 3.2; filter: drop-shadow(0 0 7px rgb(112 240 170 / 58%)); }
.insurance-sweet-point.is-danger circle { stroke-width: 3.2; filter: drop-shadow(0 0 7px rgb(255 109 122 / 52%)); }
.insurance-sweet-point.is-selected circle { stroke-dasharray: 3 2; }
.insurance-sweet-point:hover circle,
.insurance-sweet-point:focus circle { filter: drop-shadow(0 0 9px currentColor); transform: scale(1.2); }
.insurance-sweet-point-label.sweet { fill: var(--mint); font-weight: 800; }
.insurance-sweet-point-label.danger { fill: #ff8792; font-weight: 800; }
.insurance-sweet-point-label.mixed { fill: var(--amber); font-weight: 800; }
.insurance-sweet-note { margin: 0; padding: 11px 20px 13px; border-top: 1px solid var(--line); color: var(--muted); font-family: var(--font-mono); font-size: 8px; line-height: 1.55; }

.insurance-defined-risk-strip {
  display: grid;
  grid-template-columns: 1.45fr repeat(3, 1fr);
  gap: 1px;
  margin-top: 10px;
  background: var(--line);
}

.insurance-defined-risk-strip > div { min-width: 0; padding: 13px 15px; background: linear-gradient(110deg, rgb(239 184 93 / 4%), transparent 64%), #0a100e; }
.insurance-defined-risk-strip span,
.insurance-defined-risk-strip small { display: block; color: var(--muted); font-family: var(--font-mono); font-size: 7px; }
.insurance-defined-risk-strip strong { display: block; overflow-wrap: anywhere; margin: 7px 0 3px; color: var(--amber); font-family: var(--font-mono); font-size: 12px; }

.insurance-curve-panel { margin-top: 15px; }
.insurance-curve-panel > header,
.insurance-training-mode > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 25px; padding: 20px 23px 15px; border-bottom: 1px solid var(--line); }
.insurance-curve-panel > header p:last-child { max-width: 710px; margin: 6px 0 0; color: var(--paper-dim); font-size: 9px; }
.insurance-curve-panel > header > span,
.insurance-training-mode > header > span { color: var(--amber); font-family: var(--font-mono); font-size: 8px; }
.insurance-curve-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; padding: 11px 21px; border-bottom: 1px solid var(--line); }
.insurance-curve-legend span { display: inline-flex; align-items: center; gap: 6px; color: var(--paper-dim); font-family: var(--font-mono); font-size: 7px; }
.insurance-curve-legend i { width: 20px; height: 2px; background: var(--mint); }
.insurance-curve-legend .assignment i { background: #55b7ff; }
.insurance-curve-legend .risk i { background: #ff6d7a; }
.insurance-curve-legend .repair i { background: var(--amber); }
.insurance-curve-legend em { margin-left: auto; color: var(--muted); font-family: var(--font-mono); font-size: 7px; font-style: normal; }
.insurance-curve-stage { position: relative; overflow-x: auto; background: #070d0b; }
.insurance-quote-curve { display: block; width: 100%; min-width: 760px; height: auto; }
.insurance-curve-grid { stroke: #20302a; stroke-width: 1; stroke-dasharray: 2 5; }
.insurance-curve-tick,
.insurance-curve-axis-title,
.insurance-curve-hit text { fill: #6f8179; font-family: var(--font-mono); font-size: 8px; }
.insurance-curve-line { fill: none; stroke: var(--mint); stroke-width: 2; }
.insurance-curve-line.assignment { stroke: #55b7ff; }
.insurance-curve-line.risk { stroke: #ff6d7a; }
.insurance-curve-line.repair { stroke: var(--amber); }
.insurance-curve-dot { fill: #070d0b; stroke: var(--mint); stroke-width: 2; }
.insurance-curve-dot.assignment { stroke: #55b7ff; }
.insurance-curve-dot.risk { stroke: #ff6d7a; }
.insurance-curve-dot.repair { stroke: var(--amber); }
.insurance-curve-hit { cursor: crosshair; outline: none; }
.insurance-curve-hit rect { fill: transparent; }
.insurance-curve-hit line { opacity: 0; stroke: var(--paper-dim); stroke-width: 1; stroke-dasharray: 3 3; }
.insurance-curve-hit:hover line,
.insurance-curve-hit:focus line { opacity: .75; }
.insurance-curve-tooltip { position: absolute; z-index: 4; top: 42px; display: grid; min-width: 176px; gap: 3px; padding: 10px 12px; border: 1px solid var(--line-bright); color: var(--paper-dim); background: rgb(4 9 7 / 96%); box-shadow: 0 14px 34px rgb(0 0 0 / 44%); font-family: var(--font-mono); font-size: 7px; pointer-events: none; }
.insurance-curve-tooltip strong { color: var(--paper); font-size: 11px; }
.insurance-curve-tooltip b { font-weight: 500; }
.insurance-quote-table-wrap { overflow-x: auto; border-top: 1px solid var(--line); }
.insurance-quote-table { width: 100%; border-collapse: collapse; }
.insurance-quote-table th,
.insurance-quote-table td { padding: 10px 13px; border-bottom: 1px solid var(--line); font-family: var(--font-mono); font-size: 8px; text-align: left; white-space: nowrap; }
.insurance-quote-table th { color: var(--muted); font-weight: 500; }
.insurance-quote-table tr.is-selected td { color: var(--mint); background: rgb(112 240 170 / 5%); }
.insurance-quote-table tr.is-sweet td:first-child { box-shadow: inset 2px 0 0 var(--mint); }
.insurance-quote-table tr.is-danger td:first-child { box-shadow: inset 2px 0 0 #ff6d7a; }

.insurance-why-panel { display: grid; grid-template-columns: 300px 1fr; margin-top: 15px; }
.insurance-why-panel > header { padding: 21px 23px; border-right: 1px solid var(--line); background: radial-gradient(circle at 20% 30%, rgb(85 183 255 / 8%), transparent 60%); }
.insurance-why-panel > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); }
.insurance-why-panel details { background: #0a100e; }
.insurance-why-panel summary { display: grid; grid-template-columns: 1fr max-content max-content; align-items: center; gap: 10px; min-height: 54px; padding: 12px 14px; cursor: pointer; list-style: none; }
.insurance-why-panel summary::-webkit-details-marker { display: none; }
.insurance-why-panel summary span { font-family: var(--font-display); font-size: 18px; }
.insurance-why-panel summary strong { color: var(--mint); font-family: var(--font-mono); font-size: 9px; }
.insurance-why-panel summary b { padding: 4px 6px; border: 1px solid var(--line-bright); color: var(--paper-dim); font-family: var(--font-mono); font-size: 7px; font-weight: 500; }
.insurance-why-panel details p { margin: 0; padding: 0 14px 14px; color: var(--paper-dim); font-size: 9px; }

.insurance-training-mode { margin-top: 15px; }
.insurance-training-mode > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); }
.insurance-training-mode article { min-width: 0; padding: 19px 21px; background: #0a100e; }
.insurance-training-mode article.is-correct { background: linear-gradient(130deg, rgb(112 240 170 / 7%), transparent 65%), #0a100e; }
.insurance-training-mode article.is-wrong { background: linear-gradient(130deg, rgb(255 128 104 / 8%), transparent 65%), #0a100e; }
.insurance-training-mode article > span,
.insurance-training-mode article > small { color: var(--muted); font-family: var(--font-mono); font-size: 7px; }
.insurance-training-mode h4 { margin: 7px 0 8px; font-family: var(--font-display); font-size: 24px; font-weight: 500; }
.insurance-training-mode article > p { margin: 0; color: var(--paper-dim); font-size: 10px; }
.training-choice { display: flex; gap: 8px; margin: 15px 0 10px; }
.training-choice button { padding: 8px 10px; border: 1px solid var(--line-bright); color: var(--paper); background: transparent; font-family: var(--font-mono); font-size: 8px; cursor: pointer; }
.training-choice button:hover { color: var(--ink); background: var(--mint); }
.training-reveal { margin-top: 12px; padding: 11px 12px; border-left: 2px solid var(--mint); background: rgb(112 240 170 / 4%); }
.is-wrong .training-reveal { border-color: #ff8068; background: rgb(255 128 104 / 4%); }
.training-reveal strong { color: var(--paper); font-size: 10px; }
.training-reveal p { margin: 5px 0; color: var(--paper-dim); font-size: 9px; }
.training-reveal small { color: var(--muted); font-family: var(--font-mono); font-size: 7px; }

.insurance-risk-boundary { margin-top: 15px; }
.insurance-risk-boundary > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 70px; padding: 14px 20px; cursor: pointer; list-style: none; background: linear-gradient(90deg, rgb(239 184 93 / 5%), transparent 46%); }
.insurance-risk-boundary > summary::-webkit-details-marker { display: none; }
.insurance-risk-boundary summary span { display: grid; gap: 3px; }
.insurance-risk-boundary summary b { font-family: var(--font-display); font-size: 22px; font-weight: 500; }
.insurance-risk-boundary summary small,
.insurance-risk-boundary summary em { color: var(--muted); font-family: var(--font-mono); font-size: 7px; font-style: normal; }
.insurance-risk-boundary summary::after { color: var(--amber); content: "+"; font-family: var(--font-mono); font-size: 20px; }
.insurance-risk-boundary[open] summary::after { content: "−"; }
.insurance-risk-boundary-body { padding: 15px; border-top: 1px solid var(--line); }
.insurance-risk-boundary-body > .insurance-vol-panel:first-child { margin-top: 0; }

.insurance-curve-empty { padding: 50px 20px; color: var(--muted); font-family: var(--font-mono); font-size: 9px; text-align: center; }

.insurance-vol-panel,
.insurance-pricing-lab,
.payout-ledger,
.hedge-risk-comparison {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}

.insurance-vol-panel {
  position: relative;
}

.insurance-vol-panel::before {
  position: absolute;
  z-index: 3;
  inset: 0 0 auto;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, #ff8068, var(--amber) 28%, var(--mint) 54%, #ff8068);
}

.insurance-vol-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 26px;
  padding: 24px 27px 17px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(110deg, rgb(239 184 93 / 5%), transparent 47%);
}

.insurance-vol-header h3 {
  margin: 5px 0 4px;
  font-family: var(--font-display);
  font-size: clamp(29px, 4vw, 48px);
  font-weight: 500;
  line-height: 1;
}

.insurance-vol-header p:last-child {
  max-width: 820px;
  margin: 0;
  color: var(--paper-dim);
  font-size: 11px;
}

.insurance-vol-verdict {
  flex: 0 0 auto;
  padding: 8px 10px;
  border: 1px solid var(--line-bright);
  color: var(--paper-dim);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: .06em;
}

.insurance-vol-verdict.workable { color: var(--mint); border-color: rgb(112 240 170 / 42%); }
.insurance-vol-verdict.thin,
.insurance-vol-verdict.overheated { color: var(--amber); border-color: rgb(239 184 93 / 45%); }
.insurance-vol-verdict.too_low,
.insurance-vol-verdict.extreme { color: #ff8068; border-color: rgb(255 128 104 / 46%); }

.insurance-vol-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
  background: #0b100e;
}

.insurance-vol-summary > div {
  min-width: 0;
  padding: 12px 18px;
  border-right: 1px solid var(--line);
}

.insurance-vol-summary > div:last-child { border-right: 0; }
.insurance-vol-summary span,
.insurance-vol-summary small { display: block; color: var(--muted); font-family: var(--font-mono); font-size: 8px; }
.insurance-vol-summary strong { display: block; overflow: hidden; margin: 4px 0 2px; font-family: var(--font-mono); font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }

.insurance-vol-chart-frame {
  overflow-x: auto;
  padding: 5px 12px 0;
  background: #090e0d;
  scrollbar-color: var(--line-bright) var(--ink);
  scrollbar-width: thin;
}

.insurance-vol-chart { display: block; width: 100%; min-width: 800px; height: auto; }
.insurance-vol-band { opacity: .7; }
.insurance-vol-band.low { fill: rgb(255 128 104 / 15%); }
.insurance-vol-band.thin { fill: rgb(239 184 93 / 15%); }
.insurance-vol-band.workable { fill: rgb(112 240 170 / 14%); }
.insurance-vol-band.hot { fill: rgb(239 184 93 / 17%); }
.insurance-vol-band.extreme { fill: rgb(255 109 122 / 17%); }
.insurance-vol-band-label,
.insurance-vol-tick-label,
.insurance-vol-marker-label,
.insurance-vol-axis-title { fill: #778a81; font-family: var(--font-mono); font-size: 8px; letter-spacing: .03em; }
.insurance-vol-band-label { fill: #91a49a; }
.insurance-vol-axis { stroke: #51635a; stroke-width: 1; }
.insurance-vol-tick { stroke: #51635a; stroke-width: .8; }
.insurance-vol-marker { stroke-width: 1.2; stroke-dasharray: 3 3; }
.insurance-vol-marker.hv { stroke: #55b7ff; }
.insurance-vol-marker.iv { stroke: var(--amber); }
.insurance-vol-dot.hv { fill: #55b7ff; stroke: #b9e5ff; stroke-width: 2; }
.insurance-vol-dot.iv { fill: var(--amber); stroke: #ffe0a0; stroke-width: 2; }
.insurance-vol-marker-label.hv { fill: #8bd0ff; }
.insurance-vol-marker-label.iv { fill: #f5c979; }
.insurance-vol-note { margin: 0; padding: 10px 20px 12px; border-top: 1px solid var(--line); color: var(--muted); font-family: var(--font-mono); font-size: 8px; }

.insurance-pricing-lab {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  margin-top: 15px;
}

.insurance-pricing-control { padding: 22px 24px; }
.insurance-pricing-control .panel-head { margin-bottom: 13px; }
.payout-probability-readout { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px 13px; }
.payout-probability-readout > span { color: var(--muted); font-size: 9px; }
.payout-probability-readout strong { color: #ff8068; font-family: var(--font-mono); font-size: 38px; }
.payout-probability-readout em { color: var(--paper-dim); font-size: 11px; font-style: normal; }
.payout-probability-readout b { color: var(--mint); font-family: var(--font-mono); }

.pricing-slider-row { margin-top: 10px; }
.pricing-slider-row input { width: 100%; height: 4px; appearance: none; border-radius: 999px; outline: none; background: linear-gradient(90deg, var(--mint), var(--amber) 52%, #ff8068); }
.pricing-slider-row input::-webkit-slider-thumb { width: 19px; height: 19px; appearance: none; border: 3px solid #08100d; border-radius: 50%; background: var(--paper); box-shadow: 0 0 0 1px var(--amber), 0 0 18px rgb(239 184 93 / 25%); cursor: ew-resize; }
.pricing-slider-row > div { display: flex; justify-content: space-between; margin-top: 8px; color: var(--muted); font-family: var(--font-mono); font-size: 7px; }
.pricing-principle { margin: 16px 0 0; padding: 11px 12px; border-left: 2px solid var(--amber); color: var(--paper-dim); background: rgb(239 184 93 / 5%); font-size: 10px; }

.insurance-premium-quote {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px 27px;
  border-left: 1px solid var(--line);
  background: radial-gradient(circle at 50% 38%, rgb(112 240 170 / 10%), transparent 52%), #0a100e;
}

.insurance-premium-quote > span { margin-top: 8px; color: var(--muted); font-size: 9px; }
.insurance-premium-quote > strong { margin-top: 5px; color: var(--mint); font-family: var(--font-display); font-size: 58px; font-weight: 500; line-height: .95; }
.insurance-premium-quote > small { color: var(--paper-dim); font-family: var(--font-mono); font-size: 9px; }
.insurance-premium-quote > em { margin-top: 7px; color: var(--paper); font-family: var(--font-mono); font-size: 11px; font-style: normal; }
.insurance-premium-quote > div { display: flex; justify-content: space-between; gap: 12px; margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 8px; }
.insurance-premium-quote > div b { color: var(--amber); font-family: var(--font-mono); }
.insurance-premium-quote > p:last-child { margin: 10px 0 0; color: var(--muted); font-size: 8px; }
.insurance-premium-quote > p.is-warning { color: #ff9b87; }

.payout-ledger {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1px;
  margin-top: 15px;
  background: var(--line);
}

.payout-ledger > div { min-width: 0; padding: 14px 13px; background: var(--panel); }
.payout-ledger span,
.payout-ledger small { display: block; color: var(--muted); font-family: var(--font-mono); font-size: 7px; }
.payout-ledger strong { display: block; overflow: hidden; margin: 7px 0 3px; color: var(--paper); font-family: var(--font-mono); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }

.insurance-workbench { margin-top: 15px; }
.premium-load-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line); }
.premium-load-grid > div { min-width: 0; padding: 13px 10px; background: #0b100e; }
.premium-load-grid span,
.premium-load-grid small { display: block; color: var(--muted); font-family: var(--font-mono); font-size: 7px; }
.premium-load-grid strong { display: block; margin: 6px 0 2px; font-family: var(--font-mono); font-size: 14px; }

.hedge-risk-comparison { margin-top: 15px; }
.hedge-risk-comparison > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 20px 22px 15px; border-bottom: 1px solid var(--line); }
.hedge-risk-comparison h4 { margin: 4px 0 0; font-family: var(--font-display); font-size: 26px; font-weight: 500; }
.hedge-risk-comparison > header > p { max-width: 540px; margin: 0; color: var(--paper-dim); font-size: 10px; }
.hedge-risk-comparison > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); }
.hedge-risk-card { position: relative; min-height: 165px; padding: 20px 22px; background: #0b100e; }
.hedge-risk-card.is-selected { background: linear-gradient(135deg, rgb(239 184 93 / 8%), transparent 70%), #0b100e; }
.hedge-risk-card span { color: var(--muted); font-family: var(--font-mono); font-size: 8px; }
.hedge-risk-card h5 { margin: 7px 0 9px; font-family: var(--font-display); font-size: 24px; font-weight: 500; }
.hedge-risk-card strong { color: var(--amber); font-family: var(--font-mono); font-size: 11px; }
.hedge-risk-card p { max-width: 620px; margin: 9px 0 0; color: var(--paper-dim); font-size: 10px; }
.hedge-risk-card em { position: absolute; top: 18px; right: 20px; padding: 4px 6px; border: 1px solid var(--line); color: var(--muted); font-family: var(--font-mono); font-size: 7px; font-style: normal; }
.hedge-risk-card.is-selected em { color: var(--mint); border-color: rgb(112 240 170 / 32%); }

.form-note {
  margin: 15px 0 0;
  padding: 12px;
  border-left: 2px solid var(--amber);
  color: var(--paper-dim);
  background: rgb(239 184 93 / 5%);
  font-size: 10px;
}

.decision-banner {
  display: grid;
  grid-template-columns: 128px 1fr;
  align-items: center;
  gap: 22px;
  padding: 20px;
  border: 1px solid var(--line);
  background: linear-gradient(120deg, rgb(112 240 170 / 8%), transparent 70%);
}

.decision-banner.is-reject {
  background: linear-gradient(120deg, rgb(255 112 104 / 10%), transparent 70%);
}

.decision-banner.is-review {
  background: linear-gradient(120deg, rgb(239 184 93 / 10%), transparent 70%);
}

.score-ring {
  --score: 0deg;
  position: relative;
  display: grid;
  width: 112px;
  height: 112px;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--mint) var(--score), var(--line) 0);
}

.score-ring::before {
  position: absolute;
  width: 88px;
  height: 88px;
  content: "";
  border-radius: 50%;
  background: var(--panel);
}

.score-ring div {
  position: relative;
  z-index: 1;
  text-align: center;
}

.score-ring strong {
  display: block;
  font-family: var(--font-mono);
  font-size: 26px;
}

.score-ring span {
  color: var(--muted);
  font-size: 8px;
}

.decision-copy span {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.09em;
}

.decision-copy h4 {
  margin: 5px 0 8px;
  font-family: var(--font-display);
  font-size: clamp(27px, 3vw, 40px);
  font-weight: 500;
}

.decision-copy p {
  margin: 0;
  color: var(--paper-dim);
  font-size: 10px;
}

.kpi-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 12px;
  border: 1px solid var(--line);
  background: var(--line);
}

.kpi {
  min-height: 87px;
  padding: 13px;
  background: var(--panel);
}

.kpi span {
  color: var(--muted);
  font-size: 8px;
  letter-spacing: 0.07em;
}

.kpi strong {
  display: block;
  margin-top: 9px;
  font-family: var(--font-mono);
  font-size: 16px;
}

.subsection {
  margin-top: 15px;
}

.subsection h5 {
  margin: 0 0 10px;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 500;
}

.sigma-table,
.scanner-table,
.provenance-table {
  width: 100%;
  border-collapse: collapse;
}

.sigma-table th,
.sigma-table td,
.scanner-table th,
.scanner-table td,
.provenance-table th,
.provenance-table td {
  padding: 11px 10px;
  border-bottom: 1px solid var(--line);
  font-size: 10px;
  text-align: left;
}

.sigma-table th,
.scanner-table th,
.provenance-table th {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 8px;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.sigma-table td:not(:first-child),
.scanner-table td:not(:first-child) {
  font-family: var(--font-mono);
}

.flag-list,
.plan-list,
.evidence-notes {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.flag-list li,
.plan-list li,
.evidence-notes li {
  display: flex;
  gap: 9px;
  padding: 10px 11px;
  border: 1px solid var(--line);
  color: var(--paper-dim);
  background: rgb(255 255 255 / 1.5%);
  font-size: 10px;
}

.flag-list li::before {
  flex: 0 0 auto;
  color: var(--red);
  content: "×";
  font-family: var(--font-mono);
}

.flag-list li.review::before { color: var(--amber); content: "!"; }
.flag-list li.pass::before { color: var(--mint); content: "✓"; }

.plan-list {
  counter-reset: repair;
}

.plan-list li {
  counter-increment: repair;
}

.plan-list li::before {
  flex: 0 0 20px;
  color: var(--mint);
  content: counter(repair, decimal-leading-zero);
  font-family: var(--font-mono);
}

.pipeline {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 15px;
  border: 1px solid var(--line);
  background: var(--panel);
}

.pipeline-step {
  position: relative;
  min-height: 112px;
  padding: 17px;
  border-right: 1px solid var(--line);
}

.pipeline-step:last-child { border-right: 0; }

.pipeline-step:not(:last-child)::after {
  position: absolute;
  z-index: 1;
  top: 42px;
  right: -8px;
  display: grid;
  width: 16px;
  height: 16px;
  place-items: center;
  border: 1px solid var(--line);
  color: var(--muted);
  background: var(--panel);
  content: "›";
  font-size: 10px;
}

.pipeline-step span {
  color: var(--mint);
  font-family: var(--font-mono);
  font-size: 9px;
}

.pipeline-step strong {
  display: block;
  margin: 8px 0 3px;
  font-size: 12px;
}

.pipeline-step small {
  color: var(--muted);
  font-size: 9px;
}

.scanner-wrap {
  overflow-x: auto;
}

.scanner-table tbody tr {
  transition: background 150ms ease;
}

.scanner-table tbody tr:hover,
.scanner-table tbody tr.is-selected {
  background: rgb(112 240 170 / 5%);
}

.candidate-button {
  padding: 0;
  border: 0;
  color: var(--paper);
  background: transparent;
  font-family: var(--font-mono);
  font-weight: 800;
}

.score-bar {
  display: inline-flex;
  width: 62px;
  height: 3px;
  overflow: hidden;
  vertical-align: middle;
  background: var(--line);
}

.score-bar i {
  height: 100%;
  background: linear-gradient(90deg, var(--amber), var(--red));
}

.candidate-hero {
  padding: 22px;
  border: 1px solid var(--line);
  background:
    linear-gradient(135deg, rgb(239 184 93 / 8%), transparent 60%),
    var(--panel);
}

.candidate-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 15px;
}

.candidate-title h4 {
  margin: 7px 0 0;
  font-family: var(--font-display);
  font-size: clamp(29px, 3vw, 43px);
  font-weight: 500;
}

.stage-badge {
  padding: 7px 9px;
  border: 1px solid rgb(239 184 93 / 35%);
  color: var(--amber);
  background: rgb(239 184 93 / 8%);
  font-family: var(--font-mono);
  font-size: 9px;
}

.evidence-ladder {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 18px 0;
}

.evidence-node {
  position: relative;
  min-height: 92px;
  padding: 13px;
  border: 1px solid var(--line);
  color: var(--muted);
  background: var(--ink-soft);
}

.evidence-node.is-on {
  border-color: rgb(112 240 170 / 36%);
  color: var(--paper);
  background: rgb(112 240 170 / 6%);
}

.evidence-node span {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 8px;
}

.evidence-node strong {
  display: block;
  margin-top: 8px;
  font-size: 11px;
}

.evidence-node i {
  position: absolute;
  top: 10px;
  right: 10px;
  color: var(--mint);
  font-style: normal;
}

.risk-ticket {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 14px;
  border: 1px solid var(--line);
  background: var(--line);
}

.risk-ticket > div {
  padding: 15px;
  background: var(--ink-soft);
}

.risk-ticket strong {
  display: block;
  margin-top: 7px;
  font-family: var(--font-mono);
  font-size: 17px;
}

.risk-control {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 14px;
}

/* Dealer hedge quantity / risk transfer ticket */
.dealer-transfer-ticket {
  position: relative;
  overflow: hidden;
  margin-top: 15px;
  border: 1px solid var(--line);
  background: linear-gradient(105deg, rgb(85 183 255 / 6%), transparent 48%, rgb(112 240 170 / 4%)), var(--panel);
}

.dealer-transfer-ticket::before { position: absolute; inset: 0 0 auto; height: 2px; content: ""; background: linear-gradient(90deg, var(--blue), var(--mint)); }
.dealer-transfer-ticket > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 19px 21px 15px; border-bottom: 1px solid var(--line); }
.dealer-transfer-ticket h3 { margin: 5px 0 4px; font-family: var(--font-display); font-size: clamp(26px, 3vw, 38px); font-weight: 500; }
.dealer-transfer-ticket header p:last-child { margin: 0; color: var(--muted); font-size: 9px; }
.dealer-transfer-grid { display: grid; grid-template-columns: 1.05fr 1.35fr .78fr .92fr; gap: 1px; background: var(--line); }
.dealer-transfer-grid article { min-width: 0; min-height: 118px; padding: 15px 17px; background: #09100e; }
.dealer-transfer-grid span,
.dealer-transfer-grid small { display: block; color: var(--muted); font-family: var(--font-mono); font-size: 7px; }
.dealer-transfer-grid strong { display: block; overflow-wrap: anywhere; margin: 11px 0 7px; font-family: var(--font-display); font-size: 20px; font-weight: 500; line-height: 1.08; }
.dealer-transfer-grid .stock strong { color: var(--mint); }
.dealer-transfer-grid .option strong { color: var(--blue); }
.dealer-transfer-ticket > p { margin: 0; padding: 10px 20px 12px; color: var(--muted); font-family: var(--font-mono); font-size: 8px; }

/* Speculator footprint / dealer pressure early-warning terminal */
.squeeze-watch-view {
  --squeeze-up: #55b7ff;
  --squeeze-down: #ff7068;
  --squeeze-watch: #efb85d;
}

.speculator-heatmap-panel {
  --squeeze-up: #55b7ff;
  --squeeze-down: #ff7068;
  --squeeze-watch: #efb85d;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #07100d;
  box-shadow: var(--shadow);
}

.speculator-heatmap-panel::before { position: absolute; z-index: 2; inset: 0 0 auto; height: 2px; content: ""; background: linear-gradient(90deg, var(--squeeze-down), var(--squeeze-watch), var(--squeeze-up)); }
.speculator-heatmap-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; padding: 21px 23px 16px; border-bottom: 1px solid var(--line); background: repeating-linear-gradient(118deg, transparent 0 58px, rgb(255 255 255 / 1.2%) 59px 60px), linear-gradient(105deg, #0d1713, #08100d 65%); }
.speculator-heatmap-header h3 { margin: 5px 0 5px; font-family: var(--font-display); font-size: clamp(30px, 4vw, 49px); font-weight: 500; line-height: 1; }
.speculator-heatmap-header p:last-child { max-width: 850px; margin: 0; color: var(--paper-dim); font-size: 9px; line-height: 1.6; }
.crowd-cost-console {
  display: grid;
  grid-template-columns: minmax(230px, .78fr) minmax(380px, 1.65fr) minmax(260px, 1fr);
  gap: 1px;
  border-bottom: 1px solid var(--line);
  background: var(--line);
}
.crowd-cost-console > div { min-width: 0; padding: 15px 17px; background: #09110e; }
.crowd-cost-console span,
.crowd-cost-console small { display: block; color: var(--muted); font-family: var(--font-mono); font-size: 7px; line-height: 1.45; }
.crowd-cost-primary { box-shadow: inset 3px 0 0 var(--squeeze-watch); background: linear-gradient(90deg, rgb(239 184 93 / 9%), #09110e 72%) !important; }
.crowd-cost-primary strong { display: block; margin: 4px 0 3px; color: var(--squeeze-watch); font-family: var(--font-display); font-size: 31px; font-weight: 500; line-height: 1; }
.crowd-cost-trigger strong { display: block; margin: 6px 0 4px; color: var(--paper); font-family: var(--font-display); font-size: 19px; font-weight: 500; line-height: 1.08; }
.crowd-cost-console.down .crowd-cost-trigger { box-shadow: inset 0 -2px 0 var(--squeeze-down); background: linear-gradient(180deg, rgb(255 112 104 / 7%), #09110e 64%); }
.crowd-cost-console.down .crowd-cost-trigger strong { color: var(--squeeze-down); }
.crowd-cost-console.up .crowd-cost-trigger { box-shadow: inset 0 -2px 0 var(--squeeze-up); background: linear-gradient(180deg, rgb(85 183 255 / 7%), #09110e 64%); }
.crowd-cost-console.up .crowd-cost-trigger strong { color: var(--squeeze-up); }
.crowd-cost-console.inside .crowd-cost-trigger strong,
.crowd-cost-console.wait .crowd-cost-trigger strong { color: var(--squeeze-watch); }
.crowd-cost-track-wrap { display: grid; align-content: center; gap: 8px; }
.crowd-cost-track {
  position: relative;
  height: 68px;
  margin-inline: 10px;
  border-top: 1px solid #46564f;
  border-bottom: 1px solid #27332e;
  background: linear-gradient(180deg, rgb(255 255 255 / 1.5%), transparent);
}
.crowd-cost-track::before { position: absolute; top: 33px; right: 0; left: 0; height: 1px; content: ""; background: #56675f; }
.crowd-cost-track .value-band { position: absolute; z-index: 1; top: 26px; height: 15px; border: 1px solid rgb(239 184 93 / 70%); background: rgb(239 184 93 / 20%); }
.cost-marker { position: absolute; z-index: 2; top: 7px; width: 1px; height: 54px; background: #829188; transform: translateX(-.5px); }
.cost-marker b,
.cost-marker em { position: absolute; left: 5px; display: block; width: max-content; color: var(--muted); font-family: var(--font-mono); font-size: 6px; font-style: normal; font-weight: 500; white-space: nowrap; }
.cost-marker b { top: -3px; }
.cost-marker em { top: 8px; color: var(--paper-dim); }
.cost-marker.low b,
.cost-marker.low em,
.cost-marker.high b,
.cost-marker.high em { top: 42px; }
.cost-marker.low em,
.cost-marker.high em { top: 51px; }
.cost-marker.low,
.cost-marker.high { height: 34px; background: var(--squeeze-watch); }
.cost-marker.vwap { width: 2px; background: var(--squeeze-watch); box-shadow: 0 0 7px rgb(239 184 93 / 48%); }
.cost-marker.vwap b,
.cost-marker.vwap em { color: #f2cf8d; }
.cost-marker.poc { top: 17px; height: 28px; background: #d4c28d; }
.cost-marker.poc b { top: -13px; }
.cost-marker.poc em { top: -4px; }
.cost-marker.spot { top: 21px; width: 2px; height: 27px; background: var(--paper); }
.cost-marker.spot b { top: 29px; }
.cost-marker.spot em { top: 38px; }
.cost-marker.spot.up { background: var(--squeeze-up); }
.cost-marker.spot.down { background: var(--squeeze-down); }
.cost-marker.spot.up b,
.cost-marker.spot.up em { color: var(--squeeze-up); }
.cost-marker.spot.down b,
.cost-marker.spot.down em { color: var(--squeeze-down); }
.cost-track-wait { display: grid !important; height: 100%; place-items: center; color: var(--squeeze-watch) !important; }
.speculator-heatmap-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; border-bottom: 1px solid var(--line); background: var(--line); }
.speculator-heatmap-summary > div { min-width: 0; padding: 13px 16px; background: #09100e; }
.speculator-heatmap-summary span,
.speculator-heatmap-summary small { display: block; overflow: hidden; color: var(--muted); font-family: var(--font-mono); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.speculator-heatmap-summary strong { display: block; overflow: hidden; margin: 6px 0 3px; color: var(--paper); font-family: var(--font-display); font-size: 18px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.speculator-heatmap-summary > div:first-child strong { line-height: 1.08; white-space: normal; }
.speculator-heatmap-summary strong.up { color: var(--squeeze-up); }
.speculator-heatmap-summary strong.down { color: var(--squeeze-down); }
.speculator-heatmap-summary strong.watch,
.speculator-heatmap-summary strong.mixed { color: var(--squeeze-watch); }
.speculator-heatmap-summary strong.unknown { color: var(--muted); }
.speculator-heatmap-frame { position: relative; min-height: 455px; overflow-x: auto; padding: 4px 12px 0; background: radial-gradient(circle at 50% 4%, rgb(239 184 93 / 4%), transparent 30rem), #060c0a; scrollbar-color: var(--line-bright) var(--ink); scrollbar-width: thin; }
.speculator-heatmap { display: block; width: 100%; min-width: 840px; height: auto; }
.speculator-map-bg { fill: #0a1210; stroke: #35443e; stroke-width: 1; }
.speculator-map-outline { fill: none; stroke: #35443e; stroke-width: 1; }
.speculator-map-grid { stroke: #34413c; stroke-width: .7; stroke-dasharray: 3 5; opacity: .8; }
.speculator-map-axis { stroke: #9baea5; stroke-width: 1; stroke-dasharray: 7 6; opacity: .65; }
.speculator-map-tick,
.speculator-map-zone,
.speculator-map-axis-label,
.crowd-cost-label { fill: #75877e; font-family: var(--font-mono); font-size: 8px; }
.speculator-map-zone.up { fill: #78c8ff; }
.speculator-map-zone.down { fill: #ff8b84; }
.speculator-map-axis-label { fill: #66786f; letter-spacing: .06em; }
.speculator-market-dot { cursor: pointer; outline: none; }
.speculator-market-bubble { stroke-width: 2; transition: filter 140ms ease, transform 140ms ease; transform-box: fill-box; transform-origin: center; }
.speculator-market-dot.up .speculator-market-bubble { fill: var(--squeeze-up); fill-opacity: .82; stroke: #c6eaff; }
.speculator-market-dot.down .speculator-market-bubble { fill: var(--squeeze-down); fill-opacity: .84; stroke: #ffd0cc; }
.speculator-market-dot.mixed .speculator-market-bubble { fill: var(--squeeze-watch); fill-opacity: .8; stroke: #ffe2aa; }
.speculator-market-dot:hover .speculator-market-bubble,
.speculator-market-dot:focus .speculator-market-bubble { filter: drop-shadow(0 0 10px currentColor); transform: scale(1.2); }
.speculator-market-dot text { fill: #07100d; font-family: var(--font-mono); font-size: 7px; font-weight: 900; pointer-events: none; }
.speculator-map-selection { fill: none; stroke: var(--paper); stroke-width: 1.4; stroke-dasharray: 4 3; animation: marketSelection 6s linear infinite; }
.speculator-market-dot.is-selected .speculator-market-bubble { stroke-width: 3; }
.crowd-value-area { fill: var(--squeeze-watch); fill-opacity: .08; stroke: var(--squeeze-watch); stroke-width: .7; stroke-dasharray: 3 4; }
.crowd-cost-line { stroke-width: 1.2; }
.crowd-cost-line.vwap { stroke: var(--squeeze-watch); stroke-dasharray: 7 5; }
.crowd-cost-line.poc { stroke: #d4c28d; stroke-dasharray: 2 4; opacity: .8; }
.crowd-cost-line.spot { stroke: #dbe7e1; stroke-width: .75; stroke-dasharray: 2 5; opacity: .55; }
.crowd-cost-label.major { fill: var(--squeeze-watch); font-size: 9px; font-weight: 700; paint-order: stroke; stroke: #07100d; stroke-width: 3px; }
.crowd-cost-label.spot { fill: #dbe7e1; paint-order: stroke; stroke: #07100d; stroke-width: 3px; }
.crowd-current-point { cursor: help; outline: none; }
.crowd-current-halo { fill: none; stroke: var(--squeeze-watch); stroke-width: 1.2; stroke-dasharray: 4 4; opacity: .55; transform-box: fill-box; transform-origin: center; animation: crowd-point-pulse 2.8s ease-in-out infinite; }
.crowd-current-bubble { fill: var(--squeeze-watch); stroke: #ffe3ab; stroke-width: 2.5; }
.crowd-current-point.up .crowd-current-halo { stroke: var(--squeeze-up); }
.crowd-current-point.up .crowd-current-bubble { fill: var(--squeeze-up); stroke: #d7efff; }
.crowd-current-point.down .crowd-current-halo { stroke: var(--squeeze-down); }
.crowd-current-point.down .crowd-current-bubble { fill: var(--squeeze-down); stroke: #ffd7d3; }
.crowd-current-point.unknown .crowd-current-bubble { fill: #64766e; stroke: #aebdb6; }
.crowd-current-point text { fill: #07100d; font-family: var(--font-mono); font-size: 7px; font-weight: 900; pointer-events: none; }
.speculator-map-tooltip { position: absolute; z-index: 7; display: grid; min-width: 260px; max-width: 330px; gap: 3px; padding: 10px 11px; border: 1px solid #465a50; background: rgb(6 12 10 / 97%); box-shadow: 0 18px 42px rgb(0 0 0 / 48%); opacity: 0; pointer-events: none; transform: translateY(5px); transition: opacity 120ms ease, transform 120ms ease; }
.speculator-map-tooltip.is-visible { opacity: 1; transform: translateY(0); }
.speculator-map-tooltip span,
.speculator-map-tooltip small,
.speculator-map-tooltip em { color: var(--muted); font-family: var(--font-mono); font-size: 7px; font-style: normal; line-height: 1.45; }
.speculator-map-tooltip strong { color: var(--paper); font-family: var(--font-mono); font-size: 10px; }
.speculator-map-tooltip strong.up { color: var(--squeeze-up); }
.speculator-map-tooltip strong.down { color: var(--squeeze-down); }
.speculator-map-tooltip strong.mixed { color: var(--squeeze-watch); }
.speculator-map-tooltip em { margin-top: 3px; padding-top: 5px; border-top: 1px solid var(--line); color: var(--amber); }
.speculator-map-tooltip.market-map-tooltip { width: 338px; min-width: 338px; max-width: 338px; gap: 0; overflow: hidden; padding: 0; border-top: 2px solid var(--mint); }
.speculator-map-tooltip.market-map-tooltip .market-tooltip-price strong { font-size: 18px; }
.speculator-map-tooltip.market-map-tooltip .market-tooltip-price em { margin: 0; padding: 0; border: 0; font-size: 9px; }
.speculator-map-tooltip.market-map-tooltip .market-tooltip-grid strong { font-size: 10px; }
.speculator-map-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; padding: 10px 20px; border-block: 1px solid var(--line); color: var(--paper-dim); font-family: var(--font-mono); font-size: 8px; }
.speculator-map-legend span { display: inline-flex; align-items: center; gap: 7px; }
.speculator-map-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; }
.speculator-map-legend i.up { background: var(--squeeze-up); }
.speculator-map-legend i.down { background: var(--squeeze-down); }
.speculator-map-legend i.mixed { background: var(--squeeze-watch); }
.speculator-map-legend i.cost { width: 18px; height: 8px; border: 1px dashed var(--squeeze-watch); border-radius: 0; background: rgb(239 184 93 / 9%); }
.speculator-map-legend em { margin-left: auto; color: var(--muted); font-style: normal; }
.speculator-map-note { margin: 0; padding: 10px 20px 13px; color: var(--muted); font-family: var(--font-mono); font-size: 8px; line-height: 1.5; }

@keyframes crowd-point-pulse {
  0%, 100% { opacity: .35; transform: scale(.9); }
  50% { opacity: .9; transform: scale(1.18); }
}

.squeeze-command {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  min-height: 330px;
  overflow: hidden;
  border: 1px solid var(--line);
  background:
    repeating-linear-gradient(118deg, transparent 0 54px, rgb(255 255 255 / 1.4%) 55px 56px),
    radial-gradient(circle at 81% 44%, rgb(85 183 255 / 12%), transparent 23rem),
    linear-gradient(105deg, #0d1713, #08100d 65%);
  box-shadow: var(--shadow);
}

.squeeze-command.down { background: repeating-linear-gradient(118deg, transparent 0 54px, rgb(255 255 255 / 1.4%) 55px 56px), radial-gradient(circle at 81% 44%, rgb(255 112 104 / 12%), transparent 23rem), linear-gradient(105deg, #17110f, #08100d 65%); }
.squeeze-command.mixed { background: repeating-linear-gradient(118deg, transparent 0 54px, rgb(255 255 255 / 1.4%) 55px 56px), radial-gradient(circle at 81% 44%, rgb(239 184 93 / 11%), transparent 23rem), linear-gradient(105deg, #15140e, #08100d 65%); }
.squeeze-command::before { position: absolute; inset: 0 0 auto; height: 2px; content: ""; background: linear-gradient(90deg, var(--squeeze-down), var(--squeeze-watch), var(--squeeze-up)); }
.squeeze-command-copy { align-self: center; padding: clamp(28px, 4vw, 55px); }
.squeeze-eyebrow { display: inline-block; margin: 8px 0 13px; color: var(--mint); font-family: var(--font-mono); font-size: 8px; letter-spacing: .12em; }
.squeeze-command h3 { max-width: 850px; margin: 0 0 17px; font-family: var(--font-display); font-size: clamp(38px, 5.2vw, 70px); font-weight: 500; line-height: .98; }
.squeeze-command-copy > p:last-child { max-width: 780px; margin: 0; color: var(--paper-dim); font-size: 11px; line-height: 1.75; }
.squeeze-radar { display: grid; place-items: center; align-content: center; gap: 8px; min-height: 330px; border-left: 1px solid var(--line); background: rgb(2 8 6 / 35%); text-align: center; }
.squeeze-radar-rings { position: relative; display: grid; width: 188px; height: 188px; place-items: center; }
.squeeze-radar-rings > i { position: absolute; border: 1px solid rgb(112 240 170 / 16%); border-radius: 50%; animation: squeeze-pulse 3.8s ease-in-out infinite; }
.squeeze-radar-rings > i:nth-child(1) { width: 188px; height: 188px; }
.squeeze-radar-rings > i:nth-child(2) { width: 138px; height: 138px; animation-delay: .45s; }
.squeeze-radar-rings > i:nth-child(3) { width: 90px; height: 90px; animation-delay: .9s; }
.squeeze-radar-rings > span { position: relative; z-index: 1; display: grid; width: 104px; height: 104px; place-items: center; align-content: center; border: 1px solid color-mix(in srgb, var(--mint) calc(var(--pressure) * 1%), var(--line)); border-radius: 50%; background: radial-gradient(circle, rgb(112 240 170 / 13%), #09110e 68%); box-shadow: 0 0 45px rgb(112 240 170 / 8%); }
.squeeze-radar strong { color: var(--mint); font-family: var(--font-display); font-size: 48px; font-weight: 500; line-height: .8; }
.squeeze-radar small { color: var(--muted); font-family: var(--font-mono); font-size: 8px; }
.squeeze-radar em { color: var(--amber); font-family: var(--font-mono); font-size: 9px; font-style: normal; letter-spacing: .1em; }
.squeeze-radar b { max-width: 230px; color: var(--paper); font-family: var(--font-display); font-size: 21px; font-weight: 500; }

.pressure-verdict-strip { display: grid; grid-template-columns: 1.12fr 1.08fr .82fr 1fr .9fr; gap: 1px; margin-top: 15px; border: 1px solid var(--line); background: var(--line); }
.pressure-verdict-strip > div { min-width: 0; padding: 15px 17px; background: var(--ink-soft); }
.pressure-verdict-strip span, .pressure-verdict-strip small { display: block; color: var(--muted); font-family: var(--font-mono); font-size: 8px; }
.pressure-verdict-strip strong { display: block; overflow: hidden; margin: 7px 0 4px; color: var(--paper); font-family: var(--font-display); font-size: 18px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.pressure-verdict-strip > div:first-child strong { color: var(--amber); }
.pressure-verdict-strip > div.cost { background: linear-gradient(155deg, rgb(239 184 93 / 9%), transparent 58%), var(--ink-soft); }
.pressure-verdict-strip > div.cost strong { color: var(--amber); }

.squeeze-evidence-chain { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 15px; }
.squeeze-signal-card { position: relative; min-height: 330px; overflow: hidden; padding: 20px; border: 1px solid var(--line); background: linear-gradient(150deg, rgb(239 184 93 / 4%), transparent 48%), var(--panel); }
.squeeze-signal-card::before { position: absolute; inset: 0 0 auto; height: 2px; content: ""; background: var(--muted); }
.squeeze-signal-card.up::before { background: var(--squeeze-up); box-shadow: 0 0 18px rgb(85 183 255 / 48%); }
.squeeze-signal-card.down::before { background: var(--squeeze-down); box-shadow: 0 0 18px rgb(255 112 104 / 48%); }
.squeeze-signal-card.watch::before, .squeeze-signal-card.balanced::before { background: var(--squeeze-watch); }
.squeeze-signal-card header { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-family: var(--font-mono); font-size: 8px; letter-spacing: .08em; }
.squeeze-signal-card header em { color: var(--amber); font-style: normal; }
.squeeze-signal-card h4 { margin: 22px 0 9px; font-family: var(--font-display); font-size: clamp(24px, 2.5vw, 34px); font-weight: 500; }
.squeeze-signal-card > p { min-height: 50px; margin: 0 0 16px; color: var(--paper-dim); font-size: 9px; line-height: 1.65; }
.squeeze-signal-card footer { position: absolute; right: 20px; bottom: 17px; left: 20px; padding-top: 10px; border-top: 1px solid var(--line); color: var(--muted); font-family: var(--font-mono); font-size: 7px; }
.binary-pressure { height: 7px; margin: 10px 0 14px; overflow: hidden; background: var(--line); }
.binary-pressure i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--squeeze-up) 0 var(--call), var(--squeeze-down) var(--call) 100%); }
.signal-pair, .surface-mini { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.signal-pair > div, .surface-mini > div { min-width: 0; padding: 11px; background: var(--ink-soft); }
.signal-pair span, .signal-pair small, .surface-mini span, .surface-mini small { display: block; color: var(--muted); font-family: var(--font-mono); font-size: 7px; }
.signal-pair strong, .surface-mini strong { display: block; overflow: hidden; margin: 5px 0 2px; font-family: var(--font-mono); font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.surface-mini { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.surface-mini > div:first-child strong { color: var(--squeeze-down); }
.surface-mini > div:last-child strong { color: var(--squeeze-up); }
.surface-mini .atm { background: rgb(239 184 93 / 6%); text-align: center; }
.close-pressure-meter { position: relative; height: 34px; overflow: hidden; margin: 16px 0 14px; border: 1px solid var(--line); background: repeating-linear-gradient(90deg, transparent 0 19%, rgb(255 255 255 / 4%) 20%); }
.close-pressure-meter i { display: block; height: 100%; background: linear-gradient(90deg, rgb(239 184 93 / 18%), rgb(255 112 104 / 42%)); }
.close-pressure-meter b { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--font-mono); font-size: 9px; }

.surface-workbench { position: relative; overflow: hidden; margin-top: 15px; border: 1px solid var(--line); background: var(--panel); }
.surface-workbench::before { position: absolute; inset: 0 0 auto; height: 2px; content: ""; background: linear-gradient(90deg, var(--squeeze-down), transparent 46%, var(--squeeze-up)); }
.surface-workbench-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 21px 23px 16px; border-bottom: 1px solid var(--line); }
.surface-workbench-head h4 { margin: 5px 0 3px; font-family: var(--font-display); font-size: 27px; font-weight: 500; }
.surface-workbench-head p:last-child { max-width: 780px; margin: 0; color: var(--muted); font-size: 9px; }
.surface-chart-wrap { position: relative; overflow-x: auto; padding: 10px 16px 0; background: linear-gradient(180deg, rgb(85 183 255 / 3%), transparent 45%, rgb(255 112 104 / 3%)), #090e0d; }
.surface-chart { display: block; width: 100%; min-width: 740px; height: auto; }
.surface-chart-bg { fill: #0b1110; stroke: #2b3934; }
.surface-grid { stroke: #2b3733; stroke-width: .8; stroke-dasharray: 2 4; }
.surface-atm-line { stroke: var(--amber); stroke-width: 1; stroke-dasharray: 5 4; opacity: .8; }
.surface-atm-label { fill: var(--amber); font-family: var(--font-mono); font-size: 8px; }
.surface-path { fill: none; stroke-width: 2.7; stroke-linecap: round; stroke-linejoin: round; }
.surface-path.call { stroke: var(--squeeze-up); }
.surface-path.put { stroke: var(--squeeze-down); }
.surface-dot { cursor: crosshair; stroke: #08100d; stroke-width: 2; transition: r 120ms ease, filter 120ms ease; }
.surface-dot.call { fill: var(--squeeze-up); }
.surface-dot.put { fill: var(--squeeze-down); }
.surface-dot:hover, .surface-dot:focus { r: 8; filter: drop-shadow(0 0 5px currentColor); outline: none; }
.surface-axis-label, .surface-axis-title { fill: #71827a; font-family: var(--font-mono); font-size: 8px; }
.surface-axis-title { fill: #60716a; letter-spacing: .08em; }
.surface-tooltip { position: absolute; z-index: 5; display: grid; min-width: 185px; gap: 2px; padding: 9px 10px; border: 1px solid #42564d; background: rgb(7 12 10 / 96%); box-shadow: 0 14px 34px rgb(0 0 0 / 40%); opacity: 0; pointer-events: none; transform: translateY(5px); transition: opacity 100ms ease, transform 100ms ease; }
.surface-tooltip.is-visible { opacity: 1; transform: translateY(0); }
.surface-tooltip span, .surface-tooltip small { color: var(--muted); font-family: var(--font-mono); font-size: 7px; }
.surface-tooltip strong { color: var(--paper); font-family: var(--font-mono); font-size: 11px; }
.surface-legend { display: flex; flex-wrap: wrap; gap: 10px 22px; padding: 10px 22px 12px; border-top: 1px solid var(--line); color: var(--paper-dim); font-family: var(--font-mono); font-size: 8px; }
.surface-legend span { display: inline-flex; align-items: center; gap: 7px; }
.surface-legend i { display: inline-block; width: 18px; border-top: 2px solid; }
.surface-legend i.call { border-color: var(--squeeze-up); }
.surface-legend i.put { border-color: var(--squeeze-down); }
.surface-legend i.atm { border-color: var(--amber); border-top-style: dashed; }
.surface-legend em { margin-left: auto; color: var(--muted); font-style: normal; }

.squeeze-detail-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 15px; margin-top: 15px; }
.otm-contract-list { display: grid; gap: 7px; }
.otm-contract-list > div { display: grid; grid-template-columns: 52px 70px 90px 1fr auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--line); background: var(--ink-soft); }
.contract-side { padding: 4px 6px; border: 1px solid; font-family: var(--font-mono); font-size: 8px; text-align: center; }
.contract-side.call { border-color: rgb(85 183 255 / 40%); color: var(--squeeze-up); }
.contract-side.put { border-color: rgb(255 112 104 / 40%); color: var(--squeeze-down); }
.otm-contract-list strong, .otm-contract-list b { font-family: var(--font-mono); font-size: 11px; }
.otm-contract-list em { color: var(--amber); font-family: var(--font-mono); font-size: 8px; font-style: normal; }
.otm-contract-list p { margin: 0; color: var(--muted); font-family: var(--font-mono); font-size: 8px; }
.otm-contract-list b { color: var(--paper-dim); font-size: 9px; }
.fear-chain { display: grid; gap: 8px; }
.fear-chain > div { display: grid; grid-template-columns: 28px 1fr; gap: 2px 10px; padding: 12px; border: 1px solid var(--line); color: var(--muted); background: var(--ink-soft); }
.fear-chain > div.is-on { border-color: rgb(239 184 93 / 42%); color: var(--paper); background: rgb(239 184 93 / 7%); }
.fear-chain span { grid-row: 1 / 3; display: grid; width: 25px; height: 25px; place-items: center; border: 1px solid var(--line-bright); border-radius: 50%; color: var(--amber); font-family: var(--font-mono); font-size: 8px; }
.fear-chain strong { font-size: 10px; }
.fear-chain small { color: var(--muted); font-size: 8px; }
.customer-translation { margin-top: 13px; padding: 14px; border-left: 3px solid var(--amber); background: rgb(239 184 93 / 6%); }
.customer-translation span { display: block; color: var(--amber); font-family: var(--font-mono); font-size: 8px; }
.customer-translation strong { display: block; margin-top: 6px; font-family: var(--font-display); font-size: 17px; font-weight: 500; line-height: 1.4; }
.squeeze-empty { padding: 28px 18px; border: 1px dashed var(--line-bright); color: var(--muted); text-align: center; }
.squeeze-evidence-boundary { margin-top: 15px; border: 1px solid var(--line); background: var(--panel); }
.squeeze-evidence-boundary summary { display: flex; justify-content: space-between; gap: 20px; padding: 15px 18px; color: var(--paper-dim); cursor: pointer; font-family: var(--font-mono); font-size: 9px; }
.squeeze-evidence-boundary summary em { color: var(--amber); font-style: normal; }
.squeeze-evidence-boundary > div { padding: 0 18px 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 9px; }
.squeeze-evidence-boundary ul { display: grid; gap: 5px; padding-left: 18px; }

@keyframes squeeze-pulse {
  0%, 100% { opacity: .3; transform: scale(.96); }
  50% { opacity: .8; transform: scale(1.04); }
}

.decision-sheet {
  border: 1px solid var(--line);
  background: var(--panel);
  box-shadow: var(--shadow);
}

.decision-top {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 20px;
  min-height: 150px;
  padding: 28px;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(105deg, rgb(112 240 170 / 10%), transparent 58%),
    var(--ink-soft);
}

.decision-top h4 {
  margin: 8px 0 5px;
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 59px);
  font-weight: 500;
}

.decision-top p {
  margin: 0;
  color: var(--paper-dim);
  font-size: 11px;
}

.decision-seal {
  display: grid;
  width: 104px;
  height: 104px;
  place-items: center;
  border: 1px solid var(--mint);
  border-radius: 50%;
  color: var(--mint);
  font-family: var(--font-mono);
  font-size: 10px;
  text-align: center;
  transform: rotate(-7deg);
}

.decision-seal.is-wait {
  border-color: var(--amber);
  color: var(--amber);
}

.decision-rows {
  display: grid;
}

.decision-row {
  display: grid;
  grid-template-columns: 130px minmax(230px, 0.72fr) 1fr;
  align-items: center;
  min-height: 94px;
  border-bottom: 1px solid var(--line);
}

.decision-row:last-child { border-bottom: 0; }

.decision-row > * {
  height: 100%;
  padding: 20px;
  border-right: 1px solid var(--line);
}

.decision-row > *:last-child { border-right: 0; }

.decision-row span {
  display: flex;
  align-items: center;
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.decision-row strong {
  display: flex;
  align-items: center;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 500;
}

.decision-row p {
  display: flex;
  align-items: center;
  margin: 0;
  color: var(--paper-dim);
  font-size: 10px;
}

.provenance-panel {
  margin-top: 15px;
}

.provenance-table td:last-child {
  color: var(--mint);
  font-family: var(--font-mono);
}

.discipline-callout {
  margin-top: 15px;
  padding: 18px 20px;
  border: 1px solid rgb(239 184 93 / 28%);
  border-left: 3px solid var(--amber);
  color: var(--paper-dim);
  background: rgb(239 184 93 / 6%);
  font-size: 11px;
}

.discipline-callout strong {
  color: var(--amber);
}

.academy-hero {
  display: grid;
  grid-template-columns: 1fr minmax(280px, 0.45fr);
  overflow: hidden;
  margin-bottom: 15px;
  border: 1px solid var(--line);
  background: var(--panel);
}

.academy-copy {
  padding: clamp(27px, 4vw, 54px);
}

.academy-copy h3 {
  margin: 10px 0 14px;
  font-family: var(--font-display);
  font-size: clamp(37px, 5vw, 66px);
  font-weight: 500;
  line-height: 1;
}

.academy-copy p {
  max-width: 730px;
  margin: 0;
  color: var(--paper-dim);
}

.academy-score {
  display: grid;
  place-items: center;
  border-left: 1px solid var(--line);
  background:
    radial-gradient(circle, rgb(239 184 93 / 13%), transparent 65%),
    var(--ink-soft);
  text-align: center;
}

.academy-score strong {
  display: block;
  color: var(--amber);
  font-family: var(--font-display);
  font-size: 76px;
  font-weight: 500;
  line-height: 1;
}

.academy-score span {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.12em;
}

.lesson-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.lesson-card {
  position: relative;
  min-height: 290px;
  padding: 21px;
}

.lesson-card.is-complete {
  border-color: rgb(112 240 170 / 28%);
  background: linear-gradient(145deg, rgb(112 240 170 / 8%), transparent 55%), var(--panel);
}

.lesson-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.lesson-meta span {
  color: var(--amber);
  font-family: var(--font-mono);
  font-size: 9px;
}

.lesson-meta em {
  color: var(--muted);
  font-size: 9px;
  font-style: normal;
}

.lesson-card h4 {
  margin: 16px 0 9px;
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 500;
}

.lesson-card p {
  margin: 0 0 13px;
  color: var(--paper-dim);
  font-size: 10px;
}

.lesson-proof {
  min-height: 58px;
  padding: 10px;
  border-left: 2px solid var(--line-bright);
  color: var(--muted);
  background: rgb(255 255 255 / 1.5%);
  font-size: 9px;
}

.lesson-card.is-complete .lesson-proof {
  border-left-color: var(--mint);
}

.lesson-actions {
  display: flex;
  gap: 8px;
  margin-top: 17px;
}

.quiz-section {
  margin-top: 15px;
  padding: 23px;
  border: 1px solid var(--line);
  background: var(--panel);
}

.quiz-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 17px;
}

.quiz-card {
  padding: 18px;
}

.quiz-card h5 {
  min-height: 62px;
  margin: 8px 0 14px;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 500;
}

.option-list {
  display: grid;
  gap: 7px;
}

.quiz-option {
  width: 100%;
  padding: 9px 10px;
  border: 1px solid var(--line);
  color: var(--paper-dim);
  background: var(--ink-soft);
  font-size: 9px;
  text-align: left;
}

.quiz-option:hover { border-color: var(--line-bright); color: var(--paper); }
.quiz-option.is-correct { border-color: var(--mint); color: var(--mint); background: rgb(112 240 170 / 7%); }
.quiz-option.is-wrong { border-color: var(--red); color: var(--red); background: rgb(255 112 104 / 7%); }

.quiz-feedback {
  min-height: 34px;
  margin-top: 10px;
  color: var(--muted);
  font-size: 9px;
}

.empty-note {
  padding: 18px;
  border: 1px dashed var(--line-bright);
  color: var(--muted);
  text-align: center;
}

.massive-dialog {
  width: min(760px, calc(100vw - 30px));
  max-height: calc(100vh - 30px);
  padding: 0;
  overflow: auto;
  border: 1px solid var(--line-bright);
  border-radius: var(--radius);
  color: var(--paper);
  background: transparent;
  box-shadow: 0 36px 120px rgb(0 0 0 / 72%);
}

.massive-dialog::backdrop {
  background:
    radial-gradient(circle at 62% 12%, rgb(112 240 170 / 8%), transparent 34rem),
    rgb(3 6 5 / 78%);
  backdrop-filter: blur(8px);
}

.massive-dialog[open] {
  animation: reveal 180ms ease both;
}

.massive-dialog__shell {
  position: relative;
  overflow: hidden;
  padding: 25px;
  background:
    linear-gradient(145deg, rgb(119 167 255 / 7%), transparent 42%),
    linear-gradient(0deg, rgb(255 255 255 / 1.5%), transparent 55%),
    #0d1411;
}

.massive-dialog__shell::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, transparent, var(--blue), var(--mint), transparent);
}

.massive-dialog__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}

.massive-dialog__head h2 {
  margin: 6px 0 0;
  font-family: var(--font-display);
  font-size: clamp(26px, 4vw, 38px);
  font-weight: 500;
}

.dialog-close {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid var(--line);
  color: var(--paper-dim);
  background: var(--panel);
  font-family: var(--font-mono);
  font-size: 19px;
  line-height: 1;
}

.dialog-close:hover {
  border-color: var(--red);
  color: var(--red);
}

.massive-link-status {
  display: flex;
  min-height: 70px;
  align-items: center;
  gap: 13px;
  margin: 18px 0;
  padding: 13px 15px;
  border: 1px solid var(--line);
  background: rgb(0 0 0 / 18%);
}

.massive-link-status__light {
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--amber);
  box-shadow: 0 0 0 6px rgb(239 184 93 / 8%);
}

.massive-link-status strong,
.massive-link-status small {
  display: block;
}

.massive-link-status strong {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.04em;
}

.massive-link-status small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 9px;
}

.massive-link-status.is-live {
  border-color: rgb(112 240 170 / 28%);
  background: rgb(112 240 170 / 5%);
}

.massive-link-status.is-live .massive-link-status__light {
  background: var(--mint);
  box-shadow: 0 0 0 6px rgb(112 240 170 / 8%), 0 0 16px rgb(112 240 170 / 34%);
}

.massive-link-status.is-error {
  border-color: rgb(255 112 104 / 28%);
}

.massive-link-status.is-error .massive-link-status__light {
  background: var(--red);
  box-shadow: 0 0 0 6px rgb(255 112 104 / 8%);
}

.massive-dialog__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(190px, 0.65fr);
  gap: 12px;
}

.massive-key-field,
.massive-refresh-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--line);
  background: var(--ink-soft);
}

.massive-key-field > span,
.massive-refresh-field > span {
  color: var(--paper-dim);
  font-size: 10px;
  letter-spacing: 0.05em;
}

.massive-key-field input,
.massive-refresh-field select {
  width: 100%;
  height: 41px;
  padding: 0 11px;
  border: 1px solid var(--line-bright);
  border-radius: 2px;
  color: var(--paper);
  background: #090d0c;
  font-family: var(--font-mono);
  font-size: 11px;
}

.massive-key-field small,
.massive-refresh-field small {
  color: var(--muted);
  font-size: 8px;
  line-height: 1.5;
}

.massive-dialog__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin: 17px 0;
}

.massive-disconnect {
  margin-left: auto;
  color: var(--muted);
}

.massive-evidence-note {
  padding: 14px 15px;
  border: 1px solid rgb(239 184 93 / 24%);
  border-left: 3px solid var(--amber);
  background: rgb(239 184 93 / 5%);
}

.massive-evidence-note strong {
  color: var(--amber);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.massive-evidence-note p {
  margin: 5px 0 0;
  color: var(--paper-dim);
  font-size: 9px;
}

.toast {
  position: fixed;
  z-index: 100;
  right: 24px;
  bottom: 24px;
  max-width: 340px;
  padding: 13px 16px;
  border: 1px solid var(--line-bright);
  color: var(--paper);
  background: rgb(17 24 21 / 96%);
  box-shadow: var(--shadow);
  font-size: 11px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes reveal {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes orbit {
  to { transform: rotate(360deg); }
}

@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 4px rgb(239 184 93 / 8%); }
  50% { box-shadow: 0 0 0 8px rgb(239 184 93 / 2%); }
}

/* Customer insurance book · portfolio Greeks and hedge sequence */
.insurance-position-workbench {
  margin-top: 15px;
  border: 1px solid var(--line-bright);
  background: #08100d;
  box-shadow: 0 22px 50px rgb(0 0 0 / 18%);
}

.insurance-position-form > header,
.insurance-hedge-console > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 20px 22px 16px;
  border-bottom: 1px solid var(--line);
}

.insurance-position-form > header h3,
.insurance-hedge-console > header h3 {
  margin: 4px 0 5px;
  font-family: var(--font-display);
  font-size: clamp(27px, 3vw, 38px);
  font-weight: 500;
  letter-spacing: -.015em;
}

.insurance-position-form > header p:last-child,
.insurance-hedge-console > header p:last-child {
  max-width: 780px;
  margin: 0;
  color: var(--paper-dim);
  font-size: 9px;
  line-height: 1.55;
}

.insurance-position-market {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
}

.insurance-position-market > div,
.insurance-position-market > label {
  display: grid;
  min-width: 0;
  min-height: 67px;
  align-content: center;
  gap: 5px;
  padding: 10px 16px;
  background: #0b120f;
}

.insurance-position-market span {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 7px;
  letter-spacing: .07em;
}

.insurance-position-market strong,
.insurance-position-market select {
  color: var(--paper);
  font-family: var(--font-mono);
  font-size: 12px;
}

.insurance-position-market select {
  width: 100%;
  min-height: 30px;
  border: 0;
  border-bottom: 1px solid var(--line-bright);
  background: transparent;
}

.insurance-position-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(90deg, rgb(112 240 170 / 4%), transparent 45%);
}

.insurance-position-tools > div { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.insurance-position-tools span { margin-right: 4px; color: var(--muted); font-family: var(--font-mono); font-size: 7px; }
.insurance-position-tools button {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid var(--line);
  color: var(--paper-dim);
  background: #0a110e;
  font-family: var(--font-mono);
  font-size: 8px;
}
.insurance-position-tools button:hover { color: var(--mint); border-color: rgb(112 240 170 / 38%); }

.insurance-position-legs { display: grid; gap: 1px; background: var(--line); }
.insurance-position-leg {
  position: relative;
  display: grid;
  grid-template-columns: 116px 78px 70px 66px 90px 62px 78px 78px minmax(130px, 1fr) 27px;
  align-items: end;
  gap: 8px;
  min-width: 0;
  padding: 12px 13px;
  background: #09100d;
  transition: background 160ms ease;
}
.insurance-position-leg.is-short { box-shadow: inset 3px 0 0 rgb(255 109 122 / 76%); }
.insurance-position-leg.is-long { box-shadow: inset 3px 0 0 rgb(112 240 170 / 72%); }
.insurance-position-leg:focus-within { background: #0d1612; }
.position-leg-index { align-self: stretch; display: grid; align-content: center; padding-right: 10px; border-right: 1px solid var(--line); }
.position-leg-index span { color: var(--muted); font-family: var(--font-mono); font-size: 7px; }
.position-leg-index strong { margin: 3px 0 2px; color: var(--paper); font-family: var(--font-mono); font-size: 10px; }
.position-leg-index small { color: var(--muted); font-family: var(--font-mono); font-size: 7px; }
.insurance-position-leg label { display: grid; min-width: 0; gap: 5px; }
.insurance-position-leg label > span { overflow: hidden; color: var(--muted); font-size: 7px; letter-spacing: .05em; text-overflow: ellipsis; white-space: nowrap; }
.insurance-position-leg label > span i { color: #66736d; font-style: normal; }
.insurance-position-leg input,
.insurance-position-leg select {
  width: 100%;
  min-height: 34px;
  padding: 0 7px;
  border: 1px solid var(--line);
  border-radius: 2px;
  color: var(--paper);
  background: var(--ink-soft);
  font-family: var(--font-mono);
  font-size: 9px;
}
.insurance-position-leg input:focus,
.insurance-position-leg select:focus { border-color: rgb(112 240 170 / 48%); outline: 0; }
.position-leg-greeks { align-self: stretch; display: grid; grid-template-columns: 1fr 1fr; align-content: center; gap: 3px 9px; padding: 7px 8px; border: 1px solid var(--line); background: rgb(255 255 255 / 1.5%); }
.position-leg-greeks span { display: flex; align-items: baseline; gap: 4px; color: var(--muted); font-family: var(--font-mono); font-size: 7px; }
.position-leg-greeks b { color: var(--paper); font-size: 9px; }
.position-leg-greeks i { margin-left: auto; color: var(--mint); font-size: 6px; font-style: normal; }
.position-leg-greeks small { grid-column: 1 / -1; color: var(--amber); font-family: var(--font-mono); font-size: 7px; }
.position-leg-remove { align-self: center; width: 27px; height: 27px; border: 1px solid transparent; color: var(--muted); background: transparent; font-size: 17px; }
.position-leg-remove:hover { color: #ff8068; border-color: rgb(255 109 122 / 30%); }
.insurance-position-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 16px; border-top: 1px solid var(--line); }
.insurance-position-form-footer p { margin: 0; color: var(--muted); font-size: 8px; }
.insurance-position-form-footer .primary-button { flex: 0 0 auto; min-height: 36px; }

.insurance-hedge-console { border-top: 3px solid var(--amber); background: #070d0b; }
.insurance-hedge-console.stable { border-top-color: var(--mint); }
.insurance-hedge-console.danger { border-top-color: #ff6d7a; }
.insurance-hedge-console.wait { border-top-color: var(--amber); }
.insurance-hedge-console.stable > header h3 { color: var(--mint); }
.insurance-hedge-console.danger > header h3 { color: #ff8068; }
.insurance-hedge-console.wait > header h3 { color: var(--amber); }
.insurance-hedge-status { padding: 5px 8px; border: 1px solid rgb(239 184 93 / 35%); color: var(--amber); background: rgb(239 184 93 / 5%); font-family: var(--font-mono); font-size: 7px; white-space: nowrap; }

.insurance-hedge-command {
  display: grid;
  grid-template-columns: 1fr 176px;
  min-height: 118px;
  border-bottom: 1px solid var(--line);
  background: radial-gradient(circle at 12% 0%, rgb(112 240 170 / 7%), transparent 38%);
}
.hedge-command-core { display: grid; align-content: center; padding: 18px 22px; border-right: 1px solid var(--line); }
.hedge-command-core span,
.hedge-urgency span { color: var(--muted); font-family: var(--font-mono); font-size: 7px; letter-spacing: .08em; }
.hedge-command-core strong { margin: 6px 0 5px; color: var(--paper); font-family: var(--font-mono); font-size: clamp(18px, 2.2vw, 28px); letter-spacing: .03em; }
.hedge-command-core p { margin: 0; color: var(--paper-dim); font-size: 9px; }
.hedge-urgency { display: grid; align-content: center; padding: 16px 19px; }
.hedge-urgency strong { color: var(--amber); font-family: var(--font-mono); font-size: 31px; }
.hedge-urgency small { color: var(--muted); font-family: var(--font-mono); font-size: 7px; }
.hedge-urgency i { position: relative; display: block; height: 3px; margin-top: 10px; background: var(--line); }
.hedge-urgency i::after { position: absolute; inset: 0 auto 0 0; width: var(--hedge-urgency); content: ""; background: linear-gradient(90deg, var(--mint), var(--amber), #ff6d7a); }

.insurance-portfolio-greeks { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line); }
.insurance-portfolio-greeks article { min-width: 0; min-height: 92px; padding: 13px 15px; background: #09100d; }
.insurance-portfolio-greeks article.is-selected { background: linear-gradient(145deg, rgb(239 184 93 / 11%), transparent 72%), #09100d; }
.insurance-portfolio-greeks article.is-active { background: linear-gradient(145deg, rgb(255 109 122 / 8%), transparent 72%), #09100d; }
.insurance-portfolio-greeks span,
.insurance-portfolio-greeks small { display: block; color: var(--muted); font-family: var(--font-mono); font-size: 7px; }
.insurance-portfolio-greeks strong { display: block; margin: 7px 0 3px; overflow: hidden; color: var(--paper); font-family: var(--font-mono); font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.insurance-portfolio-greeks article.is-selected strong { color: var(--amber); }

.insurance-hedge-sequence { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 14px 16px 0; background: var(--line); }
.insurance-hedge-sequence > div { position: relative; min-height: 73px; padding: 12px 13px; background: #0a110e; }
.insurance-hedge-sequence > div:not(:last-child)::after { position: absolute; z-index: 2; top: 31px; right: -6px; width: 11px; height: 11px; content: "→"; color: var(--muted); background: #0a110e; font-family: var(--font-mono); font-size: 8px; text-align: center; }
.insurance-hedge-sequence span,
.insurance-hedge-sequence small { display: block; color: var(--muted); font-family: var(--font-mono); font-size: 7px; }
.insurance-hedge-sequence strong { display: block; margin: 4px 0 3px; color: var(--paper); font-family: var(--font-mono); font-size: 10px; }
.insurance-hedge-sequence .is-current { box-shadow: inset 0 -2px 0 var(--amber); background: rgb(239 184 93 / 7%); }
.insurance-hedge-sequence .is-current strong { color: var(--amber); }
.insurance-hedge-sequence .is-done { box-shadow: inset 0 -2px 0 var(--mint); }
.insurance-hedge-sequence .is-danger { box-shadow: inset 0 -2px 0 #ff6d7a; }
.insurance-hedge-sequence .is-danger strong { color: #ff8068; }

.insurance-delta-scenario { margin: 14px 16px 0; border: 1px solid var(--line); background: #080e0c; }
.insurance-delta-scenario-head { display: flex; justify-content: space-between; gap: 16px; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.insurance-delta-scenario-head span,
.insurance-delta-scenario-head em { color: var(--muted); font-family: var(--font-mono); font-size: 7px; font-style: normal; }
.insurance-delta-scenario svg { display: block; width: 100%; min-width: 620px; }
.delta-zone.positive { fill: rgb(255 128 104 / 3.5%); }
.delta-zone.negative { fill: rgb(75 182 255 / 3.5%); }
.delta-zero { stroke: #66736d; stroke-width: .8; stroke-dasharray: 4 5; }
.delta-zone-label,
.delta-axis-title { fill: #77837d; font-family: var(--font-mono); font-size: 7px; }
.delta-zone-label.sell { fill: #ce8d76; }
.delta-zone-label.buy { fill: #67bfea; }
.delta-scenario-point rect { opacity: .34; }
.delta-scenario-point.sell rect,
.delta-scenario-point.sell circle { fill: #ff8068; }
.delta-scenario-point.buy rect,
.delta-scenario-point.buy circle { fill: #4bb6ff; }
.delta-scenario-point text { fill: #d7e0db; font-family: var(--font-mono); font-size: 7px; }
.delta-scenario-point text.shock { fill: #aeb9b3; }
.delta-scenario-point text.price { fill: #64716a; font-size: 6px; }
.delta-scenario-path { fill: none; stroke: #efb85d; stroke-width: 1.25; }
.insurance-hedge-note { margin: 12px 16px 15px; padding: 10px 12px; border-left: 2px solid var(--amber); color: var(--muted); background: rgb(239 184 93 / 4%); font-size: 8px; line-height: 1.6; }
.insurance-position-empty { display: grid; min-height: 150px; place-content: center; gap: 6px; padding: 24px; color: var(--muted); text-align: center; }
.insurance-position-empty strong { color: var(--amber); font-family: var(--font-mono); }
.insurance-position-empty span { font-size: 9px; }

@media (max-width: 1180px) {
  :root { --rail: 224px; }
  .insurance-position-legs { overflow-x: auto; }
  .insurance-position-leg { min-width: 980px; }
  .brand-lockup { padding-inline: 17px; }
  .brand-mark { width: 45px; height: 50px; }
  .data-ribbon { grid-template-columns: repeat(4, 1fr); }
  .ribbon-warning { grid-column: 1 / -1; border-top: 1px solid var(--line); }
  .role-grid { grid-template-columns: 1fr; }
  .role-card { min-height: 215px; }
  .insurance-hero-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .insurance-hero-results .execution { grid-column: 1 / -1; }
  .insurance-output-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .payout-ledger { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .payout-ledger > div:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .market-heatmap-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .market-heatmap-summary > div:nth-child(2) { border-right: 0; }
  .market-heatmap-summary > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .insurance-opportunity-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .insurance-opportunity-summary > div:nth-child(2) { border-right: 0; }
  .insurance-opportunity-summary > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .split-grid, .underwriting-layout, .speculator-layout { grid-template-columns: 1fr; }
  .gex-chart-header { align-items: stretch; }
  .gex-chart-toolbar { justify-content: flex-end; }
  .hedge-heatmap-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hedge-heatmap-summary > div:nth-child(2) { border-right: 0; }
  .hedge-heatmap-summary > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .monitor-grid { grid-template-columns: repeat(2, 1fr); }
  .greeks-grid { grid-template-columns: repeat(3, 1fr); }
  .lesson-grid, .quiz-grid { grid-template-columns: repeat(2, 1fr); }
  .source-button { min-width: 145px; }
  .dealer-transfer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .speculator-heatmap-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .crowd-cost-console { grid-template-columns: minmax(220px, .75fr) minmax(420px, 1.5fr); }
  .crowd-cost-trigger { grid-column: 1 / -1; }
  .squeeze-command { grid-template-columns: 1fr 250px; }
  .pressure-verdict-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .squeeze-evidence-chain { grid-template-columns: 1fr; }
  .squeeze-signal-card { min-height: 290px; }
}

@media (max-width: 820px) {
  :root { --rail: 0px; }
  .side-rail {
    position: relative;
    width: 100%;
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .brand-lockup { min-height: 82px; }
  .brand-mark { width: 42px; height: 44px; font-size: 24px; }
  .primary-nav {
    display: grid;
    grid-template-columns: repeat(6, minmax(130px, 1fr));
    overflow-x: auto;
    padding: 8px 12px 12px;
  }
  .nav-item { min-height: 52px; }
  .nav-item.is-active::before { inset: auto 14px -12px; width: auto; height: 2px; }
  .rail-progress, .rail-status { display: none; }
  .workspace { margin-left: 0; }
  .topbar { position: relative; padding-inline: 18px; }
  .topbar h2 { font-size: 22px; }
  .topbar-actions { flex-wrap: wrap; justify-content: flex-end; }
  .data-ribbon { grid-template-columns: 1fr 1fr; }
  .ticker-tag, .ribbon-fact, .ribbon-warning { border-bottom: 1px solid var(--line); }
  .ribbon-warning { grid-column: 1 / -1; }
  .view-stage { padding: 22px 16px 36px; }
  .insurance-command-hero > header,
  .insurance-curve-panel > header,
  .insurance-sweet-spot-panel > header,
  .insurance-training-mode > header { flex-direction: column; }
  .insurance-position-form > header,
  .insurance-hedge-console > header { flex-direction: column; }
  .insurance-position-market { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .insurance-hedge-command { grid-template-columns: 1fr; }
  .hedge-command-core { border-right: 0; border-bottom: 1px solid var(--line); }
  .insurance-portfolio-greeks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .insurance-hedge-sequence { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .insurance-hedge-sequence > div:nth-child(2)::after { display: none; }
  .insurance-delta-scenario { overflow-x: auto; }
  .insurance-sweet-spot-panel > header > span { text-align: left; }
  .insurance-pro-badge { min-width: 0; text-align: left; }
  .insurance-hero-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .insurance-hero-results .execution { grid-column: 1 / -1; }
  .insurance-decision-line { grid-template-columns: 1fr; gap: 8px; }
  .insurance-decision-line span { justify-self: start; }
  .insurance-process { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .insurance-lab-shell { grid-template-columns: 1fr; }
  .insurance-score-board { border-top: 1px solid var(--line); border-left: 0; }
  .insurance-defined-risk-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .insurance-why-panel { grid-template-columns: 1fr; }
  .insurance-why-panel > header { border-right: 0; border-bottom: 1px solid var(--line); }
  .gex-chart-header { flex-direction: column; gap: 15px; }
  .gex-chart-toolbar { justify-content: flex-start; }
  .market-heatmap-header { flex-direction: column; }
  .market-heatmap { min-width: 760px; }
  .insurance-opportunity-header { flex-direction: column; }
  .insurance-map-status { min-width: 0; text-align: left; }
  .insurance-opportunity-chart { min-width: 760px; }
  .scope-selection-gate { grid-template-columns: 1fr; gap: 20px; }
  .insurance-selected-verdict > header { flex-direction: column; }
  .insurance-vol-header,
  .hedge-risk-comparison > header { flex-direction: column; }
  .insurance-pricing-lab { grid-template-columns: 1fr; }
  .insurance-premium-quote { min-height: 260px; border-top: 1px solid var(--line); border-left: 0; }
  .premium-load-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hedge-heatmap-header { flex-direction: column; }
  .hedge-heatmap { min-width: 720px; }
  .dealer-transfer-ticket > header,
  .speculator-heatmap-header { flex-direction: column; }
  .crowd-cost-console { grid-template-columns: 1fr; }
  .crowd-cost-trigger { grid-column: auto; }
  .speculator-heatmap { min-width: 760px; }
  .gex-chart-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gex-chart-stats > div:nth-child(2) { border-right: 0; }
  .gex-chart-stats > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .dealer-gex-chart, .dealer-flow-chart { min-width: 760px; }
  .dealer-flow-live-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dealer-flow-live-strip > div:nth-child(2) { border-right: 0; }
  .dealer-flow-live-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .dealer-flow-alert { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dealer-flow-alert-copy { grid-column: 1 / -1; border-bottom: 1px solid var(--line); }
  .dealer-flow-alert-score { border-right: 1px solid var(--line); }
  .dealer-flow-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dealer-flow-kpis > div:nth-child(2) { border-right: 0; }
  .dealer-flow-kpis > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .dealer-flow-channel-meter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dealer-flow-channel-meter em { grid-column: 1 / -1; white-space: normal; }
  .structure-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .command-hero { grid-template-columns: 1fr; }
  .hero-core { min-height: 330px; border-top: 1px solid var(--line); border-left: 0; }
  .mission-strip { grid-template-columns: repeat(2, 1fr); }
  .mission-step:nth-child(2) { border-right: 0; }
  .mission-step:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .metric-grid, .kpi-row { grid-template-columns: repeat(2, 1fr); }
  .academy-hero { grid-template-columns: 1fr; }
  .academy-score { min-height: 190px; border-top: 1px solid var(--line); border-left: 0; }
  .decision-row { grid-template-columns: 110px 1fr; }
  .decision-row p { grid-column: 1 / -1; border-top: 1px solid var(--line); }
  .squeeze-command { grid-template-columns: 1fr; }
  .squeeze-radar { min-height: 260px; border-top: 1px solid var(--line); border-left: 0; }
  .surface-workbench-head { flex-direction: column; }
  .squeeze-detail-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .topbar { align-items: flex-start; gap: 14px; }
  .topbar-actions { gap: 7px; }
  .breadcrumb { display: none; }
  .source-button { min-width: 45px; width: 45px; grid-template-columns: 1fr; place-items: center; padding: 0; }
  .source-button > span:nth-child(2), .source-button em { display: none; }
  .export-decision-button { width: 45px; grid-template-columns: 1fr; place-items: center; padding: 0; }
  .export-decision-button span { display: none; }
  .symbol-picker__trigger { min-width: 45px; width: 45px; grid-template-columns: 1fr; padding: 0; place-items: center; }
  .symbol-picker__current, .symbol-picker__trigger > svg { display: none; }
  .symbol-picker__group > div { grid-template-columns: 1fr; }
  .data-ribbon { grid-template-columns: 1fr; }
  .ribbon-warning { grid-column: auto; }
  .section-heading { display: block; }
  .section-heading > p:last-child { margin-top: 12px; }
  .insurance-command-hero > header { padding: 22px 16px 16px; }
  .insurance-command-hero h2 { font-size: 41px; }
  .insurance-hero-results { grid-template-columns: 1fr; }
  .insurance-hero-results .execution { grid-column: auto; }
  .insurance-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .insurance-process button:first-child { grid-column: 1 / -1; }
  .insurance-lab-form,
  .insurance-score-board { padding: 18px 15px; }
  .insurance-position-market { grid-template-columns: 1fr; }
  .insurance-position-tools { align-items: stretch; flex-direction: column; }
  .insurance-position-tools > button { width: 100%; }
  .insurance-position-legs { overflow: visible; }
  .insurance-position-leg { grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; gap: 11px 9px; padding: 14px; }
  .position-leg-index { grid-column: 1 / -1; padding: 0 34px 10px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .position-leg-greeks { grid-column: 1 / -1; }
  .position-leg-remove { position: absolute; top: 13px; right: 12px; }
  .insurance-position-form-footer { align-items: stretch; flex-direction: column; }
  .insurance-position-form-footer .primary-button { width: 100%; }
  .insurance-portfolio-greeks,
  .insurance-hedge-sequence { grid-template-columns: 1fr; }
  .insurance-hedge-sequence > div::after { display: none; }
  .insurance-delta-scenario-head { flex-direction: column; gap: 4px; }
  .insurance-lab-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .insurance-score-components > div { grid-template-columns: 110px minmax(45px, 1fr) 56px; }
  .insurance-output-grid,
  .insurance-defined-risk-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .insurance-sweet-summary { grid-template-columns: 1fr; }
  .insurance-why-panel > div,
  .insurance-training-mode > div { grid-template-columns: 1fr; }
  .insurance-curve-legend em { width: 100%; margin-left: 0; }
  .insurance-risk-boundary > summary { align-items: flex-start; padding: 13px 14px; }
  .insurance-risk-boundary > summary > em { display: none; }
  .insurance-risk-boundary-body { padding: 8px; }
  .hero-copy { padding: 30px 22px; }
  .hero-copy h3 { font-size: 44px; }
  .gex-chart-header { padding: 18px 16px 15px; }
  .hedge-heatmap-header { padding: 18px 16px 14px; }
  .hedge-heatmap-summary strong { white-space: normal; }
  .hedge-heatmap-frame { padding-inline: 7px; }
  .hedge-map-legend { padding-inline: 14px; }
  .hedge-map-legend em { width: 100%; margin-left: 0; }
  .hedge-map-note { padding-inline: 14px; }
  .hedge-map-tooltip.market-map-tooltip,
  .insurance-opportunity-tooltip.market-map-tooltip,
  .speculator-map-tooltip.market-map-tooltip {
    width: min(338px, calc(100vw - 46px));
    min-width: 0;
    max-width: calc(100vw - 46px);
  }
  .market-heatmap-header { padding: 20px 16px 15px; }
  .market-heatmap-header h3 { font-size: 34px; }
  .market-heatmap-summary > div { padding-inline: 12px; }
  .market-heatmap-frame { min-height: 360px; padding-inline: 7px; }
  .insurance-opportunity-header { padding: 20px 16px 15px; }
  .insurance-opportunity-header h2 { font-size: 35px; }
  .insurance-opportunity-summary > div { padding-inline: 12px; }
  .insurance-opportunity-frame { min-height: 360px; padding-inline: 7px; }
  .insurance-opportunity-legend { padding-inline: 14px; }
  .insurance-opportunity-legend em { width: 100%; margin-left: 0; }
  .insurance-opportunity-note { padding-inline: 14px; }
  .scope-selection-gate { padding: 19px 16px; }
  .insurance-vol-header { padding: 20px 16px 15px; }
  .insurance-vol-header h3 { font-size: 34px; }
  .insurance-vol-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .insurance-vol-summary > div:nth-child(2) { border-right: 0; }
  .insurance-vol-summary > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .insurance-vol-chart-frame { padding-inline: 7px; }
  .payout-ledger { grid-template-columns: 1fr; }
  .payout-ledger > div { border-bottom: 1px solid var(--line); }
  .payout-ledger > div:last-child { border-bottom: 0; }
  .hedge-risk-comparison > div { grid-template-columns: 1fr; }
  .premium-load-grid { grid-template-columns: 1fr; }
  .dealer-layer-nav { grid-template-columns: 1fr; }
  .dealer-transfer-ticket > header { padding: 18px 16px 14px; }
  .dealer-transfer-grid { grid-template-columns: 1fr; }
  .dealer-transfer-grid article { min-height: 0; }
  .dealer-transfer-ticket > p { padding-inline: 14px; }
  .deferred-layer-card { align-items: stretch; flex-direction: column; }
  .deferred-layer-card button { width: 100%; }
  .gex-chart-toolbar { flex-wrap: wrap; }
  .gex-chart-stats > div { padding: 11px 12px; }
  .gex-chart-stats strong { display: block; }
  .gex-chart-stats small { display: block; margin: 3px 0 0; }
  .gex-chart-frame { padding-inline: 7px; }
  .gex-chart-legend { gap: 8px 13px; padding-inline: 14px; }
  .gex-chart-note { padding-inline: 14px; }
  .wall-level-strip,
  .wall-response-strip { grid-template-columns: 1fr; }
  .wall-response-card { padding-inline: 14px; }
  .wall-response-card > header { align-items: flex-start; }
  .wall-response-metrics { grid-template-columns: 1fr; }
  .wall-response-card > footer { align-items: flex-start; flex-direction: column; }
  .wall-response-primer { padding-inline: 14px; }
  .wall-response-primer em { width: 100%; margin-left: 0; }
  .shared-wall-notice { grid-template-columns: 1fr; padding-inline: 14px; }
  .dealer-flow-header { flex-direction: column; padding: 18px 16px 15px; }
  .dealer-flow-header-tools { width: 100%; align-items: flex-start; }
  .dealer-flow-window-switch { width: 100%; }
  .dealer-flow-window-switch button { flex: 1 1 0; min-width: 0; }
  .dealer-flow-live-strip { grid-template-columns: 1fr; }
  .dealer-flow-live-strip > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .dealer-flow-live-strip > div:last-child { border-bottom: 0; }
  .dealer-flow-alert { grid-template-columns: 1fr; }
  .dealer-flow-alert > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .dealer-flow-alert > div:last-child { border-bottom: 0; }
  .dealer-flow-alert-copy { grid-column: auto; }
  .dealer-flow-kpis > div { padding: 11px 12px; }
  .dealer-flow-channel-meter { grid-template-columns: 1fr; padding-inline: 12px; }
  .dealer-flow-channel-meter em { grid-column: auto; }
  .dealer-flow-chart-frame { padding-inline: 7px; }
  .dealer-flow-legend { padding-inline: 14px; }
  .dealer-flow-legend em { width: 100%; margin-left: 0; }
  .dealer-flow-note { padding-inline: 14px; }
  .mission-strip, .form-grid, .risk-control { grid-template-columns: 1fr; }
  .mission-step { border-right: 0; border-bottom: 1px solid var(--line); }
  .mission-step:last-child { border-bottom: 0; }
  .monitor-grid, .greeks-grid, .lesson-grid, .quiz-grid { grid-template-columns: 1fr; }
  .pipeline { grid-template-columns: 1fr; }
  .pipeline-step { border-right: 0; border-bottom: 1px solid var(--line); }
  .pipeline-step:last-child { border-bottom: 0; }
  .pipeline-step:not(:last-child)::after { top: auto; right: calc(50% - 8px); bottom: -8px; transform: rotate(90deg); }
  .evidence-ladder, .risk-ticket { grid-template-columns: 1fr; }
  .decision-banner { grid-template-columns: 1fr; text-align: center; }
  .score-ring { margin: 0 auto; }
  .decision-top { grid-template-columns: 1fr; }
  .decision-seal { width: 78px; height: 78px; }
  .decision-row { grid-template-columns: 1fr; }
  .decision-row > *, .decision-row p { grid-column: auto; border-right: 0; border-bottom: 1px solid var(--line); border-top: 0; }
  .massive-dialog__shell { padding: 19px 15px; }
  .massive-dialog__grid { grid-template-columns: 1fr; }
  .massive-dialog__actions { align-items: stretch; }
  .massive-dialog__actions .primary-button,
  .massive-dialog__actions .secondary-button { flex: 1 1 140px; }
  .massive-disconnect { width: 100%; margin: 4px 0 0; text-align: left; }
  .squeeze-command-copy { padding: 28px 20px; }
  .squeeze-command h3 { font-size: 42px; }
  .speculator-heatmap-header { padding: 19px 16px 14px; }
  .speculator-heatmap-header h3 { font-size: 36px; }
  .crowd-cost-console > div { padding-inline: 14px; }
  .crowd-cost-track { margin-inline: 0; }
  .speculator-heatmap-summary { grid-template-columns: 1fr; }
  .speculator-heatmap-summary strong,
  .speculator-heatmap-summary small { white-space: normal; }
  .speculator-heatmap-frame { min-height: 380px; padding-inline: 7px; }
  .speculator-map-legend { padding-inline: 14px; }
  .speculator-map-legend em { width: 100%; margin-left: 0; }
  .speculator-map-note { padding-inline: 14px; }
  .pressure-verdict-strip { grid-template-columns: 1fr; }
  .pressure-verdict-strip strong { white-space: normal; }
  .squeeze-signal-card { min-height: 355px; padding: 17px; }
  .surface-workbench-head { padding: 18px 16px 14px; }
  .surface-chart-wrap { padding-inline: 7px; }
  .surface-legend { padding-inline: 14px; }
  .surface-legend em { width: 100%; margin-left: 0; }
  .otm-contract-list > div { grid-template-columns: 48px 1fr auto; }
  .otm-contract-list p { grid-column: 1 / -1; }
  .otm-contract-list b { text-align: right; }
  .squeeze-evidence-boundary summary { flex-direction: column; gap: 5px; }
}

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