.toasts[data-v-609450bd]{position:fixed;right:18px;bottom:18px;z-index:200;display:flex;flex-direction:column;gap:8px;max-width:min(380px,calc(100vw - 36px));pointer-events:none}.toast[data-v-609450bd]{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;background:var(--surface);border:1px solid var(--border-strong);border-left-width:3px;border-radius:var(--radius);box-shadow:var(--shadow-pop);pointer-events:auto}.toast.tone-pass[data-v-609450bd]{border-left-color:var(--pass)}.toast.tone-warn[data-v-609450bd]{border-left-color:var(--warn)}.toast.tone-fail[data-v-609450bd]{border-left-color:var(--fail)}.toast.tone-default[data-v-609450bd]{border-left-color:var(--accent)}.dot[data-v-609450bd]{margin-top:6px}.body[data-v-609450bd]{flex:1 1 auto;min-width:0}.msg[data-v-609450bd]{font-size:var(--fs-13)}.detail[data-v-609450bd]{color:var(--text-muted);margin-top:2px}.x[data-v-609450bd]{border:none;background:transparent;color:var(--text-faint);cursor:pointer;padding:2px;border-radius:3px}.x[data-v-609450bd]:hover{color:var(--text);background:var(--surface-2)}.toast-enter-active[data-v-609450bd],.toast-leave-active[data-v-609450bd]{transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.toast-enter-from[data-v-609450bd]{opacity:0;transform:translate(18px)}.toast-leave-to[data-v-609450bd]{opacity:0;transform:translate(18px) scale(.98)}.overlay[data-v-5b79faf9]{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:20px;background:#06090c9e;backdrop-filter:blur(2px);animation:fade var(--dur) var(--ease)}:root[data-theme=light] .overlay[data-v-5b79faf9]{background:#141a215c}.panel[data-v-5b79faf9]{width:100%;max-height:86vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);animation:pop-in var(--dur) var(--ease)}.panel[data-v-5b79faf9]:focus{outline:none}.head[data-v-5b79faf9]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.titles h3[data-v-5b79faf9]{font-size:var(--fs-14);font-weight:600}.subtitle[data-v-5b79faf9]{color:var(--text-muted);margin-top:3px}.close[data-v-5b79faf9]{display:grid;place-items:center;width:26px;height:26px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.close[data-v-5b79faf9]:hover{background:var(--surface-2);color:var(--text);border-color:var(--border)}.body[data-v-5b79faf9]{padding:16px;overflow-y:auto}.foot[data-v-5b79faf9]{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.msg[data-v-d754a27e]{font-size:var(--fs-13);line-height:1.65}.detail[data-v-d754a27e]{margin-top:8px;color:var(--text-muted);line-height:1.6}.shell[data-v-e328469e]{display:flex;flex-direction:column;min-height:100vh}.bar[data-v-e328469e]{position:sticky;top:0;z-index:80;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.bar-inner[data-v-e328469e]{display:flex;align-items:center;gap:20px;height:54px}.brand[data-v-e328469e]{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}.brand[data-v-e328469e]:hover{text-decoration:none}.mark[data-v-e328469e]{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--accent);flex:none}.titles[data-v-e328469e]{display:flex;flex-direction:column;line-height:1.15}.name[data-v-e328469e]{font-size:var(--fs-14);font-weight:600;letter-spacing:.01em}.sub[data-v-e328469e]{font-size:10px;letter-spacing:.16em;color:var(--text-faint)}.nav[data-v-e328469e]{display:flex;align-items:center;gap:2px;margin-left:auto}.nav-link[data-v-e328469e]{padding:6px 11px;border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--fs-13);text-decoration:none;white-space:nowrap;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.nav-link[data-v-e328469e]:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav-link.active[data-v-e328469e]{background:var(--surface-3);color:var(--text)}.tools[data-v-e328469e]{display:flex;align-items:center;gap:10px}.health[data-v-e328469e]{display:inline-flex;align-items:center;gap:6px;color:var(--text-faint)}.health.on[data-v-e328469e]{color:var(--pass)}.health.off[data-v-e328469e]{color:var(--fail)}.icon-btn[data-v-e328469e]{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.icon-btn[data-v-e328469e]:hover{color:var(--text);border-color:var(--border-strong)}.main[data-v-e328469e]{flex:1 1 auto}.foot[data-v-e328469e]{border-top:1px solid var(--border);margin-top:40px}.foot-inner[data-v-e328469e]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;flex-wrap:wrap}@media(max-width:760px){.bar-inner[data-v-e328469e]{gap:10px;height:auto;padding-top:8px;padding-bottom:8px;flex-wrap:wrap}.nav[data-v-e328469e]{margin-left:0;order:3;width:100%;overflow-x:auto}.sub[data-v-e328469e]{display:none}}:root{color-scheme:dark;--bg: #0d1014;--surface: #141a20;--surface-2: #1a2129;--surface-3: #202932;--border: #232c36;--border-strong: #303b47;--text: #e4e8ed;--text-muted: #8b96a5;--text-faint: #5f6b7a;--text-invert: #0b0e12;--accent: #3f9e8f;--accent-hover: #4bb2a1;--accent-soft: rgba(63, 158, 143, .14);--accent-border: rgba(63, 158, 143, .42);--pass: #43a06e;--pass-soft: rgba(67, 160, 110, .14);--warn: #c2913a;--warn-soft: rgba(194, 145, 58, .14);--fail: #c25b52;--fail-soft: rgba(194, 91, 82, .14);--info: #6f7d8f;--info-soft: rgba(111, 125, 143, .12);--shadow-panel: none;--shadow-pop: 0 12px 32px rgba(0, 0, 0, .5);--radius: 5px;--radius-sm: 4px;--radius-lg: 8px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", "Source Han Sans SC", sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-11: 11px;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--fs-16: 16px;--fs-20: 20px;--fs-26: 26px;--fs-34: 34px;--ease: cubic-bezier(.22, .61, .36, 1);--dur-fast: .12s;--dur: .2s;--dur-slow: .38s}:root[data-theme=light]{color-scheme:light;--bg: #f4f6f8;--surface: #ffffff;--surface-2: #f7f9fa;--surface-3: #eef1f4;--border: #e0e5ea;--border-strong: #ccd3da;--text: #171c22;--text-muted: #5b6674;--text-faint: #8b95a1;--text-invert: #ffffff;--accent: #2f8578;--accent-hover: #276f64;--accent-soft: rgba(47, 133, 120, .1);--accent-border: rgba(47, 133, 120, .38);--pass: #2f7f57;--pass-soft: rgba(47, 127, 87, .1);--warn: #9a6f1c;--warn-soft: rgba(154, 111, 28, .12);--fail: #a8453d;--fail-soft: rgba(168, 69, 61, .1);--info: #5d6b7c;--info-soft: rgba(93, 107, 124, .09);--shadow-panel: 0 1px 2px rgba(16, 24, 40, .04);--shadow-pop: 0 10px 28px rgba(16, 24, 40, .14)}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur: 0ms;--dur-slow: 0ms}}*,*:before,*:after{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-14);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,p,figure{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}button{font:inherit;color:inherit}code,kbd,pre,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid transparent;background-clip:content-box;border-radius:8px}*::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:content-box}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}::selection{background:var(--accent-soft)}.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 20px}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-11);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.section{margin:26px 0;animation:rise var(--dur-slow) var(--ease) both;animation-delay:calc(var(--i, 0) * 55ms)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:8px;margin-bottom:14px;border-bottom:1px solid var(--border);flex-wrap:wrap}.section-head h2{font-size:var(--fs-16);font-weight:600;letter-spacing:.01em}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-panel)}.panel-pad{padding:16px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-bottom:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius) var(--radius) 0 0}.panel-head h3{font-size:var(--fs-13);font-weight:600}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.small{font-size:var(--fs-12)}.tiny{font-size:var(--fs-11)}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:10px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.scroll-x>*{min-width:max-content}.nowrap{white-space:nowrap}@media(max-width:900px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:32px;padding:0 13px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-size:var(--fs-13);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--text-faint)}.btn:active:not(:disabled){transform:scale(.978)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#04120f;font-weight:600}:root[data-theme=light] .btn-primary{color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-danger{color:var(--fail);border-color:var(--fail);background:transparent}.btn-sm{height:26px;padding:0 9px;font-size:var(--fs-12)}.btn-lg{height:40px;padding:0 20px;font-size:var(--fs-14)}.tag{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border:1px solid var(--border-strong);border-radius:3px;background:var(--surface-2);font-family:var(--font-mono);font-size:var(--fs-11);letter-spacing:.03em;color:var(--text-muted);white-space:nowrap}.tag-pass{color:var(--pass);border-color:color-mix(in srgb,var(--pass) 45%,transparent);background:var(--pass-soft)}.tag-warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:var(--warn-soft)}.tag-fail{color:var(--fail);border-color:color-mix(in srgb,var(--fail) 45%,transparent);background:var(--fail-soft)}.tag-info{color:var(--info);background:var(--info-soft)}.tag-accent{color:var(--accent);border-color:var(--accent-border);background:var(--accent-soft)}.dot{width:6px;height:6px;border-radius:50%;background:var(--info);flex:none}.dot-pass{background:var(--pass)}.dot-warn{background:var(--warn)}.dot-fail{background:var(--fail)}.dot-accent{background:var(--accent)}.dot-live{animation:pulse 1.6s ease-in-out infinite}.table{width:100%;border-collapse:collapse;font-size:var(--fs-13)}.table th{text-align:left;font-family:var(--font-mono);font-size:var(--fs-11);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-weight:500;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface-2);white-space:nowrap}.table td{padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:top}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--surface-2)}.kv{display:grid;grid-template-columns:minmax(0,168px) minmax(0,1fr);gap:1px;font-size:var(--fs-13)}.kv>dt{padding:8px 12px;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border)}.kv>dd{margin:0;padding:8px 12px;border-bottom:1px solid var(--border);min-width:0;overflow-wrap:anywhere}.kv>dt:last-of-type,.kv>dd:last-of-type{border-bottom:none}@keyframes rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.42;transform:scale(.82)}}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px) scale(.985)}to{opacity:1;transform:none}}@keyframes slide-in-right{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
