:root{color-scheme:light;font-family:IBM Plex Sans,Avenir Next,Segoe UI,sans-serif;background:#edf0e8;color:#17211f;line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--panel-bg: rgba(255, 255, 255, .94);--panel-border: rgba(24, 42, 38, .12);--panel-shadow: 0 16px 36px rgba(18, 31, 28, .1);--ink-strong: #12201d;--ink-muted: #5a6a63;--ink: #17211f;--night: #111a1c;--night-soft: #1b2829;--accent: #0f766e;--accent-bright: #13a391;--accent-soft: rgba(15, 118, 110, .14);--gold: #d59a2f;--gold-soft: rgba(213, 154, 47, .16);--danger: #b13a21;--danger-soft: rgba(177, 58, 33, .13);--warn: #a56a16;--warn-soft: rgba(165, 106, 22, .15);--plum: #633f88;--info-soft: rgba(18, 59, 117, .12)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#101819 0,#172324 21rem,#edf0e8 21rem,#f8f7ef),repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 1px,transparent 1px,transparent 72px)}button,input{font:inherit}code{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}#root{min-height:100vh}.dashboard-shell{width:min(1600px,calc(100vw - 2rem));margin:0 auto;padding:1.25rem 0 3rem;animation:dashboard-enter .45s ease-out}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,auto) 220px;gap:1rem;align-items:center;min-height:14rem;padding:1.35rem;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:linear-gradient(135deg,rgba(19,163,145,.22),transparent 30%),linear-gradient(120deg,#101718,#1a2829 55%,#332642);color:#fff;box-shadow:0 20px 44px #03090a3d;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.065) 0,rgba(255,255,255,.065) 1px,transparent 1px,transparent 56px),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 1px,transparent 1px,transparent 56px);pointer-events:none;opacity:.5}.hero>*{position:relative;z-index:1}.hero__copy{min-width:0}.eyebrow{margin:0 0 .5rem;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#f3c46a}.hero h1{margin:0;font-size:clamp(2.2rem,4.5vw,4rem);line-height:1;letter-spacing:0}.hero__subtext{max-width:46rem;margin:.75rem 0 0;color:#ffffffc7;font-size:1.05rem}.hero__signal{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.2rem;padding:.55rem .75rem;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#ffffff14;color:#ffffffc7}.hero__signal strong{color:#fff}.pulse-dot{width:.62rem;height:.62rem;border-radius:999px;background:#9daaa6;box-shadow:0 0 #fff6}.pulse-dot--online{background:#38d9b2;animation:pulse-online 1.8s ease-out infinite}.pulse-dot--offline{background:#e0664a}.pulse-dot--connecting{background:#f3c46a}.hero__status{display:grid;gap:.75rem;justify-items:end;align-self:stretch;align-content:center}.status-cluster{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.hero__meta{display:flex;flex-direction:column;gap:.32rem;color:#ffffffb8;font-size:.95rem;text-align:right}.hero__meta span{padding:.18rem .5rem;border-radius:999px;background:#ffffff13}.hero__radar{display:grid;grid-template-columns:repeat(8,1fr);align-items:end;gap:.45rem;height:10rem;padding:1rem;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:linear-gradient(180deg,#ffffff14,#ffffff08),#ffffff0b}.hero__radar span{display:block;min-width:0;border-radius:999px 999px 0 0;background:linear-gradient(180deg,#f3c46a,#13a391);box-shadow:0 0 18px #13a3914d}.hero__radar span:nth-child(1){height:36%}.hero__radar span:nth-child(2){height:58%}.hero__radar span:nth-child(3){height:44%}.hero__radar span:nth-child(4){height:82%}.hero__radar span:nth-child(5){height:62%}.hero__radar span:nth-child(6){height:72%}.hero__radar span:nth-child(7){height:48%}.hero__radar span:nth-child(8){height:90%}.alert-banner{margin-top:1rem;padding:.95rem 1.1rem;border-radius:8px;border:1px solid transparent;font-weight:500}.alert-banner--error{background:var(--danger-soft);border-color:#b13a2147;color:#7d2614}.alert-banner--warn{background:var(--warn-soft);border-color:#a56a1647;color:#7d5211}.dashboard-grid{display:grid;gap:1rem;margin-top:1rem}.dashboard-grid--top{grid-template-columns:1.2fr 1fr}.dashboard-grid--summary{grid-template-columns:1.4fr .8fr}.dashboard-grid--operator{grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr)}.dashboard-grid--panels{grid-template-columns:1fr}.chart-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(320px,.75fr);gap:1rem;margin-top:1rem;align-items:stretch}.panel{position:relative;border:1px solid var(--panel-border);border-radius:8px;background:var(--panel-bg);box-shadow:var(--panel-shadow);overflow:hidden}.panel:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--accent-bright),var(--gold),var(--plum));opacity:.75}.panel__header{display:flex;justify-content:space-between;align-items:start;gap:1rem;padding:1.3rem 1.2rem .8rem}.panel__header h2{margin:0;font-size:1.15rem;color:#101819}.panel__header p{margin:.25rem 0 0;color:var(--ink-muted)}.panel__body{padding:0 1.2rem 1.2rem}.health-group{display:grid;gap:1rem}.health-group__section h3{margin:0 0 .75rem;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted)}.health-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem}.health-card{padding:1rem;border-radius:8px;border:1px solid rgba(26,58,47,.1);background:linear-gradient(180deg,#ffffffdb,#f5faf7c7)}.health-card__title{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.health-card p{margin:.7rem 0 .9rem;color:var(--ink-muted)}.health-card dl,.key-value-grid{display:grid;gap:.6rem}.health-card dl div,.key-value-grid div{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.health-card dt,.key-value-grid span{color:var(--ink-muted)}.health-card dd,.key-value-grid strong{margin:0;text-align:right}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.operator-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-top:1rem}.operator-strip div{min-width:0;padding:.85rem .95rem;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:linear-gradient(135deg,#111a1cf0,#1b2829e6);color:#fff;box-shadow:0 12px 26px #03090a29}.operator-strip span,.decision-board__bias span,.contract-focus span,.quote-strip span,.check-card span,.contract-tape__meta,.contract-tape__quote span{color:var(--ink-muted);font-size:.88rem}.operator-strip span{color:#ffffffa3}.operator-strip strong{display:block;margin-top:.25rem;font-size:1.05rem}.market-ribbon{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-top:1rem}.market-ribbon__card{min-width:0;padding:1rem;border:1px solid rgba(24,42,38,.11);border-radius:8px;background:linear-gradient(135deg,#fffffffa,#f0f6f3e6);box-shadow:0 14px 30px #121f1c14}.market-ribbon__card--price{border-color:#0f766e38;background:linear-gradient(135deg,#0f766e1f,#fffffff2)}.market-ribbon__card span,.market-ribbon__card small{display:block;color:var(--ink-muted)}.market-ribbon__card strong{display:block;margin:.22rem 0;color:#101819;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.05;overflow-wrap:anywhere}.decision-board{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:.85rem;margin-bottom:1rem}.decision-board__bias{display:grid;align-content:space-between;gap:.8rem;min-height:100%;padding:1rem;border-radius:8px;border:1px solid rgba(24,42,38,.12);background:linear-gradient(135deg,#fffffff0,#ecf2f0d6)}.decision-board__bias--call{border-color:#0f766e59;background:linear-gradient(135deg,#0f766e2e,#ffffffe6)}.decision-board__bias--put{border-color:#a56a1657;background:linear-gradient(135deg,#d59a2f33,#ffffffe6)}.decision-board__bias--no_trade{border-color:#633f8838;background:linear-gradient(135deg,#633f8824,#ffffffe6)}.decision-board__bias strong{display:block;font-size:clamp(2rem,5vw,3.4rem);line-height:1;letter-spacing:0}.decision-board__bias p{margin:0;color:var(--ink-muted);font-weight:600}.decision-board__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.metric-tile{padding:.9rem 1rem;border-radius:8px;background:linear-gradient(180deg,#ffffffeb,#f2f8f5c7);border:1px solid rgba(15,111,104,.1);min-width:0}.metric-tile--primary{background:linear-gradient(135deg,#0f6f6826,#ffffffad)}.metric-tile span{display:block;color:var(--ink-muted);font-size:.92rem}.metric-tile strong{display:block;margin-top:.35rem;font-size:1.12rem;overflow-wrap:anywhere}.key-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.key-value-grid--levels{grid-template-columns:1fr}.scanner-explain,.suggested-contract{display:grid;gap:.7rem}.scanner-explain div,.suggested-contract div{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:.65rem 0;border-bottom:1px solid rgba(26,58,47,.08)}.scanner-explain span,.suggested-contract span{color:var(--ink-muted)}.scanner-explain strong,.suggested-contract strong{text-align:right;overflow-wrap:anywhere}.scanner-explain--chips strong{text-align:left}.chip-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.scanner-explain--chips .chip-list,.contract-tape .chip-list{justify-content:flex-start}.code-chip{display:inline-flex;align-items:center;max-width:100%;padding:.24rem .48rem;border:1px solid rgba(15,111,104,.18);border-radius:999px;background:#0f6f6814;color:#174d49;font-size:.78rem;font-weight:700;overflow-wrap:anywhere}.code-chip--muted{border-color:#5a6a632e;background:#5a6a6314;color:var(--ink-muted)}.chip-list--compact .code-chip{font-size:.72rem}.contract-focus{display:grid;gap:.85rem}.contract-focus__header{display:flex;justify-content:space-between;gap:.75rem;align-items:start;padding-bottom:.85rem;border-bottom:1px solid rgba(26,58,47,.08)}.contract-focus__header strong{display:block;margin-top:.25rem;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.quote-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.quote-strip div{padding:.72rem;border-radius:8px;background:#eef2f1d9;border:1px solid rgba(24,42,38,.08)}.quote-strip strong{display:block;margin-top:.2rem;font-size:1.05rem}.empty-card{padding:1rem;border-radius:8px;border:1px dashed rgba(26,58,47,.18);background:#ffffff85;color:var(--ink-muted)}.empty-state{display:grid;gap:.55rem;padding:1rem;border-radius:8px;border:1px dashed rgba(26,58,47,.18);background:#ffffff94;color:var(--ink-muted)}.empty-state strong,.empty-state p{margin:0}.empty-state--scanner{background:#eef3f8}.checklist-grid{display:grid;gap:.75rem}.check-card{display:grid;gap:.55rem;padding:.9rem;border-radius:8px;border:1px solid rgba(24,42,38,.1);background:#ffffffad}.check-card__header,.contract-tape__header,.contract-tape__quote,.contract-tape__meta{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.check-card p{margin:0;color:var(--ink-muted)}.contract-tape{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.contract-tape__card{min-width:0;display:grid;gap:.7rem;padding:.9rem;border-radius:8px;border:1px solid rgba(24,42,38,.1);background:linear-gradient(160deg,#ffffffeb,#f4f8f5d1)}.contract-tape__header strong{min-width:0;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.88rem;overflow-wrap:anywhere}.contract-tape__quote strong{white-space:nowrap}.tradingview-chart{min-height:clamp(520px,65vh,760px);display:grid;grid-template-rows:1fr auto}.tradingview-chart__widget{min-height:500px;border-radius:8px;overflow:hidden;border:1px solid rgba(26,58,47,.1);background:#101819;box-shadow:inset 0 0 0 1px #ffffff0d}.tradingview-chart__fallback{margin:.75rem 0 0;color:var(--ink-muted);font-size:.92rem}.alerts-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.85rem}.scanner-alert{padding:1rem;border-radius:8px;border:1px solid rgba(26,58,47,.1);background:#ffffffa6}.scanner-alert--ok{border-color:#0f6f6847}.scanner-alert--warn{border-color:#a56a164d}.scanner-alert--error{border-color:#b13a214d}.scanner-alert__header{display:flex;justify-content:space-between;gap:1rem;align-items:center;color:var(--ink-muted);font-size:.9rem}.scanner-alert p{margin:.75rem 0;color:var(--ink-strong);font-weight:600}.scanner-alert dl{display:grid;gap:.45rem;margin:0}.scanner-alert dl div{display:flex;justify-content:space-between;gap:.75rem}.scanner-alert dt{color:var(--ink-muted)}.scanner-alert dd{margin:0;text-align:right}.table-shell{overflow-x:auto;border-radius:8px;border:1px solid rgba(26,58,47,.1)}.data-table{width:100%;border-collapse:collapse;min-width:980px;background:#ffffffad}.data-table th,.data-table td{padding:.85rem .9rem;border-bottom:1px solid rgba(26,58,47,.08);vertical-align:top;text-align:left}.data-table th{background:#0f766e14;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}.data-table__empty{color:var(--ink-muted);text-align:center}.control-panel{display:grid;gap:.85rem}.control-panel__label{font-size:.92rem;color:var(--ink-muted)}.control-panel__input{width:100%;padding:.8rem .9rem;border-radius:.9rem;border:1px solid rgba(26,58,47,.18);background:#ffffffd9}.control-panel__buttons{display:flex;flex-wrap:wrap;gap:.75rem}.control-panel button{padding:.75rem 1rem;border:none;border-radius:999px;background:var(--accent);color:#fff;cursor:pointer;transition:transform .16s ease,opacity .16s ease,background .16s ease}.control-panel button:hover:not(:disabled){transform:translateY(-1px)}.control-panel button:disabled{opacity:.45;cursor:not-allowed}.button-danger{background:var(--danger)!important}.button-warn{background:#876030!important}.control-panel__note,.control-panel__pending,.control-panel__result{margin:0;color:var(--ink-muted)}.paper-trade-panel{display:grid;gap:1rem}.paper-trade-panel__label{font-size:.92rem;color:var(--ink-muted)}.paper-trade-panel__input,.paper-trade-panel__select,.paper-trade-panel__static{width:100%;min-height:3rem;padding:.8rem .9rem;border-radius:.9rem;border:1px solid rgba(26,58,47,.18);background:#ffffffd9;color:var(--ink)}.paper-trade-panel__static{display:flex;align-items:center}.paper-trade-panel__sections{display:grid;gap:1rem}.paper-trade-panel__section{display:grid;gap:.75rem;padding:1rem;border-radius:1rem;border:1px solid rgba(26,58,47,.1);background:#ffffff8c}.paper-trade-panel__section h3,.paper-trade-panel__section p{margin:0}.paper-trade-panel__preview{display:grid;gap:.75rem;padding:.9rem;border-radius:.9rem;border:1px solid rgba(26,58,47,.12);background:#ffffffb8}.paper-trade-panel__preview-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.paper-trade-panel__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center}.paper-trade-panel button{padding:.75rem 1rem;border:none;border-radius:999px;background:var(--accent);color:#fff;cursor:pointer;transition:transform .16s ease,opacity .16s ease,background .16s ease}.paper-trade-panel button:hover:not(:disabled){transform:translateY(-1px)}.paper-trade-panel button:disabled{opacity:.45;cursor:not-allowed}.paper-trade-panel__note,.paper-trade-panel__status{margin:0;color:var(--ink-muted)}.paper-session-panel{display:grid;gap:1rem}.paper-session-panel__toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:end}.paper-session-panel__label{display:grid;gap:.35rem;font-size:.92rem;color:var(--ink-muted)}.paper-session-panel__select{min-width:21rem;min-height:3rem;padding:.8rem .9rem;border-radius:.9rem;border:1px solid rgba(26,58,47,.18);background:#ffffffd9;color:var(--ink-strong)}.paper-session-panel__meta{display:grid;gap:.2rem;color:var(--ink-muted);text-align:right;font-size:.92rem}.paper-session-panel__badges{display:flex;flex-wrap:wrap;gap:.5rem}.paper-session-panel__sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.paper-session-panel__card{display:grid;gap:.85rem;padding:1rem;border-radius:1rem;border:1px solid rgba(26,58,47,.1);background:#ffffff9e}.paper-session-panel__card--wide{grid-column:1 / -1}.paper-session-panel__card-header{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.paper-session-panel__card-header h3{margin:0;font-size:1rem}.paper-session-panel__card-header span{color:var(--ink-muted);font-size:.9rem}.paper-session-panel__gate-list{display:grid;gap:.75rem}.paper-session-panel__gate-row{display:flex;justify-content:space-between;align-items:start;gap:1rem;padding:.85rem .9rem;border-radius:.9rem;border:1px solid rgba(26,58,47,.08);background:#f2f8f5b3}.paper-session-panel__gate-copy{display:grid;gap:.2rem}.paper-session-panel__gate-copy strong,.paper-session-panel__gate-copy p{margin:0}.paper-session-panel__gate-copy p{color:var(--ink-muted)}.paper-session-panel__list{margin:0;padding-left:1rem;display:grid;gap:.45rem}.paper-session-panel__report{margin:0;max-height:24rem;overflow:auto;padding:1rem;border-radius:.9rem;border:1px solid rgba(26,58,47,.1);background:#faf9f4eb;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.84rem;line-height:1.5;white-space:pre-wrap}.paper-session-panel__status{margin:0;color:var(--ink-muted)}.status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.36rem .65rem;border-radius:999px;font-size:.82rem;font-weight:700;letter-spacing:.02em}.status-badge--ok{background:var(--accent-soft);color:#0e5f59}.status-badge--warn{background:var(--warn-soft);color:#8b5911}.status-badge--error{background:var(--danger-soft);color:#8d2e19}.status-badge--info{background:var(--info-soft);color:#244975}.status-badge--muted{background:#5a6a631f;color:var(--ink-muted)}@keyframes dashboard-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-online{0%{box-shadow:0 0 #38d9b26b}70%{box-shadow:0 0 0 .7rem #38d9b200}to{box-shadow:0 0 #38d9b200}}@media (max-width: 1100px){.dashboard-grid--top,.dashboard-grid--summary,.dashboard-grid--operator,.chart-layout,.hero{grid-template-columns:1fr}.hero__radar{display:none}.hero__status{justify-items:start}.hero__meta,.status-cluster{justify-content:flex-start;text-align:left}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operator-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.market-ribbon{grid-template-columns:repeat(2,minmax(0,1fr))}.decision-board,.contract-tape,.paper-session-panel__sections,.key-value-grid{grid-template-columns:1fr}.tradingview-chart{min-height:520px}}@media (max-width: 720px){.dashboard-shell{width:min(100vw - 1rem,100%);padding-top:1rem}.hero,.panel__header,.panel__body{padding-left:1rem;padding-right:1rem}.metrics-grid,.operator-strip,.market-ribbon,.decision-board__metrics,.quote-strip{grid-template-columns:1fr}.control-panel__buttons{flex-direction:column}.control-panel button{width:100%}.paper-session-panel__toolbar,.paper-session-panel__meta{text-align:left}.paper-session-panel__select{min-width:0;width:100%}.paper-session-panel__gate-row{flex-direction:column}.paper-trade-panel__row{grid-template-columns:1fr}.paper-trade-panel button{width:100%}.scanner-explain div,.suggested-contract div,.scanner-alert dl div{flex-direction:column}.scanner-explain strong,.suggested-contract strong,.scanner-alert dd{text-align:left}.contract-focus__header,.check-card__header,.contract-tape__header,.contract-tape__quote,.contract-tape__meta{align-items:start;flex-direction:column}.chip-list{justify-content:flex-start}.tradingview-chart,.tradingview-chart__widget{min-height:420px}}
