@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--op-canvas: #08090a;--op-bg: #0a0b0c;--op-panel: #0f1011;--op-panel-2: #0c0d0e;--op-panel-3: #0d0e0f;--op-row-alt: #15161a;--op-surface-1: rgba(255,255,255,.025);--op-surface-2: rgba(255,255,255,.04);--op-surface-3: rgba(255,255,255,.07);--op-ink: #f7f8f8;--op-ink-2: #d0d6e0;--op-muted: #8a8f98;--op-muted-2: #62666d;--op-dead: #7c8189;--op-bid: #10b981;--op-bid-soft: rgba(16,185,129,.12);--op-ask: #e5484d;--op-ask-soft: rgba(229,72,77,.12);--op-warn: #d98a1f;--op-warn-soft: rgba(217,138,31,.1);--op-gold: #c7b16b;--op-accent: #7170ff;--op-accent-ink: #a9b0ff;--op-accent-soft: rgba(113,112,255,.12);--op-accent-sel: rgba(113,112,255,.1);--op-accent-line: rgba(113,112,255,.45);--bg: var(--op-bg);--panel: var(--op-panel);--ink: var(--op-ink);--muted: var(--op-muted);--bid: var(--op-bid);--ask: var(--op-ask);--accent: var(--op-accent);--danger: var(--op-ask);--text-value: var(--op-ink);--text-label: var(--op-muted-2);--surface-selected: var(--op-accent-sel);--surface-atm: rgba(255,255,255,.022)}:root{--op-font-sans: "Inter", "Inter Variable", -apple-system, system-ui, "Segoe UI", sans-serif;--op-font-mono: "JetBrains Mono", "Berkeley Mono", ui-monospace, "SF Mono", Menlo, monospace;--op-font-features: "cv01", "ss03";--op-num: tabular-nums;--op-w-regular: 400;--op-w-medium: 510;--op-w-strong: 590;--op-t-micro: 9px;--op-t-label: 10px;--op-t-meta: 11px;--op-t-value: 11.5px;--op-t-ui: 12px;--op-t-strike: 12.5px;--op-t-title: 13px;--op-t-spot: 16px;--op-tracking-label: .06em;--op-tracking-panel: .08em;--op-lh-tight: 1;--op-lh-prose: 1.5}:root{--op-s-1: 2px;--op-s-2: 4px;--op-s-3: 6px;--op-s-4: 8px;--op-s-5: 10px;--op-s-6: 12px;--op-s-7: 14px;--op-s-8: 16px;--op-topbar-h: 44px;--op-tabbar-h: 34px;--op-panel-header-h: 28px;--op-thead-h: 26px;--op-row-h: 30px;--op-row-h-book: 28px;--op-row-h-leg: 26px;--op-statusbar-h: 26px;--op-scrubber-h: 72px;--op-control-h: 22px;--op-control-h-lg: 26px;--op-cell-px: 6px;--op-chart-h: 150px;--op-chart-h-lg: 300px;--op-vol-h: 46px;--op-vol-h-lg: 70px;--op-payoff-h: 200px;--op-col-chain: 62fr;--op-col-analysis: 38fr;--op-breakpoint: 1280px;--op-z-topbar: 30;--op-z-thead: 2;--op-z-chart-legend: 3;--row-h: var(--op-row-h)}:root{--op-border: rgba(255,255,255,.08);--op-border-subtle: rgba(255,255,255,.05);--op-border-row: rgba(255,255,255,.035);--op-border-chart: rgba(255,255,255,.06);--op-r-0: 0;--op-r-1: 2px;--op-r-2: 3px;--op-r-3: 4px;--op-indicator: 2px;--op-crosshair: rgba(208,214,224,.22);--op-crosshair-h: rgba(208,214,224,.14);--border: var(--op-border)}:root{--op-ease: cubic-bezier(.32, .72, 0, 1);--op-dur-fast: .12s;--op-dur-base: .18s;--op-press: scale(.98)}.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{color:var(--op-ink);background:var(--op-canvas)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden;background:var(--op-canvas);color:var(--op-ink);color-scheme:dark}button,input,select,textarea{font:inherit}.app-shell{height:100%;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--op-bg);color:var(--op-ink);color-scheme:dark;font-family:var(--op-font-sans, system-ui, sans-serif);font-feature-settings:var(--op-font-features, normal)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell>:first-child{position:sticky;top:0;flex:0 0 var(--op-topbar-h, 44px);z-index:var(--op-z-topbar, 30)}.muted{color:var(--op-muted, var(--muted))}.warn{color:var(--op-warn, #d98a1f);font-size:12px}.cockpit{flex:1;min-height:0;display:grid;grid-template-columns:var(--op-col-chain, 62fr) var(--op-col-analysis, 38fr);gap:0;overflow:hidden}.pane-chain{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--op-border, rgba(255, 255, 255, .06));background:var(--op-bg)}.pane-analysis{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:auto;background:var(--op-panel-2, #0c0d0e)}@media (max-width: 1280px){.cockpit{grid-template-columns:1fr;overflow-y:auto}.pane-chain{border-right:none;border-bottom:1px solid var(--op-border, rgba(255, 255, 255, .06));min-height:min(62vh,720px)}.pane-analysis{overflow:visible}.underlying-chart-canvas,.underlying-chart-empty{height:220px;min-height:220px}}.scrubber{flex:0 0 var(--op-scrubber-h, 72px);display:flex;align-items:center;gap:var(--op-s-4, 8px);padding:0 var(--op-s-6, 12px);overflow-x:auto;background:var(--op-panel-3, #0d0e0f);border-top:1px solid var(--op-border, rgba(255, 255, 255, .06))}.scrubber button{border:1px solid var(--op-border, rgba(255, 255, 255, .06));background:var(--op-panel, #0f1011);color:var(--op-muted, #8a8f98);padding:4px 10px;cursor:pointer;white-space:nowrap}.scrubber button.active{background:var(--op-accent-soft, rgba(113, 112, 255, .12));color:var(--op-ink, #f7f8f8);border-color:var(--op-accent-line, rgba(113, 112, 255, .45))}.chain-panel,.strategy-strip,.inspector,.payoff-chart{background:var(--op-panel, #0f1011)}.chain-panel{flex:1;min-height:0;display:flex;flex-direction:column;padding:0;margin:0;border:0;border-bottom:none}.strategy-strip,.inspector,.payoff-chart{padding:12px;border-bottom:1px solid var(--op-border, rgba(255, 255, 255, .06));margin:0;flex-shrink:0}.chain-tabbar{height:var(--op-tabbar-h, 34px);flex:0 0 var(--op-tabbar-h, 34px);display:flex;align-items:stretch;background:var(--op-panel-3, #0d0e0f);border-bottom:1px solid var(--op-border, rgba(255,255,255,.06))}.chain-underlying-select{height:26px;margin:0 var(--op-s-4, 8px) 0 var(--op-s-5, 10px);padding:0 28px 0 10px;flex:0 0 auto;align-self:center;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--op-surface-2, #161718);background-image:linear-gradient(45deg,transparent 50%,var(--op-muted-2) 50%),linear-gradient(135deg,var(--op-muted-2) 50%,transparent 50%);background-position:calc(100% - 14px) 11px,calc(100% - 9px) 11px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;border:1px solid var(--op-border, rgba(255, 255, 255, .06));border-radius:var(--op-r-2, 4px);color:var(--op-ink, #f7f8f8);font-family:var(--op-font-mono, ui-monospace, monospace);font-size:var(--op-t-meta, 11px);font-weight:var(--op-w-medium, 510);color-scheme:dark;cursor:pointer}.chain-underlying-select:focus{outline:1px solid var(--op-accent, #7170ff);outline-offset:1px}.chain-expiry-tabs{display:flex;align-items:stretch;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--op-border, rgba(255, 255, 255, .14)) transparent}.chain-expiry-tabs::-webkit-scrollbar{height:4px;background:transparent}.chain-expiry-tabs::-webkit-scrollbar-track{background:transparent}.chain-expiry-tabs::-webkit-scrollbar-thumb{background:var(--op-border, rgba(255, 255, 255, .14));border-radius:2px}.chain-expiry-tab{height:var(--op-tabbar-h, 34px);padding:0 var(--op-s-7, 14px);display:flex;align-items:center;gap:var(--op-s-3, 6px);background:transparent;border:0;border-bottom:var(--op-indicator, 2px) solid transparent;color:var(--op-muted-2, #62666d);font-size:var(--op-t-value, 11.5px);font-weight:var(--op-w-strong, 590);cursor:pointer;white-space:nowrap;color-scheme:dark}.chain-expiry-tab.active{background:var(--op-bg, #0a0b0c);border-bottom-color:var(--op-accent, #7170ff);color:var(--op-ink, #f7f8f8)}.chain-layout-toggles{margin-left:auto;display:flex;align-items:center;gap:var(--op-s-2, 4px);padding:0 var(--op-s-4, 8px);flex-shrink:0}.table-wrap{flex:1;min-height:0;overflow:auto}.chain-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed;font-family:var(--op-font-mono, ui-monospace, monospace);font-size:var(--op-t-value, 11.5px)}.chain-table.layout-cp{min-width:1080px}.chain-table th,.chain-table td{padding:0 var(--op-cell-px, 6px);text-align:right;white-space:nowrap;vertical-align:middle}.chain-table th{height:var(--op-thead-h, 26px);font-family:var(--op-font-sans, system-ui, sans-serif);font-size:var(--op-t-micro, 10px);font-weight:var(--op-w-medium, 510);letter-spacing:var(--op-tracking-label, .06em);text-transform:uppercase;color:var(--op-muted-2, #62666d);position:sticky;top:0;background:var(--op-panel, #0f1011);border-bottom:1px solid var(--op-border, rgba(255,255,255,.06));z-index:var(--op-z-thead, 2)}.chain-th-strike{font-weight:var(--op-w-strong, 590);color:var(--op-muted, #8a8f98)}.chain-th-strike-center{width:76px;text-align:center;font-weight:var(--op-w-strong, 590);letter-spacing:.1em;color:var(--op-muted, #8a8f98);background:#16171a;border-left:1px solid var(--op-border, rgba(255,255,255,.06));border-right:1px solid var(--op-border, rgba(255,255,255,.06))}.chain-table tbody tr{height:var(--op-row-h, 30px);cursor:pointer;border-bottom:1px solid var(--op-border-row, rgba(255,255,255,.035))}.chain-table tbody tr.dim{opacity:.46}.chain-table tbody tr.atm{background:var(--surface-atm, rgba(255,255,255,.022))}.chain-table tbody tr.selected{background:var(--op-accent-sel, rgba(113,112,255,.1));box-shadow:inset var(--op-indicator, 2px) 0 0 var(--op-accent, #7170ff)}.chain-table tbody tr.selected.atm{background:var(--op-accent-sel, rgba(113,112,255,.1))}.chain-pick-cell{padding:0;cursor:pointer}.chain-pick-cell>span{display:flex;align-items:center;justify-content:flex-end;height:var(--op-row-h, 30px);box-sizing:border-box}.chain-q{padding:0;text-align:left}.chain-q-wrap{display:flex;align-items:center;justify-content:flex-start;height:var(--op-row-h, 30px);padding:0 var(--op-cell-px, 6px);box-sizing:border-box}.chain-q-wrap.align-right{justify-content:flex-end}.chain-strike-cell{text-align:center;font-family:var(--op-font-mono, ui-monospace, monospace);font-size:var(--op-t-strike, 12.5px);font-variant-numeric:var(--op-num, tabular-nums);color:var(--op-ink-2, #d0d6e0);background:var(--op-row-alt, #15161a);border-left:1px solid var(--op-border, rgba(255,255,255,.06));border-right:1px solid var(--op-border, rgba(255,255,255,.06));cursor:pointer}.chain-strike-cell.is-atm{color:var(--op-ink, #f7f8f8);font-weight:var(--op-w-strong, 590);background:#7170ff24;box-shadow:inset 0 -2px 0 var(--op-accent, #7170ff)}.chain-strike-cell.is-atm.is-single{text-align:right;border-left:0;border-right:0}.chain-table tbody tr.selected .chain-strike-cell,.chain-strike-cell.is-selected{background:#7170ff29}.chain-table tbody tr.selected .chain-strike-cell.is-atm{background:#7170ff38;box-shadow:inset 0 -2px 0 var(--op-accent, #7170ff)}.chain-footer{display:flex;align-items:center;gap:var(--op-s-7, 16px);height:var(--op-statusbar-h, 26px);flex:0 0 var(--op-statusbar-h, 26px);padding:0 var(--op-s-6, 12px);border-top:1px solid var(--op-border, rgba(255,255,255,.06));font-size:var(--op-t-label, 10px);color:var(--op-muted-2, #62666d);background:var(--op-panel, #0f1011)}.chain-footer-sep{width:1px;height:12px;background:var(--op-border, rgba(255,255,255,.06))}.chain-size-legend{display:inline-flex;align-items:center;gap:5px}.chain-size-swatch{width:14px;height:2px;background:var(--op-warn, #d98a1f)}.iv-smile{flex-shrink:0;border-bottom:1px solid var(--op-border, rgba(255,255,255,.06));background:var(--op-bg, #0a0b0c)}.iv-smile-strip{display:flex;align-items:center;gap:var(--op-s-4, 8px);flex-wrap:wrap;min-height:var(--op-panel-header-h, 28px);padding:4px var(--op-s-5, 10px);font-size:var(--op-t-label, 10px)}.iv-smile-title{font-family:var(--op-font-sans, system-ui, sans-serif);font-size:var(--op-t-label, 10px);font-weight:var(--op-w-strong, 590);letter-spacing:var(--op-tracking-panel, .08em);text-transform:uppercase;color:var(--op-ink-2, #d0d6e0)}.iv-smile-meta{font-family:var(--op-font-mono, ui-monospace, monospace);font-variant-numeric:tabular-nums}.iv-smile-legend{margin-left:auto;display:inline-flex;gap:10px;align-items:center}.iv-smile-leg{display:inline-flex;align-items:center;gap:4px;color:var(--op-muted-2, #62666d);font-family:var(--op-font-mono, ui-monospace, monospace)}.iv-smile-swatch{width:8px;height:2px;display:inline-block}.iv-smile-note{color:var(--op-muted-2, #62666d)}.iv-smile-empty{margin:0;padding:12px var(--op-s-5, 10px) 14px;font-size:var(--op-t-value, 11.5px)}.iv-smile-svg{display:block;width:100%;height:auto;max-height:120px;padding:0 var(--op-s-4, 8px) 4px}.iv-smile-axis{fill:var(--op-muted-2, #62666d);font-family:var(--op-font-mono, ui-monospace, monospace);font-size:9px}.concept-link{color:inherit;text-decoration:none}.concept-link .qmark{color:var(--op-accent, #7170ff);font-size:10px}.template-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.template-row button,.chart-tabs button,.ghost{border:1px solid var(--op-border, rgba(255, 255, 255, .06));background:var(--op-bg, #0a0b0c);color:var(--op-muted, #8a8f98);padding:4px 8px;cursor:pointer}.template-row button.active,.chart-tabs button.active{background:var(--op-accent, #7170ff);color:#fff;border-color:var(--op-accent, #7170ff)}.chart-tabs{display:flex;gap:6px;padding:8px 12px 0;flex-shrink:0;background:var(--op-panel-2, #0c0d0e)}.legs-list{font-family:var(--op-font-mono, ui-monospace, monospace);font-size:12px;padding-left:18px}.legs-book{font-size:11px;padding-left:18px;color:var(--op-muted, #8a8f98)}.payoff-uplot{width:100%;height:var(--op-payoff-h, 200px);background:var(--op-bg, #0a0b0c)}.payoff-uplot .uplot,.payoff-uplot-root{width:100%}.chart-empty{color:var(--op-muted, #8a8f98);font-size:13px;padding:24px 0}.chart-legend{display:flex;gap:12px;font-size:11px;margin-top:6px}.leg-expiry:before{content:"—";color:var(--op-bid, #10b981);margin-right:4px}.leg-horizon:before{content:"- -";color:var(--op-accent, #7170ff);margin-right:4px}.not-executable{position:relative}.hatch-banner{position:absolute;top:10px;right:10px;z-index:2;padding:2px 6px;background:#d98a1f1f;border:1px solid rgba(217,138,31,.32);font-size:10px;font-weight:500;letter-spacing:.04em;color:var(--op-warn, #d98a1f);pointer-events:none}.inspector-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.inspector-header h3{margin:0}.inspector-meta{font-size:10px;color:var(--op-muted-2, #62666d)}.chart-block{margin-top:8px}.chart-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:2px}.chart-label{font-size:9px;font-weight:510;letter-spacing:.06em;text-transform:uppercase;color:var(--op-muted-2, #62666d)}.chart-range{font-family:ui-monospace,monospace;font-size:10px;font-variant-numeric:tabular-nums;color:var(--op-muted, #8a8f98)}.series-uplot{width:100%;height:80px;background:var(--op-bg, #0a0b0c)}.series-uplot .uplot,.series-uplot-root{width:100%}.series-gaps-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;font-size:9px;color:var(--op-muted-2, #62666d)}.strategy-deferred{font-size:12px;margin:0 0 8px;padding:0 12px}.underlying-chart{background:var(--op-panel-2, var(--op-bg, #0a0b0c));margin:0;border:0;border-bottom:1px solid var(--op-border, rgba(255, 255, 255, .06));flex-shrink:0}.underlying-chart-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:var(--op-panel, #0f1011);border-bottom:1px solid var(--op-border, rgba(255, 255, 255, .06))}.underlying-chart-label{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--op-muted-2, #62666d)}.underlying-chart-ranges{display:flex;gap:4px}.underlying-chart-ranges button{border:1px solid var(--op-border, rgba(255, 255, 255, .06));background:transparent;color:var(--op-muted, #8a8f98);padding:2px 8px;cursor:pointer;font-size:12px}.underlying-chart-ranges button.active{background:var(--op-accent, #7170ff);color:#fff;border-color:var(--op-accent, #7170ff)}.underlying-chart-canvas{height:calc(var(--op-chart-h, 150px) + var(--op-vol-h, 46px));background:var(--op-bg, #0a0b0c);width:100%}.underlying-chart-empty{min-height:calc(var(--op-chart-h, 150px) + var(--op-vol-h, 46px));margin:0;display:grid;place-items:center;background:var(--op-bg, #0a0b0c)}
