/* ===== Game Night: Schedule + Soccer Game Day ===== */
.gn-flash::after{content:"";position:fixed;inset:0;border:6px solid var(--gold);pointer-events:none;z-index:99;animation:gnfl .9s ease-out forwards}
@keyframes gnfl{to{opacity:0}}
.sc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.sc-top h2{margin:0}.sc-sub{font-family:var(--f-lab);text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--mut);margin-top:2px}
.sc-addtop{flex:none;min-width:140px}
.sc-rec{display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:var(--r);padding:14px 16px;margin-bottom:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--team) 38%,var(--panel2)),var(--panel));border:1px solid var(--line);border-left:5px solid var(--team)}
.sc-recn{font-family:var(--f-num);font-weight:800;font-size:56px;line-height:1}.sc-recn i{font-style:normal;color:var(--gold);padding:0 3px}
.sc-recr{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.sc-form{display:flex;gap:5px}.sc-form span{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-family:var(--f-num);font-weight:800;font-size:16px;color:#fff}
.sc-form .fW{background:#12795A}.sc-form .fL{background:#C21E3A}.sc-form .fD{background:var(--gold);color:var(--on-gold)}.sc-form .fN{width:auto;background:none;color:var(--mut);font-family:var(--f-body);font-weight:600;font-size:13px}
.sc-place{background:var(--gold);color:var(--on-gold);border-radius:8px;padding:3px 10px;font-family:var(--f-lab);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:13px}
.sc-gfa{font-family:var(--f-num);font-weight:700;font-size:15px;color:var(--ink)}
.sc-ticker{display:flex;gap:8px;overflow-x:auto;margin:0 0 12px;padding-bottom:4px;scrollbar-width:none}
.sc-tkh{flex:none;width:92px;background:var(--team);color:var(--on-team);border-radius:var(--r);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--f-num);font-weight:800;font-size:22px;text-transform:uppercase;line-height:1}.sc-tkh small{font-family:var(--f-lab);font-weight:500;font-size:11px;letter-spacing:.08em;color:var(--on-team);margin-top:4px}
.sc-tk{flex:none;min-width:150px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:8px 12px}
.sc-tk small{font-family:var(--f-lab);font-size:11px;letter-spacing:.1em;color:var(--mut)}.sc-tk.live{border-color:var(--team)}.sc-tk .lv{color:var(--team)}
.sc-tk div{display:flex;justify-content:space-between;gap:10px;font-family:var(--f-num);font-weight:700;font-size:18px;text-transform:uppercase}.sc-tk div b{font-weight:800}
.sc-tk.none{min-width:230px}.sc-tk.none span{font-family:var(--f-body);text-transform:none;font-weight:600;font-size:13px;color:var(--mut)}
.sc-views{display:grid!important;grid-template-columns:repeat(3,1fr);margin-bottom:10px}
.sc-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.sc-nav b{font-family:var(--f-num);font-weight:800;font-size:22px;text-transform:uppercase;letter-spacing:.03em}
.sc-nav .btn{min-width:56px}
.sc-leg{display:flex;flex-wrap:wrap;gap:6px 14px;margin:2px 0 10px;font-size:13px;color:var(--ink)}
.sc-leg span{display:inline-flex;align-items:center;gap:6px;font-weight:600}.sc-leg i{width:12px;height:12px;border-radius:50%;display:inline-block}
.sc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.sc-dh{display:contents}.sc-dh span{text-align:center;font-family:var(--f-lab);font-size:12px;letter-spacing:.06em;color:var(--mut);padding:2px 0}
.sc-day{position:relative;min-height:52px;border-radius:12px;background:var(--panel);border:1px solid var(--line);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;padding:6px 2px 4px;cursor:pointer;font-family:var(--f-num);font-size:18px;font-weight:700}
.sc-day.o{opacity:.45}
.sc-day.today{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold) inset}
.sc-day.sel{background:var(--team);color:var(--on-team);border-color:transparent;box-shadow:0 3px 0 color-mix(in srgb,var(--team) 55%,#000)}
.sc-day.sel.today{box-shadow:0 0 0 2px var(--gold) inset,0 3px 0 color-mix(in srgb,var(--team) 55%,#000)}
.dots{display:flex;gap:3px;min-height:8px;justify-content:center}.dots i{width:7px;height:7px;border-radius:50%;display:block;box-shadow:0 0 0 1px rgba(255,255,255,.55)}
.sc-panel{margin-top:14px}.sc-ph{display:flex;align-items:center;gap:10px;margin-bottom:8px}.sc-ph h3{margin:0}
.sc-today{background:var(--gold);color:var(--on-gold);border-radius:999px;padding:2px 10px;font-family:var(--f-lab);font-size:11px;letter-spacing:.1em;font-weight:600;margin-left:8px}.sc-ph .sc-today{margin:0}
.sc-none{padding:12px;border:1px dashed var(--line);border-radius:12px;color:var(--mut);text-align:center;margin-bottom:8px}
.sc-addday{width:100%;margin-top:6px}
.sc-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:12px}
.sc-sd{border-radius:12px;background:var(--panel);border:1px solid var(--line);color:var(--ink);min-height:64px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0 4px;cursor:pointer}
.sc-sd small{font-family:var(--f-lab);font-size:12px;color:var(--mut);letter-spacing:.06em}.sc-sd b{font-family:var(--f-num);font-weight:800;font-size:22px;line-height:1}
.sc-sd.today{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold) inset}.sc-sd.sel{background:var(--team);color:var(--on-team);border-color:transparent}.sc-sd.sel small{color:var(--on-team)}
.sc-wd{margin-bottom:10px;scroll-margin-top:72px}.sc-wdh{font-family:var(--f-lab);text-transform:uppercase;letter-spacing:.08em;font-size:13px;color:var(--mut);margin:12px 0 6px;display:flex;align-items:center}
.sc-wd.today .sc-wdh{color:var(--gold)}
.sc-ev{background:var(--panel);border:1px solid var(--line);border-left:6px solid var(--evc);border-radius:var(--r);margin-bottom:8px;overflow:hidden}
.sc-ev.past{opacity:.7}
.sc-evmain{display:flex;gap:12px;padding:10px 12px;cursor:pointer;min-height:64px;align-items:center}
.sc-date{flex:none;width:52px;text-align:center;font-family:var(--f-num);line-height:1}.sc-date b{display:block;font-size:30px;font-weight:800}.sc-date small{display:block;font-family:var(--f-lab);font-size:11px;letter-spacing:.08em;color:var(--mut);text-transform:uppercase}
.sc-info{min-width:0;flex:1}
.sc-type{display:inline-block;background:var(--evc);color:#fff;border-radius:999px;padding:2px 10px;font-family:var(--f-lab);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}.sc-type.alt{background:var(--s3);color:var(--ink)}
.sc-next{display:inline-block;background:var(--gold);color:var(--on-gold);border-radius:999px;padding:2px 10px;margin-left:6px;font-family:var(--f-lab);font-size:11px;letter-spacing:.1em;font-weight:600}
.sc-title{font-family:var(--f-num);font-weight:800;font-size:22px;text-transform:uppercase;line-height:1.05;margin-top:4px;overflow-wrap:anywhere}
.sc-meta{font-size:14px;color:var(--mut);margin-top:2px;overflow-wrap:anywhere}
.sc-st{display:inline-block;margin-top:4px;font-size:13px;font-weight:700;color:var(--mut)}.sc-st.ok{color:var(--acc)}.sc-st.no{color:var(--mut)}.sc-st.ask{color:var(--gold)}
.sc-rsvp{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 12px 12px}
.sc-rsvp button{min-height:48px;border-radius:12px;font-family:var(--f-lab);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:15px;border:2px solid var(--line);background:var(--panel2);color:var(--ink);cursor:pointer;box-shadow:var(--press)}
.sc-rsvp button:active{transform:translateY(3px);box-shadow:none}
.sc-rsvp .sc-go.on{background:#12795A;border-color:#12795A;color:#fff}.sc-rsvp .sc-no.on{background:#3B4558;border-color:#3B4558;color:#fff}
.sc-rsvp.big{padding:0}.sc-rsvp.big button{min-height:60px;font-size:18px}
.sc-tools{margin-top:16px}.sc-rem{margin-top:14px}.sc-rem .seg{margin-top:6px}.sc-rem .seg button{padding:0 4px;min-width:0}
.sc-remind{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--panel);border:2px solid var(--gold);border-radius:var(--r);padding:12px 14px;margin-bottom:12px}
.sc-stand{margin-top:16px;padding:0!important;overflow:hidden}.sc-stand h3{padding:14px 14px 4px;margin:0}
.stbl2{width:100%;border-collapse:collapse;font-family:var(--f-num);font-size:18px}
.stbl2 th{font-family:var(--f-lab);font-size:12px;letter-spacing:.08em;color:var(--mut);text-align:center;padding:8px 6px;font-weight:500}.stbl2 th.tl,.stbl2 td.tl{text-align:left}
.stbl2 td{text-align:center;padding:10px 6px;border-top:1px solid var(--line);font-weight:700}
.stbl2 td.tl{text-transform:uppercase;display:flex;align-items:center;gap:8px;font-weight:800;border-top:0}.stbl2 tr{border-top:1px solid var(--line)}
.stbl2 td b{color:var(--gold)}
.stbl2 tr.us{background:color-mix(in srgb,var(--team) 22%,var(--panel));box-shadow:inset 5px 0 0 var(--team)}
.stbl2 em{font-style:normal;background:var(--team);color:var(--on-team);border-radius:999px;padding:1px 8px;font-family:var(--f-lab);font-size:11px;letter-spacing:.08em}
.sc-ti{width:28px;height:28px;border-radius:8px;background:var(--s3);display:grid;place-items:center;font-size:13px;flex:none}
.sc-sheet h2{margin:6px 0 2px}.sc-when{font-size:16px;color:var(--ink)}.sc-when b{margin-left:8px;font-family:var(--f-num);font-size:24px}
.sc-loc{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;padding:10px 12px;background:var(--panel2);border-radius:12px;overflow-wrap:anywhere}
.sc-loc a.btn{flex:none;text-decoration:none;display:inline-flex;align-items:center}
.sc-sheet h3{margin:16px 0 6px}
.sc-bars{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--panel2);margin-bottom:8px}.sc-bars .g{background:#12795A}.sc-bars .n{background:#C21E3A}.sc-bars .u{background:var(--s3)}
.sc-who{font-size:14px;margin:4px 0}.sc-who b{display:block;font-family:var(--f-lab);font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-size:12px;color:var(--mut)}
.sc-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px;margin:6px 0 10px}
.sc-types button{min-height:48px;border-radius:12px;border:2px solid var(--line);background:var(--panel2);color:var(--ink);font-family:var(--f-lab);font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border-left:6px solid var(--evc)}
.sc-types button.on{background:var(--evc);color:#fff;border-color:var(--evc)}
.sc-rep{display:flex;align-items:center;gap:10px;margin-top:8px;min-height:48px;color:var(--ink)}
@media(min-width:900px){#view>.sc{max-width:900px;margin:0 auto}.sc-day{min-height:76px}}
/* ---- Game Day (config-driven; soccer first) ---- */
.live-badge.off{background:var(--panel2);color:var(--mut)}.live-badge.off::before{animation:none}
.live-badge.gs-air{min-height:44px;padding:0 14px;border:0;cursor:pointer}
body.gs-on #tabs{display:none}
body.gs-on main#view{padding-bottom:104px}
.gs{max-width:640px;margin:0 auto}
.gs-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.gs-top h2{flex:1;text-align:center;margin:0;font-family:var(--f-num);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:24px}.gs-top h2 i{color:var(--team);font-style:normal}
.gs-back{width:48px;height:48px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:30px;line-height:1;cursor:pointer}
.gs-bug{display:block!important;position:relative;overflow:hidden;padding:14px 14px 10px!important}
.gs-bar{position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--team) 50%,var(--away) 50%)}
.gs-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-top:6px}
.gs-row.mid{margin-top:2px}
.gs-bug .sc{font-size:72px;text-align:center}.gs-bug .sc.h{text-align:left}.gs-bug .sc.a{text-align:right}
.gs-bug .nm{color:var(--ink);font-size:16px;font-weight:600;letter-spacing:.08em}
.gs-bug .per{background:var(--team);color:var(--on-team);font-weight:600;padding:4px 14px;font-size:14px;letter-spacing:.12em;justify-self:center}
.gs-clk{background:none;border:0;color:var(--ink);font-family:var(--f-num);font-weight:800;font-size:46px;min-width:128px;min-height:56px;cursor:pointer;line-height:1;border-radius:12px}
.gs-clk:active{background:var(--panel2)}.gs-clk b{font-weight:800}.gs-clk.ro{display:grid;place-items:center;cursor:default}
.gs-sit{text-align:center;font-family:var(--f-lab);font-size:12px;letter-spacing:.12em;color:var(--mut);margin-top:2px}
.gs-tt{display:grid!important;grid-template-columns:1fr 1fr;margin:12px 0}
.gs-tt button{min-height:56px;font-family:var(--f-num);font-weight:800;font-size:19px;text-transform:uppercase;letter-spacing:.05em}
.gs-tt button.on.h{background:var(--team);color:var(--on-team)}.gs-tt button.on.a{background:var(--away);color:#0A0D14}
.gs-lab{display:flex;justify-content:space-between;gap:8px;margin:14px 2px 8px;font-family:var(--f-lab);text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--mut)}
.gs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.gs-a{position:relative;min-height:84px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--ink);box-shadow:var(--press);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;padding:6px 2px}
.gs-a:active{transform:translateY(3px);box-shadow:none}
.gs-a b{font-family:var(--f-num);font-weight:800;font-size:20px;text-transform:uppercase;letter-spacing:.03em;line-height:1.05;text-align:center}
.gs-a small{font-family:var(--f-lab);font-size:12px;letter-spacing:.08em;color:var(--mut)}
.gs-a.hero{background:var(--team);color:var(--on-team);border-color:transparent;box-shadow:0 4px 0 color-mix(in srgb,var(--team) 55%,#000)}.gs-a.hero small{color:var(--on-team)}
.gs-a .n{position:absolute;top:6px;right:6px;min-width:24px;height:24px;border-radius:12px;background:var(--s3);color:var(--ink);font-style:normal;font-family:var(--f-num);font-weight:800;font-size:14px;display:grid;place-items:center;padding:0 6px}
.gs-a.hero .n{background:rgba(0,0,0,.28);color:#fff}
.gs-a .cd{width:14px;height:20px;border-radius:3px;background:#F5B335;display:block;margin-bottom:2px}
.gs-a:disabled{opacity:.5}
.gs-who{margin-top:10px;padding:10px;border:2px solid var(--gold);border-radius:var(--r);background:var(--panel)}
.gs-who>span{font-family:var(--f-lab);text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--gold)}
.gs-who div{display:flex;gap:6px;overflow-x:auto;padding:8px 0 2px;scrollbar-width:none}
.gs-who button{flex:none;min-width:48px;min-height:48px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);font-family:var(--f-num);font-weight:800;font-size:20px;cursor:pointer}
.gs-facts{padding:12px 14px!important}
.gs-facts>div{display:grid;grid-template-columns:28px 1fr 78px 1fr 28px;align-items:center;gap:8px;margin:7px 0}
.gs-facts span{text-align:center;font-family:var(--f-lab);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.gs-facts .v{font-family:var(--f-num);font-weight:800;font-size:20px}.gs-facts .v.a{text-align:right}
.gs-facts .bar{height:8px;border-radius:4px;background:var(--panel2);display:flex;overflow:hidden}.gs-facts .bar.l{justify-content:flex-end}.gs-facts u{display:block;height:100%;text-decoration:none}
.gs-facts .bar.l u{background:var(--team)}.gs-facts .bar.r u{background:var(--away)}
.gs-pcard{padding:10px!important}
.gs-pitch{width:100%;height:auto;display:block;border-radius:10px}
.gs-pp{cursor:pointer}.gs-pp .dot{fill:var(--team);stroke:#fff;stroke-width:1.2}.gs-pp.gk .dot{fill:#F5B335}.gs-pp .num{fill:var(--on-team);font-family:var(--f-num);font-weight:800;font-size:8px}.gs-pp.gk .num{fill:#1B1300}
.gs-pp.sel .dot{stroke:#F5B335;stroke-width:2}
.gs-hint{margin:8px 0 0;text-align:center;color:var(--gold);font-weight:700}
.gs-bench{display:flex;align-items:center;gap:8px;margin-top:10px}.gs-bl{font-family:var(--f-lab);font-size:12px;letter-spacing:.1em;color:var(--mut);text-transform:uppercase;flex:none}
.gs-bs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0}
.gs-bs button{flex:none;min-height:48px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);padding:0 12px;font-weight:600;cursor:pointer}.gs-bs button b{font-family:var(--f-num);font-size:18px;margin-right:2px}
.gs-bs button.ready{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}.gs-bs button.out{opacity:.5}
.gs-final{text-align:center;color:var(--gold);font-weight:700;margin-top:14px}
.gs-dock{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--nav-bg);border-top:1px solid var(--line)}
.gs-dock.three{grid-template-columns:repeat(3,1fr)}
.gs-dock button{min-height:56px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;padding:2px}
.gs-dock b{font-family:var(--f-num);font-weight:800;font-size:17px;letter-spacing:.05em;line-height:1.1}.gs-dock small{font-family:var(--f-lab);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.gs-dock .gs-undo{background:#3A2C0A;border-color:var(--gold);color:var(--gold)}.gs-dock .gs-undo small{color:var(--gold)}.gs-dock .gs-undo:disabled{background:var(--panel);border-color:var(--line);color:var(--mut);opacity:.7}
:root[data-theme=light] .gs-dock .gs-undo{background:#FFF3D1;color:#6B4A00}:root[data-theme=light] .gs-dock .gs-undo small{color:#6B4A00}
.gs-dock .hot{background:var(--team);color:var(--on-team);border-color:transparent}.gs-dock .hot small{color:var(--on-team)}
.gs-dock button:disabled{opacity:.5}
@media(min-width:900px){.gs-dock{left:50%;right:auto;width:640px;transform:translateX(-50%);border-radius:16px 16px 0 0;border:1px solid var(--line);border-bottom:0}}
.gs-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gs-card{min-height:96px;border-radius:14px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);font-family:var(--f-num);font-weight:800;font-size:22px;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer}
.gs-card i{width:26px;height:36px;border-radius:4px;background:#F5B335;display:block}.gs-card.r i{background:#E5233F}
.gs-more{display:grid;gap:10px}
.gs-warn{background:var(--panel);border:2px solid var(--gold);border-radius:var(--r);padding:12px;margin:12px 0;font-weight:700;color:var(--ink)}
.gs-numl{display:block;margin:6px 0;font-family:var(--f-lab);text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--mut)}.gs-numl input{font-size:26px;min-height:56px;text-align:center}
.gs-qgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gs-qgrid button{min-height:72px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--ink);box-shadow:var(--press);font-family:var(--f-num);font-weight:800;font-size:19px;text-transform:uppercase;cursor:pointer}
.gs-qgrid button:active{transform:translateY(3px);box-shadow:none}
.gs-rclk{margin:12px 0}
.gs-rteam{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px;margin-bottom:10px}.gs-rteam>b{font-family:var(--f-num);font-weight:800;text-transform:uppercase;font-size:20px}
.gs-rb{display:grid;grid-template-columns:1fr 2fr;gap:8px;margin-top:8px}.gs-rb:last-child{grid-template-columns:repeat(3,1fr)}
.gs-rb button{min-height:56px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);font-family:var(--f-num);font-weight:800;font-size:18px;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.gs-rb button.pri{background:var(--team);color:var(--on-team);border-color:transparent}.gs-rb i{width:12px;height:18px;border-radius:2px;background:#F5B335;display:block}.gs-rb .r i{background:#E5233F}
.gs-last{margin-top:12px;padding:12px 14px;border:1px solid var(--gold);border-radius:var(--r);background:color-mix(in srgb,var(--gold) 14%,var(--panel))}.gs-last small{display:block;font-family:var(--f-lab);letter-spacing:.1em;text-transform:uppercase;font-size:12px;color:var(--mut)}.gs-last b{font-family:var(--f-num);font-size:26px;font-weight:800;text-transform:uppercase;color:var(--ink)}
.gs-tl{padding:4px 14px!important}.gs-pl{display:grid;grid-template-columns:64px 14px 1fr;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.gs-pl:last-child{border:0}
.gs-pl time{font-family:var(--f-num);font-weight:700;font-size:15px;color:var(--mut)}.gs-pl i{width:12px;height:12px;border-radius:50%;background:var(--s3);display:block}.gs-pl i.g{background:var(--team)}
.gs-pl b{font-family:var(--f-num);font-weight:800;font-size:22px;text-transform:uppercase;display:block;line-height:1.1}.gs-pl small{color:var(--mut);font-size:14px}
.gs-priv{text-align:center;color:var(--mut);font-size:13px;margin:14px 8px}
@media(max-width:380px){.gs-bug .sc{font-size:60px}.gs-clk{font-size:38px;min-width:104px}.gs-a b{font-size:17px}.gs-facts>div{grid-template-columns:24px 1fr 62px 1fr 24px}}
.scorebug .ini.a{background:var(--away)!important;color:#0A0D14!important}
.gs-tt button.on.h{background:var(--team)!important;color:var(--on-team)!important}.gs-tt button.on.a{background:var(--away)!important;color:#0A0D14!important}
.gs-top h2{font-size:20px;white-space:nowrap}
.gs-grid .gs-a.hero{background:var(--team)!important;color:var(--on-team)!important;border:1px solid transparent!important;box-shadow:0 4px 0 color-mix(in srgb,var(--team) 55%,#000)!important}
.gs-tt button{font-size:16px;white-space:normal;line-height:1.05;padding:4px 6px}
.live-badge.gs-air{white-space:nowrap}
.gs-back{flex:none}
.gs-a.hero small,.gs-grid .gs-a.hero small{color:var(--on-team)!important;opacity:.9}
:root[data-theme=light] .scorebug .ini.a,:root[data-theme=light] .gs-tt button.on.a{color:#fff!important}
#view:has(.gs-ann) .bchub{display:none}
#view:has(.gs) .bchub{display:none}
/* p1 contrast fixes */
:root[data-theme] .sc-tkh small{color:var(--on-team)}
[data-theme=dark] .cd-lab,[data-theme=dark] .cd-big{color:#FF6B80}
.cd-live{background:#D91E40}
/* p2: Play Book header — Library / My Plays and New play share one row */
.pbh{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.pbh .seg{flex:1 1 0;min-width:0;margin:0}
.pbh .pbh-new{flex:none;white-space:nowrap;min-height:48px;padding:8px 14px}
.pbh .pbh-copy{margin-left:auto;white-space:nowrap}
@media (max-width:700px){.pbh .pbh-copy{order:3;flex:1 1 100%;margin-left:0}}
[data-theme=dark] .sc-tk .lv{color:#FF6B80}
/* ---- Basketball Game Day (gnbasketball.js) ---- */
.bb-tor{margin-top:4px}
.bb-to{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}.bb-to.r{align-items:flex-end}
.bb-to small{font-family:var(--f-lab);font-size:10px;letter-spacing:.1em;color:var(--mut)}
.bb-tos{display:flex;gap:4px;min-height:12px}.bb-tos i{width:12px;height:12px;border-radius:50%;border:2px solid var(--mut);display:block;box-sizing:border-box}.bb-tos i.on{background:var(--gold);border-color:var(--gold)}
.bb-shot{display:inline-flex;align-items:baseline;justify-content:center;gap:6px;min-height:44px;min-width:92px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);cursor:pointer;font-family:var(--f-num)}
.bb-shot.ro{cursor:default}.bb-shot small{font-family:var(--f-lab);font-size:10px;letter-spacing:.1em;color:var(--mut)}.bb-shot b{font-weight:800;font-size:24px;align-self:center}
.bb-shot.low{border-color:#E5233F;background:color-mix(in srgb,#E5233F 18%,var(--panel2))}
.bb-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0}
.bb-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;padding:6px 4px;min-width:0;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit}
.bb-chip small{font-family:var(--f-lab);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bb-chip b{font-family:var(--f-num);font-weight:800;font-size:19px;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bb-chip.hot{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 16%,var(--panel))}.bb-chip.hot small{color:var(--ink)}
button.bb-arrow{cursor:pointer}
.bb-per{width:100%;min-height:52px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-family:var(--f-num);font-weight:800;font-size:19px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;margin-bottom:2px}
.bb-per.hot{background:var(--team);color:var(--on-team);border-color:transparent}.bb-per:disabled{opacity:.5}
.bb-grid{display:grid;gap:8px;margin-top:8px}.bb-g3{grid-template-columns:repeat(3,minmax(0,1fr))}.bb-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.bb-sc{min-height:96px}.bb-sc b{font-size:42px}.bb-sc small{font-size:12px}
.gs-bb .gs-a{min-height:68px;padding:4px}.gs-bb .gs-a.bb-sc{min-height:96px}.gs-bb .bb-g4 .gs-a b,.gs-bb .bb-g3 .gs-a:not(.bb-sc) b{font-size:17px}
.gs-a.warn{border-color:color-mix(in srgb,#E5233F 60%,var(--line))}
.bb-court{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.bb-pl{position:relative;min-height:84px;min-width:0;border-radius:12px;border:2px solid var(--line);background:var(--panel2);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px 2px;cursor:pointer;font:inherit}
.bb-pl b{font-family:var(--f-num);font-weight:800;font-size:28px;line-height:1}
.bb-pl span{font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bb-pl em{font-style:normal;font-family:var(--f-lab);font-size:9px;letter-spacing:.08em;color:var(--mut)}
.bb-pl u{display:flex;gap:2px;text-decoration:none;min-height:6px}.bb-pl u i{width:6px;height:6px;border-radius:50%;border:1px solid var(--mut);box-sizing:border-box;display:block}.bb-pl u i.x{background:#E5233F;border-color:#E5233F}
.bb-pl.sel{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold) inset;background:color-mix(in srgb,var(--gold) 14%,var(--panel2))}
.bb-pl.fo{border-color:#E5233F}.bb-pl.fo b{color:#E5233F}
.bb-miss{display:grid;gap:10px;margin:10px 0}.bb-miss button{min-height:64px;border-radius:14px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);font-family:var(--f-num);font-weight:800;font-size:20px;text-transform:uppercase;cursor:pointer}
.bb-fix{display:flex;align-items:center;justify-content:center;gap:8px}.bb-fix input{width:92px;font-size:34px;min-height:64px;text-align:center}.bb-fix b{font-size:34px}
.bb-rl{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0;min-height:48px}.bb-rl span{flex:1;font-weight:600}.bb-rl small{color:var(--mut);font-weight:400}.bb-rl input{width:84px;min-height:48px;text-align:center;font-size:20px}
.bb-per2{display:grid!important;grid-template-columns:1fr 1fr;margin:8px 0}.bb-per2 button{min-height:52px}
.bb-st>div{display:grid;grid-template-columns:34px minmax(0,1fr) repeat(6,34px);gap:4px;align-items:center;min-height:36px;border-bottom:1px solid var(--line);text-align:center;font-size:14px}
.bb-st>div>span:nth-child(2){text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bb-st b{font-family:var(--f-num);font-size:18px}
.bb-st .bb-sh{font-family:var(--f-lab);font-size:11px;letter-spacing:.05em;color:var(--mut)}
@media(max-width:380px){.bb-chip b{font-size:17px}.gs-bb .bb-g4 .gs-a b,.gs-bb .bb-g3 .gs-a:not(.bb-sc) b{font-size:15px}.bb-pl b{font-size:24px}.bb-sc b{font-size:36px}}
/* ===== Phase 4: football / flag football (fb-*) and volleyball (vb-*) Game Day ===== */
.gs-fb .gs-a,.gs-vb .gs-a{min-height:68px;padding:4px}.gs-fb .gs-a.hero,.gs-vb .gs-a.hero{min-height:84px}
.gs-fb .bb-g3 .gs-a b{font-size:15px;letter-spacing:0}.gs-fb .bb-g3 .gs-a.hero b{font-size:16px}
.gs-vb .bb-g4 .gs-a b,.gs-vb .bb-g3 .gs-a b{font-size:17px}
.fb-ball{width:12px;height:12px;border-radius:50%;background:var(--gold);display:inline-block;flex:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 35%,transparent)}
.fb-sit{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:10px}
.fb-sc{grid-column:1;grid-row:1/3;border:2px solid var(--gold);border-radius:var(--r);background:color-mix(in srgb,var(--gold) 12%,var(--panel));padding:10px 12px;display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0}
.fb-sc small{font-family:var(--f-lab);font-size:11px;letter-spacing:.12em;color:var(--mut)}
.fb-sc b{font-family:var(--f-num);font-weight:800;font-size:30px;line-height:1.05;color:var(--gold);text-transform:uppercase}
.fb-sc span{font-family:var(--f-lab);font-size:11px;letter-spacing:.06em;color:var(--ink);text-transform:uppercase}
.fb-sc.pat b{font-size:24px}
.fb-dn{grid-column:2/4;grid-row:1;display:grid;gap:6px}
.fb-dn button,.fb-sit>button{min-height:48px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-family:var(--f-num);font-weight:800;font-size:20px;cursor:pointer}
.fb-dn button.on{background:var(--gold);color:#14110A;border-color:var(--gold)}
.fb-dn button:disabled,.fb-sit>button:disabled{opacity:.5}
.fb-poss{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.fb-poss button{min-height:48px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-family:var(--f-lab);font-size:13px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 8px}
.fb-poss button.on{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 18%,var(--panel));font-weight:700}
.fb-field{margin-top:8px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.fb-yd{position:relative;display:grid;grid-template-columns:1.2fr repeat(10,1fr) 1.2fr;height:46px;border-radius:8px;overflow:hidden;background:#14573d;border:1px solid #0b3a29}
.fb-yd i{border-right:1px solid rgba(255,255,255,.18);display:block}.fb-yd i.ez.h{background:#1f3f9a}.fb-yd i.ez.a{background:#7a1f33}
.fb-fd{position:absolute;top:0;bottom:0;width:3px;background:var(--gold);transform:translateX(-1px)}
.fb-bm{position:absolute;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:#fff;border:3px solid #E5233F;display:flex;align-items:center;justify-content:center}
.fb-bm u{width:0;height:0;border-left:8px solid #E5233F;border-top:5px solid transparent;border-bottom:5px solid transparent;margin-left:3px}
.fb-fl{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:6px;font-family:var(--f-lab);font-size:10px;letter-spacing:.08em;color:var(--mut)}.fb-fl b{color:var(--gold);font-weight:700;text-align:center}
.fb-rush{margin:8px 2px 0;font-size:13px;color:var(--mut)}
.fb-yds{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.fb-yds button{min-height:48px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-family:var(--f-num);font-weight:800;font-size:19px;cursor:pointer;padding:0 2px;min-width:0}
.fb-yds button.on{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 20%,var(--panel2));box-shadow:0 0 0 1px var(--gold) inset}
.gs-a.fb-hot{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 22%,var(--panel2));box-shadow:0 0 0 2px var(--gold) inset}
.gs-a.fb-td{background:#D91E40;border-color:#D91E40;color:#fff}.gs-a.fb-td small,.gs-a.fb-td b{color:#fff}
.fb-drv{display:block;width:100%;text-align:left;cursor:pointer;color:var(--ink);font:inherit;padding:8px 12px;min-height:48px}
.fb-drv>div,.fb-dr>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;min-height:36px;font-size:14px}
.fb-dr>div{grid-template-columns:auto minmax(0,1fr);border-bottom:1px solid var(--line);padding:6px 0}
.fb-dr em,.fb-drv em{font-style:normal;color:var(--mut);font-weight:600;text-align:right}.fb-dr>div em{grid-column:2;text-align:left}.fb-dr em.g,.fb-drv em.g{color:#12B886}
.fb-drv span,.fb-dr span{color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fb-st>div{grid-template-columns:30px minmax(0,1fr) repeat(6,32px)}
.fb-nums{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;margin:10px 0}
.fb-nums button{min-height:56px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);font-family:var(--f-num);font-weight:800;font-size:24px;cursor:pointer}
.fb-prev{border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(#14573d,#0e3d2a);padding:10px 12px 12px;margin-top:8px;min-height:120px;display:flex;flex-direction:column;justify-content:space-between}
.fb-prev small{font-family:var(--f-lab);font-size:11px;letter-spacing:.1em;color:#a7e8c8}
.fb-pb{display:flex;align-items:center;gap:10px;background:#0b0f17;border-radius:8px;overflow:hidden;color:#fff;padding:8px 10px;margin-top:22px;flex-wrap:wrap}
.fb-pbi{width:5px;align-self:stretch;background:#E5233F;border-radius:3px}
.fb-pb b{font-family:var(--f-num);font-size:20px;font-weight:800}.fb-pb em{font-style:normal;color:var(--gold)}
.fb-pq{font-family:var(--f-num);font-size:15px;color:#b6bfce;margin-left:auto}.fb-pd{font-family:var(--f-num);font-weight:800;font-size:18px;background:var(--gold);color:#14110A;border-radius:6px;padding:4px 10px}
.fb-qh{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fb-qh button{min-height:76px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px;min-width:0}
.fb-qh button.hot{background:#D91E40;border-color:#D91E40;color:#fff}.fb-qh b{font-family:var(--f-num);font-weight:800;font-size:19px;letter-spacing:.04em}.fb-qh small{font-family:var(--f-lab);font-size:11px;letter-spacing:.06em;opacity:.85}
.fb-pbp>div{display:flex;align-items:center;gap:10px;min-height:44px;padding:4px 12px;border-bottom:1px solid var(--line);font-size:14px}.fb-pbp i{font-style:normal;font-family:var(--f-lab);font-size:12px;font-weight:700;min-width:40px;text-align:center;padding:4px 6px;border-radius:6px;background:var(--panel2)}.fb-pbp i.g{background:#D91E40;color:#fff}
/* volleyball */
.vb-rally{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.vb-rb{min-height:96px;border-radius:16px;border:2px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px;min-width:0;font:inherit}
.vb-rb b{font-family:var(--f-num);font-weight:800;font-size:28px;letter-spacing:.02em;text-transform:uppercase;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vb-rb small{font-family:var(--f-lab);font-size:11px;letter-spacing:.1em;color:inherit;opacity:.85}
.vb-rb.h{background:#D91E40;border-color:#D91E40;color:#fff}.vb-rb.a{border-color:#6f86ff;background:color-mix(in srgb,#6f86ff 14%,var(--panel))}
.vb-rb:disabled{opacity:.5}
.vb-set{width:100%;min-height:64px;border-radius:14px;border:2px solid var(--gold);background:color-mix(in srgb,var(--gold) 20%,var(--panel));color:var(--ink);font-family:var(--f-num);font-weight:800;font-size:20px;text-transform:uppercase;cursor:pointer;margin-top:10px;padding:6px 10px}
.vb-court{border:1px solid #0b3a29;border-radius:var(--r);background:#14573d;padding:10px;margin-top:4px}
.vb-net{font-family:var(--f-lab);font-size:11px;letter-spacing:.12em;color:#b7f0d4;text-align:center;margin-bottom:6px;border-bottom:2px dashed rgba(255,255,255,.35);padding-bottom:6px}
.vb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.vb-pl{min-height:64px;border-radius:12px;border:2px solid rgba(255,255,255,.22);background:rgba(10,30,22,.55);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 2px;cursor:pointer;font:inherit;min-width:0;position:relative}
.vb-pl b{font-family:var(--f-num);font-weight:800;font-size:22px;line-height:1.05;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vb-pl span{font-size:11px;opacity:.85;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vb-pl em{font-style:normal;font-family:var(--f-num);font-weight:800;font-size:13px;position:absolute;top:3px;left:6px;opacity:.8}
.vb-pl.sel{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 70%,#14573d);color:#14110A}
.vb-pl.srv::after{content:"";position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:50%;background:var(--gold)}
.vb-pl.srv.sel::after{background:#14110A}
.vb-pl.lib{border-style:dashed}
.vb-bench{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.vb-bench button{min-height:44px;min-width:56px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);font-family:var(--f-num);font-weight:800;font-size:18px;cursor:pointer;padding:0 10px}
.vb-bench button.ready{border-color:var(--gold)}
.vb-sets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.vb-sets>div{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:8px 4px;text-align:center;min-height:56px;min-width:0}
.vb-sets small{display:block;font-family:var(--f-lab);font-size:10px;letter-spacing:.1em;color:var(--mut)}.vb-sets b{font-family:var(--f-num);font-weight:800;font-size:18px;text-transform:uppercase}
.vb-serve{font-family:var(--f-num);font-weight:800;font-size:30px;letter-spacing:.04em}
.vb-dots{display:flex;gap:5px;justify-content:center;min-height:12px;margin-top:2px}.vb-dots i{width:11px;height:11px;border-radius:50%;border:2px solid var(--mut);display:block;box-sizing:border-box}.vb-dots i.on{background:var(--gold);border-color:var(--gold)}
.vb-who{font-family:var(--f-lab);font-size:11px;letter-spacing:.08em;color:var(--mut);text-transform:uppercase}
@media(max-width:380px){.fb-sc b{font-size:25px}.fb-sc.pat b{font-size:20px}.vb-rb b{font-size:22px}.fb-yds button{font-size:17px}.fb-poss button{font-size:12px}}
.gs-top h2{min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:left}.gs-top .gs-air,.gs-top .gs-back{flex:none}
@media(max-width:420px){.gs-top h2{font-size:17px;letter-spacing:.03em}.gs-top{gap:8px}}
.vb-rb small{color:inherit!important}
.fb-dr em.g,.fb-drv em.g{color:#0B7A5A}:root:not([data-theme=light]) .fb-dr em.g,:root:not([data-theme=light]) .fb-drv em.g{color:#2BD3A0}
