.ModalDialog.mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px;background:#02040ab8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ModalDialog>.dialog{position:relative;max-width:100%;max-height:86vh;overflow:auto;background:#080b14;border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:0 30px 90px -30px #000000e6,0 0 60px -30px var(--cyan)}.ModalDialog>.dialog>.corner{position:absolute;width:10px;height:10px;border:1px solid var(--cyan);opacity:.75}.ModalDialog>.dialog>.tl{top:-1px;left:-1px;border-right:0;border-bottom:0}.ModalDialog>.dialog>.tr{top:-1px;right:-1px;border-left:0;border-bottom:0}.ModalDialog>.dialog>.bl{bottom:-1px;left:-1px;border-right:0;border-top:0}.ModalDialog>.dialog>.br{bottom:-1px;right:-1px;border-left:0;border-top:0}.ModalDialog>.dialog>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}.ModalDialog>.dialog>header>h3{margin:0;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.ModalDialog .x{border:0;background:transparent;color:var(--text-faint);cursor:pointer;font-size:13px;padding:2px 4px;transition:color .16s ease}.ModalDialog .x:hover{color:var(--rose)}.ModalDialog>.dialog>.body{padding:16px;display:flex;flex-direction:column;gap:14px}.ModalDialog>.dialog>footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}.TechButton.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:2px;border:1px solid var(--line-strong);background:transparent;color:var(--text);cursor:pointer;white-space:nowrap;transition:all .18s ease;overflow:hidden}.TechButton.s-md{padding:7px 14px;font-size:13px}.TechButton.s-sm{padding:4px 10px;font-size:12px}.TechButton.btn:disabled{opacity:.45;cursor:not-allowed}.TechButton.btn:not(:disabled):hover{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 18px -6px var(--cyan)}.TechButton.btn:not(:disabled):after{content:"";position:absolute;top:0;left:0;width:30%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);transform:translate(-120%)}.TechButton.btn:not(:disabled):hover:after{animation:sweep .7s ease}.TechButton.v-primary{border-color:#22d3ee80;background:linear-gradient(180deg,#22d3ee29,#22d3ee0f);color:#a5f3fc}.TechButton.v-danger{border-color:#fb718573;color:#fda4af}.TechButton.v-danger:not(:disabled):hover{border-color:var(--rose);color:var(--rose);box-shadow:0 0 18px -6px var(--rose)}.TechButton.v-subtle{border-color:transparent;color:var(--text-dim)}.TechButton.v-subtle:not(:disabled):hover{border-color:var(--line);background:var(--panel-strong)}.TechButton .spinner{width:11px;height:11px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.TechField.field{display:flex;flex-direction:column;gap:5px;min-width:0}.TechField.field>.label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.TechField.field>.hint{font-size:11px;color:var(--text-faint)}.TechField.field input,.TechField.field select,.TechField.field textarea{width:100%;padding:7px 10px;border-radius:2px;border:1px solid var(--line);background:#03060e9e;color:var(--text);font-family:var(--font-mono);font-size:13px;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.TechField.field input:focus,.TechField.field select:focus,.TechField.field textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #22d3ee1a}.TechField.field input::placeholder{color:var(--text-faint)}.TechField.field select{cursor:pointer;font-family:var(--font-sans)}.TechField.field option{background:#080b14}.AppLayout.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:minmax(0,1fr);height:100%;overflow:hidden;transition:grid-template-columns .28s cubic-bezier(.22,1,.36,1)}.AppLayout.shell.collapsed{grid-template-columns:62px 1fr}.AppLayout .side{position:relative;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:#04070eb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.AppLayout .brand{display:flex;align-items:center;gap:10px;height:var(--header-h);padding:0 14px;border-bottom:1px solid var(--line);overflow:hidden}.AppLayout>.side>.brand>.mark{flex-shrink:0;width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(34,211,238,.35))}.AppLayout .names{display:flex;flex-direction:column;line-height:1.25;white-space:nowrap}.AppLayout .names strong{font-size:13px;letter-spacing:.16em}.AppLayout .names small{font-size:10.5px;color:var(--text-faint)}.AppLayout nav{position:relative;padding:10px 8px;display:flex;flex-direction:column;gap:0;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.AppLayout .indicator{position:absolute;left:8px;right:8px;top:10px;height:38px;border-radius:3px;background:linear-gradient(90deg,#22d3ee29,#22d3ee05);border-left:2px solid var(--cyan);box-shadow:inset 0 0 24px -12px var(--cyan);transition:transform .3s cubic-bezier(.22,1,.36,1);pointer-events:none}.AppLayout .nav-item{position:relative;z-index:1;display:flex;align-items:center;gap:11px;height:38px;margin-bottom:4px;padding:0 12px;border-radius:3px;color:var(--text-dim);font-size:13px;white-space:nowrap;transition:color .18s ease}.AppLayout .nav-item:hover{color:var(--text)}.AppLayout .nav-item.router-link-active{color:#a5f3fc}.AppLayout .nav-item>.glyph{width:14px;text-align:center;font-size:13px;opacity:.9}.AppLayout .collapse{margin-top:auto;height:34px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text-faint);cursor:pointer;font-size:13px;transition:color .18s ease,background .18s ease}.AppLayout .collapse:hover{color:var(--cyan);background:#22d3ee0d}.AppLayout .main{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%}.AppLayout .topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--header-h);padding:0 20px;border-bottom:1px solid var(--line);background:#04070e99;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex-shrink:0}.AppLayout .crumb{font-size:13px;letter-spacing:.04em}.AppLayout .right{display:flex;align-items:center;gap:14px}.AppLayout .clock{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--text-dim)}.AppLayout .live{width:6px;height:6px;border-radius:50%;background:var(--emerald);box-shadow:0 0 10px var(--emerald);animation:pulse-dot 1.8s ease-in-out infinite}.AppLayout .user{display:flex;align-items:center;gap:8px;padding-left:14px;border-left:1px solid var(--line)}.AppLayout .avatar{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line-strong);background:#22d3ee1a;color:var(--cyan);font-size:12px;font-weight:600;text-transform:uppercase}.AppLayout .who{display:flex;flex-direction:column;line-height:1.2}.AppLayout .who strong{font-size:12.5px}.AppLayout .who small{font-size:10px;color:var(--text-faint);letter-spacing:.06em}.AppLayout .content{position:relative;flex:1;min-height:0;overflow-y:auto;padding:20px}.ToastHost.host{position:fixed;top:calc(var(--header-h) + 14px);right:18px;z-index:200;display:flex;flex-direction:column;gap:8px;pointer-events:none}.ToastHost .toast{pointer-events:auto;position:relative;display:flex;align-items:center;gap:9px;min-width:240px;max-width:380px;padding:10px 14px 10px 16px;background:#0b0f1a;border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:0 16px 40px -14px #000000f2,0 0 30px -18px currentColor;font-size:13px;cursor:pointer;animation:toast-enter .28s cubic-bezier(.22,1,.36,1);transition:opacity .28s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1)}.ToastHost .toast.leaving{opacity:0;transform:translate(26px);pointer-events:none}.ToastHost .bar{position:absolute;left:0;top:0;bottom:0;width:2px;background:currentColor;box-shadow:0 0 12px currentColor}.ToastHost .icon{font-size:12px;font-weight:700;color:currentColor}.ToastHost .text{color:var(--text)}.ToastHost .info{color:var(--blue)}.ToastHost .success{color:var(--emerald)}.ToastHost .error{color:var(--rose)}@keyframes toast-enter{0%{opacity:0;transform:translate(26px)}}:root{--bg: #05070d;--bg-soft: #080b14;--panel: rgba(255, 255, 255, .032);--panel-strong: rgba(255, 255, 255, .055);--line: rgba(120, 200, 255, .14);--line-strong: rgba(120, 200, 255, .32);--text: #dbe6f4;--text-dim: #7d8ba3;--text-faint: #4d5871;--cyan: #22d3ee;--violet: #a78bfa;--amber: #fbbf24;--emerald: #34d399;--rose: #fb7185;--blue: #60a5fa;--radius: 4px;--sidebar-w: 224px;--header-h: 60px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;color-scheme:dark}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background:radial-gradient(900px 600px at 12% -8%,rgba(34,211,238,.12),transparent 60%),radial-gradient(800px 500px at 92% 4%,rgba(167,139,250,.1),transparent 60%),radial-gradient(700px 700px at 50% 110%,rgba(96,165,250,.07),transparent 60%)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:linear-gradient(rgba(120,200,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(120,200,255,.045) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 120% 90% at 50% 0%,#000 35%,transparent 78%);mask-image:radial-gradient(ellipse 120% 90% at 50% 0%,#000 35%,transparent 78%)}a{color:inherit;text-decoration:none}button{font-family:inherit}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#78c8ff29;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#78c8ff4d}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.82)}}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(320%)}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}.fade-up{animation:fade-up .32s cubic-bezier(.22,1,.36,1) both}.view-enter-active{transition:opacity .24s ease,transform .24s cubic-bezier(.22,1,.36,1)}.view-enter-from{opacity:0;transform:translateY(10px)}.view-leave-active{transition:opacity .12s ease;position:absolute;top:0;right:0;bottom:0;left:0}.view-leave-to{opacity:0}
