.honey-loader{position:fixed;inset:0;z-index:200;display:grid;place-content:center;justify-items:center;gap:18px;background:linear-gradient(145deg,#fff6fa,#f2d7e4);transition:opacity .7s,visibility .7s}
.honey-loader.hide{opacity:0;visibility:hidden}
.honey-loader p{margin:0;color:#9b5c7a;font-weight:700}
.loader-jar{position:relative;width:115px;height:135px;overflow:hidden;border:5px solid #b87756;border-radius:18px 18px 35px 35px;background:#fff9;box-shadow:inset 0 0 0 5px #fff8,0 18px 35px #84586d29}
.loader-jar:before{content:"";position:absolute;z-index:3;left:10px;right:10px;top:-5px;height:22px;border-radius:8px;background:#9a5e42}
.loader-honey{position:absolute;inset:auto 0 0;height:12%;background:linear-gradient(#f5bd4f,#de922b);animation:fill-jar 1.8s ease forwards}
.loader-jar span{position:absolute;z-index:4;inset:55px 0 auto;text-align:center;color:#a96581;font-size:25px;font-weight:700}
.guest-greeting,.personal-welcome{display:none;margin:0 auto 8px;padding:5px 17px;border-radius:22px;background:#f8dce9;color:#9a5778;font-weight:700}
.guest-greeting.show,.personal-welcome.show{display:table}
.personal-welcome{margin-bottom:16px;background:#fff6fa;border:1px solid #e4b9cc}
.calendar-button,.candle-button{margin-top:16px;padding:10px 23px;border:1px solid #d49ab5;border-radius:28px;background:#fff;color:#a65f80;font:700 15px "Noto Naskh Arabic";cursor:pointer;box-shadow:0 8px 20px #7d4b6520}
.music-toggle{position:fixed;z-index:45;left:max(13px,calc((100vw - 760px)/2 + 13px));bottom:18px;width:47px;height:47px;border:1px solid #fff9;border-radius:50%;background:#c9769d;color:#fff;font-size:22px;box-shadow:0 8px 24px #7a425e45;cursor:pointer;animation:pulse-music 2s infinite}
.music-toggle.muted{background:#a99eaa;animation:none}
.floating-decor{position:fixed;z-index:25;inset:0;max-width:760px;margin:auto;pointer-events:none;overflow:hidden}
.floating-decor i{position:absolute;color:#d88dad88;font-style:normal;animation:decor-drift 7s infinite ease-in-out}
.floating-decor i:nth-child(1){left:5%;top:18%}.floating-decor i:nth-child(2){right:7%;top:31%;animation-delay:1s}.floating-decor i:nth-child(3){left:8%;top:55%;animation-delay:2s}.floating-decor i:nth-child(4){right:6%;top:73%;animation-delay:3s}.floating-decor i:nth-child(5){left:12%;top:87%;animation-delay:4s}.floating-decor i:nth-child(6){right:12%;top:9%;animation-delay:5s}
.cake-page{background:linear-gradient(160deg,#fff5f9,#efd2e1)}
.cake-content{z-index:3}.cake-content>p{color:#9b617d;font-size:18px}
.birthday-cake{position:relative;width:270px;height:330px;margin:20px auto 0}
.candle{position:absolute;z-index:5;top:10px;left:123px;width:24px;height:85px;border-radius:10px;background:repeating-linear-gradient(45deg,#d987ab 0 9px,#fff 9px 17px)}
.flame{position:absolute;left:2px;top:-35px;width:20px;height:34px;border-radius:50%;background:radial-gradient(circle at 50% 65%,#fff5a8 0 22%,#f5a63c 24% 60%,#ef7194 62%);filter:drop-shadow(0 0 10px #f6b34e);animation:flame-dance .7s infinite alternate}
.birthday-cake.blown .flame{opacity:0;transform:translateY(-15px) scale(.1);transition:.5s}
.cake-top{position:absolute;z-index:3;left:45px;top:83px;width:180px;height:90px;border-radius:24px 24px 12px 12px;background:#f5b9cf;border:3px solid #d98cab;box-shadow:inset 0 -14px #e9a0bb}
.cake-top:before{content:"";position:absolute;inset:-5px -3px auto;height:30px;border-radius:50%;background:#fff4f8;border:3px solid #d98cab}
.cake-top span{position:relative;z-index:2;display:block;margin-top:25px;color:#fff;font:bold 42px Arial;text-shadow:0 2px #c47798}
.cake-bottom{position:absolute;z-index:2;left:20px;top:168px;width:230px;height:110px;border-radius:18px 18px 25px 25px;background:#dca4df;border:3px solid #ba79bc;box-shadow:inset 0 -17px #ce8bd0}
.cake-bottom:before{content:"";position:absolute;inset:-6px -3px auto;height:32px;border-radius:50%;background:#fff4f8;border:3px solid #ba79bc}
.cake-bottom i{position:relative;z-index:2;display:inline-block;width:13px;height:13px;margin:48px 10px 0;border-radius:50%;background:#fff2a9}
.cake-plate{position:absolute;left:4px;bottom:32px;width:262px;height:25px;border-radius:50%;background:#c689a7;box-shadow:0 10px 18px #77485f25}
.cake-sparkles i{position:absolute;color:#d587a9;font-style:normal;font-size:25px;animation:twinkle 1.8s infinite}
.cake-sparkles i:nth-child(1){left:15%;top:18%}.cake-sparkles i:nth-child(2){right:16%;top:27%;animation-delay:.4s}.cake-sparkles i:nth-child(3){left:21%;bottom:19%;animation-delay:.8s}.cake-sparkles i:nth-child(4){right:19%;bottom:15%;animation-delay:1.2s}
.guest-wish-page{background:linear-gradient(145deg,#a78ac7,#ce94b4)}
.wish-form-card{z-index:2;width:min(100%,540px);padding:38px 30px;border-radius:34px;background:#fff9fb;box-shadow:0 25px 55px #5d36512d}
.form-icon{font-size:47px}.wish-form-card h3{margin:5px;color:#a75f82;font-size:32px}.wish-form-card>p{color:#8c6880}
.wish-form-card form{display:grid;gap:12px;margin-top:20px}.wish-form-card input,.wish-form-card textarea{width:100%;border:1px solid #dfb6ca;border-radius:18px;background:#fff;padding:13px 16px;color:#674357;font:16px "Noto Naskh Arabic";outline:none}
.wish-form-card textarea{min-height:125px;resize:vertical}.wish-form-card input:focus,.wish-form-card textarea:focus{border-color:#bd7197;box-shadow:0 0 0 4px #d88eaf20}
.wish-form-card form button{padding:11px;border:0;border-radius:22px;background:linear-gradient(90deg,#c8739b,#a987ca);color:#fff;font:700 16px "Noto Naskh Arabic";cursor:pointer}
.wish-success{display:none;margin-top:16px;padding:10px;border-radius:18px;background:#efddec;color:#8d5472;font-weight:700}.wish-success.show{display:block;animation:text-rise .6s both}
.confetti{position:absolute;z-index:10;top:-20px;width:9px;height:15px;background:var(--confetti);animation:confetti-fall var(--fall) var(--delay) linear forwards}
@keyframes fill-jar{to{height:78%}}@keyframes pulse-music{50%{transform:scale(1.1);box-shadow:0 8px 30px #c9729b80}}@keyframes decor-drift{50%{transform:translateY(-18px) rotate(18deg);opacity:.4}}@keyframes flame-dance{to{transform:scaleX(.8) rotate(5deg)}}@keyframes twinkle{50%{transform:scale(1.5);opacity:.35}}@keyframes confetti-fall{to{transform:translate(var(--drift),115vh) rotate(720deg);opacity:.7}}
@media(max-width:560px){.music-toggle{width:43px;height:43px}.birthday-cake{transform:scale(.88);margin-block:-2px -20px}.wish-form-card{padding:32px 20px}.guest-greeting{max-width:250px;font-size:14px}}

/* Pooh birthday palette: honey yellow, soft pink and cheerful red. */
:root{--ink:#6b3535;--honey:#e6ad2f;--sage:#b84155;--pink:#f8cfda}
.opening{background:linear-gradient(#fff2c7 0 65%,#f2a9ba 65% 100%)}
.opening-card{border-color:#e4ae38;background:#fffaf0;box-shadow:0 30px 70px #9a3e4a30,inset 0 0 0 8px #ffe8a8}
.scallops{border-color:#e64f5f}.opening-copy p,.little-one{color:#a63748}.opening-copy h1{color:#d74355}.little-one{border-color:#e6ae38;background:#fff8e9}
.hero-page{background:linear-gradient(180deg,#fff8df 0 70%,#f3b5c4 100%)}.name-lockup h2{color:#d74355}.name-lockup span{color:#efb72f}.birthday-title{border-color:#e6ad2f;color:#a43545}.meadow{background:radial-gradient(ellipse at 50% 100%,#e99aac 0 52%,transparent 53%)}
.invitation-page{background:#ffdede}.story-card{background:#fffaf0;border-color:#e9ad52}.date-layout{border-color:#e6ad2f}.date-layout strong,.date-layout .big-date strong{color:#c93f50}.time-pill{background:#ffe39a;color:#9c3341}
.dua-page{background:linear-gradient(160deg,#ef7f96,#bf384b)}.dua-circle{background:#fff7d9}
.countdown-page{background:linear-gradient(#fff6d9 0 72%,#ef9eae 72%)}.count-content h3,.count-grid strong{color:#c93e50}.count-grid div{border-color:#e4ad39;background:#fffaf0}.count-grid span,.count-content>p{color:#a23b4b}.count-hill{background:#df778d}
.wish-page{background:linear-gradient(145deg,#efb72f,#d54454)}.cake-page{background:linear-gradient(160deg,#fff6cb,#f4b3c2)}
.guest-wish-page{background:linear-gradient(145deg,#f0bb36,#ce3f54)}.wish-form-card h3{color:#c63c50}.wish-form-card form button{background:linear-gradient(90deg,#df4456,#efa52f)}
.music-toggle{background:#d94355}.calendar-button,.candle-button{border-color:#e1a733;color:#b63a4d}
.party-balloon{filter:saturate(1.12)}

.wish-wall{margin-top:28px;padding-top:22px;border-top:1px dashed #e0a5b1}
.wish-wall h4{margin:0 0 14px;color:#bf3e50;font-size:22px}
.wish-list{display:grid;gap:12px;max-height:360px;overflow:auto;padding:2px}
.wish-card{position:relative;padding:15px 18px;border:1px solid #efc2cb;border-radius:18px;background:linear-gradient(135deg,#fff9e8,#fff1f4);text-align:right;box-shadow:0 8px 18px #9a405018}
.wish-card:before{content:"♡";position:absolute;left:15px;top:10px;color:#e24d60;font-size:20px}
.wish-card strong{display:block;padding-left:28px;color:#b83b4e;font-size:17px}
.wish-card p{margin:5px 0 0;color:#6d4247;line-height:1.8;overflow-wrap:anywhere}
.wish-empty{margin:0;padding:13px;border-radius:16px;background:#fff3c9;color:#a1414d}
