/* scout-hero.css — Scout Analysis, hero-plate layout.
 *
 * Append AFTER scout.css. Everything is scoped to #v-scout.
 *
 * THEME: no :root block here on purpose. --h / --h2 are written at runtime by
 * theme.js from the accent picker, so re-declaring them would freeze the page
 * on 192/258 and break the swatches. Every colour below is either var(--h),
 * var(--ac), var(--tx), var(--d1)/(--d2), var(--ln), or a fixed hue that is
 * deliberately accent-independent:
 *   212 90% 58%   cold   \  the diverging zone scale, copied verbatim from
 *   352 88% 58%   hot    /  ui/batters.js plate(diverge) so the two views match
 *   #e9c46a       gold   -- the damage gate ring
 * Fonts: Plus Jakarta Sans + DM Mono only. Those are the two the app loads;
 * Only these two are loaded; no other font families are referenced anywhere
 * in the CSS, so nothing silently falls back to a system serif.
 */

/* ---------- the read, above the plate ---------- */
#v-scout .sh-read{font-size:13px;line-height:1.62;margin:0;color:var(--tx)}
#v-scout .sh-read em{font-style:normal;color:hsl(352 88% 66%);font-weight:600}
#v-scout .sh-read s{text-decoration:none;color:hsl(212 90% 64%);font-weight:600}
#v-scout .sh-read .zid{font-family:'DM Mono',monospace;font-size:12px;color:#e9c46a}
#v-scout .sh-read .tail{color:var(--d2);font-size:11.5px}

/* ---------- hero: plate left, rail right ---------- */
#v-scout .sh-hero{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:13px;
  align-items:start;margin-top:13px}
#v-scout .sh-hero>*{min-width:0}
@media(max-width:1080px){#v-scout .sh-hero{grid-template-columns:minmax(0,1fr)}}
#v-scout .sh-rail>.sc-card+.sc-card{margin-top:13px}

#v-scout .sh-zw{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:740px;margin:0 auto}
@media(max-width:560px){#v-scout .sh-zw{grid-template-columns:1fr;gap:14px}}
#v-scout .sh-zt{font-family:'DM Mono',monospace;font-size:8.5px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--d2);text-align:center;margin-bottom:9px}
#v-scout .sh-plate{position:relative;aspect-ratio:1;border-radius:13px;overflow:hidden;
  background:hsl(var(--h) 30% 6% / .6);box-shadow:0 2px 8px hsl(var(--h) 45% 1% / .8) inset}
#v-scout .sh-out{position:absolute;inset:0;display:grid;
  grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px}
#v-scout .sh-in{position:absolute;inset:23%;display:grid;
  grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);
  border-radius:4px;outline:1px solid hsl(var(--h) 40% 78% / .3);overflow:hidden;
  background:hsl(var(--h) 30% 4%);
  box-shadow:0 0 0 1px hsl(var(--h) 30% 2% / .9),0 2px 10px hsl(var(--h) 45% 1% / .55)}
#v-scout .sh-c{position:relative;display:flex;align-items:center;justify-content:center;
  font-family:'DM Mono',monospace;transition:transform .16s cubic-bezier(.2,.8,.3,1)}
#v-scout .sh-c:hover{transform:scale(1.04);z-index:5}
#v-scout .sh-c b{font-size:15px;font-weight:500;position:relative;z-index:1;color:var(--tx)}
#v-scout .sh-c i{position:absolute;font-size:8px;font-style:normal;font-weight:500;
  color:rgba(255,255,255,.8);text-shadow:0 1px 2px hsl(var(--h) 45% 2% / .9)}
#v-scout .sh-out .sh-c i{top:6px;left:8px}
#v-scout .sh-in  .sh-c i{top:3px;left:5px}
#v-scout .sh-out .sh-c b{position:absolute;font-size:13px}
#v-scout .sh-out .sh-c:nth-child(1) b{top:14px;left:16px}
#v-scout .sh-out .sh-c:nth-child(2) b{top:14px;right:16px}
#v-scout .sh-out .sh-c:nth-child(3) b{bottom:14px;left:16px}
#v-scout .sh-out .sh-c:nth-child(4) b{bottom:14px;right:16px}
#v-scout .sh-out .sh-c:nth-child(1){border-radius:12px 0 0 0}
#v-scout .sh-out .sh-c:nth-child(2){border-radius:0 12px 0 0}
#v-scout .sh-out .sh-c:nth-child(3){border-radius:0 0 0 12px}
#v-scout .sh-out .sh-c:nth-child(4){border-radius:0 0 12px 0}
#v-scout .sh-in .sh-c{box-shadow:inset 0 0 0 .5px hsl(var(--h) 40% 78% / .1)}
#v-scout .sh-c.thin{opacity:.55}
#v-scout .sh-c.thin::after{content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(45deg,transparent,transparent 3px,
    hsl(var(--h) 20% 40% / .13) 3px,hsl(var(--h) 20% 40% / .13) 6px)}
