.gv-history-toolbar{gap:10px}.gv-history-toolbar .field select{min-width:120px}.gv-history-toggle{display:flex;gap:4px;padding:4px;background:#071522;border:1px solid #35576c;border-radius:9px;flex-wrap:wrap}.gv-history-toggle button{background:transparent;border:1px solid transparent;border-radius:6px;color:#a8bfd0;font-size:12px;padding:8px 12px}.gv-history-toggle button.active{background:#164052;border-color:#397f95;color:#eaffff}.gv-history-options{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin:3px 0 17px}.gv-history-check{display:flex;gap:9px;align-items:center;color:#cee2f0;font-size:12px;cursor:pointer}.gv-history-check input{accent-color:#69dbea;width:17px;height:17px}.gv-history-chart-card{border:1px solid #315367;background:#0b1a29;border-radius:14px;padding:17px;overflow:hidden}.gv-history-sub{color:#ceeaf4;font-size:13px;font-weight:650;margin-bottom:9px}.gv-history-graph{background:#081523;border-radius:9px;min-height:260px}.gv-history-graph svg{width:100%;height:auto;display:block;max-height:660px;min-height:240px}.gv-history-player{display:flex;align-items:center;gap:12px;margin-top:15px}.gv-history-player button{background:#123148;color:#e6f7ff;border:1px solid #36627b;border-radius:7px;padding:8px 14px;min-width:43px}.gv-history-player input{min-width:65px;flex:1;accent-color:#69dbea}.gv-history-player span{color:#92b1c4;font:600 12px monospace;white-space:nowrap}.gv-history-meta{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.gv-history-chip{background:#12283a;border:1px solid #2d4c60;border-radius:8px;padding:7px 10px;color:#b9d8e7;font-size:11px}.gv-history-footnote{font-size:11px;line-height:1.7;color:#91aabc;margin-top:14px}@media(max-width:760px){.gv-history-chart-card{padding:8px}.gv-history-player{gap:6px}.gv-history-player button{padding:8px;min-width:32px}.gv-history-meta{gap:6px}.gv-history-toolbar .field select{min-width:95px}}

/* Administrator sign-in for independent tabs without a shared session token. */
.gv-history-auth{margin:5px 0 18px;padding:19px 22px;background:#11273a;border:1px solid #366582;border-radius:13px}
.gv-history-auth h2{font-size:15px;font-weight:650;line-height:1.5;margin:0 0 14px;color:#d6effc}
.gv-history-auth form{display:flex;gap:11px;flex-wrap:wrap;align-items:end}
.gv-history-auth-field{display:flex;flex-direction:column;gap:5px;color:#aaccdf;font-size:12px;min-width:190px;flex:1}
.gv-history-auth-field input{background:#091a29;border:1px solid #3a657a;color:#f1f8ff;border-radius:8px;padding:11px 13px;min-height:43px;width:100%}
.gv-history-auth form button{min-height:43px;padding:10px 17px}
.gv-history-auth-error{color:#ffadba;font-size:12px;margin:8px 0 0}
.gv-history-auth-error:empty{display:none}

/* Research History — accelerated minute-by-minute replay */
.gv-history-speed{display:flex;align-items:center;gap:7px;color:#a8c5d5;font-size:11px;white-space:nowrap}
.gv-history-speed select{border-radius:7px;background:#0d293b;color:#e2faff;border:1px solid #326179;padding:8px 7px;min-width:73px}
.gv-history-player input[type=range]{touch-action:pan-y}
@media(max-width:760px){.gv-history-player{flex-wrap:wrap}.gv-history-player input[type=range]{order:2;flex-basis:100%}.gv-history-speed{margin-left:auto}}

/* Replay reset: distinct and compact, no change to existing layout */
#gvRestart{color:#7be7d7;border-color:#3a7b8a;font-size:18px;font-weight:700;min-width:44px}
#gvRestart:focus-visible{outline:2px solid #7be7d7}

/* Research terminal visual hierarchy without modifying existing panel shell */
.gv-history-chart-card{position:relative;background:linear-gradient(145deg,#0e1d33,#071322 65%,#07121f);border:1px solid #36576d;box-shadow:0 18px 54px #0004,0 0 1px #58d2ee inset;padding:15px}
.gv-wow-panel{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;margin-bottom:14px;padding:13px 15px;background:linear-gradient(105deg,#0d2840,#0a1625);border:1px solid #254962;border-radius:11px}
.gv-wow-brand{display:flex;flex-direction:column;gap:3px}
.gv-wow-kicker{font-size:10px;letter-spacing:.17em;color:#54d2e8;font-weight:750}
.gv-wow-name{font-size:18px;color:#eaf9ff;font-weight:780;letter-spacing:-.025em}
.gv-wow-hud{display:flex;gap:8px;flex-wrap:wrap}
.gv-wow-hud-item{display:flex;flex-direction:column;gap:3px;padding:9px 12px;background:#091e30;border:1px solid #27495d;border-radius:8px;min-width:126px}
.gv-wow-hud-item span{font-size:9px;text-transform:uppercase;letter-spacing:.10em;color:#85a9c0}
.gv-wow-hud-item strong{font:750 16px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;color:#ecfcff}
.gv-wow-hud-item:nth-child(3) strong{color:#e4b5ff}
.gv-wow-control{display:flex;align-items:start;flex-direction:column;gap:6px;color:#a7c7d9;font-size:11px}
.gv-wow-control select{border:1px solid #38657d;border-radius:8px;background:#0b2032;color:#dff6ff;padding:8px 11px;min-width:140px;max-width:190px;cursor:pointer}
.gv-wow-control select:disabled{opacity:.5}
.gv-history-graph{border:1px solid #243e56;background:#081323;overflow:hidden;box-shadow:0 0 28px #071625 inset}
.gv-wow-note{color:#9db7cc;font-size:11px;line-height:1.65;border-left:2px solid #9c74d8;padding-left:11px;margin:8px 0 18px}
.gv-wow-empty{margin:0;padding:70px 20px;color:#a5c2d2;text-align:center}
@media(max-width:800px){.gv-wow-hud-item{min-width:95px;flex:1}.gv-wow-hud-item strong{font-size:13px}.gv-wow-panel{gap:12px}.gv-wow-name{font-size:16px}}

/* Separate signed GEXBot OrderFlow minute-average panel, not a strike heatmap */
.gv-flow-panel{margin-top:9px;border:1px solid #34516b;border-radius:9px;background:linear-gradient(125deg,#0a1a2c,#081322);overflow:hidden;padding:10px 9px 2px}
.gv-flow-head{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:3px 9px 1px}
.gv-flow-head-title{font-size:11px;color:#9bdfee;font-weight:750;letter-spacing:.08em}
.gv-flow-head-value{font:700 13px ui-monospace,SFMono-Regular,Consolas,monospace;color:#d7f7f2}
.gv-flow-panel svg{display:block;width:100%;height:auto;min-height:70px;max-height:112px}
#gvTraceMode{min-width:105px}
#gvFlowMetric{min-width:115px}
#gvOrderFlowNote{border-left-color:#3bcba9}
#gvTraceNote{border-left-color:#bd7bea}

/* Research History: floating color legend; zero footprint on the chart layout */
.gv-history-plot-shell{position:relative;isolation:isolate}
.gv-mini-legend{position:absolute;right:18px;top:13px;z-index:25}
.gv-legend-button{display:flex;align-items:center;gap:7px;border:1px solid #496d82;background:rgba(7,20,35,.92);border-radius:999px;padding:7px 12px;color:#dbf3ff;font-size:11px;font-weight:700;letter-spacing:.025em;box-shadow:0 4px 16px #0008;cursor:pointer;backdrop-filter:blur(8px)}
.gv-legend-button:hover,.gv-legend-button[aria-expanded="true"]{background:#153349;border-color:#70bed0}
.gv-legend-button:focus-visible{outline:2px solid #7de1f4;outline-offset:2px}
.gv-legend-button-dot{color:#65e4f3;font-size:13px;line-height:1}
.gv-legend-popup{position:absolute;right:0;top:calc(100% + 8px);width:min(355px,calc(100vw - 65px));max-height:min(75vh,440px);overflow-y:auto;background:rgba(9,23,39,.98);border:1px solid #45677f;border-radius:12px;box-shadow:0 15px 45px #000b;padding:14px;color:#d4e9f5;backdrop-filter:blur(16px)}
.gv-legend-popup[hidden]{display:none!important}
.gv-legend-title{font-size:12px;font-weight:750;margin:1px 0 11px;color:#e8faff}
.gv-legend-items{display:grid;grid-template-columns:1fr 1fr;column-gap:12px;row-gap:10px}
.gv-legend-item{display:flex;align-items:center;gap:8px;font-size:10.5px;color:#c5ddea;min-width:0;line-height:1.25}
.gv-legend-swatch{display:block;flex:none;width:24px;height:4px;border-radius:2px;background:#eaf8ff}
.gv-legend-swatch-price{background:linear-gradient(90deg,#47ccf1,#e6f9ff,#5afad8)}
.gv-legend-swatch-gamma{background:#e4b4ff;box-shadow:0 0 8px #c178ff88}
.gv-legend-swatch-call{background:repeating-linear-gradient(90deg,#39f4c0 0 6px,transparent 6px 10px)}
.gv-legend-swatch-put{background:repeating-linear-gradient(90deg,#ff7089 0 6px,transparent 6px 10px)}
.gv-legend-swatch-em{background:repeating-linear-gradient(90deg,#e9ba74 0 7px,transparent 7px 12px)}
.gv-legend-swatch-cursor{background:repeating-linear-gradient(90deg,#70ddec 0 3px,transparent 3px 7px)}
.gv-legend-swatch-heat-call{height:9px;background:#28e2bb;opacity:.75}
.gv-legend-swatch-heat-put{height:9px;background:#ff5778;opacity:.75}
.gv-legend-swatch-flow-plus{height:9px;background:#40e9b5}
.gv-legend-swatch-flow-minus{height:9px;background:#ff6483}
.gv-legend-note{margin-top:13px;padding-top:10px;border-top:1px solid #25475f;color:#91afc5;font-size:10px;line-height:1.55}
@media(max-width:640px){.gv-mini-legend{right:10px;top:8px}.gv-legend-button{padding:7px 10px;font-size:10px}.gv-legend-popup{width:min(325px,calc(100vw - 48px))}.gv-legend-items{column-gap:7px}}

/* Five-stage GEX OI signed-net strength gradient in the compact existing legend. */
.gv-legend-strength{margin-top:13px;border-top:1px solid #284960;padding-top:12px}
.gv-legend-strength-title{color:#effdff;font-size:11px;font-weight:740;margin:0 0 11px}
.gv-strength-line{display:flex;align-items:center;gap:8px;margin:7px 0}
.gv-strength-name{width:47%;min-width:0;font-size:10px;line-height:1.35;color:#aac9dc}
.gv-strength-gradient{height:13px;flex:1;display:block;border-radius:4px;border:1px solid #416277}
.gv-strength-gradient-positive{background:linear-gradient(90deg,#17483d 0 20%,#176b59 20% 40%,#1a987b 40% 60%,#26c4a1 60% 80%,#80ffd0 80% 100%)}
.gv-strength-gradient-negative{background:linear-gradient(90deg,#52263b 0 20%,#783148 20% 40%,#a7405d 40% 60%,#df5d7b 60% 80%,#ffabc1 80% 100%)}
.gv-strength-direction{display:flex;justify-content:space-between;margin:6px 0 0 47%;font-size:9px;color:#93aec2}
.gv-strength-explain{font-size:9.5px;color:#8faec4;line-height:1.5;margin:10px 0 2px}
.gv-legend-swatch-heat-call{background:linear-gradient(90deg,#17483d,#80ffd0);opacity:1}
.gv-legend-swatch-heat-put{background:linear-gradient(90deg,#52263b,#ffabc1);opacity:1}

/* Price source selector, clearly distinguished from the Research symbol */
#gvMarketMode{border-color:#70bfc7;min-width:120px;font-weight:760;color:#edfdff}
.gv-history-toolbar .field:has(#gvMarketMode) label{color:#75dcd8}
.gv-history-graph svg .gv-expected-move{stroke:#ffe13b;filter:drop-shadow(0 1px 2px #06101b)}
.gv-legend-swatch-em{background:repeating-linear-gradient(90deg,#ffe13b 0 8px,transparent 8px 14px);box-shadow:0 0 5px #ffe13b77}

/* Select a product first, then toggle ETF / Futures without changing the product. */
.gv-market-price-basis{display:flex;flex-direction:column;gap:6px;justify-content:end}
.gv-market-price-title{color:#9fbdd1;font-size:11px;font-weight:650}
.gv-market-price-buttons{display:inline-flex;gap:3px;padding:4px;border:1px solid #31566d;border-radius:9px;background:#091a2b}
.gv-market-price-buttons button{min-height:34px;padding:8px 16px;white-space:nowrap;border:1px solid transparent;border-radius:6px;background:transparent;color:#aac9d9;font-size:12px;font-weight:720;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.gv-market-price-buttons button.active,.gv-market-price-buttons button[aria-pressed="true"]{background:#15586b;color:#f1ffff;border-color:#41b6ba;box-shadow:0 1px 8px #2cdccd18}
.gv-market-price-buttons button:hover:not(.active){background:#17374c;color:#e3f5fc}
.gv-market-price-buttons button:focus-visible{outline:2px solid #8af2f2;outline-offset:2px}
#gvMarketMode[hidden]{display:none!important}
@media(max-width:700px){.gv-market-price-buttons button{padding:8px 12px}}

/* OrderFlow subchart controls, accessible in both Heatmap and Replay */
.gv-flow-head{gap:10px;flex-wrap:wrap}
.gv-flow-buttons{display:inline-flex;gap:3px;border-radius:8px;padding:3px;border:1px solid #345e70;background:#081627}
.gv-flow-buttons button{background:transparent;border:1px solid transparent;border-radius:6px;color:#a9c3d5;padding:6px 12px;font-weight:720;font-size:11px;cursor:pointer;min-height:30px}
.gv-flow-buttons button.active,.gv-flow-buttons button[aria-pressed="true"]{background:#15536b;color:#e8f9ff;border-color:#58b9c5}
.gv-flow-buttons button:hover:not(.active){color:#f0ffff;background:#163c50}
.gv-flow-info-toggle{background:transparent;color:#9edfee;border:1px solid #41667d;border-radius:50%;width:27px;height:27px;font-size:17px;cursor:pointer;display:grid;place-items:center}
.gv-flow-info-toggle:hover,.gv-flow-info-toggle[aria-expanded="true"]{background:#1b4e65;color:#fff}
.gv-flow-head-value{margin-left:auto}
.gv-flow-help{margin:10px 8px 2px;border:1px solid #355c74;padding:12px;background:#10283a;border-radius:9px;color:#bbd9e8;font-size:11px;line-height:1.5}
.gv-flow-help strong{display:block;margin-bottom:6px;color:#eafaff}
.gv-flow-help p{margin:4px 0}
.gv-flow-help small{display:block;color:#8db5c8;margin-top:8px}
.gv-flow-buttons button:focus-visible,.gv-flow-info-toggle:focus-visible{outline:2px solid #8ff4ee;outline-offset:2px}
@media(max-width:600px){.gv-flow-head-value{flex-basis:100%;text-align:right}.gv-flow-buttons button{padding:6px 9px}}

/* Research History v2: bounded causal historical GEX-zone observations */
.gv-reaction-study{margin-top:10px;padding:13px 14px;background:linear-gradient(125deg,#0a2132,#081523);border:1px solid #315e71;border-radius:9px;color:#d5eaf3}
.gv-reaction-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#e4fafd;font-size:12px;letter-spacing:.015em}
.gv-reaction-info{background:none;border:1px solid #376b7d;border-radius:50%;color:#90e9ed;width:27px;height:27px;font-size:17px;cursor:pointer}
.gv-reaction-info:focus-visible{outline:2px solid #a0f6ec;outline-offset:2px}
.gv-reaction-hint{font-size:11px;color:#b4cedd;line-height:1.5;margin:8px 0 3px}
.gv-reaction-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px}
.gv-reaction-stat{background:#0a1c2b;border:1px solid #28516a;border-radius:7px;padding:9px;display:flex;flex-direction:column;gap:5px;min-width:0}
.gv-reaction-stat span{color:#91b2c5;font-size:10px;line-height:1.2}
.gv-reaction-stat strong{font:750 20px ui-monospace,Consolas,monospace;color:#e0faff}
.gv-reaction-stat:nth-child(3) strong{color:#4ce6b0}.gv-reaction-stat:nth-child(4) strong{color:#ff728e}
.gv-reaction-recent{display:flex;flex-direction:column;gap:4px;margin-top:11px}
.gv-reaction-recent-item{display:flex;align-items:center;gap:8px;font-size:10px;color:#bdd7e4;flex-wrap:wrap;padding:4px 0;border-top:1px solid #183b50}
.gv-reaction-recent-item span:last-child{margin-left:auto;color:#95b9cd}
.gv-reaction-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#72d4f3}
.gv-reaction-dot-bounce{background:#4ce6b0}.gv-reaction-dot-break{background:#ff728e}
.gv-reaction-dot-range{background:#e6bd6a}.gv-reaction-dot-both{background:#a9b8db}
.gv-reaction-explanation{font-size:10px;color:#9cbace;line-height:1.55;margin:9px 0 0;border-top:1px solid #23516b;padding-top:8px}
@media(max-width:680px){.gv-reaction-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.gv-reaction-stat strong{font-size:17px}}

.gv-reaction-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:12px 0 2px;border-top:1px solid #2b4c61;padding-top:10px}
.gv-reaction-legend strong{font-size:11px;color:#e7faff;width:100%}
.gv-reaction-legend-item{display:flex;align-items:center;gap:6px;font-size:10px;color:#aecadd}
.gv-reaction-dot-pending{background:transparent;border:2px solid #72d4f3}
