.opt-app{display:grid;grid-template-rows:auto minmax(0,1fr);height:100vh;background:var(--bg);color:var(--text);font:var(--text-md) var(--font-ui);font-variant-numeric:tabular-nums}.opt-bar{display:flex;align-items:center;gap:var(--space-3);padding:6px var(--space-3);border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap}.opt-bar label{display:flex;align-items:center;gap:6px;color:var(--muted)}.opt-bar input,.opt-bar select,.opt-view select{height:26px;padding:0 6px;background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit}.opt-bar input[type=number]{width:72px}.opt-status{color:var(--muted);font-size:var(--text-sm)}.opt-tabs{display:flex;gap:var(--space-0_5)}.opt-tabs button{padding:var(--space-1) 10px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font:inherit;cursor:pointer}.opt-tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.opt-view{min-height:0;padding:var(--space-2);gap:var(--space-2)}.opt-view[hidden]{display:none}.opt-view h2{margin:0 0 var(--space-1);font-size:var(--text-sm);font-weight:600}.opt-view h2 small{color:var(--muted);font-weight:400}.opt-chart{position:relative;min-height:220px;height:100%;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.strategy{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(0,1.1fr)}.opt-chain{display:flex;flex-direction:column;min-height:0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel)}.opt-chain-head{display:flex;align-items:center;gap:var(--space-2);padding:6px}.opt-chain-head small{color:var(--muted)}.opt-chain-cols,.opt-row{display:grid;grid-template-columns:.8fr 1fr 1fr 1fr 1fr 1fr .8fr;column-gap:var(--space-1);padding:0 6px}.opt-chain-cols{color:var(--muted);font-size:var(--text-xs);border-bottom:1px solid var(--line);padding-bottom:var(--space-1)}.opt-chain-cols span{text-align:right}.opt-chain-cols span:nth-child(4){text-align:center}.opt-chain-rows{flex:1;min-height:0;overflow-y:auto;font-family:var(--font-mono);font-size:var(--text-sm)}.opt-row{height:22px;align-items:center}.opt-row>*{text-align:right;overflow:hidden;white-space:nowrap}.opt-row .k{text-align:center;font-weight:600;background:var(--panel-2);border-radius:var(--radius-sm)}.opt-row.itm-call>:nth-child(-n+3),.opt-row.itm-put>:nth-child(n+5){background:color-mix(in srgb,var(--accent) 8%,transparent)}.opt-row.spot{box-shadow:inset 0 2px 0 var(--accent)}.opt-row button{border:0;background:none;color:inherit;font:inherit;cursor:pointer;padding:0 var(--space-0_5);border-radius:var(--radius-sm);text-align:right}.opt-row button:hover{background:var(--accent-soft)}.opt-row button.bid{color:var(--down)}.opt-row button.ask{color:var(--up)}.opt-row .iv{color:var(--muted)}.opt-strategy{display:grid;grid-template-rows:minmax(260px,1fr) auto auto auto;gap:var(--space-2);min-height:0}.opt-controls{display:flex;align-items:center;gap:var(--space-3);color:var(--muted)}.opt-controls input[type=range]{width:260px}.opt-controls button{height:26px;padding:0 10px;background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer}.opt-legs{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.opt-legs th{text-align:right;color:var(--muted);font-weight:400;border-bottom:1px solid var(--line);padding:var(--space-0_5) 6px}.opt-legs td{text-align:right;padding:var(--space-0_5) 6px;font-family:var(--font-mono)}.opt-legs input{width:64px;height:22px;text-align:right;background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm)}.opt-legs td.buy{color:var(--up)}.opt-legs td.sell{color:var(--down)}.opt-legs button{border:0;background:none;color:var(--muted);cursor:pointer}.opt-summary{margin:0;color:var(--muted)}.vol,.pos{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.pos{grid-template-rows:auto minmax(0,1fr) minmax(0,1fr)}.vol section,.pos section{display:flex;flex-direction:column;min-height:0}.vol .opt-chart,.pos .opt-chart{flex:1}.vol{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.vol-surface{grid-column:2;grid-row:1 / span 2}.vol .opt-chart{min-height:0}@media(max-width:900px){.vol{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(3,minmax(220px,1fr));overflow:auto}.vol-surface{grid-column:1;grid-row:auto}}.rates{display:grid;grid-template-rows:auto minmax(0,1.4fr) minmax(0,1fr)}.rates section{display:flex;flex-direction:column;min-height:0}.rates .opt-chart{flex:1;min-height:0}.curve-table{overflow:auto}.surface-tip{position:absolute;pointer-events:none;padding:3px 6px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--text-sm);white-space:nowrap}.surface-tip[hidden]{display:none}#chain:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.opt-row button.cursor{box-shadow:inset 0 0 0 2px var(--accent)}
