@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/poppins-latin-400-normal.916d3686.woff2) format("woff2"),url(/_next/static/media/poppins-latin-400-normal.cbe785df.woff) format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/poppins-latin-600-normal.d8692086.woff2) format("woff2"),url(/_next/static/media/poppins-latin-600-normal.c070cf14.woff) format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/poppins-latin-700-normal.9a881e2a.woff2) format("woff2"),url(/_next/static/media/poppins-latin-700-normal.c83dad1a.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/lora-latin-400-normal.1245abf6.woff2) format("woff2"),url(/_next/static/media/lora-latin-400-normal.4ca3a8d1.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/lora-latin-500-normal.3ef86813.woff2) format("woff2"),url(/_next/static/media/lora-latin-500-normal.43f2516c.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/lora-latin-600-normal.fbba1c17.woff2) format("woff2"),url(/_next/static/media/lora-latin-600-normal.ded4c90f.woff) format("woff")}@font-face{font-family:Lora;font-style:italic;font-display:swap;font-weight:400;src:url(/_next/static/media/lora-latin-400-italic.ffbe681f.woff2) format("woff2"),url(/_next/static/media/lora-latin-400-italic.a343c82e.woff) format("woff")}@font-face{font-family:Lora;font-style:italic;font-display:swap;font-weight:600;src:url(/_next/static/media/lora-latin-600-italic.b8360fe2.woff2) format("woff2"),url(/_next/static/media/lora-latin-600-italic.b455e78a.woff) format("woff")}:root{--font-display:"Poppins",system-ui,-apple-system,sans-serif;--font-letter:"Lora",Georgia,serif;--ember-1:#b8501f;--ember-2:#8e3a15;--ember-3:#5c1f0b;--ember-4:#2e0f05;--ember-cta-1:#9c4219;--ember-cta-2:#6b270e;--ember-cta-3:#3a1307;--flame:#ff7a1a;--flame-soft:#ffc24b;--on-ember:#fff;--on-ember-dim:hsla(0,0%,100%,.7);--on-ember-tease:#f2b98c;--paper-1:#fff;--paper-2:#fcfaf6;--paper-3:#f6f2ea;--ink:#231f1c;--ink-soft:#5c5349;--ink-faint:#9a8c7c;--paper-rule:rgba(35,31,28,.13);--shadow-deep:rgba(40,12,4,.65)}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--ember-4);color:var(--on-ember);font-family:var(--font-letter);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}button{font-family:inherit}.ember-stage{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;background:radial-gradient(120% 70% at 50% 12%,var(--ember-1) 0,var(--ember-2) 38%,var(--ember-3) 74%,var(--ember-4) 100%)}.ember-glow{border-radius:50%;background:radial-gradient(circle,rgba(255,122,26,.3) 0,rgba(255,122,26,0) 70%)}.ember-glow,.ember-sheen{position:absolute;pointer-events:none}.ember-sheen{inset:0;background:linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0) 45%)}.ghost-type{margin:0;text-align:center;font-family:var(--font-display);font-weight:700;font-size:clamp(2.6rem,19vw,8.5rem);line-height:.84;letter-spacing:-.045em;text-transform:uppercase;white-space:nowrap;background:linear-gradient(180deg,hsla(0,0%,100%,.11),hsla(0,0%,100%,.035));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wordmark{font-size:.72rem;letter-spacing:.34em}.eyebrow,.wordmark{font-family:var(--font-display);font-weight:600;text-transform:uppercase;color:var(--on-ember-dim);margin:0}.eyebrow{font-size:.5625rem;letter-spacing:.28em}.envelope-name{font-family:var(--font-display);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--on-ember)}.envelope-name,.tease{font-size:.9375rem;margin:0}.tease{font-family:var(--font-letter);font-style:italic;color:var(--on-ember-tease)}.envelope-btn{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer;text-align:left;--env-w:min(84vw,340px);--env-h:calc(min(84vw, 340px) * 0.72)}.envelope-btn:focus-visible{outline:2px solid var(--flame-soft);outline-offset:8px;border-radius:12px}.envelope-body{position:relative;margin:0 auto;width:var(--env-w);height:calc(var(--env-h) * 2);perspective:1500px;animation:envelopeFloat 6s ease-in-out infinite}.envelope-shadow{position:absolute;left:6%;right:6%;bottom:-2%;height:12%;border-radius:50%;filter:blur(18px);background:rgba(30,9,3,.62);transition:transform .9s ease,opacity .9s ease}.envelope-well{position:absolute;left:0;right:0;bottom:0;height:var(--env-h);transform-style:preserve-3d}.envelope-inner{position:absolute;inset:0;border-radius:10px;transform:translateZ(0);background:linear-gradient(180deg,#3d1408,#4a1a0b 70%,#55200e)}.envelope-paper{position:absolute;left:6%;width:88%;bottom:6%;height:calc(var(--env-h) * .94);border-radius:6px;transform:translateZ(1px);box-shadow:0 14px 30px -14px rgba(30,9,3,.7);background:radial-gradient(120% 80% at 50% 0,var(--paper-1) 0,var(--paper-2) 60%,var(--paper-3) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;padding:1rem;transition:transform 1s cubic-bezier(.22,1,.3,1)}.envelope-paper .paper-line{font-family:var(--font-letter);font-style:italic;font-size:.75rem;color:var(--ink-soft);margin:0}.envelope-face{position:absolute;inset:0;border-radius:10px;overflow:hidden;transform:translateZ(2px);background:linear-gradient(158deg,#a8481e,#8a3716 52%,#742c11);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.22),0 18px 36px -20px rgba(30,9,3,.9)}.envelope-label{position:absolute;left:0;right:0;bottom:0;height:52%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 1.25rem;text-align:center}.envelope-label .hairline{width:36px;height:1px;background:hsla(0,0%,100%,.25);border:0;margin:.75rem 0}.envelope-flap{position:absolute;left:0;right:0;top:0;height:50%;transform-origin:top center;transform:translateZ(3px) rotateX(0deg);transition:transform .95s cubic-bezier(.62,.01,.2,1);-webkit-clip-path:polygon(0 0,100% 0,50% 100%);clip-path:polygon(0 0,100% 0,50% 100%);border-radius:10px 10px 0 0;background:linear-gradient(172deg,#d9652a,#b64f1e 48%,#983c15);filter:drop-shadow(0 3px 5px rgba(30,9,3,.45))}.envelope-btn:hover .envelope-flap{transform:translateZ(3px) rotateX(-14deg)}.envelope-btn[data-phase=opening] .envelope-flap,.envelope-btn[data-phase=opening]:hover .envelope-flap{transform:translateZ(3px) rotateX(-172deg)}.envelope-btn[data-phase=opening] .envelope-paper{transform:translateZ(4px) translateY(calc(var(--env-h) * -.92)) scale(1.03);transition-delay:.42s}.envelope-btn[data-phase=opening] .envelope-shadow{transform:scale(.92);opacity:.7}.envelope-btn[data-phase=opening] .envelope-body{animation-play-state:paused}@keyframes envelopeFloat{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-8px,0)}}.pill{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border-radius:999px;font-family:var(--font-display);font-weight:600;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease,box-shadow .2s ease,opacity .2s ease}.pill:active{transform:scale(.98)}.pill-ghost{padding:.9375rem 2rem;font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;color:var(--on-ember);background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.25)}.pill-ghost:hover{background:hsla(0,0%,100%,.16)}.pill-solid{padding:1.25rem 2.25rem;font-size:.9375rem;background:#fff;color:var(--ember-3);box-shadow:0 18px 34px -18px rgba(40,12,4,.8)}.pill-solid:hover{box-shadow:0 22px 40px -18px rgba(40,12,4,.9)}.pill-danger{padding:1.05rem 1.75rem;font-size:.875rem;background:var(--flame-soft);color:#3a1307;border-color:transparent}.pill-danger:hover{background:#ffd270}.pill-outline{padding:1.05rem 1.75rem;font-size:.875rem;color:var(--on-ember);background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.28)}.pill-outline:hover{background:hsla(0,0%,100%,.15)}.sheet{width:100%;max-width:620px;margin:0 auto;border-radius:22px;padding:2.5rem 1.5rem;color:var(--ink);background:radial-gradient(120% 80% at 50% 0,var(--paper-1) 0,var(--paper-2) 60%,var(--paper-3) 100%);box-shadow:0 40px 80px -30px rgba(40,12,4,.75)}.sheet-eyebrow{font-family:var(--font-display);font-weight:600;font-size:.625rem;letter-spacing:.34em;text-transform:uppercase;color:var(--ink-faint);text-align:center;margin:0}.sheet-rule{height:1px;border:0;background:var(--paper-rule);margin:1.5rem 0}.sheet-body p{font-family:var(--font-letter);font-size:1.0625rem;line-height:1.75;color:var(--ink);margin:0;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:8 4 3;-webkit-hyphenate-limit-chars:8 4 3}.sheet-body .salutation{font-size:1.1875rem;line-height:1.5;text-align:left;hyphens:none;-webkit-hyphens:none}.signoff{font-style:italic;font-size:1.0625rem;color:var(--ink-soft);margin:0}.signature,.signoff{font-family:var(--font-letter)}.signature{font-weight:600;font-size:1.4375rem;color:var(--ink);margin:.35rem 0 .6rem}.signature-role{font-family:var(--font-display);font-size:.8125rem;line-height:1.55;color:var(--ink-soft);margin:0}.cta-stage{position:relative;overflow:hidden;background:linear-gradient(150deg,var(--ember-cta-1) 0,var(--ember-cta-2) 55%,var(--ember-cta-3) 100%)}.dash-row{display:flex;justify-content:center;gap:6px}.dash-row span{display:block;width:16px;height:3px;border-radius:2px}.cta-heading{font-family:var(--font-display);font-weight:700;font-size:clamp(1.6rem,6vw,1.875rem);line-height:1.12;letter-spacing:-.02em;color:var(--on-ember);margin:0}.cta-body{font-family:var(--font-letter);font-size:1.0625rem;line-height:1.7;color:hsla(0,0%,100%,.78);margin:0;max-width:34rem}.event-card{border:1px solid hsla(0,0%,100%,.22);background:hsla(0,0%,100%,.07);border-radius:16px;padding:1.25rem 1.4rem;text-align:center}.event-when{font-family:var(--font-display);font-weight:600;font-size:1.0625rem;color:var(--on-ember);margin:.45rem 0 .3rem}.event-where{font-family:var(--font-letter);font-size:.9375rem;color:hsla(0,0%,100%,.72);margin:0}.watermark-ring{position:absolute;pointer-events:none;border-radius:50%;border:2px solid hsla(0,0%,100%,.05)}.container{width:100%;max-width:960px;margin:0 auto;padding:0 1.5rem}.panel{background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.16);border-radius:18px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.admin-title{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;color:var(--on-ember)}label .field-label{font-family:var(--font-display);font-size:.78rem;letter-spacing:.04em;color:var(--on-ember-dim)}input,textarea{font-family:var(--font-letter);font-size:1rem;padding:.8rem 1rem;border-radius:12px;border:1px solid hsla(0,0%,100%,.22);background:hsla(0,0%,100%,.08);color:var(--on-ember);width:100%}input::placeholder,textarea::placeholder{color:hsla(0,0%,100%,.4)}input:focus,textarea:focus{outline:none;border-color:var(--flame-soft);box-shadow:0 0 0 3px rgba(255,194,75,.2)}.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;overflow:hidden}.stat{padding:1.1rem 1.35rem;background:hsla(0,0%,100%,.03);display:flex;flex-direction:column;gap:.15rem}.stat-value{font-weight:700;font-size:1.85rem;line-height:1.1;letter-spacing:-.02em;color:var(--on-ember)}.stat-label,.stat-value{font-family:var(--font-display)}.stat-label{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--on-ember-dim)}@media (max-width:560px){.stat{padding:.9rem .75rem}.stat-value{font-size:1.5rem}.stat-label{font-size:.58rem;letter-spacing:.1em}}.stat-value.accent{color:var(--flame-soft)}.filter-row{display:flex;flex-wrap:wrap;gap:.5rem}.filter-chip{font-family:var(--font-display);font-size:.78rem;font-weight:600;padding:.5rem 1rem;border-radius:999px;cursor:pointer;color:var(--on-ember-dim);background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.14);transition:background .18s ease,color .18s ease,border-color .18s ease}.filter-chip:hover{background:hsla(0,0%,100%,.12);color:var(--on-ember)}.filter-chip[aria-pressed=true]{background:#fff;border-color:#fff;color:var(--ember-3)}.guest-list{display:flex;flex-direction:column}.guest-row{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem 1rem;padding:1.1rem 1.35rem;border-top:1px solid hsla(0,0%,100%,.1)}.guest-row:first-child{border-top:0}.guest-main{flex:1 1 15rem;min-width:0}.guest-name{font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--on-ember);margin:0}.guest-note{font-family:var(--font-letter);font-style:italic;font-size:.85rem;line-height:1.5;color:var(--on-ember-dim);margin:.25rem 0 0}.guest-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}.guest-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem;letter-spacing:.02em;color:hsla(0,0%,100%,.55);background:rgba(0,0,0,.18);border-radius:6px;padding:.16rem .45rem}.guest-added{font-family:var(--font-display);font-size:.72rem;color:hsla(0,0%,100%,.45)}.guest-actions{display:flex;gap:.5rem;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-display);font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:.34rem .75rem;border-radius:999px;white-space:nowrap}.status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-opened{color:var(--flame-soft);background:rgba(255,194,75,.14);border:1px solid rgba(255,194,75,.3)}.status-waiting{color:hsla(0,0%,100%,.6);background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.16)}.empty-state{text-align:center;padding:3rem 1.5rem}.empty-state p{margin:0;color:var(--on-ember-dim);font-family:var(--font-letter)}.empty-state .empty-head{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--on-ember);margin-bottom:.4rem}@keyframes riseIn{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.rise-in{animation:riseIn .7s cubic-bezier(.2,.8,.25,1) both}@keyframes letterSettle{0%{opacity:0;transform:translateY(90px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.letter-settle{animation:letterSettle .85s cubic-bezier(.22,1,.3,1) both}.fade-in{animation:fadeIn .6s ease both}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (min-width:640px){.sheet{padding:3.25rem 3rem}}