/* 4.0: tactile pastel controls and quiet, generous play spaces. */
:root{--delight-rose:#dba5af;--delight-lilac:#b0a2c7;--delight-mint:#a6baa1}
body{background:radial-gradient(ellipse at 14% 2%,#f7e6d7 0,transparent 45%),radial-gradient(ellipse at 88% 30%,#eadff0 0,transparent 40%),#f7f0e7}
.app{box-shadow:0 25px 90px #69504318;border:1px solid #fff9ef;border-radius:30px}
button{transition:transform .18s,box-shadow .18s,background .18s}button:active{transform:translateY(2px) scale(.98)}button:focus-visible{outline:3px solid #9082b5;outline-offset:4px}
.hub-top{min-height:44px;white-space:nowrap;font-size:13px;padding:8px 13px}
.delight-strip{display:grid;grid-template-columns:1.4fr 1.2fr 1fr;gap:9px;margin:12px 0}
.delight-strip button{border:1px solid #e5d7c5;border-radius:18px;background:linear-gradient(135deg,#fffaf1,#f4e8ec);padding:13px 10px;display:grid;grid-template-columns:32px 1fr;gap:3px 7px;text-align:start;min-height:70px;box-shadow:0 4px 12px #9b7d6610}
.delight-strip button>span{grid-row:span 2;font-size:27px;align-self:center}.delight-strip strong{font-size:13px}.delight-strip small{font-size:11px;color:#8f7769}
.surprise-layer{position:absolute;inset:0;pointer-events:none;z-index:7}.room-surprise{position:absolute;left:57%;top:57%;pointer-events:auto;border:0;background:#fff4d9c9;border-radius:50%;width:60px;height:60px;box-shadow:0 0 0 5px #fff5dc5e,0 8px 25px #8a685a22;animation:present-bob 3s ease-in-out infinite}.room-surprise span{font-size:34px}.room-surprise i{position:absolute;inset:-6px 2px auto auto;color:#ae8b48;font-size:20px}
.hub-feature{position:relative;overflow:hidden;border-radius:24px;min-height:210px;background:#f4e9d8;margin:20px 0}.hub-feature>img{width:100%;height:240px;object-fit:cover}.hub-feature>div{position:absolute;inset:0 auto 0 0;width:46%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:9px;padding:20px;background:linear-gradient(90deg,#fff6e9f0,#fff6e9ab,transparent)}.hub-feature strong{font-size:23px}.hub-feature small{color:#796656}.hub-feature>div>span{font-size:28px}
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.hub-choice{display:flex;flex-direction:column;align-items:center;gap:7px;padding:20px 9px;min-height:132px;background:linear-gradient(145deg,#fffaf3,#f1e7ef);border:1px solid #dfcddd;border-radius:22px;box-shadow:0 5px 15px #7958680c}.hub-choice>span{font-size:43px;filter:drop-shadow(0 3px 2px #ac8d7420)}.hub-choice strong{font-size:15px}.hub-choice small{font-size:11px;color:#8b7468}.hub-choice:hover{transform:translateY(-3px);box-shadow:0 9px 20px #79586819}
.surprise-presents{display:flex;justify-content:center;gap:20px;padding:35px 0}.surprise-presents button{min-width:100px;min-height:145px;border:2px solid var(--ribbon);border-radius:23px;background:linear-gradient(150deg,#fffaf3,#f6e6d9);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px}.present-box{font-size:68px}.surprise-presents strong{font-size:26px}.soft-note{color:#8c786b;text-align:center;font-size:13px;line-height:1.6}
.wonder-reveal{text-align:center}.wonder-reveal>img{width:100%;max-height:225px;object-fit:cover;border-radius:22px}.wonder-token{font-size:75px;line-height:1.4;margin-top:-35px;position:relative;filter:drop-shadow(0 6px 15px #8d675737);animation:wonder-appear .6s ease-out}.wonder-points{display:inline-block;padding:8px 18px;border-radius:20px;background:#f4dcdd;color:#9e5b70;font-weight:bold}.gift-notice{background:#f7ebc8;padding:13px;border-radius:16px}
.wonder-progress{display:flex;gap:15px;align-items:center;margin:18px 0;color:#9e6c7c;font-weight:bold}.wonder-progress>div{height:12px;flex:1;background:#efe1db;border-radius:10px;overflow:hidden}.wonder-progress i{display:block;height:100%;background:linear-gradient(90deg,#dcadbb,#b4a2c8);border-radius:10px}.wonder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.wonder-card{padding:18px 10px;text-align:center;border-radius:20px;border:1px solid #e4d4c3;background:#fffaf2;display:flex;flex-direction:column;gap:8px}.wonder-card>span{font-size:38px}.wonder-card strong{font-size:13px}.wonder-card small{font-size:11px;color:#8e7768}.wonder-card.waiting{background:#f3eee7;color:#b6a89d}.wonder-card.found{background:linear-gradient(145deg,#fff8df,#f5e8ef)}
.delight-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:11px;margin:18px 0}.delight-dots span{font-size:22px;color:#d5c7be}.delight-dots .done{color:#cb8b9f;animation:wonder-appear .35s ease-out}
.cake-workshop{padding:12px;background:radial-gradient(ellipse,#fff7ec,#f0e5eb);border-radius:24px;text-align:center}.cake-garland{font-size:25px;letter-spacing:12px;color:#c6a271}.cake-canvas{position:relative;display:block;width:min(100%,380px);height:260px;margin:auto;border:0;background:transparent}.cake-layer{position:absolute;left:14%;top:38%;width:72%;height:32%;background:#efb3c5;border:3px solid #bb8d83;border-radius:50% 50% 15% 15%/30% 30% 15% 15%;box-shadow:inset 0 12px 0 #ffffff38;z-index:2}.cake-base{position:absolute;left:14%;top:52%;width:72%;height:30%;border:3px solid #c39f75;border-radius:0 0 45% 45%/0 0 30% 30%;background:repeating-linear-gradient(#edd5ae 0 22px,#fff0dd 22px 32px);z-index:1}.cake-candles{position:absolute;top:15%;left:24%;font-size:40px;z-index:3}.cake-plate{position:absolute;left:5%;top:71%;width:90%;height:21%;border-radius:50%;background:#dfd9e7;border:3px solid #bcb3cb;box-shadow:0 9px 12px #9c786b20}.cake-toppings{position:absolute;inset:0;z-index:4;pointer-events:none}.cake-toppings span{position:absolute;font-size:25px;filter:drop-shadow(0 2px 1px #96684f40)}.cake-paints{display:flex;justify-content:center;gap:12px;padding-bottom:10px}.cake-paints button{width:49px;height:49px;border:4px solid #fff9ef;border-radius:50%;box-shadow:0 2px 6px #8d746525}.cake-paints button[aria-pressed=true]{outline:3px solid #ae91ab}
.cloud-sky{height:290px;position:relative;overflow:hidden;border-radius:25px;background:linear-gradient(#bfdbe8,#e6eef0 75%,#f8ebd7)}.cloud-sun{position:absolute;right:5%;top:2%;font-size:60px;color:#e1b65a;opacity:.75}.dream-cloud{position:absolute;width:26%;height:95px;border:0;background:transparent;animation:cloud-drift 5s ease-in-out infinite;animation-delay:var(--float-delay)}.dream-cloud>span{font-size:100px;line-height:1;color:#fff9ef;filter:drop-shadow(0 7px 4px #8399ba20)}.dream-cloud b{position:absolute;left:50%;top:53%;transform:translate(-50%,-50%) scale(.4);opacity:0;font-size:34px;transition:.4s}.dream-cloud.revealed b{opacity:1;transform:translate(-50%,-50%) scale(1)}
.dance-stage{height:235px;position:relative;overflow:hidden;border-radius:24px;background:radial-gradient(ellipse at 50% 10%,#fff6d8,#e4d9eb)}.dance-girl{position:absolute;left:35%;top:15%;height:180px;width:100px;z-index:2}.dance-girl svg{width:100%;height:100%}.dance-stage img{position:absolute;left:58%;top:45%;width:100px;z-index:2;transition:transform .3s}.dance-bunting{position:absolute;left:10%;top:0;font-size:52px}.dance-note{position:absolute;right:15%;top:12%;font-size:40px;color:#b39bc4}.dance-floor{position:absolute;bottom:0;left:0;right:0;height:24%;background:repeating-linear-gradient(90deg,#c8ada440 0 60px,#e1cfc344 60px 120px);border-top:1px solid #c8ada4}.dance-clue{text-align:center;font-size:19px;color:#8b678c;font-weight:bold;margin:14px}.dance-moves{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.dance-moves button{border:2px solid #e0d1c4;border-radius:19px;background:#fff8ef;min-height:95px;padding:9px;display:flex;flex-direction:column;gap:8px;align-items:center}.dance-moves span{font-size:31px}.dance-moves small{font-size:11px}.dance-moves .current{border-color:#b48eb4;box-shadow:0 0 0 4px #dfc5df65;background:#f5e9f1}.dance-hop{animation:dance-hop .4s ease-in-out}.dance-cat-step{transform:rotate(-7deg) translateY(-8px)}
.simple-world .game-layout{grid-template-columns:1fr}.simple-world aside,.simple-world #smart-suggestion,.simple-world .activity-dock{display:none}.simple-world .house{width:100%}.simple-world .hotspot{min-width:70px;min-height:70px}.simple-world .epic-toolbar button{min-height:56px;font-size:16px}.simple-world .scene{min-height:390px}
html[dir=rtl] .hub-feature>div{inset:0 0 0 auto;align-items:flex-start;background:linear-gradient(270deg,#fff6e9f0,#fff6e9ab,transparent)}html[dir=rtl] .cake-canvas,html[dir=rtl] .cloud-sky,html[dir=rtl] .dance-stage{direction:ltr}
@keyframes present-bob{50%{transform:translateY(-7px) rotate(4deg)}}@keyframes wonder-appear{from{opacity:0;transform:translateY(10px) scale(.85)}to{opacity:1;transform:none}}@keyframes cloud-drift{50%{transform:translateX(6px)}}@keyframes dance-hop{50%{transform:translateY(-12px) rotate(6deg)}}
.calm-world *, .calm-dialog *{animation:none!important;scroll-behavior:auto!important}.calm-world button,.calm-dialog button{transition:none!important}
@media(prefers-reduced-motion:reduce){.room-surprise,.dream-cloud,.wonder-token,.dance-hop,.delight-dots .done{animation:none!important}button{transition:none!important}}
@media(max-width:600px){.app{border-radius:0}.delight-strip{grid-template-columns:1fr 1fr}.delight-strip button:first-child{grid-column:span 2}.hub-grid{grid-template-columns:repeat(2,1fr)}.hub-feature>img{height:220px}.hub-feature>div{width:58%;padding:13px}.hub-feature strong{font-size:18px}.wonder-grid{grid-template-columns:repeat(2,1fr)}.surprise-presents{gap:9px}.surprise-presents button{min-width:80px}.present-box{font-size:53px}.dance-moves{gap:6px}.dance-moves button{padding:6px}.room-surprise{width:50px;height:50px}.room-surprise span{font-size:28px}.simple-world .scene{min-height:300px}}
header{height:auto;min-height:108px;padding:14px 0}
@media(max-width:700px){header{min-height:110px;padding:10px 0;gap:8px}.brand{flex-direction:row;gap:10px}.brand span{display:none}.top-controls .map-top span{display:none}.hub-top{font-size:12px;padding:8px 10px}}
