/* ═══════════════════════════════════════════════
   NFL.CSS — Sport-specific, PBEcast, hero v2
   PropBetEdge NFL
═══════════════════════════════════════════════ */

/* ── HOME HERO ── */
.home-hero{background:linear-gradient(135deg,var(--nfl-d) 0%,var(--nfl-b) 100%);padding:2.5rem 2rem;position:relative;overflow:hidden}
.home-hero::before{content:'NFL';position:absolute;right:-20px;top:50%;transform:translateY(-50%);font-family:var(--font-display);font-size:180px;font-weight:900;color:rgba(255,255,255,.04);line-height:1;pointer-events:none;letter-spacing:-5px}
.home-hero-inner{max-width:800px;position:relative;z-index:1}
.home-hero-eyebrow{font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--nfl-vivid);margin-bottom:.4rem;opacity:.9}
.home-hero-title{font-family:var(--font-display);font-size:clamp(36px,6vw,60px);font-weight:900;color:#fff;text-transform:uppercase;letter-spacing:-2px;line-height:.9;margin-bottom:.75rem}
.home-hero-title em{color:var(--nfl-vivid);font-style:italic}
.home-hero-desc{font-size:15px;color:rgba(255,255,255,.65);line-height:1.7;max-width:520px;margin-bottom:1.5rem;font-weight:300}
.home-hero-desc strong{color:rgba(255,255,255,.9);font-weight:600}
.home-hero-actions{display:flex;gap:8px;flex-wrap:wrap}
.home-hero-actions .btn-primary{background:var(--nfl-vivid);color:var(--nfl-d)}
.home-hero-actions .btn-secondary{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2)}
.home-hero-actions .btn-secondary:hover{background:rgba(255,255,255,.18)}
.home-hero-stats{display:flex;gap:2rem;margin-top:2rem;flex-wrap:wrap}
.hhs{border-right:1px solid rgba(255,255,255,.12);padding-right:2rem}
.hhs:last-child{border-right:none}
.hhs-val{font-family:var(--font-display);font-size:26px;font-weight:900;color:var(--nfl-vivid);line-height:1;letter-spacing:-1px}
.hhs-val.gold{color:var(--gold-ll)}
.hhs-lbl{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:3px}

/* ── PBECAST ── */
.pbecast-shell{display:flex;flex-direction:column;height:calc(100vh - var(--ticker-h) - var(--header-h));overflow:hidden}
@media(min-width:901px){.pbecast-shell{height:calc(100vh - var(--ticker-h))}}

/* Scoreboard */
.cast-scoreboard{background:var(--nfl-d);padding:.875rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}
.cast-score-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.cast-team-score{display:flex;align-items:center;gap:1.5rem}
.cast-team{text-align:center}
.cast-team-abbr{font-family:var(--font-display);font-size:14px;font-weight:700;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:1px}
.cast-team-score-val{font-family:var(--font-display);font-size:44px;font-weight:900;color:#fff;line-height:1;letter-spacing:-2px}
.cast-team-score-val.winning{color:var(--nfl-vivid)}
.cast-game-info{text-align:center}
.cast-quarter{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.4)}
.cast-clock{font-family:var(--font-display);font-size:22px;font-weight:700;color:#fff;letter-spacing:.5px}
.cast-down-dist{font-size:11px;color:rgba(255,255,255,.5);margin-top:2px}
.cast-possession{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--nfl-vivid);font-weight:700}
.cast-possession::before{content:'🏈';font-size:12px}
.cast-live-badge{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--nfl-vivid);font-weight:700;letter-spacing:1px;text-transform:uppercase}
.cast-live-dot{width:6px;height:6px;border-radius:50%;background:var(--nfl-vivid);animation:blink 1.2s infinite}

