:root{--bg:#f7efe6;--surface:#fff7ef;--ink:#2f2118;--muted:#7b6655;--accent:#bf5e2b;--line:#6f543a1f;--sans:"Avenir Next", "Trebuchet MS", sans-serif;--heading:"Iowan Old Style", "Palatino Linotype", serif;--mono:"SFMono-Regular", "Courier New", monospace;font:18px/1.5 var(--sans);letter-spacing:.18px;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#ffc88f99,#0000 30%),radial-gradient(circle at 100% 100%,#e4785838,#0000 28%),linear-gradient(#fef9f3 0%,#f7efe6 48%,#f4e7db 100%);min-width:320px;margin:0}#root{min-height:100svh}h1,h2,h3{font-family:var(--heading);color:var(--ink);font-weight:700}h1{letter-spacing:-.04em;margin:0;font-size:clamp(2.3rem,5vw,4.2rem);line-height:.98}h2{margin:0;font-size:1.55rem;line-height:1.1}h3{font-size:1.25rem;line-height:1.15}p{margin:0}button,input,textarea{font:inherit}code{font-family:var(--mono)}@media (width<=720px){:root{font-size:16px}}.shell{width:min(1120px,100% - 32px);margin:0 auto;padding:40px 0 48px}.app-shell{gap:22px;display:grid}.panel,.card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff8f1db;border:1px solid #6f543a29;border-radius:28px;box-shadow:0 22px 60px #5b3d2324}.panel{padding:32px}.hero-panel,.auth-panel{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.hero-copy,.intro{max-width:680px}.hero-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.stat-card{padding:22px 24px}.stat-card strong{color:var(--ink);font-size:1.15rem;line-height:1.3;display:block}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px;font-size:.78rem;display:block}.content-grid{grid-template-columns:minmax(320px,360px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.form-card,.list-card,.login-card{padding:24px}.card-heading{gap:6px;margin-bottom:18px;display:grid}.field{gap:8px;margin-bottom:14px;display:grid}.field span{color:var(--ink);font-size:.9rem;font-weight:600}.field input,.field textarea,.field select{box-sizing:border-box;width:100%;color:var(--ink);font:inherit;background:#ffffffd1;border:1px solid #6f543a2e;border-radius:16px;padding:14px 15px;transition:border-color .16s,box-shadow .16s,transform .16s}.field input:focus,.field textarea:focus,.field select:focus{border-color:#b958288f;outline:none;transform:translateY(-1px);box-shadow:0 0 0 4px #e07c481f}.birthday-picker{grid-template-columns:minmax(0,1fr) 120px;gap:12px;display:grid}.primary-button,.secondary-button,.ghost-button{font:inherit;cursor:pointer;border:0;border-radius:999px;padding:13px 18px;font-weight:700;transition:transform .16s,box-shadow .16s,opacity .16s}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{opacity:.65;cursor:wait}.primary-button{color:#fffaf3;background:linear-gradient(135deg,#d46534,#f0a85f);box-shadow:0 18px 32px #c8663540}.secondary-button{color:var(--ink);background:#fffc;border:1px solid #6f543a26}.ghost-button{color:#9c4422;background:#f8eaddb8}.auth-pill,.countdown-pill{color:var(--ink);background:#ffffffc2;border:1px solid #6f543a29;border-radius:999px;align-items:center;gap:10px;padding:10px 14px;display:inline-flex}.countdown-pill{border-radius:18px;flex-direction:column;align-items:flex-start;min-width:150px}.countdown-pill span{color:var(--muted);font-size:.82rem}.countdown-pill strong{font-size:.98rem}.list-toolbar{justify-content:space-between;align-items:end;gap:18px;margin-bottom:12px;display:flex}.search-field{min-width:min(280px,100%);margin-bottom:0}.birthday-list{gap:4px;display:grid}.birthday-head{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;grid-template-columns:1.05fr 92px minmax(0,1.8fr) 108px 62px;gap:8px;padding:0 8px 4px;font-size:.68rem;font-weight:700;display:grid}.birthday-card{background:#ffffffbd;border:1px solid #6f543a1f;border-radius:10px;padding:6px 8px}.birthday-row{grid-template-columns:1.05fr 92px minmax(0,1.8fr) 108px 62px;align-items:center;gap:8px;display:grid}.birthday-card h3{margin:0;font-size:.92rem;line-height:1.15}.birthday-primary{min-width:0}.birthday-date,.birthday-meta,.birthday-note,.muted{color:var(--muted)}.birthday-date,.birthday-note{margin:0;font-size:.8rem;line-height:1.1}.birthday-note{color:var(--ink)}.compact-note{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compact-next{justify-items:start;gap:1px;display:grid}.compact-next strong{color:var(--ink);font-size:.8rem;line-height:1.05}.compact-next span{color:var(--muted);font-size:.68rem;line-height:1}.empty-note{color:var(--muted)}.birthday-actions{justify-content:flex-end;display:flex}.compact-actions{margin-top:0}.compact-delete{min-height:28px;padding:5px 8px;font-size:.74rem}.loading-panel,.empty-state{text-align:center;place-items:center;min-height:220px;display:grid}.empty-state{color:var(--muted);border:1px dashed #6f543a2e;border-radius:20px;margin-top:16px}.banner{border:1px solid #0000;border-radius:18px;margin:0;padding:14px 18px}.banner.error{color:#8a2c16;background:#9f2b1414;border-color:#9f2b1426}.banner.success{color:#21684b;background:#29785614;border-color:#2978562e}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.18em;margin:0 0 14px;font-size:.76rem;font-weight:700}@media (width<=920px){.hero-panel,.auth-panel,.list-toolbar{flex-direction:column}.content-grid,.stats-grid{grid-template-columns:1fr}.search-field{width:100%;min-width:0}.birthday-picker{grid-template-columns:1fr}.birthday-row{grid-template-columns:1fr;align-items:start}.birthday-head{display:none}.compact-note{white-space:normal}.hero-actions{justify-content:flex-start}.compact-next{width:100%}}
