:root{--radius:10px;--radius-xs:calc(var(--radius) - 6px);--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 2px);--radius-2xl:calc(var(--radius) + 4px);--radius-full:999px;--background:#ffffff;--foreground:#17181c;--primary:#5b5ff7;--primary-foreground:#ffffff;--secondary:#f7f8fa;--muted:#f7f8fa;--muted-foreground:#5c6270;--subtle-foreground:#686d7b;--accent:#eef0f4;--destructive:#e5484d;--success:#16a34a;--border:#ecedf3;--input:#dcdfe8;--ring:#5b5ff7;--ring-weak:#eef0ff;--brand-text:#5155e8;--danger-text:#bf3035;--danger:#e5484d;--brand-border:#d7d9f6;--success-text:#127538;--warning:#a86400;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--app-shell:#f5f6fa;--page-canvas:#fbfbfd;--surface:#ffffff;--surface-raised:#ffffff;--surface-hover:#f6f7f9;--surface-selected:#edeff4;--shadow-surface:0 1px 2px rgba(19,21,28,0.045),0 1px 1px rgba(19,21,28,0.03);--shadow-menu:0 8px 24px rgba(19,21,28,0.08),0 2px 6px rgba(19,21,28,0.05);--shadow-floating:0 16px 40px rgba(19,21,28,0.14),0 3px 10px rgba(19,21,28,0.08);--scrollbar-thumb:rgba(19,21,28,0.18);--scrollbar-thumb-hover:rgba(19,21,28,0.32);--ease:cubic-bezier(0.16,1,0.3,1)}body,html{margin:0;padding:0;font-family:-apple-system,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;font-size:14px;color:var(--foreground);background:var(--page-canvas);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}button{font:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full);border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.login-stage{height:100dvh;display:grid;place-items:center;background:var(--app-shell)}.login-card{width:380px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-floating);padding:32px}.login-brand{display:flex;align-items:center;gap:9px;font-size:18px;font-weight:700;letter-spacing:-.011em;margin-bottom:4px}.login-badge{width:26px;height:26px;border-radius:var(--radius-md);background:var(--primary);color:var(--primary-foreground);font-size:14px;display:grid;place-items:center}.login-hint{margin:0 0 22px;color:var(--muted-foreground);font-size:12.5px;line-height:1.7}.login-label{font-size:13px;font-weight:500;margin-bottom:14px}.login-input,.login-label{display:block;color:var(--foreground)}.login-input{width:100%;height:36px;margin-top:5px;padding:0 12px;border:1px solid var(--input);border-radius:var(--radius-md);background:var(--surface);font-size:14px;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.login-input::placeholder{color:var(--subtle-foreground)}.login-input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px var(--ring-weak)}.login-err{gap:6px;color:var(--danger-text);font-size:13px;margin-bottom:10px}.login-btn,.login-err{display:flex;align-items:center}.login-btn{justify-content:center;gap:8px;width:100%;height:38px;border:none;border-radius:var(--radius-md);background:var(--primary);color:var(--primary-foreground);font-size:14px;font-weight:500;cursor:pointer;transition:filter .18s var(--ease)}.login-btn:hover{filter:brightness(1.06)}.login-btn:active{transform:scale(.985)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring-weak)}.wb-spin{animation:wb-rotate 1s linear infinite}@keyframes wb-rotate{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.wb-spin{animation:none}}