/* Scoring strip */
.cast-scoring-strip{background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.06);padding:.4rem 1.5rem;overflow-x:auto;display:flex;gap:1rem;flex-shrink:0}
.cast-scoring-strip::-webkit-scrollbar{display:none}
.cast-score-event{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:11px;color:rgba(255,255,255,.5);flex-shrink:0}
.cast-score-event.td{color:var(--nfl-vivid)}
.cast-score-event::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}

/* 3-column cast grid */
.cast-grid{display:grid;grid-template-columns:200px 1fr 260px;flex:1;overflow:hidden}
@media(max-width:900px){.cast-grid{grid-template-columns:1fr}}

/* Field panel */
.cast-field-panel{border-right:1px solid var(--line);background:var(--surface-2);padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.875rem}
.cast-panel-label{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink4)}
.cast-field-svg{width:100%;border-radius:var(--r-md);overflow:hidden}
.cast-drive-info{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:.75rem;box-shadow:var(--shadow-xs)}
.cast-drive-val{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--nfl-b);margin-bottom:2px}
.cast-drive-lbl{font-size:10px;color:var(--ink4);text-transform:uppercase;letter-spacing:.5px}

/* Momentum meter */
.cast-momentum{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:.75rem;box-shadow:var(--shadow-xs)}
.cast-momentum-track{height:8px;background:var(--surface-3);border-radius:4px;position:relative;overflow:hidden;margin:.4rem 0}
.cast-momentum-fill{position:absolute;top:0;bottom:0;border-radius:4px;background:linear-gradient(90deg,#ef4444,#f97316,#eab308,#22c55e,#16a34a);background-size:500px 100%;transition:width .8s ease}
.cast-momentum-marker{position:absolute;top:-2px;bottom:-2px;width:3px;background:var(--ink);border-radius:2px;transition:left .8s ease}

/* Plays panel */
.cast-plays-panel{background:var(--surface);border-right:1px solid var(--line);overflow-y:auto;display:flex;flex-direction:column}
.cast-plays-header{padding:.75rem 1rem;border-bottom:1px solid var(--line);background:var(--surface-2);flex-shrink:0;display:flex;align-items:center;justify-content:space-between}
.cast-plays-feed{flex:1;overflow-y:auto;padding:.5rem 0}
.cast-play{padding:.625rem 1rem;border-bottom:1px solid var(--line);transition:background .1s;cursor:default}
.cast-play:hover{background:var(--surface-2)}
.cast-play.big{background:var(--nfl-ll)}
.cast-play.td{background:var(--nfl-l);border-left:3px solid var(--success)}
.cast-play.turnover{background:var(--danger-l);border-left:3px solid var(--danger)}
.cast-play-desc{font-size:12px;color:var(--ink2);line-height:1.45}
.cast-play-desc strong{color:var(--ink);font-weight:600}
.cast-play-meta{font-size:10px;color:var(--ink4);margin-top:2px;display:flex;gap:.75rem}
.cast-play-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 6px;border-radius:3px}
.cast-play-badge.td{background:var(--success-l);color:var(--success)}
.cast-play-badge.big{background:var(--nfl-ll);color:var(--nfl-b)}
.cast-play-badge.to{background:var(--danger-l);color:var(--danger)}

/* Props panel */
.cast-props-panel{background:var(--surface-2);padding:0;overflow-y:auto;display:flex;flex-direction:column}
.cast-props-header{padding:.75rem 1rem;border-bottom:1px solid var(--line);background:var(--surface);flex-shrink:0}
.cast-prop-item{padding:.875rem 1rem;border-bottom:1px solid var(--line);background:var(--surface)}
.cast-prop-player{font-family:var(--font-display);font-size:15px;font-weight:800;color:var(--ink);text-transform:uppercase;margin-bottom:2px;cursor:pointer}
.cast-prop-player:hover{color:var(--nfl-b)}
.cast-prop-line{font-size:11px;color:var(--ink3);margin-bottom:.5rem}
.cast-prop-current{font-family:var(--font-display);font-size:22px;font-weight:900;line-height:1;margin-bottom:.35rem}
.cast-prop-current.hit{color:var(--success)}
.cast-prop-current.close{color:var(--warning)}
.cast-prop-current.behind{color:var(--ink)}
.cast-prop-track{height:5px;background:var(--surface-3);border-radius:3px;overflow:hidden;margin-bottom:4px}
.cast-prop-fill{height:100%;border-radius:3px;transition:width 1s ease}
.cast-prop-fill.hit{background:var(--success)}
.cast-prop-fill.close{background:var(--warning)}
.cast-prop-fill.behind{background:var(--ink4)}
.cast-prop-pct{font-size:10px;color:var(--ink4)}

/* ── TD ALERT OVERLAY ── */
.td-alert{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:none}
.td-alert-inner{background:linear-gradient(135deg,var(--nfl-d),var(--nfl-b));border-radius:var(--r-2xl);padding:2.5rem 3.5rem;text-align:center;box-shadow:0 32px 80px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.1);animation:tdFlash 3.5s ease forwards}
.td-alert-label{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:.5rem}
.td-alert-icon{font-size:56px;margin-bottom:.5rem;animation:pulse 0.6s ease infinite}
.td-alert-text{font-family:var(--font-display);font-size:clamp(36px,6vw,64px);font-weight:900;color:#fff;text-transform:uppercase;letter-spacing:-2px;line-height:.9}
.td-alert-sub{font-size:14px;color:rgba(255,255,255,.65);margin-top:.75rem;font-weight:300}
.td-alert-yards{font-family:var(--font-display);font-size:24px;font-weight:700;color:var(--nfl-vivid);margin-top:.25rem}
.td-confetti{position:fixed;inset:0;pointer-events:none;z-index:9998}

/* ── STE PICKS ENGINE HERO ── */
.ste-hero{background:linear-gradient(135deg,var(--surface) 0%,var(--nfl-l) 100%);padding:2rem;border-bottom:2px solid var(--line-green)}
.ste-hero-eyebrow{font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--nfl-b);margin-bottom:.3rem}
.ste-hero-title{font-family:var(--font-display);font-size:clamp(26px,4vw,42px);font-weight:900;color:var(--ink);text-transform:uppercase;letter-spacing:-1px;line-height:.95;margin-bottom:.5rem}
.ste-hero-title em{color:var(--nfl-b);font-style:italic}
.ste-hero-desc{font-size:13px;color:var(--ink3);line-height:1.65;max-width:580px;margin-bottom:1rem}
.ste-signal-pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:.875rem}
.ste-signal-pill{font-size:10px;font-weight:600;color:var(--nfl-b);background:var(--nfl-ll);border:1px solid var(--line-green);padding:4px 12px;border-radius:99px}
.ste-stats-row{display:flex;gap:1.5rem;flex-wrap:wrap}
.ste-stat{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:.75rem 1rem;box-shadow:var(--shadow-xs)}
.ste-stat-val{font-family:var(--font-display);font-size:24px;font-weight:900;color:var(--nfl-b);line-height:1}
.ste-stat-lbl{font-size:9px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--ink4);margin-top:3px}

