#page-cake{background:linear-gradient(135deg,#ffe0ef,#ffd7c8);}
#page-cake .container{text-align:center;}
#page-cake h1{color:#ff2d75;margin-bottom:10px;}
#page-cake p{margin-bottom:40px;color:#555;}
#page-cake .cake{position:relative;width:220px;margin:auto;}
#page-cake .bottom{height:70px;background:#ff9db8;border-radius:15px;}
#page-cake .middle{height:55px;width:180px;background:#ffbfd1;margin:auto;border-radius:15px;}
#page-cake .top{height:45px;width:140px;background:#fff3d6;margin:auto;border-radius:15px;}
#page-cake .candles{display:flex;justify-content:center;gap:20px;margin-bottom:-5px;}
#page-cake .candle{width:10px;height:45px;background:white;position:relative;cursor:pointer;}
#page-cake .flame{position:absolute;top:-18px;left:50%;transform:translateX(-50%) scale(.2);width:14px;height:18px;
  background:gold;border-radius:50%;opacity:0;transition:opacity .3s, transform .3s;}
#page-cake .candle.lit .flame{opacity:1;transform:translateX(-50%) scale(1);animation:flicker-cake .2s infinite alternate;}
#page-cake .candle:not(.lit):hover{filter:brightness(1.1);}
@keyframes flicker-cake{from{transform:translateX(-50%) scale(1);}to{transform:translateX(-50%) scale(1.2);}}
#page-cake button{margin-top:50px;padding:15px 35px;border:none;border-radius:40px;background:#ff4d88;color:white;font-size:18px;cursor:pointer;transition:.3s;}
#page-cake button:hover{transform:scale(1.05);}
#page-cake button:disabled,#page-cake button.disabled{background:#d9a7ba;cursor:not-allowed;opacity:.6;}
#page-cake button:disabled:hover,#page-cake button.disabled:hover{transform:none;}
#page-cake #cakeHint{transition:.2s;}

#page-cake .candle.lit .flame.out{
  opacity:0;
  transform:translateX(-50%) scale(0);
  animation:none;
  transition:.5s;
}

#page-cake .candle{overflow:visible;}
#page-cake .smoke{position:absolute;top:-18px;left:50%;width:8px;height:8px;border-radius:50%;
  background:rgba(150,150,150,.5);animation:smoke-rise 1.4s ease-out forwards;pointer-events:none;}
@keyframes smoke-rise{
  0%{opacity:.6;transform:translate(-50%,0) scale(1);}
  100%{opacity:0;transform:translate(calc(-50% + 15px),-70px) scale(2.5);}
}
#page-cake .card, #page-cake .container{position:relative;}

/* Premium responsive */
*{box-sizing:border-box}img,video{max-width:100%;height:auto}body{overflow-x:hidden}
.container{width:min(92%,1100px);margin:auto}
h1{font-size:clamp(2rem,5vw,4rem)}h2{font-size:clamp(1.5rem,4vw,3rem)}p{font-size:clamp(1rem,2vw,1.1rem)}
button,.btn{min-height:48px;padding:.8rem 1.4rem;border-radius:14px}
@media(max-width:768px){section{padding:60px 16px}}
