*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#060b13;color:#e1edf5;font:14px system-ui;overscroll-behavior:none}button,a{font:inherit;color:inherit}button{border:1px solid #334556;background:#162435;border-radius:9px;padding:10px 13px;cursor:pointer}button:hover{border-color:#6a9caa}button:disabled{opacity:.38;cursor:default}button:active{transform:scale(.98)}[hidden]{display:none!important}main{max-width:1100px;height:100dvh;margin:auto;padding:max(10px,env(safe-area-inset-top)) 12px max(8px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:9px}.driftHeader{display:flex;align-items:center;gap:12px}.driftHeader>div{flex:1}.driftHeader>a{display:grid;place-items:center;text-decoration:none;width:35px;height:38px;background:#142230;border:1px solid #334556;border-radius:9px;font-size:26px}h1{font-size:19px;letter-spacing:1.4px;margin:3px 0}em{font-style:normal;color:#e3b779}small{font-size:10px;color:#8a9bad;display:block;line-height:1.5}h2{margin:3px 0;font-size:21px}h3{font-size:15px;margin:0 0 7px}p{font-size:13px;line-height:1.6;color:#aebdcc;margin:0 0 14px}.resourceBar{display:flex;gap:7px}.resource{flex:1;border:1px solid #283c4d;border-radius:9px;background:#0d1927;padding:7px 10px;min-width:0}.resource b{display:block;font-size:17px;font-variant-numeric:tabular-nums}.resource small{white-space:nowrap;font-size:9px}#driftArena{flex:1;min-height:140px;position:relative;border:1px solid #34495a;border-radius:13px;overflow:hidden;background:#08111d}canvas{width:100%;height:100%;display:block;touch-action:none}#viewTag{position:absolute;top:12px;left:13px;pointer-events:none;font-size:11px;letter-spacing:1px;color:#e6c28e;text-shadow:0 2px 5px #000}#viewTag small{font-size:9px;letter-spacing:.2px;color:#afbdc9;margin-top:5px}#droneBars{position:absolute;top:43px;left:12px;width:min(220px,57%);pointer-events:none}.meter{display:grid;grid-template-columns:58px 1fr 32px;gap:6px;align-items:center;font-size:9px;margin:5px 0;text-shadow:0 1px #000}.meterTrack{height:5px;background:#263344;border-radius:8px}.meterTrack i{display:block;height:100%;border-radius:8px}#contextHint{position:absolute;bottom:12px;left:12px;right:12px;text-align:center;padding:8px;border-radius:7px;background:#06101bd9;pointer-events:none;font-size:11px;color:#d2e0eb}#driftToast{position:absolute;top:44%;left:8%;right:8%;text-align:center;color:#ffdfab;text-shadow:0 2px 7px #000;font-weight:700;pointer-events:none}#legend{position:absolute;right:11px;bottom:55px;text-align:right;color:#89a9bc;font-size:9px;pointer-events:none}.actionBar{display:flex;gap:7px}.actionBar button{flex:1;min-width:0;font-size:12px;line-height:1.4;touch-action:none;user-select:none;-webkit-user-select:none}.actionBar .primary,button.primary{color:#ffe2b2;background:#332719;border-color:#a4804f}.actionBar small{font-size:9px}footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:22px;color:#8da6b9;font-size:10px}footer button{font-size:10px;padding:3px 7px;background:none;border:0;color:#b3c6d5}#driftOverlay{position:fixed;inset:0;z-index:10;background:#03070bd9;backdrop-filter:blur(7px);padding:13px;display:flex;align-items:center;justify-content:center}article{width:820px;max-width:100%;max-height:92dvh;display:flex;flex-direction:column;background:#0d1927;border:1px solid #445b6e;border-radius:16px;box-shadow:0 24px 90px #0008}article>header{padding:15px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2a4053}#panelBody{padding:17px;overflow:auto}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.item{padding:13px;border:1px solid #2a4358;background:#111f2e;border-radius:11px;display:flex;flex-direction:column;gap:8px}.item>p{font-size:11px;margin:0}.item>button{margin-top:auto}.item .cost{font-size:11px;color:#d2b681;line-height:1.5}.badge{font-size:9px;letter-spacing:1px;color:#9ec5d2}.note{padding:12px;background:#182c3d;border:1px solid #2c4658;border-radius:9px;margin-bottom:13px;font-size:12px;color:#c8d7e4;line-height:1.6}.row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.row>button{flex:1}input[type=range]{width:100%}.danger{border-color:#92574e;color:#ffb1a4}strong.accent{color:#e6bb7e}.sectionLabel{margin:18px 0 9px;color:#c9e0e9;font-size:12px}.check{font-size:11px;margin:5px 0;color:#a9c6bd}.logline{padding:8px 0;border-bottom:1px solid #21384a;font-size:11px;line-height:1.5;color:#a8bfcc}.best{border-color:#a98650}.keys{padding:9px;background:#0a1320;border-radius:7px;font-size:11px;line-height:1.8}#driftImport{display:none}@media(max-width:480px){main{padding-left:8px;padding-right:8px;gap:7px}h1{font-size:14px;letter-spacing:.7px}.driftHeader{gap:8px}.driftHeader small{font-size:8px}.resource{padding:6px}.resource b{font-size:15px}.resource small{font-size:8px}.cards{grid-template-columns:1fr}.actionBar button{font-size:10px;padding:9px 5px}.actionBar small{font-size:8px}h2{font-size:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

