.inv{isolation:isolate;background:var(--inv-bg);min-height:100%;color:var(--inv-ink);flex-direction:column;font-family:Outfit,system-ui,sans-serif;display:flex;position:relative;overflow:hidden}.inv *,.inv :before,.inv :after{box-sizing:border-box}.inv [hidden]{display:none!important}.inv-pattern{z-index:-1;pointer-events:none;opacity:.55;position:absolute;inset:0}.p-confetti .inv-pattern{background-image:radial-gradient(circle, var(--c1) 3px, transparent 4px), radial-gradient(circle, var(--c3) 2.5px, transparent 3.5px), radial-gradient(circle, #fff 2px, transparent 3px);background-position:0 0,30px 40px,15px 25px;background-size:70px 70px,90px 90px,55px 55px}.p-leaves .inv-pattern{background-image:radial-gradient(14px 7px,#ffffff59 98%,#0000),radial-gradient(10px 5px,#003c142e 98%,#0000);background-position:0 0,35px 30px;background-size:80px 80px,60px 60px}.p-stars .inv-pattern{opacity:.9;background-image:radial-gradient(circle,#fff 1.2px,#0000 2px),radial-gradient(circle,#ffd23fe6 1.6px,#0000 2.4px),radial-gradient(circle,#fff9 1px,#0000 1.6px);background-position:0 0,40px 70px,20px 10px;background-size:60px 60px,110px 110px,37px 37px}.p-sparkles .inv-pattern{background-image:radial-gradient(circle,#fff 2px,#0000 3px),radial-gradient(circle,#b04fd859 3px,#0000 4px);background-position:0 0,25px 40px;background-size:50px 50px,85px 85px}.p-pitch .inv-pattern{opacity:.35;background:repeating-linear-gradient(90deg,#ffffff2e 0 40px,#0000 40px 80px)}.p-waves .inv-pattern{opacity:.3;background-image:radial-gradient(circle at 50% 100%,#0000 18px,#ffffff80 19px 21px,#0000 22px);background-size:44px 22px}.inv-stage{text-align:center;flex:1;align-content:center;place-items:center;gap:18px;min-height:520px;padding:48px 20px;display:grid}.inv-teaser{letter-spacing:-.02em;text-wrap:balance;max-width:18ch;color:var(--inv-on-bg);margin:0;font-size:22px;font-weight:800}.inv-hint{min-height:1.4em;color:var(--inv-ink);backdrop-filter:blur(6px);background:#ffffff8c;border-radius:999px;margin:0;padding:8px 14px;font-size:15px;font-weight:600}.inv-hint:empty{visibility:hidden}.inv-egg{cursor:pointer;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 18px 20px #0000002e);background:0 0;border:0;width:150px;height:188px;padding:0;animation:2.4s ease-in-out infinite inv-bob;position:relative}.inv-egg .shell{background:radial-gradient(circle at 30% 28%, var(--c1) 0 11px, transparent 12px), radial-gradient(circle at 70% 60%, var(--c2) 0 14px, transparent 15px), radial-gradient(circle at 38% 80%, var(--c3) 0 9px, transparent 10px), radial-gradient(circle at 66% 22%, var(--c4) 0 7px, transparent 8px), var(--inv-egg);border-radius:50%/60% 60% 42% 42%;transition:transform .7s cubic-bezier(.3,1.4,.5,1),opacity .5s;position:absolute;inset:0;box-shadow:inset -12px -14px #0000001a}.inv-egg .top{clip-path:polygon(0 0,100% 0,100% 53%,88% 46%,75% 56%,62% 46%,50% 56%,38% 46%,25% 56%,12% 46%,0 53%)}.inv-egg .bottom{clip-path:polygon(0 53%,12% 46%,25% 56%,38% 46%,50% 56%,62% 46%,75% 56%,88% 46%,100% 53%,100% 100%,0 100%)}.inv-egg.wob{animation:none}.inv-egg.is-pumpkin{width:190px;height:160px}.inv-egg.is-pumpkin .shell{background:radial-gradient(12% 50%,#00000024,#0000 70%),radial-gradient(12% 50% at 28%,#0000001f,#0000 70%),radial-gradient(12% 50% at 72%,#0000001f,#0000 70%),radial-gradient(circle at 36% 42%,#3a1500 0 9px,#0000 10px),radial-gradient(circle at 64% 42%,#3a1500 0 9px,#0000 10px),radial-gradient(22% 9% at 50% 68%,#3a1500 0 90%,#0000 100%),#ff8a1f;border-radius:48% 48% 46% 46%/55% 55% 45% 45%}.inv-egg.wob .shell{animation:.45s inv-wob}.inv-egg.cracked .top{transform:translateY(-6px)rotate(-4deg)}.inv-egg.open .top{opacity:0;transform:translate(-50px,-170px)rotate(-40deg)}.inv-egg.open .bottom{opacity:0;transform:translateY(50px)}@keyframes inv-wob{0%,to{rotate:0deg}25%{rotate:-9deg}50%{rotate:7deg}75%{rotate:-4deg}}@keyframes inv-bob{50%{transform:translateY(-8px)rotate(-2deg)}}.inv-ticket{aspect-ratio:56/34;border-radius:18px;width:min(100%,300px);position:relative;overflow:hidden;box-shadow:0 20px 34px -18px #00000073}.inv-ticket .under{background:repeating-linear-gradient(45deg, var(--inv-accent) 0 16px, color-mix(in srgb, var(--inv-accent) 82%, #fff) 16px 32px);place-items:center;display:grid;position:absolute;inset:0}.inv-ticket .under span{color:var(--inv-accent-ink);letter-spacing:-.02em;font-size:34px;font-weight:800}.inv-ticket canvas{touch-action:none;cursor:grab;width:100%;height:100%;transition:opacity .6s;position:absolute;inset:0}.inv-letter{aspect-ratio:4/2.8;width:min(100%,250px);position:relative}.inv-letter .paper{background:color-mix(in srgb, var(--inv-env) 80%, #000);border-radius:8px;position:absolute;inset:0;box-shadow:0 22px 40px -20px #0000008c}.inv-letter .pocket{background:linear-gradient(180deg, color-mix(in srgb, var(--inv-env) 94%, #fff), color-mix(in srgb, var(--inv-env) 92%, #000));clip-path:polygon(0 0,50% 58%,100% 0,100% 100%,0 100%);border-radius:8px;position:absolute;inset:0}.inv-letter .flap{background:color-mix(in srgb, var(--inv-env) 86%, #000);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;height:62%;transition:transform .55s cubic-bezier(.5,0,.3,1),opacity .3s .3s;position:absolute;top:0;left:0;right:0}.inv-letter .wax{cursor:pointer;background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--inv-seal) 70%, #fff), var(--inv-seal) 70%);color:#ffffffe6;-webkit-tap-highlight-color:transparent;touch-action:none;user-select:none;border:0;border-radius:50%;width:70px;height:70px;font:800 24px/1 Georgia,serif;transition:transform .3s,opacity .35s;position:absolute;top:62%;left:50%;translate:-50% -50%;box-shadow:0 6px 14px #00000059}.inv-letter .ring{pointer-events:none;width:88px;max-width:none;height:88px;position:absolute;top:-9px;left:-9px;transform:rotate(-90deg)}.inv-letter .ring circle{fill:none;stroke:#fff;stroke-width:4px;stroke-linecap:round;stroke-dasharray:290;stroke-dashoffset:290px}.inv-letter .wax.holding{transform:scale(.94)}.inv-letter .wax.holding .ring circle{stroke-dashoffset:0;transition:stroke-dashoffset .9s linear}.inv-letter.open .wax{opacity:0;pointer-events:none;transform:scale(1.5)}.inv-letter.open .flap{transform:perspective(600px)rotateX(180deg)}.inv-letter.open{animation:1.5s cubic-bezier(.5,0,.2,1) both inv-letter-go}@keyframes inv-letter-go{0%,30%{transform:none}to{opacity:0;transform:translateY(30px)scale(.9)}}.inv-content{gap:16px;width:100%;max-width:480px;margin:0 auto;padding:28px 16px 20px;display:grid;position:relative}.inv-content.enter .inv-card{animation:.7s cubic-bezier(.3,1.35,.5,1) both inv-card-in}.inv-content.enter .inv-rsvp{animation:.7s cubic-bezier(.3,1.35,.5,1) .15s both inv-card-in}@keyframes inv-card-in{0%{opacity:0;transform:translateY(40px)scale(.92)}to{opacity:1;transform:none}}.inv-card,.inv-rsvp{background:var(--inv-card);border-radius:24px;padding:26px 22px;box-shadow:0 24px 50px -28px #00000073}.inv-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--inv-soft);margin:0 0 6px;font-size:13px;font-weight:600}.inv-title{letter-spacing:-.035em;color:var(--inv-accent);text-wrap:balance;margin:0;font-size:clamp(34px,9vw,44px);font-weight:800;line-height:1}.inv-msg{color:var(--inv-ink);margin:14px 0 0;font-size:17px;line-height:1.45}.inv-facts{gap:10px;margin-top:20px;display:grid}.fact{background:color-mix(in srgb, var(--inv-ink) 6%, transparent);border-radius:16px;gap:2px;padding:12px 14px;display:grid}.fact span{letter-spacing:.1em;text-transform:uppercase;color:var(--inv-soft);font-size:12px;font-weight:800}.fact b{font-size:18px;line-height:1.25}.fact small{color:var(--inv-soft);font-size:15px}.fact small:empty,.fact b:empty{display:none}.inv-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.inv-btn{cursor:pointer;background:var(--inv-accent);color:var(--inv-accent-ink);border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:13px 16px;font:800 15px/1 Outfit,system-ui,sans-serif;text-decoration:none;transition:transform .15s;display:inline-flex}.inv-btn:active{transform:scale(.96)}.inv-btn.ghost{background:color-mix(in srgb, var(--inv-ink) 8%, transparent);color:var(--inv-ink)}.inv-btn.big{flex:1;padding:17px 18px;font-size:17px}.inv-btn[aria-pressed=true]{outline:3px solid var(--inv-ink);outline-offset:2px}.inv-btn:disabled{opacity:.6}.inv-btn:focus-visible,.inv input:focus-visible,.inv textarea:focus-visible{outline:3px solid var(--inv-accent);outline-offset:2px}.inv-rsvp h2{letter-spacing:-.02em;margin:0 0 14px;font-size:26px}.inv-choice{gap:8px;display:flex}.inv-form{gap:14px;margin-top:18px;display:grid}.inv .field{color:var(--inv-soft);gap:6px;font-size:14px;font-weight:600;display:grid}.inv input,.inv textarea{width:100%;color:var(--inv-ink);background:color-mix(in srgb, var(--inv-ink) 6%, transparent);resize:vertical;border:2px solid #0000;border-radius:14px;padding:12px 14px;font:400 17px/1.35 Outfit,system-ui,sans-serif}.counts{grid-template-columns:1fr 1fr;gap:10px;display:grid}.count{color:var(--inv-soft);gap:6px;font-size:14px;font-weight:600;display:grid}.stepper{background:color-mix(in srgb, var(--inv-ink) 6%, transparent);border-radius:14px;justify-content:space-between;align-items:center;padding:4px;display:flex}.stepper button{background:var(--inv-card);width:40px;height:40px;color:var(--inv-ink);cursor:pointer;border:0;border-radius:10px;font-size:22px;font-weight:800}.stepper output{color:var(--inv-ink);font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.inv-thanks{color:var(--inv-accent);margin:0;font-size:20px;font-weight:800;line-height:1.3}.inv-bot:not(:empty){justify-content:center;margin:4px 0;display:flex}.inv-note,.inv-error{color:var(--inv-soft);margin:0}.inv-privacy{color:var(--inv-soft);text-align:center;margin:2px 0 0;font-size:12.5px;line-height:1.45}.inv-privacy a{color:inherit;font-weight:600}.inv-error{color:#c0392b;font-weight:600}.inv-foot{text-align:center;padding:8px 0 14px}.inv-foot a{color:var(--inv-ink);backdrop-filter:blur(6px);background:#ffffff8c;border-radius:999px;padding:10px 16px;font-size:14px;text-decoration:none;display:inline-block}.p-stars .inv-foot a,.p-waves .inv-foot a{color:#fff;background:#ffffff24}.inv-confetti{pointer-events:none;z-index:5;position:absolute;inset:0;overflow:hidden}.inv-confetti i{top:-14px;left:var(--x);background:var(--c);width:9px;height:14px;animation:inv-fall var(--d) cubic-bezier(.2,.6,.4,1) forwards;border-radius:2px;position:absolute}@keyframes inv-fall{to{transform:translate(var(--dx), 110vh) rotate(760deg)}}@media (prefers-reduced-motion:reduce){.inv-egg,.inv-egg .shell,.inv-letter .flap,.inv-letter .wax{transition:none!important;animation:none!important}.inv-letter.open{animation-duration:1ms}.inv-content.enter .inv-card,.inv-content.enter .inv-rsvp{animation:none}}.inv-world{z-index:0;background:#120b22;position:fixed;inset:0}.inv3d-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.inv.is-3d{background:0 0}.inv.is-3d .inv-pattern{display:none}.inv.is-3d.intro,.inv.is-3d .inv-stage{pointer-events:none}.inv.is-3d .inv-stage{min-height:100svh;padding:calc(env(safe-area-inset-top,0px) + 56px) 20px calc(env(safe-area-inset-bottom,0px) + 44px);flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:relative}.inv.is-preview.is-3d .inv-stage{height:100%;min-height:100%;padding:56px 16px 36px}.inv.is-3d .inv-teaser{color:#fff;text-shadow:0 2px 14px #00000059;font-size:24px}.inv.is-3d .inv-hint{color:#241638;background:#ffffffd1;animation:2.2s ease-in-out infinite inv-hint-bob;box-shadow:0 10px 30px -10px #0006}@keyframes inv-hint-bob{50%{transform:translateY(-5px)}}.inv-count{color:#fff;text-shadow:0 6px 30px #00000073,0 0 40px #ffd23f99;pointer-events:none;place-items:center;margin:0;font:800 clamp(70px,26vw,140px)/1 Outfit,system-ui,sans-serif;display:grid;position:absolute;inset:0}.inv-count.go{animation:.9s cubic-bezier(.3,1.6,.5,1) inv-count}@keyframes inv-count{0%{opacity:0;transform:scale(2.2)}40%{opacity:1}to{transform:scale(1)}}.inv.is-3d .inv-content{z-index:1;padding-top:var(--space,62svh);position:relative}.inv.is-3d .inv-card,.inv.is-3d .inv-rsvp{background:color-mix(in srgb, var(--inv-card) 90%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.2);border:1px solid #ffffff59}.inv-scrollhint{letter-spacing:.06em;text-transform:uppercase;color:#fff;text-shadow:0 2px 10px #00000073;margin:0 auto 6px;font-size:13px;font-weight:800;animation:1.8s ease-in-out infinite inv-hint-bob}.inv.is-3d .inv-foot a{color:#241638;background:#ffffffd9}@media (prefers-reduced-motion:reduce){.inv.is-3d .inv-hint,.inv-scrollhint,.inv-count.go{animation:none}}[data-screen]:has(>.inv.intro){pointer-events:none}.inv.is-3d .inv-teaser{transition:opacity .35s,transform .35s}.inv.is-3d.opening .inv-teaser{opacity:0;transform:translateY(-12px)}.inv-count.word{text-align:center;padding:0 12px;font-size:clamp(40px,12vw,80px)}.inv-world,.inv3d-canvas,.inv.intro,.inv.intro *,.inv-stage,.inv-stage *,[data-world],[data-screen]:has(>.inv.intro){-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
