* { margin: 0; padding: 0; box-sizing: border-box; }
  body { background: #1a1208; overflow: hidden; font-family: 'Nunito', 'Arial Rounded MT Bold', Arial, sans-serif; touch-action: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; overscroll-behavior: none; }
  canvas { display: block; touch-action: none; }
  #ui { position: absolute; top: 0; left: 0; width: 100%; pointer-events: none; }
  #hud { display: flex; justify-content: space-between; align-items: flex-start; padding: 14px 18px; }
  .hud-box { background: linear-gradient(135deg, rgba(62,38,16,0.85), rgba(90,55,22,0.8)); border-radius: 16px; padding: 8px 16px; border: 2px solid rgba(245,184,0,0.35); box-shadow: 0 4px 12px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.1); backdrop-filter: blur(4px); min-width: 80px; text-align: center; }
  .hud-label { font-size: 11px; color: #F5B800; text-transform: uppercase; letter-spacing: 1.5px; font-family: 'Fredoka One', cursive; }
  .hud-val { font-size: 24px; font-weight: 800; color: #fff; text-shadow: 0 2px 4px rgba(0,0,0,0.5); font-family: 'Fredoka One', cursive; }
  #dam-bar-wrap { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); width: 320px; pointer-events: none; }
  #dam-label { color: #F5B800; font-size: 12px; text-align: center; margin-bottom: 4px; text-transform: uppercase; letter-spacing: 1.5px; font-family: 'Fredoka One', cursive; }
  #dam-bar-bg { background: linear-gradient(180deg, rgba(46,36,24,0.8), rgba(30,20,10,0.9)); border-radius: 20px; height: 22px; border: 2px solid rgba(245,184,0,0.3); overflow: hidden; box-shadow: inset 0 2px 6px rgba(0,0,0,0.5); }
  #dam-bar { height: 100%; background: linear-gradient(90deg, #6B3410, #8B5A2B, #D2691E, #F5B800); border-radius: 18px; transition: width 0.3s; width: 0%; box-shadow: 0 0 12px rgba(245,184,0,0.3); }
  #dam-beaver { position: absolute; bottom: 10px; right: -40px; font-size: 28px; }
  #msg { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); text-align: center; pointer-events: none; background: radial-gradient(ellipse, rgba(46,36,24,0.9) 0%, rgba(30,20,10,0.85) 70%, transparent 100%); padding: 40px 50px; border-radius: 24px; border: 2px solid rgba(245,184,0,0.25); }
  #msg h1 { font-size: 42px; color: #F5B800; text-shadow: 2px 2px 0 #6B3410, 0 0 30px rgba(245,184,0,0.6); font-family: 'Fredoka One', cursive; letter-spacing: 3px; }
  #msg p { font-size: 16px; color: #E8D5B0; margin-top: 10px; text-shadow: 1px 1px 0 #1a1208; font-weight: 600; }
  #start-btn { margin-top: 18px; padding: 14px 38px; font-size: 19px; font-family: 'Fredoka One', cursive; font-weight: 400; background: linear-gradient(135deg, #E8A900, #F5B800); color: #2E2418; border: none; border-radius: 30px; cursor: pointer; pointer-events: all; box-shadow: 0 5px 0 #8B5A2B, 0 8px 20px rgba(0,0,0,0.4); transition: transform 0.15s, box-shadow 0.15s; letter-spacing: 1px; }
  #start-btn:hover { transform: translateY(-2px) scale(1.05); box-shadow: 0 7px 0 #8B5A2B, 0 12px 28px rgba(0,0,0,0.5); }
  #start-btn:active { transform: translateY(2px); box-shadow: 0 2px 0 #8B5A2B; }
  #bonus-notif { position: absolute; top: 80px; left: 50%; transform: translateX(-50%); font-size: 18px; font-weight: bold; color: #F5B800; opacity: 0; transition: opacity 0.3s; pointer-events: none; background: linear-gradient(135deg, rgba(62,38,16,0.9), rgba(90,55,22,0.85)); padding: 8px 22px; border-radius: 20px; border: 1px solid rgba(245,184,0,0.3); font-family: 'Fredoka One', cursive; box-shadow: 0 4px 16px rgba(0,0,0,0.4); }
  #hoppers-brand { position: absolute; top: 14px; left: 50%; transform: translateX(-50%); pointer-events: none; }
  #hoppers-brand span { font-size: 14px; color: rgba(245,184,0,0.85); letter-spacing: 3px; text-transform: uppercase; font-family: 'Fredoka One', cursive; text-shadow: 0 0 12px rgba(245,184,0,0.3); }
  .keys-hint { position: absolute; bottom: 55px; right: 18px; font-size: 11px; color: rgba(232,213,176,0.45); text-align: right; pointer-events: none; line-height: 1.6; }
  #music-btn { position: absolute; top: 14px; right: 18px; background: linear-gradient(135deg, rgba(62,38,16,0.85), rgba(90,55,22,0.8)); border: 2px solid rgba(245,184,0,0.3); border-radius: 50%; width: 40px; height: 40px; font-size: 18px; cursor: pointer; pointer-events: all; display: flex; align-items: center; justify-content: center; transition: transform 0.15s; box-shadow: 0 3px 10px rgba(0,0,0,0.3); color: #F5B800; }
  #music-btn:hover { transform: scale(1.12); }
