:root{color-scheme:dark;font-family:Inter,'Noto Sans',system-ui,sans-serif;background:#061431;color:#eaf2ff;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 30% 15%,#173977,#061431 75%);min-height:100dvh}button,select{font:inherit;color:inherit;border:1px solid #7388a7;border-radius:9px;background:#172d55;min-height:44px;min-width:44px;padding:8px 12px;cursor:pointer}button:hover{background:#294675}button:focus-visible,select:focus-visible{outline:3px solid #ffc77d;outline-offset:2px}button:disabled{opacity:.45;cursor:default}button.primary{background:#ec8842;color:#182440;border-color:#ffc28c;font-weight:750}header{height:66px;max-width:1260px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:10px 20px 10px 100px}.brand{letter-spacing:3px;font-size:18px}.brand b{color:#ffb277;font-weight:450}.utilities{display:flex;gap:6px}.utilities select{max-width:120px}main{max-width:1220px;margin:12px auto;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:25px;padding:0 20px}.heading{display:flex;align-items:center;justify-content:space-between;gap:12px;height:38px}h1{font-size:20px;font-weight:550;margin:0;letter-spacing:-.6px}#number{font-size:12px;color:#afc4e8}.gauges{height:34px;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-variant-numeric:tabular-nums}.warn{color:#ffc18c}.scene{position:relative;border:1px solid #456797;border-radius:18px;overflow:hidden;background:#081d4b}canvas{width:100%;height:auto;aspect-ratio:1100/890;display:block;max-height:660px;touch-action:none}.target-line{position:absolute;bottom:7px;left:9px;right:9px;pointer-events:none;display:flex;justify-content:center}#target{font-size:12px;background:#071c3ee8;min-height:44px;max-width:100%;padding:5px 10px;pointer-events:auto;box-shadow:0 2px 8px #0006}.console{align-self:center}h2{font-size:30px;line-height:1.2;font-weight:500;letter-spacing:-1px;margin:0 0 18px}.intro{color:#bfd1e9;line-height:1.7;font-size:15px;margin-bottom:28px}#entry>button{margin:0 4px 8px 0;min-width:140px}#controls{display:grid;grid-template-columns:124px minmax(0,1fr);gap:12px;align-items:center}#controls[hidden],#entry[hidden]{display:none}#stick{width:120px;height:120px;border:1px solid #7898c3;border-radius:50%;background:radial-gradient(circle,#1b3969,#0c2048);touch-action:none;position:relative;user-select:none;display:grid;place-items:center}#stick i{width:58px;height:58px;background:linear-gradient(#adc4e3,#526e98);border:2px solid #d4e7ff;border-radius:50%;position:absolute;box-shadow:0 3px 16px #0008;pointer-events:none}#stick span{z-index:1;color:#153259;pointer-events:none;font-size:30px}.tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tools button{min-height:56px;font-size:13px;padding:5px}#message{min-height:55px;font-size:13px;line-height:1.6;color:#f3d8bd;margin:18px 0}nav{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:6px}nav button{font-size:12px;padding:4px}#cargo{margin-top:20px;display:grid;gap:10px;color:#b6c8e5;font-size:13px}#cargo span{display:block}.cargo-item{display:flex;gap:10px;align-items:center;padding:12px;background:#142b52;border:1px solid #405c84;border-radius:8px}.cargo-item strong{color:#e6f0ff}.cargo-icon{width:46px;height:46px;flex-shrink:0}dialog{background:#102747;color:#e7effc;border:1px solid #8292b0;border-radius:18px;padding:25px;max-width:620px;width:calc(100% - 24px);max-height:calc(100dvh - 24px);overflow:auto}dialog::backdrop{background:#030d22c9}dialog h2{font-size:25px;margin-right:40px}dialog p{line-height:1.65;color:#cbdaf0}#dialog-close{position:absolute;right:10px;top:10px;font-size:24px}#dialog-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}#dialog-actions button{flex:1;min-width:100px}.mission-grid,.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.mission-grid button{min-height:64px}.mission-grid small{display:block;font-size:11px;margin-top:5px}.collection-card{background:#19345a;border:1px solid #54729b;padding:8px;border-radius:8px;text-align:center;font-size:12px}.collection-card canvas{width:70px;height:70px;aspect-ratio:1;margin:auto}.collection-card.empty{opacity:.4}.inspect-art{width:120px;height:100px;margin:auto}a{color:#ffd09b}[hidden]{display:none!important}
@media(max-width:760px){header{height:50px;padding:3px 10px 3px 60px}.brand{display:none}.utilities{margin-left:auto;gap:4px}.utilities select{width:94px;padding:5px}main{display:block;margin:0 auto;max-width:480px;padding:0 10px}.heading{height:30px}h1{font-size:17px}.gauges{height:30px;font-size:11px}.scene{border-radius:12px}canvas{max-height:365px}.console{padding-top:8px}#controls{grid-template-columns:92px 1fr;gap:12px}#stick{width:92px;height:92px}#stick i{width:48px;height:48px}.tools{gap:4px}.tools button{min-height:44px}.target-line{bottom:4px}#target{font-size:11px;min-height:44px}#message{min-height:20px;font-size:11px;line-height:1.35;margin:5px 0}#cargo{display:none}nav{gap:4px}nav button{font-size:11px}h2{font-size:21px;margin:6px 0 10px}#entry .intro{font-size:12px;line-height:1.5;margin:0 0 8px}#entry>button{margin-bottom:4px;min-width:0}#gamenow-mobile-menu-launcher,#gamenow-exit-launcher{left:10px!important;top:3px!important;right:auto!important;transform:none!important;width:44px!important;min-width:44px!important}}
@media(max-width:360px){header{height:46px}.heading{height:25px}h1{font-size:15px}.gauges{height:26px;font-size:10px}canvas{height:220px;aspect-ratio:auto}.console{padding-top:4px}#controls{grid-template-columns:90px 1fr;gap:8px}#stick{width:88px;height:88px}#message{height:30px;min-height:0;overflow:auto;margin:3px 0;font-size:10px}nav button{font-size:10px}#entry .intro{display:none}#entry h2{font-size:18px;margin:2px 0 8px}#entry{min-height:88px}#target{font-size:10px}dialog{padding:18px}.mission-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-height:500px) and (min-width:600px){header{height:48px;padding:2px 12px 2px 70px}.brand{display:none}main{margin:0 auto;padding:0 12px;gap:14px;grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr)}.heading{height:25px}h1{font-size:15px}.gauges{height:24px;font-size:11px}.scene{border-radius:10px}canvas{height:calc(100dvh - 108px);max-height:none;aspect-ratio:auto}.console{align-self:start;padding-top:0}#controls{grid-template-columns:90px 1fr;gap:10px}#stick{width:88px;height:88px}#stick i{width:45px;height:45px}.tools{gap:4px}.tools button{min-height:44px;font-size:11px}#message{font-size:11px;line-height:1.4;min-height:32px;margin:8px 0}nav button{font-size:11px}#cargo{margin-top:12px;gap:5px}.cargo-item{padding:6px;font-size:10px}.cargo-icon{width:35px;height:35px}h2{font-size:22px;margin:10px 0}.intro{font-size:12px;line-height:1.5;margin:10px 0}#entry>button{min-width:0}#target{font-size:10px}#gamenow-mobile-menu-launcher,#gamenow-exit-launcher{left:12px!important;top:2px!important;right:auto!important;transform:none!important}#gamenow-exit-launcher .gamenow-audio-settings{left:calc(100% + 6px)!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}
.guide{max-width:800px;margin:40px auto;padding:24px;line-height:1.8}.guide h1{font-size:32px;margin:25px 0}.guide h2{font-size:22px;margin-top:24px}.guide select{float:right}.guide p{color:#cedef3}

/* Target name stays outside the playable map and never covers the bottom escape hatch. */
.target-line{position:static;margin-bottom:6px;pointer-events:auto}#target{width:100%;box-shadow:none}
@media(max-width:360px){.target-line{margin-bottom:4px}}
@media(max-height:500px) and (min-width:600px){#cargo{display:none}}
