:root {
    --bg: #080b12;
    --panel: #101624;
    --panel2: #151d2f;
    --text: #eef3ff;
    --muted: #8d99ae;
    --green: #26d07c;
    --yellow: #f6c343;
    --red: #ff5d5d;
    --line: #263148;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: radial-gradient(circle at top left, #15213b, #080b12 45%);
    color: var(--text);
    font-family: Inter, Segoe UI, Arial, sans-serif;
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 10;
    background: rgba(8, 11, 18, .85);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 24px;
}

.brand {
    font-weight: 900;
    font-size: 22px;
    color: white;
    text-decoration: none;
}

nav a {
    color: var(--muted);
    text-decoration: none;
    margin-left: 18px;
    font-weight: 700;
}

.page {
    max-width: 1250px;
    margin: auto;
    padding: 24px;
}

.hero {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 20px;
    align-items: stretch;
    margin: 20px 0 26px;
}

.eyebrow {
    color: var(--green);
    text-transform: uppercase;
    font-weight: 900;
    letter-spacing: .14em;
}

h1 {
    font-size: clamp(30px, 5vw, 56px);
    margin: 6px 0;
}

.subtext {
    color: var(--muted);
    font-size: 17px;
}

.hero-card,
.card,
.table-card,
.game-card,
.login-card,
.metric {
    background: linear-gradient(180deg, var(--panel2), var(--panel));
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: 0 20px 45px rgba(0, 0, 0, .28);
}

.hero-card {
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.hero-card strong {
    font-size: 27px;
    color: var(--green);
    margin: 8px 0;
}

.controls {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
}

input,
select,
button {
    background: #0c1322;
    color: var(--text);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 13px 14px;
    font-weight: 700;
}

input {
    flex: 1;
}

button {
    cursor: pointer;
}

.table-scroll {
    overflow-x: auto;
}

.table-card {
    padding: 8px;
}

table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 8px;
    min-width: 1000px;
}

th {
    text-align: left;
    color: var(--muted);
    font-size: 12px;
    text-transform: uppercase;
    padding: 10px;
}

td {
    background: #0d1423;
    padding: 12px;
    border-top: 1px solid #1e2a40;
    border-bottom: 1px solid #1e2a40;
}

tr {
    cursor: pointer;
}

td:first-child {
    border-radius: 14px 0 0 14px;
    border-left: 1px solid #1e2a40;
}

td:last-child {
    border-radius: 0 14px 14px 0;
    border-right: 1px solid #1e2a40;
}

.player-cell {
    display: flex;
    align-items: center;
    gap: 10px;
}

.player-cell img,
.player-hero img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    background: #111;
}

.player-cell small {
    display: block;
    color: var(--muted);
}

.bar {
    height: 9px;
    background: #252f43;
    border-radius: 99px;
    overflow: hidden;
    min-width: 90px;
}

.bar span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--yellow), var(--green));
    border-radius: 99px;
}

.lock {
    margin-right: 4px;
}

/* ========================= */
/* GAMES PAGE */
/* ========================= */

.games-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.game-card {
    overflow: hidden;
}

.accordion {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 34px;
    align-items: center;
    gap: 14px;
    background: transparent;
    border: none;
    color: var(--text);
    cursor: pointer;
    padding: 18px;
    font-size: 20px;
}

.game-matchup-header {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(120px, 1fr) 90px minmax(120px, 1fr);
    align-items: center;
    gap: 18px;
    min-width: 0;
}

.team-side {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 900;
    color: var(--text);
    white-space: nowrap;
    min-width: 0;
}

.team-side:first-child {
    justify-content: flex-end;
}

.team-side:last-child {
    justify-content: flex-start;
}

.team-side span {
    display: inline-block;
    white-space: nowrap;
    overflow: visible;
    min-width: 42px;
    text-align: left;
}


.game-center {
    text-align: center;
    min-width: 90px;
}

.game-time {
    color: var(--muted);
    font-size: 13px;
    margin-bottom: 3px;
    white-space: nowrap;
}

.vs-text {
    color: var(--yellow);
    font-weight: 900;
    font-size: 14px;
}

.accordion-plus {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin: 0;
    border-radius: 999px;
    background: rgba(38, 208, 124, 0.12);
    border: 1px solid rgba(38, 208, 124, 0.45);
    color: var(--green);
    font-size: 20px;
    font-weight: 900;
    line-height: 1;
    flex-shrink: 0;
}

.panel {
    display: none;
    padding: 14px;
}

.mini-pick {
    display: grid;
    grid-template-columns: 1fr repeat(3, 110px);
    gap: 8px;
    color: var(--text);
    text-decoration: none;
    border-top: 1px solid var(--line);
    padding: 14px 4px;
}

/* ========================= */
/* PLAYER PAGE */
/* ========================= */

.player-hero {
    display: flex;
    gap: 18px;
    align-items: center;
    margin-bottom: 22px;
}

.player-hero img {
    width: 90px;
    height: 90px;
}

.enhanced-player-hero {
    background: linear-gradient(180deg, var(--panel2), var(--panel));
    border: 1px solid var(--line);
    border-radius: 24px;
    padding: 22px;
    box-shadow: 0 20px 45px rgba(0, 0, 0, .28);
}

.player-title-block h1 {
    margin: 0;
}

.grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 18px;
}

.metric {
    padding: 22px;
}

.metric span {
    color: var(--muted);
}

.metric strong {
    display: block;
    font-size: 36px;
    color: var(--green);
    margin-top: 8px;
}

.metric.risky strong {
    color: var(--yellow);
}

.card {
    padding: 22px;
    margin-bottom: 18px;
}

.explain {
    font-size: 22px;
    line-height: 1.45;
}

.clean-list {
    line-height: 2;
}

.profile-row {
    display: grid;
    grid-template-columns: 180px 1fr 70px;
    gap: 12px;
    align-items: center;
    margin: 16px 0;
}

.profile-row span {
    color: var(--muted);
    font-weight: 800;
}

.profile-row strong {
    color: var(--green);
    text-align: right;
}

/* ========================= */
/* LOGIN / SIGNUP */
/* ========================= */

.login-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 16px;
}

.login-card {
    max-width: 420px;
    margin: 70px auto;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.login-header {
    text-align: center;
    margin-bottom: 18px;
}

.login-header h1 {
    margin-bottom: 8px;
}

.login-fields {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.login-btn,
.login-card button {
    background: linear-gradient(90deg, var(--green), #1fb96c);
    color: #04140c;
    font-weight: 900;
    cursor: pointer;
    transition: 0.2s ease;
}

.login-btn:hover {
    transform: translateY(-1px);
}

.divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 0;
    color: var(--muted);
    font-size: 13px;
}

.divider::before,
.divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--line);
}

.google-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-decoration: none;
    color: var(--text);
    background: #0d1423;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 13px;
    font-weight: 800;
    transition: 0.2s ease;
}

.google-btn:hover {
    background: #131d31;
}

.google-btn img {
    width: 20px;
    height: 20px;
}

.login-footer {
    margin-top: 18px;
    text-align: center;
    color: var(--muted);
    font-size: 14px;
}

.login-footer a {
    color: var(--green);
    text-decoration: none;
    font-weight: 800;
}

.flash {
    padding: 12px;
    border-radius: 12px;
    background: #2b1320;
    color: #ffc9d3;
    margin-bottom: 12px;
}

/* ========================= */
/* FAVORITES */
/* ========================= */

.favorites-card {
    margin-bottom: 22px;
    padding: 18px;
}

.favorites-card h2 {
    margin: 4px 0 6px;
}

.favorite-btn {
    background: transparent;
    border: none;
    color: var(--muted);
    font-size: 24px;
    cursor: pointer;
    padding: 4px 8px;
}

.favorite-btn:hover {
    color: var(--yellow);
    transform: scale(1.1);
}

.favorite-btn.active {
    color: var(--yellow);
}

.favorite-login-link {
    color: var(--muted);
    font-size: 24px;
    text-decoration: none;
}

.favorite-login-link:hover {
    color: var(--yellow);
}

/* ========================= */
/* PREMIUM */
/* ========================= */

.premium-link {
    color: var(--green);
    font-weight: 900;
}

.premium-pill {
    display: inline-block;
    background: rgba(38, 208, 124, 0.15);
    border: 1px solid var(--green);
    color: var(--green);
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    margin-left: 18px;
}

/* ========================= */
/* PARLAY BUILDER */
/* ========================= */

.parlay-controls {
    margin-bottom: 18px;
}

.parlay-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 18px;
    align-items: start;
}

.parlay-player-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.parlay-pick-card {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(260px, auto) 80px;
    gap: 12px;
    align-items: center;
    background: #0d1423;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 14px;
}

.parlay-pick-card small,
.parlay-leg small {
    display: block;
    color: var(--muted);
    margin-top: 4px;
}

