:root{--invite-berry:#a00060;--invite-ink:#292728;--invite-muted:#756c70;--invite-line:#e8dce3;--invite-soft:#f6e8ef;--invite-paper:#fffdfa}*{box-sizing:border-box}.invitation-page{margin:0;background:#fdfbf7;color:var(--invite-ink);font-family:Outfit,Arial,sans-serif}body.invitation-page main.invitation-main{width:min(100% - 48px,1180px);margin:auto;padding:20px 0 60px}.invite-intro{display:flex;justify-content:space-between;align-items:end;gap:28px;margin:18px 0 30px}.invite-intro h1{font-size:clamp(34px,4.4vw,56px);line-height:1.06;letter-spacing:-.045em;margin:12px 0 18px;max-width:680px}.invite-intro h1 em{font-style:normal;color:var(--invite-berry)}.invite-intro p{color:var(--invite-muted);max-width:630px;line-height:1.7;margin:0}.invite-kicker{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--invite-berry)!important;font-weight:600}.invite-badge{flex:none;border:1px solid #e4cad8;border-radius:999px;padding:10px 16px;color:#870051;font-size:13px;background:#fbf0f5}.invite-workspace{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);align-items:start;gap:28px}.invite-controls{border:1px solid var(--invite-line);border-radius:24px;background:var(--invite-paper);padding:24px}.invite-controls fieldset{border:0;padding:0;margin:0 0 26px;min-width:0}.invite-controls legend{font-size:20px;font-weight:600;margin-bottom:16px}.invite-step{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:9px;background:var(--invite-soft);color:var(--invite-berry);font-size:13px;margin-right:8px}.invite-controls label{display:block;font-size:13px;font-weight:500;margin-bottom:16px}.invite-controls input,.invite-controls textarea,.invite-controls select{font:400 15px/1.5 Outfit,Arial,sans-serif;display:block;width:100%;min-height:46px;border:1px solid #dfd5da;border-radius:10px;background:white;color:#292728;padding:10px 12px;margin-top:6px}.invite-controls textarea{resize:vertical;min-height:94px}.invite-controls input:focus,.invite-controls textarea:focus,.invite-controls select:focus{outline:2px solid #a00060;outline-offset:2px}.invite-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.invite-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px}.invite-option{border:1px solid var(--invite-line);background:white;border-radius:12px;padding:10px 6px;color:var(--invite-muted);font:500 12px Outfit,sans-serif;cursor:pointer;min-height:74px;line-height:1.4}.invite-option[aria-pressed=true]{border:2px solid var(--invite-berry);padding:9px 5px;background:#fbf0f6;color:#8c0053}.invite-option svg{display:block;margin:0 auto 6px;width:34px;height:34px}.invite-swatch{width:24px;height:24px;border-radius:50%;display:block;margin:0 auto 7px;border:4px solid var(--swatch-paper);outline:1px solid #d9cbd1;background:var(--swatch-ink)}.invite-preview-panel{position:sticky;top:18px;padding:22px;background:#f3ebe7;border:1px solid #e7dce0;border-radius:24px;min-width:0}.invite-preview-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px;font-size:13px;color:var(--invite-muted)}.invite-preview-heading h2{font-size:16px!important;letter-spacing:0!important;margin:0}.invite-card{max-width:380px;margin:auto;box-shadow:0 15px 45px #4b253529;background:#fffbf6;line-height:0}.invite-card svg{display:block;width:100%;height:auto}.invite-size{font-size:12px;text-align:center;color:var(--invite-muted);margin:16px 0}.invite-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.invite-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 16px;border:1px solid #e1cad6;border-radius:12px;background:#fffdfa;color:#870051;font:500 14px/1.4 Outfit,Arial,sans-serif;cursor:pointer;text-decoration:none;text-align:center}.invite-button--primary{background:#a00060;border-color:#a00060;color:white}.invite-button--wide{grid-column:1/-1}.invite-button:focus-visible,.invite-option:focus-visible{outline:3px solid #a00060;outline-offset:3px}.invite-button:disabled{opacity:.55;cursor:wait}.invite-status{font-size:13px;line-height:1.6;min-height:24px;color:#68595f;margin:14px 0 0}.invite-status[data-error=true],.invite-warning{color:#9f3d14}.invite-warning{font-size:13px;line-height:1.5;background:#fff0da;padding:12px;border-radius:10px}.invite-fine{font-size:12px;color:var(--invite-muted);line-height:1.7}.invite-form-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--invite-line);padding-top:16px}.invite-form-footer span{font-size:12px;color:var(--invite-muted)}.invite-text-button{border:0;background:transparent;color:#870051;text-decoration:underline;text-underline-offset:3px;font:400 12px Outfit,sans-serif;cursor:pointer;min-height:40px}.invite-help{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:35px}.invite-help article{border-top:1px solid var(--invite-line);padding-top:20px}.invite-help h2{font-size:20px!important;margin:0 0 10px}.invite-help p{font-size:14px;line-height:1.8;color:var(--invite-muted);margin:0}.invite-dialog{max-width:540px;width:calc(100% - 28px);border:1px solid #e4cad8;border-radius:22px;padding:26px;background:#fffdfa;color:#292728}.invite-dialog::backdrop{background:#39202d70;backdrop-filter:blur(5px)}.invite-dialog h2{font:600 25px/1.2 Outfit,sans-serif;margin:0 0 15px}.invite-dialog p{font:400 14px/1.8 Outfit,sans-serif}.invite-dialog input{display:block;width:100%;padding:12px;border:1px solid #dac4cf;border-radius:10px;font:13px Outfit,sans-serif}.invite-dialog .invite-actions{margin-top:18px}.invite-guest-only{display:none}.invitation-guest .invite-editor-only,.invitation-guest .invite-controls,.invitation-guest .site-header,.invitation-guest .site-footer,.invitation-guest .invite-intro{display:none}.invitation-guest .invite-guest-only{display:block}.invitation-guest .invite-workspace{display:block;max-width:600px;margin:auto}.invitation-guest .invite-preview-panel{position:static;margin:0 auto;background:none;border:0;padding:0}.invitation-guest .invite-card{max-width:460px}.invitation-guest .guest-brand{font-size:12px;color:#8c1854;margin:20px auto 18px;max-width:600px;text-align:center}.invitation-guest #guest-title{font-size:24px;text-align:center;margin:10px 0 22px}.invitation-guest .invite-preview-heading,.invitation-guest .invite-size{display:none}.invite-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}[hidden]{display:none!important}
@media(max-width:800px){body.invitation-page main.invitation-main{width:calc(100% - 32px);padding-top:12px}.invite-intro{display:block;margin-top:8px}.invite-badge{display:inline-block;margin-top:16px}.invite-workspace{grid-template-columns:1fr;gap:20px}.invite-preview-panel{position:static;grid-row:1;padding:18px}.invite-card{max-width:280px}.invite-controls{padding:20px}.invite-help{grid-template-columns:1fr;gap:22px}.invite-field-row{gap:10px}.invite-dialog{padding:22px}.invite-dialog .invite-actions{grid-template-columns:1fr}.invitation-guest .invite-card{max-width:420px}.invitation-guest .invite-preview-panel{padding:0}.invite-intro h1{font-size:39px}.invite-status{font-size:12px}}
@media print{.invitation-page .site-header,.invitation-page .site-footer,.invite-controls,.invite-intro,.invite-actions,.invite-size,.invite-help,.invite-preview-heading,.invite-status,.invite-fine,.invite-guest-only,.invite-warning{display:none!important}.invitation-page main.invitation-main,.invite-workspace,.invite-preview-panel{display:block!important;width:100%!important;padding:0!important;margin:0!important;border:0!important;background:white!important}.invite-card{box-shadow:none;max-width:none;width:148mm}.invite-card svg{width:100%}}

/* Self-hosted original font files; licenses are adjacent to the assets. */
.invite-background-picker{display:flex;align-items:center;gap:16px;width:100%;padding:12px;margin-bottom:20px;border:1px solid #e6cedb;border-radius:16px;background:linear-gradient(120deg,#f8e7ef,#fffdfa);text-align:left;color:#6d1745;font:400 15px Outfit,sans-serif;cursor:pointer}.invite-background-picker img{object-fit:cover;border-radius:7px;width:50px;height:71px;box-shadow:0 4px 12px #6d17451a}.invite-background-picker strong,.invite-background-picker small{display:block}.invite-background-picker strong{font-size:17px;margin-bottom:7px}.invite-background-picker small{font-size:12px;color:#806775}.invite-background-picker>span:last-child{margin-left:auto;font-size:22px}
.invite-color-row{display:flex;align-items:center;gap:18px}.invite-color-row label{flex:1;margin:0}.invite-color-row label span{float:right;font-size:11px;color:#87717b}.invite-controls input[type=color]{padding:4px;height:42px;min-height:42px;cursor:pointer}.invite-color-presets{display:flex;gap:8px;padding-top:22px}.invite-color-preset{width:34px;height:34px;border:5px solid white;box-shadow:0 0 0 1px #d7c5ce;border-radius:50%;background:var(--ink);cursor:pointer}
.invite-gallery-dialog{max-width:1000px;max-height:88dvh;padding:22px}.invite-gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;position:sticky;top:-22px;background:#fffdfa;z-index:2;padding:10px 0 18px}.invite-gallery-heading h2{margin:8px 0}.invite-gallery-heading p{margin:0;color:#806775}.invite-background-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.invite-background-option{border:1px solid #e6d8df;border-radius:12px;background:white;padding:7px;cursor:pointer;text-align:left;color:#5e354a;font:400 12px/1.4 Outfit,sans-serif}.invite-background-option img{display:block;width:100%;height:auto;aspect-ratio:148/210;object-fit:cover;border-radius:7px;background:#f5ede8}.invite-background-option span{display:block;padding:9px 3px 5px}.invite-background-option[aria-pressed=true]{outline:2px solid #a00060;outline-offset:2px;background:#f9ebf3}.invite-background-option:focus-visible,.invite-background-picker:focus-visible,.invite-decoration-option:focus-visible,.invite-color-preset:focus-visible,.invite-chip:focus-visible{outline:3px solid #a00060;outline-offset:3px}
.invite-decoration-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.invite-decoration-option{min-width:0;min-height:83px;border:1px solid #e9dfe4;border-radius:11px;background:#fff;cursor:pointer;padding:6px 3px;color:#68505e;font:400 10px/1.3 Outfit,sans-serif}.invite-decoration-option img{width:44px;height:44px;display:block;object-fit:contain;margin:0 auto 5px}.invite-decoration-option span{display:block;overflow-wrap:anywhere}.invite-decoration-option:hover{background:#fff1f8;border-color:#d99dbc}.invite-decoration-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:15px}.invite-chip{font:400 12px Outfit,sans-serif;cursor:pointer;padding:8px 12px;border-radius:99px;border:1px solid #e5cfdb;color:#78435f;background:#fff}.invite-chip[aria-pressed=true]{background:#a00060;color:white;border-color:#a00060}.invite-decoration-tools{padding:16px;background:#f9eef4;border:1px solid #edd8e4;border-radius:15px}.invite-decoration-tools h3{font-size:16px;margin:0 0 16px}.invite-decoration-tools label{display:flex;justify-content:space-between;margin:12px 0 0}.invite-decoration-tools input[type=range]{padding:0;min-height:28px;margin:4px 0 12px;accent-color:#a00060;background:transparent;border:0}.invite-nudge{display:flex;justify-content:center;gap:8px}.invite-nudge button{min-width:42px;min-height:42px;background:white;border:1px solid #dfbfd0;border-radius:10px;color:#8b0052;font-size:20px;cursor:pointer}.invite-card:focus-visible{outline:3px solid #a00060;outline-offset:6px}.invite-card [data-sticker-id]{cursor:grab;touch-action:none}.invite-card.is-dragging [data-sticker-id]{cursor:grabbing}.invite-card [data-invite-text],.invite-card [data-background]{pointer-events:none}.invite-card [data-sticker-hit]{pointer-events:all}.invitation-guest .invite-card [data-sticker-id]{pointer-events:none;cursor:default}
@media(max-width:800px){.invite-background-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.invite-gallery-dialog{padding:15px;max-height:90dvh}.invite-gallery-heading{top:-15px;padding-top:7px}.invite-gallery-heading h2{font-size:21px}.invite-gallery-heading p{font-size:12px}.invite-decoration-gallery{grid-template-columns:repeat(5,minmax(0,1fr))}.invite-background-picker strong{font-size:16px}.invite-controls select{font-size:13px;padding:10px 6px}.invite-color-presets{gap:6px}.invite-color-preset{width:30px;height:30px}.invite-dialog input{min-width:0}}
