body{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.wishlist-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));align-items:start}.wishlist-card{flex-direction:column;min-width:0;display:flex}.wishlist-card .wishlist-cover{aspect-ratio:1;flex:none;height:auto;min-height:0}.wishlist-info{flex:none;min-height:76px}.wishlist-info h3{overflow-wrap:anywhere}.new-list-card{aspect-ratio:1;min-height:0}.wish-grid:not(.compact) .wish-picture{aspect-ratio:1;height:auto}.wish-picture .picture-open>img{object-fit:contain}.notes-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));align-items:start;gap:16px;display:grid}.notes-grid .note-card{min-width:0;margin:0}.notes-grid .note-card:not(:has(.note-media)){min-height:240px}.note-media{aspect-ratio:1;background:var(--ww-surface-2);border-radius:16px;place-items:center;margin-bottom:16px;display:grid;overflow:hidden}.note-media img{object-fit:contain;width:100%;height:100%}.profile-id-summary{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.profile-id-summary code{-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;font-size:15px}.profile-overview{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.profile-avatar-block{flex-direction:column;flex:none;align-items:center;gap:8px;display:flex}.profile-avatar{background:var(--ww-accent-soft);width:72px;height:72px;color:var(--ww-text-primary);border:2px solid var(--ww-accent);border-radius:24px;flex:none;place-items:center;font-size:30px;font-weight:800;display:grid;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-avatar-actions{align-items:center;gap:4px;display:flex}.button.small{padding:6px 12px;font-size:13px}.profile-overview>div:nth-child(2){flex:1}.personal-id{gap:10px;max-width:100%;display:grid}.personal-id small{color:var(--ww-text-secondary);font-size:12px;line-height:1.5}.profile-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.profile-stats>div{background:var(--ww-surface-1);border:1px solid var(--ww-border);border-radius:20px;gap:6px;padding:18px;display:grid}.profile-stats strong{font-size:26px}.profile-stats span{color:var(--ww-text-secondary);font-size:12px}.profile-page form{max-width:720px}.quick-dock{z-index:35;position:fixed;bottom:82px;right:18px}.quick-dock-link{display:none}.quick-create-trigger{background:var(--ww-brand-gradient);width:56px;height:56px;color:var(--ww-on-brand);box-shadow:var(--ww-glow-action);cursor:pointer;border:0;border-radius:20px;place-items:center;display:grid}.quick-create-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.quick-create-grid>a,.quick-create-grid>button{border:1px solid var(--ww-border);background:var(--ww-surface-2);width:100%;min-height:88px;color:var(--ww-text-primary);text-align:left;font:inherit;border-radius:16px;align-items:center;gap:14px;padding:16px;text-decoration:none;display:flex}.quick-create-grid>a>svg,.quick-create-grid>button>svg{color:var(--ww-brand-fg);flex:none}.quick-utility-action{display:none}@media (max-width:800px){.quick-utility-action{grid-column:1/-1;display:flex}}.quick-create-grid strong{font-size:14px;display:block}.quick-create-grid small{color:var(--ww-text-secondary);margin-top:5px;font-size:12px;line-height:1.5;display:block}.event-start,.santa-start{justify-content:space-between;align-items:center;gap:16px;margin:22px 0;display:flex}.event-start h2,.santa-start h2{margin-bottom:8px}.event-start button,.santa-start button{flex-shrink:0;align-items:center;gap:8px;display:flex}.event-form-row{grid-template-columns:1fr 220px;gap:16px;display:grid}.event-reminder-chips{flex-wrap:wrap;gap:10px;display:flex}.event-reminder-chips label{border:1px solid var(--ww-border);background:var(--ww-surface-2);border-radius:14px;align-items:center;gap:8px;min-height:44px;padding:10px 12px;font-size:13px;display:flex}.event-upcoming{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;margin-bottom:24px;display:grid}.event-upcoming a{border:1px solid var(--ww-border);color:var(--ww-text-primary);border-radius:16px;align-items:center;gap:16px;padding:16px;text-decoration:none;display:flex}.event-date{color:var(--ww-brand-fg);font-weight:800}.event-upcoming strong,.event-upcoming small{display:block}.event-upcoming small{color:var(--ww-text-secondary);margin-top:4px}.studio .check-row{align-items:center;gap:10px;display:flex}.category-search{margin:16px 0}.categories-page .category-row{flex-wrap:wrap}.categories-page .category-row>div:first-of-type{min-width:0}.categories-page .category-row h3{overflow-wrap:anywhere}.category-delete-trigger{justify-content:center;align-items:center;gap:8px;display:flex}@media (max-width:800px){.quick-dock{bottom:calc(12px + env(safe-area-inset-bottom));background:var(--ww-glass-strong);border:1px solid var(--ww-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:22px;grid-template-columns:1fr 48px 1fr;align-items:center;gap:4px;padding:6px;display:grid;left:12px;right:76px}.quick-dock-link{text-align:center;min-height:48px;color:var(--ww-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10px;line-height:1.3;text-decoration:none;display:flex}.quick-dock-link[aria-current]{color:var(--ww-brand-fg);font-weight:800}.quick-create-trigger{border-radius:16px;width:48px;height:48px}.event-start,.santa-start{flex-direction:column;align-items:stretch}.event-start button,.santa-start button{justify-content:center}.event-form-row{grid-template-columns:1fr}.profile-stats{grid-template-columns:1fr 1fr}.profile-overview{align-items:flex-start}.personal-id{width:100%}}@media (max-width:480px){.quick-create-grid{grid-template-columns:1fr}.categories-page .friend-add-form{position:relative}.categories-page .friend-add-form button{width:100%}.categories-page .category-row{grid-template-columns:20px minmax(0,1fr) 44px;gap:12px;padding:14px;display:grid}.categories-page .category-row .category-delete-confirm{grid-column:1/-1}.category-delete-trigger{width:44px;padding:10px!important}.category-delete-trigger span{display:none}.category-delete-confirm .studio-actions{grid-template-columns:1fr;display:grid}.wishlist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wishlist-info{gap:6px;min-height:72px;padding:10px}.wishlist-info h3{font-size:12px;line-height:1.4}.wishlist-info p{font-size:10px}.wishlist-cover{gap:4px;padding:12px}.wishlist-cover .cover-doodle{font-size:20px}.wishlist-cover>svg{width:30px}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.quick-dock{background:var(--ww-surface-1);-webkit-backdrop-filter:none;backdrop-filter:none}}@media print{.quick-dock{display:none}}.wishlist-cover>.wishlist-thumbnail{object-fit:contain;width:100%;height:100%;padding:12px;position:absolute;inset:0}button.theme-switcher{cursor:pointer;place-items:center;padding:0;display:grid}.theme-feedback{background:var(--ww-surface-1);max-width:240px;color:var(--ww-text-primary);border:1px solid var(--ww-border);z-index:45;border-radius:12px;padding:12px;font-size:12px;position:fixed;bottom:70px;right:16px}.photo-board[data-measured=true]{display:block;position:relative}.photo-board[data-measured=true]>*{margin:0;position:absolute}.photo-board[data-measured=true] .wish-picture{height:auto;aspect-ratio:var(--photo-aspect,1)}.photo-board .picture-open>img,.photo-board .picture-open:hover>img{object-fit:contain;transform:none}.photo-board .add-wish-card{min-height:240px}@media print{.photo-board[data-measured=true]{display:grid;height:auto!important}.photo-board[data-measured=true]>*{position:relative;width:auto!important;top:auto!important;left:auto!important}}@media (max-width:760px){.sidebar.is-open{z-index:70}.sidebar-scrim{z-index:69}}.pwa-install-trigger{right:16px;bottom:calc(150px + env(safe-area-inset-bottom));z-index:35;background:var(--ww-surface-1);min-height:44px;color:var(--ww-text-primary);border:1px solid var(--ww-border);box-shadow:var(--ww-shadow-card);border-radius:16px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:700;display:flex;position:fixed}.pwa-install-content{color:var(--ww-text-primary);gap:16px;display:grid}.pwa-install-instructions,.pwa-reminders{background:var(--ww-surface-2);border:1px solid var(--ww-border);border-radius:16px;padding:16px}.pwa-install-content p{line-height:1.6}.pwa-reminders h3{align-items:center;gap:8px;display:flex}.pwa-reminders h3:not(:first-child){margin-top:24px}.pwa-reminders .button{white-space:normal;text-align:center}::placeholder{color:var(--ww-text-secondary);opacity:1}@media (max-width:800px){.pwa-install-trigger{bottom:calc(82px + env(safe-area-inset-bottom));justify-content:center;gap:0;width:48px;height:48px;padding:0}.pwa-install-trigger-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@media print{.pwa-install-trigger{display:none}}.people-navigation{flex-wrap:wrap;gap:8px;padding:16px clamp(16px,3vw,40px) 0;display:flex}.people-navigation a{border:1px solid var(--ww-border);background:var(--ww-surface-1);min-height:44px;color:var(--ww-text-primary);border-radius:14px;align-items:center;padding:10px 14px;font-size:13px;text-decoration:none;display:inline-flex}.people-navigation a[aria-current=page]{background:var(--ww-brand-soft);color:var(--ww-brand-fg);font-weight:700}.insights-tabs{margin-bottom:24px}.wish-card .wish-badge{background:var(--ww-surface-1);color:var(--ww-text-primary)}.wish-card .wish-badge.planned{background:var(--ww-surface-2);color:var(--ww-brand-fg)}.wish-card .wish-badge.received{background:var(--ww-success-soft);color:var(--ww-success)}.field-hint{color:var(--ww-text-secondary);opacity:1;font-size:12px}.onboarding-card{border:1px solid color-mix(in srgb, var(--ww-brand) 36%, var(--ww-border));background:radial-gradient(circle at 100% 0%, var(--ww-accent-soft), transparent 38%), linear-gradient(135deg, var(--ww-brand-soft), var(--ww-surface-1) 72%);color:var(--ww-text-primary);box-shadow:var(--ww-shadow-card);border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:16px;padding:18px;display:grid;position:relative;overflow:hidden}.section-page>.onboarding-card{margin:18px clamp(16px,3vw,40px) 0}.main-content>.onboarding-card{margin-bottom:24px}.home-hub>.onboarding-card{margin-top:24px}.onboarding-card-icon{background:var(--ww-brand);width:44px;height:44px;color:var(--ww-on-brand);box-shadow:var(--ww-glow-action);border-radius:14px;place-items:center;display:grid}.onboarding-card-label{color:var(--ww-brand-fg);letter-spacing:.04em;font-size:11px;font-weight:700}.onboarding-card h2{font-family:var(--sl-font-body);letter-spacing:-.02em;margin:4px 0 6px;font-size:18px;font-weight:700}.onboarding-card p{max-width:720px;color:var(--ww-text-secondary);margin:0;font-size:13px;line-height:1.55}.onboarding-card ol{flex-wrap:wrap;gap:8px;margin:13px 0 0;padding:0;list-style:none;display:flex}.onboarding-card li{border:1px solid var(--ww-border);background:var(--ww-surface-1);min-height:32px;color:var(--ww-text-primary);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.onboarding-card li svg{color:var(--ww-success);flex:none}.onboarding-card-close{border:1px solid var(--ww-border);background:var(--ww-surface-1);min-height:40px;color:var(--ww-text-primary);cursor:pointer;border-radius:12px;align-items:center;gap:6px;padding:9px 12px;font-size:12px;font-weight:600;display:inline-flex}.onboarding-card>[role=alert]{color:var(--ww-danger);grid-column:2/-1;font-size:12px}@media (max-width:600px){.onboarding-card{grid-template-columns:auto minmax(0,1fr);gap:12px;padding:15px}.onboarding-card-close{grid-column:2;justify-self:start}.onboarding-card ol{display:grid}.onboarding-card li{border-radius:12px}}.home-hub{max-width:920px;padding:clamp(20px, 4vw, 48px) var(--sl-page-gutter) clamp(40px, 6vw, 80px);margin:0 auto}.home-hub-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.home-hub-profile{color:var(--ww-text-primary);transition:background var(--sl-motion-normal);border-radius:999px;align-items:center;gap:10px;padding:6px 14px 6px 6px;font-weight:700;text-decoration:none;display:flex}.home-hub-profile:hover,.home-hub-profile:focus-visible{background:var(--ww-surface-2)}.home-hub-greeting{color:var(--ww-text-primary);animation:card-arrive .28s var(--motion-settle) both;margin:clamp(20px,4vw,36px) 0 clamp(20px,3vw,28px);font-size:clamp(20px,3vw,26px);font-weight:800}.home-hub-board-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;margin-bottom:24px;display:grid}.home-hub-board-button{background:linear-gradient(135deg, var(--ww-brand), #7b35ff);color:var(--ww-on-brand,#fff);transition:transform var(--sl-motion-normal), box-shadow var(--sl-motion-normal);animation:card-arrive .3s var(--motion-settle) both;border-radius:24px;align-items:center;gap:14px;padding:28px 24px;font-size:19px;font-weight:800;text-decoration:none;display:flex;position:relative}.home-hub-board-row .home-hub-board-button:nth-child(2){background:linear-gradient(135deg, var(--ww-accent), #aee51e);color:var(--ww-mapped-fg-6d793c,#3c4320);animation-delay:60ms}.home-hub-board-button:hover,.home-hub-board-button:focus-visible{box-shadow:var(--sl-shadow-card);transform:translateY(-2px)}.home-hub-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;display:grid}.home-hub-card{background:var(--ww-surface-1);border:1px solid var(--ww-border);color:var(--ww-text-primary);transition:transform var(--sl-motion-normal), box-shadow var(--sl-motion-normal);animation:card-arrive .32s var(--motion-settle) both;border-radius:24px;flex-direction:column;gap:10px;padding:24px;text-decoration:none;display:flex;position:relative}.home-hub-grid .home-hub-card:first-child{animation-delay:0s}.home-hub-grid .home-hub-card:nth-child(2){animation-delay:60ms}.home-hub-grid .home-hub-card:nth-child(3){animation-delay:.12s}.home-hub-card:hover,.home-hub-card:focus-visible{box-shadow:var(--sl-shadow-card);transform:translateY(-2px)}.home-hub-card strong{font-size:18px}.home-hub-card span{color:var(--ww-text-secondary);font-size:14px}.home-hub-card svg:first-child{color:var(--ww-brand-fg)}.home-hub-card:nth-child(2n) svg:first-child{color:var(--ww-success)}.home-hub-card:nth-child(2n):before{content:"";background:var(--ww-accent);border-radius:24px 0 0 24px;width:4px;position:absolute;inset:0 auto 0 0}.home-hub-card:nth-child(odd):before{content:"";background:var(--ww-brand-fg);border-radius:24px 0 0 24px;width:4px;position:absolute;inset:0 auto 0 0}.home-hub-card-arrow{color:var(--ww-text-secondary);position:absolute;top:20px;right:20px}.home-hub-board-button .home-hub-card-arrow{color:inherit;opacity:.8}@media (max-width:480px){.home-hub-header{text-align:left;justify-content:space-between}}.gc-calendar{background:var(--ww-surface-1);border:1px solid var(--ww-border);border-radius:16px;margin:12px 0;padding:clamp(8px,2vw,14px)}.gc-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.gc-toolbar-nav{align-items:center;gap:6px;display:flex}.gc-title{font-size:15px}.gc-weekdays{text-align:center;color:var(--ww-text-secondary);grid-template-columns:repeat(7,1fr);padding-bottom:4px;font-size:11px;font-weight:700;display:grid}.gc-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.gc-cell{border:1px solid var(--ww-border);background:var(--ww-surface-1);min-height:42px;max-height:72px;color:var(--ww-text-primary);text-align:left;cursor:pointer;transition:transform .15s var(--motion-settle), border-color .15s var(--motion-settle);border-radius:9px;flex-direction:column;align-items:flex-start;gap:1px;padding:4px;display:flex;overflow:hidden}.gc-cell:hover,.gc-cell:focus-visible{border-color:var(--ww-brand-fg);z-index:1;transform:scale(1.04)}.gc-calendar{animation:card-arrive .26s var(--motion-settle) both}.gc-cell-outside{color:var(--ww-text-disabled,var(--ww-text-secondary))}.gc-cell-today .gc-day-number{background:var(--ww-brand-gradient);color:var(--ww-on-brand,#fff);border-radius:999px;padding:0 7px}.gc-cell-selected{border-color:var(--ww-brand-fg);box-shadow:0 0 0 1px var(--ww-brand-fg) inset}.gc-day-number{font-size:11px;font-weight:700;line-height:16px}.gc-chips{flex-direction:column;gap:2px;width:100%;display:flex}.gc-chip{background:var(--ww-brand-soft);color:var(--ww-brand-fg);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;align-items:center;gap:3px;width:100%;padding:1px 5px;font-size:10px;display:flex;overflow:hidden}.gc-chip-wish{background:var(--ww-accent-soft);color:var(--ww-text-primary)}.gc-chip-holiday{background:var(--ww-warning-soft);color:var(--ww-warning)}.gc-cell-today{border-color:var(--ww-accent)}.gc-chip-more{color:var(--ww-text-secondary);font-size:10px}.gc-day-panel{background:var(--ww-surface-2);border:1px solid var(--ww-border);animation:card-arrive .22s var(--motion-settle) both;border-radius:16px;margin-top:10px;padding:12px}.gc-day-panel ul{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.gc-day-panel li{align-items:center;gap:8px;display:flex}@media (max-width:560px){.gc-cell{min-height:34px;padding:3px}.gc-chip{font-size:9px}.gc-day-number{font-size:11px}}.profile-header-actions{flex-wrap:wrap;gap:10px;display:flex}.section-sidebar-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.section-back{min-height:40px;color:var(--ww-text-primary);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:6px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.section-back:hover{background:var(--ww-surface-2)}.reservations-giver-link{margin-bottom:16px;display:inline-flex}.section-more{margin-top:6px}.section-more>summary{min-height:46px;font-family:var(--sl-font-body);color:var(--ww-text-secondary);cursor:pointer;border-radius:11px;align-items:center;gap:12px;padding:10px 13px;font-size:12px;font-weight:600;list-style:none;display:flex}.section-more>summary::-webkit-details-marker{display:none}.section-more>summary:hover{background:var(--ww-surface-2);color:var(--ww-text-primary)}.section-more>summary:before{content:"";width:7px;height:7px;transition:transform var(--sl-motion-normal,.15s);border-bottom:1.5px solid;border-right:1.5px solid;margin-left:auto;transform:rotate(-45deg)}.section-more[open]>summary:before{transform:rotate(45deg)}.section-more>.section-primary-links{margin-top:4px}.section-shell .app-back-header{display:none}.sidebar-static-nav{display:block}@media (max-width:760px){.sidebar{z-index:60;visibility:visible;border-right:0;border-bottom:1px solid var(--ww-border);width:100%;height:auto;max-height:none;box-shadow:var(--ww-shadow-glass);scrollbar-width:thin;flex-direction:row;align-items:center;gap:10px;padding:9px 12px;display:flex;position:sticky;inset:0;overflow:auto hidden;transform:none}.sidebar>.wordmark{z-index:2;background:var(--ww-surface-1);flex:none;padding:6px 10px 6px 0;position:sticky;left:0}.sidebar-caption,.workspace-label,.sidebar-bottom{display:none}.sidebar-static-nav,.sidebar .main-nav,.sidebar .section-links,.sidebar .section-primary-links{flex:none;align-items:center;gap:6px;margin:0;display:flex}.sidebar .main-nav{flex-direction:row}.sidebar .main-nav>button,.sidebar .section-links a,.sidebar .section-hub-pin{min-height:42px;font-family:var(--sl-font-body);white-space:nowrap;flex:none;padding:8px 11px;font-size:12px;font-weight:600}.sidebar .section-hub-pin{margin:0}.sidebar .main-nav>button.active:before{display:none}.main-shell{margin-left:0}.topbar{height:56px;padding:0 16px}.main-content{padding:20px 16px 0}.quick-dock{right:18px;bottom:calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;padding:0;display:block;left:auto}.quick-dock-link{display:none}.section-shell~.quick-dock,.section-shell~.theme-switcher{bottom:calc(82px + env(safe-area-inset-bottom))}.section-shell~.pwa-install-trigger{bottom:calc(146px + env(safe-area-inset-bottom))}body:has(.quick-dock) .pwa-install-trigger{display:none}}:is(body:has(.section-shell) .theme-switcher,body:has(.topbar) .theme-switcher,body:has(.home-hub-header) .theme-switcher){display:none}.app-back-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.mobile-primary-nav{display:none}@media (max-width:800px){.mobile-primary-nav{z-index:80;min-height:58px;padding:5px 10px calc(5px + env(safe-area-inset-bottom));border:1px solid var(--ww-border);background:var(--ww-glass-strong);-webkit-backdrop-filter:blur(18px);border-radius:20px 20px 0 0;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 10px 32px #19124333}.mobile-primary-nav a{width:100%;min-width:44px;min-height:48px;color:var(--ww-text-secondary);border-radius:15px;place-items:center;text-decoration:none;display:grid}.mobile-primary-nav a[aria-current=page]{color:var(--ww-brand-fg);background:var(--ww-brand-soft)}.mobile-primary-nav a:focus-visible{outline:3px solid var(--ww-focus);outline-offset:1px}.section-sidebar,.app-shell:not(.guest-mode)>.sidebar{display:none}.app-shell:not(.guest-mode) .topbar-wordmark{display:flex}.app-shell:not(.guest-mode) .main-shell{margin-left:0}.section-page,.app-shell:not(.guest-mode) .main-content{padding-bottom:calc(86px + env(safe-area-inset-bottom))}.section-shell~.quick-dock,.section-shell~.theme-switcher,.app-shell~.quick-dock,.app-shell~.theme-switcher{bottom:calc(84px + env(safe-area-inset-bottom))}.section-shell~.pwa-install-trigger,.app-shell~.pwa-install-trigger{bottom:calc(148px + env(safe-area-inset-bottom))}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.mobile-primary-nav{background:var(--ww-surface-1);-webkit-backdrop-filter:none}}@keyframes ww-select-drop{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}.ww-select{position:relative}.ww-select-trigger{background:var(--ww-surface-1);border:1.5px solid var(--ww-border);width:100%;min-height:44px;color:var(--ww-text-primary);text-align:left;transition:border-color .15s var(--motion-settle), background .15s var(--motion-settle);border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.ww-select-trigger span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ww-select-trigger:hover{border-color:var(--ww-accent)}.ww-select-trigger[aria-expanded=true]{border-color:var(--ww-accent);background:var(--ww-accent-soft)}.ww-select-chevron{transition:transform .15s var(--motion-settle);flex-shrink:0}.ww-select-trigger[aria-expanded=true] .ww-select-chevron{transform:rotate(180deg)}.ww-select-list{z-index:20;background:var(--ww-surface-1);border:1.5px solid var(--ww-border);max-height:260px;box-shadow:var(--ww-shadow-card,0 12px 28px #00000024);animation:ww-select-drop .16s var(--motion-settle) both;transform-origin:top;border-radius:14px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.ww-select-list button{width:100%;min-height:40px;color:var(--ww-text-primary);text-align:left;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;font-size:13px;font-weight:600;display:flex}.ww-select-list button:hover,.ww-select-list button.is-active{background:var(--ww-accent-soft)}.ww-select-list button[aria-selected=true]{color:var(--ww-text-primary);font-weight:800}.ww-select-list button[aria-selected=true] svg{color:var(--ww-accent)}@media (prefers-reduced-motion:reduce){.ww-select-list{animation:none}}
.fh-page{max-width:1400px}.fh-page>.people-navigation{margin-bottom:24px;padding:0}.fh-filter-row{flex-wrap:wrap;gap:16px;margin:24px 0;display:flex}.fh-filter-row label{flex:1;min-width:min(240px,100%)}.fh-event-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:18px;margin:24px 0;display:grid}.fh-event-card,.fh-guest-card,.fh-notification{border:1px solid var(--ww-border);background:var(--ww-surface-1);color:var(--ww-text-primary);overflow-wrap:anywhere;border-radius:20px;padding:24px}.fh-event-card h2 a{color:var(--ww-text-primary);text-decoration:none}.fh-event-card{border-top:3px solid var(--ww-border);animation:card-arrive .22s var(--motion-settle) both}.fh-event-accent-lime{border-top-color:var(--ww-accent)}.fh-event-accent-pink{border-top-color:var(--sl-pink-500,#f0accb)}.fh-event-accent-purple{border-top-color:var(--sl-purple-500,#6c5ce7)}.fh-eyebrow{align-items:center;gap:8px;display:flex}.fh-event-countdown{background:var(--ww-accent);color:var(--ww-text-primary);border-radius:999px;padding:2px 8px;font-size:10px;font-weight:800}.fh-steps{flex-wrap:wrap;gap:8px;margin:24px 0;display:flex}.fh-steps button{background:var(--ww-surface-1);border:1px solid var(--ww-border);min-height:44px;color:var(--ww-text-primary);border-radius:14px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.fh-steps button[aria-current=step]{background:var(--ww-brand-soft);color:var(--ww-brand-fg);font-weight:800}.fh-steps button span{font-weight:800}.fh-step-subheading{border-top:1px solid var(--ww-border);color:var(--ww-text-primary);margin:28px 0 4px;padding-top:20px;font-size:14px;font-weight:800}.fh-step-subheading:first-child{border-top:none;margin-top:0;padding-top:0}.fh-wizard-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);align-items:start;gap:28px;display:grid}.fh-wizard-form{background:var(--ww-surface-1);border:1px solid var(--ww-border);border-radius:22px;min-width:0;padding:24px}.fh-wizard-form fieldset{min-width:0}.fh-wizard-form>form>fieldset{border:0;margin:0;padding:0}.fh-wizard-form>form>fieldset>legend{margin-bottom:20px;font-size:22px;font-weight:700}.fh-wizard-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.fh-template-picker{grid-template-columns:1fr 1fr;gap:12px;display:grid}.fh-template-picker label{background:var(--ww-surface-2);border:1px solid var(--ww-border);min-height:48px;transition:border-color .15s var(--motion-settle), background .15s var(--motion-settle);border-radius:12px;align-items:center;gap:8px;padding:12px;display:flex;position:relative}.fh-template-picker label:has(input:checked){background:var(--ww-accent-soft);border-color:var(--ww-accent)}.fh-template-badge{color:var(--ww-text-primary);background:var(--ww-accent);white-space:nowrap;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:700}.fh-live-preview{min-width:0;position:sticky;top:24px}.fh-preview-toggle{display:none}.fh-invitation{--fh-paper:var(--ww-surface-1);--fh-ink:var(--ww-text-primary);--fh-muted:var(--ww-text-secondary);--fh-panel:var(--ww-surface-2);--fh-highlight:var(--ww-brand-fg);background:var(--fh-paper);color:var(--fh-ink);border:1px solid var(--ww-border);border-top:3px solid var(--ww-accent);box-shadow:var(--ww-shadow-card);animation:card-arrive .28s var(--motion-settle) both;border-radius:28px;overflow:hidden}.fh-invitation-brand{color:var(--fh-muted);justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;font-size:12px;display:flex}.fh-invitation-brand>a{color:var(--fh-ink);text-decoration:none}.fh-invitation-body{gap:18px;padding:clamp(20px,4vw,40px);display:grid}.fh-invitation .fh-invitation-title{font-family:var(--sl-font-display);overflow-wrap:anywhere;color:var(--fh-ink);font-size:clamp(24px,3vw,38px);line-height:1.3}.fh-invitation h2{color:var(--fh-ink);align-items:center;gap:8px;font-size:18px;display:flex}.fh-invitation p,.fh-invitation small{overflow-wrap:anywhere;line-height:1.65}.fh-invitation small,.fh-preview-note{color:var(--fh-muted)}.fh-invitation-hero{padding-bottom:12px;position:relative}.fh-eyebrow{color:var(--fh-highlight,var(--ww-brand-fg));font-size:12px;font-weight:700}.fh-ornament{color:var(--fh-highlight);margin:8px 0 18px;display:block}.fh-info-block{background:var(--fh-panel);color:var(--fh-ink);border:1px solid var(--ww-border);border-left:3px solid var(--ww-accent);animation:card-arrive .26s var(--motion-settle) both;border-radius:18px;padding:20px}.fh-info-block:nth-of-type(2){animation-delay:40ms}.fh-info-block:nth-of-type(3){animation-delay:80ms}.fh-info-block:nth-of-type(4){animation-delay:.12s}.fh-cover{aspect-ratio:16/9;background:var(--fh-panel)}.fh-cover img{object-fit:contain;width:100%;height:100%}.fh-multiline{white-space:pre-wrap;overflow-wrap:anywhere}.fh-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.fh-reference-grid img{aspect-ratio:1;object-fit:contain;background:var(--ww-surface-1);border-radius:12px;width:100%}.fh-template-minimal{box-shadow:none;border-radius:12px}.fh-template-minimal .fh-info-block{background:var(--fh-paper);border-top:2px solid var(--ww-border);border-radius:8px}.fh-template-elegant .fh-invitation-hero,.fh-template-romantic .fh-invitation-hero{text-align:center}.fh-template-elegant .fh-ornament,.fh-template-romantic .fh-ornament{margin-inline:auto}.fh-template-elegant .fh-invitation-title{font-family:Georgia,serif;font-size:clamp(30px,4vw,46px)}.fh-template-party{border:3px solid var(--ww-brand-fg)}.fh-template-party .fh-info-block{border-radius:24px 8px}.fh-template-romantic{border-radius:36px}.fh-template-dark{--fh-paper:#11101b;--fh-ink:#f7f5ff;--fh-muted:#b8b3c7;--fh-panel:#1d1a2b;--fh-highlight:#b79cff}.fh-template-dark .brand-name{color:var(--fh-ink)}.fh-palette-lime .fh-ornament{color:var(--ww-success)}.fh-palette-pink .fh-ornament{color:var(--ww-danger)}.fh-palette-night .fh-invitation-hero{border-bottom:2px solid var(--fh-highlight)}.fh-public-page{max-width:820px;margin:auto;padding:28px 18px 150px}.fh-public-page>p{color:var(--ww-text-primary)}.fh-public-error{background:var(--ww-danger-soft);border-radius:16px;padding:18px;color:var(--ww-danger)!important}.fh-rsvp{background:var(--ww-surface-1);color:var(--ww-text-primary);border:1px solid var(--ww-border);border-radius:24px;margin-top:24px;padding:clamp(20px,4vw,32px)}.fh-rsvp form{gap:16px;display:grid}.fh-rsvp label{gap:8px;margin-bottom:16px;display:grid}.fh-rsvp .check-row{align-items:flex-start;gap:10px;min-height:44px;margin-bottom:6px;display:flex}.fh-rsvp input:not([type=checkbox]):not([type=radio]),.fh-rsvp textarea,.fh-rsvp select{border:1px solid var(--ww-border);width:100%;min-height:44px;color:var(--ww-text-primary);background:var(--ww-input);border-radius:12px;padding:12px}.fh-rsvp textarea{min-height:100px}.fh-rsvp fieldset{border:1px solid var(--ww-border);border-radius:12px;min-width:0;margin:0 0 16px;padding:16px}.fh-rsvp form>fieldset{border:0;padding:0}.fh-rsvp button:not(.icon-button),.fh-push-controls button{border:1px solid var(--ww-border);min-height:44px;color:var(--ww-text-primary);background:var(--ww-surface-2);border-radius:12px;padding:12px 16px}.fh-rsvp .button{white-space:normal}.fh-calendar-link{white-space:normal;text-align:center;margin-top:24px;display:flex}.fh-honeypot{display:none!important}.fh-push-controls{line-height:1.6}.fh-push-controls form label{gap:8px;margin-block:12px;display:grid}@media (max-width:1000px){.fh-wizard-layout{grid-template-columns:1fr}.fh-live-preview{display:none;position:static}.fh-live-preview.is-open{display:block}.fh-preview-toggle{margin-bottom:16px;display:inline-flex}.fh-wizard-form{padding:18px}}@media (max-width:480px){.fh-steps{grid-template-columns:1fr 1fr;display:grid}.fh-template-picker{grid-template-columns:1fr}.fh-wizard-actions{grid-template-columns:1fr;display:grid}.fh-public-page{padding:16px 10px 150px}.fh-event-card,.fh-guest-card{padding:18px}.fh-invitation-brand{padding:16px}.fh-invitation-brand .brand-lockup{font-size:18px}.fh-rsvp input,.fh-rsvp textarea,.fh-rsvp select{font-size:16px}}@media print{.fh-steps,.fh-wizard-actions,.fh-push-controls{display:none}.fh-live-preview{display:block;position:static}}.fh-palette-lime:not(.fh-template-dark) .fh-invitation-hero{background:var(--ww-accent-soft);border-radius:20px;padding:20px}.fh-palette-pink:not(.fh-template-dark) .fh-invitation-hero{background:var(--ww-danger-soft);border-radius:20px;padding:20px}.fh-palette-night{--fh-paper:#11101b;--fh-ink:#f7f5ff;--fh-muted:#b8b3c7;--fh-panel:#1d1a2b;--fh-highlight:#b79cff}.fh-palette-night .brand-name{color:var(--fh-ink)}.fh-invitation .fh-info-block{background:var(--fh-panel);color:var(--fh-ink);margin:0;padding:20px;animation:none}.fh-invitation.fh-template-minimal .fh-info-block{background:var(--fh-paper)}.fh-invitation p{color:var(--fh-ink)}.fh-invitation .fh-eyebrow{color:var(--fh-highlight)}.fh-invitation .fh-preview-note{color:var(--fh-muted)}.fh-invitation .fh-invitation-hero .fh-eyebrow{color:var(--fh-ink)}.fh-extras-card{background:var(--ww-surface-1);color:var(--ww-text-primary);border:1px solid var(--ww-border);border-radius:24px;margin-top:24px;padding:clamp(20px,4vw,32px)}.fh-extras-card h2{align-items:center;gap:8px;display:flex}.fh-extras-card h2 svg{color:var(--ww-accent)}.fh-extras-card{border-top:3px solid var(--ww-accent);animation:card-arrive .28s var(--motion-settle) both}.fh-bring-list,.fh-timeline-list{gap:10px;margin:16px 0;padding:0;list-style:none;display:grid}.fh-bring-list li,.fh-timeline-list li{border:1px solid var(--ww-border);animation:card-arrive .22s var(--motion-settle) both;border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.fh-bring-list li>span,.fh-timeline-list li>span{flex:1}.fh-timeline-list li strong{color:var(--ww-brand-fg);min-width:52px}.fh-timeline-readonly li{background:var(--ww-surface-2,transparent)}.fh-empty{color:var(--ww-text-secondary);font-style:italic}.fh-bring-add,.fh-timeline-add{flex-wrap:wrap;gap:10px;display:flex}.fh-bring-add input,.fh-timeline-add input[type=text]{flex:1;min-width:min(100%,200px)}.fh-timeline-add input[type=time]{flex:none;width:110px}@media (max-width:480px){.fh-bring-list li,.fh-timeline-list li{flex-direction:column;align-items:stretch}}.fh-expense-list{gap:10px;margin:16px 0;padding:0;list-style:none;display:grid}.fh-expense-list li{border:1px solid var(--ww-border);border-left:3px solid var(--ww-accent);animation:card-arrive .22s var(--motion-settle) both;border-radius:14px;align-items:center;gap:12px;padding:10px 14px;display:flex}.fh-expense-list li>span{flex:1}.fh-expense-total{background:var(--ww-accent-soft);border-radius:12px;padding:10px 14px;font-weight:800;display:inline-block}.fh-expense-add,.fh-seating-add{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.fh-expense-add input[type=text],.fh-expense-add input:not([type]){flex:1;min-width:min(100%,160px)}.fh-seating-add input{flex:1;min-width:min(100%,200px)}.fh-seating-groups{flex-wrap:wrap;gap:8px;margin:16px 0;padding:0;list-style:none;display:flex}.fh-seating-groups li{background:var(--ww-accent-soft);border:1px solid var(--ww-accent);animation:card-arrive .2s var(--motion-settle) both;border-radius:999px;align-items:center;gap:6px;padding:7px 8px 7px 14px;font-size:13px;font-weight:700;display:flex}.fh-seating-guests{gap:8px;margin:0;padding:0;list-style:none;display:grid}.fh-seating-guests li{border:1px solid var(--ww-border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex}.fh-photo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:16px 0;display:grid}.fh-photo-grid figure{border:1px solid var(--ww-border);background:var(--ww-surface-2);animation:card-arrive .22s var(--motion-settle) both;border-radius:16px;margin:0;overflow:hidden}.fh-photo-grid img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.fh-photo-grid figcaption{color:var(--ww-text-secondary);justify-content:space-between;align-items:center;gap:6px;padding:8px 10px;font-size:11px;display:flex}.fh-photo-upload{cursor:pointer;max-width:100%;margin-top:12px;display:inline-flex;position:relative}.fh-photo-upload input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.fh-thanks-card{background:var(--ww-accent-soft);border-color:var(--ww-accent)}
