@import url('https://fonts.googleapis.com/css2?family=Rye&family=Barlow+Condensed:wght@400;600;700&display=swap');
*{box-sizing:border-box}body{margin:0;background:#20170f;color:#ead7ac;font-family:'Barlow Condensed',sans-serif;overflow:hidden}canvas{width:100vw;height:100vh;display:block;touch-action:none}#shade{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 180px 50px #140d0788}header{position:fixed;top:30px;left:38px;right:38px;display:flex;justify-content:space-between;align-items:start;pointer-events:none}.eyebrow,small{font-size:11px;letter-spacing:3px;color:#c9ae7d}h1{font-family:Rye,Georgia,serif;font-size:29px;margin:8px 0;letter-spacing:4px}h1 span{display:block;font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:5px;margin-top:8px}button{cursor:pointer;color:#ead7ac;border:1px solid #b69a5d66;background:#21190ed9;padding:13px 20px;font:600 12px 'Barlow Condensed',sans-serif;letter-spacing:2px;pointer-events:auto}button:hover{background:#76522d}#hud{position:fixed;left:38px;right:38px;top:148px;display:flex;justify-content:space-between;pointer-events:none}.score{text-align:right}.score strong{display:block;font:32px Georgia;margin-top:7px}#health{display:flex;gap:5px;margin-top:10px}.heart{width:24px;height:5px;background:#c6a16a}.heart.lost{background:#563c2c}footer{position:fixed;bottom:28px;left:38px;right:38px;display:flex;align-items:end;justify-content:space-between;pointer-events:none}footer small{font-size:10px;letter-spacing:2px}footer>div:last-child{text-align:right}.bullet{display:inline-block;width:7px;height:21px;border-radius:5px 5px 1px 1px;background:#d9b66d;margin:10px 4px 0 0;border-bottom:3px solid #99753b}.bullet.empty{opacity:.18}#hint{font-size:11px;letter-spacing:2px;color:#ccb38a}#crosshair{position:fixed;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);pointer-events:none;border:1px solid #f3dfae66;border-radius:50%}#crosshair:before,#crosshair:after{content:'';position:absolute;background:#fff0ca;left:10px;top:6px;width:1px;height:8px}#crosshair:after{transform:rotate(90deg)}#message{position:fixed;top:26%;width:100%;text-align:center;font:36px Rye,Georgia;color:#f4d295;text-shadow:0 3px 10px #000;pointer-events:none}#overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#18110be8,#20150b77,#18110bb8);backdrop-filter:blur(3px)}.card{text-align:center;padding:30px}h2{font:clamp(36px,5vw,66px)/1.15 Rye,Georgia;margin:24px 0;color:#f1dfb8}p{font-size:19px;line-height:1.6;color:#cfbd9b}#start{background:#b57b3d;color:#160f09;font-size:15px;padding:19px 30px;margin:18px 0}#start span{margin-left:32px}.controls{font-size:13px;letter-spacing:1px;color:#aa9572}#damage{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 150px #b42819;opacity:0}@media(max-width:700px){header,#hud{left:18px;right:18px}footer{left:18px;right:18px}#hint{display:none}h1{font-size:23px}}
/* Compact six-chamber indicators anchored to the lower screen corners. */
footer{left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom))}
footer>div{position:relative;width:76px;height:76px}
footer small{display:none}
#leftAmmo,#rightAmmo{position:relative;width:76px;height:76px;border:1px solid #b4b6ae70;border-radius:50%;background:radial-gradient(circle,#777b78 0 10%,#252b2ad9 12% 57%,#979b9466 60%,#202320d9 68%);box-shadow:0 1px 5px #0008}
.bullet{position:absolute;left:29px;top:29px;width:16px;height:16px;margin:0;border:1px solid #9f8044;border-radius:50%;background:radial-gradient(circle,#d7b977 0 28%,#a98a4e 32% 44%,#dfbd76 48% 65%,#8b6b35 70%);transform:rotate(var(--angle)) translateY(-24px);opacity:1}
.bullet.empty{opacity:1}
.bullet.empty:after{content:'';position:absolute;left:6px;top:6px;width:2px;height:2px;border-radius:50%;background:#211d17;box-shadow:0 0 1px #000}
.bullet:nth-child(1){--angle:0deg}.bullet:nth-child(2){--angle:60deg}.bullet:nth-child(3){--angle:120deg}.bullet:nth-child(4){--angle:180deg}.bullet:nth-child(5){--angle:240deg}.bullet:nth-child(6){--angle:300deg}
#hint{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px}

#shotFeedback{position:fixed;left:50%;top:59%;transform:translateX(-50%);color:#f3d89b;font-size:16px;letter-spacing:3px;pointer-events:none;opacity:0;text-shadow:0 2px 4px #000}#shotFeedback.show{animation:shotFeedback 1.1s ease-out forwards}@keyframes shotFeedback{0%,55%{opacity:1}100%{opacity:0;transform:translate(-50%,-12px)}}#crosshair.hit{border-color:#fff4ba;box-shadow:0 0 8px #f8db91}#leftAmmo.reloading,#rightAmmo.reloading{opacity:.45}#runInfo{display:block;margin-top:8px;font-size:10px;letter-spacing:2px}

footer small{display:block;position:absolute;top:-19px;left:0;width:110px;font-size:10px;letter-spacing:1px;white-space:nowrap}footer>div:last-child small{left:auto;right:0}#leftAmmo:before,#rightAmmo:before{content:attr(data-count);position:absolute;inset:0;display:grid;place-items:center;font-size:12px;color:#f0d5a1;text-shadow:0 1px 2px #000}#leftAmmo.reloading,#rightAmmo.reloading{opacity:.8;border-color:#e5b96b;box-shadow:0 0 8px #d2a25455}#leftAmmo.reloading:before,#rightAmmo.reloading:before{content:'…';color:#ffd391}#leftAmmo.reloading:after,#rightAmmo.reloading:after{content:'RELOADING';position:absolute;top:calc(100% + 5px);left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:1px;color:#ffd391}#hint{max-width:calc(100% - 200px);text-align:center;white-space:normal;line-height:1.5}

body.playing #game{cursor:none}

.audio-controls{display:flex;gap:8px;pointer-events:auto}@media(max-width:700px){.audio-controls{flex-direction:column;gap:4px}.audio-controls button{padding:8px 10px;font-size:10px}}

#hitSplash{position:fixed;width:0;height:0;pointer-events:none;opacity:0}#hitSplash:before{content:'';position:absolute;width:22px;height:22px;left:-11px;top:-11px;background:#a51f19;clip-path:polygon(50% 0,61% 31%,94% 13%,75% 45%,100% 60%,66% 65%,78% 100%,47% 77%,14% 96%,27% 60%,0 43%,35% 35%)}#hitSplash i{position:absolute;width:5px;height:5px;border-radius:50%;background:#b52e25;left:-2px;top:-2px}#hitSplash i:nth-child(1){--dx:-22px;--dy:-16px}#hitSplash i:nth-child(2){--dx:17px;--dy:-24px}#hitSplash i:nth-child(3){--dx:26px;--dy:4px}#hitSplash i:nth-child(4){--dx:-12px;--dy:23px}#hitSplash i:nth-child(5){--dx:12px;--dy:20px}#hitSplash i:nth-child(6){--dx:-26px;--dy:5px}#hitSplash i:nth-child(7){--dx:1px;--dy:-27px}#hitSplash.active{animation:redSplash .45s ease-out forwards}#hitSplash.active i{animation:redDroplet .45s ease-out forwards}@keyframes redSplash{0%{opacity:.95}60%{opacity:.65}100%{opacity:0}}@keyframes redDroplet{from{transform:translate(0,0) scale(.5)}to{transform:translate(var(--dx),var(--dy)) scale(.4)}}

#overlay.bonus-results .card{width:min(860px,94vw);max-height:94vh;overflow:auto;animation:bonusSlide .55s cubic-bezier(.16,1,.3,1) both;background:linear-gradient(135deg,#302318f5,#1b1712f5);border:1px solid #a8864b80;box-shadow:0 20px 70px #0008;border-radius:3px}#overlay.bonus-results h2{font-size:clamp(30px,5vw,54px);margin:14px 0}#overlay.bonus-results #description{margin:8px 0}.bonus-amount{display:block;font:bold clamp(56px,9vw,96px)/1.15 Georgia,serif;color:#f4d28d}.bonus-caption{display:block;font-size:12px;letter-spacing:4px;color:#bca67c}.bonus-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:22px 0 8px;margin-top:20px;border-top:1px solid #a8864b55}.bonus-stats>span{display:block;font-size:11px;letter-spacing:2px;color:#c3b08c}.bonus-stats strong{display:block;font:clamp(24px,4vw,38px) Georgia,serif;color:#f0dfbc;margin-bottom:8px}#overlay.bonus-results .controls{display:none}@keyframes bonusSlide{from{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}@media(prefers-reduced-motion:reduce){#overlay.bonus-results .card{animation:none}}@media(max-width:480px){.bonus-stats{gap:8px}.bonus-stats>span{font-size:9px;letter-spacing:1px}}

#objective{position:fixed;left:38px;top:205px;font-size:12px;letter-spacing:1px;color:#ddc79d;pointer-events:none}#coverStatus{position:fixed;left:50%;bottom:77px;transform:translateX(-50%);font-size:11px;letter-spacing:2px;color:#ddc79d;pointer-events:none}#threatWarning{display:none;position:fixed;transform:translate(-50%,-100%);padding:4px 7px;border:1px solid #dc8c56;background:#2c160ed9;color:#ffb982;font-size:10px;letter-spacing:1px;pointer-events:none}#damageDirection{position:fixed;top:37%;left:50%;transform:translateX(-50%);color:#ffc2a0;font-size:18px;letter-spacing:2px;pointer-events:none;opacity:0}#damageDirection.show{animation:shotFeedback .9s ease-out forwards}#practice{display:block;margin:0 auto 8px}#overlay.bonus-results #practice{display:none}@media(max-width:700px){#objective{left:18px;max-width:65%;font-size:10px}#coverStatus{bottom:112px;width:65%;text-align:center;font-size:10px}}
