@font-face{font-family:Jost;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/39c55468420adfa6-s.1ti1r54sj8aa0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9b8f0e32b229dbc1-s.3mtm4mi9aq8dw.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/81cef6a21128489e-s.p.00r2o6pv87vbs.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost Fallback;src:local(Arial);ascent-override:111.45%;descent-override:39.06%;line-gap-override:0.0%;size-adjust:96.01%}._97C82a_className{font-family:Jost,Jost Fallback;font-style:normal}._97C82a_variable{--font-jost:"Jost", "Jost Fallback"}
:root{--paper:#f5f1e9;--paper-raised:#fff9;--ink:#11110f;--muted:#746f67;--line:#11110f1c;--orange:#ff7a38;--yellow:#efd34e;--blue:#78b9dd;--lavender:#aaa1df;--green:#97b88c;--rose:#ed8d78;--radius-card:28px;--radius-pill:999px;--shadow-soft:0 18px 60px #2b241912}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink)}body{font-family:var(--font-jost),"Century Gothic","Avenir Next",Avenir,sans-serif;background:var(--paper);color:var(--ink);text-rendering:optimizelegibility;margin:0}a{color:inherit}.kicker{letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.73rem;font-weight:500}.app-card{contain:paint;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--paper-raised);min-height:220px;box-shadow:var(--shadow-soft);color:var(--ink);isolation:isolate;-webkit-backdrop-filter:blur(18px);background-clip:padding-box;flex-direction:column;justify-content:space-between;padding:24px;text-decoration:none;transition:transform .18s,border-color .18s;display:flex;position:relative;overflow:hidden}.app-card[href]:hover{border-color:#11110f38;transform:translateY(-2px)}.app-card--inactive{cursor:default}.app-card--compact{justify-content:center;min-height:132px}.app-card__aura{z-index:-1;filter:blur(46px);opacity:.58;border-radius:50%;width:210px;height:210px;position:absolute;top:-62px;right:-46px}.app-card__aura--orange{background:var(--orange)}.app-card__aura--yellow{background:var(--yellow)}.app-card__aura--blue{background:var(--blue)}.app-card__aura--lavender{background:var(--lavender)}.app-card__aura--green{background:var(--green)}.app-card__aura--rose{background:var(--rose)}.app-card__topline,.app-card__footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.app-card__label{letter-spacing:.01em;font-size:1.65rem;font-weight:500}.app-card__address{letter-spacing:.12em;text-transform:uppercase;font-size:.7rem}.app-card__description{max-width:24ch;color:var(--muted);margin:auto 0;padding:28px 0;font-size:1rem;line-height:1.45}.app-card__footer{color:var(--muted)}@media (max-width:640px){.app-card{border-radius:24px;min-height:190px;padding:21px}.app-card--compact{min-height:108px}.app-card__label{font-size:1.45rem}}@media (prefers-reduced-motion:reduce){.app-card{transition:none}}
.gifts-shell{background:var(--paper);min-height:100svh;padding:35px 22px 28px;position:relative;overflow:hidden}.gifts-shell>:not(.gifts-aura):not(.modal-backdrop){z-index:1;position:relative}.gifts-aura{filter:blur(95px);pointer-events:none;border-radius:50%;position:absolute}.gifts-aura--red{opacity:.12;background:#bf7774;width:475px;height:475px;top:-185px;right:-135px}.gifts-aura--blue{background:var(--blue);opacity:.12;width:430px;height:430px;top:590px;left:-260px}.gifts-nav,.gifts-header,.mode-tabs,.gift-progress,.birthday-overview,.groups,.gift-archive,.gift-footer,.gift-error,.return-current,.empty{width:min(940px,100%);margin-left:auto;margin-right:auto}.gifts-nav{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.67rem;display:flex}.gifts-nav a,.gift-footer a{text-decoration:none}.gifts-header{justify-content:space-between;align-items:end;padding:62px 2px 33px;display:flex}.gifts-header h1{letter-spacing:-.075em;margin:0;font-size:clamp(4.3rem,10vw,6.7rem);font-weight:450;line-height:.85}.gifts-header h1 span{color:#ad6464}.add-person{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#ffffff87;border-radius:12px;padding:10px 15px;font-size:.8rem}.add-person:hover{background:#ffffffd1}.mode-tabs{border-bottom:1px solid var(--line);align-items:center;gap:25px;display:flex}.mode-tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:13px 0 12px;font-size:.86rem}.mode-tabs button.active{color:var(--ink);border-bottom-color:#ad6464;font-weight:500}.gift-progress{padding:25px 0 24px}.progress-text,.birthday-overview{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:16px;font-size:.74rem;display:flex}.progress-text{margin-bottom:14px}.progress-text>span:first-child{color:var(--ink);font-size:.85rem;font-weight:500}.progress-text i{color:#b8aca4;margin:0 8px;font-style:normal}.progress-track{background:#a6615c1a;border-radius:99px;height:6px;overflow:hidden}.progress-fill{background:repeating-linear-gradient(117deg,#ad6464 0 9px,#ead9d2 9px 14px);border-radius:99px;height:100%;transition:width .25s}.birthday-overview{padding:26px 0 12px}.return-current{text-align:left;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 0 13px;font-size:.72rem;display:block}.groups{margin-top:6px}.gift-group h2{color:var(--muted);text-transform:uppercase;letter-spacing:.15em;margin:7px 0 10px;font-size:.68rem;font-weight:500}.people-list{border-top:1px solid var(--line)}.person{border-bottom:1px solid var(--line)}.person-summary{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:20px;padding:18px 3px;display:flex}.person-info{gap:5px;min-width:0;display:grid}.person-name{letter-spacing:-.025em;font-size:1.22rem;font-weight:450}.person-lock{color:var(--muted);letter-spacing:0;font-size:.67rem;font-weight:400}.person-meta{color:var(--muted);letter-spacing:.025em;font-variant-numeric:tabular-nums;font-size:.72rem}.person-meta span{color:#b8aca4;padding:0 7px}.chevron{color:var(--muted);font-size:1.24rem;transition:transform .18s}.chevron--open{transform:rotate(180deg)}.person-body{padding:0 3px 16px 19px}.gift-row{align-items:center;gap:11px;min-height:38px;display:flex}.gift-check{color:#fff;cursor:pointer;background:0 0;border:1.5px solid #b6aca0;border-radius:50%;flex:none;place-items:center;width:19px;height:19px;padding:0;font-size:.76rem;line-height:1;display:grid}.gift-check--done{background:#ad6464;border-color:#ad6464}.gift-check:disabled{cursor:wait}.gift-name{color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;min-width:0;padding:7px 0;font-size:.84rem}.gift-name:hover{text-underline-offset:2px;text-decoration:underline}.gift-price{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.77rem}.person-actions{justify-content:space-between;align-items:center;gap:16px;margin-top:11px;display:flex}.person-actions button{color:#91605c;font:inherit;cursor:pointer;background:0 0;border:0;padding:3px 0;font-size:.73rem}.person-actions button:last-child{color:var(--muted)}.empty{color:var(--muted);padding:12px 2px;font-size:.84rem}.gift-error{color:#893e31;background:#ad472d17;border:1px solid #ad472d33;border-radius:12px;margin-top:14px;padding:11px 13px;font-size:.8rem}.gift-archive{border-top:1px solid var(--line);margin-top:25px;padding:14px 2px}.gift-archive summary{cursor:pointer;color:var(--muted);justify-content:space-between;align-items:center;font-size:.77rem;list-style:none;display:flex}.gift-archive summary::-webkit-details-marker{display:none}.archive-years{flex-wrap:wrap;gap:10px;margin-top:15px;display:flex}.archive-years button{border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;background:#ffffff6b;border-radius:10px;padding:8px 13px;font-size:.77rem}.archive-years button.archive-selected{color:var(--ink);border-color:#ad6464}.gift-footer{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.13em;justify-content:space-between;margin-top:55px;padding-top:16px;font-size:.64rem;display:flex}.modal-backdrop{z-index:40;-webkit-backdrop-filter:blur(9px);background:#11110f30;place-items:center;padding:17px;display:grid;position:fixed;inset:0}.modal-card{background:var(--paper);border:1px solid var(--line);border-radius:25px;width:min(450px,100%);max-height:calc(100svh - 34px);padding:23px;overflow-y:auto;box-shadow:0 20px 70px #11110f29}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding-bottom:15px;display:flex}.modal-head h2{letter-spacing:-.035em;margin:0;font-size:1.45rem;font-weight:500}.modal-head button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:1.4rem}.modal-fields{gap:16px;padding:19px 0;display:grid}.field{gap:7px;min-width:0;display:grid}.field>span{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:.69rem}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff9;border-radius:11px;outline:none;padding:11px 12px;font-size:.85rem}.field textarea{resize:vertical}.birthday-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.check-field{flex-wrap:wrap;align-items:center;gap:10px;font-size:.83rem;display:flex}.check-field input{accent-color:#ad6464;width:16px;height:16px}.check-field small{width:100%;color:var(--muted);padding-left:26px;font-size:.71rem}.more-fields{border-top:1px solid var(--line);padding-top:12px}.more-fields summary{color:var(--muted);cursor:pointer;font-size:.77rem}.more-fields>.field{margin-top:15px}.modal-actions{justify-content:space-between;align-items:center;padding-top:3px;display:flex}.modal-actions button{font:inherit;cursor:pointer;border:0;font-size:.83rem}.modal-actions .delete{color:#a05c58;background:0 0;padding:9px 0}.modal-actions .save{background:var(--ink);min-width:110px;color:var(--paper);border-radius:12px;padding:11px 17px}.modal-actions button:disabled{opacity:.45;cursor:default}@media (max-width:680px){.gifts-shell{padding:26px 14px 22px}.gifts-header{padding:46px 4px 29px}.gifts-header h1{font-size:4.6rem}.add-person{padding:9px 12px}.person-summary{padding:17px 3px}.person-name{font-size:1.13rem}.modal-card{padding:19px}}@media (prefers-reduced-motion:reduce){.progress-fill,.chevron{transition:none}}.gifts-shell{--gift-accent:#ad6464;--gift-tint:#ad646416;transition:background-color .3s}.gifts-shell--birthday{--gift-accent:#688cb3;--gift-tint:#6c95c018}.gifts-shell--birthday .gifts-aura--red{opacity:.19;background:#8daed5}.gifts-shell--birthday .gifts-aura--blue{opacity:.19;background:#a8c6de}.gifts-shell--birthday .gifts-header h1 span,.gifts-shell .gifts-header h1 span{color:var(--gift-accent)}.gifts-shell .mode-tabs button.active{border-bottom-color:var(--gift-accent)}.gifts-shell .gift-check--done{background:var(--gift-accent);border-color:var(--gift-accent)}.gifts-shell .person-actions button:not(:last-child){color:var(--gift-accent)}.gifts-shell .check-field input{accent-color:var(--gift-accent)}.gifts-shell .progress-fill{background:repeating-linear-gradient(117deg,var(--gift-accent) 0px,var(--gift-accent) 9px,#ead9d2 9px,#ead9d2 14px)}.gift-group{margin-bottom:27px}.gift-group h2{background:var(--gift-tint);letter-spacing:.015em;text-transform:none;color:var(--ink);border-radius:9px;margin:8px 0 0;padding:12px 15px;font-size:1.15rem;font-weight:560}.people-list{border-top:0;margin-left:17px}.person-summary{padding:17px 5px}.person-name{font-size:1.045rem;font-weight:460}.person-body{padding-bottom:13px}.person-actions{margin-top:8px}.person-action-main{align-items:center;gap:21px;display:flex}.person-actions .person-action-main button{color:var(--gift-accent)}.gift-footer{align-items:center}.gift-footer button{color:var(--muted);font:inherit;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:0;font-size:.68rem}.gift-footer button:hover{text-underline-offset:3px;text-decoration:underline}.idea-row,.idea-editor{align-items:baseline;gap:7px;min-height:38px;padding:7px 0 7px 30px;font-size:.83rem;line-height:1.6;display:flex}.idea-label{letter-spacing:.025em;color:var(--muted);flex:none;font-size:.71rem;font-weight:550}.idea-text{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;color:var(--muted);flex:1}.idea-edit{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0 3px;font-size:.83rem}.idea-edit:hover{color:var(--ink)}.idea-editor{align-items:flex-start}.idea-editor .idea-label{padding-top:10px}.idea-editor-content{flex:1;gap:5px;min-width:0;display:grid}.idea-editor textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--line);width:100%;min-height:64px;font:inherit;color:var(--ink);background:#ffffff7d;border-radius:9px;outline:none;padding:8px 10px;font-size:.84rem;display:block}.idea-editor textarea:focus{border-color:var(--gift-accent)}.idea-editor-actions{justify-content:flex-end;gap:17px;display:flex}.idea-editor-actions button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:.73rem}.idea-editor-actions button:last-child{color:var(--gift-accent);font-weight:600}.idea-editor-actions button:disabled{opacity:.4;cursor:wait}.archive-notice{width:min(940px,100%);color:var(--muted);align-items:center;gap:15px;margin:0 auto 16px;padding:10px 2px;font-size:.78rem;display:flex}.archive-notice button{font:inherit;color:var(--gift-accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;text-decoration:underline}.archive-tabs{border-bottom:1px solid var(--line);gap:20px;padding-top:12px;display:flex}.archive-tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 0;font-size:.82rem}.archive-tabs button.active{color:var(--ink);border-bottom-color:var(--gift-accent)}.archive-action{justify-content:space-between;align-items:center;gap:12px;padding:25px 0 18px;display:flex}.archive-action>span{font-size:.94rem;font-weight:500}.archive-action button{border:1px solid var(--line);font:inherit;color:var(--ink);cursor:pointer;background:#ffffff8c;border-radius:11px;padding:9px 13px;font-size:.77rem}.archive-action button:disabled,.archive-entry button:disabled{opacity:.4;cursor:default}.archive-history{border-top:1px solid var(--line);padding-top:14px}.archive-history h3{color:var(--muted);letter-spacing:.04em;margin:0 0 8px;font-size:.72rem;font-weight:500}.archive-entry{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:12px 0;display:flex}.archive-entry strong{font-size:.88rem;font-weight:500}.archive-entry>div{align-items:center;gap:18px;display:flex}.archive-entry button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:.77rem}.archive-entry button:last-child{color:var(--gift-accent)}.archive-empty{color:var(--muted);margin:4px 0 0;font-size:.77rem}@media (max-width:680px){.gift-group h2{padding:10px 13px;font-size:1.09rem}.people-list{margin-left:13px}.person-name{font-size:1.015rem}.idea-row,.idea-editor{padding-left:29px}}
