*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#111d23;color:#f3f4ee;font-family:Arial,'Apple SD Gothic Neo',sans-serif}button{font:inherit;cursor:pointer;color:inherit}#game{width:100%;height:100%;position:relative;isolation:isolate;touch-action:none}canvas{width:100%;height:100%;display:block}.shade{position:absolute;inset:0;box-shadow:inset 0 0 150px #09151e70;pointer-events:none}header{position:absolute;top:max(22px,env(safe-area-inset-top));left:28px;right:28px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:16px;font-weight:900;letter-spacing:3px}.brand span{color:#d8f46b}.brand small{display:block;font-size:12px;letter-spacing:2px;margin-top:7px;color:#c6d2ce}#pause{background:#15252b99;border:1px solid #ffffff40;border-radius:8px;padding:9px 15px}#hud{position:absolute;inset:105px 28px auto;display:flex;justify-content:space-between;pointer-events:none}.pilot{display:flex;gap:12px;align-items:center;background:#102127b0;padding:10px 16px 10px 10px;border-left:3px solid #d8f46b}.pilot img{width:58px;height:68px;object-fit:cover;object-position:50% 20%;border-radius:3px}.pilot b{display:block;font-size:16px;margin-top:5px}.eyebrow{font-size:12px;letter-spacing:2px;color:#d8f46b;font-weight:700}.health{width:130px;height:4px;background:#ffffff30;margin:9px 0 4px}.health i{display:block;height:100%;background:#d8f46b;width:100%}#hp{font-size:12px}.objective{display:flex;align-items:end;flex-direction:column;text-shadow:0 2px 6px #000}.objective b{font-size:34px;margin:4px 0}.objective>span:last-child{font-size:14px}#crosshair,#hit{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:32px;font-weight:200;pointer-events:none;text-shadow:0 0 4px #000}#hit{color:#d8f46b;font-size:48px;opacity:0}#message{position:absolute;top:30%;width:100%;text-align:center;color:#d8f46b;font-size:18px;font-weight:700;pointer-events:none}#ammo{position:absolute;right:32px;bottom:58px;text-align:right}#ammo b{font-size:48px}#ammo span{font-size:22px;color:#d4dddd}#ammo small{display:block;font-size:12px;color:#c4d4d8}footer{position:absolute;bottom:22px;width:100%;text-align:center;font-size:12px;color:#c4d4d8}em{margin:0 12px;color:#d8f46b}#overlay{position:absolute;inset:0;background:#081319b8;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(8px);padding:24px}.intro{display:grid;grid-template-columns:1fr 1fr;max-width:860px;width:100%;background:#14252d;border:1px solid #ffffff24;box-shadow:0 30px 100px #0008}.cover{position:relative;min-height:480px;overflow:hidden}.cover>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 36%}.cover:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#14252df5)}.tag{position:absolute;bottom:28px;left:28px;z-index:1;letter-spacing:2px;font-size:12px}.tag b{display:block;font-size:25px;letter-spacing:-1px;margin-top:12px}.brief{padding:40px 36px}h1{font-size:72px;line-height:1.02;letter-spacing:-5px;margin:24px 0}h1 span{color:#d8f46b}p{color:#c1cdd1;font-size:16px;line-height:1.7}.chips{display:flex;gap:10px;margin:22px 0;font-size:12px;color:#aabcbf}.chips span{border:1px solid #ffffff25;padding:7px 9px}#start{background:#d8f46b;color:#18251e;width:100%;border:0;padding:17px 20px;font-weight:800;text-align:left;font-size:18px;display:flex;justify-content:space-between}#start:hover{background:#e6ff93}.help{font-size:12px;margin:15px 0 0;color:#90a5ae}#touch{display:none}#stick{position:absolute;width:112px;height:112px;border-radius:50%;border:1px solid #ffffff45;background:#14252d50;bottom:36px;left:36px}#knob{position:absolute;left:34px;top:34px;width:42px;height:42px;border-radius:50%;background:#f2f5ed77;border:1px solid #fff7}#stick>span{position:absolute;top:118px;width:100%;text-align:center;font-size:12px;color:#c4d4d8}.touchRight{position:absolute;right:28px;bottom:38px;display:flex;align-items:center;gap:16px}.touchRight button{border:1px solid #ffffff60;background:#14252d90;border-radius:50%;width:62px;height:62px;font-size:26px;touch-action:none}.touchRight #fire{width:88px;height:88px;background:#d8f46b33;border:2px solid #d8f46bb0;font-size:36px}.touchRight small{display:block;font-size:12px}.aimhint{position:absolute;bottom:15px;right:30px;color:#c4d4d8;font-size:12px}@media(pointer:coarse){#touch{display:block}footer{display:none}#ammo{bottom:155px}}@media(max-width:650px){header{top:max(14px,env(safe-area-inset-top));left:18px;right:18px}.brand{font-size:14px}#hud{inset:88px 16px auto}.pilot{padding:7px;gap:8px}.pilot img{width:42px;height:55px}.pilot b{font-size:14px}.health{width:95px}.objective b{font-size:28px}.intro{max-width:430px;grid-template-columns:1fr}.cover{min-height:190px}.cover>img{object-position:50% 30%}.tag{bottom:18px;left:22px}.tag b{font-size:21px}.brief{padding:24px}h1{font-size:44px;line-height:1.1;letter-spacing:-2px;margin:12px 0}h1 br{display:none}.brief p{margin:10px 0;font-size:14px}.chips{margin:13px 0}.help{font-size:12px!important}#overlay{padding:16px}.eyebrow{font-size:12px;letter-spacing:1px}}@media(max-height:530px){#overlay{padding:12px}.intro{max-width:780px;grid-template-columns:0.85fr 1fr}.cover{min-height:0}.brief{padding:20px 28px}h1{font-size:44px;line-height:1;letter-spacing:-2px;margin:12px 0}h1 br{display:none}.brief p{font-size:14px;margin:10px 0}.chips{margin:12px 0}#start{padding:13px}.help{font-size:12px!important}.tag b{font-size:21px}#hud{top:72px}.pilot img{height:45px;width:40px}.pilot b{font-size:14px}.health{margin:6px 0 3px}.objective b{font-size:25px}#stick{bottom:22px;width:100px;height:100px}#knob{left:28px;top:28px}#stick>span{display:none}#ammo{bottom:138px}.touchRight{bottom:20px}.aimhint{display:none}}

