  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

  :root {
    /* === Legacy --k-* palette — now aliases the canonical --kr-* scale
       (single source of truth in kairion-redesign.css). --k-amber /
       --k-amber-dim are defined there too (mapped to violet). === */
    --k-bg:       var(--kr-bg);
    --k-bg-2:     var(--kr-bg-2);
    --k-panel:    var(--kr-surface);
    --k-panel-2:  var(--kr-surface-2);
    --k-line:     var(--kr-line);
    --k-line-2:   var(--kr-line-2);
    --k-ink:      var(--kr-ink);
    --k-ink-2:    var(--kr-ink-2);
    --k-ink-3:    var(--kr-ink-3);
    --k-ink-4:    var(--kr-ink-4);
    --k-up:       var(--kr-up);
    --k-up-dim:   var(--kr-up-dim);
    --k-up-line:  var(--kr-up-line);
    --k-dn:       var(--kr-dn);
    --k-dn-dim:   var(--kr-dn-dim);
    --k-dn-line:  var(--kr-dn-line);
    --k-mono:     var(--kr-mono);
    --k-sans:     var(--kr-sans);

    /* === LEGACY ALIASES → mapped to Terminal Pro tokens === */
    --bg-primary:    var(--k-bg);
    --bg-secondary:  var(--k-bg-2);
    --bg-card:       var(--k-panel);
    --bg-card-2:     var(--k-panel-2);
    --bg-card-hover: var(--k-bg-2);
    --border:        var(--k-line-2);
    --border-strong: var(--k-line-2);
    --border-glow:   rgba(245, 165, 36, 0.3);
    --text-primary:  var(--k-ink);
    --text-secondary:var(--k-ink-2);
    --text-muted:    var(--k-ink-3);
    --green:         var(--k-up);
    --green-dim:     var(--k-up-dim);
    --green-glow:    rgba(45, 212, 126, 0.4);
    --red:           var(--k-dn);
    --red-dim:       var(--k-dn-dim);
    /* All accents collapse to single amber for Bloomberg-style discipline */
    --blue:          var(--k-amber);
    --blue-dim:      var(--k-amber-dim);
    --yellow:        var(--k-amber);
    --yellow-dim:    var(--k-amber-dim);
    --purple:        var(--k-amber);
    --purple-dim:    var(--k-amber-dim);
    --cyan:          var(--k-amber);
    --cyan-dim:      var(--k-amber-dim);
    --orange:        var(--k-amber);
    --orange-dim:    var(--k-amber-dim);
  }

  * { margin: 0; padding: 0; box-sizing: border-box; }

  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  img, svg, video, canvas {
    max-width: 100%;
    height: auto;
  }

  body {
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--bg-primary);
    color: var(--text-primary);
    min-height: 100vh;
    overflow-x: hidden;
  }

  body::before {
    content: '';
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: none;
    pointer-events: none;
    z-index: 0;
  }
  /* === Typography: Inter for UI/readability, JetBrains Mono for data === */
  body { font-family: var(--k-sans); }
  .topbar { backdrop-filter: none !important; background: var(--k-bg) !important; border-bottom: 1px solid var(--k-line-2) !important; }
  /* Sharpen radii globally */
  .card, .panel, button, input, select, textarea { border-radius: 2px !important; }
  /* Tabular numerics for data columns */
  table, .num, .price, .pnl, .score, .home-kpi-value, .signal-dir-cell,
  .signal-last-cell, .signal-delta-cell, .signal-level-cell, .signal-rr-cell,
  .signal-win-cell, .signal-conf-cell, .metric-value, .health-value {
    font-family: var(--k-mono);
    font-variant-numeric: tabular-nums;
  }

  /* === DECORATIVE NEUTRALIZERS — Bloomberg discipline ===
     Strip gradients, glows, blurs, soft shadows from chrome.
     Sentiment color stays only on numbers/direction chips. */
  *:not(.k-app *) {
    /* don't blanket; we apply targeted resets below */
  }
  /* Kill backdrop blur + glassmorphism */
  .topbar, .nav-tabs, .modal, .dropdown, .popover, .toast, .control-bar,
  [class*="glass"], [class*="blur"] {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  /* Kill big colored glows on cards */
  .card, .panel, [class*="-card"], [class*="-panel"], .signal-card, .position-card {
    box-shadow: none !important;
    background-image: none !important;
  }
  /* Kill rainbow accent dots, neon borders, glow rings */
  [class*="glow"], [class*="neon"], [class*="-ring"] {
    box-shadow: none !important;
    text-shadow: none !important;
  }
  /* Buttons: flat, mono-typed */
  button { font-family: var(--k-mono); letter-spacing: 0.04em; }
  /* Kill soft outer shadows on header/footer/sticky regions */
  header, footer, .sticky, [class*="sticky"] {
    box-shadow: none !important;
  }
  /* Reset gradient text headings to flat ink */
  h1, h2, h3, h4, .heading, .title, [class*="-title"] {
    background: none !important;
    -webkit-background-clip: initial !important;
    -webkit-text-fill-color: currentColor !important;
    color: var(--k-ink) !important;
    text-shadow: none !important;
  }
  /* Tables: dense terminal rows */
  table thead th { font-size: 10px !important; letter-spacing: 0.16em !important; text-transform: uppercase; color: var(--k-ink-4) !important; font-weight: 500 !important; }
  table tbody td { font-variant-numeric: tabular-nums; }
  /* Inputs: square, terminal */
  input, select, textarea {
    background: var(--k-bg-2) !important;
    border: 1px solid var(--k-line-2) !important;
    color: var(--k-ink) !important;
    font-family: var(--k-mono) !important;
  }
  /* Scrollbars: thin terminal */
  ::-webkit-scrollbar { width: 8px; height: 8px; }
  ::-webkit-scrollbar-track { background: var(--k-bg); }
  ::-webkit-scrollbar-thumb { background: var(--k-line-2); border-radius: 0; }
  ::-webkit-scrollbar-thumb:hover { background: var(--k-ink-4); }
  /* Selection */
  ::selection { background: var(--k-amber-dim); color: var(--k-amber); }

  .app { position: relative; z-index: 1; }

  /* Top nav */
  .topbar {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 16px;
    padding: 14px 32px;
    border-bottom: 1px solid var(--border);
    backdrop-filter: blur(20px);
    background: rgba(10, 14, 23, 0.85);
    position: sticky; top: 0; z-index: 100;
  }

  .logo {
    display: flex; align-items: center; gap: 12px;
    min-width: 0;
    font-weight: 800; font-size: 20px; letter-spacing: -0.5px;
  }

  .logo-icon {
    width: 36px; height: 36px;
    background: linear-gradient(135deg, var(--blue), var(--purple));
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 16px; font-weight: 800;
    box-shadow: 0 4px 15px rgba(59,130,246,0.3);
  }

  .logo-sub { font-size: 12px; color: var(--text-muted); font-weight: 500; letter-spacing: 1px; text-transform: uppercase; }

  .topbar-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
    min-width: 0;
  }

  .live-badge {
    display: flex; align-items: center; gap: 6px;
    padding: 6px 12px;
    background: var(--green-dim);
    border: 1px solid rgba(16,185,129,0.3);
    border-radius: 20px;
    font-size: 13px; font-weight: 700;
    color: var(--green);
    letter-spacing: 0.5px;
  }
  .live-badge-sep {
    color: rgba(16,185,129,0.55);
    font-weight: 500;
  }
  .live-badge-time {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--green);
    opacity: 0.9;
  }

  .live-dot {
    width: 6px; height: 6px;
    background: var(--green);
    border-radius: 50%;
    animation: pulse-dot 1.5s infinite;
    box-shadow: 0 0 8px var(--green-glow);
  }

  @keyframes pulse-dot {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(0.8); }
  }
  .refresh-info {
    font-size: 13px; color: var(--text-muted);
    font-family: 'JetBrains Mono', monospace;
  }

  /* Main layout */
  .main {
    width: calc(100% - 24px);
    max-width: none;
    margin: 0 auto;
    padding: 18px 0 56px;
    min-width: 0;
  }

  .section-title {
    font-size: 12px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1.8px;
    color: var(--text-muted);
    margin: 28px 0 14px;
    display: flex; align-items: center; gap: 10px;
    flex-wrap: wrap;
  }

  .section-title:first-child { margin-top: 0; }

  .section-title::after {
    content: ''; flex: 1; height: 1px;
    background: linear-gradient(90deg, var(--border), transparent);
  }

  .section-title .badge {
    font-size: 13px;
    padding: 2px 6px;
    border-radius: 4px;
    background: rgba(59, 130, 246, 0.2);
    color: #60a5fa;
    letter-spacing: 0.5px;
    font-weight: 600;
  }

  .focus-section {
    margin-bottom: 28px;
    margin-top: 6px;
  }

  /* Primary content: trading signals — clear title ladder */
  .focus-section-header {
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
  }
  .focus-section-header-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
  }
  /* ── Profile sections (short / swing / grid rendered side-by-side) ── */
  .profile-section {
    margin-top: 14px;
  }
  .profile-section:first-child {
    margin-top: 0;
  }
  .profile-section-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--border);
  }
  .profile-section-bar {
    display: inline-block;
    width: 3px;
    height: 18px;
    border-radius: 2px;
    background: var(--ps-accent, rgba(96,165,250,0.85));
    flex: 0 0 auto;
  }
  .profile-section-title {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: var(--text-primary);
    letter-spacing: 0.01em;
  }
  .profile-section-meta {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 10.5px;
    letter-spacing: 0.015em;
    padding: 2px 7px;
    border-radius: 5px;
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--border);
    color: var(--text-muted);
    white-space: nowrap;
    line-height: 1.4;
  }
  .profile-section-count {
    margin-left: auto;
    font-size: 13px;
    color: var(--text-muted);
    letter-spacing: 0.02em;
  }
  .profile-section-empty {
    padding: 18px 14px;
    border-radius: 10px;
    background: rgba(255,255,255,0.015);
    border: 1px dashed var(--border);
    color: var(--text-muted);
    font-size: 12.5px;
    text-align: center;
  }
  .profile-section-empty-sub {
    margin-top: 7px;
    font-size: 11.5px;
    line-height: 1.5;
    color: var(--text-secondary);
  }
  .signal-table-shell {
    border: 1px solid var(--k-line-2);
    background: var(--k-bg-2);
    border-radius: 2px;
    overflow: hidden;
  }
  .signal-table-caption {
    padding: 10px 14px 8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--k-ink-3);
    border-bottom: 1px solid var(--k-line);
  }
  .signal-table-scroll {
    overflow-x: auto;
  }
  .signal-table {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
    table-layout: fixed;
    font-variant-numeric: tabular-nums;
  }
  .signal-table thead th {
    padding: 11px 10px;
    font-size: 10px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase;
    color: var(--k-ink-4) !important;
    font-weight: 600 !important;
    text-align: left;
    border-bottom: 1px solid var(--k-line-2);
    background: rgba(255,255,255,0.01);
  }
  .signal-table thead th:nth-child(n+2):not(:nth-child(5)) {
    text-align: center;
  }
  .signal-row td {
    padding: 14px 10px;
    border-top: 1px solid rgba(255,255,255,0.03);
    vertical-align: middle;
    color: var(--k-ink);
  }
  .signal-row:first-child td {
    border-top: 0;
  }
  .signal-row--long {
    background: linear-gradient(90deg, rgba(45,212,126,0.025), transparent 18%);
  }
  .signal-row--short {
    background: linear-gradient(90deg, rgba(240,85,106,0.03), transparent 18%);
  }
  .signal-row[data-details-trigger] {
    cursor: pointer;
    user-select: none;
  }
  .signal-row[data-details-trigger]:focus {
    outline: none;
  }
  .signal-row[data-details-trigger]:focus-visible {
    outline: 1px solid rgba(245,165,36,0.58);
    outline-offset: -1px;
  }
  .signal-row.signal-row--details-open {
    background: rgba(255,255,255,0.03);
  }
  .signal-symbol-cell {
    min-width: 0;
  }
  .signal-symbol-main {
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1.1;
    color: var(--k-ink);
  }
  .signal-symbol-sub {
    margin-top: 4px;
    font-size: 10.5px;
    color: var(--k-ink-4);
    letter-spacing: 0.02em;
    line-height: 1.2;
  }
  .signal-dir-cell,
  .signal-last-cell,
  .signal-delta-cell,
  .signal-level-cell,
  .signal-rr-cell,
  .signal-win-cell,
  .signal-conf-cell {
    text-align: center;
    font-family: var(--k-mono);
    font-variant-numeric: tabular-nums;
  }
  .signal-dir-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 62px;
    padding: 4px 10px;
    border-radius: 2px;
    border: 1px solid var(--k-line-2);
    background: var(--k-bg);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }
  .signal-dir-chip--long {
    color: var(--k-up);
    border-color: rgba(45,212,126,0.26);
    background: rgba(45,212,126,0.06);
  }
  .signal-dir-chip--short {
    color: var(--k-dn);
    border-color: rgba(240,85,106,0.26);
    background: rgba(240,85,106,0.06);
  }
  .signal-dir-chip--neutral {
    color: var(--k-ink-2);
  }
  .signal-last-cell,
  .signal-level-cell {
    font-size: 14px;
    font-weight: 700;
    color: var(--k-ink);
  }
  .signal-delta-cell.up {
    color: var(--k-up);
  }
  .signal-delta-cell.down {
    color: var(--k-dn);
  }
  .signal-score-cell {
    text-align: left;
    padding-right: 14px;
  }
  .signal-score-line {
    display: flex;
    align-items: baseline;
    gap: 4px;
    font-family: var(--k-mono);
    color: var(--k-ink);
  }
  .signal-score-num {
    font-size: 18px;
    font-weight: 800;
    color: var(--k-ink);
  }
  .signal-score-den {
    font-size: 12px;
    color: var(--k-ink-4);
    font-weight: 700;
  }
  .signal-score-track {
    margin-top: 5px;
    height: 4px;
    border-radius: 999px;
    background: rgba(148,163,184,0.10);
    overflow: hidden;
  }
  .signal-score-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(245,165,36,0.6), var(--k-amber));
  }
  .signal-rr-cell,
  .signal-win-cell {
    font-size: 14px;
    font-weight: 700;
    color: var(--k-ink);
  }
  .signal-detail-row td {
    padding: 0 14px 16px;
    border-top: 0;
    background: rgba(0,0,0,0.12);
  }
  .signal-empty-row td {
    padding: 26px 16px;
    text-align: center;
    background: rgba(255,255,255,0.01);
    color: var(--k-ink-3);
    border-top: 0;
  }
  .signal-empty-msg {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
  }
  .signal-empty-sub {
    margin-top: 8px;
    font-size: 13px;
    color: var(--k-ink-4);
    line-height: 1.5;
  }
  .signal-row-details {
    border-top: 1px solid var(--k-line);
    padding-top: 10px;
  }
  .signal-detail-row:has(.signal-row-details:not([open])) {
    display: none;
  }
  .signal-row-details > summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--k-ink-2);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    user-select: none;
  }
  .signal-row-details > summary::-webkit-details-marker { display: none; }
  .signal-row-details > summary::before {
    content: '▸';
    display: inline-block;
    margin-right: 2px;
    transition: transform 0.15s;
  }
  .signal-row-details[open] > summary::before {
    transform: rotate(90deg);
  }
  .signal-row-details > .signal-row-details-summary--hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .signal-row-details > .signal-row-details-summary--hidden::before {
    content: none;
  }
  .signal-row-details-body {
    margin-top: 12px;
    display: grid;
    gap: 10px;
  }
  .signal-detail-warn {
    padding: 8px 10px;
    border: 1px solid rgba(245,165,36,0.24);
    background: rgba(42,33,19,0.8);
    color: var(--k-amber);
    font-size: 13px;
    line-height: 1.5;
  }
  .signal-detail-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
  }
  .signal-table--grid .signal-row--grid {
    background: linear-gradient(90deg, rgba(59,130,246,0.02), transparent 18%);
  }
  .signal-table--grid .signal-score-num {
    color: var(--k-amber);
  }
  .signal-table--grid .signal-last-cell {
    text-align: left;
  }
  .signal-table--grid .grid-row-last-main {
    font-size: 14px;
    font-weight: 700;
    color: var(--k-ink);
    line-height: 1.15;
  }
  .signal-table--grid .grid-row-last-sub {
    margin-top: 3px;
    font-size: 12px;
    color: var(--k-ink-4);
    line-height: 1.35;
  }
  .signal-table--grid .signal-delta-cell {
    font-size: 13px;
    color: var(--k-ink-2);
    text-align: center;
  }
  .signal-table--grid .signal-level-cell--sl {
    color: var(--k-dn);
  }
  .signal-table--grid .signal-rr-cell,
  .signal-table--grid .signal-win-cell {
    font-size: 13px;
  }
  .signal-table--grid .signal-detail-row td {
    background: rgba(0,0,0,0.14);
  }
  .signal-table--grid .signal-row-details-body {
    gap: 8px;
  }
  .grid-detail-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
    padding: 10px 12px;
    border: 1px solid var(--k-line);
    background: rgba(15,23,42,0.5);
    font-size: 13px;
    color: var(--k-ink-2);
    line-height: 1.45;
  }
  .grid-detail-strip b {
    color: var(--k-ink);
    font-weight: 800;
    margin-right: 6px;
  }
  .grid-detail-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .grid-detail-metric {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--k-line);
    background: rgba(15,23,42,0.42);
    font-size: 13px;
    color: var(--k-ink-2);
  }
  .grid-detail-metric strong {
    color: var(--k-ink);
    font-size: 12px;
    font-family: var(--k-mono);
  }
  .grid-row-notes {
    padding: 6px 2px 2px;
  }
  .grid-row-note {
    font-size: 13px;
    color: var(--k-ink-4);
    line-height: 1.5;
  }
  .signal-table thead th:nth-child(1) { text-align: left; }
  .signal-table thead th:nth-child(5) { text-align: left; }
  /* Profile accent colors: short=amber, swing=blue, grid=violet */
  .profile-section--short { --ps-accent: rgba(251, 191, 36, 0.78); }
  .profile-section--swing { --ps-accent: rgba(96, 165, 250, 0.82); }
  .profile-section--grid  { --ps-accent: rgba(167, 139, 250, 0.82); }
  @media (max-width: 640px) {
    .profile-section-head {
      flex-wrap: wrap;
      gap: 8px;
    }
    .profile-section-count { margin-left: 0; }
    .signal-table {
      min-width: 760px;
    }
    .signal-table-caption {
      padding: 10px 12px 8px;
    }
    .signal-table-scroll {
      -webkit-overflow-scrolling: touch;
    }
    .signal-table-scroll::after {
      content: '可左右滑動查看更多欄位';
      display: block;
      padding: 8px 12px 0;
      font-size: 12px;
      color: var(--k-ink-4);
      letter-spacing: 0.12em;
      text-transform: uppercase;
    }
    .signal-table--empty thead {
      display: none;
    }
    .signal-table--empty {
      min-width: 0;
    }
    .signal-table--empty .signal-empty-row td {
      padding: 14px 12px;
    }
    .signal-table--empty .signal-empty-msg {
      font-size: 13px;
      letter-spacing: 0.03em;
    }
    .signal-table--empty .signal-empty-sub {
      margin-top: 6px;
      font-size: 12px;
      line-height: 1.45;
    }
    .signal-table-shell--empty {
      display: none;
    }
    .signal-table thead th:first-child,
    .signal-row td:first-child {
      position: sticky;
      left: 0;
      z-index: 2;
      background: linear-gradient(90deg, rgba(8,11,15,0.98), rgba(8,11,15,0.92));
      box-shadow: 8px 0 16px rgba(0,0,0,0.16);
    }
    .signal-table thead th:first-child {
      z-index: 3;
    }
    .signal-row td {
      padding: 10px 7px;
    }
    .signal-symbol-main {
      font-size: 15px;
    }
    .signal-last-cell,
    .signal-level-cell,
    .signal-rr-cell,
    .signal-win-cell {
      font-size: 13px;
    }
    .signal-score-num {
      font-size: 16px;
    }
    .signal-detail-row td {
      padding: 0 10px 14px;
    }
    .signal-row-details-body {
      gap: 8px;
    }
    .signal-row-details-body--grid .grid-detail-strip,
    .signal-row-details-body--grid .grid-detail-metrics {
      grid-template-columns: 1fr;
    }
    .signal-row-details-body--grid .grid-detail-metric {
      padding: 8px 10px;
    }
    .signal-row-details-body--grid .grid-row-note {
      font-size: 12px;
    }
    .signal-row-details--grid > summary {
      gap: 6px;
      font-size: 8.5px;
      letter-spacing: 0.12em;
    }
    .signal-row-details--grid .signal-row-details-sub {
      display: none;
    }
    .signal-detail-row--grid td {
      padding: 0 8px 10px;
    }
  }
  /* Grid candidates panel */
  .grid-candidates-panel {
    margin-top: 14px;
  }
  .grid-candidates-panel:empty {
    display: none;
  }
  .grid-candidates-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
    flex-wrap: wrap;
  }
  .grid-candidates-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--text-primary);
    letter-spacing: -0.01em;
    border-left: 3px solid rgba(96,165,250,0.7);
    padding-left: 10px;
  }
  .grid-candidates-sub {
    font-size: 13px;
    color: var(--text-muted);
    max-width: 52ch;
    line-height: 1.5;
  }
  .grid-candidates-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .grid-card {
    border: 1px solid var(--k-line-2);
    border-radius: 2px;
    padding: 14px 16px 16px;
    background: var(--k-bg-2);
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
  }
  .grid-card--good { border-color: rgba(34,197,94,0.35); }
  .grid-card--warn { border-color: rgba(245,158,11,0.35); }
  .grid-card-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
  }
  .grid-card-sym {
    font-weight: 900;
    font-size: 18px;
    letter-spacing: 0.02em;
    color: var(--text-primary);
  }
  .grid-card-sym small {
    margin-left: 6px;
    font-weight: 500;
    font-size: 10.5px;
    color: var(--text-muted);
  }
  .grid-card-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
    font-size: 11.5px;
  }
  .grid-card-metric-k {
    color: var(--text-muted);
    letter-spacing: 0.02em;
  }
  .grid-card-metric-v {
    color: var(--text-primary);
    font-weight: 700;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
  }
  .grid-card-metric-v--hl {
    color: var(--cyan, #60a5fa);
    font-weight: 800;
  }
  .grid-card-more {
    margin-top: 2px;
  }
  .grid-card-more > summary {
    list-style: none;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--k-ink-3);
    padding: 2px 0;
    user-select: none;
  }
  .grid-card-more > summary::-webkit-details-marker { display: none; }
  .grid-card-more > summary::before {
    content: '▸';
    display: inline-block;
    margin-right: 6px;
    transition: transform 0.15s;
  }
  .grid-card-more[open] > summary::before { transform: rotate(90deg); }
  .grid-card-more > summary:hover { color: var(--text-primary); }
  .grid-card-metrics--more {
    margin-top: 4px;
    opacity: 0.9;
    font-size: 13px;
  }
  .grid-card-range {
    display: flex;
    justify-content: space-between;
    padding: 8px 10px;
    border-radius: 2px;
    background: var(--k-bg);
    border: 1px solid var(--k-line);
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 11.5px;
  }
  .grid-card-range-k {
    color: var(--text-muted);
    margin-right: 6px;
  }
  .grid-card-notes {
    font-size: 13px;
    color: var(--text-muted);
    line-height: 1.5;
  }
  /* ── Action strip: direction + entry timing + entry price ── */
  .grid-action {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 2px;
    background: var(--k-bg);
    border: 1px solid var(--k-line);
    font-size: 13px;
    flex-wrap: wrap;
  }
  .grid-action--long {
    background: rgba(34,197,94,0.08);
    border-color: rgba(34,197,94,0.3);
  }
  .grid-action--short {
    background: rgba(239,68,68,0.08);
    border-color: rgba(239,68,68,0.3);
  }
  .grid-action-bias {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-weight: 800;
    color: var(--text-primary);
    letter-spacing: 0.01em;
  }
  .grid-action-icon {
    font-size: 12px;
    line-height: 1;
  }
  .grid-action--long .grid-action-icon { color: #22c55e; }
  .grid-action--short .grid-action-icon { color: #ef4444; }
  .grid-action--neutral .grid-action-icon { color: #60a5fa; }
  .grid-action-timing {
    padding: 2px 7px;
    border-radius: 5px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.02em;
  }
  .grid-action-timing--now {
    background: rgba(34,197,94,0.18);
    color: #86efac;
    border: 1px solid rgba(34,197,94,0.35);
  }
  .grid-action-timing--wait {
    background: rgba(245,158,11,0.14);
    color: #fcd34d;
    border: 1px solid rgba(245,158,11,0.32);
  }
  .grid-action-entry {
    margin-left: auto;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 11.5px;
    font-weight: 700;
    color: var(--text-primary);
  }
  /* ── Position-in-range indicator bar ── */
  .grid-card-posbar {
    position: relative;
    height: 6px;
    border-radius: 2px;
    background: linear-gradient(
      to right,
      rgba(239,68,68,0.22) 0%,
      rgba(59,130,246,0.18) 50%,
      rgba(34,197,94,0.22) 100%
    );
    border: 1px solid var(--border);
    margin-top: -2px;
  }
  .grid-card-posbar-fill {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 2px rgba(0,0,0,0.45), 0 0 8px rgba(255,255,255,0.35);
    pointer-events: none;
  }
  .grid-card-posbar-label {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 10.5px;
    color: var(--text-muted);
    text-align: center;
    letter-spacing: 0.02em;
  }
  /* ── Stop row (range-break liquidation-style exit) ── */
  .grid-card-stoprow {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 10px;
    border-radius: 2px;
    background: var(--k-amber-dim);
    border: 1px solid rgba(245,165,36,0.24);
    font-size: 13px;
    gap: 8px;
    flex-wrap: wrap;
  }
  .grid-card-stop-k {
    color: var(--k-amber);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  .grid-card-stop-v {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-weight: 700;
    color: var(--k-ink);
    font-size: 13px;
  }

  /* Mobile grid-card readability */
  @media (max-width: 640px) {
    .grid-candidates-list {
      grid-template-columns: 1fr;
      gap: 12px;
    }
    .grid-card {
      padding: 14px 14px;
      border-radius: 14px;
      gap: 10px;
    }
    .grid-card-head {
      align-items: flex-start;
    }
    .grid-card-sym {
      font-size: 15px;
      line-height: 1.15;
    }
    .grid-card-sym small {
      display: inline-block;
      margin-left: 8px;
      margin-top: 2px;
      font-size: 13px;
    }

    .grid-action {
      padding: 10px 10px;
      font-size: 12px;
      gap: 8px 10px;
    }
    .grid-action-entry {
      width: 100%;
      margin-left: 0;
      font-size: 12px;
      opacity: 0.95;
    }
    .grid-action-timing {
      font-size: 13px;
    }

    .grid-card-range {
      flex-direction: column;
      align-items: flex-start;
      gap: 6px;
      padding: 10px 10px;
      font-size: 12px;
      line-height: 1.4;
    }

    .grid-card-posbar {
      height: 8px;
      margin-top: 0;
    }
    .grid-card-posbar-label {
      font-size: 13px;
      opacity: 0.9;
    }

    .grid-card-stoprow {
      flex-direction: column;
      align-items: flex-start;
      gap: 6px;
      padding: 10px 10px;
      font-size: 12px;
    }
    .grid-card-stop-v {
      font-size: 12px;
    }

    .grid-card-metrics {
      grid-template-columns: 1fr;
      gap: 6px 0;
      font-size: 12px;
      padding: 10px 10px;
      border-radius: 10px;
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(255,255,255,0.05);
    }
    .grid-card-metric-k {
      font-size: 13px;
    }
    .grid-card-metric-v {
      justify-self: start;
      font-size: 12.5px;
    }

    .grid-card-more > summary {
      padding: 8px 0;
      font-size: 12px;
    }
    .grid-card-notes {
      font-size: 12px;
      line-height: 1.55;
    }
  }
  .focus-section-heading {
    margin: 0 0 6px;
    font-size: 1.125rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--text-primary);
    border-left: 3px solid var(--green);
    padding-left: 12px;
    line-height: 1.25;
  }
  .focus-section-lede {
    margin: 0;
    padding-left: 15px;
    font-size: 12px;
    line-height: 1.55;
    color: var(--text-muted);
    font-weight: 500;
    max-width: 52ch;
  }
  .focus-kpi-pill {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    margin: 0 2px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    background: rgba(59, 130, 246, 0.14);
    border: 1px solid rgba(96, 165, 250, 0.28);
    color: #93c5fd;
    vertical-align: middle;
    white-space: nowrap;
  }
  .focus-aux {
    margin-bottom: 12px;
  }
  .focus-aux:empty {
    display: none;
    margin: 0;
  }
  #short-diag-panel:empty {
    display: none;
    margin: 0;
  }

  /* Collapsed utility panels: scanner + position — grouped, less visual weight */
  .dashboard-utilities {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 22px;
  }
  .dashboard-utilities .control-panel {
    margin-bottom: 0;
  }

  /* Unified Control Bar — tabbed surface for scanner / position / single-symbol tools */
  .control-bar {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 16px;
    margin-bottom: 22px;
    overflow: hidden;
  }
  .control-bar-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 8px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.005));
    border-bottom: 1px solid var(--border);
    overflow-x: visible;
    scrollbar-width: none;
  }
  .control-bar-tabs::-webkit-scrollbar { display: none; }
  .control-bar-tab {
    flex: 1 1 0;
    min-width: 90px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    padding: 10px 14px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    font: inherit;
    text-align: left;
    position: relative;
    opacity: 0.65;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, opacity 0.18s ease, transform 0.12s ease;
  }
  .control-bar-tab::after {
    content: '';
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 4px;
    height: 2px;
    border-radius: 2px;
    background: linear-gradient(90deg, #60a5fa, #3b82f6);
    opacity: 0;
    transform: scaleX(0.4);
    transform-origin: center;
    transition: opacity 0.18s ease, transform 0.22s ease;
  }
  .control-bar-tab:hover {
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-secondary);
    opacity: 0.95;
  }
  .control-bar-tab:focus-visible {
    outline: none;
    border-color: rgba(96, 165, 250, 0.55);
  }
  .control-bar-tab.is-active {
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.18), rgba(59, 130, 246, 0.08));
    border-color: rgba(96, 165, 250, 0.45);
    color: var(--text-primary);
    opacity: 1;
    box-shadow: 0 1px 0 rgba(96, 165, 250, 0.15) inset, 0 4px 12px -6px rgba(59, 130, 246, 0.4);
  }
  .control-bar-tab.is-active::after {
    opacity: 1;
    transform: scaleX(1);
  }
  .control-bar-tab-label {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    display: flex;
    align-items: center;
    gap: 6px;
  }
  .control-bar-tab-meta {
    font-size: 10.5px;
    font-weight: 600;
    color: var(--text-muted);
    font-family: 'JetBrains Mono', monospace;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 6px;
    line-height: 1.3;
    max-width: 100%;
    overflow: hidden;
    opacity: 0.85;
  }
  .control-bar-tab.is-active .control-bar-tab-meta {
    color: var(--text-secondary);
    opacity: 1;
  }
  /* Trading tab — compact status only; full controls live in its panel */
  .control-bar-tab--trading {
    flex: 1.1 1 0;
    min-width: 150px;
    padding: 8px 12px !important;
  }
  .control-bar-tab--trading .control-bar-tab-label::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #6b7280;
    box-shadow: 0 0 0 2px rgba(107, 114, 128, 0.15);
    transition: background 0.2s ease, box-shadow 0.2s ease;
    margin-right: 4px;
    vertical-align: middle;
  }
  body.trading-enabled .control-bar-tab--trading .control-bar-tab-label::before {
    background: #22c55e;
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.2), 0 0 8px rgba(34, 197, 94, 0.6);
    animation: trading-pulse 2s ease-in-out infinite;
  }
  body.trading-paused .control-bar-tab--trading .control-bar-tab-label::before {
    background: #f59e0b;
    box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.2), 0 0 6px rgba(245, 158, 11, 0.5);
  }
  @keyframes trading-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.55; }
  }

  /* Inline action buttons */
  .trading-tab-actions {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
    margin-left: auto;
  }
  .trading-tab-action {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.03);
    color: var(--text-secondary);
    font-size: 13px;
    cursor: pointer;
    padding: 0;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.1s ease;
  }
  .trading-tab-action:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.18);
    color: var(--text-primary);
  }
  .trading-tab-action:active {
    transform: scale(0.92);
  }
  .trading-tab-action:focus-visible {
    outline: none;
    border-color: rgba(96, 165, 250, 0.6);
  }
  .trading-tab-action--toggle {
    color: #86efac;
    border-color: rgba(34, 197, 94, 0.25);
    background: rgba(34, 197, 94, 0.08);
  }
  .trading-tab-action--toggle:hover {
    background: rgba(34, 197, 94, 0.18);
    border-color: rgba(34, 197, 94, 0.5);
  }
  body.trading-enabled .trading-tab-action--toggle {
    color: #fca5a5;
    border-color: rgba(248, 113, 113, 0.25);
    background: rgba(248, 113, 113, 0.06);
  }
  body.trading-enabled .trading-tab-action--toggle:hover {
    background: rgba(248, 113, 113, 0.18);
    border-color: rgba(248, 113, 113, 0.5);
  }
  .trading-tab-action--pause {
    color: #fcd34d;
    border-color: rgba(245, 158, 11, 0.25);
    background: rgba(245, 158, 11, 0.06);
  }
  .trading-tab-action--pause:hover {
    background: rgba(245, 158, 11, 0.18);
    border-color: rgba(245, 158, 11, 0.5);
  }
  .trading-tab-action--kill {
    color: #fca5a5;
    border-color: rgba(239, 68, 68, 0.3);
    background: rgba(239, 68, 68, 0.08);
    font-size: 13px;
  }
  .trading-tab-action--kill:hover {
    background: rgba(239, 68, 68, 0.22);
    border-color: rgba(239, 68, 68, 0.6);
    color: #fee2e2;
  }
  .trading-tab-dashboard-shell {
    width: 100%;
    min-width: 0;
    padding-top: 0;
    border-top: 0;
    cursor: default;
  }
  .control-bar-panel[data-tab="trading"] {
    gap: 12px;
  }
  .control-bar-panel[data-tab="trading"] .trading-tab-actions {
    align-self: flex-start;
  }
  .control-bar-panel[data-tab="trading"] .trading-tab-dashboard-shell {
    padding-top: 0;
  }

  /* Responsive: collapse extras on narrow screens */
  @media (max-width: 880px) {
    .control-bar-tab--trading {
      flex: 1.1 1 0;
      min-width: 150px;
    }
  }
  @media (max-width: 640px) {
    .kx-topbar-shell {
      flex-direction: column;
      align-items: stretch;
      justify-content: flex-start;
      gap: 8px;
      padding: 8px 10px !important;
      min-height: 0 !important;
      height: auto !important;
    }
    .kx-topbar-l,
    .kx-topbar-r {
      width: 100%;
    }
    .kx-topbar-l {
      justify-content: space-between;
      gap: 10px;
      flex: 0 0 auto;
    }
    .kx-topbar-r {
      justify-content: flex-end;
      flex-wrap: wrap;
    }
  }

  @media (max-width: 640px) {
    .kx-fnbar {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }
    .control-bar-tab--trading {
      min-width: 120px;
    }
  }
  .control-bar-tab-sep {
    opacity: 0.5;
  }
  .control-bar-panels {
    padding: 14px 16px 16px;
  }
  .control-bar-panel[hidden] { display: none !important; }
  .control-bar-panel { display: flex; flex-direction: column; gap: 12px; }

  .control-bar-collapse {
    order: 20;
    flex: 0 0 auto;
    width: 36px;
    align-self: stretch;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    padding: 0;
    margin-left: 4px;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  }
  .control-bar-collapse:hover {
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-primary);
    border-color: var(--border);
  }
  .control-bar-collapse:focus-visible {
    outline: none;
    border-color: rgba(96, 165, 250, 0.55);
  }
  .control-bar-collapse-icon {
    display: inline-block;
    font-size: 14px;
    line-height: 1;
    transition: transform 0.2s ease;
  }
  .control-bar.is-collapsed .control-bar-tabs {
    border-bottom-color: transparent;
  }
  .control-bar.is-collapsed .control-bar-panels {
    display: none;
  }
  .control-bar.is-collapsed .control-bar-collapse-icon {
    transform: rotate(-90deg);
  }

  @media (max-width: 600px) {
    .control-bar-tab { min-width: 80px; padding: 8px 10px; }
    .control-bar-tab-meta { font-size: 12px; }
    .control-bar-panels { padding: 12px; }
  }

  .control-panel-summary-main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
    flex: 1;
  }
  @media (min-width: 760px) {
    .control-panel-summary-main--scanner {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
    }
  }
  .control-panel-summary-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-width: 0;
  }
  .scanner-threshold-pill {
    font-size: 13px;
    font-weight: 650;
    font-family: 'JetBrains Mono', monospace;
    color: var(--text-secondary);
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--border);
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .control-panel-hint-inline {
    font-size: 13px;
    color: var(--text-muted);
    font-weight: 500;
    line-height: 1.4;
    max-width: min(100%, 48ch);
  }
  @media (min-width: 760px) {
    .control-panel-summary-main--position {
      flex-direction: row;
      align-items: center;
      gap: 14px;
    }
    .control-panel-hint-inline {
      margin-left: auto;
      text-align: right;
      max-width: 36ch;
    }
  }

  /* SHORT candidate strip — tertiary diagnostic */
  .short-diag {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
  }
  .short-diag__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    list-style: none;
    cursor: pointer;
    user-select: none;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(96, 165, 250, 0.2);
    background: rgba(59, 130, 246, 0.05);
    transition: border-color 0.15s ease, background 0.15s ease;
    font-size: 12px;
    text-align: left;
  }
  .short-diag__summary::-webkit-details-marker { display: none; }
  .short-diag__summary:hover {
    border-color: rgba(96, 165, 250, 0.38);
    background: rgba(59, 130, 246, 0.09);
  }
  .short-diag__left {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
  }
  .short-diag__label {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-secondary);
  }
  .short-diag__hint {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-muted);
  }
  .short-diag__stats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-left: auto;
  }
  .short-diag__stat {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    background: rgba(15, 23, 42, 0.65);
    border: 1px solid rgba(148, 163, 184, 0.14);
    color: var(--text-secondary);
  }
  .short-diag__stat-val {
    font-family: 'JetBrains Mono', monospace;
    font-weight: 800;
    color: var(--text-primary);
  }
  .short-diag__stat--live {
    border-color: rgba(74, 222, 128, 0.28);
    background: rgba(16, 185, 129, 0.08);
    color: #86efac;
  }
  .short-diag__stat--live .short-diag__stat-val {
    color: #86efac;
  }
  .short-diag__stat--muted {
    opacity: 0.88;
  }
  .short-diag__chev {
    flex-shrink: 0;
    font-size: 13px;
    color: var(--text-muted);
    transition: transform 0.2s;
  }
  details.short-diag[open] .short-diag__chev {
    transform: rotate(180deg);
  }
  .short-diag .no-signal-debug-body {
    margin-top: 10px;
  }
  .short-diag__live-note {
    margin: 0 0 12px;
    padding: 8px 10px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
    color: var(--text-secondary);
    background: rgba(16, 185, 129, 0.07);
    border: 1px solid rgba(74, 222, 128, 0.2);
  }
  .short-diag__live-syms {
    font-family: 'JetBrains Mono', monospace;
    font-weight: 700;
    color: #86efac;
    word-break: break-word;
  }

  .control-panel {
    margin-bottom: 20px;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 16px;
    min-width: 0;
    overflow: hidden;
  }

  /* Collapsed summary row */
  .control-panel-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px;
    min-height: 48px;
    cursor: pointer;
    list-style: none;
    user-select: none;
  }
  .control-panel-summary::-webkit-details-marker { display: none; }
  .control-panel-summary:hover { background: rgba(255,255,255,0.02); }

  .control-panel-summary-left {
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0;
  }
  .control-panel-summary-right {
    display: flex; align-items: center; gap: 8px; flex-shrink: 0;
  }

  .scanner-toggle-icon {
    font-size: 12px; color: var(--text-muted);
    transition: transform 0.2s;
    display: inline-block;
  }
  details[open] .scanner-toggle-icon { transform: rotate(180deg); }

  /* Expanded body */
  .control-panel-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 12px 14px 14px;
    border-top: 1px solid var(--border);
  }

  .control-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
  }

  .control-header > div:first-child {
    min-width: 0;
  }

  .control-header-main {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    min-width: 0;
  }

  .control-title {
    font-size: 13px;
    font-weight: 800;
  }

  .control-subtitle {
    margin-top: 2px;
    font-size: 13px;
    color: var(--text-secondary);
  }

  .control-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
  }

  .winrate-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 999px;
    background: var(--green-dim);
    border: 1px solid rgba(16,185,129,0.25);
    color: var(--green);
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
  }

  .mode-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(59,130,246,0.12);
    border: 1px solid rgba(59,130,246,0.22);
    color: #93c5fd;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
  }

  .threshold-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    align-self: center;
    min-width: 0;
  }

  .threshold-panel {
    padding: 8px 10px;
    border-radius: 12px;
    background: rgba(245,158,11,0.08);
    border: 1px solid rgba(245,158,11,0.24);
    font-size: 12px;
    font-weight: 700;
    color: var(--text-secondary);
    line-height: 1.45;
    max-width: 100%;
  }
  .threshold-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px;
  }
  .threshold-row .tk {
    color: #fde68a;
    font-weight: 800;
    min-width: 4.5em;
  }
  .threshold-row .tv {
    font-family: 'JetBrains Mono', monospace;
    font-size: 13px;
    font-weight: 900;
    color: #fff;
  }
  .threshold-row .thint {
    color: var(--text-muted);
    font-weight: 600;
    font-size: 12px;
  }

  .scanner-summary-chips {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
  }
  .scanner-summary-line {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-muted);
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    letter-spacing: 0.02em;
  }
  .scanner-summary-line #scan-mode-label {
    color: #e2e8f0;
  }
  .scanner-summary-line #th-compact {
    color: #fde68a;
  }
  .scanner-summary-sep {
    opacity: 0.4;
  }

  .chip-k {
    font-weight: 650;
    font-size: 12px;
    color: var(--text-muted);
    letter-spacing: 0.02em;
  }

  .scanner-summary-compact {
    font-size: 13px;
    font-weight: 650;
    color: var(--text-muted);
    font-family: 'JetBrains Mono', monospace;
    line-height: 1.35;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .scanner-threshold-details {
    margin-bottom: 4px;
  }

  .footer-full { display: none; }
  .footer-compact { display: inline; }

  .market-hint {
    width: 100%;
    margin-bottom: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(245,158,11,0.28);
    background: rgba(245,158,11,0.08);
    color: #fde68a;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
  }
  /* Secondary contextual hint — sits under signal header, not a loud banner */
  .market-hint--contextual {
    text-align: left;
    font-weight: 650;
    font-size: 13px;
    line-height: 1.45;
    padding: 8px 12px 8px 10px;
    margin-bottom: 14px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    border-left: 3px solid rgba(245, 158, 11, 0.55);
    border-radius: 0 12px 12px 0;
  }
  .market-hint--contextual::before {
    content: '';
    width: 6px;
    height: 6px;
    margin-top: 5px;
    flex-shrink: 0;
    border-radius: 50%;
    background: rgba(245, 158, 11, 0.85);
    box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.2);
  }

  .tc2-sm-top1 {
    margin: 0 0 10px;
    padding: 8px 10px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 800;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.03);
  }
  .tc2-sm-top1.agree {
    color: #6ee7b7;
    border-color: rgba(16,185,129,0.35);
    background: rgba(16,185,129,0.08);
  }
  .tc2-sm-top1.conflict {
    color: #fecaca;
    border-color: rgba(248,113,113,0.35);
    background: rgba(248,113,113,0.08);
  }

  .threshold-details summary::-webkit-details-marker { display: none; }
  .threshold-details summary { list-style: none; }

  .threshold-note {
    width: 100%;
    margin-top: 2px;
    font-size: 13px;
    color: var(--text-muted);
    font-weight: 600;
  }

  .symbol-search {
    position: relative;
    min-width: 0;
    padding: 13px;
    border-radius: 15px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.05);
  }

  .symbol-search-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
  }

  .symbol-search-title {
    font-size: 12px;
    font-weight: 800;
    color: var(--text-primary);
    letter-spacing: 0.2px;
  }

  .symbol-search-hint {
    font-size: 13px;
    color: var(--text-muted);
  }

  .symbol-search-row {
    display: flex;
    align-items: stretch;
    gap: 10px;
  }

  .symbol-input {
    flex: 1;
    width: 100%;
    min-height: 44px;
    padding: 0 14px;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: rgba(255,255,255,0.03);
    color: var(--text-primary);
    font-size: 14px;
  }

  .symbol-input:focus {
    outline: none;
    border-color: rgba(59,130,246,0.55);
    box-shadow: 0 0 0 3px rgba(59,130,246,0.15);
  }

  .symbol-add-btn {
    min-height: 44px;
    padding: 0 16px;
    border-radius: 12px;
    border: 1px solid rgba(59,130,246,0.35);
    background: rgba(59,130,246,0.14);
    color: #bfdbfe;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
  }

  .symbol-add-btn:hover {
    background: rgba(59,130,246,0.2);
  }

  .symbol-results {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    z-index: 30;
    background: var(--bg-card-2);
    border: 1px solid var(--border-strong);
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.28);
    max-height: 280px;
    overflow-y: auto;
    display: none;
  }

  .symbol-results.visible {
    display: block;
  }

  .symbol-result {
    width: 100%;
    padding: 12px 14px;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(255,255,255,0.04);
    text-align: left;
    color: var(--text-primary);
    cursor: pointer;
  }

  .symbol-result:last-child {
    border-bottom: none;
  }

  .symbol-result:hover {
    background: rgba(255,255,255,0.04);
  }

  .symbol-result-main {
    font-size: 13px;
    font-weight: 800;
  }

  .symbol-result-sub {
    margin-top: 2px;
    font-size: 13px;
    color: var(--text-muted);
  }

  .selected-shell {
    border-top: 1px solid rgba(255,255,255,0.06);
    padding-top: 10px;
  }

  .selected-toggle {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 700;
  }

  .selected-toggle::-webkit-details-marker { display: none; }

  .selected-toggle strong {
    color: var(--text-primary);
  }

  .selected-toggle #selected-symbols-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.9em;
    margin-left: 6px;
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(59,130,246,0.12);
    border: 1px solid rgba(59,130,246,0.24);
    color: #bfdbfe;
    font-size: 13px;
    font-weight: 800;
  }

  .selected-arrow {
    color: var(--text-muted);
    transition: transform 0.2s ease;
  }

  .selected-shell[open] .selected-arrow {
    transform: rotate(180deg);
  }

  .selected-body {
    margin-top: 10px;
    padding: 10px 12px 12px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.05);
    background: rgba(255,255,255,0.02);
    max-height: 230px;
    overflow: auto;
    scrollbar-gutter: stable;
  }

  .selected-symbols {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 8px;
  }

  .scanner-tools-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .single-analyzer {
    margin: 0 0 20px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 18px;
    background:
      linear-gradient(135deg, rgba(59,130,246,0.07), rgba(15,23,42,0.02) 38%, rgba(16,185,129,0.05)),
      rgba(255,255,255,0.028);
  }

  .single-analyzer-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
  }

  .single-analyzer-title {
    font-size: 17px;
    font-weight: 900;
    color: var(--text-primary);
  }

  .single-analyzer-sub {
    margin-top: 4px;
    font-size: 12px;
    color: var(--text-muted);
  }

  .single-analyzer-form {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(150px, 250px) auto;
    gap: 12px;
    align-items: end;
  }

  .single-analyzer-field {
    display: grid;
    gap: 6px;
    font-size: 13px;
    font-weight: 800;
    color: var(--text-muted);
  }

  .single-analyzer-input,
  .single-analyzer-select {
    width: 100%;
    height: 44px;
    border: 1px solid rgba(255,255,255,0.09);
    border-radius: 12px;
    background: rgba(2,6,23,0.36);
    color: var(--text-primary);
    padding: 0 14px;
    font-size: 15px;
    outline: none;
  }

  .single-analyzer-input:focus,
  .single-analyzer-select:focus {
    border-color: rgba(96,165,250,0.7);
    box-shadow: 0 0 0 3px rgba(59,130,246,0.14);
  }

  .single-analyzer-btn {
    height: 44px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(180deg, #5b8dff, #3b6eea);
    color: #fff;
    padding: 0 22px;
    font-weight: 900;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 12px 26px rgba(59,130,246,0.22);
  }

  .single-analyzer-btn:hover {
    filter: brightness(1.06);
  }

  .single-analyzer-btn:disabled {
    cursor: progress;
    opacity: 0.72;
  }

  .single-output {
    margin-top: 14px;
  }

  .single-output-card {
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 18px;
    background: rgba(7,12,24,0.54);
    padding: 18px;
  }

  .single-output-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    margin-bottom: 16px;
  }

  .single-symbol {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 24px;
    font-weight: 950;
    color: var(--text-primary);
  }

  .single-symbol-code {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 850;
  }

  .single-setup-line {
    margin-top: 5px;
    font-size: 12px;
    font-weight: 750;
    color: var(--text-muted);
  }

  .single-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 148px;
    min-height: 42px;
    border-radius: 12px;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
  }

  .single-status.long { background: rgba(34,197,94,0.14); color: var(--green); }
  .single-status.short { background: rgba(239,68,68,0.14); color: var(--red); }
  .single-status.no-trade {
    background: rgba(148,163,184,0.13);
    color: var(--text-secondary);
    border: 1px dashed rgba(148,163,184,0.22);
  }

  .single-decision-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 12px;
    margin-bottom: 12px;
  }

  .single-price-strip,
  .single-quality-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

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

  .single-metric {
    min-width: 0;
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 12px;
    padding: 11px 12px;
    background: rgba(255,255,255,0.032);
  }

  .single-metric.primary {
    background: rgba(59,130,246,0.08);
    border-color: rgba(96,165,250,0.18);
  }

  .single-metric.danger {
    background: rgba(249,115,22,0.07);
    border-color: rgba(249,115,22,0.22);
  }

  .single-metric-label {
    font-size: 12px;
    font-weight: 850;
    color: var(--text-muted);
    text-transform: uppercase;
  }

  .single-metric-value {
    margin-top: 5px;
    font-size: 19px;
    font-weight: 950;
    color: var(--text-primary);
    overflow-wrap: anywhere;
  }

  .single-metric-value.good { color: var(--green); }
  .single-metric-value.bad { color: var(--orange); }

  .single-notes {
    margin-top: 14px;
    display: grid;
    gap: 6px;
    font-size: 12px;
    color: var(--text-secondary);
  }

  .single-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 10px;
    padding: 8px 10px;
    background: rgba(255,255,255,0.025);
  }

  .single-note::before {
    content: "";
    width: 3px;
    min-width: 3px;
    align-self: stretch;
    border-radius: 999px;
    background: rgba(148,163,184,0.38);
  }

  .single-note.warn {
    color: #fed7aa;
  }

  .single-note.warn::before {
    background: var(--orange);
  }

  .single-side-grid {
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .single-side {
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 12px;
    padding: 10px 12px;
    background: rgba(255,255,255,0.025);
    font-size: 12px;
    color: var(--text-secondary);
  }

  .single-side.is-selected {
    border-color: rgba(96,165,250,0.22);
    background: rgba(59,130,246,0.07);
  }

  .single-side strong {
    color: var(--text-primary);
  }

  .preset-section {
    padding: 12px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.06);
    background: rgba(255,255,255,0.025);
  }

  .preset-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
  }

  .preset-title {
    font-size: 13px;
    font-weight: 900;
    color: var(--text-primary);
  }

  .preset-sub {
    margin-top: 2px;
    font-size: 13px;
    color: var(--text-muted);
  }

  .preset-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .preset-btn {
    min-height: 38px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(59,130,246,0.28);
    background: rgba(59,130,246,0.1);
    color: #bfdbfe;
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
  }

  .preset-btn:hover {
    background: rgba(59,130,246,0.18);
    border-color: rgba(96,165,250,0.42);
  }

  @media (min-width: 960px) {
    .scanner-tools-grid {
      gap: 14px;
    }
  }

  .symbol-chip {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "main remove"
      "sub remove";
    align-items: center;
    gap: 2px 8px;
    min-height: 50px;
    padding: 9px 10px 9px 11px;
    border-radius: 14px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    max-width: 100%;
  }

  .symbol-chip-main {
    grid-area: main;
    font-size: 13px;
    font-weight: 800;
    overflow-wrap: anywhere;
  }

  .symbol-chip-sub {
    grid-area: sub;
    font-size: 13px;
    color: var(--text-muted);
    font-family: 'JetBrains Mono', monospace;
  }

  .symbol-chip-remove {
    grid-area: remove;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    border: none;
    background: rgba(239,68,68,0.12);
    color: var(--red);
    cursor: pointer;
    font-size: 13px;
    line-height: 1;
  }

  .symbol-chip-remove:hover {
    background: rgba(239,68,68,0.2);
  }

  .control-note {
    font-size: 13px;
    color: var(--text-muted);
  }

  .topbar-nav-btn {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    padding: 0 16px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.10);
    background: rgba(255,255,255,0.04);
    color: var(--text-primary);
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 1px 0 rgba(255,255,255,0.03) inset;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
  }
  .topbar-nav-btn:hover {
    background: rgba(255,255,255,0.07);
    border-color: rgba(255,255,255,0.16);
    transform: translateY(-1px);
  }
  .topbar-nav-btn svg {
    display: block;
    opacity: 0.9;
  }

  .settings-nav-btn {
    background: rgba(255,255,255,0.04);
    color: var(--text-primary);
  }

  .history-nav-btn {
    border-color: rgba(59,130,246,0.30);
    color: #60a5fa;
    background: rgba(59,130,246,0.08);
  }
  .history-nav-btn:hover {
    background: rgba(59,130,246,0.14);
    border-color: rgba(59,130,246,0.50);
  }

  /* Market cards */
  .market-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 4px;
  }

  .market-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 22px 24px;
    position: relative; overflow: hidden;
    transition: all 0.3s;
  }

  .market-card:hover { border-color: var(--border-strong); }

  .mc-top {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 14px;
  }

  .coin-info { display: flex; align-items: center; gap: 12px; }

  .coin-icon {
    width: 42px; height: 42px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px; font-weight: 800;
  }

  .coin-icon.btc { background: linear-gradient(135deg, #f7931a30, #f7931a10); color: #f7931a; border: 1px solid #f7931a40; }
  .coin-icon.eth { background: linear-gradient(135deg, #627eea30, #627eea10); color: #627eea; border: 1px solid #627eea40; }

  .coin-name { font-weight: 700; font-size: 15px; }
  .coin-symbol { font-size: 13px; color: var(--text-muted); letter-spacing: 0.5px; }

  .market-price {
    font-size: 30px; font-weight: 800;
    font-family: 'JetBrains Mono', monospace;
    letter-spacing: -1px;
    margin-bottom: 6px;
  }

  .change-badge {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 5px 10px;
    border-radius: 8px;
    font-size: 12px; font-weight: 700;
    font-family: 'JetBrains Mono', monospace;
  }

  .change-badge.up { background: var(--green-dim); color: var(--green); }
  .change-badge.down { background: var(--red-dim); color: var(--red); }

  .mc-stats {
    display: flex; gap: 18px;
    margin-top: 10px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
    font-size: 13px; color: var(--text-muted);
  }

  .mc-stats span { color: var(--text-primary); font-weight: 600; font-family: 'JetBrains Mono', monospace; }

  /* Regime banner */
  .regime-banner {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 14px;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 20px 24px;
    margin-bottom: 4px;
  }

  .regime-item { display: flex; flex-direction: column; gap: 4px; }
  .regime-label {
    font-size: 12px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1px;
    color: var(--text-muted);
  }
  .regime-value {
    font-size: 18px; font-weight: 800;
    display: flex; align-items: center; gap: 8px;
  }
  .regime-chip {
    font-size: 12px; font-weight: 700;
    padding: 3px 8px; border-radius: 6px;
    letter-spacing: 0.5px; text-transform: uppercase;
  }
  .regime-chip.trending { background: var(--green-dim); color: var(--green); border: 1px solid rgba(16,185,129,0.3); }
  .regime-chip.ranging  { background: var(--yellow-dim); color: var(--yellow); border: 1px solid rgba(245,158,11,0.3); }
  .regime-chip.developing { background: var(--cyan-dim); color: var(--cyan); border: 1px solid rgba(6,182,212,0.3); }
  .regime-chip.high { background: var(--red-dim); color: var(--red); border: 1px solid rgba(239,68,68,0.3); }
  .regime-chip.normal { background: var(--blue-dim); color: var(--blue); border: 1px solid rgba(59,130,246,0.3); }
  .regime-chip.low { background: var(--purple-dim); color: var(--purple); border: 1px solid rgba(139,92,246,0.3); }

  /* MTF Matrix */
  .mtf-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }

  .mtf-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 20px 22px;
  }

  .mtf-head {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
  }

  .mtf-title { font-size: 14px; font-weight: 800; }

  .mtf-rows { display: flex; flex-direction: column; gap: 8px; }

  .mtf-row {
    display: grid;
    grid-template-columns: 48px 1fr 1fr 1fr 1fr 70px;
    gap: 8px;
    align-items: center;
    font-size: 13px;
    padding: 8px 10px;
    background: rgba(255,255,255,0.02);
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.03);
  }

  .mtf-row.header {
    background: transparent;
    border: none;
    padding: 0 10px 4px;
    color: var(--text-muted);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    font-size: 13px;
  }

  .mtf-tf {
    font-weight: 800;
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
  }

  .mtf-indicator {
    text-align: center;
    font-weight: 700;
    font-family: 'JetBrains Mono', monospace;
  }

  .ind-bull { color: var(--green); }
  .ind-bear { color: var(--red); }
  .ind-neutral { color: var(--text-muted); }

  .mtf-trend-badge {
    text-align: center;
    font-size: 13px;
    font-weight: 800;
    padding: 3px 6px;
    border-radius: 5px;
    letter-spacing: 0.3px;
  }

  .trend-bull-strong { background: var(--green-dim); color: var(--green); border: 1px solid rgba(16,185,129,0.3); }
  .trend-bull-weak { background: rgba(16,185,129,0.08); color: var(--green); opacity: 0.7; }
  .trend-bear-strong { background: var(--red-dim); color: var(--red); border: 1px solid rgba(239,68,68,0.3); }
  .trend-bear-weak { background: rgba(239,68,68,0.08); color: var(--red); opacity: 0.7; }
  .trend-neutral { background: rgba(148,163,184,0.1); color: var(--text-muted); }

  /* Confluence cards */
  .conf-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 14px;
  }

  .conf-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 18px 20px;
    position: relative;
    transition: all 0.3s;
  }

  .conf-card.high { border-color: rgba(16,185,129,0.4); box-shadow: 0 0 20px rgba(16,185,129,0.08); }

  .conf-head {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 12px;
  }

  .conf-label {
    font-size: 13px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.8px;
    color: var(--text-muted);
  }

  .conf-dir {
    font-size: 12px; font-weight: 800;
    padding: 3px 8px;
    border-radius: 5px;
    letter-spacing: 0.5px;
  }

  .conf-dir.long { background: var(--green-dim); color: var(--green); }
  .conf-dir.short { background: var(--red-dim); color: var(--red); }

  .conf-score {
    font-size: 36px; font-weight: 900;
    font-family: 'JetBrains Mono', monospace;
    margin-bottom: 4px;
    letter-spacing: -1px;
  }
  .conf-score .suffix {
    font-size: 16px; color: var(--text-muted); font-weight: 600;
  }

  .conf-bar-track {
    height: 6px;
    background: rgba(255,255,255,0.05);
    border-radius: 3px;
    overflow: hidden;
    margin: 10px 0 6px;
  }

  .conf-bar-fill {
    height: 100%;
    border-radius: 3px;
    transition: width 1s ease;
  }

  .conf-bar-fill.long { background: linear-gradient(90deg, var(--green), #34d399); }
  .conf-bar-fill.short { background: linear-gradient(90deg, var(--red), #f87171); }

  .conf-quality {
    font-size: 12px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.8px;
  }
  .conf-quality.high { color: var(--green); }
  .conf-quality.mid { color: var(--yellow); }
  .conf-quality.low { color: var(--text-muted); }

  /* Indicator panel */
  .ind-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }

  .ind-panel {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 20px 22px;
  }

  .ind-panel-title {
    font-size: 13px; font-weight: 800;
    margin-bottom: 14px;
    display: flex; align-items: center; gap: 8px;
  }

  .ind-panel-title .tf-chip {
    font-size: 13px; font-weight: 700;
    padding: 2px 6px;
    background: var(--blue-dim);
    color: var(--blue);
    border-radius: 4px;
    letter-spacing: 0.5px;
  }

  .ind-rows { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }

  .ind-box {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.04);
    border-radius: 10px;
    padding: 12px;
  }

  .ind-box-label {
    font-size: 13px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.8px;
    color: var(--text-muted);
    margin-bottom: 6px;
  }

  .ind-box-value {
    font-size: 16px; font-weight: 800;
    font-family: 'JetBrains Mono', monospace;
  }

  .ind-box-sub {
    font-size: 12px;
    margin-top: 2px;
    color: var(--text-muted);
  }

  /* Best Trade banner */
  .best-trade-banner {
    background: linear-gradient(135deg, rgba(245,158,11,0.10), rgba(245,158,11,0.03));
    border: 1px solid rgba(245,158,11,0.3);
    border-radius: 20px;
    padding: 24px 28px;
    display: flex; align-items: center; gap: 22px;
    margin-bottom: 4px;
  }

  .decision-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
  }

  .decision-pill {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 14px;
    padding: 14px 16px;
  }

  .decision-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--text-muted);
    margin-bottom: 6px;
  }

  .decision-value {
    font-size: 16px;
    font-weight: 800;
    color: var(--text-primary);
  }

  .decision-value.long { color: var(--green); }
  .decision-value.short { color: var(--red); }
  .decision-value.neutral { color: var(--text-secondary); }

  .best-icon {
    width: 54px; height: 54px;
    background: var(--yellow-dim);
    border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    font-size: 26px;
    flex-shrink: 0;
    border: 1px solid rgba(245,158,11,0.3);
  }

  .best-content { flex: 1; }
  .best-content h3 { font-size: 17px; font-weight: 800; color: var(--yellow); margin-bottom: 4px; }
  .best-content p { font-size: 13px; color: var(--text-secondary); line-height: 1.6; }

  .best-stats { display: flex; gap: 18px; flex-shrink: 0; }
  .best-stat { text-align: center; }
  .best-stat-value {
    font-size: 20px; font-weight: 800;
    font-family: 'JetBrains Mono', monospace;
    color: var(--yellow);
  }
  .best-stat-label {
    font-size: 12px; color: var(--text-muted);
    text-transform: uppercase; letter-spacing: 0.5px;
  }

  /* Trade cards */
  .trades-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 18px;
  }

  .signals-block {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
  }

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

  .decision-debug-pill {
    background: rgba(255,255,255,0.025);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 12px;
    padding: 10px 12px;
    min-width: 0;
  }

  .decision-debug-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--text-muted);
    margin-bottom: 6px;
  }

  .decision-debug-value {
    font-size: 15px;
    font-weight: 800;
    color: var(--text-primary);
    font-family: 'JetBrains Mono', monospace;
    overflow-wrap: anywhere;
  }

  .decision-debug-meta {
    margin-top: 6px;
    font-size: 13px;
    color: var(--text-muted);
    line-height: 1.45;
  }

  .signals-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 2px;
  }

  .signals-title-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .signals-kicker {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: var(--text-muted);
  }

  .signals-subtitle {
    font-size: 13px;
    color: var(--text-secondary);
  }

  .signals-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    color: var(--text-primary);
    font-weight: 800;
    font-family: 'JetBrains Mono', monospace;
  }

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

  .analytics-shell {
    display: flex;
    flex-direction: column;
    gap: 18px;
  }

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

  .analytics-stat,
  .analytics-card,
  .analytics-empty {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 16px;
  }

  .analytics-stat {
    padding: 18px;
  }

  .analytics-stat-value {
    font-size: 24px;
    font-weight: 800;
    color: var(--text-primary);
  }

  .analytics-stat-label {
    margin-top: 6px;
    font-size: 13px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.7px;
  }

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

  .analytics-card {
    padding: 18px;
  }

  .analytics-card-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 12px;
  }

  .analytics-table {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .analytics-row {
    padding: 14px 12px;
    border-top: 1px solid rgba(255,255,255,0.1);
    border-radius: 8px;
    background: rgba(255,255,255,0.02);
    line-height: 1.5;
  }

  .analytics-row:first-child {
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 14px;
  }

  .analytics-row:nth-child(even) {
    background: rgba(255,255,255,0.04);
  }

  .analytics-row-main,
  .analytics-row-sub {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
  }

  .analytics-row-main {
    font-size: 12px;
    font-weight: 700;
    color: var(--text-primary);
  }

  .analytics-row-sub {
    margin-top: 6px;
    font-size: 13px;
    color: var(--text-muted);
  }

  .analytics-card-full {
    grid-column: 1 / -1;
    margin-top: 4px;
  }
  .analytics-conf-card {
    border-color: rgba(59, 130, 246, 0.22);
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.06) 0%, var(--bg-card) 48%);
  }
  .analytics-conf-intro {
    font-size: 12px;
    line-height: 1.55;
    color: var(--text-secondary);
    margin: 0 0 16px;
    max-width: 920px;
  }
  .analytics-conf-section { margin-bottom: 18px; }
  .analytics-conf-section:last-child { margin-bottom: 0; }
  .analytics-conf-section-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    margin-bottom: 10px;
  }
  .analytics-conf-table {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .analytics-conf-row {
    padding: 12px 14px;
    border-radius: 10px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
  }
  .analytics-conf-row-main {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    flex-wrap: wrap;
    font-size: 12px;
    font-weight: 700;
    color: var(--text-primary);
  }
  .analytics-conf-row-sub {
    margin-top: 6px;
    font-size: 13px;
    color: var(--text-muted);
  }
  .analytics-conf-row-edge {
    margin-top: 8px;
    font-size: 13px;
    font-weight: 700;
  }
  .analytics-edge-ok { color: var(--green); }
  .analytics-edge-warn { color: var(--yellow); }
  .analytics-edge-na { color: var(--text-muted); font-weight: 600; }

  .analytics-empty {
    padding: 22px;
  }

  .analytics-empty h4 {
    margin-bottom: 6px;
    font-size: 16px;
  }

  .analytics-empty p {
    color: var(--text-secondary);
    font-size: 13px;
  }

  .more-signals {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 16px;
    padding: 14px 16px 16px;
  }

  .more-signals summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .more-signals summary::-webkit-details-marker { display: none; }

  .more-signals-label {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .more-signals-label strong {
    font-size: 13px;
  }

  .more-signals-label span {
    font-size: 13px;
    color: var(--text-muted);
  }

  .more-signals-arrow {
    font-size: 12px;
    color: var(--text-muted);
    transition: transform 0.2s ease;
  }

  .more-signals[open] .more-signals-arrow {
    transform: rotate(180deg);
  }

  .more-signals-body {
    margin-top: 14px;
  }

  .trade-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 18px;
    overflow: hidden;
    transition: all 0.3s;
    position: relative;
    min-width: 0;
  }

  .trade-card:hover {
    transform: translateY(-3px);
    border-color: var(--border-glow);
    box-shadow: 0 15px 35px rgba(0,0,0,0.3);
  }

  .trade-card.best {
    border-color: var(--yellow);
    box-shadow: 0 0 30px rgba(245, 158, 11, 0.1);
  }

  .trade-card.best::after {
    content: '★ BEST';
    position: absolute;
    top: 14px; right: 14px;
    font-size: 13px; font-weight: 800;
    letter-spacing: 1px;
    color: var(--yellow);
    background: var(--yellow-dim);
    padding: 3px 8px;
    border-radius: 5px;
    border: 1px solid rgba(245, 158, 11, 0.3);
  }

  .trade-header {
    padding: 20px 22px 0;
    display: flex; align-items: flex-start; gap: 12px;
    flex-wrap: wrap;
  }

  .trade-number {
    width: 34px; height: 34px;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 15px;
    flex-shrink: 0;
  }

  .trade-number.long { background: var(--green-dim); color: var(--green); border: 1px solid rgba(16,185,129,0.3); }
  .trade-number.short { background: var(--red-dim); color: var(--red); border: 1px solid rgba(239,68,68,0.3); }

  .trade-coin {
    font-size: 18px; font-weight: 800;
    margin-bottom: 3px;
    display: flex; align-items: center; gap: 8px;
    flex-wrap: wrap;
  }

  .trade-direction {
    font-size: 12px; font-weight: 700;
    padding: 2px 7px;
    border-radius: 5px;
  }
  .trade-direction.long { background: var(--green-dim); color: var(--green); }
  .trade-direction.short { background: var(--red-dim); color: var(--red); }

  .trade-type { font-size: 12px; color: var(--text-muted); }

  .trade-body { padding: 18px 22px; }

  .trade-levels {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 14px;
  }

  .level-item {
    background: rgba(255,255,255,0.02);
    border-radius: 9px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,0.04);
  }

  .level-label {
    font-size: 13px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.8px;
    color: var(--text-muted);
    margin-bottom: 4px;
  }

  .level-value {
    font-size: 13px; font-weight: 700;
    font-family: 'JetBrains Mono', monospace;
    overflow-wrap: anywhere;
  }

  .level-value.entry { color: var(--blue); }
  .level-value.sl { color: var(--red); }
  .level-value.tp { color: var(--green); }

  .trade-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 6px;
    margin-bottom: 14px;
  }

  .metric {
    text-align: center;
    padding: 10px 4px;
    background: rgba(255,255,255,0.02);
    border-radius: 9px;
    border: 1px solid rgba(255,255,255,0.04);
  }

  .metric-value {
    font-size: 16px; font-weight: 800;
    font-family: 'JetBrains Mono', monospace;
    margin-bottom: 2px;
    overflow-wrap: anywhere;
  }

  .metric-label {
    font-size: 13px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.6px;
    color: var(--text-muted);
  }

  .trade-logic {
    padding: 14px;
    background: var(--blue-dim);
    border-radius: 10px;
    border: 1px solid rgba(59,130,246,0.15);
  }

  .trade-logic details {
    border-radius: 8px;
  }

  .trade-logic summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--blue);
  }

  .trade-logic summary::-webkit-details-marker { display: none; }

  .trade-logic-title {
    font-size: 12px; font-weight: 800;
    text-transform: uppercase; letter-spacing: 1px;
    color: var(--blue);
  }

  .trade-logic-hint {
    font-size: 12px;
    color: var(--text-muted);
  }

  .trade-logic-body {
    margin-top: 10px;
  }

  .trade-logic ul { list-style: none; padding: 0; }

  .trade-logic li {
    font-size: 11.5px;
    color: var(--text-secondary);
    line-height: 1.55;
    padding-left: 12px;
    position: relative;
    margin-bottom: 3px;
  }

  .trade-logic li::before {
    content: '';
    position: absolute;
    left: 0; top: 7px;
    width: 4px; height: 4px;
    border-radius: 50%;
    background: var(--blue);
  }

  .tp-group { display: flex; flex-direction: column; gap: 3px; }
  .tp-row { display: flex; align-items: center; gap: 5px; }
  .tp-tag {
    font-size: 8px; font-weight: 800;
    padding: 1px 5px;
    border-radius: 3px;
    background: rgba(16,185,129,0.2);
    color: var(--green);
  }

  /* No trade state */
  .no-trade {
    padding: 28px 24px 20px;
    background: var(--bg-card);
    border: 1px dashed var(--border-strong);
    border-radius: 16px;
    color: var(--text-muted);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
  }
  .no-trade h3 { color: var(--text-secondary); font-size: 16px; font-weight: 700; }
  .no-trade p { font-size: 13px; color: var(--text-muted); max-width: 520px; line-height: 1.55; }

  /* Regime context row inside no-trade state */
  .no-trade-context {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 4px;
  }
  .no-trade-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 11px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.3px;
    border: 1px solid transparent;
  }
  .no-trade-badge.ranging  { background: var(--yellow-dim); color: var(--yellow); border-color: rgba(245,158,11,0.25); }
  .no-trade-badge.trending { background: var(--green-dim);  color: var(--green);  border-color: rgba(16,185,129,0.25); }
  .no-trade-badge.volatile { background: var(--red-dim);    color: var(--red);    border-color: rgba(239,68,68,0.25); }
  .no-trade-badge.neutral  { background: var(--blue-dim);   color: var(--blue);   border-color: rgba(59,130,246,0.25); }
  .no-trade-badge.strategy { background: var(--purple-dim); color: var(--purple); border-color: rgba(139,92,246,0.25); }

  /* Rejected items grid */
  .rejected-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-top: 2px;
  }
  @media (max-width: 900px)  { .rejected-grid { grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 640px)  { .rejected-grid { grid-template-columns: repeat(2, 1fr); } }

  .rejected-item {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 11px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .rejected-symbol {
    font-size: 13px;
    font-weight: 800;
    color: var(--text-primary);
  }
  .reason-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 6px;
    letter-spacing: 0.2px;
    width: fit-content;
  }
  .reason-tag.trend    { background: rgba(59,130,246,0.14);   color: #93c5fd; }
  .reason-tag.regime   { background: rgba(245,158,11,0.14);   color: var(--yellow); }
  .reason-tag.score    { background: rgba(139,92,246,0.14);   color: #c4b5fd; }
  .reason-tag.volume   { background: rgba(6,182,212,0.12);    color: var(--cyan); }
  .reason-tag.rr       { background: rgba(239,68,68,0.14);    color: var(--red); }
  .reason-tag.data     { background: rgba(148,163,184,0.12);  color: var(--text-muted); }
  .reason-tag.cooldown { background: rgba(249,115,22,0.14);   color: var(--orange); }
  .reason-tag.mc       { background: rgba(249,115,22,0.12);   color: var(--orange); }
  .reason-tag.exp      { background: rgba(239,68,68,0.12);    color: var(--red); }
  .reason-tag.blackout { background: rgba(148,163,184,0.1);   color: var(--text-muted); }
  .reason-tag.budget   { background: rgba(148,163,184,0.1);   color: var(--text-muted); }

  /* Improved section headers */
  .section-title.has-accent {
    padding-left: 10px;
    border-left: 3px solid var(--blue);
  }
  .section-title.accent-green { border-left-color: var(--green); }
  .section-title.accent-yellow { border-left-color: var(--yellow); }
  .section-title.accent-purple { border-left-color: var(--purple); }

  /* Risk */
  .risk-warning {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-left: 3px solid var(--orange);
    border-radius: 12px;
    padding: 18px 22px;
    display: flex; gap: 14px; align-items: flex-start;
  }

  .risk-icon { font-size: 18px; flex-shrink: 0; margin-top: 1px; }

  .risk-content h4 { font-size: 13px; font-weight: 800; margin-bottom: 6px; color: var(--orange); }

  .risk-content ul { list-style: none; padding: 0; }
  .risk-content li {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.65;
    padding-left: 14px;
    position: relative;
  }
  .risk-content li::before {
    content: '!'; position: absolute; left: 0;
    font-weight: 800; color: var(--orange);
  }

  .collapsible-panel {
    margin-top: 28px;
  }

  .collapsible-panel details {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 16px;
    overflow: hidden;
  }

  .collapsible-panel summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 22px;
    font-weight: 800;
    color: var(--text-primary);
  }

  .collapsible-panel summary::-webkit-details-marker { display: none; }

  .collapsible-summary-copy {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .collapsible-summary-copy span {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-muted);
  }

  .collapsible-arrow {
    font-size: 12px;
    color: var(--text-muted);
    transition: transform 0.2s ease;
  }

  .collapsible-panel details[open] .collapsible-arrow {
    transform: rotate(180deg);
  }

  .collapsible-content {
    padding: 0 22px 22px;
    border-top: 1px solid var(--border);
  }

  /* Loading */
  .loading-overlay {
    position: fixed;
    right: 18px;
    bottom: 18px;
    width: min(420px, calc(100vw - 36px));
    min-height: 72px;
    padding: 14px 16px;
    border: 1px solid rgba(96,165,250,0.22);
    border-radius: 16px;
    background: rgba(10, 14, 23, 0.92);
    backdrop-filter: blur(10px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    z-index: 1000;
    transition: opacity 0.5s, transform 0.25s ease;
    box-shadow: 0 18px 50px rgba(0,0,0,0.36);
    pointer-events: none;
  }
  .loading-overlay.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
  .loading-overlay.is-slow {
    border-color: rgba(245,165,36,0.28);
    box-shadow: 0 18px 60px rgba(0,0,0,0.42), 0 0 0 1px rgba(245,165,36,0.08) inset;
  }
  .loading-overlay.is-slow .spinner {
    width: 26px;
    height: 26px;
    margin: 0 0 8px;
    border-width: 2px;
  }
  .loading-overlay.is-slow .loading-text {
    font-size: 12px;
    font-weight: 800;
  }
  .loading-overlay.is-slow .loading-sub {
    font-size: 10.5px;
    line-height: 1.45;
  }
  .spinner {
    width: 48px; height: 48px;
    border: 3px solid var(--border);
    border-top-color: var(--blue);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    margin-bottom: 16px;
  }
  @keyframes spin { to { transform: rotate(360deg); } }

  .loading-text { font-size: 13px; color: var(--text-secondary); }
  .loading-sub { font-size: 13px; color: var(--text-muted); margin-top: 4px; font-family: 'JetBrains Mono', monospace; }

  /* Error state */
  .error-banner {
    background: var(--red-dim);
    border: 1px solid rgba(239,68,68,0.3);
    color: var(--red);
    padding: 14px 20px;
    border-radius: 12px;
    font-size: 13px;
    margin-bottom: 16px;
    display: none;
  }
  .error-banner.error-banner--actionable {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
  }
  .error-banner-text {
    flex: 1 1 260px;
    min-width: 0;
  }
  .error-banner-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
  }
  .error-action-btn {
    min-height: 36px;
    padding: 0 12px;
    border-radius: 10px;
    border: 1px solid rgba(248,113,113,0.34);
    background: rgba(15,23,42,0.52);
    color: #fecaca;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
  }
  .error-action-btn:hover {
    background: rgba(239,68,68,0.18);
  }

  .footer {
    text-align: center;
    padding: 24px;
    font-size: 13px;
    color: var(--text-muted);
    border-top: 1px solid var(--border);
    margin-top: 32px;
    line-height: 1.6;
  }

  /* Responsive */
  @media (max-width: 1100px) {
    .topbar {
      padding: 14px 20px;
    }
    .main {
      padding: 18px 20px 48px;
    }
    .conf-grid { grid-template-columns: 1fr 1fr; }
    .regime-banner { grid-template-columns: 1fr 1fr; }
    .analytics-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .analytics-detail-grid { grid-template-columns: 1fr; }
  }
  @media (max-width: 900px) {
    .market-grid, .mtf-grid, .ind-grid { grid-template-columns: 1fr; }
    .trades-grid { grid-template-columns: 1fr; }
    .best-trade-banner { flex-direction: column; align-items: flex-start; }
    .decision-strip { grid-template-columns: 1fr; }
    .decision-debug-strip { grid-template-columns: 1fr 1fr; }
    .signals-header { align-items: flex-start; flex-direction: column; }
    .signals-actions { width: 100%; }
    .control-panel {
      padding: 14px;
      border-radius: 16px;
    }
    .topbar {
      align-items: flex-start;
    }
    .topbar-right {
      width: 100%;
      justify-content: flex-start;
    }
    .refresh-info {
      width: 100%;
    }
    .control-header, .symbol-search-row { flex-direction: column; }
    .control-header-main {
      width: 100%;
    }
    .symbol-add-btn {
      width: 100%;
    }
    .symbol-search-head {
      flex-direction: column;
      align-items: flex-start;
    }
    .preset-section-head {
      flex-direction: column;
      align-items: flex-start;
    }
    .preset-actions {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .preset-btn {
      width: 100%;
    }
    .selected-toggle {
      align-items: flex-start;
    }
	    .selected-symbols {
	      grid-template-columns: 1fr;
	    }
	    .single-analyzer-form {
	      grid-template-columns: 1fr;
	    }
	    .single-output-top,
	    .single-decision-grid {
	      grid-template-columns: 1fr;
	    }
	    .single-metrics {
	      grid-template-columns: repeat(2, minmax(0, 1fr));
	    }
	    .single-price-strip,
	    .single-quality-strip {
	      grid-template-columns: 1fr;
	    }
	    .single-side-grid {
	      grid-template-columns: 1fr;
	    }
	  }
  @media (max-width: 780px) {
    .topbar-right > * {
      flex: 1 1 auto;
    }
    .decision-debug-strip {
      grid-template-columns: 1fr;
    }
    .section-title::after {
      min-width: 48px;
    }
  }
  @media (max-width: 640px) {
    .footer-full { display: none; }
    .footer-compact { display: inline; }

    .topbar {
      display: grid;
      grid-template-columns: auto 1fr auto auto;
      grid-template-areas:
        "logo    .        settings history"
        ".       .        .        status";
      align-items: center;
      gap: 8px;
      padding: 10px 14px;
    }
    .logo { grid-area: logo; }
    #settings-nav { grid-area: settings; }
    #history-nav { grid-area: history; }
    .topbar-right {
      display: contents;
    }
    .live-badge {
      grid-area: status;
      justify-self: end;
    }
    .live-badge {
      grid-area: status;
      justify-self: start;
      padding: 5px 10px;
      font-size: 12px;
      font-weight: 650;
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.09);
      color: var(--text-secondary);
      letter-spacing: 0.3px;
    }
    .live-badge .live-dot {
      box-shadow: 0 0 6px rgba(16, 185, 129, 0.35);
    }
    .control-panel {
      border-color: rgba(255, 255, 255, 0.065);
    }
    .refresh-info {
      display: none;
    }
    #settings-nav,
    #history-nav {
      width: auto;
      min-width: 0;
      min-height: 36px;
      padding: 0 12px;
      font-size: 12px;
      justify-self: end;
    }
    .control-bar {
      margin-bottom: 16px;
    }
    .control-bar-tabs {
      padding: 5px;
      gap: 4px;
    }
    .control-bar-tab {
      min-width: 0;
      min-height: 48px;
      padding: 8px 7px;
      align-items: center;
      text-align: center;
    }
    .control-bar-tab-meta {
      display: none;
    }
    .control-bar-tab.is-active .control-bar-tab-meta {
      display: flex;
      justify-content: center;
      font-size: 9.5px;
      max-width: 100%;
    }
    .control-bar-collapse {
      width: 40px;
      min-height: 48px;
    }
    .control-bar.is-collapsed .control-bar-tab {
      min-height: 42px;
    }
    .control-bar.is-collapsed .control-bar-tab-meta {
      display: none;
    }
    .loading-overlay {
      left: 14px;
      right: 14px;
      bottom: 14px;
      width: auto;
    }
    .error-banner.error-banner--actionable {
      align-items: stretch;
    }
    .error-banner-actions,
    .error-action-btn {
      width: 100%;
    }
    .error-action-btn {
      flex: 1 1 100%;
    }
    #settings-nav svg,
    #history-nav svg {
      width: 14px;
      height: 14px;
    }

    /* Scanner strip: one compact row when collapsed */
    .control-panel-summary {
      align-items: center;
      padding: 12px 14px;
      gap: 10px;
      min-height: 44px;
    }
    .control-panel-summary-main {
      flex-direction: row;
      align-items: center;
      flex-wrap: nowrap;
      gap: 8px;
      min-width: 0;
      flex: 1 1 auto;
    }
    details#scanner-panel:not([open]) .control-panel-summary-main--scanner {
      flex-direction: row;
      align-items: center;
      flex-wrap: nowrap;
    }
    details#scanner-panel:not([open]) .control-panel-summary-meta {
      flex: 1 1 auto;
      min-width: 0;
      justify-content: flex-end;
    }
    #position-review-panel .control-panel-summary-main--position {
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
    }
    #position-review-panel .control-panel-hint-inline {
      margin-left: 0;
      text-align: left;
      max-width: 100%;
    }
    .control-title {
      font-size: 14px;
      font-weight: 750;
      letter-spacing: -0.03em;
      color: var(--text-primary);
      flex-shrink: 0;
    }

    /* Collapsed: hide chips; show only one-line summary next to title */
    details.control-panel:not([open]) .scanner-summary-chips {
      display: none;
    }
    details.control-panel:not([open]) .scanner-threshold-pill {
      flex: 1 1 auto;
      min-width: 0;
      padding: 0;
      border: none;
      background: transparent;
      color: var(--text-muted);
      font-size: 13px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    /* Expanded: full layout below */
    details.control-panel[open] .control-panel-summary-main {
      flex-direction: column;
      align-items: stretch;
      flex-wrap: wrap;
      gap: 10px;
    }
    details.control-panel[open] .scanner-summary-chips {
      display: inline-flex;
      gap: 6px;
    }
    .scanner-summary-chips .chip-k {
      font-size: 13px;
      letter-spacing: 0.03em;
      opacity: 0.85;
    }
    .mode-chip,
    .winrate-chip {
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.08);
      color: var(--text-secondary);
      font-weight: 650;
      padding: 7px 11px;
      font-size: 13px;
    }
    details.control-panel[open] .scanner-threshold-pill {
      flex-basis: auto;
      white-space: normal;
      padding: 9px 11px;
      margin-top: 0;
      border-top: none;
      border-radius: 10px;
      background: rgba(255, 255, 255, 0.025);
      color: var(--text-secondary);
      font-family: inherit;
      font-weight: 560;
      font-size: 12px;
      line-height: 1.45;
    }
    .scanner-threshold-details .threshold-panel {
      background: rgba(255, 255, 255, 0.03);
      border: 1px solid rgba(255, 255, 255, 0.07);
      color: var(--text-secondary);
    }
    .scanner-threshold-details .threshold-row .tk {
      color: var(--text-muted);
      font-weight: 700;
    }
    .scanner-threshold-details .threshold-note {
      border-radius: 10px;
      border: 1px solid rgba(255, 255, 255, 0.06);
      background: rgba(255, 255, 255, 0.02);
      color: var(--text-secondary);
      font-size: 13px;
      line-height: 1.5;
    }

    /* Trade card levels: list-like rows instead of nested boxes */
    .tc2-levels-grid {
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-bottom: 12px;
    }
    .tc2-levels-grid .tc2-lv {
      background: var(--k-bg);
      border: 1px solid var(--k-line-2);
      border-radius: 2px;
      padding: 14px 14px 12px;
      text-align: left;
      min-height: 92px;
    }
    .tc2-levels-grid .tc2-lv-label {
      text-transform: uppercase;
      letter-spacing: 0.14em;
      font-size: 13px;
      font-weight: 800;
      color: var(--k-ink-4);
      margin-bottom: 8px;
    }
    .tc2-body {
      padding: 0 16px 18px;
    }
    .trade-card-v2.rank-1 {
      box-shadow: none;
    }

    .focus-section-header {
      margin-bottom: 12px;
      padding-bottom: 10px;
    }
    .focus-section-heading {
      font-size: 1.05rem;
    }
    .focus-kpi-pill {
      background: rgba(255, 255, 255, 0.06);
      color: var(--text-secondary);
      border: 1px solid rgba(255, 255, 255, 0.1);
    }

    .conf-grid { grid-template-columns: 1fr; }
    .regime-banner { grid-template-columns: 1fr; }
    .analytics-summary-grid {
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }
    .analytics-stat {
      padding: 13px 14px;
      border-color: rgba(255, 255, 255, 0.065);
      border-radius: 12px;
    }
    .analytics-stat-value {
      font-size: 21px;
    }
    .decision-debug-strip { grid-template-columns: 1fr; }
    .main { padding: 16px; padding-bottom: 28px; }
    .logo {
      gap: 10px;
      font-size: 17px;
      grid-area: logo;
      min-width: 0;
    }
    .logo-sub {
      font-size: 13px;
      letter-spacing: 0.8px;
    }
    .logo-icon {
      width: 32px;
      height: 32px;
      font-size: 14px;
    }
    .section-title {
      gap: 8px;
      margin: 18px 0 12px;
      letter-spacing: 0.06em;
    }
    .control-meta {
      gap: 6px;
    }
    .mode-chip,
    .winrate-chip,
    .threshold-panel {
      max-width: 100%;
    }
    .symbol-input {
      min-height: 42px;
      font-size: 16px;
    }
    .preset-actions {
      grid-template-columns: 1fr;
    }
    .selected-shell {
      margin-top: 2px;
    }
    .selected-body {
      max-height: 190px;
    }
    .trade-card {
      border-radius: 16px;
    }
    .trade-header {
      padding: 18px 18px 0;
      gap: 10px;
    }
    .trade-body {
      padding: 16px 18px 18px;
    }
    .trade-coin {
      font-size: 16px;
    }
    .trade-levels {
      grid-template-columns: 1fr;
    }
    .trade-metrics {
      grid-template-columns: 1fr 1fr;
    }
    .level-item,
    .metric {
      padding: 10px 11px;
    }
    .footer {
      padding: 20px 8px 0;
      font-size: 12px;
    }
  }
  @media (max-width: 420px) {
    .decision-debug-pill {
      padding: 9px 10px;
    }
    .trade-header {
      padding: 16px 16px 0;
    }
    .trade-body {
      padding: 14px 16px 16px;
    }
    .trade-number {
      width: 30px;
      height: 30px;
      font-size: 13px;
    }
    .trade-coin {
      font-size: 15px;
    }
    .metric-value {
      font-size: 22px;
    }
  }

  ::-webkit-scrollbar { width: 6px; }
  ::-webkit-scrollbar-track { background: var(--bg-primary); }
  ::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }

  /* ════════════════════════════════════════════════════════
     KAIRION TERMINAL PRO — FULL OVERRIDE
     Re-skins the existing layout without touching DOM/JS
     ════════════════════════════════════════════════════════ */

  /* Global reset */
  body, .app, .main, body * {
    font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  }
  body::before, body::after { display: none !important; }
  body { background: var(--k-bg) !important; }

  /* Sharpen everything */
  .card, .panel, button, input, select, textarea,
  .control-bar, .control-bar-tab, .focus-section, .trade-card-v2,
  .preset-btn, .symbol-add-btn, .single-analyzer-btn,
  .topbar-nav-btn, .live-badge,
  .selected-shell, .pr-advanced, details,
  .control-bar-panel, .scanner-tools-grid > *,
  .symbol-search, .preset-section, .position-review-form-wrap,
  .single-analyzer-head, .single-analyzer-form,
  [class*="card"], [class*="panel"], [class*="shell"], [class*="wrap"] {
    border-radius: 2px !important;
    box-shadow: none !important;
  }

  /* Topbar */
  .topbar {
    background: var(--k-bg) !important;
    border-bottom: 1px solid var(--k-line-2) !important;
    backdrop-filter: none !important;
    height: 44px !important;
    padding: 0 16px !important;
  }
  .logo {
    gap: 10px !important;
    font-size: 12px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    color: var(--k-ink) !important;
  }
  .logo-icon {
    width: 22px !important; height: 22px !important;
    background: var(--k-amber) !important;
    color: var(--k-bg) !important;
    border-radius: 2px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
  }

  /* Live badge */
  .live-badge {
    background: var(--k-bg-2) !important;
    border: 1px solid var(--k-line-2) !important;
    color: var(--k-ink-2) !important;
    font-size: 10.5px !important;
    letter-spacing: 0.14em !important;
    padding: 5px 10px !important;
  }
  .live-dot { background: var(--k-up) !important; }

  /* Topbar nav buttons (設定/歷史) */
  .topbar-nav-btn, .settings-nav-btn, .history-nav-btn {
    background: var(--k-bg-2) !important;
    border: 1px solid var(--k-line-2) !important;
    color: var(--k-ink-2) !important;
    font-size: 10.5px !important;
    letter-spacing: 0.14em !important;
    padding: 6px 10px !important;
    text-transform: uppercase !important;
  }
  .topbar-nav-btn:hover { color: var(--k-amber) !important; border-color: var(--k-amber) !important; }

  /* Control bar (掃描/持倉/試算/交易) */
  .control-bar {
    background: var(--k-panel) !important;
    border: 1px solid var(--k-line-2) !important;
    padding: 0 !important;
  }
  .control-bar-tabs {
    border-bottom: 1px solid var(--k-line-2) !important;
    background: var(--k-bg-2) !important;
    padding: 0 !important;
    gap: 0 !important;
  }
  .control-bar-tab {
    background: transparent !important;
    border: 0 !important;
    border-right: 1px solid var(--k-line) !important;
    border-radius: 0 !important;
    padding: 10px 16px !important;
    color: var(--k-ink-3) !important;
  }
  .control-bar-tab.is-active {
    color: var(--k-amber) !important;
    background: var(--k-bg) !important;
    box-shadow: inset 0 -2px 0 var(--k-amber) !important;
  }
  .control-bar-tab-label {
    font-size: 11px !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
  }
  .control-bar-tab-meta {
    font-size: 10px !important;
    color: var(--k-ink-4) !important;
    letter-spacing: 0.06em !important;
  }
  .control-bar-panel {
    background: var(--k-panel) !important;
    padding: 14px !important;
  }

  /* Trading panel inside tab */
  .control-bar-tab--trading {
    border-left: 1px solid var(--k-line-2) !important;
  }
  .trading-tab-stat-label { color: var(--k-ink-4) !important; font-size: 9.5px !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; }
  .trading-tab-stat-value { color: var(--k-ink) !important; font-weight: 600 !important; font-variant-numeric: tabular-nums !important; }
  .trading-tab-stat--failed .trading-tab-stat-value { color: var(--k-dn) !important; }
  .trading-tab-action {
    background: var(--k-bg-2) !important;
    border: 1px solid var(--k-line-2) !important;
    border-radius: 2px !important;
    color: var(--k-ink-2) !important;
  }
  .trading-tab-action--toggle { color: var(--k-up) !important; border-color: var(--k-up-line) !important; }
  .trading-tab-action--pause  { color: var(--k-amber) !important; border-color: rgba(245,165,36,0.3) !important; }
  .trading-tab-action--kill   { color: var(--k-dn) !important; border-color: var(--k-dn-line) !important; }

  /* Preset / search inside scanner panel */
  .preset-section, .symbol-search, .selected-shell {
    background: var(--k-bg-2) !important;
    border: 1px solid var(--k-line-2) !important;
    padding: 12px !important;
  }
  .preset-title, .symbol-search-title, .single-analyzer-title {
    font-size: 10px !important;
    letter-spacing: 0.22em !important;
    color: var(--k-ink-2) !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
  }
  .preset-sub, .symbol-search-hint, .single-analyzer-sub {
    color: var(--k-ink-4) !important;
    font-size: 10.5px !important;
    letter-spacing: 0.04em !important;
  }
  .preset-btn, .symbol-add-btn, .single-analyzer-btn {
    background: var(--k-bg-2) !important;
    border: 1px solid var(--k-line-2) !important;
    color: var(--k-ink-2) !important;
    font-size: 11px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    padding: 6px 12px !important;
  }
  .preset-btn:hover, .symbol-add-btn:hover, .single-analyzer-btn:hover {
    color: var(--k-amber) !important;
    border-color: var(--k-amber) !important;
  }

  /* Inputs */
  .symbol-input, .single-analyzer-input, .single-analyzer-select,
  input[type="text"], input[type="number"], input[type="datetime-local"],
  select, textarea {
    background: var(--k-bg) !important;
    border: 1px solid var(--k-line-2) !important;
    color: var(--k-ink) !important;
    border-radius: 2px !important;
    font-family: var(--k-mono) !important;
    font-size: 11.5px !important;
    padding: 6px 10px !important;
  }
  input:focus, select:focus, textarea:focus {
    border-color: var(--k-amber) !important;
    outline: 0 !important;
  }

  /* Focus section (交易建議) */
  .focus-section {
    background: var(--k-panel) !important;
    border: 1px solid var(--k-line-2) !important;
  }
  .focus-section-header {
    background: var(--k-bg-2) !important;
    border-bottom: 1px solid var(--k-line-2) !important;
    padding: 10px 14px !important;
  }
  .focus-section-heading {
    font-size: 11px !important;
    letter-spacing: 0.22em !important;
    color: var(--k-ink-2) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
  }
  .focus-section-heading::before {
    content: '' !important;
    display: inline-block !important;
    width: 3px !important; height: 11px !important;
    background: var(--k-amber) !important;
  }

  /* Trade cards → flat terminal rows */
  .trade-card-v2 {
    background: var(--k-panel) !important;
    border: 1px solid var(--k-line-2) !important;
    border-radius: 2px !important;
  }
  .trade-card-v2.rank-1 {
    border-color: var(--k-amber) !important;
    box-shadow: none !important;
  }
  .tc2-rank {
    border-radius: 2px !important;
    background: var(--k-bg-2) !important;
    color: var(--k-ink-2) !important;
    border: 1px solid var(--k-line-2) !important;
    font-weight: 700 !important;
  }
  .trade-card-v2.rank-1 .tc2-rank {
    background: var(--k-amber-dim) !important;
    color: var(--k-amber) !important;
    border-color: var(--k-amber) !important;
  }
  .tc2-symbol { font-weight: 700 !important; letter-spacing: 0.04em !important; }
  .tc2-dir {
    border-radius: 2px !important;
    letter-spacing: 0.18em !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
  }

  /* Tables */
  table {
    border-collapse: collapse !important;
    font-variant-numeric: tabular-nums !important;
  }
  table thead th {
    background: var(--k-bg-2) !important;
    color: var(--k-ink-4) !important;
    font-size: 9.5px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    border-bottom: 1px solid var(--k-line-2) !important;
    padding: 7px 12px !important;
  }
  table tbody tr { border-bottom: 1px solid var(--k-line) !important; }
  table tbody tr:hover { background: var(--k-bg-2) !important; }
  table td { padding: 9px 12px !important; font-size: 11.5px !important; }

  /* Loading */
  .loading-overlay { background: var(--k-bg) !important; }
  .spinner {
    border-color: var(--k-line-2) !important;
    border-top-color: var(--k-amber) !important;
  }
  .loading-text { color: var(--k-ink-2) !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; }
  .loading-sub { color: var(--k-ink-4) !important; }

  /* Selected symbols chips */
  .selected-symbols .chip, .selected-symbols > * {
    background: var(--k-bg-2) !important;
    border: 1px solid var(--k-line-2) !important;
    border-radius: 2px !important;
    color: var(--k-ink-2) !important;
    font-size: 10.5px !important;
  }

  /* Position review form */
  .pr-group-tag {
    background: var(--k-bg) !important;
    border: 1px solid var(--k-line-2) !important;
    color: var(--k-ink-3) !important;
    font-size: 9.5px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    border-radius: 2px !important;
  }
  .pr-group-tag--req { color: var(--k-amber) !important; border-color: var(--k-amber) !important; }
  .pr-form-actions button[type="submit"],
  form button[type="submit"] {
    background: var(--k-amber-dim) !important;
    color: var(--k-amber) !important;
    border: 1px solid var(--k-amber) !important;
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    padding: 8px 16px !important;
  }

  /* Force tabular nums on price-like cells */
  [class*="price"], [class*="value"], [class*="score"], [class*="pnl"],
  [class*="rate"], [class*="metric"], .num, .tc2-symbol, td {
    font-variant-numeric: tabular-nums !important;
  }

  /* Remove all gradients */
  [class*="card"], [class*="panel"], [class*="banner"], [class*="badge"],
  [class*="header"], button, .topbar, .focus-section {
    background-image: none !important;
  }

  /* Scrollbar refinement */
  ::-webkit-scrollbar { width: 8px !important; height: 8px !important; }
  ::-webkit-scrollbar-track { background: var(--k-bg) !important; }
  ::-webkit-scrollbar-thumb { background: var(--k-line-2) !important; border-radius: 0 !important; }
  ::-webkit-scrollbar-thumb:hover { background: var(--k-ink-4) !important; }

  /* ═══ Trade Card v2 (Chinese) ═══ */
  .trade-card-v2 {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 18px;
    overflow: hidden;
    transition: border-color 0.3s;
  }
  .trade-card-v2:hover { border-color: var(--border-strong); }
  .trade-card-v2.rank-1 { border-color: var(--yellow); box-shadow: 0 0 25px rgba(245,158,11,0.1); }
  .trade-card-v2.rank-1 .tc2-rank { background: var(--yellow-dim); color: var(--yellow); border: 1px solid rgba(245,158,11,0.3); }

  .tc2-header {
    padding: 20px 22px 14px;
    display: flex; align-items: center; justify-content: space-between;
  }
  .tc2-left { display: flex; align-items: center; gap: 12px; }
  .tc2-rank {
    width: 32px; height: 32px; border-radius: 9px;
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 14px;
    background: rgba(255,255,255,0.05); color: var(--text-muted);
    border: 1px solid rgba(255,255,255,0.08);
  }
  .tc2-symbol { font-size: 20px; font-weight: 800; }
  .tc2-dir {
    font-size: 13px; font-weight: 800; padding: 3px 10px;
    border-radius: 6px; letter-spacing: 0.5px;
  }
  .tc2-dir.long { background: var(--green-dim); color: var(--green); }
  .tc2-dir.short { background: var(--red-dim); color: var(--red); }
  .tc2-grade {
    font-size: 22px; font-weight: 900;
    font-family: 'JetBrains Mono', monospace;
  }
  .tc2-grade.ap { color: var(--green); }
  .tc2-grade.a { color: var(--blue); }
  .tc2-grade.b { color: var(--yellow); }

  .tc2-body { padding: 0 22px 20px; }

  .tc2-levels {
    display: grid; gap: 8px;
    margin-bottom: 14px;
  }
  .tc2-levels-grid {
    grid-template-columns: 1fr 1fr;
  }
  .tc2-lv {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.04);
    border-radius: 10px; padding: 10px 12px; text-align: center;
  }
  .tc2-lv-label {
    font-size: 13px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.8px; color: var(--text-muted); margin-bottom: 4px;
  }
  .tc2-lv-val {
    font-size: 14px; font-weight: 700;
    font-family: 'JetBrains Mono', monospace;
  }
  .tc2-lv-val.entry { color: var(--blue); }
  .tc2-lv-val.sl { color: var(--red); }
  .tc2-lv-val.tp { color: var(--green); }
  .tc2-lv-val.tp1 { color: #34d399; }
  .tc2-lv-val.tp2 { color: var(--green); }
  .tc2-lv-pct {
    margin-top: 3px;
    font-size: 12px;
    font-weight: 700;
    font-family: 'JetBrains Mono', monospace;
    letter-spacing: 0.02em;
    line-height: 1;
    opacity: 0.78;
  }
  .tc2-lv-pct.pos { color: #34d399; }
  .tc2-lv-pct.neg { color: rgba(248, 113, 113, 0.88); }

  .tc2-rr-row {
    display: flex; align-items: center; justify-content: center;
    gap: 16px; margin-bottom: 14px;
    padding: 10px; border-radius: 10px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.04);
  }
  .tc2-rr-item { text-align: center; }
  .tc2-rr-val {
    font-size: 18px; font-weight: 800;
    font-family: 'JetBrains Mono', monospace;
  }
  .tc2-rr-label {
    font-size: 13px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.6px; color: var(--text-muted); margin-top: 2px;
  }

  /* Score explainability: totalScore vs baseFinalScore vs finalScore */
  .tc2-score-explain {
    margin: 0 0 12px;
    padding: 10px 10px 8px;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.06);
    font-size: 13px;
    line-height: 1.45;
    color: var(--text-muted);
  }
  .tc2-score-explain-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px 6px;
    margin-bottom: 6px;
    text-align: center;
  }
  .tc2-score-explain-k {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.4px;
    color: var(--text-muted);
    margin-bottom: 2px;
  }
  .tc2-score-explain-val {
    font-family: 'JetBrains Mono', monospace;
    font-weight: 800;
    font-size: 14px;
    color: var(--text-primary);
  }
  .tc2-score-explain-val.tc2-score-final {
    color: #fbbf24;
  }
  .tc2-score-explain-note {
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.5;
    padding-top: 4px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
  }
	  .tc2-score-explain--simple {
	    text-align: center;
	  }
	  .tc2-score-explain--simple .tc2-validation-boost {
	    text-align: left;
	  }
	  .tc2-score-hero {
	    position: relative;
	    overflow: hidden;
	    padding: 13px;
	    border-radius: 16px;
	    background:
	      radial-gradient(circle at 18% 0%, rgba(34,197,94,0.14), transparent 34%),
	      linear-gradient(145deg, rgba(15,23,42,0.88), rgba(2,6,23,0.82));
	    border: 1px solid rgba(96,165,250,0.18);
	    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
	  }
	  .tc2-score-hero-top {
	    display: flex;
	    align-items: center;
	    justify-content: space-between;
	    gap: 10px;
	    margin-bottom: 10px;
	  }
	  .tc2-score-eyebrow {
	    font-size: 12px;
	    font-weight: 900;
	    letter-spacing: 0.12em;
	    text-transform: uppercase;
	    color: rgba(148,163,184,0.9);
	  }
	  .tc2-score-status-pill {
	    display: inline-flex;
	    align-items: center;
	    gap: 4px;
	    padding: 5px 9px;
	    border-radius: 999px;
	    font-size: 13px;
	    font-weight: 900;
	    line-height: 1;
	    border: 1px solid rgba(148,163,184,0.18);
	    background: rgba(15,23,42,0.78);
	  }
	  .tc2-score-status-pill.tc2-score-verdict--yes {
	    color: #86efac;
	    border-color: rgba(74,222,128,0.28);
	    background: rgba(22,163,74,0.13);
	  }
	  .tc2-score-status-pill.tc2-score-verdict--no {
	    color: rgba(203,213,225,0.92);
	    border-color: rgba(148,163,184,0.22);
	    background: rgba(148,163,184,0.08);
	  }
	  .tc2-score-metrics {
	    display: grid;
	    grid-template-columns: repeat(2, minmax(0, 1fr));
	    gap: 10px;
	  }
	  .tc2-score-metric {
	    min-width: 0;
	    padding: 12px 11px;
	    border-radius: 13px;
	    background: rgba(2,6,23,0.48);
	    border: 1px solid rgba(148,163,184,0.12);
	    text-align: left;
	  }
	  .tc2-score-metric--primary {
	    border-color: rgba(251,191,36,0.22);
	    background: linear-gradient(180deg, rgba(251,191,36,0.08), rgba(2,6,23,0.46));
	  }
	  .tc2-score-metric-label,
	  .tc2-score-metric-note {
	    display: block;
	  }
	  .tc2-score-metric-label {
	    font-size: 12px;
	    font-weight: 900;
	    letter-spacing: 0.08em;
	    text-transform: uppercase;
	    color: rgba(148,163,184,0.92);
	    margin-bottom: 5px;
	  }
	  .tc2-score-metric-value {
	    display: block;
	    font-family: 'JetBrains Mono', monospace;
	    font-size: 26px;
	    font-weight: 900;
	    line-height: 1.05;
	    color: #fbbf24;
	    letter-spacing: 0.02em;
	  }
	  .tc2-score-metric-note {
	    margin-top: 6px;
	    font-size: 12px;
	    font-weight: 700;
	    color: rgba(148,163,184,0.86);
	    line-height: 1.35;
	  }
	  .tc2-score-verdict {
	    font-size: 12px;
	    font-weight: 800;
	    margin-bottom: 8px;
    letter-spacing: 0.02em;
  }
  .tc2-score-verdict--yes { color: #4ade80; }
  .tc2-score-verdict--no { color: rgba(148, 163, 184, 0.95); }
  .tc2-score-one-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: 6px 8px;
  }
  .tc2-score-one-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
  }
  .tc2-score-one-val {
    font-family: 'JetBrains Mono', monospace;
    font-size: 22px;
    font-weight: 800;
    color: #fbbf24;
  }
  .tc2-score-one-hint {
    font-size: 12px;
    color: var(--text-muted);
    width: 100%;
    text-align: center;
    margin-top: 2px;
  }
  .no-signal-verdict {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
  }
  .no-signal-verdict--no { color: rgba(252, 165, 165, 0.95); }
  .no-signal-verdict--maybe { color: rgba(253, 224, 71, 0.9); }
  .no-signal-one-score {
    text-align: center;
    margin-top: 6px;
  }
  .no-signal-one-score-main {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
  }
  .no-signal-one-score-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.1;
    color: #fcd34d;
  }
  .no-signal-one-score-sep { font-size: 22px; font-weight: 700; opacity: 0.4; }
  .no-signal-one-score-th {
    font-family: 'JetBrains Mono', monospace;
    font-size: 22px;
    font-weight: 800;
    color: rgba(226, 232, 240, 0.9);
  }
  .no-signal-one-score-sub {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 4px 0 10px;
  }
  .no-signal-meter-track--thin {
    height: 6px;
    max-width: 240px;
    margin: 0 auto;
  }
  .no-signal-vc-hint {
    margin: 12px 0 0;
    padding: 8px 10px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-muted);
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(255,255,255,0.06);
    text-align: center;
  }
  .no-signal-vc-hint strong { color: rgba(226, 232, 240, 0.95); }
  .no-signal-vc-bad { color: rgba(252, 165, 165, 0.95); }
  .no-signal-vc-ok { color: rgba(167, 243, 208, 0.9); }
  .tc2-validation-boost {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px dashed rgba(255, 255, 255, 0.08);
  }
  .tc2-validation-boost summary {
    cursor: pointer;
    font-weight: 700;
    font-size: 12px;
    color: var(--text-secondary);
  }
  .tc2-vb-body {
    margin-top: 8px;
    font-size: 12px;
    color: var(--text-muted);
  }
  .tc2-vb-line { margin: 4px 0; font-family: 'JetBrains Mono', monospace; font-size: 12px; }
  .tc2-vb-meta { margin-bottom: 6px; opacity: 0.95; }
  .tc2-vb-warn {
    margin-bottom: 6px;
    padding: 6px 8px;
    border-radius: 8px;
    background: rgba(251, 191, 36, 0.08);
    border: 1px solid rgba(251, 191, 36, 0.25);
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.45;
  }

	  .tc2-section {
	    margin-bottom: 10px;
	  }
	  .tc2-section-card {
	    position: relative;
	    padding: 12px 13px;
	    border-radius: 14px;
	    background: rgba(15,23,42,0.58);
	    border: 1px solid rgba(148,163,184,0.14);
	    overflow: hidden;
	  }
	  .tc2-section-card::before {
	    content: '';
	    position: absolute;
	    left: 0;
	    top: 0;
	    bottom: 0;
	    width: 3px;
	    background: rgba(148,163,184,0.34);
	  }
	  .tc2-section-card--good {
	    background: linear-gradient(135deg, rgba(16,185,129,0.08), rgba(15,23,42,0.58) 44%);
	    border-color: rgba(16,185,129,0.16);
	  }
	  .tc2-section-card--good::before { background: var(--green); }
	  .tc2-section-card--risk {
	    background: linear-gradient(135deg, rgba(245,158,11,0.09), rgba(15,23,42,0.58) 44%);
	    border-color: rgba(245,158,11,0.18);
	  }
	  .tc2-section-card--risk::before { background: var(--orange); }
	  .tc2-section-card--context::before { background: rgba(96,165,250,0.7); }
	  .tc2-section-head {
	    display: flex;
	    align-items: center;
	    justify-content: space-between;
	    gap: 10px;
	    margin-bottom: 7px;
	  }
	  .tc2-section-title {
	    font-size: 12px; font-weight: 800; text-transform: uppercase;
	    letter-spacing: 1px; margin-bottom: 6px;
	    color: rgba(226,232,240,0.92);
	  }
	  .tc2-section-head .tc2-section-title { margin-bottom: 0; }
	  .tc2-section-title.green { color: var(--green); }
	  .tc2-section-title.orange { color: var(--orange); }
	  .tc2-section-title.blue { color: var(--blue); }
	  .tc2-section-count {
	    min-width: 22px;
	    height: 22px;
	    padding: 0 7px;
	    display: inline-flex;
	    align-items: center;
	    justify-content: center;
	    border-radius: 999px;
	    background: rgba(148,163,184,0.12);
	    border: 1px solid rgba(148,163,184,0.12);
	    color: rgba(203,213,225,0.92);
	    font-family: 'JetBrains Mono', monospace;
	    font-size: 12px;
	    font-weight: 900;
	  }

	  .tc2-list { list-style: none; padding: 0; margin: 0; }
	  .tc2-list li {
	    font-size: 12px; color: var(--text-secondary); line-height: 1.6;
	    padding-left: 14px; position: relative;
  }
	  .tc2-list li::before {
	    content: ''; position: absolute; left: 0; top: 8px;
	    width: 5px; height: 5px; border-radius: 50%;
	  }
	  .tc2-section-card--context .tc2-list li::before { background: rgba(96,165,250,0.85); }
	  .tc2-list.green li::before { background: var(--green); }
	  .tc2-list.orange li::before { background: var(--orange); }

  .tc2-action {
    margin-top: 14px; padding: 12px 14px;
    border-radius: 10px;
    font-size: 13px; font-weight: 700;
    display: flex; align-items: center; gap: 8px;
  }
  .tc2-action--warn{
    background: rgba(245, 158, 11, 0.10);
    border: 1px solid rgba(245, 158, 11, 0.22);
    color: rgba(253, 230, 138, 0.95);
    margin-top: 10px;
  }
  .tc2-action.go {
    background: var(--green-dim); color: var(--green);
    border: 1px solid rgba(16,185,129,0.25);
  }
  .tc2-action.small {
    background: var(--blue-dim); color: var(--blue);
    border: 1px solid rgba(59,130,246,0.25);
  }
  .tc2-action.watch {
    background: rgba(255,255,255,0.03); color: var(--text-secondary);
    border: 1px solid rgba(255,255,255,0.06);
  }

	  /* Layer-1: compact structure confirmation strip */
	  .tc2-signal-strips {
	    display: grid;
	    grid-template-columns: repeat(2, minmax(0, 1fr));
	    gap: 9px;
	    margin: 10px 0;
	  }
	  .tc2-confirm-strip {
	    display: flex;
	    flex-wrap: wrap;
	    align-items: center;
	    gap: 6px 10px;
	    margin-top: 0;
	    padding: 10px 12px;
	    border-radius: 13px;
	    background: rgba(15,23,42,0.62);
	    border: 1px solid rgba(148,163,184,0.14);
	    border-left: 3px solid rgba(148,163,184,0.35);
	    font-size: 12px;
	    line-height: 1.4;
	    color: var(--text-secondary);
  }
  .tc2-confirm-strip.tc2-confirm-level--strong { border-left-color: var(--green); }
  .tc2-confirm-strip.tc2-confirm-level--medium { border-left-color: var(--yellow); }
  .tc2-confirm-strip.tc2-confirm-level--weak { border-left-color: var(--orange); }
  .tc2-confirm-strip.tc2-confirm-level--none { border-left-color: var(--text-muted); }
  .tc2-strip-main { font-weight: 700; color: var(--text-primary); }
  .tc2-strip-pill {
    font-weight: 800;
    font-size: 13px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(255,255,255,0.06);
    color: var(--text-primary);
  }
  .tc2-strip-sep { color: var(--text-muted); user-select: none; }
  .tc2-strip-bits { font-weight: 600; color: var(--text-secondary); }

  .tc2-sm-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    margin-top: 0;
    padding: 10px 12px;
    border-radius: 13px;
    background: rgba(15,23,42,0.62);
    border: 1px solid rgba(148,163,184,0.14);
    border-left: 3px solid rgba(148,163,184,0.35);
    font-size: 12px;
    line-height: 1.4;
    color: var(--text-secondary);
  }
  .tc2-sm-strip.tc2-sm--bull { border-left-color: var(--green); background: rgba(16,185,129,0.06); }
  .tc2-sm-strip.tc2-sm--bear { border-left-color: var(--red); background: rgba(239,68,68,0.06); }
  .tc2-sm-strip.tc2-sm--neutral { border-left-color: var(--text-muted); background: rgba(255,255,255,0.03); }

	  .tc2-oi-strip {
	    display: flex;
	    flex-wrap: wrap;
	    align-items: center;
	    gap: 6px 10px;
	    margin-top: 0;
	    padding: 10px 12px;
	    border-radius: 13px;
	    background: rgba(59,130,246,0.07);
	    border: 1px solid rgba(59,130,246,0.16);
	    border-left: 3px solid rgba(96,165,250,0.5);
	    font-size: 13px;
	    line-height: 1.35;
	    color: var(--text-secondary);
  }
  .tc2-oi-strip.tc2-oi--strong { border-left-color: var(--green); }
  .tc2-oi-strip.tc2-oi--medium { border-left-color: var(--yellow); }
  .tc2-oi-strip.tc2-oi--weak { border-left-color: var(--orange); }
  .tc2-oi-strip.tc2-oi--none { border-left-color: var(--text-muted); background: rgba(255,255,255,0.02); }
  .tc2-oi-main { font-weight: 800; color: var(--text-primary); }
  .tc2-oi-pill {
    font-weight: 800;
    font-size: 12px;
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(255,255,255,0.07);
  }
  .tc2-oi-sep { color: var(--text-muted); user-select: none; }
  .tc2-oi-bits { font-weight: 650; }

  /* Layer-2: progressive disclosure */
	  .tc2-card-details {
	    margin-top: 10px;
	    border-radius: 14px;
	    border: 1px solid rgba(96,165,250,0.20);
	    background: linear-gradient(180deg, rgba(15,23,42,0.72), rgba(2,6,23,0.18));
	    overflow: hidden;
	  }
	  .tc2-card-details-summary {
	    list-style: none;
	    cursor: pointer;
	    padding: 12px 14px;
	    font-size: 12px;
	    font-weight: 700;
	    color: var(--text-secondary);
	    background: linear-gradient(90deg, rgba(59,130,246,0.12), rgba(255,255,255,0.02));
	    display: flex;
	    align-items: center;
	    gap: 8px;
	    user-select: none;
  }
  .tc2-card-details-summary::-webkit-details-marker { display: none; }
  .tc2-card-details-summary::before {
    content: '';
    width: 0; height: 0;
    border-left: 5px solid var(--text-muted);
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    transform: rotate(0deg);
    transition: transform 0.15s ease;
    flex-shrink: 0;
  }
  .tc2-card-details[open] > .tc2-card-details-summary::before {
    transform: rotate(90deg);
  }
	  .tc2-card-details-summary:hover { color: var(--text-primary); background: rgba(255,255,255,0.05); }
	  .tc2-details-title {
	    color: rgba(226,232,240,0.96);
	    font-size: 13px;
	    font-weight: 900;
	    letter-spacing: 0.02em;
	  }
	  .tc2-details-sub {
	    margin-left: auto;
	    padding: 4px 8px;
	    border-radius: 999px;
	    background: rgba(15,23,42,0.74);
	    border: 1px solid rgba(148,163,184,0.12);
	    color: rgba(148,163,184,0.9);
	    font-size: 12px;
	    font-weight: 800;
	    white-space: nowrap;
	  }
	  .tc2-card-details-summary:focus { outline: none; }
	  .tc2-card-details-summary:focus-visible {
	    box-shadow: inset 0 0 0 2px rgba(59,130,246,0.45);
	  }
	  .tc2-card-details-inner {
	    padding: 12px 14px 14px;
	    border-top: 1px solid rgba(255,255,255,0.05);
	  }
	  .tc2-card-details-inner .tc2-section:first-child { margin-top: 10px; }
	  .tc2-confirm-block--nested { margin-top: 8px; }

	  .tc2-confirm-block { margin-top: 10px; }
  .tc2-confirm-block abbr {
    text-decoration: underline dotted rgba(148,163,184,0.5);
    text-underline-offset: 2px;
    cursor: help;
  }
  .tc2-confirm-lede {
    margin: 2px 0 8px;
    font-size: 13px;
    line-height: 1.45;
    color: var(--text-secondary);
    font-weight: 500;
  }
	  .tc2-confirm-rows {
	    background: rgba(15,23,42,0.62);
	    border: 1px solid rgba(96,165,250,0.16);
	    border-radius: 14px;
	    padding: 11px 12px;
	    font-size: 13px;
	    line-height: 1.45;
	    border-left: 3px solid rgba(148,163,184,0.35);
	  }
  .tc2-confirm-rows.tc2-confirm-level--strong { border-left-color: var(--green); }
  .tc2-confirm-rows.tc2-confirm-level--medium { border-left-color: var(--yellow); }
  .tc2-confirm-rows.tc2-confirm-level--weak { border-left-color: var(--orange); }
  .tc2-confirm-rows.tc2-confirm-level--none { border-left-color: var(--text-muted); }
	  .tc2-confirm-row {
	    display: flex; justify-content: space-between; align-items: baseline;
	    gap: 10px;
	    padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,0.05);
	  }
  .tc2-confirm-row:last-of-type { border-bottom: none; }
  .tc2-confirm-k { color: var(--text-secondary); font-weight: 600; }
  .tc2-confirm-v { color: var(--text-primary); font-weight: 600; text-align: right; }
	  .tc2-confirm-overall {
	    margin: 0;
	    margin-top: 9px; padding: 9px 10px;
	    border-radius: 11px;
	    border: 1px solid rgba(255,255,255,0.06);
	    background: rgba(2,6,23,0.34);
	    font-weight: 800; font-size: 13px;
	  }
  .tc2-confirm-overall.conf-strong { color: var(--green); }
	  .tc2-confirm-overall.conf-medium { color: var(--yellow); }
	  .tc2-confirm-overall.conf-weak { color: var(--orange); }
	  .tc2-confirm-overall.conf-none { color: var(--text-secondary); }

	  @media (max-width: 640px) {
	    .tc2-score-hero-top {
	      align-items: flex-start;
	      flex-direction: column;
	    }
	    .tc2-score-metrics,
	    .tc2-signal-strips {
	      grid-template-columns: 1fr;
	    }
	    .tc2-score-metric-value {
	      font-size: 24px;
	    }
	    .tc2-details-sub {
	      display: none;
	    }
	    .tc2-confirm-row {
	      align-items: flex-start;
	      flex-direction: column;
	      gap: 4px;
	    }
	    .tc2-confirm-v {
	      text-align: left;
	    }
	  }

	  /* ── Smart Money badge ── */
  .sm-badge {
    display: flex; align-items: center; flex-wrap: wrap; gap: 6px;
    margin: 10px 0 4px;
    padding: 8px 11px;
    border-radius: 8px;
    font-size: 13px;
    border: 1px solid transparent;
  }
  .sm-badge.sm-neutral {
    background: rgba(255,255,255,0.03);
    border-color: rgba(255,255,255,0.06);
  }
  .sm-badge.sm-bull {
    background: rgba(16,185,129,0.08);
    border-color: rgba(16,185,129,0.2);
  }
  .sm-badge.sm-bear {
    background: rgba(239,68,68,0.08);
    border-color: rgba(239,68,68,0.2);
  }
  .sm-label {
    font-weight: 700; text-transform: uppercase; letter-spacing: 0.8px;
    color: var(--text-muted); font-size: 13px;
    margin-right: 2px;
  }
  .sm-value {
    font-weight: 600;
  }
  .sm-badge.sm-neutral .sm-value { color: var(--text-muted); }
  .sm-badge.sm-bull .sm-value { color: var(--green); }
  .sm-badge.sm-bear .sm-value { color: var(--red); }
  .sm-adj { font-family: 'JetBrains Mono', monospace; font-size: 12px; opacity: 0.75; }
  .sm-note {
    width: 100%;
    color: var(--text-secondary); font-size: 12px; opacity: 0.85;
    margin-top: 1px;
  }
  .sm-align {
    font-size: 12px; font-weight: 700; letter-spacing: 0.3px;
  }
  .sm-align.agree   { color: var(--green); }
  .sm-align.conflict { color: var(--orange); }
  .sm-cg-meta {
    width: 100%;
    margin-top: 2px;
    font-size: 13px;
    font-weight: 650;
    letter-spacing: 0.02em;
    color: var(--text-muted);
    opacity: 0.9;
  }

  /* ── Execute button ── */
  .tc2-execute {
    display: block; width: 100%;
    margin-top: 10px; padding: 11px 0;
    background: linear-gradient(135deg, rgba(59,130,246,0.18), rgba(59,130,246,0.08));
    border: 1px solid rgba(59,130,246,0.35);
    border-radius: 10px;
    color: var(--blue); font-size: 13px; font-weight: 700;
    cursor: pointer; letter-spacing: 0.3px;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
  }
  .tc2-execute:hover:not(:disabled) {
    background: rgba(59,130,246,0.25);
    border-color: rgba(59,130,246,0.6);
  }
  .tc2-execute.executed,
  .tc2-execute:disabled {
    background: rgba(16,185,129,0.1);
    border-color: rgba(16,185,129,0.3);
    color: var(--green); cursor: default;
  }

  /* Track button */
  .tc2-track-row {
    margin-top: 14px; padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,0.06);
    display: flex; align-items: center; gap: 10px;
  }
  .tc2-track-btn {
    flex: 1; padding: 10px; border-radius: 10px;
    background: rgba(139,92,246,0.12); border: 1px solid rgba(139,92,246,0.25);
    color: var(--purple); font-size: 12px; font-weight: 700;
    cursor: pointer; text-align: center; transition: background 0.15s;
  }
  .tc2-track-btn:hover { background: rgba(139,92,246,0.2); }
  .tc2-result-btns {
    display: flex; gap: 8px; flex: 1;
  }
  .tc2-result-btn {
    flex: 1; padding: 10px; border-radius: 10px;
    font-size: 12px; font-weight: 700; cursor: pointer;
    text-align: center; border: none; transition: background 0.15s;
  }
  .tc2-result-btn.win {
    background: var(--green-dim); color: var(--green);
    border: 1px solid rgba(16,185,129,0.25);
  }
  .tc2-result-btn.win:hover { background: rgba(16,185,129,0.25); }
  .tc2-result-btn.lose {
    background: var(--red-dim); color: var(--red);
    border: 1px solid rgba(239,68,68,0.25);
  }
  .tc2-result-btn.lose:hover { background: rgba(239,68,68,0.25); }
  .tc2-recorded {
    font-size: 12px; font-weight: 700; text-align: center;
    padding: 10px; border-radius: 10px;
    background: rgba(255,255,255,0.03);
    color: var(--text-muted);
  }

  /* Stats bar */
  .stats-bar {
    display: flex; gap: 16px; margin-bottom: 18px;
  }
  .stat-pill {
    display: flex; align-items: center; gap: 8px;
    padding: 10px 16px; border-radius: 12px;
    background: var(--bg-card); border: 1px solid var(--border);
  }
  .stat-pill-val {
    font-size: 18px; font-weight: 800;
    font-family: 'JetBrains Mono', monospace;
    color: var(--text-primary);
  }
  .stat-pill-label {
    font-size: 13px; color: var(--text-muted);
    font-weight: 600;
  }

  /* No signal v2 */
  .no-signal-v2 {
    padding: 36px 20px 28px;
    text-align: center;
    max-width: 860px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: start;
  }
  .no-signal-icon {
    font-size: 28px; color: rgba(148, 163, 184, 0.45);
    margin-bottom: 12px; line-height: 1;
    animation: pulse-dot 2.5s infinite;
  }
  .no-signal-title {
    font-size: 18px; font-weight: 800;
    color: var(--text-primary);
    margin: 0 0 10px;
    letter-spacing: 0.02em;
  }
  .no-signal-sub {
    font-size: 13px; color: var(--text-muted);
    line-height: 1.65; max-width: 340px; margin: 0 auto;
  }
  .no-signal-icon,
  .no-signal-title,
  .no-signal-sub,
  .no-signal-tags,
  .no-signal-lead {
    grid-column: 1 / -1;
  }
  .no-signal-sub strong { color: var(--text-secondary); }
  .no-signal-lead {
    margin: 14px auto 0;
    max-width: 340px;
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.55;
    opacity: 0.92;
  }
  .no-signal-tags {
    margin-top: 14px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
  }
  .no-signal-tag {
    font-size: 13px;
    font-weight: 700;
    padding: 6px 11px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.09);
    background: rgba(255,255,255,0.04);
    color: var(--text-secondary);
    white-space: nowrap;
  }
  .no-signal-insight,
  .no-signal-nearmiss,
  .no-signal-debug {
    grid-column: 1 / -1;
    width: 100%;
  }

  /* Insight card — best candidate + meter + chips */
  .no-signal-insight {
    margin-top: 20px;
    text-align: left;
    padding: 14px 16px 16px;
    border-radius: 14px;
    border: 1px solid rgba(96, 165, 250, 0.22);
    background: linear-gradient(165deg, rgba(59, 130, 246, 0.08), rgba(15, 23, 42, 0.92));
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.25);
  }
  .no-signal-hard-block {
    margin: 0 0 14px;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid rgba(251, 113, 133, 0.35);
    background: rgba(127, 29, 29, 0.22);
    text-align: left;
  }
  .no-signal-hard-block-k {
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: rgba(254, 202, 202, 0.95);
    margin-bottom: 8px;
  }
  .no-signal-hard-block-msg {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.55;
    color: rgba(254, 243, 199, 0.98);
  }
  .no-signal-hard-block-note {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: rgba(226, 232, 240, 0.82);
    opacity: 0.92;
  }
  .no-signal-insight-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    text-align: center;
  }
  .no-signal-insight-badge {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(147, 197, 253, 0.95);
    padding: 4px 9px;
    border-radius: 999px;
    border: 1px solid rgba(147, 197, 253, 0.28);
    background: rgba(37, 99, 235, 0.12);
  }
  .no-signal-insight-symbol {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.03em;
    font-family: 'JetBrains Mono', monospace;
    color: var(--text-primary);
    line-height: 1.1;
    word-break: break-word;
    text-align: center;
  }
  .no-signal-meter-labels {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
    flex-wrap: wrap;
  }
  .no-signal-meter-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-muted);
  }
  .no-signal-meter-nums {
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    font-weight: 800;
    color: var(--text-primary);
  }
  .no-signal-meter-curr { color: #fcd34d; }
  .no-signal-meter-sep { opacity: 0.45; margin: 0 2px; font-weight: 700; }
  .no-signal-meter-cap { color: rgba(226, 232, 240, 0.88); }
  .no-signal-meter-track {
    height: 10px;
    border-radius: 999px;
    background: rgba(255,255,255,0.06);
    overflow: hidden;
    outline: none;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.35);
  }
  .no-signal-meter-fill {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(52, 211, 153, 0.85), rgba(56, 189, 248, 0.95));
    transition: width 0.35s ease;
    box-shadow: 0 0 16px rgba(52, 211, 153, 0.25);
  }
  .no-signal-meter-fill--hot {
    background: linear-gradient(90deg, rgba(251, 191, 36, 0.92), rgba(251, 113, 133, 0.88));
    box-shadow: 0 0 18px rgba(251, 191, 36, 0.28);
  }
  .no-signal-meter-caption {
    margin: 10px 0 0;
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.55;
  }
  .no-signal-meter-caption strong {
    color: var(--text-secondary);
    font-weight: 800;
  }
  .no-signal-meter-hint {
    font-size: 13px;
    opacity: 0.88;
  }
  .no-signal-meter-hint strong {
    font-weight: 700;
    color: rgba(226, 232, 240, 0.92);
  }
  .no-signal-factors {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px dashed rgba(255,255,255,0.08);
  }
  .no-signal-factors-label {
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 8px;
  }
  .no-signal-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }
  .no-signal-chip {
    font-size: 13px;
    font-weight: 700;
    padding: 5px 10px;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.1);
    background: rgba(255,255,255,0.05);
    color: rgba(226, 232, 240, 0.92);
    line-height: 1.35;
  }
  .no-signal-chip--hot {
    border-color: rgba(251, 191, 36, 0.35);
    background: rgba(251, 191, 36, 0.08);
  }
  .no-signal-chip--ok {
    border-style: dashed;
    opacity: 0.9;
  }
  .no-signal-score-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 14px;
  }
  .no-signal-score-cell {
    padding: 8px 8px 10px;
    border-radius: 10px;
    background: rgba(0,0,0,0.22);
    border: 1px solid rgba(255,255,255,0.06);
    text-align: center;
  }
  .no-signal-score-cell--final {
    border-color: rgba(251, 191, 36, 0.28);
    background: rgba(251, 191, 36, 0.06);
  }
  .no-signal-score-k {
    display: block;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: var(--text-muted);
    margin-bottom: 4px;
    text-transform: uppercase;
  }
  .no-signal-score-v {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    font-weight: 800;
    color: var(--text-primary);
  }

  /* Simplified score ladder (no-signal insight) */
  .no-signal-score-simple {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px dashed rgba(255,255,255,0.08);
    text-align: left;
  }
  .no-signal-score-lead {
    margin: 0 0 10px;
    font-size: 12px;
    line-height: 1.65;
    color: rgba(226, 232, 240, 0.88);
  }
  .no-signal-score-lead-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    font-weight: 800;
    color: #fcd34d;
    margin: 0 2px;
  }
  .no-signal-score-details {
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,0.07);
    background: rgba(0,0,0,0.2);
    overflow: hidden;
  }
  .no-signal-score-details-sum {
    cursor: pointer;
    list-style: none;
    padding: 10px 12px;
    font-size: 12px;
    font-weight: 800;
    color: rgba(147, 197, 253, 0.95);
    background: rgba(59, 130, 246, 0.07);
    user-select: none;
  }
  .no-signal-score-details-sum::-webkit-details-marker { display: none; }
  .no-signal-score-details-sum::after {
    content: '\25bc';
    float: right;
    font-size: 12px;
    opacity: 0.55;
  }
  .no-signal-score-details[open] .no-signal-score-details-sum::after {
    transform: rotate(-180deg);
    display: inline-block;
  }
  .no-signal-score-flow {
    margin: 0;
    padding: 10px 12px 12px 14px;
    list-style: none;
    counter-reset: nsflow;
  }
  .no-signal-score-flow-item {
    position: relative;
    padding: 10px 0 12px 6px;
    border-left: 2px solid rgba(148, 163, 184, 0.25);
    margin-left: 10px;
    padding-left: 14px;
  }
  .no-signal-score-flow-item:last-child { padding-bottom: 4px; }
  .no-signal-score-flow-item--final {
    border-left-color: rgba(251, 191, 36, 0.45);
  }
  .no-signal-flow-row {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-bottom: 6px;
  }
  .no-signal-flow-step {
    font-size: 13px;
    font-weight: 800;
    color: rgba(148, 163, 184, 0.9);
    min-width: 1.5em;
  }
  .no-signal-flow-k {
    font-size: 12px;
    font-weight: 800;
    color: var(--text-secondary);
    flex: 1;
    min-width: 120px;
  }
  .no-signal-flow-v {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    font-weight: 800;
    color: var(--text-primary);
  }
  .no-signal-score-flow-item--final .no-signal-flow-v {
    color: #fcd34d;
  }
  .no-signal-flow-d {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: var(--text-muted);
  }

  /* Near-miss list */
  .no-signal-nearmiss {
    margin-top: 18px;
    text-align: left;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.07);
    background: rgba(0,0,0,0.18);
    overflow: hidden;
  }
  .no-signal-nearmiss-sum {
    cursor: pointer;
    list-style: none;
    padding: 11px 14px;
    font-size: 12px;
    font-weight: 800;
    color: var(--text-secondary);
    background: rgba(255,255,255,0.03);
    border-bottom: 1px solid rgba(255,255,255,0.06);
  }
  .no-signal-nearmiss-sum::-webkit-details-marker { display: none; }
  .no-signal-nearmiss-sum::after {
    content: '\25bc';
    float: right;
    font-size: 12px;
    opacity: 0.55;
    transition: transform 0.2s ease;
  }
  .no-signal-nearmiss[open] .no-signal-nearmiss-sum::after {
    transform: rotate(-180deg);
  }
  .no-signal-nearmiss-list {
    list-style: none;
    margin: 0;
    padding: 6px 4px 10px;
    max-height: 280px;
    overflow-y: auto;
  }
  .no-signal-nearmiss-item {
    padding: 10px 12px;
    border-radius: 10px;
    margin: 4px 6px;
    border: 1px solid transparent;
    transition: background 0.15s ease;
  }
  .no-signal-nearmiss-item:hover {
    background: rgba(255,255,255,0.04);
    border-color: rgba(255,255,255,0.05);
  }
  .no-signal-nearmiss-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
  }
  .no-signal-nearmiss-sym {
    font-weight: 800;
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    color: var(--text-primary);
  }
  .no-signal-nearmiss-scores {
    display: flex;
    align-items: baseline;
    gap: 10px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 13px;
    font-weight: 800;
  }
  .no-signal-nearmiss-fs { color: #fcd34d; }
  .no-signal-nearmiss-gap {
    font-size: 13px;
    font-weight: 700;
    color: rgba(148, 163, 184, 0.95);
  }
  .no-signal-nearmiss-chips .no-signal-chip {
    font-size: 12px;
    padding: 3px 8px;
  }
  .no-signal-nearmiss-foot {
    margin: 0;
    padding: 8px 14px 12px;
    font-size: 13px;
    color: var(--text-muted);
    line-height: 1.5;
    border-top: 1px solid rgba(255,255,255,0.05);
    background: rgba(0,0,0,0.15);
  }

  .no-signal-debug {
    margin-top: 16px; text-align: left;
    width: 100%;
    max-width: 460px;
    margin-left: auto;
    margin-right: auto;
  }
  .no-signal-debug-sum {
    font-size: 12px;
    font-weight: 800;
    color: var(--text-muted);
    cursor: pointer;
    user-select: none;
    list-style: none;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid rgba(96, 165, 250, 0.25);
    background: rgba(59, 130, 246, 0.06);
    text-align: center;
    transition: border-color 0.15s ease, background 0.15s ease;
  }
  .no-signal-debug-sum::-webkit-details-marker { display: none; }
  .no-signal-debug-sum:hover {
    color: var(--text-secondary);
    border-color: rgba(96, 165, 250, 0.45);
    background: rgba(59, 130, 246, 0.1);
  }
  .no-signal-debug-body {
    margin-top: 10px; padding: 14px 14px 12px;
    background: var(--bg-card-2); border: 1px solid var(--border);
    border-radius: 12px;
    font-size: 13px; color: var(--text-muted);
    line-height: 1.65;
  }
  .no-signal-dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 6px 14px;
    margin: 0 0 12px;
    align-items: baseline;
  }
  .no-signal-dl dt {
    font-weight: 700;
    color: rgba(148, 163, 184, 0.95);
    margin: 0;
  }
  .no-signal-dl dd {
    margin: 0;
    font-family: 'JetBrains Mono', monospace;
    font-weight: 700;
    color: var(--text-primary);
    text-align: right;
  }
  .no-signal-debug-h {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 10px 0 6px;
  }
  .no-signal-debug-line {
    font-size: 13px;
    padding: 4px 0;
    border-bottom: 1px solid rgba(255,255,255,0.04);
    color: rgba(203, 213, 225, 0.88);
  }
  .no-signal-debug-line--mono {
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    color: rgba(148, 163, 184, 0.95);
    word-break: break-word;
  }
  .no-signal-debug-n {
    font-weight: 800;
    color: rgba(251, 191, 36, 0.85);
    margin-left: 6px;
  }

  @media (min-width: 920px) {
    .no-signal-v2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      column-gap: 16px;
      row-gap: 14px;
      padding-inline: 12px;
    }
    .no-signal-icon,
    .no-signal-title,
    .no-signal-sub,
    .no-signal-tags,
    .no-signal-lead,
    .no-signal-debug {
      grid-column: 1 / -1;
    }
    .no-signal-insight {
      grid-column: 1 / 2;
      margin-top: 0;
    }
    .no-signal-nearmiss {
      grid-column: 2 / 3;
      margin-top: 0;
      align-self: start;
    }
    .no-signal-debug {
      margin-top: 4px;
      max-width: none;
    }
    .no-signal-nearmiss-list {
      max-height: 320px;
    }
  }

  /* ═══ History Panel ═══ */
  .history-section { margin-top: 8px; }

  .history-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 16px;
  }
  .history-stat {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 16px 18px;
    text-align: center;
  }
  .history-stat-val {
    font-size: 26px; font-weight: 800;
    font-family: 'JetBrains Mono', monospace;
    color: var(--text-primary);
  }
  .history-stat-label {
    margin-top: 4px; font-size: 13px;
    color: var(--text-muted); font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.5px;
  }

  /* Strategy breakdown */
  .strategy-stats {
    display: flex; flex-wrap: wrap; gap: 10px;
    margin-bottom: 16px;
  }
  .strategy-chip {
    display: flex; align-items: center; gap: 8px;
    padding: 8px 14px; border-radius: 10px;
    background: var(--bg-card); border: 1px solid var(--border);
    font-size: 12px;
  }
  .strategy-chip-name { font-weight: 700; color: var(--text-primary); }
  .strategy-chip-detail { color: var(--text-muted); font-family: 'JetBrains Mono', monospace; }

  /* History list */
  .history-list {
    display: flex; flex-direction: column; gap: 8px;
  }
  .history-item {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 14px 18px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: center;
  }
  .hi-main { display: flex; flex-direction: column; gap: 4px; }
  .hi-top {
    display: flex; align-items: center; gap: 8px;
    flex-wrap: wrap;
  }
  .hi-symbol { font-size: 14px; font-weight: 800; }
  .hi-dir {
    font-size: 12px; font-weight: 700; padding: 2px 8px;
    border-radius: 5px;
  }
  .hi-dir.long { background: var(--green-dim); color: var(--green); }
  .hi-dir.short { background: var(--red-dim); color: var(--red); }
  .hi-grade {
    font-size: 13px; font-weight: 800;
    font-family: 'JetBrains Mono', monospace;
  }
  .hi-grade.ap { color: var(--green); }
  .hi-grade.a { color: var(--blue); }
  .hi-grade.b { color: var(--yellow); }
  .hi-rank {
    font-size: 12px; font-weight: 700; padding: 2px 7px;
    border-radius: 5px; background: rgba(255,255,255,0.04);
    color: var(--text-muted);
  }
  .hi-status {
    font-size: 12px; font-weight: 800; padding: 3px 9px;
    border-radius: 6px; letter-spacing: 0.3px;
  }
  .hi-status.pending { background: var(--yellow-dim); color: var(--yellow); }
  .hi-status.win { background: var(--green-dim); color: var(--green); }
  .hi-status.loss { background: var(--red-dim); color: var(--red); }
  .hi-status.skipped { background: rgba(255,255,255,0.04); color: var(--text-muted); }

  .hi-meta {
    font-size: 13px; color: var(--text-muted); line-height: 1.5;
  }
  .hi-meta span { color: var(--text-secondary); font-weight: 600; }

  .hi-actions {
    display: flex; flex-direction: column; gap: 6px;
    align-items: flex-end;
  }
  .hi-btn {
    padding: 6px 12px; border-radius: 8px;
    font-size: 13px; font-weight: 700;
    cursor: pointer; border: none; white-space: nowrap;
    transition: background 0.15s;
  }
  .hi-btn.took {
    background: rgba(139,92,246,0.12); color: var(--purple);
    border: 1px solid rgba(139,92,246,0.25);
  }
  .hi-btn.took:hover { background: rgba(139,92,246,0.2); }
  .hi-btn.mark-win {
    background: var(--green-dim); color: var(--green);
    border: 1px solid rgba(16,185,129,0.25);
  }
  .hi-btn.mark-win:hover { background: rgba(16,185,129,0.25); }
  .hi-btn.mark-loss {
    background: var(--red-dim); color: var(--red);
    border: 1px solid rgba(239,68,68,0.25);
  }
  .hi-btn.mark-loss:hover { background: rgba(239,68,68,0.25); }

  .history-empty {
    padding: 32px; text-align: center;
    color: var(--text-muted); font-size: 13px;
  }

  @media (max-width: 640px) {
    .history-stats-grid { grid-template-columns: 1fr; }
    .history-item { grid-template-columns: 1fr; }
    .hi-actions { flex-direction: row; align-items: center; }
  }

  /* Collapsible scanner panel */
  details.control-panel { margin-bottom: 20px; }
  .dashboard-utilities details.control-panel { margin-bottom: 0; }
  details.control-panel[open] .scanner-toggle-icon { transform: rotate(180deg); }

  /* Settings Panel */

  .settings-panel {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(4, 8, 20, 0.74);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    z-index: 1000;
    overflow: hidden;
  }

  .settings-panel.open {
    display: flex;
  }

  body.settings-open {
    overflow: hidden;
  }

  .settings-dialog {
    width: min(94vw, 760px);
    max-width: 760px;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 18px;
    max-height: min(84vh, 760px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
    animation: modalIn 0.24s ease-out;
  }

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

  @keyframes slideUp {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
  }

  .settings-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 18px 14px;
    border-bottom: 1px solid var(--border);
    flex: 0 0 auto;
    position: sticky;
    top: 0;
    background: var(--bg-card);
    z-index: 2;
  }

  .settings-header h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
  }

  .settings-summary-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 18px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.015), transparent);
  }

  .settings-summary-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #94a3b8;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
  }

  .settings-summary-pill strong {
    color: #e2e8f0;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-weight: 700;
  }

  .settings-close-btn {
    background: transparent;
    border: none;
    color: var(--text-muted);
    font-size: 24px;
    cursor: pointer;
    padding: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .settings-close-btn:hover {
    color: var(--text-primary);
  }

  .settings-content {
    padding: 18px;
    padding-bottom: 18px;
    overflow-y: auto;
    overscroll-behavior: contain;
    flex: 1 1 auto;
  }

  .settings-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .settings-column {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
  }

  .settings-section {
    padding: 16px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.018));
    border: 1px solid rgba(255,255,255,0.06);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
  }

  .settings-section--feature {
    background:
      radial-gradient(circle at top left, rgba(59, 130, 246, 0.12), transparent 44%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.018));
    border-color: rgba(96, 165, 250, 0.16);
  }

  .settings-section--compact {
    padding-bottom: 14px;
  }

  .settings-threshold-grid,
  .settings-automation-grid {
    display: grid;
    gap: 14px;
  }

  .settings-threshold-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .settings-automation-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .settings-advanced {
    overflow: hidden;
  }

  .settings-advanced-summary {
    list-style: none;
    cursor: pointer;
    margin-bottom: 0;
  }

  .settings-advanced-summary::-webkit-details-marker {
    display: none;
  }

  .settings-advanced-summary::after {
    content: '展開';
    margin-left: auto;
    font-size: 12px;
    font-weight: 700;
    color: #94a3b8;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .settings-advanced[open] .settings-advanced-summary::after {
    content: '收起';
    color: #cbd5e1;
  }

  .settings-advanced-body {
    margin-top: 10px;
  }

  .settings-advanced-body > .settings-lead:first-child {
    margin-top: 0;
  }

  .settings-section + .settings-section {
    margin-top: 0;
  }

  .settings-label {
    display: block;
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }

  .settings-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
  }
  .settings-section-head .settings-label {
    margin-bottom: 0;
  }
  .settings-badge {
    flex-shrink: 0;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--cyan, #06b6d4);
    padding: 4px 8px;
    border-radius: 6px;
    background: rgba(6, 182, 212, 0.12);
    border: 1px solid rgba(6, 182, 212, 0.22);
  }
  .settings-lead {
    margin: 0 0 14px;
    font-size: 12px;
    line-height: 1.55;
    color: var(--text-muted);
    font-weight: 500;
  }

  .settings-mode-note {
    margin-bottom: 0;
    max-width: 42ch;
  }
  .settings-row-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 14px;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
    cursor: pointer;
    user-select: none;
  }
  .settings-row-check input {
    margin-top: 2px;
    flex-shrink: 0;
  }
  .settings-field {
    margin-top: 4px;
  }
  .settings-range-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
  }
  .settings-range-value {
    flex: 0 0 auto;
    min-width: 44px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(59, 130, 246, 0.14);
    border: 1px solid rgba(59, 130, 246, 0.28);
    color: #93c5fd;
    font-size: 12px;
    font-weight: 700;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    text-align: center;
  }
  .settings-range-input {
    width: 100%;
    margin: 0;
    height: 6px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(59,130,246,0.85), rgba(96,165,250,0.35));
    outline: none;
    appearance: none;
    -webkit-appearance: none;
  }
  .settings-range-input::-webkit-slider-thumb {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #60a5fa;
    border: 2px solid rgba(17,24,39,0.9);
    box-shadow: 0 0 0 4px rgba(96,165,250,0.18);
    cursor: pointer;
  }
  .settings-range-input::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #60a5fa;
    border: 2px solid rgba(17,24,39,0.9);
    box-shadow: 0 0 0 4px rgba(96,165,250,0.18);
    cursor: pointer;
  }
  .settings-range-input::-moz-range-track {
    height: 6px;
    border: none;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(59,130,246,0.85), rgba(96,165,250,0.35));
  }
	  .settings-field-label {
	    display: block;
	    font-size: 12px;
	    font-weight: 700;
	    color: #cbd5e1;
	    margin: 10px 0 6px;
	    font-family: 'JetBrains Mono', ui-monospace, monospace;
	  }
  .settings-field-help {
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 1.45;
    color: var(--text-muted);
  }
	  .settings-input-native {
    width: 100%;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.28);
    color: var(--text-primary);
    font-size: 13px;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
  }
  .settings-input-native::placeholder {
    color: #64748b;
  }
  .settings-input-native:focus {
    outline: none;
    border-color: rgba(59, 130, 246, 0.45);
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15);
  }
  .settings-estimated-value {
    min-height: 40px;
    display: flex;
    align-items: center;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.22);
    color: #93c5fd;
    font-size: 13px;
    font-weight: 700;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
  }
  .settings-more {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
  }
  .settings-more summary {
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    color: #94a3b8;
    list-style: none;
    user-select: none;
  }
  .settings-more summary::-webkit-details-marker {
    display: none;
  }
  .settings-more[open] summary {
    color: #cbd5e1;
    margin-bottom: 10px;
  }
  .settings-more .settings-row-check {
    margin-bottom: 0;
    font-weight: 600;
    font-size: 12px;
    color: #cbd5e1;
  }
  .settings-summary-strip .settings-summary-pill strong#settings-summary-threshold {
    color: #93c5fd;
  }

  /* === v2 simplified settings layout === */
  .settings-section-head-v2 {
    margin: 0 0 14px;
    padding: 0;
    border: none;
  }
  .settings-section-title {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 700;
    color: var(--text-primary);
    letter-spacing: 0.01em;
  }
  .settings-section-sub {
    margin: 0;
    font-size: 12px;
    color: var(--text-muted);
    font-weight: 500;
  }
  .settings-subgroup {
    padding: 12px 14px;
    margin-top: 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid rgba(255, 255, 255, 0.05);
  }
  .settings-subgroup:first-of-type {
    margin-top: 0;
  }
  .settings-subgroup-title {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.06em;
  }
  .settings-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
  .settings-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }
  .settings-danger-zone {
    border-color: rgba(248, 113, 113, 0.18);
    background: linear-gradient(180deg, rgba(248, 113, 113, 0.04), rgba(248, 113, 113, 0.015));
  }
  .settings-danger-title {
    color: #f87171 !important;
  }
  .settings-actions .btn-primary:last-child {
    grid-column: auto;
  }
  @media (max-width: 639px) {
    .settings-grid-2,
    .settings-grid-3 {
      grid-template-columns: 1fr;
      gap: 10px;
    }
    .settings-subgroup {
      padding: 10px 12px;
    }
  }

  /* Mode Selector */
  .mode-selector {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }

  .mode-btn,
  .conf-btn,
  .mult-btn {
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-primary);
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
  }

  .mode-btn:hover,
  .conf-btn:hover,
  .mult-btn:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.15);
  }

  .mode-btn.active,
  .conf-btn.active,
  .mult-btn.active {
    background: rgba(59, 130, 246, 0.2);
    border-color: rgba(59, 130, 246, 0.5);
    color: #60a5fa;
  }

  /* Threshold Display */
  .threshold-display {
    padding: 14px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .threshold-value {
    font-size: 24px;
    font-weight: 700;
    color: #60a5fa;
  }

  .threshold-mode {
    font-size: 12px;
    color: var(--text-muted);
  }

  /* Custom Threshold Slider */
  .custom-threshold-control {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .threshold-slider {
    width: 100%;
    height: 6px;
    border-radius: 3px;
    background: linear-gradient(to right, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
  }

  .threshold-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #60a5fa;
    cursor: pointer;
    box-shadow: 0 0 4px rgba(96, 165, 250, 0.5);
    transition: box-shadow 0.2s;
  }

  .threshold-slider::-webkit-slider-thumb:hover {
    box-shadow: 0 0 8px rgba(96, 165, 250, 0.8);
  }

  .threshold-slider::-moz-range-thumb {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #60a5fa;
    cursor: pointer;
    border: none;
    box-shadow: 0 0 4px rgba(96, 165, 250, 0.5);
    transition: box-shadow 0.2s;
  }

  .threshold-slider::-moz-range-thumb:hover {
    box-shadow: 0 0 8px rgba(96, 165, 250, 0.8);
  }

  .threshold-slider::-moz-range-track {
    background: transparent;
    border: none;
  }

  .slider-value-display {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
  }

  .slider-value {
    font-size: 14px;
    font-weight: 600;
    color: #60a5fa;
    min-width: 40px;
  }

  .reset-threshold-btn {
    padding: 6px 12px;
    background: rgba(96, 165, 250, 0.1);
    border: 1px solid rgba(96, 165, 250, 0.3);
    border-radius: 6px;
    color: #60a5fa;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
  }

  .reset-threshold-btn:hover {
    background: rgba(96, 165, 250, 0.2);
    border-color: rgba(96, 165, 250, 0.5);
  }

  .reset-threshold-btn:active {
    background: rgba(96, 165, 250, 0.3);
  }

  /* Smart Money Control */
  .checkbox-label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 13px;
  }

  .checkbox-input {
    width: 18px;
    height: 18px;
    cursor: pointer;
  }

  .sm-multiplier {
    margin-top: 12px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 12px;
  }

  .sm-multiplier > label {
    display: block;
    font-size: 12px;
    color: var(--text-secondary);
    margin-bottom: 8px;
  }

  .multiplier-buttons {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    margin-bottom: 8px;
  }

  .multiplier-value {
    display: block;
    text-align: right;
    font-size: 12px;
    color: var(--text-muted);
  }

  /* Min RR Control */
  .min-rr-control {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .settings-input {
    flex: 1;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-primary);
    border-radius: 8px;
    font-size: 13px;
  }

  .settings-input:focus {
    outline: none;
    border-color: rgba(59, 130, 246, 0.5);
    background: rgba(59, 130, 246, 0.1);
  }

  .unit {
    color: var(--text-muted);
    font-size: 12px;
  }

  /* Confidence Selector */
  .confidence-selector {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }

  /* Settings Summary */
  .settings-summary {
    padding: 12px 14px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 12px;
    margin: 18px 0 0;
    border: 1px solid rgba(255,255,255,0.05);
  }

  .summary-item {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    font-size: 12px;
  }

  .summary-label {
    color: var(--text-muted);
  }

  .summary-value {
    color: var(--text-primary);
    font-weight: 600;
  }

  /* Action Buttons */
  .settings-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 0;
    padding: 16px 18px 18px;
    border-top: 1px solid var(--border);
    background: linear-gradient(to bottom, rgba(17,24,39,0.72), var(--bg-card) 38%);
    backdrop-filter: blur(6px);
    flex: 0 0 auto;
  }

  .settings-actions .btn-primary:last-child {
    grid-column: 1 / -1;
  }

  .btn-primary,
  .btn-secondary {
    min-height: 40px;
    padding: 12px 16px;
    border-radius: 12px;
    border: none;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
  }

  .btn-primary {
    background: rgba(59, 130, 246, 0.2);
    color: #60a5fa;
    border: 1px solid rgba(59, 130, 246, 0.3);
  }

  .btn-primary:hover {
    background: rgba(59, 130, 246, 0.3);
    border-color: rgba(59, 130, 246, 0.5);
  }

  .btn-secondary {
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-primary);
    border: 1px solid rgba(255, 255, 255, 0.1);
  }

  .btn-danger {
    color: #fecaca;
    border-color: rgba(248, 113, 113, 0.2);
    background: rgba(248, 113, 113, 0.08);
  }

  .btn-danger:hover {
    background: rgba(248, 113, 113, 0.14);
    border-color: rgba(248, 113, 113, 0.32);
  }

  .btn-secondary:hover {
    background: rgba(255, 255, 255, 0.08);
  }

  /* Responsive settings layout */
  @media (max-width: 639px) {
    .settings-panel {
      padding: 10px;
    }
    .settings-dialog {
      width: 100%;
      max-width: none;
      max-height: 88vh;
      border-radius: 16px;
    }
    .settings-content {
      padding: 12px;
    }
    .settings-summary-strip {
      padding: 10px 12px 12px;
    }
	    .settings-layout {
	      grid-template-columns: 1fr;
	      gap: 12px;
	    }
    .settings-threshold-grid,
    .settings-automation-grid {
      grid-template-columns: 1fr;
      gap: 12px;
    }
    .settings-column {
      gap: 12px;
    }
    .settings-advanced-summary::after {
      font-size: 13px;
    }
    .mode-selector, .confidence-selector, .multiplier-buttons {
      grid-template-columns: repeat(2, 1fr);
      gap: 6px;
    }
    .settings-actions {
      padding: 12px;
    }
    .settings-actions .btn-primary:last-child {
      grid-column: 1 / -1;
    }
  }

  @media (max-width: 479px) {
    .mode-btn, .conf-btn, .mult-btn {
      padding: 9px 6px;
      font-size: 13px;
    }
    .settings-content {
      padding: 12px;
    }
    .settings-summary-strip {
      padding: 10px 12px 12px;
    }
    .settings-section {
      padding: 12px;
    }
    .settings-summary-pill {
      padding: 6px 9px;
    }
    .btn-primary,
    .btn-secondary {
      min-height: 38px;
    }
    .settings-advanced-body {
      margin-top: 8px;
    }
    .threshold-display {
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
    }
    .slider-value-display {
      flex-direction: column;
      align-items: flex-start;
      gap: 8px;
    }
    .reset-threshold-btn {
      width: 100%;
    }
    .settings-summary {
      margin-top: 14px;
    }
    .settings-range-head {
	      align-items: flex-start;
	      flex-direction: column;
	    }
    .settings-threshold-grid,
    .settings-automation-grid {
      grid-template-columns: 1fr;
    }
	  }

  .settings-input-native[type="number"] {
    appearance: textfield;
    -moz-appearance: textfield;
  }

  .settings-input-native[type="number"]::-webkit-outer-spin-button,
  .settings-input-native[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }

  @media (max-height: 600px) and (orientation: landscape) {
    .settings-panel { padding: 12px; }
    .settings-dialog {
      max-height: 92vh;
      width: min(94vw, 600px);
      border-radius: 16px;
    }
    .settings-content {
      padding: 12px;
    }
    .settings-summary-strip {
      padding: 10px 12px 12px;
    }
    .settings-layout {
      grid-template-columns: 1fr;
      gap: 12px;
    }
    .settings-threshold-grid,
    .settings-automation-grid {
      grid-template-columns: 1fr;
    }
    .settings-section {
      padding: 12px;
    }
  }

  /* Open position quick review */
  .position-review-form-wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 12px;
  }
  .position-review-lead {
    margin: 0;
    font-size: 13px;
    line-height: 1.45;
    color: var(--text-muted);
    font-weight: 600;
  }
  .position-review-more {
    margin: 0;
    border-radius: 10px;
    border: 1px solid rgba(148, 163, 184, 0.12);
    background: rgba(255, 255, 255, 0.02);
    overflow: hidden;
  }
  .position-review-more summary {
    list-style: none;
    cursor: pointer;
    padding: 8px 11px;
    font-size: 13px;
    font-weight: 700;
    color: var(--text-secondary);
    user-select: none;
  }
  .position-review-more summary::-webkit-details-marker { display: none; }
  .position-review-more summary::after {
    content: '▾';
    float: right;
    font-size: 12px;
    opacity: 0.65;
  }
  .position-review-more[open] summary::after {
    transform: rotate(180deg);
    display: inline-block;
  }
  .position-review-more-body {
    margin: 0;
    padding: 0 11px 10px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-muted);
  }
  .position-review-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0;
  }
  .pr-fields {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .pr-group {
    display: grid;
    grid-template-columns: minmax(52px, auto) 1fr;
    gap: 8px 12px;
    align-items: start;
  }
  @media (max-width: 520px) {
    .pr-group {
      grid-template-columns: 1fr;
    }
  }
  .pr-group-tag {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 7px 8px;
    border-radius: 8px;
    text-align: center;
    line-height: 1.2;
    white-space: nowrap;
    align-self: start;
  }
  .pr-group-tag--req {
    background: rgba(59, 130, 246, 0.12);
    border: 1px solid rgba(96, 165, 250, 0.28);
    color: #93c5fd;
  }
  .pr-group-tag--opt {
    background: rgba(148, 163, 184, 0.08);
    border: 1px solid rgba(148, 163, 184, 0.14);
    color: var(--text-muted);
  }
  .pr-group-fields {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px 10px;
    min-width: 0;
  }
  .pr-group--opt .pr-group-fields {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .pr-advanced {
    border: 1px solid rgba(148, 163, 184, 0.12);
    border-radius: 12px;
    background: rgba(2, 6, 23, 0.18);
    overflow: hidden;
  }
  .pr-advanced > summary {
    min-height: 44px;
    padding: 10px 12px;
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 800;
    user-select: none;
  }
  .pr-advanced > summary::-webkit-details-marker { display: none; }
  .pr-advanced > summary::after {
    content: '▾';
    color: var(--text-muted);
    transition: transform 0.16s ease;
  }
  .pr-advanced[open] > summary::after {
    transform: rotate(180deg);
  }
  .pr-advanced > summary small {
    color: var(--text-muted);
    font-size: 10.5px;
    font-weight: 700;
  }
  .pr-advanced .pr-group {
    padding: 0 12px 12px;
  }
  .pr-field-opened-at {
    grid-column: span 2;
    min-width: 0;
  }
  @media (max-width: 900px) {
    .pr-group-fields,
    .pr-group--opt .pr-group-fields {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .pr-field-opened-at {
      grid-column: span 2;
    }
  }
  @media (max-width: 420px) {
    .pr-group-fields,
    .pr-group--opt .pr-group-fields {
      grid-template-columns: 1fr;
    }
    .pr-field-opened-at {
      grid-column: span 1;
    }
  }
  .position-review-form label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 13px;
    color: var(--text-muted);
    font-weight: 600;
    min-width: 0;
  }
  .position-review-form input,
  .position-review-form select {
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid var(--border);
    background: rgba(255,255,255,0.04);
    color: var(--text-primary);
    font-size: 13px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  .position-review-form button[type="submit"] {
    padding: 10px 18px;
    border-radius: 10px;
    border: 1px solid rgba(59, 130, 246, 0.35);
    background: rgba(59, 130, 246, 0.15);
    color: #60a5fa;
    font-weight: 700;
    font-size: 13px;
    cursor: pointer;
    justify-self: end;
    width: 100%;
  }
  @media (min-width: 520px) {
    .position-review-form button[type="submit"] {
      width: auto;
      min-width: 120px;
    }
  }
  .pr-form-actions {
    display: flex;
    justify-content: flex-end;
    padding-top: 2px;
  }
  .position-review-form input[type="datetime-local"] {
    min-width: 0;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 12px;
  }
  .pr-datetime-row {
    display: flex;
    align-items: stretch;
    gap: 8px;
    margin-top: 0;
  }
  .pr-datetime-row input[type="datetime-local"] {
    flex: 1;
    min-width: 0;
  }
  .pr-datetime-picker-btn {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    min-height: 38px;
    padding: 0;
    border-radius: 8px;
    border: 1px solid rgba(96, 165, 250, 0.35);
    background: rgba(59, 130, 246, 0.14);
    color: #93c5fd;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
  }
  .pr-datetime-picker-btn:hover {
    background: rgba(59, 130, 246, 0.22);
    border-color: rgba(96, 165, 250, 0.5);
  }
  .pr-datetime-picker-btn:focus-visible {
    outline: 2px solid rgba(96, 165, 250, 0.55);
    outline-offset: 2px;
  }
  .pr-datetime-picker-btn svg {
    width: 18px;
    height: 18px;
    opacity: 0.95;
  }
  /* Grid-friendliness card (網格友善度) */
  .pr-grid-card {
    margin-top: 10px;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 12px 14px;
    background: rgba(255,255,255,0.025);
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .pr-grid-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
  }
  .pr-grid-card-title {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.03em;
    color: var(--text);
  }
  .pr-grid-badge {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 999px;
    line-height: 1.1;
  }
  .pr-grid-badge--good {
    background: rgba(34,197,94,0.14);
    border: 1px solid rgba(34,197,94,0.35);
    color: #86efac;
  }
  .pr-grid-badge--warn {
    background: rgba(245,158,11,0.14);
    border: 1px solid rgba(245,158,11,0.35);
    color: #fcd34d;
  }
  .pr-grid-badge--bad {
    background: rgba(239,68,68,0.14);
    border: 1px solid rgba(239,68,68,0.35);
    color: #fca5a5;
  }
  .pr-grid-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 8px 14px;
  }
  .pr-grid-metric {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .pr-grid-metric-k {
    font-size: 10.5px;
    color: var(--text-muted);
    letter-spacing: 0.02em;
  }
  .pr-grid-metric-v {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--text);
    font-family: 'JetBrains Mono', ui-monospace, monospace;
  }
  .pr-grid-notes {
    font-size: 13px;
    color: var(--text-muted);
    line-height: 1.55;
  }
  .pr-grid-notes strong {
    color: var(--text);
  }
  .position-review-time-note {
    margin: 0;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 12px;
    line-height: 1.5;
    color: var(--text-secondary);
    background: rgba(245, 158, 11, 0.08);
    border: 1px solid rgba(245, 158, 11, 0.22);
  }
  .position-review-time-note--warn {
    color: #fde68a;
  }
  .position-review-time-note--err {
    border-color: rgba(248, 113, 113, 0.35);
    background: rgba(127, 29, 29, 0.15);
    color: #fecaca;
  }
  .position-review-hint {
    font-size: 13px;
    color: var(--text-muted);
    margin: -6px 0 12px;
    line-height: 1.4;
  }
  .position-review-output {
    min-height: 24px;
  }
  .position-review-loading {
    color: var(--text-muted);
    font-size: 13px;
  }
  .position-review-err {
    color: #f87171;
    font-size: 13px;
    margin: 0 0 8px;
  }
  .position-review-result {
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
    display: grid;
    gap: 12px;
  }
  .position-review-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    align-items: baseline;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.05);
    background: rgba(255,255,255,0.03);
  }
  .pr-k {
    font-size: 12px;
    color: var(--text-muted);
    min-width: 4.5em;
  }
  .pr-v { font-size: 14px; font-weight: 600; }
  .pr-thesis-intact { color: #4ade80; }
  .pr-thesis-weakening { color: #fbbf24; }
  .pr-thesis-broken { color: #f87171; }
  .pr-action { color: #60a5fa; }
  .position-review-sum {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: var(--text-primary);
  }
  .position-review-meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px;
    font-size: 12px;
    color: var(--text-muted);
  }
  .position-review-meta-item {
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.05);
    background: rgba(255,255,255,0.03);
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  .position-review-meta-item-k {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-muted);
  }
	  .position-review-meta-item strong {
	    color: var(--text-primary);
	    font-weight: 700;
	    font-size: 13px;
	  }

	  /* UI refresh layer: align the rest of the app with the expanded trade-card visual system. */
	  :root {
	    --surface-glass: linear-gradient(145deg, rgba(15, 23, 42, 0.82), rgba(2, 6, 23, 0.58));
	    --surface-glass-soft: linear-gradient(145deg, rgba(30, 41, 59, 0.48), rgba(15, 23, 42, 0.34));
	    --surface-border: rgba(148, 163, 184, 0.13);
	    --surface-border-strong: rgba(96, 165, 250, 0.24);
	    --surface-shadow: 0 18px 54px rgba(0, 0, 0, 0.26);
	    --surface-shadow-soft: 0 10px 30px rgba(0, 0, 0, 0.18);
	    --ring-focus: 0 0 0 3px rgba(96, 165, 250, 0.22);
	  }

	  body {
	    background:
	      radial-gradient(circle at 14% -8%, rgba(59,130,246,0.16), transparent 32%),
	      radial-gradient(circle at 86% 8%, rgba(16,185,129,0.08), transparent 28%),
	      linear-gradient(180deg, #080c15 0%, #0a0e17 38%, #050812 100%);
	  }

	  body::before { background: none !important; }

	  button,
	  input,
	  select,
	  summary {
	    -webkit-tap-highlight-color: transparent;
	  }

	  button:focus-visible,
	  input:focus-visible,
	  select:focus-visible,
	  summary:focus-visible,
	  .symbol-result:focus-visible {
	    outline: none;
	    box-shadow: var(--ring-focus);
	    border-color: rgba(96,165,250,0.52);
	  }

	  .topbar {
	    border-bottom-color: rgba(96,165,250,0.16);
	    background:
	      linear-gradient(180deg, rgba(10,14,23,0.94), rgba(10,14,23,0.78)),
	      rgba(10,14,23,0.86);
	    box-shadow: 0 10px 38px rgba(0,0,0,0.24);
	  }

	  .logo-icon {
	    border-radius: 14px;
	    background: linear-gradient(135deg, #60a5fa, #6366f1 50%, #22c55e);
	    box-shadow: 0 10px 30px rgba(59,130,246,0.26);
	  }

	  .topbar-nav-btn,
	  .live-badge {
	    border-color: rgba(148,163,184,0.14);
	    background: rgba(15,23,42,0.66);
	    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
	  }

	  .topbar-nav-btn:hover,
	  .symbol-add-btn:hover,
	  .tc2-execute:hover:not(:disabled),
	  .position-review-form button[type="submit"]:hover,
	  .btn-primary:hover,
	  .btn-secondary:hover {
	    transform: translateY(-1px);
	  }

	  .main {
	    width: calc(100% - 24px);
	    max-width: none;
	    margin: 0 auto;
	    padding-left: 0;
	    padding-right: 0;
	  }

	  .trades-grid {
	    grid-template-columns: minmax(0, 1fr);
	    align-items: start;
	    gap: 14px;
	  }

	  .trades-grid--count-1 {
	    grid-template-columns: minmax(0, 1fr);
	    justify-content: start;
	  }

	  .trades-grid--count-2 {
	    grid-template-columns: minmax(0, 1fr);
	    justify-content: start;
	  }

	  .trades-grid--count-1 .trade-card-v2 {
	    max-width: none;
	  }

	  .section-title {
	    color: rgba(203,213,225,0.86);
	    font-size: 13px;
	    font-weight: 900;
	  }

	  .section-title.has-accent {
	    padding: 10px 0 10px 13px;
	    border-left-width: 4px;
	    border-radius: 2px;
	  }

	  .section-title .badge {
	    padding: 4px 9px;
	    border-radius: 999px;
	    border: 1px solid rgba(96,165,250,0.26);
	    background: rgba(59,130,246,0.12);
	    color: #bfdbfe;
	  }

	  .control-panel,
	  .market-card,
	  .regime-banner,
	  .mtf-card,
	  .conf-card,
	  .ind-panel,
	  .analytics-stat,
	  .analytics-card,
	  .analytics-empty,
	  .history-stat,
	  .strategy-chip,
	  .history-item,
	  .trade-card-v2,
	  .no-trade,
	  .no-signal-insight,
	  .no-signal-nearmiss,
	  .no-signal-debug-body,
	  .position-review-result {
	    background: var(--surface-glass);
	    border-color: var(--surface-border);
	    box-shadow: inset 0 1px 0 rgba(255,255,255,0.035), var(--surface-shadow-soft);
	  }

	  .control-panel {
	    padding: 0;
	    border-radius: 18px;
	    border-color: rgba(96,165,250,0.18);
	    background:
	      radial-gradient(circle at 0% 0%, rgba(59,130,246,0.12), transparent 30%),
	      var(--surface-glass);
	  }

	  .control-panel[open] {
	    border-color: rgba(96,165,250,0.28);
	    box-shadow: inset 0 1px 0 rgba(255,255,255,0.045), var(--surface-shadow);
	  }

	  .control-panel-summary {
	    min-height: 58px;
	    padding: 14px 18px;
	    background: linear-gradient(90deg, rgba(59,130,246,0.12), rgba(255,255,255,0.015));
	  }

	  .control-panel-summary:hover {
	    background: linear-gradient(90deg, rgba(59,130,246,0.16), rgba(255,255,255,0.035));
	  }

	  .control-title {
	    color: rgba(241,245,249,0.96);
	    font-weight: 900;
	    letter-spacing: 0.01em;
	  }

	  .scanner-toggle-icon,
	  .selected-arrow {
	    width: 24px;
	    height: 24px;
	    display: inline-flex;
	    align-items: center;
	    justify-content: center;
	    border-radius: 999px;
	    background: rgba(148,163,184,0.10);
	    border: 1px solid rgba(148,163,184,0.10);
	  }

	  .control-panel-body {
	    padding: 16px 18px 18px;
	    border-top-color: rgba(255,255,255,0.06);
	  }

	  .mode-chip,
	  .winrate-chip,
	  .threshold-panel,
	  .symbol-search,
	  .selected-body,
	  .tc2-lv,
	  .tc2-rr-row,
	  .ind-box,
	  .decision-debug-pill,
	  .analytics-row,
	  .analytics-conf-row,
	  .position-review-row,
	  .position-review-meta-item {
	    background: rgba(15,23,42,0.52);
	    border-color: rgba(148,163,184,0.12);
	    box-shadow: inset 0 1px 0 rgba(255,255,255,0.025);
	  }

	  .mode-chip {
	    color: #bfdbfe;
	    border-color: rgba(96,165,250,0.24);
	  }

	  .winrate-chip {
	    color: #86efac;
	    border-color: rgba(74,222,128,0.22);
	  }

	  .symbol-search {
	    padding: 15px;
	    border-radius: 2px;
	    background: var(--k-bg-2) !important;
	    border: 1px solid var(--k-line-2) !important;
	  }

	  .selected-body,
	  .threshold-panel,
	  .mode-chip,
	  .winrate-chip {
	    border-radius: 2px !important;
	  }

	  .symbol-input,
	  .settings-input,
	  .settings-input-native,
	  .position-review-form input,
	  .position-review-form select {
	    min-height: 42px;
	    border-radius: 2px;
	    border-color: var(--k-line-2);
	    background: var(--k-bg);
	    box-shadow: inset 0 1px 0 rgba(255,255,255,0.035);
	  }

	  .symbol-input:focus,
	  .settings-input:focus,
	  .settings-input-native:focus,
	  .position-review-form input:focus,
	  .position-review-form select:focus {
	    outline: none;
	    border-color: var(--k-amber);
	    background: var(--k-bg);
	    box-shadow: 0 0 0 2px rgba(245,165,36,0.12);
	  }

	  .symbol-add-btn,
	  .position-review-form button[type="submit"],
	  .tc2-execute,
	  .btn-primary {
	    border-radius: 2px;
	    background: var(--k-amber-dim);
	    border-color: var(--k-amber);
	    color: var(--k-amber);
	    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
	  }

	  .btn-secondary,
	  .reset-threshold-btn,
	  .preset-btn {
	    border-color: var(--k-line-2);
	    background: var(--k-bg-2);
	    box-shadow: inset 0 1px 0 rgba(255,255,255,0.035);
	  }

	  .selected-shell {
	    padding-top: 14px;
	    border-top-color: rgba(255,255,255,0.07);
	  }

	  .selected-toggle {
	    padding: 2px 2px 0;
	  }

	  .symbol-chip {
	    min-height: 54px;
	    border-radius: 2px;
	    background: var(--k-bg-2);
	    border-color: var(--k-line-2);
	  }

	  .trade-card-v2 {
	    border-radius: 2px;
	    position: relative;
	    overflow: hidden;
	    border-top: 1px solid var(--k-amber);
	  }

	  .trade-card-v2::before {
	    content: '';
	    position: absolute;
	    inset: 0 0 auto;
	    height: 1px;
	    background: linear-gradient(90deg, transparent, rgba(245,165,36,0.3), transparent);
	    pointer-events: none;
	  }

	  .trade-card-v2:hover {
	    border-color: var(--k-amber);
	    box-shadow: none;
	  }

	  .trade-card-v2.rank-1 {
	    border-color: var(--k-amber);
	    background: var(--k-panel);
	  }

	  .tc2-header {
	    background: var(--k-bg);
	    border-bottom: 1px solid var(--k-line);
	    padding: 18px 18px 12px;
	  }

	  .tc2-rank,
	  .tc2-dir,
	  .tc2-grade,
	  .change-badge,
	  .regime-chip,
	  .conf-dir,
	  .conf-quality,
	  .mtf-trend-badge,
	  .hi-status,
	  .hi-rank {
	    border-radius: 2px;
	  }

	  .tc2-dir {
	    font-size: 12px;
	    letter-spacing: 0.16em;
	    padding: 5px 8px;
	    background: var(--k-bg-2);
	    border: 1px solid var(--k-line-2);
	    text-transform: uppercase;
	    font-weight: 700;
	  }

	  .tc2-dir.long { background: var(--k-up-dim); color: var(--k-up); }
	  .tc2-dir.short { background: var(--k-dn-dim); color: var(--k-dn); }

	  .tc2-lv {
	    text-align: left;
	    padding: 14px 14px 12px;
	    border-radius: 2px;
	    background: var(--k-bg);
	    border: 1px solid var(--k-line-2);
	    min-height: 92px;
	    display: flex;
	    flex-direction: column;
	    justify-content: space-between;
	  }

	  .tc2-rr-row {
	    justify-content: space-around;
	    border-radius: 2px;
	    background: var(--k-bg);
	    border: 1px solid var(--k-line-2);
	    padding: 14px 12px;
	  }

	  .tc2-action,
	  .market-hint,
	  .error-banner {
	    border-radius: 2px;
	  }

	  .tc2-action {
	    border: 1px solid var(--k-line-2);
	    border-left: 3px solid var(--k-amber);
	    background: var(--k-bg);
	    padding: 10px 12px;
	    line-height: 1.45;
	  }

	  .tc2-action--warn {
	    border-left-color: var(--k-amber);
	    background: var(--k-amber-dim);
	    color: var(--k-amber);
	  }

	  .tc2-card-details-summary {
	    list-style: none;
	    cursor: pointer;
	    padding: 10px 14px;
	    font-size: 13px;
	    font-weight: 800;
	    color: var(--k-ink-2);
	    background: var(--k-bg);
	    border-top: 1px solid var(--k-line);
	    display: flex;
	    align-items: center;
	    gap: 8px;
	    user-select: none;
	  }
	  .tc2-card-details-summary::-webkit-details-marker { display: none; }
	  .tc2-card-details-summary::before {
	    content: '';
	    width: 0;
	    height: 0;
	    border-left: 5px solid var(--k-ink-4);
	    border-top: 4px solid transparent;
	    border-bottom: 4px solid transparent;
	    transition: transform 0.15s ease;
	    flex-shrink: 0;
	  }
	  .tc2-card-details[open] > .tc2-card-details-summary::before {
	    transform: rotate(90deg);
	  }
	  .tc2-card-details-summary:hover {
	    color: var(--k-ink);
	    background: var(--k-amber-dim);
	  }
	  .tc2-details-title {
	    color: var(--k-ink);
	    font-size: 13px;
	    font-weight: 900;
	    letter-spacing: 0.14em;
	    text-transform: uppercase;
	  }
	  .tc2-details-sub {
	    margin-left: auto;
	    padding: 4px 8px;
	    border-radius: 2px;
	    background: var(--k-bg-2);
	    border: 1px solid var(--k-line-2);
	    color: var(--k-ink-3);
	    font-size: 13px;
	    font-weight: 800;
	    letter-spacing: 0.12em;
	    text-transform: uppercase;
	    white-space: nowrap;
	  }
	  .tc2-card-details-summary:focus { outline: none; }
	  .tc2-card-details-summary:focus-visible {
	    box-shadow: inset 0 0 0 2px rgba(245,165,36,0.35);
	  }
	  .tc2-card-details-inner {
	    padding: 12px 14px 14px;
	    border-top: 1px solid var(--k-line);
	    background: var(--k-bg-2);
	  }

	  .tc2-header {
	    display: flex;
	    align-items: flex-start;
	    justify-content: space-between;
	    gap: 12px;
	    background: var(--k-bg);
	    border-bottom: 1px solid var(--k-line);
	    padding: 18px 18px 12px;
	  }
	  .tc2-header-left {
	    min-width: 0;
	    flex: 1;
	  }
	  .tc2-symbol-line {
	    display: flex;
	    align-items: center;
	    gap: 8px;
	    flex-wrap: wrap;
	  }
	  .tc2-rank {
	    min-width: 36px;
	    height: 36px;
	    display: inline-flex;
	    align-items: center;
	    justify-content: center;
	    border: 1px solid var(--k-line-2);
	    color: var(--k-ink-3);
	    background: var(--k-bg-2);
	    font-family: var(--k-mono);
	    font-size: 12px;
	    font-weight: 800;
	    border-radius: 2px;
	  }
	  .trade-card-v2.rank-1 .tc2-rank {
	    border-color: var(--k-amber);
	    color: var(--k-amber);
	    background: var(--k-amber-dim);
	  }
	  .trade-card-v2.rank-1 {
	    box-shadow: none;
	    background: var(--k-panel);
	    border-color: var(--k-amber);
	  }
	  .tc2-chip {
	    display: inline-flex;
	    align-items: center;
	    min-height: 28px;
	    padding: 0 10px;
	    border-radius: 2px;
	    border: 1px solid var(--k-line-2);
	    background: var(--k-bg-2);
	    color: var(--k-ink-2);
	    font-size: 12px;
	    font-weight: 800;
	    letter-spacing: 0.16em;
	    text-transform: uppercase;
	    white-space: nowrap;
	  }
	  .tc2-chip--amber {
	    background: var(--k-amber-dim);
	    border-color: var(--k-amber);
	    color: var(--k-amber);
	  }
	  .tc2-chip--soft {
	    background: var(--k-bg-2);
	    color: var(--k-ink-2);
	  }
	  .tc2-chip--long {
	    background: var(--k-up-dim);
	    border-color: var(--k-up-line);
	    color: var(--k-up);
	  }
	  .tc2-chip--short {
	    background: var(--k-dn-dim);
	    border-color: var(--k-dn-line);
	    color: var(--k-dn);
	  }
	  .tc2-chip--no-trade {
	    background: rgba(255,255,255,0.03);
	    border-color: rgba(255,255,255,0.08);
	    color: var(--k-ink-3);
	  }
	  .tc2-symbol {
	    font-size: 28px;
	    font-weight: 900;
	    letter-spacing: 0.04em;
	    color: var(--k-ink);
	  }
	  .tc2-body {
	    padding: 0 18px 18px;
	  }
	  .tc2-note {
	    margin-top: 8px;
	    padding: 10px 12px;
	    border: 1px solid var(--k-line-2);
	    border-left: 3px solid var(--k-amber);
	    background: var(--k-bg);
	    color: var(--k-ink-2);
	    border-radius: 2px;
	    font-size: 12px;
	    font-weight: 700;
	    line-height: 1.45;
	  }
	  .tc2-note--warn {
	    background: var(--k-amber-dim);
	    color: var(--k-amber);
	  }
	  .tc2-riskline {
	    margin: 10px 2px 12px;
	    font-family: var(--k-mono);
	    font-size: 13px;
	    color: var(--k-ink-2);
	    letter-spacing: 0.04em;
	  }
	  .tc2-levels-grid {
	    gap: 10px;
	    margin-bottom: 12px;
	  }
	  .tc2-levels-grid .tc2-lv {
	    background: var(--k-bg);
	    border: 1px solid var(--k-line-2);
	    border-radius: 2px;
	    padding: 14px 14px 12px;
	    text-align: left;
	    min-height: 92px;
	  }
	  .tc2-levels-grid .tc2-lv-label {
	    text-transform: uppercase;
	    letter-spacing: 0.14em;
	    font-size: 13px;
	    font-weight: 800;
	    color: var(--k-ink-4);
	    margin-bottom: 8px;
	  }
	  .tc2-levels-grid .tc2-lv-val {
	    font-size: 14px;
	    font-weight: 800;
	    font-family: var(--k-mono);
	    color: var(--k-ink);
	  }
	  .tc2-levels-grid .tc2-lv-val.entry { color: var(--k-amber); }
	  .tc2-levels-grid .tc2-lv-val.sl { color: var(--k-dn); }
	  .tc2-levels-grid .tc2-lv-val.tp1,
	  .tc2-levels-grid .tc2-lv-val.tp2,
	  .tc2-levels-grid .tc2-lv-val.tp3 { color: var(--k-up); }
	  .tc2-levels-grid .tc2-lv-pct {
	    margin-top: 6px;
	    font-size: 12px;
	    font-weight: 800;
	    font-family: var(--k-mono);
	    letter-spacing: 0.04em;
	    line-height: 1;
	  }
	  .tc2-rr-row {
	    display: flex;
	    align-items: center;
	    justify-content: space-around;
	    gap: 12px;
	    margin-bottom: 14px;
	    padding: 14px 12px;
	    border-radius: 2px;
	    background: var(--k-bg);
	    border: 1px solid var(--k-line-2);
	  }
	  .tc2-rr-item { text-align: center; }
	  .tc2-rr-val {
	    font-size: 18px;
	    font-weight: 800;
	    font-family: var(--k-mono);
	  }
	  .tc2-rr-label {
	    font-size: 13px;
	    font-weight: 700;
	    text-transform: uppercase;
	    letter-spacing: 0.6px;
	    color: var(--k-ink-4);
	    margin-top: 2px;
	  }

	  .focus-section-header {
	    border-bottom-color: rgba(255, 255, 255, 0.08);
	  }
	  .short-diag__summary {
	    background: rgba(15, 23, 42, 0.52);
	    border-color: rgba(96, 165, 250, 0.22);
	  }
	  .short-diag__summary:hover {
	    border-color: rgba(96, 165, 250, 0.35);
	    background: rgba(59, 130, 246, 0.08);
	  }

	  .no-signal-v2 {
	    max-width: 980px;
	    padding: 38px 18px 30px;
	    border-radius: 2px;
	    border: 1px solid var(--k-line-2);
	    background: var(--k-bg-2);
	  }

	  .no-signal-icon {
	    width: 44px;
	    height: 44px;
	    display: inline-flex;
	    align-items: center;
	    justify-content: center;
	    justify-self: center;
	    border-radius: 999px;
	    border: 1px solid rgba(148,163,184,0.15);
	    background: rgba(15,23,42,0.65);
	    color: rgba(147,197,253,0.72);
	  }

	  .analytics-stat-value,
	  .history-stat-val,
	  .market-price,
	  .conf-score,
	  .tc2-grade,
	  .tc2-rr-val {
	    letter-spacing: -0.035em;
	  }

	  .analytics-conf-card {
	    background:
	      radial-gradient(circle at 0% 0%, rgba(59,130,246,0.10), transparent 34%),
	      var(--surface-glass);
	  }

	  .settings-dialog {
	    border-color: rgba(96,165,250,0.18);
	    background:
	      radial-gradient(circle at 22% 0%, rgba(59,130,246,0.12), transparent 34%),
	      linear-gradient(145deg, rgba(15,23,42,0.96), rgba(2,6,23,0.94));
	    box-shadow: 0 30px 100px rgba(0,0,0,0.55);
	  }

	  .settings-section,
	  .settings-summary,
	  .threshold-display,
	  .sm-multiplier {
	    border: 1px solid rgba(148,163,184,0.12);
	    background: rgba(15,23,42,0.52);
	    box-shadow: inset 0 1px 0 rgba(255,255,255,0.025);
	  }

	  .mode-btn,
	  .conf-btn,
	  .mult-btn {
	    min-height: 42px;
	    border-radius: 12px;
	    background: rgba(15,23,42,0.58);
	    border-color: rgba(148,163,184,0.14);
	  }

	  .mode-btn.active,
	  .conf-btn.active,
	  .mult-btn.active {
	    background: linear-gradient(135deg, rgba(59,130,246,0.24), rgba(34,197,94,0.08));
	    border-color: rgba(96,165,250,0.45);
	    color: #bfdbfe;
	  }

	  .position-review-hint {
	    margin: 0 0 14px;
	    padding: 11px 13px;
	    border-radius: 13px;
	    border: 1px solid rgba(148,163,184,0.10);
	    background: rgba(15,23,42,0.48);
	    color: rgba(203,213,225,0.78);
	  }

	  .position-review-lead {
	    color: rgba(148, 163, 184, 0.88);
	  }
	  .position-review-more {
	    border-color: rgba(148, 163, 184, 0.14);
	    background: rgba(15, 23, 42, 0.4);
	  }
	  .position-review-more summary {
	    color: rgba(203, 213, 225, 0.9);
	  }
	  .position-review-more-body code {
	    font-size: 12px;
	    padding: 1px 5px;
	    border-radius: 4px;
	    background: rgba(0, 0, 0, 0.25);
	  }

	  .position-review-time-note {
	    border-color: rgba(245, 158, 11, 0.26);
	    background: rgba(120, 53, 15, 0.18);
	  }
	  .position-review-time-note--warn {
	    color: #fde68a;
	  }
	  .position-review-time-note--err {
	    border-color: rgba(248, 113, 113, 0.35);
	    background: rgba(127, 29, 29, 0.22);
	    color: #fecaca;
	  }

	  .position-review-form label {
	    font-weight: 800;
	    letter-spacing: 0.02em;
	  }

	  .pr-datetime-picker-btn {
	    border-color: rgba(96, 165, 250, 0.4);
	    background: rgba(59, 130, 246, 0.18);
	    color: #bfdbfe;
	  }
	  .pr-datetime-picker-btn:hover {
	    background: rgba(59, 130, 246, 0.28);
	    border-color: rgba(96, 165, 250, 0.55);
	  }

	  .position-review-result {
	    border-color: rgba(96,165,250,0.20);
	  }

	  .footer {
	    border-top-color: rgba(96,165,250,0.12);
	    color: rgba(148,163,184,0.78);
	  }

	  @media (max-width: 900px) {
	    .main {
	      width: min(100% - 32px, 1560px);
	    }
	    .trades-grid,
	    .trades-grid--count-1,
	    .trades-grid--count-2 {
	      grid-template-columns: 1fr;
	    }
	    .control-panel {
	      padding: 0;
	    }
	  }

	  @media (max-width: 640px) {
	    .main {
	      width: auto;
	      padding: 14px;
	      padding-bottom: 30px;
	    }
	    .topbar {
	      border-bottom-color: rgba(96,165,250,0.12);
	    }
	    .control-panel-summary {
	      min-height: 50px;
	      padding: 12px 14px;
	    }
	    .control-panel-body {
	      padding: 14px;
	    }
	    .no-signal-v2 {
	      padding: 28px 12px 22px;
	    }
	  }

    /* === KAIRION TERMINAL — TOPBAR + FUNCTION BAR === */
    .kx-topbar-shell {
      display: flex !important; align-items: center; justify-content: space-between;
      padding: 0 12px !important; height: 44px !important;
      background: var(--k-bg) !important;
      border-bottom: 1px solid var(--k-line-2) !important;
      backdrop-filter: none !important;
      gap: 12px;
    }
    .kx-topbar-l { display: flex; align-items: center; gap: 16px; min-width: 0; flex: 1; }
    .kx-topbar-r { display: flex !important; align-items: center; gap: 8px; }
    .kx-logo { display: flex !important; align-items: center; gap: 8px; flex-shrink: 0; }
    .kx-logo-mark {
      width: 22px !important; height: 22px !important;
      display: flex; align-items: center; justify-content: center;
      background: var(--k-amber) !important;
      color: var(--k-bg) !important;
      font-weight: 700 !important; font-size: 13px !important;
      border-radius: 2px !important;
    }
    .kx-logo-text {
      font-family: var(--k-mono) !important;
      font-size: 11px !important; font-weight: 700 !important;
      letter-spacing: 0.18em !important;
      color: var(--k-ink) !important;
    }
    /* CLOCK / LIVE BADGE */
    .kx-topbar-shell .live-badge.kx-clock {
      display: flex !important; align-items: center; gap: 6px;
      padding: 0 !important;
      background: transparent !important;
      border: none !important;
      font-family: var(--k-mono) !important;
      font-size: 11px !important;
      color: var(--k-ink-2) !important;
    }
    .kx-topbar-shell .live-dot.kx-dot {
      width: 6px !important; height: 6px !important;
      border-radius: 50% !important;
      background: var(--k-up) !important;
      box-shadow: 0 0 6px var(--k-up) !important;
      animation: none !important;
    }

    /* ICON BUTTONS */
    .kx-topbar-shell .kx-icon-btn {
      width: 28px !important; height: 28px !important;
      padding: 0 !important;
      display: flex !important; align-items: center; justify-content: center;
      color: var(--k-ink-3) !important;
      background: var(--k-bg) !important;
      border: 1px solid var(--k-line-2) !important;
      border-radius: 2px !important;
    }
    .kx-topbar-shell .kx-icon-btn:hover { color: var(--k-amber) !important; border-color: var(--k-amber) !important; }
    .kx-topbar-shell .kx-icon-btn span { display: none !important; }

    /* === FUNCTION BAR === */
    .kx-fnbar {
      display: flex;
      background: var(--k-bg);
      border-bottom: 1px solid var(--k-line-2);
      overflow-x: auto;
    }
    .kx-fn {
      display: flex; align-items: center; gap: 8px;
      padding: 8px 12px;
      font-family: var(--k-mono);
      font-size: 12px;
      color: var(--k-ink-3);
      border-right: 1px solid var(--k-line);
      text-decoration: none;
      position: relative;
      white-space: nowrap;
    }
    .kx-fn:hover { color: var(--k-ink); }
    .kx-fn--active {
      color: var(--k-amber);
      background: var(--k-amber-dim);
    }
    .kx-fn--active::after {
      content: ''; position: absolute; left: 0; right: 0; bottom: -1px;
      height: 2px; background: var(--k-amber);
    }
    .kx-fn-key {
      font-size: 13px;
      color: var(--k-ink-4);
      letter-spacing: 0.08em;
      border: 1px solid var(--k-line);
      padding: 1px 4px;
      border-radius: 2px;
      min-width: 20px;
      text-align: center;
    }
    .kx-fn--active .kx-fn-key { color: var(--k-amber); }
    .kx-fn-label { letter-spacing: 0.14em; text-transform: uppercase; }

    .control-bar {
      background: var(--k-bg-2) !important;
      border: 1px solid var(--k-line-2) !important;
      border-radius: 2px !important;
      margin-bottom: 18px !important;
      overflow: hidden !important;
    }
    .control-bar-tabs {
      border-bottom: 1px solid var(--k-line-2) !important;
      background: var(--k-bg) !important;
      padding: 0 !important;
      gap: 0 !important;
    }
    .control-bar-tab {
      background: transparent !important;
      border: 0 !important;
      border-right: 1px solid var(--k-line) !important;
      border-radius: 0 !important;
      padding: 8px 12px !important;
      color: var(--k-ink-3) !important;
      opacity: 1 !important;
    }
    .control-bar-tab.is-active {
      color: var(--k-amber) !important;
      background: var(--k-bg-2) !important;
      box-shadow: inset 0 -2px 0 var(--k-amber) !important;
    }
    .control-bar-tab-label {
      font-size: 11px !important;
      letter-spacing: 0.14em !important;
      text-transform: uppercase !important;
      font-weight: 700 !important;
    }
    .control-bar-tab-meta {
      font-size: 9.5px !important;
      color: var(--k-ink-4) !important;
      letter-spacing: 0.08em !important;
      text-transform: uppercase !important;
    }
    .control-bar-panels {
      padding: 12px !important;
    }
    .control-bar-panel {
      gap: 10px !important;
    }
    .control-bar-collapse {
      border-left: 1px solid var(--k-line) !important;
      border-radius: 0 !important;
      color: var(--k-ink-3) !important;
    }
    .control-bar-collapse:hover {
      background: var(--k-amber-dim) !important;
      color: var(--k-amber) !important;
      border-color: var(--k-amber) !important;
    }

    .control-panel-summary,
    .control-panel-body,
    .selected-shell,
    .preset-section,
    .symbol-search,
    .position-review-form-wrap,
    .single-analyzer-form,
    .single-analyzer-head,
    .scanner-tools-grid > *,
    .trade-card-v2,
    .focus-section {
      border-radius: 2px !important;
      box-shadow: none !important;
    }

    .section-title,
    .preset-title,
    .symbol-search-title,
    .position-review-form legend,
    .single-analyzer-head h2,
    .trading-orders h4 {
      letter-spacing: 0.14em !important;
      text-transform: uppercase !important;
    }

    /* Mobile topbar: stop clipping/wrapping into a single 44px strip */
    .kx-topbar-shell {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) auto;
      grid-template-areas: "main right";
      align-items: start;
      column-gap: 8px;
      row-gap: 6px;
      height: auto !important;
      min-height: 0 !important;
      padding: 8px 10px !important;
    }
    .kx-topbar-l {
      grid-area: main;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 6px;
      min-width: 0;
    }
    .kx-topbar-r {
      grid-area: right;
      align-self: start;
      justify-content: flex-end;
      flex-wrap: wrap;
    }
    .kx-logo {
      width: auto;
    }
