/* The restored basketball scene is independent of ticket layout and entitlements. */
.intelligence-hero {
  --pp-scene-height-min: 720px;
  --pp-scene-height-max: 1040px;
  --pp-scene-type: clamp(48px, 9.6vw, 184px);
  --pp-scene-leading: .92;
  --pp-scene-copy-width: 440px;
  --pp-scene-copy-position: 48%;
  --pp-scene-card-width: 260px;
  --pp-scene-card-height: 142px;
  --pp-scene-card-top: 4%;
  --pp-scene-card-bottom: 8%;
  --pp-scene-card-inset: 4.5%;
  --pp-scene-art-width: 106px;
  --pp-scene-art-height: 104px;
  --pp-scene-photo-width: 145px;
  --pp-scene-photo-height: 106px;
  --pp-scene-photo-left: -19px;
  --pp-scene-logo-size: 84px;
  --pp-scene-badge-size: 26px;
  --pp-scene-pick-left: 116px;
  --pp-scene-pick-top: 46px;
  --pp-scene-pick-type: 35px;
  --pp-scene-name-type: 21px;
  --pp-scene-label-type: 11px;
  --pp-scene-analysis-type: 11px;
  --pp-scene-card-blur: 18px;
  --pp-scene-glass: color-mix(in srgb, var(--pp-color-surface) 85%, transparent);
  --pp-scene-glass-light: color-mix(in srgb, var(--pp-color-text) 10%, transparent);
  --pp-scene-glow: color-mix(in srgb, var(--pp-color-text) 18%, transparent);
  --pp-scene-shadow: 0 var(--pp-space-3) var(--pp-space-8) #0003;
  --pp-scene-mask: linear-gradient(transparent, #000 6%, #000 82%, transparent);
  --pp-scene-fallback-mask: radial-gradient(ellipse at 50% 53%, #0005, #000 60%);
  --pp-scene-canvas-duration: 1200ms;
  --hero-exit: 0;
  --scene-x: 0px;
  position: relative;
  height: clamp(var(--pp-scene-height-min), calc(100svh - var(--pp-header-height) - var(--pp-space-6)), var(--pp-scene-height-max));
  min-height: var(--pp-scene-height-min);
  overflow: hidden;
  isolation: isolate;
}
.landing .site-header { margin-bottom: 0; }
.landing .ticket-main { padding-top: var(--pp-space-10); scroll-margin-top: var(--pp-space-6); }
.skip-predictions { position: absolute; left: var(--pp-space-4); top: var(--pp-space-4); z-index: 10; padding: var(--pp-space-3) var(--pp-space-4); background: var(--pp-color-text); color: var(--pp-color-canvas); border-radius: var(--pp-radius); translate: 0 -200%; }
.skip-predictions:focus { translate: none; }
.intelligence-hero .hero-atmosphere { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: var(--pp-color-canvas); opacity: calc(1 - var(--hero-exit) * .65); mask-image: var(--pp-scene-mask); }
#intelligence-canvas { display: block; width: 100%; height: 100%; opacity: 0; transition: opacity var(--pp-scene-canvas-duration) ease; }
#intelligence-canvas.is-ready { opacity: 1; }
.intelligence-hero .particle-art { position: absolute; inset: 0; pointer-events: none; z-index: -1; }
.intelligence-hero .basketball-fallback { width: 100%; height: 100%; display: block; object-fit: cover; mask-image: var(--pp-scene-fallback-mask); }
.intelligence-hero .has-particles .basketball-fallback { opacity: 0; }
/* Tint the no-WebGL image with the same gold as the live particle mesh. */
@supports (mask-image: url('/assets/basketball-particles.svg')) {
  .intelligence-hero .basketball-fallback { opacity: 0; }
  .intelligence-hero .particle-art::before { content: ''; position: absolute; inset: 0; background: var(--pp-color-accent); mask: url('/assets/basketball-particles.svg') center / cover no-repeat; }
  .intelligence-hero .particle-art { mask-image: var(--pp-scene-fallback-mask); }
  .intelligence-hero .has-particles::before { opacity: 0; }
}
.intelligence-hero .hero-copy { position: absolute; z-index: 2; width: 96%; left: 50%; top: var(--pp-scene-copy-position); transform: translate(-50%, -50%); translate: 0 calc(var(--hero-exit) * -35px); text-align: center; }
.intelligence-hero #hero-title { margin: 0; color: var(--pp-color-text); font: var(--pp-weight-display) var(--pp-scene-type)/var(--pp-scene-leading) var(--pp-font-display); letter-spacing: var(--pp-tracking-hero); text-transform: uppercase; white-space: nowrap; }
.intelligence-hero .hero-title-line { display: block; white-space: nowrap; perspective: 1100px; }
.intelligence-hero .title-display { translate: calc(var(--scene-x) * .5 + var(--hero-exit) * 22px) 0; }
.intelligence-hero .motion-title-word { display: inline-block; transform-origin: 50% 80%; }
.intelligence-hero .hero-copy > p { max-width: var(--pp-scene-copy-width); margin: var(--pp-space-6) auto 0; color: var(--pp-color-text-secondary); font-size: var(--pp-text-body); line-height: 1.7; }
.intelligence-hero .mobile-break { display: block; }
.intelligence-hero .hero-actions { margin-top: var(--pp-space-6); }
.intelligence-hero .primary-action { display: inline-flex; align-items: center; justify-content: center; min-height: var(--pp-input-height); padding: var(--pp-space-4) var(--pp-space-8); border-radius: var(--pp-radius-action); background: var(--pp-color-accent); color: var(--pp-color-on-accent); font-weight: var(--pp-weight-pick); font-size: var(--pp-text-small); text-decoration: none; }
.intelligence-hero .primary-action > span { position: relative; }
.intelligence-hero .floating-signals { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.intelligence-hero .signal-network { position: absolute; inset: 0; display: block; width: 100%; height: 100%; overflow: visible; fill: none; opacity: calc(1 - var(--hero-exit)); }
.intelligence-hero .data-packet { fill: var(--pp-color-accent); stroke: none; opacity: 0; filter: drop-shadow(0 0 var(--pp-space-1) var(--pp-scene-glow)); }
.intelligence-hero .glass-signal { position: absolute; width: var(--pp-scene-card-width); height: var(--pp-scene-card-height); overflow: hidden; border: var(--pp-border) solid var(--pp-color-rule); border-top-color: color-mix(in srgb, var(--pp-color-text) 35%, transparent); border-radius: var(--pp-radius-card); background: linear-gradient(135deg, var(--pp-scene-glass-light), transparent 70%), var(--pp-scene-glass); box-shadow: var(--pp-scene-shadow); backdrop-filter: blur(var(--pp-scene-card-blur)); -webkit-backdrop-filter: blur(var(--pp-scene-card-blur)); }
.intelligence-hero .glass-signal::after { content: ''; position: absolute; inset: 0; border: var(--pp-border) solid var(--pp-color-text-secondary); border-radius: inherit; box-shadow: inset 0 0 var(--pp-space-6) var(--pp-scene-glow); opacity: var(--signal-energy, 0); }
.intelligence-hero .signal-form { top: var(--pp-scene-card-top); left: var(--pp-scene-card-inset); }
.intelligence-hero .signal-matchup { top: var(--pp-scene-card-top); right: var(--pp-scene-card-inset); }
.intelligence-hero .signal-rotation { bottom: var(--pp-scene-card-bottom); left: var(--pp-scene-card-inset); }
.intelligence-hero .signal-market { bottom: var(--pp-scene-card-bottom); right: var(--pp-scene-card-inset); }
.intelligence-hero .floating-signals[data-network-active=true] .glass-signal { opacity: calc(var(--card-visibility, 0) * (1 - var(--hero-exit))); translate: calc(var(--data-origin-x, 0px) * (1 - var(--card-visibility, 0))) calc(var(--data-origin-y, 12px) * (1 - var(--card-visibility, 0))); scale: calc(.95 + var(--card-visibility, 0) * .05); will-change: opacity, translate, scale; }
.intelligence-hero .floating-signals[data-network-active=true] .signal-network { z-index: 2; }
.intelligence-hero .pick-source { position: absolute; top: var(--pp-space-3); left: var(--pp-space-3); right: var(--pp-space-2); color: var(--pp-color-text-secondary); font-size: var(--pp-scene-label-type); line-height: 1.3; }
.intelligence-hero .has-pick-alert .pick-source { opacity: calc(1 - var(--pick-visibility, 1)); }
.intelligence-hero .pick-alert { position: absolute; top: var(--pp-space-2); left: var(--pp-space-3); padding: var(--pp-space-1) var(--pp-space-2); background: var(--pp-color-accent); color: var(--pp-color-on-accent); border-radius: var(--pp-radius-pick); font-size: var(--pp-scene-label-type); font-weight: var(--pp-weight-pick); opacity: var(--pick-visibility, 1); }
.intelligence-hero .pick-art { position: absolute; bottom: 0; left: 0; width: var(--pp-scene-art-width); height: var(--pp-scene-art-height); opacity: calc(.55 + var(--pick-visibility, 1) * .45); }
.intelligence-hero .pick-headshot { position: absolute; bottom: 0; left: var(--pp-scene-photo-left); width: var(--pp-scene-photo-width); height: var(--pp-scene-photo-height); max-width: none; object-fit: contain; }
.intelligence-hero .pick-team-badge { position: absolute; right: 0; bottom: var(--pp-space-2); width: var(--pp-scene-badge-size); height: var(--pp-scene-badge-size); }
.intelligence-hero .pick-team-logo { width: var(--pp-scene-logo-size); height: var(--pp-scene-logo-size); margin: var(--pp-space-2); object-fit: contain; }
.intelligence-hero .pick-copy { position: absolute; left: var(--pp-scene-pick-left); right: var(--pp-space-3); top: var(--pp-scene-pick-top); }
.intelligence-hero .pick-name { display: block; font: var(--pp-weight-pick) var(--pp-scene-name-type)/1.2 var(--pp-font-body); color: var(--pp-color-text); }
.intelligence-hero .pick-result { display: flex; align-items: baseline; gap: var(--pp-space-2); margin-top: var(--pp-space-2); opacity: var(--pick-visibility, 1); color: var(--pp-color-accent); }
.intelligence-hero .pick-value { position: relative; display: inline-block; font: var(--pp-scene-pick-type)/1 var(--pp-font-market); }
.intelligence-hero .pick-value[data-dot-lettering=true] { color: transparent; }
.intelligence-hero .pick-scoreboard { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; fill: var(--pp-color-accent); }
.intelligence-hero .pick-unit { font-size: var(--pp-scene-label-type); font-weight: var(--pp-weight-pick); }
.intelligence-hero .pick-analysis { position: absolute; bottom: var(--pp-space-2); left: var(--pp-space-2); margin: 0; padding: var(--pp-space-1); border-radius: var(--pp-radius); background: var(--pp-color-surface); color: var(--pp-color-text-secondary); font-size: var(--pp-scene-analysis-type); line-height: 1.3; opacity: calc(1 - var(--pick-visibility, 1)); }
.intelligence-hero .hero-pick:is([data-pick-phase=group], [data-pick-phase=compare]) .pick-analysis { color: var(--pp-color-accent); }
@media (min-width: 761px) and (max-width: 1099px) { .intelligence-hero { --pp-scene-card-height: 132px; --pp-scene-card-top: 3%; --pp-scene-card-bottom: 5%; } }
@media (max-width: 760px) {
  .intelligence-hero { --pp-scene-type: clamp(48px, 17vw, 112px); }
  .intelligence-hero { --pp-scene-height-min: 740px; --pp-scene-height-max: 820px; --pp-scene-copy-width: 295px; --pp-scene-card-width: 43%; --pp-scene-card-height: 132px; --pp-scene-card-top: 5%; --pp-scene-card-bottom: 7%; --pp-scene-card-inset: 4%; --pp-scene-art-width: 72px; --pp-scene-art-height: 92px; --pp-scene-photo-width: 114px; --pp-scene-photo-height: 84px; --pp-scene-photo-left: -26px; --pp-scene-badge-size: 20px; --pp-scene-logo-size: 62px; --pp-scene-pick-left: 74px; --pp-scene-pick-top: 43px; --pp-scene-pick-type: 28px; --pp-scene-name-type: 17px; --pp-scene-label-type: 10px; --pp-scene-analysis-type: 9px; }
  .intelligence-hero .hero-copy > p { font-size: var(--pp-text-small); }
  .intelligence-hero .mobile-break { display: block; }
  .intelligence-hero .pick-result { flex-wrap: wrap; gap: var(--pp-space-1); }
  .intelligence-hero .pick-copy { right: var(--pp-space-2); }
  .intelligence-hero .pick-team-logo { margin: var(--pp-space-4) 0 0 var(--pp-space-1); }
}
@media (max-width: 380px) { .intelligence-hero { --pp-scene-pick-left: 65px; --pp-scene-name-type: 15px; --pp-scene-pick-type: 23px; } }
@media (prefers-reduced-motion: no-preference) { html:has(.intelligence-hero) { scroll-behavior: smooth; } }
@media (prefers-reduced-motion: reduce) {
  #intelligence-canvas { transition: none; }
  .intelligence-hero .hero-copy, .intelligence-hero .hero-title-line, .intelligence-hero .motion-title-word, .intelligence-hero .primary-action > span { animation: none !important; translate: none; transition: none; }
  .intelligence-hero .hero-atmosphere, .intelligence-hero .signal-network, .intelligence-hero .pick-result { opacity: 1; }
  .intelligence-hero .network-data, .intelligence-hero .pick-analysis { display: none; }
  .intelligence-hero .glass-signal::after { opacity: 0; }
}
@media (prefers-reduced-transparency: reduce) { .intelligence-hero .glass-signal { background: var(--pp-color-surface); backdrop-filter: none; -webkit-backdrop-filter: none; } }
