html,body,#app,.app-root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;background-color:var(--bg-body);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}:root{--bg-body: #f5f5f7;--bg-card: rgba(255, 255, 255, .72);--bg-card-solid: #ffffff;--bg-header: rgba(255, 255, 255, .6);--bg-sider: rgba(245, 245, 247, .5);--bg-input: rgba(255, 255, 255, .8);--bg-hover: rgba(0, 0, 0, .04);--bg-active: rgba(0, 122, 255, .1);--bg-select: rgba(255, 255, 255, .5);--primary-color: #007aff;--primary-hover: #0066d6;--primary-light: rgba(0, 122, 255, .08);--text-primary: #1d1d1f;--text-secondary: #86868b;--text-tertiary: #aeaeb2;--text-inverse: #ffffff;--text-link: #007aff;--border-color: rgba(0, 0, 0, .08);--border-input: rgba(0, 0, 0, .1);--border-header: rgba(0, 0, 0, .06);--color-success: #34c759;--color-warning: #ff9500;--color-danger: #ff3b30;--color-info: #5ac8fa;--chart-line: #0a84ff;--chart-area-start: rgba(0, 122, 255, .35);--chart-area-end: rgba(0, 122, 255, .02);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .04);--shadow-card-hover: 0 2px 8px rgba(0, 0, 0, .06), 0 8px 32px rgba(0, 0, 0, .06);--shadow-login: 0 20px 60px rgba(0, 0, 0, .12), 0 4px 16px rgba(0, 0, 0, .06);--shadow-popover: 0 4px 24px rgba(0, 0, 0, .1), 0 1px 4px rgba(0, 0, 0, .06);--shadow-focus: 0 0 0 4px rgba(0, 122, 255, .15);--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-pill: 999px;--blur-header: saturate(180%) blur(20px);--blur-sidebar: saturate(180%) blur(24px);--blur-card: saturate(180%) blur(12px);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--vwd-primary: #007aff;--vwd-primary-hover: #0066d6;--vwd-text: #1d1d1f;--vwd-text-secondary: #86868b;--vwd-bg: #ffffff;--vwd-bg-input: #ffffff;--vwd-bg-secondary: #f5f5f7;--vwd-bg-reply: #f5f5f7;--vwd-bg-hover: rgba(0, 0, 0, .04);--vwd-bg-disabled: #f5f5f7;--vwd-bg-avatar: #f5f5f7;--vwd-border: rgba(0, 0, 0, .08);--vwd-border-light: rgba(0, 0, 0, .05);--vwd-error: #ff3b30;--vwd-bg-error: rgba(255, 59, 48, .08);--vwd-border-error: #ff3b30;--vwd-radius: 10px}:root.dark{--bg-body: #1c1c1e;--bg-card: rgba(44, 44, 46, .72);--bg-card-solid: #2c2c2e;--bg-header: rgba(44, 44, 46, .6);--bg-sider: rgba(28, 28, 30, .5);--bg-input: rgba(58, 58, 60, .6);--bg-hover: rgba(255, 255, 255, .06);--bg-active: rgba(10, 132, 255, .18);--bg-select: rgba(58, 58, 60, .5);--primary-color: #0a84ff;--primary-hover: #409cff;--primary-light: rgba(10, 132, 255, .12);--text-primary: #f5f5f7;--text-secondary: #98989d;--text-tertiary: #636366;--text-inverse: #ffffff;--text-link: #0a84ff;--border-color: rgba(255, 255, 255, .1);--border-input: rgba(255, 255, 255, .12);--border-header: rgba(255, 255, 255, .06);--color-success: #30d158;--color-warning: #ff9f0a;--color-danger: #ff453a;--color-info: #64d2ff;--chart-line: #0a84ff;--chart-area-start: rgba(10, 132, 255, .3);--chart-area-end: rgba(10, 132, 255, .02);--shadow-card: 0 1px 3px rgba(0, 0, 0, .2), 0 4px 16px rgba(0, 0, 0, .15);--shadow-card-hover: 0 2px 8px rgba(0, 0, 0, .25), 0 8px 32px rgba(0, 0, 0, .2);--shadow-login: 0 20px 60px rgba(0, 0, 0, .4), 0 4px 16px rgba(0, 0, 0, .2);--shadow-popover: 0 4px 24px rgba(0, 0, 0, .3), 0 1px 4px rgba(0, 0, 0, .2);--shadow-focus: 0 0 0 4px rgba(10, 132, 255, .2);--vwd-primary: #0a84ff;--vwd-primary-hover: #409cff;--vwd-text: #f5f5f7;--vwd-text-secondary: #98989d;--vwd-bg: #1c1c1e;--vwd-bg-input: #2c2c2e;--vwd-bg-secondary: #2c2c2e;--vwd-bg-reply: #2c2c2e;--vwd-bg-hover: rgba(255, 255, 255, .06);--vwd-bg-disabled: #2c2c2e;--vwd-bg-avatar: #2c2c2e;--vwd-border: rgba(255, 255, 255, .1);--vwd-border-light: rgba(255, 255, 255, .06);--vwd-error: #ff453a;--vwd-bg-error: rgba(255, 69, 58, .12);--vwd-border-error: #ff453a}a,button{-webkit-tap-highlight-color:transparent}.toast{position:fixed;top:24px;left:50%;min-width:240px;max-width:360px;padding:14px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500;box-shadow:var(--shadow-popover);backdrop-filter:var(--blur-card);-webkit-backdrop-filter:var(--blur-card);z-index:1000;opacity:0;transform:translate(-50%,-12px);animation:toast-slide-in .3s cubic-bezier(.4,0,.2,1) forwards;display:flex;align-items:center;gap:8px}.toast-success{background-color:#34c759eb;color:#fff}.toast-error{background-color:#ff3b30eb;color:#fff}@keyframes toast-slide-in{0%{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%)}}.page{display:flex;flex-direction:column;gap:16px;position:relative}.page-title{margin:0;font-size:22px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.page-hint{font-size:14px;color:var(--text-secondary)}.page-error{font-size:14px;color:var(--color-danger)}.card{background-color:var(--bg-card);backdrop-filter:var(--blur-card);-webkit-backdrop-filter:var(--blur-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:18px 22px;box-shadow:var(--shadow-card);transition:box-shadow var(--transition-base)}.card-header{display:flex;justify-content:space-between;align-items:center;padding:4px 0;transition:background-color var(--transition-fast)}.card-title{margin:0;font-size:17px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.card-subtitle{margin:0 0 12px;font-size:15px;font-weight:600;color:var(--text-primary)}.card-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.card-button{padding:8px 18px;border-radius:var(--radius-md);border:none;background-color:var(--primary-color);color:var(--text-inverse);font-size:14px;font-weight:500;cursor:pointer;min-width:100px;transition:all var(--transition-fast)}.card-button:not(:disabled):hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px #007aff40}.card-button:not(:disabled):active{transform:translateY(0);box-shadow:none}.card-button.secondary{background-color:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-color)}.card-button.secondary:hover{background-color:var(--bg-hover);box-shadow:none}.card-button:disabled{opacity:.5;cursor:default;transform:none!important}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-desc{font-size:14px;color:var(--text-secondary);line-height:1.5}
