@font-face{font-family:Nunito;src:url(/fonts/Nunito_Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Nunito;src:url(/fonts/Nunito_SemiBold.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Nunito;src:url(/fonts/Nunito_Bold.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Nunito;src:url(/fonts/Nunito_ExtraBold.ttf)format("truetype");font-weight:800;font-display:swap}:root{--bg:#fbfbfb;--surface:#fff;--surface-2:#f1f1f1;--border:#e2e2e2;--text:#000;--text-on-dark:#fff;--text-2:#777;--text-3:#919191;--neutral-200:#c6c6c6;--primary:#ffc1b6;--primary-dark:#ff8383;--secondary:#ffe7b2;--danger:#ef4444;--success:#22c55e;--success-light:#dcfce7;--alert:#fef7cc;--alert-dark:#f0aa3f;--scrim:#00000073;--brand-gradient:linear-gradient(180deg, #ffe7b2 0%, #ffe0d3 35%, #ffd0c6 65%, #ffc1b6 100%);--xs:6px;--sm:8px;--md:12px;--lg:16px;--xl:20px;--xxl:24px;--xxxl:32px;--gutter:16px;--r-sm:10px;--r-card:20px;--r-card-lg:24px;--r-sheet:28px;--r-pill:999px;--sidebar-width:240px;--tabbar-height:64px;--main-width:100vw;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (min-width:900px){:root{--gutter:32px;--main-width:calc(100vw - var(--sidebar-width))}}*,:before,:after{box-sizing:border-box}html,body{overscroll-behavior-y:none;margin:0;padding:0}body{background-color:var(--bg);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}img{display:block}h1,h2,h3,h4,p{margin:0}.t-title32{font-size:32px;font-weight:800;line-height:40px}.t-title28{font-size:28px;font-weight:800;line-height:36px}.t-title24{font-size:24px;font-weight:800;line-height:32px}.t-title20{font-size:20px;font-weight:800;line-height:26px}.t-title34{font-size:34px;font-weight:800;line-height:42px}.t-emoji48{font-size:48px;line-height:58px}.t-body20{font-size:20px;font-weight:400;line-height:26px}.t-body20sb{font-size:20px;font-weight:600;line-height:26px}.t-body18m{font-size:18px;font-weight:500;line-height:24px}.t-body18{font-size:18px;font-weight:400;line-height:24px}.t-body18b{font-size:18px;font-weight:700;line-height:24px}.t-body16b{font-size:16px;font-weight:700;line-height:22px}.t-body16sb{font-size:16px;font-weight:600;line-height:22px}.t-body16{font-size:16px;font-weight:400;line-height:22px}.t-caption14sb{font-size:14px;font-weight:600;line-height:20px}.t-caption14{font-size:14px;font-weight:400;line-height:20px}.t-caption12b{font-size:12px;font-weight:700;line-height:16px}.c-2{color:var(--text-2)}.c-3{color:var(--text-3)}.c-primary-dark{color:var(--primary-dark)}.c-success{color:var(--success)}.c-danger{color:var(--danger)}.c-alert-dark{color:var(--alert-dark)}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pre-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.stack{flex-direction:column;display:flex}.row{flex-direction:row;align-items:center;display:flex}.scroll-row{width:var(--main-width);max-width:none;padding-inline:var(--gutter);scroll-padding-inline:var(--gutter);margin-inline-start:calc(-1 * var(--gutter));overflow-x:auto}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.gap-xs{gap:var(--xs)}.gap-sm{gap:var(--sm)}.gap-md{gap:var(--md)}.gap-lg{gap:var(--lg)}.gap-xl{gap:var(--xl)}.gap-xxl{gap:var(--xxl)}.center{justify-content:center;align-items:center}.between{justify-content:space-between}.page{width:100%;padding:var(--xxl) var(--gutter) var(--xxxl)}.page-narrow>*{max-width:720px}.breadcrumbs{align-items:center;gap:var(--xs);margin-bottom:var(--sm);color:var(--text-2);min-width:0;font-size:14px;font-weight:600;display:flex}.breadcrumbs a:hover{color:var(--text);text-decoration:underline}.breadcrumbs svg{color:var(--text-3);flex-shrink:0}.page-narrow>.page-header{max-width:none}.page-hero{margin-bottom:var(--xl);position:relative}.page-hero-cover{top:calc(-1 * var(--xxl));left:calc(-1 * var(--gutter));right:calc(-1 * var(--gutter));bottom:calc(-1 * var(--lg));position:absolute;overflow:hidden}.page-hero-cover>:first-child{height:100%!important}.page-hero-fade{background:linear-gradient(#fbfbfb00, var(--bg));height:120px;position:absolute;inset:auto 0 0}.page-hero>:not(.page-hero-cover){position:relative}.page-hero-title{text-align:center;margin-top:var(--md);align-items:center}.page-hero-title .row{justify-content:center}.page-hero-covered .page-hero-title{text-align:left;align-items:flex-start;margin-top:110px}.page-hero-covered .page-hero-title .row{justify-content:flex-start}.page-hero-emoji{font-size:70px;line-height:1.2}.page-hero-covered .breadcrumbs{border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);max-width:100%;padding:6px 12px;display:inline-flex}.wish-card{background:var(--surface-2);border-radius:12px;flex-direction:column;padding:2px;display:flex}.wish-card-favorite{background:linear-gradient(135deg, var(--secondary) 0%, #ffe0d380 35%, #ffd0c6 65%, var(--primary) 100%)}.wish-card-inner{background:var(--surface);border-radius:10px;flex:1;overflow:hidden}.wish-chip{color:var(--text-on-dark);background:var(--secondary);border-radius:6px;padding:6px;font-size:12px;font-weight:800;line-height:1;box-shadow:0 1px 2px #00000038}.wish-chip-primary{background:var(--primary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card)}.card-pad{padding:var(--lg)}.card-alert{background:var(--alert);border:1px solid var(--secondary);border-radius:var(--r-card);padding:var(--lg)}.empty-state{align-items:center;gap:var(--md);max-width:440px;padding:var(--xxl) 0;text-align:center;flex-direction:column;display:flex}.empty-state-icon{color:var(--text)}.dialog .empty-state{margin-inline:auto}.stat-card{min-width:160px;padding:var(--md) var(--lg);flex-direction:column;gap:2px;display:flex}.info-note{padding:var(--md) var(--lg);border-radius:var(--r-card);background:var(--surface-2);color:var(--text-2);align-items:flex-start}.info-note>svg{flex-shrink:0;margin-top:1px}.divider{background:var(--border);border:0;height:1px;margin:0}.btn{justify-content:center;align-items:center;gap:var(--sm);height:50px;padding:0 var(--xl);border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;font-size:16px;font-weight:700;line-height:22px;transition:opacity .12s,transform .12s;display:inline-flex}.btn:hover{opacity:.88}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:default;transform:none}.btn-primary{background:var(--text);border-color:var(--text);color:var(--text-on-dark)}.btn-brand{background:var(--primary-dark);border-color:var(--primary-dark);color:var(--text-on-dark)}.btn-danger{background:var(--surface);border-color:var(--danger);color:var(--danger)}.btn-quiet{background:var(--surface-2);border-color:var(--surface-2);color:var(--text-2)}.btn-small{height:38px;padding:0 var(--lg);font-size:14px}.btn-block{width:100%}.icon-btn{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-btn:hover{opacity:.85}.icon-btn:disabled{opacity:.4;cursor:default}.link-card{transition:border-color .12s}.link-card:hover{border-color:var(--text-3)}.link{color:var(--primary-dark);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.segmented{border-radius:var(--r-pill);background:var(--surface-2);gap:2px;padding:3px;display:inline-flex}.segmented button{height:34px;padding:0 var(--lg);border-radius:var(--r-pill);color:var(--text-2);cursor:pointer;background:0 0;border:0;font-size:14px;font-weight:700}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}.chip{height:36px;padding:0 var(--lg);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text);cursor:pointer;border:0;font-size:16px;font-weight:600}.chip[aria-pressed=true]{background:var(--text);color:var(--text-on-dark)}.row-btn{align-items:center;gap:var(--md);width:calc(100% + 2 * var(--xs));margin:calc(-1 * var(--xs));padding:var(--xs);border-radius:var(--r-sm);color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.row-btn:hover{background:var(--bg)}.self-stretch{align-self:stretch}.plain-btn{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.field{gap:var(--xs);flex-direction:column;display:flex}.field-label{font-size:14px;font-weight:700}.input,.textarea,.select{width:100%;min-height:50px;padding:0 var(--lg);border-radius:var(--r-card);background:var(--surface);border:1px solid var(--border);color:var(--text);outline:none;font-size:16px}.textarea{padding:14px var(--lg);resize:vertical;min-height:110px;line-height:22px}.input:disabled,.textarea:disabled,.select:disabled{background-color:var(--surface-2);color:var(--text-2);cursor:not-allowed}.input:focus,.textarea:focus,.select:focus{border-color:var(--text-3)}.input[type=search]::-webkit-search-cancel-button{appearance:none}.select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23919191' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:44px}.search-field{position:relative}.search-field .input{border-radius:var(--r-pill);padding-left:44px}.search-field>svg{color:var(--text-3);position:absolute;top:50%;left:16px;transform:translateY(-50%)}.search-field .input{padding-right:48px}.search-clear{width:34px;height:34px;color:var(--text-3);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.search-clear:hover{background:var(--surface-2)}.toggle{appearance:none;border-radius:var(--r-pill);background:var(--border);cursor:pointer;flex-shrink:0;width:51px;height:31px;margin:0;transition:background .15s;position:relative}.toggle:after{content:"";background:var(--surface);border-radius:50%;width:27px;height:27px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.toggle:checked{background:var(--success)}.toggle:checked:after{transform:translate(20px)}.card-grid{gap:var(--md);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}@media (min-width:700px){.card-grid{gap:var(--lg);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.wishlist-grid{gap:var(--md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.wish-layout{gap:var(--xxl);grid-template-columns:minmax(0,1fr);max-width:1000px;display:grid}@media (min-width:900px){.wish-layout{grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:start}}.santa-layout{gap:var(--xxl);grid-template-columns:minmax(0,1fr);max-width:720px;display:grid}@media (min-width:1200px){.santa-layout-split{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;max-width:1100px}}.list{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);flex-direction:column;display:flex;overflow:hidden}.list-row{align-items:center;gap:var(--md);padding:var(--md) var(--lg);text-align:left;width:100%;min-height:56px;color:var(--text);background:0 0;border:0;display:flex}.list-row+.list-row{border-top:1px solid var(--border)}a.list-row:hover,button.list-row:hover{background:var(--bg);cursor:pointer}.avatar{color:var(--text-on-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.spinner{border:2px solid var(--border);border-top-color:var(--text-2);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg, var(--surface-2) 0%, var(--border) 50%, var(--surface-2) 100%);border-radius:var(--r-sm);background-size:200% 100%;animation:.2s .3s both appear,1.4s ease-in-out infinite shimmer}@keyframes appear{0%{opacity:0}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.badge{border-radius:var(--r-pill);background:var(--danger);min-width:18px;height:18px;color:var(--text-on-dark);text-align:center;padding:0 5px;font-size:11px;font-weight:800;line-height:18px}.pill{border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-2);align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.pill-success{background:var(--success-light);color:var(--success)}@media (max-width:599px){.hide-narrow{display:none}}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dialog-backdrop{z-index:50;background:var(--scrim);justify-content:center;align-items:flex-end;animation:.16s fade;display:flex;position:fixed;inset:0}.dialog{background:var(--bg);border-radius:var(--r-sheet) var(--r-sheet) 0 0;width:100%;max-width:560px;max-height:92vh;padding:var(--xl) var(--xl) calc(var(--xxl) + env(safe-area-inset-bottom));animation:.2s rise;overflow-y:auto}@media (min-width:700px){.dialog-backdrop{align-items:center}.dialog{border-radius:var(--r-sheet);padding-bottom:var(--xxl)}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}.pro-badge{border-radius:var(--r-pill);background:linear-gradient(135deg, var(--secondary), var(--primary-dark));color:var(--text-on-dark);letter-spacing:.02em;white-space:nowrap;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:800;line-height:1.3;display:inline-block}.pro-badge-small{padding:0 5px;font-size:10px}.emoji-input-wrap{display:flex;position:relative}.emoji-input-wrap>.pro-badge{pointer-events:none;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}.reservation-blurred>.pro-badge{filter:none}.reservation-blurred{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.reservation-blurred>*{filter:blur(5px)}.emoji-picker{padding:var(--md);border-radius:var(--r-card);background:var(--surface);border:1px solid var(--border)}.emoji-grid{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:2px;display:grid}.emoji-grid button{border-radius:var(--r-sm);cursor:pointer;background:0 0;border:0;height:40px;font-size:24px}.emoji-grid button:hover{background:var(--surface-2)}.emoji-grid button[aria-selected=true]{background:var(--primary)}.emoji-input{text-align:center;cursor:pointer;flex-shrink:0;width:56px;padding:0;font-size:26px}
