    :root {
      --bg: #070a0d;
      --bg2: #121615;
      --panel: #10161a;
      --panel2: #0b1115;
      --line: #283640;
      --line2: #34434b;
      --txt: #e7ece7;
      --muted: #9aa79f;
      --ok: #4ade80;
      --warn: #e7b454;
      --err: #ef6b73;
      --accent: #2dd4bf;
      --accent2: #e7b454;
    }
    * { box-sizing: border-box; }
    html {
      min-height: 100%;
      background: var(--bg);
    }
    body {
      margin: 0;
      min-height: 100vh;
      font-family: ui-monospace, monospace;
      background:
        linear-gradient(115deg, rgba(45, 212, 191, .07), transparent 34%, rgba(231, 180, 84, .05) 82%),
        linear-gradient(180deg, #121817 0%, #090d10 42%, var(--bg) 100%);
      color: var(--txt);
    }
    body[data-inspector-mode="customer"] .debug-only {
      display: none !important;
    }
    body[data-customer-mode-locked="true"] .audience-mode-control {
      display: none !important;
    }
    body[data-inspector-mode="customer"] .customer-hidden-control,
    body[data-customer-mode-locked="true"] .customer-hidden-control {
      display: none !important;
    }
    .wrap { max-width: 1280px; margin: 0 auto 20px; padding: 14px 14px 0; }
    body.fullwindow-mode {
      height: 100vh;
      overflow: hidden;
    }
    body.fullwindow-mode .wrap {
      display:flex;
      flex-direction:column;
      max-width: none;
      margin: 10px 12px;
      padding: 0;
      min-height: calc(100vh - 20px);
      height: calc(100vh - 20px);
      overflow: hidden;
    }
    .fullwindow-anchor {
      position: fixed;
      top: 10px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 24;
      pointer-events: none;
    }
    .fullwindow-anchor-inner {
      pointer-events: auto;
      display:flex;
      align-items:center;
      justify-content:center;
      min-width: 170px;
      border: 1px solid #31454b;
      border-radius: 999px;
      background: rgba(8, 13, 15, 0.94);
      backdrop-filter: blur(8px);
      box-shadow: 0 12px 28px rgba(0, 0, 0, 0.32);
      padding: 8px 14px;
    }
    .anchor-toggle {
      display:flex;
      align-items:center;
      justify-content:center;
      gap: 8px;
      font-size: 12px;
      color: #d7e0ea;
      cursor: pointer;
      user-select:none;
      white-space: nowrap;
    }
    .anchor-toggle input { margin: 0; }
    body.fullwindow-mode .anchor-toggle {
      color:#c8f9ff;
    }
    .head {
      position: relative;
      display:grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items:start;
      gap: 12px;
      min-height: 44px;
      margin-bottom: 10px;
    }
    .brand-lockup {
      display:flex;
      align-items:center;
      gap: 12px;
      min-width:0;
    }
    .brand-mark {
      flex:0 0 auto;
      width:38px;
      height:38px;
      display:block;
      border-radius:8px;
    }
    .market-headline {
      display:grid;
      grid-template-columns:minmax(0, 1fr) auto;
      align-items:end;
      gap:18px;
      min-height:76px;
      margin:0 0 10px;
      padding:10px 14px 11px;
      border:1px solid var(--line);
      border-left:3px solid var(--accent);
      border-radius:8px;
      background:
        linear-gradient(110deg, rgba(45,212,191,.12), rgba(10,16,19,.92) 44%, rgba(231,180,84,.07)),
        var(--panel2);
      box-shadow:0 12px 30px rgba(0,0,0,.16);
    }
    .market-headline-kicker {
      margin-bottom:4px;
      color:var(--accent2);
      font-size:10px;
      font-weight:800;
      letter-spacing:.11em;
      text-transform:uppercase;
    }
    .market-headline-context {
      color:#e8f4ef;
      font-size:14px;
      font-weight:750;
    }
    .market-headline-status {
      min-height:16px;
      margin-top:3px;
      color:var(--muted);
      font-size:10px;
    }
    .market-headline-price {
      display:flex;
      align-items:baseline;
      justify-content:flex-end;
      gap:9px;
      min-width:260px;
      text-align:right;
      white-space:nowrap;
    }
    .market-headline-value {
      color:#dffdf6;
      font-size:clamp(34px, 4.4vw, 52px);
      font-weight:780;
      line-height:.94;
      letter-spacing:-.045em;
      font-variant-numeric:tabular-nums lining-nums;
      text-shadow:0 0 22px rgba(45,212,191,.12);
    }
    .market-headline-unit {
      min-width:36px;
      color:var(--accent);
      font-size:13px;
      font-weight:800;
      letter-spacing:.04em;
    }
    .market-headline[data-status="loading"] .market-headline-value,
    .market-headline[data-status="disconnected"] .market-headline-value {
      color:#b9c5c0;
      text-shadow:none;
    }
    .market-headline[data-status="disconnected"] {
      border-left-color:var(--err);
    }
    body[data-market-headline-banner="false"] .market-headline {
      display:none;
    }
    .head-main {
      min-width: 0;
      padding-right: clamp(0px, 12vw, 180px);
    }
    .head-side {
      justify-self:end;
      align-self:start;
      display:flex;
      flex-direction:column;
      align-items:flex-end;
      gap: 4px;
      padding-top: 4px;
    }
    .head-status {
      text-align: right;
      white-space: nowrap;
    }
    .head-actions {
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:8px;
      flex-wrap:wrap;
      min-width:0;
    }
    .head-legal-links {
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap: 12px;
      flex-wrap: wrap;
      font-family: ui-sans-serif, system-ui, sans-serif;
      font-size: 13px;
      line-height: 1.2;
    }
    .head-legal-links a {
      color: #c8d6d1;
      text-decoration: underline;
      text-underline-offset: 3px;
      font-weight: 600;
    }
    .head-legal-links a:hover {
      color: var(--accent);
    }
    .public-info-toggle {
      align-self:center;
      border:1px solid rgba(45, 212, 191, .44);
      border-radius:8px;
      background:rgba(12, 19, 22, .82);
      color:#dffdf6;
      padding:7px 10px;
      font-family: ui-sans-serif, system-ui, sans-serif;
      font-size:13px;
      font-weight:800;
      line-height:1.1;
      cursor:pointer;
    }
    .public-info-toggle:hover,
    .public-info-toggle[data-open="1"] {
      border-color:rgba(231, 180, 84, .64);
      background:rgba(19, 24, 23, .94);
      color:#fff1c9;
    }
    .title { margin: 0; font-size: 20px; font-weight: 700; letter-spacing: 0; line-height: 1.12; }
    body[data-customer-mode-locked="true"] .title {
      font-family: ui-sans-serif, system-ui, sans-serif;
      font-size: 24px;
      letter-spacing: 0;
    }
    .public-overview {
      display:grid;
      grid-template-columns: minmax(0, 1.4fr) minmax(320px, .9fr);
      gap: 14px;
      align-items:stretch;
      margin: 8px 0 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background:
        linear-gradient(135deg, rgba(45, 212, 191, .10), rgba(11, 17, 21, .90) 48%, rgba(231, 180, 84, .08)),
        rgba(11, 17, 21, .86);
      box-shadow: 0 16px 42px rgba(0, 0, 0, .22);
      overflow:hidden;
    }
    .public-overview[hidden] {
      display:none;
    }
    .public-overview-main,
    .public-overview-side {
      padding: 16px 18px;
      min-width:0;
    }
    .public-overview-side {
      border-left:1px solid rgba(231, 180, 84, .18);
      background:rgba(8, 13, 15, .42);
    }
    .public-kicker {
      color: var(--accent2);
      font-family: ui-sans-serif, system-ui, sans-serif;
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      margin-bottom: 8px;
    }
    .public-lead {
      margin: 0;
      max-width: 780px;
      color: #f0f5ee;
      font-family: ui-sans-serif, system-ui, sans-serif;
      font-size: clamp(18px, 2vw, 25px);
      line-height: 1.22;
      letter-spacing: 0;
      font-weight: 760;
    }
    .public-copy,
    .public-outlook {
      margin: 9px 0 0;
      color: #bcc8c0;
      font-family: ui-sans-serif, system-ui, sans-serif;
      font-size: 14px;
      line-height: 1.48;
    }
    .public-faq {
      margin-top: 12px;
      padding-top: 10px;
      border-top: 1px solid rgba(68, 85, 90, .72);
      font-family: ui-sans-serif, system-ui, sans-serif;
    }
    .public-faq h2 {
      margin: 0 0 6px;
      color: #e9f2ee;
      font-size: 14px;
      line-height: 1.25;
      letter-spacing: 0;
    }
    .public-faq p {
      margin: 6px 0 0;
      color: #bcc8c0;
      font-size: 13px;
      line-height: 1.45;
    }
    .public-faq strong {
      color: #eef7f2;
      font-weight: 800;
    }
    .public-status-grid {
      display:grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }
    .public-status-grid span {
      display:flex;
      align-items:center;
      min-height: 34px;
      padding: 7px 9px;
      border:1px solid rgba(68, 85, 90, .92);
      border-radius:8px;
      background:rgba(12, 19, 22, .82);
      color:#dce8e1;
      font-size:12px;
      line-height:1.25;
    }
    .public-contact-link {
      display:inline-flex;
      align-items:center;
      margin-top: 10px;
      color:#e8d8a6;
      font-family: ui-sans-serif, system-ui, sans-serif;
      font-size: 13px;
      font-weight: 700;
      text-decoration:none;
      border-bottom:1px solid rgba(231, 180, 84, .42);
    }
    .public-contact-link:hover {
      color:#fff1c9;
      border-bottom-color:#fff1c9;
    }
    .public-guide {
      margin: 18px 0 6px;
      padding: clamp(18px, 3vw, 28px);
      border: 1px solid var(--line);
      border-radius: 8px;
      background:
        linear-gradient(135deg, rgba(45, 212, 191, .08), rgba(11, 17, 21, .94) 52%, rgba(231, 180, 84, .06)),
        rgba(11, 17, 21, .90);
      color: #d9e3de;
      font-family: ui-sans-serif, system-ui, sans-serif;
      line-height: 1.55;
    }
    .public-guide h2 {
      margin: 0 0 8px;
      color: #f0f5f2;
      font-size: clamp(23px, 3vw, 32px);
      line-height: 1.16;
      letter-spacing: 0;
    }
    .public-guide h3 {
      margin: 0 0 7px;
      color: #edf4f0;
      font-size: 17px;
      line-height: 1.3;
      letter-spacing: 0;
    }
    .public-guide p { margin: 0; }
    .public-guide-intro { max-width: 930px; }
    .public-guide-grid {
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin-top: 18px;
    }
    .public-guide-grid section {
      min-width:0;
      padding: 14px;
      border:1px solid rgba(68, 85, 90, .76);
      border-radius:8px;
      background:rgba(8, 13, 15, .48);
    }
    .public-guide-links {
      margin-top:18px !important;
      color:#aebdb6;
    }
    .public-guide a {
      color:#65e4d2;
      text-decoration:underline;
      text-underline-offset:3px;
    }
    .public-guide-boundary {
      margin-top:12px !important;
      padding-top:12px;
      border-top:1px solid rgba(68, 85, 90, .72);
      color:#acb9b3;
      font-size:13px;
    }
    body.fullwindow-mode .public-overview {
      display:none;
    }
    body.fullwindow-mode .public-guide {
      display:none;
    }
    body.fullwindow-mode .public-info-toggle {
      display:none;
    }
    .public-footer {
      display:none;
      max-width: 1280px;
      margin: 14px auto 20px;
      padding: 14px 14px 0;
      border-top: 1px solid var(--line);
      color: var(--muted);
      font-family: ui-sans-serif, system-ui, sans-serif;
      font-size: 13px;
    }
    .public-footer-inner {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 12px;
      flex-wrap: wrap;
    }
    .public-footer-notice {
      color: #b9c7d4;
      font-size: 12px;
      line-height: 1.35;
    }
    .public-footer-links {
      flex: 0 0 auto;
      white-space: nowrap;
    }
    .public-footer a {
      color: var(--muted);
      margin-left: 16px;
      text-decoration: none;
    }
    .public-footer a:hover {
      color: var(--accent);
      text-decoration: underline;
    }
    body[data-customer-mode-locked="true"] .public-footer {
      display:block;
    }
    body[data-customer-mode-locked="true"].fullwindow-mode .wrap {
      min-height: calc(100vh - 76px);
      height: calc(100vh - 76px);
      margin-bottom: 0;
    }
    body[data-customer-mode-locked="true"].fullwindow-mode .public-footer {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 40;
      max-width: none;
      min-height: 66px;
      margin: 0;
      padding: 10px 14px 12px;
      border-top: 1px solid var(--line);
      background: rgba(7, 10, 13, .96);
      backdrop-filter: blur(6px);
    }
    @media (max-width: 860px) {
      .public-guide-grid { grid-template-columns:1fr; }
    }
    .small { font-size: 12px; color: var(--muted); }
    .grid { display:grid; grid-template-columns: 1fr; gap: 12px; }
    body.fullwindow-mode .grid {
      flex: 1 1 auto;
      min-height: 0;
    }
    .card {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: linear-gradient(180deg, rgba(16, 22, 26, .86), rgba(10, 15, 18, .84));
      backdrop-filter: blur(4px);
      padding: 12px;
      min-width: 0;
    }
    #primaryCard {
      display:flex;
      flex-direction:column;
      min-width: 0;
    }
    body.fullwindow-mode .head {
      flex: 0 0 auto;
      min-height: 40px;
      margin-bottom: 4px;
    }
    body.fullwindow-mode .card {
      padding: 10px;
    }
    body.fullwindow-mode #primaryCard {
      min-height: 0;
      height: 100%;
      overflow: hidden;
    }
    body.fullwindow-mode #primaryCard > :not(#chartStage) {
      flex: 0 0 auto;
    }
    .row { display:flex; gap:8px; align-items:center; flex-wrap: wrap; }
    input, select, button {
      border: 1px solid #2a3c4d;
      border-radius: 8px;
      background: #0d1721;
      color: var(--txt);
      padding: 8px 10px;
      font: inherit;
    }
    select {
      -webkit-appearance: none;
      appearance: none;
      color-scheme: dark;
      padding-right: 30px;
      background-color: #0d1721;
      background-image:
        linear-gradient(45deg, transparent 50%, #9fb6c2 50%),
        linear-gradient(135deg, #9fb6c2 50%, transparent 50%);
      background-position:
        calc(100% - 14px) calc(50% - 1px),
        calc(100% - 9px) calc(50% - 1px);
      background-size: 5px 5px, 5px 5px;
      background-repeat: no-repeat;
    }
    select option {
      color: var(--txt);
      background-color: #0d1721;
    }
    button { cursor: pointer; }
    button:hover { border-color: var(--accent); }
    canvas { width: 100%; max-width: 100%; min-width: 0; height: 500px; display:block; border:1px solid var(--line); border-radius:8px; margin-top:10px; background:#070d10; }
    .chart-stage {
      display:flex;
      align-items:stretch;
      gap:10px;
      min-width:0;
      margin-top:10px;
      position:relative;
    }
    .chart-panel {
      position:relative;
      flex:1 1 auto;
      min-width:0;
      align-self:stretch;
    }
    .chart-market-value {
      position:absolute;
      top:10px;
      right:54px;
      z-index:6;
      display:flex;
      align-items:baseline;
      justify-content:flex-end;
      gap:7px;
      max-width:calc(100% - 170px);
      padding:5px 9px 6px;
      border:1px solid rgba(65, 104, 117, .5);
      border-radius:8px;
      background:rgba(5, 12, 17, .74);
      color:#e9fff9;
      pointer-events:none;
      white-space:nowrap;
      box-shadow:0 5px 18px rgba(0,0,0,.24);
    }
    .chart-market-value-value {
      overflow:hidden;
      color:#e5fff8;
      font-size:clamp(27px, 3.6vw, 46px);
      font-weight:780;
      line-height:.94;
      letter-spacing:-.045em;
      text-overflow:ellipsis;
      font-variant-numeric:tabular-nums lining-nums;
    }
    .chart-market-value-unit {
      color:var(--accent);
      font-size:12px;
      font-weight:800;
      letter-spacing:.04em;
    }
    .chart-market-value[data-status="loading"] .chart-market-value-value,
    .chart-market-value[data-status="disconnected"] .chart-market-value-value {
      color:#b9c5c0;
    }
    body[data-market-headline-banner="true"] .chart-market-value {
      display:none;
    }
    .chart-fullscreen-toggle {
      position:absolute;
      top:8px;
      left:8px;
      z-index:9;
      min-width:58px;
      height:30px;
      padding:4px 8px;
      border-color:rgba(79, 116, 148, .92);
      background:rgba(7, 15, 23, .88);
      color:#cfe4f2;
      font-size:11px;
      line-height:1;
      box-shadow:0 2px 10px rgba(0,0,0,.28);
    }
    .chart-fullscreen-toggle[aria-pressed="true"] {
      border-color:var(--accent);
      color:#e7fffb;
    }
    .chart-panel:fullscreen {
      width:100vw;
      height:100vh;
      padding:10px;
      background:#050b0f;
    }
    .chart-panel:fullscreen #chart,
    .chart-panel:fullscreen .chart-render-buffer {
      width:100%;
      max-width:none;
      border-radius:6px;
    }
    body.chart-focus-mode {
      overflow:hidden !important;
    }
    body.chart-focus-mode .chart-panel {
      position:fixed;
      inset:0;
      z-index:1000;
      width:100vw;
      height:100vh;
      padding:10px;
      background:#050b0f;
    }
    body.chart-focus-mode .chart-panel #chart,
    body.chart-focus-mode .chart-panel .chart-render-buffer {
      width:100%;
      max-width:none;
      border-radius:6px;
    }
    body[data-visual-polish="true"] .card {
      box-shadow:0 12px 32px rgba(0,0,0,.12);
    }
    body[data-visual-polish="false"] {
      background:var(--bg);
    }
    body[data-visual-polish="false"] .card,
    body[data-visual-polish="false"] .market-headline,
    body[data-visual-polish="false"] .fullwindow-anchor-inner {
      background:var(--panel);
      backdrop-filter:none;
      box-shadow:none;
    }
    body[data-visual-polish="false"] .chart-panel {
      filter:none;
    }
    body[data-visual-polish="false"] .chart-stage #chart,
    body[data-visual-polish="false"] .chart-stage .chart-render-buffer,
    body[data-visual-polish="false"] .chart-market-value {
      box-shadow:none;
    }
    .chart-stage #chart,
    .chart-stage .chart-render-buffer {
      width:100%;
      max-width:100%;
      min-width:0;
      margin-top:0;
    }
    .chart-stage .chart-render-buffer {
      position:absolute;
      inset:0;
      z-index:1;
      pointer-events:none;
      opacity:0;
    }
    .chart-status-overlay {
      position:absolute;
      inset:0;
      display:none;
      align-items:center;
      justify-content:center;
      pointer-events:none;
      z-index:8;
      font-size:22px;
      font-weight:700;
      color:#ffd7d7;
      text-shadow:0 2px 12px rgba(0,0,0,.75);
      background:rgba(5, 10, 15, .18);
      letter-spacing:0;
    }
    .chart-status-overlay[data-active="1"] {
      display:flex;
    }
    .chart-status-overlay[data-tone="warn"] {
      color:#ffb4b4;
      animation: chart-status-blink 1s steps(2, start) infinite;
    }
    .chart-status-overlay[data-tone="paused"] {
      color:#d7ecff;
    }
    @keyframes chart-status-blink {
      50% { opacity:.38; }
    }
    .now {
      margin-top: 8px;
      border:1px solid var(--line);
      border-radius:8px;
      background:var(--panel);
      padding:8px;
      display:grid;
      grid-template-columns: repeat(6, 1fr);
      gap:8px;
    }
    .now div { font-size:12px; color:var(--muted); }
    .now b { display:block; color:#d9f4ff; font-size:13px; margin-top:3px; }
    .kpi { display:grid; grid-template-columns: repeat(6,1fr); gap:8px; margin-top:8px; }
    .kpi div { border:1px solid var(--line); border-radius:8px; padding:8px; background:var(--panel); }
    .kpi b { display:block; font-size:15px; color:#c8f9ff; }
    .status { font-size: 12px; }
    .ok { color: var(--ok); }
    .warn { color: var(--warn); }
    .err { color: var(--err); }
    .list { height: 176px; overflow: auto; border:1px solid var(--line); border-radius:8px; margin-top:10px; padding:8px; background:var(--panel2); }
    .item { padding:5px 0; border-bottom:1px dotted #1e2b38; }
    .item:last-child { border-bottom:none; }
    .signal-title { font-size: 12px; line-height: 1.35; color:#dce7f0; }
    .signal-detail { font-size: 10px; line-height: 1.35; color:#8ea1b4; margin-top:2px; white-space: normal; }
    .evt { font-size: 12px; line-height: 1.35; }
    .fold-dock {
      display:none;
      flex-wrap:wrap;
      align-items:flex-start;
      gap:8px;
      margin-bottom:10px;
    }
    .fold-dock[data-has-items="true"] {
      display:flex;
    }
    .fold-dock-toggle {
      flex:0 0 auto;
      border:1px solid #355066;
      background:rgba(10, 18, 26, 0.96);
      color:#cfe4f2;
      border-radius:8px;
      padding:7px 10px;
      font-size:12px;
      line-height:1.2;
      white-space:nowrap;
    }
    .fold-dock-toggle[data-open="1"] {
      border-color:#3e6f8e;
      background:#102234;
      color:#e4f7ff;
    }
    .fold-dock-toggle[data-open="1"]::before {
      content:'-';
      color:#9be7ff;
      font-weight:700;
      margin-right:6px;
    }
    .fold-dock-toggle[data-open="0"]::before {
      content:'+';
      color:#8ea1b4;
      font-weight:700;
      margin-right:6px;
    }
    details.fold {
      border:1px solid var(--line);
      border-radius:8px;
      background:var(--panel2);
      overflow:hidden;
    }
    details.fold > summary {
      list-style:none;
      cursor:pointer;
      padding:10px 12px;
      color:#cfe4f2;
      user-select:none;
    }
    details.fold > summary::-webkit-details-marker { display:none; }
    details.fold.docked-collapsed {
      flex:0 0 auto;
      width:auto;
      max-width:100%;
      margin:0;
      overflow:visible;
      border-color:#355066;
      background:rgba(10, 18, 26, 0.96);
    }
    details.fold.docked-collapsed > summary {
      display:flex;
      align-items:center;
      gap:8px;
      padding:7px 10px;
      white-space:nowrap;
      font-size:12px;
    }
    details.fold.docked-collapsed > summary::before {
      content:'+';
      color:#8ea1b4;
      font-weight:700;
    }
    details.fold.fold-dock-hidden:not([open]) {
      display:none;
    }
    .inline-fold { margin-left:auto; min-width: 180px; }
    .inline-fold > summary {
      padding:8px 10px;
      font-size:12px;
    }
    .fold-dock .inline-fold,
    details.fold.docked-collapsed.inline-fold {
      margin-left:0;
      min-width:0;
    }
    .inline-fold-trigger {
      margin-left: auto;
      padding: 7px 10px;
      font-size: 12px;
      line-height: 1.2;
      white-space: nowrap;
    }
    .chart-y-lock {
      position:absolute;
      top:8px;
      right:8px;
      z-index:7;
      min-width:34px;
      height:30px;
      padding:4px 8px;
      border-color:rgba(79, 116, 148, .92);
      background:rgba(7, 15, 23, .88);
      color:#cfe4f2;
      font-size:12px;
      line-height:1;
      box-shadow:0 2px 10px rgba(0,0,0,.28);
    }
    .chart-y-lock[data-open="1"] {
      border-color:#3e6f8e;
      background:#102234;
      color:#e4f7ff;
    }
    .chart-y-gain-control {
      display:flex;
      align-items:center;
      gap:8px;
      color:#cfe4f2;
      transition:color .12s ease;
    }
    .chart-y-gain-control[data-locked="1"] {
      color:#e4f7ff;
    }
    .chart-y-gain-control span {
      white-space:nowrap;
    }
    .chart-y-gain-control b {
      min-width:46px;
      text-align:right;
      font-variant-numeric:tabular-nums;
    }
    .fold-proxy-summary {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }
    .fold-dock .fold-proxy-summary,
    details.fold.docked-collapsed > .fold-proxy-summary {
      position: static;
      width: auto;
      height: auto;
      padding: 0;
      margin: 0;
      overflow: visible;
      clip: auto;
      white-space: nowrap;
      border: 0;
    }
    .chart-stage #orderbookFold {
      flex:0 0 clamp(220px, 22vw, 310px);
      min-width:220px;
      max-width:310px;
      height:var(--chart-canvas-height, 500px);
      margin-left:0;
    }
    .chart-stage #orderbookFold[open] {
      display:flex;
      flex-direction:column;
    }
    .chart-stage #orderbookFold > summary {
      display:none;
    }
    .chart-stage #orderbookFold.fold-dock-hidden:not([open]) {
      display:none;
    }
    .orderbook-depth-panel {
      position:relative;
      flex:0 0 var(--chart-canvas-height, 500px);
      min-height:0;
      height:var(--chart-canvas-height, 500px);
      overflow:hidden;
      border-radius:8px;
      background:#070d10;
    }
    .ob-depth-row {
      position:absolute;
      left:6px;
      right:6px;
      display:grid;
      grid-template-columns:48px minmax(48px, 1fr) 66px;
      align-items:center;
      gap:6px;
      min-height:17px;
      transform:translateY(-50%);
      font-size:11px;
      line-height:1;
      white-space:nowrap;
      pointer-events:none;
    }
    .ob-depth-price {
      color:#d7e5ee;
      text-align:right;
      font-variant-numeric:tabular-nums;
    }
    .ob-depth-qty {
      color:#9fb0bf;
      overflow:hidden;
      text-overflow:ellipsis;
      font-variant-numeric:tabular-nums;
    }
    .ob-depth-bar {
      height:9px;
      border-radius:6px;
      background:#102030;
      overflow:hidden;
    }
    .ob-depth-bar > span {
      display:block;
      height:100%;
      width:0%;
      border-radius:6px;
    }
    .ob-depth-row.ask .ob-depth-bar > span { background:linear-gradient(90deg, rgba(248,113,113,.25), #f87171); }
    .ob-depth-row.bid .ob-depth-bar > span { background:linear-gradient(90deg, rgba(74,222,128,.25), #4ade80); }
    .ob-depth-row.ask .ob-depth-qty { color:#ffb4b4; }
    .ob-depth-row.bid .ob-depth-qty { color:#b9f4b9; }
    .ob-depth-empty {
      padding:10px;
      color:#7f91a2;
      font-size:12px;
    }
    .chart-stage .ob-level-list {
      display:none;
    }
    .ob-grid { display:grid; grid-template-columns: 1fr; gap:8px; padding:0 10px 10px; }
    .book { border:1px solid var(--line); border-radius:8px; padding:8px; background:var(--panel2); min-height: 160px; }
    .book h4 { margin:0 0 6px; font-size:12px; color:var(--muted); }
    .lvl { display:grid; grid-template-columns: 1fr 1fr 1fr; gap:6px; font-size:12px; padding:3px 0; border-bottom:1px dotted #1e2b38; }
    .lvl:last-child { border-bottom:none; }
    .ask { color:#ffb4b4; }
    .bid { color:#b9f4b9; }
    .bar { height:8px; border-radius:6px; background:#102030; overflow:hidden; margin-top:6px; }
    .bar > span { display:block; height:100%; background: linear-gradient(90deg, #22d3ee, #4ade80); }
    .bottom { margin-top: 12px; }
    .loadbox {
      margin-top: 8px;
      border:1px solid var(--line);
      border-radius:8px;
      padding:8px;
      background:var(--panel);
      display:none;
    }
    .loadtext { font-size:12px; color:var(--muted); margin-bottom:6px; }
    .loadmeta {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:8px;
      margin-bottom:6px;
      font-size:11px;
      color:#9db0c2;
    }
    .loadpct {
      min-width: 42px;
      text-align: right;
      color:#d8f6ff;
    }
    .loadbar {
      height: 10px;
      border-radius: 8px;
      overflow: hidden;
      background:#132131;
      border:1px solid #223243;
    }
    .loadfill {
      width: 0%;
      height: 100%;
      background: linear-gradient(90deg, #22d3ee, #4ade80);
      transition: width .2s ease;
    }
    .coverage-fold {
      margin-top: 10px;
    }
    .coverage-wrap {
      padding: 0 10px 10px;
    }
    .coverage-meta {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:8px;
      font-size:11px;
      color:#95aabd;
      margin-bottom:6px;
    }
    .coverage-legend {
      display:flex;
      align-items:center;
      gap:10px;
      white-space:nowrap;
    }
    .coverage-dot {
      display:inline-block;
      width:8px;
      height:8px;
      border-radius:999px;
      margin-right:5px;
      border:1px solid #314253;
      vertical-align:middle;
    }
    .coverage-have { background:#22c55e; }
    .coverage-missing { background:#050b12; }
    .coverage-canvas {
      width:100%;
      max-width:100%;
      min-width:0;
      height:52px;
      display:block;
      border:1px solid #223243;
      border-radius:8px;
      background:#050b12;
    }
    .viewctrl {
      display:flex;
      align-items:center;
      gap:8px;
      margin-top:8px;
      color:var(--muted);
      font-size:12px;
      min-width:0;
    }
    #primaryViewCtrlB {
      flex-wrap:wrap;
    }
    #primaryViewCtrlB label,
    #primaryViewCtrlB .trade-loupe-tolerance,
    #primaryViewCtrlB .chart-y-gain-control {
      white-space:nowrap;
    }
    .sticky-controls {
      position: relative;
      z-index: 4;
      min-width:0;
    }
    .curve-controls-wrap[data-hidden="true"] {
      display:none;
    }
    .curve-controls-toggle[data-open="0"] {
      color:#9fb3c6;
    }
    body.fullwindow-mode .sticky-controls {
      position: relative;
      top: auto;
      padding-bottom: 6px;
      margin-bottom: 4px;
      background: transparent;
      backdrop-filter: none;
    }
    body.fullwindow-mode #stickyControls { order: 1; }
    body.fullwindow-mode #orderHullFold { order: 2; }
    body.fullwindow-mode #loadBox { order: 3; }
    body.fullwindow-mode #chartStage {
      order: 4;
      flex: 0 0 auto;
      min-height: 96px;
      margin-top: 8px;
    }
    body.fullwindow-mode #historyCoverageFold { order: 5; }
    body.fullwindow-mode #signalFold { order: 6; }
    body.fullwindow-mode #marketStatsFold { order: 7; }
    body.fullwindow-mode #captureFold { order: 8; }
    body.fullwindow-mode details.fold > summary {
      padding: 8px 10px;
    }
    body.fullwindow-mode #collapsedFoldDock {
      margin-bottom: 8px;
      gap: 6px;
    }
    body.fullwindow-mode .inline-fold > summary {
      padding: 7px 9px;
    }
    body.fullwindow-mode .coverage-wrap,
    body.fullwindow-mode .ob-grid,
    body.fullwindow-mode .section-body {
      padding: 0 8px 8px;
    }
    body.fullwindow-mode .viewctrl {
      margin-top: 6px;
      gap: 6px;
    }
    body.fullwindow-mode .list {
      height: 120px;
      margin-top: 8px;
      overflow: hidden;
    }
    body.fullwindow-mode .book {
      min-height: 132px;
    }
    body.fullwindow-mode .now,
    body.fullwindow-mode .kpi {
      gap: 6px;
    }
    body.fullwindow-mode .now div,
    body.fullwindow-mode .kpi div {
      padding: 6px;
    }
    body.fullwindow-mode .bottom {
      flex: 0 0 auto;
      overflow: hidden;
      margin-top: 8px;
    }
    .trade-loupe-toggle {
      opacity:1;
      transition:opacity .12s ease;
    }
    .trade-loupe-toggle[data-disabled="true"] {
      opacity:.55;
    }
    .trade-loupe-tolerance {
      display:flex;
      align-items:center;
      gap:8px;
      opacity:1;
      transition:opacity .12s ease;
    }
    .trade-loupe-tolerance[data-disabled="true"] {
      opacity:.55;
    }
    .trade-loupe-tolerance span {
      white-space:nowrap;
    }
    .viewctrl input[type="range"] {
      width: 180px;
    }
    .viewctrl #chartYScaleGain {
      width: 150px;
    }
    .section-fold {
      margin-top: 10px;
    }
    .section-fold > summary {
      font-size: 12px;
      color: #cfe4f2;
    }
    .section-body {
      padding: 0 10px 10px;
    }
    .section-body .viewctrl {
      margin-top: 8px;
      flex-wrap: wrap;
    }
    .section-body .viewctrl:first-child {
      margin-top: 0;
    }
    .section-body .list,
    .section-body .now,
    .section-body .kpi,
    .section-body .row {
      margin-top: 0;
    }
    .headrow {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:8px;
    }
    .storage-prefs-btn {
      position: static;
      z-index: 28;
      border-color: #284052;
      background: rgba(9, 19, 29, 0.94);
      backdrop-filter: blur(8px);
      box-shadow: 0 10px 28px rgba(0, 0, 0, 0.32);
      padding: 6px 10px;
      font-size: 12px;
      line-height: 1.1;
      white-space: nowrap;
    }
    .storage-shell {
      position: fixed;
      z-index: 27;
    }
    .storage-banner {
      position: static;
      transform:none;
      width: auto;
      margin: 0 0 10px;
    }
    .storage-panel {
      right: 14px;
      top: 58px;
      width: min(420px, calc(100vw - 28px));
    }
    .storage-card {
      border: 1px solid #31454b;
      border-radius: 8px;
      background: rgba(8, 13, 15, 0.96);
      backdrop-filter: blur(8px);
      box-shadow: 0 16px 36px rgba(0, 0, 0, 0.34);
      padding: 8px 12px;
    }
    .storage-banner .storage-card {
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:8px 12px;
    }
    .storage-kicker {
      font-size: 11px;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: #8ea1b4;
      margin:0;
    }
    .storage-text {
      font-size: 12px;
      line-height: 1.3;
      color: #d7e0ea;
    }
    .storage-status {
      margin:0;
      font-size: 11px;
      color: #9db0c2;
    }
    .storage-actions {
      display:flex;
      flex-wrap: wrap;
      gap: 8px;
      margin:0 0 0 auto;
    }
    .storage-actions button {
      min-width: 120px;
    }
    /* visual-polish-static-start */
    body[data-visual-polish="true"] {
      background:
        radial-gradient(circle at 9% -8%, rgba(45, 212, 191, .18), transparent 28%),
        radial-gradient(circle at 91% 2%, rgba(231, 180, 84, .11), transparent 25%),
        linear-gradient(180deg, #111a19 0%, #080d10 38%, #070a0d 100%);
    }
    body[data-visual-polish="true"] .head::after {
      content:'';
      position:absolute;
      left:0;
      right:0;
      bottom:-5px;
      height:1px;
      background:linear-gradient(90deg, rgba(45, 212, 191, .62), rgba(45, 212, 191, .10) 42%, rgba(231, 180, 84, .36) 86%, transparent);
      pointer-events:none;
    }
    body[data-visual-polish="true"] .brand-mark {
      border:1px solid rgba(88, 234, 213, .56);
      background:linear-gradient(145deg, rgba(45, 212, 191, .14), rgba(231, 180, 84, .08));
      box-shadow:
        0 0 0 4px rgba(45, 212, 191, .07),
        0 0 24px rgba(45, 212, 191, .18),
        0 8px 20px rgba(0, 0, 0, .26);
    }
    body[data-visual-polish="true"] .title {
      color:#f3fffb;
      text-shadow:0 0 18px rgba(45, 212, 191, .18);
    }
    body[data-visual-polish="true"] #wsState {
      display:inline-flex;
      align-items:center;
      min-height:22px;
      padding:3px 8px;
      border:1px solid rgba(74, 222, 128, .32);
      border-radius:999px;
      background:linear-gradient(180deg, rgba(20, 48, 39, .78), rgba(8, 20, 20, .82));
      box-shadow:inset 0 1px 0 rgba(208, 255, 235, .07), 0 5px 14px rgba(0, 0, 0, .20);
    }
    body[data-visual-polish="true"] .fullwindow-anchor-inner {
      border-color:rgba(45, 212, 191, .42);
      background:linear-gradient(180deg, rgba(16, 31, 31, .97), rgba(6, 13, 17, .96));
      box-shadow:inset 0 1px 0 rgba(181, 255, 241, .08), 0 12px 28px rgba(0, 0, 0, .38);
    }
    body[data-visual-polish="true"] #primaryCard {
      position:relative;
      border-color:rgba(56, 102, 109, .88);
      background:
        linear-gradient(150deg, rgba(45, 212, 191, .075), transparent 28%, rgba(231, 180, 84, .04) 82%),
        linear-gradient(180deg, rgba(15, 24, 27, .94), rgba(7, 13, 17, .96));
      box-shadow:0 18px 46px rgba(0, 0, 0, .26), inset 0 1px 0 rgba(177, 255, 241, .045);
    }
    body[data-visual-polish="true"] #primaryCard::before {
      content:'';
      position:absolute;
      z-index:5;
      top:-1px;
      left:18px;
      right:18px;
      height:2px;
      border-radius:999px;
      background:linear-gradient(90deg, transparent, #2dd4bf 18%, rgba(126, 227, 210, .32) 58%, #e7b454 88%, transparent);
      box-shadow:0 0 12px rgba(45, 212, 191, .30);
      pointer-events:none;
    }
    body[data-visual-polish="true"] .sticky-controls {
      isolation:isolate;
      border-radius:9px;
    }
    body[data-visual-polish="true"] .sticky-controls::before {
      content:'';
      position:absolute;
      z-index:-1;
      inset:-6px -7px;
      border:1px solid rgba(55, 84, 96, .64);
      border-radius:10px;
      background:linear-gradient(125deg, rgba(45, 212, 191, .075), rgba(7, 14, 19, .68) 42%, rgba(231, 180, 84, .045));
      box-shadow:inset 0 1px 0 rgba(195, 255, 244, .035), 0 7px 20px rgba(0, 0, 0, .16);
      pointer-events:none;
    }
    body[data-visual-polish="true"] select,
    body[data-visual-polish="true"] button {
      border-color:rgba(57, 87, 105, .96);
      background-color:rgba(8, 17, 25, .98);
      background-image:linear-gradient(180deg, rgba(17, 31, 42, .98), rgba(8, 17, 25, .98));
      box-shadow:inset 0 1px 0 rgba(196, 236, 255, .055), 0 3px 9px rgba(0, 0, 0, .16);
    }
    body[data-visual-polish="true"] select {
      background-image:
        linear-gradient(45deg, transparent 50%, #9fb6c2 50%),
        linear-gradient(135deg, #9fb6c2 50%, transparent 50%),
        linear-gradient(180deg, rgba(17, 31, 42, .98), rgba(8, 17, 25, .98));
      background-position:
        calc(100% - 14px) calc(50% - 1px),
        calc(100% - 9px) calc(50% - 1px),
        0 0;
      background-size:5px 5px, 5px 5px, 100% 100%;
      background-repeat:no-repeat;
    }
    body[data-visual-polish="true"] select:hover,
    body[data-visual-polish="true"] button:hover,
    body[data-visual-polish="true"] button:focus-visible,
    body[data-visual-polish="true"] select:focus-visible {
      border-color:rgba(45, 212, 191, .78);
      outline-color:rgba(45, 212, 191, .42);
    }
    body[data-visual-polish="true"] input[type="checkbox"],
    body[data-visual-polish="true"] input[type="range"] {
      accent-color:#2dd4bf;
    }
    body[data-visual-polish="true"] .chart-panel::before {
      content:'';
      position:absolute;
      z-index:5;
      inset:0;
      border:1px solid rgba(68, 200, 184, .50);
      border-radius:8px;
      box-shadow:inset 0 0 0 1px rgba(126, 227, 210, .055), inset 0 16px 28px rgba(45, 212, 191, .025), 0 10px 28px rgba(0, 0, 0, .26), 0 0 14px rgba(45, 212, 191, .08);
      pointer-events:none;
    }
    body[data-visual-polish="true"] .chart-stage #chart,
    body[data-visual-polish="true"] .chart-stage .chart-render-buffer {
      border-color:rgba(51, 109, 116, .92);
      box-shadow:none;
    }
    body[data-visual-polish="true"] .chart-market-value {
      border-color:rgba(45, 212, 191, .64);
      background:linear-gradient(135deg, rgba(6, 25, 25, .94), rgba(5, 12, 17, .90) 58%, rgba(58, 42, 17, .70));
      box-shadow:inset 0 1px 0 rgba(203, 255, 245, .09), 0 0 0 1px rgba(45, 212, 191, .08), 0 8px 24px rgba(0, 0, 0, .34), 0 0 18px rgba(45, 212, 191, .10);
    }
    body[data-visual-polish="true"] .chart-market-value-value {
      color:#effffb;
      text-shadow:0 0 18px rgba(45, 212, 191, .22);
    }
    body[data-visual-polish="true"] .chart-market-value-unit {
      color:#55e5d2;
    }
    body[data-visual-polish="true"] .chart-fullscreen-toggle,
    body[data-visual-polish="true"] .chart-y-lock {
      border-color:rgba(69, 136, 151, .88);
      background:linear-gradient(180deg, rgba(13, 34, 46, .96), rgba(5, 18, 27, .94));
    }
    body[data-visual-polish="true"] details.fold {
      border-color:rgba(48, 73, 84, .86);
      box-shadow:inset 0 1px 0 rgba(175, 232, 222, .025);
    }
    /* visual-polish-static-end */
    @media (max-width: 1040px) {
      .public-overview {
        grid-template-columns: 1fr;
      }
      .public-overview-side {
        border-left:0;
        border-top:1px solid rgba(231, 180, 84, .18);
      }
      .kpi { grid-template-columns: repeat(3,1fr); }
      .now { grid-template-columns: repeat(3,1fr); }
    }
    @media (max-width: 620px) {
      .wrap { padding-left: 8px; padding-right: 8px; }
      .card { padding: 8px; }
      .fullwindow-anchor {
        left:auto;
        right:8px;
        top:8px;
        transform:none;
      }
      .fullwindow-anchor-inner {
        min-width:0;
        padding:7px 10px;
      }
      .anchor-toggle {
        font-size:11px;
      }
      .head {
        padding-top: 42px;
      }
      .public-info-toggle {
        align-self:flex-start;
      }
      .brand-lockup {
        align-items:flex-start;
        gap:10px;
      }
      .brand-mark {
        width:34px;
        height:34px;
      }
      body[data-customer-mode-locked="true"] .title {
        font-size: 21px;
      }
      .public-overview {
        margin-top: 10px;
      }
      .market-headline {
        grid-template-columns:1fr;
        align-items:start;
        gap:8px;
        padding:11px 12px 12px;
      }
      .market-headline-price {
        justify-content:flex-start;
        min-width:0;
        text-align:left;
      }
      .market-headline-value {
        font-size:clamp(34px, 12vw, 46px);
      }
      .public-overview-main,
      .public-overview-side {
        padding: 13px 14px;
      }
      .public-lead {
        font-size: 17px;
      }
      .public-status-grid {
        grid-template-columns: 1fr 1fr;
      }
      .storage-card {
        padding: 8px 10px;
      }
      .storage-banner .storage-card {
        align-items:flex-start;
      }
      .storage-text {
        font-size: 11px;
        line-height: 1.35;
      }
      .storage-status {
        display:none;
      }
      .storage-actions {
        margin-top: 7px;
        margin-left:0;
        gap: 6px;
      }
      .storage-actions button {
        flex:1 1 0;
        min-width:0;
        padding:7px 8px;
        font-size: 13px;
      }
      .head { grid-template-columns: 1fr; }
      .head-side { justify-self:start; align-items:flex-start; }
      .head-actions {
        justify-content:flex-start;
      }
      .row,
      .viewctrl {
        align-items:flex-start;
        flex-wrap:wrap;
      }
      .row label,
      .viewctrl label,
      .trade-loupe-tolerance {
        max-width:100%;
      }
      input,
      select,
      button {
        max-width:100%;
      }
      #symbol {
        width:min(232px, 100%);
      }
      .viewctrl input[type="range"] {
        width:min(180px, 100%);
      }
      .now,
      .kpi {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .head {
        grid-template-columns: 1fr;
      }
      .head-main {
        padding-right: 0;
      }
      .head-side {
        justify-self: stretch;
        align-items: flex-start;
      }
      .head-legal-links {
        justify-content: flex-start;
      }
      .head-actions {
        justify-content:flex-start;
      }
    }
