@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap";:root{color-scheme:light;font-family:Manrope,sans-serif;--bg: #f4efe8;--ribbon: #c98a78;--eyebrow-color: #c98a78;--progress-accent: #c98a78;--selection-accent: #c98a78;--surface: #ffffff;--surface-strong: #ffffff;--heading: #2f2b27;--text: #2f2b27;--muted: #6e655d;--border: #ded4cc;--button-bg: #c98a78;--button-text: #ffffff;--input-surface: #ffffff;--input-border: #d7cdc4;--panel-surface: #faf7f3;--panel-border: #e7ddd5;--shadow: 0 28px 60px rgba(70, 53, 40, .12);--accent: var(--page-accent, #bb6a4c);--accent-soft: var(--page-surface, #f7ece7);--guest-card-max: 720px;--skeleton-base: rgba(219, 211, 202, .72);--skeleton-highlight: rgba(255, 255, 255, .7)}*{box-sizing:border-box}html,body,#root{min-height:100%;background:#f6efe8}body{margin:0;color:var(--text);background:#f6efe8;overflow-x:hidden}a{color:inherit}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;min-height:100svh;display:flex;align-items:flex-start;justify-content:center;width:100%;padding:clamp(1rem,3.5vw,3rem) clamp(.9rem,3vw,1.25rem) clamp(1.5rem,4vw,4rem)}.app-shell--embedded{min-height:auto;padding:1rem}.page-frame{min-height:100vh;min-height:100svh;background:radial-gradient(circle at top left,color-mix(in srgb,var(--app-theme) 20%,transparent),transparent 32%),radial-gradient(circle at top right,color-mix(in srgb,var(--page-accent, var(--app-theme)) 18%,transparent),transparent 28%),linear-gradient(180deg,var(--app-bg-soft) 0%,var(--app-bg-base) 100%)}.page-frame--embedded{min-height:auto;border-radius:26px;overflow:hidden}.form-card{width:min(100%,760px);background:var(--surface);border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);padding:2.25rem;align-self:flex-start;margin:0 auto;position:relative;overflow:hidden}.guest-card{width:min(100%,var(--guest-card-max))}.form-card--with-banner{padding-top:0}.form-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:8px;background:linear-gradient(90deg,var(--ribbon),color-mix(in srgb,var(--ribbon) 40%,white))}.portal-card,.rsvp-card,.thanks-card,.admin-card{gap:1.5rem}.form-banner{height:176px;margin:0 -2.25rem;background-position:center;background-repeat:no-repeat;background-size:cover;position:relative}.form-banner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#ffffff1a,#ffffff57),linear-gradient(120deg,color-mix(in srgb,var(--banner-accent) 20%,transparent),transparent 60%)}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skeleton-card{pointer-events:none}.skeleton-stack{display:grid;gap:1rem}.skeleton-stack--tight{gap:.45rem}.skeleton-line,.skeleton-step,.skeleton-step__number,.skeleton-step__label,.skeleton-input,.skeleton-button,.skeleton-radio,.skeleton-pill,.form-banner--skeleton{position:relative;overflow:hidden}.skeleton-line,.skeleton-step,.skeleton-step__number,.skeleton-step__label,.skeleton-input,.skeleton-button,.skeleton-radio,.skeleton-pill{display:block;background:var(--skeleton-base)}.skeleton-line:after,.skeleton-step:after,.skeleton-step__number:after,.skeleton-step__label:after,.skeleton-input:after,.skeleton-button:after,.skeleton-radio:after,.skeleton-pill:after,.form-banner--skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,transparent 22%,var(--skeleton-highlight) 50%,transparent 78%,transparent 100%);animation:skeleton-shimmer 1.45s ease-in-out infinite}.form-banner--skeleton{background:linear-gradient(135deg,#ebe4dde6,#f8f4f0f5),linear-gradient(120deg,color-mix(in srgb,var(--accent) 14%,white),transparent 60%)}.skeleton-line{border-radius:999px}.skeleton-line--eyebrow{width:7.25rem;height:.78rem}.skeleton-line--title{height:clamp(2.35rem,4.5vw,3.55rem);border-radius:1.6rem}.skeleton-line--title-compact{width:min(34%,10rem)}.skeleton-line--title-medium{width:min(54%,17rem)}.skeleton-line--title-wide{width:min(80%,26rem)}.skeleton-line--lead{width:min(72%,22rem);height:1.05rem}.skeleton-line--lead-wide{width:min(84%,28rem)}.skeleton-line--section-title{width:8.5rem;height:.92rem}.skeleton-line--section-title-short{width:6.25rem}.skeleton-line--body{width:100%;height:.98rem}.skeleton-line--body-short{width:74%}.skeleton-line--choice-eyebrow{width:4.8rem;height:.7rem;background:color-mix(in srgb,var(--side-accent) 26%,white)}.skeleton-line--choice-title{width:58%;height:1.1rem;background:color-mix(in srgb,var(--side-accent) 16%,#d7d0c8)}.skeleton-line--label{width:10rem;height:.85rem}.skeleton-line--label-short{width:7.25rem}.skeleton-line--option{width:44%;height:.98rem}.skeleton-line--option-wide{width:62%}.skeleton-line--caption{width:5.8rem;height:.72rem}.skeleton-line--stat-value{width:2.7rem;height:1.4rem;border-radius:.9rem}.guest-step-progress--skeleton{pointer-events:none}.skeleton-step{display:grid;align-content:start;gap:.35rem;min-height:4.6rem;border-radius:18px;border:1px solid rgba(47,43,39,.08);background:linear-gradient(180deg,#fffffff2,#f8f4f0fa);padding:.8rem .9rem}.skeleton-step--current{border-color:color-mix(in srgb,var(--accent) 22%,white);background:color-mix(in srgb,var(--accent) 8%,white);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 12%,transparent)}.skeleton-step--completed{background:#ffffffdb}.skeleton-step--upcoming{opacity:.78}.skeleton-step__number{width:42%;height:.58rem;border-radius:999px}.skeleton-step__label{width:72%;height:.84rem;border-radius:999px}.skeleton-note{display:grid;gap:.7rem}.skeleton-side-button{cursor:default;box-shadow:none}.skeleton-side-button:hover{transform:none}.skeleton-field{display:grid;gap:.65rem}.skeleton-choice-group{gap:.9rem}.skeleton-choice-line{display:flex;align-items:center;gap:.75rem}.skeleton-radio{width:1rem;height:1rem;border-radius:50%}.skeleton-attendee-card{gap:.9rem}.skeleton-attendee-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.skeleton-pill{width:4.8rem;height:1.7rem;border-radius:999px}.skeleton-input{height:3.45rem;border-radius:16px;border:1px solid rgba(47,43,39,.08);background:#fffffff5}.skeleton-button{height:3.45rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 24%,white);box-shadow:0 12px 24px color-mix(in srgb,var(--accent) 16%,transparent)}.skeleton-button--primary{width:100%}.skeleton-button--secondary{width:8.5rem;background:#fffffff2;border:1px solid rgba(47,43,39,.08);box-shadow:none}.skeleton-button--action{width:12.5rem}.skeleton-summary-panel{display:grid;gap:.9rem}.skeleton-stat{gap:.45rem;align-content:start}.skeleton-summary-list{display:grid;gap:.65rem;margin-top:.15rem}.skeleton-list-item{display:grid;gap:.45rem;padding:.65rem 0;border-top:1px solid rgba(47,43,39,.08)}.skeleton-list-item:first-child{border-top:0;padding-top:0}.stack{display:flex;flex-direction:column}.guest-card__header{display:grid;gap:.95rem}.guest-card__body,.guest-card__form{display:grid;gap:1.25rem}.eyebrow{margin:0;color:var(--eyebrow-color);font-size:.82rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}h1,h2,h3{font-family:Playfair Display,serif;line-height:.98;color:var(--heading);margin:0}h1{font-size:clamp(2.35rem,4.9vw,4rem)}h2{font-size:clamp(1.45rem,2.8vw,2rem)}h3{font-size:1.5rem}.lead,.helper-text,.choice-copy p,.notice-panel p,.attendee-header p{color:var(--muted)}.lead{font-size:1.02rem;line-height:1.5;margin:0;max-width:38rem}.guest-card__title{margin-inline-start:-.035em}.guest-card__title--compact{max-width:10ch;font-size:clamp(2rem,4vw,3.1rem)}.guest-step-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.guest-step-progress__step{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:18px;border:1px solid color-mix(in srgb,var(--border) 88%,white);background:color-mix(in srgb,var(--surface) 84%,transparent);display:grid;gap:.22rem;min-height:4.6rem;padding:.8rem .9rem;text-align:left}.guest-step-progress__step--current{border-color:color-mix(in srgb,var(--progress-accent) 24%,white);background:color-mix(in srgb,var(--progress-accent) 10%,white);box-shadow:0 10px 24px color-mix(in srgb,var(--progress-accent) 14%,transparent)}.guest-step-progress__step--completed{cursor:pointer;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.guest-step-progress__step--completed:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--progress-accent) 22%,white);background:#fff}.guest-step-progress__step--upcoming{opacity:.72}.guest-step-progress__number{color:var(--progress-accent);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.guest-step-progress__label{color:var(--text);font-size:.97rem;font-weight:700;line-height:1.2}.field{display:flex;flex-direction:column;gap:.6rem}.field>span,.choice-group legend{font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid var(--input-border);background:var(--input-surface);border-radius:16px;padding:.95rem 1rem;color:var(--text);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.field textarea{resize:vertical;min-height:5rem}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:color-mix(in srgb,var(--selection-accent) 65%,black);box-shadow:0 0 0 4px color-mix(in srgb,var(--selection-accent) 18%,white)}.helper-text,.field-error{font-size:.92rem;min-height:1.15rem}.field-error{color:#b1362d}.banner-error,.banner-success{border-radius:16px;padding:.9rem 1rem;margin:0}.banner-error{background:#fff0ee}.banner-success{background:#eff7ee;color:#385a34}.primary-button,.secondary-button,.side-button,.primary-link,.secondary-link{border-radius:999px;border:1px solid transparent;cursor:pointer;font-weight:700;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.primary-button,.primary-link{background:var(--button-bg);color:var(--button-text);padding:.95rem 1.35rem;box-shadow:0 12px 24px color-mix(in srgb,var(--button-bg) 26%,transparent)}.primary-button--wide{width:100%;justify-content:center}.primary-button:hover,.primary-link:hover,.secondary-button:hover,.side-button:hover,.secondary-link:hover{transform:translateY(-1px)}.primary-button:focus-visible,.primary-link:focus-visible,.secondary-button:focus-visible,.secondary-link:focus-visible,.side-button:focus-visible{outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--button-bg) 16%,white),0 12px 24px color-mix(in srgb,var(--button-bg) 16%,transparent)}.guest-step-progress__step--completed:focus-visible{outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--progress-accent) 16%,white),0 12px 24px color-mix(in srgb,var(--progress-accent) 16%,transparent)}.primary-button:disabled{cursor:wait;opacity:.72}.side-button:disabled{cursor:wait;opacity:.88;transform:none}.secondary-button,.secondary-link{border-color:var(--border);background:var(--surface);color:var(--text);padding:.9rem 1.25rem}.action-row{display:flex;gap:.85rem;justify-content:flex-end;flex-wrap:wrap}.action-row--spread{justify-content:space-between}.portal-choice-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.portal-stage{display:grid;gap:1.15rem}.portal-note{border-radius:18px;border:1px solid var(--panel-border);background:var(--panel-surface);padding:1rem 1.1rem}.portal-note strong,.portal-note p{margin:0}.portal-note strong{display:block;font-size:.9rem;margin-bottom:.35rem}.portal-note p{color:var(--muted);line-height:1.45}.choice-actions{display:grid;gap:.9rem}.side-button{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;min-height:5.9rem;padding:1.2rem 1.35rem;background:var(--side-surface);border-color:color-mix(in srgb,var(--side-accent) 22%,white);color:var(--text);text-align:left}.side-button strong{font-size:1.25rem;line-height:1.18}.side-button span{color:var(--side-accent);font-size:.86rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.choice-group{border:1px solid var(--input-border);border-radius:22px;background:var(--input-surface);padding:1.15rem;display:grid;gap:.8rem;margin:0}.choice-option{display:flex;align-items:center;gap:.75rem}.choice-option input{accent-color:var(--selection-accent)}.attendee-stack{gap:1rem}.attendee-card{border-radius:24px;padding:1.35rem;background:linear-gradient(180deg,var(--surface) 0%,var(--panel-surface) 100%);border:1px solid var(--panel-border);display:grid;gap:1rem}.attendee-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.attendee-header p{margin:.35rem 0 0}.attendee-badge{border-radius:999px;background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--accent);padding:.45rem .75rem;font-size:.85rem;font-weight:700}.summary-panel,.admin-section,.notice-panel{border:1px solid var(--panel-border);border-radius:22px;padding:1.1rem;background:var(--panel-surface)}.summary-row,.status-row,.admin-header{display:flex;gap:1rem;justify-content:space-between;align-items:center;flex-wrap:wrap}.summary-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:.85rem}.summary-stat{border-radius:18px;border:1px solid color-mix(in srgb,var(--panel-border) 78%,white);background:color-mix(in srgb,var(--panel-surface) 92%,white);padding:.9rem 1rem;display:grid;gap:.3rem}.summary-stat span{color:var(--muted);font-size:.92rem}.summary-stat strong{font-size:1.25rem;line-height:1}.summary-list{list-style:none;padding:0;margin:.9rem 0 0;display:grid;gap:.65rem}.summary-list li{display:grid;gap:.2rem;padding:.65rem 0;border-top:1px solid color-mix(in srgb,var(--panel-border) 76%,white)}.summary-list li span,.summary-list li em,.summary-list li small{color:var(--muted)}.summary-list li strong{color:var(--text)}.summary-list li:first-child{border-top:0;padding-top:0}.admin-card{gap:1.25rem}.admin-section{display:grid;gap:.85rem}.appearance-token-groups{display:grid;gap:1rem}.appearance-group{display:grid;gap:.8rem}.appearance-group__header{display:grid;gap:.25rem}.appearance-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.preview-section{gap:1rem}.preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.preview-toolbar{display:grid;gap:.9rem}.preview-toggle-group{display:grid;gap:.45rem}.preview-toggle-group__label{color:var(--muted);font-size:.86rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.preview-toggle-group__controls{display:flex;flex-wrap:wrap;gap:.55rem}.preview-toggle-chip{border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);cursor:pointer;font-weight:700;padding:.55rem .9rem;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease,color .16s ease}.preview-toggle-chip:hover{transform:translateY(-1px)}.preview-toggle-chip--active{background:var(--button-bg);border-color:color-mix(in srgb,var(--button-bg) 48%,white);box-shadow:0 10px 22px color-mix(in srgb,var(--button-bg) 18%,transparent);color:var(--button-text)}.preview-viewport{border-radius:28px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,white);overflow:hidden;box-shadow:inset 0 1px color-mix(in srgb,white 62%,transparent)}.preview-viewport--mobile{width:min(100%,430px);max-width:430px;margin:0 auto}.preview-viewport--desktop{width:100%}.preview-viewport__stage{margin:0 auto;overflow:hidden;position:relative}.preview-viewport__frame{display:block;border:0;background:transparent;transform-origin:top left}.preview-static-link{align-items:center;display:inline-flex;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none}.banner-crop-grid{display:grid;gap:1rem;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.banner-crop-preview{position:relative;overflow:hidden;border-radius:22px;border:1px solid var(--border);background:var(--surface);min-height:180px}.banner-crop-preview img{width:100%;height:100%;object-fit:cover;display:block;min-height:180px;transform-origin:center}.banner-crop-controls{display:grid;gap:.9rem;align-content:start}.color-field input[type=color]{min-height:3.5rem;padding:.35rem}.banner-preview{border-radius:22px;overflow:hidden;border:1px solid var(--border);background:var(--surface);min-height:152px}.banner-preview img{display:block;width:100%;height:180px;object-fit:cover}.banner-preview--empty{display:grid;place-items:center;color:var(--muted);background:var(--panel-surface)}.qr-preview{width:min(100%,240px);padding:1rem;border-radius:22px;background:linear-gradient(180deg,var(--surface) 0%,color-mix(in srgb,var(--panel-surface) 64%,white) 100%);border:1px solid var(--border)}.qr-preview img{display:block;width:100%;height:auto}.secondary-link{align-self:flex-start}.thank-you-link{align-self:flex-end;border-radius:14px;font-weight:800;letter-spacing:.01em;margin-top:.1rem;min-width:220px;padding:.9rem 1.4rem;text-align:center}.thank-you-actions{justify-content:flex-end}.honeypot-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}code{word-break:break-all;font-size:.92rem;background:#f7f1ea;border-radius:10px;padding:.2rem .45rem}@media (max-width: 720px){.app-shell{padding:max(0rem,env(safe-area-inset-top,0px)) max(0rem,env(safe-area-inset-right,0px)) calc(.9rem + env(safe-area-inset-bottom,0px)) max(0rem,env(safe-area-inset-left,0px))}.form-card{border-radius:0 0 22px 22px;box-shadow:0 18px 40px #4635281a;padding:1rem;width:100%}.guest-card{min-height:calc(100svh - env(safe-area-inset-top,0px));border:0;border-radius:0;box-shadow:none}.portal-card,.rsvp-card,.thanks-card{width:100%;border-left:0;border-right:0;border-top:0;margin:0}.form-card--with-banner{padding-top:0}.form-banner{height:108px;margin:0 -1rem}.action-row,.summary-row,.status-row,.admin-header{align-items:stretch}.primary-button,.secondary-button,.primary-link,.secondary-link{width:100%;text-align:center;justify-content:center}.guest-card__header,.guest-card__body,.guest-card__form,.portal-stage{gap:.8rem}.guest-step-progress{gap:.4rem}.preview-viewport{border-radius:24px}.guest-step-progress__step{border-radius:14px;min-height:3.25rem;padding:.45rem .55rem .5rem}.skeleton-step{min-height:3.25rem;border-radius:14px;padding:.45rem .55rem .5rem}.guest-step-progress__number{font-size:.56rem}.guest-step-progress__label{font-size:.72rem;line-height:1.15}.portal-note{border-left:3px solid color-mix(in srgb,var(--accent) 55%,white);border-radius:14px;padding:.75rem .85rem}.side-button{border-radius:18px;min-height:4.6rem;padding:.85rem .95rem}.side-button strong{font-size:1rem}.field input,.field select,.field textarea{border-radius:14px;padding:.85rem .95rem}.skeleton-input{height:3.15rem;border-radius:14px}.primary-button,.secondary-button,.primary-link,.secondary-link{border-radius:18px;padding:.85rem 1.15rem}.skeleton-button{height:3.15rem}.skeleton-choice-line{gap:.65rem}.skeleton-button--secondary,.skeleton-button--action{width:100%}.attendee-header{flex-direction:column}.summary-stats,.appearance-grid,.banner-crop-grid{grid-template-columns:1fr}.thank-you-link{min-width:0}}@media (max-width: 480px){h1{font-size:clamp(1.85rem,12vw,2.4rem)}.lead{font-size:.94rem;line-height:1.4}.form-card{padding:.95rem}.form-banner{height:104px;margin:0 -.95rem}.guest-step-progress__label{font-size:.68rem}.eyebrow{font-size:.74rem;letter-spacing:.14em}.guest-card__header{gap:.72rem}.skeleton-line--title{height:2.7rem}.skeleton-line--title-compact{width:min(48%,8.75rem)}.skeleton-line--title-medium{width:min(58%,10.75rem)}.skeleton-line--title-wide{width:min(78%,14.75rem)}.skeleton-line--lead{width:88%;height:.96rem}.skeleton-line--lead-wide{width:94%}}
