/* Local play: the join slots on the cod.city menu and the split-screen match. */
.cod-party ol.local-slots{gap:8px}
.cod-party .local-slot{--slot-color:#5d6f66;position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;min-height:62px;padding:8px 40px 8px 12px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--slot-color) 30%,#000c),#0008 70%);border-left:4px solid var(--slot-color);box-shadow:inset 0 0 0 1px #ffffff14}
.cod-party .local-slot b{grid-row:1/3;min-width:0;font:700 clamp(20px,2vw,28px)/1 "Condensed",system-ui,sans-serif;color:var(--slot-color);text-align:left;text-shadow:0 0 12px color-mix(in srgb,var(--slot-color) 60%,transparent)}
.cod-party .local-slot span{font:600 clamp(14px,1.15vw,17px) "Condensed",system-ui,sans-serif}
.cod-party .local-slot small{color:#b8cbbf;font:12px/1.3 system-ui,sans-serif}
.cod-party .local-slot.is-open{background:#0006;border-left-color:#ffffff26}
.cod-party .local-slot.is-open b{color:#ffffff40;text-shadow:none}
.cod-party .local-slot.is-open span{color:#d7e2da;animation:local-pulse 1.6s ease-in-out infinite}
.cod-party .local-remove{position:absolute;right:8px;top:50%;translate:0 -50%;width:26px;height:26px;padding:0;border:1px solid #ffffff30;border-radius:50%;background:#0008;color:#dfe8de;font:16px/1 system-ui;cursor:pointer}
.cod-party .local-remove:hover,.cod-party .local-remove:focus-visible{background:var(--slot-color);color:#000}
@keyframes local-pulse{50%{opacity:.45}}
@media (prefers-reduced-motion:reduce){.cod-party .local-slot.is-open span{animation:none}}

/* Split screen: one cell per player (left/top/width/height set from splitLayout). */
.city-match.local-split{background:#000}
.local-split .local-cell{position:absolute;overflow:hidden;box-shadow:inset 0 0 0 1px #000}
.local-split .local-cell canvas{width:100%;height:100%}
.local-split .local-tag{position:absolute;left:10px;top:10px;z-index:2;display:flex;align-items:center;gap:8px;padding:3px 10px 3px 6px;background:#000a;border-left:3px solid var(--slot-color);pointer-events:none;font:600 12px "Condensed",system-ui,sans-serif;color:#e8f0ea}
.local-split .local-tag b{color:var(--slot-color);font-size:15px}
.local-split .local-cell::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--slot-color) 45%,transparent)}
.local-split .local-cell.is-ended .kino-hud{visibility:hidden}
.local-split[data-count="3"] .kino-hud,.local-split[data-count="4"] .kino-hud,.local-split[data-count="3"] .kino-end,.local-split[data-count="4"] .kino-end{zoom:.75}
/* Beats .city-match>.city-match-leave in kino-hud.css, which loads later. */
.city-match.local-split>.city-match-leave{top:8px;bottom:auto;right:50%;translate:50% 0;z-index:6;padding:6px 14px;font-size:12px}
.local-split .match-watermark{position:absolute;top:50%;right:50%;translate:50% -50%;opacity:.5;scale:.6}
