/* Authoritative terminal specification. Legacy feature rules supply structure only. */
:root {
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;
 --bg:#edf1f5;--surface:#fff;--surface-raised:#f6f8fb;--border:#d3dce5;
 --text:#233447;--muted:#546779;--cyan:#207149;--orange:#b33b44;
 --accent:#345c7d;--focus:#1975b8;--radius:6px;--control:32px;--stats:286px;
 --chart-height:440px;--dark-bg:#101f2b;--dark-surface:#162b39;--dark-control:#213c4d;
 --dark-border:#3d596c;--dark-text:#ecf3f8;--dark-muted:#b7ccda;
 font:13px/1.5 'Segoe UI',system-ui,sans-serif;
}
body{font-variant-numeric:tabular-nums;background:var(--bg);color:var(--text)}
main{max-width:2400px;padding:var(--space-6);margin-inline:auto}
.topbar{height:56px;padding-inline:var(--space-6);background:#f8fafc;border-bottom:1px solid var(--border)}
.brand{font-size:16px;line-height:20px;letter-spacing:1.5px}.subtitle{font-size:10px;line-height:16px;letter-spacing:1px}
.intro{gap:24px;margin-bottom:16px}h1{font-size:24px;line-height:32px;margin:4px 0;font-weight:600}
.eyebrow,.stat-kicker{font-size:10px;line-height:16px;letter-spacing:1px}.snapshot-state{font-size:12px;line-height:18px;max-width:560px}
button,select,input:not([type=range]):not([type=checkbox]){min-height:var(--control);border-radius:4px;padding:6px 10px;border:1px solid #b9c7d3;font-size:12px;line-height:18px;background:#fff;color:var(--text)}
button{font-weight:600;white-space:nowrap}button:hover{background:#eaf1f7;border-color:#829cb1}button:active{background:#dce8f2}
button:disabled,select:disabled{opacity:.5;cursor:not-allowed}input[type=checkbox]{width:14px;height:14px;margin:0;flex:0 0 14px;accent-color:var(--accent)}
:is(button,select,input,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.primary,.controls .primary{background:var(--accent);color:#fff;border-color:var(--accent)}.primary:hover{background:#969696}
.controls{padding:16px;gap:12px;border-radius:var(--radius);align-items:end}.controls label{font-size:11px;line-height:16px;gap:4px;min-width:100px}
.controls input,.controls select,.controls .primary{height:36px}.controls .instrument-label{min-width:220px}.controls #wave{width:80px}
.secondary-controls{min-height:40px;gap:16px}.notice,.feed-status{padding:8px 12px;margin-bottom:12px;line-height:18px;font-size:11px;border-radius:4px}
.workspace{grid-template-columns:var(--stats) 16px minmax(0,1fr)}.statistics{top:16px;max-height:calc(100dvh - 32px)}
.panel{border-radius:var(--radius);border-color:var(--border);background:var(--surface)}
.panel-header{min-height:60px;padding:12px 16px;gap:12px;background:var(--surface-raised)}
.panel-header h2{font-size:13px;line-height:20px;letter-spacing:.2px;font-weight:650}.panel-header p{font-size:11px;line-height:16px;margin-top:4px}
.panel-body{padding:16px}.panel-actions{gap:8px;font-size:11px}.panel-actions label{display:inline-flex;align-items:center;gap:6px}
.panel-actions :is(button,select),.statistics .panel-header button{min-height:32px;font-size:11px;padding:6px 8px}.panel-actions select{max-width:200px}
.view-tabs{gap:4px;margin-bottom:12px;align-items:stretch}.view-tabs button{min-height:40px;padding:8px 14px;border-radius:4px 4px 0 0;font-size:12px}
.view-tabs .selected{background:var(--accent);color:#fff;border-bottom:2px solid #87bddf}.view-tabs span{font-size:9px;letter-spacing:.3px}
.chart-container,.panel-body .chart-container{height:var(--chart-height);min-height:300px}.chart-container.fractal-chart{height:520px;min-height:360px;margin:8px}
.chart-caption,.lens-detail,.heatmap-context{font-size:11px;line-height:18px;padding:8px 12px;overflow-wrap:anywhere}
.chart-zoom-tools{padding:8px 12px;gap:4px;min-height:48px;background:var(--surface-raised)}.chart-zoom-tools button{min-height:32px;padding:6px 8px;font-size:11px}.chart-zoom-tools span{font-size:11px}
.zoom-controls{padding:8px 16px;gap:12px;min-height:48px}.stretch-controls{padding:32px 4px 32px 12px;gap:8px}.stretch-controls label{font-size:11px;gap:8px}
.density-controls,.analyzer-controls,.market-controls{padding:12px;gap:12px;margin-bottom:12px;background:var(--surface-raised);border-radius:4px;align-items:center}
.market-controls label,.analyzer-controls label,.density-controls label{font-size:11px;line-height:16px;gap:6px}.market-controls select{font-size:12px;min-height:32px}
.spread-grid{gap:16px}.analyzer-grid{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(300px,1.25fr)}
.analyzer-grid>section{padding:16px}.analyzer-grid h3{font-size:12px;line-height:20px;margin:0 0 12px;padding-bottom:8px}.analyzer-grid .chart-container{height:440px}
.iv-panel .iv-chart{height:600px}.iv-cards{gap:12px}.iv-cards>div{padding:12px}.iv-cards strong{font-size:24px;line-height:32px}.iv-cards span{font-size:11px;line-height:16px}
.iv-fair-values{gap:12px}.iv-fair-values>div{padding:12px}.profile-summary{gap:12px}.profile-summary strong{font-size:20px;line-height:28px}.profile-summary span{font-size:10px;line-height:16px}
.metrics-table,.option-table table{font-size:11px;line-height:18px}.metrics-table :is(th,td),.option-table :is(th,td){padding:8px 12px}.metrics-table th,.option-table th{font-size:11px;line-height:16px}
.stat-pair{font-size:12px;line-height:18px;padding:8px 0}.stat-pair strong{overflow-wrap:anywhere}.event-top{font-size:12px;line-height:18px}.event-definition{font-size:11px;line-height:16px}
.stats-group .stat-pair,.stats-group .event-top{font-size:11px}.stats-group .stat-pair strong{white-space:normal}.stats-context{font-size:11px;line-height:18px}
.precision-crosshair output{font:11px/18px 'Segoe UI',system-ui,sans-serif;padding:8px 12px;border-radius:4px;max-width:min(330px,calc(100% - 16px));white-space:normal;overflow-wrap:anywhere;box-shadow:0 4px 16px #13253726}
.lens-grid{gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,660px),1fr))}.lens-chart{height:400px}.lens-card h3{font-size:13px;line-height:20px}
.heatmap-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:16px;margin-top:16px;align-items:start}
.heatmap-card{background:var(--dark-surface);color:var(--dark-text);border-color:var(--dark-border);color-scheme:light}
.heatmap-card-head{min-height:76px;padding:12px;gap:8px;align-items:end;border-color:var(--dark-border)}.heatmap-card-head label{min-width:0}.heatmap-number{line-height:32px}
.heatmap-card label{font-size:11px;line-height:16px;gap:4px;color:var(--dark-muted)}
.heatmap-card :is(select,button){min-height:32px;font-size:12px;line-height:18px;padding:6px 8px;background:var(--dark-control);color:var(--dark-text);border-color:var(--dark-border)}
.heatmap-card button:hover{background:#969696;border-color:#7da5bc}.heatmap-card-head button{min-width:32px}.heatmap-card-head select{font-size:13px}
.heatmap-controls{gap:12px;padding:12px}.heatmap-settings{padding:0 12px 12px}.heatmap-settings summary{font-size:11px;line-height:20px}.heatmap-layer-controls{gap:12px;padding:12px 0}
.heatmap-card-info{font-size:11px;line-height:18px;min-height:52px;padding:8px 12px;color:var(--dark-muted)}
.heatmap-time-controls{padding:0 12px 8px;gap:4px}.heatmap-card .chart-zoom-tools{background:var(--dark-surface);border-color:var(--dark-border);padding:8px 12px}
.heatmap-chart{height:480px;min-height:360px}.heatmap-context{min-height:52px;color:var(--dark-muted)}
.heatmap-intro>p,.heatmap-intro>details{font-size:12px;line-height:20px;padding:8px 16px}.heatmap-card .precision-crosshair output{background:#969696;color:#202020;border-color:#7595aa}
.heatmap-expanded{inset:24px;z-index:1200}.heatmap-expanded .heatmap-chart{height:calc(100dvh - 340px);min-height:360px}.maximized{inset:24px}.maximized .chart-container{min-height:360px}
summary{border-radius:3px}summary:hover{color:var(--accent)}.heatmap-settings summary:hover{color:#202020}
*{scrollbar-color:#8a9eaf #e9eef3;scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}.heatmap-card{scrollbar-color:#617f93 var(--dark-bg)}
input[type=range]:not(.stretch-controls input){min-height:32px}input[type=range]:focus-visible{outline-offset:0}
dialog{padding:24px;border-radius:8px}dialog::backdrop{background:#96969666}.expiration-settings-body{top:40px;max-width:calc(100vw - 48px)}
@media(max-width:1400px){.analyzer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analyzer-grid>section:last-child{grid-column:1/-1}.heatmap-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}}
@media(max-width:1000px){.workspace{grid-template-columns:1fr}.statistics{position:static;max-height:300px;margin-bottom:16px}.divider{display:none}.intro{flex-wrap:wrap}.snapshot-state{text-align:left}.heatmap-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}}
@media(max-width:760px){main{padding:12px}.topbar{height:auto;min-height:56px;padding:12px}.controls{padding:12px}.controls .instrument-label{min-width:100%}.panel-header,.panel-body{padding:12px}.view-tabs button{padding:8px 10px}.view-tabs span{display:none}.analyzer-grid{grid-template-columns:1fr}.analyzer-grid>section:last-child{grid-column:auto}.analyzer-grid .chart-container{min-width:0}.heatmap-grid{grid-template-columns:1fr}.heatmap-expanded,.maximized{inset:8px}.heatmap-expanded .heatmap-controls,.heatmap-expanded .heatmap-layer-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-summary{grid-template-columns:1fr}.panel-actions{max-width:100%}.iv-panel .iv-chart{height:500px!important}}
@media(pointer:coarse){button,select,input:not([type=checkbox]):not([type=range]){min-height:40px}.chart-zoom-tools button,.panel-actions button,.heatmap-card button,.heatmap-card select{min-height:40px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Dense option profiles retain a usable plot and scroll inside their panel. */
@media(max-width:760px){.iv-panel .iv-chart canvas{min-width:640px!important}.iv-panel .iv-chart{overflow:auto}.metrics-table{min-width:440px}#band-table{overflow:auto}}
.heatmap-legend{font-size:11px;line-height:18px;margin:0;padding:10px 12px;border-top:1px solid var(--dark-border);color:var(--dark-text);overflow-wrap:anywhere}
.heatmap-legend::before{content:'';display:block;height:6px;margin-bottom:8px;border-radius:2px;background:linear-gradient(90deg,#ee786b,#101f2b 50%,#31b6e5)}

.heatmap-legend[data-palette="thermal"]::before{background:linear-gradient(90deg,#19364c,#f46826 65%,#fff99e)}
.heatmap-chart canvas{touch-action:none;cursor:crosshair}.heatmap-expanded .heatmap-controls{grid-template-columns:repeat(4,minmax(0,1fr))}.heatmap-time-controls{gap:6px;flex-wrap:wrap}

@media(min-width:761px){.heatmap-expanded{display:flex;flex-direction:column}.heatmap-expanded>*{flex-shrink:0}.heatmap-expanded .heatmap-chart{flex:1 0 320px;height:auto;min-height:320px}.heatmap-expanded .heatmap-card-info{min-height:34px}.heatmap-expanded .heatmap-context{min-height:30px}.heatmap-expanded .heatmap-legend{padding:6px 12px}.heatmap-expanded .heatmap-controls{gap:6px;padding:8px 12px}}
@media(max-width:760px){.heatmap-expanded .heatmap-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Crosshair readouts belong to their chart and never intercept pan gestures. */
.precision-crosshair output{width:max-content;overflow:hidden;pointer-events:none;z-index:2}

/* Unified terminal chart shell: a single palette, control rhythm and plot height. */
:root{--chart-height:520px;--dark-bg:var(--surface);--dark-surface:var(--surface);--dark-control:var(--surface-raised);--dark-border:var(--border);--dark-text:var(--text);--dark-muted:var(--muted)}
.panel,.controls{box-shadow:0 1px 2px #23344708}
.panel-header,.heatmap-card-head{border-top:0!important;background:var(--surface-raised);border-bottom:1px solid var(--border)}
.panel-header h2,.lens-card h3{font-size:13px;font-weight:600;letter-spacing:0}
.panel-body{padding:16px}.visuals,.visuals>section,.visuals>div{min-width:0}
.view-tabs{padding:0;border-bottom:1px solid var(--border);gap:4px}
.view-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);min-height:40px}
.view-tabs button:hover{background:#e4ecf3;color:var(--text)}
.view-tabs button.selected{background:#e4edf6;border-bottom:2px solid var(--accent);color:var(--accent);border-radius:0}
.panel-header p,.heatmap-card-info,.heatmap-context,.chart-caption{color:var(--muted)}
.chart-container,.panel-body .chart-container,.analyzer-grid .chart-container,.chart-container.fractal-chart,.lens-chart,.iv-panel .iv-chart,#vol-panel .curve-chart,#vol-panel .chart-container,#struct-panel .chart-container{height:var(--chart-height);min-height:320px;background:var(--surface);border:0;border-radius:0;resize:vertical}
.chart-container.fractal-chart{margin:0}.chart-container canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}
.chart-container canvas.is-panning{cursor:grabbing}
.chart-zoom-tools,.heatmap-card .chart-zoom-tools{min-height:48px;padding:8px 12px;gap:4px;flex-wrap:wrap;background:var(--surface-raised);border-block:1px solid var(--border);color:var(--muted)}
.chart-zoom-tools button,.heatmap-card .chart-zoom-tools button{font:600 11px/18px 'Segoe UI',system-ui,sans-serif;min-height:32px;min-width:32px;padding:6px 8px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text)}
.chart-zoom-tools button:hover,.heatmap-card button:hover{background:#e4edf6;color:var(--accent);border-color:#91a9bd}
.chart-zoom-tools span{margin-left:auto;min-width:32px;text-align:right}
.heatmap-card{color-scheme:light;scrollbar-color:#8a9eaf #e9eef3}
.heatmap-card-head{min-height:76px}.heatmap-number{color:var(--accent)}
.heatmap-card :is(select,button){background:var(--surface);color:var(--text);border-color:#202020}
.heatmap-controls,.heatmap-layer-controls{gap:12px}.heatmap-settings{padding:0 12px 12px}
.heatmap-settings summary{color:var(--accent);padding:8px 0;border-top:1px solid var(--border)}
.heatmap-settings summary:hover{color:#172f46}.heatmap-settings .heatmap-controls{padding:12px 0}
.heatmap-card-info{min-height:36px;border-top:1px solid var(--border);background:var(--surface-raised)}
.heatmap-card .precision-crosshair output,.precision-crosshair output{background:#fffffffa;color:var(--text);border:1px solid #91a5b7;box-shadow:0 4px 16px #23344720;font-family:'Segoe UI',system-ui,sans-serif}
.heatmap-card .precision-crosshair i{border-color:#66788a}.heatmap-legend{color:var(--muted)}
.heatmap-legend::before{background:linear-gradient(90deg,#ac2f30,#fbefed 48%,#edf6fb 52%,#146b8e)}
.heatmap-legend[data-palette="thermal"]::before{background:linear-gradient(90deg,#fff9e1,#f4a441 65%,#b03023)}
.heatmap-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:start}
.heatmap-expanded{background:var(--surface);box-shadow:0 0 0 40px #23344780}
.analyzer-grid{gap:16px;padding:16px;background:var(--bg)}
.analyzer-grid>section{padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.analyzer-grid h3{margin:0 0 12px;padding:0 0 8px;font-size:12px;font-weight:600}
.analyzer-controls,.market-controls,.density-controls{border-color:var(--border);background:var(--surface-raised)}
.metrics-table :is(th,td){padding:8px 12px}.metrics-table th{background:var(--surface-raised);font-weight:600}
.lens-detail{margin:0;min-height:36px}.lens-card .chart-container{overflow:auto}.lens-card canvas{min-width:680px}
:is(.iv-cards>div,.profile-summary>div,.iv-fair-values>div){border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);padding:12px}
:is(.iv-cards strong,.profile-summary strong,.iv-fair-values strong){font-size:20px;line-height:28px;color:var(--text)}
:is(.iv-cards span,.profile-summary span,.iv-fair-values span){font-size:11px;line-height:16px;color:var(--muted)}
.chart-container.chart-focus{position:fixed!important;inset:72px 24px 24px!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;z-index:1401;resize:none;box-shadow:0 0 0 100vmax #233447b0;overflow:auto}
.chart-zoom-tools.chart-focus-toolbar{position:fixed!important;inset:24px 24px auto!important;min-height:48px;z-index:1402;border-radius:6px 6px 0 0}
.chart-focus canvas{height:100%!important;min-width:0!important}
@media(max-width:1000px){.analyzer-grid{grid-template-columns:1fr}.analyzer-grid>section:last-child{grid-column:auto}.heatmap-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}}
@media(max-width:760px){:root{--chart-height:440px}.panel-header{gap:12px}.panel-actions{width:100%;justify-content:flex-start}.panel-actions label{flex-wrap:wrap}.view-tabs{flex-wrap:nowrap;overflow-x:auto}.view-tabs button{flex:0 0 auto}.view-spacer,#compute-time{display:none}.analyzer-grid{padding:12px;gap:12px}.heatmap-grid{grid-template-columns:1fr}.iv-panel .iv-chart{height:var(--chart-height)!important}.chart-container.chart-focus{inset:100px 8px 8px!important}.chart-zoom-tools.chart-focus-toolbar{inset:8px 8px auto!important;height:92px}.chart-focus-toolbar button{flex-grow:1}.chart-focus-toolbar span{display:none}.heatmap-expanded .heatmap-quick-controls{grid-template-columns:1fr 1fr}.top-actions{flex-wrap:wrap}.chart-zoom-tools{row-gap:6px}}
@media(pointer:coarse){.chart-zoom-tools button,.heatmap-card .chart-zoom-tools button{min-height:40px}.chart-container.chart-focus{top:88px!important}.chart-focus-toolbar{min-height:64px!important}}
@media(pointer:coarse) and (max-width:760px){.chart-container.chart-focus{top:112px!important}.chart-focus-toolbar{height:104px!important}}

/* Direct manipulation replaces all chart navigation toolbars and slider rails. */
:root{--chart-height:clamp(320px,52dvh,520px)}
main{padding:16px}.intro{margin-bottom:12px;gap:16px}.intro h1{font-size:20px;line-height:26px}.intro .eyebrow{display:none}.intro p{font-size:12px}
.controls{padding:12px;gap:12px}.secondary-controls{min-height:32px}.notice,.feed-status{margin-bottom:8px}
.panel-header{min-height:48px;padding:8px 12px}.panel-body{padding:12px}
.market-panel .panel-header{min-height:44px}.market-panel .panel-header>div{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.market-panel .panel-header p{margin:0}
.market-panel .panel-body:has(#alpaca-connect[hidden]):has(#option-browser[hidden]){display:none}
.fractal-stage{display:block}.fractal-stage .fractal-chart{width:100%}
.chart-container.chart-focus{inset:16px!important;border:1px solid var(--border);border-radius:var(--radius)}
.heatmap-card-head{min-height:60px;padding:8px 12px}.heatmap-controls{padding:8px 12px;gap:8px 12px}
.heatmap-settings{padding-bottom:4px}.heatmap-settings summary{padding:6px 0}.heatmap-card-info{min-height:0;padding:6px 12px}
.heatmap-context{min-height:0;padding:6px 12px}.heatmap-legend{padding:6px 12px}.heatmap-legend::before{height:4px;margin-bottom:4px}
.heatmap-intro>p{padding:4px 12px}.heatmap-intro>p:empty{display:none}.heatmap-grid,.lens-grid{margin-top:12px;gap:12px}
.heatmap-expanded .heatmap-chart{flex:1 0 280px;min-height:280px}.lens-detail{padding:6px 12px;min-height:0}
.chart-container{overscroll-behavior:auto}.chart-caption:empty{display:none}
@media(max-width:760px){main{padding:8px}.intro h1{font-size:18px}.intro>div>p{display:none}.snapshot-state{margin-top:4px;font-size:11px}.panel-body{padding:8px}.panel-header{padding:8px 12px}.panel-actions{width:auto}.chart-container.chart-focus{inset:8px!important}.heatmap-expanded .heatmap-chart{height:var(--chart-height);min-height:280px}}

.intro{margin-bottom:8px;min-height:24px;justify-content:flex-end}.intro>div:first-child{display:none}.snapshot-state{font-size:11px}
.heatmap-intro{display:grid;grid-template-columns:1fr 1fr}.heatmap-intro>.panel-header{grid-column:1/-1}.heatmap-intro>p{min-width:0;overflow-wrap:anywhere;padding:4px 12px}
@media(max-width:760px){.intro{justify-content:flex-start}.heatmap-intro{grid-template-columns:1fr}.heatmap-intro>p{grid-column:1}}

/* Shared minimal surfaces and fluid per-chart lens layout. */
.panel,.controls{box-shadow:none;border-radius:5px}
.panel-header,.heatmap-card-head{background:var(--surface);border-bottom-color:#202020}
.chart-icon-action{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;padding:2px 6px;border:0;background:transparent;color:var(--muted);font-size:16px}
.chart-icon-action:hover{color:var(--accent);background:var(--surface-raised)}
.lens-intro{border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent}
.lens-intro>.panel-header{padding:6px 0;border:0;background:transparent;min-height:36px}
.lens-intro>.panel-header p{display:none}
.lens-intro .panel-actions label{font-size:0;gap:0}
.lens-intro .panel-actions select{font-size:12px}
.lens-intro>p{margin:0;padding:2px 0;font-size:11px;line-height:18px;color:var(--muted)}
.lens-intro>details{margin:0;padding:2px 0 6px;font-size:11px;line-height:18px;color:var(--muted)}
.lens-intro>details p{margin:4px 0}
.lens-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,490px),1fr));gap:10px;align-items:start}
.lens-card{min-width:0;overflow:hidden}
.lens-card>.panel-header{min-height:38px;padding:5px 10px;border-bottom:0;gap:8px}
.lens-heading{display:flex;align-items:baseline;gap:8px;min-width:0}
.lens-heading h3,.lens-heading p{margin:0;white-space:nowrap}
.lens-heading p{font-size:11px;color:var(--muted)}
.lens-detail{padding:0 10px 4px;font-size:11px;line-height:16px;color:var(--muted)}
.lens-card .lens-chart{height:clamp(280px,39dvh,420px);min-height:260px;width:100%;overflow:hidden}
.lens-card canvas{width:100%;min-width:0!important}
.lens-card:focus-within{border-color:#202020}
.lens-card .chart-focus{overflow:hidden}
@media(max-width:760px){.lens-grid{grid-template-columns:1fr;gap:8px}.lens-intro .panel-header{flex-wrap:wrap}.lens-intro .panel-actions{width:100%;justify-content:space-between}.lens-card .lens-chart{height:330px}.lens-detail{font-size:10px}}

/* Compact chart controls; advanced settings float without reducing plot height. */
.heatmap-card-head{min-height:40px;padding:4px 8px;gap:5px;align-items:center}
.heatmap-card-head label>span,.heatmap-quick-controls label>span{display:none}
.heatmap-card-head select{border-color:transparent;font-size:12px;height:30px;min-height:30px;padding:3px 5px;background:transparent}
.heatmap-card .chart-icon-action{min-width:28px;min-height:28px;padding:2px 5px;border:0;background:transparent;font-size:15px}
.heatmap-number{font-size:10px;line-height:28px}
.heatmap-quick-controls{padding:0 8px 5px;gap:6px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.heatmap-quick-controls select{height:28px;min-height:28px;padding:3px 6px;font-size:11px;border-color:#202020;background:var(--surface-raised)}
.heatmap-card-info{padding:3px 8px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.heatmap-settings-popover{position:fixed;inset:auto;margin:0;width:min(360px,calc(100vw - 16px));box-sizing:border-box;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:0 8px 32px #23344726;overflow:auto;overscroll-behavior:contain}
.heatmap-settings-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:12px}
.heatmap-settings-popover .heatmap-controls,.heatmap-expanded .heatmap-settings-popover .heatmap-controls{padding:0 0 12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
.heatmap-settings-popover .heatmap-layer-controls,.heatmap-expanded .heatmap-settings-popover .heatmap-layer-controls{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:12px 0 0}
.heatmap-settings-popover label{min-width:0;font-size:11px;line-height:16px}
.heatmap-settings-popover :is(select,input[type=number]){width:100%;box-sizing:border-box;font-size:11px;min-height:30px;padding:4px 6px}
.heatmap-settings-popover [hidden]{display:none!important}
@media(pointer:coarse){.heatmap-card-head select,.heatmap-card .chart-icon-action,.heatmap-quick-controls select{min-height:40px}.heatmap-settings-popover :is(select,input[type=number]){min-height:40px}}
/* Professional workspace system: presentation only. */
:root{--bg:#f1f4f7;--surface:#fff;--surface-raised:#f7f9fb;--text:#253447;--muted:#526579;--border:#d8e0e8;--accent:#325c80;--focus:#176eac;--control:30px;--radius:4px;--stats:248px;font:12px/1.5 'Segoe UI',system-ui,sans-serif}
body{color-scheme:light}main{max-width:2560px;padding:10px 12px 12px}button,select,input{font-variant-numeric:tabular-nums}button,select,input:not([type=checkbox]):not([type=range]){min-height:30px;border-radius:4px;font-size:12px;padding:4px 8px;line-height:20px}
.topbar{min-height:44px;height:44px;padding:0 16px;gap:20px;background:var(--surface);border-bottom:1px solid var(--border)}
.brand{font-size:13px;letter-spacing:1px;gap:8px;flex:none}.brandmark{font-size:24px;padding-right:4px}.topbar .subtitle{display:none}.top-actions{gap:6px;flex:none}.topbar .badge{font-size:10px;letter-spacing:.4px;padding:4px 7px;white-space:nowrap}.topbar button{background:transparent;border-color:transparent;color:var(--muted)}
.terminal-quote{margin:0 auto 0 0;text-align:left;max-width:none;min-width:0;font-size:11px;line-height:18px;gap:8px}.terminal-quote #snapshot-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.terminal-quote .status-dot{flex:none;box-shadow:none}
#settings{display:flex;flex-wrap:wrap;align-items:end;gap:8px;padding:8px 10px;border-radius:4px;background:var(--surface)}
#settings>label{flex:0 1 auto;min-width:90px;font-size:11px;line-height:16px;gap:3px;color:var(--muted)}
#settings>.instrument-label{flex:0 1 230px;min-width:200px;margin-right:4px}#settings>label:has(#wave){min-width:64px}#settings #wave{width:64px}
#settings :is(input,select){height:30px;min-height:30px;font-size:12px}#settings .primary{height:30px;min-height:30px;margin-left:2px;padding-inline:12px;font-size:12px}.primary span{margin-left:6px}
.workspace-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:28px;margin:0;padding:2px 2px;font-size:11px}.workspace-status #notice{padding:0 8px;border:0;border-left:1px solid var(--border);background:transparent;margin:0;border-radius:0;font-size:11px;line-height:18px;color:var(--muted)}
.workspace-status #notice.error{background:#fff0ef;border:1px solid #d78983;color:#9e292c;padding:3px 8px}.workspace-status.has-pending #pending{color:#175d91;font-weight:600}.workspace-status #reset-layout{min-height:24px;padding:2px 6px;font-weight:400;font-size:11px}
.view-tabs{margin:0 0 0;min-height:36px;gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;background:transparent}.view-tabs>button{flex:none;min-height:36px;padding:6px 12px;font-size:12px;font-weight:600;color:var(--muted);border-radius:0}.view-tabs>button.selected{background:transparent;color:var(--accent);border-bottom-color:var(--accent)}.view-tabs span{display:none}.view-tabs .view-spacer{display:block;flex:1}.view-tabs #workspace-insights{margin-left:auto;min-height:28px;padding:3px 10px;border:1px solid transparent;border-radius:4px;font-size:11px}.view-tabs #workspace-insights[aria-pressed=true]{background:#e7eef5;border-color:#202020;color:var(--accent)}
#feed-status{background:transparent;border:0;border-radius:0;font-size:11px;line-height:18px;min-height:26px;padding:4px 2px;margin:0 0 6px;color:var(--muted)}
.workspace{grid-template-columns:var(--stats) 10px minmax(0,1fr)}.divider{min-height:380px}.divider:after{left:4px;background:#b8c7d4;opacity:.55}
body[data-insights=false] .workspace{grid-template-columns:minmax(0,1fr)}body[data-insights=false] #stats-panel,body[data-insights=false] #stats-divider{display:none}
.statistics{top:10px;max-height:calc(100dvh - 20px);border-radius:4px}.statistics>.panel-header{position:sticky;top:0;z-index:8;background:var(--surface);min-height:36px;padding:4px 10px}.statistics .panel-body{padding:0 10px 10px}
.stat-kicker{margin:12px 0 5px;font-size:10px;letter-spacing:.8px;color:var(--muted)}.stat-pair{padding:6px 0;font-size:11px;line-height:17px}.stat-pair strong{font-family:inherit;font-weight:600}.sample-count{font-size:28px;line-height:34px}.event-row{padding:8px 0}.event-top{font-size:11px;line-height:17px}.event-top strong{font-size:12px}.event-definition{font-size:10px;line-height:16px;margin-top:3px}.meter{margin-top:5px}.stats-group{margin:6px 0;padding:0 8px;background:transparent}.stats-group summary{padding:7px 0;font-size:11px}.limited,.stats-context{font-size:11px;line-height:17px}
.panel{border-radius:4px;box-shadow:none}.panel-header{min-height:40px;padding:6px 10px;gap:8px;background:var(--surface);border-bottom:1px solid #e6ebf0}.panel-header h2,.lens-card h3{font-size:12px;line-height:18px;font-weight:650}.panel-header p{font-size:11px;line-height:16px;margin:1px 0 0}.panel-body{padding:10px}.panel-actions{gap:6px}.panel-actions :is(button,select){font-size:11px;min-height:28px;padding:3px 7px}.panel-actions select{max-width:200px}.chart-icon-action,[data-max],[data-collapse]{min-height:28px;min-width:28px;padding:2px 5px;border:0;background:transparent;font-size:15px}
.chart-container,.panel-body .chart-container,.chart-container.fractal-chart{height:clamp(320px,51dvh,540px);min-height:280px}.fractal-stage{padding:0}#fractal{min-width:0!important}.chart-caption,.heatmap-context{font-size:11px;line-height:17px;padding:5px 10px}.precision-crosshair output{border-radius:4px;font:11px/17px 'Segoe UI',system-ui,sans-serif;padding:6px 8px;box-shadow:0 4px 14px #2032471c}
.workspace-details{border-top:1px solid #e5ebf0;margin:0;font-size:11px}.workspace-details>summary{padding:7px 10px;min-height:30px;cursor:pointer;font-weight:600;color:var(--muted);list-style-position:inside}.workspace-details[open]>summary{background:var(--surface-raised)}.workspace-details #band-table{padding:0 10px 8px}.workspace-details #band-table>p{padding:5px 0;font-size:11px}.workspace-details #volatility-metrics{padding:0 8px 8px}
.metrics-table,.option-table table{font:11px/17px 'Segoe UI',system-ui,sans-serif;font-variant-numeric:tabular-nums;margin-top:0}.metrics-table :is(th,td),.option-table :is(th,td){height:30px;padding:6px 8px;border-bottom-color:#202020}.metrics-table th,.option-table th{font-size:11px;font-weight:600;letter-spacing:0;background:#f3f6f9}.metrics-table :is(th,td):not(:first-child){text-align:right}.metrics-table th:first-child{text-align:left}.metrics-table tr:nth-child(even){background:#fafbfd}.metrics-table tbody tr:hover{background:#eef3f8}
.analyzer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px;background:var(--bg);overflow:visible}.analyzer-grid>section{padding:8px;border-radius:4px;min-width:0}.analyzer-grid>section:last-child{grid-column:1/-1}.analyzer-grid h3{font-size:12px;letter-spacing:0;margin:0 0 4px;padding:0 0 6px}.analyzer-grid .chart-container{height:clamp(280px,35dvh,360px);min-width:0}.analyzer-grid>section:last-child .chart-container{height:clamp(300px,39dvh,420px)}
.analyzer-controls,.market-controls,.density-controls{padding:7px 8px;gap:8px;margin:6px 0;background:var(--surface-raised);border:1px solid #e3e9ef;border-radius:4px}.analyzer-controls label,.market-controls label,.density-controls label{font-size:11px;line-height:17px;gap:4px}.analyzer-controls input[type=number]{width:110px}.analyzer-ledger{padding:8px 10px;max-height:360px;font-size:11px}.analyzer-ledger>summary{padding:6px 0}.analyzer-grid details{padding:5px 0}.analyzer-grid details table{width:100%}#target-readout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}#target-readout .stat-pair{display:flex;flex-direction:column;gap:2px;border:0;background:var(--surface-raised);padding:6px 8px}#target-readout .stat-pair strong{text-align:left}
.spread-summary{padding:5px 2px 9px;gap:8px 20px;font-size:11px}.spread-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.iv-panel,.structural-panel{grid-column:1/-1}.iv-panel .panel-body{padding:8px}.iv-panel .market-controls{margin:0 0 6px;align-items:end}.iv-panel .market-controls>label{flex:0 1 180px}.iv-panel .market-controls>button{margin-left:auto}.iv-panel .iv-chart{height:clamp(360px,56dvh,610px);min-height:300px}.iv-cards{gap:6px;margin-bottom:6px}.iv-cards>div{padding:6px 8px;background:var(--surface-raised);border:1px solid var(--border);border-radius:4px}.iv-cards strong{font:600 18px/26px 'Segoe UI',system-ui,sans-serif}.iv-cards span{font-size:11px;letter-spacing:0}.iv-fair-values,.profile-summary{gap:6px;margin:6px 0}.iv-fair-values>div,.profile-summary>div{padding:6px 8px;border-radius:4px}.iv-fair-values strong,.profile-summary strong{font:600 17px/24px 'Segoe UI',system-ui,sans-serif;margin:0}.iv-fair-values span,.profile-summary span{font-size:11px;letter-spacing:0}.iv-fair-values p{font-size:11px}.profile-summary small{font-size:11px;line-height:16px}.iv-values>summary,.iv-model-note>summary{min-height:28px;padding:5px 0}#iv-status{font-size:11px;margin:5px 0}.curve-header{padding:8px 2px 3px;font-weight:600}.curve-header span{font-weight:400}#vol-panel .curve-chart{height:380px;min-height:280px}#vol-panel #volatility{min-width:0!important}#structural{min-width:0!important}.structural-empty{min-height:150px}.zone-summary{padding:6px 0;font-size:11px}.zone-list{gap:6px}.zone-list>div{padding:8px;min-width:150px;flex:1;border-radius:4px}.zone-list strong{font-size:13px}
.lens-grid{gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr))}.lens-card>.panel-header{padding:5px 8px;min-height:36px}.lens-card .lens-chart{height:clamp(300px,40dvh,440px);min-height:280px}.lens-detail{padding:0 8px 4px;font-size:11px}.lens-intro>.panel-header{min-height:36px}.lens-intro>details{font-size:11px}.lens-intro>p{font-size:11px}
.heatmap-grid{gap:10px;margin-top:8px;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.heatmap-intro>.panel-header{min-height:40px;padding:6px 10px}.heatmap-intro>.panel-header p{display:none}.heatmap-intro>p{font-size:11px;line-height:17px;padding:4px 10px}.heatmap-feed-details{grid-column:1/-1;border:0}.heatmap-feed-details>summary{font-size:11px;padding:2px 10px 5px;min-height:24px;font-weight:400}.heatmap-feed-details>p{padding:2px 10px;font-size:11px}.heatmap-card-info{font-size:11px;line-height:17px}.heatmap-card label,.heatmap-settings-popover label{color:var(--muted)}.heatmap-card-head{min-height:38px}.heatmap-context,.heatmap-legend{font-size:11px;line-height:17px;padding:5px 8px}.heatmap-chart{height:clamp(340px,53dvh,560px)}
.terminal-popover{position:fixed;inset:auto;margin:0;padding:12px;overflow:auto;overscroll-behavior:contain;border:1px solid #bdcbd8;border-radius:6px;background:var(--surface);color:var(--text);box-shadow:0 8px 32px #23344726;z-index:1500}.terminal-popover-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;grid-column:1/-1;font-size:12px;margin-bottom:8px}.terminal-popover>label{display:flex;flex-direction:column;font-size:11px;gap:4px}.terminal-popover>label:has(input[type=checkbox]){flex-direction:row;align-items:center;min-height:28px}.terminal-popover :is(input:not([type=checkbox]),select){width:100%;min-width:0}.profile-settings:popover-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-settings .terminal-popover-heading{margin:0}
#options-market.terminal-popover{z-index:1500;overflow:auto}#options-market.terminal-popover>.panel-header{display:block;padding:0;border:0}#options-market.terminal-popover h2{display:none}#options-market.terminal-popover .panel-header p{font-size:11px;line-height:18px;margin:0 0 6px}#options-market.terminal-popover .panel-body{padding:0}#options-market.terminal-popover #expiration-settings summary{padding:6px 8px;font-size:11px}#options-market.terminal-popover .expiration-settings-body{position:static;width:100%;max-width:none;box-shadow:none;padding:8px;margin-top:6px}#options-market.terminal-popover .market-controls{display:grid;grid-template-columns:1fr;margin:8px 0 0}#options-market.terminal-popover .market-controls p{font-size:11px}
.skip-link{position:fixed;left:12px;top:-60px;z-index:3000;padding:8px 12px;background:var(--surface);color:var(--accent);border:2px solid var(--focus);border-radius:4px}.skip-link:focus{top:8px}:is(button,select,input,summary,a,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px}summary{min-height:24px}footer{margin-top:10px;font-size:11px;gap:12px}.bottom-note{padding:8px 0;font-size:11px}
@media(min-width:1700px){.analyzer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr)}.analyzer-grid>section:last-child{grid-column:auto}.analyzer-grid .chart-container,.analyzer-grid>section:last-child .chart-container{height:clamp(300px,43dvh,450px)}#target-readout{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.terminal-quote{display:none}.topbar{justify-content:space-between}.spread-grid{grid-template-columns:1fr}.iv-panel,.structural-panel{grid-column:auto}}
@media(max-width:1000px){.workspace{grid-template-columns:1fr}.statistics{position:static;max-height:320px;margin:0 0 8px}.divider{display:none}.heatmap-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}#settings{gap:6px}#settings>.instrument-label{flex-basis:210px;min-width:180px}}
@media(max-width:760px){main{padding:6px}.topbar{height:42px;min-height:42px;padding:0 8px;gap:8px;flex-wrap:nowrap}.brand{font-size:11px;letter-spacing:.4px}.brandmark{display:none}.topbar .badge{font-size:9px;padding:3px 4px;letter-spacing:0}.top-actions{gap:3px}.top-actions button{font-size:11px;padding:3px 6px}.view-tabs>button{padding:6px 9px;font-size:11px}.view-tabs #workspace-insights{margin-left:0}.view-tabs .view-spacer{display:none}#settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:7px;gap:6px}#settings>.instrument-label{grid-column:1/-1;margin:0;min-width:0}#settings>label{min-width:0;flex:none}#settings #wave{width:100%}#settings>.primary{grid-column:1/-1;width:100%;margin:0}#settings :is(input,select){width:100%}.workspace-status{gap:4px;font-size:10px}.workspace-status #notice{font-size:10px;padding-inline:5px}#feed-status{font-size:10px;line-height:16px}.panel-header{padding:6px 8px}.panel-actions{gap:4px}.panel-header h2{font-size:12px}.analyzer-grid{grid-template-columns:1fr;padding:6px;gap:8px}.analyzer-grid>section:last-child{grid-column:auto}#target-readout{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-container.fractal-chart{height:380px;min-height:280px}.heatmap-grid,.lens-grid{grid-template-columns:1fr;gap:8px}.iv-panel .iv-chart{height:420px!important}.iv-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-summary>div{min-width:0}.profile-summary strong{font-size:16px}.iv-panel .market-controls>label{flex:1 1 120px}.metrics-table{min-width:0}.metrics-table :is(th,td){padding:5px;font-size:10px;overflow-wrap:anywhere}.iv-panel .iv-chart canvas{min-width:0!important}.heatmap-intro .panel-actions{width:100%;justify-content:flex-start}.heatmap-intro .panel-header{gap:4px}.lens-intro .panel-actions{width:100%;gap:6px}.lens-intro #lens-set{max-width:100%;width:100%}.lens-intro .panel-actions label{flex:1;min-width:0}footer>span{max-width:100%}.heatmap-expanded,.maximized{inset:6px}.maximized .chart-container{min-height:280px}.terminal-popover{padding:10px}.profile-settings:popover-open{gap:8px}}
@media(pointer:coarse){button,select,input:not([type=checkbox]):not([type=range]),.panel-actions :is(button,select),.chart-icon-action{min-height:40px}#settings :is(input,select),#settings .primary{height:40px;min-height:40px}.topbar{height:auto;min-height:48px}.view-tabs>button{min-height:40px}.view-tabs #workspace-insights{min-height:36px}}
.analyzer-grid{align-items:start}
.profile-context{margin-top:6px}.profile-context>.profile-summary,.profile-context>.iv-fair-values,.profile-context>.iv-model-note{margin:6px 8px}
.lens-intro #lens-status{margin:0;padding:3px 0;font-size:11px;line-height:18px}.lens-intro details{padding:2px 0 6px;margin:0}.lens-intro details>summary{min-height:24px}.lens-intro details p{padding:4px 0;margin:0}
#spread-grid>.structural-panel{grid-column:auto}.breakout-panel .curve-chart{height:clamp(320px,42dvh,440px);min-height:280px}.breakout-panel .panel-header p{max-width:560px}.breakout-panel .chart-caption{padding:5px 2px}.breakout-panel.maximized .curve-chart{height:calc(100dvh - 180px)}#struct-panel .structural-empty{min-height:220px}
@media(max-width:1100px){#spread-grid>.structural-panel{grid-column:1/-1}}
/* Keep workspace navigation available during long chart reviews. */
:root{--appbar-height:44px}.topbar{position:sticky;top:0;z-index:40}.view-tabs{position:sticky;top:var(--appbar-height);z-index:30;background:var(--bg)}.statistics{top:calc(var(--appbar-height) + 46px);max-height:calc(100dvh - var(--appbar-height) - 56px)}
@media(max-width:1000px){.statistics{position:static;max-height:320px}}
@media(max-width:760px){:root{--appbar-height:42px}}
@media(pointer:coarse){:root{--appbar-height:48px}}

/* Charts enter gesture mode only after an explicit click or keyboard activation. */
canvas[data-chart-active="false"]{cursor:pointer!important;touch-action:pan-y pinch-zoom!important}
canvas[data-chart-active="true"]{cursor:crosshair;touch-action:none!important}
.chart-interacting{outline:1px solid var(--accent);outline-offset:-1px}
canvas[data-chart-active="false"]:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}

/* Per-chart display settings; no calculation controls or gesture sliders. */
.graph-settings{padding:0!important;overflow:auto;overscroll-behavior:contain}
.graph-settings>.terminal-popover-heading{position:sticky;top:0;z-index:1;background:var(--surface);padding:10px 12px;border-bottom:1px solid var(--border)}
.graph-settings details{border-bottom:1px solid var(--border);padding:0 12px}
.graph-settings summary{cursor:pointer;padding:10px 0;font-weight:600;font-size:12px}
.graph-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding:0 0 12px}
.graph-settings-grid label{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:11px}
.graph-settings-grid select{width:100%;min-width:0}
.graph-settings-grid .graph-check{flex-direction:row;align-items:center;justify-content:space-between;min-height:26px;gap:6px}
.graph-settings-grid input[type=color]{height:28px;width:100%;padding:2px;border:1px solid var(--border);background:var(--surface)}
.graph-settings-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px}
.graph-settings-footer{position:sticky;bottom:0;background:var(--surface);padding:8px 12px;border-top:1px solid var(--border);text-align:right}
.lens-card .graph-settings-trigger{order:1;margin-left:auto}.lens-card .panel-header>.chart-icon-action:not(.graph-settings-trigger){order:2;margin-left:0}

.chart-interpretation{padding:0;color:var(--text,#233447);background:#fff;border:1px solid #cbd7e2;border-radius:8px;box-shadow:0 12px 40px #172c4933;overflow:auto;z-index:1000;font:12px/1.5 "Segoe UI",sans-serif;}
.chart-interpretation>header,.chart-interpretation>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#f6f8fb;position:sticky;top:0;z-index:1;border-bottom:1px solid #e2e8ef;}
.chart-interpretation>footer{bottom:0;top:auto;border-top:1px solid #e2e8ef;font-size:11px;}
.interpretation-content{padding:4px 14px 14px;}.interpretation-content section{padding:10px 0;border-top:1px solid #e2e8ef;}.interpretation-content h3{font-size:12px;margin:0 0 6px;}.interpretation-content p{margin:5px 0;}.interpretation-context,.interpretation-status{font-size:11px;color:#596e82;}.interpretation-content ul{padding-left:17px;margin:6px 0;}.interpretation-content li{margin:4px 0;}.interpretation-content table{width:100%;border-collapse:collapse;font-size:11px;}.interpretation-content th,.interpretation-content td{text-align:left;padding:6px 4px;border-bottom:1px solid #edf1f5;}.interpretation-content td:nth-child(n+2){white-space:nowrap;font-variant-numeric:tabular-nums;}.interpretation-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:9px 0;}.interpretation-stats>div{display:flex;flex-direction:column;background:#f6f8fb;padding:8px;border-radius:4px;}.interpretation-stats span{color:#596e82;font-size:11px;}.interpretation-content details{font-size:11px;overflow-wrap:anywhere;}

/* Keep exposure cards focused on the plot; detailed controls stay in settings. */
.heatmap-quick-controls{grid-template-columns:minmax(0,1fr)}
.heatmap-expanded .heatmap-quick-controls{grid-template-columns:minmax(0,1fr)}
.heatmap-context[hidden]{display:none}
.heatmap-legend{padding:4px 8px;font-size:10px;line-height:15px}
.heatmap-legend::before{height:3px;margin-bottom:3px}

.compass-controls{border:1px solid var(--border,#d7e1e9);border-radius:4px;margin:4px 0 8px;padding:7px 10px;font-size:12px}
.compass-controls[hidden]{display:none}.compass-controls summary{cursor:pointer;color:#35556e}.compass-body{display:grid;gap:8px;padding-top:10px}.compass-layers{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.compass-layers label{display:flex;gap:4px;align-items:center}.compass-scenario{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.compass-scenario strong{align-self:center;min-width:76px}.compass-scenario label{display:grid;gap:4px;font-size:11px}.compass-scenario input{width:88px;min-height:30px}.compass-result{align-self:center;font-size:11px;color:#526579}.compass-layers select{min-height:30px}.compass-scenario button{min-height:30px}

/* Fractal terminal — one presentation system, no analytical changes. */
:root{color-scheme:light;--bg:#080d12;--surface:#969696;--surface-raised:#151f2a;--text:#080808;--muted:#242424;--border:#707070;--accent:#006400;--focus:#5b1674;--up:#006400;--down:#a00000;--control:28px;--radius:3px;--stats:224px;--dark-bg:#898989;--dark-control:#17212c;--dark-text:#080808;--dark-border:#707070}
html,body{background:var(--bg);color:var(--text);color-scheme:light}body{font:12px/1.45 'Segoe UI',system-ui,sans-serif;font-variant-numeric:tabular-nums}main{max-width:none;padding:8px}
button,select,input:not([type=checkbox]):not([type=range]),.heatmap-card :is(select,button){color:var(--text);background:#969696;border:1px solid var(--border);border-radius:3px;min-height:28px;padding:3px 8px;font-size:12px;line-height:20px}button:hover{background:#969696;border-color:#526979}button:disabled{opacity:.45}.primary,#settings .primary{background:#969696;border-color:#3b8e83;color:#202020}.primary:hover{background:#338277}option{background:#969696;color:var(--text)}input[type=checkbox]{accent-color:var(--accent)}a{color:#5b1674}::selection{background:#969696;color:#fff}
.topbar{height:40px;min-height:40px;padding:0 12px;background:#898989;border-bottom:1px solid var(--border);gap:16px}.brand{font-size:11px;letter-spacing:1.4px;color:var(--text)}.brandmark{font-size:22px;color:var(--accent)}.terminal-quote{color:var(--muted)}.badge,.topbar .badge{border:1px solid #394337;color:#202020;background:#969696;font-size:10px;padding:2px 6px}.status-dot{background:var(--accent)}.top-actions button{font-size:11px;padding:2px 8px;color:var(--muted)}
#settings{gap:6px;padding:6px 8px;background:var(--surface);border-color:var(--border)}#settings>label{font-size:10px;line-height:14px;gap:2px}#settings :is(input,select),#settings .primary{height:28px;min-height:28px}#settings>.instrument-label{flex-basis:218px}#settings #wave{width:72px}
.workspace-status{min-height:22px;font-size:10px;gap:6px}.workspace-status #notice{font-size:10px}.workspace-status.has-pending #pending{color:#202020}.workspace-status #notice.error,.notice.error{color:#202020;background:#969696;border-color:#8b4954}.view-tabs{min-height:34px;border-bottom:1px solid var(--border);gap:2px}.view-tabs>button{min-height:34px;font-size:11px;padding:5px 12px;background:transparent;border:0;border-bottom:2px solid transparent}.view-tabs>button.selected{color:var(--accent);background:#969696;border-bottom-color:var(--accent)}.view-tabs #workspace-insights[aria-pressed=true],.linked-cursors[aria-pressed=true]{background:#969696;color:var(--accent);border-color:#2e6158}.view-tabs .linked-cursors{margin-left:auto;min-height:26px;font-size:10px;padding:2px 8px;align-self:center}.view-tabs #workspace-insights{margin-left:0}
#feed-status{min-height:20px;line-height:16px;padding:2px 0;margin-bottom:4px;color:var(--muted);font-size:10px}.workspace{grid-template-columns:var(--stats) 8px minmax(0,1fr)}.divider:after{background:#4a6071}.panel,.lens-card,.heatmap-card,.analyzer-grid>section{background:var(--surface);border:1px solid var(--border);border-radius:3px;box-shadow:none}.panel-header{background:var(--surface);border-bottom-color:var(--border);min-height:34px;padding:5px 8px}.panel-header h2,.lens-card h3{font-size:12px;letter-spacing:.15px}.panel-header p{font-size:10px;color:var(--muted)}.panel-body{padding:8px}.panel-actions button,.chart-icon-action,[data-max],[data-collapse]{color:var(--muted);background:transparent;border:0;min-height:26px;min-width:26px;padding:2px 5px}.panel-actions button:hover,.chart-icon-action:hover{color:var(--text);background:#969696}.statistics{top:8px;border-color:var(--border)}.statistics>.panel-header{min-height:34px}.statistics .panel-body{padding:0 8px 8px}.stat-kicker{margin:10px 0 4px;color:#242424;font-size:9px;letter-spacing:1px}.stat-pair{border-color:#26313c;padding:5px 0;font-size:11px}.stat-pair strong,.event-top strong{color:var(--text)}.sample-count{font-size:26px;line-height:30px}.up{color:var(--up)}.down{color:var(--down)}.muted,.limited,.stats-context,.event-definition{color:var(--muted)}.meter{background:#969696}.meter span{background:#969696}.stats-group{border-color:var(--border);background:transparent}
.chart-container,.panel-body .chart-container,.chart-container.fractal-chart{background:#898989;height:clamp(300px,47dvh,510px);min-height:260px;overscroll-behavior:auto}.chart-container canvas{background:#898989}.chart-container.chart-interacting{outline:1px solid #006400;outline-offset:-1px}.chart-container.chart-interacting:after{background:#969696;color:#202020;border-color:#34695e}.chart-caption,.heatmap-context,#target-status{font-size:10px;line-height:16px;color:var(--muted);padding:4px 8px}.chart-caption:empty{display:none}
.precision-crosshair .cross-h,.precision-crosshair .cross-v{border-color:#8ba7bb}.precision-crosshair output{background:#969696;color:#080808;border:1px solid #4d6272;border-radius:3px;font:11px/17px 'Segoe UI',sans-serif;box-shadow:0 3px 12px #0005}.linked-price-cursor{position:absolute;pointer-events:none;border-top:1px dashed #8aada8;z-index:8}.linked-price-cursor span{position:absolute;right:0;top:-17px;background:#969696;color:#202020;font-size:10px;padding:1px 4px}.linked-price-cursor[hidden]{display:none}
.chart-spec{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:22px;padding:2px 8px;border-bottom:1px solid #202b36;background:#969696;font-size:10px;color:var(--muted)}.chart-spec span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-spec button{font-size:10px;min-height:20px;padding:0 5px;background:transparent;border:0;color:#242424}.chart-spec button:hover{color:var(--text)}
.workspace-details,.workspace-details>summary,.analyzer-ledger,.stats-group,.iv-model-note,.iv-values{border-color:var(--border);color:var(--muted)}.workspace-details[open]>summary{background:#969696}.metrics-table,.option-table table,table{color:var(--text);font-variant-numeric:tabular-nums}.metrics-table :is(th,td),.option-table :is(th,td),table :is(th,td){border-color:#25313c;font-size:11px;padding:5px 8px;height:28px}.metrics-table th,.option-table th,table th{background:#969696;color:#202020;font-weight:600}.metrics-table tr:nth-child(even),.option-table tr:nth-child(even){background:#969696}.metrics-table tbody tr:hover,.option-table tbody tr:hover{background:#969696}.option-table td:not(:first-child){font-family:'Cascadia Mono',Consolas,monospace;text-align:right}.option-table td small{color:var(--muted)}.option-table th button{padding:0;border:0;font-size:11px;background:transparent;color:inherit}.option-table{scrollbar-color:#3b4e5d #969696}
.analyzer-controls,.market-controls,.density-controls,.compass-controls{background:#969696;border-color:var(--border);padding:5px 8px;gap:8px}.analyzer-controls label,.market-controls label,.density-controls label{color:var(--muted);font-size:10px}.analyzer-grid{gap:8px;padding:8px;background:var(--bg)}.analyzer-grid h3{color:var(--text)}#target-readout .stat-pair{background:#969696}.spread-grid{gap:8px}.spread-summary{padding:4px 0 6px;font-size:10px;color:var(--muted)}.iv-panel .iv-chart{height:clamp(340px,48dvh,530px)}.iv-panel .panel-body{padding:6px}.iv-cards{gap:6px}.iv-cards>div,.iv-fair-values>div,.profile-summary>div{background:#969696;border-color:var(--border);padding:4px 8px}.iv-cards strong,.iv-fair-values strong,.profile-summary strong{font:600 16px/22px 'Cascadia Mono',Consolas,monospace;color:var(--text)}.iv-cards span,.iv-fair-values span,.profile-summary span{font-size:10px;color:var(--muted)}#iv-status{color:#b6a783;font-size:10px}.iv-fair-values small{color:var(--muted)}
.heatmap-intro,.lens-intro{background:transparent}.heatmap-intro .panel-header,.lens-intro .panel-header{background:transparent}.heatmap-grid{gap:8px}.heatmap-card-head{background:#969696;border-bottom-color:var(--border)}.heatmap-card-head label,.heatmap-card-info,.heatmap-number,.heatmap-legend{color:var(--muted)}.heatmap-card-head select{background:#969696;border:0}.heatmap-quick-controls{background:#969696}.heatmap-quick-controls select{background:#969696;border-color:var(--border)}.heatmap-card-info{background:#969696;border-color:var(--border)}.heatmap-legend::before{background:linear-gradient(90deg,#a00000,#141c26,#006b75)}.lens-grid{gap:8px}.lens-card .lens-chart{height:clamp(290px,39dvh,430px)}.lens-card:focus-within{border-color:#3b746e}.lens-detail{color:var(--muted)}
.terminal-popover,.heatmap-settings-popover,.graph-settings,.chart-interpretation,dialog{background:#969696;color:var(--text);border:1px solid #405261;border-radius:4px;box-shadow:0 10px 40px #0007}.terminal-popover-heading,.heatmap-settings-head,.chart-interpretation>header,.chart-interpretation>footer{background:#969696;color:var(--text);border-color:var(--border)}.terminal-popover label,.graph-settings label{color:#202020}.graph-settings details,.graph-settings-footer{border-color:var(--border)}.graph-settings summary,.compass-controls summary{color:#202020}.graph-settings-note,.compass-result,.interpretation-context,.interpretation-status{color:var(--muted)}.compass-controls{font-size:11px}.compass-body{padding-top:6px;gap:6px}.compass-layers{gap:10px}.compass-scenario{gap:8px}.compass-scenario input{width:80px;min-height:28px}.interpretation-content section,.interpretation-content :is(th,td){border-color:var(--border)}.interpretation-stats>div{background:#969696}.interpretation-stats span{color:var(--muted)}.maximized,.chart-focus,.heatmap-expanded{background:#898989!important;border-color:#405261!important}.structural-empty{padding:18px;background:#969696;color:var(--muted)}.structural-empty>span{display:none}.structural-empty h3{font-size:13px;color:var(--text)}
#options-market{width:min(1100px,calc(100vw - 24px))!important;max-height:85dvh!important;left:12px!important;top:48px!important}.chain-filter{margin-left:auto;min-width:160px}.chain-toolbar{display:flex;align-items:center;gap:8px;margin:5px 0}.chain-toolbar label{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.chain-toolbar small{color:var(--muted);font-size:10px}footer{color:var(--muted);border-color:var(--border)}:focus-visible{outline:2px solid var(--focus)!important;outline-offset:2px}*{scrollbar-color:#374b5a #898989;scrollbar-width:thin}
@media(min-width:1550px){.lens-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){#settings>.instrument-label{flex-basis:190px;min-width:170px}.topbar{gap:8px}.terminal-quote{max-width:46vw}.chart-spec{font-size:9px}.spread-grid{grid-template-columns:1fr}.view-tabs>button{padding-inline:9px}}
@media(max-width:650px){.terminal-quote{display:none}#settings{gap:6px}#settings>label{flex:1 1 80px}.view-tabs .linked-cursors{display:none}.lens-grid{grid-template-columns:1fr}.chart-container{min-height:300px}.panel-actions{flex-wrap:wrap}.heatmap-grid{grid-template-columns:1fr}.analyzer-grid{grid-template-columns:1fr}.chart-spec span{white-space:normal}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

:root{--cyan:#006400;--orange:#a00000;--dark-surface:#969696;--dark-muted:#242424}.metrics-table .up,.up{color:#006400}.metrics-table .down,.down{color:#a00000}
.market-controls select,.market-controls label{color:var(--text)}.analyzer-grid h3,.event-row,.extended-statistics summary{border-color:var(--border)}
#options-market:has(#alpaca-connect[hidden])>.panel-body:has(#option-browser:not([hidden])){display:block}#options-market.terminal-popover #option-browser>.market-controls{display:flex;gap:8px}#options-market .market-controls label{font-size:10px;gap:2px}#options-market #option-ticker{min-width:140px;width:160px}#options-market input[type=number]{width:90px}#options-market .option-table{max-height:360px}.top-actions #data-settings[aria-expanded=true]{background:#969696;color:var(--text)}

.profile-summary>.reaction-calculation-scroll{grid-column:1 / -1;min-width:0;overflow-x:auto;border-left:1px solid var(--border)}
.reaction-calculations{min-width:780px;font-variant-numeric:tabular-nums}.reaction-calculations caption{text-align:left;padding:6px;color:var(--muted)}.reaction-calculations td,.reaction-calculations th{font-size:11px;white-space:nowrap}
.reaction-calculations{width:100%;border-collapse:collapse;color:var(--text)}.reaction-calculations th{text-align:left;background:#969696;color:var(--muted)}.reaction-calculations td,.reaction-calculations th{padding:7px 9px;border-bottom:1px solid var(--border)}.reaction-calculations tr:nth-child(even){background:#969696}.reaction-calculations tr:nth-child(odd){background:#969696}.reaction-calculations tr:hover{background:#969696}

/* Keep cursor readouts opaque and legible above every chart palette. */
.precision-crosshair output,.heatmap-card .precision-crosshair output{background:#969696;color:#111111;border:1px solid #afc6d9;font:500 12px/18px 'Segoe UI',system-ui,sans-serif;padding:8px 10px;box-shadow:0 3px 14px #0009;text-shadow:none;opacity:1}
.precision-crosshair i.cross-v{border-left:1px solid #111111;background:transparent;box-shadow:0 0 0 1px #080d14b3}
.precision-crosshair i.cross-h{border-top:1px solid #111111;background:transparent;box-shadow:0 0 0 1px #080d14b3}

.heatmap-legend[data-palette=greek]::before{background:linear-gradient(90deg,#898989,var(--greek-color))}
.heatmap-card-head{border-top:2px solid var(--greek-color,#405261)}.heatmap-card-head select{color:var(--greek-color,var(--text))}

#futures-spectrum{border-top:1px solid var(--border);margin-top:8px}#futures-spectrum .panel-header{padding:10px 12px}#futures-spectrum .panel-header label{display:flex;align-items:center;gap:8px;font-size:11px}#futures-spectrum .spectrum-chart{height:300px;min-height:260px;max-height:none}.spectrum-summary{display:grid;grid-template-columns:minmax(0,2fr) minmax(200px,1fr);gap:24px;padding:12px 18px;border-top:1px solid var(--border)}.spectrum-summary h3{font-size:11px;color:var(--muted);margin:10px 0}.spectrum-summary-select{display:flex;align-items:center;gap:12px;font-size:12px}.spectrum-summary select{width:160px}.spectrum-band,.spectrum-visit{display:grid;grid-template-columns:130px minmax(70px,1fr) 100px;gap:10px;align-items:center;margin:6px 0;font-size:11px}.spectrum-summary meter{width:100%;height:7px}.spectrum-summary meter::-webkit-meter-bar{background:#969696;border:0}.spectrum-summary meter::-webkit-meter-optimum-value{background:#969696}.spectrum-summary strong{text-align:right;font-variant-numeric:tabular-nums}#spectrum-regime{font-size:22px}#spectrum-regime-detail,#spectrum-visit-note{font-size:11px;color:var(--muted);line-height:1.6}.spectrum-method{padding:8px 18px 14px;color:var(--muted);font-size:11px;line-height:1.6}.spectrum-method summary{cursor:pointer}.spectrum-method p{max-width:1000px}@media(max-width:700px){.spectrum-summary{grid-template-columns:1fr;gap:8px}.spectrum-band,.spectrum-visit{grid-template-columns:110px minmax(40px,1fr) 90px}}

/* Keep disclosure headings readable in the dark workspace. */
.stats-group summary,.compass-controls summary{color:#161616}
.stats-group[open] summary{border-color:#30404e}

.event-spectrum-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.event-spectrum-grid .spectrum-chart{height:260px;min-height:220px}.breakout-panel:has(#futures-spectrum:not([hidden])){grid-column:1/-1}@media(max-width:900px){.event-spectrum-grid{grid-template-columns:1fr}}

/* Reference gray terminal theme: presentation only. */
:root{color-scheme:light;--bg:#898989;--surface:#969696;--surface-raised:#a4a4a4;--border:#606060;--text:#101010;--muted:#292929;--cyan:#006400;--orange:#a00000;--accent:#701080;--focus:#ae00bc;--dark-bg:#898989;--dark-surface:#969696;--dark-control:#b5b5b5;--dark-border:#606060;--dark-text:#101010;--dark-muted:#292929}
body,main,.workspace,canvas{background:#898989;color:#101010}
.topbar,.controls,.panel,.statistics,.panel-body,.heatmap-card,.lens-card,.terminal-popover,dialog,#context-menu{background:#969696;color:#101010;border-color:#606060}
.panel-header,.heatmap-card-head,.lens-card-head,.chart-zoom-tools,.density-controls,.analyzer-controls,.market-controls,.terminal-popover-heading{background:#a4a4a4;color:#101010;border-color:#606060}
button,select,input:not([type=checkbox]):not([type=range]),.heatmap-card-head select,.terminal-popover select{background:#bdbdbd;color:#101010;border-color:#606060}
button:hover,select:hover{background:#cecece;color:#080808}.primary,.controls .primary,.view-tabs .selected{background:#bba7c1;color:#101010;border-color:#701080}
:is(.chart-caption,.lens-detail,.heatmap-context,.chart-context,.chart-context-line,.feed-status,.notice,.subtitle,.badge,.stat-kicker,.snapshot-state,.bottom-note,.chart-toolbar,summary){color:#202020}
:is(.chart-context,.chart-context-line,.feed-status,.notice,.badge,.limited,.chart-caption,.heatmap-context,.lens-detail){background:#969696;border-color:#606060}
.reaction-calculations th,.option-table th{background:#adadad;color:#161616}.reaction-calculations tr:nth-child(even){background:#999}.reaction-calculations tr:nth-child(odd){background:#a1a1a1}.reaction-calculations tr:hover{background:#b8b8b8}
.precision-crosshair output,.heatmap-card .precision-crosshair output{background:#dedede;color:#080808;border-color:#181818;box-shadow:0 2px 8px #0004}
.precision-crosshair i.cross-v{border-left-color:#111;box-shadow:0 0 0 1px #ddd6}.precision-crosshair i.cross-h{border-top-color:#111;box-shadow:0 0 0 1px #ddd6}
.heatmap-card-head{border-top-color:var(--greek-color,#606060)}.heatmap-card-head select{color:var(--greek-color,#101010)}
::selection{background:#ceb0d2;color:#080808}dialog::backdrop{background:#96969666}

html,body{color-scheme:light}.topbar .badge{background:#aaa;color:#181818;border-color:#606060}
#settings .primary,#settings .primary:hover,.view-tabs>button.selected{background:#bba7c1;color:#161616;border-color:#701080}
option{background:#bdbdbd;color:#101010}.metrics-table th,.option-table th,table th{background:#aaa;color:#161616}.metrics-table tr:nth-child(even),.option-table tr:nth-child(even){background:#a0a0a0}.metrics-table tbody tr:hover,.option-table tbody tr:hover{background:#b8b8b8}
.workspace-details[open]>summary,.compass-controls,.iv-cards>div,.iv-fair-values>div,.profile-summary>div,.heatmap-quick-controls,.heatmap-card-head,.heatmap-card-head select{background:#a0a0a0}
.chart-container.chart-interacting:after{background:#c7c7c7;color:#111;border-color:#606060}.workspace-status.has-pending #pending,#iv-status{color:#513600}

/* Readable native menus and inspection controls on the gray theme. */
select,select option,select optgroup,.heatmap-card select,.terminal-popover select{color-scheme:light!important;background-color:#dedede!important;color:#111!important;opacity:1}
select option:checked{background-color:#c7afd0!important;color:#080808!important}
button,input:not([type=checkbox]):not([type=range]){color-scheme:light}
.controls label,#settings>label,.panel-actions label,.graph-settings label,.terminal-popover label,.chart-context,.chart-context-line{color:#111;font-size:12px;font-weight:500}
.terminal-popover,dialog,#context-menu{background:#d0d0d0;color:#111;border:1px solid #444;box-shadow:0 4px 18px #0004}
.terminal-popover summary,.terminal-popover-heading,.graph-settings summary{color:#111;background:#c5c5c5;font-size:12px}
.precision-crosshair output,.heatmap-card .precision-crosshair output{background:#efefef!important;color:#080808!important;border:1px solid #242424!important;font:600 12px/19px 'Segoe UI',system-ui,sans-serif!important;opacity:1!important;max-width:min(480px,85vw);text-shadow:none!important}
.chart-icon-action,.top-actions button{color:#151515;font-size:13px}.chart-caption,.heatmap-context,.lens-detail{color:#202020;font-size:11px}
