:root{color-scheme:dark;--cream:#fff1cb;--gold:#ffcb65;--navy:#0c2430;--muted:#a4b9b9}*{box-sizing:border-box}body{margin:0;background:#102d3a;color:var(--cream);font-family:"Segoe UI",Arial,sans-serif;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid white;outline-offset:5px}[hidden]{display:none!important}#world,.vignette{position:fixed;inset:0;width:100%;height:100%}.vignette{pointer-events:none;background:linear-gradient(180deg,rgba(6,26,38,.2),transparent 35%,rgba(5,24,30,.12));box-shadow:inset 0 0 160px #06222b44}.masthead{position:absolute;z-index:5;top:26px;left:38px;right:38px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;color:var(--cream);text-decoration:none;font-size:11px;font-weight:800;letter-spacing:2px}.brand small{display:block;font-size:7px;letter-spacing:2px;margin-top:5px;opacity:.7}.brand-mark{font:italic 900 24px Georgia,serif;border:1px solid #ffedbf80;padding:8px 9px;letter-spacing:-3px;position:relative}.brand-mark span{font:14px Arial;position:absolute;right:-5px;top:-8px;background:#183e4b}.top-right{display:flex;align-items:center;gap:25px}.edition{font-size:9px;letter-spacing:2px;color:#eee6ce}.edition b{color:var(--gold);margin-left:10px}.icon-button{position:relative;border:1px solid #fff2cf66;border-radius:50%;background:#18384588;color:var(--cream);width:36px;height:36px;font-size:20px}.sound-slash{position:absolute;left:16px;top:7px;color:#ffc869;font-size:20px}.screen{position:absolute;inset:0}.selection{display:flex;align-items:center;flex-direction:column;padding:110px 38px 22px;justify-content:space-between}.intro{text-align:center;text-shadow:0 2px 30px #17314766}.eyebrow{display:flex;align-items:center;justify-content:center;gap:14px;font-size:10px;letter-spacing:3.5px;font-weight:700}.eyebrow span{height:1px;width:33px;background:#f6d38c}.intro h1{font:900 clamp(42px,6.4vw,94px)/.95 Georgia,"Times New Roman",serif;letter-spacing:-4px;margin:20px 0 15px;color:#fff0c2;text-shadow:2px 3px 0 #9c6639,4px 7px 0 #10354177}.intro h1 em{font-style:italic}.intro p{font:italic 20px Georgia,serif;margin:0 0 17px}.destination{display:inline-flex;gap:14px;align-items:center;font-size:8px;letter-spacing:2px;background:#16394a55;padding:9px 14px;border:1px solid #fff0bf33;border-radius:20px}.destination span{color:#ffd17a;font-size:15px}.destination i{font-size:14px;font-style:normal;opacity:.7}.crew-panel{width:min(1080px,100%);padding:22px 28px 20px;background:linear-gradient(115deg,#0b2832f7,#133944eb);border:1px solid #e0c89440;border-radius:13px;box-shadow:0 20px 60px #06202e55;margin-top:auto;backdrop-filter:blur(14px)}.crew-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.step{font-size:8px;letter-spacing:2.6px;color:var(--gold);font-weight:700}h2{font:normal 25px Georgia,serif;margin:5px 0 0}.crew-count{font-size:8px;letter-spacing:1.5px;color:#a3b6b3}.crew-count span{font-size:25px;margin-left:15px;color:var(--gold)}.characters{display:grid;grid-template-columns:repeat(9,1fr);gap:9px}.character{position:relative;min-width:0;padding:0 0 11px;background:#173945;border:1px solid #ffffff15;border-radius:6px;color:#b4c4bd;transition:background .2s,transform .2s,border .2s}.character:hover{transform:translateY(-4px);background:#254b53}.character[aria-pressed=true]{background:#466050;border:1px solid var(--gold);color:var(--cream);box-shadow:0 0 0 2px #ffd17a18}.character canvas{width:100%;height:85px;display:block}.character-label{font-size:9px;font-weight:600;white-space:nowrap}.character-number{position:absolute;top:7px;left:8px;font-size:7px;letter-spacing:1px;opacity:.5}.character[aria-pressed=true]:after{content:'✓';position:absolute;top:5px;right:6px;background:var(--gold);color:#213d3e;border-radius:50%;width:13px;height:13px;font-size:9px;line-height:13px}.boarding-footer{display:flex;justify-content:space-between;align-items:center;margin-top:17px}.pilot-info{display:flex;align-items:center;gap:15px}.pilot-info>span{font:italic 17px Georgia,serif}.pilot-info small{font-size:10px;color:#a8beba;border-left:1px solid #c7d6c233;padding-left:15px}.primary{border:0;border-radius:4px;background:var(--gold);color:#16343a;letter-spacing:1.8px;font-size:11px;font-weight:800;padding:17px 27px;box-shadow:0 4px 0 #b47e35;transition:background .2s,transform .2s}.primary:hover{background:#ffdc91;transform:translateY(-2px)}.primary span{font-size:19px;margin-left:25px;line-height:10px}.menu-foot{display:flex;justify-content:space-between;gap:20px;width:min(1080px,100%);font-size:7px;color:#b7c3b4;letter-spacing:1.3px;padding-top:19px}.menu-foot b{color:#ffe0a0}kbd{font:inherit;border:1px solid #d3dacc40;padding:3px 5px;border-radius:3px;color:#f3e6c8}i{margin:0 8px}.hud{position:absolute;top:105px;left:40px;right:40px;display:flex;justify-content:space-between;align-items:flex-start}.hud-block{width:220px}.hud small,.flight-bottom small{font-size:8px;letter-spacing:2px;color:#e3e3c3}.hud b{display:block;font-size:12px;letter-spacing:1px;margin-top:7px}.hud-block>span{font-size:8px;letter-spacing:1.5px}.progress-track{height:4px;background:#0a344f66;margin:13px 0 7px;border-radius:4px}.progress-track>div{height:100%;width:0;background:var(--gold);border-radius:4px}.flight-center{text-align:center}.flight-center strong{display:block;font:italic 40px Georgia,serif;margin-top:8px}.flight-center strong span{font:9px "Segoe UI",sans-serif;letter-spacing:2px}.hud-right{text-align:right}#hearts{font-size:23px;color:var(--gold);letter-spacing:4px;margin-top:7px}.text-button{display:block;border:0;background:none;color:#c5d3c9;padding:12px 0;font-size:9px;letter-spacing:1.4px}.hud-right .text-button{margin-left:auto}.toast{position:absolute;top:28%;left:50%;transform:translateX(-50%);text-align:center;background:#0d2c3cdc;color:var(--gold);font-size:12px;letter-spacing:2px;border-radius:30px;padding:12px 22px;opacity:0;transition:opacity .2s;white-space:nowrap}.toast.visible{opacity:1}.flight-bottom{position:absolute;bottom:28px;left:40px;right:40px;display:flex;justify-content:space-between;align-items:end;font-size:8px;letter-spacing:1px}.boost-meter{position:absolute;left:50%;transform:translateX(-50%);text-align:center}.boost-meter>div{width:150px;background:#092c40aa;height:5px;margin-top:9px;border-radius:3px;overflow:hidden}.boost-meter i{display:block;background:var(--gold);height:100%;margin:0;width:100%}#speed{font:italic 22px Georgia,serif}.modal{position:fixed;z-index:10;inset:0;display:grid;place-items:center;background:#061d30a8;backdrop-filter:blur(8px)}.modal-card{width:min(420px,90%);padding:42px;background:#133542;border:1px solid #edd18d66;border-radius:12px;text-align:center;box-shadow:0 30px 80px #02182c80}.modal h2{font:italic 35px Georgia,serif;margin-top:15px}.modal p{font-size:13px;line-height:1.8;color:#b9c9c4;margin:20px 0 25px}.modal .primary{width:100%}.modal .text-button{margin:16px auto 0}.arrival-heading{position:absolute;top:115px;left:20px;right:20px;text-align:center}.arrival h2{font:900 clamp(32px,5.6vw,76px) Georgia,serif;letter-spacing:-3px;text-shadow:3px 4px #183e49}.arrival h2 em{color:var(--gold)}.arrival-heading p{font:italic 18px Georgia,serif;margin:10px}.arrival-footer{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);width:min(800px,90%);display:flex;align-items:center;justify-content:space-between;padding:20px 28px;background:#102e3eee;border:1px solid #dacb8c55;border-radius:9px}.arrival-footer h3{font:italic 22px Georgia,serif;margin:7px 0}.arrival-footer p{font-size:10px;color:#b6c6c1;margin:0}#touch-controls{display:none}
@media(min-height:850px){.selection{padding-top:130px;padding-bottom:32px}.crew-panel{margin-bottom:4px}.character canvas{height:103px}}
@media(max-width:760px){.masthead{top:18px;left:20px;right:20px}.edition{display:none}.selection{padding:100px 18px 18px}.intro h1{letter-spacing:-2px;font-size:clamp(35px,7.8vw,59px)}.intro p{font-size:17px}.eyebrow{font-size:7px;letter-spacing:2px}.destination{font-size:7px;gap:8px;letter-spacing:1px}.crew-panel{padding:18px}.crew-count{display:none}.characters{grid-template-columns:repeat(9,80px);overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory;gap:7px}.character{scroll-snap-align:center}.character canvas{height:80px}.pilot-info{display:block}.pilot-info small{display:block;padding:0;border:0;font-size:9px;margin-top:6px;max-width:155px}.primary{padding:15px 18px;font-size:9px}.primary span{margin-left:10px}.menu-foot{font-size:6px}.menu-foot>span:last-child{display:none}.hud{left:20px;right:20px;top:90px}.hud-block{width:135px}.hud b{font-size:9px}.hud-block>span{font-size:6px}.hud small{font-size:6px}.flight-center{position:absolute;top:85px;left:50%;transform:translateX(-50%)}.flight-center strong{font-size:27px}#hearts{font-size:17px;letter-spacing:2px}.flight-bottom{left:20px;right:20px;bottom:18px}.flight-bottom>span:first-child{display:none}.boost-meter{position:static;transform:none}#speed{margin-left:auto}.arrival-heading{top:100px}.arrival h2{letter-spacing:-1px}.arrival-footer{padding:18px;bottom:20px}.arrival-footer h3{font-size:18px}.arrival-footer .primary{max-width:130px;line-height:1.6}.arrival-footer .primary span{display:none}.arrival-footer p{font-size:8px;max-width:160px}}
@media(pointer:coarse){#touch-controls{display:flex;position:absolute;bottom:76px;left:20px;right:20px;align-items:end;justify-content:space-between}.dpad{display:grid;grid-template-columns:repeat(3,44px);gap:5px}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1}#touch-controls button{touch-action:none;user-select:none;background:#193c4caa;border:1px solid #ead49877;color:var(--cream);border-radius:8px;height:44px;font-size:20px}#touch-controls #touch-boost{padding:0 16px;font-size:11px;letter-spacing:1px}.flight-bottom>span:first-child{display:none}}
@media(max-height:650px) and (min-width:761px){.selection{padding-top:83px;padding-bottom:12px}.intro h1{font-size:53px;margin:10px 0}.intro p{font-size:15px;margin-bottom:10px}.crew-panel{padding:13px 22px}.crew-heading{margin-bottom:9px}.character canvas{height:62px}.boarding-footer{margin-top:10px}.menu-foot{padding-top:12px}.destination{padding:5px 10px}.arrival-heading{top:88px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
