/* STAR REBELLION — Mission planning (sr-plan.css). Prefix pl-. Needs sr-theme.css, the .it-art/.kf art slots (sr-report.css / sr-kit.css) and the popovers from sr-personnel.css. */
.pl-body{display:flex;flex-direction:column;gap:16px;padding:16px 18px 18px;}
.pl-h{display:flex;align-items:center;gap:8px;font:800 var(--sr-fs-sm)/1 var(--sr-font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--sr-text-2);}
.pl-h .sr-ico{width:16px;height:16px;color:var(--sr-text-3);}
.pl-h .pl-h__end{margin-left:auto;display:flex;gap:8px;align-items:center;letter-spacing:0;text-transform:none;}
.pl-brief{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px 18px;padding:14px 16px;border:var(--sr-line) solid var(--sr-ink);border-radius:var(--sr-r-lg);
  background:linear-gradient(90deg,rgba(201,154,90,.14),var(--sr-night) 55%);}
.pl-brief__left{display:flex;gap:16px;align-items:flex-start;min-width:0;flex:1 1 400px;}
.pl-loc{display:flex;align-items:flex-end;gap:8px;flex:none;}
.pl-loc__it{display:flex;flex-direction:column;align-items:center;gap:5px;}
.pl-loc__it svg{width:34px;height:34px;}
.pl-loc__lbl{font:800 10px/1 var(--sr-font-ui);letter-spacing:.07em;text-transform:uppercase;color:var(--sr-text);}
.pl-loc__dots{width:18px;margin-bottom:24px;border-top:3px dotted rgba(255,255,255,.5);}
.pl-desc{margin:0;font:600 var(--sr-fs-sm)/1.45 var(--sr-font-ui);color:var(--sr-text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pl-more{padding:0;border:0;background:none;color:var(--sr-gold);font:800 var(--sr-fs-xs)/1 var(--sr-font-ui);cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px;}
.pl-more:hover{color:var(--sr-gold-hi,var(--sr-gold));}
.pl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px;font:700 var(--sr-fs-xs)/1 var(--sr-font-ui);color:var(--sr-text-3);}
.pl-meta b{color:var(--sr-text-2);}
.pl-facts{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;flex:0 1 auto;}
.pl-desc--full{flex:1 1 100%;display:block;margin:0;padding-top:12px;border-top:2px solid var(--sr-seam);-webkit-line-clamp:unset;overflow:visible;color:var(--sr-text);}
.pl-opt small span{white-space:nowrap;}
.pl-fact{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:88px;padding:8px 10px;background:var(--sr-plate);border:var(--sr-line) solid var(--sr-ink);border-radius:var(--sr-r);}
.pl-fact b{font:400 16px/1 var(--sr-font-display);color:var(--c,var(--sr-text));}
.pl-fact span{font:800 9px/1 var(--sr-font-ui);letter-spacing:.07em;text-transform:uppercase;color:var(--sr-text-3);}
.pl-pips{display:flex;gap:3px;}
.pl-pips i{width:8px;height:13px;border-radius:2px;background:rgba(255,255,255,.12);}
.pl-pips i.is-on{background:var(--c);}
.pl-rew{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:8px 12px;background:var(--sr-plate);border:var(--sr-line) solid var(--sr-ink);border-radius:var(--sr-r);}
.pl-rew__row{display:flex;gap:10px;align-items:center;font:800 15px/1 var(--sr-font-ui);}
.pl-rew__row span{display:inline-flex;align-items:center;gap:5px;color:var(--c);}
.pl-rew__row .sr-ico{width:15px;height:15px;}
.pl-card__x{position:absolute;right:7px;top:7px;display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--sr-void);border:2px solid var(--sr-ink);color:var(--sr-text-3);}
.pl-card__x .sr-ico{width:12px;height:12px;}
.pl-name{font:800 var(--sr-fs-md)/1.1 var(--sr-font-ui);}
.pl-sub{font:700 var(--sr-fs-xs)/1.2 var(--sr-font-ui);color:var(--sr-text-3);}
.pl-kit{display:flex;gap:4px;margin-top:4px;}
.pl-kit .it-art{width:46px;height:29px;background-color:var(--sr-void);border:2px solid var(--sr-ink);border-radius:6px;}
.pl-shipstats{display:flex;gap:6px;margin-top:4px;}
.pl-shipstats span{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;font:800 11px/1 var(--sr-font-ui);color:var(--c,var(--sr-text-2));background:var(--sr-void);border:2px solid var(--sr-ink);border-radius:var(--sr-r-sm);}
.pl-shipstats .sr-ico{width:12px;height:12px;}
.pl-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 18px;border-top:var(--sr-line) solid var(--sr-ink);background:var(--sr-night);}
.pl-ready{display:flex;align-items:flex-start;gap:8px;flex:1 1 260px;min-width:0;font:800 var(--sr-fs-sm)/1.35 var(--sr-font-ui);color:var(--c);}
.pl-ready__t{min-width:0;}
.pl-ready .sr-ico{width:18px;height:18px;}
.pl-ready u{text-decoration:none;border-bottom:2px dotted currentColor;cursor:pointer;white-space:nowrap;}
.pl-sum{display:flex;gap:14px;font:700 var(--sr-fs-xs)/1 var(--sr-font-ui);color:var(--sr-text-3);}
.pl-sum span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;}
.pl-sum b{color:var(--sr-text);}
.pl-sum .sr-ico{width:13px;height:13px;}
.pl-pick{position:absolute;z-index:40;width:300px;padding:12px;background:var(--sr-hull);border:var(--sr-line) solid var(--sr-ink);border-radius:var(--sr-r-lg);
  box-shadow:var(--sr-float),0 0 0 2px var(--sr-gold);}
