:root{color:var(--ink);background:var(--cream);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#182e25;--evergreen:#10372e;--evergreen-deep:#0a2921;--cream:#fff8e9;--linen:#f7eedb;--muted:#4c574b;--paper:#fffdf7;--rule:#dfd1b7;--field-rule:#92846e;--cranberry:#a72839;--cranberry-deep:#871e2d;--berry-wash:#fae7e5;--gold:#ffcf6c;--gold-soft:#ffe1a1;--on-evergreen:#f1deb7;--display:Georgia, "Times New Roman", serif;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*,:before,:after{box-sizing:border-box}body{margin:0;line-height:1.52}button,input,select,textarea{font:inherit}a{color:var(--evergreen)}a:hover{color:var(--evergreen-deep)}:focus-visible{outline:3px solid var(--cranberry);outline-offset:3px}p,h1,h2,h3,ul{margin:0}p{max-width:66ch}h1,h2{color:var(--evergreen);font-family:var(--display);letter-spacing:-.04em;font-weight:500;line-height:1.04}h1{font-size:clamp(2.5rem,8vw,5.25rem)}h2{font-size:clamp(1.8rem,4.5vw,2.65rem)}h3{color:var(--ink);font-size:1.1rem;line-height:1.3}img,svg{display:block}p,h1,h2,h3,li,label,address,.signed-in-row{overflow-wrap:anywhere}.site-width{width:min(100% - clamp(2rem,8vw,6rem),72rem);margin-inline:auto}.skip-link{z-index:1;border:2px solid var(--evergreen);background:var(--paper);padding:.7rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(calc(-100% - 1rem))}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--evergreen-deep);background:var(--evergreen)}.wordmark{min-height:3.65rem;color:var(--cream);letter-spacing:-.02em;align-items:center;gap:.6rem;font-weight:750;text-decoration:none;display:inline-flex}.wordmark:hover{color:var(--gold-soft)}.wordmark:focus-visible{outline-color:var(--gold)}.brand-star{width:1.1rem;height:1.1rem;color:var(--gold)}.button svg,.tag svg,.product-link svg,h3 svg{flex:none;width:1.2rem;height:1.2rem}.site-footer{color:var(--muted);align-items:center;gap:.5rem;padding-block:.8rem 2rem;font-size:.875rem;display:flex}.footer-star{width:.8rem;height:.8rem;color:var(--cranberry)}.entry{border:1px solid var(--rule);background:var(--paper);border-radius:1.2rem;max-width:64rem;margin:clamp(1rem,5vw,3.5rem) auto 1.5rem;display:grid;box-shadow:0 .45rem 1.45rem #3929080d}.entry-hero{background:var(--evergreen);min-height:clamp(13.75rem,44vw,19rem);color:var(--cream);border-radius:1.1rem 1.1rem 0 0;grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);align-items:center;gap:.15rem;padding:clamp(1rem,4vw,2.6rem);display:grid;position:relative}.entry-hero:after{background:radial-gradient(ellipse at center bottom, var(--paper) 67%, transparent 73%) 0 bottom / 1.4rem .55rem repeat-x;content:"";pointer-events:none;height:.55rem;position:absolute;inset:auto 0 -1px}.entry-hero h1{color:inherit;letter-spacing:-.06em;font-size:clamp(2.05rem,8.1vw,4.1rem);line-height:.96}.entry-hero p{max-width:23ch;color:var(--on-evergreen);margin-top:.75rem;font-size:clamp(.86rem,2.5vw,1.05rem)}.tree-illustration{justify-self:center;width:100%;max-width:16rem;height:auto}.entry-paper{width:100%;min-width:0;padding:clamp(1rem,4.5vw,2.25rem)}.entry-paper h2{font-size:clamp(1.5rem,3.4vw,2.35rem)}.entry-paper>p:not(.feedback){color:var(--muted);margin-top:.75rem}.entry-paper>.button,.entry-paper>.form-stack{margin-top:1rem}.entry-paper>.entry-hint{margin-top:.5rem;font-size:.85rem}.invite-preview{border-bottom:1px solid var(--rule);align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.small-icon{background:var(--berry-wash);width:2rem;height:2rem;color:var(--cranberry);border-radius:.45rem;flex:none;place-items:center;display:grid}.small-icon svg{width:1.25rem;height:1.25rem}.section-note{color:var(--muted);font-size:.87rem;font-weight:600}.invite-name{color:var(--evergreen);font-size:1.14rem;font-weight:750}.invite-description{color:var(--muted);white-space:pre-wrap;margin-top:.2rem}.signed-in-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem 1rem;margin-top:.6rem;font-size:.88rem;display:flex}.form-stack{gap:.85rem;min-width:0;display:grid}.form-stack>.button{justify-self:start}.entry-paper>.form-stack>.button{justify-self:stretch}label{min-width:0;font-size:.92rem;font-weight:650;display:block}label input:not([type=checkbox]),label textarea,label select{border:1px solid var(--field-rule);width:100%;min-width:0;min-height:2.75rem;color:var(--ink);background:#fff;border-radius:.5rem;margin-top:.3rem;padding:.58rem .7rem;font-size:1rem;font-weight:400;display:block}label input[readonly]{background:var(--linen)}label textarea{resize:vertical}label input.otp{font-variant-numeric:tabular-nums;letter-spacing:.32em;font-size:1.4rem}label .optional,.field-note{color:var(--muted);font-weight:400}.field-note{margin-top:.25rem;font-size:.87rem;display:block}.field-pair{gap:.8rem;display:grid}.button{background:var(--cranberry);color:#fff;cursor:pointer;overflow-wrap:anywhere;text-align:center;border:1px solid #0000;border-radius:.5rem;justify-content:center;align-items:center;gap:.45rem;min-width:0;min-height:2.75rem;padding:.58rem .9rem;font-size:.94rem;font-weight:700;line-height:1.25;text-decoration:none;display:inline-flex}.button:hover{background:var(--cranberry-deep);color:#fff}.button-secondary{border-color:var(--field-rule);background:var(--linen);color:var(--evergreen)}.button-secondary:hover,.button-quiet:hover{background:var(--cream);color:var(--evergreen)}.button-quiet{color:var(--evergreen);text-underline-offset:.18em;background:0 0;text-decoration:underline;text-decoration-thickness:1px}.button-danger{border-color:var(--cranberry);background:var(--berry-wash);color:var(--cranberry-deep)}.button-danger:hover{background:var(--cranberry-deep);color:#fff}.button:disabled{border-color:var(--rule);background:var(--cream);color:var(--muted);cursor:wait}.button-row{flex-wrap:wrap;gap:.45rem;display:flex}.entry-code-actions{margin-top:.5rem}.join-by-code,.action-detail{border-top:1px solid var(--rule);margin-top:.85rem}summary{min-height:2.75rem;color:var(--evergreen);cursor:pointer;padding-block:.65rem;font-weight:690}summary:hover{color:var(--evergreen-deep);text-underline-offset:.18em;text-decoration:underline}details[open]>.form-stack{padding-block:.3rem .65rem}details>p{color:var(--muted);margin-bottom:.65rem}.feedback{border:1px solid;border-radius:5px;max-width:none;margin-bottom:.8rem;padding:.7rem .85rem}.feedback-error{background:var(--berry-wash);color:#772c20;border-color:#cc9a8e}.feedback-success{color:#24563e;background:#e6f3eb;border-color:#9abfae}.feedback-warning{color:#63431b;background:#fff1da;border-color:#d0b795}.dashboard{padding-block:clamp(1.4rem,4vw,3rem) 1.5rem}.dashboard-top{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.15rem .85rem;margin-bottom:1rem;display:grid}.dashboard-top h1,.group-description{grid-column:1/-1}.group-description{color:var(--muted);margin-top:.6rem}.exchange-status{color:var(--evergreen);flex-wrap:wrap;align-items:center;gap:.35rem .75rem;font-size:.95rem;font-weight:750;display:flex}.tag{border:1px solid var(--rule);background:var(--linen);min-width:0;color:var(--evergreen);overflow-wrap:anywhere;border-radius:999px;align-items:center;gap:.24rem;padding:.2rem .55rem;font-size:.8rem;font-weight:700;display:inline-flex}.tag svg{width:1rem;height:1rem}.tag-active{background:var(--evergreen);color:#fff}.dashboard-nav{margin-block:.5rem 1.2rem;display:grid}.dashboard-nav a{border-bottom:1px solid var(--rule);justify-content:space-between;text-decoration:none}.dashboard-nav a:after{content:"";border-top:1.5px solid;border-right:1.5px solid;width:.42rem;height:.42rem;margin-inline-end:.3rem;transform:rotate(45deg)}.dashboard-nav a:hover{text-decoration:underline}.dashboard-nav a,.product-link{text-underline-offset:.2em;align-items:center;gap:.3rem;min-height:2.75rem;font-size:.9rem;font-weight:650;display:inline-flex}.dashboard-feedback:focus{outline:none}.dashboard-feedback{margin-top:.75rem}.dashboard-section{border:1px solid var(--rule);background:var(--paper);border-radius:.75rem;min-width:0;margin-top:.85rem;padding:clamp(1rem,3.3vw,2rem);scroll-margin-top:1rem}.dashboard-section h2+p,.dashboard-section h3+p,.dashboard-section h3+address{margin-top:.45rem}.dashboard-section h2+p,.dashboard-section h3+p{color:var(--muted)}.dashboard-section p+label{margin-top:.65rem}.section-icon{border:1px solid var(--rule);background:var(--linen);width:2.4rem;height:2.4rem;color:var(--evergreen);border-radius:6px;flex:none;place-items:center;margin-bottom:.65rem;display:grid}.section-icon svg{width:1.35rem;height:1.35rem}.recipient-section{margin-top:.9rem;scroll-margin-top:1rem}.recipient-reveal,.reveal-waiting{background:var(--evergreen);color:var(--cream);border-radius:.85rem}.reveal-summary,.reveal-waiting{--reveal-pad:clamp(1rem, 4vw, 1.75rem);isolation:isolate;padding:var(--reveal-pad);grid-template-columns:minmax(0,1fr) minmax(0,35%);align-items:center;column-gap:.65rem;display:grid;position:relative}.reveal-summary{color:inherit;border-radius:.85rem;grid-template-rows:auto 1fr auto;list-style:none}.reveal-summary::-webkit-details-marker{display:none}.reveal-summary:hover{color:inherit;text-decoration:none}.reveal-summary:focus-visible{outline-color:var(--gold);outline-offset:-5px}.reveal-label,.reveal-title,.reveal-action{grid-column:1}.reveal-label{color:var(--gold-soft);font-size:.85rem;font-weight:700}.reveal-title{font:500 clamp(1.75rem, 5.2vw, 3rem)/1.02 var(--display);letter-spacing:-.04em;margin-top:.25rem}.reveal-action{background:var(--gold-soft);min-height:2.75rem;color:var(--evergreen-deep);border-radius:.5rem;justify-self:start;place-items:center;margin-top:.9rem;padding:.55rem .85rem;font-size:.9rem;line-height:1.2;display:inline-grid}.reveal-summary:hover .reveal-action{background:var(--gold)}.gift-illustration{grid-area:1/2/-1;justify-self:center;width:100%;max-width:9rem;height:auto}.reveal-waiting{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) minmax(0,27%)}.reveal-waiting h2{color:inherit;font-size:clamp(1.45rem,4vw,2.1rem)}.reveal-waiting p{color:var(--on-evergreen);grid-column:1;margin-top:.4rem;font-size:.93rem}.recipient-reveal:not([open]) .when-open,.recipient-reveal[open] .when-closed,.recipient-reveal[open] .gift-illustration{display:none}.recipient-reveal[open] .reveal-summary{justify-content:space-between;gap:.65rem;padding-block:.65rem;display:flex}.recipient-reveal[open] .reveal-action{flex-shrink:0;margin-top:0}.recipient-result{padding:.1rem clamp(1rem,4vw,1.75rem) 1.25rem}.recipient-result .recipient-name{color:var(--cream);margin-top:.2rem;font-size:clamp(2.15rem,7vw,3.8rem)}.recipient-details{border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-top:0;border-radius:0 0 .85rem .85rem;gap:1rem;padding:clamp(1rem,3.3vw,1.75rem);display:grid}.recipient-details h3+address{margin-top:.45rem}@media (prefers-reduced-motion:no-preference){.recipient-reveal[open] .recipient-name{animation:.25s ease-out both unwrap}@keyframes unwrap{0%{opacity:.7;transform:translateY(.25rem)}to{opacity:1;transform:translateY(0)}}}.error-page{padding-block:clamp(1.5rem,5vw,4rem)}.error-page p{margin-block:.75rem}.recipient-details h3{align-items:center;gap:.35rem;display:flex}address{font-style:normal}.empty-line{color:var(--muted);margin-top:.85rem;font-size:.93rem}.wish-list,.child-list,.roster,.exclusions{padding:0;list-style:none}.wish{border-top:1px solid var(--rule);gap:.6rem;min-width:0;margin-top:.75rem;padding-top:.75rem;display:grid}.wish-photo{object-fit:contain;object-position:left;border-radius:5px;max-width:100%;max-height:10rem}.wish-title{flex-wrap:wrap;align-items:baseline;gap:.35rem .6rem;display:flex}.wish-title p{color:var(--ink);font-size:1rem;font-weight:750}.wish-content{min-width:0}.wish-content>p{margin-top:.35rem}.multiline{white-space:pre-wrap}.wish-content .button-row{margin-top:.4rem}.wish-content .button-quiet{padding-inline:0}.child{border-top:1px solid var(--rule);margin-top:1rem;padding-top:.8rem}.child h3{flex-wrap:wrap;align-items:baseline;gap:.35rem .6rem;display:flex}.child .action-detail{border-top:none;margin-top:.2rem}.group-code{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:.3rem .65rem;margin-top:.85rem;font-size:.92rem;display:flex}.group-code strong{border:1px solid var(--rule);background:var(--linen);color:var(--evergreen);letter-spacing:.08em;border-radius:4px;padding:.05rem .45rem;font-size:1.07rem}.share-buttons{margin-top:.65rem}.share-status:not(:empty){color:var(--evergreen);margin-top:.4rem;font-size:.9rem}.section-heading{align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.section-heading p{color:var(--muted)}.organizer-grid{gap:1rem;display:grid}.organizer-box{border-top:1px solid var(--rule);min-width:0;padding-top:.8rem}.organizer-box>.form-stack,.roster,.exclusions{margin-top:.6rem}.roster li+li,.exclusions li+li{border-top:1px solid var(--rule)}.check-line{align-items:flex-start;gap:.65rem;min-height:2.75rem;padding-block:.45rem;display:flex}.check-line input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--evergreen);flex:none;margin:.15rem 0 0}.member-email{color:var(--muted);font-size:.88rem;font-weight:400;display:block}.member-line{padding-block:.4rem}.exclusions li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 .4rem;display:flex}.exclusions .button-quiet{padding-inline:0}.danger-detail summary{color:var(--cranberry)}@media (width>=31rem){.field-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-nav{border-block:1px solid var(--rule);flex-wrap:wrap;gap:0 1.2rem;margin-block:1.1rem;display:flex}.dashboard-nav a{border:0}.dashboard-nav a:after{display:none}}@media (width>=46rem){.entry{grid-template-columns:minmax(0,1.17fr) minmax(0,1fr);align-items:center}.entry-hero{border-radius:1.1rem 0 0 1.1rem;align-self:stretch;min-height:22rem}.entry-hero:after{background:radial-gradient(ellipse at right center, var(--paper) 67%, transparent 73%) right top / .55rem 1.4rem repeat-y;width:.55rem;height:auto;inset:0 -1px 0 auto}.entry-hero h1{font-size:clamp(2.65rem,4.7vw,4.2rem)}.dashboard-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.85rem;display:grid}.recipient-details,.organizer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem}.draw-controls{grid-column:1/-1}}@media (width>=64rem){.organizer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.draw-controls{grid-column:auto}}
