/* Quiet roster/factory treatment; violet is a proposed Drone Planet accent. */
.droneFactoryPanel{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:2600;width:min(550px,calc(100vw - 32px));max-height:calc(var(--rl-viewport-height,100dvh) - 32px);padding:18px;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;color:#e6eef7;font-family:var(--nn-depth-font,system-ui,sans-serif)}
.droneFactoryPanel.hidden,.droneFactoryPanel [hidden]{display:none!important}
.droneFactoryPanel *{box-sizing:border-box}
.droneFactoryHeading{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.droneFactoryHeading>div{flex:1;min-width:0}.droneFactoryHeading small{font-size:9px;letter-spacing:.09em;color:#a3b2c7}.droneFactoryHeading h2{margin:4px 0;font-size:18px;letter-spacing:.03em}
#droneFactoryArt{width:66px;height:55px;object-fit:contain;flex:none;filter:drop-shadow(0 5px 3px #0007)}
.droneFactoryPanel button,.droneFactoryPanel input{font:inherit}
.droneFactoryPanel button{min-height:40px;border:1px solid #46576b;border-radius:7px;padding:8px 10px;color:#dce6f0;background:linear-gradient(#233347,#142336);box-shadow:var(--nn-depth-raised);cursor:pointer;font-size:10px;font-weight:800;letter-spacing:.025em;touch-action:manipulation}
.droneFactoryPanel button:disabled{opacity:.46;cursor:default}.droneFactoryPanel :is(button,input):focus-visible{outline:2px solid #c2b4e7;outline-offset:3px}
.droneFactoryHeading #droneFactoryClose{width:36px;min-height:36px;padding:0;flex:none;font-size:23px}.droneFactoryHeading .nnMenuInfoButton{flex:none}
.droneFactoryRoster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:14px}
.droneFactoryRoster .droneFactoryRole{display:flex;align-items:center;gap:7px;min-height:71px;text-align:left;padding:8px 7px;background:#112335;border-color:#33465b;box-shadow:var(--nn-depth-inset);position:relative;min-width:0}
.droneFactoryRole[aria-pressed="true"]{background:#202b43;border-color:#4b5068}
.droneFactoryRole[aria-pressed="true"]:after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:2px;background:#a396bd;border-radius:2px}
.droneFactoryRole img{width:38px;height:38px;object-fit:contain;flex:none;filter:drop-shadow(0 3px 2px #0006)}
.droneFactoryRole>span{min-width:0}.droneFactoryRole b{display:block;font-size:10px;color:#e3ebf5}.droneFactoryRole small{display:block;font-size:8px;line-height:1.55;letter-spacing:.015em;font-weight:650;color:#a2b3c5;overflow-wrap:anywhere}.droneFactoryRole [data-role-level]{color:#b9adcf}
.droneFactoryDetail{border:1px solid #35475b;border-radius:9px;background:#08182788;overflow:hidden;box-shadow:var(--nn-depth-inset)}
.droneFactoryIdentity{display:flex;align-items:center;gap:12px;padding:13px 14px}.droneFactoryIdentity>img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 5px 3px #0008)}.droneFactoryIdentity>div{flex:1;min-width:0}.droneFactoryIdentity small{font-size:9px;color:#9faec2}.droneFactoryIdentity h3{font-size:15px;margin:3px 0 5px;line-height:1.25;color:#e8eff8}.droneFactoryIdentity span:not(.droneFactoryBadge){font-size:10px;font-weight:750;color:#bfb3d5}
.droneFactoryBadge{font-size:8px;line-height:1.4;max-width:77px;padding:4px 6px;background:#202e40;color:#b5c0cd;border-radius:4px;border:1px solid #405063;font-weight:800;text-align:center}
.droneFactoryStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid #314357;background:#0b1d2d}
.droneFactoryStats>div{padding:10px 13px;min-width:0}.droneFactoryStats>div+div{border-left:1px solid #314357}.droneFactoryStats small{display:block;color:#92a7bc;font-size:8px;letter-spacing:.04em;font-weight:750}.droneFactoryStats strong{display:block;font-size:19px;margin-top:4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.droneFactoryLocation{font-size:10px;color:#a3b4c8;padding:9px 13px;margin:0;border-bottom:1px solid #314357;line-height:1.5}
.droneFactoryBalance{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border-bottom:1px solid #314357}.droneFactoryBalance span{font-size:11px;color:#b9c5d4}.droneFactoryBalance strong{font-size:20px;color:#c2b4da;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right}
.droneFactoryUpgrade{padding:12px 13px}.droneFactoryUpgradeHead{display:flex;justify-content:space-between;gap:12px;align-items:center}.droneFactoryUpgrade h4{margin:0;font-size:9px;font-weight:800;letter-spacing:.04em;color:#9eafc2}.droneFactoryUpgradeHead b{font-size:13px;color:#c8bedb}
.droneFactoryCost{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:10px;line-height:1.5;color:#c4cdd9}.droneFactoryCost>span{overflow-wrap:anywhere}.droneFactoryCost>span:last-child{text-align:right;color:#c5b99e}
#droneFactoryUpgradeButton{display:block;width:100%;margin-top:11px;min-height:40px;color:#d0c5e5;border-color:#554e6b;background:linear-gradient(#333046,#222238)}
.droneFactorySpecial{padding:13px;margin:0;font-size:11px;color:#a9becb;line-height:1.5}
.droneFactoryManufacture{display:flex;gap:10px;align-items:end;padding:13px;border-top:1px solid #314357;background:#091827}
.droneFactoryManufacture label{display:grid;gap:6px;font-size:8px;font-weight:750;color:#a0b0c4;letter-spacing:.035em;width:117px;flex:none}.droneFactoryManufacture>div{flex:1;min-width:0;align-self:center}.droneFactoryManufacture b{display:block;font-size:10px;line-height:1.45;font-weight:700;color:#c0b6d2;overflow-wrap:anywhere}.droneFactoryManufacture>div>span{display:block;font-size:9px;color:#a1b7a9;margin-top:4px}
#droneFactoryQuantity{width:100%;min-width:0;min-height:40px;border:1px solid #43536b;border-radius:6px;background:#071521;box-shadow:var(--nn-depth-inset);padding:8px;color:#e4edf6;font-size:15px}#droneFactoryQuantity:disabled{opacity:.6}
#droneFactoryManufactureButton{flex:none;min-height:40px;background:linear-gradient(#c4bdd5,#aaa0c0);color:#201e32;border-color:#c4b9d7}
.droneFactoryWallet{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:12px}.droneFactoryWallet span{font-size:9px;font-weight:750;letter-spacing:.04em;color:#96a9bd}.droneFactoryWallet strong{font-size:13px;color:#c6baa1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.droneFactoryAccess,.droneFactoryMessage{font-size:10px;line-height:1.6;margin:11px 0 0;overflow-wrap:anywhere;color:#b1bfd1}.droneFactoryAccess[data-ready="true"]{color:#a6c4b7}.droneFactoryMessage[data-kind="error"]{color:#efb9aa}.droneFactoryMessage[data-kind="success"]{color:#b3d1bd}.droneFactoryMessage:empty{display:none}
#droneFactoryRetry{width:100%;margin-top:9px}
.droneFactoryTravel{margin-top:12px;border-top:1px solid #314357;padding-top:11px;font-size:10px;line-height:1.55;color:#9cafc4}
@media(max-width:600px){.droneFactoryPanel{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:calc(100vw - 24px);max-height:calc(var(--rl-viewport-height,100dvh) - 24px);padding:14px}.droneFactoryRoster{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-bottom:11px}.droneFactoryRoster .droneFactoryRole{min-height:62px;padding:7px 9px}.droneFactoryRole img{width:34px;height:34px}.droneFactoryRole b{font-size:11px}.droneFactoryRole small{font-size:8px}.droneFactoryIdentity{padding:11px;gap:9px}.droneFactoryIdentity>img{width:48px;height:48px}.droneFactoryIdentity h3{font-size:14px}.droneFactoryStats>div{padding:9px 10px}.droneFactoryStats strong{font-size:17px}.droneFactoryBalance{padding:10px 11px}.droneFactoryBalance strong{font-size:18px}.droneFactoryUpgrade{padding:11px}.droneFactoryManufacture{flex-wrap:wrap;padding:11px;gap:9px}.droneFactoryManufacture label{width:112px}.droneFactoryManufacture>div{min-width:130px}#droneFactoryManufactureButton{width:100%}.droneFactoryCost{font-size:9px;gap:8px}.droneFactoryHeading{margin-bottom:11px}}
@media(prefers-reduced-motion:reduce){.droneFactoryPanel *{scroll-behavior:auto!important}}
