/* Port controls stay on the scene; selection belongs to the whole list row. */
#preparation .prep-port{justify-self:start;display:grid;gap:6px;pointer-events:auto}
#preparation .prep-location{display:block}
#preparation #prepPortMoney{min-height:28px}
#preparation #prepWallet{display:flex;align-items:center;gap:6px;min-height:28px;width:max-content;padding:0;background:none;border:0;box-shadow:none;color:#f0dbae;text-shadow:0 2px 4px #081a20}
#preparation #prepWallet svg{width:23px;height:23px;fill:#d8ab57;stroke:#78552a;stroke-width:1.5}
#preparation #prepWallet b{font:600 24px/28px var(--font-body);font-variant-numeric:tabular-nums}
#preparation .preview-controls{gap:12px;flex-direction:column-reverse}
#preparation .preview-controls span{font-size:14px;letter-spacing:0}
#preparation #prepRepair{position:relative;display:grid;place-items:center;width:68px;height:76px;min-height:76px;padding:3px 3px 24px;border:0;background:transparent;box-shadow:none;color:#f2d6a0;clip-path:none;border-radius:0;filter:drop-shadow(0 2px 2px #091c20)}
#preparation #prepRepair img{width:44px;height:44px;object-fit:contain}
#preparation #prepRepair b{position:absolute;bottom:2px;left:0;right:0;text-align:center;font:600 18px/20px var(--font-body);font-variant-numeric:tabular-nums;text-shadow:0 2px 2px #07191c}
#preparation #prepRepair:hover{background:transparent;filter:drop-shadow(0 0 5px #d8ae66)}
#preparation #prepRepair:focus-visible{background:transparent;outline:2px solid #dfb663;outline-offset:3px}
#preparation #prepRepair:disabled{opacity:.55;cursor:default}
#preparation .equipment-slot,#preparation .prep-officer{padding-left:5px;padding-right:5px;border:0;border-bottom:1px solid #ad8f5e;outline:none;box-shadow:none;transition:background-color 100ms ease-out}
#preparation .equipment-slot:is(:hover,:focus-visible,[aria-expanded=true]),#preparation .prep-officer:is(:hover,:focus-visible,[aria-expanded=true]){background:#b68a4740;border-color:#ad8f5e;outline:none;box-shadow:none}
#preparation .equipment-slot:focus-visible b,#preparation .prep-officer:focus-visible b{text-decoration:underline;text-underline-offset:3px}
#preparation .prep-officer>.swap-cue{flex:0 0 10px;width:10px;margin:0;align-self:center}
#preparation .prep-officer>.swap-cue svg{display:block;width:10px;height:18px;stroke:#79522e;stroke-width:2;fill:none;transition:transform 100ms ease-out}
#preparation .prep-officer[aria-expanded=true]>.swap-cue svg{transform:rotate(90deg)}
#preparation .prep-officer .officer-mini,#preparation .officer-candidate>.candidate-portrait{border:0;background:none;box-shadow:none;outline:none;object-fit:contain;mask-image:url('assets/portrait-torn-edge.svg');mask-size:100% 100%;mask-repeat:no-repeat}
#preparation .officer-candidate{border:0;border-bottom:1px solid #ad8f5e;background:none;box-shadow:none;outline:none}
#preparation .officer-candidate:is(:hover,:focus-visible,.assigned){background:#b68a4740;border:0;border-bottom:1px solid #ad8f5e;box-shadow:none;outline:none}
#preparation .officer-candidate:focus-visible b{text-decoration:underline;text-underline-offset:3px}
#preparation .prep-bottom{grid-template-columns:130px 220px 440px 144px 240px}
@media(max-width:1800px){#preparation .prep-bottom{grid-template-columns:116px 212px 370px 126px 210px}}
@media(max-width:1400px){#preparation .prep-bottom{grid-template-columns:105px 196px 326px 112px 190px}#preparation #prepRepair{width:56px;height:56px;min-height:56px;padding-top:2px}#preparation #prepRepair img{width:37px;height:37px}}
@media(prefers-reduced-motion:reduce){#preparation .equipment-slot,#preparation .prep-officer,#preparation .prep-officer>.swap-cue svg{transition:none}}
