@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display Fallback;src:local("Times New Roman");ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:111.26%}.__className_63c8e8{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.__variable_63c8e8{--font-playfair:"Playfair Display","Playfair Display Fallback"}:root{--color-primary-50:#f3f7fd;--color-primary-100:#e1ebfa;--color-primary-200:#c5d8f5;--color-primary-300:#a7c1ee;--color-primary-400:#83a8ef;--color-primary-500:#6495ed;--color-primary-600:#4877d6;--color-primary-700:#3760b4;--color-primary-900:#22375f;--color-blush-100:#fbeaec;--color-blush-300:#f3c6cc;--color-blush-700:#a5525e;--color-sage-100:#ebf1e8;--color-sage-300:#c4d6bd;--color-sage-700:#4e7050;--color-cream-100:#fbf6ec;--color-gold-300:#e3c9a0;--color-gold-700:#8a6a3b;--color-bg:#fbf9f7;--color-surface:#fff;--color-border:#e9e2dc;--color-fg:#2e2a28;--color-fg-muted:#6f6862;--color-fg-heading:var(--color-primary-900);--color-success:#2f6b3c;--color-success-bg:#e8f2e9;--color-success-border:#bfdcc4;--color-warning:#8a5b12;--color-warning-bg:#fbf0dc;--color-warning-border:#edd9ae;--color-error:#a11c2e;--color-error-bg:#fbe7e9;--color-error-border:#f1c2c8;--color-info:var(--color-primary-700);--color-info-bg:var(--color-primary-100);--color-info-border:var(--color-primary-200);--font-display:var(--font-playfair,Georgia),serif;--font-body:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-hero:3rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:8px;--radius-md:14px;--radius-full:999px;--shadow-sm:0 1px 3px rgba(34,55,95,.08);--shadow-md:0 6px 24px rgba(34,55,95,.1);--shadow-lg:0 18px 48px rgba(34,55,95,.18);--control-h:38px;--hit:38px;--control-px:1.25rem;--control-py:0.6rem;--field-py:0.55rem;--field-gap:var(--space-4);--row-py:var(--space-3);--cell-px:var(--space-4);--card-p:var(--space-5);--section-gap:var(--space-7);--page-pt:var(--space-7);--content-max:80rem;--content-max-wide:80rem;--app-line-height:1.6;--title-size:var(--text-3xl);--bg:var(--color-bg);--fg:var(--color-fg);--accent:var(--color-primary-600);--border:var(--color-border)}[data-density=compact]{--control-h:30px;--hit:30px;--control-px:0.75rem;--control-py:0.3rem;--field-py:0.3rem;--field-gap:var(--space-3);--row-py:5px;--cell-px:var(--space-3);--card-p:var(--space-4);--section-gap:var(--space-5);--page-pt:var(--space-5);--content-max:80rem;--content-max-wide:92rem;--app-line-height:1.45;--title-size:var(--text-xl)}[data-density=compact] main.auth{--control-h:38px;--hit:38px;--control-px:1.25rem;--control-py:0.6rem;--field-py:0.55rem;--field-gap:var(--space-4);--card-p:var(--space-5);--section-gap:var(--space-7);--app-line-height:1.6;--title-size:var(--text-3xl);line-height:var(--app-line-height)}@media (pointer:coarse){:root{--hit:44px;--control-h:40px;--row-py:9px}[data-density=compact] main.auth{--control-h:40px}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-fg);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--app-line-height)}main{max-width:var(--content-max);margin:0 auto;padding:var(--page-pt) var(--space-5) var(--space-8)}main.page-wide{max-width:var(--content-max-wide)}h1,h2,h3{font-family:var(--font-display);color:var(--color-fg-heading);line-height:1.2;margin:0 0 var(--space-4)}h1{font-size:var(--title-size)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}p{margin:0 0 var(--space-4)}a{color:var(--color-primary-600);text-decoration:none}a:hover{color:var(--color-primary-700);text-decoration:underline}code{background:var(--color-primary-50);border-radius:var(--radius-sm);padding:.1rem .4rem;font-size:var(--text-sm)}form{max-width:28rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--card-p);margin:var(--card-p) 0}label{display:block;font-size:var(--text-sm);color:var(--color-fg-muted);margin-bottom:var(--field-gap)}input,select,textarea{display:block;width:100%;margin-top:var(--space-1);min-height:var(--control-h);padding:var(--field-py) .75rem;font:inherit;color:var(--color-fg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary-400);box-shadow:0 0 0 3px var(--color-primary-200)}.button,button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-h);font:inherit;font-size:var(--text-sm);letter-spacing:.02em;padding:var(--control-py) var(--control-px);border:1px solid transparent;border-radius:var(--radius-sm);background:var(--color-primary-600);color:#fff;cursor:pointer}.button:hover,button:hover{background:var(--color-primary-700);color:#fff;text-decoration:none}button:disabled{background:var(--color-primary-200);color:#fff;cursor:default}.button-secondary,button.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-h);padding:var(--control-py) var(--control-px);font-size:var(--text-sm);letter-spacing:.02em;border:1px solid var(--color-primary-600);border-radius:var(--radius-sm);background:transparent;color:var(--color-primary-600);cursor:pointer}.button-secondary:hover,button.secondary:hover{background:var(--color-primary-50);color:var(--color-primary-700);text-decoration:none}button.link{display:inline-flex;align-items:center;min-height:0;padding:0;border:none;background:none;font-size:inherit;letter-spacing:normal;color:var(--color-primary-600);text-decoration:underline}button.link:hover{background:none;color:var(--color-primary-700)}.button-secondary:focus-visible,.button:focus-visible,a:focus-visible,button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-200)}.save-button{transition:background-color .2s ease,border-color .2s ease}.save-button-success,.save-button-success:disabled,.save-button-success:hover{background:var(--color-success);border-color:var(--color-success);color:#fff}.save-button-spinner{display:inline-block;width:.9em;height:.9em;margin-right:.4em;border:2px solid hsla(0,0%,100%,.4);border-top-color:#fff;border-radius:var(--radius-full);vertical-align:-.15em;animation:save-button-spin .7s linear infinite}@keyframes save-button-spin{to{transform:rotate(1turn)}}.dialog-fieldset{border:none;margin:0;padding:0;min-width:0}.dialog-fieldset:disabled{opacity:.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}[role=alert]{background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-md);color:var(--color-error)}[role=alert],[role=status]{padding:var(--space-3) var(--space-4)}[role=status]{background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:var(--radius-md);color:var(--color-success)}form [role=alert]{background:none;border:none;border-radius:0;padding:0;margin:calc(-1 * var(--space-3)) 0 var(--space-4);font-size:var(--text-sm)}.badge{display:inline-block;font-size:var(--text-xs);padding:.15rem .55rem;border-radius:var(--radius-full);background:var(--color-primary-100);color:var(--color-primary-700)}table{width:100%;border-collapse:collapse}thead th{background:var(--color-primary-50);color:var(--color-fg-muted);font-size:var(--text-sm);font-weight:600;text-align:left}td,th{padding:var(--row-py) var(--cell-px);border-bottom:1px solid var(--color-border)}tbody tr:hover{background:var(--color-primary-50)}footer{margin-top:var(--space-7);border-top:1px solid var(--color-border);padding-top:var(--space-4);font-size:var(--text-sm);color:var(--color-fg-muted)}main.auth{max-width:28rem;min-height:100vh;display:grid;align-content:center}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.auth-panel{padding:var(--space-6)}.auth-sub{color:var(--color-fg-muted);margin-top:calc(-1 * var(--space-3))}.auth-panel form{max-width:none;margin:var(--space-5) 0 0;padding:0;border:none;border-radius:0;box-shadow:none}.auth-panel form button[type=submit]{width:100%;margin-top:var(--space-2)}.auth-panel [role=alert]{margin-top:var(--space-4)}main.rsvp-page{max-width:36rem}.rsvp-card{width:100%}.rsvp-tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--color-border);margin:var(--space-4) 0 var(--space-5)}.rsvp-tab{background:none;border:none;border-bottom:2px solid transparent;padding:var(--space-2) var(--space-1) var(--space-3);font-size:var(--text-sm);color:var(--color-fg-muted);cursor:pointer}.rsvp-tab.active{color:var(--color-primary-700);border-bottom-color:var(--color-primary-600);font-weight:600}.rsvp-address{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4) var(--space-4);margin:0 0 var(--space-4)}.rsvp-address legend{font-size:var(--text-sm);color:var(--color-fg-muted);padding:0 var(--space-2)}.rsvp-account-form{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}