:root{--birthday-ink:#271b4a;--birthday-cream:#fffaff;--birthday-paper:#fffaf3;--birthday-blush:#ffb5d0;--birthday-gold:#ffda86;--birthday-sky:#9de5ff;--birthday-lilac:#d1b8ff;--birthday-plum:#4b2e70}.birthday-experience,.birthday-experience *{box-sizing:border-box}.birthday-experience{isolation:isolate;min-height:100dvh;color:var(--birthday-cream);background:radial-gradient(circle at 10% 10%,#9de5ff5e,#0000 20rem),radial-gradient(circle at 87% 28%,#ffb5d06b,#0000 23rem),radial-gradient(circle at 55% 100%,#ffda8638,#0000 27rem),linear-gradient(125deg,#241a44 0%,#3e2765 35%,#713b78 67%,#ba5c85 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:relative;overflow:hidden}.birthday-experience:before,.birthday-experience:after{content:"";z-index:-1;pointer-events:none;border:1px solid #fffaf421;border-radius:999px;position:absolute}.birthday-experience:before{border-color:#ffda8638;width:min(70vw,850px);height:min(70vw,850px);top:-28rem;right:-16rem}.birthday-experience:after{border-color:#9de5ff2e;width:min(54vw,650px);height:min(54vw,650px);bottom:-28rem;left:-16rem}.birthday-page-transition{z-index:50;color:#c79257;opacity:0;visibility:hidden;pointer-events:none;background:#fffdf8;place-items:center;transition:opacity .65s,visibility 0s linear .65s;display:grid;position:fixed;inset:0;overflow:hidden}.birthday-page-transition:before{content:"";aspect-ratio:4/5;opacity:0;background:linear-gradient(#fffffff0,#fffaf3f0),repeating-linear-gradient(0deg,#8f68a814 0 1px,#0000 1px 30px);border:1px solid #cd9b627a;width:min(330px,62vw);transition:opacity .45s,transform .72s cubic-bezier(.22,.61,.36,1);transform:translateY(42px)rotate(-2deg)scale(.94);box-shadow:0 22px 55px #5233682e,0 0 0 8px #ffffff80}.birthday-page-transition:after{content:"";opacity:0;background:radial-gradient(circle at 20% 22%,#ffb5d033,#0000 12rem),radial-gradient(circle at 80% 72%,#9de5ff33,#0000 14rem);transition:opacity .6s;position:absolute;inset:0}.birthday-page-transition>span{z-index:1;color:#dca95d;opacity:0;font-size:24px;transition:opacity .45s .14s,transform .65s .14s;position:absolute;transform:translateY(18px)scale(.8)}.birthday-page-transition.is-active{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.birthday-page-transition.is-active:before{opacity:1;transform:translateY(0)rotate(-2deg)scale(1)}.birthday-page-transition.is-active:after{opacity:1}.birthday-page-transition.is-active>span{opacity:1;transform:translateY(0)scale(1)}.birthday-page-transition.is-fading{opacity:0;visibility:hidden;transition:opacity .95s,visibility 0s linear .95s}.birthday-stage{min-height:100dvh;display:none}.birthday-stage.is-active{animation:.72s cubic-bezier(.22,.61,.36,1) both birthday-stage-in;display:grid}.birthday-stage--gallery.is-active{display:block}.birthday-stage[aria-hidden=true]{pointer-events:none}@keyframes birthday-stage-in{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.birthday-stage--envelope{place-items:center;position:relative;overflow-y:auto}.birthday-stage--envelope:after{content:"✦      ✧          ✦             ✧      ✦";color:#fffaff52;letter-spacing:clamp(18px,5vw,62px);pointer-events:none;white-space:nowrap;width:90vw;font-size:clamp(15px,2vw,24px);line-height:8;position:absolute;top:14%;left:50%;transform:translate(-50%)rotate(-7deg)}.birthday-opening-inner{z-index:1;text-align:center;width:min(620px,100% - 34px);padding:34px 0 42px;position:relative}.birthday-opening-kicker,.birthday-letter-kicker,.birthday-kicker{color:var(--birthday-gold);letter-spacing:.28em;text-transform:uppercase;font-size:10px;font-weight:700}.birthday-opening-kicker{margin:0 0 17px}.birthday-opening-title,.birthday-title{color:var(--birthday-cream);letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,serif;font-weight:400;line-height:.95}.birthday-opening-title{font-size:clamp(44px,7vw,78px)}.birthday-opening-title em,.birthday-title em{color:var(--birthday-blush);text-shadow:0 0 26px #ffb5d03d;font-style:italic}.birthday-opening-subtitle,.birthday-subtitle{color:#fffaffab;line-height:1.7}.birthday-opening-subtitle{max-width:380px;margin:17px auto 28px;font-size:13px}.birthday-envelope-button{aspect-ratio:1.55;width:min(370px,82vw);color:var(--birthday-cream);cursor:pointer;perspective:1000px;background:0 0;border:0;margin:0 auto;padding:0;transition:transform .45s;display:block;position:relative}.birthday-envelope-button:hover{transform:translateY(-7px)}.birthday-envelope-button:focus-visible,.birthday-letter-button:focus-visible,.birthday-arrow:focus-visible,.birthday-dot:focus-visible{outline:2px solid var(--birthday-gold);outline-offset:5px}.birthday-envelope-button:disabled{cursor:default}.birthday-envelope-shadow{filter:blur(14px);background:#11072861;border-radius:50%;height:25%;position:absolute;bottom:-15%;left:8%;right:8%}.birthday-envelope{transform-style:preserve-3d;position:absolute;inset:0}.birthday-envelope-back,.birthday-envelope-paper,.birthday-envelope-front,.birthday-envelope-flap,.birthday-envelope-seal{position:absolute}.birthday-envelope-back{background:linear-gradient(145deg,#f9b7d2 0%,#c893df 50%,#8b78ce 100%);border:1px solid #ffda86a6;border-radius:9px 9px 13px 13px;inset:0;box-shadow:0 25px 45px #11072866,inset 0 0 0 5px #fffaff1c}.birthday-envelope-paper{z-index:2;color:#3a275c;background:linear-gradient(145deg,#fffdfd,#fff4fb);border-radius:4px;height:77%;padding:13% 7% 0;transition:transform .8s cubic-bezier(.22,.61,.36,1),box-shadow .8s;top:9%;left:10%;right:10%;transform:translateY(8%);box-shadow:0 5px 13px #27124129}.birthday-envelope-paper:before{content:"✦";color:#dca95d;margin-bottom:7px;font-size:17px;display:block}.birthday-envelope-paper:after{content:"A little magic is waiting inside";color:#3a275c94;font-family:Georgia,Times New Roman,serif;font-size:clamp(10px,1.5vw,13px);line-height:1.35;display:block}.birthday-envelope-front{z-index:5;clip-path:polygon(0 0,50% 53%,100% 0,100% 100%,0 100%);filter:drop-shadow(0 -1px #ffda868a);background:linear-gradient(135deg,#e8a6d1f7,#8e6fc8fa);border-radius:9px 9px 13px 13px;inset:0}.birthday-envelope-flap{z-index:6;clip-path:polygon(0 0,100% 0,50% 59%);transform-origin:50% 0;backface-visibility:hidden;background:linear-gradient(155deg,#f9c4d7 0%,#c69be5 48%,#897bce 100%);border-radius:9px 9px 13px 13px;transition:transform .72s cubic-bezier(.22,.61,.36,1),filter .72s;inset:0}.birthday-envelope-seal{z-index:8;color:#fff4c8;background:linear-gradient(145deg,#e8b869,#bd795d);border:2px solid #fff0bd;border-radius:50%;place-items:center;width:50px;height:50px;font-size:21px;transition:opacity .3s,transform .45s;display:grid;top:53%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 12px #4e1e3952,0 0 0 5px #ffda8629}.birthday-stage--envelope.is-opening .birthday-envelope-button{transform:translateY(14px)scale(1.03)}.birthday-stage--envelope.is-opening .birthday-envelope-flap{filter:brightness(.82);transform:rotateX(180deg)}.birthday-stage--envelope.is-opening .birthday-envelope-paper{z-index:7;transform:translateY(-48%);box-shadow:0 15px 24px #27124138}.birthday-stage--envelope.is-opening .birthday-envelope-seal{opacity:0;transform:translate(-50%,-50%)scale(.7)}.birthday-opening-hint{color:#fffaff9e;letter-spacing:.22em;text-transform:uppercase;margin:23px 0 0;font-size:10px;font-weight:700}.birthday-stage--mystery{background:radial-gradient(circle at 50% 43%,#ffbfdc2e,#0000 23%),radial-gradient(circle at 18% 25%,#7bb4ff24,#0000 25%),linear-gradient(135deg,#19113e 0%,#382066 46%,#7d3d78 100%);place-items:center;min-height:100dvh;padding:32px 18px;position:relative;overflow:hidden}.birthday-stage--mystery:before,.birthday-stage--mystery:after{content:"";pointer-events:none;border:1px solid #ffdea91c;border-radius:50%;position:absolute}.birthday-stage--mystery:before{aspect-ratio:1;width:min(820px,130vw);transform:rotate(21deg)scaleY(.42)}.birthday-stage--mystery:after{aspect-ratio:1;width:min(560px,95vw);transform:rotate(-27deg)scaleY(.42)}.birthday-mystery-shell{z-index:1;text-align:center;width:min(650px,100%);padding:35px 0 42px;position:relative}.birthday-mystery-stars{color:#ffefc4a3;pointer-events:none;position:absolute;inset:0}.birthday-mystery-stars span{animation:3.8s ease-in-out infinite birthday-mystery-twinkle;position:absolute}.birthday-mystery-stars span:first-child{font-size:16px;top:8%;left:12%}.birthday-mystery-stars span:nth-child(2){font-size:22px;animation-delay:-.9s;top:18%;right:16%}.birthday-mystery-stars span:nth-child(3){font-size:10px;animation-delay:-1.7s;top:43%;left:3%}.birthday-mystery-stars span:nth-child(4){font-size:24px;animation-delay:-2.4s;top:56%;right:5%}.birthday-mystery-stars span:nth-child(5){font-size:13px;animation-delay:-3s;bottom:16%;left:17%}.birthday-mystery-stars span:nth-child(6){font-size:10px;animation-delay:-1.1s;bottom:10%;right:23%}.birthday-mystery-kicker{color:var(--birthday-gold);letter-spacing:.29em;text-transform:uppercase;margin:0 0 19px;font-size:10px;font-weight:700}.birthday-mystery-title{color:var(--birthday-cream);letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,7vw,76px);font-weight:400;line-height:.98}.birthday-mystery-title em{color:var(--birthday-blush);text-shadow:0 0 28px #ffbedc4d;font-style:italic}.birthday-mystery-subtitle{color:#fffaffad;max-width:430px;margin:22px auto 0;font-size:14px;line-height:1.75}.birthday-mystery-orbit{aspect-ratio:1;width:min(230px,58vw);margin:28px auto 23px;position:relative}.birthday-mystery-orbit-ring{border:1px solid #ffda8659;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-18deg)scaleY(.48)}.birthday-mystery-orbit-ring--outer{width:100%;height:100%;box-shadow:0 0 24px #ffda8614}.birthday-mystery-orbit-ring--inner{border-color:#ffb5d05c;width:72%;height:72%;transform:translate(-50%,-50%)rotate(52deg)scaleY(.62)}.birthday-mystery-orb{aspect-ratio:1;background:radial-gradient(circle at 32% 27%,#fff8cf 0,#e9b667 24%,#b96a91 64%,#704a9c 100%);border:1px solid #fff4cce6;border-radius:50%;width:30%;animation:3s ease-in-out infinite birthday-mystery-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9px #ffda8614,0 0 36px #ffbedc6b}.birthday-mystery-orb:after{content:"✦";color:#fff8d8;font-size:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-53%)}.birthday-mystery-orbit-star{z-index:1;color:var(--birthday-gold);text-shadow:0 0 15px #ffda86cc;position:absolute}.birthday-mystery-orbit-star--one{font-size:14px;top:17%;left:19%}.birthday-mystery-orbit-star--two{color:var(--birthday-blush);font-size:19px;top:16%;right:15%}.birthday-mystery-orbit-star--three{font-size:12px;bottom:15%;right:20%}.birthday-mystery-button{color:#fffaf3;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(100deg,#a85c91f0,#5b4897f0);border:1px solid #ffda86b3;border-radius:999px;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:0 24px;font-size:11px;font-weight:700;transition:transform .25s,box-shadow .25s,filter .25s;display:inline-flex;box-shadow:0 12px 28px #12072b47,0 0 22px #ffbedc1f}.birthday-mystery-button:hover{filter:brightness(1.1);transform:translateY(-3px);box-shadow:0 16px 34px #12072b59,0 0 28px #ffbedc33}.birthday-mystery-button:focus-visible{outline:2px solid var(--birthday-gold);outline-offset:5px}.birthday-mystery-button svg{width:17px;height:17px}.birthday-mystery-hint{color:#fffaff75;letter-spacing:.2em;text-transform:uppercase;margin:19px 0 0;font-size:10px;font-weight:700}.birthday-stage--mystery.is-revealing .birthday-mystery-orbit{animation:.72s cubic-bezier(.22,.61,.36,1) forwards birthday-mystery-reveal}@keyframes birthday-mystery-twinkle{0%,to{opacity:.36;transform:scale(.8)rotate(0)}50%{opacity:1;transform:scale(1.25)rotate(18deg)}}@keyframes birthday-mystery-pulse{0%,to{transform:translate(-50%,-50%)scale(.94)}50%{transform:translate(-50%,-50%)scale(1.08)}}@keyframes birthday-mystery-reveal{to{opacity:0;transform:scale(1.7)rotate(18deg)}}.birthday-stage--letter{place-items:center;padding:28px 18px}.birthday-letter-paper{width:min(690px,100%);min-height:min(680px,100dvh - 48px);color:var(--birthday-ink);background:linear-gradient(#fffaf3ed,#fffaf3ed),repeating-linear-gradient(0deg,#8f68a814 0 1px,#0000 1px 30px);border:1px solid #cd9b62c7;border-radius:4px;position:relative;overflow:hidden;transform:rotate(-.6deg);box-shadow:0 28px 70px #13072c66,0 0 0 7px #fffaf31a}.birthday-letter-paper:before{content:"";pointer-events:none;border:1px solid #cd9b628c;position:absolute;inset:14px}.birthday-letter-paper:after{content:"";filter:blur(5px);pointer-events:none;background:#ffb5d038;border-radius:50%;width:330px;height:330px;position:absolute;bottom:-150px;right:-130px}.birthday-letter-inner{z-index:1;min-height:inherit;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:64px clamp(35px,8vw,76px);display:flex;position:relative}.birthday-letter-kicker{color:#ae7a4b;letter-spacing:.24em;margin:0;font-size:10px}.birthday-letter-divider{color:#ce9d5a;align-items:center;gap:13px;width:min(250px,70%);margin:18px 0 22px;display:flex}.birthday-letter-divider:before,.birthday-letter-divider:after{content:"";opacity:.65;background:currentColor;flex:1;height:1px}.birthday-letter-divider span{font-size:14px}.birthday-letter-title{color:#3d285d;letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(33px,5vw,52px);font-weight:400;line-height:1.05}.birthday-letter-title em{color:#9b5f96;font-style:italic}.birthday-letter-copy{color:#3d285dc7;max-width:505px;margin:30px auto 0;font-family:Georgia,Times New Roman,serif;font-size:16px;line-height:1.75}.birthday-letter-copy p{margin:0 0 14px}.birthday-letter-signature{color:#996341;gap:4px;margin:14px 0 29px;font-family:Georgia,Times New Roman,serif;font-size:14px;font-style:italic;display:grid}.birthday-letter-signature strong{color:#5d3a72;font-size:16px;font-weight:400}.birthday-letter-button{color:#fffaf3;cursor:pointer;letter-spacing:.08em;background:linear-gradient(100deg,#9f6199,#684f9a);border:1px solid #b9845d;border-radius:999px;justify-content:center;align-items:center;gap:12px;min-height:46px;padding:0 22px;font-size:11px;font-weight:700;transition:transform .2s,box-shadow .2s,filter .2s;display:inline-flex;box-shadow:0 10px 20px #59367d33}.birthday-letter-button:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 13px 26px #59367d47}.birthday-letter-button svg{width:17px;height:17px}.birthday-letter-corner{z-index:2;color:#ce9d5a;font-size:22px;position:absolute}.birthday-letter-corner--top-left{top:26px;left:27px}.birthday-letter-corner--top-right{top:26px;right:27px}.birthday-letter-corner--bottom-left{bottom:26px;left:27px}.birthday-letter-corner--bottom-right{bottom:26px;right:27px}.birthday-page{isolation:isolate;min-height:100dvh;color:var(--birthday-cream);touch-action:pan-y;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.birthday-shell{width:min(1180px,100% - 40px);margin:0 auto;padding:34px 0 48px}.birthday-nav{justify-content:space-between;align-items:center;gap:20px;margin-bottom:clamp(52px,9vw,105px);display:flex}.birthday-brand{color:var(--birthday-cream);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:11px;font-size:11px;font-weight:700;display:inline-flex}.birthday-brand-mark{width:32px;height:32px;color:var(--birthday-gold);border:1px solid #ffda86c7;border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:16px;font-style:italic;display:inline-grid;box-shadow:0 0 22px #ffda862e}.birthday-nav-note{color:#fffaf48c;letter-spacing:.12em;text-transform:uppercase;font-size:11px}.birthday-intro{text-align:center;max-width:680px;margin:0 auto 45px}.birthday-kicker{align-items:center;gap:12px;margin:0 0 20px;display:inline-flex}.birthday-kicker:before,.birthday-kicker:after{content:"";opacity:.7;background:currentColor;width:34px;height:1px;display:block}.birthday-title{font-size:clamp(44px,7vw,82px)}.birthday-subtitle{max-width:480px;margin:23px auto 0;font-size:14px}.birthday-slider{touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100%;margin:0 auto;padding:0 0 38px;position:relative}.birthday-page.is-dragging{cursor:grabbing}.birthday-stage-inner{perspective:1200px;justify-content:center;align-items:center;min-height:510px;display:flex;position:relative}.birthday-slide{aspect-ratio:4/5;opacity:0;will-change:transform, opacity;background:#51404d;border:8px solid #fffaf4f7;border-radius:2px;width:min(440px,48vw);transition:transform .7s cubic-bezier(.22,.61,.36,1),opacity .7s,filter .7s;position:absolute;overflow:hidden;transform:translate(0)scale(.75)rotate(0);box-shadow:0 27px 60px #1c0b3661,0 0 0 1px #ffda862e}.birthday-page.is-dragging .birthday-slide{transition:transform 80ms linear,opacity 80ms linear,filter 80ms linear}.birthday-page.is-settling .birthday-slide{transition:transform .72s cubic-bezier(.22,.61,.36,1),opacity .72s,filter .72s}.birthday-slide:after{content:"";pointer-events:none;background:linear-gradient(#241a4408 36%,#241a44bd 100%);position:absolute;inset:0}.birthday-slide img{object-fit:cover;cursor:default;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.birthday-slide.is-active img{cursor:grab}.birthday-page.is-dragging .birthday-slide.is-active img{cursor:grabbing}.birthday-slide-copy{z-index:1;position:absolute;bottom:21px;left:22px;right:22px}.birthday-slide-copy small{color:var(--birthday-gold);letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px;font-size:9px;font-weight:700;display:block}.birthday-slide-copy strong{color:var(--birthday-cream);font-family:Georgia,Times New Roman,serif;font-size:clamp(19px,2.5vw,27px);font-weight:400;line-height:1.1;display:block}.birthday-slide.is-active{z-index:5;opacity:1;transform:translate(0)scale(1)rotate(0)}.birthday-slide.is-prev,.birthday-slide.is-next{z-index:3;opacity:.58;filter:saturate(.7)brightness(.78)}.birthday-slide.is-prev{transform:translate(-66%)scale(.82)rotate(-8deg)}.birthday-slide.is-next{transform:translate(66%)scale(.82)rotate(8deg)}.birthday-slide.is-far-prev,.birthday-slide.is-far-next{z-index:2;opacity:.2;filter:saturate(.35)brightness(.63)}.birthday-slide.is-far-prev{transform:translate(-121%)scale(.67)rotate(-15deg)}.birthday-slide.is-far-next{transform:translate(121%)scale(.67)rotate(15deg)}.birthday-slide.is-hidden{z-index:1;opacity:0;pointer-events:none;transform:translate(0)scale(.5)}.birthday-arrow{z-index:10;width:46px;height:46px;color:var(--birthday-cream);cursor:pointer;background:#fffaf412;border:1px solid #fffaf43b;border-radius:50%;place-items:center;transition:background .2s,border-color .2s,transform .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.birthday-arrow:hover{background:#ffda8629;border-color:#ffda86b8;transform:translateY(-50%)scale(1.06)}.birthday-arrow--prev{left:4px}.birthday-arrow--next{right:4px}.birthday-arrow svg{width:17px;height:17px}.birthday-slider-footer{justify-content:center;align-items:center;gap:26px;display:flex}.birthday-dots{align-items:center;gap:9px;display:flex}.birthday-dot{cursor:pointer;background:#fffaf44d;border:0;border-radius:999px;width:7px;height:7px;padding:0;transition:width .25s,background .25s}.birthday-dot.is-active{background:linear-gradient(90deg, var(--birthday-sky), var(--birthday-blush), var(--birthday-gold));width:27px}.birthday-count{color:#fffaf47a;letter-spacing:.12em;font-family:Georgia,Times New Roman,serif;font-size:13px}.birthday-message{color:#fffaf499;text-align:center;border-top:1px solid #fffaf41f;justify-content:center;align-items:center;gap:19px;max-width:620px;margin:53px auto 0;padding-top:26px;font-size:12px;line-height:1.6;display:flex}.birthday-message:before,.birthday-message:after{content:"✦";color:var(--birthday-gold);text-shadow:0 0 13px #ffda86a6;flex:none;font-size:14px}@media (width<=760px){.birthday-stage--envelope{place-items:center}.birthday-page-transition:before{width:min(270px,64vw)}.birthday-opening-inner{box-sizing:border-box;min-height:auto;padding:23px 0 28px}.birthday-opening-kicker{letter-spacing:.24em;margin-bottom:12px;font-size:9px}.birthday-opening-title{font-size:clamp(35px,10vw,51px)}.birthday-opening-subtitle{max-width:350px;margin:13px auto 18px;font-size:12px;line-height:1.55}.birthday-envelope-button{width:min(310px,76vw)}.birthday-envelope-seal{width:46px;height:46px;font-size:19px}.birthday-opening-hint{z-index:10;letter-spacing:.16em;margin-top:16px;font-size:9px;position:relative}.birthday-stage--mystery{padding:22px 15px}.birthday-mystery-shell{padding:24px 0 30px}.birthday-mystery-kicker{letter-spacing:.23em;margin-bottom:14px;font-size:9px}.birthday-mystery-title{font-size:clamp(36px,10vw,52px)}.birthday-mystery-subtitle{max-width:340px;margin-top:16px;font-size:12px;line-height:1.6}.birthday-mystery-orbit{width:min(190px,55vw);margin:23px auto 20px}.birthday-mystery-button{width:min(100%,300px);padding:0 16px;font-size:10px}.birthday-stage--letter{min-height:100dvh;padding:18px 13px}.birthday-letter-paper{min-height:calc(100dvh - 36px);transform:rotate(0)}.birthday-letter-inner{padding:52px 27px 42px}.birthday-letter-copy{margin-top:23px;font-size:14px;line-height:1.65}.birthday-letter-signature{margin:10px 0 23px}.birthday-letter-button{width:100%;padding:0 14px;font-size:10px}.birthday-letter-corner--top-left{top:23px;left:22px}.birthday-letter-corner--top-right{top:23px;right:22px}.birthday-letter-corner--bottom-left{bottom:23px;left:22px}.birthday-letter-corner--bottom-right{bottom:23px;right:22px}.birthday-shell{width:min(100% - 28px,560px);padding-top:23px}.birthday-nav{margin-bottom:65px}.birthday-nav-note{display:none}.birthday-intro{margin-bottom:25px}.birthday-stage-inner{min-height:420px}.birthday-slide{border-width:6px;width:min(310px,67vw)}.birthday-slide.is-prev{transform:translate(-46%)scale(.76)rotate(-8deg)}.birthday-slide.is-next{transform:translate(46%)scale(.76)rotate(8deg)}.birthday-slide.is-far-prev,.birthday-slide.is-far-next{opacity:0}.birthday-arrow{width:39px;height:39px}.birthday-arrow--prev{left:0}.birthday-arrow--next{right:0}.birthday-message{margin-top:35px}}@media (prefers-reduced-motion:reduce){.birthday-stage.is-active,.birthday-envelope-button,.birthday-envelope-flap,.birthday-envelope-paper,.birthday-envelope-seal,.birthday-page-transition,.birthday-page-transition:before,.birthday-page-transition:after,.birthday-page-transition>span,.birthday-slide,.birthday-arrow,.birthday-dot,.birthday-letter-button{transition:none;animation:none}.birthday-mystery-stars span,.birthday-mystery-orb,.birthday-stage--mystery.is-revealing .birthday-mystery-orbit{animation:none}}
