*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff6fa;color:#3d2934;font-family:Poppins,sans-serif;overflow-x:hidden}.topbar{position:fixed;top:0;left:0;right:0;height:64px;background:#171216ee;color:#fff;display:flex;align-items:center;padding:0 5vw;z-index:15;backdrop-filter:blur(10px);border-bottom:1px solid #ffffff16}.brand{font-family:"Dancing Script",cursive;font-size:28px;color:#ffc1d7}.topbar nav{margin-left:auto;display:flex;gap:30px}.topbar a{color:#f7dfe8;text-decoration:none;font-size:12px}.nav-heart{font-size:24px;color:#ff9fbd;margin-left:25px}.hero{min-height:100vh;padding:100px 6vw 60px;display:grid;grid-template-columns:minmax(280px,1.1fr) minmax(300px,.9fr);gap:5vw;align-items:center;background:radial-gradient(circle at 80% 20%,#ffd3e4 0,transparent 30%),linear-gradient(135deg,#fff8fb,#fbe8f1)}.hero-photo{height:min(72vh,650px);border-radius:32px 32px 120px 32px;overflow:hidden;box-shadow:0 30px 80px #8e4d681f;transform:rotate(-2deg);border:10px solid #fff}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-copy{text-align:left}.tiny,.eyebrow{letter-spacing:3px;text-transform:uppercase;font-size:11px;color:#b96889;font-weight:600}.hero h1{font-family:"Dancing Script",cursive;font-size:clamp(60px,8vw,105px);line-height:.9;margin:15px 0;color:#4b3040}.hero h1 span{color:#e25d8e}.subtitle{max-width:600px;font-size:15px;line-height:1.8;color:#765566;margin:25px 0}.main-btn,.wish-btn{border:0;background:#e86b99;color:#fff;border-radius:50px;padding:15px 25px;font-weight:600;box-shadow:0 12px 30px #e86b9938;cursor:pointer;transition:.25s}.main-btn:hover,.wish-btn:hover{transform:translateY(-3px)}.voice-card{display:flex;align-items:center;gap:14px;background:#ffd1e1;border-radius:50px;padding:10px 18px;margin:22px 0;width:min(100%,520px);color:#6b344c;font-size:12px}.voice-card button{width:44px;height:44px;border:0;border-radius:50%;background:#171216;color:#fff;cursor:pointer}.voice-wave{display:flex;gap:3px;align-items:center}.voice-wave i{width:3px;height:12px;background:#bb557d;border-radius:4px;animation:wave 1s ease-in-out infinite alternate}.voice-wave i:nth-child(2n){height:21px}.voice-wave i:nth-child(3n){height:30px}.voice-wave i:nth-child(4n){height:16px}.voice-wave i:nth-child(5n){height:25px}.voice-wave i:nth-child(2){animation-delay:.1s}.voice-wave i:nth-child(4){animation-delay:.2s}.voice-wave i:nth-child(6){animation-delay:.3s}@keyframes wave{to{transform:scaleY(.45)}}.countdown-section,.letter,.memories,.music,.wish{padding:90px 6vw;text-align:center}.countdown-section{background:#fff}.countdown-section h2,.memories h2{font-family:"Dancing Script",cursive;font-size:48px;margin:8px auto 35px}.countdown{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.countdown div{width:105px;padding:18px 10px;border-radius:22px;background:#fff3f7;border:1px solid #f7dbe6}.countdown b{display:block;font-size:32px;color:#df5d8c}.countdown span{font-size:11px;color:#997180}.date-note{font-size:12px;color:#a17889;margin-top:25px}.letter{background:#fff0f5}.card{max-width:820px;margin:auto;background:#fff;border-radius:34px;padding:55px 55px;box-shadow:0 25px 70px #c85f8a18;position:relative;text-align:left}.seal{position:absolute;right:25px;top:22px}.card h2{text-align:center;font-family:"Dancing Script",cursive;font-size:52px;margin:10px 0 28px}.card .eyebrow{text-align:center}.card p:not(.eyebrow):not(.signature){line-height:1.9;color:#765566}.card p b{color:#b83e6b}.signature{text-align:right!important;font-family:"Dancing Script",cursive;font-size:27px;color:#d35d87}.memories{background:#f8e8ef}.polaroid-grid{max-width:1100px;margin:40px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.polaroid{margin:0;background:#fff;padding:10px 10px 35px;box-shadow:0 15px 35px #7c405818;transform:rotate(1.2deg);transition:.3s}.polaroid:nth-child(2n){transform:rotate(-1.5deg)}.polaroid:hover{transform:translateY(-7px) rotate(0)}.polaroid img{width:100%;height:auto;max-height:none;display:block;object-fit:contain;object-position:center;background:#fff}.polaroid.wide{grid-column:span 1}.polaroid.dark{background:#181419;color:#ffd0df}.polaroid figcaption{font-family:"Dancing Script",cursive;font-size:25px;padding-top:9px}.music{background:#fff}.music-card{max-width:850px;margin:auto;padding:28px;border:1px solid #f2d8e3;border-radius:28px;display:flex;align-items:center;gap:20px;text-align:left}.disc{width:65px;height:65px;border-radius:50%;background:#ffe1ec;display:grid;place-items:center;font-size:30px}.music-card h2{font-family:"Dancing Script",cursive;margin:0;font-size:34px}.music-card p{font-size:11px;color:#977482}.music-card button{margin-left:auto;border:0;width:55px;height:55px;border-radius:50%;background:#e86b99;color:#fff;cursor:pointer}.wish{background:#ffeef5}.wish-box{max-width:700px;margin:auto}.cake{font-size:75px}.wish-box h2{font-family:"Dancing Script",cursive;font-size:48px}.final{min-height:85vh;display:grid;place-items:center;text-align:center;padding:60px 20px;background:linear-gradient(145deg,#4a293a,#7c4058);color:#fff}.big-heart{font-size:70px;animation:pulse 1.5s infinite}.final h2{font-family:"Dancing Script",cursive;font-size:45px;margin:10px}.final h1{font-family:"Dancing Script",cursive;font-size:clamp(45px,9vw,85px);color:#ffd3e2;margin:20px 0}.final p{font-size:18px;color:#f9dfe8}.final .small{font-size:15px;color:#f5d2df}.modal{position:fixed;inset:0;background:#321b288c;display:none;place-items:center;padding:20px;z-index:30;backdrop-filter:blur(8px)}.modal.show{display:grid}.modal-box{background:#fff8fb;border-radius:30px;padding:45px 30px;text-align:center;max-width:430px;position:relative;box-shadow:0 30px 100px #0004}.modal-box h2{font-family:"Dancing Script",cursive;font-size:45px;margin:5px}.modal-box p{line-height:1.8;color:#765566}.gift{font-size:75px}.close{position:absolute;right:17px;top:12px;border:0;background:none;font-size:30px;color:#9c7181;cursor:pointer}#hearts{position:fixed;inset:0;pointer-events:none;z-index:5}.floating-heart{position:absolute;bottom:-30px;animation:float 7s linear forwards;opacity:.65}@keyframes float{to{transform:translateY(-110vh) rotate(360deg);opacity:0}}@keyframes pulse{50%{transform:scale(1.12)}}@media(max-width:800px){.topbar{height:58px;padding:0 18px}.brand{font-size:24px}.topbar nav{display:none}.hero{grid-template-columns:1fr;padding-top:90px}.hero-photo{height:54vh;max-height:520px}.hero-copy{text-align:center}.voice-card{margin:20px auto}.polaroid-grid{grid-template-columns:1fr 1fr}.card{padding:42px 25px}}@media(max-width:520px){.polaroid-grid{grid-template-columns:1fr}.polaroid img{height:auto;max-height:none}.countdown div{width:75px}.countdown b{font-size:25px}.countdown-section h2,.memories h2{font-size:38px}.hero h1{font-size:62px}.hero-photo{height:52vh}.card h2{font-size:45px}.music-card{flex-wrap:wrap}.music-card button{margin-left:0}}

