  *{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
  html,body{height:100%;overflow:hidden;}
  body{font-family:'Baloo Bhaijaan 2',sans-serif;color:#3A2E52;
    background:linear-gradient(180deg,#FFE9B8,#FFC9D8 50%,#A9E3F5);
    user-select:none;-webkit-user-select:none;touch-action:manipulation;
    display:flex;flex-direction:column;height:100dvh;}
  .topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 6px;z-index:5;}
  .topbar h1{font-size:clamp(18px,5vw,26px);font-weight:800;}
  .nm{color:#FF3D9A;}
  .homebtn{text-decoration:none;background:#fff;border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 4px 0 #00000016;}
  .homebtn:active{transform:translateY(3px);box-shadow:0 1px 0 #00000016;}
  .stars{background:#ffffffcc;border-radius:999px;padding:6px 14px;font-size:clamp(16px,4.4vw,22px);font-weight:800;box-shadow:0 4px 0 #00000016;}
  .stars.bump{animation:bump .4s ease;}
  @keyframes bump{40%{transform:scale(1.3) rotate(-8deg)}}
  #play{position:relative;flex:1;overflow:hidden;}
  .balloon{position:absolute;cursor:pointer;will-change:transform;animation:rise linear forwards,sway 2.2s ease-in-out infinite alternate;}
  .balloon .b{width:84px;height:100px;border-radius:50% 50% 48% 48%;display:flex;align-items:center;justify-content:center;font-size:46px;box-shadow:inset -10px -12px 0 #00000022,inset 10px 10px 0 #ffffff44;position:relative;}
  .balloon .b::after{content:"";position:absolute;bottom:-7px;left:50%;transform:translateX(-50%);border-left:7px solid transparent;border-right:7px solid transparent;border-top:9px solid inherit;}
  @keyframes rise{to{transform:translateY(calc(-100dvh - 200px));}}
  @keyframes sway{from{margin-left:-14px}to{margin-left:14px}}
  .pop{animation:po .4s ease forwards!important;}
  @keyframes po{40%{transform:scale(1.4)}100%{transform:scale(0);opacity:0}}
  .confetti{position:absolute;width:12px;height:12px;border-radius:3px;pointer-events:none;z-index:4;}
  .big{position:absolute;font-size:60px;pointer-events:none;z-index:5;animation:bigUp .7s ease forwards;}
  @keyframes bigUp{0%{transform:scale(.5);opacity:1}100%{transform:scale(1.6) translateY(-50px);opacity:0}}
  #praise{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%) scale(.5);background:#fff;border-radius:26px;padding:12px 26px;font-size:clamp(22px,7vw,36px);font-weight:800;color:#FF3D9A;box-shadow:0 10px 0 #00000016;opacity:0;pointer-events:none;z-index:9;white-space:nowrap;}
  #praise.show{animation:pr 1.5s ease forwards;}
  @keyframes pr{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-62%)}}
