#vendingScreen{position:fixed;inset:0;z-index:120;background:#080909;overflow:hidden;touch-action:none;font-family:monospace;color:#eee}#vendingScreen[hidden]{display:none}#vendArt{position:absolute;width:min(100vw,56.28dvh);height:min(177.68vw,100dvh);left:50%;top:50%;transform:translate(-50%,-50%)}#vendCanvas{width:100%;height:100%;display:block}#vendArt button{position:absolute;padding:0;border:0;border-radius:0;background:transparent;touch-action:none;min-width:32px;min-height:36px;box-shadow:none}#vendArt button[hidden]{display:none}#vendArt #vendCash{left:79.3%;top:36.5%;width:7.5%;height:5.8%;border:3px solid #ffda36;animation:vendFlash .65s steps(2,end) infinite}#vendArt #vendKeypad{left:79.5%;top:49%;width:7.3%;height:6%;border:2px solid #ffe341;background:#ffe34138;animation:vendFlash .7s steps(2,end) infinite}#vendArt #vendShake{left:20.5%;top:22%;width:66.8%;height:55%}#vendHUD{position:absolute;top:max(8px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(440px,calc(100% - 20px));box-sizing:border-box;padding:10px;background:#292d2df5;border:3px outset #8c9390;text-align:center;pointer-events:none}#vendBalance{font-size:11px;color:#c2c9be}#vendPrompt{font-size:clamp(12px,3.5vw,17px);font-weight:bold;color:#ffe47b;min-height:36px;margin-top:5px;display:flex;align-items:center;justify-content:center}#vendMeter{margin-top:8px}#vendMeter[hidden]{display:none}.vend-meter-title{display:flex;justify-content:space-between;font-size:13px;font-variant-numeric:tabular-nums}.vend-track{height:24px;background:#111;border:2px inset #777;position:relative;margin:10px 0}.vend-target{position:absolute;left:45%;width:20%;height:100%;background:#3fa55d}#vendNeedle{position:absolute;left:25%;top:-5px;height:34px;width:4px;background:#ffd143;transform:translateX(-50%);box-shadow:0 0 3px #000}#vendMeter small{font-size:10px}#vendContinue{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);min-height:44px;width:min(330px,90%);background:#bfc2c4;color:#111;border:3px outset #eee;border-radius:0;font:bold 14px monospace}#vendContinue[hidden]{display:none}@keyframes vendFlash{50%{border-color:transparent;background:transparent}}
#vendReward[hidden],#snackHUD[hidden],#bonusTip[hidden],#sharpenBonus[hidden]{display:none}
#vendReward{position:absolute;inset:0;background:#000b;z-index:5;display:flex;align-items:center;justify-content:center;padding:12px 12px 55px;pointer-events:auto}
.reward-card{width:min(430px,100%);max-height:100%;padding:16px;text-align:center;background:linear-gradient(135deg,#25283a,#101215);border:4px outset #d8b654;box-shadow:0 0 25px #e9b92655;font-family:monospace;overflow:auto}
.reward-card h2{color:#ffdc56;font-size:clamp(16px,4vw,23px);margin:4px 0 8px;text-shadow:2px 2px #8b3a00;letter-spacing:1px}.reward-card h3{font-size:20px;color:#ffdf70;margin:6px 0;text-transform:uppercase}.reward-card p{font-size:14px;line-height:1.4;margin:9px 0}.reward-card small{color:#b8b9b7;font-size:9px;display:block}.reward-card #rewardDuration{color:#a5f49c;font-size:11px;font-weight:bold}.reward-art{position:relative;height:clamp(110px,26dvh,245px);width:100%;display:flex;justify-content:center;align-items:center;margin:5px 0}#rewardSnack{max-width:65%;height:90%;object-fit:contain;filter:drop-shadow(0 0 13px #ffd55099);animation:rewardFloat 2.8s ease-in-out infinite}.reward-orbit{position:absolute;inset:5% 15%;animation:rewardOrbit 5s linear infinite;pointer-events:none}.reward-orbit i{position:absolute;left:50%;top:50%;font-style:normal;color:#ffdb44;font-size:22px;text-shadow:0 0 10px #ffb600;transform:rotate(var(--angle)) translateY(clamp(55px,12dvh,115px));}.reward-orbit i:nth-child(3n){color:white;font-size:12px}.reward-card #rewardContinue{width:100%;margin-top:10px;background:#d3d1be;color:#111;border:3px outset #fff;border-radius:0;font:bold 15px monospace;min-height:44px}#rewardSnackName{font-weight:bold;text-transform:uppercase;letter-spacing:2px}
@keyframes rewardFloat{50%{transform:translateY(-7px) rotate(2deg)}}@keyframes rewardOrbit{to{transform:rotate(360deg)}}
header{position:relative}header.has-snack h1{visibility:hidden}#snackHUD{position:absolute;top:calc(6px + env(safe-area-inset-top));left:10px;width:min(220px,calc(100% - 170px));height:20px;min-height:20px;border:0;padding:0;background:transparent;color:#ffdc6e;font:bold 10px monospace;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:0;z-index:2}#bonusTip{position:absolute;top:35px;left:10px;width:min(300px,calc(100% - 20px));padding:10px;color:#ffe8ac;background:#161914;border:2px outset #9b9d87;z-index:25;font:12px/1.4 monospace;pointer-events:none}#sharpenBonus{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(max(8px,env(safe-area-inset-bottom)) + 47px);width:min(440px,calc(100% - 16px));font:bold 10px/1.3 monospace;color:#ffdc70;background:#171c1de8;border:1px solid #8d792e;text-align:center;padding:6px;pointer-events:none}
@media(max-height:600px){.reward-card{padding:8px}.reward-art{height:100px}.reward-card h2{font-size:16px}.reward-card h3{font-size:16px}.reward-card p{font-size:12px;margin:5px}.reward-orbit i{transform:rotate(var(--angle)) translateY(52px)}}
@media(prefers-reduced-motion:reduce){#rewardSnack,.reward-orbit{animation:none}}
