.res .chip { min-width: 64px; justify-content: center; }
.hammer { position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(20px + var(--sab)); width: min(560px, 92vw); z-index: 8; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.hbar { position: relative; width: 100%; height: 34px; border-radius: 17px; background: linear-gradient(#5a3a1a, #3a240e); box-shadow: inset 0 3px 8px rgba(0,0,0,.5), 0 4px 14px rgba(0,0,0,.3); overflow: hidden; border: 3px solid #f4e2b8; }
.hbar .ok { position: absolute; top: 0; bottom: 0; background: rgba(255,214,102,.55); }
.hbar .perfect { position: absolute; top: 0; bottom: 0; background: #7be06a; box-shadow: 0 0 12px #7be06a; }
.hbar .needle { position: absolute; top: -4px; bottom: -4px; width: 8px; margin-left: -4px; background: #fff; border-radius: 4px; box-shadow: 0 0 8px #fff; }
.hbtn { min-width: 220px; min-height: 64px; font-size: 24px; }
.hinfo { background: rgba(40,30,20,.72); color: #fff; border-radius: 12px; padding: 6px 14px; font-weight: 800; }
.daily { background: linear-gradient(#fff6d8, #ffe39a); }
.lean { position: fixed; bottom: calc(18px + var(--sab)); left: 0; right: 0; display: flex; justify-content: space-between; padding: 0 calc(18px + var(--sal)); z-index: 8; pointer-events: none; }
.lean button { pointer-events: auto; width: 96px; height: 96px; font-size: 38px; }
.wavewarn { position: fixed; top: 42%; font-size: 56px; z-index: 8; pointer-events: none; animation: blink .4s infinite; filter: drop-shadow(0 4px 8px rgba(0,0,0,.5)); }
.wavewarn.l { left: calc(16px + var(--sal)); } .wavewarn.r { right: calc(16px + var(--sar)); }
.meter { white-space: nowrap; position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(130px + var(--sab)); background: rgba(40,30,20,.7); color: #fff; padding: 6px 14px; border-radius: 14px; font-weight: 800; z-index: 8; pointer-events: none; display: flex; gap: 10px; align-items: center; }
.sendbtn { position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(24px + var(--sab)); z-index: 8; }
@media (max-height: 460px) { .lean button { width: 74px; height: 74px; } .meter { bottom: calc(96px + var(--sab)); } .hbtn { min-height: 52px; } }
