.toast-content[data-v-fc519b78]{flex:1;min-width:0}.toast-close[data-v-fc519b78]{width:22px;height:22px;margin-top:-1px}.shell[data-v-9d62185e]{background:var(--canvas);background-image:var(--canvas-grad);background-attachment:fixed;min-height:100vh;display:flex}.sidebar[data-v-9d62185e]{z-index:60;width:var(--sidebar-w);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-line);color:var(--sidebar-fg);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.brand[data-v-9d62185e]{height:var(--topbar-h);padding:0 var(--sp-5);border-bottom:1px solid var(--sidebar-line);flex:none;align-items:center;gap:11px;display:flex}.brand-mark[data-v-9d62185e]{border-radius:10px;place-items:center;display:grid;box-shadow:0 6px 18px -6px #7c6bffb3}.brand-text[data-v-9d62185e]{flex-direction:column;min-width:0;line-height:1.3;display:flex}.brand-text strong[data-v-9d62185e]{color:var(--sidebar-fg-strong);font-size:var(--fs-14);letter-spacing:-.01em;font-weight:600}.brand-text span[data-v-9d62185e]{color:#ffffff6b;font-size:11px}.nav[data-v-9d62185e]{padding:var(--sp-4) var(--sp-3);gap:var(--sp-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.nav-group[data-v-9d62185e]{flex-direction:column;gap:2px;display:flex}.nav-title[data-v-9d62185e]{letter-spacing:.12em;text-transform:uppercase;color:#ffffff4d;padding:0 10px 6px;font-size:10px;font-weight:600}.nav-item[data-v-9d62185e]{border-radius:var(--r-sm);height:36px;font-size:var(--fs-13);color:var(--sidebar-fg);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);align-items:center;gap:10px;padding:0 10px;font-weight:500;display:flex;position:relative}.nav-item[data-v-9d62185e]:hover{background:var(--sidebar-hover);color:#fff}.nav-item.is-active[data-v-9d62185e]{color:#fff;background:linear-gradient(90deg,#7c6bff38,#7c6bff0f)}.nav-item.is-active[data-v-9d62185e]:before{content:"";border-radius:var(--r-full);background:linear-gradient(180deg, var(--brand-400), var(--brand-700));width:3px;height:18px;position:absolute;top:50%;left:-3px;transform:translateY(-50%)}.nav-ext[data-v-9d62185e]{opacity:.45;margin-left:auto}.sidebar-foot[data-v-9d62185e]{padding:var(--sp-3);border-top:1px solid var(--sidebar-line);gap:var(--sp-2);flex-direction:column;flex:none;display:flex}.env-badge[data-v-9d62185e]{border-radius:var(--r-sm);color:#ffffff80;background:#ffffff0a;align-items:center;gap:6px;padding:7px 10px;font-size:11px;display:flex}.env-badge i[data-v-9d62185e]{opacity:.4}.pulse[data-v-9d62185e]{background:var(--success-500);border-radius:50%;width:6px;height:6px;animation:2.2s infinite pulse-9d62185e;box-shadow:0 0 #0ea47a99}@keyframes pulse-9d62185e{70%{box-shadow:0 0 0 6px #0ea47a00}to{box-shadow:0 0 #0ea47a00}}.main[data-v-9d62185e]{min-width:0;margin-left:var(--sidebar-w);flex-direction:column;flex:1;display:flex}.topbar[data-v-9d62185e]{z-index:40;justify-content:space-between;align-items:center;gap:var(--sp-4);height:var(--topbar-h);padding:0 var(--sp-6);background:color-mix(in srgb, var(--canvas) 82%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.4);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.topbar-left[data-v-9d62185e]{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.topbar-title[data-v-9d62185e]{font-size:var(--fs-15);font-weight:600}.topbar-right[data-v-9d62185e]{align-items:center;gap:var(--sp-2);display:flex}.user[data-v-9d62185e]{border-radius:var(--r-full);border:1px solid var(--line-2);background:var(--surface);cursor:pointer;height:38px;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);align-items:center;gap:9px;padding:0 10px 0 6px;display:flex;position:relative}.user[data-v-9d62185e]:hover{border-color:var(--line-strong);box-shadow:var(--shadow-xs)}.avatar[data-v-9d62185e]{background:linear-gradient(135deg, var(--brand-500), var(--brand-700));color:#fff;width:27px;height:27px;font-size:var(--fs-12);border-radius:50%;place-items:center;font-weight:600;display:grid}.user-meta[data-v-9d62185e]{flex-direction:column;line-height:1.25;display:flex}.user-meta strong[data-v-9d62185e]{font-size:var(--fs-12);font-weight:600}.user-meta span[data-v-9d62185e]{color:var(--ink-4);font-size:10px}.caret[data-v-9d62185e]{color:var(--ink-4)}.user-menu[data-v-9d62185e]{z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);min-width:214px;box-shadow:var(--shadow-lg);animation:modal-in var(--dur-base) var(--ease-out);padding:6px;position:absolute;top:calc(100% + 8px);right:0}.user-menu-head[data-v-9d62185e]{border-bottom:1px solid var(--line);flex-direction:column;gap:2px;margin-bottom:5px;padding:9px 10px 11px;display:flex}.user-menu-head strong[data-v-9d62185e]{font-size:var(--fs-13)}.user-menu-head span[data-v-9d62185e]{font-size:var(--fs-11);color:var(--ink-4)}.user-menu-item[data-v-9d62185e]{border-radius:var(--r-sm);width:100%;height:34px;font-size:var(--fs-13);color:var(--ink-2);cursor:pointer;text-align:left;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;align-items:center;gap:9px;padding:0 10px;display:flex}.user-menu-item[data-v-9d62185e]:hover{background:var(--chip-bg);color:var(--ink)}.user-menu-item.is-danger[data-v-9d62185e]:hover{background:var(--danger-soft);color:var(--danger-600)}.content[data-v-9d62185e]{padding:var(--sp-6) var(--sp-6) var(--sp-12);flex:1}.content-inner[data-v-9d62185e]{max-width:var(--content-max);margin:0 auto}.only-mobile[data-v-9d62185e]{display:none}.sidebar-scrim[data-v-9d62185e]{z-index:55;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#080a0f80;position:fixed;inset:0}@media (width<=980px){.sidebar[data-v-9d62185e]{transition:transform var(--dur-slow) var(--ease-out);transform:translate(-100%)}.sidebar.is-open[data-v-9d62185e]{transform:translate(0)}.main[data-v-9d62185e]{margin-left:0}.only-mobile[data-v-9d62185e]{display:inline-flex}.user-meta[data-v-9d62185e]{display:none}.content[data-v-9d62185e]{padding:var(--sp-5) var(--sp-4) var(--sp-10)}}:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, Consolas, monospace;--fs-11:11px;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-15:15px;--fs-16:16px;--fs-18:18px;--fs-20:20px;--fs-24:24px;--fs-28:28px;--fs-34:34px;--fs-44:44px;--lh-tight:1.25;--lh-normal:1.55;--lh-loose:1.75;--r-xs:6px;--r-sm:8px;--r-md:10px;--r-lg:14px;--r-xl:18px;--r-2xl:24px;--r-full:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.12s;--dur-base:.18s;--dur-slow:.32s;--sidebar-w:244px;--topbar-h:62px;--content-max:1440px;--brand-50:#f2f1ff;--brand-100:#e7e5ff;--brand-200:#cfcbff;--brand-300:#b0a9ff;--brand-400:#8f83ff;--brand-500:#7c6bff;--brand-600:#6350f0;--brand-700:#4f3ed4;--brand-800:#3f31a8;--success-500:#0ea47a;--success-600:#0b8a67;--success-soft:#0ea47a1a;--warning-500:#d9860b;--warning-600:#b56f06;--warning-soft:#d9860b1f;--danger-500:#e5484d;--danger-600:#c93a3f;--danger-soft:#e5484d1a;--info-500:#2f7ff0;--info-soft:#2f7ff01a}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f6f7fa;--canvas-grad:radial-gradient(1200px 600px at 12% -10%, #7c6bff17, transparent 60%), radial-gradient(900px 500px at 100% 0%, #2f7ff012, transparent 55%);--surface:#fff;--surface-2:#fafbfc;--surface-3:#f2f4f7;--surface-glass:#ffffffb8;--line:#ebedf1;--line-2:#dfe3ea;--line-strong:#cdd3dd;--ink:#0b0e14;--ink-2:#465061;--ink-3:#7b8595;--ink-4:#a6aebc;--sidebar-bg:#0b0e14;--sidebar-fg:#aab2c0;--sidebar-fg-strong:#fff;--sidebar-line:#ffffff12;--sidebar-hover:#ffffff0f;--shadow-xs:0 1px 2px #1018280d;--shadow-sm:0 1px 2px #1018280d, 0 1px 3px #1018280a;--shadow-md:0 4px 12px #1018280f, 0 1px 3px #1018280a;--shadow-lg:0 18px 40px -12px #10182829, 0 4px 12px #1018280d;--shadow-brand:0 10px 30px -10px #6350f080;--ring:0 0 0 3px #7c6bff2e;--chip-bg:#0b0e140a}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#07080c;--canvas-grad:radial-gradient(1200px 600px at 12% -10%, #7c6bff29, transparent 60%), radial-gradient(900px 500px at 100% 0%, #2f7ff01a, transparent 55%);--surface:#0e1016;--surface-2:#12151c;--surface-3:#181c24;--surface-glass:#12151cb3;--line:#1d222c;--line-2:#262c38;--line-strong:#333a48;--ink:#eef1f6;--ink-2:#a5adbd;--ink-3:#7b8394;--ink-4:#565e6d;--sidebar-bg:#0a0c11;--sidebar-fg:#99a1b1;--sidebar-fg-strong:#fff;--sidebar-line:#ffffff0f;--sidebar-hover:#ffffff0d;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 2px #0006, 0 1px 3px #0000004d;--shadow-md:0 4px 14px #00000073;--shadow-lg:0 22px 48px -14px #000000b3, 0 6px 16px #0006;--shadow-brand:0 10px 30px -10px #6350f08c;--ring:0 0 0 3px #7c6bff47;--chip-bg:#ffffff0f}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%}body{font-family:var(--font-sans);font-size:var(--fs-14);line-height:var(--lh-normal);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-variant-numeric:tabular-nums;margin:0}h1,h2,h3,h4,h5{letter-spacing:-.015em;font-weight:600;line-height:var(--lh-tight);margin:0}p{margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit}ul,ol{margin:0;padding:0;list-style:none}table{border-collapse:collapse;border-spacing:0}input,select,textarea{color:inherit;font-family:inherit}code,pre,kbd{font-family:var(--font-mono);font-variant-ligatures:none}::selection{background:#7c6bff3d}:focus-visible{box-shadow:var(--ring);border-radius:var(--r-sm);outline:none}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--r-full);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--ink-4);background-clip:content-box}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.mono{font-family:var(--font-mono);font-size:var(--fs-13);letter-spacing:-.01em}.muted{color:var(--ink-3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.eyebrow{font-size:var(--fs-11);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);font-weight:600}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fade-enter-active,.fade-leave-active{transition:opacity var(--dur-base) var(--ease-out)}.fade-enter-from,.fade-leave-to{opacity:0}.rise-enter-active{transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out)}.rise-enter-from{opacity:0;transform:translateY(8px)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card--flat{box-shadow:none}.card--pad{padding:var(--sp-6)}.card-head{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--line);display:flex}.card-head h3{font-size:var(--fs-15)}.card-head .sub{font-size:var(--fs-12);color:var(--ink-3);margin-top:2px}.card-body{padding:var(--sp-6)}.card-foot{padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:var(--sp-3);display:flex}.btn{justify-content:center;align-items:center;gap:var(--sp-2);height:38px;padding:0 var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-13);letter-spacing:-.005em;cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);-webkit-user-select:none;user-select:none;border:1px solid #0000;font-weight:550;display:inline-flex}.btn:active:not(:disabled){transform:translateY(.5px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn--primary{color:#fff;box-shadow:var(--shadow-xs);background:linear-gradient(#171b24 0%,#0b0e14 100%)}[data-theme=dark] .btn--primary{background:linear-gradient(#7c6bff 0%,#6350f0 100%)}.btn--primary:hover:not(:disabled){box-shadow:var(--shadow-md);filter:brightness(1.08)}.btn--brand{background:linear-gradient(135deg, var(--brand-500) 0%, var(--brand-700) 100%);color:#fff;box-shadow:var(--shadow-brand)}.btn--brand:hover:not(:disabled){filter:brightness(1.06)}.btn--default{background:var(--surface);border-color:var(--line-2);color:var(--ink);box-shadow:var(--shadow-xs)}.btn--default:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-strong)}.btn--ghost{color:var(--ink-2);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--chip-bg);color:var(--ink)}.btn--danger{background:var(--danger-500);color:#fff}.btn--danger:hover:not(:disabled){background:var(--danger-600)}.btn--danger-soft{background:var(--danger-soft);color:var(--danger-600)}.btn--danger-soft:hover:not(:disabled){background:#e5484d29}.btn--sm{height:31px;padding:0 var(--sp-3);font-size:var(--fs-12);border-radius:var(--r-sm)}.btn--lg{height:44px;padding:0 var(--sp-6);font-size:var(--fs-14);border-radius:var(--r-md)}.btn--block{width:100%}.btn--icon{width:34px;padding:0}.field{flex-direction:column;gap:6px;display:flex}.field>label,.field-label{font-size:var(--fs-12);color:var(--ink-2);font-weight:550}.field-hint{font-size:var(--fs-11);color:var(--ink-4);line-height:1.5}.field-error{font-size:var(--fs-11);color:var(--danger-500)}.input,.select,.textarea{width:100%;height:38px;padding:0 var(--sp-3);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-md);font-size:var(--fs-13);color:var(--ink);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out)}.textarea{height:auto;min-height:88px;padding:10px var(--sp-3);line-height:var(--lh-normal);resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--ink-4)}.input:hover,.select:hover,.textarea:hover{border-color:var(--line-strong)}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand-400);box-shadow:var(--ring);outline:none}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-3);color:var(--ink-3);cursor:not-allowed}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%237b8595' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:30px}.input-group{align-items:stretch;display:flex}.input-group .input{border-radius:var(--r-md) 0 0 var(--r-md)}.input-group .input+.btn,.input-group .btn:last-child{border-radius:0 var(--r-md) var(--r-md) 0}.switch{align-items:center;gap:var(--sp-3);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;position:relative}.switch input{opacity:0;width:0;height:0;position:absolute}.switch-track{border-radius:var(--r-full);background:var(--line-strong);width:38px;height:22px;transition:background var(--dur-base) var(--ease-out);flex:none;position:relative}.switch-track:after{content:"";width:18px;height:18px;transition:transform var(--dur-base) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.switch input:checked+.switch-track{background:linear-gradient(135deg, var(--brand-500), var(--brand-700))}.switch input:checked+.switch-track:after{transform:translate(16px)}.switch input:focus-visible+.switch-track{box-shadow:var(--ring)}.choice{align-items:center;gap:var(--sp-2);font-size:var(--fs-13);color:var(--ink-2);cursor:pointer;display:inline-flex}.choice input[type=radio],.choice input[type=checkbox]{appearance:none;border:1.5px solid var(--line-strong);background:var(--surface);cursor:pointer;width:16px;height:16px;transition:all var(--dur-fast) var(--ease-out);border-radius:5px;flex:none;position:relative}.choice input[type=radio]{border-radius:50%}.choice input:checked{background:var(--brand-600);border-color:var(--brand-600)}.choice input[type=checkbox]:checked:after{content:"";border:1.8px solid #fff;border-width:0 1.8px 1.8px 0;width:4px;height:8px;position:absolute;top:1.5px;left:4.5px;transform:rotate(45deg)}.choice input[type=radio]:checked:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:3.5px}.badge{border-radius:var(--r-full);height:22px;font-size:var(--fs-11);letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:0 9px;font-weight:600;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;flex:none;width:5px;height:5px}.badge--neutral{background:var(--chip-bg);color:var(--ink-2)}.badge--success{background:var(--success-soft);color:var(--success-600)}.badge--warning{background:var(--warning-soft);color:var(--warning-600)}.badge--danger{background:var(--danger-soft);color:var(--danger-600)}.badge--info{background:var(--info-soft);color:var(--info-500)}.badge--brand{color:var(--brand-700);background:#7c6bff1f}[data-theme=dark] .badge--brand{color:var(--brand-300)}.badge--outline{border-color:var(--line-2);color:var(--ink-2);background:0 0}.table-wrap{width:100%;overflow-x:auto}.table{width:100%;font-size:var(--fs-13)}.table thead th{z-index:1;padding:10px var(--sp-4);text-align:left;font-size:var(--fs-11);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap;font-weight:600;position:sticky;top:0}.table tbody td{padding:13px var(--sp-4);border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background var(--dur-fast) var(--ease-out)}.table tbody tr:hover{background:var(--surface-2)}.table .cell-strong{color:var(--ink);font-weight:550}.table .cell-actions{text-align:right;white-space:nowrap}.table--compact tbody td{padding:9px var(--sp-4)}.pagination{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--line);font-size:var(--fs-12);color:var(--ink-3);flex-wrap:wrap;display:flex}.pagination .pages{align-items:center;gap:4px;display:flex}.page-btn{border:1px solid var(--line-2);background:var(--surface);border-radius:var(--r-sm);min-width:30px;height:30px;font-size:var(--fs-12);color:var(--ink-2);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);padding:0 8px}.page-btn:hover:not(:disabled){border-color:var(--line-strong);color:var(--ink)}.page-btn.is-active{background:var(--ink);border-color:var(--ink);color:var(--canvas);font-weight:600}[data-theme=dark] .page-btn.is-active{background:var(--brand-600);border-color:var(--brand-600);color:#fff}.page-btn:disabled{opacity:.45;cursor:not-allowed}.modal-mask{z-index:90;padding:8vh var(--sp-4) var(--sp-8);-webkit-backdrop-filter:blur(6px);animation:mask-in var(--dur-base) var(--ease-out);background:#080a0f70;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes mask-in{0%{opacity:0}}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);width:100%;max-width:560px;box-shadow:var(--shadow-lg);animation:modal-in var(--dur-slow) var(--ease-out);overflow:hidden}.modal--wide{max-width:760px}@keyframes modal-in{0%{opacity:0;transform:translateY(14px)scale(.985)}}.modal-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--line);display:flex}.modal-head h3{font-size:var(--fs-16)}.modal-head .sub{font-size:var(--fs-12);color:var(--ink-3);margin-top:3px}.modal-body{padding:var(--sp-6);gap:var(--sp-5);flex-direction:column;display:flex}.modal-foot{justify-content:flex-end;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-6);background:var(--surface-2);border-top:1px solid var(--line);display:flex}.icon-btn{border-radius:var(--r-sm);width:30px;height:30px;color:var(--ink-3);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--chip-bg);color:var(--ink)}.toast-stack{z-index:120;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:18px;right:18px}.toast{background:var(--surface-glass);-webkit-backdrop-filter:blur(14px)saturate(1.6);border:1px solid var(--line-2);border-radius:var(--r-lg);min-width:260px;max-width:400px;box-shadow:var(--shadow-lg);font-size:var(--fs-13);animation:toast-in var(--dur-slow) var(--ease-out);pointer-events:auto;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}@keyframes toast-in{0%{opacity:0;transform:translate(16px)scale(.98)}}.toast .toast-icon{flex:none;width:18px;height:18px;margin-top:1px}.toast--success .toast-icon{color:var(--success-500)}.toast--error .toast-icon{color:var(--danger-500)}.toast--info .toast-icon{color:var(--info-500)}.toast .title{color:var(--ink);margin-bottom:2px;font-weight:600}.toast .desc{color:var(--ink-3);font-size:var(--fs-12);word-break:break-word}.skeleton{background:linear-gradient(90deg, var(--surface-3) 25%, var(--line) 37%, var(--surface-3) 63%);border-radius:var(--r-sm);background-size:400% 100%;animation:1.4s infinite skeleton}@keyframes skeleton{0%{background-position:100%}to{background-position:0}}.empty{padding:56px var(--sp-6);text-align:center;color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.empty .empty-art{border-radius:var(--r-lg);background:var(--surface-3);width:54px;height:54px;color:var(--ink-4);place-items:center;margin-bottom:4px;display:grid}.empty .empty-title{font-size:var(--fs-14);color:var(--ink-2);font-weight:600}.empty .empty-desc{font-size:var(--fs-12);max-width:380px}.tabs{background:var(--surface-3);border-radius:var(--r-md);align-items:center;gap:2px;padding:3px;display:inline-flex}.tab{border-radius:var(--r-sm);height:30px;font-size:var(--fs-12);color:var(--ink-3);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);white-space:nowrap;background:0 0;border:none;padding:0 14px;font-weight:550}.tab:hover{color:var(--ink)}.tab.is-active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs)}.code-block{color:#d7dcea;border-radius:var(--r-lg);background:#0b0e14;border:1px solid #1c2230;position:relative;overflow:hidden}.code-block .code-head{font-size:var(--fs-11);color:#7b8595;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid #1c2230;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.code-block pre{font-size:var(--fs-12);tab-size:2;margin:0;padding:14px 16px;line-height:1.75;overflow-x:auto}.copy-btn{border-radius:var(--r-xs);color:#98a1b3;height:24px;font-size:var(--fs-11);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);background:#12161f;border:1px solid #262c3a;align-items:center;gap:5px;padding:0 9px;display:inline-flex}.copy-btn:hover{color:#fff;border-color:#3a4358}.kv{font-size:var(--fs-13);grid-template-columns:minmax(120px,190px) 1fr;gap:0;display:grid}.kv>dt{color:var(--ink-3);border-bottom:1px solid var(--line);padding:9px 0}.kv>dd{color:var(--ink);border-bottom:1px solid var(--line);word-break:break-all;margin:0;padding:9px 0}.kv>dt:last-of-type,.kv>dd:last-of-type{border-bottom:none}.meter{border-radius:var(--r-full);background:var(--surface-3);height:6px;overflow:hidden}.meter>i{border-radius:var(--r-full);background:linear-gradient(90deg, var(--brand-500), var(--brand-700));height:100%;transition:width var(--dur-slow) var(--ease-out);display:block}.hint{font-size:var(--fs-12);color:var(--ink-3);align-items:center;gap:6px;display:inline-flex}.tip{display:inline-flex;position:relative}.tip>.tip-body{background:var(--ink);color:var(--canvas);border-radius:var(--r-sm);font-size:var(--fs-11);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out);z-index:40;padding:7px 10px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tip:hover>.tip-body{opacity:1}
