:root{--bg: #ffffff;--panel: #ffffff;--panel2: #f7f8fa;--panel3: #eef1f6;--border: #e5e9f0;--border-soft: #eef1f6;--text: #1d2b3a;--text2: #45536e;--muted: #828ea6;--accent: #1652f0;--accent-strong: #0f43cc;--accent-soft: #e9effe;--accent-border: #b9ccf7;--green: #0c9d61;--green-bar: #0c9d61;--green-soft: #e7f6ee;--green-depth: rgba(12, 157, 97, .14);--red: #e5484d;--red-bar: #e5484d;--red-soft: #fdecec;--red-depth: rgba(229, 72, 77, .13);--amber: #b7791f;--amber-bar: #b7791f;--amber-soft: #fbf1de;--accent-band: #d9e5fd;--radius: 12px;--radius-sm: 8px;--font-sans: "IBM Plex Sans", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI";--font-cjk: "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei";--font-chip: "Inter", "Aptos", "IBM Plex Sans", var(--font-cjk), ui-sans-serif, system-ui, sans-serif;--font-figure: "Roboto Mono", "SFMono-Regular", "Cascadia Mono", "Consolas", monospace;--font-mono: var(--font-figure);--font-ui: var(--font-sans), var(--font-cjk), sans-serif;color-scheme:light}html[data-theme=dark]{--bg: #0b101c;--panel: #121927;--panel2: #151d2e;--panel3: #1c2740;--border: #24304a;--border-soft: #1b2436;--text: #e9eef8;--text2: #aab8d0;--muted: #7d8ca6;--accent: #4f8cff;--accent-strong: #3671e8;--accent-soft: rgba(79, 140, 255, .13);--accent-border: rgba(79, 140, 255, .38);--green: #2ebd85;--green-bar: #21a06d;--green-soft: rgba(46, 189, 133, .12);--green-depth: rgba(46, 189, 133, .18);--red: #f6465d;--red-bar: #f6465d;--red-soft: rgba(246, 70, 93, .12);--red-depth: rgba(246, 70, 93, .18);--amber: #e8a33d;--amber-bar: #c08109;--amber-soft: rgba(232, 163, 61, .13);--accent-band: rgba(79, 140, 255, .24);color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1.55;font-weight:400;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"kern" 1;transition:background .2s ease,color .2s ease}html,body,#root{min-width:0}button,input,select,textarea{font:inherit;font-variant-numeric:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-ui);font-weight:700;line-height:1.3}::selection{background:var(--accent-soft)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--muted)}::-webkit-scrollbar-track{background:transparent}.app{min-height:100vh}.app-main{width:100%;max-width:1520px;min-width:0;margin:0 auto;padding:24px 32px 90px}.appbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;min-height:64px;padding:10px 28px;background:color-mix(in srgb,var(--bg) 92%,transparent);border-bottom:1px solid var(--border-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:inline-flex;align-items:center;min-height:44px;color:var(--text);line-height:1;white-space:nowrap}.brand:hover{text-decoration:none}.brand-mark{width:44px;height:44px;flex:none;display:grid;place-items:center;overflow:hidden;border:1px solid var(--border-soft);border-radius:999px;background:var(--panel2)}.brand-mark img{display:block;width:44px;height:44px;object-fit:cover}.topnav{display:flex;align-items:center;gap:4px;min-width:0;margin-left:4px;padding:4px;background:var(--panel2);border:1px solid var(--border-soft);border-radius:10px}.navlink{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 13px;color:var(--text2);font-size:13px;font-weight:700;border:1px solid transparent;border-radius:8px;white-space:nowrap;transition:all .15s ease}.navlink:hover{color:var(--accent);background:var(--panel);text-decoration:none}.navlink.on{color:var(--accent);background:var(--panel);border-color:var(--border);box-shadow:0 6px 18px -14px var(--text)}.nav-ico{display:grid;place-items:center;width:18px;height:18px;color:currentColor;flex:none}.appbar-spacer{margin-left:auto}.appbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.nav-status{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 10px;color:var(--text2);background:var(--panel);border:1px solid var(--border-soft);border-radius:999px;font-size:12px;font-weight:700}.nav-status-dot{width:7px;height:7px;border-radius:999px;flex:none;background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.iconbtn{display:grid;place-items:center;width:44px;height:44px;padding:0;background:transparent;color:var(--muted);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.iconbtn:hover{color:var(--text);background:var(--panel2);border-color:var(--border)}.mini-iconbtn{display:grid;place-items:center;width:30px;height:30px;padding:0;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:7px;cursor:pointer}.mini-iconbtn:hover{color:var(--text);background:var(--panel2);border-color:var(--border-soft)}.activity-center{position:relative;display:grid}.activity-trigger{position:relative}.activity-trigger.on,.activity-trigger[aria-expanded=true]{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-border)}.activity-badge{position:absolute;top:5px;right:5px;display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;color:#fff;background:var(--red);border:2px solid var(--bg);border-radius:999px;font-family:var(--font-figure);font-size:9px;font-weight:850;line-height:1}.activity-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:80;width:min(390px,calc(100vw - 24px));overflow:hidden;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 22px 55px -28px color-mix(in srgb,var(--text) 46%,transparent)}.activity-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-bottom:1px solid var(--border-soft);background:color-mix(in srgb,var(--panel2) 58%,var(--panel))}.activity-head>div{display:grid;gap:1px;min-width:0}.activity-head b{color:var(--text);font-size:13px;line-height:1.2}.activity-head span{color:var(--muted);font-size:11px}.activity-list{display:grid;max-height:min(520px,calc(100vh - 116px));overflow-y:auto}.activity-empty{padding:28px 14px;color:var(--muted);font-size:12px;text-align:center}.activity-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:start;min-width:0;padding:10px 12px;border-bottom:1px solid var(--border-soft)}.activity-item:last-child{border-bottom:0}.activity-kind{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;color:var(--accent);background:var(--accent-soft)}.activity-item.trade .activity-kind{color:var(--green);background:var(--green-soft)}.activity-item.order .activity-kind{color:var(--accent);background:var(--accent-soft)}.activity-item.ws .activity-kind{color:var(--muted);background:var(--panel2)}.activity-copy{display:grid;gap:2px;min-width:0}.activity-copy b{color:var(--text);font-size:12px;line-height:1.25}.activity-copy em{color:var(--text2);font-size:12px;font-style:normal;line-height:1.35;overflow-wrap:anywhere}.activity-item time{color:var(--muted);font-family:var(--font-figure);font-size:10.5px;line-height:1.35;white-space:nowrap}.user-chip{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:220px;min-height:34px;padding:4px 10px 4px 5px;color:var(--text2);background:var(--panel);border:1px solid var(--border-soft);border-radius:999px;font-size:12px;font-weight:700}.user-chip img,.user-initial{width:24px;height:24px;border-radius:999px;flex:none}.user-chip img{display:block;object-fit:cover}.user-initial{display:grid;place-items:center;color:#fff;background:var(--accent);font-size:11px;font-weight:800}.user-chip span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,var(--panel2),transparent 46%),var(--bg)}.auth-panel{width:min(100%,420px);display:grid;justify-items:center;gap:14px;padding:34px 28px 30px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 24px 70px -55px var(--text);text-align:center}.auth-logo{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:800;letter-spacing:0}.auth-logo.muted{background:var(--panel2);color:var(--muted);border:1px solid var(--border)}.auth-panel h1{margin:2px 0 0;font-size:22px;letter-spacing:0}.auth-panel p{margin:0;max-width:340px;color:var(--text2)}.google-button{min-height:44px;display:grid;place-items:center;margin-top:4px}.auth-error{width:100%;color:var(--red);background:var(--red-soft);border-radius:var(--radius-sm);padding:10px 12px;font-size:12.5px;overflow-wrap:anywhere}.auth-logo-skel{width:54px;height:54px;border-radius:14px}.auth-line{width:70%;height:14px}.auth-line.wide{width:86%}.status{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12.5px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.status .dot{width:7px;height:7px;border-radius:50%;background:#2ebd85;box-shadow:0 0 0 3px var(--green-soft)}.status.scanning .dot{background:#6f94ff;box-shadow:0 0 0 3px #6f94ff40;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 14px}button{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 15px;cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;transition:all .15s ease}button:hover{border-color:var(--accent-border);color:var(--accent)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button:disabled:hover{border-color:var(--border);color:var(--text)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.filters{display:grid;gap:8px;margin-bottom:14px;padding:10px 0 12px;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}.filter-topline,.filter-bottomline{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.filter-title{color:var(--text);font-size:13px;font-weight:700;line-height:1.2}.filter-summary{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}.filter-status{min-height:24px;padding:3px 9px;background:var(--panel);border:1px solid var(--border-soft);border-radius:999px;white-space:nowrap}.filters .count,.active-count{display:inline-flex;align-items:center;min-height:24px;color:var(--muted);background:var(--panel2);border:1px solid transparent;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.active-count.on{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-border)}.scan-refresh{min-height:28px;padding:4px 10px;border-color:var(--border-soft);background:var(--panel);color:var(--text2);font-size:12px}.scan-refresh:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.filter-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(136px,.34fr) minmax(152px,.38fr) minmax(178px,.42fr);gap:8px;align-items:end}.filter-block{display:grid;gap:4px;min-width:0;color:var(--text2);font-size:12px;font-weight:600}.filter-label{color:var(--muted);font-size:11px;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:0}.filters input[type=number],.filters select,.filters input[type=search]{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:inherit;font-variant-numeric:tabular-nums;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.filters input[type=number]{font-family:var(--font-mono)}.filters input[type=number]{width:100%;min-width:0;height:36px;padding:7px 10px 7px 2px;border:none;background:transparent}.filters select{width:100%;height:38px;padding:7px 32px 7px 10px;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.filters input:focus,.filters select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search{position:relative;display:block;min-width:0}.search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search input[type=search]{width:100%;height:38px;padding:8px 38px 8px 36px;background:var(--panel2);border-color:transparent}.search input[type=search]:focus{background:var(--panel);border-color:var(--accent)}.search-clear{position:absolute;right:0;top:50%;transform:translateY(-50%);width:38px;height:38px;padding:0;border:none;border-radius:7px;background:transparent;color:var(--muted);font-size:17px;line-height:1}.search-clear:hover{color:var(--text);background:var(--panel3)}.money-input{display:inline-flex;align-items:center;gap:2px;height:38px;min-width:0;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding-left:12px}.money-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.money-input i{color:var(--muted);font-size:12px;font-style:normal;font-weight:700;white-space:nowrap}.money-input input:focus{box-shadow:none}.filter-toggles{display:flex;gap:8px;flex-wrap:wrap;min-width:0}.filters label.toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:var(--radius-sm);min-height:36px;padding:7px 11px;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text2);background:var(--panel);font-size:12.5px;font-weight:600;transition:all .15s ease}.filters label.toggle:hover{border-color:var(--accent-border);color:var(--accent)}.filters label.toggle:has(input:checked){background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.filters label.toggle input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border-radius:999px;border:1px solid currentColor;background:transparent;opacity:.75;display:grid;place-items:center;flex:none}.filters label.toggle input:before{content:"";width:8px;height:8px;border-radius:inherit;background:currentColor;transform:scale(0);transition:transform .15s ease}.filters label.toggle input:checked:before{transform:scale(1)}.reset-filter{min-height:36px;padding:7px 11px;border-color:transparent;background:transparent;color:var(--muted);font-size:12.5px;white-space:nowrap}.reset-filter:hover{background:var(--panel2);color:var(--accent);border-color:var(--border)}.tablecard{background:transparent}.tablewrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table.mkts{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px;min-width:1020px}table.mkts th{text-align:right;color:var(--muted);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:0;padding:10px 12px;white-space:nowrap}table.mkts th:first-child,table.mkts td:first-child{text-align:left;padding-left:16px}table.mkts th:nth-child(2),table.mkts td:nth-child(2){text-align:left}table.mkts th:last-child,table.mkts td:last-child{padding-right:16px}table.mkts td{padding:13px 12px;text-align:right;white-space:nowrap;font-family:var(--font-mono);font-variant-numeric:tabular-nums}table.mkts td:nth-child(2){font-family:var(--font-ui)}table.mkts tbody tr{cursor:pointer}table.mkts tbody tr.striped>td{background:var(--panel2)}table.mkts tbody tr>td:first-child{border-radius:10px 0 0 10px}table.mkts tbody tr>td:last-child{border-radius:0 10px 10px 0}table.mkts tbody tr:hover>td{background:var(--panel3)}table.mkts th.ck,table.mkts td.ck{width:38px;padding-right:4px}.ckbox{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;vertical-align:middle;margin:0}table.mkts th.chevcell,table.mkts td.chevcell{width:42px;color:var(--muted)}.chev{transition:transform .18s ease;vertical-align:middle}tr.open .chev{transform:rotate(180deg);color:var(--accent)}table.mkts tbody tr.open>td{background:var(--panel3)}table.mkts tbody tr.open>td:first-child{border-radius:10px 0 0}table.mkts tbody tr.open>td:last-child{border-radius:0 10px 0 0}table.mkts tbody tr.expand-row,table.mkts tbody tr.expand-row:hover{cursor:default}table.mkts tbody tr.expand-row>td,table.mkts tbody tr.expand-row:hover>td{background:var(--panel2);padding:0;border-radius:0 0 10px 10px;box-shadow:inset 0 1px 0 var(--border-soft)}.xpanel{display:grid;grid-template-columns:1.15fr 1fr .9fr;gap:24px;padding:6px 20px 16px;white-space:normal;text-align:left}.xpanel section{min-width:0}.xpanel h4{margin:12px 0 10px;font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:0}.xpanel .bookhead{margin-top:12px}.xpanel .bookhead h4{margin:0}.xfoot{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:0 20px 16px;font-size:12.5px;white-space:normal;text-align:left}.ticket{display:grid;gap:12px}.quote-ticket{gap:14px;padding-top:12px}.ticket .duo{display:grid;grid-template-columns:1fr 1fr;gap:10px}.seg{display:inline-flex;gap:2px;padding:3px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm)}.seg button{border:none;background:transparent;color:var(--muted);padding:5px 12px;border-radius:6px;font-size:12.5px;font-weight:500}.seg button:hover{color:var(--accent)}.seg button.on{background:var(--accent);color:#fff;font-weight:600}.seg.seg-block{display:flex}.seg.seg-block button{flex:1;padding:6px 8px}button.block{width:100%}.field{display:grid;gap:6px;min-width:0}.field .fl{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:0}.field .fl em{font-style:normal;font-weight:500;text-transform:none;letter-spacing:0;margin-left:auto;font-size:11px}.field .fl .fwarn{color:var(--amber);font-weight:600}.field .dot{width:7px;height:7px;border-radius:50%;flex:none}.field .dot.bid{background:var(--green-bar)}.field .dot.ask{background:var(--red-bar)}.numctl{display:flex;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease;overflow:hidden}.numctl:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.numctl.warn{border-color:color-mix(in srgb,var(--amber) 55%,transparent)}.numctl.warn:focus-within{box-shadow:0 0 0 3px var(--amber-soft)}.numctl button{border:none;background:transparent;color:var(--muted);width:30px;height:32px;padding:0;font-size:15px;line-height:1;border-radius:0;flex:none}.numctl button:hover{color:var(--accent);background:var(--panel2)}.numctl input{border:none;background:transparent;color:var(--text);width:100%;min-width:0;text-align:center;font-size:13.5px;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;padding:6px 0}.numctl input:focus{outline:none}.numctl .unit{color:var(--muted);font-size:11.5px;flex:none;padding-right:2px}.quote-range{display:grid;gap:8px;padding-top:10px;border-top:1px solid var(--border-soft)}.quote-range-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.quote-topbook{display:inline-flex;align-items:center;gap:8px;min-width:0;color:var(--muted);font-size:11.5px;font-weight:600;white-space:nowrap}.quote-topbook span{display:inline-flex;align-items:center;gap:5px;min-width:0}.quote-topbook .dot{width:7px;height:7px;border-radius:50%;flex:none}.quote-topbook .dot.bid{background:var(--green-bar)}.quote-topbook .dot.ask{background:var(--red-bar)}.quote-topbook b{color:var(--text);font-family:var(--font-mono);font-size:12px;font-weight:700}.quote-reset{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:28px;padding:5px 9px;border-color:var(--border-soft);background:var(--panel2);color:var(--text2);font-size:12px;white-space:nowrap}.quote-reset:hover{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent)}.zonebar{position:relative;height:44px;margin:2px 2px 0}.zb-track{position:absolute;left:0;right:0;top:15px;height:2px;background:var(--border);border-radius:2px}.zb-band{position:absolute;top:11px;height:10px;background:var(--accent-band);border-radius:5px}.zb-mid{position:absolute;left:50%;top:7px;height:18px;border-left:1.5px dashed var(--muted)}.zb-mk{position:absolute;top:8px;transform:translate(-50%);width:16px;height:16px;border-radius:50%;padding:0;border:0;display:grid;place-items:center;background:var(--accent);font-size:9px;font-weight:700;color:#fff;box-shadow:0 0 0 2px var(--panel2);transition:left .15s ease;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.zb-mk:hover{color:#fff;filter:brightness(1.05)}.zb-mk:active{cursor:grabbing;transform:translate(-50%) scale(1.08)}.zb-mk.bid{background:var(--green-bar)}.zb-mk.ask{background:var(--red-bar)}.zb-mk.out{background:var(--amber-bar)}.zb-lab{position:absolute;top:28px;transform:translate(-50%);font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums}.balchip{margin-left:auto;font-size:11px;font-weight:600;letter-spacing:0;color:var(--green);background:var(--green-soft);border-radius:6px;padding:2px 8px;text-transform:none}.xpanel h4{display:flex;align-items:center;gap:8px}.tp-sub{font-size:11px;color:var(--muted);font-weight:600;letter-spacing:0;margin:10px 0 6px}.tp-empty{font-size:12.5px;color:var(--muted);padding:4px 0 2px}.olist{list-style:none;margin:0;padding:0;display:grid;gap:6px}.olist li{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:6px 8px 6px 6px;font-size:12.5px;font-variant-numeric:tabular-nums}.olist .ol-main{font-weight:600}.olist .ol-x{margin-left:auto;padding:2px 9px;font-size:12px;border-radius:6px;color:var(--muted)}.olist .ol-x:hover{color:var(--red);border-color:color-mix(in srgb,var(--red) 40%,transparent)}.placemsg{font-size:12px;border-radius:8px;padding:8px 10px;line-height:1.5}.placemsg.ok{background:var(--green-soft);color:var(--green)}.placemsg.bad{background:var(--red-soft);color:var(--red)}.mini-empty{background:var(--panel);border:1px dashed var(--border);border-radius:10px;padding:20px 14px;text-align:center;color:var(--muted);font-size:12.5px;line-height:1.8}.bulkbar{position:fixed;left:50%;transform:translate(-50%);bottom:26px;z-index:30;display:flex;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:10px 16px;font-size:13px;box-shadow:0 10px 34px -8px #0f193247}.bulkbar>span{color:var(--text2);margin-right:4px}.bulkbar b{color:var(--accent)}.bulkbar .bulkmsg{max-width:min(46vw,520px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.mcell{display:flex;align-items:center;gap:12px;min-width:0}.micon{width:38px;height:38px;border-radius:8px;object-fit:cover;background:var(--panel3);flex:none}.micon.ph{display:inline-grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,var(--panel3)),var(--border));color:var(--text2);font-size:14px;font-weight:700;font-variant-numeric:normal}.mq{min-width:0}.mq .t{color:var(--text);font-weight:600;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}tr:hover .mq .t{color:var(--accent)}.mq .p{font-size:12px;color:var(--muted);margin-top:2px;font-weight:500}.rules-link{display:inline-flex;align-items:center;min-height:auto;padding:0;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:12px;font-weight:600;line-height:1.35;cursor:pointer}.rules-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.maxspread-text{color:var(--text);font-weight:400}.rules-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:24px;background:#0f172a6b}.rules-dialog{width:min(720px,100%);max-height:min(78vh,760px);display:flex;flex-direction:column;overflow:hidden;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 22px 70px -18px #0f19326b}.rules-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid var(--border)}.rules-kicker{margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:600}.rules-head h2{margin:0;color:var(--text);font-size:18px;line-height:1.35;letter-spacing:0}.rules-close{width:30px;height:30px;flex:none;padding:0;border-color:transparent;background:transparent;color:var(--muted);font-size:24px;line-height:1}.rules-close:hover{background:var(--panel2);color:var(--text)}.rules-body{padding:18px 20px;overflow:auto;color:var(--text2);font-size:14px;line-height:1.7;white-space:pre-wrap}.rules-foot{padding:12px 20px 16px;border-top:1px solid var(--border)}.rules-foot a{color:var(--accent);font-size:13px;font-weight:600}.pill{display:inline-block;font-size:12px;font-weight:600;border-radius:6px;padding:3px 8px;line-height:1.5}.pill+.pill{margin-left:5px}.pill.blue{background:var(--accent-soft);color:var(--accent)}.pill.green{background:var(--green-soft);color:var(--green)}.pill.amber{background:var(--amber-soft);color:var(--amber)}.pill.red{background:var(--red-soft);color:var(--red)}.mm-reason{max-width:180px;margin-top:4px;color:var(--muted);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mm-quote{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:4px;font-family:var(--font-mono);white-space:nowrap}.mm-quote b{color:var(--text);font-weight:700}.mm-quote span{color:var(--muted)}.mm-quote small{margin-left:5px;color:var(--muted);font-size:11.5px}.comp{display:inline-flex;gap:2.5px;align-items:center;vertical-align:middle}.comp i{width:4px;height:14px;border-radius:2px;background:var(--border)}.comp.l1 i:nth-child(-n+1){background:var(--green-bar)}.comp.l2 i:nth-child(-n+2){background:#9ec20c}.comp.l3 i:nth-child(-n+3){background:var(--amber-bar)}.comp.l4 i:nth-child(-n+4){background:#f97316}.comp.l5 i:nth-child(-n+5){background:var(--red-bar)}.comp-label{font-size:12px;color:var(--muted);margin-left:7px;vertical-align:middle}.pos{color:var(--green)}.warn{color:var(--amber)}.bad{color:var(--red)}.dim,.muted{color:var(--muted)}b.money{color:var(--text);font-weight:600}td.yield{font-weight:600}.pager{display:flex;gap:6px;justify-content:center;align-items:center;margin-top:22px}.pager span{display:inline-flex;align-items:center;gap:6px}.pager button{min-width:34px;padding:6px 9px;border-color:transparent;background:transparent;color:var(--text2)}.pager button:hover{background:var(--panel2);color:var(--accent)}.pager button.on{background:var(--accent);color:#fff;font-weight:600}.back{margin-bottom:16px}.back a{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;font-weight:500;padding:5px 10px;margin-left:-10px;border-radius:var(--radius-sm);transition:all .15s ease}.back a:hover{color:var(--accent);background:var(--accent-soft);text-decoration:none}.qtitle{font-size:22px;margin:0 0 6px;font-weight:700;letter-spacing:0;line-height:1.35}.page-title{font-size:22px;margin:0 0 4px;font-weight:700;letter-spacing:0;line-height:1.35}.meta{color:var(--muted);font-size:12.5px;margin-bottom:20px}.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.statgrid.compact .stat{padding:14px 16px 13px}.statgrid.compact .stat .v{font-size:20px}.stat{background:var(--panel2);border-radius:var(--radius);padding:16px 18px 14px}.stat .k{font-size:11px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:0;margin-bottom:6px}.stat .v{font-family:var(--font-mono);font-size:22px;font-weight:700;letter-spacing:0;line-height:1.2}.stat .v small{font-size:12.5px;font-weight:500;color:var(--muted);margin-left:4px;letter-spacing:0}.stat .v.pos{color:var(--green)}.detail{display:grid;grid-template-columns:1.08fr 1fr;gap:16px;align-items:start}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.card h3{margin:0 0 14px;font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:0}.card+.card{margin-top:16px}.kv{display:grid;grid-template-columns:auto 1fr;gap:9px 20px;font-size:13.5px}.kv .k{color:var(--muted)}.kv b{font-weight:600}.section{margin-top:22px}.section h3{margin:0 0 12px;font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:0}table.simple{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;font-size:13px;font-variant-numeric:tabular-nums}table.simple th{text-align:right;color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:0;padding:10px 12px;border-bottom:1px solid var(--border-soft)}table.simple th:first-child,table.simple td:first-child{text-align:left}table.simple td{text-align:right;padding:11px 12px;border-bottom:1px solid var(--border-soft)}table.simple tbody tr:hover td{background:var(--panel2)}.mini-action{padding:4px 9px;font-size:12px;border-radius:6px}.mini-link{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 9px;font-size:12px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:6px}.mini-link:hover{text-decoration:none;background:var(--accent);color:#fff}.portfolio-page{display:grid;gap:16px}.portfolio-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;min-height:150px;padding:22px 24px;color:#fff;background:linear-gradient(135deg,#1652f0f5,#0f1c36fa),#10244d;border-radius:var(--radius);overflow:hidden}.portfolio-hero-copy{display:grid;gap:8px;min-width:0}.portfolio-eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#ffffffc2;font-size:12px;font-weight:700}.portfolio-eyebrow span{display:inline-flex;align-items:center;gap:7px;min-height:26px;padding:4px 9px;background:#ffffff1a;border:1px solid rgba(255,255,255,.14);border-radius:999px}.portfolio-eyebrow i{width:7px;height:7px;border-radius:999px;background:#36d399;box-shadow:0 0 0 3px #36d3992e}.portfolio-hero h1{margin:0;font-size:30px;line-height:1.1;letter-spacing:0}.portfolio-hero p{max-width:620px;margin:0;color:#ffffffc7;font-size:13.5px}.portfolio-hero-side{display:grid;justify-items:end;gap:8px}.portfolio-refresh{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 13px;color:#fff;background:#ffffff1f;border-color:#ffffff3d}.portfolio-refresh:hover{color:#fff;background:#ffffff2e;border-color:#ffffff61}.portfolio-refresh:disabled{color:#ffffffb8;border-color:#ffffff2e}.portfolio-updated{color:#ffffffa3;font-family:var(--font-mono);font-size:12px;white-space:nowrap}.portfolio-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.portfolio-metric{display:grid;gap:5px;min-width:0;padding:15px 16px;background:var(--panel2);border:1px solid transparent;border-radius:var(--radius-sm)}.portfolio-metric span,.portfolio-mini-metric span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0}.portfolio-metric b{min-width:0;color:var(--text);font-family:var(--font-mono);font-size:22px;font-weight:800;line-height:1.15;overflow-wrap:anywhere}.portfolio-metric small{color:var(--muted);font-size:12px}.portfolio-metric.good b,.portfolio-mini-metric.good b{color:var(--green)}.portfolio-metric.bad b,.portfolio-mini-metric.bad b{color:var(--red)}.portfolio-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.28fr) minmax(210px,.28fr);gap:10px;align-items:stretch}.portfolio-chipbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0;padding:10px;background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-sm)}.portfolio-chipbar span{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:5px 10px;color:var(--muted);background:var(--panel2);border-radius:999px;font-size:12px;font-weight:700}.portfolio-chipbar b,.portfolio-focus b{color:var(--text);font-family:var(--font-mono)}.portfolio-focus{display:grid;gap:3px;min-width:0;padding:10px 12px;background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-sm)}.portfolio-focus span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.portfolio-focus b{font-size:16px;font-weight:800}.portfolio-focus small{min-width:0;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-list{display:grid;gap:10px}.portfolio-list-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:2px}.portfolio-list-head h2{margin:0;font-size:15px;line-height:1.25}.portfolio-list-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.portfolio-list-head>span{color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.portfolio-card{display:grid;gap:12px;padding:14px;background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius);transition:border-color .15s ease,background .15s ease}.portfolio-card:hover{background:color-mix(in srgb,var(--panel) 72%,var(--panel2));border-color:var(--border)}.portfolio-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.portfolio-market{display:flex;align-items:center;gap:11px;min-width:0;color:var(--text)}.portfolio-market:hover{color:var(--accent);text-decoration:none}.portfolio-market .micon{width:42px;height:42px;border-radius:8px;flex:none}.portfolio-market>span{display:grid;gap:2px;min-width:0}.portfolio-market b{color:currentColor;font-size:14px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-market small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-external{flex:none;color:var(--muted)}.portfolio-card-tags{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.portfolio-card-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.portfolio-mini-metric{display:grid;gap:3px;min-width:0;padding:10px 11px;background:var(--panel2);border-radius:var(--radius-sm)}.portfolio-mini-metric b{min-width:0;color:var(--text);font-family:var(--font-mono);font-size:15px;font-weight:800;line-height:1.2;overflow-wrap:anywhere}.portfolio-mini-metric small{color:var(--muted);font-size:12px}.portfolio-card-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:10px}.portfolio-block{display:grid;align-content:start;gap:8px;min-width:0;padding:10px;background:var(--panel2);border-radius:var(--radius-sm)}.portfolio-block-title{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.portfolio-block-title b{color:var(--text2);font-family:var(--font-mono)}.portfolio-blank{min-height:42px;display:grid;place-items:center;color:var(--muted);background:var(--panel);border:1px dashed var(--border);border-radius:7px;font-size:12px}.portfolio-position-list,.portfolio-order-list{display:grid;gap:6px}.portfolio-position,.portfolio-order{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;min-height:44px;padding:7px 8px;color:var(--text2);background:var(--panel);border:1px solid var(--border-soft);border-radius:7px}.portfolio-position .pill,.portfolio-order .pill{min-width:42px;text-align:center}.portfolio-position div,.portfolio-order-main{display:grid;gap:2px;min-width:0}.portfolio-position b,.portfolio-order b,.portfolio-position strong{color:var(--text);font-family:var(--font-mono);font-weight:800;white-space:nowrap}.portfolio-position small,.portfolio-order small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-position strong{justify-self:end}.portfolio-order .mini-action{min-height:32px;margin-left:0;white-space:nowrap}.portfolio-merge-action{display:inline-flex;align-items:center;justify-content:center;min-height:38px;width:100%;color:var(--green);background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 28%,transparent)}.portfolio-merge-action:hover{color:#fff;background:var(--green);border-color:var(--green)}.portfolio-empty{display:grid;gap:4px;background:var(--panel2);border-radius:var(--radius)}.portfolio-empty p{margin:0}.portfolio-state{min-height:320px}.skel-hero{align-content:end;background:var(--panel2)}.skel-title{width:min(260px,70%);height:34px}.skel-line{width:min(460px,90%);height:16px}.skel-stat{height:88px}.skel-card{height:214px}.panel-state{display:grid;gap:8px;place-items:center;text-align:center;color:var(--muted);background:var(--panel2);border-radius:var(--radius);padding:52px 20px;min-height:180px}.panel-state small{color:var(--red);max-width:720px;overflow-wrap:anywhere}.okmsg{color:var(--green);padding:14px 16px;background:var(--green-soft);border-radius:var(--radius);margin-bottom:16px;font-size:13px;overflow-wrap:anywhere}.portfolio-page{gap:12px}.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 12px;border-bottom:1px solid var(--border-soft)}.portfolio-titleblock{min-width:0}.portfolio-titleblock h1{margin:0;color:var(--text);font-size:22px;line-height:1.25;letter-spacing:0}.portfolio-titleblock p{margin:3px 0 0;color:var(--muted);font-size:12.5px}.portfolio-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.portfolio-live{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:5px 10px;color:var(--text2);background:var(--panel2);border:1px solid var(--border-soft);border-radius:999px;font-size:12px;font-weight:800}.portfolio-live i{width:7px;height:7px;border-radius:999px;background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.portfolio-toolbar .portfolio-updated{min-height:32px;display:inline-flex;align-items:center;color:var(--muted);background:transparent;font-family:var(--font-mono);font-size:12px}.portfolio-toolbar .portfolio-refresh{min-height:34px;color:var(--accent);background:var(--accent-soft);border-color:var(--accent-border)}.portfolio-toolbar .portfolio-refresh:hover{color:#fff;background:var(--accent);border-color:var(--accent)}.portfolio-toolbar .portfolio-refresh:disabled{color:var(--muted);background:var(--panel2);border-color:var(--border-soft);cursor:not-allowed}.portfolio-toolbar .portfolio-cancel-all{color:var(--red);background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 24%,transparent)}.portfolio-toolbar .portfolio-cancel-all:hover:not(:disabled){color:#fff;background:var(--red);border-color:var(--red)}.portfolio-toolbar .portfolio-cancel-all:disabled{color:color-mix(in srgb,var(--red) 42%,var(--muted));background:color-mix(in srgb,var(--red-soft) 48%,var(--panel2));border-color:var(--border-soft)}.portfolio-kpis{grid-template-columns:1.1fr 1.1fr 1.1fr 1fr 1fr;gap:7px}.portfolio-kpis .portfolio-metric{min-height:66px;padding:9px 11px;background:var(--panel);border:1px solid var(--border-soft);border-radius:8px}.portfolio-kpis .portfolio-metric b{font-size:18px}.portfolio-kpis .portfolio-metric small{font-size:11px}.portfolio-strip{grid-template-columns:minmax(0,1fr) minmax(240px,.34fr) minmax(220px,.28fr) minmax(220px,.28fr);gap:8px}.portfolio-strip .portfolio-chipbar,.portfolio-strip .portfolio-focus,.portfolio-merge-panel{min-height:58px;border-radius:8px}.portfolio-strip .portfolio-chipbar{padding:9px;background:var(--panel2);border-color:transparent}.portfolio-strip .portfolio-chipbar span{min-height:28px;background:var(--panel);border:1px solid var(--border-soft);border-radius:7px}.portfolio-strip .portfolio-focus{background:var(--panel);border-color:var(--border-soft)}.portfolio-merge-panel{display:grid;gap:2px;min-width:0;padding:9px 12px;background:var(--panel);border:1px solid var(--border-soft)}.portfolio-merge-panel.active{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 28%,transparent)}.portfolio-merge-panel span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.portfolio-merge-panel b{color:var(--green);font-family:var(--font-mono);font-size:17px;font-weight:900;line-height:1.15}.portfolio-merge-panel small{min-width:0;color:var(--text2);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-compact-strip{display:block}.portfolio-compact-strip .portfolio-chipbar{min-height:0;padding:7px;background:color-mix(in srgb,var(--panel2) 64%,var(--panel));border:1px solid var(--border-soft)}.portfolio-compact-strip .portfolio-chipbar span{min-height:24px;padding:3px 8px;color:color-mix(in srgb,var(--muted) 84%,var(--text));background:transparent;border:1px solid color-mix(in srgb,var(--border-soft) 74%,transparent);border-radius:6px;font-size:11px;font-weight:750}.portfolio-compact-strip .portfolio-chipbar span.good{color:var(--green);background:color-mix(in srgb,var(--green-soft) 62%,transparent);border-color:color-mix(in srgb,var(--green) 18%,transparent)}.portfolio-compact-strip .portfolio-chipbar b{font-size:11.5px;font-weight:850}.portfolio-list-head{margin-top:8px;padding:0 2px}.portfolio-card{gap:10px;padding:12px;border-radius:8px;border-color:var(--border-soft);box-shadow:none}.portfolio-card:hover{background:var(--panel);border-color:var(--accent-border)}.portfolio-card-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;padding-bottom:10px;border-bottom:1px solid var(--border-soft)}.portfolio-market .micon{width:36px;height:36px}.portfolio-card-tags{align-items:flex-start}.portfolio-card-metrics{grid-template-columns:repeat(5,minmax(112px,1fr))}.portfolio-mini-metric{padding:9px 10px;background:var(--panel2);border:1px solid transparent;border-radius:7px}.portfolio-mini-metric b{font-size:14px}.portfolio-card-body{grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);gap:8px}.portfolio-block{gap:7px;padding:9px;background:transparent;border:1px solid var(--border-soft);border-radius:8px}.portfolio-block-title{padding:0 2px}.portfolio-position,.portfolio-order{min-height:40px;padding:7px 8px;border-radius:7px;border-color:transparent;background:var(--panel2)}.portfolio-position:hover,.portfolio-order:hover{background:var(--panel3)}.portfolio-merge-action.inline{gap:5px;min-height:30px;width:auto;padding:5px 10px;color:var(--green);background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 28%,transparent);border-radius:7px;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.portfolio-merge-action.inline.icon-only{width:34px;height:34px;min-height:34px;padding:0;border-radius:8px}.portfolio-merge-action.inline.icon-only.mergeable{color:var(--green);background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 28%,transparent);cursor:pointer}.portfolio-merge-action.inline.icon-only.unavailable{color:var(--muted);background:var(--panel2);border-color:var(--border-soft);cursor:not-allowed}.portfolio-merge-action.inline:hover{color:#fff;background:var(--green);border-color:var(--green)}.portfolio-merge-action.inline.icon-only.unavailable:hover{color:var(--muted);background:var(--panel2);border-color:var(--border-soft)}.portfolio-merge-action.inline:disabled{color:var(--muted);background:var(--panel2);border-color:var(--border-soft);opacity:1}.portfolio-merge-action.inline.loading:disabled,.portfolio-merge-action.inline.done:disabled{color:var(--green);background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 28%,transparent)}.portfolio-merge-action.inline.done:disabled{color:#fff;background:var(--green);border-color:var(--green)}.portfolio-merge-action.inline.icon-only svg{flex:none}.portfolio-spinner{flex:none;animation:portfolio-spin .75s linear infinite}@keyframes portfolio-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.portfolio-spinner{animation-duration:1.6s}}.portfolio-merge-note{display:flex;align-items:center;gap:8px;min-height:34px;padding:7px 9px;color:var(--green);background:var(--green-soft);border:1px solid color-mix(in srgb,var(--green) 24%,transparent);border-radius:7px;font-size:12px}.portfolio-merge-note b{color:var(--green);font-family:var(--font-mono);font-weight:900}.portfolio-merge-note span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-row-list{display:grid;gap:7px;min-width:0;overflow-x:auto;padding-bottom:2px}.portfolio-row{display:grid;grid-template-columns:minmax(300px,1.65fr) minmax(180px,.9fr) minmax(112px,.52fr) minmax(104px,.45fr) minmax(118px,.48fr) minmax(290px,1.2fr) 48px;align-items:center;gap:8px;min-width:1150px;min-height:58px;padding:8px 10px;background:var(--panel);border:1px solid var(--border-soft);border-radius:8px;transition:border-color .15s ease,background .15s ease}.portfolio-row:hover{background:color-mix(in srgb,var(--panel) 82%,var(--panel2));border-color:var(--accent-border)}.portfolio-row-market{display:flex;align-items:center;gap:9px;min-width:0;color:var(--text)}.portfolio-row-market:hover{color:var(--accent);text-decoration:none}.portfolio-row-market .micon{width:34px;height:34px;border-radius:7px;flex:none}.portfolio-row-market>span{display:grid;gap:1px;min-width:0}.portfolio-row-market b,.portfolio-row-market small,.portfolio-row-cell small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-row-market b{color:currentColor;font-size:13px;font-weight:800}.portfolio-row-market small,.portfolio-row-cell small,.portfolio-muted{color:var(--muted);font-size:11px}.portfolio-row-cell{display:grid;gap:2px;min-width:0;align-content:center}.portfolio-row-cell b{color:var(--text);font-family:var(--font-mono);font-size:13px;font-weight:850;line-height:1.15;white-space:nowrap}.portfolio-row-cell.good b,.portfolio-row-merge.good b{color:var(--green)}.portfolio-row-cell.bad b{color:var(--red)}.portfolio-row-label{color:var(--muted);font-size:10px;font-weight:800;line-height:1.1;text-transform:uppercase;white-space:nowrap}.portfolio-inline-chips,.portfolio-inline-orders{display:flex;align-items:center;gap:5px;min-width:0;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.portfolio-inline-chips{padding:6px 7px 2px 0}.portfolio-inline-chips::-webkit-scrollbar,.portfolio-inline-orders::-webkit-scrollbar{display:none}.portfolio-pos-chip,.portfolio-order-chip{display:inline-flex;align-items:center;flex:none;height:26px;min-height:26px;border:1px solid color-mix(in srgb,var(--border) 76%,transparent);border-radius:6px;background:var(--panel);box-shadow:0 1px 2px -1px color-mix(in srgb,var(--text) 18%,transparent);overflow:hidden}.portfolio-pos-chip{position:relative;overflow:visible}.portfolio-pos-chip.selling{border-color:color-mix(in srgb,var(--red) 26%,transparent)}.portfolio-pos-sell{position:absolute;top:-6px;right:-6px;z-index:2;display:grid;place-items:center;width:16px;height:16px;min-width:16px;padding:0;color:#fff;background:var(--red);border:1px solid var(--panel);border-radius:999px;box-shadow:0 2px 6px -3px color-mix(in srgb,var(--text) 44%,transparent);cursor:pointer;opacity:0;transform:scale(.86);transition:opacity .12s ease,transform .12s ease,background .12s ease}.portfolio-pos-chip:hover .portfolio-pos-sell,.portfolio-pos-chip:focus-within .portfolio-pos-sell,.portfolio-pos-chip.selling .portfolio-pos-sell{opacity:1;transform:scale(1)}.portfolio-pos-sell:hover:not(:disabled){background:color-mix(in srgb,var(--red) 88%,#000)}.portfolio-pos-sell:disabled{cursor:wait}.portfolio-pos-sell svg{width:10px;height:10px}.portfolio-pos-sell .portfolio-spinner{width:10px;height:10px}.portfolio-pos-chip b,.portfolio-order-chip b{align-self:stretch;display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:0 8px;color:var(--text);font-family:var(--font-chip);font-size:10.5px;font-weight:850;line-height:1;letter-spacing:0;text-transform:uppercase}.portfolio-pos-chip em,.portfolio-order-chip em{padding:0 8px;color:var(--text2);font-family:var(--font-figure);font-size:11.5px;font-style:normal;font-weight:700;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums}.portfolio-pos-chip.green b,.portfolio-order-chip.green b,.portfolio-order-chip b.green{color:var(--green);background:color-mix(in srgb,var(--green-soft) 78%,var(--panel));border-right:1px solid color-mix(in srgb,var(--green) 20%,transparent)}.portfolio-pos-chip.red b,.portfolio-order-chip.red b,.portfolio-order-chip b.red{color:var(--red);background:color-mix(in srgb,var(--red-soft) 78%,var(--panel));border-right:1px solid color-mix(in srgb,var(--red) 20%,transparent)}.portfolio-pos-chip.blue b,.portfolio-order-chip.blue b,.portfolio-order-chip b.blue{color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 78%,var(--panel));border-right:1px solid color-mix(in srgb,var(--accent) 20%,transparent)}.portfolio-order-chip.green,.portfolio-order-chip.red{box-shadow:0 1px 2px -1px color-mix(in srgb,var(--text) 14%,transparent)}.portfolio-order-chip.green{background:color-mix(in srgb,var(--green-soft) 82%,var(--panel));border-color:color-mix(in srgb,var(--green) 22%,transparent)}.portfolio-order-chip.red{background:color-mix(in srgb,var(--red-soft) 84%,var(--panel));border-color:color-mix(in srgb,var(--red) 20%,transparent)}.portfolio-order-chip.green b,.portfolio-order-chip.red b{min-width:34px;background:transparent}.portfolio-order-chip.green b{color:var(--green);border-right:1px solid color-mix(in srgb,var(--green) 18%,transparent)}.portfolio-order-chip.red b{color:var(--red);border-right:1px solid color-mix(in srgb,var(--red) 18%,transparent)}.portfolio-order-chip.green em{color:color-mix(in srgb,var(--green) 72%,var(--text))}.portfolio-order-chip.red em{color:color-mix(in srgb,var(--red) 72%,var(--text))}.portfolio-order-cancel{align-self:stretch;display:inline-grid;place-items:center;width:30px;min-width:30px;padding:0;color:var(--text2);background:transparent;border:0;border-left:1px solid var(--border-soft);cursor:pointer;transition:color .14s ease,background .14s ease,border-color .14s ease}.portfolio-order-chip.green .portfolio-order-cancel,.portfolio-order-chip.red .portfolio-order-cancel{border-left-color:color-mix(in srgb,currentColor 16%,transparent)}.portfolio-order-chip.green .portfolio-order-cancel{color:color-mix(in srgb,var(--green) 68%,var(--text2))}.portfolio-order-chip.red .portfolio-order-cancel{color:color-mix(in srgb,var(--red) 72%,var(--text2))}.portfolio-order-cancel:hover:not(:disabled){color:#fff;background:var(--red);border-left-color:var(--red);box-shadow:none}.portfolio-order-chip.green .portfolio-order-cancel:hover:not(:disabled),.portfolio-order-chip.red .portfolio-order-cancel:hover:not(:disabled){color:#fff;background:var(--red);border-left-color:var(--red);box-shadow:none}.portfolio-order-cancel:disabled{color:var(--muted);cursor:wait}.portfolio-order-chip.green .portfolio-order-cancel:disabled,.portfolio-order-chip.red .portfolio-order-cancel:disabled{opacity:.58}.portfolio-order-cancel .portfolio-spinner{width:13px;height:13px}.portfolio-row-actions{display:flex;justify-content:flex-end;min-width:0}.portfolio-row-actions .portfolio-merge-action.inline{min-height:32px;width:34px;padding:5px 8px}.portfolio-row-actions .portfolio-merge-action.inline.icon-only{width:34px;height:34px;min-height:34px;padding:0}.reward-bars{display:grid;gap:8px;max-width:720px}.reward-day{display:grid;grid-template-columns:52px 1fr 82px;align-items:center;gap:10px;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.reward-day>div{height:10px;background:var(--panel2);border-radius:5px;overflow:hidden}.reward-day i{display:block;height:100%;background:var(--accent);border-radius:inherit}.reward-day b{color:var(--text);font-weight:600;text-align:right}.reward-market{display:flex;align-items:center;gap:10px;min-width:0}.reward-market img,.reward-market .micon{width:30px;height:30px;border-radius:7px;flex:none;object-fit:cover}.reward-market a{color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reward-market a:hover{color:var(--accent)}.toasts{position:fixed;right:18px;bottom:18px;z-index:60;display:grid;gap:10px;width:min(360px,calc(100vw - 36px))}.toast{position:relative;display:grid;gap:4px;background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:10px;padding:12px 38px 12px 13px;box-shadow:0 12px 34px -12px #0f193252}.toast.trade{border-left-color:var(--green)}.toast.order{border-left-color:var(--accent)}.toast b{font-size:12px;color:var(--text)}.toast span{color:var(--text2);font-size:12.5px;line-height:1.45}.toast a{font-size:12px;font-weight:600}.toast-x{position:absolute;top:8px;right:8px;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--muted);font-size:16px}.toast-x:hover{color:var(--text);background:var(--panel2)}.obtabs{display:flex;align-items:center;gap:10px}.obtabs .seg{padding:2px}.obtabs .seg button{padding:3px 12px;font-size:12px}table.ob{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:12.5px;font-variant-numeric:tabular-nums}table.ob th{font-size:10.5px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:0;padding:4px 9px;text-align:right}table.ob th.px{text-align:left}table.ob td{padding:4.5px 9px;text-align:right}table.ob td.px{text-align:left;font-weight:600;width:84px}table.ob td.sh{color:var(--text2)}table.ob td.tt{color:var(--muted)}.ob-price{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%}.row-bid .px{color:var(--green)}.row-ask .px{color:var(--red)}table.ob tbody tr{transition:opacity .15s ease}table.ob.reward-on tbody tr:not(.hl):not(.book-mid):not(.ob-empty){opacity:.3}table.ob tr.hl td{background:var(--accent-band)}table.ob tr.hl td:first-child{box-shadow:inset 2.5px 0 0 var(--accent)}table.ob tr.swept td{background:var(--panel3)}table.ob tr.hl.swept td{background:var(--accent-band)}table.ob tr.my-order{opacity:1!important}table.ob tr.my-order td{background:color-mix(in srgb,var(--amber) 13%,var(--panel))}table.ob tr.my-order td:first-child{box-shadow:inset 3px 0 0 var(--amber)}table.ob tr.my-order.swept td,table.ob tr.my-order.hl td{background:color-mix(in srgb,var(--amber) 16%,var(--accent-band))}table.ob tr.my-order.hl td:first-child{box-shadow:inset 3px 0 0 var(--amber),inset 6px 0 0 var(--accent)}table.ob tr.book-mid td.zone{color:var(--accent);font-weight:600;text-align:center}table.ob tr.book-mid td{border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--muted);font-size:11.5px;font-weight:500;padding:5px 9px;text-align:left}table.ob tr.book-mid td.tt{text-align:right}table.ob tr.ob-empty td{color:var(--muted);text-align:center;padding:12px;font-size:12px}.bookhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}.bookhead h4{margin:0;font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:0}.livechip{display:inline-flex;align-items:center;gap:5px;margin-left:10px;font-size:11px;font-weight:600;letter-spacing:0;color:var(--muted);text-transform:none;vertical-align:middle}.livechip i{width:6px;height:6px;border-radius:50%;background:var(--muted)}.livechip.on{color:var(--green)}.livechip.on i{background:var(--green-bar);animation:pulse 1.6s ease-in-out infinite}.reward-chip{display:inline-flex;align-items:center;font-size:11px;font-weight:600;letter-spacing:0;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:3px 9px;cursor:default;-webkit-user-select:none;user-select:none;transition:all .15s ease}.reward-chip.on{background:var(--accent);color:#fff}.zone-note{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.6;padding-top:12px;border-top:1px solid var(--border-soft)}.err{color:var(--red);padding:14px 16px;background:var(--red-soft);border-radius:var(--radius);margin-bottom:16px;font-size:13px}.empty{text-align:center;color:var(--muted);padding:64px 20px;font-size:13.5px}.empty .big{font-size:15px;font-weight:600;color:var(--text2);margin-bottom:4px}.skel{border-radius:10px;background:var(--panel2);position:relative;overflow:hidden}.skel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--text) 4%,transparent),transparent);animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skelrows{display:grid;gap:10px}.skelrows .skel{height:52px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media (max-width: 960px){.detail{grid-template-columns:1fr}.statgrid{grid-template-columns:repeat(2,1fr)}.app-main{padding:18px 16px 70px}.appbar{padding:10px 16px;gap:10px}.hero{padding:24px 22px 22px}.filter-grid{grid-template-columns:minmax(0,1fr) minmax(132px,.5fr)}.search-block,.sort-block{grid-column:1 / -1}.xpanel{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:18px}.xpanel section:nth-child(3){grid-column:1 / -1}table.mkts{min-width:900px}table.portfolio-table{min-width:920px}}@media (max-width: 640px){body{font-size:13.5px}button,.filters select,.filters input[type=search],.money-input{min-height:42px}.app-main{padding:14px 12px 86px}.appbar{flex-wrap:wrap;gap:8px;min-height:0;padding:8px 12px 10px}.brand{flex:1 1 auto}.brand-mark,.brand-mark img{width:38px;height:38px}.appbar-spacer{display:none}.appbar-actions{margin-left:auto;gap:4px}.user-chip{max-width:42px;min-height:38px;padding:4px}.user-chip span:last-child{display:none}.nav-status{display:none}.iconbtn{width:38px;height:38px}.activity-panel{position:fixed;top:58px;right:12px;width:calc(100vw - 24px);max-width:390px}.activity-list{max-height:calc(100vh - 112px)}.topnav{order:3;width:100%;margin-left:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px}.navlink{min-height:38px;padding:8px 6px;gap:5px;font-size:12.5px}.pagehead{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}.page-title{font-size:20px}.meta{margin-bottom:10px}.statgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}.statgrid.compact .stat{padding:12px}.statgrid.compact .stat .v{font-size:17px;overflow-wrap:anywhere}.filter-topline,.filter-bottomline{align-items:flex-start;flex-direction:column}.filter-summary{width:100%;justify-content:flex-start}.scan-refresh{margin-left:auto}.filter-grid{grid-template-columns:1fr}.filter-toggles{width:100%}.filters label.toggle{flex:1 1 148px;justify-content:center;min-height:40px;padding-inline:9px}.reset-filter{width:100%;justify-content:center}.tablewrap{overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}table.mkts{min-width:640px;font-size:12.5px}table.mkts th,table.mkts td{padding:10px 8px}table.mkts th:nth-child(3),table.mkts td:nth-child(3),table.mkts th:nth-child(4),table.mkts td:nth-child(4),table.mkts th:nth-child(7),table.mkts td:nth-child(7),table.mkts th:nth-child(10),table.mkts td:nth-child(10){display:none}table.mkts th:first-child,table.mkts td:first-child{padding-left:10px}table.mkts th:last-child,table.mkts td:last-child{padding-right:10px}table.mkts th.ck,table.mkts td.ck{width:44px;padding-right:8px}table.mkts th.chevcell,table.mkts td.chevcell{width:48px;text-align:center}.ckbox{width:20px;height:20px}.mcell{align-items:center;gap:9px;min-width:220px;max-width:260px}.micon{width:34px;height:34px}.mq .t{max-width:190px;display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.mq .p{margin-top:4px}.mm-reason{max-width:96px}table.portfolio-table{min-width:760px}table.simple{min-width:680px}.xpanel{grid-template-columns:1fr;gap:14px;padding:4px 12px 14px}.xpanel section:nth-child(3){grid-column:auto}.ticket .duo{grid-template-columns:1fr}.quote-range-head,.bookhead{align-items:flex-start;flex-direction:column}.quote-topbook{flex-wrap:wrap;white-space:normal}.xfoot{padding:0 12px 14px}.olist li{flex-wrap:wrap}.olist .ol-x{margin-left:0}.portfolio-market{min-width:260px;max-width:320px;align-items:flex-start}.portfolio-market b{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.portfolio-stack,.portfolio-orders,.portfolio-money,.portfolio-pnl{justify-items:end;min-width:0}.portfolio-order{flex-wrap:wrap;justify-content:flex-end}.reward-market{align-items:flex-start}.reward-market a{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.reward-bars{max-width:none}.reward-day{grid-template-columns:44px minmax(0,1fr) 72px;gap:8px}.pager{flex-wrap:wrap;margin-top:16px}.pager button{min-height:38px}.bulkbar{left:12px;right:12px;bottom:12px;transform:none;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;border-radius:10px}.bulkbar>span,.bulkbar .bulkmsg{grid-column:1 / -1;max-width:none;margin-right:0;white-space:normal}.bulkbar button{width:100%;min-height:38px;padding-inline:8px}.rules-backdrop{align-items:end;padding:12px}.rules-dialog{width:100%;max-height:calc(100vh - 24px)}.rules-head{padding:14px 14px 12px}.rules-head h2{font-size:16px}.rules-body{padding:14px;font-size:13.5px}.rules-foot{padding:10px 14px 14px}.toasts{right:12px;bottom:12px;width:calc(100vw - 24px)}}@media (max-width: 420px){.app-main{padding-inline:10px}.filter-summary>*{flex:1 1 auto}.scan-refresh{width:100%;margin-left:0}.statgrid{grid-template-columns:1fr}.portfolio-substats span{flex:1 1 calc(50% - 8px);justify-content:center}.reward-day{grid-template-columns:40px minmax(0,1fr)}.reward-day b{grid-column:2}table.mkts tbody tr:not(.expand-row)>td,table.portfolio-table tbody tr>td,table.simple tbody tr>td{align-items:flex-start;flex-direction:column;gap:5px;text-align:left}.mm-quote,.portfolio-stack,.portfolio-orders,.portfolio-money,.portfolio-pnl,.portfolio-token,.portfolio-order{justify-content:flex-start;justify-items:start;text-align:left}.mm-reason{max-width:100%}.bulkbar{grid-template-columns:1fr}}@media (max-width: 960px){.portfolio-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-overview,.portfolio-card-body{grid-template-columns:1fr}}@media (max-width: 640px){.portfolio-page{gap:12px}.portfolio-hero{grid-template-columns:1fr;align-items:start;min-height:0;padding:18px}.portfolio-hero h1{font-size:25px}.portfolio-hero-side{justify-items:stretch}.portfolio-refresh{width:100%;min-height:44px}.portfolio-updated{text-align:center}.portfolio-summary,.portfolio-card-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-metric{padding:13px}.portfolio-metric b{font-size:18px}.portfolio-list-head{align-items:flex-start}.portfolio-card{padding:12px}.portfolio-card-head{grid-template-columns:1fr;align-items:start}.portfolio-card-tags{justify-content:flex-start}.portfolio-market{min-width:0;max-width:none;width:100%;align-items:center}.portfolio-market b{display:-webkit-box;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.portfolio-position,.portfolio-order{grid-template-columns:auto minmax(0,1fr)}.portfolio-position strong,.portfolio-order .mini-action{grid-column:2;justify-self:start}.portfolio-order .mini-action{width:100%}}@media (max-width: 1180px){.portfolio-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-strip{grid-template-columns:1fr 1fr}.portfolio-card-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 760px){.portfolio-toolbar{align-items:stretch;flex-direction:column;gap:10px}.portfolio-toolbar-actions{justify-content:flex-start}.portfolio-toolbar .portfolio-refresh{min-height:40px}.portfolio-kpis,.portfolio-strip,.portfolio-card-metrics{grid-template-columns:1fr 1fr}.portfolio-card-head{grid-template-columns:1fr}.portfolio-card-tags{justify-content:flex-start}.portfolio-merge-action.inline{min-height:38px}.portfolio-merge-action.inline.icon-only{width:38px;height:38px;min-height:38px;padding:0}.portfolio-market{min-width:0;max-width:none;width:100%}.portfolio-card-body{grid-template-columns:1fr}}@media (max-width: 460px){.portfolio-kpis,.portfolio-strip,.portfolio-card-metrics{grid-template-columns:1fr}.portfolio-toolbar-actions>*{flex:1 1 auto;justify-content:center}.portfolio-strip .portfolio-chipbar span{flex:1 1 calc(50% - 8px);justify-content:center}.portfolio-position,.portfolio-order{grid-template-columns:1fr}.portfolio-position strong,.portfolio-order .mini-action{grid-column:auto;justify-self:stretch}.portfolio-merge-note{align-items:flex-start;flex-direction:column}.portfolio-merge-note span{white-space:normal}}@media (max-width: 420px){.portfolio-summary,.portfolio-card-metrics{grid-template-columns:1fr}.portfolio-chipbar span{flex:1 1 calc(50% - 8px);justify-content:center}.portfolio-position,.portfolio-order{grid-template-columns:1fr;text-align:left}.portfolio-position .pill,.portfolio-order .pill,.portfolio-position strong,.portfolio-order .mini-action{grid-column:auto;justify-self:start}.portfolio-order .mini-action{width:100%}}
