.nav[data-v-9eb9300b]{width:var(--nav-w);flex:none;display:flex;flex-direction:column;background:var(--c-nav-bg);border-right:var(--bw) solid var(--c-border-strong);transition:width .18s var(--ease);overflow:hidden}.nav.collapsed[data-v-9eb9300b]{width:var(--nav-w-collapsed)}.brand[data-v-9eb9300b]{height:var(--topbar-h);display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:var(--bw) solid var(--c-border);border-top:3px solid var(--c-topbar-rule);flex:none}.collapsed .brand[data-v-9eb9300b]{padding:0;justify-content:center}.logo[data-v-9eb9300b]{width:28px;height:28px;flex:none;display:grid;place-items:center;background:var(--c-primary);color:var(--c-on-primary)}.brand-txt[data-v-9eb9300b]{display:flex;flex-direction:column;line-height:1.2;white-space:nowrap}.brand-txt b[data-v-9eb9300b]{font-size:var(--fs-lg);letter-spacing:.02em}.brand-txt .code-label[data-v-9eb9300b]{font-family:var(--font-sans);letter-spacing:.04em;font-size:10px}.groups[data-v-9eb9300b]{flex:1;overflow-y:auto;overflow-x:hidden;padding:6px 8px}.group[data-v-9eb9300b]{padding:6px 0}.group h6[data-v-9eb9300b]{margin:4px 8px 6px;font-size:10px}.group .divider[data-v-9eb9300b]{margin:2px 6px 8px}.item[data-v-9eb9300b]{position:relative;display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;margin-bottom:2px;color:var(--c-text-2);border-radius:var(--radius);text-decoration:none;white-space:nowrap}.collapsed .item[data-v-9eb9300b]{justify-content:center;padding:0}.item[data-v-9eb9300b]:hover{background:var(--c-surface-3);color:var(--c-text);text-decoration:none}.item.router-link-active[data-v-9eb9300b]{background:var(--c-surface);color:var(--c-nav-active);font-weight:600;box-shadow:inset 3px 0 0 var(--c-nav-active),inset 0 0 0 1px var(--c-border)}.item .code[data-v-9eb9300b]{font-size:10px;color:var(--c-text-3);opacity:0;transition:opacity var(--dur)}.item:hover .code[data-v-9eb9300b],.item.router-link-active .code[data-v-9eb9300b]{opacity:1}.badge[data-v-9eb9300b]{min-width:18px;height:18px;padding:0 5px;display:inline-grid;place-items:center;font-family:var(--font-mono);font-size:10px;font-weight:700;color:#fff;background:var(--c-idle)}.badge.danger[data-v-9eb9300b]{background:var(--c-danger)}.badge.warn[data-v-9eb9300b]{background:var(--c-warn)}.badge.info[data-v-9eb9300b]{background:var(--c-info)}.pip[data-v-9eb9300b]{position:absolute;top:7px;right:9px;width:7px;height:7px;background:var(--c-warn)}.pip.danger[data-v-9eb9300b]{background:var(--c-danger)}.pip.info[data-v-9eb9300b]{background:var(--c-info)}.foot[data-v-9eb9300b]{padding:8px;border-top:var(--bw) solid var(--c-border);display:flex;flex-direction:column;gap:8px}.safety[data-v-9eb9300b]{position:relative;padding:8px 8px 8px 14px;background:var(--c-warn-weak);border:var(--bw) solid color-mix(in srgb,var(--c-warn) 35%,transparent)}.safety .stripe[data-v-9eb9300b]{position:absolute;left:0;top:0;bottom:0;width:5px}.safety p[data-v-9eb9300b]{font-size:var(--fs-xs);color:var(--c-text-2);line-height:1.5}.collapse[data-v-9eb9300b]{width:100%;justify-content:flex-start;color:var(--c-text-2)}.collapsed .collapse[data-v-9eb9300b]{justify-content:center}.pop[data-v-14be08e8]{position:relative;display:inline-flex}.pop-panel[data-v-14be08e8]{position:absolute;top:calc(100% + 6px);z-index:60;background:var(--c-surface);border:var(--bw) solid var(--c-border-strong);border-top:3px solid var(--c-accent);border-radius:var(--radius);box-shadow:var(--shadow-pop)}.pop-panel.right[data-v-14be08e8]{right:0}.pop-panel.left[data-v-14be08e8]{left:0}.pop-enter-active[data-v-14be08e8],.pop-leave-active[data-v-14be08e8]{transition:opacity .12s var(--ease),transform .12s var(--ease)}.pop-enter-from[data-v-14be08e8],.pop-leave-to[data-v-14be08e8]{opacity:0;transform:translateY(-4px)}.hd[data-v-11fd0307]{padding:10px 12px;border-bottom:var(--bw) solid var(--c-border)}.list[data-v-11fd0307]{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column;gap:4px}.item[data-v-11fd0307]{width:100%;display:flex;align-items:center;gap:10px;padding:8px;border:var(--bw) solid transparent;border-radius:var(--radius);background:transparent;text-align:left;cursor:pointer}.item[data-v-11fd0307]:hover{background:var(--c-surface-2);border-color:var(--c-border)}.item[aria-checked=true][data-v-11fd0307]{border-color:var(--c-primary);background:var(--c-primary-weak)}.sw[data-v-11fd0307]{display:grid;grid-template-columns:repeat(2,14px);grid-template-rows:repeat(2,14px);border:var(--bw) solid var(--c-border-strong);flex:none}.sw i[data-v-11fd0307]{display:block}.desc[data-v-11fd0307]{display:block;font-size:var(--fs-xs);color:var(--c-text-3);margin-top:1px}.top[data-v-a0038b38]{height:var(--topbar-h);flex:none;display:flex;align-items:center;gap:16px;padding:0 12px 0 20px;background:var(--c-topbar-bg);border-top:3px solid var(--c-topbar-rule);border-bottom:var(--bw) solid var(--c-border-strong)}.crumb[data-v-a0038b38]{display:flex;align-items:center;gap:6px;min-width:0;flex:none}.crumb h1[data-v-a0038b38]{font-size:var(--fs-lg);font-weight:700;white-space:nowrap}.crumb .pg[data-v-a0038b38]{padding:1px 5px;border:var(--bw) solid var(--c-border)}.search[data-v-a0038b38]{flex:0 1 440px;margin:0 auto;display:flex;align-items:center;gap:8px;height:var(--h-ctl);padding:0 8px 0 10px;border:var(--bw) solid var(--c-border-strong);border-radius:var(--radius);background:var(--c-surface-2);color:var(--c-text-3);text-align:left;cursor:text;min-width:160px}.search[data-v-a0038b38]:hover{border-color:var(--c-text-2);background:var(--c-surface)}.right[data-v-a0038b38]{display:flex;align-items:center;gap:6px;flex:none}.link[data-v-a0038b38]{display:flex;align-items:center;gap:6px;height:30px;padding:0 8px;color:var(--c-text-2);background:transparent;border:var(--bw) solid transparent;cursor:pointer}.link[data-v-a0038b38]:hover{border-color:var(--c-border);background:var(--c-surface-2)}.link .src[data-v-a0038b38]{font-size:var(--fs-xs);color:var(--c-text-3);padding-right:6px;border-right:var(--bw) solid var(--c-border)}.link.warn[data-v-a0038b38]{color:var(--c-warn)}.link.danger[data-v-a0038b38]{color:var(--c-danger)}.clock[data-v-a0038b38]{font-size:var(--fs-sm);color:var(--c-text-2);padding:0 4px}.vdivider[data-v-a0038b38]{height:22px;margin:0 4px}.bell[data-v-a0038b38]{position:relative}.cnt[data-v-a0038b38]{position:absolute;top:2px;right:1px;min-width:16px;height:16px;padding:0 3px;font-family:var(--font-mono);font-size:10px;font-weight:700;line-height:16px;color:#fff;background:var(--c-warn)}.cnt.crit[data-v-a0038b38]{background:var(--c-danger)}.pop-hd[data-v-a0038b38]{padding:10px 12px;border-bottom:var(--bw) solid var(--c-border)}.pop-ft[data-v-a0038b38]{padding:8px;border-top:var(--bw) solid var(--c-border)}.al-list[data-v-a0038b38]{list-style:none;margin:0;padding:0;max-height:360px;overflow:auto}.al-list li[data-v-a0038b38]{padding:10px 12px;border-bottom:var(--bw) solid var(--c-border);box-shadow:inset 3px 0 0 var(--c-info);display:flex;flex-direction:column;gap:4px}.al-list li.danger[data-v-a0038b38]{box-shadow:inset 3px 0 0 var(--c-danger)}.al-list li.warn[data-v-a0038b38]{box-shadow:inset 3px 0 0 var(--c-warn)}.al-list li[data-v-a0038b38]:last-child{border-bottom:0}.empty[data-v-a0038b38]{display:flex;flex-direction:column;align-items:center;gap:6px;padding:28px;color:var(--c-text-3)}.user[data-v-a0038b38]{display:flex;align-items:center;gap:8px;height:38px;padding:0 8px 0 4px;border:var(--bw) solid transparent;border-radius:var(--radius);background:transparent;cursor:pointer}.user[data-v-a0038b38]:hover{background:var(--c-surface-3)}.avatar[data-v-a0038b38]{width:28px;height:28px;display:grid;place-items:center;background:var(--c-accent);color:#fff}.who[data-v-a0038b38]{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.who b[data-v-a0038b38]{font-size:var(--fs-sm)}.roles[data-v-a0038b38]{padding:6px;display:flex;flex-direction:column;gap:2px}.role[data-v-a0038b38]{display:flex;align-items:center;gap:10px;padding:8px;border:var(--bw) solid transparent;border-radius:var(--radius);background:transparent;text-align:left;cursor:pointer;color:var(--c-text-2)}.role[data-v-a0038b38]:hover{background:var(--c-surface-2)}.role[aria-pressed=true][data-v-a0038b38]{border-color:var(--c-primary);background:var(--c-primary-weak);color:var(--c-primary)}@media (max-width: 1100px){.link span[data-v-a0038b38]:last-child,.link .src[data-v-a0038b38],.clock[data-v-a0038b38]{display:none}}.mask[data-v-81bc6a59]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0c101452;display:flex;justify-content:center;padding-top:12vh}.pal[data-v-81bc6a59]{width:min(640px,92vw);height:fit-content;background:var(--c-surface);border:var(--bw) solid var(--c-border-strong);border-top:3px solid var(--c-primary);box-shadow:var(--shadow-pop)}.in[data-v-81bc6a59]{display:flex;align-items:center;gap:10px;height:52px;padding:0 14px;border-bottom:var(--bw) solid var(--c-border)}.in input[data-v-81bc6a59]{border:0;outline:0;background:transparent;font-size:var(--fs-lg)}.list[data-v-81bc6a59]{list-style:none;margin:0;padding:6px;max-height:50vh;overflow:auto}.grp[data-v-81bc6a59]{padding:8px 8px 4px;font-size:10px}.opt[data-v-81bc6a59]{display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;cursor:pointer;color:var(--c-text-2)}.opt[aria-selected=true][data-v-81bc6a59]{background:var(--c-primary-weak);color:var(--c-text);box-shadow:inset 3px 0 0 var(--c-primary)}.opt.ai[data-v-81bc6a59]{color:var(--c-primary);font-weight:600}.none[data-v-81bc6a59]{padding:24px;text-align:center;color:var(--c-text-3)}.ft[data-v-81bc6a59]{display:flex;align-items:center;gap:14px;padding:8px 12px;border-top:var(--bw) solid var(--c-border);background:var(--c-surface-2);font-size:var(--fs-xs);color:var(--c-text-2)}.ft .kbd[data-v-81bc6a59]{margin-right:3px}.fade-enter-active[data-v-81bc6a59],.fade-leave-active[data-v-81bc6a59]{transition:opacity .12s var(--ease)}.fade-enter-from[data-v-81bc6a59],.fade-leave-to[data-v-81bc6a59]{opacity:0}.mask[data-v-7622c120]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;background:#0c101466;display:grid;place-items:center;padding:16px}.dlg[data-v-7622c120]{position:relative;width:min(480px,100%);background:var(--c-surface);border:var(--bw) solid var(--c-border-strong);box-shadow:var(--shadow-pop)}.strip[data-v-7622c120]{height:6px}.hd[data-v-7622c120]{display:flex;align-items:center;gap:10px;padding:14px 14px 10px 16px}.hd h2[data-v-7622c120]{font-size:var(--fs-lg)}.bd[data-v-7622c120]{padding:0 16px 16px;display:flex;flex-direction:column;gap:12px}.checks[data-v-7622c120]{list-style:none;margin:0;padding:10px 12px;background:var(--c-surface-2);border:var(--bw) solid var(--c-border);display:flex;flex-direction:column;gap:8px}.checks label[data-v-7622c120]{display:flex;gap:8px;align-items:flex-start;cursor:pointer;font-size:var(--fs-sm)}.checks input[data-v-7622c120]{margin-top:3px;accent-color:var(--c-primary)}.ft[data-v-7622c120]{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:var(--bw) solid var(--c-border);background:var(--c-surface-2)}.fade-enter-active[data-v-7622c120],.fade-leave-active[data-v-7622c120]{transition:opacity .12s var(--ease)}.fade-enter-from[data-v-7622c120],.fade-leave-to[data-v-7622c120]{opacity:0}.host[data-v-8e0421e5]{position:fixed;right:16px;bottom:16px;z-index:100;display:flex;flex-direction:column;gap:8px;width:360px;max-width:calc(100vw - 32px)}.toast[data-v-8e0421e5]{--_c: var(--c-info);display:flex;align-items:flex-start;gap:10px;padding:10px 8px 10px 12px;background:var(--c-surface);border:var(--bw) solid var(--c-border-strong);box-shadow:inset 4px 0 0 var(--_c),var(--shadow-pop)}.toast.ok[data-v-8e0421e5]{--_c: var(--c-ok)}.toast.warn[data-v-8e0421e5]{--_c: var(--c-warn)}.toast.danger[data-v-8e0421e5]{--_c: var(--c-danger)}.ic[data-v-8e0421e5]{color:var(--_c);flex:none;margin-top:1px}.t-enter-active[data-v-8e0421e5],.t-leave-active[data-v-8e0421e5]{transition:all .18s var(--ease)}.t-enter-from[data-v-8e0421e5],.t-leave-to[data-v-8e0421e5]{opacity:0;transform:translate(16px)}.shell[data-v-876eadcb]{display:flex;height:100%;min-width:1024px}.main[data-v-876eadcb]{flex:1;min-width:0;display:flex;flex-direction:column}.content[data-v-876eadcb]{flex:1;overflow:auto;outline:none}.skip[data-v-876eadcb]:focus{position:fixed;top:8px;left:8px;z-index:200;width:auto;height:auto;clip:auto;padding:8px 12px;background:var(--c-primary);color:#fff}.page-enter-active[data-v-876eadcb],.page-leave-active[data-v-876eadcb]{transition:opacity .12s var(--ease),transform .12s var(--ease)}.page-enter-from[data-v-876eadcb]{opacity:0;transform:translateY(4px)}.page-leave-to[data-v-876eadcb]{opacity:0}:root{--font-sans: "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei UI", "PingFang SC", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Mono", "SF Mono", Consolas, "Microsoft YaHei UI", monospace;--radius: 2px;--radius-lg: 3px;--bw: 1px;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-lg: 15px;--fs-xl: 18px;--fs-2xl: 26px;--h-ctl: 32px;--h-ctl-sm: 26px;--topbar-h: 52px;--nav-w: 216px;--nav-w-collapsed: 56px;--ease: cubic-bezier(.2, 0, 0, 1);--dur: .14s;--shadow-pop: 0 1px 0 rgba(0, 0, 0, .04), 0 8px 24px -6px rgba(16, 22, 29, .22)}:root,[data-theme=steel]{--c-bg: #e9edf1;--c-bg-grid: rgba(27, 79, 156, .05);--c-surface: #ffffff;--c-surface-2: #f3f5f8;--c-surface-3: #e5eaf0;--c-border: #c8cfd7;--c-border-strong: #8a96a3;--c-text: #10161d;--c-text-2: #3d4855;--c-text-3: #6b7684;--c-primary: #1b4f9c;--c-primary-hover: #143e7d;--c-primary-weak: #e2ebf8;--c-on-primary: #ffffff;--c-accent: #10161d;--c-ok: #1d7a3c;--c-ok-weak: #e1f2e6;--c-warn: #a85a00;--c-warn-weak: #fbefdc;--c-danger: #c0262d;--c-danger-weak: #fbe4e4;--c-info: #0d6c91;--c-info-weak: #dff0f6;--c-idle: #7b8794;--c-idle-weak: #eceff2;--c-nav-bg: #f7f9fb;--c-nav-active: #1b4f9c;--c-topbar-bg: #ffffff;--c-topbar-rule: #1b4f9c;--c-focus: #2f7ae5;--chart-1: #1b4f9c;--chart-2: #0d8fa8;--chart-3: #c7791a;--chart-4: #6b4fb3;--chart-5: #2d8a4e;--chart-6: #c0262d}[data-theme=signal]{--c-bg: #eeebe4;--c-bg-grid: rgba(26, 24, 20, .05);--c-surface: #fffefb;--c-surface-2: #f6f3ec;--c-surface-3: #ebe6db;--c-border: #d1c9b9;--c-border-strong: #8d8474;--c-text: #1a1814;--c-text-2: #4a453c;--c-text-3: #7a7366;--c-primary: #c2410c;--c-primary-hover: #9a330a;--c-primary-weak: #fbe8db;--c-on-primary: #ffffff;--c-accent: #1a1814;--c-ok: #2d7a1f;--c-ok-weak: #e4f1dc;--c-warn: #9a6a00;--c-warn-weak: #f8efcf;--c-danger: #b3141b;--c-danger-weak: #f9e0df;--c-info: #1d5f8a;--c-info-weak: #e0ecf4;--c-idle: #857d70;--c-idle-weak: #efebe3;--c-nav-bg: #f7f4ed;--c-nav-active: #1a1814;--c-topbar-bg: #fffefb;--c-topbar-rule: #c2410c;--c-focus: #e2680f;--chart-1: #c2410c;--chart-2: #1a1814;--chart-3: #1d5f8a;--chart-4: #b88a00;--chart-5: #2d7a1f;--chart-6: #8c5bb5}[data-theme=graphite]{--c-bg: #e7ebea;--c-bg-grid: rgba(11, 107, 99, .05);--c-surface: #fbfcfc;--c-surface-2: #f1f4f3;--c-surface-3: #e1e7e5;--c-border: #c3ccc9;--c-border-strong: #7f8d89;--c-text: #0f1715;--c-text-2: #36433f;--c-text-3: #65726e;--c-primary: #0b6b63;--c-primary-hover: #08534d;--c-primary-weak: #dbeeea;--c-on-primary: #ffffff;--c-accent: #26302d;--c-ok: #3b7a1c;--c-ok-weak: #e5f0dc;--c-warn: #b0510a;--c-warn-weak: #f9ead9;--c-danger: #b8163c;--c-danger-weak: #f7e0e5;--c-info: #2b56a8;--c-info-weak: #e1e8f6;--c-idle: #7a8783;--c-idle-weak: #e9eeec;--c-nav-bg: #f4f7f6;--c-nav-active: #0b6b63;--c-topbar-bg: #fbfcfc;--c-topbar-rule: #26302d;--c-focus: #12a094;--chart-1: #0b6b63;--chart-2: #2b56a8;--chart-3: #c27a12;--chart-4: #7d5aa6;--chart-5: #5f8f2a;--chart-6: #b8163c}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font-sans);font-size:var(--fs-md);line-height:1.5;color:var(--c-text);background-color:var(--c-bg);background-image:linear-gradient(var(--c-bg-grid) 1px,transparent 1px),linear-gradient(90deg,var(--c-bg-grid) 1px,transparent 1px);background-size:24px 24px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}h1,h2,h3,h4,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--c-primary);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--c-focus);outline-offset:1px}::selection{background:var(--c-primary);color:var(--c-on-primary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--c-border);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:var(--c-border-strong)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}.spin{animation-duration:.9s!important;animation-iteration-count:infinite!important}}.mono{font-family:var(--font-mono)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.muted{color:var(--c-text-3)}.text-2{color:var(--c-text-2)}.t-ok{color:var(--c-ok)}.t-warn{color:var(--c-warn)}.t-danger{color:var(--c-danger)}.t-info{color:var(--c-info)}.t-primary{color:var(--c-primary)}.fs-xs{font-size:var(--fs-xs)}.fs-sm{font-size:var(--fs-sm)}.fw-6{font-weight:600}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-3)}.row{display:flex;align-items:center;gap:8px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:8px}.col{display:flex;flex-direction:column;gap:8px}.grow{flex:1 1 auto;min-width:0}.wrap{flex-wrap:wrap}.gap-4{gap:4px}.gap-12{gap:12px}.gap-16{gap:16px}.grid{display:grid;gap:12px}.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-5{grid-template-columns:repeat(5,minmax(0,1fr))}.g-6{grid-template-columns:repeat(6,minmax(0,1fr))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:span 4}@media (max-width: 1280px){.g-5,.g-6{grid-template-columns:repeat(3,minmax(0,1fr))}.g-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.g-2,.g-3,.g-4,.g-5,.g-6{grid-template-columns:minmax(0,1fr)}.span-2,.span-3,.span-4{grid-column:auto}}.page{padding:16px 20px 32px;display:flex;flex-direction:column;gap:12px;min-width:0}.btn{--_bg: var(--c-surface);--_fg: var(--c-text);--_bd: var(--c-border-strong);display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--h-ctl);padding:0 12px;border:var(--bw) solid var(--_bd);border-radius:var(--radius);background:var(--_bg);color:var(--_fg);font-size:var(--fs-md);font-weight:500;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.btn:hover{--_bg: var(--c-surface-3)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.45;transform:none}.btn svg{flex:none}.btn-primary{--_bg: var(--c-primary);--_fg: var(--c-on-primary);--_bd: var(--c-primary)}.btn-primary:hover{--_bg: var(--c-primary-hover);--_bd: var(--c-primary-hover)}.btn-danger{--_bg: var(--c-danger);--_fg: #fff;--_bd: var(--c-danger)}.btn-danger:hover{filter:brightness(.92);--_bg: var(--c-danger)}.btn-ghost{--_bg: transparent;--_bd: transparent}.btn-ghost:hover{--_bg: var(--c-surface-3)}.btn-sm{height:var(--h-ctl-sm);padding:0 8px;font-size:var(--fs-sm)}.btn-icon{width:var(--h-ctl);padding:0}.btn-icon.btn-sm{width:var(--h-ctl-sm)}.input,.select,.textarea{height:var(--h-ctl);padding:0 10px;border:var(--bw) solid var(--c-border-strong);border-radius:var(--radius);background:var(--c-surface);min-width:0;transition:border-color var(--dur) var(--ease)}.textarea{height:auto;padding:8px 10px;resize:vertical;line-height:1.6}.input:hover,.select:hover,.textarea:hover{border-color:var(--c-text-2)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:inset 0 0 0 1px var(--c-primary)}.input::placeholder,.textarea::placeholder{color:var(--c-text-3)}.input-wrap{position:relative;display:inline-flex;align-items:center}.input-wrap>svg{position:absolute;left:9px;color:var(--c-text-3);pointer-events:none}.input-wrap>.input{padding-left:30px;width:100%}.field{display:flex;flex-direction:column;gap:4px}.field>label{font-size:var(--fs-sm);color:var(--c-text-2);font-weight:500}.field .hint{font-size:var(--fs-xs);color:var(--c-text-3)}.tag{--_c: var(--c-idle);--_b: var(--c-idle-weak);display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 6px;border:var(--bw) solid color-mix(in srgb,var(--_c) 40%,transparent);border-radius:var(--radius);background:var(--_b);color:var(--_c);font-size:var(--fs-xs);font-weight:600;line-height:1;white-space:nowrap}.tag.ok{--_c: var(--c-ok);--_b: var(--c-ok-weak)}.tag.warn{--_c: var(--c-warn);--_b: var(--c-warn-weak)}.tag.danger{--_c: var(--c-danger);--_b: var(--c-danger-weak)}.tag.info{--_c: var(--c-info);--_b: var(--c-info-weak)}.tag.primary{--_c: var(--c-primary);--_b: var(--c-primary-weak)}.tag.solid{background:var(--_c);color:#fff;border-color:var(--_c)}.kbd{display:inline-flex;align-items:center;height:18px;padding:0 5px;border:var(--bw) solid var(--c-border);border-bottom-width:2px;border-radius:var(--radius);background:var(--c-surface-2);font-family:var(--font-mono);font-size:10px;color:var(--c-text-2)}.seg{display:inline-flex;border:var(--bw) solid var(--c-border-strong);border-radius:var(--radius);background:var(--c-surface);overflow:hidden}.seg>button{display:inline-flex;align-items:center;gap:6px;height:calc(var(--h-ctl) - 2px);padding:0 12px;border:0;border-right:var(--bw) solid var(--c-border);background:transparent;color:var(--c-text-2);font-size:var(--fs-sm);cursor:pointer}.seg>button:last-child{border-right:0}.seg>button:hover{background:var(--c-surface-3)}.seg>button[aria-pressed=true]{background:var(--c-accent);color:#fff;font-weight:600}.seg.sm>button{height:calc(var(--h-ctl-sm) - 2px);padding:0 8px}.table-wrap{overflow:auto;border-top:var(--bw) solid var(--c-border)}.table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.table th{position:sticky;top:0;z-index:1;height:34px;padding:0 12px;background:var(--c-surface-2);border-bottom:var(--bw) solid var(--c-border-strong);color:var(--c-text-3);font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-align:left;white-space:nowrap}.table td{height:38px;padding:0 12px;border-bottom:var(--bw) solid var(--c-border);white-space:nowrap}.table tbody tr{transition:background-color var(--dur) var(--ease)}.table tbody tr:hover{background:var(--c-surface-2)}.table tbody tr.is-selected{background:var(--c-primary-weak);box-shadow:inset 3px 0 0 var(--c-primary)}.table tbody tr.clickable{cursor:pointer}.table .r{text-align:right}.table .c{text-align:center}.bar{position:relative;height:6px;background:var(--c-surface-3);overflow:hidden}.bar>i{position:absolute;inset:0 auto 0 0;background:var(--c-primary);transition:width .4s var(--ease)}.bar.ok>i{background:var(--c-ok)}.bar.warn>i{background:var(--c-warn)}.bar.danger>i{background:var(--c-danger)}.dot{display:inline-block;width:8px;height:8px;flex:none;background:var(--c-idle)}.dot.ok{background:var(--c-ok)}.dot.warn{background:var(--c-warn)}.dot.danger{background:var(--c-danger)}.dot.info{background:var(--c-info)}.dot.pulse{animation:pulse 1.6s var(--ease) infinite}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,currentColor 0%,transparent);opacity:1}50%{opacity:.35}to{opacity:1}}.hazard{background:repeating-linear-gradient(-45deg,var(--c-warn) 0 8px,transparent 8px 16px);opacity:.9}.divider{height:1px;background:var(--c-border);border:0;margin:0}.vdivider{width:1px;align-self:stretch;background:var(--c-border)}.skeleton{background:linear-gradient(90deg,var(--c-surface-3) 25%,var(--c-surface-2) 50%,var(--c-surface-3) 75%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.v-tip{position:fixed;z-index:300;display:none;align-items:center;gap:6px;max-width:320px;padding:4px 8px;background:var(--c-accent);color:#fff;font-size:var(--fs-xs);line-height:1.5;pointer-events:none;transition:opacity .1s var(--ease)}.v-tip-kbd{padding:0 4px;border:1px solid rgba(255,255,255,.35);font-family:var(--font-mono);font-size:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