.pl-pick__t{display:flex;align-items:center;gap:8px;margin-bottom:8px;font:400 15px/1 var(--sr-font-display);}
.pl-pick__t span{margin-left:auto;font:800 10px/1 var(--sr-font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--sr-text-3);}
.pl-opt{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:7px 8px;margin-top:6px;text-align:left;color:var(--sr-text);font:inherit;cursor:pointer;
  background:var(--sr-plate);border:var(--sr-line) solid var(--sr-ink);border-radius:var(--sr-r);}
.pl-opt:hover{border-color:var(--sr-gold);}
.pl-opt .kf{width:36px;height:36px;}
.pl-opt b{display:block;font:800 13px/1.1 var(--sr-font-ui);}
.pl-opt small{display:block;margin-top:2px;font:700 11px/1.2 var(--sr-font-ui);color:var(--sr-text-3);}
.pl-opt em{font-style:normal;font:800 10px/1 var(--sr-font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--c,var(--sr-text-3));}
.pl-opt[disabled]{opacity:.5;cursor:not-allowed;}
.pl-sold{position:relative;width:160px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 10px 10px;text-align:center;color:var(--sr-text);cursor:pointer;font:inherit;
  background:linear-gradient(180deg,#252b62,var(--sr-plate) 60%);border:var(--sr-line) solid var(--sr-ink);border-radius:var(--sr-r-lg);box-shadow:var(--sr-bevel),var(--sr-lift);}
.pl-sold .kf{width:60px;height:60px;box-shadow:0 0 0 3px var(--sr-ink),0 0 0 6px var(--sr-rebel);}
.pl-sold .pl-kit .it-art{width:40px;height:25px;}
.pl-sold--empty{background:transparent;border:2px dashed var(--sr-seam);box-shadow:none;justify-content:center;min-height:172px;}
.pl-sold--empty .pl-plus{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;border:2px dashed var(--sr-seam);font:400 26px/1 var(--sr-font-display);color:var(--sr-seam);}
.pl-req{display:inline-flex;align-items:center;gap:6px;font:700 12px/1 var(--sr-font-ui);color:var(--sr-text-3);letter-spacing:0;text-transform:none;}
.pl-req b{color:var(--sr-text);}
.pl-assets{display:flex;gap:12px;align-items:stretch;}
.pl-asset{position:relative;width:300px;display:flex;flex-direction:column;gap:8px;padding:12px;color:var(--sr-text);font:inherit;text-align:left;
  background:linear-gradient(180deg,#232a5e,var(--sr-plate) 65%);border:var(--sr-line) solid var(--sr-ink);border-radius:var(--sr-r-lg);box-shadow:var(--sr-bevel),var(--sr-lift);}
.pl-asset--primary{border-color:var(--sr-shield);}
.pl-asset__kick{font:800 9px/1 var(--sr-font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--c,var(--sr-text-3));}
.pl-asset__art{position:relative;display:grid;place-items:center;height:96px;background:var(--sr-void);border:2px solid var(--sr-ink);border-radius:var(--sr-r);}
.pl-asset__art .it-art{width:150px;height:94px;}
.pl-pilot{position:absolute;left:8px;bottom:-14px;display:flex;align-items:center;gap:7px;padding:3px 10px 3px 3px;background:var(--sr-hull);border:2px solid var(--sr-ink);border-radius:999px;box-shadow:var(--sr-lift);cursor:pointer;}
.pl-pilot .kf{width:30px;height:30px;box-shadow:0 0 0 2px var(--sr-gold);}
.pl-pilot b{display:block;font:800 12px/1.05 var(--sr-font-ui);color:var(--sr-text);}
.pl-pilot small{display:block;font:700 9px/1.1 var(--sr-font-ui);letter-spacing:.05em;text-transform:uppercase;color:var(--sr-text-3);}
.pl-pilot--empty{border:2px dashed var(--sr-hazard);background:#2a1d1a;color:var(--sr-hazard);padding:6px 12px;font:800 12px/1 var(--sr-font-ui);}
.pl-asset__name{margin-top:12px;font:800 var(--sr-fs-md)/1.1 var(--sr-font-ui);}
.pl-asset__add{width:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px dashed var(--sr-seam);border-radius:var(--sr-r-lg);color:var(--sr-text-3);
  font:800 var(--sr-fs-sm)/1.2 var(--sr-font-ui);background:transparent;cursor:pointer;}
.pl-asset__add span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:2px dashed var(--sr-seam);font:400 24px/1 var(--sr-font-display);color:var(--sr-seam);}
.pl-abil{display:flex;flex-wrap:wrap;gap:8px;}
.pl-ab{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;background:var(--sr-plate);border:var(--sr-line) solid var(--sr-ink);border-radius:999px;font:800 13px/1 var(--sr-font-ui);color:var(--sr-text);}
.pl-ab>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--c);color:var(--sr-ink);border:2px solid var(--sr-ink);}
.pl-ab>span .sr-ico{width:14px;height:14px;}
.pl-ab small{font:700 11px/1 var(--sr-font-ui);color:var(--sr-text-3);}
.pl-ab.is-off{opacity:.55;}
.pl-ab.is-off>span{background:var(--sr-night);color:var(--sr-text-3);}
/* ===== from the review rounds ===== */
.pl-card__x{position:absolute;right:7px;top:7px;display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--sr-void);border:2px solid var(--sr-ink);color:var(--sr-text-3);}
.pl-card__x .sr-ico{width:12px;height:12px;}
.pl-sold__face{position:relative;}
.pl-lvl{position:absolute;right:-8px;bottom:-6px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;
  background:conic-gradient(var(--sr-psi) calc(var(--xp) * 1%),#26204a 0);box-shadow:0 0 0 2px var(--sr-ink);}
.pl-lvl>b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--sr-night);box-shadow:0 0 0 2px var(--sr-ink);font:400 11px/1 var(--sr-font-display);color:var(--sr-psi);}
.pl-sold--need{border-color:var(--sr-hazard);background:rgba(255,138,31,.06);}
.pl-sold--need .pl-plus{border-color:var(--sr-hazard);color:var(--sr-hazard);}
.pl-sold--need .pl-sub{color:var(--sr-hazard);font-weight:800;}
.pl-sold__slot{font:700 10px/1 var(--sr-font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--sr-text-3);}
/* squad size counter in the Squad header */
.pl-count{display:inline-flex;align-items:center;gap:12px;padding:6px 12px;background:var(--sr-night);border:var(--sr-line) solid var(--sr-hazard);border-radius:var(--sr-r);}
.pl-count.is-full{border-color:var(--sr-ink);}
.pl-count b{display:block;font:400 22px/1 var(--sr-font-display);color:var(--sr-text);letter-spacing:0;}
.pl-count.is-full b{color:var(--sr-go);}
.pl-count__r{display:flex;flex-direction:column;gap:4px;}
.pl-count small{display:block;font:800 9px/1 var(--sr-font-ui);letter-spacing:.07em;text-transform:uppercase;color:var(--sr-text-3);}
.pl-seats{display:flex;gap:4px;}
.pl-seats i{width:18px;height:22px;border-radius:5px;border:2px solid var(--sr-ink);background:var(--sr-rebel);}
.pl-seats i.is-free{border:2px dashed var(--sr-hazard);background:transparent;}
/* fire support + base support row */
.pl-supportrow{display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:18px;align-items:start;}
.pl-base{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;background:var(--sr-night);border:2px dashed var(--sr-seam);border-radius:var(--sr-r-lg);}
.pl-base.is-staffed{border:var(--sr-line) solid var(--sr-ink);background:var(--sr-plate);}
.pl-base__disc{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:2px dashed var(--sr-seam);color:var(--sr-text-3);}
.pl-base__disc .sr-ico{width:18px;height:18px;}
.pl-base b{display:flex;align-items:center;gap:8px;font:800 14px/1.1 var(--sr-font-ui);color:var(--sr-text);}
.pl-base b small{font:800 9px/1 var(--sr-font-ui);letter-spacing:.07em;text-transform:uppercase;color:var(--sr-text-3);}
.pl-base p{margin:4px 0 0;font:600 12px/1.35 var(--sr-font-ui);color:var(--sr-text-3);}
.pl-base p em{font-style:normal;font-weight:800;color:var(--sr-shield);}
.pl-ab small.pl-ab__cost{display:inline-flex;align-items:center;gap:3px;color:var(--sr-res-supplies);}
.pl-ab small.pl-ab__cost .sr-ico{width:12px;height:12px;}

/* ===== build additions (not in the handoff's §7): the window shell and small wiring the mock implied ===== */
.pl-win.sr-window{width:min(1320px,100%);--accent:var(--sr-gold);}
.pl-win .pl-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;}
.pl-win .pl-foot{flex:none;}
.pl-soldiers{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;}
.pl-win .kf img{width:100%;height:100%;display:block;border-radius:50%;}
.pl-asset__art--empty{display:grid;place-items:center;height:96px;width:100%;border:2px dashed var(--sr-hazard);border-radius:var(--sr-r);background:transparent;cursor:pointer;color:var(--sr-hazard);font:800 var(--sr-fs-sm)/1 var(--sr-font-ui);}
.pl-asset__add{min-height:200px;}
.pl-pick{max-height:300px;overflow:auto;overscroll-behavior:contain;}   /* plPlacePicker fits it to the room it has */
.pl-win [data-slot].is-target{outline:3px dashed var(--sr-gold);outline-offset:2px;}
.pl-win .is-pulse{animation:pl-pulse .7s ease-out 2;}
@keyframes pl-pulse{0%{box-shadow:0 0 0 0 var(--sr-gold);}70%{box-shadow:0 0 0 9px rgba(0,0,0,0);}100%{box-shadow:0 0 0 0 rgba(0,0,0,0);}}
/* the Reinforcements hauler's passengers (Raid the Bunker): the prize pilots' seats, and who else rides along */
.pl-assets{flex-wrap:wrap;}   /* the passengers card makes a fourth: wrap rather than spill on a narrow screen */
.pl-pass{width:220px;}
.pl-pass__row{display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.pl-pass .pl-pilot{position:relative;left:auto;bottom:auto;}
.pl-base__disc--face{border-style:solid;overflow:hidden;border-radius:50%;}
.pl-base__disc--face img{width:100%;height:100%;display:block;}
@media (prefers-reduced-motion:reduce){.pl-win *{animation:none !important;}}
.pl-win .pl-body{gap:12px;padding:12px 18px 14px;}
.pl-win .pl-foot{padding:10px 18px;}
