:root{--primary:#ff6b6b;--primary-light:#ff8e8e;--primary-dark:#e85555;--secondary:#4ecdc4;--secondary-light:#6fd9d1;--text-primary:#333;--text-secondary:#666;--text-hint:#999;--divider:#eee;--bg-warm-white:#fff9f0;--bg-white:#fff;--bg-card:#fff;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001f}*{box-sizing:border-box;margin:0;padding:0}html,body{color:var(--text-primary);background-color:var(--bg-warm-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5}.btn{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-full);cursor:pointer;border:none;justify-content:center;align-items:center;font-size:16px;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--secondary);color:#fff}.btn-outline{border:2px solid var(--primary);color:var(--primary);background:0 0}.btn-block{width:100%}.input{width:100%;padding:var(--spacing-md);border:2px solid var(--divider);border-radius:var(--radius-md);font-size:16px;transition:border-color .2s}.input:focus{border-color:var(--primary);outline:none}.card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-md)}.page{min-height:100vh;padding:var(--spacing-md)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.text-center{text-align:center}.text-primary{color:var(--primary)}.text-secondary{color:var(--text-secondary)}.text-hint{color:var(--text-hint)}.font-bold{font-weight:600}.text-lg{font-size:18px}.text-xl{font-size:20px}.text-2xl{font-size:24px}.safe-bottom{padding-bottom:calc(var(--spacing-md) + env(safe-area-inset-bottom))}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.3s fadeIn}.animate-slide-up{animation:.4s slideUp}
