:root{--bg: #fdf6f0;--surface: #ffffff;--text: #2d2a26;--text-secondary: #7a756d;--primary: #e8725c;--primary-hover: #d45f4a;--accent: #f4c26b;--accent-light: #fdf3dc;--danger: #d9534f;--danger-hover: #c9302c;--border: #ede7e0;--shadow: 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .08);--radius: 12px;--radius-sm: 8px;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.5}.app{max-width:540px;margin:0 auto;padding:2rem 1rem 4rem}.header{text-align:center;margin-bottom:1.5rem}.header h1{font-size:1.75rem;font-weight:700;letter-spacing:-.03em;color:var(--primary)}.subtitle{font-size:.9rem;color:var(--text-secondary);margin-top:.15rem}.countdown-card{background:linear-gradient(135deg,var(--primary),#f09e6b);color:#fff;border-radius:var(--radius);padding:1.75rem 1.5rem;text-align:center;box-shadow:var(--shadow-lg);margin-bottom:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.2rem}.countdown-label{font-size:.8rem;opacity:.85;text-transform:uppercase;letter-spacing:.08em}.countdown-name{font-size:1.35rem;font-weight:700}.countdown-days{font-size:3rem;font-weight:800;line-height:1;margin-top:.25rem}.countdown-unit{font-size:.85rem;opacity:.85}.countdown-date{font-size:.8rem;opacity:.7;margin-top:.15rem}.countdown-celebrate{display:flex;flex-direction:column;align-items:center;gap:.15rem}.countdown-celebrate .countdown-name{font-size:1.5rem}.countdown-celebrate .countdown-label{font-size:1rem}.confetti{font-size:2rem}.actions{margin-bottom:1.5rem}.btn-add{width:100%;font-size:1rem}.form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}.form h2{font-size:1.1rem;font-weight:600;margin-bottom:1rem}.field{margin-bottom:.75rem}.field label{display:block;font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.04em}.field input{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;font-family:var(--font);background:var(--bg);color:var(--text);outline:none;transition:border-color .15s}.field input:focus{border-color:var(--primary)}.form-actions{display:flex;gap:.5rem;margin-top:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1.25rem;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;font-family:var(--font);cursor:pointer;transition:background .15s,transform .1s}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--border)}.btn-icon{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.95rem;transition:background .15s,color .15s}.btn-icon:hover{background:var(--border);color:var(--text)}.btn-icon-danger:hover{background:#fde8e7;color:var(--danger)}.list{display:flex;flex-direction:column;gap:.5rem}.birthday-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;box-shadow:var(--shadow);transition:border-color .2s}.birthday-card:hover{border-color:#ddd3c8}.birthday-today{border-color:var(--accent);background:var(--accent-light)}.birthday-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.birthday-name{font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.badge-today{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--accent);color:#5a4a1a;padding:.1rem .4rem;border-radius:4px}.birthday-date{font-size:.8rem;color:var(--text-secondary)}.birthday-age{color:var(--text-secondary);opacity:.7}.birthday-meta{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.birthday-days{font-size:.85rem;font-weight:700;color:var(--primary);min-width:2.5rem;text-align:right}.birthday-actions{display:flex;gap:.15rem}.empty{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.empty-icon{font-size:2.5rem;display:block;margin-bottom:.5rem}.empty p{font-size:.9rem}@media(max-width:480px){.app{padding:1.25rem .75rem 3rem}.header h1{font-size:1.4rem}.countdown-card{padding:1.25rem 1rem}.countdown-days{font-size:2.5rem}.birthday-card{padding:.75rem}.birthday-days{min-width:2rem;font-size:.8rem}}
