@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,700;1,700&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color:#1c2454;background:#fff8eb;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ff8a6b;outline-offset:3px}[hidden]{display:none!important}.site-header,.wish-header{height:82px;display:flex;align-items:center;justify-content:space-between;max-width:1330px;padding:0 42px;margin:auto}.brand{text-decoration:none;font-weight:700;letter-spacing:-.07em;font-size:1.65rem;color:#1d3cbb}.brand span:first-child{color:#ff6b60}.brand-spark{font-size:1.2rem;margin-left:6px;vertical-align:top;color:#f6ae29}.header-note{font-size:.84rem;font-weight:700;letter-spacing:.02em}.builder-shell{display:grid;grid-template-columns:minmax(300px, .95fr) minmax(490px, 1fr);gap:clamp(28px,5vw,88px);max-width:1330px;padding:28px 42px 100px;margin:auto;align-items:start}.intro{position:sticky;top:30px;padding-top:54px}.eyebrow,.scene-kicker{font-size:.82rem;font-weight:700;letter-spacing:.18em;color:#ed625b}.eyebrow-line{display:inline-block;width:26px;border-top:2px solid #ed625b;vertical-align:middle;margin-right:12px}.intro h1{font-size:clamp(3rem,5vw,5.5rem);letter-spacing:-.075em;line-height:1.09;margin:27px 0 20px;max-width:600px}.intro h1 em{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.055em;color:#f36a62;font-weight:700}.intro-copy{font-size:1.08rem;line-height:1.7;max-width:390px;color:#536080}.preview-art{height:270px;position:relative;margin:15px 0 0;display:flex;justify-content:center;align-items:center}.preview-art img{width:min(75%,320px);height:250px;object-fit:contain;filter:drop-shadow(0 18px 8px rgba(41,43,74,.1));z-index:1;transform:rotate(-6deg)}.art-ring{position:absolute;width:305px;height:120px;border:2px dashed #ffb4a3;border-radius:50%;transform:rotate(-14deg);bottom:19px}.art-star{position:absolute;font-size:2.5rem;color:#ffba40}.star-one{top:5px;left:16%}.star-two{bottom:35px;right:10%;color:#1d3cbb}.intro-foot{font-weight:700;font-size:.81rem;color:#65718c}.form-card{background:#fff;border:1px solid #eae6df;border-radius:26px;padding:38px;box-shadow:0 24px 75px rgba(45,48,86,.08)}.step-pill{display:inline-block;background:#ecf0ff;color:#2142b9;padding:8px 11px;border-radius:7px;font-size:.69rem;letter-spacing:.14em;font-weight:700}.card-heading h2{font-family:'Playfair Display',Georgia,serif;font-size:2rem;line-height:1.17;letter-spacing:-.04em;margin:17px 0 29px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:block;margin-bottom:19px}.field>span{display:block;font-weight:700;font-size:.83rem;margin-bottom:9px}.field strong{color:#ed625b}.field small{font-weight:500;color:#9199a9;margin-left:4px}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid #dde1e9;background:#fff;border-radius:10px;padding:13px 14px;min-height:48px;color:#1c2454;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#9ba2b1}.field input:focus,.field select:focus,.field textarea:focus{border-color:#1d3cbb}.optional-block{border:1px solid #e5e8ee;border-radius:13px;padding:17px;margin:2px 0 23px}.toggle-row{display:flex;gap:14px;align-items:center;cursor:pointer}.toggle-row input{position:absolute;opacity:0;width:1px;height:1px}.toggle-track{flex:none;width:42px;height:25px;border-radius:30px;background:#cdd4e1;position:relative;transition:background .2s}.toggle-track:after{content:'';position:absolute;width:17px;height:17px;background:#fff;border-radius:50%;top:4px;left:4px;transition:transform .2s}.toggle-row input:checked+.toggle-track{background:#1d3cbb}.toggle-row input:checked+.toggle-track:after{transform:translateX(17px)}.toggle-row input:focus-visible+.toggle-track{outline:3px solid #ff8a6b;outline-offset:3px}.toggle-row b{display:block;font-size:.89rem}.toggle-row small{display:block;color:#69748e;font-size:.76rem;line-height:1.4;margin-top:3px}.question-fields{padding:23px 0 0}.question-fields .field:last-child{margin-bottom:0}.button{border:0;border-radius:10px;min-height:50px;padding:14px 23px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:#1d3cbb;color:#fff;box-shadow:0 8px 20px rgba(29,60,187,.18)}.button-primary:hover{box-shadow:0 13px 25px rgba(29,60,187,.25)}.button-outline{border:1px solid #bac4e9;background:#fff;color:#1d3cbb}.generate{width:100%;justify-content:space-between}.generate span{font-size:1.3rem}.result{border-top:1px solid #e5e8ee;margin-top:31px;padding-top:29px}.result-icon{font-size:2rem;color:#f36a62}.result h3{font-family:'Playfair Display',Georgia,serif;font-size:1.65rem;margin:4px 0 3px}.result p{font-size:.88rem;color:#68738c}.link-row{display:flex;gap:8px;margin:17px 0}.link-row input{min-width:0;flex:1;background:#f7f8fc;border:1px solid #e0e4ee;border-radius:8px;padding:10px;font-size:.8rem}.button-small{min-height:42px;background:#1d3cbb;color:#fff;padding:9px 15px;font-size:.82rem}.result-actions{display:flex;gap:21px;align-items:center}.result-actions a,.result-actions button{font-size:.82rem;font-weight:700;color:#1d3cbb;background:none;border:none;padding:4px 0;text-decoration:underline}.result .privacy-note{font-size:.75rem;line-height:1.5;margin:17px 0 0}.site-footer{text-align:center;border-top:1px solid #ece7dd;padding:28px;color:#8890a3;font-weight:700;font-size:.68rem;letter-spacing:.18em}.site-footer span{color:#f36a62;padding:0 7px}
.wish-page{--accent:#f36a62;--wash:#fff8eb;background:var(--wash);min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}.theme-blue{--accent:#487ee2;--wash:#f1f8ff}.theme-pink{--accent:#e94683;--wash:#fff3f8}.theme-gold{--accent:#db9b28;--wash:#fff9e9}.wish-header{width:100%;flex:none}.progress-label{color:var(--accent);font-weight:700;font-size:.83rem;letter-spacing:.14em}.wish-main{flex:1;display:grid;place-items:center;padding:20px 24px 45px;outline:0}.scene{max-width:750px;width:100%;margin:auto;text-align:center;animation:appear .5s ease both}.hero-gift{width:110px;height:110px;border-radius:30px;display:grid;place-items:center;background:#fff;box-shadow:0 13px 33px rgba(29,60,187,.1);font-size:5rem;color:var(--accent);margin:0 auto 31px;transform:rotate(-9deg)}.scene-sticker{font-size:4.5rem;margin-bottom:19px}.scene-kicker{color:var(--accent);margin:0 0 19px}.scene-title{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.055em;font-size:clamp(2.7rem,7vw,5.6rem);line-height:1.12;margin:0 auto 24px;overflow-wrap:anywhere}.scene-copy{font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.75;max-width:610px;margin:0 auto 35px;color:#56617d;white-space:pre-line;overflow-wrap:anywhere}.scene .button{min-width:210px}.cake-image{display:block;width:min(300px,70vw);height:min(270px,65vw);object-fit:contain;margin:-15px auto 14px;filter:drop-shadow(0 16px 8px rgba(41,43,74,.12))}.scene-3 .scene-title{font-size:clamp(2.3rem,5vw,3.7rem)}.scene-4 .scene-copy{background:#fff;padding:30px;border-radius:18px;box-shadow:0 12px 35px rgba(33,47,96,.08);font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.2rem,2.5vw,1.7rem);color:#293863}.answer-actions,.final-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.answer-note{font-weight:700;color:var(--accent);font-size:1.2rem}.finale-sticker{color:var(--accent);font-size:6rem}.wish-footer{padding:16px 42px 28px;display:flex;align-items:center;justify-content:space-between;color:#8990a2;font-size:.78rem;font-weight:700;letter-spacing:.04em}.progress-dots{display:flex;gap:7px}.dot{height:7px;width:7px;border-radius:100%;background:#d5d9e1}.dot.active{width:24px;border-radius:10px;background:var(--accent)}.confetti{position:fixed;inset:0;z-index:10;pointer-events:none;overflow:hidden}.confetti-bit{position:absolute;top:-30px;width:9px;height:17px;animation:fall 3.5s linear forwards}.scene[dir=rtl]{font-family:system-ui,sans-serif}.scene[dir=rtl] .scene-title{font-family:system-ui,sans-serif;letter-spacing:0;line-height:1.35}@keyframes appear{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fall{to{transform:translateY(110vh) rotate(var(--spin));opacity:.5}}@media(max-width:900px){.builder-shell{grid-template-columns:1fr;gap:18px}.intro{position:static;padding-top:17px}.preview-art{height:160px;justify-content:flex-end;margin-top:-35px}.preview-art img{height:165px;width:190px}.art-ring{width:180px;height:70px;right:10px;bottom:8px}.star-one{left:auto;right:180px}.star-two{right:0}.intro-foot{display:none}.form-card{max-width:720px;width:100%;margin:auto}}@media(max-width:600px){.site-header,.wish-header{height:67px;padding:0 19px}.header-note{display:none}.builder-shell{padding:10px 18px 55px}.intro h1{font-size:clamp(2.8rem,11vw,4rem);margin:16px 0}.intro-copy{font-size:1rem}.preview-art{height:112px;margin-top:-10px}.preview-art img{height:125px;width:155px}.art-ring{display:none}.art-star{font-size:1.5rem}.form-card{padding:23px 18px;border-radius:18px}.card-heading h2{font-size:1.7rem}.field-grid{grid-template-columns:1fr;gap:0}.field{margin-bottom:15px}.optional-block{padding:14px}.link-row{flex-direction:column}.wish-main{padding:20px 18px}.scene-title{margin-bottom:18px}.scene-copy{margin-bottom:28px}.wish-footer{padding:16px 18px 23px}.wish-footer>span{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Birthday experience motion */
.wish-page{background:radial-gradient(circle at 12% 23%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 27%),radial-gradient(circle at 86% 76%,color-mix(in srgb,#ffd34e 20%,transparent),transparent 31%),var(--wash)}
.wish-main{position:relative;isolation:isolate}
.wish-main:before,.wish-main:after{content:'✦';position:absolute;z-index:-1;color:var(--accent);opacity:.38;font-size:clamp(2rem,5vw,4rem);animation:twinkle 3.2s ease-in-out infinite}
.wish-main:before{top:16%;left:8%}.wish-main:after{content:'✳';bottom:17%;right:9%;animation-delay:1.4s}
.scene{animation:scene-arrive .65s cubic-bezier(.2,.8,.2,1) both}
.scene .scene-kicker,.scene .scene-title,.scene .scene-copy,.scene>.button,.scene .answer-actions,.scene .final-actions,.scene .cake-hint{animation:rise-in .65s cubic-bezier(.2,.8,.2,1) both}
.scene .scene-kicker{animation-delay:.08s}.scene .scene-title{animation-delay:.16s}.scene .scene-copy{animation-delay:.26s}.scene>.button,.scene .answer-actions,.scene .final-actions,.scene .cake-hint{animation-delay:.36s}
.scene-sticker{display:inline-block;animation:pop-in .7s cubic-bezier(.16,1.4,.4,1) both, bob 4s ease-in-out .8s infinite}
.scene-1 .scene-sticker{filter:drop-shadow(0 10px 20px rgba(243,106,98,.22))}
.hero-gift{animation:gift-arrive .8s cubic-bezier(.18,1.4,.4,1) both,gift-float 4s ease-in-out .8s infinite}
.scene-1 .scene-title,.scene-6 .scene-title{background:linear-gradient(110deg,#1c2454 15%,var(--accent) 58%,#1c2454 95%);background-size:220% 100%;color:transparent;background-clip:text;animation:rise-in .7s .16s both,shimmer 4s ease-in-out 1s infinite}
.button-primary:active,.cake-interaction:active{transform:scale(.96)}
.cake-interaction{display:block;position:relative;border:0;background:transparent;padding:0;width:min(350px,76vw);aspect-ratio:1;margin:-30px auto 4px;cursor:pointer;touch-action:manipulation;filter:drop-shadow(0 18px 9px rgba(41,43,74,.13));animation:cake-arrive .75s cubic-bezier(.2,1.25,.3,1) both,cake-float 4s ease-in-out .75s infinite}
.cake-interaction:disabled{cursor:default}.cake-interaction:focus-visible{border-radius:24px;outline:3px solid #1d3cbb;outline-offset:4px}
.cake-layer{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;transition:opacity .65s ease,transform .85s cubic-bezier(.2,.8,.2,1)}
.cake-cut{opacity:0;transform:scale(.94) translateY(12px)}.cake-interaction.is-cut .cake-whole{opacity:0;transform:scale(.97) translateX(-7px)}.cake-interaction.is-cut .cake-cut{opacity:1;transform:scale(1) translateY(0)}
.candle-flame{position:absolute;z-index:3;left:50.7%;top:-7%;width:34px;height:34px;transform:translateX(-50%);pointer-events:none;filter:drop-shadow(0 0 8px #ffad32) drop-shadow(0 0 14px #ffba4a);animation:flame-dance .75s ease-in-out infinite alternate;transition:opacity .22s,transform .22s}
.candle-flame:before{content:'';position:absolute;left:8px;top:5px;width:19px;height:28px;border-radius:75% 0 68% 54%;background:radial-gradient(circle at 69% 78%,#fff9cf 0 19%,#ffd956 35%,#ff8027 77%,#f55a28 100%);transform:rotate(45deg);box-shadow:0 0 14px 5px rgba(255,177,39,.65),0 0 38px 12px rgba(255,178,47,.32)}
.candle-flame:after{content:'';position:absolute;left:15px;top:17px;width:8px;height:12px;border-radius:70% 0 60% 60%;background:#fff9df;transform:rotate(45deg)}
.spark{position:absolute;width:5px;height:5px;background:#ffd047;border-radius:50%;box-shadow:0 0 10px 2px #ffd047;animation:spark-drift 1.4s ease-out infinite;--x:12px;--y:-18px}
.spark-0{left:1px;top:11px;--x:-18px;--y:-20px}.spark-1{left:30px;top:4px;--x:19px;--y:-25px;animation-delay:.2s}.spark-2{left:4px;top:27px;--x:-23px;--y:-8px;animation-delay:.48s}.spark-3{left:32px;top:29px;--x:23px;--y:-12px;animation-delay:.7s}.spark-4{left:18px;top:-4px;--x:3px;--y:-28px;animation-delay:.95s}.spark-5{left:36px;top:18px;--x:26px;--y:-20px;animation-delay:1.1s}.spark-6{left:-5px;top:2px;--x:-23px;--y:-28px;animation-delay:.35s}
.cake-interaction.is-cut .candle-flame{opacity:0;transform:translateX(-50%) scale(.15);animation:none}
.cake-flash{position:absolute;z-index:4;left:50%;top:5%;width:30px;height:30px;border:3px solid #ffd957;border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.3);pointer-events:none}
.cake-interaction.is-cut .cake-flash{animation:wish-burst .7s ease-out both}
.cake-hint{display:inline-block;color:var(--accent);font-weight:700;font-size:.95rem;margin:-7px 0 0;animation:hint-bounce 1.3s ease-in-out infinite!important}
.scene-3 .scene-title{font-size:clamp(2.2rem,5vw,3.5rem)}.scene-3 .scene-copy{margin-bottom:12px}.scene-3>.button{margin-top:16px}
.confetti-bit{width:clamp(6px,1vw,11px);height:clamp(10px,1.5vw,19px);animation-name:fall-fancy}
@keyframes scene-arrive{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@keyframes rise-in{from{opacity:0;transform:translateY(23px)}to{opacity:1;transform:translateY(0)}}
@keyframes pop-in{from{opacity:0;transform:scale(.3) rotate(-25deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes bob{50%{transform:translateY(-12px) rotate(5deg)}}
@keyframes twinkle{50%{opacity:.8;transform:scale(1.25) rotate(20deg)}}
@keyframes gift-arrive{from{opacity:0;transform:scale(.3) rotate(-35deg)}to{opacity:1;transform:scale(1) rotate(-9deg)}}
@keyframes gift-float{50%{transform:translateY(-13px) rotate(2deg)}}
@keyframes shimmer{50%{background-position:100% 0}}
@keyframes cake-arrive{from{opacity:0;transform:scale(.7) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes cake-float{50%{transform:translateY(-7px)}}
@keyframes flame-dance{from{transform:translateX(-50%) rotate(-7deg) scale(.94)}to{transform:translateX(-50%) rotate(8deg) scale(1.1)}}
@keyframes spark-drift{0%{opacity:0;transform:translate(0,0) scale(.4)}25%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(0)}}
@keyframes wish-burst{25%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(6)}}
@keyframes hint-bounce{50%{transform:translateY(-5px)}}
@keyframes fall-fancy{to{transform:translate(var(--drift),110vh) rotate(var(--spin));opacity:.15}}
@media(max-width:600px){.wish-main:before{left:2%;top:9%;font-size:1.8rem}.wish-main:after{right:2%;bottom:10%;font-size:2rem}.cake-interaction{width:min(310px,78vw);margin:-5px auto 7px}.scene-3 .scene-copy{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.candle-flame,.spark,.cake-interaction,.scene-sticker,.hero-gift,.wish-main:before,.wish-main:after,.cake-hint{animation:none!important}.cake-layer{transition:none}.cake-interaction.is-cut .cake-flash{display:none}}
/* The wish, secret note, and story transitions */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.suggestion-label{font-size:.82rem;font-weight:700;margin:0 0 10px;color:#536080}.suggestion-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.suggestion-chip{border:1px solid #d6ddf5;border-radius:30px;background:#f7f9ff;color:#2942a5;padding:9px 12px;font-size:.77rem;font-weight:700;line-height:1.35;text-align:left;transition:background .2s,transform .2s,border-color .2s}.suggestion-chip:hover,.suggestion-chip.selected{background:#e7edff;border-color:#1d3cbb;transform:translateY(-2px)}
.page-transition{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:radial-gradient(circle at center,#fff3a4 0 8%,var(--accent) 48%,#1d3cbb 115%);clip-path:circle(0% at 50% 50%);transition:clip-path .5s cubic-bezier(.65,0,.15,1);pointer-events:none;overflow:hidden}.page-transition.active{clip-path:circle(150% at 50% 50%);pointer-events:auto}.page-transition.leaving{clip-path:circle(0% at 50% 50%);pointer-events:auto}.page-transition span{color:#fff;font-size:clamp(7rem,24vw,20rem);line-height:1;text-shadow:0 15px 40px rgba(28,36,84,.2);animation:transition-spin 1s ease-in-out infinite}.page-transition i{position:absolute;width:100vmax;height:3px;background:linear-gradient(90deg,transparent,#fff8,transparent);transform:rotate(32deg)}.page-transition i:last-child{transform:rotate(-32deg)}
.birthday-badge{display:block;width:max-content;margin:18px auto 0;background:#fff;border:1px solid #f6c9c1;border-radius:30px;padding:7px 15px;font-size:.8rem;font-weight:700;color:var(--accent);text-transform:capitalize;animation:pop-in .5s .45s both}
.wish-orb,.blessing-orb{width:126px;height:126px;border-radius:35%;margin:0 auto 22px;display:grid;place-items:center;color:#fff;font-size:6rem;background:radial-gradient(circle at 32% 27%,#ffe387,var(--accent) 65%,#1d3cbb 130%);box-shadow:0 16px 0 rgba(255,255,255,.65),0 30px 55px rgba(29,60,187,.2);animation:orb-arrive .8s cubic-bezier(.2,1.4,.35,1) both,orb-float 4s ease-in-out .8s infinite}.blessing-orb{border-radius:50%;font-size:5rem;background:radial-gradient(circle at 35% 30%,#fff7bd,#ffd36a 40%,var(--accent) 95%)}
.wish-entry{max-width:520px;margin:0 auto;animation:rise-in .7s .35s both}.wish-textarea{display:block;width:100%;min-height:120px;resize:vertical;border:2px solid #dbe2f4;border-radius:18px;background:#fff;padding:19px 21px;color:#1c2454;font-size:1.08rem;line-height:1.5;box-shadow:0 20px 45px rgba(29,60,187,.1)}.wish-textarea:focus{outline:3px solid #ffbe79;outline-offset:3px;border-color:#1d3cbb}.wish-count{display:block;text-align:right;margin:7px 3px 16px;color:#7f89a0;font-size:.75rem;font-weight:700}.wish-controls{display:flex;justify-content:center;gap:11px;flex-wrap:wrap}.wish-quote{max-width:650px;margin:12px auto 29px;padding:26px 30px;border:1px solid #e3dcf9;border-radius:20px;background:#fff;color:#293863;box-shadow:0 22px 50px rgba(29,60,187,.1);font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.4rem,3vw,2.2rem);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;animation:quote-reveal .8s .25s both}.scene-5 .scene-title{font-size:clamp(2.5rem,6vw,4.8rem)}
.secret-envelope{display:grid;place-items:center;width:min(230px,58vw);height:min(170px,43vw);margin:12px auto 28px;border:2px solid #ffcfba;border-radius:24px;background:linear-gradient(145deg,#fff 0 58%,#fff0e9 100%);box-shadow:0 22px 45px rgba(57,45,108,.15),inset 0 -6px 0 #ffe4d5;transform:rotate(-6deg);cursor:pointer;animation:envelope-arrive .8s cubic-bezier(.2,1.3,.3,1) both,envelope-float 3s ease-in-out .8s infinite}.secret-envelope:hover{box-shadow:0 28px 50px rgba(57,45,108,.24),inset 0 -6px 0 #ffe4d5}.envelope-seal{font-size:5rem;filter:drop-shadow(0 10px 8px #e6aeb5)}.secret-burst{font-size:4.3rem;color:var(--accent);animation:pop-in .7s cubic-bezier(.2,1.5,.3,1) both,twinkle 2.7s .7s infinite}.question-open .scene-title{font-size:clamp(2.5rem,6vw,4.8rem)}.secret-response{max-width:540px;margin:0 auto 25px;padding:20px 25px;border:1px solid #ffe0d3;border-radius:18px;background:#fff;box-shadow:0 16px 40px rgba(57,45,108,.1);animation:quote-reveal .65s both}.secret-response .scene-copy{margin:7px auto 0;font-size:1.08rem}.secret-response .answer-note{margin:0}.answer-actions .button{min-width:150px}
.scene-6 .scene-title{background:none;color:#1c2454;animation:rise-in .65s .16s both}.finale-scene .scene-title{background:linear-gradient(110deg,#1c2454 15%,var(--accent) 58%,#1c2454 95%);background-size:220% 100%;color:transparent;background-clip:text;animation:rise-in .7s .16s both,shimmer 4s ease-in-out 1s infinite}
@keyframes transition-spin{50%{transform:rotate(80deg) scale(1.25)}}
@keyframes orb-arrive{from{opacity:0;transform:scale(.15) rotate(-50deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes orb-float{50%{transform:translateY(-13px) rotate(6deg)}}
@keyframes quote-reveal{from{opacity:0;transform:translateY(28px) rotate(-3deg) scale(.95)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
@keyframes envelope-arrive{from{opacity:0;transform:translateY(80px) rotate(-30deg) scale(.6)}to{opacity:1;transform:translateY(0) rotate(-6deg) scale(1)}}
@keyframes envelope-float{50%{transform:translateY(-12px) rotate(3deg)}}
@media(max-width:600px){.wish-orb,.blessing-orb{width:92px;height:92px;font-size:4.5rem;margin-bottom:16px}.blessing-orb{font-size:4rem}.wish-textarea{min-height:105px}.wish-quote{padding:20px;font-size:1.35rem}.wish-controls .button{width:100%}.secret-envelope{margin:8px auto 22px}.suggestion-chip{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.page-transition{display:none}.wish-orb,.blessing-orb,.secret-envelope,.page-transition span,.wish-quote,.secret-response{animation:none!important}}
/* WishPop account and creator desk */
.brand{display:inline-flex;align-items:center;gap:9px;letter-spacing:-.055em}.brand-logo{width:37px;height:37px;display:block;flex:none}.account-nav{display:flex;align-items:center;gap:16px;font-size:.86rem;font-weight:700}.account-nav button,.back-link{background:none;border:0;color:#1d3cbb;text-decoration:underline;font-weight:700;padding:8px}.auth-shell{display:grid;grid-template-columns:minmax(320px,1fr) minmax(360px,.85fr);gap:clamp(35px,7vw,110px);max-width:1230px;margin:auto;padding:50px 42px 100px;align-items:center;min-height:calc(100vh - 150px)}.auth-intro h1{font-size:clamp(3.4rem,6vw,6rem);line-height:1.03;letter-spacing:-.075em;margin:20px 0}.auth-intro h1 em{font-family:'Playfair Display',Georgia,serif;color:#f36a62;letter-spacing:-.05em}.auth-intro>p:not(.eyebrow){font-size:1.08rem;color:#536080;line-height:1.65;max-width:450px}.auth-cake{width:min(390px,80%);height:270px;object-fit:contain;display:block;margin:5px auto -10px;filter:drop-shadow(0 20px 17px #33408027);animation:cake-float 4s ease-in-out infinite}.auth-card{background:white;border:1px solid #e5e5e9;border-radius:26px;padding:34px;box-shadow:0 25px 80px #26336d13}.auth-tabs{display:flex;padding:5px;background:#f2f5ff;border-radius:12px;gap:5px;margin-bottom:26px}.auth-tabs button{flex:1;border:0;background:transparent;padding:11px;border-radius:9px;color:#67738c;font-weight:700}.auth-tabs button[aria-selected=true]{background:white;color:#1d3cbb;box-shadow:0 3px 10px #33408018}.auth-card h2{font-family:'Playfair Display',Georgia,serif;font-size:1.9rem;letter-spacing:-.04em;margin:0 0 7px}.auth-card p{color:#68738c;line-height:1.5;margin:0 0 24px}.auth-card .auth-footnote{font-size:.77rem;margin:18px 0 0}.full-button{width:100%}.form-error{color:#b52f3b!important;font-weight:700;font-size:.85rem;margin-top:14px!important;line-height:1.4}
.dashboard-shell{max-width:1230px;min-height:calc(100vh - 150px);margin:auto;padding:55px 42px 95px}.dashboard-top{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:40px}.dashboard-top h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.5rem,5vw,4rem);letter-spacing:-.055em;margin:12px 0}.dashboard-top p:last-child{color:#68738c;line-height:1.6;max-width:550px}.dashboard-top .button{white-space:nowrap}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}.saved-card{background:#fff;border:1px solid #e7e8ed;border-radius:22px;padding:23px;box-shadow:0 13px 35px #26336d0c;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}.saved-card:before{content:'';position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,#ff6b60 0 32%,#ffd456 32% 64%,#1d3cbb 64%)}.saved-card:hover{transform:translateY(-5px);box-shadow:0 19px 45px #26336d1b}.saved-card-top{display:flex;align-items:center;justify-content:space-between;margin-top:6px}.saved-card-icon{font-size:2.2rem}.card-status{font-size:.74rem;font-weight:700;color:#8c6a32;background:#fff3dc;border-radius:30px;padding:7px 10px}.card-status.received{color:#1d3cbb;background:#ebefff}.saved-card h2{font-family:'Playfair Display',Georgia,serif;font-size:1.65rem;overflow-wrap:anywhere;margin:21px 0 5px}.saved-card-meta{font-size:.78rem;color:#7b869d;margin:0 0 24px}.saved-card-actions{display:flex;flex-wrap:wrap;gap:9px}.card-action{border:1px solid #dae0ef;background:#fff;color:#1d3cbb;border-radius:8px;font-size:.8rem;font-weight:700;padding:9px 12px;text-decoration:none;cursor:pointer}.card-action:hover{background:#eef2ff}.card-action.primary-action{background:#1d3cbb;color:white;border-color:#1d3cbb}.card-delete{border:0;background:none;color:#8e6670;font-size:.75rem;margin-top:19px;padding:0;text-decoration:underline}.empty-cards{max-width:650px;margin:40px auto;text-align:center;padding:45px 24px;border:2px dashed #d6def1;border-radius:23px;background:#ffffffb8}.empty-icon{font-size:3.3rem}.empty-cards h2{font-family:'Playfair Display',Georgia,serif;font-size:2rem;margin:14px 0 5px}.empty-cards p{color:#65718c;margin:0 auto 20px;line-height:1.5}.back-link{margin:-24px 0 26px;padding-left:0}.response-dialog{border:0;border-radius:22px;padding:30px;max-width:min(550px,calc(100vw - 30px));width:100%;box-shadow:0 30px 100px #121b50aa;color:#1c2454}.response-dialog::backdrop{background:#111b4a99;backdrop-filter:blur(6px)}.dialog-top{display:flex;align-items:center;justify-content:space-between}.dialog-top button{border:0;background:#f0f3fc;width:35px;height:35px;border-radius:50%;font-size:1.5rem}.response-dialog h2{font-family:'Playfair Display',Georgia,serif;font-size:2rem;margin:20px 0}.reply-label{font-size:.72rem;font-weight:700;letter-spacing:.14em;color:#f36a62}.reply-quote{background:#fff8eb;padding:20px;border-radius:13px;margin:7px 0 22px;white-space:pre-wrap;overflow-wrap:anywhere;font-family:'Playfair Display',Georgia,serif;font-size:1.25rem}.reply-answer{font-size:1.1rem;font-weight:700}.reply-date{color:#8b92a2;font-size:.74rem;margin-top:25px}
.share-reply{max-width:590px;margin:32px auto 0;padding:23px 27px;background:#fff;border:1px solid #ffd7c7;border-radius:19px;box-shadow:0 15px 35px #26336d14;animation:quote-reveal .7s .3s both}.share-reply h2{font-family:'Playfair Display',Georgia,serif;font-size:1.6rem;margin:0 0 7px}.share-reply p{font-size:.9rem;line-height:1.55;color:#5e6983;margin:0 0 17px}.share-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.share-reply .reply-sent,.share-reply .reply-private{font-weight:700;color:#1d3cbb;margin:0}.share-reply .form-error{margin:10px 0 0!important}
/* Distinct page changes: gift pop, card fan, cake zoom, paper fold and finale burst. */
.wish-main:before{content:'🎈';opacity:.65}.wish-main:after{content:'🎉';opacity:.55}.scene-0{animation:scene-arrive .65s both}.scene-1{animation:balloon-reveal .78s cubic-bezier(.15,1.3,.28,1) both}.scene-2{animation:card-reveal .68s cubic-bezier(.15,.9,.25,1) both}.scene-3{animation:cake-reveal .8s cubic-bezier(.18,1.35,.25,1) both}.scene-4{animation:paper-unfold .72s cubic-bezier(.25,.85,.25,1) both}.scene-5{animation:blessing-reveal .85s ease-out both}.scene-6{animation:postcard-arrive .7s cubic-bezier(.18,.9,.25,1) both}.scene-7.question-closed{animation:envelope-arrive .8s cubic-bezier(.2,1.3,.3,1) both}.scene-7.question-open{animation:card-reveal .65s both}.finale-scene{animation:finale-reveal .85s cubic-bezier(.16,1.3,.28,1) both}.scene.scene-leave{pointer-events:none;animation-duration:.3s!important;animation-fill-mode:forwards!important}.scene.scene-leave.leave-0{animation-name:gift-away!important}.scene.scene-leave.leave-1{animation-name:balloon-away!important}.scene.scene-leave.leave-2{animation-name:card-away!important}.scene.scene-leave.leave-3{animation-name:fold-away!important}
@keyframes balloon-reveal{from{opacity:0;transform:translateY(120px) scale(.7) rotate(-7deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes card-reveal{from{opacity:0;transform:perspective(700px) rotateY(-35deg) translateX(80px) scale(.9)}to{opacity:1;transform:perspective(700px) rotateY(0) translateX(0) scale(1)}}
@keyframes cake-reveal{from{opacity:0;transform:scale(.45) rotate(14deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes paper-unfold{from{opacity:0;clip-path:inset(45% 0 45% 0 round 25px);transform:scale(.82)}to{opacity:1;clip-path:inset(0 0 0 0 round 0);transform:scale(1)}}
@keyframes blessing-reveal{from{opacity:0;filter:blur(14px);transform:translateY(35px) scale(1.06)}to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}
@keyframes postcard-arrive{from{opacity:0;transform:translateX(-100px) rotate(-10deg)}to{opacity:1;transform:translateX(0) rotate(0)}}
@keyframes finale-reveal{from{opacity:0;transform:scale(1.5) rotate(-7deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes gift-away{to{opacity:0;transform:scale(1.2) rotate(8deg)}}
@keyframes balloon-away{to{opacity:0;transform:translateY(-95px) scale(.9)}}
@keyframes card-away{to{opacity:0;transform:translateX(-100px) rotate(-8deg)}}
@keyframes fold-away{to{opacity:0;clip-path:inset(48% 0 48% 0);transform:scale(.9)}}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr;gap:15px;padding:25px 24px 70px}.auth-intro{text-align:center}.auth-intro>p:not(.eyebrow){margin:auto}.auth-cake{height:175px}.auth-card{max-width:600px;width:100%;margin:auto}}
@media(max-width:600px){.brand-logo{width:32px;height:32px}.account-nav{gap:7px;font-size:.72rem}.account-nav button{font-size:.72rem}.auth-shell{padding:15px 18px 65px}.auth-intro h1{font-size:3rem}.auth-cake{height:140px}.auth-card{padding:24px 20px}.dashboard-shell{padding:22px 18px 65px}.dashboard-top{display:block}.dashboard-top .button{margin-top:14px}.cards-grid{grid-template-columns:1fr}.share-reply{padding:18px}.share-controls .button{width:100%}}
@media(prefers-reduced-motion:reduce){.scene,.scene.scene-leave,.auth-cake{animation:none!important;filter:none!important}}
.text-button{background:none;border:0;color:#1d3cbb;padding:10px 0;font-size:.83rem;font-weight:700;text-decoration:underline}.recovery-code{display:block;background:#f0f3fc;border:1px solid #dce2f4;border-radius:9px;padding:15px;margin:18px 0;overflow-wrap:anywhere;font-size:1rem;color:#1d3cbb}.recovery-actions{display:flex;gap:10px;flex-wrap:wrap}
/* WishPop 3: personal story studio */
.about-link{font-size:.82rem;font-weight:700;text-decoration:none;color:#283f9d}.app-header{gap:20px}.app-header>.about-link{margin-left:auto}.story-studio{border-top:1px solid #e6e5ed;margin-top:12px;padding-top:28px}.studio-heading h3{font-family:Georgia,serif;font-size:1.9rem;letter-spacing:-.045em;margin:15px 0 10px}.studio-heading p,.studio-help{font-size:.86rem;line-height:1.65;color:#66708a}.writing-modes{padding:0;border:0;margin:24px 0;display:grid;gap:9px}.writing-modes legend{font-size:.84rem;font-weight:700;margin-bottom:12px}.writing-modes label{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #e0e3ec;border-radius:13px;cursor:pointer;background:#fafbff}.writing-modes label:has(input:checked){background:#eef1ff;border-color:#3049be;box-shadow:inset 3px 0 #3049be}.writing-modes input{accent-color:#3049be;width:17px;height:17px}.writing-modes b,.writing-modes small{display:block}.writing-modes b{font-size:.88rem}.writing-modes small{font-size:.76rem;color:#68738c;margin-top:3px}.studio-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between}.studio-toolbar p{font-size:.73rem;line-height:1.6;color:#7b6574}.studio-toolbar button{flex:none;max-width:45%}.page-editor{border:1px solid #e2e5ed;border-radius:13px;margin:11px 0;background:#fff;overflow:hidden}.page-summary{padding:17px;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:8px}.page-summary:after{content:'Edit / choose ↓';font-size:.7rem;color:#2c459e;grid-column:1/-1}.page-editor[open] .page-summary:after{content:'Close ↑'}.page-label{font-weight:700;font-size:.85rem}.text-badge{font-size:.62rem;background:#fff1df;border-radius:5px;padding:4px 6px;color:#986238}.page-snippet{grid-column:1/-1;font-size:.78rem;line-height:1.55;color:#68738c;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.page-editor[open]{border-color:#aebbea;box-shadow:0 8px 20px #29386b09}.page-editor-content{padding:0 17px 14px}.text-count{display:block!important;text-align:right;font-size:.7rem!important;margin-top:5px}.text-options{display:grid;gap:7px}.text-option{font-size:.78rem;line-height:1.6;text-align:start;border:1px solid #e6e8f0;padding:12px;border-radius:9px;background:#f6f8ff;color:#354566}.text-option:hover{background:#e9efff;border-color:#a4b2e1}.story-studio+.optional-block{margin-top:24px}.preview-dialog{width:min(1100px,calc(100vw - 28px));height:calc(100dvh - 28px);max-height:100dvh;padding:0;border:1px solid #e7e4dc;border-radius:22px;background:#fff8eb;color:#1c2454;overflow:hidden}.preview-dialog[open]{display:flex;flex-direction:column}.preview-dialog::backdrop{background:#172048b3;backdrop-filter:blur(6px)}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 22px;border-bottom:1px solid #e7e1d8;background:#fff}.preview-toolbar h2{font-family:Georgia,serif;margin:7px 0 0;font-size:1.1rem}.preview-toolbar button{flex:none}.preview-toolbar .step-pill{font-size:.56rem}.preview-dialog iframe{width:100%;border:0;flex:1;min-height:180px;background:#fff8eb}.preview-bottom{padding:13px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #e7e1d8;background:white}.preview-bottom p{font-size:.76rem;color:#67728a;max-width:290px;line-height:1.5;margin:0}.preview-bottom .button{font-size:.85rem}.button:disabled{opacity:.55;cursor:wait;transform:none}.story-preview-nav{display:flex;align-items:center;justify-content:center;gap:18px;padding:12px 18px;background:#fff;border-block:1px solid #ede5d8;font-size:.72rem;position:relative;z-index:2}.story-preview-nav label{font-weight:700}.story-preview-nav select{max-width:165px;margin-left:7px;border:1px solid #d8ddeb;border-radius:7px;padding:7px;color:#253976;background:#fafbff}.story-preview-nav>span{color:#69738d}.wish-privacy-help{font-size:.84rem;line-height:1.6;color:#67708b;max-width:490px;margin:0 auto 18px}.scene-4 .scene-copy{padding:0;background:none;box-shadow:none;font:inherit;line-height:1.7;color:#56617d;margin-bottom:12px}.birthday-emblem{position:relative;width:175px;height:162px;margin:0 auto 20px;isolation:isolate;animation:emblem-arrive .7s cubic-bezier(.15,1.3,.4,1) both}.party-balloon{position:absolute;width:64px;height:79px;border-radius:50% 50% 47% 47%;box-shadow:inset -8px -10px 0 #0000000b,inset 6px 5px 0 #ffffff30;animation:balloon-sway 4s ease-in-out infinite;transform-origin:50% 145%}.party-balloon:before{content:'';position:absolute;left:16px;top:13px;width:10px;height:20px;border-radius:50%;background:#ffffff85;transform:rotate(25deg)}.party-balloon:after{content:'';position:absolute;top:100%;left:50%;width:1px;height:61px;background:#84768c;transform:rotate(-7deg);transform-origin:top}.balloon-0{left:12px;top:30px;background:#f88b7c;rotate:-16deg;animation-delay:-1s}.balloon-1{left:93px;top:25px;background:#f5c853;rotate:15deg;animation-delay:-2s}.balloon-2{left:53px;top:0;background:var(--accent);z-index:1}.balloon-tag{position:absolute;bottom:2px;left:50%;translate:-50%;white-space:nowrap;font-size:.55rem;letter-spacing:.16em;padding:9px 12px;background:white;border:1px solid #eadccb;border-radius:5px;z-index:2;rotate:-6deg;color:#805f60;box-shadow:0 6px 12px #26336d10}.emblem-letter{height:150px;width:165px;margin-top:10px;animation:emblem-arrive .7s both,letter-hover 4s ease-in-out .7s infinite}.letter-paper{position:absolute;inset:4px 24px 30px;background:#fff;border:1px solid #f0d7c2;border-radius:8px;display:grid;place-items:center;font-family:Georgia,serif;font-size:3.2rem;color:var(--accent);rotate:-7deg;box-shadow:0 6px 20px #b5917530;animation:paper-peek 3s ease-in-out infinite}.letter-pocket{position:absolute;inset:57px 8px 6px;background:linear-gradient(145deg,#fff0d5 49%,#f7d9b3 50%);border:2px solid #e8bb8f;border-radius:8px;box-shadow:0 16px 25px #b5947520}.letter-pocket:after{content:'';position:absolute;inset:0;background:#ffe9c9;clip-path:polygon(0 100%,50% 35%,100% 100%)}.letter-seal{position:absolute;bottom:28px;left:66px;width:33px;height:33px;display:grid;place-items:center;background:var(--accent);color:white;border-radius:50%;font-size:1rem;box-shadow:0 3px 0 #00000013}.emblem-confetti{position:absolute;width:7px;height:12px;border-radius:2px;background:var(--accent);animation:confetti-hover 3s ease-in-out infinite}.ec-0{top:10%;left:-8%;rotate:24deg}.ec-1{top:2%;right:0;background:#e7b951;animation-delay:-.6s;rotate:-25deg}.ec-2{bottom:28%;right:-12%;background:#6b83be;animation-delay:-1.2s;rotate:32deg}.ec-3{bottom:10%;left:-1%;background:#e7b951;animation-delay:-1.8s}.ec-4{top:50%;left:-18%;width:7px;height:7px;border-radius:50%;background:#6b83be;animation-delay:-2.4s}
@keyframes balloon-sway{50%{transform:translateY(-9px) rotate(7deg)}}@keyframes emblem-arrive{from{opacity:0;transform:translateY(35px) scale(.7) rotate(-9deg)}to{opacity:1;transform:none}}@keyframes letter-hover{50%{transform:translateY(-7px) rotate(3deg)}}@keyframes paper-peek{50%{transform:translateY(-10px) rotate(6deg)}}@keyframes confetti-hover{50%{transform:translateY(-10px) rotate(30deg);opacity:.5}}
.creator-shell{max-width:1200px;margin:auto;padding:35px 42px 90px}.creator-hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:70px;padding:45px 0 85px}.creator-hero h1{font-size:clamp(3rem,5.4vw,5.5rem);letter-spacing:-.07em;line-height:1.08;margin:25px 0}.creator-hero h1 em{font-family:Georgia,serif;color:#ed7864}.creator-lead{font-size:1.12rem;line-height:1.8;color:#63718b;max-width:510px}.creator-roman{font-size:1.02rem;line-height:1.7;color:#a76c57;font-style:italic}.creator-hero .button{margin-top:20px}.creator-art{position:relative;height:360px;background:radial-gradient(ellipse,#f7e5c5 0,transparent 67%)}.creator-monogram{position:absolute;inset:38px 30px;border-radius:30px;background:#ea7766;color:#fff8eb;box-shadow:14px 18px 0 #f7c75e,0 30px 50px #91584816;font:italic 10rem Georgia,serif;display:grid;place-content:center;text-align:center;rotate:-7deg}.creator-monogram>span{font:700 .56rem system-ui;letter-spacing:.22em;display:block;margin-top:-2px}.creator-float{position:absolute;font-size:3.5rem;filter:drop-shadow(0 8px 10px #87482e26);animation:letter-hover 4s ease-in-out infinite}.float-one{right:-8px;bottom:15px;rotate:12deg}.float-two{top:0;left:5px;rotate:-12deg;animation-delay:-1s}.float-three{top:8px;right:2px;animation-delay:-2s}.creator-art-caption{position:absolute;bottom:-23px;width:100%;text-align:center;font:italic 1.1rem Georgia,serif;color:#a67762}.creator-details{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:65px 0;border-top:1px solid #e3dacf}.creator-details h2{font-family:Georgia,serif;font-size:2.15rem;letter-spacing:-.035em;margin:20px 0}.creator-details p{font-size:1rem;line-height:1.85;color:#64708b}.creator-link{font-weight:700;color:#3049be;text-underline-offset:6px}.creator-note{position:relative;padding:20px 32px 30px;background:#fff;border:1px solid #e6daca;box-shadow:0 18px 35px #7855390c;rotate:2deg;border-radius:4px}.note-pin{position:absolute;right:20px;top:-25px;font-size:2.7rem;rotate:-12deg}.creator-signature{display:block;margin-top:22px;font:italic 1rem Georgia,serif;color:#a36b58}.creator-values{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;border-top:1px solid #e3dacf;padding-top:35px}.creator-values article>span{font:italic 2rem Georgia,serif;color:#d9ae73}.creator-values h3{font-size:1rem;margin:13px 0}.creator-values p{font-size:.9rem;line-height:1.7;color:#64708b}
@media(max-width:700px){.creator-shell{padding:20px 22px 60px}.creator-hero{grid-template-columns:1fr;gap:25px;padding:15px 0 45px}.creator-art{height:290px;width:min(330px,100%);margin:auto}.creator-monogram{font-size:7.5rem}.creator-details{grid-template-columns:1fr;gap:35px;padding:35px 0}.creator-note{rotate:0;padding:20px 24px}.creator-values{grid-template-columns:1fr;gap:15px}.creator-values article{border-bottom:1px solid #eee1cf;padding-bottom:15px}.creator-hero h1{font-size:3.3rem}.preview-toolbar{padding:12px;align-items:center}.preview-toolbar h2{display:none}.preview-toolbar .step-pill{font-size:.52rem}.preview-bottom{padding:10px 12px;gap:7px}.preview-bottom .button{width:100%;font-size:.78rem;min-height:42px;padding:10px}.preview-bottom p{font-size:.66rem;max-width:none}.preview-dialog{width:calc(100vw - 12px);height:calc(100dvh - 12px);border-radius:14px}.story-preview-nav{flex-wrap:wrap;gap:5px;font-size:.63rem}.story-preview-nav>span{display:none}.app-header{flex-wrap:wrap;height:auto;min-height:76px;padding-block:12px;gap:10px}.app-header>.about-link{font-size:.68rem}.account-nav{width:100%;justify-content:flex-end}.studio-toolbar{gap:8px}.studio-toolbar button{font-size:.68rem}.result-actions{flex-wrap:wrap}.wish-footer{gap:12px}.wish-footer>a{font-size:.65rem;text-align:right}.page-summary{padding:14px}.birthday-emblem{scale:.85;margin-bottom:0}}
@media(prefers-reduced-motion:reduce){.birthday-emblem,.party-balloon,.letter-paper,.emblem-confetti,.creator-float{animation:none!important}}
