:root{--bg-deep: #07090d;--bg-panel: #0c1018;--bg-elevated: #111826;--border: #1e2a3d;--border-strong: #2a3d56;--text: #e6eaf2;--text-muted: #7a8aa3;--text-dim: #4d5d75;--cyan: #3dd6e0;--cyan-dim: #2a9aa3;--green: #3ee08f;--green-bg: rgba(62, 224, 143, .12);--amber: #e5a82e;--amber-bg: rgba(229, 168, 46, .14);--red: #ff5c5c;--red-bg: rgba(255, 92, 92, .12);--yellow-bet: #f5d547;--yellow-bet-bg: rgba(245, 213, 71, .15);--grid: rgba(61, 214, 224, .04);--font-ui: "Instrument Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--radius: 2px;--header-h: 52px}*,*:before,*:after{box-sizing:border-box}html{font-size:15px;-webkit-font-smoothing:antialiased}body{margin:0;min-height:100vh;background:var(--bg-deep);background-image:linear-gradient(180deg,rgba(61,214,224,.03) 0%,transparent 32%),repeating-linear-gradient(0deg,transparent,transparent 24px,var(--grid) 24px,var(--grid) 25px);color:var(--text);font-family:var(--font-ui);line-height:1.45}#root{min-height:100vh}.app{max-width:1400px;margin:0 auto;padding:0 .75rem 2rem}@media(min-width:768px){.app{padding:0 1.25rem 2.5rem}}.app-header{position:sticky;top:0;z-index:40;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;min-height:var(--header-h);padding:.5rem 0;margin-bottom:.25rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-deep) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.wordmark{font-family:var(--font-mono);font-weight:600;font-size:1.35rem;letter-spacing:.28em;text-transform:uppercase;background:linear-gradient(105deg,#f0f4fa 0%,var(--cyan) 55%,var(--cyan-dim) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.mode-toggle{display:flex;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em}.mode-toggle button{padding:.45rem .85rem;border:none;background:var(--bg-panel);color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.mode-toggle button:hover{color:var(--text)}.mode-toggle button.active-paper{background:var(--yellow-bet-bg);color:var(--yellow-bet)}.mode-toggle button.active-live{background:var(--green-bg);color:var(--green)}.section{margin-top:1.5rem;scroll-margin-top:calc(var(--header-h) + 8px)}.section-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.2em;color:var(--text-dim);text-transform:uppercase;margin-bottom:.5rem}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.stats-bar{display:flex;flex-wrap:wrap;align-items:stretch;gap:0;font-family:var(--font-mono);font-size:.78rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated)}.stats-bar .stat{flex:1 1 auto;min-width:140px;padding:.65rem .85rem;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:.2rem}.stats-bar .stat:last-child{border-right:none}@media(max-width:640px){.stats-bar .stat{min-width:100%;border-right:none;border-bottom:1px solid var(--border)}.stats-bar .stat:last-child{border-bottom:none}}.stat-k{color:var(--text-dim);font-size:.65rem;letter-spacing:.06em;text-transform:uppercase}.stat-v{color:var(--cyan);font-weight:500;font-size:.88rem}.stat-v.pos{color:var(--green)}.stat-v.neg{color:var(--red)}.hmrc-track{font-weight:500}.hmrc-green{color:var(--green)}.hmrc-amber{color:var(--amber)}.hmrc-red{color:var(--red)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.72rem}.data-table th{text-align:left;padding:.55rem .5rem;color:var(--text-dim);font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;border-bottom:1px solid var(--border-strong);background:var(--bg-deep);white-space:nowrap}.data-table td{padding:.5rem;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text)}.data-table tbody tr:hover td{background:#3dd6e00a}.market-cell{max-width:220px;font-family:var(--font-ui);font-size:.8rem;line-height:1.35;color:var(--text)}@media(min-width:900px){.market-cell{max-width:320px}}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.badge-layer{display:inline-flex;align-items:center;padding:.15rem .4rem;font-size:.65rem;font-weight:600;letter-spacing:.06em;border-radius:var(--radius);border:1px solid transparent}.badge-l1{color:var(--green);border-color:color-mix(in srgb,var(--green) 45%,transparent);background:var(--green-bg)}.badge-l2{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 45%,transparent);background:var(--amber-bg)}.badge-l3{color:var(--red);border-color:color-mix(in srgb,var(--red) 45%,transparent);background:var(--red-bg)}.dots{letter-spacing:.08em;color:var(--text-dim);font-size:.85rem}.dots .on{color:var(--cyan)}.tag-row{display:flex;flex-wrap:wrap;gap:.25rem}.signal-tag{font-size:.58rem;padding:.12rem .35rem;border:1px solid var(--border-strong);color:var(--text-muted);letter-spacing:.04em}.btn-bet{font-family:var(--font-mono);font-size:.62rem;font-weight:600;letter-spacing:.1em;padding:.35rem .55rem;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;text-transform:uppercase;transition:transform .1s,filter .15s}.btn-bet:hover{filter:brightness(1.08)}.btn-bet:active{transform:scale(.97)}.btn-bet.paper{background:var(--yellow-bet-bg);border-color:var(--yellow-bet);color:var(--yellow-bet)}.btn-bet.live{background:var(--green-bg);border-color:var(--green);color:var(--green)}.btn-ghost{font-family:var(--font-mono);font-size:.65rem;padding:.45rem .75rem;border:1px solid var(--border-strong);background:transparent;color:var(--text-muted);cursor:pointer;letter-spacing:.08em}.btn-ghost:hover{color:var(--text);border-color:var(--cyan-dim)}.btn-primary{font-family:var(--font-mono);font-size:.65rem;font-weight:600;letter-spacing:.1em;padding:.5rem 1rem;border:none;border-radius:var(--radius);background:var(--cyan);color:var(--bg-deep);cursor:pointer}.btn-primary:hover{filter:brightness(1.05)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#04060ac7;display:flex;align-items:flex-end;justify-content:center;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media(min-width:560px){.modal-backdrop{align-items:center}}.modal{width:100%;max-width:440px;max-height:90vh;overflow-y:auto;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius);padding:1.1rem 1.15rem;box-shadow:0 24px 64px #0000008c}.modal h3{margin:0 0 .75rem;font-size:.95rem;font-weight:600;line-height:1.35}.modal dl{margin:0;display:grid;gap:.45rem;font-family:var(--font-mono);font-size:.72rem}.modal dl div{display:grid;grid-template-columns:1fr auto;gap:.5rem;border-bottom:1px solid var(--border);padding-bottom:.35rem}.modal dt{color:var(--text-dim);margin:0}.modal dd{margin:0;text-align:right;color:var(--cyan)}.modal .signal-list{margin:.75rem 0 0;padding:0;list-style:none;font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted)}.modal .signal-list li{padding:.2rem 0;border-bottom:1px solid var(--border)}.modal-actions{display:flex;gap:.5rem;margin-top:1rem;justify-content:flex-end;flex-wrap:wrap}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em}.tabs button{padding:.55rem .9rem;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.active{color:var(--cyan);border-bottom-color:var(--cyan)}.tax-warn{margin-top:.75rem;padding:.65rem .75rem;font-family:var(--font-mono);font-size:.72rem;border:1px solid var(--amber);background:var(--amber-bg);color:var(--amber)}.tax-warn.critical{border-color:var(--red);background:var(--red-bg);color:var(--red)}.muted{color:var(--text-muted);font-size:.8rem}.error-banner{margin:.5rem 0;padding:.5rem .65rem;font-family:var(--font-mono);font-size:.72rem;border:1px solid var(--red);background:var(--red-bg);color:var(--red)}.loading{font-family:var(--font-mono);font-size:.72rem;color:var(--text-dim);padding:.75rem}.empty{font-family:var(--font-mono);font-size:.72rem;color:var(--text-dim);padding:1rem}