/* gold: solid = systematic collision, hollow = mistake risk */
#v-scout .sh-c.gold{box-shadow:inset 0 0 0 2px #e9c46a,0 0 14px hsl(43 75% 62% / .4);z-index:2}
#v-scout .sh-c.hgold{z-index:2}
#v-scout .sh-c.hgold::after{content:'';position:absolute;inset:2px;border:1.7px dashed #e9c46a;
  border-radius:4px;opacity:.75}

/* live hit pins */
#v-scout .sh-pin{position:absolute;width:16px;height:16px;border-radius:50%;z-index:6;
  border:2px solid #fff;pointer-events:none;
  box-shadow:0 0 0 2px hsl(var(--h) 45% 3% / .9),0 2px 8px hsl(var(--h) 45% 1% / .6);
  display:flex;align-items:center;justify-content:center;
  font-family:'DM Mono',monospace;font-size:7px;color:#fff;font-weight:700}
#v-scout .sh-pin.p1B{background:hsl(160 70% 42%)}
#v-scout .sh-pin.p2B{background:hsl(200 80% 50%)}
#v-scout .sh-pin.p3B{background:hsl(280 70% 58%)}
#v-scout .sh-pin.pHR{background:hsl(352 88% 55%)}

#v-scout .sh-hand,#v-scout .sh-scale{max-width:740px;margin:9px auto 0;display:flex;
  align-items:center;gap:7px;font-family:'DM Mono',monospace;font-size:9px;color:var(--d2)}
#v-scout .sh-tag{padding:2px 7px;border-radius:5px;background:hsl(var(--h) 30% 18% / .7);color:var(--d1)}
#v-scout .sh-ramp{flex:1;height:6px;border-radius:4px;
  background:linear-gradient(90deg,hsl(212 90% 58% / .7),hsl(var(--h) 8% 55% / .12),hsl(352 88% 58% / .7))}

/* ---------- live hit rail ---------- */
#v-scout .sh-live{display:inline-flex;align-items:center;gap:6px;
  font-family:'DM Mono',monospace;font-size:9.5px;color:var(--neg);letter-spacing:.05em}
#v-scout .sh-live::before{content:'';width:6px;height:6px;border-radius:50%;
  background:var(--neg);animation:sh-pulse 1.6s infinite}
@keyframes sh-pulse{0%,100%{opacity:1}50%{opacity:.2}}
@media(prefers-reduced-motion:reduce){#v-scout .sh-live::before{animation:none}}
#v-scout .sh-hit{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;
  align-items:center;padding:7px 0;border-bottom:1px dotted hsl(var(--h) 20% 22% / .4);
  font-family:'DM Mono',monospace;font-size:10px;color:var(--d1)}
#v-scout .sh-hit:last-child{border-bottom:0}
#v-scout .sh-hit .z{color:var(--ac)}
#v-scout .sh-hit b{color:var(--tx);font-weight:500}
#v-scout .sh-chip{font-family:'DM Mono',monospace;font-size:8.5px;padding:2px 6px;
  border-radius:5px;font-weight:700;text-align:center}
#v-scout .sh-chip.p1B{background:hsl(160 70% 42% / .2);color:hsl(160 70% 62%)}
#v-scout .sh-chip.p2B{background:hsl(200 80% 50% / .2);color:hsl(200 80% 66%)}
#v-scout .sh-chip.p3B{background:hsl(280 70% 58% / .2);color:hsl(280 70% 70%)}
#v-scout .sh-chip.pHR{background:hsl(352 88% 55% / .2);color:hsl(352 88% 68%)}

#v-scout .sh-dens{font-family:'DM Mono',monospace;font-size:9.5px;color:var(--d1);line-height:1.85}
#v-scout .sh-dens b{color:var(--tx);font-weight:500}
#v-scout .sh-dens .z{color:var(--ac)}
#v-scout .sh-dens .thin{color:var(--wrn)}

/* ---------- shared bar rows (mix, location, is-it-working) ---------- */
#v-scout .sh-mx{display:flex;flex-direction:column}
#v-scout .sh-mxr{display:grid;grid-template-columns:74px minmax(0,1fr) 74px;align-items:center;
  gap:9px;padding:5px 0;border-bottom:1px dotted hsl(var(--h) 20% 22% / .4);
  font-family:'DM Mono',monospace;font-size:9.5px;color:var(--d1)}
#v-scout .sh-mxr:last-child{border-bottom:0}
#v-scout .sh-mxr i{position:relative;height:7px;border-radius:4px;display:block;
  background:hsl(var(--h) 24% 12% / .8)}
