    :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);
    }
    .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;
    }
    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-stage #chart {
      width:100%;
      max-width:100%;
      min-width:0;
      margin-top: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;
    }
    @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;
      }
    }