.parlay-metrics {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.market-pill {
    font-size: 12px;
    font-weight: 900;
    color: var(--green);
    background: rgba(38, 208, 124, 0.10);
    border: 1px solid rgba(38, 208, 124, 0.30);
    border-radius: 999px;
    padding: 6px 9px;
    white-space: nowrap;
}

.market-pill.risky {
    color: var(--yellow);
    background: rgba(246, 195, 67, 0.10);
    border-color: rgba(246, 195, 67, 0.30);
}

.add-leg-btn {
    background: var(--green);
    color: #03130b;
    cursor: pointer;
    font-weight: 900;
}

.parlay-slip {
    position: sticky;
    top: 86px;
    max-height: calc(100vh - 110px);
    overflow-y: auto;
}

.parlay-leg {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    background: #0d1423;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 12px;
    margin-bottom: 12px;
}

.parlay-leg button {
    cursor: pointer;
}

.parlay-results {
    margin-top: 18px;
    border-top: 1px solid var(--line);
    padding-top: 14px;
}

.parlay-results p {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

/* ========================= */
/* RESPONSIVE */
/* ========================= */

@media(max-width: 1100px) {
    .parlay-layout {
        grid-template-columns: 1fr;
    }

    .parlay-slip {
        position: static;
        max-height: none;
        overflow: visible;
    }

    .parlay-pick-card {
        grid-template-columns: 1fr;
    }

    .parlay-metrics {
        justify-content: flex-start;
    }
}

@media(max-width: 760px) {
    .topbar {
        padding: 13px;
        align-items: flex-start;
    }

    .topbar nav {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    .topbar nav a {
        margin-left: 0;
    }

    .hero {
        grid-template-columns: 1fr;
    }

    .controls {
        flex-direction: column;
    }

    .page {
        padding: 14px;
    }

    .mini-pick {
        grid-template-columns: 1fr;
    }

    .grid {
        grid-template-columns: 1fr;
    }

    h1 {
        font-size: 34px;
    }

    .game-matchup-header {
        grid-template-columns: minmax(70px, 1fr) 58px minmax(70px, 1fr);
        gap: 8px;
    }

    .team-side {
        gap: 6px;
        font-size: 13px;
    }

    .team-side span {
        min-width: 32px;
    }

    .game-center {
        min-width: 58px;
    }

    .game-time {
        font-size: 11px;
    }

    .accordion {
        grid-template-columns: 1fr 30px;
        gap: 8px;
        padding: 14px 10px;
    }

    .accordion-plus {
        width: 26px;
        height: 26px;
        font-size: 18px;
    }

    .profile-row {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .profile-row strong {
        text-align: left;
    }

    .premium-pill {
        margin-left: 0;
    }
}

.top-parlay-summary {
  margin-bottom: 24px;
}

.top-parlay-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
}

.top-parlay-card {
  position: relative;
  background: rgba(15, 23, 42, 0.95);
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 22px;
  padding: 20px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
  overflow: hidden;
}

.top-rank {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(34, 197, 94, 0.15);
  border: 1px solid rgba(34, 197, 94, 0.35);
  color: #bbf7d0;
  border-radius: 999px;
  padding: 5px 10px;
  font-weight: 800;
  font-size: 0.8rem;
}




.top-player-info {
  text-align: center;
}

.top-player-info h2 {
  margin: 6px 0 2px;
  font-size: 1.2rem;
}

.top-player-info p {
  margin: 0;
  color: #94a3b8;
  font-size: 0.9rem;
}

.big-prop-value {
  text-align: center;
  font-size: 3.3rem;
  font-weight: 900;
  letter-spacing: -0.04em;
  margin-top: 14px;
  color: #f8fafc;
}

.big-prop-label {
  text-align: center;
  margin-top: -6px;
  color: #cbd5e1;
  font-weight: 700;
}

.top-parlay-details {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 16px;
}

.top-parlay-details div {
  background: rgba(30, 41, 59, 0.85);
  border-radius: 14px;
  padding: 10px;
}

.top-parlay-details span {
  display: block;
  color: #94a3b8;
  font-size: 0.75rem;
  margin-bottom: 3px;
}

.top-parlay-details strong {
  color: #f8fafc;
  font-size: 0.95rem;
}
/* WEATHER CENTER + PITCH DNA */
.feature-hero { margin: 22px 0 26px; padding: 30px; border: 1px solid var(--line); border-radius: 24px; background: linear-gradient(135deg, rgba(38,208,124,.14), rgba(21,29,47,.95)); }
.dna-hero { background: linear-gradient(135deg, rgba(246,195,67,.13), rgba(21,29,47,.95)); }
.feature-hero h1 { margin-top: 2px; }
.weather-grid { display:grid; grid-template-columns: repeat(auto-fit,minmax(350px,1fr)); gap:18px; }
.weather-card,.dna-card { background:linear-gradient(180deg,var(--panel2),var(--panel)); border:1px solid var(--line); border-radius:22px; padding:22px; box-shadow:0 18px 40px rgba(0,0,0,.24); }
.feature-card-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.feature-card-head h2 { margin:9px 0 3px; }
.feature-card-head p { margin:0; color:var(--muted); }
.rank-chip { display:inline-block; font-size:12px; color:var(--green); border:1px solid rgba(38,208,124,.35); border-radius:999px; padding:5px 9px; font-weight:900; }
.weather-score { width:82px;height:82px;flex:0 0 82px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;border:5px solid #59657a;background:#0c1322; }
.weather-score strong {font-size:27px}.weather-score span{font-size:11px;color:var(--muted)}
.weather-score.score-good{border-color:var(--green)} .weather-score.score-bad{border-color:var(--red)} .weather-score.score-neutral{border-color:var(--yellow)}
.weather-verdict { margin:16px 0; padding:10px 13px; border-radius:12px; background:#0c1322; font-weight:900; }
.weather-metrics,.pitcher-damage-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:10px; }
.weather-metrics>div,.pitcher-damage-grid>div { background:#0c1322;border:1px solid #1e2a40;border-radius:14px;padding:12px; }
.weather-metrics span,.pitcher-damage-grid span { display:block;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:800; }
.weather-metrics strong,.pitcher-damage-grid strong {display:block;margin-top:5px}.weather-metrics small{display:block;color:var(--muted);margin-top:3px}.small-strong{font-size:12px}
.weather-targets {margin-top:17px}.weather-targets h3,.section-label{font-size:13px;text-transform:uppercase;color:var(--muted);letter-spacing:.08em}.weather-targets a{display:flex;justify-content:space-between;text-decoration:none;color:var(--text);padding:10px 0;border-top:1px solid var(--line)}
.data-source{font-size:11px;color:var(--muted);margin-bottom:0}.empty-state{text-align:center;padding:36px}.empty-state code{color:var(--green)}
.dna-list{display:grid;gap:20px}.dna-badge{background:#0c1322;border:1px solid var(--line);border-radius:16px;padding:11px 15px;text-align:right}.dna-badge span,.dna-badge small{display:block;color:var(--muted);font-size:11px}.dna-badge strong{display:block;margin:3px 0}
.pitch-mix{margin:20px 0}.pitch-row{display:grid;grid-template-columns:90px 1fr 50px;align-items:center;gap:12px;margin:9px 0}.pitch-row>span{color:var(--muted)}.pitch-bar{height:11px;background:#252f43;border-radius:99px;overflow:hidden}.pitch-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--yellow),var(--green));border-radius:99px}.pitch-row strong{text-align:right}
.feature-warning{background:rgba(246,195,67,.08);border:1px solid rgba(246,195,67,.35);padding:13px;border-radius:13px;margin:18px 0;color:#f7d978}.pitcher-damage-grid{margin:16px 0}.dna-match-table{display:grid;gap:8px}.dna-match{display:flex;justify-content:space-between;align-items:center;color:var(--text);text-decoration:none;background:#0c1322;border:1px solid #1e2a40;padding:12px;border-radius:15px}.dna-score{text-align:right}.dna-score span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase}.dna-score strong{font-size:24px;color:var(--green)}
@media(max-width:700px){.weather-grid{grid-template-columns:1fr}.weather-metrics,.pitcher-damage-grid{grid-template-columns:repeat(2,1fr)}.topbar{align-items:flex-start}.topbar nav{display:flex;flex-wrap:wrap}.feature-card-head{align-items:center}.pitch-row{grid-template-columns:75px 1fr 45px}}


/* Pitch DNA searchable controls */
.dna-search-panel { margin-bottom: 1rem; }
.dna-search-row { display: flex; gap: .75rem; align-items: end; }
.dna-search-field { flex: 1; }
.dna-search-field label { display: block; font-weight: 700; margin-bottom: .4rem; }
.dna-search-field input { width: 100%; min-height: 46px; padding: .75rem .9rem; border: 1px solid var(--border, #d8dee9); border-radius: 10px; background: var(--card-bg, #fff); color: inherit; font-size: 1rem; }
.dna-search-count { margin: .65rem 0 0; opacity: .75; font-size: .92rem; }
.dna-match[hidden], .dna-card[hidden] { display: none !important; }
.dna-show-more { margin-top: .75rem; }
@media (max-width: 650px) { .dna-search-row { align-items: stretch; flex-direction: column; } }


/* Page identity system */
.page-hero-with-logo{display:flex;align-items:center;gap:24px}.page-logo{width:112px;height:112px;flex:0 0 auto;filter:drop-shadow(0 12px 20px rgba(0,0,0,.22))}.compact-page-logo{width:76px;height:76px}.simple-page-heading{display:flex;align-items:center;gap:20px;margin:0 0 22px}.simple-page-heading .page-logo{width:92px;height:92px}
/* Interactive Pitch DNA */
.dna-control-panel{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr);gap:18px;align-items:end;margin-bottom:22px}.dna-control-panel label{display:block;font-weight:800;margin-bottom:7px}.dna-control-panel select,.dna-control-panel input{width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--border,#d8dfeb);background:var(--card,#fff)}.dna-workbench{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:18px;margin-top:18px}.dna-hitter-rankings,.dna-detail-stage{background:var(--card,#fff);border:1px solid var(--border,#e1e6ef);border-radius:18px;padding:16px}.dna-hitter-rankings{max-height:720px;overflow:auto}.dna-hitter-button{width:100%;display:grid;grid-template-columns:34px 42px 1fr 40px;align-items:center;gap:9px;text-align:left;border:0;background:transparent;padding:10px;border-radius:12px;cursor:pointer}.dna-hitter-button:hover,.dna-hitter-button.active{background:rgba(68,121,255,.11)}.dna-hitter-button img{width:42px;height:42px;border-radius:50%;object-fit:cover}.dna-hitter-button small{display:block}.dna-rank{font-weight:900}.dna-hitter-button b{font-size:18px}.dna-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.dna-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.dna-summary-grid>div{padding:12px;border-radius:12px;background:rgba(75,104,160,.08)}.dna-summary-grid span{display:block;font-size:12px}.dna-summary-grid strong{font-size:20px}.pitch-performance-table{overflow:hidden;border:1px solid var(--border,#e1e6ef);border-radius:14px;margin:10px 0 14px}.pitch-performance-row{display:grid;grid-template-columns:1.3fr repeat(5,.75fr);gap:8px;padding:11px 12px;align-items:center;border-top:1px solid var(--border,#e1e6ef)}.pitch-performance-row:first-child{border-top:0}.pitch-performance-row.header{font-size:12px;font-weight:900;text-transform:uppercase;background:rgba(75,104,160,.08)}.estimate-tag{margin-left:5px;padding:2px 5px;border-radius:7px;background:#ffe1a6;color:#6f4500;font-size:10px}.dna-data-note{font-size:12px;opacity:.72}.primary-button{display:inline-block;padding:11px 15px;border-radius:12px;background:#3978f6;color:white;text-decoration:none;font-weight:800}
@media(max-width:800px){.page-hero-with-logo,.simple-page-heading{align-items:flex-start}.page-logo{width:82px;height:82px}.dna-control-panel,.dna-workbench{grid-template-columns:1fr}.dna-summary-grid{grid-template-columns:repeat(2,1fr)}.pitch-performance-row{grid-template-columns:1.2fr repeat(5,.72fr);font-size:12px;overflow-x:auto}}

/* ===== Illustrated navigation ===== */
.topbar { align-items: flex-start; gap: 18px; }
.illustrated-nav { display:flex; gap:10px; align-items:flex-start; overflow-x:auto; padding-bottom:4px; scrollbar-width:thin; }
.illustrated-nav > a { margin-left:0; min-width:72px; display:flex; flex-direction:column; align-items:center; gap:5px; padding:6px 7px; border-radius:14px; transition:transform .16s ease, background .16s ease, color .16s ease; }
.illustrated-nav > a:hover { transform:translateY(-2px) rotate(-.5deg); background:#121b2c; color:#fff; }
.illustrated-nav > a img { width:42px; height:42px; object-fit:contain; filter:drop-shadow(0 5px 9px rgba(0,0,0,.28)); }
.illustrated-nav > a span { font-size:11px; line-height:1.05; text-align:center; white-space:nowrap; }
.illustrated-nav > a:not(:has(img)) { min-width:auto; flex-direction:row; margin-top:8px; }

/* ===== Pitch DNA dark interactive layout ===== */
.dna-dashboard-shell { display:grid; grid-template-columns:290px minmax(0,1fr); gap:20px; align-items:start; }
.dna-main-column { min-width:0; }
.dna-top-sidebar { position:sticky; top:118px; padding:16px; max-height:calc(100vh - 140px); overflow:auto; background:linear-gradient(180deg,#151d2f,#0d1423); }
.dna-sidebar-heading { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.dna-sidebar-heading > span { font-size:26px; }
.dna-sidebar-heading h2,.dna-sidebar-heading p { margin:0; }
.dna-top-list { display:flex; flex-direction:column; gap:8px; }
.dna-top-score { width:100%; display:grid; grid-template-columns:26px 38px minmax(0,1fr) 42px; align-items:center; gap:8px; text-align:left; padding:9px; background:#0b1220; border:1px solid #25314a; border-radius:14px; }
.dna-top-score:hover { border-color:#a78bfa; transform:translateX(2px); }
.dna-top-score img { width:38px; height:38px; border-radius:50%; object-fit:cover; background:#111827; }
.dna-top-score strong,.dna-top-score small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dna-top-score small { color:var(--muted); font-size:10px; margin-top:2px; }
.dna-top-score b { color:#c4b5fd; font-size:17px; text-align:right; }
.dna-top-number { color:#7f8ba3; font-size:12px; font-weight:900; }

.dna-control-panel { padding:18px; margin-bottom:18px; display:grid; grid-template-columns:minmax(180px,.55fr) minmax(360px,1.2fr) minmax(220px,.8fr); gap:16px; align-items:end; background:linear-gradient(180deg,#151d2f,#101624); }
.dna-control-copy h2,.dna-control-copy p { margin:0; }
.dna-game-picker-wrap { position:relative; }
.dna-game-picker-button { width:100%; min-height:78px; display:flex; justify-content:space-between; align-items:center; background:#09101d; border:1px solid #2a3751; color:var(--text); }
.dna-game-summary { flex:1; display:grid; grid-template-columns:minmax(90px,1fr) minmax(110px,.9fr) minmax(90px,1fr); align-items:center; gap:12px; }
.dna-chevron { font-size:22px; color:#a78bfa; margin-left:8px; }
.dna-game-menu { position:absolute; z-index:25; top:calc(100% + 8px); left:0; right:0; max-height:430px; overflow:auto; padding:8px; background:#080e19; border:1px solid #33405a; border-radius:18px; box-shadow:0 24px 65px rgba(0,0,0,.5); }
.dna-game-option { width:100%; display:grid; grid-template-columns:minmax(90px,1fr) minmax(110px,.9fr) minmax(90px,1fr); gap:12px; align-items:center; margin:0 0 7px; background:#101827; border-color:#222f47; }
.dna-game-option:hover { background:#172238; border-color:#a78bfa; }
.dna-team-lockup { display:flex; align-items:center; gap:8px; min-width:0; }
.dna-team-lockup:last-child { justify-content:flex-end; }
.dna-team-lockup img { width:40px; height:40px; object-fit:contain; background:transparent; }
.dna-team-lockup strong { font-size:13px; }
.dna-game-middle { text-align:center; display:flex; flex-direction:column; gap:2px; }
.dna-game-middle small { color:#f6c343; font-weight:900; }
.dna-game-middle b { color:#8d99ae; }
.dna-game-middle em { color:#aeb9ce; font-size:10px; font-style:normal; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dna-search-field label { display:block; color:var(--muted); font-size:12px; margin-bottom:6px; }
.dna-search-field input { width:100%; background:#09101d; }

.dna-profile-view,.dna-explorer,.dna-workbench,.dna-detail-stage,.dna-hitter-detail,.dna-card,.dna-pitcher-card { color:var(--text); }
.dna-card,.dna-pitcher-card,.dna-hitter-rankings,.dna-detail-stage,.dna-hitter-detail { background:linear-gradient(180deg,#151d2f,#0d1423) !important; border:1px solid #263148; border-radius:20px; box-shadow:0 18px 42px rgba(0,0,0,.25); }
.dna-pitcher-card { padding:20px; margin-bottom:16px; }
.dna-workbench { display:grid; grid-template-columns:340px minmax(0,1fr); gap:16px; align-items:start; }
.dna-hitter-rankings { padding:14px; display:flex; flex-direction:column; gap:8px; max-height:760px; overflow:auto; }
.dna-hitter-rankings h3 { margin:4px 4px 10px; }
.dna-hitter-button { width:100%; display:grid; grid-template-columns:30px 44px minmax(0,1fr) 44px; align-items:center; gap:9px; text-align:left; background:#0a1120 !important; border:1px solid #24314a; color:var(--text); }
.dna-hitter-button:hover,.dna-hitter-button.active { background:#18223a !important; border-color:#a78bfa; box-shadow:inset 3px 0 #a78bfa; }
.dna-hitter-button img { width:44px; height:44px; object-fit:cover; border-radius:50%; background:#111827; }
.dna-hitter-button strong,.dna-hitter-button small { display:block; }
.dna-hitter-button small { color:var(--muted); font-size:10px; margin-top:2px; }
.dna-hitter-button b { color:#c4b5fd; text-align:right; font-size:17px; }
.dna-rank { color:#7f8ba3; font-weight:900; }
.dna-detail-stage { padding:18px; min-height:500px; }
.dna-hitter-detail { padding:0; border:0; box-shadow:none; background:transparent !important; }
.dna-detail-head { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.dna-score { min-width:90px; padding:13px; text-align:center; background:#0a1120; border:1px solid #3a2f63; border-radius:16px; }
.dna-score span { display:block; color:var(--muted); font-size:11px; }
.dna-score strong { display:block; color:#c4b5fd; font-size:30px; }
.dna-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:18px 0; }
.dna-summary-grid > div,.pitcher-damage-grid > div { background:#09101d !important; border:1px solid #25314a; border-radius:14px; padding:12px; }
.dna-summary-grid span,.pitcher-damage-grid span { display:block; color:var(--muted); font-size:11px; }
.dna-summary-grid strong,.pitcher-damage-grid strong { display:block; margin-top:5px; color:#fff; font-size:18px; }
.pitch-performance-table { overflow-x:auto; border:1px solid #263148; border-radius:14px; background:#08101d !important; }
.pitch-performance-row { display:grid; grid-template-columns:minmax(150px,1.5fr) repeat(5,minmax(70px,.7fr)); gap:8px; align-items:center; padding:12px; background:#0b1322 !important; border-bottom:1px solid #202b40; color:var(--text); }
.pitch-performance-row:nth-child(even) { background:#101a2d !important; }
.pitch-performance-row.header { background:#172238 !important; color:#aeb9ce; font-size:11px; text-transform:uppercase; font-weight:900; }
.pitch-performance-row b { color:#c4b5fd; }
.pitch-row { display:grid; grid-template-columns:130px minmax(120px,1fr) 60px; gap:10px; align-items:center; margin:10px 0; }
.pitch-bar { height:10px; background:#08101d; border-radius:99px; overflow:hidden; }
.pitch-bar i { display:block; height:100%; background:linear-gradient(90deg,#7c3aed,#a78bfa); border-radius:99px; }
.feature-warning,.dna-data-note { background:#0b1322 !important; color:#9eabc2; border:1px dashed #33405a; border-radius:12px; padding:11px; }
.dna-badge { background:#0a1120 !important; border:1px solid #3a2f63; color:#fff; border-radius:16px; padding:11px 15px; text-align:center; }
.dna-badge span,.dna-badge small { display:block; color:var(--muted); }
.dna-badge strong { display:block; color:#c4b5fd; margin:3px 0; }

@media (max-width:1050px){
 .topbar{position:relative;flex-direction:column;align-items:stretch}.illustrated-nav{width:100%}
 .dna-dashboard-shell{grid-template-columns:1fr}.dna-top-sidebar{position:relative;top:auto;max-height:none}.dna-top-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .dna-control-panel{grid-template-columns:1fr}.dna-workbench{grid-template-columns:1fr}.dna-hitter-rankings{max-height:420px}.dna-summary-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
 .dna-top-list{grid-template-columns:1fr}.dna-game-summary,.dna-game-option{grid-template-columns:1fr}.dna-team-lockup,.dna-team-lockup:last-child{justify-content:center}.dna-game-middle{order:3}.pitch-performance-row{min-width:720px}.illustrated-nav > a{min-width:64px}.illustrated-nav > a img{width:36px;height:36px}
}

/* Product cleanup: Top Picks, detailed Weather Center, and readable Pitch DNA */
.weather-grid-detailed{grid-template-columns:repeat(auto-fit,minmax(390px,1fr));}
.weather-stadium-card{background:#151e2d;border:1px solid #2d3c52;overflow:hidden;}
.weather-matchup-lockup h2{margin:.45rem 0 .15rem}.weather-teams{display:flex;align-items:center;gap:.6rem;margin:.55rem 0}.weather-teams span{display:flex;align-items:center;gap:.35rem}.weather-teams em{color:#8fa2bd;font-style:normal}.ballpark-visual-wrap{background:#0d1522;border:1px solid #27364b;border-radius:18px;padding:12px;margin:16px 0}.ballpark-visual{display:block;width:100%;max-height:320px}.ballpark-visual text{fill:#f6e7c6;font:700 15px system-ui}.ballpark-visual .wind-label{fill:#fff;font-size:13px}.ballpark-visual-wrap .weather-verdict{text-align:center;margin-top:4px;font-weight:800}
.dna-hitter-detail,.dna-detail-stage,.pitch-performance-table,.dna-summary-grid>div{background:#121c2b!important;color:#f3f7fc!important}.dna-hitter-detail{padding:28px;border:1px solid #304159;border-radius:18px;min-height:540px}.dna-detail-head h2{font-size:2rem}.dna-detail-head small,.dna-data-note{font-size:1rem}.dna-summary-grid strong{font-size:1.35rem}.pitch-performance-row{grid-template-columns:1.35fr repeat(5,1fr);font-size:1.08rem;padding:15px 12px;gap:12px}.pitch-performance-row.header{font-size:.92rem}.dna-hitter-button{min-height:76px}.dna-hitter-button strong{font-size:1.05rem}.dna-hitter-rankings{max-height:760px;overflow:auto}.dna-workbench{grid-template-columns:minmax(280px,34%) minmax(0,66%)}
.top-picks-controls{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.top-picks-controls label{display:grid;gap:8px}.top-picks-controls select{min-width:220px}.top-count-buttons{display:flex;gap:8px}.top-count-buttons button{background:#202c3d;color:#dce8f8;border:1px solid #3a4b63;border-radius:999px;padding:10px 17px;font-weight:800}.top-count-buttons button.active{background:#3b82f6;color:white}.top-picks-grid{display:grid;gap:14px}.top-pick-card{display:grid;grid-template-columns:60px 1fr 140px auto;align-items:center;gap:16px}.top-pick-rank{font-size:1.4rem;font-weight:900;color:#7fb3ff}.top-pick-person{display:flex;align-items:center;gap:12px}.top-pick-person h2{margin:0}.top-pick-grade{text-align:center}.top-pick-grade span,.top-pick-grade small{display:block;color:#99abc2}.top-pick-grade strong{display:block;font-size:1.8rem;color:#f6c85f}
@media(max-width:800px){.dna-dashboard-shell{display:block}.dna-top-sidebar{position:static;margin-bottom:16px}.dna-workbench{grid-template-columns:1fr}.top-pick-card{grid-template-columns:45px 1fr}.top-pick-grade,.top-pick-card .primary-button{grid-column:2}.weather-grid-detailed{grid-template-columns:1fr}.top-picks-controls{align-items:stretch;flex-direction:column}.pitch-performance-row{font-size:.9rem;overflow-x:auto}}
/* Weather Advantage Center */
.weather-boost-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:17px 0}.weather-boost-grid>div{background:#0b1422;border:1px solid #26364c;border-radius:14px;padding:13px;text-align:center}.weather-boost-grid span{display:block;color:#98a9bf;font-size:.72rem;text-transform:uppercase;font-weight:900;letter-spacing:.05em}.weather-boost-grid strong{display:block;margin-top:5px;font-size:1.45rem}.boost-up{color:#42dc8b}.boost-down{color:#ff7a7a}.weather-targets a span small{display:block;color:#91a2b9;font-size:.75rem;margin-top:2px}.weather-targets a>strong{color:#7fb3ff;font-size:1.15rem}.weather-disclaimer{margin:14px 0 0;color:#8293aa;font-size:.75rem}.illustrated-nav a span{max-width:92px;text-align:center}
@media(max-width:650px){.weather-boost-grid{grid-template-columns:1fr}}


/* Launch polish: local brand art and playful Render-safe navigation */
.topbar { gap: 18px; padding: 10px 20px; }
.brand-lockup { display:block; flex:0 0 auto; margin:0; }
.brand-lockup img { display:block; width:260px; max-width:31vw; height:68px; object-fit:contain; object-position:left center; }
.illustrated-nav { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.illustrated-nav a { margin:0; min-width:88px; padding:7px 8px 6px; border:1px solid transparent; border-radius:15px; display:flex; flex-direction:column; align-items:center; gap:2px; font-size:11px; letter-spacing:.02em; transition:transform .18s ease, background .18s ease, border-color .18s ease; }
.illustrated-nav a:hover { transform:translateY(-3px) rotate(-.5deg); background:#121c2d; border-color:#31415e; color:#fff; }
.illustrated-nav img { width:58px; height:43px; object-fit:contain; display:block; }

/* Baseball temperature markers for profile bars */
.heat-bar { position:relative; overflow:visible; height:13px; margin-right:14px; background:linear-gradient(90deg,#46698b 0%,#313a4a 35%,#5b4730 67%,#67302d 100%); }
.heat-bar span { position:relative; z-index:1; background:linear-gradient(90deg,#6ecaf0 0%,#f2cf62 58%,#ff6b3e 100%); }
.bar-marker { position:absolute; z-index:3; left:clamp(0px, calc(var(--score) - 19px), calc(100% - 18px)); top:50%; width:38px; height:38px; transform:translateY(-50%); background-position:center; background-repeat:no-repeat; background-size:contain; filter:drop-shadow(0 5px 7px rgba(0,0,0,.45)); pointer-events:none; }
.marker-ball { background-image:url('../img/bar-markers/baseball.svg'); }
.marker-fire { width:48px; height:42px; background-image:url('../img/bar-markers/fireball.svg'); }
.marker-ice { width:44px; height:42px; background-image:url('../img/bar-markers/iceball.svg'); }

/* Actual stadium-specific weather maps */
.actual-stadium-wrap { padding:12px; border-radius:20px; background:#0a111e; border:1px solid #283650; }
.stadium-map-stage { position:relative; width:min(100%, 470px); margin:0 auto; aspect-ratio:360/285; }
.stadium-overview, .stadium-wind-overlay { position:absolute; inset:0; width:100%; height:100%; display:block; }
.stadium-overview { object-fit:contain; }
.stadium-wind-overlay { overflow:visible; }
.wind-label { fill:#fff; font-size:15px; font-weight:900; font-family:Inter,Segoe UI,sans-serif; }
.weather-verdict { margin-top:4px; text-align:center; font-weight:900; color:#f3c65c; }

@media(max-width:900px){
  .topbar { position:static; flex-direction:column; align-items:stretch; }
  .brand-lockup img { width:300px; max-width:100%; margin:auto; }
  .illustrated-nav { justify-content:center; }
  .illustrated-nav a { min-width:76px; }
}
@media(max-width:560px){
  .illustrated-nav { display:grid; grid-template-columns:repeat(3,1fr); }
  .illustrated-nav a { min-width:0; }
  .profile-row { grid-template-columns:120px 1fr 58px; gap:8px; }
}
.favorite-btn,.favorite-login-link{font-size:12px;line-height:1;padding:8px 10px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:#0d1423;text-decoration:none;font-weight:900}
.favorite-btn.active{color:#08130d;background:var(--green);border-color:var(--green)}
.lock{font-size:10px;text-transform:uppercase;letter-spacing:.08em;background:#382b12;color:#f6c343;border:1px solid #6a5223;border-radius:999px;padding:4px 6px}
.dna-mini-mark{display:block;width:28px;height:28px;border:3px solid var(--green);border-radius:50%;position:relative}.dna-mini-mark:before,.dna-mini-mark:after{content:"";position:absolute;left:5px;right:5px;height:3px;background:var(--yellow);transform:rotate(25deg)}.dna-mini-mark:before{top:7px}.dna-mini-mark:after{bottom:7px}

/* =========================================================
   MLB PROP EDGE PREMIUM STADIUM THEME
   ========================================================= */
:root {
  --bg: #050914;
  --panel: #0a1220;
  --panel2: #101a2a;
  --text: #f4f7fb;
  --muted: #9ba8bb;
  --green: #84d64b;
  --yellow: #f6a928;
  --red: #e31b23;
  --red2: #ff3842;
  --line: #253249;
}
body {
  background:
    radial-gradient(circle at 12% -6%, rgba(55,85,130,.28), transparent 34%),
    linear-gradient(180deg,#060b15 0%,#08111f 44%,#050914 100%);
  min-height:100vh;
}
.site-shell-header {
  position:sticky;
  top:0;
  z-index:50;
  background:#070d18;
  border-bottom:1px solid #25334a;
  box-shadow:0 18px 45px rgba(0,0,0,.45);
}
.brand-masthead {
  min-height:164px;
  position:relative;
  display:flex;
  align-items:center;
  padding:16px 5vw;
  background:
    linear-gradient(90deg,rgba(3,8,16,.05),rgba(4,9,18,.34) 62%,rgba(4,9,18,.75)),
    url('../img/brand/propedge-stadium-banner.jpg') center 28%/cover no-repeat;
  overflow:hidden;
}
.brand-masthead:after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:62px;
  background:linear-gradient(transparent,#070d18);
  pointer-events:none;
}
.premium-brand { position:relative; z-index:2; display:block; width:min(720px,63vw); }
.premium-brand img { display:block; width:100%; max-height:132px; object-fit:contain; object-position:left center; filter:drop-shadow(0 16px 26px rgba(0,0,0,.75)); }
.brand-tagline {
  position:absolute;
  z-index:3;
  left:35.5vw;
  bottom:18px;
  margin:0;
  color:#edf1f7;
  font-weight:900;
  letter-spacing:.42em;
  text-transform:uppercase;
  text-shadow:0 3px 10px #000;
  font-size:clamp(10px,1vw,15px);
}
.premium-nav {
  display:flex;
  align-items:stretch;
  justify-content:center;
  overflow-x:auto;
  background:linear-gradient(180deg,#0e1726,#08101c);
  border-top:1px solid rgba(255,255,255,.05);
}
.premium-nav a {
  margin:0;
  min-width:145px;
  min-height:68px;
  padding:9px 18px 8px;
  color:#b7c1d0;
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-left:1px solid #243047;
  border-bottom:3px solid transparent;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.035em;
  font-weight:900;
  transition:.2s ease;
  white-space:nowrap;
}
.premium-nav a:last-child { border-right:1px solid #243047; }
.premium-nav a img { width:31px; height:31px; object-fit:contain; filter:grayscale(1) brightness(1.8); transition:.2s ease; }
.premium-nav a:hover,
.premium-nav a.active { color:#fff; background:linear-gradient(180deg,#142237,#0d1726); border-bottom-color:var(--red); }
.premium-nav a:hover img,
.premium-nav a.active img { filter:none; transform:translateY(-1px) scale(1.06); }
.premium-nav a.active { box-shadow:inset 0 -9px 20px rgba(227,27,35,.08); }
.premium-nav .account-nav { min-width:auto; padding-inline:14px; font-size:11px; }
.premium-nav .premium-link { color:#fff; background:linear-gradient(180deg,#a71119,#6f0910); }
.page { max-width:1450px; padding:30px; }
.hero,
.feature-hero {
  border:1px solid #27354c;
  border-radius:18px;
  padding:28px;
  background:linear-gradient(145deg,rgba(18,30,48,.97),rgba(7,14,25,.96));
  box-shadow:0 20px 50px rgba(0,0,0,.32), inset 0 1px rgba(255,255,255,.035);
}
.hero h1,.feature-hero h1 { font-size:clamp(31px,4vw,54px); text-transform:uppercase; letter-spacing:-.035em; }
.eyebrow { color:var(--red2); letter-spacing:.16em; }
.hero-card { border-radius:15px; border-color:#32415b; background:linear-gradient(145deg,#121f33,#09111f); }
.hero-card strong { color:#fff; }
.table-card,.card,.weather-card,.dna-card,.top-pick-card {
  border-radius:15px;
  border:1px solid #27364f;
  background:linear-gradient(180deg,#101b2b,#08111e);
  box-shadow:0 16px 36px rgba(0,0,0,.26), inset 0 1px rgba(255,255,255,.025);
}
.table-card { padding:14px; }
table { border-spacing:0 9px; }
th { color:#b3bfd0; letter-spacing:.08em; }
td { background:linear-gradient(180deg,#101a2a,#0a1321); border-color:#27364e; }
tbody tr:hover td { background:linear-gradient(180deg,#17253a,#0f1b2c); border-color:#41536f; }
.player-cell strong { font-size:15px; color:#fff; }
.player-cell img { border:2px solid #34445f; box-shadow:0 5px 14px rgba(0,0,0,.4); }
.controls input,.controls select,input,select,button {
  border-radius:8px;
  border-color:#31415d;
  background:#091321;
}
button,.primary-button { text-transform:uppercase; letter-spacing:.045em; }
.favorite-btn.active { background:var(--red); color:#fff; border-color:var(--red2); }
/* Premium grade readout and baseball temperature meter */
.grade-display { display:grid; gap:7px; min-width:118px; }
.grade-display .grade-line { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.grade-display .grade-line strong { color:#fff; font-size:20px; }
.grade-display .grade-line small { color:#aab5c7; font-size:10px; }
.mini-edge-meter {
  position:relative;
  width:100%;
  height:10px;
  border-radius:3px;
  background:linear-gradient(90deg,#204d75,#27364c 38%,#77471c 68%,#9e141a);
  box-shadow:inset 0 2px 5px rgba(0,0,0,.65);
  overflow:visible;
}
.mini-edge-meter > span {
  display:block;
  height:100%;
  width:var(--score);
  border-radius:3px;
  background:linear-gradient(90deg,#2f9be8,#ffb328 64%,#f22129);
  box-shadow:0 0 10px rgba(255,65,65,.25);
}
.mini-edge-meter > i {
  position:absolute;
  left:clamp(0px,calc(var(--score) - 11px),calc(100% - 20px));
  top:50%;
  width:28px;
  height:28px;
  transform:translateY(-50%);
  background:center/contain no-repeat;
  filter:drop-shadow(0 4px 5px rgba(0,0,0,.7));
}
.mini-edge-meter .cold { background-image:url('../img/bar-markers/iceball.svg'); width:31px; height:31px; }
.mini-edge-meter .warm { background-image:url('../img/bar-markers/baseball.svg'); }
.mini-edge-meter .hot { background-image:url('../img/bar-markers/fireball.svg'); width:35px; height:32px; }
.heat-bar { height:15px; border-radius:4px; background:linear-gradient(90deg,#1d4f79,#27364c 38%,#7f4a18 68%,#95171c); }
.heat-bar span { border-radius:4px; background:linear-gradient(90deg,#2f9eea,#ffb128 62%,#ed1c24); }
/* Sharper section accents */
.table-card > h2,.card > h2,.feature-card-head h2 { text-transform:uppercase; letter-spacing:.025em; }
.table-card > h2:before,.card > h2:before { content:""; display:inline-block; width:4px; height:20px; background:var(--red); margin-right:10px; vertical-align:-3px; border-radius:1px; }
.rank-chip { color:#fff; border-color:#7f171c; background:#4f0d12; }
.weather-score.score-good { border-color:var(--red2); }
.dna-score strong { color:#fff; }
.pitch-bar i { background:linear-gradient(90deg,#384f73,#e31b23); }
@media(max-width:1000px){
  .site-shell-header{position:relative}.brand-masthead{min-height:132px}.premium-brand{width:min(760px,86vw)}.brand-tagline{left:44%;bottom:12px}.premium-nav{justify-content:flex-start}.premium-nav a{min-width:125px}.page{padding:20px}
}
@media(max-width:620px){
  .brand-masthead{min-height:112px;padding:10px 14px;background-position:center top}.premium-brand{width:100%}.brand-tagline{display:none}.premium-nav a{min-width:103px;min-height:59px;padding:7px 10px;font-size:10px}.premium-nav a img{width:25px;height:25px}.page{padding:13px}.hero,.feature-hero{padding:19px}.page-logo{display:none}
}


/* MLB Prop Edge launch experience enhancements */
body{position:relative;overflow-x:hidden}
.stadium-ambient{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 50% -10%,rgba(48,78,119,.22),transparent 42%),linear-gradient(180deg,#050a12,#08111e 46%,#050a11)}
.stadium-ambient:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.16) 0 1px,transparent 1.5px);background-size:43px 43px;opacity:.12;animation:ambientDrift 28s linear infinite}
.stadium-ambient span{position:absolute;top:-22%;width:30vw;height:78vh;background:linear-gradient(180deg,rgba(229,238,255,.1),transparent 72%);filter:blur(7px);transform-origin:top;opacity:.18;animation:lightSweep 14s ease-in-out infinite alternate}
.stadium-ambient span:nth-child(1){left:4%;transform:rotate(17deg)}.stadium-ambient span:nth-child(2){left:37%;animation-delay:-5s;transform:rotate(-8deg)}.stadium-ambient span:nth-child(3){right:3%;animation-delay:-9s;transform:rotate(-20deg)}
@keyframes ambientDrift{to{background-position:120px 70px}}@keyframes lightSweep{from{opacity:.08;transform:rotate(-16deg) translateX(-5%)}to{opacity:.24;transform:rotate(15deg) translateX(8%)}}
@media(prefers-reduced-motion:reduce){.stadium-ambient:before,.stadium-ambient span,.pitch-bar i{animation:none!important}}
.premium-nav{position:relative}.premium-nav:after{content:"";position:absolute;left:-30%;top:0;width:22%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.08),transparent);transform:skewX(-20deg);animation:navSheen 10s ease-in-out infinite;pointer-events:none}@keyframes navSheen{0%,74%{left:-30%}100%{left:120%}}
.biggest-edges-section{margin:24px 0 30px}.section-kicker{display:flex;align-items:end;gap:18px;flex-wrap:wrap;margin:0 0 15px}.section-kicker h2{margin:0;text-transform:uppercase;font-size:clamp(25px,3vw,39px)}.section-kicker p{margin:0;color:var(--muted)}.biggest-edges-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.big-edge-card{--team-accent:#e31b23;position:relative;overflow:hidden;padding:19px;border:1px solid #293a55;border-left:4px solid var(--team-accent);border-radius:16px;background:linear-gradient(155deg,rgba(20,33,52,.98),rgba(6,13,23,.98));box-shadow:0 18px 42px rgba(0,0,0,.3)}.big-edge-card:before,.enhanced-pick-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 95% 5%,color-mix(in srgb,var(--team-accent) 22%,transparent),transparent 38%);pointer-events:none}.big-edge-rank{position:absolute;right:15px;top:10px;color:rgba(255,255,255,.08);font-size:55px;font-weight:1000;line-height:1}.big-edge-player{position:relative;display:flex;align-items:center;gap:13px}.big-edge-player img{width:66px;height:66px;border-radius:12px;object-fit:cover;border:2px solid color-mix(in srgb,var(--team-accent) 58%,#53647e);background:#07101c}.big-edge-player span,.big-edge-player small{display:block;color:#aab6c8;font-size:12px}.big-edge-player h3{margin:2px 0;font-size:23px;color:#fff}.big-edge-grades{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 14px}.big-edge-grades span{display:flex;justify-content:space-between;align-items:center;padding:8px 9px;border:1px solid #2c3c56;border-radius:8px;background:#091422;color:#aeb9c9;font-size:11px;text-transform:uppercase}.big-edge-grades b{font-size:17px;color:#fff}.reason-chips{position:relative;display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.reason-chips span{padding:6px 9px;border-radius:99px;border:1px solid color-mix(in srgb,var(--team-accent,#e31b23) 45%,#31415d);background:color-mix(in srgb,var(--team-accent,#e31b23) 10%,#0b1524);color:#d8e0eb;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.card-link{position:relative;display:inline-block;margin-top:14px;color:#fff;text-decoration:none;font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.05em}.card-link:after{content:"  →";color:var(--team-accent)}
.signature-edge-meter{position:relative;display:grid;gap:7px;margin-top:7px}.edge-meter-labels{display:flex;justify-content:space-between;align-items:center;color:#718096;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.edge-meter-labels strong{color:#dce4ef;font-size:10px}.edge-meter-track{position:relative;height:13px;border-radius:4px;background:linear-gradient(90deg,#174a74,#26344a 37%,#714316 68%,#8b1117);box-shadow:inset 0 2px 5px #000;overflow:visible}.edge-meter-fill{display:block;width:var(--edge-score);height:100%;border-radius:4px;background:linear-gradient(90deg,#2398e6,#f9a825 62%,#ed1c24);box-shadow:0 0 13px rgba(237,28,36,.25)}.edge-meter-track i{position:absolute;left:clamp(0px,calc(var(--edge-score) - 14px),calc(100% - 30px));top:50%;width:34px;height:34px;transform:translateY(-50%);background:center/contain no-repeat;filter:drop-shadow(0 5px 6px #000)}.edge-meter-track i.cold{background-image:url('../img/bar-markers/iceball.svg');width:38px;height:38px}.edge-meter-track i.warm{background-image:url('../img/bar-markers/baseball.svg')}.edge-meter-track i.hot{background-image:url('../img/bar-markers/fireball.svg');width:42px;height:38px}.signature-edge-meter.compact{margin:12px 0 7px}
.enhanced-pick-card{--team-accent:#e31b23;position:relative;overflow:hidden;border-left:4px solid var(--team-accent)}
.pitch-bar i{transform-origin:left;animation:pitchFill .55s cubic-bezier(.2,.8,.25,1) both}@keyframes pitchFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
tr[data-team]{--team-accent:#e31b23}tr[data-team] td:first-child{box-shadow:inset 3px 0 var(--team-accent)}
[data-team="NYY"],[data-team="TB"],[data-team="DET"],[data-team="MIL"]{--team-accent:#4f78a8}[data-team="LAD"],[data-team="CHC"],[data-team="KC"],[data-team="TEX"]{--team-accent:#2f75c9}[data-team="BOS"],[data-team="CIN"],[data-team="PHI"],[data-team="LAA"],[data-team="WSH"]{--team-accent:#e33a42}[data-team="BAL"],[data-team="SF"]{--team-accent:#f47b20}[data-team="NYM"]{--team-accent:#f58220}[data-team="SD"]{--team-accent:#c8a25b}[data-team="PIT"]{--team-accent:#f2c94c}[data-team="OAK"]{--team-accent:#4e9d68}[data-team="SEA"],[data-team="MIA"]{--team-accent:#2ba9a3}[data-team="COL"]{--team-accent:#8466b3}[data-team="ARI"],[data-team="CLE"],[data-team="STL"],[data-team="ATL"]{--team-accent:#c92b38}[data-team="HOU"]{--team-accent:#ec6b2d}[data-team="TOR"]{--team-accent:#4287d6}[data-team="MIN"]{--team-accent:#7b92b8}[data-team="CWS"]{--team-accent:#929ba6}
@media(max-width:1000px){.biggest-edges-grid{grid-template-columns:1fr 1fr}.big-edge-card:last-child{grid-column:1/-1}}@media(max-width:680px){.biggest-edges-grid{grid-template-columns:1fr}.big-edge-card:last-child{grid-column:auto}.section-kicker{display:block}.section-kicker p{margin-top:6px}.big-edge-player h3{font-size:20px}}

/* ===== Player report + seamless masthead fix ===== */
.seamless-brand-masthead{min-height:0;padding:0;background:#050a13;display:block;overflow:hidden}
.seamless-brand-masthead:after{display:none}
.seamless-brand-link{display:block;width:100%;line-height:0}
.seamless-brand-link img{display:block;width:100%;height:auto;max-height:250px;object-fit:cover;object-position:center top}

.player-report-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px;margin:20px 0;background:linear-gradient(135deg,#121d30,#080f1c);border:1px solid #2b3951;border-radius:22px;box-shadow:0 22px 55px rgba(0,0,0,.32)}
.player-report-person{display:flex;align-items:center;gap:20px}.player-report-person>img{width:104px;height:104px;border-radius:18px;object-fit:cover;background:#0a111d;border:1px solid #34435c}.player-report-person h1{font-size:clamp(34px,5vw,62px);margin:2px 0}.player-report-person p{margin:4px 0}
.player-grade-strip{display:grid;grid-template-columns:repeat(3,minmax(98px,1fr));gap:10px}.player-grade-strip>div{min-width:105px;padding:14px;text-align:center;background:#0a1220;border:1px solid #2a3950;border-radius:14px}.player-grade-strip span,.player-stat-card span{display:block;color:#96a3b8;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.player-grade-strip strong{display:block;font-size:30px;color:#f4f7fb;margin:5px 0}.player-grade-strip small{color:#e31b23;font-weight:800}
.player-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.player-stat-card{padding:17px;background:linear-gradient(180deg,#121c2c,#0a111e);border:1px solid #27354b;border-radius:16px}.player-stat-card strong{display:block;font-size:25px;margin-top:8px}.player-stat-card small{display:block;color:#8e9bb0;margin-top:4px}
.player-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.report-chart-card{padding:22px}.wide-report-chart{grid-column:1/-1}.report-card-heading{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:20px}.report-card-heading h2{margin:2px 0}.report-card-heading>span{color:#8290a6;font-size:13px}
.vertical-chart{height:250px;display:flex;gap:26px;align-items:end;justify-content:center;padding:16px 10px 0}.vertical-chart-column{height:100%;flex:1;max-width:120px;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:8px}.vertical-chart-column strong{font-size:18px}.vertical-chart-track{height:180px;width:58px;background:#09111e;border:1px solid #27364d;border-radius:12px;display:flex;align-items:end;padding:4px}.vertical-chart-track i{display:block;width:100%;min-height:4px;border-radius:8px;background:linear-gradient(180deg,#ff3b43,#a90f17);box-shadow:0 0 22px rgba(227,27,35,.28)}.vertical-chart-column span{font-size:12px;color:#93a1b7;font-weight:800;text-transform:uppercase}
.comparison-chart{display:grid;gap:24px}.comparison-row{display:grid;gap:11px}.comparison-label{display:flex;justify-content:space-between}.comparison-label span{color:#8694aa}.comparison-bars{display:grid;gap:9px}.comparison-bars>div{display:grid;grid-template-columns:40px 1fr 58px;align-items:center;gap:9px}.comparison-bars i{display:block;height:12px;border-radius:99px;background:linear-gradient(90deg,#e31b23,#ff656b);min-width:3px}.comparison-bars .baseline i{background:linear-gradient(90deg,#53627a,#9eabc0)}.comparison-bars span,.comparison-bars b{font-size:12px;color:#a6b2c5}
.horizontal-report-chart{display:grid;gap:16px}.report-bar-row{display:grid;grid-template-columns:90px 1fr 110px;align-items:center;gap:13px}.report-bar-row>span{font-weight:800}.report-bar-row>strong{text-align:right}.report-bar-track{height:28px;background:#07101c;border:1px solid #28364b;border-radius:99px;position:relative;overflow:visible}.report-bar-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#8e1117,#f12730)}.report-bar-track em{position:absolute;top:50%;left:calc(var(--score,50%) - 14px);transform:translateY(-50%);width:28px;height:28px;background:center/contain no-repeat}.report-bar-track em.hot{background-image:url('../img/bar-markers/baseball-fire.svg')}.report-bar-track em.cold{background-image:url('../img/bar-markers/baseball-ice.svg')}.report-bar-track em.warm{background-image:url('../img/bar-markers/baseball.svg')}
.player-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.player-detail-grid>.card{padding:24px}.edge-chip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.edge-chip-grid>div{padding:13px;background:#09121f;border:1px solid #28364c;border-radius:12px}.edge-chip-grid span{display:block;color:#8e9bb0;font-size:11px;text-transform:uppercase}.edge-chip-grid strong{display:block;font-size:24px;margin-top:4px}.report-definition-list{display:grid;gap:0}.report-definition-list>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #27344a}.report-definition-list dt{color:#8d9ab0}.report-definition-list dd{margin:0;font-weight:800;text-align:right}
@media(max-width:900px){.player-report-hero{align-items:flex-start;flex-direction:column}.player-grade-strip{width:100%}.player-stat-grid{grid-template-columns:repeat(3,1fr)}.player-chart-grid,.player-detail-grid{grid-template-columns:1fr}.wide-report-chart{grid-column:auto}}
@media(max-width:600px){.seamless-brand-link img{min-height:112px;object-fit:cover}.player-report-person{align-items:flex-start}.player-report-person>img{width:76px;height:76px}.player-grade-strip{grid-template-columns:repeat(3,1fr)}.player-grade-strip>div{min-width:0;padding:10px 5px}.player-grade-strip strong{font-size:23px}.player-stat-grid{grid-template-columns:repeat(2,1fr)}.report-bar-row{grid-template-columns:72px 1fr}.report-bar-row>strong{grid-column:2}.edge-chip-grid{grid-template-columns:repeat(2,1fr)}}

/* Premium access treatment */
.nav-premium-badge {
  display: inline-flex;
  align-items: center;
  margin-left: .38rem;
  padding: .12rem .34rem;
  border: 1px solid rgba(255, 107, 107, .55);
  border-radius: 999px;
  background: linear-gradient(135deg, #b20f2c, #ef3c43);
  color: #fff;
  font-size: .58rem;
  line-height: 1;
  letter-spacing: .08em;
  vertical-align: middle;
}

.premium-preview-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  margin: 1.15rem 0;
  padding: 1.2rem 1.35rem;
  border: 1px solid rgba(238, 58, 65, .48);
  border-radius: 16px;
  background:
    radial-gradient(circle at 90% 20%, rgba(238, 58, 65, .16), transparent 30%),
    linear-gradient(135deg, rgba(18, 29, 48, .98), rgba(8, 15, 28, .98));
  box-shadow: 0 16px 36px rgba(0, 0, 0, .28);
}
.premium-preview-banner h2 { margin: .15rem 0 .25rem; }
.premium-preview-banner p { margin: 0; color: var(--muted, #aeb8c8); }
.premium-upgrade-button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .78rem 1rem;
  border-radius: 10px;
  background: linear-gradient(135deg, #d31836, #ff525a);
  color: #fff !important;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(211, 24, 54, .28);
}
@media (max-width: 720px) {
  .premium-preview-banner { align-items: flex-start; flex-direction: column; }
  .premium-upgrade-button { width: 100%; }
}
.top-count-buttons .premium-disabled { opacity: .58; position: relative; }
.top-count-buttons .premium-disabled::after { content: 'PRO'; margin-left: .35rem; font-size: .62rem; letter-spacing: .06em; }

/* =========================================================
   MOBILE-FIRST LAUNCH PASS
   ========================================================= */
.mobile-nav-toggle{display:none}

@media (max-width: 820px){
  html{overflow-x:hidden}
  body{background:linear-gradient(180deg,#080c15 0,#0b1220 42%,#080b12 100%);overflow-x:hidden}
  .page{width:100%;padding:12px;overflow:hidden}

  .site-shell-header{position:sticky;top:0;z-index:100;background:#070c15;border-bottom:1px solid #28354a;box-shadow:0 8px 24px rgba(0,0,0,.38)}
  .seamless-brand-masthead{position:relative;z-index:1}
  .seamless-brand-link img{object-fit:cover;object-position:center}

  .mobile-nav-toggle{display:flex;width:calc(100% - 24px);height:44px;margin:8px 12px;align-items:center;justify-content:center;gap:6px;border:1px solid #3a465e;border-radius:11px;background:linear-gradient(180deg,#182136,#0c1322);color:#fff;box-shadow:0 8px 18px rgba(0,0,0,.25)}
  .mobile-nav-toggle span{display:block;width:18px;height:2px;background:#ef3942;border-radius:99px;transition:.2s}
  .mobile-nav-toggle b{margin-left:5px;font-size:13px;text-transform:uppercase;letter-spacing:.12em}
  .mobile-nav-toggle.is-open span:nth-child(1){transform:translate(8px,0) rotate(45deg)}
  .mobile-nav-toggle.is-open span:nth-child(2){opacity:0}
  .mobile-nav-toggle.is-open span:nth-child(3){transform:translate(-8px,0) rotate(-45deg)}

  .premium-nav{display:none!important;position:relative!important;top:auto!important;left:auto!important;right:auto!important;width:calc(100% - 24px);max-height:calc(100vh - 150px);overflow-y:auto;margin:0 12px 10px;padding:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;background:#0b1220;border:1px solid #2b3850;border-radius:16px;box-shadow:0 16px 40px rgba(0,0,0,.5)}
  .premium-nav.mobile-open{display:grid!important}
  .premium-nav a{min-width:0!important;margin:0!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;padding:10px!important;border:1px solid #26334a;border-radius:11px;background:#111a2b;transform:none!important}
  .premium-nav a img{width:30px!important;height:30px!important;flex:0 0 30px}
  .premium-nav a span{font-size:12px!important;text-align:left!important;white-space:normal!important;line-height:1.18!important}
  .premium-nav a.active{border-color:#e33a43;background:linear-gradient(135deg,#26131a,#131b2c)}
  .premium-nav .account-nav{justify-content:center!important;text-align:center!important}
  .nav-premium-badge{font-size:.5rem;padding:.1rem .25rem}

  .hero,.feature-hero,.page-hero-with-logo,.simple-page-heading{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important;margin:12px 0 16px!important;padding:0!important}
  .hero>div,.feature-hero>div{width:100%}
  .hero-card{width:100%;padding:16px}
  .page-logo{width:62px!important;height:62px!important}
  h1{font-size:clamp(28px,9vw,42px);line-height:1.02;margin:3px 0 7px}
  h2{line-height:1.12}
  .subtext{font-size:14px;line-height:1.45}
  .eyebrow{font-size:11px}

  .controls{display:grid;grid-template-columns:1fr;gap:8px;margin:12px 0}
  input,select,button{min-height:44px;font-size:16px}
  .card,.table-card,.game-card,.weather-card,.login-card,.hero-card{border-radius:15px;box-shadow:0 12px 28px rgba(0,0,0,.24)}

  /* Turn desktop data tables into readable player cards. */
  .table-card{padding:8px;background:transparent;border:0;box-shadow:none}
  .table-scroll{overflow:visible}
  .table-scroll table{display:block;min-width:0;width:100%;border-spacing:0}
  .table-scroll thead{display:none}
  .table-scroll tbody{display:grid;gap:12px;width:100%}
  .table-scroll tr{display:grid!important;grid-template-columns:1fr 1fr;width:100%;overflow:hidden;padding:13px;background:linear-gradient(180deg,#121b2d,#0b1220);border:1px solid #29374e;border-radius:15px;box-shadow:0 10px 22px rgba(0,0,0,.2)}
  .table-scroll td{display:flex!important;min-width:0;align-items:center;justify-content:space-between;gap:10px;padding:8px!important;background:transparent!important;border:0!important;border-bottom:1px solid rgba(81,96,123,.25)!important;border-radius:0!important;font-size:13px}
  .table-scroll td::before{content:attr(data-label);flex:0 0 auto;color:#8896ac;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
  .table-scroll td.player-cell{grid-column:1/-1;justify-content:flex-start;padding:3px 4px 11px!important;border-bottom:1px solid #344158!important}
  .table-scroll td.player-cell::before{display:none}
  .table-scroll td.player-cell img{width:52px;height:52px}
  .table-scroll td.player-cell strong{font-size:17px}
  .table-scroll td:first-child:has(form),.table-scroll td:first-child:has(.favorite-login-link){grid-column:1/-1;justify-content:flex-end;order:20;border-bottom:0!important}
  .table-scroll td[colspan]{grid-column:1/-1;display:block!important}
  .grade-display{width:min(100%,128px)}
  .grade-line{gap:4px}.grade-line strong{font-size:16px}.grade-line small{font-size:9px}
  .mini-edge-meter{min-width:74px}

  .premium-preview-banner{padding:15px;border-radius:14px}
  .premium-preview-banner h2{font-size:20px}

  .biggest-edges-grid,.top-picks-grid,.weather-grid,.weather-grid-detailed{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .big-edge-card,.top-pick-card,.weather-card{width:100%;min-width:0}
  .top-pick-card{grid-template-columns:42px minmax(0,1fr)!important;padding:14px!important}
  .top-pick-person img{width:52px;height:52px}
  .top-pick-grade,.top-pick-card .signature-edge-meter,.top-pick-card .reason-chips,.top-pick-card .primary-button{grid-column:1/-1!important}
  .top-picks-controls{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:14px}
  .top-count-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}

  /* Weather Advantage */
  .weather-card{padding:14px!important}
  .feature-card-head{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important}
  .weather-score{align-self:flex-end;margin-top:-58px}
  .weather-teams{gap:7px;flex-wrap:wrap}
  .weather-boost-grid{grid-template-columns:1fr!important;gap:7px!important}
  .weather-boost-grid>div{display:flex;align-items:center;justify-content:space-between;padding:11px 12px}
  .ballpark-visual-wrap,.actual-stadium-wrap{width:100%;overflow:hidden}
  .stadium-map-stage{width:100%;aspect-ratio:360/285;min-height:0!important}
  .stadium-overview,.stadium-wind-overlay{width:100%;height:100%;object-fit:contain}
  .weather-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .weather-metrics>div{min-width:0;padding:10px!important}.weather-metrics strong{font-size:14px!important;overflow-wrap:anywhere}
  .weather-targets a{grid-template-columns:minmax(0,1fr) auto;gap:8px}

  /* Pitch DNA retains design, but fits a phone. */
  .dna-dashboard-shell{display:flex!important;flex-direction:column!important;gap:12px!important}
  .dna-top-sidebar{position:static!important;width:100%;max-height:none!important;padding:12px!important;overflow:hidden}
  .dna-top-list{display:flex!important;flex-direction:row!important;overflow-x:auto!important;scroll-snap-type:x mandatory;padding-bottom:6px}
  .dna-top-score{flex:0 0 250px;scroll-snap-align:start}
  .dna-control-panel{display:grid!important;grid-template-columns:1fr!important;padding:13px!important;gap:12px!important}
  .dna-game-picker-button{min-height:66px;padding:8px}
  .dna-game-summary,.dna-game-option{grid-template-columns:minmax(70px,1fr) 80px minmax(70px,1fr)!important;gap:5px!important}
  .dna-team-lockup{gap:4px}.dna-team-lockup img{width:29px!important;height:29px!important}.dna-team-lockup strong{font-size:11px!important}
  .dna-game-middle em{display:none}.dna-game-middle small{font-size:10px}
  .dna-game-menu{position:fixed!important;left:10px!important;right:10px!important;top:145px!important;max-height:calc(100vh - 165px)!important}
  .dna-workbench{display:flex!important;flex-direction:column!important;gap:12px!important}
  .dna-hitter-rankings{max-height:345px!important;padding:10px!important}
  .dna-hitter-button{grid-template-columns:28px 38px minmax(0,1fr) 35px!important;padding:9px 6px!important}
  .dna-hitter-button img{width:38px!important;height:38px!important}
  .dna-detail-stage{padding:12px!important;min-width:0}
  .dna-detail-head{align-items:flex-start!important;flex-direction:column!important}
  .dna-score{align-self:flex-end;margin-top:-54px}
  .dna-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .dna-summary-grid>div{padding:9px!important}.dna-summary-grid strong{font-size:17px!important}
  .pitch-performance-table{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .pitch-performance-row{min-width:620px!important;font-size:12px!important}
  .pitcher-damage-grid{grid-template-columns:1fr!important}

  /* Player report */
  .player-report-hero{padding:15px!important;margin:12px 0!important;gap:14px!important}
  .player-report-person{gap:12px!important}.player-report-person>img{width:68px!important;height:68px!important}.player-report-person h1{font-size:30px!important}
  .player-grade-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  .player-grade-strip>div{padding:8px 4px!important}.player-grade-strip strong{font-size:21px!important}
  .player-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.player-stat-card{padding:12px!important}.player-stat-card strong{font-size:20px!important}
  .player-chart-grid,.player-detail-grid{grid-template-columns:1fr!important;gap:12px!important}.report-chart-card,.player-detail-grid>.card{padding:15px!important}
  .vertical-chart{height:220px;gap:10px}.vertical-chart-track{width:44px;height:145px}
  .report-bar-row{grid-template-columns:66px minmax(0,1fr)!important;gap:8px!important}.report-bar-row>strong{grid-column:2!important;font-size:12px}
  .edge-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}

  .flash{margin:8px 0;padding:11px;font-size:13px}
}

@media (max-width: 430px){
  .premium-nav{grid-template-columns:1fr}
  .seamless-brand-link img{object-position:38% center}
  .table-scroll tr{grid-template-columns:1fr}
  .table-scroll td{grid-column:1!important}
  .table-scroll td.player-cell,.table-scroll td:first-child:has(form),.table-scroll td:first-child:has(.favorite-login-link){grid-column:1!important}
  .weather-score{margin-top:0;align-self:flex-start}
  .weather-metrics{grid-template-columns:1fr!important}
  .dna-score{margin-top:0;align-self:flex-start}
  .dna-summary-grid,.player-stat-grid,.edge-chip-grid{grid-template-columns:1fr!important}
  .player-grade-strip{grid-template-columns:1fr 1fr 1fr!important}
}

/* =========================================================
   SAFE NAVBAR SCROLLBAR FIX
   Hides the scrollbar only. It does not alter navbar sizing,
   layout, wrapping, scrolling, or the existing animation.
   ========================================================= */
.premium-nav {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.premium-nav::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

/* =========================================================
   PROP EDGE RESPONSIVE BANNER — SINGLE AUTHORITATIVE VERSION
   Desktop target area: approximately 1343 × 229.
   Mobile keeps the logo visible with an intentional crop.
   ========================================================= */

.seamless-brand-masthead {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1343 / 229 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #050a13 !important;
}

.seamless-brand-masthead::after {
    display: none !important;
}

.seamless-brand-link {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

.seamless-brand-link img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #050a13 !important;
}

/* Tablet: still wide, but a little taller so the artwork remains readable. */
@media (max-width: 900px) {
    .seamless-brand-masthead {
        aspect-ratio: 4 / 1 !important;
    }

    .seamless-brand-link img {
        object-fit: contain !important;
        object-position: center center !important;
        background: #050a13 !important;
    }
}

/* Phone: compact masthead, cropped toward the logo/text safe area. */
@media (max-width: 600px) {
    .seamless-brand-masthead {
        height: 105px !important;
        aspect-ratio: auto !important;
    }

    .seamless-brand-link img {
        object-fit: cover !important;
        object-position: 38% center !important;
    }
}

/* Very small phones. */
@media (max-width: 430px) {
    .seamless-brand-masthead {
        height: 92px !important;
    }

    .seamless-brand-link img {
        object-position: 36% center !important;
    }
}