#v-scout .sh-mxr i b{position:absolute;left:0;top:0;bottom:0;border-radius:4px;
  background:hsl(352 88% 58% / .72)}
#v-scout .sh-mxr i b.cold{background:hsl(212 90% 58% / .7)}
#v-scout .sh-mxr i b.flat{background:hsl(var(--h) 20% 50% / .5)}
#v-scout .sh-mxr em{font-style:normal;text-align:right;color:var(--tx);font-size:9.5px}

/* ---------- sequencing grid ---------- */
#v-scout .sh-sqg{display:grid;grid-template-columns:84px repeat(4,minmax(0,1fr));gap:5px;
  font-family:'DM Mono',monospace;font-size:9px}
@media(max-width:760px){#v-scout .sh-sqg{grid-template-columns:64px repeat(4,minmax(0,1fr));font-size:8px}}
#v-scout .sh-sqh{color:var(--d2);font-size:8px;letter-spacing:.09em;text-transform:uppercase;padding-bottom:4px}
#v-scout .sh-sqr{color:var(--d1);display:flex;align-items:center;font-size:9.5px}
#v-scout .sh-sq{position:relative;padding:6px 8px;border-radius:7px;overflow:hidden;
  background:hsl(var(--h) 24% 12% / .7);border:1px solid hsl(var(--h) 20% 22% / .5)}
#v-scout .sh-sqf{position:absolute;left:0;top:0;bottom:0;border-radius:7px}
#v-scout .sh-sqn{position:relative;color:var(--d1)}
#v-scout .sh-sqn b{color:var(--tx);font-weight:600}
#v-scout .sh-sqn em{font-style:normal;color:var(--ac)}

/* ---------- bottom row: three equal-height cards ---------- */
#v-scout .sh-row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;
  margin-top:13px;align-items:stretch}
#v-scout .sh-row3>*{min-width:0}
@media(max-width:1000px){#v-scout .sh-row3{grid-template-columns:minmax(0,1fr)}}
#v-scout .sh-row3 .sc-card{display:flex;flex-direction:column}
#v-scout .sh-row3 .sc-card .sc-note{margin-top:auto}
#v-scout .sh-st{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;
  padding:8px 10px;border-radius:10px;background:hsl(var(--h) 24% 11% / .6);
  border:1px solid var(--ln);margin-bottom:6px}
#v-scout .sh-st .d{font-family:'DM Mono',monospace;font-size:9px;color:var(--d2)}
#v-scout .sh-st .l{font-family:'DM Mono',monospace;font-size:11.5px;color:var(--tx);grid-row:2}
#v-scout .sh-st .p{font-family:'DM Mono',monospace;font-size:9px;color:var(--pos);
  grid-row:2;align-self:end;text-align:right}
#v-scout .sh-st .p.neg{color:var(--neg)}
#v-scout .sh-pen{padding-top:11px;margin-top:4px;border-top:1px solid hsl(var(--h) 20% 20% / .4)}
#v-scout .sh-pen .l{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--d2)}
#v-scout .sh-pen .v{font-family:'DM Mono',monospace;font-size:21px;color:var(--ac);margin-right:6px}
#v-scout .sh-pen .p{font-family:'DM Mono',monospace;font-size:10px;color:var(--d2)}
#v-scout .sh-penbar{position:relative;height:5px;border-radius:3px;margin-top:6px;display:block;
  background:linear-gradient(90deg,hsl(352 88% 58% / .55),hsl(var(--h) 20% 40% / .4),hsl(160 70% 45% / .55))}
#v-scout .sh-penbar b{position:absolute;top:-3px;width:11px;height:11px;border-radius:50%;
  background:var(--tx);transform:translateX(-50%);box-shadow:0 1px 4px hsl(var(--h) 45% 2% / .8)}

/* reference delta inside a bar row — the number after the value */
#v-scout .sh-mxr em .ref{font-style:normal;font-size:8.5px;margin-left:4px;opacity:.85}

/* recent-contact tally: hits/PA from the last 20 PA, counts not rates */
#v-scout .sh-tally{position:absolute;top:3px;right:4px;z-index:5;
  font-family:'DM Mono',monospace;font-size:8px;font-weight:600;
  padding:1px 4px;border-radius:4px;color:var(--d1);
  background:hsl(var(--h) 30% 8% / .8);border:1px solid hsl(var(--h) 25% 30% / .6)}
#v-scout .sh-tally.hot{color:#e9c46a;border-color:hsl(43 70% 55% / .55);
  background:hsl(43 60% 12% / .85)}

/* gold grading pane went from 3 stats to 4 (all-hits + hard-contact capture).
   Override scout.css's fixed 3-column grid so nothing overflows. */
#v-scout .sc2-sts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
#v-scout .sc2-st span{font-size:8px;letter-spacing:.08em}

