.baseball-page { --baseball-garnet:#a91d31; --baseball-gold:#fcc645; --brick:#a91d31; --brick-dark:#771324; --brick-light:#c53b50; --gold:#fcc645; --gold-dark:#be9229; --brand-garnet:#a91d31; --brand-garnet-dark:#771324; --brand-gold:#fcc645; min-height:100vh; color:var(--ink); background-color:#f6f2e9; background-image:radial-gradient(#d5cfc2 .65px,transparent .8px); background-size:6px 6px; }
.baseball-page .site-header { z-index:50; border-bottom-color:var(--baseball-garnet); box-shadow:0 4px 0 var(--baseball-gold); }
.baseball-content { max-width:1180px; margin:0 auto; padding:0 clamp(18px,5vw,62px) 76px; }
.light-tower-cta{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:190px;margin:0 0 28px;overflow:hidden;border:3px solid #2a2026;border-radius:18px;background:radial-gradient(ellipse at 50% 50%,#23232a 0%,#0b0d12 52%,#030407 100%);box-shadow:8px 9px 0 #e0b548;color:#fff7df;text-decoration:none;text-align:center;transition:transform .2s ease,box-shadow .2s ease}
.light-tower-cta::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:radial-gradient(ellipse 43% 120% at 23% 46%,#fff1c94f 0%,#d5b67424 43%,transparent 80%),radial-gradient(ellipse 43% 120% at 77% 46%,#fff1c94f 0%,#d5b67424 43%,transparent 80%)}
.light-tower-cta:hover,.light-tower-cta:focus-visible{transform:translateY(-3px);box-shadow:8px 12px 0 #e0b548}
.light-tower-cta:focus-visible{outline:3px solid #ffdc78;outline-offset:4px}
.light-tower-cta-art{position:absolute;z-index:1;top:-62px;width:270px;height:310px;object-fit:contain;opacity:.86;filter:drop-shadow(0 0 24px #f9d47b99);pointer-events:none}
.light-tower-cta-art-left{left:-34px;transform:rotate(-10deg)}
.light-tower-cta-art-right{right:-34px;transform:scaleX(-1) rotate(-10deg)}
.light-tower-cta-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:7px;padding:22px 175px;text-shadow:0 2px 8px #000}
.light-tower-cta-copy small{font-family:var(--font-display);font-size:11px;font-weight:950;letter-spacing:.18em;text-transform:uppercase}
.light-tower-cta-copy h2{margin:0;color:#fff8eb;font-family:var(--font-display);font-size:clamp(31px,4.6vw,57px);font-weight:950;line-height:.98;letter-spacing:-.05em;text-transform:uppercase;white-space:nowrap;text-shadow:0 0 22px #fff0b885,3px 3px 0 #4a1929}
.light-tower-cta-copy h2 em{color:var(--baseball-gold);font-style:normal;text-shadow:0 0 24px #ffe7a6aa,3px 3px 0 #571826}
.light-tower-cta-copy>span{font-family:var(--font-display);font-size:13px;font-weight:850;letter-spacing:.02em}
@media(max-width:700px){.light-tower-cta{min-height:150px;margin:0 0 22px}.light-tower-cta-art{width:200px;height:250px;top:-44px;opacity:.74}.light-tower-cta-art-left{left:-86px}.light-tower-cta-art-right{right:-86px}.light-tower-cta-copy{padding:18px 38px;gap:5px}.light-tower-cta-copy small{font-size:9px;letter-spacing:.12em}.light-tower-cta-copy h2{font-size:clamp(25px,7vw,40px);white-space:normal}.light-tower-cta-copy>span{font-size:11px}}
.baseball-content--coming-soon { filter:blur(8px); opacity:.48; user-select:none; pointer-events:none; }
.baseball-coming-soon { position:fixed; inset:0; z-index:40; display:grid; place-items:center; padding:24px; pointer-events:none; }
.baseball-coming-soon-card { width:min(100%,460px); padding:clamp(24px,6vw,44px); text-align:center; color:#fff9eb; background:linear-gradient(135deg,#771324,#a91d31); border:3px solid #fcc645; border-radius:18px; box-shadow:7px 8px 0 #fcc645,0 20px 70px rgba(40,12,20,.3); }
.baseball-coming-soon-card img { display:block; width:90px; height:100px; object-fit:contain; margin:0 auto 22px; padding:8px; background:#fff9eb; border:2px solid #fcc645; border-radius:8px; }
.baseball-coming-soon-card .baseball-coming-soon-brand { width:100%; height:auto; padding:0; margin-bottom:20px; border:0; border-radius:5px; }
.baseball-coming-soon-kicker { margin:0 0 15px; font-size:14px; font-weight:850; line-height:1.4; letter-spacing:.1em; text-transform:uppercase; color:#fcc645; }
.baseball-coming-soon-card h1 { margin:0; font-family:var(--font-display); font-size:clamp(42px,10vw,68px); font-weight:950; line-height:.98; letter-spacing:-.055em; text-transform:uppercase; }
.baseball-coming-soon-card h1 span { display:block; color:#fcc645; }
.baseball-intro { position:relative; min-height:280px; display:flex; align-items:center; justify-content:space-between; gap:28px; overflow:hidden; padding:30px clamp(24px,4vw,46px); margin:34px 0 26px; color:#fff8e9; background:linear-gradient(118deg,#781629 0%,#a91d31 67%,#be3d50 100%); border:3px solid #701321; border-radius:18px; box-shadow:9px 10px 0 var(--baseball-gold); }
.baseball-intro::before { content:""; position:absolute; width:530px; height:530px; right:-140px; top:-270px; border:2px dashed rgba(255,239,212,.35); border-radius:50%; box-shadow:0 0 0 22px rgba(255,255,255,.035),0 0 0 45px rgba(255,255,255,.025); transform:rotate(-18deg); pointer-events:none; }
.baseball-intro::after { content:""; position:absolute; inset:0; opacity:.2; pointer-events:none; background-image:radial-gradient(#fff3d2 .7px,transparent .7px); background-size:7px 7px; }
.baseball-intro-copy { position:relative; z-index:1; min-width:0; flex:1 1 auto; }
.baseball-intro-brand { display:flex; align-items:center; gap:15px; margin-bottom:16px; }
.baseball-intro-brand img { width:68px; height:76px; flex:none; object-fit:contain; padding:3px; background:#fff; border:3px solid var(--baseball-gold); border-radius:7px; box-shadow:4px 4px 0 rgba(28,13,9,.22); }
.baseball-eyebrow { display:flex; align-items:center; gap:11px; margin:0; color:var(--baseball-gold); font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:.13em; }
.baseball-diamond { width:11px; height:11px; flex:none; background:var(--baseball-gold); border:2px solid #fff4d4; transform:rotate(45deg); }
.baseball-intro h1 { margin:0; font-family:var(--font-display); font-size:clamp(42px,5vw,71px); font-weight:950; line-height:.96; text-transform:uppercase; letter-spacing:-.07em; }
.baseball-intro h1 em { color:var(--baseball-gold); font-style:normal; text-shadow:4px 4px 0 #31101e; }
.baseball-deck { max-width:490px; margin:16px 0 0; font-size:clamp(16px,2vw,20px); line-height:1.22; font-weight:600; }
.baseball-countdown { position:relative; z-index:1; flex:0 0 370px; max-width:100%; padding:6px; color:#f6f5ed; background:#315d4d; border:4px solid #ecf0e9; border-radius:3px; outline:3px solid #1b4034; box-shadow:inset 0 0 0 2px #678977,6px 7px 0 rgba(32,11,9,.3); font-family:Georgia,"Times New Roman",serif; }
.baseball-countdown-top { min-height:62px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; padding:4px 8px; text-align:center; border-bottom:3px solid #ecf0e9; background:#295442; }
.baseball-countdown-top strong { font-size:clamp(22px,2.3vw,29px); font-weight:700; line-height:1; letter-spacing:.04em; }
.baseball-countdown-top span { font-family:var(--font-interface); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.baseball-countdown-caption { padding:5px 7px 4px; text-align:center; font-size:11px; font-weight:700; letter-spacing:.17em; border-bottom:3px solid #ecf0e9; }
.baseball-countdown-units { display:grid; gap:3px; padding:3px 0; }
.baseball-countdown-unit { min-width:0; min-height:44px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:5px; padding:2px 7px 2px 10px; background:#315d4d; border-bottom:2px solid #e7ece5; }
.baseball-countdown-unit:last-child { border-bottom:0; }
.baseball-countdown-unit>span:first-child { font-size:21px; font-weight:700; text-transform:uppercase; letter-spacing:.035em; }
.baseball-board-numbers { display:grid; grid-template-columns:repeat(3,34px); gap:3px; }
.baseball-board-digit,.baseball-board-empty { position:relative; width:34px; height:38px; display:grid; place-items:center; color:#f9faf5; background:#162824; border:1px solid #769587; box-shadow:inset 0 0 0 2px #1e3530,1px 1px 0 #173b2d; }
.baseball-board-digit { animation:baseball-board-drop .26s ease-out both; }
.baseball-board-digit::after { content:""; position:absolute; top:3px; left:3px; width:2px; height:2px; border-radius:50%; background:#b2c3b8; box-shadow:25px 0 #b2c3b8,0 29px #b2c3b8,25px 29px #b2c3b8; }
.baseball-board-digit span { position:relative; z-index:1; font-size:27px; font-weight:700; line-height:1; font-variant-numeric:lining-nums tabular-nums; }
.baseball-countdown-bottom { display:flex; justify-content:space-between; align-items:center; gap:7px; padding:6px 5px 2px; border-top:3px solid #ecf0e9; font-family:var(--font-interface); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.05em; }
.baseball-countdown-bottom time { white-space:nowrap; }
.baseball-play-ball { min-height:141px; display:flex; align-items:center; justify-content:center; flex-direction:column; font-size:38px; font-weight:700; color:#f9faf5; letter-spacing:.03em; }
.baseball-play-ball span { font-family:var(--font-interface); font-size:11px; letter-spacing:.19em; }
@keyframes baseball-board-drop { from { opacity:.55; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .baseball-board-digit { animation:none; } }
.baseball-schedule { max-width:100%; }
.baseball-schedule-heading { display:flex; justify-content:space-between; align-items:end; flex-wrap:wrap; gap:15px 28px; padding:14px 0 19px; border-bottom:5px solid var(--brick-dark); }
.baseball-section-kicker { display:block; color:var(--brick); font-size:13px; font-weight:850; letter-spacing:.16em; text-transform:uppercase; }
.baseball-schedule-heading h2 { margin:4px 0 0; font-family:var(--font-display); font-weight:950; font-size:clamp(26px,4vw,42px); letter-spacing:-.055em; text-transform:uppercase; line-height:1; }
.baseball-legend { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; max-width:670px; font-size:15px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.baseball-legend button { display:inline-flex; align-items:center; gap:6px; min-height:33px; padding:5px 10px; border:2px solid rgba(36,25,16,.24); border-radius:6px; font:inherit; text-transform:inherit; letter-spacing:inherit; cursor:pointer; transition:transform .15s ease,box-shadow .15s ease,filter .15s ease; }
.baseball-legend button:hover { transform:translateY(-2px); filter:brightness(1.06); }
.baseball-legend button[aria-pressed="true"] { transform:translateY(-2px); box-shadow:0 4px 0 #442618; outline:2px solid #442618; outline-offset:2px; }
.baseball-legend button:focus-visible { outline:3px solid #262018; outline-offset:3px; }
.baseball-legend b { font-family:var(--font-display); font-size:14px; }
.baseball-legend-home { color:#fff!important; background:var(--baseball-garnet); }
.baseball-legend-away { color:#342417!important; background:var(--baseball-gold); }
.baseball-legend-neutral { color:#342417!important; background:#fff9eb; }
.baseball-legend-nonconference,.baseball-legend-acc,.baseball-legend-midweek { color:#342417!important; background:#eee5d3; }
.baseball-legend-acc { color:#fff!important; background:var(--brick-dark); }
.baseball-filter-status { margin:10px 3px -18px; color:var(--muted); font-size:13px; font-weight:750; text-transform:uppercase; letter-spacing:.06em; }
.baseball-month { position:relative; margin-top:27px; }
.baseball-month-art { position:absolute; top:-28px; right:-13px; width:min(56%,510px); height:158px; object-fit:contain; object-position:right center; opacity:.17; filter:grayscale(1); pointer-events:none; }
.baseball-month--march .baseball-month-art { right:15px; width:280px; height:176px; }
.baseball-month--may .baseball-month-art { right:36px; width:170px; height:190px; }
.baseball-month-heading { position:relative; z-index:1; min-height:91px; display:flex; align-items:end; justify-content:space-between; padding:0 3px 10px; }
.baseball-month-heading h3 { margin:0; color:var(--brick-dark); font-family:var(--font-display); font-size:clamp(25px,4vw,36px); font-weight:950; text-transform:uppercase; letter-spacing:-.055em; }
.baseball-month-heading span { color:var(--muted); font-size:15px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.baseball-game-list { position:relative; z-index:1; display:grid; gap:10px; padding:0; margin:0; list-style:none; }
.baseball-game { position:relative; min-height:94px; display:grid; grid-template-columns:83px 35px 90px minmax(0,1fr) auto; align-items:center; gap:10px; padding:9px 20px 9px 11px; border:2px solid rgba(35,26,19,.22); border-radius:12px; box-shadow:4px 5px 0 rgba(64,37,25,.16); overflow:hidden; }
.baseball-game::after { content:""; position:absolute; width:90px; height:90px; top:-55px; right:23%; border:1px dashed currentColor; border-radius:50%; opacity:.23; pointer-events:none; }
.baseball-game--home { color:#fffaf0; background:var(--baseball-garnet); border-color:#711523; }
.baseball-game--away { color:#342311; background:var(--baseball-gold); border-color:#a77d18; }
.baseball-game--neutral { color:#38291d; background:#fff9ec; border-color:#c7a869; }
.baseball-date { min-width:75px; min-height:70px; display:grid; grid-template-columns:1fr 1fr; align-items:center; padding:4px 7px; border:2px solid currentColor; border-radius:7px; line-height:.95; text-align:center; }
.baseball-date span { font-size:13px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.baseball-date span:first-child { grid-column:1 / -1; align-self:end; }
.baseball-date strong { grid-column:1; grid-row:2; font-family:var(--font-display); font-size:35px; line-height:1; letter-spacing:-.09em; }
.baseball-date span:last-child { grid-column:2; grid-row:2; font-size:12px; align-self:center; }
.baseball-matchup { font-family:var(--font-display); font-size:18px; font-weight:950; text-align:center; opacity:.72; }
.baseball-opponent-logo { width:78px; height:70px; display:grid; place-items:center; padding:5px; background:#fffdf7; border:2px solid rgba(31,21,14,.18); border-radius:11px; box-shadow:2px 3px 0 rgba(0,0,0,.15); }
.baseball-opponent-logo img { display:block; width:100%; height:100%; object-fit:contain; }
.baseball-game-details { min-width:0; display:flex; flex-direction:column; gap:4px; }
.baseball-game-number { font-family:var(--font-display); font-size:clamp(17px,2.5vw,24px); line-height:1.05; font-weight:950; text-transform:uppercase; letter-spacing:-.035em; }
.baseball-place { font-size:16px; font-weight:600; line-height:1.12; opacity:.93; }
.baseball-tags { display:flex; gap:6px; align-items:center; justify-content:flex-end; flex-wrap:wrap; }
.baseball-tags span { display:inline-flex; align-items:center; justify-content:center; min-height:27px; padding:3px 8px; border:1.5px solid currentColor; border-radius:4px; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; white-space:nowrap; }
.baseball-tags .baseball-acc { background:rgba(255,255,255,.13); }
.baseball-source { margin:30px 3px 0; color:var(--muted); font-size:15px; font-weight:600; }
.baseball-source a { color:var(--brick); font-weight:850; text-decoration:underline; text-underline-offset:2px; }
html[data-theme="dark"] .baseball-page { --ink:#f8eddf; --muted:#d9c4b4; color:#f8eddf; background-color:#251b1b; }
html[data-theme="dark"] .baseball-page .site-header { border-bottom-color:var(--baseball-garnet); box-shadow:0 4px 0 var(--baseball-gold); }
html[data-theme="dark"] .baseball-month-heading h3,html[data-theme="dark"] .baseball-section-kicker,html[data-theme="dark"] .baseball-source a { color:#e65b6c; }
@media (max-width:1050px) { .baseball-intro { flex-direction:column; align-items:stretch; } .baseball-countdown { width:100%; max-width:500px; flex:auto; } }
@media (max-width:680px) {
  .baseball-legend { justify-content:flex-start; }
  .baseball-intro { min-height:0; gap:24px; padding:24px 19px; margin-top:20px; box-shadow:5px 6px 0 var(--baseball-gold); }
  .baseball-intro-brand img { width:53px; height:60px; }
  .baseball-intro-brand { gap:10px; margin-bottom:13px; }
  .baseball-intro h1 { font-size:clamp(39px,9vw,62px); }
  .baseball-deck { max-width:390px; }
  .baseball-countdown { width:100%; }
  .baseball-countdown-unit>span:first-child { font-size:clamp(16px,5vw,21px); }
  .baseball-countdown-bottom { font-size:9px; }
  .baseball-month-heading { min-height:66px; }
  .baseball-month-art { width:62%; height:110px; top:-18px; right:-8px; opacity:.14; }
  .baseball-month--march .baseball-month-art { width:165px; height:115px; right:0; }
  .baseball-month--may .baseball-month-art { width:100px; height:130px; right:5px; }
  .baseball-game { min-height:82px; grid-template-columns:61px 22px 62px minmax(0,1fr); gap:6px; padding:7px 9px; }
  .baseball-date { min-width:0; min-height:60px; padding:3px; }
  .baseball-date strong { font-size:28px; }
  .baseball-date span { font-size:10px; }
  .baseball-date span:last-child { font-size:9px; }
  .baseball-matchup { font-size:13px; }
  .baseball-opponent-logo { width:58px; height:58px; padding:3px; }
  .baseball-game-number { font-size:clamp(13px,3.3vw,17px); }
  .baseball-place { font-size:12px; }
  .baseball-tags { grid-column:4; justify-content:flex-start; margin-top:-5px; }
  .baseball-tags span { min-height:19px; padding:1px 5px; font-size:9px; }
}
@media (max-width:430px) {
  .baseball-eyebrow { font-size:12px; }
  .baseball-game-number { font-size:13px; }
  .baseball-place { font-size:11px; }
}
