@import url(https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600&display=swap);:root{--paper:#fbf7f0;--paper-raised:#fff;--ink:#2b2622;--ink-soft:#6b6258;--rule:#e8e0d4;--coral:#c8553d;--coral-soft:#f3dcd4;--gold:#c99a3e;--gold-soft:#f6e9cc;--font-display:"Fraunces",Georgia,serif;--font-body:"Inter",-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fbf7f0;background-color:var(--paper);color:#2b2622;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-body);margin:0}button{font-family:inherit}button:focus-visible,input:focus-visible{outline:2px solid #c8553d;outline:2px solid var(--coral);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.page{min-height:100vh}.shell{margin:0 auto;max-width:720px;padding:3rem 1.5rem 5rem}.auth-shell{margin:0 auto;max-width:380px;padding:5rem 1.5rem}.brand-mark{color:var(--ink);font-family:var(--font-display);font-size:2.25rem;font-weight:600;letter-spacing:-.01em;margin:0 0 .4rem}.brand-tagline{color:var(--ink-soft);font-family:var(--font-body);font-size:.95rem;margin:0 0 2.5rem}.field{margin-bottom:.9rem}.field input{background:var(--paper-raised);border:1px solid var(--rule);border-radius:4px;color:var(--ink);font-family:var(--font-body);font-size:.95rem;padding:.8rem .9rem;width:100%}.field input::placeholder{color:#a39b8f}.btn-primary{background-color:var(--coral);border:none;border-radius:4px;color:var(--paper-raised);cursor:pointer;font-size:.95rem;font-weight:500;padding:.85rem;transition:background-color .15s ease;width:100%}.btn-primary:hover{background-color:#b14732}.btn-primary:disabled{cursor:default;opacity:.6}.auth-message{color:var(--ink-soft);font-size:.88rem;margin-top:1rem}.auth-switch{margin-top:1.5rem;text-align:center}.link-button{background:none;border:none;color:var(--coral);cursor:pointer;font-family:var(--font-body);font-size:.88rem;padding:0}.link-button:hover{text-decoration:underline}.dash-header{align-items:baseline;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2.5rem}.dash-title{color:var(--ink);font-family:var(--font-display);font-size:1.9rem;font-weight:600;letter-spacing:-.01em;margin:0}.dash-actions{display:flex;flex-shrink:0;gap:.6rem}.btn-accent{background-color:var(--coral);border:none;border-radius:4px;color:var(--paper-raised);cursor:pointer;font-family:var(--font-body);font-size:.85rem;font-weight:500;padding:.55rem 1rem;transition:background-color .15s ease}.btn-accent:hover{background-color:#b14732}.btn-quiet{background-color:initial;border:1px solid var(--rule);border-radius:4px;color:var(--ink-soft);cursor:pointer;font-family:var(--font-body);font-size:.85rem;padding:.55rem 1rem;transition:border-color .15s ease,color .15s ease}.btn-quiet:hover{border-color:var(--ink-soft);color:var(--ink)}.birthday-banner{background-color:var(--gold-soft);border-left:3px solid var(--gold);border-radius:4px;font-size:.9rem;margin-bottom:2rem;padding:.9rem 1.1rem}.birthday-banner-label{color:#8a6a22;font-weight:600}.birthday-names{color:var(--ink)}.birthday-names .sep{color:var(--ink-soft);margin:0 .4rem}.add-form{background-color:var(--paper-raised);border:1px solid var(--rule);border-radius:6px;margin-bottom:2.5rem;padding:1.75rem}.add-form h3{color:var(--ink);font-family:var(--font-display);font-size:1.2rem;font-weight:600;margin:0 0 1.1rem}.add-form .field input{border-color:var(--rule)}.empty-state{border:1px dashed var(--rule);border-radius:6px;color:var(--ink-soft);font-size:.95rem;padding:2rem 0;text-align:center}.person-list{display:flex;flex-direction:column}.person-card{border-bottom:1px solid var(--rule);justify-content:space-between;padding:1.25rem 0;position:relative}.person-card,.person-card-main{align-items:center;display:flex;gap:1rem}.person-card-main{flex:1 1;min-width:0}.person-card:first-child{border-top:1px solid var(--rule)}.person-info{min-width:0}.days-stub{align-items:center;background-color:var(--gold-soft);border:1.5px dashed var(--gold);border-radius:50%;display:flex;flex-direction:column;flex-shrink:0;height:52px;justify-content:center;margin-right:.25rem;width:52px}.days-stub-num{color:#8a6a22;font-family:var(--font-display);font-size:1.05rem;font-weight:700;line-height:1}.days-stub-label{color:#8a6a22;font-family:var(--font-body);font-size:.56rem;letter-spacing:.04em;line-height:1.1;text-transform:uppercase}.person-name-row{align-items:baseline;display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.2rem}.person-name{color:var(--ink);font-family:var(--font-display);font-size:1.15rem;font-weight:600}.person-meta{color:var(--ink-soft);font-size:.85rem}.person-interests{color:var(--ink-soft);font-size:.88rem;line-height:1.5;margin:.3rem 0 0}.person-card-actions{display:flex;flex-shrink:0;gap:.5rem}.btn-ideas{background-color:var(--coral-soft);border:none;border-radius:4px;color:var(--coral);cursor:pointer;font-family:var(--font-body);font-size:.82rem;font-weight:500;padding:.45rem .85rem;transition:background-color .15s ease;white-space:nowrap}.btn-ideas:hover{background-color:#eac7ba}.btn-remove{background-color:initial;border:none;border-radius:4px;color:var(--ink-soft);cursor:pointer;font-family:var(--font-body);font-size:.82rem;padding:.45rem .7rem;transition:color .15s ease}.btn-remove:hover{color:var(--coral)}.drawer-overlay{background-color:#2b262240;inset:0;position:fixed;z-index:10}.drawer{background-color:var(--paper-raised);bottom:0;box-shadow:-8px 0 30px #2b26221f;overflow-y:auto;padding:2rem;position:fixed;right:0;top:0;width:min(420px,100%);z-index:11}.drawer-close{background:none;border:none;color:var(--ink-soft);cursor:pointer;display:block;font-size:1.1rem;margin:-.3rem -.3rem 1.2rem auto;padding:.3rem}.drawer-close:hover,.drawer-title{color:var(--ink)}.drawer-title{font-size:1.4rem;font-weight:600;margin:0 0 1.3rem}.drawer-loading,.drawer-title{font-family:var(--font-display)}.drawer-loading{color:var(--ink-soft);font-style:italic}.drawer-content{color:var(--ink);font-family:var(--font-body);font-size:.92rem;line-height:1.65;white-space:pre-wrap}.page-loading{color:var(--ink-soft);font-family:var(--font-display);font-style:italic;padding:3rem;text-align:center}@media (max-width:520px){.dash-header{align-items:flex-start}.dash-header,.person-card{flex-direction:column}.person-card-actions{width:100%}}
/*# sourceMappingURL=main.5db0ba8d.css.map*/