.icon[data-v-2a29d394]{width:18px;height:18px;flex:none;display:inline-block;vertical-align:middle}.toasts[data-v-26296afa]{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:200;display:grid;gap:8px;justify-items:center;pointer-events:none;width:calc(100% - 32px);max-width:440px}.toast[data-v-26296afa]{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--panel-3);border:1px solid var(--line-2);border-radius:999px;box-shadow:0 16px 40px -12px #000000b3;font-size:13.5px}.toast.success .icon[data-v-26296afa]{color:var(--ok)}.toast.error .icon[data-v-26296afa]{color:var(--danger)}.toast.info .icon[data-v-26296afa]{color:var(--info)}.toast-enter-active[data-v-26296afa],.toast-leave-active[data-v-26296afa]{transition:all .3s var(--ease)}.toast-enter-from[data-v-26296afa],.toast-leave-to[data-v-26296afa]{opacity:0;transform:translateY(-10px)}.boot[data-v-dbec8dc8]{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:14px;text-align:center;padding:24px}.boot p[data-v-dbec8dc8]{margin:0;max-width:360px}.boot-ico[data-v-dbec8dc8]{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:var(--accent-grad);color:var(--on-accent);box-shadow:0 16px 40px -12px #ee7d55b3}.boot-ico .icon[data-v-dbec8dc8]{width:30px;height:30px;stroke-width:2.2}.boot-ico.err[data-v-dbec8dc8]{background:var(--danger-soft);color:var(--danger);box-shadow:none}.boot-bar[data-v-dbec8dc8]{width:120px;height:3px;border-radius:3px;background:#ffffff14;overflow:hidden}.boot-bar span[data-v-dbec8dc8]{display:block;width:40%;height:100%;background:var(--accent-grad);border-radius:3px;animation:slide-dbec8dc8 1.1s ease-in-out infinite}@keyframes slide-dbec8dc8{0%{transform:translate(-100%)}to{transform:translate(260%)}}.shell[data-v-71f77088]{min-height:100vh;display:flex}.sidebar[data-v-71f77088]{position:fixed;inset:0 auto 0 0;z-index:30;width:var(--sidebar-w);display:flex;flex-direction:column;padding:18px 14px;background:var(--bg-soft);border-right:1px solid var(--line)}.brand[data-v-71f77088]{display:flex;align-items:center;gap:12px;padding:4px 8px 22px}.brand-mark[data-v-71f77088]{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--accent-grad);color:#1d1308;box-shadow:0 8px 24px -8px #ee7d55b3,inset 0 1px #fff6}.brand-mark .icon[data-v-71f77088]{width:22px;height:22px;stroke-width:2.2}.brand-text[data-v-71f77088]{display:grid;line-height:1.25}.brand-text strong[data-v-71f77088]{font-size:16px;letter-spacing:.02em}.brand-text small[data-v-71f77088]{font-size:11.5px;color:var(--text-3);letter-spacing:.12em}.nav[data-v-71f77088]{display:grid;gap:2px}.nav-label[data-v-71f77088]{margin:16px 12px 6px;font-size:11.5px;color:var(--text-3);letter-spacing:.1em}.nav-label[data-v-71f77088]:first-child{margin-top:0}.nav-item[data-v-71f77088]{position:relative;display:flex;align-items:center;gap:12px;height:42px;padding:0 12px;border-radius:12px;color:var(--text-2);font-weight:500;transition:background .2s,color .2s}.nav-item[data-v-71f77088]:hover{background:#ffffff0a;color:var(--text)}.nav-item.active[data-v-71f77088]{background:#ffffff12;color:var(--text)}.nav-item.active[data-v-71f77088]:before{content:"";position:absolute;left:-14px;top:11px;bottom:11px;width:3px;border-radius:0 3px 3px 0;background:var(--accent-grad)}.nav-item.active .icon[data-v-71f77088]{color:var(--accent)}.nav-item em[data-v-71f77088]{margin-left:auto;font-style:normal;font-size:10.5px;padding:1px 7px;border-radius:6px;color:var(--text-3);border:1px solid var(--line-2)}.nav-item.soon[data-v-71f77088]:not(.active){color:var(--text-3)}.main[data-v-71f77088]{flex:1;min-width:0;margin-left:var(--sidebar-w);display:flex;flex-direction:column}.topbar[data-v-71f77088]{position:sticky;top:0;z-index:20;height:var(--topbar-h);display:flex;align-items:center;gap:14px;padding:0 28px;background:#0a0b0dc7;backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid var(--line)}.menu[data-v-71f77088]{display:none}.top-title[data-v-71f77088]{margin:0;font-size:15px;font-weight:600}.mock-tag[data-v-71f77088]{height:22px;font-size:11px}.top-right[data-v-71f77088]{margin-left:auto;display:flex;align-items:center;gap:12px}.points-pill[data-v-71f77088]{display:flex;align-items:center;gap:8px;height:36px;padding:0 14px 0 6px;border-radius:999px;background:var(--panel);border:1px solid var(--line-2);font-weight:600;transition:border-color .2s}.points-pill[data-v-71f77088]:hover{border-color:var(--accent-line)}.points-pill .faint[data-v-71f77088]{font-weight:400;font-size:12px}.coin[data-v-71f77088]{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.coin .icon[data-v-71f77088]{width:14px;height:14px}.account[data-v-71f77088]{display:flex;align-items:center;gap:10px;padding-left:12px;border-left:1px solid var(--line)}.acc-avatar[data-v-71f77088]{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:14px;background:linear-gradient(135deg,#3a3d46,#24262d);border:1px solid var(--line-2)}.acc-text[data-v-71f77088]{display:grid;line-height:1.3}.acc-text strong[data-v-71f77088]{font-size:13px;font-weight:600}.acc-text small[data-v-71f77088]{font-size:11.5px;color:var(--text-3)}.content[data-v-71f77088]{flex:1;padding:28px 28px 56px}.scrim[data-v-71f77088]{display:none}@media(max-width:960px){.sidebar[data-v-71f77088]{transform:translate(-100%);transition:transform .3s var(--ease);box-shadow:20px 0 60px #00000080}.nav-open .sidebar[data-v-71f77088]{transform:none}.scrim[data-v-71f77088]{display:block;position:fixed;inset:0;z-index:25;background:#00000080;opacity:0;pointer-events:none;transition:opacity .3s}.nav-open .scrim[data-v-71f77088]{opacity:1;pointer-events:auto}.main[data-v-71f77088]{margin-left:0}.menu[data-v-71f77088]{display:inline-grid;margin-left:-8px}.topbar[data-v-71f77088]{padding:0 16px}.content[data-v-71f77088]{padding:20px 16px 48px}.acc-text[data-v-71f77088]{display:none}}@media(max-width:520px){.mock-tag[data-v-71f77088],.account[data-v-71f77088]{display:none}}:root{--bg: #0a0b0d;--bg-soft: #0f1013;--panel: #141519;--panel-2: #1a1c21;--panel-3: #22242a;--line: rgba(255, 255, 255, .06);--line-2: rgba(255, 255, 255, .1);--line-3: rgba(255, 255, 255, .16);--text: #eeebe6;--text-2: #a9a59e;--text-3: #6f6c67;--accent: #f4b561;--accent-2: #ee7d55;--accent-grad: linear-gradient(135deg, #f8cb78 0%, #f19a5c 55%, #ea7351 100%);--accent-soft: rgba(244, 181, 97, .12);--accent-line: rgba(244, 181, 97, .35);--on-accent: #1d1308;--ok: #5ed39b;--ok-soft: rgba(94, 211, 155, .12);--warn: #f1c35c;--warn-soft: rgba(241, 195, 92, .12);--danger: #ff6f6f;--danger-soft: rgba(255, 111, 111, .12);--info: #7fa8ff;--info-soft: rgba(127, 168, 255, .12);--r-sm: 8px;--r: 12px;--r-lg: 18px;--r-xl: 24px;--shadow: 0 20px 50px -20px rgba(0, 0, 0, .7), 0 0 0 1px var(--line);--ease: cubic-bezier(.2, .8, .2, 1);--sidebar-w: 232px;--topbar-h: 64px;--font: "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", "SF Mono", Consolas, "Cascadia Mono", monospace;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}::selection{background:#f4b5614d}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:10px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:#ffffff29}::-webkit-scrollbar-track{background:transparent}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.mono{font-family:var(--mono)}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{--h: 38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--h);padding:0 16px;border-radius:999px;border:1px solid var(--line-2);background:var(--panel-2);color:var(--text);font-size:14px;font-weight:500;white-space:nowrap;cursor:pointer;user-select:none;transition:background .2s var(--ease),border-color .2s var(--ease),transform .15s var(--ease),opacity .2s,box-shadow .2s}.btn:hover{background:var(--panel-3);border-color:var(--line-3)}.btn:active{transform:scale(.97)}.btn:focus-visible,.icon-btn:focus-visible,.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn[disabled],.btn.is-disabled{opacity:.42;cursor:not-allowed;transform:none}.btn .icon{width:16px;height:16px}.btn-sm{--h: 32px;padding:0 12px;font-size:13px}.btn-lg{--h: 48px;padding:0 26px;font-size:15px}.btn-primary{background:var(--accent-grad);color:var(--on-accent);border-color:transparent;font-weight:600;box-shadow:0 10px 30px -10px #ee7d5599,inset 0 1px #ffffff59}.btn-primary:hover{background:var(--accent-grad);border-color:transparent;filter:brightness(1.06);box-shadow:0 14px 36px -10px #ee7d55bf,inset 0 1px #ffffff59}.btn-primary[disabled]{filter:grayscale(.5);box-shadow:none}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn-ghost:hover{background:#ffffff0d;border-color:transparent;color:var(--text)}.btn-danger{color:var(--danger)}.btn-danger:hover{background:var(--danger-soft);border-color:#ff6f6f4d}.btn-solid-danger{background:var(--danger);color:#2a0707;border-color:transparent;font-weight:600}.btn-solid-danger:hover{background:#ff8585;border-color:transparent}.icon-btn{width:34px;height:34px;border-radius:10px;display:inline-grid;place-items:center;background:transparent;border:1px solid transparent;color:var(--text-2);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.icon-btn:hover{background:#ffffff0f;color:var(--text)}.icon-btn .icon{width:17px;height:17px}.icon-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}.card{background:linear-gradient(180deg,#ffffff06,#fff0 60%),var(--panel);border:1px solid var(--line);border-radius:var(--r-lg)}.field{display:grid;gap:8px}.field-label{font-size:13px;color:var(--text-2);font-weight:500}.input{height:42px;width:100%;padding:0 14px;background:var(--bg-soft);border:1px solid var(--line-2);border-radius:var(--r);outline:none;transition:border-color .2s,box-shadow .2s}.input::placeholder{color:var(--text-3)}.input:focus{border-color:var(--accent-line);box-shadow:0 0 0 4px #f4b5611a}.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;background:#ffffff0f;color:var(--text-2)}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.badge.live .dot{animation:pulse 1.4s ease-in-out infinite}.chip{height:32px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--text-2);font-size:13px;cursor:pointer;transition:all .2s}.chip:hover{color:var(--text);border-color:var(--line-3)}.chip.active{background:var(--text);color:var(--bg);border-color:var(--text);font-weight:600}.divider{height:1px;background:var(--line);border:0;margin:0}.empty{display:grid;justify-items:center;gap:10px;text-align:center;padding:56px 24px;color:var(--text-2)}.empty-title{font-size:16px;color:var(--text);font-weight:600}.skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14,#ffffff0a 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--r)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.page-enter{animation:rise .4s var(--ease) both}.spin{animation:spin 1s linear infinite}.rise{animation:rise .45s var(--ease) both}.fade-enter-active,.fade-leave-active{transition:opacity .25s var(--ease)}.fade-enter-from,.fade-leave-to{opacity:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
