/* Sports Bar Package styles. Colors and fonts come from SPORTS_CFG.theme (sports.js writes them to these --sp-* vars). */
:root{--sp-bg:#0b1220;--sp-panel:#141e34;--sp-edge:#27324d;--sp-accent:#d4af37;--sp-accent2:#f0d375;--sp-ink:#f6f1e4;--sp-dim:#9aa3b5;--sp-on-accent:#1a1405;--sp-live:#ff3b3b;--sp-good:#3fbf8f;--sp-bad:#d64545;
  --sp-display:Georgia,serif;--sp-body:system-ui,-apple-system,sans-serif;--sp-punch:Impact,sans-serif}
#sp-ov{position:fixed;inset:0;z-index:96;display:none;flex-direction:column;background:radial-gradient(700px 420px at 50% -10%,color-mix(in srgb,var(--sp-accent) 14%,transparent) 0,transparent 62%),var(--sp-bg);color:var(--sp-ink);font-family:var(--sp-body)}
#sp-ov.on{display:flex}
.sp-top{display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top,0px)) 96px 10px 16px;border-bottom:1px solid var(--sp-edge);background:color-mix(in srgb,var(--sp-bg) 92%,transparent)}
.sp-top .x{flex:none;width:40px;height:40px;border-radius:12px;border:1px solid var(--sp-edge);background:var(--sp-panel);color:var(--sp-ink);font:800 18px var(--sp-body);cursor:pointer}
.sp-top .t{flex:1;min-width:0;font-family:var(--sp-display);font-weight:900;font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-body{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.sp-in{max-width:560px;margin:0 auto;padding:14px 16px calc(28px + env(safe-area-inset-bottom,0px))}
.sp-h{font-family:var(--sp-display);font-weight:900;font-size:26px;margin:4px 0 8px;line-height:1.15}.sp-h small{display:block;font:800 11px var(--sp-body);letter-spacing:.2em;text-transform:uppercase;color:var(--sp-accent)}
.sp-p{color:var(--sp-dim);font-size:14.5px;margin:0 0 12px}
.sp-tabs{display:flex;gap:6px;margin:4px 0 2px}.sp-tabs button{flex:1;min-height:42px;border-radius:12px;border:1px solid var(--sp-edge);background:var(--sp-panel);color:var(--sp-ink);font:800 14px var(--sp-body);cursor:pointer}
.sp-tabs button[aria-pressed=true]{background:linear-gradient(180deg,var(--sp-accent2),var(--sp-accent));border-color:var(--sp-accent);color:var(--sp-on-accent)}
.sp-bar{display:flex;gap:8px;margin-top:8px}.sp-bar button{flex:1;min-height:42px;border-radius:12px;border:1px solid var(--sp-edge);background:var(--sp-panel);color:var(--sp-ink);font:800 14px var(--sp-body);cursor:pointer}
.sp-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;border-radius:14px;border:1px solid var(--sp-accent);background:linear-gradient(180deg,var(--sp-accent2),var(--sp-accent));color:var(--sp-on-accent);font:800 15px var(--sp-body);cursor:pointer;margin-top:10px;padding:10px 14px;text-decoration:none}
.sp-sec{font:800 11px var(--sp-body);letter-spacing:.18em;text-transform:uppercase;color:var(--sp-accent);margin:16px 2px 8px;display:flex;align-items:center;gap:8px}
.sp-lbl{font:800 11px var(--sp-body);letter-spacing:.18em;text-transform:uppercase;color:var(--sp-accent);margin:14px 2px 6px}
.sp-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--sp-live);animation:sppulse 1.4s infinite;flex:none}
@keyframes sppulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--sp-live) 60%,transparent)}70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}
.sp-g{background:var(--sp-panel);border:1px solid var(--sp-edge);border-radius:16px;padding:11px 12px;margin-top:9px}
.sp-g.fol{border-color:var(--sp-accent)}.sp-g.fol.live{box-shadow:0 0 0 1px var(--sp-accent),0 0 24px color-mix(in srgb,var(--sp-accent) 30%,transparent)}
.sp-tp{display:flex;justify-content:space-between;gap:8px;font:800 12px var(--sp-body);color:var(--sp-dim);margin-bottom:6px;min-width:0}
.sp-tp span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-tp .lv{color:#ff8a8a;display:flex;align-items:center;gap:6px}
.sp-tm{display:flex;align-items:center;gap:9px;padding:4px 0;min-width:0}.sp-tm img{width:30px;height:30px;object-fit:contain;flex:none}
.sp-tm .n{flex:1;min-width:0}.sp-tm b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-tm small{color:var(--sp-dim);font-size:12px}
.sp-tm .s{font:400 26px var(--sp-punch);color:var(--sp-ink);min-width:34px;text-align:right}.sp-tm.w .s{color:var(--sp-accent2)}.sp-tm.l .s{color:#7d879e}
.sp-info{margin-top:6px;padding-top:7px;border-top:1px solid var(--sp-edge);font-size:12.5px;color:#c9d2ee;line-height:1.45}.sp-info div{overflow-wrap:anywhere}.sp-info b{color:var(--sp-accent2)}
.sp-bdg{display:inline-block;white-space:nowrap;font:800 10px var(--sp-body);letter-spacing:.08em;text-transform:uppercase;border-radius:99px;padding:2px 7px;margin-left:5px;vertical-align:1px}
.sp-bdg.fol{background:var(--sp-accent2);color:var(--sp-on-accent)}.sp-bdg.in{background:color-mix(in srgb,var(--sp-good) 20%,transparent);color:#9ff0cf;border:1px solid var(--sp-good)}.sp-bdg.out{background:color-mix(in srgb,var(--sp-bad) 20%,transparent);color:#ffb4a8;border:1px solid var(--sp-bad)}
.sp-pk{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap;font-size:12px;color:var(--sp-dim)}
.sp-pk button{border:1px solid var(--sp-edge);background:var(--sp-bg);color:var(--sp-ink);border-radius:99px;padding:6px 11px;font:800 12.5px var(--sp-body);cursor:pointer}
.sp-pk button[aria-pressed=true]{background:var(--sp-accent2);color:var(--sp-on-accent);border-color:var(--sp-accent)}.sp-pk b{color:var(--sp-accent2)}
.sp-empty{background:var(--sp-panel);border:1px dashed var(--sp-edge);border-radius:16px;padding:16px;text-align:center;color:var(--sp-dim);margin-top:10px}.sp-empty b{display:block;color:var(--sp-ink);font-size:16px;margin-bottom:4px}
.sp-my{background:linear-gradient(140deg,color-mix(in srgb,var(--sp-accent) 18%,var(--sp-bg)),var(--sp-panel) 60%);border:1px solid var(--sp-accent);border-radius:18px;padding:12px;margin-top:9px}
.sp-my .hd{display:flex;align-items:center;gap:10px}.sp-my .hd img{width:44px;height:44px;object-fit:contain;flex:none}.sp-my .hd b{font-family:var(--sp-display);font-size:20px;line-height:1.1}.sp-my .hd small{display:block;color:var(--sp-dim);font-size:12.5px}
.sp-l5{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap;align-items:center}.sp-l5 small{color:var(--sp-dim);font-size:11.5px;margin-right:4px}
.sp-l5 i{font-style:normal;width:26px;height:26px;border-radius:7px;display:grid;place-items:center;font:800 12px var(--sp-body)}.sp-l5 .W{background:var(--sp-good);color:#062016}.sp-l5 .L{background:#5a2330;color:#ffd6d0}.sp-l5 .T,.sp-l5 .D{background:#3a4566;color:#dfe5f5}
.sp-cred{text-align:center;color:var(--sp-dim);font-size:11.5px;margin-top:14px}
.sp-pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sp-pick button{min-width:0;border:1px solid var(--sp-edge);background:var(--sp-panel);color:var(--sp-ink);border-radius:14px;padding:10px 4px;font:700 12.5px var(--sp-body);cursor:pointer;line-height:1.2}
.sp-pick button img{display:block;width:40px;height:40px;object-fit:contain;margin:0 auto 5px}
.sp-pick button[aria-pressed=true]{border-color:var(--sp-accent);background:color-mix(in srgb,var(--sp-accent) 14%,transparent);box-shadow:inset 0 0 0 1px var(--sp-accent)}
.sp-pick button[aria-pressed=true]::after{content:'★ Following';display:block;color:var(--sp-accent2);font:800 10px var(--sp-body);margin-top:3px}
/* perks: watch-party banner */
.sp-wp{display:flex;gap:10px;align-items:center;margin-top:10px;padding:12px 14px;border-radius:16px;border:2px dashed var(--sp-accent);background:color-mix(in srgb,var(--sp-accent) 12%,var(--sp-panel));color:var(--sp-ink)}
.sp-wp .i{font-size:26px;flex:none}.sp-wp b{display:block;font-family:var(--sp-display);font-size:18px;line-height:1.15}.sp-wp small{display:block;color:var(--sp-dim);font-size:12px;margin-top:3px}
/* fights */
.sp-fx{background:linear-gradient(160deg,#2a1218,var(--sp-panel) 60%);border:1px solid var(--sp-edge);border-radius:18px;padding:12px;margin-top:9px}
.sp-fx .ev{font-family:var(--sp-display);font-weight:900;font-size:20px;line-height:1.15;margin:2px 0}.sp-fx .meta{color:var(--sp-dim);font-size:12.5px}
.sp-bout{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;padding:9px 0;border-top:1px solid var(--sp-edge);font-size:13.5px}
.sp-bout:first-of-type{border-top:0}.sp-bout .f{min-width:0}.sp-bout .f b{display:block;overflow-wrap:anywhere;line-height:1.2}.sp-bout .f small{color:var(--sp-dim);font-size:11.5px}.sp-bout .f.r{text-align:right}
.sp-bout .f.win b{color:var(--sp-accent2)}.sp-bout .f.win b::after{content:' ✓'}.sp-bout .f.lose b{color:#8a93a8}
.sp-bout .vs{font:400 14px var(--sp-punch);color:var(--sp-dim);text-align:center}.sp-bout .res{grid-column:1/-1;text-align:center;font-size:12px;color:var(--sp-dim);margin-top:-2px}
.sp-bout.main{background:color-mix(in srgb,var(--sp-accent) 8%,transparent);border-radius:12px;padding:9px 8px;border-top:0;margin-top:6px}
.sp-bout .wc{grid-column:1/-1;text-align:center;font:800 10px var(--sp-body);letter-spacing:.14em;text-transform:uppercase;color:var(--sp-accent)}
.sp-fn{border:1px solid var(--sp-accent);background:linear-gradient(160deg,color-mix(in srgb,var(--sp-bad) 25%,var(--sp-bg)),var(--sp-panel) 70%)}
.sp-fn .tag{display:inline-block;font:800 10px var(--sp-body);letter-spacing:.14em;text-transform:uppercase;background:var(--sp-accent2);color:var(--sp-on-accent);border-radius:99px;padding:3px 8px}
.sp-fn .me{margin-top:8px;font:400 22px var(--sp-punch);letter-spacing:.02em;line-height:1.15;overflow-wrap:anywhere}
/* ticker + toast */
.sp-ticker{display:none;margin:12px auto 0;max-width:520px;width:100%;border:1px solid var(--sp-edge);background:color-mix(in srgb,var(--sp-bg) 80%,transparent);border-radius:999px;padding:7px 12px;color:var(--sp-ink);font:700 13px var(--sp-body);cursor:pointer;align-items:center;gap:8px;min-width:0;text-align:left}
.sp-ticker.on{display:flex}.sp-ticker .tx{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-ticker img{width:20px;height:20px;object-fit:contain;flex:none}.sp-ticker .go{flex:none;color:var(--sp-accent2);font-weight:800}
.sp-toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:99;max-width:min(92vw,440px);background:var(--sp-panel);border:1px solid var(--sp-accent);color:var(--sp-ink);border-radius:14px;padding:10px 14px;font:700 14px var(--sp-body);box-shadow:0 10px 30px #0009}
@media (prefers-reduced-motion:reduce){.sp-dot{animation:none}}
/* perk: Football Squares (squares.js) */
.sq-legal{margin:4px 0 8px;font:800 11.5px var(--sp-body);color:var(--sp-accent2);letter-spacing:.02em}
.sq-prizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:6px 0 8px}
.sq-prizes div{min-width:0;background:var(--sp-bg);border:1px solid var(--sp-edge);border-radius:10px;padding:6px 8px;font-size:12.5px;line-height:1.3;overflow-wrap:anywhere}
.sq-prizes small{display:block;font:800 10px var(--sp-body);letter-spacing:.14em;text-transform:uppercase;color:var(--sp-accent)}
.sq-axis{text-align:center;font:800 11px var(--sp-body);letter-spacing:.1em;text-transform:uppercase;color:var(--sp-dim);margin:6px 0 3px 18px}
.sq-wrap{display:flex;gap:3px;align-items:stretch}
.sq-side{flex:none;width:15px;display:flex;align-items:center;justify-content:center}.sq-side span{writing-mode:vertical-rl;transform:rotate(180deg);font:800 11px var(--sp-body);letter-spacing:.1em;text-transform:uppercase;color:var(--sp-dim);white-space:nowrap}
.sq-grid{flex:1;min-width:0;display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:2px}
.sq-h{aspect-ratio:1/1;display:grid;place-items:center;font:400 15px var(--sp-punch);color:var(--sp-accent2);background:color-mix(in srgb,var(--sp-accent) 10%,var(--sp-bg));border-radius:5px}.sq-c0{color:var(--sp-dim);font-size:12px}
.sq-s{position:relative;aspect-ratio:1/1;min-width:0;padding:0;border:1px solid var(--sp-edge);border-radius:5px;background:var(--sp-bg);color:var(--sp-ink);font:800 clamp(8px,2.4vw,11px) var(--sp-body);cursor:pointer;overflow:hidden}
.sq-s.t{background:#26304d;color:#c9d2ee;cursor:default}.sq-s.me{background:color-mix(in srgb,var(--sp-accent) 40%,var(--sp-bg));color:var(--sp-ink);border-color:var(--sp-accent)}
.sq-s.sel{outline:2px solid var(--sp-accent2);outline-offset:-2px;background:color-mix(in srgb,var(--sp-accent2) 25%,var(--sp-bg))}
.sq-s.win{background:var(--sp-good);color:#062016;border:2px solid #fff;box-shadow:0 0 14px var(--sp-good);z-index:1;animation:sqwin 1.6s ease-in-out infinite}@keyframes sqwin{50%{box-shadow:0 0 4px var(--sp-good)}}
.sq-s em{position:absolute;top:0;right:1px;font:900 7px var(--sp-body);font-style:normal;color:#062016}
.sq-act{display:grid;grid-template-columns:1.3fr 1fr;gap:8px}.sq-act .sp-btn:disabled{opacity:.45;cursor:default}.sq-alt{background:var(--sp-panel)!important;color:var(--sp-ink)!important;border-color:var(--sp-edge)!important}
.sq-wr{display:flex;gap:10px;align-items:flex-start;border-top:1px solid var(--sp-edge);padding:8px 2px;font-size:13px;line-height:1.4}.sq-wr>b{flex:none;width:68px;color:var(--sp-accent);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.sq-wr.me{background:color-mix(in srgb,var(--sp-accent) 12%,transparent);border-radius:10px}
@media (prefers-reduced-motion:reduce){.sq-s.win{animation:none}}
/* All games + where to watch (2026-10-15) */
.sp-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:10px 0 2px;padding-bottom:2px}.sp-chips::-webkit-scrollbar{display:none}
.sp-chips button{flex:none;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--sp-edge);background:var(--sp-panel);color:var(--sp-ink);font:800 13px var(--sp-body);cursor:pointer}
.sp-chips button[aria-pressed=true]{background:linear-gradient(180deg,var(--sp-accent2),var(--sp-accent));border-color:var(--sp-accent);color:var(--sp-on-accent)}
.sp-wt{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:42px;margin-top:10px;border-radius:12px;border:1px solid var(--sp-accent);background:transparent;color:var(--sp-accent2);font:800 14px var(--sp-body);cursor:pointer}
.sp-wt.lv{background:linear-gradient(180deg,var(--sp-accent2),var(--sp-accent));color:var(--sp-on-accent)}
.sp-w{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--sp-edge)}.sp-w:last-child{border-bottom:0}.sp-w b{flex:1;min-width:0}
.sp-w a{flex:none;text-decoration:none;border-radius:10px;padding:8px 12px;font:800 13px var(--sp-body);background:linear-gradient(180deg,var(--sp-accent2),var(--sp-accent));color:var(--sp-on-accent)}
.sp-wsub{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:999px;border:1px solid var(--sp-edge);color:var(--sp-dim);font:700 11px var(--sp-body);vertical-align:middle}
.sp-venue{margin-top:8px;padding:12px;border-radius:14px;border:1px solid var(--sp-edge);background:var(--sp-panel)}.sp-venue.me{border-color:var(--sp-accent)}
.sp-venue b{display:block;font:900 16px var(--sp-display)}.sp-venue small{display:block;color:var(--sp-dim);font:600 13px var(--sp-body);margin-top:2px}
.sp-vact{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.sp-vact a{flex:1 1 auto;text-align:center;text-decoration:none;min-height:38px;line-height:38px;padding:0 10px;border-radius:10px;border:1px solid var(--sp-edge);color:var(--sp-ink);font:800 13px var(--sp-body)}
.sp-venue.me .sp-vact a:first-child{background:linear-gradient(180deg,var(--sp-accent2),var(--sp-accent));color:var(--sp-on-accent);border-color:var(--sp-accent)}
