.hunger-burst{position:fixed;inset:0;margin:0;padding:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;border:0;background:#000;color:#fff;overflow:auto;overscroll-behavior:contain;font-family:Arial,sans-serif}
.hunger-burst::backdrop{background:#000}
.hunger-burst[open]{display:grid;grid-template-rows:auto 1fr;isolation:isolate}
body.hunger-open{overflow:hidden}
.hunger-controls{display:flex;justify-content:space-between;gap:15px;padding:24px max(5%,env(safe-area-inset-right)) 0 max(5%,env(safe-area-inset-left));position:relative;z-index:2}
.hunger-controls button{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.09em;font-weight:800;min-height:44px;padding:10px 16px;border:1px solid #ffffff80;background:#000;color:#fff;border-radius:0}
.hunger-controls button:hover{background:#fff;color:#000}.hunger-controls button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.hunger-stage{align-self:center;width:100%;padding:30px 5% 60px;text-align:center}
.hunger-burst .hunger-message{font-family:Garnet,Impact,'Arial Narrow',sans-serif;font-weight:900;font-size:clamp(32px,min(8.4vw,14dvh),140px);line-height:.98;letter-spacing:-.04em;text-transform:uppercase;color:#fff;margin:0}
.hunger-line{display:block;overflow:hidden;padding:3px 0}
.hunger-line>span{display:block;transform-origin:50% 80%}

.hunger-timer{position:absolute;bottom:0;left:0;height:4px;background:#fff;width:100%;transform-origin:left;pointer-events:none}
.hunger-burst[open] .hunger-line>span{animation:hungerSlam .42s cubic-bezier(.15,.8,.25,1) both}
.hunger-burst[open] .hunger-line:nth-child(2)>span{animation-delay:.09s}
.hunger-burst[open] .hunger-line:nth-child(3)>span{animation-delay:.18s}
.hunger-burst[open] .hunger-stage{animation:hungerImpact .3s .28s both}
.hunger-burst[open] .hunger-timer{animation:hungerCountdown 3.2s linear both}
@keyframes hungerSlam{0%{transform:translateY(110%) scale(1.3) skewX(-8deg)}65%{transform:translateY(-5%) scale(1.04,.93) skewX(2deg)}100%{transform:translateY(0) scale(1) skewX(0)}}
@keyframes hungerImpact{0%,100%{transform:translate(0)}25%{transform:translate(-8px,5px)}50%{transform:translate(7px,-4px)}75%{transform:translate(-3px,2px)}}
@keyframes hungerCountdown{to{transform:scaleX(0)}}
@media(max-width:760px){.hunger-controls{padding-top:max(14px,env(safe-area-inset-top));gap:12px}.hunger-controls button{font-size:9px;padding-inline:12px}.hunger-stage{padding-bottom:70px}}
@media(prefers-reduced-motion:reduce){.hunger-burst[open] .hunger-line>span,.hunger-burst[open] .hunger-stage,.hunger-burst[open] .hunger-timer{animation:none}}

.food-rain{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.food-rain-defs{position:absolute;overflow:hidden}.rain-snack{position:absolute;left:var(--rain-x);top:-65px;width:var(--rain-size);height:var(--rain-size);opacity:0;filter:drop-shadow(0 2px 0 #000);will-change:transform}.hunger-burst[open] .rain-snack{animation:snackFall var(--rain-time) var(--rain-delay) linear infinite}.hunger-stage{position:relative;z-index:1;pointer-events:none}.hunger-message{text-shadow:0 3px 5px #000,0 0 20px #000}.hunger-timer{z-index:3}
@keyframes snackFall{0%{opacity:0;transform:translate3d(0,-40px,0) rotate(0)}8%{opacity:.95}90%{opacity:.95}100%{opacity:0;transform:translate3d(var(--rain-drift),calc(100dvh + 120px),0) rotate(var(--rain-spin))}}
@media(max-width:760px){.rain-snack{width:calc(var(--rain-size)*.8);height:calc(var(--rain-size)*.8)}}
@media(prefers-reduced-motion:reduce){.hunger-burst[open] .rain-snack{animation:none}.food-rain{display:none}}