#bossHud{position:absolute;left:50%;top:22px;transform:translateX(-50%);width:min(34vw,380px);background:#102027dc;padding:10px 14px;border-top:2px solid #ff7282;pointer-events:none}#bossHud[hidden]{display:none}#bossHud>span{font-size:12px;letter-spacing:1px;color:#ff9da8}#bossHp{float:right;font-size:12px}#bossHud>div{height:5px;background:#ffffff25;margin-top:8px}#bossBar{height:100%;display:block;background:#ff7282}h1{letter-spacing:-3px}@media(max-width:650px){#bossHud{top:175px;width:64vw}h1{letter-spacing:-1px}}@media(max-height:530px){#bossHud{top:20px;width:32vw}#bossHud>span{letter-spacing:0}#message{top:38%}}

/* Victory feedback stays visible until the player restarts. */
#overlay.victory{background:radial-gradient(ellipse at center,#79702455,#081319e8);animation:victory-flash .65s ease-out}
.victory .intro{border-color:#e9d879;box-shadow:0 0 60px #e5c95b38,0 30px 100px #0008;animation:victory-arrive .65s cubic-bezier(.16,1,.3,1)}
.victory #title{font-size:clamp(30px,5vw,54px);line-height:1.12;letter-spacing:-1px}
.victory #title span{color:#ffe68c;text-shadow:0 0 28px #e5c95b70}
.victory #desc{color:#fff0bc}.victory .chips,.victory .help{display:none}
.victory #start{margin-top:24px;background:#ffe68c}
@keyframes victory-flash{from{background-color:#fff2aacc}to{background-color:transparent}}
@keyframes victory-arrive{from{opacity:0;transform:translateY(20px) scale(.94)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#overlay.victory,.victory .intro{animation:none}}