/* live-hit count in the rail */
#v-scout .sh-hit .sh-cnt{color:#e9c46a}
/* "measured, no difference" — distinct from an empty cell */
#v-scout .sh-mxr em .ref.same{color:var(--d2);opacity:.6;font-size:10px}

/* ---- pitcher name in the control row ---- */
#v-scout .sh-vs{font-family:'DM Mono',monospace;font-size:10px;color:var(--d2);
  display:inline-flex;align-items:center;gap:5px}
#v-scout .sh-vs em{font-style:normal;font-size:9px;opacity:.7}
#v-scout .sh-plink{color:var(--ac);cursor:pointer;
  border-bottom:1px dotted hsl(var(--h) 60% 55% / .5)}
#v-scout .sh-plink:hover,#v-scout .sh-plink:focus{border-bottom-style:solid;outline:none}

/* ---- pitcher view: the lineup he walks into ---- */
#v-scout .sh-pgrid{display:flex;flex-direction:column;gap:2px}
#v-scout .sh-phead,#v-scout .sh-prow{display:grid;
  grid-template-columns:26px minmax(0,1.4fr) minmax(0,1.5fr) 120px 90px 16px;
  gap:10px;align-items:center;padding:9px 10px;border-radius:10px;
  font-family:'DM Mono',monospace;font-size:10px}
@media(max-width:820px){#v-scout .sh-phead,#v-scout .sh-prow{
  grid-template-columns:22px minmax(0,1.2fr) minmax(0,1fr) 70px 60px 14px;gap:6px;font-size:9px}}
#v-scout .sh-phead{color:var(--d2);font-size:8px;letter-spacing:.1em;
  text-transform:uppercase;padding-bottom:4px}
#v-scout .sh-prow{background:hsl(var(--h) 24% 11% / .55);border:1px solid var(--ln);
  cursor:pointer;transition:border-color .15s,background .15s}
#v-scout .sh-prow:hover,#v-scout .sh-prow:focus{border-color:var(--ac);
  background:hsl(var(--h) 30% 15% / .6);outline:none}
#v-scout .sh-pslot{color:var(--d2)}
#v-scout .sh-pname{color:var(--tx);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#v-scout .sh-pname em{font-style:normal;font-size:8.5px;color:var(--d2);margin-left:6px}
#v-scout .sh-gz{color:var(--d1);margin-right:5px}
#v-scout .sh-gz.hit{color:#e9c46a;font-weight:600}
#v-scout .sh-none{color:var(--d2);opacity:.55}
#v-scout .sh-pexp{display:flex;align-items:center;gap:7px;color:var(--tx)}
#v-scout .sh-pexp i{flex:1;height:6px;border-radius:3px;position:relative;
  background:hsl(var(--h) 24% 14% / .8)}
#v-scout .sh-pexp i b{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:#e9c46a}
#v-scout .sh-lh{font-size:8px;font-weight:700;padding:1px 4px;border-radius:4px;margin-right:3px}
#v-scout .sh-lh.p1B{background:hsl(160 70% 42% / .25);color:hsl(160 70% 62%)}
#v-scout .sh-lh.p2B{background:hsl(200 80% 50% / .25);color:hsl(200 80% 66%)}
#v-scout .sh-lh.p3B{background:hsl(280 70% 58% / .25);color:hsl(280 70% 70%)}
#v-scout .sh-lh.pHR{background:hsl(352 88% 55% / .25);color:hsl(352 88% 68%)}
#v-scout .sh-pgo{color:var(--d2);text-align:right;font-size:14px}

/* ---- who else lives where he gets hurt ---- */
#v-scout .sh-hurtrow{display:flex;flex-wrap:wrap;gap:7px}
#v-scout .sh-hchip{display:inline-flex;align-items:baseline;gap:6px;cursor:pointer;
  padding:7px 11px;border-radius:9px;font-family:'DM Mono',monospace;font-size:10px;
  color:var(--tx);background:hsl(var(--h) 24% 11% / .6);border:1px solid var(--ln);
  transition:border-color .15s,background .15s}
#v-scout .sh-hchip:hover,#v-scout .sh-hchip:focus{border-color:#e9c46a;
  background:hsl(43 40% 14% / .55);outline:none}
#v-scout .sh-hchip.on{border-color:var(--ac);background:hsl(var(--h) 40% 18% / .6)}
#v-scout .sh-hchip b{color:var(--d2);font-weight:400}
#v-scout .sh-hchip em{font-style:normal;font-size:8.5px;color:#e9c46a}

/* deep link from the Batters page into Scout for that matchup */
.scout-lnk{color:#e9c46a;border-bottom:1px dotted hsl(43 70% 55% / .5);white-space:nowrap}
.scout-lnk:hover,.scout-lnk:focus{border-bottom-style:solid;outline:none}
