:root{--paper:#0d0d0d;--ink:#f3ebd8;--ink-soft:#d9cbb0;--ink-muted:#f3ebd873;--ink-faint:#f3ebd833;--gold:#d4b56a;--gold-deep:#b8963f;--surface:#ffffff0f;--surface-strong:#ffffff1f;--font-display:"Cinzel", "Times New Roman", serif;--font-serif:"Cormorant Garamond", "Times New Roman", serif;--font-script:"Cinzel", "Times New Roman", serif;font-family:var(--font-serif);color:var(--ink);background-color:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:18px;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background-color:var(--paper);color:var(--ink)}button,input,textarea{font:inherit;color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:1px solid var(--gold);outline-offset:3px}.page{background-color:#0d0d0d;background-image:url(/assets/pozadie-30-narodeniny-mobil-DDE1p9BR.png);background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;min-height:100svh;padding:clamp(1rem,3vw,2rem);display:flex}@media (orientation:landscape){.page{background-image:url(/assets/pozadie-30-narodeniny-desktop-CcLZucQ5.png)}}.page.guests-mode{height:100svh;max-height:100svh;overflow:hidden}@media (orientation:landscape){.page.guests-mode{background-attachment:fixed}}.sheet{text-align:center;width:min(100%,36rem);position:relative}.page.guests-mode .sheet{flex-direction:column;min-height:0;max-height:100%;display:flex}.content{flex-direction:column;align-items:center;padding:clamp(1.5rem,4vw,2.5rem) clamp(1rem,3vw,1.75rem);display:flex}.page.guests-mode .content{min-height:0;max-height:100%;overflow:hidden}.header{margin-bottom:1.5rem}.page.guests-mode .header{flex-shrink:0}.names{font-family:var(--font-display);letter-spacing:.04em;text-transform:none;color:var(--ink);margin:0 0 .75rem;font-size:clamp(1.55rem,5.8vw,2.35rem);font-weight:500;line-height:1.25}.names-and{font-size:.72em;line-height:1}.meta{letter-spacing:.04em;color:var(--ink-soft);margin:0;font-size:clamp(.95rem,2.6vw,1.05rem)}.meta+.meta{margin-top:.25rem}.venue-link{color:var(--gold);text-underline-offset:.18em;text-decoration:underline}.venue-link:hover{color:var(--ink)}.progress{justify-content:center;gap:.45rem;margin-bottom:1.25rem;display:flex}.page.guests-mode .progress{flex-shrink:0}.progress-dot{background:var(--ink-faint);border-radius:50%;width:.4rem;height:.4rem;transition:background .25s,transform .25s}.progress-dot.active{background:var(--gold);transform:scale(1.15)}.step{opacity:0;width:100%;transition:opacity .22s,transform .22s;transform:translateY(8px)}.page.guests-mode .step{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.step.visible,.step-content.success.visible{opacity:1;transform:translateY(0)}.step-content{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:10rem;display:flex}.step-content.welcome{gap:.95rem;min-height:0}.step-content.success{opacity:0;min-height:12rem;transition:opacity .22s,transform .22s;transform:translateY(8px)}.welcome-text{text-wrap:pretty;max-width:28rem}.welcome-thanks{font-style:italic}.step-content.ceremony{gap:.85rem;min-height:0}.ceremony-text{text-wrap:pretty;max-width:28rem;font-size:clamp(.95rem,2.5vw,1.05rem);line-height:1.65}.ceremony-text strong{font-family:var(--font-display);color:var(--gold);letter-spacing:.06em;font-size:1.05em;font-weight:600}.checkbox-label{text-align:left;max-width:28rem;font-family:var(--font-serif);color:var(--ink);cursor:pointer;align-items:flex-start;gap:.7rem;margin-top:.5rem;font-size:1rem;display:flex}.checkbox{width:1.15rem;height:1.15rem;accent-color:var(--gold);cursor:pointer;flex-shrink:0;margin-top:.15rem}.step-content.guests{justify-content:flex-start;gap:1rem;width:100%;min-height:0;overflow:hidden}.guest-list{overscroll-behavior:contain;padding-inline:.25rem;flex-direction:column;flex:1;gap:1.25rem;width:min(100%,24rem);min-height:0;padding-bottom:.5rem;display:flex;overflow-y:auto}.step-content.guests .question{flex-shrink:0}.guest-card{border:1px solid var(--ink-faint);background:var(--surface);border-radius:.65rem;flex-direction:column;flex-shrink:0;align-items:center;gap:.65rem;width:100%;padding:1rem .85rem;display:flex}.guest-title{font-family:var(--font-display);color:var(--ink);margin:0 0 .25rem;font-size:clamp(1.5rem,5vw,1.9rem)}.guest-label{font-family:var(--font-serif);color:var(--ink-soft);text-align:left;align-self:stretch;margin:.35rem 0 0;font-size:.95rem}.guest-card .field,.guest-card .choice-list{width:100%}.script{font-family:var(--font-display);color:var(--ink);letter-spacing:.04em;font-weight:500}.closing{margin:0;font-size:clamp(1.75rem,5.5vw,2.4rem);line-height:1.25}.body-text{font-family:var(--font-serif);color:var(--ink-soft);margin:0;font-size:clamp(.98rem,2.6vw,1.12rem);line-height:1.7}.question{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:clamp(1.15rem,3.4vw,1.4rem);line-height:1.45;display:block}.question.secondary{margin-top:.5rem;font-size:clamp(1rem,2.8vw,1.15rem)}.field{width:min(100%,22rem);font-family:var(--font-serif);color:var(--ink);border:none;border-bottom:1px solid var(--ink-muted);text-align:center;background:0 0;border-radius:0;outline:none;padding:.65rem .25rem;font-size:1.05rem;transition:border-color .2s}.field:focus{border-bottom-color:var(--gold)}.field.area{border:1px solid var(--ink-muted);background:var(--surface);resize:vertical;text-align:left;min-height:5rem;padding:.85rem 1rem;line-height:1.5}.field::placeholder{color:var(--ink-muted)}.hint{font-family:var(--font-serif);color:var(--ink-muted);margin:0;font-size:.9rem}.choice-list{flex-direction:column;gap:.55rem;width:min(100%,22rem);display:flex}.choice-option{width:100%;font-family:var(--font-serif);color:var(--ink);background:var(--surface);border:1px solid var(--ink-muted);cursor:pointer;text-align:left;border-radius:.55rem;align-items:center;gap:.85rem;padding:.75rem 1rem;font-size:1.05rem;transition:background .2s,border-color .2s;display:flex}.choice-option:hover,.choice-option.selected{border-color:var(--gold);background:var(--surface-strong)}.choice-letter{border:1px solid var(--ink-muted);border-radius:.3rem;flex-shrink:0;justify-content:center;align-items:center;width:1.55rem;height:1.55rem;font-size:.9rem;line-height:1;display:inline-flex}.choice-row{flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%;display:flex}.choice-row.compact .choice{min-width:3rem;padding-inline:.9rem}.choice,.button{font-family:var(--font-serif);color:var(--ink);background:var(--surface);border:1px solid var(--ink-muted);cursor:pointer;padding:.7rem 1.35rem;font-size:1rem;transition:background .2s,border-color .2s,color .2s,opacity .2s}.choice:hover,.button:hover:not(:disabled),.choice.selected{border-color:var(--gold);background:var(--surface-strong)}.actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.75rem;display:flex}.page.guests-mode .actions{flex-shrink:0}.button.primary{background:var(--gold);color:#1a150c;border-color:var(--gold);min-width:8.5rem}.button.primary:hover:not(:disabled){background:var(--gold-deep);border-color:var(--gold-deep)}.button.ghost{background:var(--surface)}.button:disabled{opacity:.4;cursor:not-allowed}.error{font-family:var(--font-serif);color:#f0a8a8;margin:1rem 0 0;font-size:.95rem}.reset{font-family:var(--font-serif);color:var(--ink-muted);cursor:pointer;background:0 0;border:none;margin:2.5rem auto 0;font-size:.9rem;display:block}@media (width<=768px){.page.guests-mode{align-items:stretch;padding:.55rem .7rem .75rem}.page.guests-mode .sheet{width:100%;height:100%}.page.guests-mode .content{height:100%;padding:.4rem .4rem .55rem}.page.guests-mode .header{display:none}.page.guests-mode .progress{margin-bottom:.55rem}.page.guests-mode .step-content.guests{gap:.55rem}.page.guests-mode .step-content.guests .question{font-size:1.15rem}.page.guests-mode .guest-list{gap:1rem;width:100%;min-height:70svh}.page.guests-mode .guest-card{padding:.85rem .75rem}.page.guests-mode .actions{margin-top:.75rem}.page.guests-mode .reset{margin-top:.65rem}}@media (width<=480px){.choice-row:not(.compact){flex-direction:column;align-items:stretch}.choice-row:not(.compact) .choice{width:100%}.actions{flex-direction:column-reverse}.button{width:100%}.page.guests-mode .guest-list{min-height:72svh}}
