:root,[data-theme=dark]{--bg: #0b1220;--bg-elevated: #121a2b;--bg-card: #151e32;--bg-input: #101828;--text: #ffffff;--text-secondary: #c5cddf;--text-muted: #8b97b3;--border: #2a354d;--border-strong: #3a4866;--primary: #2f6bff;--primary-hover: #3d7aff;--primary-dim: rgba(47, 107, 255, .28);--danger: #ff4d4f;--accent-pink: #ff5b8a;--up: #19c37d;--down: #f6465d;--tab-bar: #0e1626;--input-bg: #101828;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--input-h: 48px;--btn-h: 48px;--shadow: 0 8px 24px rgba(0, 0, 0, .35)}[data-theme=light]{--bg: #f4f6fb;--bg-elevated: #ffffff;--bg-card: #ffffff;--bg-input: #ffffff;--text: #152038;--text-secondary: #3d4a63;--text-muted: #6b778f;--border: #d9e0ef;--border-strong: #b8c3da;--primary: #2f6bff;--primary-hover: #3d7aff;--primary-dim: rgba(47, 107, 255, .16);--danger: #e53e3e;--accent-pink: #e83e7a;--up: #0f9d58;--down: #d93025;--tab-bar: #ffffff;--input-bg: #ffffff;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--input-h: 48px;--btn-h: 48px;--shadow: 0 8px 24px rgba(21, 32, 56, .08)}*{box-sizing:border-box;margin:0;padding:0}html,body,#app,.app-root{min-height:100%;background:var(--bg);color:var(--text);font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}ul{list-style:none}img{max-width:100%;display:block}.page{min-height:100vh;padding-bottom:calc(64px + env(safe-area-inset-bottom));background:var(--bg)}.up{color:var(--up)!important}.down{color:var(--down)!important}.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.auth-page{min-height:100vh;background:var(--bg);padding-bottom:40px}.auth-hdr{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:14px 12px 8px}.auth-hdr h1{text-align:center;font-size:18px;font-weight:700}.auth-hdr .x{width:36px;height:36px;display:grid;place-items:center;color:var(--text-muted);font-size:18px}.auth-tabs{display:flex;gap:28px;padding:6px 20px 0;border-bottom:1px solid var(--border);margin-bottom:18px}.auth-tabs button{position:relative;color:var(--text-muted);font-weight:600;font-size:15px;padding:10px 2px 12px}.auth-tabs button.on{color:var(--text)}.auth-tabs button.on:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--primary);border-radius:2px}.auth-form{padding:0 16px;display:flex;flex-direction:column;gap:14px}
