:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#191c20;color:#d9dcdd;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;cursor:pointer;background:none;border:none}button:focus-visible,a:focus-visible{outline:1px solid #e4e8eb;outline-offset:6px}button:disabled{cursor:wait;opacity:.5}[hidden]{display:none!important}#game{position:relative;isolation:isolate;width:100%;height:100svh;min-height:380px;overflow:hidden;outline:none;background:#191c20}#viewport,.vignette{position:absolute;inset:0}canvas{width:100%;height:100%;display:block}.vignette{pointer-events:none;box-shadow:inset 0 0 130px #080b0e28;z-index:1}header{position:absolute;z-index:2;top:35px;left:40px;right:40px;display:flex;justify-content:space-between;align-items:start;pointer-events:none}.identity{display:flex;flex-direction:column;gap:12px}.brand{font-size:11px;letter-spacing:.20em;font-weight:700}.edition,.tiny,.eyebrow,.key-hint,footer,button{font-family:'SFMono-Regular',Consolas,'Liberation Mono',monospace}.edition{font-size:9px;letter-spacing:.12em;color:#767e85}.edition i{font-style:normal;margin-left:12px;color:#a0a6ab}.recovery{width:237px}.tiny{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.17em;color:#899097;margin-bottom:13px}#letters{position:relative;display:flex;justify-content:space-between;overflow:hidden;padding:2px 0 8px}#letters span{position:relative;font-size:24px;font-weight:500;color:#ffffff16;transition:color .5s,text-shadow .5s,transform .6s;min-width:27px;text-align:center;border-bottom:1px solid #ffffff12;padding-bottom:10px}#letters span.found{color:#d8dfe4;border-color:#a1abb850;text-shadow:0 0 18px #dae9ff26;animation:lock .65s ease-out}.word-complete #letters span{color:#fff;border-color:#ffffff60}.word-complete #letters:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffff88 50%,transparent 75%);transform:translateX(-140%);animation:scan 2s .3s ease forwards}#intro{position:absolute;z-index:2;left:43%;top:35%;transition:opacity .5s,transform .8s}#intro.dismissed{opacity:0;transform:translateY(-15px);pointer-events:none}.eyebrow{font-size:9px;letter-spacing:.2em;color:#89929a}h1{font-size:clamp(28px,3.3vw,52px);font-weight:400;letter-spacing:-.045em;line-height:1.1;margin:21px 0 18px}#intro p{font-size:12px;color:#929aa1;letter-spacing:.015em;margin-bottom:33px}#launch{display:flex;align-items:center;gap:12px;border:1px solid #a6afb438;padding:13px 16px;font-size:9px;letter-spacing:.10em;min-width:250px;background:#191c2088}#launch:hover{border-color:#d4dce1a0;background:#ffffff08}.launch-symbol{font-size:17px}.button-arrow{margin-left:auto;color:#98a1a8}.key-hint{font-size:8px;color:#6e7882;letter-spacing:.04em;margin-top:15px}.key-hint span{color:#9ca4aa}footer{position:absolute;z-index:3;bottom:28px;left:40px;right:40px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:8px;letter-spacing:.12em;color:#929ba3}.status{display:flex;gap:9px;align-items:center;min-width:180px}.status-dot{height:4px;width:4px;border-radius:50%;background:#bdc9d1;box-shadow:0 0 8px #c9d7e54a}#flight-help{font-size:7px;color:#68737d;letter-spacing:.09em}#flight-help span{margin:0 9px}.instruments{display:flex;align-items:center;gap:11px}#thrust{width:51px;height:10px;background:repeating-linear-gradient(90deg,#ffffff17 0 3px,transparent 3px 5px)}#thrust i{display:block;width:0;height:100%;background:repeating-linear-gradient(90deg,#c3cbd1 0 3px,transparent 3px 5px)}#pause{font-size:13px;min-width:28px;min-height:28px;opacity:.65}#notice{position:absolute;z-index:2;top:142px;left:50%;transform:translateX(-50%);font:9px 'SFMono-Regular',Consolas,monospace;letter-spacing:.18em;color:#b6c1ca;opacity:0;transition:opacity .3s;white-space:nowrap}#notice.visible{opacity:1}#completion{position:absolute;left:43%;top:41%;z-index:3}h2{font-size:clamp(30px,4vw,56px);font-weight:400;letter-spacing:-.05em;margin:20px 0 28px}#replay{font-size:9px;letter-spacing:.12em;border-bottom:1px solid #818a9255;padding:0 0 11px;width:160px;text-align:left}#replay span{float:right}#pause-overlay{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;background:#191c20cc;backdrop-filter:blur(6px)}#resume{font-size:10px;letter-spacing:.1em;border:1px solid #adb9c44d;padding:18px 24px}#error{position:absolute;z-index:9;inset:25% 15%;background:#191c20;border:1px solid #66717b;padding:30px;font-size:15px;line-height:1.6}.pickup-trace{position:absolute;width:4px;height:4px;z-index:4;background:#e9f3ff;box-shadow:0 0 15px 4px #d6e4f755;border-radius:50%;pointer-events:none;transition:left .7s cubic-bezier(.3,0,.2,1),top .7s cubic-bezier(.3,0,.2,1),opacity .7s}#touch-controls{display:none;position:absolute;bottom:75px;right:27px;z-index:4;grid-template-columns:repeat(3,45px);gap:6px}#touch-controls button{width:45px;height:45px;border:1px solid #ffffff22;background:#191c20bb;touch-action:none;border-radius:50%;font-size:20px;user-select:none;-webkit-user-select:none}#touch-controls button.active{background:#ffffff20}#touch-controls [data-dir=up]{grid-column:2}#touch-controls [data-dir=left]{grid-column:1}#touch-controls [data-dir=down]{grid-column:2}#touch-controls [data-dir=right]{grid-column:3}@media(pointer:coarse){#touch-controls{display:grid}.key-hint{display:none}#flight-help{display:none}}@media(max-width:700px){header{top:24px;left:23px;right:23px}.brand{font-size:9px;letter-spacing:.12em}.edition{font-size:7px}.edition i{display:none}.recovery{width:155px}.tiny{font-size:7px}#letters span{font-size:18px;min-width:21px}#intro{left:35%;top:36%;right:20px}h1{font-size:29px}#intro p{line-height:1.6;max-width:190px;font-size:11px}#launch{min-width:0;width:100%;padding:12px 9px;font-size:8px;gap:7px}footer{left:22px;right:22px;bottom:22px;font-size:7px}.status{min-width:0}#flight-help{display:none}.instruments{gap:6px}#completion{left:29%;top:38%;right:20px}#notice{font-size:8px;top:120px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@keyframes lock{0%{transform:translateY(-8px);filter:blur(3px)}50%{text-shadow:0 0 20px #fff}100%{transform:translateY(0);filter:none}}@keyframes scan{to{transform:translateX(140%)}}