/* ── PLAYER MODAL ── */
.player-modal-header{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;align-items:center;margin-bottom:1.25rem}
.player-modal-num{font-family:var(--font-display);font-size:64px;font-weight:900;color:var(--nfl-ll);line-height:1;text-align:center;width:72px}
.player-modal-name{font-family:var(--font-display);font-size:32px;font-weight:900;color:var(--ink);text-transform:uppercase;letter-spacing:-1px;line-height:1;margin-bottom:4px}
.player-modal-meta{font-size:13px;color:var(--ink3)}
.player-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-bottom:1.25rem}
.player-stat-box{background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-md);padding:.75rem;text-align:center}
.player-stat-box-val{font-family:var(--font-display);font-size:22px;font-weight:900;color:var(--nfl-b);line-height:1}
.player-stat-box-lbl{font-size:9px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--ink4);margin-top:3px}

/* ── TEAM DETAIL MODAL ── */
.team-modal-banner{background:linear-gradient(135deg,var(--nfl-d),var(--nfl-b));padding:1.5rem;border-radius:var(--r-xl) var(--r-xl) 0 0;color:#fff}
.team-modal-abbr{font-family:var(--font-display);font-size:64px;font-weight:900;color:rgba(255,255,255,.15);line-height:1;margin-bottom:.25rem}
.team-modal-name{font-family:var(--font-display);font-size:28px;font-weight:900;color:#fff;text-transform:uppercase;letter-spacing:-1px}
.team-modal-meta{font-size:13px;color:rgba(255,255,255,.6);margin-top:.25rem}

/* ── PROSPECTS ── */
.draft-header{background:linear-gradient(135deg,var(--nfl-d),var(--nfl-b));padding:2rem;color:#fff}
.draft-year{font-family:var(--font-display);font-size:80px;font-weight:900;color:rgba(255,255,255,.08);line-height:1;position:absolute;right:2rem;top:50%;transform:translateY(-50%)}

/* ── CONFETTI PARTICLES ── */
.confetti-particle{position:absolute;width:8px;height:8px;border-radius:2px;animation:confettiFall linear forwards}
@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0deg);opacity:1}100%{transform:translateY(100vh) rotate(720deg);opacity:0}}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .cast-grid{grid-template-columns:1fr;grid-template-rows:auto auto auto}
  .cast-field-panel{display:none}
  .home-hero{padding:1.5rem 1rem}
  .ste-hero{padding:1.25rem 1rem}
}

