:root{--bg:#f5f6fb;--surface:#fff;--surface-2:#f0f2f9;--surface-3:#e8eaf4;--text:#171a27;--text-2:#4e546e;--muted:#7b819c;--border:#e5e7f1;--border-strong:#d7dae9;--brand:#5b5bd6;--brand-2:#8b5cf6;--brand-3:#4f46e5;--brand-soft:#ecebff;--brand-softer:#f5f4ff;--danger:#e5484d;--danger-soft:#fff0f0;--success:#12a594;--warning:#f5a524;--shadow-sm:0 1px 2px #181b300d, 0 4px 14px #181b300a;--shadow-md:0 12px 36px #1c1f3c1a;--shadow-lg:0 28px 70px #1c1f3c29;--radius-sm:10px;--radius:16px;--radius-lg:24px;--sidebar-w:264px;--font:"Inter", "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{font-family:var(--font);color:var(--text);background:radial-gradient(1200px 620px at 102% -12%, #8b5cf61f, transparent 60%), radial-gradient(900px 520px at -8% 108%, #38bdf81f, transparent 55%), var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}::selection{background:#5b5bd633}.btn{background:var(--surface-2);height:40px;color:var(--text-2);white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:13.5px;font-weight:600;transition:transform .16s,background .16s,border-color .16s,box-shadow .16s,color .16s;display:inline-flex}.btn:hover{background:var(--surface-3)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--brand) 0%, var(--brand-2) 100%);color:#fff;box-shadow:0 8px 20px #5b5bd63d}.btn-primary:hover{background:linear-gradient(135deg, var(--brand-3) 0%, #7c4df0 100%);box-shadow:0 10px 26px #5b5bd652}.btn-ghost{border-color:var(--border);color:var(--text-2);background:0 0}.btn-ghost:hover{background:var(--surface);border-color:var(--border-strong)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#d63a3f}.btn-sm{border-radius:10px;height:34px;padding:0 12px;font-size:12.5px}.icon-btn{width:38px;height:38px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;transition:all .16s;display:inline-flex}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn.is-active{background:var(--brand-soft);color:var(--brand)}.input{border:1px solid var(--border);background:var(--surface);border-radius:12px;outline:none;width:100%;height:44px;padding:0 14px;font-size:14px;transition:border-color .16s,box-shadow .16s}.input::placeholder{color:#a1a6bd}.input:focus{border-color:#5b5bd68c;box-shadow:0 0 0 4px #5b5bd61a}.field{flex-direction:column;gap:8px;display:flex}.field label{color:var(--text-2);font-size:12.5px;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.spinner{border:2px solid #5b5bd62e;border-top-color:var(--brand);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.spinner.white{border-color:#fff #ffffff59 #ffffff59}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.fade-up{animation:.35s both fade-up}*{scrollbar-width:thin;scrollbar-color:#cfd3e3 transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#cfd3e3 padding-box padding-box;border:2px solid #0000;border-radius:10px}::-webkit-scrollbar-track{background:0 0}.app-shell{min-height:100vh;display:flex}.app-main{min-width:0;margin-left:var(--sidebar-w);flex:1;padding:30px 34px 64px}.app-loading{min-height:100vh;color:var(--muted);place-items:center;gap:14px;font-size:13px;display:grid}.app-loading .mark{background:linear-gradient(135deg, var(--brand), var(--brand-2));color:#fff;border-radius:16px;place-items:center;width:52px;height:52px;display:grid;box-shadow:0 14px 30px #5b5bd647}@media (width<=900px){.app-main{margin-left:0;padding:82px 18px 48px}}.toast-host.svelte-53xc05{z-index:120;pointer-events:none;flex-direction:column;gap:10px;max-width:min(380px,100vw - 32px);display:flex;position:fixed;top:22px;right:22px}.toast.svelte-53xc05{pointer-events:auto;color:#fff;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#171a27f0;border-radius:13px;align-items:center;gap:10px;padding:11px 12px;font-size:13px;line-height:1.45;animation:.28s cubic-bezier(.2,.9,.3,1.2) both svelte-53xc05-toast-in;display:flex}.toast-icon.svelte-53xc05{background:#ffffff1f;border-radius:8px;flex:none;place-items:center;width:26px;height:26px;display:grid}.toast.success.svelte-53xc05 .toast-icon:where(.svelte-53xc05){color:#5eead4;background:#12a59438}.toast.error.svelte-53xc05 .toast-icon:where(.svelte-53xc05){color:#ff9b9e;background:#e5484d38}.toast.info.svelte-53xc05 .toast-icon:where(.svelte-53xc05){color:#c4b5fd;background:#8b5cf63d}.toast-message.svelte-53xc05{flex:1}.toast-close.svelte-53xc05{color:#fff9;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;width:24px;height:24px;display:grid}.toast-close.svelte-53xc05:hover{color:#fff;background:#ffffff1f}@keyframes svelte-53xc05-toast-in{0%{opacity:0;transform:translate(16px)scale(.96)}to{opacity:1;transform:none}}
