@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Space+Grotesk:wght@400;600;700&display=swap');
*{box-sizing:border-box}body{margin:0;background:#080e10;color:#fff3dc;font-family:Arial,sans-serif;overscroll-behavior:none}header{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-bottom:1px solid #35452c;background:#0c1513}header>a{font:10px monospace;color:#bac7ac;text-decoration:none}header strong{font-family:Impact,'Arial Narrow',sans-serif;font-size:23px;letter-spacing:1px}em{color:#ff8b38;font-style:normal}header>div{display:flex;gap:7px}button{cursor:pointer;border:1px solid #526742;color:#c9e8a7;background:#13221c;font:700 10px Arial;letter-spacing:1px;padding:12px 16px;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #ff8b38;outline-offset:3px}main{max-width:650px;margin:auto;padding:12px 18px}.hud{display:flex;justify-content:space-between;font:8px monospace;color:#93a78d;letter-spacing:1px;padding:10px 3px 14px}.hud b{display:block;font:700 20px monospace;color:#d7f7af;letter-spacing:0;margin-top:5px}#lives{color:#ff964b}.stage{position:relative;border:1px solid #466344;border-radius:12px;overflow:hidden;box-shadow:0 0 60px #77a73412;background:#07100f}canvas{display:block;width:100%;aspect-ratio:600/760;touch-action:none;outline:none}.overlay{position:absolute;inset:0;background:linear-gradient(#07100ce6,#07100cf5);display:flex;align-items:center;justify-content:center;padding:22px;text-align:center;overflow:auto}.overlay[hidden]{display:none}.overlay-inner{width:100%;max-width:430px}#eyebrow{font:8px monospace;letter-spacing:1.5px;color:#a9d877}#captain{width:125px;height:125px;object-fit:cover;border-radius:50%;margin:7px auto 0;border:1px solid #a0d864}h1{font-family:Impact,'Arial Narrow',sans-serif;font-size:74px;line-height:.92;letter-spacing:1px;margin:16px 0}#message{font-size:14px;line-height:1.6;color:#c8d5b7}#instructions{display:flex;gap:8px;justify-content:center;margin:22px 0;font:8px monospace;color:#acd97b}#instructions span{border:1px solid #426034;padding:10px 7px}#start{background:#b8ec74;color:#14200e;border:0;padding:19px 25px;font-size:11px;width:100%}#share{margin-top:10px;width:100%}#feedback{font:10px/1.6 monospace;color:#92a987;min-height:16px}.controls{margin-top:12px;display:flex}#blast{width:100%;display:flex;justify-content:space-between;align-items:center;padding:18px;background:#ff8135;color:#161b0f;border:0;font-weight:900;min-height:54px}#blast:disabled{background:#253725;color:#879f74}#blast span{font:10px monospace}.radio{font:10px/1.6 monospace;color:#b7c9a6;min-height:30px;margin:13px 0 3px}.note{font-size:9px;color:#6e856b;line-height:1.5}#wave-banner{position:absolute;left:0;right:0;top:44%;text-align:center;pointer-events:none;font:900 32px Impact,'Arial Narrow',sans-serif;letter-spacing:2px;text-shadow:0 0 20px #000,0 2px 8px #000;color:#d6ffa8;opacity:0;transition:opacity .2s}#wave-banner.visible{opacity:1}@media(max-width:600px){header{height:52px;padding:0 12px}header>a{font-size:8px}header strong{font-size:19px}header button{padding:10px 8px;font-size:8px}main{padding:5px 10px}.hud{padding:9px 3px}.hud b{font-size:16px}.stage{border-radius:7px}#captain{width:95px;height:95px}h1{font-size:57px;margin:12px 0}#eyebrow{font-size:6px}#message{font-size:12px;margin:10px 0}#instructions{margin:16px 0;font-size:7px}#instructions span{padding:8px 5px}#start{font-size:9px;padding:16px 18px}#feedback{font-size:8px}#blast{padding:14px;font-size:10px;min-height:50px}.radio{font-size:9px}.note{font-size:8px}.overlay{padding:18px}}@media(max-height:760px) and (min-width:600px){main{max-width:490px}#captain{width:80px;height:80px}h1{font-size:52px}.overlay{padding:16px}#instructions{margin:12px 0}#message{font-size:12px}#feedback{font-size:9px}}@media(prefers-reduced-motion:reduce){#wave-banner{transition:none}}
[hidden]{display:none!important}@media(max-height:700px) and (max-width:600px){.stage{max-height:calc(100svh - 190px)}canvas{height:calc(100svh - 190px);width:100%;object-fit:fill}#captain{width:65px;height:65px}h1{font-size:44px;margin:10px 0}#instructions{margin:10px 0}#message{font-size:11px}.overlay{padding:12px}#start{padding:13px}#feedback{margin:8px 0}}

.sector-map{display:flex;gap:4px;margin-bottom:8px}.sector-map span{flex:1;text-align:center;border-bottom:2px solid #28362a;font:8px monospace;padding:9px 3px;color:#6c8068}.sector-map .current{border-color:#ff964a;color:#ffbf8a}.sector-map .captured{border-color:#b8ec74;color:#b8ec74}.comms{display:flex;gap:12px;align-items:center;border:1px solid #34472b;margin-top:12px;padding:9px;background:#121e15}.comms img{width:46px;height:46px;object-fit:cover;border-radius:50%;border:1px solid #b8ec74}.comms>div>span{font:8px monospace;letter-spacing:1px;color:#ffb16e}.comms .radio{margin:5px 0 0;min-height:24px}#upgrade-choices{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}#upgrade-choices button{padding:17px 10px;font-size:11px;color:#e7ffbf;border:1px solid #b8ec74}#upgrade-choices span{display:block;font:9px/1.5 Arial;letter-spacing:0;margin-top:7px;color:#b8c8a4}h1{font-size:66px}.overlay #captain{width:110px;height:110px}@media(max-width:600px){h1{font-size:48px}.overlay #captain{width:90px;height:90px}.sector-map span{font-size:6px;padding:7px 1px}header strong{font-size:16px}.comms .radio{font-size:9px}.comms img{width:38px;height:38px}#upgrade-choices button{font-size:9px}#upgrade-choices span{font-size:8px}}[hidden]{display:none!important}
/* Afterlife HQ flight division */

body{background:#08090c;color:#eef0f5;font-family:'Space Grotesk',Arial,sans-serif}header{background:#0d1016;border-color:#333946}header strong,h1{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:800}header>a{color:#adb6c6}button{background:#171d28;border-color:#4e596c;color:#d9e0ed}main{max-width:670px}.hud{color:#8f9bad}.hud b{color:#e4eaf5}.stage{border-color:#5a6577;border-radius:2px;background:#080a10;box-shadow:0 0 90px #c7692410}.overlay{background:linear-gradient(#080b12ed,#10151cf5)}#captain{border-color:#ff792f}#eyebrow{color:#d0b39f}#instructions{color:#bec7d9}#instructions span{border-color:#465063}#start{background:#ff792f;color:#140d08}#message{color:#bac4d5}#feedback{color:#b3bed0}.sector-map span{border-color:#303847;color:#8c97aa}.sector-map .captured{border-color:#d5e1f4;color:#d5e1f4}.sector-map .current{border-color:#ff792f;color:#ffb58a}.comms{border-color:#353e4e;background:#111722}.comms img{border-color:#6e7d94}.comms .radio{color:#b7c3d8}.note{color:#7f8ba0}#wave-banner{color:#f0f2f8}#blast:disabled{background:#242c3a;color:#96a2b6}#upgrade-choices button{color:#e4eaf5;border-color:#c87943;background:#202532}#upgrade-choices span{color:#a9b7ce}.pilot-strip{display:flex;justify-content:space-between;gap:10px;font:8px monospace;letter-spacing:.7px;color:#919db2;padding:8px 3px;border-bottom:1px solid #2c3341}.pilot-strip a{color:#eaa477;text-decoration:none}.combat-status{display:flex;justify-content:space-between;font:8px monospace;letter-spacing:.5px;color:#7d8ba2;padding:13px 4px 0}.combat-status b{color:#e1e8f4;font-weight:400;margin-left:6px}#return-hq{display:block;font:9px monospace;color:#ffb386;padding:15px;text-decoration:none}.controls{margin-top:10px}.hud{padding-top:12px}#blast{background:#ff792f;border-radius:2px}.stage canvas{max-height:calc(100svh - 245px);min-height:310px;width:auto;max-width:100%;height:auto;margin:auto;aspect-ratio:600/760}.stage{width:fit-content;margin:auto}.overlay{width:100%}@media(min-width:700px){.stage canvas{height:calc(100svh - 280px);max-height:760px;min-height:430px}.hud,.sector-map,.controls,.comms,.pilot-strip,.combat-status{max-width:600px;margin-left:auto;margin-right:auto}}@media(max-width:600px){.pilot-strip{font-size:6px}.combat-status{font-size:6px}.stage{width:100%}.stage canvas{height:auto;width:100%;max-height:none}.overlay #captain{width:80px;height:80px}h1{font-size:50px}#instructions{margin:12px 0}.comms{margin-top:10px}}@media(max-height:740px) and (max-width:600px){.stage{width:fit-content;max-width:100%;max-height:none}.stage canvas{height:calc(100svh - 240px);min-height:290px;width:auto;max-width:100%;object-fit:contain}.overlay #captain{display:none}h1{font-size:43px}#instructions{margin:9px 0;font-size:6px}#message{font-size:11px}#start{padding:12px}#feedback{font-size:7px}.overlay{padding:12px}.combat-status{padding-top:8px}.comms{display:none}.note{font-size:7px}#upgrade-choices{margin:9px 0}#upgrade-choices button{padding:10px 6px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Cockpit layout, retaining the playfield aspect ratio at every size. */
.flight-shell{max-width:1280px;display:grid;grid-template-columns:minmax(180px,1fr) minmax(320px,600px) minmax(180px,1fr);align-items:start;gap:36px;padding:20px 30px}.flight-center{min-width:0}.mission-rail,.field-guide{padding-top:32px}.fleet-mark{font:800 51px/.9 'Barlow Condensed',Impact,sans-serif;color:#e6ecf5;display:block;text-decoration:none;letter-spacing:-1px}.fleet-mark span{display:block;font:7px monospace;letter-spacing:1.5px;color:#8a99af;margin-top:13px}.mission-rail>img{width:100%;max-width:175px;display:block;margin:32px 0 20px;border:1px solid #434e61}.rail-kicker{font:7px/1.8 monospace;letter-spacing:1px;color:#9ba7bb;margin:0 0 17px}.mission-rail h2,.field-guide h2{font:800 40px/.94 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.4px;margin:0 0 20px}.mission-rail>p:not(.rail-kicker){font-size:11px;line-height:1.8;color:#8e9eb7}.rail-note{font:7px/1.7 monospace;border-top:1px solid #333e50;border-bottom:1px solid #333e50;padding:20px 0;margin:24px 0;color:#73839e;letter-spacing:.8px}.rail-note b{display:block;color:#d5deed;margin-top:10px;font-weight:400}.mission-rail>a:last-child{font:8px monospace;color:#f4ac7f;text-decoration:none}.field-guide{padding-top:45px}.field-guide h2{font-size:33px}.field-guide dl{margin:30px 0 0}.field-guide dt{font:7px monospace;letter-spacing:1.2px;color:#ffad7b;border-top:1px solid #303b4e;padding-top:17px;margin-top:22px}.field-guide dd{margin:13px 0 0;font:8px/1.7 monospace;color:#9aabc5}.field-guide kbd{display:inline-block;min-width:26px;padding:5px 7px;border:1px solid #4a5870;border-bottom:3px solid #4a5870;border-radius:3px;font:9px monospace;color:#d0dbee;background:#141c2a;margin:3px 0}.field-guide dd>span{display:block;margin-top:9px;font:10px/1.8 'Space Grotesk',Arial,sans-serif;color:#8a9ab4}.pickup-guide{display:flex;gap:16px;margin-top:28px}.pickup-guide>span{font:6px monospace;color:#9baac1}.pickup-guide b{display:block;width:25px;text-align:center;padding:5px 0;font:700 15px monospace;background:#b7c8e4;color:#131c2a;margin-bottom:9px}.pickup-guide>span:last-child b{background:#ff8c5b}.rail-tip{font:10px/1.8 'Space Grotesk',Arial,sans-serif;color:#7d8ea9;margin-top:24px;max-width:190px}.flight-shell .stage canvas{height:min(740px,calc(100svh - 255px));min-height:340px;width:auto;max-width:100%;max-height:none}.flight-shell .stage{width:fit-content;max-width:100%;border-radius:5px;transition:border-color .2s}.flight-shell .overlay{background:radial-gradient(ellipse at 50% 20%,#30405b50,transparent 70%),linear-gradient(#080b12e8,#10151cf5)}.flight-shell .overlay #captain{border-radius:12px;width:95px;height:95px;border:1px solid #6e7a90;transform:rotate(-4deg);box-shadow:6px 6px 0 #263045}.flight-shell h1{font-size:clamp(40px,4.7vw,62px)}.flight-shell #eyebrow{font-size:7px}.flight-shell #message{font-size:12px}.flight-shell #instructions{font-size:7px;margin:18px 0}.flight-shell #feedback{font-size:8px}.flight-shell #start{font-size:10px;letter-spacing:.5px}.flight-shell #blast{position:relative;overflow:hidden}.critical-hull .stage{border-color:#f56e52;box-shadow:0 0 28px #eb50211f}.critical-hull #lives{color:#ff715b}.comms{border-radius:3px}.note{text-align:center;font:7px/1.7 monospace;letter-spacing:.2px}#start:hover,#blast:not(:disabled):hover{background:#ff9956}#upgrade-choices button:hover{background:#453023}#return-hq:hover{color:#fff}#fullscreen{font-size:8px}@media(max-width:1050px){.flight-shell{grid-template-columns:minmax(140px,1fr) minmax(320px,560px);gap:25px;max-width:900px;padding:18px 25px}.field-guide{display:none}.mission-rail h2{font-size:35px}.mission-rail>img{max-width:150px}}@media(max-width:700px){.mission-rail{display:none}.flight-shell{display:block;max-width:620px;padding:7px 10px}.flight-shell .stage canvas{height:auto;width:100%;max-height:none;min-height:0}.flight-shell .stage{width:100%}.flight-shell h1{font-size:52px}.flight-shell #message{font-size:12px}.flight-shell .overlay #captain{width:83px;height:83px}.flight-shell #instructions{font-size:7px;margin:16px 0}.flight-shell #start{font-size:10px;padding:16px}.flight-shell #feedback{font-size:8px}.flight-shell #eyebrow{font-size:6px}header strong{font-size:15px}header>a{font-size:7px}header button{font-size:7px;padding:9px 7px}#fullscreen{font-size:7px}.combat-status{font-size:7px}.note{font-size:6px}.comms .radio{font-size:8px}}@media(max-height:760px) and (max-width:700px){.flight-shell .stage{width:fit-content}.flight-shell .stage canvas{height:calc(100svh - 215px);min-height:290px;width:auto;max-width:100%}.flight-shell .overlay #captain{display:none}.flight-shell h1{font-size:41px}.flight-shell #instructions{margin:10px 0;font-size:6px}.flight-shell #start{padding:13px;font-size:9px}.flight-shell #feedback{font-size:7px}.flight-shell #message{font-size:10px}.flight-shell .comms{display:none}.flight-shell .overlay{padding:14px}.flight-shell #return-hq{font-size:8px;padding:10px}.controls{margin-top:8px}#blast{padding:13px;min-height:43px}.hud{padding:7px 3px}.hud b{font-size:15px}.sector-map span{padding:6px 1px}.pilot-strip{padding:5px 3px}}@media(min-width:701px) and (max-height:800px){.flight-shell .overlay #captain{width:65px;height:65px}.flight-shell h1{font-size:43px;margin:12px 0}.flight-shell #instructions{margin:12px 0}.flight-shell #message{font-size:11px}.flight-shell #start{padding:14px}.flight-shell #feedback{font-size:7px}.mission-rail>img{max-width:130px;margin:22px 0}.mission-rail h2{font-size:32px}.rail-note{padding:15px 0;margin:18px 0}.field-guide{padding-top:25px}.field-guide h2{font-size:30px}.field-guide dt{margin-top:16px;padding-top:13px}.field-guide dl{margin-top:20px}.field-guide dd{margin-top:8px}.pickup-guide{margin-top:20px}}@media(prefers-reduced-motion:reduce){.flight-shell .stage{transition:none}}
