.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}:root{color-scheme:dark;font-family:IBM Plex Sans,Aptos,Segoe UI,sans-serif;--app-bg: #222222;--app-bg-elevated: #1d1d1d;--app-panel: #272727;--app-panel-strong: #303030;--app-panel-soft: #333333;--app-border: #555555;--app-border-bright: #747474;--app-text: #f0f0f0;--app-text-muted: #a7a7a7;--app-accent: #8dc7ff;--app-accent-soft: rgba(141, 199, 255, .16);--app-positive: #8ecbff;--app-negative: #ff9d8d;--table-value-positive: #5ad982;--table-value-negative: var(--app-negative);--table-bg: #262626;--table-header-bg: #2b2b2b;--table-divider: rgba(255, 255, 255, .12);--table-stripe-bg: rgba(255, 255, 255, .015);--table-hover-bg: rgba(255, 255, 255, .04);--app-warning: #d9d9d9;--app-shadow: none;--app-radius-shell: 24px;--app-radius-panel: 0;--psp--background-color: transparent;--psp--plugin_background: transparent;--psp--color: var(--app-text);--psp--icon--color: var(--app-text);--psp--active--color: var(--app-text);--psp-text-primary-color: var(--app-text);--psp-text-muted-color: var(--app-text-muted);--psp-grid-line-color: rgba(255, 255, 255, .12);--psp-font-family: "IBM Plex Mono", "SFMono-Regular", monospace;--psp-datagrid--row--height: 28px;--psp-datagrid--hover--border-color: rgba(141, 199, 255, .45);--psp-datagrid--pos-cell--color: var(--app-positive);--psp-datagrid--neg-cell--color: var(--app-negative);--psp-label-bar-color: rgba(255, 255, 255, .16)}:root[data-theme=day-terminal]{color-scheme:light;--app-bg: #efefef;--app-bg-elevated: #f6f6f6;--app-panel: #fafafa;--app-panel-strong: #f0f0f0;--app-panel-soft: #ffffff;--app-border: #cccccc;--app-border-bright: #999999;--app-text: #111111;--app-text-muted: #676767;--app-accent: #1d5fbf;--app-accent-soft: rgba(29, 95, 191, .14);--app-positive: #1d5fbf;--app-negative: #b34834;--table-value-positive: #15803d;--table-value-negative: var(--app-negative);--app-warning: #5d5d5d}:root[data-theme=matrix]{color-scheme:dark;font-family:IBM Plex Mono,SFMono-Regular,monospace;--app-bg: #000000;--app-bg-elevated: #060605;--app-panel: #0b0b08;--app-panel-strong: #1a1912;--app-panel-soft: #14130e;--app-border: #6a674b;--app-border-bright: #f5eeae;--app-text: #f5eeae;--app-text-muted: #f5eeae;--app-accent: #f5eeae;--app-accent-soft: rgba(245, 238, 174, .16);--app-positive: #39ff5a;--app-negative: #ff5f56;--table-value-positive: #39ff5a;--table-value-negative: var(--app-negative);--table-bg: #060605;--table-header-bg: #1a1912;--table-divider: rgba(245, 238, 174, .18);--table-stripe-bg: rgba(245, 238, 174, .025);--table-hover-bg: rgba(245, 238, 174, .08);--app-warning: #d7ff66;--app-shadow: 0 0 16px rgba(245, 238, 174, .08);--psp-grid-line-color: rgba(245, 238, 174, .16);--psp-datagrid--hover--border-color: rgba(245, 238, 174, .55);--psp-label-bar-color: rgba(245, 238, 174, .22)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;color:var(--app-text);background:var(--app-bg)}.app-error-shell{min-height:100vh;padding:32px;color:var(--app-text);background:var(--app-bg);font-family:IBM Plex Mono,SFMono-Regular,monospace}.app-error-shell h1{margin:0 0 12px;font-size:24px;font-weight:600}.app-error-shell p,.app-error-shell pre{max-width:1100px;overflow:auto}.login-shell{display:grid;min-height:100vh;min-height:100dvh;place-items:center;padding:calc(20px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) calc(20px + env(safe-area-inset-left));color:var(--app-text);background:var(--app-bg)}.login-panel{display:grid;width:min(100%,380px);gap:18px;padding:24px;border:1px solid var(--app-border);border-radius:16px;background:var(--app-panel)}.login-field{display:grid;gap:7px}.login-field span{color:var(--app-text-muted);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.login-field input{height:42px;padding:0 12px;border:1px solid var(--app-border);border-radius:8px;outline:none;color:var(--app-text);background:var(--app-panel-soft);font-family:IBM Plex Mono,SFMono-Regular,monospace}.login-field input:focus{border-color:var(--app-border-bright);box-shadow:0 0 0 2px var(--app-accent-soft)}.login-error{color:var(--app-negative);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:12px}.login-submit{justify-content:center;width:100%;cursor:pointer}button,input,select{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;border:0;margin:-1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}.terminal-shell{min-height:100vh;min-height:100dvh;padding:calc(12px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left))}.terminal-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px;padding:0 2px 4px}.toolbar-field span,.panel-header-status,.stat-label{color:var(--app-text-muted);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.terminal-brand-title{margin-top:0;color:var(--app-text);font-size:34px;font-weight:300;line-height:1;letter-spacing:0}.terminal-brand-title em{font-style:italic;font-weight:inherit}.terminal-clock{display:flex;align-items:baseline;gap:6px;text-align:right}.terminal-clock-label,.terminal-clock-value,.terminal-clock-detail{font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:12px}.terminal-clock-label{color:var(--app-text-muted);letter-spacing:.12em;text-transform:uppercase}.terminal-clock-shell{display:flex;align-items:center;gap:8px}.icon-button.topbar-refresh{width:30px;height:30px}.terminal-clock-value{color:var(--app-text);font-weight:500}.terminal-clock-detail{color:var(--app-text-muted)}.workspace-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin-bottom:18px;border:1px solid var(--app-border);border-radius:var(--app-radius-shell);background:var(--app-bg-elevated);overflow:visible}.toolbar{position:relative;z-index:5;display:flex;align-items:flex-end;gap:10px;padding:18px 22px;border-radius:var(--app-radius-shell);background:var(--app-panel)}.toolbar-controls,.toolbar-meta{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:10px}.toolbar-meta{flex:1 1 auto;min-width:0;justify-content:flex-end}.toolbar-ops,.toolbar-icon-group{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:8px}.toolbar-icon-group{gap:8px}.settings-menu-shell{position:relative}.toolbar-field{display:flex;min-width:110px;flex-direction:column;gap:7px}.toolbar-field select,.toolbar-field input,.range-dropdown-trigger,.icon-button,.terminal-button{height:40px;border:1px solid var(--app-border);border-radius:8px;color:var(--app-text);background:var(--app-panel-soft);font-family:IBM Plex Mono,SFMono-Regular,monospace}.toolbar-field select,.toolbar-field input,.range-dropdown-trigger{min-width:100%;padding:0 12px;outline:none}.range-dropdown{position:relative;width:100%}.range-dropdown-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;text-align:left}.range-dropdown-trigger svg{flex:0 0 auto;color:var(--app-text-muted)}.range-dropdown-trigger[aria-expanded=true]{border-color:var(--app-border-bright);box-shadow:0 0 0 2px var(--app-accent-soft)}.range-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:40;display:flex;width:240px;flex-direction:column;gap:4px;padding:8px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-panel-strong);box-shadow:0 18px 32px #00000052}.range-dropdown-option{width:100%;min-height:34px;padding:0 10px;border:1px solid transparent;border-radius:7px;color:var(--app-text);background:transparent;cursor:pointer;font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:13px;text-align:left}.range-dropdown-option:hover,.range-dropdown-option:focus,.range-dropdown-option[aria-selected=true]{border-color:var(--app-border);background:var(--app-panel-soft);outline:none}.range-dropdown-hours{display:grid;grid-template-columns:auto minmax(54px,1fr) auto auto;align-items:center;gap:8px;padding:8px 10px;border-top:1px solid var(--app-border);border-bottom:1px solid var(--app-border);color:var(--app-text-muted);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:12px}.custom-hours-input{width:64px;height:32px;padding:0 8px;border:1px solid var(--app-border);border-radius:7px;color:var(--app-text);background:var(--app-panel-soft);outline:none;font-family:IBM Plex Mono,SFMono-Regular,monospace}.custom-hours-input:focus{border-color:var(--app-border-bright);box-shadow:0 0 0 2px var(--app-accent-soft)}.custom-hours-apply{height:32px;padding:0 10px;border:1px solid var(--app-border);border-radius:7px;color:var(--app-text);background:var(--app-panel-soft);cursor:pointer;font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.custom-hours-apply:disabled{cursor:not-allowed;opacity:.52}.themed-select{position:relative;display:block;width:100%}.themed-select select{width:100%;appearance:none;padding-right:34px;cursor:pointer}.themed-select svg{position:absolute;top:50%;right:11px;color:var(--app-text-muted);pointer-events:none;transform:translateY(-50%)}.toolbar-field select option{color:var(--app-text);background:var(--app-panel-soft)}.toolbar-field select:focus,.toolbar-field input:focus,.range-dropdown-trigger:focus,.icon-button:focus,.terminal-button:focus{border-color:var(--app-border-bright);box-shadow:0 0 0 2px var(--app-accent-soft)}.range-select{width:150px}.custom-range-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.custom-range-field{width:340px}.custom-end-mode-field{width:150px}.custom-range-apply{min-width:80px;justify-content:center;padding:0 16px;cursor:pointer;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.custom-range-apply:disabled{cursor:not-allowed;opacity:.52}.custom-range-error{align-self:center;color:var(--app-negative);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:12px}.custom-range-full-date{color:var(--app-text-muted);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:11px;font-weight:500;line-height:1.35}.variable-select{width:160px}.auto-refresh-select{width:125px}.positive-value{color:var(--app-positive)}.negative-value{color:var(--app-negative)}.funding-positive-value{color:var(--table-value-positive)}.funding-negative-value{color:var(--table-value-negative)}.trading-mode-controls{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:8px}.trading-mode-status-stack{display:flex;flex-wrap:nowrap;gap:8px;max-width:none}.trading-mode-status{display:flex;width:160px;min-width:160px;max-width:160px;flex:0 0 160px;align-items:center;justify-content:center;padding:0 14px;height:40px;border:1px solid var(--app-border);border-radius:8px;font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:12px;font-weight:700;letter-spacing:.08em;background:var(--app-panel-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trading-mode-status-content{display:flex;width:100%;flex-direction:column;align-items:center}.trading-mode-status .trading-mode-status-hover{display:none;width:100%;text-align:center}.trading-mode-status-button{appearance:none;cursor:pointer;transition:border-color .12s ease,background .12s ease}.trading-mode-status-button:not(:disabled):hover,.trading-mode-status-button:not(:disabled):focus-visible{border-color:var(--app-border-bright);outline:none}.trading-mode-status-button:not(:disabled):focus-visible{box-shadow:0 0 0 2px var(--app-accent-soft)}.trading-mode-status-button:not(:disabled):hover .trading-mode-status-content,.trading-mode-status-button:not(:disabled):focus-visible .trading-mode-status-content{display:none}.trading-mode-status-button:not(:disabled):hover .trading-mode-status-hover,.trading-mode-status-button:not(:disabled):focus-visible .trading-mode-status-hover{display:block}.trading-mode-status-button:disabled{cursor:not-allowed;opacity:.55}.trading-mode-status span,.trading-mode-status strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}.trading-mode-status span{font-size:9px;font-weight:600;opacity:.72}.trading-mode-status strong{font-size:10px}.trading-mode-status[data-loading=true]{opacity:.72}.trading-mode-status[data-tone=live]{color:var(--app-positive);border-color:#8ecbff73;background:#8ecbff14}.trading-mode-status[data-tone=halt]{color:var(--app-negative);border-color:#ff9d8d73;background:#ff9d8d14}.trading-mode-status[data-tone=watch]{color:var(--app-warning);border-color:#ffffff38;background:#ffffff08}.trading-mode-actions{display:flex;gap:8px}.terminal-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease}.terminal-button:hover,.icon-button:hover{transform:none;border-color:var(--app-border-bright)}.terminal-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.terminal-button.positive{color:var(--app-positive)}.terminal-button.negative{color:var(--app-negative)}.parameters-menu-button{min-width:106px}.icon-button{width:38px;padding:0}.settings-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:30;display:flex;width:min(300px,calc(100vw - 24px));max-height:min(760px,calc(100vh - 96px));overflow-y:auto;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--app-border);border-radius:12px;background:#1f1f1f;box-shadow:0 18px 32px #00000052}.parameter-drawer-backdrop{position:fixed;inset:0;z-index:80;pointer-events:auto}.parameter-drawer{position:absolute;top:0;right:0;display:flex;width:min(920px,calc(100vw - 24px));height:100vh;height:100dvh;flex-direction:column;gap:12px;padding:16px;border-left:1px solid var(--app-border);background:var(--app-panel);box-shadow:-18px 0 32px #00000047;pointer-events:auto}.parameter-drawer-header,.parameter-drawer-tabs,.parameter-search,.parameter-update-notice{display:flex;align-items:center}.parameter-drawer-header{justify-content:space-between;gap:12px}.parameter-drawer-title{font-size:20px;font-weight:600}.parameter-drawer-subtitle{display:flex;align-items:center;gap:10px;margin-top:3px;color:var(--app-text-muted);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.parameter-refreshing{display:inline-flex;align-items:center;gap:5px;color:var(--app-text)}.parameter-refreshing svg{animation:spin .9s linear infinite}.parameter-drawer-tabs{width:fit-content;padding:3px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-panel-soft)}.parameter-drawer-tabs button{height:32px;padding:0 14px;border:0;border-radius:6px;color:var(--app-text-muted);background:transparent;cursor:pointer}.parameter-drawer-tabs button[aria-selected=true]{color:var(--app-text);background:var(--app-accent-soft)}.parameter-search{gap:8px;height:38px;padding:0 10px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-panel-soft)}.parameter-search input{width:100%;min-width:0;border:0;outline:0;color:var(--app-text);background:transparent}.parameter-locale-filter{display:flex;align-items:center;gap:12px;min-width:0;padding:0;border:0;margin:0;color:var(--app-text-muted);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.parameter-locale-label{flex:0 0 auto;padding:0}.parameter-locale-options{display:flex;min-width:0;flex-wrap:wrap;gap:6px}.parameter-locale-options label{display:inline-flex;height:30px;align-items:center;gap:6px;padding:0 9px;border:1px solid var(--app-border);border-radius:999px;color:var(--app-text);background:var(--app-panel-soft);cursor:pointer;letter-spacing:.04em}.parameter-locale-options label:has(input:checked){border-color:#8ecbff73;background:var(--app-accent-soft)}.parameter-locale-options input{width:13px;height:13px;margin:0;accent-color:var(--app-accent)}.parameter-update-notice{gap:8px;min-height:34px;padding:8px 10px;border:1px solid var(--app-border);border-radius:8px;font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:12px}.parameter-update-notice[data-tone=success]{color:var(--app-positive);border-color:#8ecbff73;background:#8ecbff14}.parameter-update-notice[data-tone=error],.parameter-drawer-error{color:var(--app-negative)}.parameter-table-scroll{min-height:0;flex:1 1 auto;overflow:auto;border:1px solid var(--app-border);border-radius:10px;background:var(--table-bg)}.parameter-table{width:100%;min-width:780px;border-collapse:collapse;font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:12px}.parameter-table th,.parameter-table td{max-width:220px;padding:8px 10px;border-bottom:1px solid var(--table-divider);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parameter-table th{position:sticky;top:0;z-index:1;color:var(--app-text-muted);background:var(--table-header-bg);font-size:11px;letter-spacing:.08em;text-align:left;text-transform:uppercase}.parameter-value-input{width:116px;height:32px;padding:0 8px;border:1px solid var(--app-border);border-radius:6px;color:var(--app-text);background:var(--app-panel-soft)}.parameter-apply-button{width:32px;height:32px}.parameter-empty-cell,.parameter-drawer-state{color:var(--app-text-muted);text-align:center}.settings-menu-title{color:var(--app-text);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.settings-section-title{padding-top:4px;border-top:1px solid var(--app-border);color:var(--app-text-muted);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:10px;font-weight:600;letter-spacing:.1em;line-height:24px;text-transform:uppercase}.settings-inline-error{padding:8px 10px;border:1px solid color-mix(in srgb,var(--app-negative) 40%,transparent);border-radius:8px;color:var(--app-negative);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:11px;line-height:1.4}.settings-field{min-width:0}.settings-action{display:inline-flex;align-items:center;gap:10px;width:100%;height:40px;padding:0 12px;border:1px solid var(--app-border);border-radius:8px;color:var(--app-text);background:var(--app-panel-soft);cursor:pointer;font-family:IBM Plex Mono,SFMono-Regular,monospace}.settings-action:hover{border-color:var(--app-border-bright)}.settings-action:disabled{cursor:not-allowed;opacity:.52}.settings-meter{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:0 12px;border:1px solid var(--app-border);border-radius:8px;color:var(--app-text);background:var(--app-panel-soft);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:12px}.settings-meter strong{color:var(--app-text-muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.settings-action strong{margin-left:auto;color:var(--app-text-muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.app-main{color:var(--app-text)}.notification-stack{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:80;display:flex;width:min(380px,calc(100vw - 36px));max-height:calc(100vh - 36px);flex-direction:column;justify-content:flex-end;gap:10px;pointer-events:none}.pwa-install-prompt{position:fixed;right:calc(18px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));left:calc(18px + env(safe-area-inset-left));z-index:90;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;width:min(620px,calc(100vw - 36px - env(safe-area-inset-left) - env(safe-area-inset-right)));align-items:center;gap:12px;padding:12px;border:1px solid var(--app-border-bright);border-radius:12px;background:var(--app-panel-strong);box-shadow:0 18px 32px #00000052}.pwa-install-icon{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--app-border);border-radius:9px;color:var(--app-accent);background:var(--app-panel-soft)}.pwa-install-copy{display:grid;gap:4px}.pwa-install-copy strong{font-size:13px}.pwa-install-copy span{color:var(--app-text-muted);font-size:12px;line-height:1.45}.pwa-install-button{justify-content:center}.pwa-install-dismiss{width:34px;height:34px}.notification-toast{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:10px;padding:12px;border:1px solid var(--app-border);border-left-width:3px;border-radius:8px;background:var(--app-panel-strong);box-shadow:0 18px 32px #00000052;pointer-events:auto;animation:notification-enter .16s ease-out}.notification-toast[data-tone=positive]{border-left-color:var(--table-value-positive)}.notification-toast[data-tone=negative]{border-left-color:var(--app-negative)}.notification-toast[data-tone=warning]{border-left-color:var(--app-warning)}.notification-toast[data-tone=neutral]{border-left-color:var(--app-accent)}.notification-toast-main{display:grid;min-width:0;gap:5px}.notification-toast-header{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:10px}.notification-toast-header strong{overflow:hidden;color:var(--app-text);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:12px;font-weight:700;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.notification-toast-header span{flex:0 0 auto;color:var(--app-text-muted);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:11px}.notification-toast-body{color:var(--app-text);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.notification-dismiss{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;padding:0;border:1px solid transparent;border-radius:6px;color:var(--app-text-muted);background:transparent;cursor:pointer}.notification-dismiss:hover,.notification-dismiss:focus{border-color:var(--app-border);color:var(--app-text);outline:none}.dashboard-tabs-shell{margin-bottom:14px;border-bottom:1px solid var(--app-border);overflow-x:auto}.dashboard-tabs{display:flex;width:100%;min-width:100%;align-items:flex-end;justify-content:space-between;gap:4px;padding:0 2px}.dashboard-tab-list{display:flex}.dashboard-tab-list>button{position:relative;height:42px;padding:0 16px;border:0;color:var(--app-text-muted);background:transparent;cursor:pointer;font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:12px;font-weight:600;letter-spacing:.06em;white-space:nowrap}.dashboard-tab-list>button:after{position:absolute;right:10px;bottom:0;left:10px;height:2px;background:transparent;content:""}.dashboard-tab-list>button:hover,.dashboard-tab-list>button:focus-visible{color:var(--app-text);outline:none}.dashboard-tab-list>button[aria-selected=true]{color:var(--app-text)}.dashboard-tab-list>button[aria-selected=true]:after{background:var(--app-accent)}.dashboard-tab-actions{display:flex;align-items:center;gap:7px;padding:5px 0}.dashboard-panel-picker select,.dashboard-add-tab-button,.dashboard-add-tab-form input,.dashboard-add-tab-form button{height:32px;border:1px solid var(--app-border);border-radius:7px;color:var(--app-text);background:var(--app-panel-soft);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:11px}.dashboard-panel-picker select{width:210px;padding:0 9px;cursor:pointer}.dashboard-panel-picker select:disabled{cursor:not-allowed;opacity:.55}.dashboard-add-tab-button,.dashboard-add-tab-form button{padding:0 10px;cursor:pointer;white-space:nowrap}.dashboard-add-tab-form{display:flex;align-items:flex-end;gap:6px}.dashboard-add-tab-form label{display:flex;flex-direction:column;gap:3px}.dashboard-add-tab-form label>span{color:var(--app-text-muted);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:8px;letter-spacing:.08em;text-transform:uppercase}.dashboard-add-tab-form input{width:130px;padding:0 8px;outline:none}.dashboard-panel-picker select:focus,.dashboard-add-tab-button:focus-visible,.dashboard-add-tab-form input:focus,.dashboard-add-tab-form button:focus-visible{border-color:var(--app-border-bright);box-shadow:0 0 0 2px var(--app-accent-soft);outline:none}.dashboard-add-tab-form button:disabled{cursor:not-allowed;opacity:.55}.empty-dashboard-tab{display:grid;min-height:220px;place-items:center;margin-bottom:14px;border:1px dashed var(--app-border);border-radius:18px;color:var(--app-text-muted);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:12px}.parameter-workspace{display:flex;width:100%;height:min(72vh,760px);min-height:560px;flex-direction:column;gap:12px;margin-bottom:14px;padding:16px;border:1px solid var(--app-border);border-radius:18px;background:var(--app-panel)}.panel-grid{position:relative}.panel-grid-item{min-width:0}.panel{display:flex;height:100%;min-height:0;flex-direction:column;border:1px solid var(--app-border);border-radius:18px;background:var(--app-panel);box-shadow:var(--app-shadow);overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--app-border);background:linear-gradient(0deg,#ffffff05,#ffffff05),repeating-linear-gradient(-45deg,rgba(255,255,255,.02) 0 2px,transparent 2px 5px)}.panel-drag-handle{display:flex;min-width:0;align-items:center;gap:6px;cursor:grab;user-select:none}.panel-drag-handle:active{cursor:grabbing}.panel-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:14px;font-weight:600}.panel-header-status{display:flex;align-items:center;gap:8px}.panel-header-actions{display:flex;min-width:0;flex:0 1 auto;align-items:center;justify-content:flex-end;gap:10px}.panel-display-toggle{display:inline-flex;flex:0 0 auto;padding:2px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-bg)}.panel-display-toggle button{min-width:30px;padding:3px 7px;border:0;border-radius:6px;background:transparent;color:var(--app-text-muted);cursor:pointer;font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:10px;line-height:1.2}.panel-display-toggle button[aria-pressed=true]{background:var(--app-accent-soft);color:var(--app-text)}.panel-display-toggle button:focus-visible{outline:2px solid var(--app-accent);outline-offset:1px}.panel-field-filter{position:relative;flex:0 0 auto}.panel-field-filter-trigger{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;padding:0;border:1px solid var(--app-border);border-radius:8px;background:var(--app-bg);color:var(--app-text-muted);cursor:pointer}.panel-field-filter-trigger:hover,.panel-field-filter-trigger[aria-expanded=true]{border-color:var(--app-border-bright);color:var(--app-text)}.panel-field-filter-trigger:focus-visible{outline:2px solid var(--app-accent);outline-offset:1px}.panel-field-filter-menu{position:fixed;z-index:1000;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 12px;padding:8px;overflow-y:auto;border:1px solid var(--app-border-bright);border-radius:10px;background:var(--app-panel);box-shadow:var(--app-shadow)}.panel-field-filter-option{display:flex;min-width:0;align-items:center;gap:7px;padding:4px 6px;border-radius:6px;color:var(--app-text);cursor:pointer;font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:11px}.panel-field-filter-option:hover{background:var(--app-accent-soft)}.panel-field-filter-option input{flex:0 0 auto;margin:0;accent-color:var(--app-accent)}.panel-field-filter-option span{min-width:0;white-space:normal}.panel-sma-filter{display:inline-flex;align-items:center;gap:6px;color:var(--app-text-muted);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:10px}.panel-sma-filter select{min-width:64px;height:30px;padding:0 24px 0 8px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-bg);color:var(--app-text);font:inherit}.panel-sma-filter select:focus-visible{outline:2px solid var(--app-accent);outline-offset:1px}.panel-live-dot{width:8px;height:8px;border-radius:999px;background:var(--app-text);box-shadow:none}.panel-content{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;padding:10px}.chart-shell{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;gap:10px}.chart-surface,.perspective-shell,.perspective-shell perspective-viewer,.table-scroll{width:100%;min-height:0;flex:1 1 auto}.chart-surface-timeseries{border:1px solid rgba(255,255,255,.06);border-radius:12px;background:#090d14}.bucket-histogram{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;gap:8px}.bucket-histogram-percentiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.bucket-histogram-percentile{display:grid;gap:2px;min-width:0;padding:6px 8px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-panel-soft);font-family:IBM Plex Mono,SFMono-Regular,monospace}.bucket-histogram-percentile span{color:var(--app-text-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.bucket-histogram-percentile strong{overflow:hidden;color:var(--app-text);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.bucket-histogram-chart{width:100%;min-height:0;flex:1 1 auto}.edge-dot-plot{display:flex;width:100%;min-height:0;flex:1 1 auto;border:1px solid var(--app-border);border-radius:12px;background:var(--app-panel-soft)}.edge-dot-plot-svg{width:100%;height:100%;min-height:180px}.edge-dot-plot-grid{stroke:#ffffff14;stroke-dasharray:4 6}.edge-dot-plot-axis{stroke:var(--app-border-bright);stroke-width:1.25}.edge-dot-plot-label{fill:var(--app-text-muted);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:12px}.table-chart-panel{display:grid;width:100%;min-height:0;flex:1 1 auto;grid-template-columns:minmax(320px,1.2fr) minmax(280px,.8fr);gap:10px}.table-chart-plot,.table-chart-table{display:flex;min-width:0;min-height:0}.table-chart-table .native-table{min-width:360px}.chart-legend{display:flex;flex-wrap:wrap;gap:8px 14px;padding:0 2px}.chart-legend-item{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:0;border:0;background:transparent;cursor:pointer;color:var(--app-text-muted);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:11px}.chart-legend-item[data-hidden=true]{opacity:.45}.chart-legend-item:hover .chart-legend-label,.chart-legend-item:focus-visible .chart-legend-label{color:var(--app-accent)}.chart-legend-item:focus-visible{outline:1px solid var(--app-border-bright);outline-offset:3px;border-radius:4px}.chart-legend-swatch{width:10px;height:10px;border-radius:999px;flex:0 0 auto}.chart-legend-label{color:var(--app-text)}.chart-legend-value{color:var(--app-text-muted)}.perspective-shell{display:flex}.perspective-shell perspective-viewer{border:0;border-radius:0;background:var(--app-panel-strong)}.perspective-shell perspective-viewer canvas{border-radius:0}.table-scroll{display:flex;flex-direction:column;overflow:hidden}.table-search-input{width:min(220px,34vw);height:30px;border:1px solid var(--app-border);border-radius:6px;background:var(--app-panel-strong);color:var(--app-text);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:12px}.table-search-input:focus{border-color:var(--app-border-bright);outline:none}.native-table-scroll{width:100%;height:100%;min-height:0;flex:1 1 auto;overflow:auto;border:1px solid var(--app-border);border-radius:12px;background:var(--table-bg)}.native-table{width:100%;min-width:900px;border-collapse:collapse;color:var(--app-text);font-size:12px;font-family:IBM Plex Mono,SFMono-Regular,monospace}.native-table th,.native-table td{padding:8px 10px;border-bottom:1px solid var(--table-divider);text-align:left;white-space:nowrap}.native-table th{position:sticky;top:0;z-index:1;background:var(--table-header-bg);color:var(--app-text-muted);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.native-table .table-row-action-heading,.native-table .table-row-action-cell{width:38px;min-width:38px;padding:4px 6px;text-align:center}.table-row-parameter-button{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;color:var(--app-text-muted);background:transparent;cursor:pointer}.table-row-parameter-button:hover,.table-row-parameter-button:focus-visible{border-color:var(--app-border-bright);color:var(--app-accent);background:var(--app-accent-soft);outline:none}.table-row-parameter-button[aria-pressed=true]{border-color:var(--app-border-bright);color:var(--app-accent);background:var(--app-accent-soft)}.table-sort-button{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;color:inherit;background:transparent;cursor:pointer;font:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit}.table-sort-button:focus-visible{outline:2px solid var(--app-accent);outline-offset:3px}.native-table tbody tr:nth-child(2n){background:var(--table-stripe-bg)}.native-table tbody tr:hover{background:var(--table-hover-bg)}.native-table tbody tr:focus{outline:2px solid var(--app-accent);outline-offset:-2px}.row-hover-popover-row td{padding:0;border-bottom-color:#8dc7ff3d;background:#8dc7ff0f}.parameter-hover-card{display:grid;gap:8px;box-sizing:border-box;width:100%;padding:12px;border-top:1px solid rgba(141,199,255,.24);color:var(--app-text);white-space:normal}.parameter-hover-title,.parameter-hover-node-title{font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.parameter-hover-title{color:var(--app-accent)}.parameter-hover-section{display:grid;gap:8px}.parameter-hover-section-title{color:var(--app-text-muted);font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:11px}.parameter-hover-node{display:grid;gap:5px}.parameter-hover-node-title,.parameter-hover-empty{color:var(--app-text-muted)}.parameter-hover-list{display:flex;flex-wrap:wrap;gap:6px;margin:0}.parameter-hover-item{display:inline-flex;gap:6px;padding:4px 7px;border:1px solid var(--app-border);border-radius:6px;background:var(--app-panel-soft)}.parameter-hover-item dt,.parameter-hover-item dd{margin:0}.parameter-hover-item dt{color:var(--app-text-muted)}.native-table-empty-cell{color:var(--app-text-muted);text-align:center}.table-value-bar-cell{display:inline-flex;min-width:150px;align-items:center;gap:8px}.table-value-bar-cell[data-tone=positive]{color:var(--table-value-positive)}.table-value-bar-cell[data-tone=negative]{color:var(--table-value-negative)}.table-value-bar-number{flex:0 0 auto}.table-value-bar-track{display:inline-flex;width:72px;height:7px;flex:0 0 auto;overflow:hidden;border-radius:0;background:transparent}.table-value-bar-fill{display:block;height:100%;border-radius:0;background:currentColor}.table-row-inserted{animation:row-flash 3s ease-out}.panel-state{display:flex;min-height:0;flex:1 1 auto;align-items:center;justify-content:center;gap:10px;color:var(--app-text-muted)}.panel-state-error{color:var(--app-negative)}.panel-state-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.16);border-top-color:var(--app-text);border-radius:999px;animation:spin .9s linear infinite}.panel-state-spinner.small{width:12px;height:12px;display:inline-block;vertical-align:middle}.stat-grid{display:grid;min-height:0;flex:1 1 auto;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.stat-item{display:flex;flex-direction:column;justify-content:space-between;min-height:112px;padding:14px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-panel-soft)}.stat-value{margin-top:12px;color:var(--app-text);font-size:28px;font-weight:500;font-family:IBM Plex Mono,SFMono-Regular,monospace}.summary-table{min-height:0;flex:1 1 auto}.summary-table .native-table{min-width:0}.summary-table .summary-table-value{color:var(--app-text);font-weight:700}@media(max-width:700px){.panel-field-filter-menu{width:min(310px,calc(100vw - 48px));grid-template-columns:1fr}}.react-grid-placeholder{border-radius:18px;background:#ffffff14!important;opacity:1!important}.react-resizable-handle:after{border-color:var(--app-border-bright)!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes row-flash{0%{background:#ffffff29}to{background:transparent}}@keyframes notification-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1100px){.terminal-topbar,.toolbar{flex-direction:column;align-items:stretch}.toolbar{gap:14px}.toolbar-controls,.toolbar-meta{width:100%}.toolbar-controls,.toolbar-meta,.toolbar-ops,.trading-mode-controls,.trading-mode-status-stack{flex-wrap:wrap}.table-chart-panel{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(180px,1fr) minmax(160px,1fr)}}@media(max-width:720px){.terminal-shell{padding:calc(12px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left))}.notification-stack{right:calc(12px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right))}.pwa-install-prompt{right:calc(12px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));left:calc(12px + env(safe-area-inset-left));grid-template-columns:auto minmax(0,1fr) auto;width:auto}.pwa-install-button{grid-column:2;width:fit-content}.toolbar-field,.range-select,.custom-range-controls,.custom-range-field,.custom-end-mode-field,.variable-select,.auto-refresh-select,.trading-mode-controls,.trading-mode-status-stack,.trading-mode-status{width:100%;max-width:none;flex-basis:auto}.toolbar-ops,.toolbar-icon-group,.toolbar-meta{flex-wrap:wrap;align-items:stretch}.dashboard-tab-list>button{padding:0 12px}.parameter-workspace{height:72vh;min-height:480px}.trading-mode-controls{flex-wrap:wrap}.trading-mode-actions{width:100%}.trading-mode-actions .terminal-button{flex:1 1 0}}
