/* ent-hero-fleet · Fleet field (E1 hero band). Scoped to .ea-fleet. Sits flat on the #1c1c1c hero: no frame, no card. */
.ea-fleet{
  --t1:120ms; --t2:200ms; --t3:320ms; --ease-draw:cubic-bezier(.45,.05,.25,1);
  --fl-idle:rgba(255,255,255,.14); --fl-lbl:rgba(255,255,255,.45); --fl-cap:rgba(255,255,255,.35);
  position:relative; margin:0; color:#fff; font-family:var(--mono); font-size:11px; line-height:16px;
}
.ea-fleet *{box-sizing:border-box}
.ea-fleet .ea-fl-stage{position:relative}
.ea-fleet .ea-fl-cv,.ea-fleet .ea-fl-ink{display:none}

/* ---- no-JS / fallback: a composed text still (labels on a hairline, the HOLD callout, the key) ---- */
.ea-fleet .ea-fl-teams{display:flex;flex-wrap:wrap;gap:8px 32px;margin:0;padding:12px 0 0;list-style:none;border-top:1px solid rgba(255,255,255,.08)}
.ea-fleet .ea-fl-teams li{margin:0;padding:0}
.ea-fleet .ea-fl-teams span{display:inline-block;white-space:nowrap;font:400 11px/16px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fl-lbl);transition:color var(--t2) var(--ease)}
.ea-fleet .ea-fl-call{position:relative;margin-top:20px}
.ea-fleet .ea-fl-say{margin:0;font:400 12px/16px var(--mono);letter-spacing:.01em;color:var(--w-60);white-space:nowrap}
.ea-fleet .ea-fl-say b{font-weight:500;color:var(--w-85)}
.ea-fleet .ea-fl-say em{font-style:normal}
.ea-fleet .ea-fl-say:not(.is-on),.ea-fleet .ea-fl-v-b{display:none}
.ea-fleet .ea-s-hold{color:var(--hold-d)} .ea-fleet .ea-s-ok{color:var(--ok-d)} .ea-fleet .ea-s-deny{color:var(--deny-d)} .ea-fleet .ea-s-sig{color:var(--blue-lt)}
.ea-fleet .ea-fl-key{display:flex;align-items:center;gap:14px;margin:14px 0 0;font:400 11px/16px var(--mono);color:var(--fl-cap);white-space:nowrap}
.ea-fleet .ea-fl-lg{display:inline-flex;align-items:center;gap:6px}
.ea-fleet .ea-fl-lg i{display:block;width:5px;height:5px}
.ea-fleet .ea-k-ok{background:var(--ok-d)} .ea-fleet .ea-k-hold{background:var(--hold-d)} .ea-fleet .ea-k-deny{background:var(--deny-d)}
.ea-fleet .ea-fl-demo{padding-left:14px;border-left:1px solid rgba(255,255,255,.14)}

/* ---- live: canvas + absolutely placed real-text overlay (positions written by asset.js on init / resize / fonts.ready) ---- */
.ea-fleet.is-live .ea-fl-stage{height:336px}
.ea-fleet.is-live.is-stack .ea-fl-stage{height:360px}
.ea-fleet.is-live .ea-fl-cv{display:block;position:absolute;left:0;top:0;width:100%;height:100%}
.ea-fleet.is-live .ea-fl-ink{display:block;position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.ea-fleet .ea-fl-ink path{fill:none;stroke-width:1;stroke-dasharray:1 1;shape-rendering:crispEdges}
.ea-fleet .ea-fl-box{stroke:rgba(255,255,255,.62)}
.ea-fleet .ea-fl-lead{stroke:var(--fl-cap)}
.ea-fleet.is-live .ea-fl-teams{display:block;position:absolute;inset:0;padding:0;border:0;pointer-events:none}
.ea-fleet.is-live .ea-fl-teams li{position:absolute;left:0;top:0;opacity:0}
.ea-fleet.is-live .ea-fl-teams span{pointer-events:auto;cursor:default;padding:4px 0}
.ea-fleet.is-live .ea-fl-teams li.is-hot span{color:var(--w-85)}
.ea-fleet.is-live .ea-fl-call{position:absolute;inset:0;margin:0;pointer-events:none}
.ea-fleet.is-live .ea-fl-say{display:block;position:absolute;left:0;top:0;opacity:0}
.ea-fleet.is-live .ea-fl-v{display:block}
.ea-fleet.is-live .ea-fl-v-b{position:absolute;left:0;top:0;opacity:0}
.ea-fleet.is-live .ea-fl-key{position:absolute;right:0;top:0;margin:0;opacity:0}

@media (forced-colors:active){.ea-fleet .ea-fl-cv{display:none!important}}
@media print{.ea-fleet.is-live .ea-fl-teams li,.ea-fleet.is-live .ea-fl-key{opacity:1!important}}

@media (max-width:1100px){
  .ea-fleet .ea-fl-say{font-size:11px}
}
@media (max-width:760px){
  /* recomposed: 4 teams in a 2x2 grid; the callout is one mono line under the band (no leader); the key wraps under it */
  .ea-fleet.is-live{padding-bottom:78px}
  .ea-fleet.is-live .ea-fl-stage,.ea-fleet.is-live.is-stack .ea-fl-stage{height:300px}
  .ea-fleet .ea-fl-say{white-space:normal;font-size:11px;line-height:16px}
  .ea-fleet.is-live .ea-fl-call{inset:auto;left:0;right:0;top:calc(100% + 14px);height:32px}
  .ea-fleet.is-live .ea-fl-say{left:0!important;top:0!important;right:0;transform:none!important}
  .ea-fleet.is-live .ea-fl-v-b{right:0}
  .ea-fleet.is-live .ea-fl-key{right:auto;left:0!important;top:calc(100% + 58px)!important;flex-wrap:wrap;row-gap:4px}
  .ea-fleet.is-live .ea-fl-teams span{pointer-events:none}
}
@media (prefers-reduced-motion:reduce){
  .ea-fleet .ea-fl-teams span{transition:none}
}
