:root{--cream: #fdf3eb;--rose: #ec5b78;--rose-deep: #cf3a5e;--coral: #f47e6c;--orange: #f6a623;--yellow: #fcc95b;--lavender: #c49be2;--sky: #74aee0;--bg: var(--cream);--surface: #ffffff;--sheet: #fff8f3;--surface-soft: #fdeee4;--ink: #3f1911;--muted: #5f4b45;--line: #f3e2d7;--accent: var(--rose);--accent-strong: var(--rose-deep);--accent-text: #c0325a;--accent-ink: #ffffff;--accent-soft: #fde4ea;--green: #2f7a3d;--green-soft: #e4f4e5;--yellow-ink: #8a5300;--yellow-soft: #fff0cc;--blue: #55287c;--blue-soft: #f6effc;--wine: #b52f51;--mint-soft: #e1f1e6;--danger: #b3261e;--danger-soft: #fbe5e3;--radius: 18px;--radius-small: 12px;--shadow: 0 1px 2px rgba(91, 36, 24, .05), 0 8px 24px rgba(236, 91, 120, .08);--shadow-lift: 0 2px 4px rgba(91, 36, 24, .06), 0 14px 32px rgba(236, 91, 120, .16);--shadow-button: 0 6px 16px rgba(207, 58, 94, .28);--ribbon: linear-gradient(90deg, var(--rose), var(--coral) 35%, var(--orange) 65%, var(--lavender));--stripes: repeating-linear-gradient(-45deg, var(--rose) 0 10px, #f28aa0 10px 20px);--backdrop: repeating-linear-gradient(-45deg, rgba(255, 255, 255, .14) 0 12px, transparent 12px 30px), linear-gradient( 135deg, var(--yellow) 0%, var(--orange) 22%, var(--coral) 42%, var(--rose) 62%, var(--lavender) 100% );--sheet-gap: clamp(8px, 1.5vw, 20px);--panel-inset: max(var(--sheet-gap), calc((100% - 1500px)/2) );--logo-width: 150px;--header-pad: max(var(--sheet-gap), 1rem);--header-gap: 1.5rem;--nav-offset: .5rem;--nav-link-pad: .85rem;--content-inset: calc( var(--header-pad) + var(--logo-width) + var(--header-gap) + var(--nav-offset) + var(--nav-link-pad) );--font: "Urbanist", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: var(--font)}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}b,strong{font-weight:600}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;line-height:1.2;margin:0 0 .5rem}h1{font-size:clamp(1.75rem,4vw,2.25rem)}h2{font-size:1.5rem}h3{font-size:1.4rem}a{color:var(--accent-text);text-underline-offset:.15em}a:not([class]),a.wish-link{color:inherit;text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:1px;text-underline-offset:.15em;transition:text-decoration-thickness .15s ease,text-underline-offset .15s ease}a:not([class]):hover,a.wish-link:hover{text-decoration-thickness:1.5px;text-underline-offset:.25em}img{max-width:100%}.muted{color:var(--muted)}.small{font-size:.875rem}#logo{max-width:var(--logo-width)}.menu-item.menu-mobile-only,.menu-divider.menu-mobile-only{display:none}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--backdrop);background-attachment:fixed}.app-sheet{flex:1;margin:0 var(--panel-inset) 5px;background:var(--sheet);border-radius:0;overflow:clip;display:flex;flex-direction:column}.app-sheet>.main{flex:1}.header{margin:0 var(--panel-inset);background:var(--surface);box-shadow:0 12px 16px -12px #ec5b7840;position:sticky;top:0;z-index:10}.header-inner{padding:.75rem var(--header-pad);display:flex;align-items:center;gap:var(--header-gap);flex-wrap:wrap}.header .logo img{display:block;width:var(--logo-width);transform:translateY(3px)}.logo{font-family:var(--font-display);font-weight:600;font-size:1.25rem;color:var(--ink);text-decoration:none}.nav{display:flex;align-items:center;gap:.25rem;margin-left:var(--nav-offset)}.nav a{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;color:var(--muted);text-decoration:none;padding:.5rem var(--nav-link-pad);font-weight:600;white-space:nowrap;transition:color .15s}.nav a svg{color:var(--accent)}.nav a:after{content:"";position:absolute;left:var(--nav-link-pad);right:calc(var(--nav-link-pad) - .3rem);bottom:.1rem;height:3px;border-radius:3px;background:var(--accent);transform:scaleX(0);transition:transform .2s ease}.nav a:hover{color:var(--ink)}.nav a:hover svg{animation:icon-shake .5s ease-in-out}@keyframes icon-shake{0%,to{transform:rotate(0) scale(1)}15%{transform:rotate(-14deg) scale(1.12)}30%{transform:rotate(12deg) scale(1.12)}45%{transform:rotate(-9deg) scale(1.08)}60%{transform:rotate(6deg) scale(1.04)}75%{transform:rotate(-3deg) scale(1)}}@media(prefers-reduced-motion:reduce){.nav a:hover svg,.menu-item:hover svg{animation:none}}.nav a.active{color:var(--accent-text)}.nav a.active:after{transform:scaleX(1)}.user-menu{display:flex;align-items:center;gap:.5rem;margin-left:auto}.user-name{font-weight:400}.main{--main-pad-top: 3rem;--main-pad-x: clamp(1rem, 3vw, 2.5rem);padding:var(--main-pad-top) var(--main-pad-x) 4rem}@media(min-width:1024px){.main{--main-pad-x: var(--content-inset)}}.page-intro{--intro-bg: #fbd6df;--zigzag: 22px;margin:calc(-1 * var(--main-pad-top)) calc(-1 * var(--main-pad-x)) 0;padding:var(--main-pad-top) var(--main-pad-x) calc(4.5rem + var(--zigzag) / 2);background:var(--intro-bg);-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50% / var(--zigzag) 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50% / var(--zigzag) 100%}.page-intro h1{margin-bottom:0}.page-narrow{max-width:640px}.page-center{min-height:60vh;display:grid;place-items:center;padding:1rem}.page-head,.section-head,.list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.section{margin-top:2.5rem}.section-head h2{margin:0}.section-head{align-items:center;margin-bottom:1rem}.section-head.section-head-start{justify-content:flex-start;gap:.75rem}.section>h2{margin-bottom:1rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;margin-bottom:1.5rem}.actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.list-admin-actions{margin-top:1rem}.list-admin-actions .btn,.list-admin-actions .btn:hover{border-color:transparent}.list-admin-actions .btn{background:var(--surface)}.list-admin-actions .btn:hover{background:var(--cream)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.5rem 1.1rem;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s,transform .1s}.btn:hover{background:var(--surface-soft);border-color:#ecd3c6}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--accent-ink);box-shadow:var(--shadow-button)}.btn-primary:hover{background:var(--wine);border-color:var(--wine)}.btn-ghost{background:transparent}.btn-ghost:hover{background:var(--surface)}.btn-ghost:not(.btn-icon){border-color:#dcbcad}.btn-ghost:not(.btn-icon):hover{border-color:#c39784}.btn-danger-ghost{background:transparent;color:var(--danger);border-color:transparent}.btn-danger-ghost:hover{background:var(--danger-soft)}.btn>.icon-lead{margin-left:-.3rem}.btn-small{padding:.4rem .95rem;font-size:.875rem}.btn-block{width:100%}.form{display:flex;flex-direction:column;gap:1.25rem}.form-intro{margin:0 0 2rem}.field{display:flex;flex-direction:column;gap:.35rem;flex:1}.field>span,.fieldset legend{font-weight:600;font-size:.9rem}.field small{color:var(--muted)}.field-row{display:flex;gap:1rem;flex-wrap:wrap}input,textarea,select{font:inherit;color:inherit;padding:.65rem .9rem;border:1.5px solid #efd9cc;border-radius:var(--radius-small);background:var(--surface);width:100%;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #ec5b782e}input::placeholder,textarea::placeholder{color:#a88f86}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent)}input[type=file]{padding:.4rem}.file-pick{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.file-btn{width:fit-content;cursor:pointer}.file-btn svg{color:var(--accent)}.file-btn:focus-within{outline:3px solid var(--accent);outline-offset:2px}.file-name{min-width:0;font-size:.85rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}select{width:auto;padding:.45rem .75rem;border-radius:999px}.fieldset{border:none;padding:0;margin:1rem 0;background:none}.fieldset legend{padding:0;margin-bottom:.15rem}.fieldset>p,.fieldset>small{display:block;margin:0 0 .6rem}.fieldset.fieldset-plain{border:none;padding:0;background:none}.fieldset.fieldset-plain legend{padding:0}.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;margin-top:.5rem}.check{display:flex;align-items:center;gap:.5rem;cursor:pointer}.check-disabled{opacity:.5;cursor:not-allowed}.parent-list{list-style:none;margin:.5rem 0 .75rem;padding:0}.parent-list li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--line)}.card-wide{grid-column:1 / -1}.card-actions{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.75rem}.form-actions{display:flex;gap:.5rem;flex-wrap:wrap}.inline-form{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.inline-form input{flex:1;min-width:200px}.inline-form .alert{flex-basis:100%}.field-error{color:var(--danger);font-size:.875rem;margin:.25rem 0 0}.alert{border-radius:var(--radius-small);padding:.85rem 1.1rem;font-weight:500;margin:0 0 1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.alert-error{background:var(--danger-soft);color:var(--danger)}.alert-info{background:var(--blue-soft);color:var(--blue)}.loading{display:flex;flex-direction:column;align-items:center;padding:3rem 1rem}.spinner{position:relative;display:grid;place-items:center;width:72px;height:72px}.spinner-ring{position:absolute;border-radius:50%;top:0;right:0;bottom:0;left:0;background:conic-gradient(from 0deg,transparent 0deg,var(--yellow) 60deg,var(--orange) 130deg,var(--coral) 190deg,var(--rose) 260deg,var(--lavender) 330deg,transparent 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 5px));mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 5px));animation:spin 1s linear infinite}.spinner-gift{color:var(--accent-strong);animation:gift-wiggle 1.2s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes gift-wiggle{0%,to{transform:rotate(0) scale(1)}20%{transform:rotate(-12deg) scale(1.08)}40%{transform:rotate(10deg) scale(1.08)}60%{transform:rotate(-6deg) scale(1.02)}80%{transform:rotate(0) scale(1)}}@media(prefers-reduced-motion:reduce){.spinner-ring{animation-duration:3s}.spinner-gift{animation:none}}.empty{color:var(--muted);background:var(--surface);border:2px dashed #f5c9d3;border-radius:var(--radius);padding:1.5rem;margin:0}.badges{display:flex;gap:.35rem;flex-wrap:wrap}.badge{display:inline-block;font-size:.75rem;font-weight:600;padding:.2rem .65rem;border-radius:999px;background:var(--surface-soft);color:var(--muted);margin-left:.35rem;white-space:nowrap}.badges .badge{margin-left:0}.badge-gift{background:var(--accent-soft);color:var(--accent-text)}.badge-public{background:var(--green-soft);color:var(--green)}.badge-private{background:var(--blue-soft);color:var(--blue)}.title-badge{margin-left:.5rem;vertical-align:super;padding:.2rem .45rem;font-size:.7rem;line-height:1;letter-spacing:0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.35rem;color:inherit;text-decoration:none;display:flex;flex-direction:column;gap:.25rem}.card p{font-size:1rem;margin:0}.card-link{transition:box-shadow .15s,transform .15s}.card-link:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.card-top h3{margin:0}.card-date{font-weight:200}.card-recipient{font-weight:400;font-size:.8rem!important;text-transform:uppercase;letter-spacing:1px}.auth{min-height:100vh;display:grid;place-items:center;padding:1rem;background:var(--backdrop);background-attachment:fixed}.auth-card{position:relative;overflow:hidden;width:100%;max-width:500px;background:var(--surface);border-radius:24px;box-shadow:0 2px 6px #5b241814,0 24px 56px #55287c47;padding:2.25rem 2rem 2rem}.auth-logo{font-family:var(--font-display);font-weight:600;font-size:1.25rem;margin:0 0 1.5rem;text-align:center}.auth-card h1{margin-bottom:1.5rem}.auth-switch{margin:1.5rem 0 0;text-align:center;color:var(--muted)}.auth-hint{text-align:center;margin:.75rem 0 0}.link-username{font-weight:600;font-size:1.1rem;margin:0 0 1.25rem}.link-box{background:var(--green-soft);border:1px solid #bfe3c3;border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1rem}.member-list .link-box{flex-basis:100%;margin:.25rem 0}.link-box p{margin:.5rem 0}.link-box-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.link-box-row{display:flex;gap:.5rem}.link-box-row input{flex:1;min-width:0;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.85rem}.subhead{margin-top:1.75rem;font-size:1rem}.member-list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.member-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--line);flex-wrap:wrap}.member-list li:last-child{border-bottom:0}.member-name{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.member-name .avatar{margin-right:.35rem}.member-actions{display:flex;gap:.25rem}.user-search{display:flex;flex-direction:column;gap:.5rem}.search-results{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--radius-small)}.search-results li{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border-bottom:1px solid var(--line)}.search-results li:last-child{border-bottom:0}.list-head{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:2rem 1.75rem 1.75rem;margin-bottom:1.5rem}.list-head.page-intro{margin:calc(-1 * var(--main-pad-top)) calc(-1 * var(--main-pad-x)) 1.5rem;padding:var(--main-pad-top) var(--main-pad-x) calc(2.5rem + var(--zigzag) / 2);background:var(--intro-bg);border:none;border-radius:0;box-shadow:none}.list-head.page-intro:before{display:none}.list-head:before{content:"";position:absolute;inset:0 0 auto;height:10px;background:var(--stripes)}.list-head h1{margin-top:.5rem}.list-date{font-weight:600;margin:0;color:var(--accent-text)}.list-date .muted{color:var(--accent-text);font-weight:400;opacity:.8}.list-description{white-space:pre-line;max-width:60ch}.list-meta{display:flex;gap:1.5rem;flex-wrap:wrap;margin:0 0 .75rem}.list-meta>div{display:flex;align-items:baseline;gap:.3rem}.list-meta dt{color:var(--muted)}.list-meta dt:after{content:":"}.list-meta dd{margin:0;font-weight:600}.btn-icon{padding:.5rem;line-height:0}.btn.btn-icon,.btn.btn-icon:hover{border-color:transparent}.menu{position:relative}.menu>.btn-icon{transition:background-color .15s,color .15s}.menu>.btn-icon:hover,.menu>.btn-icon[aria-expanded=true]{background:var(--accent-soft);color:var(--accent-strong)}.menu-list{position:fixed;z-index:50;min-width:180px;max-width:calc(100vw - 16px);display:flex;flex-direction:column;padding:.4rem;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lift)}.menu-item{position:relative;display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem .8rem;border:none;border-radius:10px;background:none;font:inherit;font-weight:500;color:var(--ink);text-align:left;text-decoration:none;cursor:pointer}.menu-item svg{flex-shrink:0;color:var(--accent)}.menu-item:before{content:"";position:absolute;left:.15rem;top:.55rem;bottom:.55rem;width:3px;border-radius:3px;background:var(--accent);transform:scaleY(0);transition:transform .2s ease}.menu-item:hover,.menu-item:focus-visible{outline:none}.menu-item:hover:before,.menu-item:focus-visible:before,.menu-item.active:before{transform:scaleY(1)}.menu-item:hover svg{animation:icon-shake .5s ease-in-out}.menu-item:disabled{opacity:.5;cursor:not-allowed}.menu-divider{border:none;border-top:1px solid var(--line);margin:.3rem 0}.menu-item.active{font-weight:600;color:var(--accent-text)}.menu-item-danger,.menu-item-danger svg{color:var(--danger)}.menu-item-danger:before{background:var(--danger)}.wishes{display:flex;flex-direction:column;gap:.75rem}.wish{font:inherit;color:inherit;text-align:left;width:100%;padding:0;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s}.wish:hover,.wish-row:hover .wish{border-color:#f5b3c1;box-shadow:var(--shadow-lift)}.wish:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wish-full{opacity:.75}.wish-image{flex:none;width:88px;height:88px;object-fit:cover;background:var(--surface-soft);display:block}.wish-image.wish-image-empty{object-fit:contain;padding:.6rem}.wish-summary{flex:1;min-width:0;padding:.75rem 1rem .75rem 0;display:flex;flex-direction:column;gap:.35rem}.wish-reserved{flex:none;padding-right:1rem}.wish-row{position:relative}.wish-row.has-quick .wish{padding-right:7.5rem}.wish-row.has-menu .wish{padding-right:3rem}.wish-row.has-menu .wish-reserved{padding-right:0}.wish-row-menu .menu-item,.row-actions .menu-item{font-size:.875rem}.wish-row-menu{position:absolute;top:0;bottom:0;right:.6rem;display:flex;align-items:center}.wish-quick-reserve{position:absolute;top:0;bottom:0;right:1rem;height:fit-content;margin-block:auto}.wish-title{font-weight:600;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wish-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.wish-meta .badge,.wish-detail-top .badge{margin-left:0}.badge-partial{background:var(--yellow-soft);color:var(--yellow-ink)}.modal{border:none;padding:0;border-radius:24px;background:var(--surface);color:var(--ink);width:min(560px,calc(100% - 2rem));max-height:calc(100dvh - 2rem);overflow-y:auto;box-shadow:var(--shadow-lift)}.modal::backdrop{background:#5b241859;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-inner{position:relative;padding:1.5rem 1.75rem 1.75rem}.modal-head.modal-head-floating{position:absolute;z-index:1;top:2rem;right:2.25rem;margin:0}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.modal-head h2{margin:0;font-size:1.35rem;overflow-wrap:anywhere}.modal-close{flex:none;margin-left:auto;display:grid;place-items:center;padding:0;width:2.25rem;height:2.25rem;border:none;border-radius:50%;background:var(--surface-soft);color:var(--ink);cursor:pointer}.modal-close:hover{background:var(--accent-soft);color:var(--accent-text)}.modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wish-detail{display:flex;flex-direction:column;gap:.6rem}.wish-detail-info{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;margin:.75rem 0}.wish-detail.is-reserved .wish-detail-image{opacity:.55;filter:grayscale(.4)}.wish-detail.is-reserved .wish-detail-title,.wish-detail.is-reserved .price,.wish-detail.is-reserved .wish-description,.wish-detail.is-reserved .wish-link{color:var(--muted)}.wish-detail p{margin:0}.wish-detail-image{width:100%;max-height:320px;aspect-ratio:4 / 3;object-fit:contain;padding:1rem;background:var(--surface-soft);border-radius:var(--radius-small);display:block}.wish-detail-image.wish-image-empty{aspect-ratio:16 / 9;padding:1.5rem}.wish-status-bar{display:flex;align-items:center;justify-content:center;gap:.5rem 1rem;flex-wrap:wrap;padding:.5rem 0;border-bottom:1px solid var(--line)}.wish-status-bar .btn{font-size:.75rem;padding:.3rem .7rem;color:var(--muted)}.wish-status-bar .btn,.wish-status-bar .btn:hover{border-color:transparent}.wish-status-bar .btn-danger-ghost:hover{color:var(--danger)}.wish-status-bar .btn-ghost:hover{background:var(--surface-soft);color:var(--ink)}.wish-status-bar .btn svg{width:14px;height:14px}.wish-detail-title{margin:0;font-size:1.35rem;overflow-wrap:anywhere}.wish-detail-top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:1.1rem}.wish-description{white-space:pre-line}.price{font-weight:500;white-space:nowrap}.wish-link{display:inline-flex;align-items:center;gap:.25rem;font-weight:400;width:fit-content}.back-link{display:inline-flex;align-items:center;gap:.3rem}.wish-actions,.wish-admin{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.wish-actions{margin-top:auto;padding-top:.5rem;padding-bottom:1rem}.wish-admin.is-locked .wish-admin-label{opacity:.5}.wish-admin-label{font-size:.75rem;font-weight:600;color:var(--muted)}.wish-admin{justify-content:center;border-top:1px solid var(--line);padding-top:.75rem;margin-top:.25rem}.wish-admin .btn{font-size:.75rem;padding:.3rem .7rem;color:var(--muted)}.wish-admin .btn,.wish-admin .btn:hover{border-color:transparent}.wish-admin .btn svg{width:14px;height:14px}.wish-admin .btn-ghost:hover{background:var(--surface-soft);color:var(--ink)}.wish-admin .btn-danger-ghost:hover{color:var(--danger)}.reserved-by-me{color:var(--green);font-weight:400}.image-preview{position:relative;width:fit-content}.image-preview img{display:block;max-width:200px;max-height:200px;border-radius:var(--radius-small);object-fit:contain}.image-preview-remove{position:absolute;top:.4rem;right:.4rem;width:2rem;height:2rem;border:0;border-radius:50%;background:#0009;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer}.image-preview-remove:hover{background:var(--danger)}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.7rem 1rem;text-align:left;border-bottom:1px solid var(--line)}.table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;background:#fef8f3}.table tfoot td{font-weight:600;border-bottom:0}.table .num{text-align:right;white-space:nowrap}.history{margin-top:1rem}.history summary{cursor:pointer;font-weight:400;margin-bottom:.75rem}@media(max-width:640px){.header-inner{gap:.75rem}.nav{order:3;flex-basis:100%}.nav{margin-left:0}.nav a{flex:1;padding-inline:.5rem}.user-menu{margin-left:auto}.main{--main-pad-top: 2rem}.list-head{padding:1.25rem}.wish-image{width:72px;height:72px}.wish{gap:.75rem}.modal-inner{padding:1rem 1.1rem 1.25rem}}.split-rows{display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0 .5rem}.split-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.split-row input{width:8rem;text-align:right}.table .share{font-weight:500}.table tfoot .share{font-weight:600}.field>label{font-weight:500;font-size:.9rem}.input-with-button{display:flex;gap:.5rem;align-items:stretch}.input-with-button input{flex:1;min-width:0}.input-with-button .btn{white-space:nowrap}.price-group+.price-group{margin-top:.5rem}.price-group .subhead{margin:1.25rem 0 .75rem}.days-left{display:flex;align-items:center;gap:.5rem;margin:.5rem 0;font-weight:500}.days-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;width:2.6em;height:2.6em;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:.95rem;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.days-left-today{color:var(--accent-text)}.events{display:flex;flex-direction:column;gap:1.25rem}:root{--event-panel-width: calc((100% - 40px) / 3)}.event{display:grid;grid-template-columns:var(--event-panel-width) 1fr;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.event-tab-row{display:flex;align-items:baseline;gap:.6rem}.event-group{--tab-bg: var(--accent-strong);--tab-ink: var(--accent-ink)}.event-group.event-to-me{--tab-bg: var(--lavender);--tab-ink: var(--ink)}.event-group.event-santa{--tab-bg: var(--orange);--tab-ink: var(--ink)}.event-group.event-no-list{--tab-bg: var(--sky);--tab-ink: var(--ink)}.event-group.event-light{--tab-bg: #f9cbd5;--tab-ink: var(--accent-text)}.event-group.event-archived .event-kicker{filter:saturate(.45) brightness(1.05);opacity:.85}.event-group>.event-tab-row+.event{border-top-left-radius:0}.event-group>.event-tab-row+.event>.event-info{border-top-left-radius:0}.event-info{--event-bg: linear-gradient(135deg, #fbd9c4 0%, #f3b9c8 100%);--tab-bg: var(--accent-strong);--tab-ink: var(--accent-ink);border-radius:calc(var(--radius) - 1px) 0 0 calc(var(--radius) - 1px);display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.1rem .9rem .9rem 1.25rem;color:var(--ink);background:var(--event-bg)}.event-info{position:relative}.event-edit{position:absolute;top:.9rem;right:.9rem;display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:50%;background:#ffffff80;color:var(--ink);transition:background-color .15s,color .15s}.event-edit:hover{background:#fff;color:var(--accent-strong)}.event-edit:focus-visible{outline-color:var(--ink)}.event-info:has(.event-edit) .event-head{padding-right:2.25rem}.event-head{display:flex;align-items:center;gap:.5rem;width:100%}.event-title{min-width:0}.event-title-link{color:inherit;text-decoration:none}.event-title-link:focus-visible{outline-color:var(--ink)}.event-date{display:none;font-size:.85rem;font-weight:500}.date-badge{--badge-size: 40px;flex:none;display:flex;flex-direction:column;align-items:center;gap:.1rem;margin-left:calc(var(--badge-size) * -.125);color:var(--ink);line-height:1}.date-badge-cal{position:relative;width:var(--badge-size);height:var(--badge-size)}.date-badge-shape{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.date-badge-day{position:absolute;left:0;right:0;top:59%;transform:translateY(calc(-50% - 2px));text-align:center;font-size:.58rem;font-weight:600}.date-badge-month{margin-top:-2px;font-size:.56rem;font-weight:900;letter-spacing:.08em}.date-badge-day{top:66.7%;font-size:1.1rem;font-weight:600}.date-badge-month{top:30%;font-size:.5rem;font-weight:600;letter-spacing:.08em}.event-to-me .event-info{--event-bg: linear-gradient(135deg, #e6d9f5 0%, #cdb6ea 100%);--tab-bg: var(--lavender);--tab-ink: var(--ink);--badge-ink: #6c3d95}.event-santa .event-info{--event-bg: linear-gradient(135deg, #fdecbf 0%, #f8cd98 100%);--tab-bg: var(--orange);--tab-ink: var(--ink);--badge-ink: var(--yellow-ink)}.event-no-list .event-info{--event-bg: linear-gradient(135deg, #cfe9d9 0%, #bdd6eb 100%);--tab-bg: var(--sky);--tab-ink: var(--ink);--badge-ink: #2b5d8f}.event.event-solo,.event.event-light{grid-template-columns:1fr}.event.event-solo .event-info{border-radius:calc(var(--radius) - 1px)}.event-light .event-info{--event-bg: var(--surface);--tab-bg: #f9cbd5;--tab-ink: var(--accent-text);--badge-ink: var(--accent-text);color:var(--ink);border-radius:calc(var(--radius) - 1px)}.event-title .event-stats{margin-top:.15rem}.event-light .event-stats svg{color:inherit}.event-light .event-edit{background:var(--accent-soft);color:var(--accent-strong)}.event-light .event-edit:hover{background:var(--accent-strong);color:#fff}.event-light .event-link{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--accent-text)}.event-light .event-link:hover{background:#fbd0da;border-color:#fbd0da}.list-cards{grid-template-columns:repeat(3,var(--event-panel-width));gap:20px}.event-archived .event-info{filter:saturate(.45) brightness(1.05);opacity:.85}.event-info h3{margin:0;font-size:1.2rem;line-height:1.2;overflow-wrap:anywhere}.event-info p{margin:0}.event-kicker{display:inline-flex;align-items:baseline;gap:.35rem;margin:0;padding:.35rem .75rem .3rem;border-radius:8px 8px 0 0;background:var(--tab-bg);color:var(--tab-ink);white-space:nowrap;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.event-recipients{font-size:.9rem;opacity:.9}.event-recipients+.event-recipients{margin-top:-.35rem}.event-stats{display:flex;flex-wrap:wrap;gap:.25rem .9rem;font-size:.85rem;font-weight:500}.event-stats span{display:inline-flex;align-items:center;gap:.3rem}.event-link{margin-top:auto;border-color:#fff;color:var(--ink)}.event-info .event-link{background:var(--tab-bg);border-color:var(--tab-bg);color:var(--tab-ink);transition:filter .15s}.event-info .event-link:hover{background:var(--tab-bg);border-color:var(--tab-bg);filter:brightness(.9)}.event-info .event-link{margin:0 0 0 auto}.event-foot{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.5rem;width:100%;margin-top:auto;padding-top:.35rem}.event-to{display:flex;align-items:baseline;gap:.2rem;margin:0;color:var(--muted);font-weight:500;font-size:.78rem;opacity:.95}.event-for{color:var(--ink);font-weight:600;overflow-wrap:anywhere}.event-link:hover{background:var(--cream);border-color:var(--cream)}.event-link:focus-visible{outline-color:var(--ink)}.event-gifts{display:flex;flex-direction:column;padding:1.25rem 1.5rem;min-width:0}.event-gifts-head~.event-empty{flex:1;height:auto}.event-gifts-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem 1rem;flex-wrap:wrap;margin-bottom:.75rem}.event-gifts-head h4{margin:0;font-size:1.05rem}.event-gifts .table-wrap{box-shadow:none;border-radius:var(--radius-small)}.event-empty,.event-note{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.75rem;margin:0;padding:1.25rem;border:2px dashed #f5c9d3;border-radius:var(--radius-small);color:var(--muted)}.event-empty p{font-size:.9rem;margin:0}.event-note{border-color:var(--blue-soft);color:var(--blue);font-weight:500}.event-total{padding:.35rem .9rem;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.9rem;color:var(--muted)}.event-total strong{color:var(--ink);margin-left:.25rem}button.event-edit{border:none;cursor:pointer}.santa-title-row{display:flex;align-items:center;gap:.45rem}.santa-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;padding:0;border:none;border-radius:50%;background:none;color:inherit;cursor:pointer;transition:background-color .15s}.santa-menu-btn:hover,.santa-menu-btn[aria-expanded=true]{background:#ffffff80}.santa-menu-btn:focus-visible{outline-color:var(--ink)}.event-kicker svg{align-self:center}.santa-budget{display:inline-flex;align-items:center;gap:.3rem}.santa-budget svg{flex:none}.event-info .santa-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .9rem;margin-top:.15rem;font-size:.85rem;font-weight:500}.santa-secret{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;margin-top:.75rem}.santa-secret p{margin:0}.santa-label-row{display:flex;align-items:center;gap:.4rem}.santa-label{font-size:.85rem;font-weight:600}.santa-name{max-width:100%;font-size:1.35rem;font-weight:600;overflow-wrap:anywhere}.santa-name{margin-top:.1rem;cursor:pointer}.santa-name-hidden{color:transparent;text-shadow:0 0 12px rgba(91,36,24,.55);-webkit-user-select:none;user-select:none}.confetti{position:fixed;width:0;height:0;z-index:100;pointer-events:none}.confetti-piece{position:absolute;left:0;top:0;opacity:0;animation:confetti-fly 1.3s cubic-bezier(.2,.7,.4,1) forwards}@keyframes confetti-fly{0%{opacity:1;transform:translate(-50%,-50%) rotate(0)}45%{opacity:1;transform:translate(calc(var(--dx) - 50%),calc(var(--dy) - 50%)) rotate(calc(var(--spin) / 2))}to{opacity:0;transform:translate(calc(var(--dx) * 1.15 - 50%),calc(var(--dy) + 90px - 50%)) rotate(var(--spin))}}.santa-who{display:flex;flex-direction:column;align-items:center;padding:.6rem 1rem .7rem;border-radius:var(--radius-small);background:#ffffff73;gap:.15rem;min-width:0}.santa-name-row{display:flex;align-items:baseline;justify-content:flex-start;flex-wrap:wrap;gap:.25rem .85rem;max-width:100%}.santa-name-wrap{position:relative;display:inline-flex}.text-link.santa-name-link{font-size:1.35rem;text-align:left}.santa-name-link:focus-visible{outline-color:var(--ink)}.icon-btn.santa-eye.santa-eye-over{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#ffffff80}.icon-btn.santa-eye.santa-eye-over:hover{background:#fffc}.icon-btn.santa-eye{flex:none;width:28px;height:28px;border-radius:50%;background:none;color:var(--ink);transform:translateY(0);transition:background-color .15s}.icon-btn.santa-eye:hover{background:#ffffff80;color:var(--ink)}.history .events{margin-top:.5rem}.events .event{grid-template-columns:minmax(0,1fr)}.events .event-info{border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0}@media(min-width:721px){.events .event-info{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.75rem 2.5rem;min-height:0;padding:1.1rem 1.25rem}.events .event-info .event-head{width:auto;flex:0 1 auto}.events .event-info>.event-stats,.events .event-santa .event-info .santa-meta{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;white-space:nowrap}.events .event-info>.event-foot,.events .event-info>.event-link-wrap{width:auto;margin:0 0 0 auto;padding:0}.events .event-santa .event-info>.event-head{flex:1 0 auto;max-width:100%}.events .event-santa .santa-secret{flex:0 0 auto;width:auto;margin:0}.events .event-santa .santa-label{white-space:nowrap}.events .event-info h3{overflow-wrap:normal}}.event-gifts-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.3rem .75rem .3rem 1.25rem}.event-gifts-bar>.btn{padding-inline:.7rem;font-size:.85rem;border-color:transparent;background:none}.event-gifts-bar>.btn:hover{border-color:transparent;background:none}.event-gifts-bar>.btn:hover .icon-gift-plus{animation:icon-shake .5s ease-in-out}@media(prefers-reduced-motion:reduce){.event-gifts-bar>.btn:hover .icon-gift-plus{animation:none}}.event-gifts-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem 0;border:none;background:none;font:inherit;font-weight:600;color:var(--ink);cursor:pointer}.event-gifts-toggle .muted{font-weight:500}.event-gifts-toggle svg{flex:none;color:var(--accent);transition:transform .25s ease}.event-gifts-toggle.is-open svg{transform:rotate(180deg)}.event-gifts-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.event-gifts-collapse.is-open{grid-template-rows:1fr}.event-gifts-collapse-inner{display:block;min-height:0;overflow:hidden;visibility:hidden;transition:visibility 0s .3s}.event-gifts-collapse.is-open .event-gifts-collapse-inner{visibility:visible;transition:visibility 0s}.event-gifts-head{display:none}.event-gifts-collapse .event-gifts{padding:.25rem 1.25rem 1.25rem}@media(max-width:720px){.event{grid-template-columns:minmax(0,1fr)}.list-cards{grid-template-columns:1fr}.event-info{padding:1.2rem .9rem 1.4rem 1.25rem;border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0}.event-head .date-badge{display:none}.event-date{display:block;margin-top:.15rem}.event:not(.event-santa) .event-info{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:.75rem;row-gap:0;min-height:0}.event:not(.event-santa) .event-info :is(.event-head,.event-title){display:contents}.event:not(.event-santa) .event-info h3{grid-column:1;grid-row:1}.event:not(.event-santa) .event-info .event-date{grid-column:1;grid-row:2}.event:not(.event-santa) .event-info>.event-stats{grid-column:1 / -1;grid-row:3;margin-top:1.1rem}.event:not(.event-santa) .event-info .event-title .event-stats{grid-column:1;grid-row:3}.event:not(.event-santa) .event-info>.event-link-wrap{grid-column:1 / -1;grid-row:4}.event:not(.event-santa) .event-info:has(.event-edit) h3{padding-right:2.5rem}.event:not(.event-santa) .event-info>.event-foot{grid-column:2;grid-row:1 / span 2;align-self:start;width:auto;margin:0;padding:0}.event-santa .event-info{min-height:0;flex-direction:row;flex-wrap:wrap;align-items:stretch;gap:1rem}.event-santa .event-info>.event-head{width:auto;flex:1 0 auto;max-width:100%}.event-santa .event-info .santa-meta{margin-top:1.1rem}.event-santa .event-info h3{overflow-wrap:normal}.event-santa .santa-secret{flex:0 0 auto;width:auto;margin:0;justify-content:center}.event-santa .santa-label{white-space:nowrap}.event-gifts .col-optional{display:none}.event-gifts .table th,.event-gifts .table td{padding:.65rem .75rem}}.row-actions{text-align:right;white-space:nowrap;width:1%}.table .row-actions{text-align:right;padding-left:1rem;padding-right:.35rem}.row-actions .btn-icon{padding:.3rem}.row-actions .menu{display:flex;justify-content:flex-end}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--radius-small);background:none;color:var(--muted);cursor:pointer}.icon-btn+.icon-btn{margin-left:.15rem}.row-actions .icon-btn{width:1.6rem}.row-actions .icon-btn+.icon-btn{margin-left:0}.icon-btn:hover{background:var(--surface-soft);color:var(--ink)}.icon-btn-danger:hover{background:var(--danger-soft);color:var(--danger)}.title-with-icon .title-edit{align-self:flex-start;width:1.6rem;height:1.6rem;margin-left:-.3rem}.title-with-icon .title-edit svg{color:var(--muted)}.title-with-icon .title-edit:hover svg{color:var(--ink)}.icon-btn-danger-always{color:var(--danger)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.gift-editor>.muted:first-child{margin-top:0}.gift-subtitle{margin-top:0}.gift-editor>.gift-subtitle:first-child,.gift-editor>.gift-for-event:first-child{margin-top:-.75rem}.gift-editor .section{margin-top:1rem}.gift-editor .section>.card{background:var(--surface-soft);border:none;box-shadow:none;padding:1.1rem 1.35rem 1.2rem;gap:.45rem;margin-bottom:1.75rem}.gift-editor .section>.card .card-top{align-items:baseline;gap:1rem}.gift-editor .section>.card h3{font-size:1.1rem;line-height:1.3}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:50%;color:#fff}.profile-button{display:inline-flex;padding:0;border:none;border-radius:50%;background:none;cursor:pointer;transition:transform .15s}.profile-button:hover{transform:scale(1.06)}.profile-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-preview{display:flex;align-items:center;gap:1rem}.avatar-choices.avatar-choices-icons{display:grid;grid-template-columns:repeat(7,auto);justify-content:start}@media(max-width:420px){.avatar-choices.avatar-choices-icons{display:flex}}.profile-form{gap:1.75rem}.profile-form .form-actions{margin-top:.5rem}.profile-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:3rem;align-items:start}.profile-aside-label{margin:0 0 .5rem;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.profile-card{width:100%;max-width:340px;aspect-ratio:2 / 1;display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:var(--surface);border-radius:2px;box-shadow:0 1px 1px #5b24180f,0 4px 8px #5b24180f,0 16px 32px #55287c24}.profile-card-text{display:flex;flex-direction:column;min-width:0;max-width:100%}@media(max-width:720px){.profile-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}.profile-aside{order:-1;justify-self:center;width:min(100%,270px);padding:1.5rem 0;box-sizing:content-box}.profile-aside-label{display:none}.profile-card{gap:.85rem;padding:1rem 1.25rem}.profile-card .avatar{width:44px!important;height:44px!important}.profile-card .profile-card-name{font-size:1.05rem}}.profile-card-name{font-size:1.2rem;font-weight:600;overflow-wrap:anywhere}.avatar-choices{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.5rem}.avatar-choice{display:inline-flex;padding:3px;border:2px solid transparent;border-radius:50%;cursor:pointer}.avatar-choice:has(input:checked){border-color:var(--ink)}.avatar-choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.color-swatch{display:block;width:44px;height:44px;border-radius:50%}.page-notice{margin-top:1.25rem}.pagination{display:flex;justify-content:center;align-items:center;gap:.25rem;margin-top:1rem}.pagination-btn{display:inline-grid;place-items:center;min-width:2rem;height:2rem;padding:0 .4rem;border:none;border-radius:999px;background:none;font:inherit;font-size:.9rem;font-weight:600;color:var(--ink);cursor:pointer;transition:background-color .15s,color .15s}.pagination-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-text)}.pagination-btn.is-current{background:var(--accent-strong);color:var(--accent-ink)}.pagination-btn:disabled{opacity:.35;cursor:default}.title-row{display:flex;align-items:center;gap:.35rem;margin-bottom:.5rem}.title-row h1{margin:0}.title-with-icon{display:flex;align-items:center;gap:.6rem}.title-with-icon svg{flex:none;color:var(--accent)}.reserved-by{display:inline-flex;align-items:center}.reserved-by .avatar-stack{position:relative;margin-left:-8px}.avatar-stack{display:inline-flex;align-items:center}.avatar-stack .avatar{box-shadow:0 0 0 2px var(--surface)}.avatar-stack .avatar+.avatar{margin-left:-6px}.gift-people{margin-left:.4rem;vertical-align:middle}.breadcrumbs ol{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0 0 1.5rem;padding:0;font-size:.9rem}.breadcrumbs a{color:var(--muted);text-decoration:none;font-weight:400}.breadcrumbs a:hover{color:var(--accent-text);text-decoration:underline}.breadcrumbs [aria-current=page]{color:var(--ink);font-weight:500}.breadcrumbs-sep{display:inline-flex;color:var(--muted)}.create-group-form{display:flex;flex-direction:column;gap:.75rem}.create-group-row{margin-top:.5rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;flex-wrap:wrap}.child-title{display:flex;align-items:center;gap:.6rem}.child-groups{list-style:none;margin:0 0 .75rem;padding:0}.child-groups li{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--line)}.child-groups li:last-child{border-bottom:0}.child-groups li svg{flex:none;color:var(--accent)}.child-group-off{color:var(--muted);opacity:.6}.child-group-off svg{color:var(--muted)!important}.child-groups .text-link{font-weight:inherit}.child-list-main{display:flex;flex-direction:column;flex:1;min-width:0}.child-list-archived{opacity:.7}.card-top .actions{flex:none;flex-wrap:nowrap;gap:.25rem}.person-link{display:inline;padding:0;border:none;background:none;font:inherit;font-weight:600;color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em;cursor:pointer;transition:text-decoration-thickness .15s ease,text-underline-offset .15s ease}.person-link:hover{text-decoration-thickness:1.5px;text-underline-offset:.25em}.person-link:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.event-link-wrap{margin-top:.9rem}.event-link-wrap .person-link{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .95rem;border-radius:999px;background:#fff;color:var(--ink);font-size:.875rem;text-decoration:none}.event-link-wrap .person-link:hover{background:var(--cream)}.person{display:flex;flex-direction:column;gap:1rem}.person p{margin:0}.person-head{display:flex;align-items:center;gap:1rem}.person-name{font-size:1.35rem;font-weight:600}.person-edit{margin-left:auto}.person-about{white-space:pre-line;padding:1rem 1.15rem;border-radius:var(--radius-small);background:var(--surface-soft);border-left:4px solid var(--accent)}.person-prefs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.person-subhead{display:flex;align-items:center;gap:.4rem;margin:0 0 .5rem;font-size:1rem}.chips{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:999px;font-size:.875rem;font-weight:600}.chip-like{background:var(--mint-soft);color:var(--green)}.chip-dislike{background:var(--danger-soft);color:var(--danger)}.pref-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.5rem;list-style:none;margin:.75rem 0 0;padding:0}.pref{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .4rem .4rem .8rem;border:1.5px solid var(--line);border-radius:999px;background:var(--surface);transition:background-color .15s,border-color .15s}.pref-like{background:var(--mint-soft);border-color:#bcdcc6}.pref-dislike{background:var(--danger-soft);border-color:#f2c4bf}.pref-label{display:inline-flex;align-items:center;gap:.45rem;font-weight:500;min-width:0}.pref-buttons{display:inline-flex;gap:.2rem;flex:none}.pref-btn{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border:none;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;transition:background-color .15s,color .15s}.pref-btn:hover{background:var(--surface-soft);color:var(--ink)}.pref-btn-like[aria-pressed=true]{background:var(--green);color:#fff}.pref-btn-dislike[aria-pressed=true]{background:var(--danger);color:#fff}.pref-btn:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.santa-nudge{display:flex;align-items:center;gap:1rem 2.25rem;flex-wrap:wrap;margin:2.25rem 0 0}.santa-nudge-title svg{display:inline-block;vertical-align:-.2em;margin-left:.2rem;color:var(--ink)}.santa-nudge>div{flex:0 1 auto;min-width:200px}.santa-nudge p{margin:0}.santa-nudge-title{font-weight:600;font-size:1.05rem}.child-profile-link{display:inline-flex;align-items:center;gap:.4rem;width:fit-content;margin-top:.75rem;padding:.45rem .95rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font-weight:600;font-size:.9rem;text-decoration:none;transition:background-color .15s}.child-profile-link:hover{background:#fbd0da}.username{font-weight:600;color:var(--muted)}.text-link{display:inline;padding:0;border:none;background:none;font:inherit;font-weight:600;color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em;cursor:pointer;transition:text-decoration-thickness .15s ease,text-underline-offset .15s ease}.text-link:hover{text-decoration-thickness:1.5px;text-underline-offset:.25em}.text-link:disabled{opacity:.6;cursor:wait}.text-link:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.check-field{display:flex;flex-direction:column;gap:.15rem}.check-field>small{padding-left:calc(13px + .5rem);font-size:.875rem}.people-picker{display:flex;flex-direction:column;gap:.6rem}.people-chosen{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}.person-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .35rem .2rem .25rem;border-radius:999px;background:var(--accent-soft);font-size:.9rem;font-weight:500}.person-chip:not(:has(.person-chip-remove)){padding-right:.7rem}.person-chip-remove{display:inline-grid;place-items:center;width:1.3rem;height:1.3rem;padding:0;border:none;border-radius:50%;background:none;color:var(--accent-text);cursor:pointer}.person-chip-remove:hover{background:#fbd0da}.people-search{position:relative}.people-search input{width:100%}.people-suggestions{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;max-height:18rem;overflow-y:auto;list-style:none;margin:0;padding:.3rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-small);box-shadow:var(--shadow-lift)}.people-suggestion{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.45rem .6rem;border-radius:8px;cursor:pointer}.people-suggestion.is-active,.people-suggestion:hover{background:var(--accent-soft)}.people-suggestion.is-disabled{opacity:.5;cursor:not-allowed;background:none}.people-suggestion-empty{padding:.45rem .6rem;color:var(--muted);font-size:.9rem}.icon-gift-plus{position:relative;display:inline-flex;flex:none;margin-right:3px}.icon-gift-plus-badge{position:absolute;right:-4px;bottom:-3px;display:grid;place-items:center;width:10px;height:10px;border-radius:50%;background:var(--accent);color:#fff;box-shadow:0 0 0 1.5px var(--surface)}.btn-primary .icon-gift-plus-badge{background:#fff;color:var(--accent-strong);box-shadow:none}@media(max-width:640px){:root{--sheet-gap: 0px;--logo-width: 115px}.app{background:var(--sheet)}.app-sheet{border-radius:0;margin-bottom:0}.nav{display:none}.menu-item.menu-mobile-only{display:flex}.menu-divider.menu-mobile-only{display:block}.events,.list-cards{margin-inline:-.75rem}.table td{font-size:.9rem}.santa-nudge>div{flex:1 1 100%;min-width:0}.santa-nudge{margin-top:1.25rem}.page-intro{padding-bottom:calc(3rem + var(--zigzag) / 2)}.table td.row-actions{padding-left:.3rem;padding-right:.3rem}.row-actions .btn-icon{padding:.2rem}.event-gifts-collapse .event-gifts{padding-inline:.75rem}.main{--main-pad-x: 1.5rem}}@media(max-width:640px){.member-list,.alert-info{margin-inline:-.75rem}.modal .alert-info{margin-inline:0}.alert-info{font-size:.9rem}.member-list li{font-size:.9rem;padding:.65rem .75rem}.member-list .badge{font-size:.7rem}}.footer{margin:0 var(--panel-inset) var(--sheet-gap);padding:2.25rem clamp(1rem,3vw,2.5rem) 1.25rem;border-radius:0 0 28px 28px;background:var(--surface-soft);font-size:.875rem;color:var(--ink)}.footer-inner{display:flex;justify-content:space-between;gap:2rem 3rem;flex-wrap:wrap}.footer-brand{max-width:22rem}.footer-logo{width:100px;height:auto;display:block;margin-bottom:.6rem}.footer-brand p{margin:0}.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(9rem,12rem));gap:3rem}.footer-heading{margin:0 0 .5rem;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.footer-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.footer a{color:var(--ink);text-decoration:none}.footer a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}.footer .footer-bottom a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em;transition:text-decoration-thickness .15s ease,text-underline-offset .15s ease}.footer .footer-bottom a:hover{text-decoration-thickness:1.5px;text-underline-offset:.25em}.footer-bottom{display:flex;flex-wrap:wrap;gap:.35rem 1.5rem;margin:2rem 0 0;padding-top:1rem;border-top:1px solid rgba(74,32,24,.12);font-size:.8rem}@media(min-width:1024px){.footer{padding-inline:var(--content-inset)}}@media(max-width:640px){.footer{margin:0;padding:2rem 1.5rem 1.25rem;border-radius:0;border-top:1px solid var(--line);background:var(--surface-soft)}.footer-nav{grid-template-columns:repeat(2,auto);justify-content:start;gap:2.5rem}}
