/* Shared cargo artwork in the world and the existing Carrier Drones page. */
.cargoRecoveryWorld{position:absolute;inset:0;z-index:24;pointer-events:none}
.cargoRecoveryWorld[hidden]{display:none!important}
.cargoDrop{position:absolute;width:86px;height:92px;transform:translate(-50%,-50%);padding:0;border:0;background:none;color:#d9f6ff;pointer-events:auto;cursor:pointer;touch-action:manipulation;font-family:system-ui,sans-serif}
.cargoDrop:focus-visible{outline:2px solid #c8f5ff;outline-offset:9px;border-radius:8px}
.cargoWorldCrate{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;animation:cargoHover 4.6s ease-in-out infinite}
.cargoDropLabel{position:absolute;top:100%;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:9px;font-weight:800;letter-spacing:.04em;text-shadow:0 1px 4px #000,0 0 8px #06131e;pointer-events:none}
.cargoBeacon{position:absolute;left:50%;bottom:57%;height:98px;width:48px;transform:translateX(-50%);background:linear-gradient(0deg,#83e7ff55,transparent);clip-path:polygon(30% 100%,0 0,100% 0,70% 100%);opacity:.7;pointer-events:none}
.cargoBeacon:after{content:"";position:absolute;left:49%;bottom:0;height:100%;width:2px;background:linear-gradient(#89e6ff00,#b1f2ff)}
.cargoGroundRing{position:absolute;left:50%;bottom:2%;width:110px;height:30px;transform:translateX(-50%);border:1px solid #7be3ff70;border-radius:50%;box-shadow:0 0 12px #36bff526;pointer-events:none}
.cargoReleaseBurst{position:absolute;inset:-40%;border-radius:50%;background:radial-gradient(circle,#c8f8ff9c,#46c9f526 35%,transparent 65%);opacity:0;pointer-events:none}
.cargoJustReleased .cargoReleaseBurst{animation:cargoRelease 1.25s ease-out forwards}
.cargoSalvageMission{position:absolute;left:0;top:0;width:57px;height:74px;pointer-events:none;transform-origin:center;will-change:transform}
.cargoMissionDrone{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2}
.cargoDroneExhaust{position:absolute;top:71%;left:39%;width:22%;height:35%;background:linear-gradient(#a7f5ff,#31c8fc50,transparent);clip-path:polygon(0 0,100% 0,62% 100%,38% 100%)}
.cargoTowedCrate{position:absolute;left:11px;top:58px;width:36px;height:36px;object-fit:contain;opacity:0}
.cargoHasLoad .cargoTowedCrate{opacity:1}
.cargoDroneWaiting .cargoDroneExhaust{opacity:0}
.cargoMotionPaused .cargoWorldCrate,.cargoMotionPaused .cargoReleaseBurst{animation-play-state:paused!important}
.carrierSalvageDroneRow{display:flex;align-items:center;gap:12px;margin-top:14px;padding:14px 0 2px;border-top:1px solid #83d6f22b;text-align:left}
.carrierSalvageDroneRow>img{width:56px;height:66px;object-fit:contain;background:none;border:0;box-shadow:none}
.salvageDroneIdentity{flex:1;min-width:0;display:grid;gap:6px}
.salvageDroneIdentity>strong{font-size:11px;color:#e3f5ff;letter-spacing:.035em}
.salvageDroneIdentity>span{font-size:9px;color:#a0becc}
body #carrierSalvageDroneRow button{width:auto;min-height:36px;padding:8px 12px;font-size:10px;flex-shrink:0;border:1px solid #3c6b80;border-radius:6px;color:#d5f2ff;background:#103244;font-weight:800}
body .cargoDroneDialog{width:min(390px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:20px;overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:10px}
.cargoDroneDialog::backdrop{background:#020912b0}
body .cargoRecoveryPanel{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:2600;width:min(360px,calc(100vw - 28px));max-height:calc(var(--rl-viewport-height,100dvh) - 28px);overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:10px;padding:20px}
.cargoRecoveryPanel.hidden{display:none!important}
.cargoPanelHeading{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.cargoPanelHeading>div{flex:1;min-width:0}
.cargoPanelHeading small{color:#99bed0;font-size:9px;letter-spacing:.13em}
.cargoPanelHeading h2{font-size:18px;line-height:1.2;margin:5px 0 0;color:#e7f7ff;letter-spacing:.035em}
body .cargoClose{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;padding:0;border:1px solid #4b768a;background:#143447;color:#e2f5ff;border-radius:6px;font:22px/1 system-ui;cursor:pointer}
.cargoOverview{display:flex;align-items:center;gap:15px;padding:0 0 14px;border-bottom:1px solid #83d6f226}
.cargoOverview>img{width:100px;height:108px;object-fit:contain}
.cargoOverview>div{display:grid;gap:7px;min-width:0}
.cargoOverview span{font-size:8px;letter-spacing:.09em;color:#8dabbc}
.cargoOverview strong{font-size:13px;color:#e9f7ff;overflow-wrap:anywhere}
.cargoOverview small{font-size:9px;letter-spacing:.06em;color:#91b8ce}
.cargoContents{margin-top:14px;border:1px solid #315365;border-radius:7px;background:#08202d}
.cargoContents summary{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:10px 12px;font-size:10px;font-weight:800;color:#d9effb;cursor:pointer;list-style:none}
.cargoContents summary::-webkit-details-marker{display:none}
.cargoContents summary:after{content:'⌄';font-size:16px;color:#9bc6d8}
.cargoContents[open] summary:after{transform:rotate(180deg)}
.cargoContents summary>span{margin-left:auto;font-size:9px;color:#a6c6d5}
.cargoContents ul{padding:0 12px 7px;margin:0;list-style:none}
.cargoContents li{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:34px;border-top:1px solid #36556777;font-size:11px}
.cargoContents li>span{color:#b6d0de;min-width:0}.cargoContents li>b{color:#e8f9ff;white-space:nowrap}
.cargoDroneAvailability{display:flex;align-items:center;gap:12px;margin:15px 0 6px}
.cargoDroneAvailability>img{width:47px;height:58px;object-fit:contain}
.cargoDroneAvailability strong{font-size:11px;letter-spacing:.025em}
.cargoDroneAvailability small{display:block;margin-top:6px;font-size:9px;color:#a2c2d1}
.cargoMissionStatus{margin:12px 0;font:700 10px/1.5 system-ui;letter-spacing:.03em;color:#9ce2f3;min-height:15px;overflow-wrap:anywhere}
.cargoRecoveryError{font-size:11px;line-height:1.4;color:#ffc4bb;margin:10px 0;overflow-wrap:anywhere}
body .cargoPrimary,body .cargoSecondary{display:block;width:100%;min-height:43px;padding:11px 12px;border:1px solid #a2dced;border-radius:6px;background:#a6deec;color:#052438;font:800 11px/1.4 system-ui;letter-spacing:.02em;cursor:pointer}
body .cargoSecondary{color:#ddf2ff;background:#143445;border-color:#3e697e}
.cargoPrimary:disabled{opacity:.48;cursor:default}
.cargoPrimary[hidden],.cargoRecoveryError[hidden]{display:none!important}
.cargoDronePortrait{display:block;width:158px;height:183px;object-fit:contain;margin:4px auto 14px}
.cargoDroneCounts{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid #83d6f226;padding-top:14px}
.cargoDroneCounts>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 0}
.cargoDroneCounts span{font-size:9px;color:#9ab8cb}.cargoDroneCounts b{font-size:16px;color:#e4f7ff}
.cargoAdditionalDrone{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0;border-top:1px solid #83d6f226;margin-top:14px}
.cargoAdditionalDrone>span{font-size:9px;color:#95b4c6}
body .cargoAdditionalDrone>button{font-size:9px;padding:9px;border:1px solid #476271;border-radius:5px;background:#162b37;color:#9db0bd;cursor:default}
.cargoRecoveryPanel button:focus-visible,.cargoDroneDialog button:focus-visible,.cargoContents summary:focus-visible,#salvageDroneMenuButton:focus-visible{outline:2px solid #c9f5ff;outline-offset:3px}
@keyframes cargoHover{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes cargoRelease{0%{opacity:.8;transform:scale(.2)}100%{opacity:0;transform:scale(1.6)}}
@media(max-width:600px){body .cargoRecoveryPanel{right:14px;bottom:max(14px,env(safe-area-inset-bottom));padding:17px}.carrierSalvageDroneRow{gap:9px}.carrierSalvageDroneRow>img{width:48px;height:58px}body #carrierSalvageDroneRow button{padding:8px;font-size:9px}.salvageDroneIdentity>strong{font-size:10px}.salvageDroneIdentity>span{font-size:8px}.cargoPanelHeading h2{font-size:17px}.cargoOverview>img{width:89px;height:99px}}
@media(prefers-reduced-motion:reduce){.cargoWorldCrate,.cargoReleaseBurst{animation:none!important}.cargoSalvageMission{will-change:auto}}

.materialStorageNotice{position:fixed;right:12px;bottom:100px;max-height:calc(100dvh - 220px);overflow:auto;width:min(340px,calc(100vw - 24px));box-sizing:border-box;z-index:9000;padding:12px 14px;border:1px solid #dba856;border-radius:12px;background:#0a1c2bf5;color:#eefaff;box-shadow:0 6px 22px #0008;font:12px/1.45 system-ui}.materialStorageNotice[hidden]{display:none!important}.materialStorageNotice strong{color:#ffd389;letter-spacing:.08em}.materialStorageNotice p{margin:6px 0 10px}.materialStorageNotice>div{display:flex;gap:8px;justify-content:space-between}.materialStorageNotice button{min-height:36px;padding:6px 12px;border:1px solid #71c9df;border-radius:7px;background:#173a4a;color:#e9faff;font-weight:700;cursor:pointer}
