:root{--canvas:#050a16;--panel:#0a1120;--panel-raised:#101a2e;--sunken:#14203a;--hover:#1a2844;--line:#1c2a45;--line-strong:#2b3d61;--line-soft:#94b4ff17;--edge-hi:#aacdff12;--edge-hi-strong:#aacdff21;--ink:#e8eefb;--ink-soft:#a6b8d8;--ink-muted:#7186a8;--ink-faint:#55698c;--brand:#2ea8e6;--brand-hot:#4dc4ff;--brand-dim:#17557a;--brand-wash:#3dbdff24;--brand-glow:#3dbdff4d;--on-brand:#04121f;--gold:#f5d76e;--warn:#f0c454;--warn-wash:#f0c45424;--violet-glow:#8b5cf629;--up:#25d0a0;--up-hot:#46e5b8;--up-wash:#25d0a024;--on-up:#03150f;--down:#ff5a70;--down-hot:#ff7d8e;--down-wash:#ff5a7024;--down-solid:#d92b47;--text-xs:10px;--text-sm:11px;--text-base:12px;--text-md:13px;--text-lg:18px;--text-xl:24px;--text-2xl:34px;--track-tight:-.02em;--track-label:.07em;--track-wide:.18em;--radius-xs:3px;--radius:5px;--radius-md:7px;--radius-lg:11px;--radius-xl:16px;--shadow-panel:0 1px 0 var(--line);--shadow-sm:0 1px 2px #02061099;--shadow-md:0 4px 12px -2px #020610b8;--shadow-pop:0 20px 50px -14px #01040ceb, 0 2px 10px #01040c99;--shadow-brand:0 4px 14px -5px var(--brand-glow);--shadow-inset-top:inset 0 1px 0 var(--edge-hi);--glass:#101a2ed1;--scrim:#030712ad;--ease:cubic-bezier(.32, .72, 0, 1);--dur-fast:.11s;--dur:.18s;--dur-slow:.25s;--z-sticky:2;--z-overlay:6;--z-menu:90;--z-modal:110;--font-sans:"IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", monospace;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E")}*,:before,:after{box-sizing:border-box}*{margin:0}html,body,#root{height:100%}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.45}h1,h2,h3,h4{font-size:inherit;letter-spacing:var(--track-tight);text-wrap:balance;font-weight:600}p{text-wrap:pretty}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0}button:disabled{cursor:not-allowed;opacity:.4}:focus-visible{outline:2px solid var(--brand-hot);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}input,select,textarea{font:inherit;color:var(--ink);background:var(--sunken);border:1px solid var(--line);border-radius:var(--radius);caret-color:var(--brand-hot);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);outline:none;padding:5px 8px;box-shadow:inset 0 1px 2px #02061059}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--line-strong)}input:focus,select:focus,textarea:focus{border-color:var(--brand);background:var(--panel-raised);box-shadow:inset 0 1px 2px #02061059, 0 0 0 3px var(--brand-wash)}input::placeholder{color:var(--ink-muted)}input[type=checkbox],input[type=range]{accent-color:var(--brand);box-shadow:none;background:0 0;border:none;padding:0}input[type=color]{cursor:pointer;width:40px;height:24px;box-shadow:none;background:0 0;padding:0}select{cursor:pointer}table{border-collapse:collapse;width:100%}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}::selection{background:var(--brand-dim);color:var(--ink)}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line);transition:background-color var(--dur) var(--ease);background-clip:content-box;border:2px solid #0000;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--line-strong);background-clip:content-box}::-webkit-scrollbar-corner{background:0 0}.grain-layer:after{content:"";z-index:0;pointer-events:none;background-image:var(--grain);opacity:.032;mix-blend-mode:overlay;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.up{color:var(--up)}.down{color:var(--down)}.warn{color:var(--warn)}.brand{color:var(--brand)}.soft{color:var(--ink-soft)}.muted{color:var(--ink-muted)}.strong{font-weight:600}.small{font-size:var(--text-sm)}.tiny{font-size:var(--text-xs)}.upper{text-transform:uppercase;letter-spacing:var(--track-label)}.row{align-items:center;gap:6px;display:flex}.row-wrap{flex-wrap:wrap}.push{margin-left:auto}.sep{background:var(--line);width:1px;height:12px}.stack{flex-direction:column;gap:8px;display:flex}.toolbar{border-bottom:1px solid var(--line);background:linear-gradient(var(--panel-raised), var(--panel));box-shadow:var(--shadow-inset-top);font-size:var(--text-base);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:6px 8px;display:flex}.btn{border-radius:var(--radius);background:var(--sunken);color:var(--ink);font-size:var(--text-base);white-space:nowrap;box-shadow:var(--shadow-inset-top);transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:5px;padding:5px 10px;font-weight:500;display:inline-flex;position:relative}.btn:hover:not(:disabled){background:var(--hover)}.btn:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.btn-sm{font-size:var(--text-sm);padding:3px 7px}.btn-block{width:100%}.btn-primary{background:var(--brand);color:var(--on-brand);box-shadow:var(--shadow-inset-top), var(--shadow-brand);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--brand-hot)}.btn-long{background:var(--up);color:var(--on-up);box-shadow:var(--shadow-inset-top), 0 4px 14px -5px #25d0a059;font-weight:600}.btn-long:hover:not(:disabled){background:var(--up-hot)}.btn-short{background:var(--down-solid);color:#fff;box-shadow:var(--shadow-inset-top), 0 4px 14px -5px #d92b4766;font-weight:600}.btn-short:hover:not(:disabled){background:var(--down)}.btn-ghost{border-color:var(--line);color:var(--ink-soft);box-shadow:none;background:0 0}.btn-ghost:hover:not(:disabled){background:var(--hover);border-color:var(--line-strong);color:var(--ink)}.btn-quiet{color:var(--ink-muted);box-shadow:none;background:0 0;padding:3px 6px}.btn-quiet:hover:not(:disabled){color:var(--ink);background:var(--hover)}.btn-danger-quiet{border-color:var(--line);color:var(--ink-soft);font-size:var(--text-sm);box-shadow:none;background:0 0;padding:3px 7px}.btn-danger-quiet:hover:not(:disabled){border-color:var(--down);color:var(--down);background:var(--down-wash)}.btn-active{background:var(--brand);border-color:var(--brand);color:var(--on-brand);box-shadow:var(--shadow-inset-top), var(--shadow-brand)}.btn-active:hover:not(:disabled){background:var(--brand-hot)}.segmented{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--sunken);gap:2px;padding:2px;display:inline-flex;overflow:hidden;box-shadow:inset 0 1px 2px #02061066}.segmented button{border-radius:var(--radius-xs);font-size:var(--text-xs);color:var(--ink-muted);transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;padding:3px 8px;font-weight:600}.segmented button:hover:not(:disabled){color:var(--ink);background:var(--hover)}.segmented button.active{background:var(--brand);color:var(--on-brand);box-shadow:var(--shadow-sm)}.badge{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--sunken);font-size:var(--text-xs);letter-spacing:.01em;color:var(--ink-soft);white-space:nowrap;align-items:center;gap:4px;padding:1px 5px;font-weight:600;display:inline-flex}.badge-brand{background:var(--brand-wash);color:var(--brand);border-color:#0000}.badge-up{background:var(--up-wash);color:var(--up);border-color:#0000}.badge-down{background:var(--down-wash);color:var(--down);border-color:#0000}.badge-warn{background:var(--warn-wash);color:var(--warn);border-color:#0000}.dot{border-radius:2px;flex-shrink:0;width:7px;height:7px}.side-bar{border-radius:2px;flex-shrink:0;width:3px;height:14px}.side-bar.long{background:var(--up)}.side-bar.short{background:var(--down)}.table-scroll{flex:1;min-height:0;overflow:auto}.data-table{font-size:var(--text-base)}.data-table thead th{z-index:var(--z-sticky);background:var(--panel-raised);box-shadow:0 1px 0 var(--line), 0 6px 10px -8px #01040cf2;text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--track-label);color:var(--ink-muted);white-space:nowrap;padding:6px 8px;font-weight:600;position:sticky;top:0}.data-table tbody td{border-top:1px solid var(--line-soft);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease);padding:6px 8px}.data-table tbody tr:hover td{background:var(--panel-raised)}.data-table tbody tr td:first-child{transition:background-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);box-shadow:inset 1px 0 #0000}.data-table tbody tr:hover td:first-child{box-shadow:inset 1px 0 0 var(--brand)}.data-table .right{text-align:right}.data-table .sort{color:inherit;font:inherit;align-items:center;gap:4px;display:inline-flex}.data-table .sort:hover,.data-table .sort.on{color:var(--ink)}.data-table .sort .caret{color:var(--brand);font-size:8px}.table-state{text-align:center;font-size:var(--text-sm);letter-spacing:.03em;color:var(--ink-muted);background:#94b4ff08;padding:34px 8px}.table-state.error{color:var(--down);background:var(--down-wash)}.data-table tbody tr:hover td.table-state{box-shadow:none;background:#94b4ff08}.data-table tbody tr:hover td.table-state.error{background:var(--down-wash)}.notice{border-bottom:1px solid var(--line);background:var(--panel-raised);font-size:var(--text-sm);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px 12px;padding:5px 8px;display:flex}.account-error{align-items:baseline;gap:6px;min-width:0;max-width:46ch;display:inline-flex}.account-error .reason{text-overflow:ellipsis;white-space:nowrap;color:var(--warn);overflow:hidden}.notice button{color:var(--ink-soft)}.notice button:hover{color:var(--ink)}.error-text{color:var(--down);font-size:var(--text-sm)}.field{flex-direction:column;gap:3px;display:flex}.field>label,.field-label{font-size:var(--text-xs);color:var(--ink-muted)}.leverage-field{flex:1;justify-content:flex-end;gap:6px}.leverage-input{text-align:right;width:66px}.leverage-input[aria-invalid=true]{border-color:var(--down)}.field-inline{font-size:var(--text-base);justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.checkbox{font-size:var(--text-sm);color:var(--ink-soft);cursor:pointer;align-items:center;gap:6px;display:flex}.backdrop{z-index:var(--z-modal);background:var(--scrim);-webkit-backdrop-filter:blur(8px)saturate(.85);animation:scrim-in var(--dur) var(--ease);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}@keyframes scrim-in{0%{opacity:0}}.dialog{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--panel);width:100%;max-height:100%;box-shadow:var(--shadow-pop), var(--shadow-inset-top);animation:dialog-in var(--dur-slow) var(--ease);flex-direction:column;display:flex;overflow:hidden}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}.dialog-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.dialog-title{font-size:var(--text-md);letter-spacing:var(--track-tight);font-weight:600}.dialog-body{flex:1;min-height:0;padding:12px 14px;overflow-y:auto}.dialog-footer{border-top:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.dialog-close{border-radius:var(--radius);width:24px;height:24px;color:var(--ink-muted);transition:color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);justify-content:center;align-items:center;font-size:18px;line-height:1;display:inline-flex}.dialog-close:hover{color:var(--ink);background:var(--hover)}.section-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--track-label);color:var(--ink-muted);align-items:center;gap:8px;margin-bottom:6px;font-weight:600;display:flex}.section-title:after{content:"";background:var(--line);flex:1;height:1px}.fill-center{height:100%;color:var(--ink-muted);font-size:var(--text-sm);justify-content:center;align-items:center;display:flex}.card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-raised);box-shadow:var(--shadow-inset-top);padding:10px}.switch{background:var(--line-strong);width:34px;height:18px;transition:background-color var(--dur) var(--ease);border-radius:999px;flex-shrink:0;position:relative;box-shadow:inset 0 1px 2px #02061080}.switch.on{background:var(--brand);box-shadow:inset 0 1px 2px #02061066, var(--shadow-brand)}.switch .knob{width:14px;height:14px;box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.switch.on .knob{transform:translate(16px)}.alert-row{border-bottom:1px solid var(--line);font-size:var(--text-base);align-items:center;gap:10px;padding:6px 10px;display:flex}.alert-row.done{color:var(--ink-muted)}.alert-dot{background:var(--up);border-radius:50%;flex-shrink:0;width:6px;height:6px}.alert-dot.triggered{background:var(--warn)}.slider{height:18px}.settings-dialog{max-width:760px;height:min(78vh,620px)}.settings-dialog .dialog-body{padding:14px 16px}.dialog-footnote{border-top:1px solid var(--line);background:var(--panel-raised);font-size:var(--text-xs);color:var(--ink-muted);flex-shrink:0;padding:8px 16px}.settings-section{flex-direction:column;gap:8px;display:flex}.person-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-raised);font-size:var(--text-base);align-items:center;gap:8px;padding:6px 10px;display:flex}.invite-code{border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--sunken);font-family:var(--font-mono);font-size:var(--text-base);letter-spacing:.05em;color:var(--ink);-webkit-user-select:all;user-select:all;flex:1;padding:6px 10px}.chart-dialog{max-width:440px}.share-dialog{max-width:620px}.share-canvas{border-radius:var(--radius-lg);border:1px solid var(--line);width:100%;height:auto;box-shadow:var(--shadow-md);display:block}.terminal{background:var(--canvas);height:100dvh;color:var(--ink);flex-direction:column;display:flex}.app-header{z-index:var(--z-overlay);background:linear-gradient(180deg, var(--panel-raised), var(--panel));border-bottom:1px solid var(--line);box-shadow:var(--shadow-inset-top), 0 6px 16px -12px #01040cf2;flex-shrink:0;align-items:center;gap:12px;padding:8px 12px;display:flex;position:relative}.wordmark{font-size:var(--text-sm);letter-spacing:var(--track-wide);color:var(--ink);white-space:nowrap;align-items:center;gap:8px;font-weight:700;display:flex}.wordmark-suffix{color:var(--ink-muted);margin-left:7px;font-weight:400}@media (width<=1280px){.wordmark-suffix{display:none}}.wordmark:before{content:"";background:url(/brand-mark.png) 50%/cover no-repeat;flex-shrink:0;width:22px;height:22px;box-shadow:0 0 12px -4px #4dc4ff99}.ticker{align-items:baseline;gap:10px;display:flex}.ticker-last{font-family:var(--font-mono);font-size:var(--text-lg);letter-spacing:var(--track-tight);font-weight:600}.ticker .small.num{border-radius:var(--radius-xs);align-self:center;padding:2px 6px;font-weight:600}.ticker .small.num.up{background:var(--up-wash)}.ticker .small.num.down{background:var(--down-wash)}.ticker-range{font-size:var(--text-sm);color:var(--ink-muted);font-variant-numeric:tabular-nums}@media (width<=1100px){.ticker-range{display:none}}.equity-chip{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-raised);box-shadow:var(--shadow-inset-top);text-align:left;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);padding:3px 10px}.equity-chip:hover{border-color:var(--brand);background:var(--hover)}.equity-chip:active{transform:translateY(1px)}.equity-chip .label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--track-label);color:var(--ink-muted);display:block}.equity-chip .value{font-family:var(--font-mono);font-size:var(--text-md);letter-spacing:var(--track-tight);font-weight:600;display:block}.stream-state{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--track-label);color:var(--ink-muted);align-items:center;gap:6px;display:flex}.stream-state .pulse{background:var(--up);width:6px;height:6px;animation:pulse-ring 2.4s var(--ease) infinite;border-radius:50%;box-shadow:0 0 #25d0a08c}.stream-state.polling .pulse{background:var(--warn);animation:none;box-shadow:0 0 6px -1px #f0c454b3}@keyframes pulse-ring{0%{box-shadow:0 0 #25d0a080}70%,to{box-shadow:0 0 0 5px #25d0a000}}.user-box{border-left:1px solid var(--line);font-size:var(--text-sm);color:var(--ink-soft);align-items:center;gap:8px;padding-left:12px;font-weight:500;display:flex}.panel{background:var(--panel);flex-direction:column;height:100%;min-height:0;display:flex}.panel-body{flex:1;min-height:0;overflow:hidden}.tabs{background:linear-gradient(180deg, var(--sunken), var(--panel-raised));border-bottom:1px solid var(--line);box-shadow:var(--shadow-inset-top);flex-shrink:0;display:flex}.tab{font-size:var(--text-base);color:var(--ink-muted);transition:color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);padding:7px 12px;font-weight:500;position:relative}.tab:hover{color:var(--ink-soft);background:#94b4ff0d}.tab.active{color:var(--ink);font-weight:600}.tab:after{content:"";background:var(--brand);opacity:0;height:2px;transition:transform var(--dur) var(--ease), opacity var(--dur) var(--ease);border-radius:2px 2px 0 0;position:absolute;bottom:-1px;left:8px;right:8px;transform:scaleX(0)}.tab.active:after{opacity:1;box-shadow:0 -4px 12px -2px var(--brand-glow);transform:scaleX(1)}.tab .count{font-variant-numeric:tabular-nums;color:var(--ink-muted);margin-left:4px}.tab.active .count{color:var(--brand)}.resize{background:var(--line);transition:background-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);flex-shrink:0;position:relative}.resize:hover,.resize[data-dragging=true]{background:var(--brand);box-shadow:0 0 8px 0 var(--brand-glow)}.resize.vertical{cursor:col-resize;width:1px}.resize.horizontal{cursor:row-resize;height:1px}.resize .grab{position:absolute}.resize.vertical .grab{inset:0 -4px}.resize.horizontal .grab{inset:-4px 0}.splash{background:var(--canvas);min-height:100vh;color:var(--ink-muted);font-size:var(--text-sm);justify-content:center;align-items:center;display:flex}.chart{background:var(--panel);flex-direction:column;width:100%;height:100%;display:flex}.chart-toolbar{border-bottom:1px solid var(--line);background:linear-gradient(180deg, var(--panel-raised), var(--panel));box-shadow:var(--shadow-inset-top);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px;padding:5px 8px;display:flex}.tf-btn{border-radius:var(--radius);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--ink-muted);transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);padding:3px 8px;font-weight:600}.tf-btn:hover{background:var(--hover);color:var(--ink)}.tf-btn:active{transform:translateY(1px)}.tf-btn.active{background:var(--brand);color:var(--on-brand);box-shadow:var(--shadow-brand)}.tf-select{font-size:var(--text-sm);padding:3px 6px}.tf-select.active{border-color:var(--brand);color:var(--brand)}.ma-btn{border:1px solid var(--line);border-radius:var(--radius);font-size:var(--text-xs);color:var(--ink-muted);padding:2px 6px;font-weight:600}.ma-btn:hover{color:var(--ink)}.ma-btn.on{background:var(--sunken)}.chart-canvas-wrap{flex:1;min-height:0;position:relative}.chart-canvas{width:100%;height:100%}.chart-legend{z-index:3;pointer-events:none;font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--ink-muted);flex-wrap:wrap;gap:2px 12px;display:flex;position:absolute;top:6px;left:8px}.chart-legend .symbol{color:var(--ink);font-weight:600}.chart-toast{z-index:var(--z-overlay);border:1px solid var(--line-strong);background:var(--glass);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-pop), var(--shadow-inset-top);font-size:var(--text-sm);pointer-events:none;animation:toast-in var(--dur-slow) var(--ease);border-radius:999px;padding:7px 14px;font-weight:500;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.drag-readout{z-index:6;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--panel-raised);box-shadow:var(--shadow-pop);font-size:var(--text-sm);font-variant-numeric:tabular-nums;pointer-events:none;gap:8px;padding:4px 8px;display:flex;position:absolute;top:6px;right:64px}.chart-overlay{text-align:center;font-size:var(--text-base);color:var(--ink-muted);justify-content:center;align-items:center;padding:0 16px;display:flex;position:absolute;inset:0}.chart-overlay.error{z-index:4;color:var(--down)}.context-menu{z-index:120;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--panel-raised);min-width:232px;box-shadow:var(--shadow-pop), var(--shadow-inset-top);font-size:var(--text-base);animation:menu-in var(--dur) var(--ease);padding:4px;position:fixed}.context-menu .item{border-radius:var(--radius);text-align:left;width:100%;color:var(--ink-soft);transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);align-items:center;gap:8px;padding:5px 8px;display:flex}.context-menu .item:hover:not(:disabled){background:var(--hover);color:var(--ink)}.context-menu .item:disabled{color:var(--ink-faint)}.context-menu .item.danger:hover:not(:disabled){background:var(--down-wash);color:var(--down)}.context-menu .icon{text-align:center;width:14px;color:var(--ink-muted)}.context-menu .divider{background:var(--line);height:1px;margin:4px 2px}.book{flex-direction:column;height:100%;display:flex;overflow:hidden}.book-head,.book-row{grid-template-columns:1fr auto;gap:12px;padding:0 8px;display:grid}.book-head{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--track-label);color:var(--ink-muted);border-bottom:1px solid var(--line-soft);flex-shrink:0;padding-block:5px;font-weight:600}.book-rows{flex-direction:column;flex:1;justify-content:center;min-height:0;display:flex;overflow:hidden}.book-row{font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;transition:background-color var(--dur-fast) var(--ease);padding-block:3px;position:relative}.book-row:hover{background:#94b4ff0e}.book-row .depth{transform-origin:100%;position:absolute;inset-block:0;inset-inline:0}.book-row.bid .depth{background:linear-gradient(90deg, transparent, var(--up-wash) 22%, #25d0a042)}.book-row.ask .depth{background:linear-gradient(90deg, transparent, var(--down-wash) 22%, #ff5a7042)}.book-row .price{font-weight:500;position:relative}.book-row.bid .price{color:var(--up)}.book-row.ask .price{color:var(--down)}.book-row .amount{text-align:right;color:var(--ink-soft);position:relative}.book-head.trades,.book-row.trades{grid-template-columns:1fr 1fr auto}.book-row.trades span:nth-child(2),.book-row.trades span:last-child{text-align:right}.book-spread{border-block:1px solid var(--line);background:linear-gradient(180deg, var(--sunken), var(--panel-raised));box-shadow:var(--shadow-inset-top);font-family:var(--font-mono);font-size:var(--text-base);letter-spacing:var(--track-tight);font-variant-numeric:tabular-nums;flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 8px;font-weight:600;display:flex}.order-form{flex-direction:column;gap:8px;height:100%;padding:8px;display:flex;overflow-y:auto}.order-form .sides{grid-template-columns:1fr 1fr;gap:8px;display:grid}.order-form .preview{font-size:var(--text-xs);color:var(--ink-muted);font-variant-numeric:tabular-nums}.ladder{border:1px solid var(--line);border-radius:var(--radius);gap:8px;padding:8px}.ladder .field{gap:3px}.ladder-count{flex:none;width:76px}.ladder-rungs{max-height:128px;font-size:var(--text-xs);margin:6px 0 0;padding:0;list-style:none;overflow-y:auto}.ladder-rungs li{color:var(--ink-soft);justify-content:space-between;gap:8px;padding:1px 0;display:flex}.quick-amounts{flex-wrap:wrap;gap:3px;display:flex}.quick-amounts button{border:1px solid var(--line);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--ink-soft);transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);border-radius:999px;padding:2px 7px;font-weight:500}.quick-amounts button:hover{border-color:var(--line-strong);background:var(--hover);color:var(--ink)}.order-type-tabs{border-radius:var(--radius-md);background:var(--sunken);gap:2px;padding:2px;display:inline-flex;box-shadow:inset 0 1px 2px #02061066}.order-type-tabs button{border-radius:var(--radius-xs);font-size:var(--text-sm);color:var(--ink-muted);transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);padding:3px 10px;font-weight:600}.order-type-tabs button:hover:not(.active){color:var(--ink-soft);background:var(--hover)}.order-type-tabs button.active{background:var(--panel-raised);color:var(--ink);box-shadow:var(--shadow-sm), var(--shadow-inset-top)}.account-cell{align-items:center;gap:6px;display:flex}.symbol-jump{border-radius:var(--radius);transition:background-color var(--dur-fast) var(--ease);align-items:center;gap:6px;margin:-2px -4px;padding:2px 4px;display:inline-flex}.symbol-jump:hover:not(:disabled){background:var(--hover)}.symbol-jump:hover:not(:disabled) .strong{text-underline-offset:3px;text-decoration:underline}.symbol-jump:disabled{cursor:default;opacity:1}.symbol-jump[aria-current=true]{cursor:default}.symbol-jump[aria-current=true]:hover .strong{text-decoration:none}.symbol-jump[aria-current=true]:after{content:"";background:var(--brand);width:4px;height:4px;box-shadow:0 0 6px -1px var(--brand-glow);border-radius:50%}.tpsl-cell{font-variant-numeric:tabular-nums;color:var(--ink-muted);border-radius:3px;padding:2px 5px}.tpsl-cell:hover:not(:disabled){background:var(--hover)}.tpsl-cell.tp{color:var(--up)}.tpsl-cell.sl{color:var(--down)}.tpsl-input{text-align:right;width:88px;font-size:var(--text-base);font-variant-numeric:tabular-nums;padding:2px 5px}.row-actions{justify-content:flex-end;gap:4px;display:flex}.symbol-picker{position:relative}.symbol-input{width:190px;font-weight:600}.symbol-dropdown{z-index:var(--z-menu);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--panel-raised);width:260px;max-height:320px;box-shadow:var(--shadow-pop), var(--shadow-inset-top);animation:menu-in var(--dur) var(--ease);margin-top:6px;padding:4px;position:absolute;overflow-y:auto}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}}.symbol-dropdown button{border-radius:var(--radius);text-align:left;width:100%;font-size:var(--text-base);color:var(--ink-soft);transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);padding:5px 8px;display:block}.symbol-dropdown button:hover{background:var(--hover);color:var(--ink)}.symbol-dropdown button.highlight{background:var(--brand);color:var(--on-brand)}.login-screen{background:var(--canvas);background-image:radial-gradient(58vw 46vh at 64% 16%, #3dbdff29, transparent 68%), radial-gradient(48vw 40vh at 24% 90%, var(--violet-glow), transparent 70%);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex;position:relative;overflow:hidden}.login-screen:before{content:"";pointer-events:none;background-image:var(--grain);opacity:.035;position:absolute;inset:0}.login-card{z-index:1;width:100%;max-width:360px;animation:login-in var(--dur-slow) var(--ease) both;position:relative}@keyframes login-in{0%{opacity:0;transform:translateY(10px)}}.login-title{font-size:var(--text-xl);letter-spacing:var(--track-tight);text-transform:none;justify-content:center;align-items:center;gap:9px;font-weight:600;display:flex}.login-title:before{content:"";background:url(/brand-logo.png) 50%/cover no-repeat;border-radius:50%;flex-shrink:0;width:44px;height:44px;box-shadow:0 0 26px -6px #4dc4ff99}.login-title span{color:var(--ink-soft);font-weight:400}.login-sub{text-align:center;font-size:var(--text-md);color:var(--ink-muted);text-wrap:pretty;margin-top:8px;line-height:1.55}.login-form{border:1px solid var(--line-strong);border-radius:var(--radius-xl);background:var(--glass);-webkit-backdrop-filter:blur(16px)saturate(1.1);box-shadow:var(--shadow-pop), inset 0 1px 0 var(--edge-hi-strong), inset 0 -20px 40px -30px #01040ce6;flex-direction:column;gap:12px;margin-top:22px;padding:20px;display:flex}.login-form .field>span:first-child{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--track-label);color:var(--ink-muted);font-weight:600}.login-form input{border-radius:var(--radius-md);font-size:var(--text-md);padding:9px 11px}.login-form .btn-primary{border-radius:var(--radius-md);font-size:var(--text-md);margin-top:2px;padding:10px}.login-foot{text-align:center;font-size:var(--text-xs);color:var(--ink-faint);margin-top:18px;line-height:1.7}.list-panel{height:100%;padding:10px;overflow-y:auto}.account-row{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-raised);box-shadow:var(--shadow-inset-top);transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.account-row:hover{border-color:var(--line-strong);background:var(--hover)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.stat{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-raised);box-shadow:var(--shadow-inset-top);transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);padding:10px 12px;position:relative;overflow:hidden}.stat:hover{border-color:var(--line-strong);background:var(--hover)}.stat .label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--track-label);color:var(--ink-muted);font-weight:600}.stat .value{font-family:var(--font-mono);font-size:var(--text-lg);letter-spacing:var(--track-tight);font-variant-numeric:tabular-nums;margin-top:4px;font-weight:600}.position-overlay{z-index:4;pointer-events:none;position:absolute;inset:0}.pos-label,.leg-label{white-space:nowrap;height:20px;font-size:var(--text-sm);pointer-events:auto;border-radius:5px;align-items:center;line-height:1;display:flex;position:absolute;transform:translateY(-50%);box-shadow:0 2px 10px #01040c99}.pos-label{background:var(--glass);border:1px solid var(--line-strong);gap:8px;padding:0 4px 0 0}.pos-label.long{border-color:color-mix(in srgb, var(--up) 65%, transparent)}.pos-label.short{border-color:color-mix(in srgb, var(--down) 65%, transparent)}.pos-label .tag{height:100%;font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;border-radius:4px 0 0 4px;align-items:center;padding:0 7px;font-weight:700;display:flex}.pos-label.long .tag{background:var(--up);color:var(--on-up)}.pos-label.short .tag{background:var(--down-solid);color:#fff}.pos-label .size{color:var(--ink);font-weight:600}.pos-label .pnl{font-weight:700}.pos-label .unit{font-size:var(--text-xs);opacity:.6;font-weight:400}.pos-label .who{border-left:1px solid var(--line);font-size:var(--text-xs);color:var(--ink-soft);align-items:center;gap:4px;padding-left:8px;display:flex}.pos-label .who .dot{border-radius:50%;width:6px;height:6px}.pos-label.secondary{opacity:.66;height:18px;font-size:var(--text-xs);box-shadow:none}.pos-label.secondary:hover{opacity:1}.leg-btn{border:1px solid var(--line-strong);height:15px;font-size:var(--text-xs);letter-spacing:.04em;color:var(--ink-muted);cursor:grab;border-radius:3px;padding:0 7px;font-weight:700;transition:background-color .12s,color .12s,border-color .12s}.leg-btn:active{cursor:grabbing}.leg-btn.tp:hover{background:var(--up-wash);border-color:var(--up);color:var(--up)}.leg-btn.sl:hover{background:var(--down-wash);border-color:var(--down);color:var(--down)}.leg-btn.on{cursor:pointer}.leg-btn.tp.on{border-color:color-mix(in srgb, var(--up) 70%, transparent);color:var(--up)}.leg-btn.sl.on{border-color:color-mix(in srgb, var(--down) 70%, transparent);color:var(--down)}.leg-label{cursor:ns-resize;font-variant-numeric:tabular-nums;border:1px solid #0000;gap:6px;padding:0 4px;font-weight:600}.leg-label.tp{background:var(--glass);border-color:var(--up);color:var(--up)}.leg-label.sl{background:var(--glass);border-color:var(--down);color:var(--down)}.leg-label.liq{background:var(--glass);border-color:color-mix(in srgb, var(--warn) 60%, transparent);color:var(--warn);cursor:default;pointer-events:none;font-weight:500}.leg-label .pnl{border-left:1px solid var(--line-soft);padding-left:6px;font-weight:700}.leg-label .tag{font-size:var(--text-xs);letter-spacing:.04em;opacity:.9;padding:0 3px;font-weight:700}.leg-label .clear{color:inherit;opacity:.55;font-size:var(--text-xs);padding:0 2px}.leg-label .clear:hover{opacity:1}.account-editor .field{flex:1;min-width:160px}.swatch{border:2px solid #0000;border-radius:4px;width:20px;height:20px;transition:transform .1s,border-color .12s}.swatch:hover{transform:scale(1.12)}.swatch.on{border-color:var(--ink)}.account-form{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:12px;display:grid}.account-form-submit,.account-form-error{grid-column:1/-1}@media (width<=720px){.account-form{grid-template-columns:minmax(0,1fr)}}.venue-picker{gap:8px;min-width:0}.venue-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;max-height:232px;padding-right:2px;display:grid;overflow-y:auto}.venue-tile{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-raised);min-height:56px;box-shadow:var(--shadow-inset-top);transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);justify-content:center;align-items:center;padding:8px 10px;display:flex}.venue-tile:hover{border-color:var(--line-strong);background:var(--hover)}.venue-tile:active{transform:translateY(1px)}.venue-tile.on{border-color:var(--brand);background:var(--brand-wash);box-shadow:var(--shadow-inset-top), var(--shadow-brand)}.venue-tile img{object-fit:contain;max-width:100%;max-height:32px}.venue-tile .wordmark-text{color:var(--venue,var(--ink-soft));font-size:var(--text-md);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}