/* Sheebu Birthday PIN Lock */
body.locked { overflow: hidden; }
.birthday-lock {
  position: fixed; inset: 0; z-index: 99999;
  display: flex; align-items: center; justify-content: center;
  padding: 22px;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,180,210,.30), transparent 35%),
    radial-gradient(circle at 80% 80%, rgba(255,120,180,.25), transparent 35%),
    linear-gradient(135deg, #160c19, #3a1029 55%, #160c19);
  transition: opacity .45s ease, visibility .45s ease;
}
.birthday-lock.unlocked { opacity: 0; visibility: hidden; pointer-events: none; }
.lock-card {
  width: min(430px, 100%);
  padding: 34px 25px 28px;
  text-align: center;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 28px;
  background: rgba(255,255,255,.10);
  box-shadow: 0 25px 80px rgba(0,0,0,.45), inset 0 1px rgba(255,255,255,.18);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.lock-icon { font-size: 48px; margin-bottom: 8px; }
.lock-small {
  margin: 0 0 6px; font-size: 11px; letter-spacing: 3px;
  color: rgba(255,255,255,.72); font-weight: 600;
}
.lock-card h1 {
  margin: 0 0 10px; color: #fff; font-size: clamp(34px, 10vw, 52px);
  font-family: "Dancing Script", cursive;
}
.lock-text { color: rgba(255,255,255,.86); line-height: 1.55; margin: 0 auto 20px; }
.pin-input {
  display: block; width: 100%; box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.25); outline: none;
  border-radius: 14px; padding: 14px 16px;
  background: rgba(0,0,0,.20); color: #fff; text-align: center;
  font-size: 20px; letter-spacing: 7px;
}
.pin-input::placeholder { letter-spacing: 1px; color: rgba(255,255,255,.5); }
.pin-input:focus { border-color: rgba(255,180,210,.8); box-shadow: 0 0 0 3px rgba(255,150,190,.12); }
.unlock-btn {
  width: 100%; margin-top: 12px; padding: 14px 18px;
  border: 0; border-radius: 14px; cursor: pointer;
  background: #fff; color: #7b214d; font-weight: 700; font-size: 15px;
  box-shadow: 0 8px 25px rgba(0,0,0,.18);
}
.unlock-btn:active { transform: scale(.98); }
.pin-error { min-height: 20px; margin: 10px 0 0; color: #ffd1df; font-size: 13px; }

/* ===== Sheebu interactive birthday opening ===== */
body.intro-active { overflow: hidden; }
body.intro-active > header, body.intro-active > section { visibility:hidden; opacity:0; pointer-events:none; }
.birthday-intro{position:fixed;inset:0;z-index:9000;background:radial-gradient(circle at 50% 12%,#fff1f7 0,#ffdce9 35%,#f6b9ce 100%);overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:.5s ease}
.birthday-intro.show{opacity:1;visibility:visible;pointer-events:auto}
.intro-progress{position:absolute;top:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5}.intro-progress span{width:8px;height:8px;border-radius:50%;background:#ffffff88;border:1px solid #fff}.intro-progress span.active{width:24px;border-radius:10px;background:#fff}
.intro-page{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 20px 30px;opacity:0;transform:translateX(70px) scale(.98);pointer-events:none;transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .45s ease}.intro-page.active{opacity:1;transform:none;pointer-events:auto}.intro-page.exit-left{opacity:0;transform:translateX(-70px) scale(.98)}
.intro-kicker{letter-spacing:3px;font-size:11px;color:#a9446c;font-weight:700;margin:0 0 8px}.intro-page h1,.intro-page h2{font-family:"Dancing Script",cursive;color:#512b3d}.intro-page h1{font-size:clamp(52px,11vw,94px);line-height:.9;margin:0 0 12px}.intro-page h1 span{color:#df4f85}.intro-page h2{font-size:clamp(35px,7vw,60px);line-height:1.05;margin:8px 0 16px}.intro-sub{color:#7d5064;font-size:15px}.sparkles{font-size:25px;color:#e15c8e;letter-spacing:10px;margin-bottom:5px}
.dudu-scene{position:relative;width:min(390px,88vw);height:330px;margin:8px auto 16px;display:flex;align-items:flex-end;justify-content:center;filter:drop-shadow(0 18px 24px #a73e6420)}.dudu-bubu{position:absolute;bottom:66px;display:flex;align-items:flex-end;gap:0;z-index:2}.dudu-bubu .bubu,.dudu-bubu .dudu{font-size:112px;line-height:1;filter:drop-shadow(0 8px 5px #0001)}.dudu-bubu .dudu{margin-right:-17px}.intro-cake{position:absolute;bottom:22px;width:210px;height:112px;border-radius:15px 15px 26px 26px;background:linear-gradient(#a95e73,#7d3d56);box-shadow:0 12px 20px #6d2e451c;color:#fff;display:flex;flex-direction:column;justify-content:center;z-index:1}.intro-cake strong{font-family:"Dancing Script",cursive;font-size:28px}.cake-icing{position:absolute;top:-13px;left:12px;right:12px;background:#fff0f5;color:#e35f8c;border-radius:50%;height:28px;padding-top:3px}.cake-candle{position:absolute;top:-50px;left:50%;transform:translateX(-50%);font-size:42px}.cake-plate{position:absolute;bottom:10px;width:255px;height:18px;background:#fff;border-radius:50%;box-shadow:0 5px 10px #6d2e4522}
.swing-btn,.blow-btn,.skip-blow{border:0;border-radius:999px;padding:14px 22px;font-weight:700;cursor:pointer;box-shadow:0 10px 25px #a73e6420}.swing-btn{background:#df5b89;color:#fff}.swing-btn:active,.blow-btn:active,.skip-blow:active{transform:scale(.97)}
.intro-cake-page{background:radial-gradient(circle at 50% 45%,#fff 0,#ffe8f1 50%,#f8c2d5 100%)}.big-cake-wrap{position:relative;width:min(400px,90vw);height:280px;display:flex;align-items:flex-end;justify-content:center;margin:5px 0}.big-cake{width:270px;height:150px;border-radius:18px 18px 35px 35px;background:linear-gradient(#b9677f,#8a405b);box-shadow:0 20px 30px #7b345122;position:relative}.cake-top{position:absolute;top:-18px;left:0;right:0;height:40px;border-radius:50%;background:#fff2f7;color:#dc5b87;font-family:"Dancing Script",cursive;font-size:20px;padding-top:7px}.cake-body{height:100%;display:grid;place-items:center;color:#fff;font-family:"Dancing Script",cursive;font-size:38px;padding-top:22px}.cake-bottom{position:absolute;bottom:0;left:18px;right:18px;height:20px;background:#6d2f47;border-radius:50%}.cake-flame-row{position:absolute;top:25px;display:flex;gap:36px;z-index:2}.cake-flame-row i{position:relative;width:7px;height:55px;background:#fff2dd;border-radius:4px;box-shadow:0 3px 0 #e9b7c6}.cake-flame-row i:before{content:"";position:absolute;left:50%;top:-22px;transform:translateX(-50%);width:17px;height:25px;background:#ffad42;border-radius:60% 40% 60% 40%;box-shadow:0 0 18px #ffb74a;animation:flicker .25s infinite alternate}.cake-flame-row.off i:before{opacity:0;transform:translateX(-50%) scale(.2)}@keyframes flicker{to{transform:translateX(-50%) scale(.82) rotate(3deg)}}
.blow-status{max-width:520px;min-height:42px;color:#7d5064;font-size:13px;margin:0 0 12px}.cake-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.blow-btn{background:#df5b89;color:#fff}.skip-blow{background:#fff;color:#a33d65;border:1px solid #efbfd0}.balloons{position:absolute;inset:0;pointer-events:none;overflow:hidden}.balloon{position:absolute;bottom:-120px;font-size:55px;animation:balloonUp 4.2s ease-in forwards}.balloon:nth-child(2n){animation-duration:5.2s}.balloon:nth-child(3n){animation-duration:6s}@keyframes balloonUp{to{transform:translateY(-120vh) rotate(12deg);opacity:.1}}
.intro-message-page{background:radial-gradient(circle at 50% 20%,#fff 0,#ffe8f2 55%,#ffc5d8 100%)}.message-burst{font-size:28px;letter-spacing:12px;margin-bottom:5px}.dudu-message-art{height:130px;display:flex;align-items:flex-end;justify-content:center}.dudu-message-art .big{font-size:115px;line-height:1;margin:0 -8px;filter:drop-shadow(0 10px 8px #a73e6420)}.dudu-card{width:min(560px,92vw);padding:28px 25px;background:#ffffffea;border:1px solid #fff;border-radius:28px;box-shadow:0 25px 70px #a73e6424}.dudu-card h2{margin:3px 0 10px;font-size:42px}.dudu-card p:not(.intro-kicker){color:#775064;line-height:1.7;margin:7px 0}.dudu-card .swing-btn{margin-top:10px}.intro-end-page{background:linear-gradient(145deg,#4b2638,#8c4863);color:#fff}.intro-end-page h2{color:#fff;font-size:52px}.intro-end-page p{max-width:560px;color:#f9dfe8;line-height:1.8}.end-heart{font-size:90px;animation:pulse 1.4s infinite}.intro-end-page .swing-btn{background:#fff;color:#8a365b}
@media(max-width:600px){.intro-page{padding:45px 15px 20px}.intro-page h1{font-size:55px}.dudu-scene{height:285px}.dudu-bubu .bubu,.dudu-bubu .dudu{font-size:88px}.intro-cake{width:175px;height:95px}.cake-plate{width:215px}.cake-flame-row{gap:25px}.cake-flame-row i{height:48px}.big-cake{width:245px;height:140px}.dudu-message-art .big{font-size:88px}.dudu-card h2{font-size:36px}.intro-end-page h2{font-size:43px}}

.dudu-bubu-img{position:absolute;bottom:22px;width:min(360px,92vw);height:auto;z-index:2;filter:drop-shadow(0 12px 12px #a73e6420);border-radius:24px}.dudu-message-img{width:min(330px,80vw);height:auto;max-height:145px;object-fit:contain;border-radius:20px;filter:drop-shadow(0 10px 8px #a73e6420)}@media(max-width:600px){.dudu-bubu-img{width:min(330px,94vw);bottom:15px}.dudu-message-img{width:min(290px,82vw);max-height:135px}}
/* ===== Screenshot-matched interactive birthday opening ===== */
.birthday-intro{background:#f8bfd2;position:fixed;inset:0;z-index:100;overflow:hidden}
.birthday-intro.show{display:block}.intro-progress{top:17px;z-index:120}.intro-progress span{width:9px;height:9px;background:#ffffff99;border:1px solid #fff}.intro-progress span.active{width:34px;background:#fff}
.intro-page{padding:52px 18px 28px;justify-content:flex-start;overflow:auto;box-sizing:border-box}
.story-welcome{background:linear-gradient(145deg,#ffeaf3,#f7bdd3);justify-content:flex-start}
.story-sparkles{margin-top:8px;color:#d94e87;font-size:29px;letter-spacing:13px}.story-kicker{font-family:Poppins,sans-serif;color:#a23b68;font-weight:700;letter-spacing:3px;font-size:12px;margin:8px 0;text-transform:uppercase}
.story-welcome h1{font-family:'Dancing Script',cursive;font-size:clamp(58px,15vw,105px);line-height:.82;margin:5px 0 13px;color:#4b2338}.story-welcome h1 span{color:#d94780}.story-welcome h1 em{font-style:normal;color:#d94d87}
.story-art-card{width:min(430px,91vw);height:min(430px,46vh);min-height:260px;border-radius:34px;overflow:hidden;background:#fff5da;box-shadow:0 22px 55px #9b41602a;display:flex;align-items:center;justify-content:center;margin:5px auto 16px}.story-art-card img{width:100%;height:100%;object-fit:cover}
.story-btn{border:0;background:#df4f86;color:white;border-radius:999px;padding:14px 24px;font-family:Poppins,sans-serif;font-weight:700;font-size:16px;box-shadow:0 10px 24px #a83a6328;cursor:pointer}.story-btn small{font-weight:500;font-size:12px}.story-hint{background:linear-gradient(#0008,#0008),url('sheebu_birthday_dudu_bubu.png') center/cover}.hint-dim{position:absolute;inset:0;background:#0007}.hint-content{position:relative;z-index:2;color:white;display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:18vh;text-shadow:0 2px 8px #000}.hint-content img{width:min(260px,62vw);border-radius:30px;opacity:.7}.hint-content strong{text-align:center;font-family:'Dancing Script',cursive;font-size:23px}.hint-arrow{font-size:42px;transform:rotate(25deg)}.hint-content span{color:#ffb2cc;font-size:24px}
.story-cake,.story-blow{background:radial-gradient(circle at 50% 40%,#fff,#ffe3ed 55%,#f6b9cf)}.story-cake h2{font-family:'Dancing Script',cursive;font-size:45px;line-height:.95;color:#52283d;margin:3px 0}.real-cake{width:min(340px,82vw);height:270px;position:relative;margin:8px auto 18px}.cake-layer{position:absolute;left:50%;transform:translateX(-50%);border-radius:50% 50% 18px 18px;box-shadow:0 7px 10px #6a30401c}.layer1{width:250px;height:78px;bottom:42px;background:linear-gradient(#a65d74,#813f58)}.layer2{width:220px;height:68px;bottom:100px;background:linear-gradient(#e77b9c,#bb4e72)}.layer3{width:190px;height:58px;bottom:149px;background:#ffdbe7}.cake-topper{position:absolute;z-index:5;bottom:171px;left:50%;transform:translateX(-50%);width:175px;text-align:center;font-family:'Dancing Script',cursive;color:#9b3d62;font-size:22px;line-height:.8}.cake-topper b{font-size:27px}.cake-topper small{font-size:16px}.cake-plate{position:absolute;bottom:27px;left:50%;transform:translateX(-50%);width:285px;height:26px;background:#fff;border-radius:50%;box-shadow:0 6px 10px #6b30402a}.candles{position:absolute;z-index:8;bottom:214px;left:50%;transform:translateX(-50%);display:flex;gap:28px}.candles i{width:8px;height:48px;border-radius:5px;background:repeating-linear-gradient(135deg,#fff 0 8px,#e36b8d 8px 15px);position:relative}.candles i:before{content:'';position:absolute;left:50%;top:-22px;transform:translateX(-50%);width:15px;height:22px;border-radius:60% 40% 60% 40%;background:#ffae42;box-shadow:0 0 16px #ffb74a;animation:flicker .2s infinite alternate}.candles.off i:before{opacity:0}.story-blow{background:linear-gradient(180deg,#2b2630,#4a2d39 55%,#211c24);color:white}.cake-photo-look{margin-top:13vh;position:relative}.real-cake.mini{margin:0;width:min(340px,86vw);height:235px}.mini .cake-topper{bottom:145px}.mini .layer1{bottom:35px}.mini .layer2{bottom:84px}.mini .layer3{bottom:126px}.mini .cake-plate{bottom:21px}.blow-candles{bottom:190px}.blow-panel{background:#111b;border:1px solid #ffffff33;border-radius:20px;padding:10px 18px;display:flex;flex-direction:column;margin-top:-2px}.blow-panel b{font-family:'Dancing Script',cursive;font-size:24px}.blow-panel span{font-size:12px;color:#f9d9e5}.story-blow #blowStatus{font-size:12px;color:#f9dce6;margin:8px 0}.story-link{border:0;background:none;color:#ffd1df;text-decoration:underline;margin-top:8px}.story-balloons{background:radial-gradient(circle at 50% 30%,#fff4f8,#f4bfd3 65%,#db789f);justify-content:center}.balloon-field{position:absolute;inset:0;overflow:hidden}.balloon{position:absolute;bottom:-100px;animation:balloonUp 4s ease-out forwards}.balloon-cake{position:relative;z-index:2;margin-top:20vh}.balloon-caption{position:relative;z-index:3;font-family:'Dancing Script',cursive;font-size:30px;color:#fff;text-shadow:0 2px 9px #9c3e62;text-align:center;margin-top:10px}.balloon-caption small{font-family:Poppins;font-size:12px}.story-message{background:radial-gradient(circle at 50% 20%,#fff,#ffe6f0 60%,#f5b5cc);justify-content:center}.message-art img{width:min(220px,58vw);border-radius:28px}.dudu-card{margin:8px auto;width:min(500px,92vw);padding:22px 20px;background:#fffdfdf2;border:1px solid #fff;border-radius:20px;box-shadow:0 20px 55px #9b41602a}.dudu-card h2{font-family:'Dancing Script',cursive;color:#4f2b3e;font-size:38px;line-height:1;margin:5px 0 10px}.dudu-card p{color:#6d4657;line-height:1.6;margin:7px 0}.dudu-card small{color:#a34a70}.story-final{background:linear-gradient(180deg,#302331,#74405b 75%,#2a2028);color:white;justify-content:center}.final-heart{font-size:60px;color:#ff9fbe;animation:pulse 1.4s infinite}.story-final h2{font-family:'Dancing Script',cursive;color:white;font-size:52px;line-height:.95;margin:10px}.infinity{font-size:65px;color:#ffd0df}.story-final p{color:#f7dbe5}.story-final .story-btn{background:#fff;color:#8b3f61}
@keyframes balloonUp{to{transform:translateY(-125vh) rotate(10deg);opacity:0}}@media(max-width:600px){.intro-page{padding:50px 14px 22px}.story-welcome h1{font-size:57px}.story-art-card{height:40vh;min-height:245px;border-radius:28px}.story-cake h2{font-size:39px}.candles{gap:22px}.dudu-card h2{font-size:33px}.story-final h2{font-size:45px}}