/* ── FOOTBALL FIELD BACKGROUND ── */
.field-bg {
  position: relative;
}
.field-bg::before {
  content: '';
  position: fixed;
  top: var(--ticker-h);
  right: 0;
  bottom: 0;
  left: var(--sidebar-w);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 400'%3E%3Crect width='800' height='400' fill='%2314532D'/%3E%3Crect x='0' y='0' width='60' height='400' fill='%230f3d1f'/%3E%3Crect x='740' y='0' width='60' height='400' fill='%230f3d1f'/%3E%3Ctext x='30' y='215' text-anchor='middle' fill='rgba(255,255,255,0.15)' font-size='14' font-weight='bold' font-family='sans-serif' transform='rotate(-90,30,215)'>END ZONE%3C/text%3E%3Ctext x='770' y='215' text-anchor='middle' fill='rgba(255,255,255,0.15)' font-size='14' font-weight='bold' font-family='sans-serif' transform='rotate(90,770,215)'>END ZONE%3C/text%3E%3Cline x1='60' y1='0' x2='60' y2='400' stroke='rgba(255,255,255,0.25)' stroke-width='2'/%3E%3Cline x1='740' y1='0' x2='740' y2='400' stroke='rgba(255,255,255,0.25)' stroke-width='2'/%3E%3Cline x1='400' y1='0' x2='400' y2='400' stroke='rgba(255,255,255,0.2)' stroke-width='2'/%3E%3Ctext x='400' y='22' text-anchor='middle' fill='rgba(255,255,255,0.25)' font-size='13' font-weight='bold' font-family='sans-serif'>50%3C/text%3E%3Cline x1='128' y1='0' x2='128' y2='400' stroke='rgba(255,255,255,0.1)' stroke-width='1'/%3E%3Cline x1='196' y1='0' x2='196' y2='400' stroke='rgba(255,255,255,0.1)' stroke-width='1'/%3E%3Cline x1='264' y1='0' x2='264' y2='400' stroke='rgba(255,255,255,0.1)' stroke-width='1'/%3E%3Cline x1='332' y1='0' x2='332' y2='400' stroke='rgba(255,255,255,0.1)' stroke-width='1'/%3E%3Cline x1='468' y1='0' x2='468' y2='400' stroke='rgba(255,255,255,0.1)' stroke-width='1'/%3E%3Cline x1='536' y1='0' x2='536' y2='400' stroke='rgba(255,255,255,0.1)' stroke-width='1'/%3E%3Cline x1='604' y1='0' x2='604' y2='400' stroke='rgba(255,255,255,0.1)' stroke-width='1'/%3E%3Cline x1='672' y1='0' x2='672' y2='400' stroke='rgba(255,255,255,0.1)' stroke-width='1'/%3E%3C!-- hash marks --%3E%3Cline x1='128' y1='168' x2='128' y2='180' stroke='rgba(255,255,255,0.15)' stroke-width='1.5'/%3E%3Cline x1='196' y1='168' x2='196' y2='180' stroke='rgba(255,255,255,0.15)' stroke-width='1.5'/%3E%3Cline x1='264' y1='168' x2='264' y2='180' stroke='rgba(255,255,255,0.15)' stroke-width='1.5'/%3E%3Cline x1='332' y1='168' x2='332' y2='180' stroke='rgba(255,255,255,0.15)' stroke-width='1.5'/%3E%3Cline x1='400' y1='168' x2='400' y2='180' stroke='rgba(255,255,255,0.15)' stroke-width='1.5'/%3E%3Cline x1='468' y1='168' x2='468' y2='180' stroke='rgba(255,255,255,0.15)' stroke-width='1.5'/%3E%3Cline x1='536' y1='168' x2='536' y2='180' stroke='rgba(255,255,255,0.15)' stroke-width='1.5'/%3E%3Cline x1='604' y1='168' x2='604' y2='180' stroke='rgba(255,255,255,0.15)' stroke-width='1.5'/%3E%3Cline x1='672' y1='168' x2='672' y2='180' stroke='rgba(255,255,255,0.15)' stroke-width='1.5'/%3E%3Cline x1='128' y1='220' x2='128' y2='232' stroke='rgba(255,255,255,0.15)' stroke-width='1.5'/%3E%3Cline x1='196' y1='220' x2='196' y2='232' stroke='rgba(255,255,255,0.15)' stroke-width='1.5'/%3E%3Cline x1='264' y1='220' x2='264' y2='232' stroke='rgba(255,255,255,0.15)' stroke-width='1.5'/%3E%3Cline x1='332' y1='220' x2='332' y2='232' stroke='rgba(255,255,255,0.15)' stroke-width='1.5'/%3E%3Cline x1='468' y1='220' x2='468' y2='232' stroke='rgba(255,255,255,0.15)' stroke-width='1.5'/%3E%3Cline x1='536' y1='220' x2='536' y2='232' stroke='rgba(255,255,255,0.15)' stroke-width='1.5'/%3E%3Cline x1='604' y1='220' x2='604' y2='232' stroke='rgba(255,255,255,0.15)' stroke-width='1.5'/%3E%3Cline x1='672' y1='220' x2='672' y2='232' stroke='rgba(255,255,255,0.15)' stroke-width='1.5'/%3E%3C/svg%3E");
  background-size: cover;
  background-position: center;
  opacity: 0.04;
  pointer-events: none;
  z-index: 0;
}
@media(max-width:900px){ .field-bg::before { left: 0; top: calc(var(--ticker-h) + var(--header-h)); } }

