:root{--bg-page: #f0f4f8;--bg-card: #ffffff;--bg-input: #f8fafc;--bg-dark: #0f172a;--border: #e2e8f0;--border-focus: #2563eb;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--text-inverse: #ffffff;--accent: #2563eb;--accent-light: #eff6ff;--accent-dark: #1d4ed8;--red: #dc2626;--green: #16a34a;--gold: #f59e0b;--orange: #ea580c;--cyan: #06b6d4;--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow-md: 0 4px 16px rgba(0,0,0,.08);--shadow-lg: 0 8px 30px rgba(0,0,0,.1);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--font-xs: 13px;--font-sm: 15px;--font-md: 17px;--font-lg: 20px;--font-xl: 26px;--font-xxl: 34px;--card-padding: 16px;--gap-xs: 6px;--gap-sm: 8px;--gap-md: 12px;--gap-lg: 20px;--btn-height: 48px;--header-h: 56px;--safe-bottom: env(safe-area-inset-bottom, 16px)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg-page);color:var(--text-primary);font-size:var(--font-sm);line-height:1.6;-webkit-font-smoothing:antialiased}#app-root{min-height:100vh;padding-bottom:env(safe-area-inset-bottom);max-width:480px;margin:0 auto;background:var(--bg-page);position:relative}button{border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-sm);font-weight:600;transition:all .25s}button:active{transform:scale(.96)}input,textarea,select{font-size:var(--font-sm);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);padding:12px 16px;outline:none;width:100%;box-sizing:border-box;transition:border .3s,box-shadow .3s}input:focus,textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #2563eb1a}.tab-bar{position:fixed;bottom:12px;left:50%;transform:translate(-50%);width:calc(100% - 24px);max-width:440px;z-index:1000}.tab-inner{display:flex;background:rgba(255,255,255,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);padding:6px 8px;box-shadow:var(--shadow-lg);border:1px solid var(--border)}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 0;cursor:pointer;position:relative;transition:all .3s ease;-webkit-tap-highlight-color:transparent}.tab-icon-box{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;transition:all .3s;color:var(--text-muted);margin-bottom:3px;font-size:22px}.tab-icon-box.active{color:#fff;background:var(--accent);box-shadow:0 4px 12px #2563eb4d;transform:translateY(-3px)}.tab-icon-svg{display:flex;align-items:center;justify-content:center;transition:transform .3s}.tab-item:active .tab-icon-svg{transform:scale(.88)}.tab-text{font-size:12px;font-weight:500;color:var(--text-muted);transition:color .3s}.tab-item.active .tab-text{color:var(--accent);font-weight:700}.tab-dot{position:absolute;bottom:-2px;width:6px;height:6px;border-radius:50%;background:var(--accent);animation:dotIn .4s ease}@keyframes dotIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeInUp .5s ease forwards}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.auth-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);background:rgba(220,38,38,.92);color:#fff;padding:12px 24px;border-radius:24px;font-size:14px;font-weight:600;z-index:9999;cursor:pointer;box-shadow:0 4px 16px #dc262659;animation:authToastIn .3s ease;white-space:nowrap}@keyframes authToastIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}
