.switch[data-v-a0b4eb86]{display:inline-flex;align-items:center;gap:8px}.seg[data-v-a0b4eb86]{display:inline-flex;padding:2px;gap:2px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2)}.seg-btn[data-v-a0b4eb86]{width:30px;height:24px;border:none;background:transparent;color:var(--text-2);cursor:pointer;font-size:12px;font-weight:700;border-radius:calc(var(--radius) - 3px);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.seg-btn[data-v-a0b4eb86]:hover{color:var(--text)}.seg-btn.on[data-v-a0b4eb86]{background:var(--btn-grad);color:#fff;box-shadow:var(--btn-glow)}.theme-btn[data-v-a0b4eb86]{width:30px;height:28px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text-2);cursor:pointer;font-size:14px;line-height:1;display:grid;place-items:center;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.theme-btn[data-v-a0b4eb86]:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.layout[data-v-9d14a4dc]{min-height:100%;display:flex}.sidebar[data-v-9d14a4dc]{width:var(--sidebar-w);flex:none;border-right:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 92%,transparent),var(--surface-2));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand[data-v-9d14a4dc]{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid var(--border);cursor:pointer;position:relative}.brand[data-v-9d14a4dc]:after{content:"";position:absolute;left:16px;right:16px;bottom:-1px;height:1px;background:var(--grad-brand);opacity:.35}.brand-mark[data-v-9d14a4dc]{width:32px;height:32px;border-radius:10px;background:var(--btn-grad);color:#fff;display:grid;place-items:center;font-weight:800;font-size:16px;flex:none;box-shadow:var(--btn-glow);transition:transform var(--dur) var(--ease)}.brand:hover .brand-mark[data-v-9d14a4dc]{transform:rotate(-6deg) scale(1.06)}.brand-name[data-v-9d14a4dc]{font-size:14px;font-weight:800;letter-spacing:.01em;line-height:1.25}.sidenav[data-v-9d14a4dc]{padding:10px;display:flex;flex-direction:column;gap:3px;overflow-y:auto;flex:1}.sidenav-item[data-v-9d14a4dc]{position:relative;display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:var(--radius);color:var(--text-2);font-size:13px;font-weight:600;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur) var(--ease)}.sidenav-item[data-v-9d14a4dc]:before{content:"";position:absolute;left:0;top:50%;width:3px;height:0;border-radius:3px;background:var(--grad-brand);transform:translateY(-50%);transition:height var(--dur) var(--ease-out)}.sidenav-item[data-v-9d14a4dc]:hover{background:var(--surface-3);color:var(--text);transform:translate(2px)}.sidenav-item.on[data-v-9d14a4dc]{background:linear-gradient(100deg,var(--accent-soft),color-mix(in srgb,var(--accent-soft) 40%,transparent));color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.sidenav-item.on[data-v-9d14a4dc]:before{height:60%}.sidenav-item.on .nav-icon[data-v-9d14a4dc]{color:var(--accent)}.nav-icon[data-v-9d14a4dc]{width:18px;text-align:center;font-size:15px;color:var(--text-3);transition:color var(--dur-fast) var(--ease)}.nav-text[data-v-9d14a4dc]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-foot[data-v-9d14a4dc]{padding:12px;border-top:1px solid var(--border)}.user-card[data-v-9d14a4dc]{display:flex;align-items:center;gap:9px;padding:8px 9px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.user-avatar[data-v-9d14a4dc]{width:30px;height:30px;flex:none;border-radius:9px;display:grid;place-items:center;background:var(--btn-grad);color:#fff;font-weight:800;font-size:13px;box-shadow:var(--btn-glow)}.user-meta[data-v-9d14a4dc]{flex:1;min-width:0}.user-name[data-v-9d14a4dc]{font-size:13px;font-weight:700;max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main[data-v-9d14a4dc]{flex:1;min-width:0;display:flex;flex-direction:column}.topbar[data-v-9d14a4dc]{height:var(--header-h);display:none;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);position:sticky;top:0;z-index:20}.topbar-title[data-v-9d14a4dc]{font-size:16px;font-weight:800;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.content[data-v-9d14a4dc]{flex:1}.foot[data-v-9d14a4dc]{padding:18px 16px;text-align:center;border-top:1px solid var(--border)}.menu-btn[data-v-9d14a4dc]{font-size:16px}.tabbar[data-v-9d14a4dc]{display:none}@media(max-width:768px){.sidebar[data-v-9d14a4dc]{display:none}.topbar[data-v-9d14a4dc]{display:flex}.mobile-hide[data-v-9d14a4dc]{display:none}.tabbar[data-v-9d14a4dc]{display:flex;position:fixed;left:0;right:0;bottom:0;height:var(--tabbar-h);background:var(--glass);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);border-top:1px solid var(--border);box-shadow:0 -12px 30px -22px #0009;z-index:30;padding-bottom:env(safe-area-inset-bottom)}.tab[data-v-9d14a4dc]{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-3);font-size:11px;transition:color var(--dur-fast) var(--ease)}.tab[data-v-9d14a4dc]:before{content:"";position:absolute;top:0;left:50%;width:26px;height:3px;border-radius:0 0 3px 3px;background:var(--grad-brand);transform:translate(-50%) scaleX(0);transition:transform var(--dur) var(--ease-out)}.tab.on[data-v-9d14a4dc]{color:var(--accent)}.tab.on[data-v-9d14a4dc]:before{transform:translate(-50%) scaleX(1)}.tab.on .tab-icon[data-v-9d14a4dc]{transform:translateY(-1px);filter:drop-shadow(0 3px 8px color-mix(in srgb,var(--accent) 55%,transparent))}.tab-icon[data-v-9d14a4dc]{font-size:18px;transition:transform var(--dur) var(--ease)}}@media(prefers-reduced-motion:reduce){.sidenav-item[data-v-9d14a4dc]{transition:background var(--dur-fast),color var(--dur-fast)}.sidenav-item[data-v-9d14a4dc]:hover{transform:none}}.pub[data-v-f824d341]{min-height:100%;display:flex;flex-direction:column}.pub-header[data-v-f824d341]{border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:var(--glass);backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);position:sticky;top:0;z-index:20;transition:box-shadow var(--dur-slow) var(--ease),background var(--dur-slow) var(--ease),border-color var(--dur-slow) var(--ease)}.pub-header.scrolled[data-v-f824d341]{background:color-mix(in srgb,var(--surface) 90%,transparent);box-shadow:var(--shadow);border-color:transparent}.header-line[data-v-f824d341]{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--grad-brand);transform:scaleX(0);opacity:0;transform-origin:left;transition:transform var(--dur-slow) var(--ease-out),opacity var(--dur-slow) var(--ease)}.header-line.on[data-v-f824d341]{transform:scaleX(1);opacity:.9}.header-progress[data-v-f824d341]{position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent-3));transform-origin:left;box-shadow:0 1px 10px -1px color-mix(in srgb,var(--accent) 70%,transparent);z-index:1}.pub-inner[data-v-f824d341]{max-width:var(--maxw);margin:0 auto;padding:0 16px;display:flex;align-items:center;gap:16px;height:var(--header-h)}.pub-inner[data-v-f824d341]>*{animation:navIn-f824d341 .55s var(--ease-out) both}.pub-inner>.brand[data-v-f824d341]{animation-delay:.02s}.pub-inner>.pub-nav[data-v-f824d341]{animation-delay:.09s}.pub-inner>.actions[data-v-f824d341]{animation-delay:.16s}@keyframes navIn-f824d341{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}.brand[data-v-f824d341]{display:flex;align-items:center;gap:9px;cursor:pointer;flex:none}.brand-mark[data-v-f824d341]{position:relative;overflow:hidden;width:32px;height:32px;border-radius:10px;background:var(--btn-grad);color:#fff;display:grid;place-items:center;font-weight:800;font-size:16px;box-shadow:var(--btn-glow);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.brand-mark.sm[data-v-f824d341]{width:28px;height:28px;font-size:14px;border-radius:9px}.brand-mark[data-v-f824d341]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.65) 50%,transparent 70%);transform:translate(-130%)}.brand:hover .brand-mark[data-v-f824d341]{transform:rotate(-6deg) scale(1.08);box-shadow:var(--shadow-glow)}.brand:hover .brand-mark[data-v-f824d341]:after{animation:sheen-f824d341 .75s ease}@keyframes sheen-f824d341{to{transform:translate(130%)}}.brand-name[data-v-f824d341]{font-size:15px;font-weight:800;letter-spacing:.01em;white-space:nowrap}.pub-nav[data-v-f824d341]{position:relative;display:flex;align-items:center;gap:2px;flex:1;font-size:13px;font-weight:600}.nav-pill[data-v-f824d341]{position:absolute;top:50%;left:0;height:32px;margin-top:-16px;border-radius:var(--radius);background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 26%,transparent);opacity:0;pointer-events:none;transition:transform .34s var(--ease-out),width .34s var(--ease-out),opacity var(--dur)}.nav-pill.ready[data-v-f824d341]{opacity:1}.nav-pill[data-v-f824d341]:after{content:"";position:absolute;left:10px;right:10px;bottom:4px;height:2px;border-radius:2px;background:var(--grad-brand)}.nav-link[data-v-f824d341]{position:relative;z-index:1;padding:7px 13px;border-radius:var(--radius);color:var(--text-2);transition:color var(--dur-fast) var(--ease)}.nav-link[data-v-f824d341]:hover,.nav-link.on[data-v-f824d341]{color:var(--accent)}.nav-link[data-v-f824d341]:active{transform:translateY(1px)}.actions[data-v-f824d341]{flex:none}.login-btn[data-v-f824d341]{border-color:transparent}.pub-content[data-v-f824d341]{flex:1}.pub-foot[data-v-f824d341]{position:relative;border-top:1px solid var(--border);padding:26px 0;margin-top:24px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--surface-2) 55%,transparent))}.pub-foot[data-v-f824d341]:before{content:"";position:absolute;top:-1px;left:50%;transform:translate(-50%);width:min(560px,80%);height:1px;background:var(--grad-brand);opacity:.5}.foot-inner[data-v-f824d341]{height:auto;justify-content:space-between;align-items:center;gap:12px}.foot-brand[data-v-f824d341]{display:flex;align-items:center;gap:10px}.foot-inner .stack[data-v-f824d341]{gap:2px}@media(prefers-reduced-motion:reduce){.pub-inner[data-v-f824d341]>*{animation:none}.nav-pill[data-v-f824d341],.header-line[data-v-f824d341]{transition:opacity var(--dur)}.brand:hover .brand-mark[data-v-f824d341]{transform:none}}@media(max-width:768px){.brand-name[data-v-f824d341]{display:none}.pub-nav[data-v-f824d341]{gap:0;font-size:12px}.nav-link[data-v-f824d341]{padding:7px 9px}.foot-inner[data-v-f824d341]{flex-direction:column;gap:8px;text-align:center}}.blank[data-v-a4218e3c]{min-height:100vh;display:flex;flex-direction:column;position:relative;background:radial-gradient(900px 500px at 50% -12%,var(--aurora-1),transparent 60%),radial-gradient(720px 460px at 90% 6%,var(--aurora-2),transparent 58%),radial-gradient(680px 520px at 8% 96%,var(--aurora-3),transparent 60%)}.blank-top[data-v-a4218e3c]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;position:relative;z-index:1}.brand[data-v-a4218e3c]{display:flex;align-items:center;gap:9px;cursor:pointer}.brand-mark[data-v-a4218e3c]{width:32px;height:32px;border-radius:10px;background:var(--btn-grad);color:#fff;display:grid;place-items:center;font-weight:800;font-size:16px;box-shadow:var(--btn-glow);transition:transform var(--dur) var(--ease)}.brand:hover .brand-mark[data-v-a4218e3c]{transform:rotate(-6deg) scale(1.06)}.brand-name[data-v-a4218e3c]{font-weight:800;font-size:15px}.blank-body[data-v-a4218e3c]{flex:1;display:grid;place-items:center;padding:16px;position:relative;z-index:1}.card-wrap[data-v-a4218e3c]{position:relative;width:100%;max-width:420px}.halo[data-v-a4218e3c]{position:absolute;top:-34%;right:-34%;bottom:-34%;left:-34%;z-index:0;pointer-events:none;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 26%,transparent),transparent 72%);filter:blur(18px);opacity:.8}.card[data-v-a4218e3c]{position:relative;z-index:1;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:30px 28px;overflow:hidden}.card[data-v-a4218e3c]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent-3),var(--accent));background-size:200% 100%;animation:sweep-a4218e3c 6s linear infinite}@keyframes sweep-a4218e3c{0%{background-position:0 0}to{background-position:200% 0}}.blank-foot[data-v-a4218e3c]{padding:16px;text-align:center;position:relative;z-index:1}@media(prefers-reduced-motion:reduce){.card[data-v-a4218e3c]:before{animation:none}}.toast-host[data-v-8acf7f03]{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:2000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast[data-v-8acf7f03]{pointer-events:auto;min-width:200px;max-width:80vw;padding:9px 14px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-size:13px;cursor:pointer}.toast-success[data-v-8acf7f03]{border-left:3px solid var(--ok)}.toast-error[data-v-8acf7f03]{border-left:3px solid var(--danger)}.toast-warn[data-v-8acf7f03]{border-left:3px solid var(--warn)}.toast-info[data-v-8acf7f03]{border-left:3px solid var(--info)}.toast-enter-active[data-v-8acf7f03],.toast-leave-active[data-v-8acf7f03]{transition:all .22s ease}.toast-enter-from[data-v-8acf7f03],.toast-leave-to[data-v-8acf7f03]{opacity:0;transform:translateY(-8px)}:root{color-scheme:light;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-mono: "SFMono-Regular", "JetBrains Mono", Consolas, "Liberation Mono", Menlo, monospace;--bg: #e9eef7;--bg-2: #f7f9fd;--surface: #ffffff;--surface-2: #f4f7fd;--surface-3: #e7eef9;--surface-4: #dde7f5;--glass: color-mix(in srgb, #ffffff 72%, transparent);--glass-border: color-mix(in srgb, #ffffff 55%, var(--border));--text: #080f1d;--text-2: #43506a;--text-3: #78869d;--border: #dbe3f0;--border-strong: #becde1;--ink: #08101e;--ink-contrast: #ffffff;--accent: #0e7490;--accent-2: #4f46e5;--accent-3: #7c3aed;--accent-soft: #e1f1f8;--gold: #b8860b;--ok: #059669;--warn: #d97706;--danger: #dc2626;--info: #2563eb;--wave-red: #d32f2f;--wave-blue: #1976d2;--wave-green: #2e7d32;--radius: 12px;--radius-sm: 8px;--radius-lg: 18px;--radius-xl: 26px;--shadow-sm: 0 1px 2px rgba(8, 15, 29, .06), 0 1px 3px rgba(8, 15, 29, .04);--shadow: 0 18px 44px -24px rgba(8, 15, 29, .34);--shadow-lg: 0 38px 84px -38px rgba(8, 15, 29, .46);--shadow-glow: 0 20px 50px -24px color-mix(in srgb, var(--accent) 55%, transparent);--glow: 0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent);--btn-grad: linear-gradient(135deg, #0891b2 0%, #4f46e5 56%, #7c3aed 100%);--grad-brand: linear-gradient(120deg, #0e7490 0%, #4f46e5 58%, #a855f7 100%);--grad-title: linear-gradient(118deg, #0a5e77 0%, #3730a3 52%, #6d28d9 100%);--grad-gold: linear-gradient(135deg, #d9a521, #a9760a);--btn-glow: 0 12px 28px -12px color-mix(in srgb, var(--accent) 65%, transparent);--grid-line: rgba(8, 15, 29, .035);--aurora-1: rgba(14, 116, 144, .14);--aurora-2: rgba(79, 70, 229, .13);--aurora-3: rgba(168, 85, 247, .1);--overlay: color-mix(in srgb, #06101f 58%, transparent);--header-h: 62px;--tabbar-h: 62px;--sidebar-w: 232px;--maxw: 1240px;--ease: cubic-bezier(.22, .61, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .14s;--dur: .22s;--dur-slow: .42s}[data-theme=dark]{color-scheme:dark;--bg: #04070e;--bg-2: #070c16;--surface: #0d1524;--surface-2: #121c2d;--surface-3: #182338;--surface-4: #1e2b44;--glass: color-mix(in srgb, #0d1524 66%, transparent);--glass-border: color-mix(in srgb, #ffffff 12%, var(--border));--text: #e9f0fa;--text-2: #a4b5cb;--text-3: #6d7f97;--border: #1d2a3e;--border-strong: #2c3c55;--ink: #e9f0fa;--ink-contrast: #060b14;--accent: #22d3ee;--accent-2: #818cf8;--accent-3: #c084fc;--accent-soft: #0a2b38;--gold: #e6bd57;--ok: #34d399;--warn: #fbbf24;--danger: #f87171;--info: #60a5fa;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .55);--shadow: 0 20px 48px -24px rgba(0, 0, 0, .85);--shadow-lg: 0 40px 96px -38px rgba(0, 0, 0, .92);--shadow-glow: 0 22px 54px -24px rgba(34, 211, 238, .5);--glow: 0 0 0 4px color-mix(in srgb, var(--accent) 20%, transparent);--btn-grad: linear-gradient(135deg, #06b6d4 0%, #6366f1 56%, #a855f7 100%);--grad-brand: linear-gradient(120deg, #22d3ee 0%, #818cf8 58%, #c084fc 100%);--grad-title: linear-gradient(118deg, #67e8f9 0%, #a5b4fc 55%, #d8b4fe 100%);--btn-glow: 0 14px 32px -14px rgba(34, 211, 238, .6);--grid-line: rgba(120, 170, 220, .05);--aurora-1: rgba(34, 211, 238, .16);--aurora-2: rgba(129, 140, 248, .14);--aurora-3: rgba(192, 132, 252, .12);--overlay: color-mix(in srgb, #02060d 70%, transparent)}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background-color:var(--bg);background-image:radial-gradient(1100px 620px at 6% -8%,var(--aurora-1),transparent 60%),radial-gradient(1150px 660px at 104% -6%,var(--aurora-2),transparent 58%),radial-gradient(1000px 700px at 62% 108%,var(--aurora-3),transparent 62%),linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:auto,auto,auto,32px 32px,32px 32px;background-attachment:fixed}body:before{content:"";position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:0;pointer-events:none;background:radial-gradient(620px 460px at 18% 24%,var(--aurora-1),transparent 62%),radial-gradient(760px 520px at 82% 14%,var(--aurora-2),transparent 62%),radial-gradient(720px 560px at 58% 92%,var(--aurora-3),transparent 64%);animation:auroraFloat 28s ease-in-out infinite alternate}#app{position:relative;z-index:1}@keyframes auroraFloat{0%{transform:translate3d(-2%,-1.5%,0) scale(1)}to{transform:translate3d(2.5%,2%,0) scale(1.08)}}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}button{font-family:inherit}::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num,.tnum,table{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num-grad,.grad-text{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.page{max-width:var(--maxw);margin:0 auto;padding:18px}.hairline{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.panel{position:relative;background-color:var(--surface);background-image:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 60%,transparent),transparent 130px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.panel+.panel{margin-top:12px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 15px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--surface-2),var(--surface));border-radius:var(--radius) var(--radius) 0 0}.panel-title{display:inline-flex;align-items:center;font-size:16px;font-weight:800;letter-spacing:.005em}.panel-title:before{content:"";width:4px;height:1.05em;margin-right:9px;border-radius:3px;background:var(--grad-brand);box-shadow:0 2px 10px -2px color-mix(in srgb,var(--accent) 60%,transparent);flex:none}.panel-title small{color:var(--text-3);font-weight:500;font-size:12px;margin-left:6px}.panel-body{padding:15px}.muted{color:var(--text-2)}.dim{color:var(--text-3)}.small{font-size:12px}.center{text-align:center}.row{display:flex;align-items:center;gap:8px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:8px}.wrap{flex-wrap:wrap}.grow{flex:1}.grid{display:grid;gap:12px}.stack{display:flex;flex-direction:column;gap:10px}.spacer{flex:1}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mb8{margin-bottom:8px}.label{font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 16px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;letter-spacing:.005em;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur-fast) var(--ease);white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--btn-grad);background-size:160% 160%;border-color:transparent;color:#fff;box-shadow:var(--btn-glow)}.btn-primary:hover:not(:disabled){color:#fff;border-color:transparent;background-position:100% 0;filter:brightness(1.06);box-shadow:var(--btn-glow),0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover:not(:disabled){background:var(--accent-soft);box-shadow:none}.btn-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent);background:transparent}.btn-danger:hover:not(:disabled){color:var(--danger);border-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.btn-sm{height:30px;padding:0 11px;font-size:12px;border-radius:var(--radius-sm)}.btn-lg{height:44px;padding:0 22px;font-size:14px;border-radius:var(--radius)}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-size:12px;color:var(--text-2);font-weight:600}.input,.select,textarea.input{height:40px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:14px;outline:none;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);width:100%}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 16px) 17px,calc(100% - 11px) 17px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:30px;cursor:pointer}textarea.input{height:auto;padding:9px 12px;resize:vertical}.input:focus,.select:focus{border-color:var(--accent);box-shadow:var(--glow)}.input:disabled{background:var(--surface-2);color:var(--text-3);cursor:not-allowed}.input-sm{height:32px;padding:0 9px;font-size:12px}.input-error{border-color:var(--danger)}.hint{font-size:12px;color:var(--text-3)}.err{font-size:12px;color:var(--danger)}.tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:11px;font-weight:600;white-space:nowrap}.tag-ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent);background:color-mix(in srgb,var(--ok) 10%,transparent)}.tag-warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent);background:color-mix(in srgb,var(--warn) 10%,transparent)}.tag-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent)}.tag-accent{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:var(--accent-soft)}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{padding:9px 11px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.table th{color:var(--text-2);font-weight:700;font-size:12px;letter-spacing:.03em;background:linear-gradient(180deg,var(--surface-2),var(--surface-3));position:sticky;top:0;z-index:1}.table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.table tbody tr:hover{background:var(--accent-soft)}.table-wrap{overflow-x:auto}.ball{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-family:var(--font-mono);font-size:13px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;flex:none;background-image:radial-gradient(circle at 32% 26%,#ffffff7a,#fff0 62%);box-shadow:inset 0 -2px 5px #0000003d,0 2px 6px -1px #00000047}.ball-sm{width:24px;height:24px;font-size:11px}.ball-lg{width:40px;height:40px;font-size:15px}.ball-red{background-color:var(--wave-red)}.ball-blue{background-color:var(--wave-blue)}.ball-green{background-color:var(--wave-green)}.ball-plain{background-color:var(--text-3)}.ball-special{box-shadow:inset 0 -2px 5px #0000003d,0 0 0 2px var(--surface),0 0 0 4px var(--gold),0 4px 12px -3px color-mix(in srgb,var(--gold) 60%,transparent)}.empty{padding:44px 16px;text-align:center;color:var(--text-3);font-size:13px}.divider{height:1px;margin:12px 0;background:linear-gradient(90deg,transparent,var(--border),transparent)}.dot{width:6px;height:6px;border-radius:50%;background:var(--text-3);flex:none}.dot.ok{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 22%,transparent)}.dot.warn{background:var(--warn);box-shadow:0 0 0 3px color-mix(in srgb,var(--warn) 22%,transparent)}.dot.danger{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 22%,transparent)}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:sk 1.3s ease infinite;border-radius:var(--radius-sm);min-height:14px}@keyframes sk{0%{background-position:100% 50%}to{background-position:0 50%}}.fade-enter-active,.fade-leave-active{transition:opacity .18s ease}.fade-enter-from,.fade-leave-to{opacity:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:padding-box}@media(prefers-reduced-motion:reduce){body:before{animation:none}}@media(max-width:768px){.page{padding:14px 12px calc(var(--tabbar-h) + 18px)}.table th,.table td{padding:8px 9px}.panel-title{font-size:15px}}
