.radar[data-v-dba8c16d]{--accent: #4fd8a8;position:relative}.radar.is-active[data-v-dba8c16d]{--accent: #ff5c3d}.radar.is-hold[data-v-dba8c16d]{--accent: #ffb648}.radar.is-empty[data-v-dba8c16d]{--accent: #5d7368}.radar-svg[data-v-dba8c16d]{width:100%;display:block;overflow:hidden}.ring[data-v-dba8c16d]{fill:none;stroke:#78d2aa29;stroke-width:1}.ring.near[data-v-dba8c16d]{stroke:var(--accent);stroke-opacity:.85;stroke-width:1.6}.sweep[data-v-dba8c16d]{animation:sweep-dba8c16d 3.4s linear infinite}.sweep line[data-v-dba8c16d]{stroke:#4fd8a880;stroke-width:1.4;filter:drop-shadow(0 0 4px rgba(79,216,168,.5))}@keyframes sweep-dba8c16d{0%{transform:rotate(-90deg)}to{transform:rotate(90deg)}}.target .dot[data-v-dba8c16d]{fill:var(--accent);filter:drop-shadow(0 0 8px var(--accent))}.target .halo[data-v-dba8c16d]{fill:var(--accent);opacity:.14;animation:pulse-dba8c16d 1.6s ease-out infinite}.target .halo2[data-v-dba8c16d]{fill:var(--accent);opacity:.22;animation:pulse-dba8c16d 1.6s ease-out infinite .5s}.target.hold .halo[data-v-dba8c16d],.target.hold .halo2[data-v-dba8c16d]{animation-duration:2.8s}.target .beam[data-v-dba8c16d]{stroke:var(--accent);stroke-opacity:.45;stroke-width:1;stroke-dasharray:4 6}@keyframes pulse-dba8c16d{0%{transform:scale(.5);opacity:.3}70%{transform:scale(1.6);opacity:0}to{transform:scale(1.6);opacity:0}}.target .halo[data-v-dba8c16d],.target .halo2[data-v-dba8c16d]{transform-box:fill-box;transform-origin:center}.labels text[data-v-dba8c16d]{fill:#55705f;font-size:10px;font-family:var(--mono)}.labels .unit[data-v-dba8c16d]{fill:#55705f}.baseline[data-v-dba8c16d]{stroke:#78d2aa2e}.axis-left[data-v-dba8c16d],.axis-right[data-v-dba8c16d]{fill:#55705f;font-size:10px;font-family:var(--mono)}.empty-tip[data-v-dba8c16d]{fill:#8fa79c;font-size:12px}.readout[data-v-dba8c16d]{fill:var(--accent);font-family:var(--mono);font-size:11px;letter-spacing:.5px}.radar-foot[data-v-dba8c16d]{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:-6px;padding:0 4px}.tag[data-v-dba8c16d]{font-size:11px;letter-spacing:2px;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:999px;padding:2px 10px}.hint[data-v-dba8c16d]{font-size:11px;color:var(--muted);font-family:var(--mono)}.distbar[data-v-47c06b26]{padding:4px 4px 0}.bar-head[data-v-47c06b26]{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:8px}.bar-head .mono[data-v-47c06b26]{font-family:var(--mono);color:#a9c6ba}.bar[data-v-47c06b26]{position:relative;height:8px;border-radius:999px;background:linear-gradient(90deg,#ff5c3d2e,#ffb64824 45%,#4fd8a81f);border:1px solid var(--line);overflow:visible}.bar-fill[data-v-47c06b26]{position:absolute;inset:0 auto 0 0;border-radius:999px;background:linear-gradient(90deg,#ff5c3d,#ffb648 55%,#4fd8a8);transition:width .25s ease;opacity:.85}.bar-marker[data-v-47c06b26]{position:absolute;top:-5px;width:3px;height:18px;margin-left:-1.5px;border-radius:2px;background:#e7f2ed;box-shadow:0 0 10px #e7f2ed99;transition:left .25s ease;opacity:.35}.bar-marker.live[data-v-47c06b26]{opacity:1}.tick[data-v-47c06b26]{position:absolute;top:0;width:1px;height:100%;background:#78d2aa40}.bar-ticks[data-v-47c06b26]{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:#55705f;margin-top:6px}.sound[data-v-fe609c34]{display:flex;flex-direction:column;gap:12px}.btn-key[data-v-fe609c34]{width:100%;padding:11px 14px;font-size:13px;letter-spacing:1px;background:#4fd8a81a;border:1px solid rgba(79,216,168,.35);color:#bff0dc}.btn-key[data-v-fe609c34]:hover:not(:disabled){background:#4fd8a82e}.btn-key.on[data-v-fe609c34]{background:#ff5c3d1f;border-color:#ff5c3d66;color:#ffc3b6}.meter-bar[data-v-fe609c34]{height:10px;border-radius:6px;background:#ffffff0d;border:1px solid var(--line);overflow:hidden}.meter-bar i[data-v-fe609c34]{display:block;height:100%;width:0;background:linear-gradient(90deg,#4fd8a8,#ffb648 60%,#ff5c3d);transition:width .25s ease}.meter-bar i.live[data-v-fe609c34]{box-shadow:0 0 14px #ff5c3d59}.meter-meta[data-v-fe609c34]{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--muted)}.meter-meta b[data-v-fe609c34]{color:#d6e8df;font-family:var(--mono);font-weight:500}.row[data-v-fe609c34]{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.row label[data-v-fe609c34]{min-width:52px}.row input[type=range][data-v-fe609c34]{flex:1;accent-color:#4fd8a8}.row .val[data-v-fe609c34]{width:42px;text-align:right;color:#cfeee0}.btn-ghost.small[data-v-fe609c34]{padding:6px 12px;font-size:12px}.note[data-v-fe609c34]{font-size:11px;color:var(--dim);line-height:1.5}.rule[data-v-fe609c34]{margin:0;font-size:11px;line-height:1.7;color:var(--dim);border-top:1px dashed var(--line);padding-top:10px}.log-panel[data-v-4edda4f0]{min-height:160px}.log[data-v-4edda4f0]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;max-height:216px;overflow-y:auto}.log li[data-v-4edda4f0]{display:flex;gap:10px;font-size:12px;padding-left:9px;border-left:2px solid var(--line);line-height:1.5}.log .t[data-v-4edda4f0]{color:var(--dim);flex:none}.log .x[data-v-4edda4f0]{color:#b9d2c7}.log li.in[data-v-4edda4f0]{border-color:#ff5c3d}.log li.in .x[data-v-4edda4f0]{color:#ffb9a9}.log li.out[data-v-4edda4f0]{border-color:#4fd8a8}.log li.sys[data-v-4edda4f0]{border-color:#3b5a4f}.log li.sys .x[data-v-4edda4f0]{color:#8fa79c}.empty[data-v-4edda4f0]{font-size:12px;color:var(--dim);margin:8px 0 0}.status[data-v-b25f23a1]{--sc: #4fd8a8;position:relative;overflow:hidden}.status.active[data-v-b25f23a1]{--sc: #ff5c3d}.status.hold[data-v-b25f23a1]{--sc: #ffb648}.status.clear[data-v-b25f23a1]{--sc: #4fd8a8}.status.empty[data-v-b25f23a1]{--sc: #708a7e}.status.off[data-v-b25f23a1]{--sc: #46584f}.status[data-v-b25f23a1]:after{content:"";position:absolute;inset:auto -30% -60% -30%;height:180px;background:radial-gradient(closest-side,color-mix(in srgb,var(--sc) 26%,transparent),transparent 70%);pointer-events:none}.status-top[data-v-b25f23a1]{display:flex;justify-content:space-between;align-items:center}.badge[data-v-b25f23a1]{display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:1px;color:var(--sc);border:1px solid color-mix(in srgb,var(--sc) 40%,transparent);background:color-mix(in srgb,var(--sc) 10%,transparent);padding:5px 12px;border-radius:999px}.badge i[data-v-b25f23a1]{width:7px;height:7px;border-radius:50%;background:var(--sc);box-shadow:0 0 8px var(--sc)}.frame[data-v-b25f23a1]{font-size:11px;color:var(--dim)}.big[data-v-b25f23a1]{display:flex;align-items:baseline;gap:8px;margin-top:14px;position:relative;z-index:1}.num[data-v-b25f23a1]{font-family:var(--mono);font-size:62px;line-height:1;font-weight:600;letter-spacing:-2px;color:#f2fbf7}.unit[data-v-b25f23a1]{font-size:16px;color:var(--muted)}.cm[data-v-b25f23a1]{font-size:12px;color:var(--muted);margin-top:6px}.mini-stats[data-v-b25f23a1]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;position:relative;z-index:1}.mini-stats>div[data-v-b25f23a1]{background:#ffffff08;border:1px solid var(--line);border-radius:10px;padding:8px 10px}.mini-stats label[data-v-b25f23a1]{display:block;font-size:10px;color:var(--dim);margin-bottom:4px;letter-spacing:.5px}.mini-stats b[data-v-b25f23a1]{font-family:var(--mono);font-size:15px;font-weight:500;color:#d6e8df}.mini-stats small[data-v-b25f23a1]{font-size:10px;color:var(--muted);font-weight:400}:root{--bg: #070c0b;--panel: #0f1715;--line: rgba(120, 210, 170, .14);--text: #e7f2ed;--muted: #7d968d;--dim: #4f645c;--green: #4fd8a8;--amber: #ffb648;--red: #ff5c3d;--mono: ui-monospace, "Cascadia Mono", Consolas, "JetBrains Mono", monospace}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;background:radial-gradient(1100px 620px at 18% -8%,rgba(79,216,168,.09),transparent 60%),radial-gradient(900px 520px at 92% 4%,rgba(255,92,61,.05),transparent 62%),var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}.wrap{max-width:1240px;margin:0 auto;padding:22px 24px 26px;display:flex;flex-direction:column;gap:16px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:14px}.logo{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:#4fd8a812;position:relative;flex:none}.logo span{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px #4fd8a8cc}.logo:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(79,216,168,.28);border-radius:50%}.logo.err span{background:var(--red);box-shadow:0 0 12px #ff5c3dcc}.logo.ok:after{animation:ringPulse 2.4s ease-out infinite}@keyframes ringPulse{0%{opacity:.7;transform:scale(.85)}70%{opacity:.1;transform:scale(1.5)}to{opacity:0;transform:scale(1.5)}}h1{margin:0;font-size:19px;font-weight:600;letter-spacing:.5px}.sub{margin:3px 0 0;font-size:11px;color:var(--muted);letter-spacing:1.2px;font-family:var(--mono)}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-family:var(--mono);background:#ffffff08}.chip i{width:6px;height:6px;border-radius:50%;background:var(--dim)}.chip.ok{color:#bff0dc;border-color:#4fd8a866}.chip.ok i{background:var(--green);box-shadow:0 0 8px var(--green)}.chip.err{color:#ffc3b6;border-color:#ff5c3d73}.chip.err i{background:var(--red);box-shadow:0 0 8px var(--red)}.btn{border-radius:10px;padding:9px 16px;font-size:12.5px;font-family:inherit;cursor:pointer;border:1px solid var(--line);background:#ffffff0a;color:#dceee5;transition:background .18s,border-color .18s,transform .12s;white-space:nowrap}.btn:hover:not(:disabled){background:#ffffff14}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--green);border-color:var(--green);color:#04120d;font-weight:600}.btn-primary:hover:not(:disabled){background:#6ee7bb}.btn-ghost{background:transparent}.banner{margin:0;padding:9px 14px;font-size:12px;line-height:1.6;border-radius:10px;border:1px solid rgba(255,182,72,.3);background:#ffb64814;color:#ffd79b}.grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,.9fr);gap:16px;align-items:start}@media(max-width:940px){.grid{grid-template-columns:1fr}}.panel{background:linear-gradient(180deg,#101917,#0b1312);border:1px solid var(--line);border-radius:16px;padding:15px 17px 17px;box-shadow:inset 0 1px #ffffff08,0 18px 34px -26px #000000e6}.panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}.panel-title{font-size:11.5px;letter-spacing:2.4px;color:#9dbab0}.panel-meta{font-size:10.5px;color:var(--dim);font-family:var(--mono)}.side{display:flex;flex-direction:column;gap:14px;min-width:0}.stage{padding-bottom:14px}.foot{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:11px;color:var(--dim);font-family:var(--mono);padding:2px 4px 6px}.foot .sep{opacity:.5}.mono{font-family:var(--mono)}
