.beam[data-v-02eb22b9]{stroke:var(--accent-2);stroke-width:1.4}.tower[data-v-02eb22b9]{stroke:currentColor;stroke-width:1.7}.base[data-v-02eb22b9]{stroke:currentColor;stroke-width:1.2;opacity:.45}.bar-actions[data-v-9c890162]{display:flex;align-items:center;gap:8px}:root{color-scheme:dark;--bg: #04060c;--bg-deep: #01030a;--panel: rgba(10, 18, 30, .72);--panel-solid: #0a1220;--raised: rgba(18, 30, 48, .85);--surface: rgba(4, 8, 16, .82);--line: rgba(56, 189, 248, .16);--line-2: rgba(56, 189, 248, .42);--text: #d8e8f8;--dim: #7b93ac;--dim-2: #55697f;--accent: #2ee6c5;--accent-2: #7c5cff;--accent-3: #38bdf8;--ok: #2ee6c5;--warn: #ffb020;--err: #ff5c72;--violet-fg: #c6b6ff;--danger-fg: #ff8d9c;--input-bg: rgba(4, 10, 20, .9);--input-bg-focus: rgba(6, 16, 28, .95);--th-bg: rgba(56, 189, 248, .05);--row-line: rgba(56, 189, 248, .08);--row-hover: rgba(56, 189, 248, .06);--tint-accent: rgba(46, 230, 197, .08);--tint-violet: rgba(124, 92, 255, .08);--tint-warn: rgba(255, 176, 32, .14);--btn-accent-a: rgba(46, 230, 197, .16);--btn-accent-b: rgba(46, 230, 197, .06);--btn-violet-a: rgba(124, 92, 255, .18);--btn-violet-b: rgba(124, 92, 255, .06);--btn-danger-a: rgba(255, 92, 114, .16);--btn-danger-b: rgba(255, 92, 114, .05);--shadow: 0 12px 40px rgba(0, 0, 0, .55);--chart-line: #38bdf8;--chart-area: rgba(56, 189, 248, .16);--chart-high: #2ee6c5;--chart-low: #7c5cff;--chart-grid: rgba(56, 189, 248, .1);--chart-axis: #7b93ac;--chart-label: #55697f;--chart-dot-ring: #01030a;--chart-tip-bg: rgba(8, 16, 28, .95);--chart-tip-fg: #d8e8f8;--mono: ui-monospace, SFMono-Regular, "SF Mono", "JetBrains Mono", Menlo, Consolas, "PingFang SC", "Microsoft YaHei", monospace;--glow-accent: 0 0 20px rgba(46, 230, 197, .32);--glow-violet: 0 0 22px rgba(124, 92, 255, .32);--radius: 4px}html[data-theme=light]{color-scheme:light;--bg: #eef3f9;--bg-deep: #e6eef7;--panel: rgba(255, 255, 255, .8);--panel-solid: #ffffff;--raised: #ffffff;--surface: rgba(255, 255, 255, .86);--line: rgba(12, 96, 132, .18);--line-2: rgba(12, 96, 132, .42);--text: #0d2135;--dim: #4d6679;--dim-2: #6d8397;--accent: #0e8f83;--accent-2: #6533e0;--accent-3: #0a6cb5;--ok: #0e8f83;--warn: #a35f00;--err: #c62b45;--violet-fg: #5b3ad6;--danger-fg: #b82741;--input-bg: rgba(255, 255, 255, .94);--input-bg-focus: #ffffff;--th-bg: rgba(12, 96, 132, .05);--row-line: rgba(12, 96, 132, .1);--row-hover: rgba(12, 96, 132, .05);--tint-accent: rgba(14, 143, 131, .1);--tint-violet: rgba(101, 51, 224, .08);--tint-warn: rgba(163, 95, 0, .12);--btn-accent-a: rgba(14, 143, 131, .14);--btn-accent-b: rgba(14, 143, 131, .05);--btn-violet-a: rgba(101, 51, 224, .14);--btn-violet-b: rgba(101, 51, 224, .05);--btn-danger-a: rgba(198, 43, 69, .12);--btn-danger-b: rgba(198, 43, 69, .04);--shadow: 0 10px 30px rgba(16, 42, 74, .14);--chart-line: #0a6cb5;--chart-area: rgba(10, 108, 181, .14);--chart-high: #0e8f83;--chart-low: #6533e0;--chart-grid: rgba(12, 96, 132, .14);--chart-axis: #4d6679;--chart-label: #6d8397;--chart-dot-ring: #ffffff;--chart-tip-bg: rgba(13, 33, 53, .94);--chart-tip-fg: #eaf1f9;--glow-accent: 0 0 14px rgba(14, 143, 131, .2);--glow-violet: 0 0 14px rgba(101, 51, 224, .18)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;padding:0;font-family:var(--mono);font-size:14px;line-height:1.6;background:var(--bg-deep);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden;transition:background .25s ease,color .25s ease}button{font-family:inherit;cursor:pointer;border:none;background:none;font-size:14px;color:inherit}input,select,textarea{font-family:var(--mono);font-size:14px;width:100%;padding:10px 12px;background:var(--input-bg);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);outline:none;transition:border-color .18s,box-shadow .18s,background .18s}input::placeholder{color:var(--dim-2)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--tint-accent),var(--glow-accent);background:var(--input-bg-focus)}.app-shell{max-width:560px;margin:0 auto;min-height:100vh;padding-bottom:env(safe-area-inset-bottom)}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.brand{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:16px;letter-spacing:.1em;color:var(--accent);text-decoration:none}.btn-ghost{color:var(--dim);padding:5px 8px;font-size:13px;border:1px solid transparent;border-radius:var(--radius);transition:color .18s,border-color .18s}.btn-ghost:hover{color:var(--text);border-color:var(--line)}.theme-toggle{padding:5px 8px;line-height:0;color:var(--dim);border:1px solid var(--line);border-radius:var(--radius);transition:color .18s,border-color .18s,box-shadow .18s}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);box-shadow:var(--glow-accent)}.theme-toggle svg{width:15px;height:15px;display:block}.page{padding:16px}.card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.card:before,.card:after{content:"";position:absolute;width:13px;height:13px;pointer-events:none}.card:before{top:-1px;left:-1px;border-top:2px solid var(--accent);border-left:2px solid var(--accent)}.card:after{bottom:-1px;right:-1px;border-bottom:2px solid var(--accent-2);border-right:2px solid var(--accent-2)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 16px;border-radius:var(--radius);font-size:13px;letter-spacing:.08em;background:linear-gradient(180deg,var(--btn-accent-a),var(--btn-accent-b));border:1px solid var(--line-2);color:var(--accent);transition:box-shadow .18s,border-color .18s,transform .08s}.btn-primary:hover:not(:disabled){box-shadow:var(--glow-accent);border-color:var(--accent)}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-primary:disabled{opacity:.42;cursor:not-allowed}.muted{color:var(--dim)}.error-msg{color:var(--err);font-size:13px;margin-top:8px}.spinner{text-align:center;padding:40px 0;color:var(--dim);font-size:13px;letter-spacing:.08em}
