:root{
  --bg:#0d1117; --panel:#151b24; --panel2:#1b2330; --line:#263042; --text:#e6edf3; --muted:#8b98a9;
  --green:#2fbf71; --red:#ef5350; --amber:#f0b429; --blue:#4c9aff; --violet:#a78bfa;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:13px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
header{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0;z-index:5}
header h1{font-size:15px;margin:0;font-weight:650}
.pill{padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--panel2);color:var(--muted);border:1px solid var(--line)}
.pill.open{color:var(--green);border-color:#22603f}.pill.closed{color:var(--amber);border-color:#6b5316}.pill.warn{color:var(--amber)}
.kpi{display:flex;flex-direction:column}.kpi b{font-family:var(--mono);font-size:13px}.kpi span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.spacer{flex:1}
button,select,input{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:5px 9px;font:inherit}
button{cursor:pointer} button:hover{border-color:var(--blue)} button.primary{background:#1d3a66;border-color:#2f5ea8}
button.small{padding:2px 7px;font-size:11px}
input[type=checkbox],input[type=radio]{padding:0;accent-color:var(--blue)}
.errbar{background:#3a1d1d;color:#ffb4b4;padding:8px 16px;font-family:var(--mono);font-size:12px;border-bottom:1px solid #5a2a2a}
main{padding:12px 16px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1000px){main{grid-template-columns:minmax(0,1fr)}}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;min-width:0}
.panel h2{font-size:12px;margin:0 0 10px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-weight:600}
.panel h2 small{text-transform:none;letter-spacing:0;font-weight:400}
.full{grid-column:1/-1}
.hidden{display:none!important}
.pos{color:var(--green)} .neg{color:var(--red)} .mut{color:var(--muted)} .small{font-size:11px}
.symbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.symbar h2{font-size:15px!important;color:var(--text)!important}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:8px}
.card{background:var(--panel2);border-radius:8px;padding:7px 10px}.card span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.card b{display:block;font-family:var(--mono);font-size:14.5px;margin-top:2px}
.chartbox{position:relative;height:230px}
table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:11.5px}
th,td{padding:4px 6px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
th{color:var(--muted);font-weight:500;position:sticky;top:0;background:var(--panel);z-index:1}
td.l,th.l{text-align:left}
.scroll{overflow:auto;max-height:420px}
#ov tbody tr{cursor:pointer} #ov tbody tr:hover td{background:#1a2230} #ov tr.sel td{background:rgba(76,154,255,.13)}
.badge{font-size:10px;padding:1px 6px;border-radius:4px;font-weight:700}
.b-BULLISH{background:rgba(47,191,113,.18);color:var(--green)} .b-BEARISH{background:rgba(239,83,80,.18);color:var(--red)} .b-NEUTRAL{background:#222b38;color:var(--muted)}
.chain td.strike{text-align:center;font-weight:700;background:#10161f;cursor:pointer}
.chain td.strike:hover{color:var(--blue)}
.chain tr.atm td{border-top:1px solid var(--blue);border-bottom:1px solid var(--blue)}
.chain tr.inpcr td.strike{background:rgba(76,154,255,.22)}
.chain tr.inpcr td{background-color:rgba(76,154,255,.04)}
.chain td.itm{background:rgba(240,180,41,.07)}
.chain td.focus{outline:1px solid var(--violet);outline-offset:-2px}
.oibar{position:relative}.oibar i{position:absolute;top:3px;bottom:3px;opacity:.28;border-radius:2px}
.ce i{right:0;background:var(--red)} .pe i{left:0;background:var(--green)}
.pcrctl{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:10px;padding:8px;background:var(--panel2);border-radius:8px}
.pcrctl label{display:flex;gap:5px;align-items:center}
.focus{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fcol label{display:flex;gap:6px;align-items:center;margin-bottom:6px;color:var(--muted)}
.gbox{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
.gbox .card b{font-size:13.5px}
.paperline{margin-top:10px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.reasons{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}
.reasons li{background:var(--panel2);padding:4px 8px;border-radius:6px;font-family:var(--mono);font-size:11.5px}
.log{font-family:var(--mono);font-size:11.5px;max-height:340px;overflow:auto}
.log div{padding:4px 0;border-bottom:1px dashed var(--line)}
.k-bull{color:var(--green)} .k-bear{color:var(--red)} .k-info{color:var(--blue)}
.inl{font-size:11px;text-transform:none;letter-spacing:0;margin-left:10px;color:var(--text);font-weight:400}
.note{color:var(--muted);font-size:11px;margin-top:8px}
#trig input,#trig select{padding:3px 6px;font-size:11.5px}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100vw);background:var(--panel);border-left:1px solid var(--line);transform:translateX(100%);transition:transform .2s;z-index:20;display:flex;flex-direction:column}
.drawer.open{transform:none;box-shadow:-10px 0 30px rgba(0,0,0,.5)}
.dhead{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.dbody{padding:4px 16px 24px;overflow:auto}
.dbody h3{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:18px 0 8px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.grid2 label{display:flex;gap:6px;align-items:center;justify-content:space-between}
.grid2 input[type=number]{width:90px}
.row{display:flex;align-items:center;gap:6px;margin-top:6px}
.wl{display:flex;flex-wrap:wrap;gap:6px}
.wl span{background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:3px 4px 3px 8px;font-family:var(--mono);font-size:12px}
.wl button{padding:0 6px;margin-left:4px;border:0;background:none;color:var(--muted)}
code{font-family:var(--mono);font-size:11px}
.expsel2{font-weight:600;color:var(--text,#e6edf3)}
.expsel2 select{font-size:14px;padding:5px 10px;border:1px solid #4c9aff;border-radius:6px;margin-left:6px}
