:root{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f0f2f5;--surface-hover: #eef1f6;--border: #dfe3e9;--border-strong: #c3c9d2;--text: #1b1f27;--text-muted: #5f6673;--text-faint: #9aa1ad;--accent: #2f5fd0;--accent-text: #2f5fd0;--accent-soft: #e8eefc;--danger: #c62828;--danger-text: #b31f1f;--danger-soft: #fdecec;--warn: #e07b00;--warn-text: #b96200;--warn-soft: #fff3e0;--ok: #1f7a3d;--ok-text: #1a6b35;--ok-soft: #e7f5eb;--radius: 6px;--radius-sm: 4px;--shadow: 0 1px 2px rgb(16 24 40 / 6%), 0 1px 3px rgb(16 24 40 / 10%);--shadow-lg: 0 8px 24px rgb(16 24 40 / 14%);--row-height: 30px;--control-height: 34px;--control-height-sm: 28px;--control-height-lg: 40px;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Noto Sans TC,Microsoft JhengHei,sans-serif;font-size:13px;color:var(--text);background:var(--bg)}@media(prefers-color-scheme:dark){:root{--bg: #14171c;--surface: #1b1f26;--surface-2: #22272f;--surface-hover: #262c35;--border: #2f3641;--border-strong: #414a57;--text: #e6e9ee;--text-muted: #a2abba;--text-faint: #717b8a;--accent: #6f9bff;--accent-text: #8fb1ff;--accent-soft: #1d2740;--danger: #ff6b6b;--danger-text: #ff8585;--danger-soft: #2e1b1d;--warn: #ffa64d;--warn-text: #ffb870;--warn-soft: #2e2317;--ok: #4cc47a;--ok-text: #6ed295;--ok-soft: #16281d;--shadow: 0 1px 2px rgb(0 0 0 / 40%);--shadow-lg: 0 8px 24px rgb(0 0 0 / 50%)}}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%;margin:0}#app{height:100dvh;display:flex;flex-direction:column;background:var(--bg)}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}input:not([type=checkbox]):not([type=radio]),select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:var(--control-height);padding:.3rem .6rem;transition:border-color .12s,box-shadow .12s}textarea{padding:.45rem .6rem}input[type=checkbox],input[type=radio]{width:15px;height:15px;margin:0;accent-color:var(--accent)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}input::placeholder{color:var(--text-faint)}.field{display:flex;flex-direction:column;gap:.25rem}.field>span,.field-label{color:var(--text-muted);font-size:.92em}.btn{font:inherit;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:var(--control-height);padding:.3rem .9rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s}.btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-faint)}.btn:active:not(:disabled){transform:translateY(.5px)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,black);border-color:color-mix(in srgb,var(--accent) 88%,black)}.btn-danger{background:var(--danger-soft);border-color:var(--danger);color:var(--danger-text);font-weight:600}.btn-danger:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:#fff}.btn-ghost{border-color:transparent;background:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-sm{min-height:var(--control-height-sm);padding:.2rem .6rem;font-size:.92em}.btn-lg{min-height:var(--control-height-lg);padding:.4rem 1.1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .8rem}.banner{flex:none;margin:0 0 .6rem;padding:.55rem .8rem;border:1px solid var(--warn);border-left-width:4px;border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--warn-text)}.banner-danger{border-color:var(--danger);background:var(--danger-soft);color:var(--danger-text)}.banner-info{border-color:var(--border-strong);background:var(--surface-2);color:var(--text-muted)}.notice-host{position:fixed;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:50;display:flex;flex-direction:column;justify-content:flex-end;gap:.5rem;width:min(26rem,calc(100vw - 2rem));max-height:60vh;overflow-y:auto;pointer-events:none}body:has(.save-footer:not(:empty)) .notice-host{bottom:calc(4rem + env(safe-area-inset-bottom,0px))}.notices{display:flex;flex-direction:column;gap:.5rem}.notice{pointer-events:auto;position:relative;padding:.6rem 2rem .6rem .8rem;border:1px solid var(--warn);border-left-width:4px;border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--warn-text);box-shadow:0 6px 18px #0000002e}.notice-danger{border-color:var(--danger);background:var(--danger-soft);color:var(--danger-text)}.notice-info{border-color:var(--border-strong);background:var(--surface);color:var(--text)}.notice-ok{border-color:var(--ok);background:var(--ok-soft);color:var(--ok-text)}.notice .close{position:absolute;top:.25rem;right:.35rem;border:none;background:none;color:inherit;font-size:1.1rem;line-height:1;cursor:pointer;opacity:.7}.notice .close:hover{opacity:1}.tag{display:inline-flex;align-items:center;padding:.08rem .4rem;border-radius:999px;font-size:.86em;line-height:1.5;background:var(--surface-2);color:var(--text-muted);white-space:nowrap}.tag-danger{background:var(--danger-soft);color:var(--danger-text)}.tag-warn{background:var(--warn-soft);color:var(--warn-text)}.tag-ok{background:var(--ok-soft);color:var(--ok-text)}.tag-accent{background:var(--accent-soft);color:var(--accent-text)}.num{font-variant-numeric:tabular-nums}.unknown{color:var(--text-faint)}.bad{color:var(--danger-text);font-weight:600}.good{color:var(--ok-text)}.toolbar{flex:none;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.6rem}.toolbar h1{font-size:1.05rem;margin-right:.2rem}.toolbar .spacer{margin-left:auto}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0d128c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:20}.dialog{width:min(32rem,100%);background:var(--surface);color:var(--text);border:1px solid var(--border);border-top:3px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:1rem 1.1rem}.dialog-danger{border-top-color:var(--danger)}.dialog h2{font-size:1rem;margin-bottom:.6rem}.dialog-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.9rem}.empty{flex:none;margin:2.5rem 0;text-align:center;color:var(--text-faint)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.dialog-wide{width:min(64rem,100%);max-height:92vh;overflow:auto}.segmented{display:inline-flex;align-items:stretch}.segmented>.btn{border-radius:0;margin-left:-1px}.segmented>.btn:first-child{margin-left:0;border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.segmented>.btn:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.segmented>.btn.active{position:relative;z-index:1;background:var(--accent);border-color:var(--accent);color:#fff}.segmented>.btn:disabled:not(.active){opacity:.55}.auto-trade[data-v-18e0227b]{display:inline-flex;align-items:center;gap:.4rem}.blocker[data-v-18e0227b]{cursor:help}.auto-switch[data-v-18e0227b]{font:inherit;display:inline-flex;align-items:center;gap:.5rem;padding:0;border:0;background:none;color:var(--text-muted);cursor:pointer;white-space:nowrap}.auto-switch[data-v-18e0227b]:disabled{opacity:.5;cursor:not-allowed}.auto-switch .label[data-v-18e0227b]{font-size:1.05em}.auto-switch .track[data-v-18e0227b]{position:relative;width:2.6rem;height:1.4rem;border-radius:999px;background:var(--border-strong);transition:background .15s}.auto-switch .knob[data-v-18e0227b]{position:absolute;top:.15rem;left:.15rem;width:1.1rem;height:1.1rem;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:left .15s}.auto-switch.on .label[data-v-18e0227b]{color:var(--danger-text);font-weight:600}.auto-switch.on .track[data-v-18e0227b]{background:var(--danger-text)}.auto-switch.on .knob[data-v-18e0227b]{left:1.35rem}.fine[data-v-18e0227b]{font-size:.9em;color:var(--text-faint);margin:.3rem 0 0}.book[data-v-90f8f5fc]{font-size:.95rem;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.title[data-v-90f8f5fc]{display:flex;align-items:center;gap:.4rem;height:1.7rem;overflow:hidden;background:#3d4957;color:#fff;padding:0 .5rem;font-size:.9em;font-weight:600}table[data-v-90f8f5fc]{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}td[data-v-90f8f5fc]{padding:.1rem .4rem;border-bottom:1px solid var(--border)}.label[data-v-90f8f5fc]{color:var(--text-muted);width:2.5rem}.price[data-v-90f8f5fc]{font-weight:700;text-align:right}.volume[data-v-90f8f5fc]{text-align:right;width:3.5rem}.bid .price[data-v-90f8f5fc]{color:var(--danger-text, #c0392b)}.ask .price[data-v-90f8f5fc]{color:var(--ok-text, #2e7d32)}.floating[data-v-bcb8cf61]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:20;pointer-events:none}.floating>.dialog[data-v-bcb8cf61]{font-size:1.08rem;pointer-events:auto;position:relative;box-shadow:0 4px 18px #00000024}.head[data-v-bcb8cf61]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem;cursor:move;-webkit-user-select:none;user-select:none;touch-action:none}.head h2[data-v-bcb8cf61]{margin:0}.columns[data-v-bcb8cf61]{display:grid;grid-template-columns:23rem 1fr;gap:1rem;align-items:start}.form[data-v-bcb8cf61]{background:#fffbea;border:1px solid var(--border);border-radius:var(--radius, 6px);padding:.6rem .8rem}.form section+section[data-v-bcb8cf61]{margin-top:.6rem;padding-top:.6rem;border-top:1px dashed var(--border)}.grid[data-v-bcb8cf61]{display:grid;grid-template-columns:6rem 1fr;align-items:center;gap:.35rem .6rem}.label[data-v-bcb8cf61]{color:var(--text-muted)}.grid input[data-v-bcb8cf61],.grid select[data-v-bcb8cf61]{width:100%;min-width:0}.with-unit[data-v-bcb8cf61]{display:grid;grid-template-columns:5rem 1fr;align-items:center;gap:.4rem}.unit[data-v-bcb8cf61]{color:var(--text-muted);font-size:.92em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.value small[data-v-bcb8cf61]{margin-left:.4rem;color:var(--text-muted)}.dot[data-v-bcb8cf61]{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;margin-right:.35rem;background:var(--text-faint, #bbb)}.dot.on[data-v-bcb8cf61]{background:#2e7d32}.dot.off[data-v-bcb8cf61]{background:#c0392b}.resolved[data-v-bcb8cf61]{grid-column:1 / -1;min-height:2.7em;font-size:.92em;line-height:1.35;color:var(--text-muted)}.resolved.ok[data-v-bcb8cf61]{color:#2e7d32}.err[data-v-bcb8cf61],.resolved.err[data-v-bcb8cf61]{color:#c0392b}.warn[data-v-bcb8cf61]{color:var(--warn-text, #b26a00)}.messages[data-v-bcb8cf61]{min-height:4.6em;margin-top:.4rem;font-size:.92em}.messages p[data-v-bcb8cf61]{margin:0 0 .2rem}.bar[data-v-bcb8cf61]{background:#3d4957;color:#fff;font-weight:600;font-size:.95em;padding:.25rem .5rem;margin-bottom:.4rem;border-radius:var(--radius-sm, 4px)}.bar.direction[data-v-bcb8cf61]{background:#f2a11f;margin-top:.6rem}.book-status[data-v-bcb8cf61]{min-height:1.35em;margin:.25rem 0 0;font-size:.92em;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.buttons[data-v-bcb8cf61]{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.big[data-v-bcb8cf61]{display:flex;flex-direction:column;align-items:center;font-size:1.3rem;font-weight:800;color:#fff;border:3px solid transparent;border-radius:var(--radius, 6px);padding:.5rem 0;cursor:pointer;line-height:1.2}.big small[data-v-bcb8cf61]{font-size:.9rem;font-weight:600;opacity:.9}.big[data-v-bcb8cf61]:disabled{opacity:.35;cursor:not-allowed}.big.buy[data-v-bcb8cf61]{background:#ef4c47}.big.sell[data-v-bcb8cf61]{background:#3fc867}.big.last[data-v-bcb8cf61]{border-color:#000}.confirm-layer[data-v-bcb8cf61]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem}.dialog.confirm[data-v-bcb8cf61]{box-shadow:0 4px 18px #0000002e}.lead[data-v-bcb8cf61]{font-weight:700}.summary[data-v-bcb8cf61]{padding-left:1.1rem}@media(max-width:760px){.columns[data-v-bcb8cf61]{grid-template-columns:1fr}}.topbar[data-v-f463c11f]{flex:none;display:flex;align-items:center;gap:.9rem;padding:0 .9rem;height:48px;background:var(--surface);border-bottom:1px solid var(--border)}.brand[data-v-f463c11f]{display:flex;align-items:center;gap:.4rem;font-weight:600;white-space:nowrap}.brand-mark[data-v-f463c11f]{display:inline-grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:.68rem;letter-spacing:-.04em}.brand-name[data-v-f463c11f]{color:var(--text-muted);font-weight:500}nav[data-v-f463c11f]{display:flex;gap:.15rem}nav a[data-v-f463c11f]{display:inline-flex;align-items:center;min-height:var(--control-height-sm);padding:0 .7rem;border-radius:var(--radius-sm);color:var(--text-muted);text-decoration:none;white-space:nowrap;transition:background .12s,color .12s}nav a[data-v-f463c11f]:hover{background:var(--surface-hover);color:var(--text)}nav a.router-link-active[data-v-f463c11f]{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.spacer[data-v-f463c11f]{margin-left:auto}.risk[data-v-f463c11f]{display:inline-flex;align-items:center;min-height:var(--control-height-sm);padding:0 .55rem;border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger-text);font-weight:600;text-decoration:none;white-space:nowrap;font-variant-numeric:tabular-nums}.risk[data-v-f463c11f]:hover{background:var(--danger);color:#fff}.feed-status[data-v-f463c11f]{display:inline-flex;align-items:center;min-height:var(--control-height-sm);color:var(--warn-text);background:var(--warn-soft);padding:0 .55rem;border-radius:var(--radius-sm);max-width:24rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.who[data-v-f463c11f]{display:flex;align-items:center;gap:.4rem}.who-name[data-v-f463c11f]{color:var(--text-muted)}main[data-v-f463c11f]{flex:1;min-height:0;display:flex;flex-direction:column;padding:.75rem .9rem}main.bare[data-v-f463c11f]{padding:0}@media(max-width:640px){.topbar[data-v-f463c11f]{height:auto;flex-wrap:wrap;padding:.4rem .6rem;gap:.5rem}.brand-name[data-v-f463c11f]{display:none}.feed-status[data-v-f463c11f]{max-width:100%;order:10;width:100%}main[data-v-f463c11f]{padding:.6rem}}
