.recipient-body{text-align:center;padding:26px 28px;position:relative;overflow:hidden}.recipient-cover{isolation:isolate;min-height:560px;padding:0 0 26px;position:relative}.recipient-cover>.eyebrow{letter-spacing:2.4px;color:#6f6461;justify-content:center;margin-top:0;font-size:11px}.recipient-cover h2{font:36px/1.15 var(--serif);letter-spacing:-1.6px;color:var(--berry);overflow-wrap:anywhere;margin:6px 0 14px}.recipient-cover>p{color:#8b907f;max-width:310px;margin:0 auto 23px;font-size:14px;line-height:1.7}.recipient-cover .primary-button{padding:15px 24px;font-size:14px}.recipient-cover.opening h2,.recipient-cover.opening>p,.recipient-cover.opening>.eyebrow{display:none}.arrival-scene{perspective:1100px;isolation:isolate;place-items:center;height:340px;display:grid;position:relative;overflow:visible}.arrival-orbit{filter:blur(7px);background:radial-gradient(#dcc2ad38,#0000 70%);border-radius:50%;width:320px;height:250px;position:absolute}.envelope-ground{filter:blur(15px);background:#70504a25;border-radius:50%;width:260px;height:25px;position:absolute;bottom:40px;left:calc(50% - 130px);transform:rotate(-5deg)}.invitation-envelope{isolation:isolate;perspective:950px;width:300px;height:192px;position:relative;transform:translateY(30px)rotate(-5deg)}.invitation-envelope svg.envelope-shell,.envelope-front>svg,.envelope-flap>svg{fill:none;stroke:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.envelope-shell{filter:drop-shadow(0 4px 3px #7654451a)}.envelope-front{z-index:5;pointer-events:none;position:absolute;inset:0}.envelope-wordmark{text-align:center;width:100%;font:6px var(--sans);letter-spacing:3px;color:#9c7a5b;text-shadow:0 1px #fff7e599;position:absolute;bottom:15px;left:0}.envelope-flap{z-index:6;transform-origin:top;transform-style:preserve-3d;pointer-events:none;position:absolute;inset:0}.envelope-flap>svg{backface-visibility:hidden}.envelope-flap .flap-inside{filter:brightness(.96);transform:rotateY(180deg)}.envelope-seal{z-index:8;color:#e2b4b2;background:conic-gradient(from 40deg,#9b5969,#bf8490,#8e465a,#b77988,#915063,#c5919a,#9b5969);border-radius:43% 49% 46% 48%;place-items:center;width:47px;height:47px;display:grid;position:absolute;top:calc(56% - 21px);left:calc(50% - 23.5px);box-shadow:1px 5px 7px #6939473d,inset 1px 2px 2px #e4afad77,inset -1px -2px 2px #6e304277}.seal-imprint{border:1px solid #d098a377;border-radius:50%;place-items:center;width:35px;height:35px;display:grid;box-shadow:inset 0 1px 2px #6f344984,0 1px 1px #f5cec122}.seal-imprint svg.icon{stroke-width:1.2px;filter:drop-shadow(0 1px #69354a);width:17px;height:17px}.invitation-insert{z-index:3;background:linear-gradient(145deg,#fffdf6,#f6ecdc);border:1px solid #fffaf0;border-radius:2px;height:173px;position:absolute;top:8px;left:20px;right:20px;overflow:hidden;box-shadow:0 0 1px #74574520}.insert-border{background:linear-gradient(110deg,#fff7,#0000 50%);border:1px solid #c7a87380;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:15px;display:flex;position:absolute;inset:10px}.insert-kicker{letter-spacing:2.5px;color:#8a6f52;font-size:7px}.insert-name{font:30px/1.1 var(--hand);color:#825364;text-align:center;overflow-wrap:anywhere;max-width:100%}.insert-rule{background:#cdb48c;width:23px;height:1px;margin:3px}.insert-signature{font:16px var(--hand);color:#9c7b73;overflow-wrap:anywhere;max-width:100%}.recipient-cover.opening .invitation-envelope{animation:3.6s cubic-bezier(.25,.6,.2,1) both stationery-lift}.recipient-cover.opening .envelope-seal{animation:.65s both seal-release}.recipient-cover.opening .envelope-flap{animation:1.3s cubic-bezier(.35,.03,.2,1) .35s both paper-flap}.recipient-cover.opening .invitation-insert{animation:2.1s cubic-bezier(.23,.65,.18,1) 1.1s both letter-emerge}.recipient-cover.opening .envelope-ground{animation:3.6s both ground-release}.arrival-countdown{animation:3.6s linear both countdown-recede;position:absolute;bottom:28px;left:0;right:0}.countdown-label{letter-spacing:2px;color:#a0897e;font-size:7px;display:block}.arrival-countdown strong{font:italic 37px/1.4 var(--serif);color:#875165;display:block}.countdown-caption{font:italic 13px var(--serif);color:#9e8c80;display:block}.arrival-countdown .text-button{color:#9a887d;margin-top:4px;padding:10px;font-size:12px}.arrival-backdrop{z-index:-1;pointer-events:none;transition:opacity 1.6s;position:fixed;inset:0;overflow:hidden}.arrival-backdrop:before{content:"";background:var(--backdrop-desk) center / cover no-repeat;position:absolute;inset:-4%}.arrival-backdrop:after{content:"";background:radial-gradient(40% 54% at 50% 44%,#fbf7f1f5 0%,#fbf7f1d9 38%,#fbf7f170 64%,#fbf7f100 84%);position:absolute;inset:0}@media (max-width:700px),(orientation:portrait){.arrival-backdrop:before{background-image:var(--backdrop-mobile)}.arrival-backdrop:after{background:radial-gradient(78% 40% at 50% 47%,#fbf7f1f5 0%,#fbf7f1d6 46%,#fbf7f166 72%,#fbf7f100 92%)}}@media (prefers-reduced-motion:no-preference){.arrival-backdrop:before{animation:32s ease-in-out infinite alternate backdrop-breathe}}@keyframes backdrop-breathe{0%{transform:scale(1)}to{transform:scale(1.05)translate(-.8%,.5%)}}.recipient-cover.opening .arrival-backdrop{opacity:0}.recipient-dialog .arrival-backdrop{position:absolute}.opened-greeting{padding-top:38px;position:relative}.skip-writing{white-space:nowrap;color:#8f7b7c;min-height:30px;margin:0;font-size:12px;position:absolute;top:0;left:50%;transform:translate(-50%)}.card-host{justify-content:center;padding:6px 7px 15px;display:flex;position:relative}.card-host .greeting-card{animation:.85s cubic-bezier(.2,.7,.2,1) both letter-settle;transform:none}.scratch-section{padding:25px 7px 0}.scratch-section .eyebrow{justify-content:center;margin-bottom:14px}.scratch-box{background:#f2e3d4;border:1px solid #d8c8b5;border-radius:12px;place-items:center;min-height:174px;display:grid;position:relative;overflow:hidden}.scratch-box p{color:#785047;font:italic 24px/1.4 var(--serif);overflow-wrap:anywhere;margin:0;padding:22px}.scratch-box p.revealed{animation:1.2s both secret-glow}.scratch-box canvas{touch-action:none;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Ccircle cx='14' cy='14' r='9' fill='%23ffffff55' stroke='%23815f47'/%3E%3C/svg%3E") 14 14,crosshair;width:100%;height:100%;position:absolute;inset:0}.scratch-box canvas:focus-visible{outline-offset:-4px;outline:3px solid #875166}.scratch-cursor{pointer-events:none;border:1px solid #fff6e8;border-radius:50%;width:19px;height:19px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #805864}.reveal-status{color:#968575;min-height:16px;margin:12px 0 0;font-size:12px}.scratch-section .text-button{color:#8f7b7c;margin-top:4px;font-size:12px}.recipient-end{color:#979c8e;margin:26px 0 6px;font-size:12px}.recipient-end span{color:var(--berry);font-weight:600}.replay-button{color:#8f7b7c;font-size:12px}@keyframes seal-release{0%{opacity:1;filter:blur();transform:translateY(0)}55%{opacity:1;transform:translateY(-6px)rotate(-7deg)scale(1.06)}to{opacity:0;filter:blur(1px);transform:translateY(-14px)rotate(-12deg)scale(.97)}}@keyframes paper-flap{0%{z-index:6;transform:rotateX(0)}49%{z-index:6}50%{z-index:2}to{z-index:2;transform:rotateX(165deg)}}@keyframes letter-emerge{0%{transform:translateY(0);box-shadow:0 0 1px #76564420}55%{transform:translateY(-89px);box-shadow:0 8px 13px -10px #76564466}85%{opacity:1;transform:translateY(-100px)rotate(2deg)}to{opacity:0;transform:translateY(-125px)rotate(0)scale(1.05)}}@keyframes stationery-lift{0%{transform:translateY(30px)rotate(-5deg)}50%{transform:translateY(37px)rotate(-2deg)}85%{opacity:1;transform:translateY(40px)rotate(-2deg)}to{opacity:0;transform:translateY(52px)rotate(-1deg)}}@keyframes ground-release{80%{opacity:.65}to{opacity:0}}@keyframes countdown-recede{88%{opacity:1}to{opacity:0}}@keyframes letter-settle{0%{opacity:0;translate:0 16px;scale:.97}to{opacity:1;translate:0;scale:1}}@keyframes secret-glow{0%{opacity:.4;filter:blur(2px)}to{opacity:1;filter:blur()}}@media (max-width:420px){.recipient-body{padding:20px 12px}.recipient-cover{min-height:500px}.arrival-scene{height:295px}.invitation-envelope{width:274px;height:175px}.invitation-insert{height:156px}.insert-name{font-size:27px}.insert-border{padding:10px}.envelope-ground{width:220px;left:calc(50% - 110px)}.envelope-seal{width:42px;height:42px;top:calc(56% - 19px);left:calc(50% - 21px)}.seal-imprint{width:31px;height:31px}.recipient-cover h2{font-size:30px}.arrival-countdown{bottom:15px}}@media (max-width:350px){.invitation-envelope{scale:.88}.insert-name{font-size:24px}}.countdown-number{animation:.45s ease-out both count-in}@keyframes count-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.recipient-page{max-width:560px;min-height:100dvh;margin:0 auto}.recipient-cta{border-top:1px solid var(--line);justify-items:center;gap:12px;max-width:360px;margin:30px auto 12px;padding-top:24px;display:grid}.recipient-cta p{font:italic 16px var(--serif);color:#8b907f;margin:0}.scratch-box canvas.is-clearing{opacity:0;pointer-events:none;transition:opacity .9s}.scratch-flakes{pointer-events:none;position:absolute;inset:0;overflow:visible}.scratch-flakes i{opacity:.9;background:#c9ab7c;border-radius:1px;width:3px;height:2px;animation:.8s ease-in forwards flake-fall;position:absolute}@keyframes flake-fall{to{transform:translate(var(--dx), 34px) rotate(var(--rot));opacity:0}}.scratch-box.is-celebrating{animation:2.4s both box-glow}.scratch-box.is-celebrating:after{content:"";pointer-events:none;z-index:3;background:linear-gradient(100deg,#0000,#fff7e655 40%,#fffaf0aa 50%,#fff7e655 60%,#0000);width:38%;animation:1.8s ease-in-out .25s both light-sweep;position:absolute;inset:-20% auto -20% -40%;transform:skew(-12deg)}.scratch-box.is-celebrating p span{animation:2.6s both secret-shine}.scratch-flakes b{width:var(--size);height:var(--size);opacity:0;background:radial-gradient(circle,#fff6dc 0%,#e8c98c 45%,#0000 75%);border-radius:50%;animation:3s ease-out both gold-dust;position:absolute;box-shadow:0 0 6px #f3d79a}@keyframes light-sweep{0%{opacity:0;left:-40%}15%{opacity:1}to{opacity:0;left:115%}}@keyframes secret-shine{0%{text-shadow:0 0 #0000}35%{text-shadow:0 0 18px #e9c98a99,0 0 2px #fff3d6}to{text-shadow:0 0 #0000}}@keyframes box-glow{0%{box-shadow:0 0 #d9b98a00}30%{box-shadow:0 0 0 6px #e8cf9f44,0 12px 40px -12px #c9a46e88}to{box-shadow:0 0 #d9b98a00}}@keyframes gold-dust{0%{opacity:0;transform:translate(0)scale(.6)}20%{opacity:1}to{opacity:0;transform:translate(var(--drift), var(--rise)) scale(1)}}.recipient-thanks{border-bottom:1px solid var(--line);justify-items:center;width:100%;margin-bottom:4px;padding-bottom:22px;display:grid}.scratch-secret{justify-items:center;gap:12px;display:inline-grid}.scratch-code{background:#fffaf0cc;border:1px dashed #c9a46a;border-radius:12px;justify-items:center;gap:4px;padding:10px 16px;font-style:normal;display:inline-grid}.scratch-code small{font:600 10px/1 var(--font-sans,system-ui);letter-spacing:.18em;text-transform:uppercase;color:#9b7b6b}.scratch-code code{letter-spacing:.06em;color:#5b2a36;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;font:600 clamp(16px,4.6vw,20px)/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}.scratch-copy{background:var(--glass-gloss), var(--glass-berry);color:#fff7f2;cursor:pointer;border:0;border-radius:999px;margin:12px auto 0;padding:11px 20px;font:600 14px/1 inherit;display:block;position:relative}.recipient-legal{color:#a3a596;justify-content:center;margin-top:18px;font-size:11.5px}.recipient-cover-legal{opacity:.8;margin-top:8px}.scratch-attachment-image{object-fit:contain;background:#fff;border-radius:8px;max-width:min(240px,100%);max-height:140px;display:block;box-shadow:0 6px 18px -10px #4f2a2a80}.scratch-attachment-pdf{max-width:100%;font:600 14px/1.3 var(--font-sans,system-ui);color:#5b2a36;overflow-wrap:anywhere;background:#fffaf0cc;border:1px dashed #c9a46a;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-style:normal;display:inline-flex}.scratch-attachment-pdf .emblem{width:24px;height:24px}.scratch-attachment-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 18px;margin-top:12px;display:flex}.scratch-attachment-actions .scratch-copy{margin:0;text-decoration:none}.scratch-attachment-actions .text-button{color:#6e2a3c;font-weight:600}