/* ── NAV-HIDE for responsive tables ── */
@media(max-width:860px){ .nav-hide { display: none !important; } }

/* ── CLICKABLE ROWS ── */
tr[onclick] { cursor: pointer; }
tr[onclick]:hover td { background: var(--nfl-l) !important; }

/* ── PLAYER LINK ── */
.player-link { cursor: pointer; color: var(--ink); font-weight: 600; transition: color .12s; }
.player-link:hover { color: var(--nfl-b); text-decoration: underline; }

/* ── HOF CARD CLICKABLE ── */
.hof-card { cursor: pointer; }
.hof-card:hover .hof-name { color: var(--nfl-b); }

/* ═══ NFL SHRINE STYLES ═══ */
.shrine-hero{background:linear-gradient(160deg,#030C03 0%,#0A1E0A 40%,#071407 100%);position:relative;overflow:hidden;padding:3rem 2rem}
.shrine-hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(ellipse 80% 60% at 50% 100%,rgba(22,163,74,.12) 0%,transparent 70%),radial-gradient(ellipse 40% 40% at 20% 50%,rgba(184,149,41,.06) 0%,transparent 60%);pointer-events:none}
.shrine-ring{width:52px;height:52px;border-radius:50%;border:3px solid var(--gold-b);background:radial-gradient(circle,rgba(228,184,75,.3),rgba(184,149,41,.1));display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 0 20px rgba(228,184,75,.3),inset 0 0 12px rgba(228,184,75,.1)}
.shrine-stat{border-left:3px solid var(--nfl-bright);padding-left:1rem}
.shrine-stat-num{font-family:var(--font-display);font-size:clamp(32px,5vw,52px);font-weight:900;color:#fff;line-height:1;letter-spacing:-2px}
.shrine-stat-lbl{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-top:3px}
.team-crest-showcase{display:flex;gap:6px;flex-wrap:wrap}
.injury-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1rem;box-shadow:var(--shadow-card);transition:all .15s;border-left:4px solid var(--ink4)}
.injury-card.out{border-left-color:var(--danger)}
.injury-card.questionable{border-left-color:var(--warning)}
.injury-card.probable{border-left-color:var(--success)}
.injury-card.ir{border-left-color:#7c3aed}
.injury-pill{font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:3px 9px;border-radius:99px;display:inline-block}
.ip-out{background:#FEF2F2;color:#DC2626}
.ip-quest{background:#FFFBEB;color:#D97706}
.ip-prob{background:#F0FDF4;color:#16A34A}
.ip-ir{background:#F5F3FF;color:#7C3AED}
.ip-dnp{background:#FEF2F2;color:#DC2626}
.ip-lp{background:#FFFBEB;color:#D97706}
.ip-fp{background:#F0FDF4;color:#16A34A}
.trade-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:1.25rem;box-shadow:var(--shadow-card);transition:all .15s}
.trade-card:hover{box-shadow:var(--shadow-hover);border-color:var(--line2)}
.trade-card.hot{border-top:3px solid #DC2626}
.trade-card.warm{border-top:3px solid var(--warning)}
.trade-card.cold{border-top:3px solid var(--ink4)}
.rumor-badge{font-size:9px;font-weight:700;padding:3px 10px;border-radius:99px;letter-spacing:.5px;text-transform:uppercase}
.rb-hot{background:#FEF2F2;color:#DC2626}
.rb-warm{background:#FFFBEB;color:#D97706}
.rb-cold{background:var(--surface-3);color:var(--ink4);border:1px solid var(--line)}
.confidence-ring{width:52px;height:52px;position:relative;flex-shrink:0}
.insight-card{background:var(--surface);border:1px solid var(--line-green);border-radius:var(--r-xl);padding:1.25rem;box-shadow:var(--shadow-card)}
.insight-tag{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:3px 9px;border-radius:99px}
.it-trade{background:var(--nfl-ll);color:var(--nfl-b)}
.it-prop{background:var(--gold-ll);color:var(--gold-b)}
.it-injury{background:#FEF2F2;color:#DC2626}
.it-contract{background:#F5F3FF;color:#7C3AED}

/* ── LIVE FIELD ANIMATION ── */
.cast-field-live{background:#166534;border-radius:8px;overflow:hidden;position:relative}
.field-player{transition:cx .6s ease, cy .4s ease}
.field-ball{transition:cx .5s ease, cy .5s ease}
.pass-arc{stroke-dasharray:200;stroke-dashoffset:200;animation:none}
.pass-arc.animating{animation:drawArc .6s ease forwards}
@keyframes drawArc{to{stroke-dashoffset:0}}
