@keyframes invite-open{0%{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}.invite-frame{background-color:var(--invite-frame);background-image:var(--invite-pattern);border-radius:var(--brand-radius-sheet, 24px);padding:clamp(12px,4vw,28px)}.invite-card{background:var(--invite-card);color:var(--invite-ink);border-radius:var(--brand-radius-card, 20px);padding:clamp(18px,5vw,32px);display:flex;flex-direction:column;gap:10px;text-align:center;animation:invite-open var(--brand-motion-invite-open, .38s) var(--brand-motion-easing, ease-out) both;box-shadow:0 1px color-mix(in srgb,var(--invite-line) 45%,transparent),0 5px 0 -1px var(--invite-card),0 6px 0 -1px color-mix(in srgb,var(--invite-line) 45%,transparent),0 12px 24px -18px color-mix(in srgb,var(--invite-ink) 25%,transparent);outline:1px dashed color-mix(in srgb,var(--invite-line) 55%,transparent);outline-offset:-8px}.invite-kicker{margin:0;font:600 .75rem/1.3 var(--brand-font-ui);letter-spacing:0;text-transform:none;color:var(--invite-muted)}.invite-title{margin:0;font-family:var(--brand-font-display);font-weight:var(--brand-weight-display, 700);font-synthesis:none;line-height:1.05;overflow-wrap:anywhere}.invite-title-serif{font-size:clamp(2rem,1.5rem + 3vw,3.25rem);letter-spacing:-.01em}.invite-title-capitals{font-size:clamp(1.75rem,1.3rem + 2.6vw,2.75rem);letter-spacing:-.01em;text-transform:none}.invite-host{margin:0;font-size:1.0625rem}.invite-facts{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:6px auto 0;text-align:left;max-width:28rem}.invite-facts dt{font-weight:600}.invite-facts dd{margin:0}.invite-norm{margin:0;font-style:italic}.invite-rotation{margin:0;color:var(--invite-muted);font-size:var(--brand-text-secondary, 1rem)}.invite-seats{display:flex;flex-direction:column;align-items:center;gap:8px}.invite-seat-row{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0;padding:0;list-style:none;max-width:16rem}.invite-seat{width:22px;height:22px;border-radius:999px;border:2px solid var(--invite-line)}.invite-seat:nth-child(4n){margin-right:8px}.invite-seat-filled{background:var(--invite-accent);border-color:var(--invite-accent)}.invite-table-row .invite-seat{border-radius:5px}.invite-table-row .invite-seat:nth-child(4n){margin-right:0}.invite-seat-line{margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.invite-chip{display:inline-block;border-radius:999px;padding:4px 12px;font-weight:600;font-size:.875rem;background:var(--invite-chip);color:var(--invite-chip-ink)}.invite-chip-open{background:var(--invite-chip-open)}.invite-felt{margin-top:4px;text-align:left}.invite-signature-line{margin:-2px 0 0;font-size:.8125rem;color:var(--invite-muted)}.invite-themes{display:grid;gap:10px;min-width:0}.invite-themes legend{margin-bottom:8px}.invite-theme{position:relative;display:flex;align-items:center;gap:14px;min-height:88px;padding:12px;border:1px solid var(--brand-control);border-radius:16px;cursor:pointer}.invite-theme:has(input:checked){border-color:var(--brand-ink);box-shadow:inset 0 0 0 1px var(--brand-ink)}.invite-theme:has(input:focus-visible){outline:3px solid var(--brand-focus);outline-offset:3px}.invite-theme:has(input:disabled){cursor:default}.invite-theme input{position:absolute;width:1px;height:1px;opacity:0}.invite-theme-sample{position:relative;flex:0 0 64px;height:64px;padding:10px;border-radius:12px;background:var(--sample-frame) var(--sample-pattern);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sample-ink) 15%,transparent)}.invite-theme-sample>span:first-child{display:block;height:100%;border-radius:5px;background:var(--sample-paper);box-shadow:0 2px color-mix(in srgb,var(--sample-ink) 20%,transparent)}.invite-theme-check{display:none;position:absolute;right:-4px;bottom:-4px;width:24px;height:24px;border-radius:50%;background:var(--brand-ink);color:var(--brand-surface);text-align:center;font:600 16px/24px var(--brand-font-ui)}.invite-theme input:checked+.invite-theme-sample .invite-theme-check{display:block}.invite-theme-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.invite-confirmation{display:flex;align-items:center;gap:8px;margin:0;font-weight:600;animation:confirmation-settle var(--brand-motion-rack-settle, .2s) var(--brand-motion-easing, ease-out) both}.invite-confirmation>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border:1px solid var(--brand-control);border-radius:50%}@keyframes confirmation-settle{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.invite-card,.invite-confirmation{animation:none}}