#stickPad{position:absolute;left:15px;bottom:61px;width:94px;height:94px;padding:0;border-radius:50%;border:1px solid #89c5d16e;background:radial-gradient(circle,#244455b8,#102132d9);box-shadow:inset 0 0 20px #02101a80,0 4px 16px #0005;touch-action:none;user-select:none;-webkit-user-select:none;z-index:2;transform:none}#stickPad:active{transform:none}#stickPad.active{border-color:#b6f3ff;box-shadow:0 0 15px #7ed7ec30}.stickCross{position:absolute;inset:12px;border-radius:50%;border:1px solid #8bc2d52b;pointer-events:none}.stickCross:before,.stickCross:after{content:"";position:absolute;background:#9acfe52b;left:50%;top:0;width:1px;height:100%}.stickCross:after{transform:rotate(90deg)}#stickThumb{position:absolute;left:50%;top:50%;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#a8ddea,#527f98);border:1px solid #b4dfed;box-shadow:0 3px 9px #0007;pointer-events:none}#workBtn[aria-pressed="true"]{background:#275543;border-color:#8cf0bc;color:#d2ffe5}#workBtn[aria-pressed="false"]{background:#212936;border-color:#51677a;color:#c1d0dc}

#missionHud{position:absolute;top:126px;left:12px;right:12px;pointer-events:none;background:#0b1a27dd;border:1px solid #927b4d70;border-radius:7px;padding:7px 10px;color:#efd2a2;font-size:10px;line-height:1.4}#droneBars[hidden]~#missionHud{top:45px}.item b{color:#e0d2b5}#panelBody>.item{margin-bottom:10px}@media(max-width:480px){#missionHud{font-size:9px;padding:6px 8px}}

#stickPad{left:calc(50% - 47px);bottom:46px}#contextHint{pointer-events:none}

/* Prevent selection and native long-press menus throughout the game. */
html, body, body *, body *::before, body *::after {
  -webkit-user-select: none !important;
  user-select: none !important;
  -webkit-touch-callout: none !important;
  -webkit-user-drag: none !important;
}

/* Keep a 24px clearance beyond the joystick thumb at full travel. */
#driftArena>#workBtn{position:absolute;left:calc(50% + 72px);bottom:61px;width:min(100px,calc(50% - 84px));height:64px;padding:6px 4px;z-index:2;touch-action:manipulation;font-size:12px;line-height:1.3;border-radius:10px}
#driftArena>#workBtn small{display:block;font-size:9px;margin-top:4px;white-space:normal}
#driftArena>#workBtn[hidden]{display:none}

.resource small{display:flex;align-items:center;gap:3px;white-space:nowrap}.resourceSprite{display:inline-block;width:18px;height:18px;flex:0 0 18px;object-fit:contain;vertical-align:middle}#cargoBtn small{font-variant-numeric:tabular-nums}

/* Patch 3.9.11: expedition controls arranged by priority. */
.meter{grid-template-columns:24px 1fr 32px}.meterIcon{text-align:center;font-size:14px;font-weight:650}
.driftHeader>div{min-width:0}.driftHeader h1{font-size:clamp(12px,3.4vw,19px);overflow-wrap:anywhere}.driftHeader>div>small{font-size:clamp(7px,1.8vw,10px)}
#cargoBtn{flex:0 0 auto;padding:7px 9px;min-width:64px;font-size:11px;text-align:center;line-height:1.2}#cargoBtn small{font-size:10px;white-space:nowrap;margin-top:3px}
.actionBar.expeditionActions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}
.expeditionActions #scanBtn,.expeditionActions #routeBtn{height:52px;padding:6px 10px}
.scanLabel{display:flex;align-items:center;justify-content:center;gap:7px}.energyCost{color:#ff7474;font-weight:750}
.routeIcon{height:34px;width:30px;display:block;margin:auto}
.expeditionActions #exitBtn{grid-column:1/-1;min-height:43px;color:#ffd9d9;background:#5b2029;border-color:#c05d69;font-weight:700}
.expeditionActions #exitBtn.primary{background:#5b2029;border-color:#e0808b;color:#ffe5e5}

.music-control{display:block;margin:14px 0 17px;padding:12px 14px;border:1px solid #34505e;border-radius:10px;background:#112332}.music-control>span{display:flex;justify-content:space-between;align-items:center;color:#d7e9ee;font-size:13px}.music-control output{color:#99dbc7;font-size:12px;font-variant-numeric:tabular-nums}.music-control input[type=range]{display:block;width:100%;height:28px;margin:7px 0 3px;accent-color:#8adbc4;cursor:pointer;touch-action:pan-y}.music-control small{display:block;font-size:10px;color:#92acbc}