header:before{content:"";position:absolute;z-index:-1;left:-40px;right:-40px;top:-35px;height:160px;background:linear-gradient(#191c20b0,transparent);pointer-events:none}
/* Find your people */
#crew{display:flex;justify-content:space-between;height:41px;align-items:center;position:relative}#crew:before{content:'';position:absolute;left:14px;right:14px;top:21px;height:1px;background:#ffffff10}#crew i{position:relative;display:block;width:28px;height:34px;opacity:.2;transition:opacity .5s,filter .5s}#crew i:before{content:'';position:absolute;width:8px;height:8px;left:10px;top:3px;border-radius:50%;background:#dae3e8}#crew i:after{content:'';position:absolute;width:14px;height:18px;left:7px;top:14px;border-radius:6px 6px 3px 3px;background:#dae3e8}#crew i.aboard{opacity:1;filter:drop-shadow(0 0 9px #d3e6fa55);animation:lock .6s ease-out}.recovery{width:206px}#pilot-guide{position:absolute;z-index:2;bottom:13%;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:12px;white-space:nowrap;pointer-events:none}.guide-title{font:10px monospace;letter-spacing:.13em;color:#c5d0d9}.guide-detail{font:11px Arial;color:#7f8b96}#boarding{position:absolute;z-index:2;left:50%;bottom:17%;transform:translateX(-50%);text-align:center;font:8px monospace;letter-spacing:.14em;color:#b3c1cd}#boarding>div{height:2px;width:190px;background:#ffffff13;margin:12px auto 0}#boarding i{display:block;width:0;height:100%;background:#dae8f2;box-shadow:0 0 10px #e3f0ff55}#sound{font-size:7px;color:#86929c;letter-spacing:.03em;padding:7px 0;min-width:60px}#intro p{line-height:1.75}#flight-help{font-size:8px}#flight-help span{margin:0 6px}#touch-controls{bottom:76px}#notice{font-size:10px;letter-spacing:.12em;background:#191c2070;padding:9px 13px}body.in-flight #touch-controls{opacity:1}@media(max-width:700px){.recovery{width:138px}#crew i{transform:scale(.85);width:20px}#crew i:before{left:6px}#crew i:after{left:3px}#intro{left:31%;top:25%;right:17px}#intro h1{font-size:29px}#intro p{font-size:11px;max-width:none}#pilot-guide{bottom:30%;max-width:92%;white-space:normal;text-align:center}.guide-title{font-size:9px}.guide-detail{font-size:10px}#boarding{bottom:32%;width:95%}#sound{display:none}#notice{top:108px;max-width:94%;font-size:8px;white-space:normal;text-align:center}#completion{left:27%;top:30%}#completion h2{font-size:35px}#touch-controls button{width:49px;height:49px}#touch-controls{grid-template-columns:repeat(3,49px)}}

/* Score remains quiet until a landing earns its very disproportionate reward. */
#scoreboard{position:absolute;z-index:2;left:40px;top:103px;display:flex;flex-direction:column;gap:9px;pointer-events:none}#scoreboard .eyebrow{font-size:7px;letter-spacing:.14em}#score{font:22px 'SFMono-Regular',Consolas,monospace;font-weight:400;letter-spacing:-.04em;color:#c3cdd5;font-variant-numeric:tabular-nums}#score-event{height:14px;font:8px monospace;letter-spacing:.05em;color:#98a9b7}.score-rules{font:7px/1.9 monospace;letter-spacing:.04em;color:#7e8a95;margin-top:17px}.final-score{font:9px monospace;letter-spacing:.1em;color:#929faa;margin:-8px 0 28px}.final-score span{color:#d7e3ec;margin-left:12px}#crew{gap:5px}.recovery{width:230px}@media(max-width:700px){#scoreboard{left:23px;top:95px}#scoreboard .eyebrow{font-size:6px}#score{font-size:17px}#score-event{font-size:7px;max-width:200px}.recovery{width:164px}#crew{gap:0}#crew i{width:18px}.score-rules{font-size:6px;margin-top:14px}}

#intro .company-name{color:#f28a45}

#moments{position:absolute;inset:0;pointer-events:none;z-index:3}.moment-bubble{position:absolute;transform:translate(-50%,-100%);white-space:nowrap;font:13px Arial,Helvetica,sans-serif;letter-spacing:-.015em;color:#e8edf1;background:#191c20b8;padding:6px 10px;border:1px solid #b9c6d322;border-radius:12px 12px 12px 2px;box-shadow:0 4px 18px #080b0e18}@media(max-width:700px){.moment-bubble{font-size:11px;padding:5px 8px}}

/* A self-contained website strip. Placement belongs to the surrounding page. */
#game{height:min(560px,100svh);min-height:340px}
.strip header{top:24px;left:28px;right:28px}.strip #scoreboard{left:28px;top:85px}.strip #score{font-size:18px}.strip #intro{top:25%;left:46%}.strip h1{font-size:clamp(28px,3vw,40px);margin:13px 0}.strip #intro p{margin:0 0 18px}.strip .score-rules{margin-top:11px}.strip .key-hint{margin-top:10px}.strip footer{left:28px;right:28px;bottom:17px}.strip #notice{top:103px}.strip #flight-help{font-size:7px}.compact .score-rules{display:none}.compact #intro{top:22%}.compact h1{font-size:30px}.compact .key-hint{margin-top:8px}.compact #intro p{margin-bottom:12px}.compact #pilot-guide{bottom:17%}
#completion{left:28px;top:31%;right:auto;max-width:470px}#completion h2{font-size:32px;margin:12px 0 9px}.ending-note{font-size:12px;color:#a0a9b1;margin:0 0 12px}#set-caption{font:8px monospace;letter-spacing:.09em;color:#b4bcc4;min-height:12px}.final-score{margin:15px 0 13px;font-size:8px}#replay{font-size:8px;width:145px;padding-bottom:8px}
#game[data-phase=complete] #touch-controls,#game[data-phase=complete] #flight-help,#game[data-phase=complete] .instruments{display:none}#game[data-phase=complete] #notice{display:none}
@media(max-width:1100px){.strip #flight-help{display:none}}
@media(max-width:700px){#game{height:min(780px,100svh);min-height:560px}#intro{top:25%}#completion{top:24%;left:23px;right:23px;max-width:none}#completion h2{font-size:29px}#completion .eyebrow{font-size:7px}.ending-note{font-size:11px}#set-caption{font-size:7px}#completion .final-score{margin:12px 0}.compact #intro{top:27%}.compact h1{font-size:26px}}
@media(max-height:480px) and (orientation:landscape) and (pointer:coarse){#game{height:100svh;min-height:320px}#touch-controls{bottom:58px;right:18px;opacity:.8}#intro{top:23%;left:40%;right:20%}#intro h1{font-size:25px;margin:9px 0}#intro p{margin:0 0 10px}.score-rules,.key-hint{display:none}#completion{top:27%}#completion h2{font-size:25px}.ending-note{display:none}}

/* Finish with a human moment, then leave the set to tell its own story. */
#completion{left:50%;top:23%;right:auto;transform:translateX(-50%);width:min(650px,90%);max-width:none;text-align:center;pointer-events:none}#completion h2{font-size:clamp(25px,3vw,40px);line-height:1.2;margin:0 0 18px}#completion h2 span{display:inline-block;font-size:.66em;color:#a6afb6;margin-top:12px;letter-spacing:-.025em}#completion .final-score{margin:0;font-size:16px}#completion .final-score span{margin:0}
#game[data-phase=complete] header,#game[data-phase=complete] #scoreboard,#game[data-phase=complete] footer{display:none}
#end-actions{position:absolute;bottom:23px;right:28px;left:28px;z-index:4;display:flex;justify-content:center;align-items:center;gap:35px}#replay{width:auto;min-width:193px;font-size:11px;letter-spacing:0;text-transform:none;padding:8px 0;border-bottom:1px solid #818a9255}#replay span{margin-left:22px}#end-scores,.intro-scores{font:8px monospace;letter-spacing:.1em;color:#98a3ab;padding:10px 0}#end-scores.qualifying{color:#efb276}.intro-scores{display:block;margin-top:5px}
#scores-dialog{position:absolute;inset:0;margin:auto;width:min(370px,calc(100% - 32px));max-height:calc(100% - 28px);overflow:auto;overscroll-behavior:contain;background:#1d2125;color:#d9dcdd;border:1px solid #737f8750;padding:23px;box-shadow:0 18px 80px #0008}#scores-dialog::backdrop{background:#1013177d;backdrop-filter:blur(4px)}.scores-heading{display:flex;justify-content:space-between;align-items:start}.scores-heading h2{font:28px Arial;letter-spacing:-.045em;margin:8px 0 16px}#score-scope{font-size:7px}#close-scores{font:25px Arial;padding:0 5px;min-width:35px;min-height:35px}#top-ten{list-style:none;padding:0;margin:13px 0 0;font:12px monospace;font-variant-numeric:tabular-nums}#top-ten li{display:grid;grid-template-columns:35px 1fr auto;padding:6px 0;border-top:1px solid #ffffff0b}#top-ten li span:first-child{font-size:9px;color:#73808a}#top-ten li span:nth-child(2){letter-spacing:.16em}#initials-form{border-top:1px solid #ffffff1c;padding-top:13px}#initials-form label,#qualifying-score{font:8px monospace;letter-spacing:.1em}#qualifying-score{color:#efb276;margin-bottom:12px}.initials-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:20px}#initials{width:130px;padding:8px 11px;font:28px monospace;letter-spacing:.25em;border:1px solid #a5b3bc66;background:#171a1d;color:#edf0f1;border-radius:0;text-transform:uppercase}#save-initials{font:10px monospace;letter-spacing:.1em;padding:13px;border:1px solid #a5b3bc33}#score-feedback{font:10px/1.5 Arial;color:#b9c1c6;margin:12px 0 0;min-height:15px}
@media(max-width:700px){#completion{left:50%;top:28%;right:auto;width:90%}#completion h2{font-size:25px}#end-actions{bottom:25px;left:20px;right:20px;gap:22px}#replay{font-size:10px;min-width:171px}#end-scores{font-size:7px}#end-scores.qualifying{max-width:110px;line-height:1.7}#scores-dialog{padding:19px}.intro-scores{font-size:7px}}
@media(max-height:480px){#completion{top:23%}#completion h2{font-size:26px}#scores-dialog{max-height:calc(100% - 18px)}#end-actions{bottom:16px}.compact .intro-scores{margin-top:1px;padding:7px 0}}
#scores-dialog{position:fixed;top:min(280px,50dvh);bottom:auto;margin:0 auto;transform:translateY(-50%);max-height:min(532px,calc(100dvh - 28px))}#top-ten li{padding:5px 0}

/* Intro copy occupies the left column, with the waiting ship framed to its right. */
#game #intro{left:28px;right:auto;top:27%;width:min(400px,calc(45% - 36px));text-align:left}
#game.compact[data-phase=idle] #scoreboard{visibility:hidden}
@media(max-width:700px){#game #intro{left:23px;right:23px;top:21%;width:auto}#intro #launch{width:250px;max-width:100%}}
@media(max-height:480px){#game #intro{top:26%}}

/* Flight prompts belong to the spacecraft, leaving the intro column clear. */
#rocket-guidance{position:absolute;z-index:3;width:260px;transform:translate(-50%,-100%);pointer-events:none;text-align:center;font:8px 'SFMono-Regular',Consolas,monospace;letter-spacing:.12em;color:#aab5be}
#rocket-guidance .status{min-width:0;justify-content:center;margin-bottom:12px}
#rocket-guidance #flight-help{display:grid;grid-template-columns:auto auto;justify-content:center;gap:7px 18px;font-size:7px;line-height:1.4;color:#929da7}
#rocket-guidance #flight-help span{margin:0;white-space:nowrap}
#game[data-phase=idle] #rocket-guidance .status{animation:awaiting-pilot 1.8s steps(1,end) infinite}
#game[data-phase=complete] #rocket-guidance,#game[data-phase=celebrate] #rocket-guidance,#game[data-phase=return] #rocket-guidance,#game[data-phase=boarding] #rocket-guidance,#game[data-phase=docked] #rocket-guidance{display:none}
footer{justify-content:flex-end}
@keyframes awaiting-pilot{0%,59%{opacity:1}60%,100%{opacity:0}}
@media(max-width:700px){#rocket-guidance .status{margin-bottom:9px}#rocket-guidance #flight-help{gap:5px 13px;font-size:6px}}
#game:not([data-phase=idle]) #rocket-guidance #flight-help{display:none}

/* A quiet left corner; center the intro in the space before the home asteroid. */
header{justify-content:flex-end}
#game #scoreboard{left:auto;right:28px;top:101px;align-items:flex-end;text-align:right}
#game:not([data-phase=idle]) #rocket-guidance{display:none}
@media(min-width:701px){#game #intro{left:var(--intro-left,12vw)}}
@media(max-width:700px){#game #scoreboard{right:23px;top:95px}}

/* Restore the original composition: launch island left, invitation center-right. */
header{justify-content:space-between}
#game #scoreboard{left:28px;right:auto;top:85px;align-items:flex-start;text-align:left}
@media(min-width:701px){#game #intro{left:43%;top:26%;width:min(420px,calc(54% - 28px))}}
@media(max-width:700px){#game #scoreboard{left:23px;right:auto;top:95px}#game #intro{left:23px;right:23px;top:21%;width:auto}}

/* A game title, with the launch island giving it room to breathe. */
#game #intro{top:20%}
#game #intro h1{font-size:clamp(44px,5vw,72px);font-weight:700;line-height:.91;letter-spacing:-.065em;margin:0 0 24px;text-shadow:0 2px 25px #191c20}
#intro .title-period{color:#f28a45}
#game #intro p{font-size:14px;line-height:1.5;margin-bottom:24px;color:#aeb5ba}
#intro .score-rules{display:none}
@media(max-width:700px){#game #intro{top:21%}#game #intro h1{font-size:clamp(44px,13vw,58px)}#game #intro p{font-size:13px}}
@media(max-height:480px) and (min-width:701px){#game #intro{top:22%}#game #intro h1{font-size:44px;margin-bottom:16px}#game #intro p{margin-bottom:16px}}

#scores-dialog.mission-finish{width:min(460px,calc(100% - 32px));padding:30px;background:#191c20}.mission-finish .scores-heading h2{font-size:clamp(36px,6vw,54px);font-weight:700;line-height:.95;letter-spacing:-.06em;margin:16px 0 25px}.mission-finish #score-scope{color:#df9358}.mission-finish.entering-initials #top-ten{display:block}.mission-finish #initials-form{padding-top:20px}.mission-finish #initials{font-size:36px;width:155px;border-color:#e6976055}.mission-finish #save-initials{border-color:#e6976066;color:#e9b48b}#continue-home{font-size:10px;letter-spacing:.08em;padding:15px 0 4px;color:#bbc2c7}#continue-home:hover{color:#fff}

.top-ten-label{font:9px monospace;letter-spacing:.16em;color:#89929a;margin:20px 0 0}#play-tally{position:absolute;z-index:3;bottom:28px;left:40px;font:8px monospace;letter-spacing:.12em;color:#778088;pointer-events:none}#play-count{color:#9ba3a9}#game[data-phase=complete] #play-tally{bottom:65px}@media(max-width:700px){#play-tally{left:22px;bottom:24px;font-size:7px}#game[data-phase=complete] #play-tally{bottom:70px}}

.mission-finish .scores-heading h2{font-size:38px;margin:12px 0 18px}#scores-dialog.mission-finish{padding:24px}.mission-finish #initials-form{padding-top:12px}.mission-finish #top-ten li{padding:3px 0}.mission-finish .top-ten-label{margin-top:15px}#retry-scores{font-size:10px;padding:8px;border:1px solid #a5b3bc44;margin-right:14px}

/* A quiet, self-contained radio beside the flight instruments. */
#radio{position:absolute;z-index:5;right:28px;bottom:57px;width:238px;color:#b8bec3;border:1px solid #929ba32b;background:#191c20d9;padding:9px 11px;backdrop-filter:blur(8px)}
.radio-top{display:flex;align-items:center;gap:7px;font:9px monospace;letter-spacing:.15em}.radio-top button{margin-left:auto}.radio-dot{width:4px;height:4px;border-radius:50%;background:#606870}.playing .radio-dot{background:#f49a59;box-shadow:0 0 8px #ed8b4560}
.radio-bottom{display:flex;align-items:center;gap:4px}#radio button{min-width:27px;min-height:29px;padding:3px;color:#bbc3c9;font-size:14px}#radio button:hover{color:#f4a167}#radio select{min-width:0;flex:1;appearance:none;background:transparent;color:#d6dadd;border:0;font:11px Arial;padding:7px 3px;cursor:pointer}#radio option{background:#191c20;color:#e4e7e9}#radio :focus-visible{outline:1px solid #f49a59;outline-offset:2px}.radio-status{font:10px Arial;display:block;color:#efa76f}.radio-status:empty{display:none}#game[data-phase=complete] #radio{bottom:68px}
@media(max-width:700px){#radio{right:16px;bottom:200px;width:200px;padding:5px 8px}#radio button{min-width:32px;min-height:32px}#radio select{font-size:11px}#game[data-phase=idle] #radio{bottom:68px}#game[data-phase=complete] #radio{bottom:85px}.radio-top{font-size:8px}}
@media(max-height:480px) and (pointer:coarse){#radio{bottom:55px;right:auto;left:18px;width:190px}#game[data-phase=idle] #radio{bottom:55px}#game[data-phase=complete] #radio{bottom:70px}}

/* A sustained thumb press is flight input, never a text-selection gesture. */
#game,#game *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
#game input,#game textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
#touch-controls,#touch-controls button,#viewport canvas{touch-action:none}

@media(max-width:700px){#sound{display:block;min-width:54px;font-size:6px}}

/* Mission telemetry: score and thrust left, both crews right. */
.thrust-readout{display:flex;align-items:center;gap:10px;margin-top:11px;font:8px monospace;letter-spacing:.12em;color:#929ba3}
#sound{display:flex;align-items:center;gap:8px;min-height:40px;font:8px monospace;letter-spacing:.08em;padding:4px}
.sound-track{width:28px;height:16px;border:1px solid #737c82;border-radius:16px;padding:2px;display:block;transition:background .2s}
.sound-track i{display:block;width:10px;height:10px;border-radius:50%;background:#b8c2c9;transition:transform .2s}
#sound[aria-checked=true] .sound-track{background:#ee9a5438;border-color:#e6a471}#sound[aria-checked=true] .sound-track i{background:#efa76f;transform:translateX(12px)}.sound-state{width:20px;text-align:left}
.abducted-status{margin-top:14px}.abducted-status .tiny{margin-bottom:5px}#abducted-crew{display:flex;justify-content:flex-end;gap:8px;height:27px}
#abducted-crew i{position:relative;display:block;width:20px;height:26px;opacity:.18;transition:opacity .5s}#abducted-crew i:before{content:'';position:absolute;width:6px;height:6px;left:7px;top:1px;border-radius:50%;background:#efa76f}#abducted-crew i:after{content:'';position:absolute;width:12px;height:15px;left:4px;top:10px;border-radius:5px 5px 2px 2px;background:#efa76f}#abducted-crew i.taken{opacity:1;filter:drop-shadow(0 0 6px #efa76f55)}
#lost-overlay{position:absolute;inset:0;z-index:7;background:#191c20ce;backdrop-filter:blur(7px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}#lost-overlay h2{font-size:clamp(34px,4.5vw,66px);font-weight:700;letter-spacing:-.06em;margin:20px 0 6px}#lost-overlay p{color:#a0a7ad;font-size:14px}.lost-score{font:10px monospace;color:#89939b;margin:24px 0}.lost-score strong{margin-left:12px;color:#d9e0e5;font-size:17px}#try-again{border:1px solid #9da5ac66;padding:16px 20px;min-width:230px;font-size:12px;text-align:left}#try-again span{float:right}#try-again:hover{border-color:#efa76f}#game[data-phase=lost] #touch-controls,#game[data-phase=lost] #pilot-guide{display:none}
@media(max-width:700px){.abducted-status{margin-top:8px}.abducted-status .tiny{font-size:6px;letter-spacing:.08em}#abducted-crew{height:24px}.thrust-readout{font-size:7px;margin-top:8px}#sound{display:flex;font-size:7px}.sound-track{width:28px}#intro p{max-width:240px}}

#launch{background:rgba(255,140,60,.05)}#launch:hover{background:rgba(255,140,60,.10)}

.thrust-readout{margin-top:0}@media(max-width:700px) and (orientation:portrait){#intro{top:max(178px,21%)}#scoreboard{gap:6px}.thrust-readout{margin-top:0}}

#alien-direction{position:absolute;z-index:3;top:44%;display:flex;align-items:center;gap:5px;font:8px monospace;letter-spacing:.12em;color:#afbfc6aa;pointer-events:none;text-shadow:0 1px 8px #191c20}#alien-direction[data-side=left]{left:12px}#alien-direction[data-side=right]{right:12px;flex-direction:row-reverse}.alien-chevron{font:32px Arial;font-weight:300}#alien-direction[data-urgent=true]{color:#efb282}#game[data-phase=lost] #alien-direction{display:none}

#company{display:block;width:100%;margin:8px 0 18px;padding:10px 12px;background:#ffffff06;border:1px solid #ffffff25;color:#dbe1e5;font:14px Arial;border-radius:0}#initials-form label span{opacity:.55;font-size:9px}.score-company{display:block;margin-top:5px;font:11px Arial;color:#9ca8b0;letter-spacing:0;overflow-wrap:anywhere}#top-ten li{align-items:center}#budget-summary{font:14px/1.65 Arial;color:#a9b4bd;margin:0 0 22px}#budget-summary strong{color:#f2b079}#scores-title{font-size:clamp(24px,4vw,40px)}
.score-company{display:inline;margin:0 0 0 8px}#top-ten li>span:nth-child(2){white-space:normal}

#unlocked-video{position:absolute;bottom:44px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:9px;letter-spacing:.08em;color:#e7a1d9;border-bottom:1px solid #e7a1d944;padding:8px 4px;background:#191c20bb}

/* Crew Call: a single mission and three controls before takeoff. */
#game #intro,.strip #game #intro,.compact #game #intro{left:43%;top:15%;width:340px;max-width:48%;right:auto}
#game #intro .mission-edition{font:8px monospace;letter-spacing:.18em;color:#9ca6ad}
#game #intro h1,.strip #game #intro h1,.compact #game #intro h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(54px,6.2vw,86px);font-weight:900;font-style:italic;line-height:.82;letter-spacing:-.07em;margin:18px 0 13px;transform:rotate(-3deg);text-shadow:2px 3px 0 #191c20,3px 4px 0 #6b7277}
#game #intro h1>span{display:block}.title-star{display:inline-block;font-size:.37em;vertical-align:top;margin:5px 0 0 10px;color:#f5a46b;text-shadow:none}
#game #intro .mission-subtitle{display:block;font:10px monospace;letter-spacing:.23em;color:#efaa7b;margin:0 0 16px}
#game #intro p.mission-copy{font:14px/1.5 Arial;letter-spacing:0;color:#c8cdd0;margin:0 0 18px;max-width:none}
#game #intro #launch{width:100%;min-width:0;font-size:12px;min-height:48px;background:#ee985919;border-color:#eda36d77}
.mission-controls{display:flex;gap:15px;margin-top:16px;font:11px Arial;color:#bcc4ca}.mission-controls span{display:flex;flex-direction:column;gap:7px}.mission-controls b{font:15px monospace;color:#f0f0ed}.mission-alternate{display:block;font:10px/1.5 Arial;color:#89939b;margin-top:12px}
#game[data-phase=idle] #scoreboard,#game[data-phase=idle] .recovery,#game[data-phase=idle] #rocket-guidance{display:none}
@media(max-width:700px){#game #intro,.strip #game #intro,.compact #game #intro{left:8%;top:18%;width:84%;max-width:340px}#game #intro h1,.strip #game #intro h1,.compact #game #intro h1{font-size:72px}.mission-controls{font-size:12px;justify-content:space-between}.mission-alternate{font-size:11px}#game #intro p.mission-copy{font-size:14px}}
@media(max-height:480px) and (min-width:701px){#game #intro,.strip #game #intro,.compact #game #intro{top:8%;width:350px}#game #intro h1,.strip #game #intro h1,.compact #game #intro h1{font-size:53px;margin:12px 0 9px}#game #intro .mission-subtitle{margin-bottom:9px}#game #intro p.mission-copy{font-size:12px;margin-bottom:10px}.mission-controls{margin-top:10px}.mission-alternate{margin-top:8px}}
