.gauge-box[data-v-1bcfcea7]{display:grid;grid-template-columns:200px 1fr;gap:14px;align-items:center}@media(max-width:560px){.gauge-box[data-v-1bcfcea7]{grid-template-columns:1fr}.gauge[data-v-1bcfcea7]{max-width:220px;margin:0 auto}}.gauge[data-v-1bcfcea7]{width:100%;max-width:200px}.arc[data-v-1bcfcea7]{transition:stroke-dasharray .5s ease}.val[data-v-1bcfcea7]{font-size:30px;font-weight:700;font-family:ui-monospace,Consolas,monospace;letter-spacing:-.5px}.unit[data-v-1bcfcea7]{font-size:11px;fill:var(--dim)}.lvl[data-v-1bcfcea7]{font-size:13px;font-weight:600}.detail[data-v-1bcfcea7]{min-width:0}.part[data-v-1bcfcea7]{margin-bottom:7px}.gauge-row[data-v-91c598fb]{padding-bottom:11px;margin-bottom:11px;border-bottom:1px solid var(--line)}.empty-state[data-v-ca3d8113]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px 16px;color:var(--muted);text-align:center}.empty-state .t[data-v-ca3d8113]{font-size:var(--fs-lg);color:var(--text-2);font-weight:500}.empty-state .d[data-v-ca3d8113]{font-size:var(--fs-sm);color:var(--dim);max-width:30em;line-height:1.6}.empty-state button[data-v-ca3d8113]{margin-top:6px}.reco[data-v-4e8ad602]{padding:11px 0;border-bottom:1px solid var(--line)}.reco[data-v-4e8ad602]:last-child{border-bottom:none}.reco-head[data-v-4e8ad602]{display:flex;align-items:flex-start;gap:10px}.reco-head .name[data-v-4e8ad602]{font-size:var(--fs-lg);font-weight:500;display:flex;align-items:center;flex-wrap:wrap;gap:2px}.reco-head .code[data-v-4e8ad602]{color:var(--dim);font-size:var(--fs-sm);margin-left:6px}.band-row[data-v-4e8ad602]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;padding:7px 9px;border-radius:var(--r-sm);background:var(--panel-2)}.band[data-v-4e8ad602]{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-lg);font-weight:600}.band-sep[data-v-4e8ad602]{color:var(--dim)}.reasons[data-v-4e8ad602]{margin-top:7px}.rs-title[data-v-4e8ad602]{font-size:var(--fs-xs);color:var(--dim);margin-bottom:3px}.rs[data-v-4e8ad602]{font-size:var(--fs-sm);line-height:1.6}.rs-up[data-v-4e8ad602]{color:var(--up-5)}.rs-dn[data-v-4e8ad602]{color:var(--dn-5)}.trace[data-v-4e8ad602]{margin-top:9px;padding:9px;border-radius:var(--r-sm);background:var(--panel-2);border:1px dashed var(--line)}.trace-line[data-v-4e8ad602]{font-size:var(--fs-sm);font-family:ui-monospace,Consolas,monospace;color:var(--text-2);line-height:1.8;word-break:break-all}.reco[data-v-bdc5bdd4]{padding:11px 0;border-bottom:1px solid var(--line)}.reco[data-v-bdc5bdd4]:last-child{border-bottom:none}.reco-head[data-v-bdc5bdd4]{display:flex;align-items:flex-start;gap:10px}.reco-head .name[data-v-bdc5bdd4]{font-size:var(--fs-lg);font-weight:500;display:flex;align-items:center;flex-wrap:wrap}.reco-head .code[data-v-bdc5bdd4]{color:var(--dim);font-size:var(--fs-sm);margin-left:6px}.band-row[data-v-bdc5bdd4]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;padding:7px 9px;border-radius:var(--r-sm);background:var(--panel-2)}.band[data-v-bdc5bdd4]{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-lg);font-weight:600}.band-sep[data-v-bdc5bdd4]{color:var(--dim)}.reasons[data-v-bdc5bdd4]{margin-top:7px}.rs-title[data-v-bdc5bdd4]{font-size:var(--fs-xs);color:var(--dim);margin-bottom:3px}.rs[data-v-bdc5bdd4]{font-size:var(--fs-sm);line-height:1.6}.rs-up[data-v-bdc5bdd4]{color:var(--up-5)}.rs-dn[data-v-bdc5bdd4]{color:var(--dn-5)}code[data-v-64053785]{font-family:ui-monospace,Consolas,monospace;font-size:var(--fs-xs);background:var(--panel-3);padding:1px 4px;border-radius:4px}.depth-row[data-v-adbb8b29]{display:grid;grid-template-columns:40px 1fr auto;gap:8px;padding:3px 0;font-size:var(--fs-sm)}.depth-sep[data-v-adbb8b29]{height:1px;background:var(--line);margin:5px 0}summary[data-v-adbb8b29]::marker{color:var(--dim)}.band-row[data-v-0c07c550]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px;padding:7px 9px;border-radius:var(--r-sm);background:var(--panel-2)}.band[data-v-0c07c550]{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-lg);font-weight:600}.band-sep[data-v-0c07c550]{color:var(--dim)}.dim[data-v-0c07c550]{margin-bottom:9px}.rs-title[data-v-0c07c550]{font-size:var(--fs-xs);color:var(--dim);margin-bottom:3px}.rs[data-v-0c07c550]{font-size:var(--fs-sm);line-height:1.6}.rs-up[data-v-0c07c550]{color:var(--up-5)}.rs-dn[data-v-0c07c550]{color:var(--dn-5)}.admin-wrap[data-v-a7aac68d]{max-width:940px;margin:0 auto;padding:24px 16px 60px}.user-row[data-v-a7aac68d]{padding:9px 0;border-bottom:1px solid var(--line)}.user-row[data-v-a7aac68d]:last-child{border-bottom:none}code[data-v-a7aac68d]{font-family:ui-monospace,Consolas,monospace;font-size:var(--fs-xs);background:var(--panel-3);padding:1px 4px;border-radius:4px}.login-wrap[data-v-26996fde]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px 48px}.login-card[data-v-26996fde]{width:100%;max-width:420px;padding:22px}.brand-row[data-v-26996fde]{display:flex;align-items:center;gap:12px}.logo[data-v-26996fde]{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:20px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),#2f6bd6)}.brand-name[data-v-26996fde]{font-size:var(--fs-xl);font-weight:600}.field[data-v-26996fde]{margin-top:14px}.field label[data-v-26996fde]{display:block;margin-bottom:5px}.divider[data-v-26996fde]{display:flex;align-items:center;gap:10px;margin:16px 0 12px;color:var(--dim);font-size:var(--fs-xs)}.divider[data-v-26996fde]:before,.divider[data-v-26996fde]:after{content:"";flex:1;height:1px;background:var(--line)}.demo-box[data-v-26996fde]{margin-top:12px;padding:10px;border-radius:var(--r-sm);background:var(--panel-2);border:1px dashed var(--line)}code[data-v-26996fde]{font-family:ui-monospace,Consolas,monospace;font-size:var(--fs-xs);background:var(--panel-3);padding:1px 4px;border-radius:4px}.user-row[data-v-5aede901]{padding:8px 12px;border-top:1px solid var(--line);margin-bottom:4px}.boot-splash[data-v-5aede901]{min-height:100vh;display:grid;place-items:center;color:var(--muted);font-size:var(--fs-md)}:root{--bg: #0a101c;--panel: #111b2e;--panel-2: #17233c;--panel-3: #1e2c4a;--line: #1f2c48;--line-soft: rgba(255, 255, 255, .06);--text: #e8eefb;--text-2: #a9b8d0;--muted: #8b9bb4;--dim: #7d8fab;--up: #f6465d;--down: #0ecb81;--up-1: #3a222b;--up-2: #7a2f3f;--up-3: #c23c50;--up-4: #f6465d;--up-5: #ff7086;--dn-1: #1c3a2e;--dn-2: #186a49;--dn-3: #0ea86a;--dn-4: #0ecb81;--dn-5: #4ee0a4;--accent: #4b8ef7;--accent-2: #7aa9ff;--accent-dim: #1d3a63;--warn: #f0a020;--danger: #f6465d;--info: #39c0d8;--ch-1: #4b8ef7;--ch-2: #e6b34a;--ch-3: #b78cf0;--ch-4: #39c0d8;--ch-5: #f6465d;--ch-6: #0ecb81;--ch-7: #f28b54;--ch-8: #8b9bb4;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-lg: 15px;--fs-xl: 18px;--fs-2xl: 24px;--fs-3xl: 32px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-6: 24px;--sp-8: 32px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-pill: 999px;--radius: 14px;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5;overscroll-behavior-y:none}#app{min-height:100vh}a{color:var(--accent);text-decoration:none}button{font-family:inherit;font-size:inherit;cursor:pointer}input,select{font-family:inherit;font-size:16px;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:9px 11px;outline:none;width:100%}input:focus,select:focus{border-color:var(--accent)}.app-shell{display:flex;flex-direction:column;min-height:100vh;padding-top:var(--safe-t)}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;padding:10px 14px;background:#0b1220eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar h1{font-size:17px;margin:0;font-weight:600;letter-spacing:.5px}.content{flex:1;padding:12px 14px calc(84px + var(--safe-b));max-width:1180px;width:100%;margin:0 auto}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;background:#0b1220f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:var(--safe-b)}.tabbar button{flex:1;background:none;border:none;color:var(--muted);padding:9px 0 7px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px}.tabbar button.active{color:var(--accent)}.tabbar .ico{font-size:19px;line-height:1}@media(min-width:900px){.app-shell{flex-direction:row}.sidebar{width:210px;flex:0 0 210px;border-right:1px solid var(--line);padding:18px 12px;position:sticky;top:0;height:100vh;background:var(--panel)}.sidebar .brand{font-size:18px;font-weight:700;margin-bottom:18px;padding-left:8px}.sidebar button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;color:var(--muted);padding:11px 12px;border-radius:10px;margin-bottom:4px;font-size:14px;text-align:left}.sidebar button.active{background:var(--accent-dim);color:var(--text)}.tabbar,.topbar{display:none}.main-col{flex:1;min-width:0;display:flex;flex-direction:column}.content{padding:20px 24px 40px}}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:13px;margin-bottom:11px}.card-title{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:9px;gap:8px}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stat{background:var(--panel-2);border-radius:10px;padding:9px 10px}.stat .k{font-size:11px;color:var(--muted)}.stat .v{font-size:16px;font-weight:600;margin-top:2px;font-variant-numeric:tabular-nums}.up{color:var(--up)}.down{color:var(--down)}.flat,.muted{color:var(--muted)}.small{font-size:12px}.mono{font-variant-numeric:tabular-nums}.btn{background:var(--accent-dim);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:9px 14px;font-size:14px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.ghost{background:transparent}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.sm{padding:6px 10px;font-size:13px}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 7px;border-radius:999px;background:var(--panel-2);color:var(--muted);border:1px solid var(--line);white-space:nowrap}.badge.ok{color:var(--down);border-color:#0ecb8166}.badge.warn{color:var(--warn);border-color:#f0a02066}.badge.err{color:var(--danger);border-color:#f6465d66}.badge.info{color:var(--accent);border-color:#4b8ef766}.list-row{display:flex;align-items:center;justify-content:space-between;padding:11px 2px;border-bottom:1px solid var(--line);gap:10px}.list-row:last-child{border-bottom:none}.list-row .name{font-size:15px;font-weight:500}.list-row .code{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.price-box{text-align:right;min-width:92px}.price-box .p{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.price-box .c{font-size:12px;font-variant-numeric:tabular-nums}.empty{text-align:center;color:var(--muted);padding:34px 16px;font-size:14px}.spinner{width:18px;height:18px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.slider-row{display:grid;grid-template-columns:62px 1fr 46px;align-items:center;gap:9px;margin-bottom:7px}input[type=range]{width:100%;padding:0;background:transparent;border:none;accent-color:var(--accent)}.chart{width:100%}.seg{display:inline-flex;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;overflow:hidden}.seg button{background:none;border:none;color:var(--muted);padding:7px 13px;font-size:13px}.seg button.active{background:var(--accent);color:#fff}.tag{display:inline-block;font-size:11px;padding:1px 6px;border-radius:5px;background:var(--panel-2);color:var(--muted);margin-right:4px}.notice{background:#f0a0201a;border:1px solid rgba(240,160,32,.35);color:#f5c877;border-radius:10px;padding:9px 11px;font-size:13px;margin-bottom:11px}.notice.err{background:#f6465d1a;border-color:#f6465d59;color:#ff9aa8}.notice.ok{background:#0ecb8114;border-color:#0ecb814d;color:#7ce0b4}table.tbl{width:100%;border-collapse:collapse;font-size:13px}table.tbl th,table.tbl td{padding:7px 6px;text-align:right;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap}table.tbl th{color:var(--muted);font-weight:500;font-size:12px}table.tbl td:first-child,table.tbl th:first-child{text-align:left}.num,.stat .v,.price-box .p,.price-box .c,.list-row .code{font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,monospace;font-variant-numeric:tabular-nums;letter-spacing:-.2px}.card.l1{padding:var(--sp-4);margin-bottom:var(--sp-4);background:linear-gradient(180deg,var(--panel-2),var(--panel));border-color:var(--line-soft)}.card.l2{padding:var(--sp-3);margin-bottom:var(--sp-3);border-color:var(--line-soft)}.card.l3{padding:var(--sp-2);margin-bottom:var(--sp-2);background:var(--panel-2);border-color:var(--line-soft)}.bi-bar{position:relative;display:flex;height:8px;border-radius:var(--r-pill);background:var(--panel-3);overflow:hidden}.bi-bar>.u{background:var(--up-4);height:100%}.bi-bar>.d{background:var(--dn-4);height:100%;margin-left:auto}.bi-bar>.axis{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--text-2);opacity:.55}.pbar{height:6px;border-radius:var(--r-pill);background:var(--panel-3);overflow:hidden}.pbar>i{display:block;height:100%;border-radius:var(--r-pill)}.heat{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--r-sm);font-size:var(--fs-xs);line-height:1.6;white-space:nowrap}.heat-u1{background:var(--up-1);color:var(--text)}.heat-u2{background:var(--up-2);color:var(--text)}.heat-d1{background:var(--dn-1);color:var(--text)}.heat-d2{background:var(--dn-2);color:var(--text)}.heat-u4{background:transparent;color:var(--up-5);border:1px solid var(--up-3)}.heat-d4{background:transparent;color:var(--dn-5);border:1px solid var(--dn-3)}.chip{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);padding:3px 9px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--panel-2);color:var(--text-2);white-space:nowrap}.chip.strong{color:var(--up-5);border-color:var(--up-3);background:var(--up-1)}.chip.weak{color:var(--dn-5);border-color:var(--dn-3);background:var(--dn-1)}.chip.mid{color:var(--accent-2);border-color:var(--accent-dim);background:#4b8ef71a}.chip.alert{color:#ffc98a;border-color:#f0a02073;background:#f0a0201f}.src{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--dim)}.skeleton{background:linear-gradient(90deg,var(--panel-2) 25%,var(--panel-3) 37%,var(--panel-2) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--r-sm)}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.toast-wrap{position:fixed;left:50%;transform:translate(-50%);bottom:calc(88px + var(--safe-b));z-index:100;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;max-width:82vw;padding:9px 14px;border-radius:var(--r-md);background:#17233cf7;border:1px solid var(--line);color:var(--text);font-size:var(--fs-md);box-shadow:0 8px 24px #0006;animation:toast-in .22s ease-out}.toast.ok{border-color:#0ecb8173}.toast.err{border-color:#f6465d80}.toast.warn{border-color:#f0a02080}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.sm{padding:8px 12px;font-size:var(--fs-md);min-height:36px}@media(max-width:767px){.btn.sm{min-height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
