:root{--paper:#f4f1ea;--paper-sunken:#ebe6db;--card:#fffdf8;--white:#fff;--grid-line:#1212120b;--ink:#121212;--ink-soft:#2c2a27;--muted:#6b665e;--line:#1212121f;--line-strong:#12121238;--coral:#f2503b;--coral-deep:#c3311d;--coral-soft:#ffe2dc;--blush:#f6cfc8;--zap:#e6ff4a;--zap-soft:#f5ffc4;--mint:#cdeedb;--green:#17824a;--sky:#cfe2f6;--lilac:#e0d7f7;--font-display:"Bricolage Grotesque", "Geist", ui-sans-serif, system-ui, sans-serif;--font-body:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--radius-xl:32px;--radius-lg:24px;--radius-md:16px;--radius-sm:12px;--shadow-pop:6px 6px 0 var(--ink);--shadow-soft:0 1px 0 #1212120a, 0 18px 40px -24px #12121247;--ease-out:cubic-bezier(.22, 1, .36, 1);color:var(--ink);background:var(--paper);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-width:320px;min-height:100vh;color:var(--ink);background-color:var(--paper);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:32px 32px;margin:0}#root{min-height:100vh}h1,h2,h3{color:var(--ink);font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;margin:0;font-weight:800;line-height:.98}h2{font-size:clamp(1.6rem,2.4vw,2.1rem)}h3{letter-spacing:-.02em;font-size:1.25rem;line-height:1.1}p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%}svg{flex:none}::selection{color:var(--ink);background:var(--zap)}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.eyebrow{color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;margin:0 0 10px;font-size:.72rem;font-weight:500;line-height:1.2;display:inline-flex}.eyebrow:before{background:var(--coral);content:"";border-radius:2px;flex:none;width:8px;height:8px;transform:rotate(12deg)}.panel-subtitle,.muted-copy,.field-help{color:var(--muted)}.panel-subtitle{font-family:var(--font-mono);letter-spacing:.02em;margin-top:8px;font-size:.78rem}.muted-copy{font-size:.94rem}.field-help{font-size:.84rem;line-height:1.45}.success-copy,.error-copy{border-radius:var(--radius-sm);align-items:center;gap:8px;padding:12px 16px;font-weight:600;display:flex}.success-copy{color:#0d5a32;background:var(--mint)}.error-copy{color:var(--coral-deep);background:var(--coral-soft)}.status-pill{color:var(--ink);background:var(--zap);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:.72rem;display:inline-flex}.status-pill:before{background:var(--ink);content:"";border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite alternate pulse}@keyframes pulse{0%{opacity:.25}to{opacity:1}}.primary-button,.secondary-button,.ghost-button,.icon-text-button,.rsvp-choice-button{min-height:46px;font-family:var(--font-body);letter-spacing:-.005em;white-space:nowrap;transition:background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .2s var(--ease-out), transform .2s var(--ease-out);border:1.5px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:.94rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.primary-button svg,.secondary-button svg,.ghost-button svg,.icon-text-button svg,.rsvp-choice-button svg{width:18px;height:18px}.primary-button{color:var(--paper);background:var(--ink)}.primary-button:hover:not(:disabled){color:var(--ink);background:var(--coral);box-shadow:4px 4px 0 var(--ink);transform:translate(-2px,-2px)}.primary-button:active:not(:disabled){box-shadow:0 0 0 var(--ink);transform:translate(0)}.secondary-button,.icon-text-button{border-color:var(--line-strong);color:var(--ink);background:var(--card)}.secondary-button:hover:not(:disabled),.icon-text-button:hover:not(:disabled){border-color:var(--ink);background:var(--white)}.ghost-button{color:var(--ink);background:0 0;border-color:#0000}.ghost-button:hover:not(:disabled){background:#1212120f}.ghost-button.compact,.compact-action{min-height:36px;padding:0 14px;font-size:.84rem}.ghost-button.compact svg,.compact-action svg{width:16px;height:16px}.danger-action{color:var(--coral-deep)}.secondary-button.danger-action:hover:not(:disabled){border-color:var(--coral-deep);color:var(--coral-deep);background:var(--coral-soft)}.primary-button.destructive-button{color:var(--white);background:var(--coral-deep)}.primary-button.destructive-button:hover:not(:disabled){color:var(--white);background:#a3260f}.full-width{width:100%}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.icon-text-button:disabled,.rsvp-choice-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.42}.icon-button{border:1.5px solid var(--line-strong);width:44px;height:44px;color:var(--ink);background:var(--card);border-radius:14px;place-items:center;padding:0;transition:background-color .16s,border-color .16s;display:inline-grid}.icon-button:hover:not(:disabled){border-color:var(--ink)}.icon-button svg{width:20px;height:20px}label{gap:8px;min-width:0;display:grid}label>span:first-child,.field-label{color:var(--ink-soft);font-size:.86rem;font-weight:600}.field-label{align-items:baseline;gap:6px;display:inline-flex}.required-mark{color:var(--coral-deep);font-weight:700}.optional-mark{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:400}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{border:1.5px solid var(--line-strong);width:100%;min-height:50px;color:var(--ink);background:var(--white);appearance:none;border-radius:14px;outline:none;padding:12px 16px;font-size:1rem;line-height:1.35;transition:border-color .14s,box-shadow .16s,background-color .14s}input::placeholder,textarea::placeholder{color:#9b958b}input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{border-color:#12121266}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 4px var(--zap)}select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23121212' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:16px;padding-right:44px}textarea{resize:vertical;min-height:120px}input[type=date],input[type=time]{min-width:0}input.invalid,select.invalid,textarea.invalid,input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--coral-deep);background-color:#fff6f4}.readonly-input,input[readonly]{color:var(--muted);background:var(--paper-sunken);border-style:dashed}.field-error{color:var(--coral-deep);align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:flex}.field-error:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--ink);cursor:pointer;flex:none;margin:0}.checkbox-field{border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--white);cursor:pointer;align-items:flex-start;gap:12px;padding:14px 16px;transition:border-color .14s;display:flex}.checkbox-field:hover{border-color:var(--line-strong)}.checkbox-field:has(input:checked){border-color:var(--ink);background:var(--zap-soft)}.checkbox-field>span:first-child,.checkbox-field span{color:var(--ink);font-size:.94rem;font-weight:500;line-height:1.4}.checkbox-field small{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;font-size:.7rem}.form-stack,.form-grid,.address-field-grid,.coordinate-field-grid,.location-fields{gap:18px;display:grid}.form-grid.two-columns,.address-field-grid,.coordinate-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.location-mode-toggle>span{gap:2px;display:grid}.location-mode-toggle small{color:var(--muted);font-family:var(--font-body);text-transform:none;font-size:.82rem;font-weight:400}.coordinate-field-grid input{font-family:var(--font-mono);letter-spacing:.01em}.coordinate-tools{flex-wrap:wrap;align-items:center;gap:10px 18px;display:flex}.coordinate-map-link{width:fit-content;color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.03em;text-decoration:underline;-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-underline-offset:4px;align-items:center;gap:6px;font-size:.74rem;text-decoration-thickness:2px;display:inline-flex}.coordinate-map-link:hover{color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.coordinate-map-link svg{width:14px;height:14px}.location-fields textarea{min-height:96px}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.full-span{grid-column:1/-1}.form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}fieldset{border:0;min-width:0;margin:0;padding:0}legend{color:var(--ink);font-family:var(--font-display);letter-spacing:-.015em;margin-bottom:12px;padding:0;font-size:1.05rem;font-weight:700}.message-banner{border:1.5px solid var(--ink);border-radius:var(--radius-md);background:var(--white);box-shadow:4px 4px 0 var(--ink);animation:rise-in .36s var(--ease-out) both;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;padding:16px 18px 16px 20px;display:flex}.message-banner.success{background:var(--mint)}.message-banner.error{background:var(--coral-soft)}.message-banner strong{font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:2px;font-size:1.05rem;font-weight:700;display:block}.message-banner p{color:var(--ink-soft);font-size:.92rem}.message-banner ul{color:var(--ink-soft);margin:8px 0 0;padding-left:18px;font-size:.88rem}.message-banner .ghost-button{flex:none}.message-banner.floating{z-index:60;width:min(440px,100vw - 48px);max-height:calc(100vh - 48px);animation:toast-in .32s var(--ease-out) both;margin:0;position:fixed;top:24px;right:24px;overflow-y:auto}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (width<=560px){.message-banner.floating{width:auto;top:12px;left:16px;right:16px}}.brand-mark{align-items:center;gap:12px;display:flex}.brand-monogram,.brand-mark.large span{width:44px;height:44px;color:var(--ink);background:var(--coral);box-shadow:3px 3px 0 var(--zap);font-family:var(--font-display);border-radius:12px;place-items:center;font-size:1.5rem;font-weight:800;line-height:1;display:grid;transform:rotate(-6deg)}.brand-word{font-family:var(--font-display);letter-spacing:-.04em;font-size:1.35rem;font-weight:800}.auth-shell{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:20px;min-height:100vh;padding:20px;display:grid}.auth-brand{border-radius:var(--radius-xl);background:var(--blush);min-height:calc(100vh - 40px);animation:rise-in .6s var(--ease-out) both;flex-direction:column;justify-content:space-between;gap:32px;padding:clamp(28px,4vw,56px);display:flex;position:relative;overflow:hidden}.auth-brand-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.auth-brand-top .eyebrow{margin:0}.auth-poster{-webkit-user-select:none;user-select:none;gap:clamp(4px,1vw,12px);margin:auto 0;display:grid}.auth-poster-row{flex-wrap:nowrap;gap:clamp(2px,.6vw,10px);display:flex}.auth-poster-row:nth-child(2){padding-left:clamp(24px,6vw,96px)}.poster-letter{color:var(--coral);font-family:var(--font-display);letter-spacing:-.04em;text-shadow:.045em .045em 0 var(--zap);transform:rotate(var(--r,0deg)) translateY(var(--y,0));animation:letter-drop .7s var(--ease-out) both;animation-delay:var(--d,0s);font-size:clamp(4.4rem,11.5vw,11rem);font-weight:800;line-height:.82;display:inline-block}.poster-letter.ink{color:var(--ink);text-shadow:.045em .045em 0 var(--coral)}@keyframes letter-drop{0%{opacity:0;transform:rotate(calc(var(--r,0deg) * -2)) translateY(-28px)}to{opacity:1;transform:rotate(var(--r,0deg)) translateY(var(--y,0))}}.auth-brand h1{max-width:14ch;font-size:clamp(2rem,3.6vw,3.4rem);line-height:.95}.auth-metrics{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.auth-metrics span{border:1.5px solid var(--ink);color:var(--ink);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:#fff6;border-radius:999px;padding:8px 14px;font-size:.72rem}.auth-metrics span:nth-child(2){background:var(--zap)}.auth-panel{border:1.5px solid var(--line);border-radius:var(--radius-xl);background:var(--card);animation:rise-in .6s .12s var(--ease-out) both;flex-direction:column;justify-content:center;gap:24px;padding:clamp(28px,4vw,64px);display:flex}.auth-panel>*{width:100%;max-width:440px;margin-inline:auto}.auth-panel h2{letter-spacing:-.045em;font-size:clamp(2.4rem,4vw,3.6rem)}.auth-panel .message-banner{margin-bottom:0}.auth-panel .primary-button{min-height:54px;margin-top:6px;font-size:1rem}.segmented-control{background:var(--paper-sunken);border-radius:999px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.segmented-control button{min-height:42px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:0 0;border:0;border-radius:999px;font-size:.76rem;transition:background-color .16s,color .16s}.segmented-control button:hover{color:var(--ink)}.segmented-control button.active{color:var(--paper);background:var(--ink)}.app-shell{grid-template-columns:264px minmax(0,1fr);gap:20px;min-height:100vh;padding:20px;display:grid}.sidebar{border:1px solid var(--line);border-radius:var(--radius-xl);height:calc(100vh - 40px);color:var(--ink);background:var(--card);box-shadow:var(--shadow-soft);flex-direction:column;gap:40px;padding:24px 16px;display:flex;position:sticky;top:20px;overflow:hidden}.sidebar:after{color:var(--coral);content:"J!";font-family:var(--font-display);letter-spacing:-.06em;opacity:.9;pointer-events:none;text-shadow:5px 5px 0 var(--zap);font-size:6.5rem;font-weight:800;line-height:.8;position:absolute;bottom:18px;right:34px;transform:rotate(-10deg)}@media (height<=640px){.sidebar:after{display:none}}.sidebar .brand-mark{padding:0 8px}.sidebar .brand-word{color:var(--ink)}.nav-stack{z-index:1;gap:4px;display:grid;position:relative}.nav-stack .icon-button{width:100%;height:48px;color:var(--muted);text-align:left;transition:background-color .16s ease, color .16s ease, transform .2s var(--ease-out);background:0 0;border:0;border-radius:14px;justify-content:flex-start;align-items:center;gap:12px;padding:0 14px;display:flex}.nav-stack .icon-button:hover{color:var(--ink);background:var(--paper-sunken)}.nav-stack .icon-button.active{color:var(--ink);background:var(--zap)}.nav-label{font-size:.95rem;font-weight:600}.workspace{min-width:0;padding:clamp(8px,2vw,28px) clamp(4px,2vw,32px) 64px}.workspace>section{max-width:1240px;animation:rise-in .42s var(--ease-out) both}.topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 24px;max-width:1240px;margin-bottom:clamp(28px,4vw,48px);display:grid}.topbar>div:first-child{display:contents}.topbar .eyebrow{grid-area:1/1;margin:0}.topbar-actions{grid-area:1/2}.topbar h1{letter-spacing:-.045em;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;grid-area:2/1/auto/-1;font-size:clamp(3rem,8vw,7.2rem);line-height:.9}.topbar h1:after{color:var(--coral);content:"."}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.account-chip{max-width:260px;min-height:46px;color:var(--ink-soft);background:var(--paper-sunken);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;padding:0 16px;font-size:.74rem;display:inline-flex;overflow:hidden}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.panel-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.panel-header h2{letter-spacing:-.04em;font-size:clamp(1.8rem,3vw,2.6rem)}.party-detail-view>.panel-header{justify-content:flex-start;align-items:center}.empty-state{border:2px dashed var(--line-strong);border-radius:var(--radius-lg);background:var(--card);justify-items:start;gap:18px;padding:clamp(28px,5vw,56px);display:grid}.empty-state p{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.4rem,2.4vw,2rem);font-weight:700}.guest-list-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.guest-list-header h3{letter-spacing:-.03em;font-size:1.5rem}.guest-list-header span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.74rem}.guest-form-section,.wishlist-form-section,.ai-generator-section,.party-detail-main,.party-form{border:1.5px solid var(--line);border-radius:var(--radius-xl);background:var(--card);padding:clamp(20px,3vw,36px)}.guest-form-section,.wishlist-form-section,.ai-generator-section{gap:22px;display:grid}.guest-form-section h3,.wishlist-form-section h3,.ai-generator-section h3{letter-spacing:-.035em;font-size:clamp(1.5rem,2.4vw,2rem)}.guest-form-section .eyebrow,.wishlist-form-section .eyebrow,.ai-generator-section .eyebrow{margin-bottom:8px}.party-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:20px;display:grid}.party-list-item{--tile:var(--coral);--tile-ink:var(--ink);--tile-badge:var(--ink);--tile-badge-ink:var(--paper);border:1.5px solid var(--ink);border-radius:var(--radius-lg);min-height:300px;color:var(--tile-ink);background:var(--tile);text-align:left;transition:transform .26s var(--ease-out), box-shadow .26s var(--ease-out);animation:rise-in .52s var(--ease-out) both;grid-template-rows:auto 1fr;gap:28px;padding:24px;display:grid;position:relative;overflow:hidden}.party-list-item:nth-child(4n+2){--tile:var(--zap)}.party-list-item:nth-child(4n+3){--tile:var(--blush)}.party-list-item:nth-child(4n+4){--tile:var(--ink);--tile-ink:var(--paper);--tile-badge:var(--zap);--tile-badge-ink:var(--ink)}.party-list-item:nth-child(2){animation-delay:60ms}.party-list-item:nth-child(3){animation-delay:.12s}.party-list-item:nth-child(n+4){animation-delay:.18s}.party-list-item:after{content:"";opacity:.08;width:140px;height:140px;transition:transform .4s var(--ease-out);border:22px solid;border-radius:50%;position:absolute;bottom:-40px;right:-22px}.party-list-item:hover,.party-list-item:focus-visible{box-shadow:var(--shadow-pop);transform:translate(-3px,-3px)rotate(-.6deg)}.party-list-item:hover:after{transform:scale(1.25)}.party-list-item.selected{outline:3px solid var(--ink);outline-offset:3px}.party-list-item .date-badge{color:var(--tile-badge-ink);background:var(--tile-badge);box-shadow:none;justify-self:start}.party-list-content{z-index:1;flex-direction:column;justify-content:flex-end;gap:6px;display:flex;position:relative}.party-list-event-type{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1.5px solid;border-radius:999px;align-self:flex-start;margin-bottom:4px;padding:5px 10px;font-size:.68rem}.party-list-title{font-family:var(--font-display);letter-spacing:-.04em;overflow-wrap:anywhere;font-size:clamp(2.4rem,4vw,3.4rem);font-weight:800;line-height:.9}.party-list-theme{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.2rem;font-weight:600}.party-list-meta{font-family:var(--font-mono);letter-spacing:.02em;opacity:.85;border-top:1.5px solid;margin-top:8px;padding-top:12px;font-size:.74rem}.date-badge{min-width:76px;color:var(--paper);background:var(--ink);border-radius:16px;justify-items:center;padding:10px 12px 9px;line-height:1;display:inline-grid;transform:rotate(-4deg)}.date-badge strong{font-family:var(--font-display);letter-spacing:-.05em;font-size:2.3rem;font-weight:800}.date-badge-weekday,.date-badge-month{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.66rem}.date-badge-weekday{opacity:.75;margin-bottom:4px}.date-badge-month{margin-top:4px}.party-detail-grid{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;gap:20px;display:grid}.party-detail-main{gap:24px;display:grid}.selected-party-summary{border-radius:var(--radius-lg);background:var(--coral);align-items:center;gap:22px;padding:24px;display:flex}.selected-party-summary .date-badge{min-width:92px;padding:12px 14px}.selected-party-summary .date-badge strong{font-size:2.8rem}.selected-party-content .eyebrow{color:var(--ink)}.selected-party-content .eyebrow:before{background:var(--zap)}.selected-party-content h2{letter-spacing:-.04em;font-size:clamp(2.4rem,4.4vw,3.8rem);line-height:.9}.selected-party-content p:last-child{font-family:var(--font-display);letter-spacing:-.02em;margin-top:6px;font-size:1.2rem;font-weight:600}.detail-section-grid{gap:12px;display:grid}.form-section{--section-tint:var(--paper-sunken);border:1.5px solid var(--line);border-radius:var(--radius-lg);background:var(--white);gap:18px;padding:clamp(18px,2.4vw,24px);display:grid}.section-child{--section-tint:var(--blush)}.section-party{--section-tint:var(--zap)}.section-address{--section-tint:var(--sky)}.section-contact{--section-tint:var(--mint)}.section-misc{--section-tint:var(--lilac)}.form-section-header{align-items:center;gap:12px;display:flex}.form-section-header h3{flex:auto;font-size:1.2rem}.form-section-icon{width:40px;height:40px;color:var(--ink);background:var(--section-tint);border-radius:12px;flex:none;place-items:center;display:grid;transform:rotate(-5deg)}.form-section-icon svg{width:20px;height:20px}.section-edit-button{border:1.5px solid var(--line-strong);margin-left:auto}.detail-definition-list{margin:0;display:grid}.detail-definition-list>div{border-top:1px solid var(--line);grid-template-columns:minmax(130px,.32fr) minmax(0,1fr);gap:16px;padding:11px 0;display:grid}.detail-definition-list dt{color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;line-height:1.9}.detail-definition-list dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-weight:500}.section-edit-form{gap:18px;display:grid}.section-edit-actions{padding-top:4px}.party-detail-side{gap:12px;display:grid;position:sticky;top:20px}.party-metrics{border-radius:var(--radius-lg);background:var(--line);border:1px solid var(--line-strong);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.metric-row{min-height:92px;color:var(--ink);background:var(--card);flex-direction:column-reverse;justify-content:flex-end;gap:6px;padding:16px 18px;display:flex}.metric-row span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem}.metric-row strong{font-family:var(--font-display);letter-spacing:-.05em;font-size:2.2rem;font-weight:800;line-height:.9}.metric-row:nth-child(2) strong{color:var(--green)}.metric-row:nth-child(4) strong{color:var(--coral-deep)}.party-next-steps{gap:8px;display:grid}.next-step-card{border:1.5px dashed var(--line-strong);border-radius:var(--radius-md);width:100%;color:var(--ink);background:var(--card);font:inherit;text-align:left;cursor:pointer;transition:transform .16s var(--ease-out), border-color .16s var(--ease-out), background .16s var(--ease-out);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.next-step-card:hover{border-style:solid;border-color:var(--ink);transform:translateY(-1px)}.next-step-card:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.next-step-icon{border-radius:var(--radius-sm);place-items:center;width:38px;height:38px;display:grid}.next-step-icon svg{width:20px;height:20px}.next-step-guests .next-step-icon{background:var(--sky)}.next-step-gifts .next-step-icon{background:var(--blush)}.next-step-copy{gap:2px;min-width:0;display:grid}.next-step-copy strong{font-size:.95rem;font-weight:700;line-height:1.25}.next-step-copy span{color:var(--muted);font-size:.85rem}.next-step-arrow{width:18px;height:18px;color:var(--muted);transition:transform .16s var(--ease-out), color .16s var(--ease-out)}.next-step-card:hover .next-step-arrow{color:var(--ink);transform:translate(3px)}@media (prefers-reduced-motion:reduce){.next-step-card,.next-step-arrow{transition:none}}.selected-party-actions{gap:8px;display:grid}.selected-party-actions .secondary-button{border-radius:var(--radius-md);justify-content:flex-start;min-height:54px;padding:0 20px;font-size:1rem}.selected-party-actions .secondary-button:after{content:"→";font-family:var(--font-mono);transition:transform .2s var(--ease-out);margin-left:auto}.selected-party-actions .secondary-button:hover:after{transform:translate(4px)}.party-danger-zone{border:1.5px dashed var(--coral-deep);border-radius:var(--radius-lg);gap:14px;margin-top:8px;padding:20px;display:grid}.party-danger-zone h3{color:var(--coral-deep);font-size:1.1rem}.party-danger-zone p{color:var(--muted);margin-top:6px;font-size:.88rem}.party-danger-zone .secondary-button{justify-self:start}.create-flow .panel-header{margin-bottom:20px}.party-wizard{gap:24px;display:grid}.wizard-step-heading h3{letter-spacing:-.045em;font-size:clamp(2rem,3.6vw,3rem)}.wizard-step-heading p:last-child{max-width:62ch;color:var(--muted);margin-top:10px}.wizard-progress{align-items:center;gap:16px;display:flex}.wizard-progress>span{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;flex:none;font-size:.74rem}.wizard-progress-dots{flex:auto;gap:6px;display:flex}.wizard-dot{background:var(--paper-sunken);height:8px;transition:background-color .3s var(--ease-out);border-radius:999px;flex:1 1 0}.wizard-dot.filled{background:var(--ink)}.wizard-dot.filled:last-of-type{background:var(--coral)}.wizard-dot.filled:has(+.wizard-dot:not(.filled)){background:var(--coral)}.wizard-actions .ghost-button{margin-right:auto}.guest-focus-header{align-items:flex-end}.guest-focus-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.guest-list-empty{place-items:center;min-height:300px;display:grid;position:relative}.guest-list-empty-rows{align-content:start;gap:10px;display:grid;position:absolute;inset:0}.guest-list-empty-rows span{border:1.5px dashed var(--line-strong);border-radius:var(--radius-md);background:color-mix(in srgb, var(--card) 55%, transparent);height:88px}.guest-list-empty-cta{text-align:center;justify-items:center;gap:14px;padding:20px 24px;display:grid;position:relative}.guest-list-empty-cta p{color:var(--muted)}@media (prefers-reduced-motion:reduce){.message-banner.floating{animation:none}}.guest-management-layout,.wishlist-layout,.ai-invitation-layout{gap:20px;display:grid}.guest-create-form{gap:22px;display:grid}.guest-name-fields,.guest-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.guest-edit-grid>fieldset{grid-column:1/-1}.guest-delivery-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.guest-delivery-options label{border:1.5px solid var(--line-strong);border-radius:var(--radius-md);background:var(--white);cursor:pointer;transition:border-color .14s ease, background-color .14s ease, transform .2s var(--ease-out);grid-template-columns:auto auto minmax(0,1fr);align-items:start;gap:12px;padding:16px;display:grid}.guest-delivery-options label:hover{border-color:var(--ink)}.guest-delivery-options label.selected{border-color:var(--ink);background:var(--zap-soft);box-shadow:3px 3px 0 var(--ink)}.guest-delivery-options label>svg{width:20px;height:20px;margin-top:1px}.guest-delivery-options label>span{gap:4px;display:grid}.guest-delivery-options strong{color:var(--ink);font-weight:650}.guest-delivery-options small{color:var(--muted);font-size:.84rem;font-weight:400;line-height:1.4}.guest-delivery-fieldset.compact .guest-delivery-options small{display:none}.guest-email-field{width:calc(50% - 8px);margin-top:16px}.guest-list-section,.wishlist-list-section,.ai-gallery-section{border-radius:var(--radius-xl);color:var(--ink);background:var(--paper-sunken);padding:clamp(20px,3vw,32px)}.guest-list{gap:10px;display:grid}.guest-row{border-radius:var(--radius-md);background:var(--white);border:1.5px solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 20px;padding:18px 20px;transition:border-color .16s;display:grid}.guest-row:hover{border-color:var(--line-strong)}.guest-row:has(.guest-edit-form){border-color:var(--ink);grid-template-columns:1fr}.guest-main{gap:6px;min-width:0;display:grid}.guest-name-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.guest-name-row strong{font-family:var(--font-display);letter-spacing:-.025em;font-size:1.3rem;font-weight:700}.guest-contact-list{color:var(--muted);flex-wrap:wrap;gap:8px 16px;font-size:.86rem;display:flex}.guest-contact-list span{overflow-wrap:anywhere;align-items:center;gap:6px;display:inline-flex}.guest-contact-list svg{width:15px;height:15px}.guest-response-summary{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.guest-response-summary span{color:var(--ink-soft);background:var(--paper);border-radius:8px;padding:5px 10px;font-size:.84rem}.guest-response-summary span:nth-child(2){background:var(--coral-soft)}.guest-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:460px;display:flex}.guest-edit-form{gap:18px;display:grid}.guest-edit-form .guest-row-actions{max-width:none}.response-pill{color:var(--ink);background:var(--paper-sunken);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:.66rem;font-weight:500;line-height:1.2;display:inline-flex}.response-pill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.response-pill.accepted{color:#0d5a32;background:var(--mint)}.response-pill.declined{color:var(--coral-deep);background:var(--coral-soft)}.response-pill.pending{color:var(--ink);background:var(--zap)}.response-pill.group{color:var(--ink);background:var(--lilac)}.wishlist-form-step-label{align-items:center;gap:12px;display:flex}.wishlist-form-step-label strong{font-family:var(--font-display);letter-spacing:-.015em;font-size:1.1rem;font-weight:700}.wishlist-step-number{width:32px;height:32px;color:var(--zap);background:var(--ink);font-family:var(--font-mono);border-radius:10px;flex:none;place-items:center;font-size:.86rem;font-weight:600;display:grid;transform:rotate(-6deg)}.wishlist-image-step{border:1.5px dashed var(--line-strong);border-radius:var(--radius-lg);background:var(--paper);gap:18px;padding:18px;display:grid}.wishlist-image-step-header,.wishlist-fallback-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.wishlist-image-step-header>div{grid-template-columns:auto 1fr;align-items:center;gap:2px 12px;display:grid}.wishlist-image-step-header .wishlist-step-number{grid-row:1/span 2}.wishlist-image-step-header .field-label{color:var(--ink);font-family:var(--font-display);letter-spacing:-.015em;font-size:1.1rem;font-weight:700}.wishlist-image-step-header p{color:var(--muted);grid-column:2;font-size:.88rem}.wishlist-choice-label,.wishlist-selection-hint{color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;margin:0 0 10px;font-size:.72rem}.wishlist-selection-hint{color:var(--coral-deep);margin:0}.wishlist-image-options{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:12px;display:grid}.wishlist-image-option{border:1.5px solid var(--line-strong);border-radius:var(--radius-md);color:var(--ink);background:var(--white);transition:border-color .14s ease, box-shadow .2s var(--ease-out), transform .2s var(--ease-out);gap:8px;padding:8px;display:grid;position:relative;overflow:hidden}.wishlist-image-option:hover{border-color:var(--ink)}.wishlist-image-option.selected{border-color:var(--ink);box-shadow:4px 4px 0 var(--zap), 4px 4px 0 1.5px var(--ink);transform:translate(-2px,-2px)}.wishlist-image-option img{aspect-ratio:1;object-fit:contain;background:var(--white);border-radius:10px;width:100%}.wishlist-image-option span{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem}.wishlist-crawl-note{border-radius:var(--radius-md);background:var(--sky);align-items:center;gap:14px;padding:14px 16px;display:flex}.wishlist-crawl-note>svg{width:24px;height:24px}.wishlist-crawl-note div{gap:2px;display:grid}.wishlist-crawl-note span{color:var(--ink-soft);font-size:.88rem}.wishlist-fallback{gap:12px;display:grid}.wishlist-fallback-heading strong{font-family:var(--font-display);letter-spacing:-.01em;font-weight:700}.wishlist-fallback-heading span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:.7rem}.wishlist-fallback-grid{grid-template-columns:minmax(230px,.8fr) minmax(300px,1.2fr);gap:12px;display:grid}.wishlist-upload-option,.wishlist-icon-choice{border:1.5px solid var(--line-strong);border-radius:var(--radius-md);background:var(--white);min-height:96px}.wishlist-upload-option{cursor:pointer;align-items:center;gap:14px;padding:14px;transition:border-color .14s;display:flex;position:relative}.wishlist-upload-option:hover{border-color:var(--ink)}.wishlist-upload-option.selected{border-color:var(--ink);background:var(--zap-soft)}.wishlist-upload-option>svg,.wishlist-upload-option>img{width:58px;height:58px;color:var(--ink);object-fit:cover;background:var(--blush);border-radius:14px;flex:none;padding:16px}.wishlist-upload-option>img{padding:0}.wishlist-upload-option span{gap:4px;min-width:0;display:grid}.wishlist-upload-option strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wishlist-upload-option small{color:var(--muted);font-family:var(--font-mono);font-size:.68rem}.wishlist-upload-option input{opacity:0;width:1px;height:1px;position:absolute}.wishlist-icon-choice{gap:10px;padding:14px;display:grid}.wishlist-icon-choice>span{color:var(--ink-soft);font-size:.86rem;font-weight:600}.wishlist-icon-options{grid-template-columns:repeat(8,minmax(36px,1fr));gap:6px;display:grid}.wishlist-icon-options button{aspect-ratio:1;border:1.5px solid var(--line);color:var(--ink-soft);background:var(--white);transition:background-color .14s ease, border-color .14s ease, transform .2s var(--ease-out);border-radius:10px;place-items:center;padding:6px;display:grid}.wishlist-icon-options button svg{width:20px;height:20px}.wishlist-icon-options button:hover{border-color:var(--ink);transform:rotate(-6deg)}.wishlist-icon-options button.selected{border-color:var(--ink);color:var(--ink);background:var(--zap);transform:rotate(-6deg)}.wishlist-list,.public-wishlist-list{gap:10px;display:grid}.wishlist-row{border-radius:var(--radius-md);background:var(--white);border:1.5px solid #0000;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 16px 14px 14px;transition:border-color .16s;display:grid}.wishlist-row:hover{border-color:var(--line-strong)}.wishlist-row:has(.wishlist-edit-form){border-color:var(--ink);align-items:start}.wishlist-image{object-fit:cover;background:var(--paper);border-radius:14px;flex:none;width:72px;height:72px;display:block}.wishlist-image-placeholder{color:var(--ink);background:var(--blush);place-items:center;display:grid}.wishlist-row:nth-child(3n+2) .wishlist-image-placeholder,.public-wishlist-item:nth-child(3n+2) .wishlist-image-placeholder{background:var(--zap)}.wishlist-row:nth-child(3n+3) .wishlist-image-placeholder,.public-wishlist-item:nth-child(3n+3) .wishlist-image-placeholder{background:var(--sky)}.wishlist-image-placeholder svg{width:28px;height:28px}.wishlist-item-main{gap:6px;min-width:0;display:grid}.wishlist-item-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;display:flex}.wishlist-item-heading strong{font-family:var(--font-display);letter-spacing:-.025em;font-size:1.25rem;font-weight:700}.wishlist-tags{flex-wrap:wrap;gap:6px;display:flex}.wishlist-item-main a,.public-wishlist-main a{width:fit-content;color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.03em;text-decoration:underline;-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-underline-offset:4px;align-items:center;gap:6px;font-size:.74rem;text-decoration-thickness:2px;display:inline-flex}.wishlist-item-main a:hover,.public-wishlist-main a:hover{color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.wishlist-item-main a svg,.public-wishlist-main a svg{width:14px;height:14px}.wishlist-row-actions{flex-wrap:wrap;gap:6px;display:flex}.wishlist-icon-actions{flex-wrap:nowrap}.wishlist-icon-action{width:40px;min-height:40px;padding:0}.wishlist-edit-form{grid-column:2/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.wishlist-edit-form .checkbox-field,.wishlist-edit-form .wishlist-row-actions{grid-column:1/-1}.ai-generator-section{border-color:var(--ink);color:var(--paper);background:var(--ink);position:relative;overflow:hidden}.ai-generator-section:after{background:radial-gradient(circle at 35% 35%, var(--zap), var(--coral) 60%, transparent 61%);content:"";opacity:.9;pointer-events:none;border-radius:50%;width:220px;height:220px;position:absolute;top:-60px;right:-40px}.ai-generator-section>*{z-index:1;position:relative}.ai-generator-section h3,.ai-generator-section .eyebrow{color:var(--paper)}.ai-generator-section .muted-copy{color:#f4f1eaa8;max-width:60ch}.ai-generator-section .checkbox-field{max-width:720px;color:var(--paper);background:#f4f1ea0f;border-color:#f4f1ea33}.ai-generator-section .checkbox-field span{color:var(--paper)}.ai-generator-section .checkbox-field:has(input:checked){border-color:var(--zap);background:#e6ff4a1a}.ai-generator-section input[type=checkbox]{accent-color:var(--zap)}.ai-generator-section .form-actions{justify-content:flex-start}.ai-generator-section .primary-button{color:var(--ink);background:var(--zap)}.ai-generator-section .primary-button:hover:not(:disabled){background:var(--coral);box-shadow:4px 4px 0 var(--zap)}.ai-generator-section .success-copy{width:fit-content}.ai-invitation-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.ai-invitation-card{border-radius:var(--radius-lg);background:var(--white);transition:transform .26s var(--ease-out), box-shadow .26s var(--ease-out);display:grid;overflow:hidden}.ai-invitation-card:hover{box-shadow:var(--shadow-pop);transform:translate(-3px,-3px)}.ai-invitation-preview{aspect-ratio:4/5;object-fit:cover;background:var(--paper);width:100%;display:block}.ai-invitation-card-body{gap:4px;padding:14px 16px 6px;display:grid}.ai-invitation-card-body strong{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.ai-invitation-card-body span{color:var(--muted);font-family:var(--font-mono);font-size:.7rem}.ai-invitation-actions{gap:6px;padding:10px 16px 16px;display:flex}.ai-invitation-actions .primary-button,.ai-invitation-actions .secondary-button{width:44px;min-height:44px;padding:0}.dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1212128c;place-items:center;padding:16px;animation:.2s both fade-in;display:grid;position:fixed;inset:0}.dialog-panel{border:1.5px solid var(--ink);border-radius:var(--radius-xl);background:var(--card);width:min(620px,100%);max-height:calc(100vh - 32px);box-shadow:10px 10px 0 var(--ink);animation:pop-in .32s var(--ease-out) both;gap:20px;padding:clamp(22px,4vw,36px);display:grid;overflow:auto}.dialog-panel h2{letter-spacing:-.04em;font-size:clamp(1.7rem,3vw,2.3rem)}.dialog-panel>p{color:var(--ink-soft)}.dialog-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dialog-panel textarea{min-height:220px}.share-actions{flex-wrap:wrap;gap:8px;display:flex}.party-delete-dialog-icon,.group-gift-dialog-icon{width:60px;height:60px;color:var(--ink);background:var(--coral);box-shadow:4px 4px 0 var(--ink);border-radius:18px;place-items:center;display:grid;transform:rotate(-6deg)}.group-gift-dialog-icon{background:var(--zap)}.party-delete-dialog-icon svg,.group-gift-dialog-icon svg{width:28px;height:28px}.party-delete-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.group-gift-participant-field input{max-width:160px;font-family:var(--font-display);font-size:1.6rem;font-weight:700}.group-gift-participant-field small{color:var(--muted);font-size:.82rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.guest-shell{background-color:var(--ink);background-image:var(--shell-background-image-desktop,linear-gradient(135deg, var(--blush), var(--paper) 55%, var(--zap-soft)));background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;place-items:start center;min-height:100vh;padding:clamp(16px,4vw,56px);display:grid}.guest-panel{gap:16px;width:min(1180px,100%);display:grid}.guest-public-header,.guest-invitation-image-card,.guest-invitation-details,.guest-rsvp-card,.guest-panel>.public-wishlist-section,.guest-error-state{border:1.5px solid var(--ink);background:var(--card);animation:rise-in .56s var(--ease-out) both;box-shadow:8px 8px #121212e6}.guest-public-header{border-radius:var(--radius-xl);background:var(--coral);padding:clamp(24px,4vw,48px);position:relative;overflow:hidden}.guest-public-header:after{background:var(--zap);content:"";pointer-events:none;border-radius:50%;width:180px;height:180px;position:absolute;top:-40px;right:-40px}.guest-public-header>*{z-index:1;position:relative}.guest-public-header .eyebrow{color:var(--ink)}.guest-public-header .eyebrow:before{background:var(--ink)}.guest-panel .guest-public-header h1{letter-spacing:-.038em;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;max-width:18ch;font-size:clamp(2.4rem,6vw,5.2rem);line-height:.92}.guest-invitation-layout{grid-template-columns:minmax(260px,360px) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.guest-panel:not(.has-invitation-image) .guest-invitation-layout{grid-template-columns:1fr}.guest-invitation-image-card{border-radius:var(--radius-xl);width:100%;padding:10px;animation-delay:80ms;display:flex;overflow:hidden}.guest-invitation-image-card img{object-fit:cover;border-radius:22px;width:100%;height:100%;display:block}.guest-invitation-details,.guest-rsvp-card,.guest-panel>.public-wishlist-section{border-radius:var(--radius-xl);text-align:left;margin:0;padding:clamp(22px,3.4vw,40px)}.guest-invitation-details{height:100%;animation-delay:.12s}.guest-invitation-details h2{margin-bottom:18px}.guest-event-facts{margin:0;display:grid}.guest-event-facts div{border-top:1px solid var(--line);grid-template-columns:minmax(110px,.28fr) minmax(0,1fr);gap:18px;padding:14px 0;display:grid}.guest-event-facts dt{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;line-height:1.9}.guest-event-facts dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:1.05rem;font-weight:600}.guest-location-value{gap:6px;display:grid}.guest-directions{white-space:pre-line}.guest-event-facts div:first-child dd{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.4rem;font-weight:700}.guest-rsvp-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;animation-delay:.16s;display:grid}.guest-rsvp-card>.guest-response-status,.guest-rsvp-card>.success-copy,.guest-rsvp-card>.share-actions{grid-column:1/-1}.guest-response-status{border-radius:var(--radius-lg);background:var(--zap);align-items:center;gap:16px;padding:18px 20px;display:flex}.guest-response-status.accepted{background:var(--mint)}.guest-response-status.declined{background:var(--coral-soft)}.guest-response-status>svg{width:30px;height:30px}.guest-response-status div{gap:2px;display:grid}.guest-response-status span{color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}.guest-response-status strong{font-family:var(--font-display);letter-spacing:-.04em;font-size:1.8rem;font-weight:800;line-height:1}.guest-rsvp-card .share-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.rsvp-choice-button{border-color:var(--ink);border-radius:var(--radius-md);min-height:60px;color:var(--ink);background:var(--white);font-family:var(--font-display);letter-spacing:-.015em;font-size:1.15rem;font-weight:700}.rsvp-choice-button svg{width:22px;height:22px}.rsvp-choice-button.accept:hover:not(:disabled),.rsvp-choice-button.accept.selected{color:var(--white);background:var(--green);box-shadow:4px 4px 0 var(--ink);transform:translate(-2px,-2px)}.rsvp-choice-button.decline:hover:not(:disabled),.rsvp-choice-button.decline.selected{color:var(--white);background:var(--coral-deep);box-shadow:4px 4px 0 var(--ink);transform:translate(-2px,-2px)}.guest-panel>.error-copy{border:1.5px solid var(--ink);width:fit-content;margin:0 auto}.guest-error-state{border-radius:var(--radius-xl);justify-items:start;gap:14px;padding:clamp(28px,5vw,64px);display:grid}.guest-error-icon{width:64px;height:64px;color:var(--ink);background:var(--coral);box-shadow:4px 4px 0 var(--ink);border-radius:18px;place-items:center;display:grid;transform:rotate(-6deg)}.guest-error-icon svg{width:30px;height:30px}.guest-error-state h1{letter-spacing:-.042em;max-width:12ch;font-size:clamp(2.6rem,7vw,5.6rem);line-height:.88}.guest-error-state p{max-width:46ch;font-size:1.05rem}.public-wishlist-section{gap:16px;animation-delay:.2s;display:grid}.public-wishlist-header{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.public-wishlist-header span{background:var(--zap);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:5px 10px;font-size:.7rem}.wishlist-identity-card{border-radius:var(--radius-lg);background:var(--zap-soft);gap:16px;padding:20px;display:grid}.wishlist-identity-card.active{background:var(--mint)}.wishlist-identity-heading{align-items:flex-start;gap:14px;display:flex}.wishlist-identity-heading>svg{width:26px;height:26px;margin-top:2px}.wishlist-identity-heading div{gap:4px;display:grid}.wishlist-identity-heading strong{font-family:var(--font-display);letter-spacing:-.015em;font-size:1.15rem;font-weight:700}.wishlist-identity-heading span{color:var(--ink-soft);font-size:.9rem}.wishlist-identity-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.wishlist-identity-form .primary-button{min-height:50px}.wishlist-locked-state{border:2px dashed var(--line-strong);border-radius:var(--radius-lg);color:var(--muted);text-align:center;justify-items:center;gap:10px;padding:32px 20px;display:grid}.wishlist-locked-state svg{width:30px;height:30px}.public-wishlist-item{border:1.5px solid var(--line);border-radius:var(--radius-lg);background:var(--white);gap:16px;padding:16px;transition:border-color .16s;display:grid}.public-wishlist-item.reserved{background:var(--paper)}.public-wishlist-item.reserved:not(.mine) .wishlist-image{filter:grayscale(.7);opacity:.7}.public-wishlist-item.mine{border-color:var(--ink);box-shadow:4px 4px 0 var(--zap), 4px 4px 0 1.5px var(--ink)}.public-wishlist-content{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:16px;display:grid}.public-wishlist-main{gap:8px;min-width:0;display:grid}.public-wishlist-main>strong{font-family:var(--font-display);letter-spacing:-.025em;font-size:1.3rem;font-weight:700;line-height:1.1}.group-gift-note{background:var(--lilac);width:fit-content;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:.68rem}.group-gift-progress{border-radius:var(--radius-sm);background:var(--paper);gap:8px;padding:12px 14px;display:grid}.group-gift-progress-copy{gap:2px;display:grid}.group-gift-progress-copy strong{font-size:.92rem}.group-gift-progress-copy span{color:var(--muted);font-size:.84rem}.group-gift-progress-track{background:var(--paper-sunken);border-radius:999px;height:10px;display:block;overflow:hidden}.group-gift-progress-track>span{border-radius:inherit;background:var(--coral);height:100%;transition:width .5s var(--ease-out);display:block}.group-gift-progress.complete .group-gift-progress-track>span{background:var(--green)}.public-wishlist-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;display:flex}.reservation-state{color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:6px;font-size:.72rem;display:inline-flex}.reservation-state.available{color:var(--green)}.reservation-state.available:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.reservation-state svg{width:16px;height:16px}.public-wishlist-actions{flex-wrap:wrap;gap:8px;display:flex}.public-wishlist-button{min-height:42px}.group-gift-chat-button{position:relative}.group-gift-unread-badge{border:1.5px solid var(--ink);min-width:22px;height:22px;color:var(--ink);background:var(--zap);font-family:var(--font-mono);border-radius:999px;place-items:center;padding:0 6px;font-size:.72rem;font-weight:700;display:inline-grid}.group-gift-privacy-note{color:var(--muted);align-items:flex-start;gap:8px;margin:0;font-size:.84rem;line-height:1.45;display:flex}.group-gift-privacy-note svg{flex:none;width:16px;height:16px;margin-top:2px}.group-gift-dialog label small{color:var(--muted);font-size:.82rem}.group-gift-dialog label small.field-hint-error{color:var(--coral-deep)}.dialog-panel .group-gift-welcome-field textarea{min-height:120px}.group-gift-chat-dialog{grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:14px;width:min(680px,100%);height:min(760px,100vh - 32px);overflow:hidden}.group-gift-chat-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.group-gift-chat-header h2{overflow-wrap:anywhere}.group-gift-chat-meta{color:var(--muted);margin:6px 0 0;font-size:.88rem}.group-gift-chat-messages{border:1.5px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);overscroll-behavior:contain;flex-direction:column;gap:10px;min-height:0;padding:16px;display:flex;overflow-y:auto}.group-gift-chat-message{border:1.5px solid var(--ink);border-radius:4px var(--radius-md) var(--radius-md) var(--radius-md);background:var(--card);align-self:flex-start;gap:4px;max-width:min(84%,460px);padding:10px 14px;display:grid}.group-gift-chat-message.mine{border-radius:var(--radius-md) 4px var(--radius-md) var(--radius-md);background:var(--zap-soft);align-self:flex-end}.group-gift-chat-message p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;line-height:1.45}.group-gift-chat-message-meta{flex-wrap:wrap;align-items:baseline;gap:6px;font-size:.8rem;display:flex}.group-gift-chat-message-meta time{color:var(--muted);font-family:var(--font-mono);font-size:.7rem}.group-gift-chat-role{background:var(--lilac);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:1px 7px;font-size:.62rem}.group-gift-chat-notice{color:var(--ink-soft);background:var(--paper-sunken);text-align:center;border-radius:999px;align-self:center;margin:2px 0;padding:4px 12px;font-size:.8rem}.group-gift-chat-notice time{color:var(--muted);font-family:var(--font-mono);font-size:.7rem}.group-gift-chat-composer{align-items:flex-end;gap:10px;display:flex}.dialog-panel .group-gift-chat-composer textarea{resize:vertical;flex:1;min-height:52px;max-height:160px}.group-gift-chat-footer{gap:10px;display:grid}.group-gift-chat-footer .checkbox-field{padding:10px 14px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=560px){.dialog-backdrop:has(.group-gift-chat-dialog){padding:0}.group-gift-chat-dialog{width:100%;height:100dvh;max-height:100dvh;box-shadow:none;border-radius:0;padding:18px 16px}.group-gift-chat-messages{padding:12px}.group-gift-chat-composer .primary-button span{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-delay:0s!important}}@media (width<=1180px){.party-detail-grid{grid-template-columns:1fr}.party-detail-side{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;position:static}.party-metrics{grid-row:span 3;grid-template-columns:repeat(3,minmax(0,1fr))}.guest-row{grid-template-columns:1fr}.guest-row-actions{justify-content:flex-start;max-width:none}}@media (width<=960px){.app-shell{grid-template-columns:1fr;gap:0;padding:12px}.sidebar{border-radius:22px;flex-direction:row;align-items:center;gap:12px;height:auto;padding:10px;position:relative;top:0}.sidebar:after{display:none}.sidebar .brand-mark{padding:0 0 0 2px}.sidebar .brand-word{display:none}.brand-monogram{width:40px;height:40px;font-size:1.35rem}.nav-stack{scrollbar-width:none;flex:auto;gap:4px;display:flex;overflow-x:auto}.nav-stack::-webkit-scrollbar{display:none}.nav-stack .icon-button{border-radius:999px;flex:none;gap:8px;width:auto;height:42px;padding:0 14px}.nav-stack .icon-button svg{width:18px;height:18px}.nav-label{font-size:.86rem}.workspace{padding:28px 4px 48px}.auth-shell{grid-template-columns:1fr;gap:12px;padding:12px}.auth-brand{min-height:auto}.auth-poster{margin:8px 0}.auth-panel>*{max-width:none}.guest-shell{background-image:var(--shell-background-image-mobile,linear-gradient(160deg, var(--blush), var(--paper) 55%, var(--zap-soft)));background-attachment:scroll;padding:14px}}@media (width<=900px){.guest-invitation-layout,.guest-rsvp-card{grid-template-columns:1fr}.guest-rsvp-card>.guest-response-status,.guest-rsvp-card>.success-copy,.guest-rsvp-card>.share-actions{grid-column:auto}.guest-invitation-image-card img{height:auto}}@media (width<=760px){.form-grid.two-columns,.address-field-grid,.coordinate-field-grid,.guest-name-fields,.guest-edit-grid,.guest-delivery-options,.wishlist-fallback-grid,.wishlist-edit-form,.wishlist-identity-form{grid-template-columns:1fr}.wishlist-image-step-header,.wishlist-fallback-heading{flex-direction:column;align-items:stretch}.guest-email-field{width:100%}.wishlist-icon-options{grid-template-columns:repeat(4,1fr)}.party-detail-side{grid-template-columns:1fr}.party-metrics{grid-row:auto}.metric-row{min-height:96px;padding:14px}.metric-row strong{font-size:2.2rem}.selected-party-summary{flex-direction:column;align-items:flex-start;gap:16px}.detail-definition-list>div,.guest-event-facts div{grid-template-columns:1fr;gap:2px}.wishlist-row{grid-template-columns:auto minmax(0,1fr)}.wishlist-row>.wishlist-row-actions{grid-column:1/-1;justify-content:flex-end}.wishlist-edit-form{grid-column:1/-1}.wishlist-image{width:60px;height:60px}}@media (width<=560px){.topbar h1{font-size:clamp(2.6rem,13vw,3.6rem)}.account-chip,.nav-stack .icon-button:not(.active) .nav-label{display:none}.nav-stack .icon-button:not(.active){justify-content:center;width:42px;padding:0}.poster-letter{font-size:21vw}.topbar{grid-template-columns:1fr}.topbar-actions{grid-area:3/1;justify-content:flex-start}.panel-header>.primary-button{width:100%}.party-list-item{min-height:240px;padding:20px}.party-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-rsvp-card .share-actions{grid-template-columns:1fr}.form-actions,.party-delete-dialog-actions{flex-direction:column-reverse;align-items:stretch}.form-actions>button,.party-delete-dialog-actions>button{width:100%}.wizard-actions .ghost-button{margin-right:0}.public-wishlist-content{grid-template-columns:1fr}.public-wishlist-actions,.public-wishlist-button{width:100%}.guest-row{padding:16px}.compact-guest-actions .compact-action{flex:calc(50% - 6px)}.dialog-panel{box-shadow:6px 6px 0 var(--ink)}.share-actions>*{flex:auto}}.guest-delete-confirm{background:var(--coral-soft);border-radius:18px;flex-wrap:wrap;flex:100%;align-items:center;gap:10px;padding:10px 12px;display:flex}.guest-delete-confirm>span{color:var(--coral-deep);flex:auto;font-weight:700}.wishlist-delete-confirm{grid-column:1/-1}.nav-party-context{border-top:1px dashed var(--line-strong);gap:8px;margin:14px 0 6px;padding-top:16px;display:grid}.nav-party-eyebrow{color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;padding:0 14px;font-size:.68rem}.nav-party-card{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:var(--paper-sunken);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;transition:border-color .16s,background-color .16s;display:flex}.nav-party-card:hover{border-color:var(--line-strong)}.nav-party-card.active{border-color:var(--ink);background:var(--zap)}.nav-party-avatar,.party-context-avatar{color:var(--white);background:var(--coral);font-family:var(--font-display);border-radius:10px;flex:none;place-items:center;font-weight:800;display:inline-grid}.nav-party-avatar{width:32px;height:32px;font-size:1rem}.nav-party-text{gap:2px;min-width:0;display:grid}.nav-party-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.nav-party-text span{color:var(--muted);font-size:.76rem}.party-context-badge{border:1.5px solid var(--ink);background:var(--card);max-width:100%;box-shadow:3px 3px 0 var(--ink);border-radius:18px;align-items:center;gap:12px;margin-top:14px;padding:8px;display:inline-flex}.party-context-avatar{width:40px;height:40px;font-size:1.2rem}.party-context-text{gap:1px;min-width:0;display:grid}.party-context-label{color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.66rem}.party-context-text strong{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:1.1rem;line-height:1.15;overflow:hidden}.party-context-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.party-context-switch{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;flex:none;margin-left:8px;padding:8px 12px;font-size:.8rem;font-weight:600}.party-context-switch:hover{background:var(--paper-sunken)}@media (width<=960px){.nav-party-context{border-top:0;border-left:1px dashed var(--line-strong);flex:none;align-items:center;margin:0 4px;padding:0 0 0 10px;display:flex}.nav-party-eyebrow{display:none}.nav-party-card{border-radius:999px;width:auto;max-width:200px;padding:5px 12px 5px 5px}.nav-party-avatar{border-radius:999px;width:30px;height:30px}.nav-party-text span{display:none}}@media (width<=560px){.party-context-badge{flex-wrap:wrap;display:flex}.party-context-switch{margin-left:52px}}.verification-shell{background:var(--paper);place-items:center;min-height:100dvh;padding:28px 16px;display:grid}.verification-card{border:2px solid var(--ink);background:var(--card);width:min(100%,560px);box-shadow:7px 7px 0 var(--ink);border-radius:18px;padding:clamp(24px,5vw,44px)}.verification-card h1{letter-spacing:-1px;font-size:clamp(28px,5vw,40px);line-height:1.08}.verification-card p{line-height:1.65}.verification-wordmark{color:var(--ink);letter-spacing:-1.5px;font-size:30px;font-weight:900;text-decoration:none;display:inline-block}.verification-wordmark span{color:var(--coral)}.verification-eyebrow{color:var(--coral-deep);text-transform:uppercase;letter-spacing:1.5px;margin-top:32px;font-size:12px;font-weight:800}.verification-resend{border-top:1px solid var(--paper-sunken);margin-top:28px;padding-top:20px}.verification-resend summary{cursor:pointer;margin-bottom:20px;font-weight:600}
