*{box-sizing:border-box}:root{color:#fff8df;font-synthesis:none;text-rendering:optimizelegibility;background:#07120f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{overflow:hidden}.wedding-gift{isolation:isolate;background:radial-gradient(circle at 50% 18%,#ffe79942,#0000 24%),radial-gradient(circle at 18% 30%,#31906f57,#0000 34%),radial-gradient(circle at 78% 26%,#b4194938,#0000 30%),linear-gradient(145deg,#07120f 0%,#122b25 48%,#070d12 100%);min-height:100svh;display:grid;position:relative;overflow:hidden}.wedding-gift:before{z-index:-1;content:"";opacity:.78;background:linear-gradient(115deg,#0000 0 38%,#ffedb72e 42%,#0000 48%),radial-gradient(circle,#0000 0 46%,#ffdc8029 47%,#0000 49%);animation:8s ease-in-out infinite alternate royal-glow;position:absolute;inset:-18%;transform:rotate(-8deg)}.scene-canvas{position:absolute;inset:0}.scene-canvas canvas{cursor:pointer;touch-action:none}.invitation-caption{z-index:2;pointer-events:none;text-align:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(135deg,#05100db8,#182f268a);border:1px solid #ffdf8b57;border-radius:999px;flex-direction:column;place-self:center;align-items:center;gap:clamp(.5rem,1.6vw,.8rem);width:min(43rem,100% - clamp(2rem,7vw,6rem));padding:clamp(1rem,3vw,1.8rem) clamp(1rem,4vw,2.2rem);display:flex;position:relative;box-shadow:0 24px 80px #0000006b,inset 0 0 32px #ffe49a14}.caption-kicker{color:#ffdda0;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:clamp(.72rem,1.6vw,.82rem);font-weight:800;line-height:1.2}.invitation-caption h1{color:#fff8df;letter-spacing:0;text-wrap:balance;text-shadow:0 16px 44px #0000009e;max-width:18ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.05rem,5.6vw,4.35rem);font-weight:700;line-height:.98}.invitation-caption p:not(.caption-kicker){color:#fff8dfe6;text-wrap:balance;text-shadow:0 10px 28px #00000094;max-width:34rem;margin:0;font-size:clamp(.98rem,2vw,1.16rem);font-weight:500;line-height:1.58}.wedding-seal{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));left:max(1rem, env(safe-area-inset-left));z-index:3;color:#fff7d7;pointer-events:none;text-align:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#040f0dc2;border:1px solid #ffdd8b6b;border-radius:1rem;grid-template-columns:1fr auto 1fr;align-items:center;gap:.45rem .85rem;width:min(38rem,100% - 2rem);margin:0 auto;padding:.78rem clamp(.9rem,3vw,1.3rem);display:grid;position:absolute;box-shadow:0 18px 54px #00000075,inset 0 0 24px #ffd87a14}.wedding-seal span{overflow-wrap:anywhere;min-width:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.05rem,3vw,1.45rem);font-weight:700;line-height:1.1}.wedding-seal strong{color:#ffd77e;font-family:Georgia,Times New Roman,serif;font-size:clamp(1rem,2.6vw,1.35rem);line-height:1}.wedding-seal small{color:#fff8dfd6;grid-column:span 3;font-size:clamp(.78rem,1.8vw,.92rem);font-weight:700;line-height:1.25}@keyframes royal-glow{0%{opacity:.46;transform:rotate(-10deg)scale(1)}to{opacity:.82;transform:rotate(7deg)scale(1.05)}}@media (width<=760px){.invitation-caption{border-radius:1.35rem;width:min(31rem,100% - 1.5rem);margin-top:-8vh}.invitation-caption h1{max-width:15ch;font-size:clamp(1.82rem,10vw,3.1rem);line-height:1.02}.invitation-caption p:not(.caption-kicker){font-size:.98rem;line-height:1.5}.wedding-seal{border-radius:.9rem;grid-template-columns:1fr auto 1fr;gap:.35rem .55rem}}@media (width<=420px){.invitation-caption{width:calc(100% - 1rem);padding:.95rem .9rem}.caption-kicker{font-size:.66rem}.wedding-seal{width:calc(100% - .9rem);padding:.72rem .7rem}}
