.city-sports{margin:30px auto 36px;max-width:1440px;min-width:0;padding:clamp(14px,3vw,32px);border:1px solid #8f773e;background:radial-gradient(ellipse at top,#293e33,#101b18 75%);color:#f8edcf;border-radius:12px;box-shadow:0 18px 40px #0005}
.city-sports *{box-sizing:border-box}.city-sports h2{margin:8px 0;font:clamp(24px,3vw,38px) Georgia,serif}.sports-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.sports-heading p{max-width:700px;line-height:1.6}.sports-heading>a{color:#ffe3a2;white-space:normal}
.sports-tv{border:clamp(9px,2vw,20px) solid #171817;border-bottom-width:32px;border-radius:20px;background:#0a1518;box-shadow:0 0 0 2px #596157,0 12px 24px #0007;overflow:hidden;position:relative;margin:22px 0}.sports-tv:after{content:'ISN · SPORTS LOUNGE';position:absolute;bottom:-25px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:3px;color:#bebaa8}.sports-tv-header{display:flex;justify-content:space-between;align-items:center;gap:12px;background:linear-gradient(110deg,#193640,#13252b);padding:14px 18px;border-bottom:1px solid #71907c}.sports-tv-header strong{letter-spacing:2px;font-size:13px}.city-sports button,.city-sports select{min-height:44px;padding:10px 14px;font:inherit;background:#152923;color:#ffedbd;border:1px solid #a38c51;border-radius:5px;max-width:100%;cursor:pointer}.city-sports button:disabled{opacity:.65;cursor:default}
.sports-teams{list-style:none;margin:0;padding:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px;background:linear-gradient(135deg,#15322c,#06151c)}.sports-teams li{display:flex;align-items:center;gap:12px;min-width:0;font-size:14px;font-weight:600}.sports-teams img,.sports-team img{object-fit:contain;flex-shrink:0}.sports-teams small{display:block;color:#b9cbba;font-size:10px;margin-top:4px;letter-spacing:2px}.sports-teams span{overflow-wrap:anywhere}
.sports-ticker{overflow:hidden;background:#edce7e;color:#111e23;border-top:3px solid #f8e6b2}.sports-ticker-track{display:flex;width:max-content;animation:city-sports-ticker var(--ticker-time,40s) linear infinite}.sports-ticker-track>div{display:flex;flex:none}.sports-ticker span{display:block;padding:12px 24px;border-right:1px solid #a58a47;white-space:nowrap;font-size:14px;font-weight:700}.sports-paused .sports-ticker{overflow-x:auto}.sports-paused .sports-ticker-track,.city-sports:focus-within .sports-ticker-track,.sports-tv:hover .sports-ticker-track{animation-play-state:paused}.sports-paused .sports-ticker-track{transform:none;animation:none}.sports-paused .sports-ticker-track>div[aria-hidden]{display:none}.sports-controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:24px 0 10px}.sports-controls label{display:grid;gap:6px;min-width:0;font-size:13px;font-weight:600}.sports-status,.sports-note{font-size:13px;line-height:1.6;color:#d4d7c2}.sports-games{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:18px;margin:20px 0}.sports-match{padding:20px;border:1px solid #667355;border-radius:9px;background:#10241f;min-width:0}.sports-match-top{display:flex;justify-content:space-between;gap:8px;color:#eccc86;font-size:12px}.sports-match h3{font-family:inherit;font-size:17px;line-height:1.35;margin:20px 0}.sports-team{display:flex;align-items:center;gap:12px;overflow-wrap:anywhere}.sports-team small{display:block;letter-spacing:2px;font-size:9px;color:#c0cda9;margin-top:4px}.sports-at{display:block;padding:8px 0 8px 54px;font-size:12px;color:#a6b5a5}.sports-odds{margin:18px 0;font-size:13px;line-height:1.65}.sports-odds>div{display:grid;grid-template-columns:70px 1fr;gap:8px;padding:9px 0;border-top:1px solid #3a5140}.sports-odds dt{font-weight:700;color:#f9d990}.sports-odds dd{margin:0;overflow-wrap:anywhere}.sports-source,.sports-info-only{font-size:11px;color:#c5cfbb;line-height:1.5}.sports-review{display:block;border:1px solid #c9aa63;background:#dbc081;color:#171d15!important;text-decoration:none;padding:12px 14px;border-radius:4px;font-size:14px;font-weight:bold;min-height:44px;margin-top:18px}.sports-empty{padding:14px 0;line-height:1.6}.city-sports :is(a,button,select):focus-visible{outline:3px solid #fff1c4;outline-offset:4px}
@keyframes city-sports-ticker{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.sports-ticker-track{animation:none!important}.sports-ticker{overflow-x:auto}.sports-ticker-track>div[aria-hidden]{display:none}}@media(max-width:500px){.sports-tv-header{align-items:start;flex-direction:column}.sports-teams{grid-template-columns:1fr 1fr;padding:12px;gap:12px}.sports-teams li{flex-direction:column;align-items:start;font-size:12px}.sports-controls label{flex:1 1 150px}.sports-controls button{width:100%}.sports-match{padding:16px}.sports-odds>div{grid-template-columns:60px 1fr}}
