.toast-move[data-v-6d08e7fc]{transition:transform .25s ease}.guide[data-v-8cb73e64]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:6px 4px}.g-art[data-v-8cb73e64]{margin-bottom:4px}.g-badge[data-v-8cb73e64]{width:76px;height:76px;border-radius:24px;display:grid;place-items:center;color:#fff;transition:background .3s}.g-badge.s0[data-v-8cb73e64]{background:var(--accent-grad)}.g-badge.s1[data-v-8cb73e64]{background:linear-gradient(135deg,#3b82f6,#06b6d4)}.g-badge.s2[data-v-8cb73e64]{background:linear-gradient(135deg,#10b981,#14b8a6)}h3[data-v-8cb73e64]{font-size:18px}.g-desc[data-v-8cb73e64]{color:var(--muted);font-size:13.5px;line-height:1.75;max-width:380px}.g-tips[data-v-8cb73e64]{display:flex;flex-direction:column;gap:9px;margin-top:6px;align-items:flex-start}.tip-item[data-v-8cb73e64]{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--text);background:var(--surface-2);padding:9px 14px;border-radius:11px}.tip-item svg[data-v-8cb73e64]{color:var(--accent);flex:none}.g-dots[data-v-8cb73e64]{display:flex;gap:7px;margin-top:12px}.g-dots span[data-v-8cb73e64]{width:8px;height:8px;border-radius:50%;background:var(--border);transition:all .2s}.g-dots span.on[data-v-8cb73e64]{background:var(--accent);width:20px;border-radius:999px}.boot-splash[data-v-ef59ea2e]{height:100vh;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;color:var(--muted);font-size:14px}.boot-splash p[data-v-ef59ea2e]{animation:pulse-ef59ea2e 1.2s ease-in-out infinite}@keyframes pulse-ef59ea2e{50%{opacity:.4}}:root{--accent: #6366f1;--accent-2: #8b5cf6;--accent-soft: rgba(99, 102, 241, .1);--accent-grad: linear-gradient(135deg, #6366f1, #8b5cf6);--bg: #f4f5fa;--surface: #ffffff;--surface-2: #f8f9fc;--text: #1b1e29;--muted: #6a7086;--faint: #9aa0b4;--border: #e6e8f0;--border-strong: #d5d8e5;--danger: #ef4444;--warn: #f59e0b;--ok: #10b981;--info: #3b82f6;--shadow-sm: 0 1px 2px rgba(23, 26, 43, .05);--shadow-md: 0 2px 6px rgba(23, 26, 43, .05), 0 12px 32px rgba(23, 26, 43, .07);--shadow-lg: 0 8px 20px rgba(23, 26, 43, .1), 0 24px 60px rgba(23, 26, 43, .12);--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 22px;--sidebar-w: 264px;--font: "Inter", "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, -apple-system, sans-serif;color-scheme:light}[data-theme=dark]{--bg: #0e1016;--surface: #161924;--surface-2: #1b1f2d;--text: #e9ebf3;--muted: #8f95ab;--faint: #5d637a;--border: #262b3d;--border-strong: #343a52;--accent-soft: rgba(99, 102, 241, .16);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 6px rgba(0, 0, 0, .3), 0 12px 32px rgba(0, 0, 0, .35);--shadow-lg: 0 8px 20px rgba(0, 0, 0, .4), 0 24px 60px rgba(0, 0, 0, .5);color-scheme:dark}[data-accent=indigo]{--accent: #6366f1;--accent-2: #8b5cf6;--accent-soft: rgba(99, 102, 241, .12);--accent-grad: linear-gradient(135deg, #6366f1, #8b5cf6)}[data-accent=blue]{--accent: #3b82f6;--accent-2: #06b6d4;--accent-soft: rgba(59, 130, 246, .12);--accent-grad: linear-gradient(135deg, #3b82f6, #06b6d4)}[data-accent=emerald]{--accent: #10b981;--accent-2: #14b8a6;--accent-soft: rgba(16, 185, 129, .12);--accent-grad: linear-gradient(135deg, #10b981, #14b8a6)}[data-accent=rose]{--accent: #f43f5e;--accent-2: #fb7185;--accent-soft: rgba(244, 63, 94, .12);--accent-grad: linear-gradient(135deg, #f43f5e, #fb7185)}[data-accent=amber]{--accent: #f59e0b;--accent-2: #f97316;--accent-soft: rgba(245, 158, 11, .14);--accent-grad: linear-gradient(135deg, #f59e0b, #f97316)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font);font-size:14.5px;line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow:hidden}#app{height:100vh}h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.01em}p{margin:0}a{color:var(--accent);text-decoration:none}button{font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;border-radius:var(--r-md);border:1px solid transparent;font-size:14px;font-weight:560;cursor:pointer;user-select:none;transition:all .16s ease;white-space:nowrap;background:transparent;color:var(--text)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-grad);color:#fff;box-shadow:0 2px 10px #6366f159}.btn-primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.btn-soft{background:var(--accent-soft);color:var(--accent)}.btn-soft:hover:not(:disabled){filter:brightness(1.05)}.btn-ghost{border-color:var(--border);background:var(--surface);color:var(--text)}.btn-ghost:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}.btn-danger{background:#ef44441a;color:var(--danger)}.btn-danger:hover:not(:disabled){background:#ef444429}.btn-sm{padding:6px 11px;font-size:13px;border-radius:9px}.btn-lg{padding:12px 22px;font-size:15px;border-radius:14px}.btn-icon{padding:7px;border-radius:10px;color:var(--muted)}.btn-icon:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.btn-icon.danger:hover{background:#ef44441a;color:var(--danger)}.input,.select,.textarea{width:100%;padding:10px 13px;border-radius:var(--r-md);border:1.5px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3.5px var(--accent-soft)}.input::placeholder,.textarea::placeholder{color:var(--faint)}.textarea{resize:vertical;min-height:90px;line-height:1.6}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236a7086' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:15px}.label{font-size:13px;font-weight:600;color:var(--muted)}.hint{font-size:12.5px;color:var(--faint)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:560;background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.chip-accent{background:var(--accent-soft);color:var(--accent);border-color:transparent}.chip-warn{background:#f59e0b1f;color:var(--warn);border-color:transparent}.chip-danger{background:#ef44441a;color:var(--danger);border-color:transparent}.chip-ok{background:#10b9811f;color:var(--ok);border-color:transparent}.switch{position:relative;width:40px;height:23px;border-radius:999px;background:var(--border-strong);cursor:pointer;transition:background .18s;flex:none}.switch:after{content:"";position:absolute;top:2.5px;left:2.5px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .18s;box-shadow:0 1px 3px #00000040}.switch.on{background:var(--accent)}.switch.on:after{transform:translate(17px)}.checkbox{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:13.5px;color:var(--text);user-select:none}.checkbox .box{width:18px;height:18px;border-radius:6px;border:1.5px solid var(--border-strong);display:grid;place-items:center;transition:all .15s;flex:none;background:var(--surface)}.checkbox.checked .box{background:var(--accent);border-color:var(--accent)}.checkbox .box svg{stroke:#fff;opacity:0;transition:opacity .12s}.checkbox.checked .box svg{opacity:1}input[type=range]{-webkit-appearance:none;width:100%;height:5px;border-radius:999px;background:var(--border-strong);outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);border:3px solid var(--surface);box-shadow:0 1px 5px #00000040;cursor:pointer}.modal-backdrop{position:fixed;inset:0;background:#0a0c1673;backdrop-filter:blur(4px);z-index:90;display:grid;place-items:center;padding:24px;animation:fadeIn .18s ease}.modal{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);width:100%;max-width:560px;max-height:calc(100vh - 80px);display:flex;flex-direction:column;animation:popIn .22s cubic-bezier(.2,.9,.3,1.2);border:1px solid var(--border)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.modal-head h3{font-size:17px}.modal-body{padding:18px 24px 24px;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px 20px;border-top:1px solid var(--border)}@keyframes fadeIn{0%{opacity:0}}@keyframes popIn{0%{opacity:0;transform:scale(.96) translateY(8px)}}.toasts{position:fixed;bottom:22px;right:22px;display:flex;flex-direction:column;gap:10px;z-index:200}.toast{display:flex;align-items:center;gap:10px;padding:12px 18px;background:var(--surface);border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow-lg);font-size:13.5px;font-weight:530;animation:toastIn .25s cubic-bezier(.2,.9,.3,1.15);max-width:340px}.toast svg{flex:none}.toast.ok svg{color:var(--ok)}.toast.err svg{color:var(--danger)}.toast.info svg{color:var(--info)}@keyframes toastIn{0%{opacity:0;transform:translate(30px)}}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 24px;text-align:center}.empty .art{width:76px;height:76px;border-radius:24px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent)}.empty h4{font-size:15.5px}.empty p{color:var(--muted);font-size:13px;max-width:300px}@keyframes shimmer{to{background-position:-200% 0}}.skeleton{border-radius:8px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 37%,var(--surface-2) 63%);background-size:200% 100%;animation:shimmer 1.3s infinite}.field-row{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--r-md);transition:background .12s}.field-row:hover{background:var(--surface-2)}.field-row .f-label{width:76px;flex:none;font-size:12.5px;font-weight:600;color:var(--faint)}.field-row .f-value{flex:1;min-width:0;font-size:14px;word-break:break-all}.field-row .mono{font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:13.5px}.pw-mask{letter-spacing:2px}.fade-enter-active,.fade-leave-active{transition:opacity .18s ease,transform .18s ease}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(6px)}.slide-enter-active,.slide-leave-active{transition:all .22s cubic-bezier(.2,.9,.3,1.05)}.slide-enter-from,.slide-leave-to{opacity:0;transform:translate(24px)}.app-shell{display:flex;height:100vh;overflow:hidden}.bottom-nav{display:none}@media(max-width:860px){.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--surface);border-top:1px solid var(--border);padding:6px 10px calc(6px + env(safe-area-inset-bottom));justify-content:space-around}.bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;color:var(--muted);background:none;border:none;cursor:pointer;padding:5px 14px;border-radius:12px;font-family:inherit}.bottom-nav a.active,.bottom-nav button.active{color:var(--accent);background:var(--accent-soft)}}.auth-bg{position:fixed;inset:0;overflow:hidden;z-index:-1;background:var(--bg)}.auth-bg:before{content:"";position:absolute;width:900px;height:900px;border-radius:50%;background:var(--accent-grad);opacity:.13;filter:blur(120px);top:-350px;right:-200px}.auth-bg:after{content:"";position:absolute;width:700px;height:700px;border-radius:50%;background:var(--accent-2);opacity:.09;filter:blur(110px);bottom:-300px;left:-180px}.logo-mark{width:34px;height:34px;border-radius:10px;background:var(--accent-grad);display:grid;place-items:center;flex:none;box-shadow:0 3px 10px #6366f159}.logo-mark svg{stroke:#fff}.logo-mark.lg{width:54px;height:54px;border-radius:16px}.totp-ring{position:relative;display:grid;place-items:center}.totp-ring svg.ring{position:absolute;transform:rotate(-90deg)}@media(max-width:860px){body{overflow:auto}#app,.app-shell{height:auto;min-height:100vh}.modal{max-width:100%}.toasts{left:16px;right:16px;bottom:90px}.toast{max-width:none}}
