﻿/* extracted verbatim 2026-08-28 estate speed sweep. New content = new filename. */

  /* ---- alias legacy var names onto the locked Site.Master tokens (do NOT redefine the tokens themselves) ---- */
  .pp-wrapper{
    --bg-app:var(--void); --bg-panel:var(--panel); --bg-card:var(--panel-2);
    --border-subtle:var(--line); --border-strong:var(--line-strong);
    --text-main:var(--ink); --text-muted:var(--ink-dim); --text-dim:var(--ink-faint);
    --color-primary:var(--action-hi); --color-signal:var(--model); --color-risk:var(--book); --color-warning:var(--gold);
    --font-ui:var(--ui); --font-data:var(--mono); --font-display:var(--display);
    --radius-md:12px; --radius-lg:18px;
  }
  .pp-wrapper{width:92%;max-width:1040px;margin:32px auto 96px;color:var(--text-main);font-family:var(--font-ui);}
  .pp-wrapper *{box-sizing:border-box;}
  .pp-wrapper a:focus-visible,.pp-wrapper button:focus-visible{outline:2px solid var(--action-hi);outline-offset:3px;border-radius:8px;}

  /* ---- ambient-lift recipe: panel bg + card-edge + soft blue under-glow + radial top-light ---- */
  .pp-lift{position:relative;background:var(--bg-panel);border:1px solid var(--card-edge);border-radius:var(--radius-lg);box-shadow:0 20px 42px -24px var(--accent-glow);overflow:hidden;}
  .pp-lift::after{content:'';position:absolute;top:0;left:0;right:0;height:140px;background:radial-gradient(120% 100% at 50% 0,rgba(70,140,255,.10),transparent 70%);pointer-events:none;}

  .breadcrumbs{margin-bottom:1.1rem;font-size:.7rem;font-family:var(--font-data);color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;}
  .breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
  .breadcrumbs li::after{content:'/';margin-left:8px;color:var(--text-dim);}
  .breadcrumbs li:last-child::after{content:'';}
  .breadcrumbs a{color:var(--color-primary);text-decoration:none;}
  .breadcrumbs a:hover{text-decoration:underline;}

  /* ---- HERO: the pick the user came for, on an ambient-lift surface ---- */
  .pp-hero{padding:30px 32px 32px;margin-bottom:14px;}
  .pp-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-grad);z-index:2;}
  .bb-eyebrow,.pp-league-badge{position:relative;z-index:1;}
  .pp-hero h1{font-family:var(--font-display);font-size:clamp(2rem,5vw,2.7rem);font-weight:700;margin:0 0 4px;letter-spacing:-.025em;color:#fff;line-height:1.04;position:relative;z-index:1;}
  .pp-team-name{font-size:1rem;color:var(--text-muted);margin:0 0 18px;position:relative;z-index:1;}
  .pp-badges{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1;}
  /* ---- hero identity row: the athlete's face beside the H1. UFC fighters and tennis players have
         no team, so schedule_*_logo is 100% NULL for them and this page carried zero imagery.
         FACE-ONLY: the slot is emitted only when tblAthlete_Image actually resolves a headshot,
         so the ten team sports render byte-identically to before (no grey initials puck). ---- */
  .pp-hero-id{position:relative;z-index:1;display:flex;align-items:center;gap:20px;}
  .pp-hero-idtext{flex:1 1 auto;min-width:0;}
  .pp-hero-face{width:96px;height:96px;flex:none;border:1px solid var(--card-edge);}
  .badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-data);font-size:.76rem;font-weight:700;padding:6px 12px;border-radius:8px;}
  .badge-edge{background:rgba(52,211,153,.12);color:var(--color-signal);border:1px solid rgba(52,211,153,.30);}
  .badge-edge-neg{background:rgba(248,113,113,.12);color:var(--color-risk);border:1px solid rgba(248,113,113,.30);}
  .badge-streak{background:rgba(245,179,1,.12);color:var(--color-warning);border:1px solid rgba(245,179,1,.30);}
  .badge-pick{background:rgba(70,140,255,.12);color:var(--accent-ink);border:1px solid var(--card-edge);}

  /* ---- the latest-pick card inside the hero ---- */
  .pp-pick-card{position:relative;z-index:1;background:var(--panel-2);border:1px solid var(--card-edge);border-radius:var(--radius-md);padding:20px 24px;margin-top:22px;}
  .pp-pick-label{font-size:.66rem;font-family:var(--font-data);text-transform:uppercase;letter-spacing:.12em;color:var(--accent-ink);margin-bottom:11px;}
  .pp-pick-main{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
  .pp-pick-stat{font-family:var(--font-display);font-size:1.45rem;font-weight:700;color:#fff;}
  .pp-pick-line{font-family:var(--font-data);font-size:1.05rem;color:var(--color-signal);font-weight:700;font-variant-numeric:tabular-nums;}
  .pp-pick-odds{font-family:var(--font-data);font-size:.92rem;color:var(--text-muted);font-variant-numeric:tabular-nums;}
  .pp-game-info{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle);}
  .pp-team-logo{width:34px;height:34px;object-fit:contain;}
  /* athlete headshots are circle-cropped: a portrait sized "contain" letterboxes inside the box.
     Page-scoped so it lands whether or not the shared .bb-face rule reaches Site.Master. */
  .pp-wrapper img.bb-face{border-radius:50%;object-fit:cover;background:var(--panel-2);}
  .pp-vs{font-family:var(--font-data);font-size:.72rem;color:var(--text-dim);}
  .pp-game-meta{font-size:.78rem;color:var(--text-muted);margin-top:4px;font-family:var(--font-data);}

  /* ---- proof strip -> /results (credibility right beside the pick) ---- */
  .bb-proof{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 22px;margin-bottom:14px;background:var(--panel-2);border:1px solid var(--card-edge);border-radius:var(--radius-md);text-decoration:none;transition:border-color .18s;}
  .bb-proof:hover{border-color:var(--border-strong);}
  .bb-proof-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .bb-proof-dot{width:8px;height:8px;border-radius:50%;background:var(--color-signal);box-shadow:0 0 10px var(--color-signal);flex:none;}
  .bb-proof-text{font-size:.84rem;color:var(--text-muted);font-family:var(--font-ui);}
  .bb-proof-text strong{color:var(--color-signal);font-family:var(--font-data);font-weight:700;}
  .bb-proof-cta{font-family:var(--font-data);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-ink);white-space:nowrap;}

  /* ---- model stats grid (decision credibility next to the pick) ---- */
  .pp-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px;}
  .pp-stat-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:16px 18px;}
  .pp-stat-label{font-size:.62rem;font-family:var(--font-data);text-transform:uppercase;letter-spacing:.09em;color:var(--text-dim);margin-bottom:8px;}
  .pp-stat-value{font-family:var(--font-data);font-size:1.4rem;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;}
  .pp-stat-edge .pp-stat-value{color:var(--color-signal);}

  /* ---- sections ---- */
  .pp-section{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:14px;overflow:hidden;}
  .pp-section.is-locked{border-color:var(--card-edge);box-shadow:0 20px 42px -28px var(--accent-glow);}
  .pp-section-header{padding:17px 22px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
  .pp-section-header h2{font-family:var(--font-display);font-size:1.02rem;font-weight:700;margin:0;color:#fff;display:flex;align-items:center;gap:9px;}
  .pp-section-header h2 i{color:var(--color-primary);}
  .pp-section-body{padding:22px;}
  .pp-analysis-content h2{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:#fff;margin:0 0 12px;}
  .pp-analysis-content p{font-size:.95rem;line-height:1.7;color:var(--text-muted);margin:0 0 12px;}
  .pp-analysis-content em{color:var(--text-dim);font-style:italic;font-size:.85rem;}

  /* ---- paywall / locked-tease ---- */
  .pp-paywall-wrap{position:relative;}
  .pp-paywall-fade{position:absolute;bottom:0;left:0;right:0;height:180px;background:linear-gradient(to bottom,transparent,var(--bg-panel));pointer-events:none;}
  .pp-paywall-cta{text-align:center;padding:28px 22px 30px;border-top:1px solid var(--border-subtle);background:var(--panel-2);}
  .bb-lock-ring{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;margin-bottom:12px;background:var(--bg-panel);border:2px solid transparent;background-image:linear-gradient(var(--bg-panel),var(--bg-panel)),var(--accent-grad);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 0 22px -4px var(--accent-glow);}
  .bb-lock-ring i{color:var(--accent-ink);font-size:1rem;}
  .pp-paywall-cta h3{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:#fff;margin:0 0 6px;}
  .pp-paywall-cta p{color:var(--text-muted);margin:0 auto 18px;font-size:.92rem;max-width:440px;line-height:1.6;}
  .pp-paywall-micro{margin-top:12px;font-family:var(--font-data);font-size:.7rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;}

  /* ---- gradient CTA (matches master .btn-neon) ---- */
  .btn-neon{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;background:var(--accent-grad);color:#fff;padding:13px 26px;border-radius:11px;font-family:var(--font-ui);font-weight:700;font-size:.92rem;text-decoration:none;border:none;cursor:pointer;box-shadow:0 10px 26px -8px var(--accent-glow);transition:transform .18s,box-shadow .18s;}
  .btn-neon:hover{transform:translateY(-1px);box-shadow:0 14px 30px -8px var(--accent-glow);}

  /* ---- track-record table ---- */
  .pp-history-table{width:100%;border-collapse:collapse;font-size:.88rem;}
  .pp-history-table th{text-align:left;padding:11px 14px;font-family:var(--font-data);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);border-bottom:1px solid var(--border-subtle);background:var(--panel-2);}
  .pp-history-table td{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.05);color:var(--text-muted);vertical-align:middle;}
  .pp-history-table tr:last-child td{border-bottom:none;}
  .pp-history-table tr:hover td{background:rgba(255,255,255,.02);}
  /* matchup-cell headshot: same 18px box the team logos use, but no onerror-hide (collapsing the
     element on a dead URL reflows the row). Sizing only — the circle comes from img.bb-face. */
  .pp-history-table img.pp-hist-face{width:18px;height:18px;vertical-align:middle;margin-right:5px;}
  .pp-history-table img.pp-hist-face-h{margin-right:7px;}
  .result-hit{color:var(--color-signal);font-weight:700;font-family:var(--font-data);}
  .result-miss{color:var(--color-risk);font-weight:700;font-family:var(--font-data);}
  .result-push{color:var(--text-dim);font-weight:700;font-family:var(--font-data);}
  .result-pending{color:var(--text-dim);font-style:italic;font-family:var(--font-data);}
  .pp-hit-rate-bar{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:14px 22px;background:var(--panel-2);border-bottom:1px solid var(--border-subtle);}
  .pp-hit-rate-label{font-size:.72rem;color:var(--text-dim);font-family:var(--font-data);text-transform:uppercase;letter-spacing:.05em;}
  /* HONESTY: hit rate is neutral, not "success" green — a high hit rate does not imply profit. */
  .pp-hit-rate-value{font-family:var(--font-data);font-size:1.25rem;font-weight:700;color:var(--text-main);font-variant-numeric:tabular-nums;}
  .pp-hit-rate-note{flex-basis:100%;font-size:.72rem;line-height:1.4;color:var(--text-dim);margin-top:2px;}

  .pp-not-found{text-align:center;padding:80px 24px;}
  .pp-not-found h2{font-family:var(--font-display);color:#fff;margin:0 0 8px;}
  .pp-not-found p{color:var(--text-muted);}
  .locked-row td{opacity:.4;}

  .pp-disclaimer{margin-top:8px;font-size:.74rem;line-height:1.6;color:var(--text-dim);text-align:center;}

  @media (max-width:768px){
    .pp-stats-grid{grid-template-columns:repeat(2,1fr);}
    .pp-history-table th:nth-child(2),.pp-history-table td:nth-child(2){display:none;}
    .pp-hero{padding:24px 20px 26px;}
    .pp-hero-id{gap:14px;}
    .pp-hero-face{width:68px;height:68px;}
    .pp-pick-card{padding:18px;}
  }
  @media (prefers-reduced-motion:reduce){
    .btn-neon,.bb-proof{transition:none;}
    .btn-neon:hover{transform:none;}
  }

  /* ---- LIGHT-MODE overrides: hardcoded #fff text sits on token/panel surfaces -> use --ink (KEEP #fff on .btn-neon accent-grad) ---- */
  :root[data-theme="light"] .pp-hero h1,
  :root[data-theme="light"] .pp-pick-stat,
  :root[data-theme="light"] .pp-stat-value,
  :root[data-theme="light"] .pp-section-header h2,
  :root[data-theme="light"] .pp-analysis-content h2,
  :root[data-theme="light"] .pp-paywall-cta h3,
  :root[data-theme="light"] .pp-not-found h2{color:var(--ink);}
  /* white hairline row-separators are invisible on light surfaces -> re-point at the theme line token */
  :root[data-theme="light"] .pp-history-table td{border-bottom-color:var(--line);}
  :root[data-theme="light"] .pp-history-table tr:hover td{background:var(--panel-2);}
  @media (prefers-color-scheme:light){
    :root:not([data-theme="dark"]):not([data-theme="light"]) .pp-hero h1,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .pp-pick-stat,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .pp-stat-value,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .pp-section-header h2,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .pp-analysis-content h2,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .pp-paywall-cta h3,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .pp-not-found h2{color:var(--ink);}
    :root:not([data-theme="dark"]):not([data-theme="light"]) .pp-history-table td{border-bottom-color:var(--line);}
    :root:not([data-theme="dark"]):not([data-theme="light"]) .pp-history-table tr:hover td{background:var(--panel-2);}
  }
