/* Game Time (site/gametime.js): the game's time and what to wear, made for a phone in a rink parking lot. Big time,
   big jersey, few words. Self-contained, so it looks the same on team pages, player apps and the schedule. */
.gt{position:relative;box-sizing:border-box;width:100%;max-width:560px;margin:0;padding:16px 16px 14px;border-radius:20px;background:#101015;border:1px solid #2a2a33;color:#fff;
  font-family:'Barlow',system-ui,-apple-system,'Segoe UI',sans-serif;text-align:left;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.gt *{box-sizing:border-box}
.gt p{margin:0}
.gt-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:26px}
.gt-k{font-family:'Barlow Condensed','Barlow',system-ui,sans-serif;font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#E6458C}
.gt-rel{flex:none;font-weight:800;font-size:13px;letter-spacing:.05em;text-transform:uppercase;background:#fff;color:#050507;border-radius:999px;padding:4px 10px}
.gt-day{margin-top:8px !important;font-size:19px;font-weight:700;color:#EEEBF4}
.gt-time{font-family:'Big Shoulders Display','Barlow',system-ui,sans-serif;font-weight:900;font-size:clamp(68px,21vw,104px);line-height:.88;letter-spacing:.01em;margin-top:2px !important}
.gt-time .gt-ap{font-size:.4em;margin-left:.14em;letter-spacing:.04em}
.gt-time.off{text-decoration:line-through;text-decoration-thickness:5px;opacity:.5}
/* What to wear: the jersey and the words, the biggest thing after the time. */
.gt-wear{display:flex;align-items:center;gap:14px;margin-top:14px;padding:12px 14px 12px 10px;border-radius:16px;background:#1b1b23;border:2px solid #3a3a46}
.gt-wear.st-confirmed{border-color:#B8FF00;background:linear-gradient(180deg,rgba(184,255,0,.08),rgba(184,255,0,.02))}
.gt-wear.st-needs{border-color:#FFC542;border-style:dashed}
.gt-wear.st-off{border-color:#ff5a6e;border-style:dashed;padding-left:14px}
.gt-jersey{flex:none;display:block;width:88px}
.gt-jersey svg{display:block;width:88px;height:auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,.5))}
.gt-say{min-width:0}
.gt-say b{display:block;font-family:'Big Shoulders Display','Barlow',system-ui,sans-serif;font-weight:900;font-size:clamp(34px,10.5vw,48px);line-height:.92;text-transform:uppercase;letter-spacing:.01em;overflow-wrap:anywhere}
.gt-wear.st-suggested .gt-say b,.gt-wear.st-needs .gt-say b{color:#E9E6F0}
.gt-chip{display:inline-block;margin-top:7px;font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:3px 8px}
.gt-chip.confirmed{background:#B8FF00;color:#050507}
.gt-chip.suggested{background:#3a3a46;color:#fff}
.gt-chip.needs{background:#FFC542;color:#050507}
.gt-say small{display:block;margin-top:5px;color:#CFCCD9;font-size:14px;line-height:1.35}
.gt-why{margin-top:6px}
.gt-why summary{display:inline-flex;align-items:center;min-height:32px;cursor:pointer;list-style:none;color:#CFCCD9;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.gt-why summary::-webkit-details-marker{display:none}
.gt-why summary{font-family:'Barlow',system-ui,sans-serif;text-transform:none;letter-spacing:0}
.gt-why summary::after,.gt-why summary::before{content:none!important;display:none!important}
.gt-why[open] summary{color:#fff}
.gt-why summary:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:4px}
.gt-why small{margin-top:2px}
/* Who it's against, their jersey, and where. */
.gt-vs{display:flex;align-items:center;gap:10px;margin-top:14px}
.gt-vs .badge{flex:none;width:42px;height:42px;font-size:15px;border-width:3px}
.gt-vs b{display:block;font-size:20px;font-weight:800;line-height:1.15}
.gt-vs small{display:block;color:#B9B6C6;font-size:14px;margin-top:1px}
.gt-them{display:flex;align-items:center;gap:8px;margin-top:8px !important;color:#DAD7E3;font-size:15px}
.gt-mini{flex:none;display:block;width:30px}
.gt-mini svg{display:block;width:30px;height:auto}
.gt-rink{display:flex;gap:6px;align-items:baseline;margin-top:10px !important;color:#DAD7E3;font-size:15px}
.gt-pin{font-size:13px}
/* Changes: the league moved it, changed the time, or took it off; a clash needs the captains. */
.gt-flag{margin-top:10px !important;padding:10px 12px;border-radius:12px;font-size:15px;line-height:1.35}
.gt-flag b{text-transform:uppercase;letter-spacing:.06em;font-size:13px}
.gt-flag.off{background:#3a0f16;border:1px solid #ff5a6e;color:#FFD9DE}
.gt-flag.chg,.gt-flag.warn,.gt-flag.clash{background:#33270a;border:1px solid #FFC542;color:#FFEBB8}
.gt.is-off{border-color:#ff5a6e}
.gt.is-chg{border-color:#FFC542}
/* A captain's quick confirm. */
.gt-adm{margin-top:12px;border-top:1px solid #2a2a33;padding-top:10px}
.gt-adm summary{cursor:pointer;font-weight:800;font-size:15px;min-height:44px;display:flex;align-items:center;color:#fff}
.gt-adm-line{color:#B9B6C6;font-size:14px;margin:2px 0 8px !important}
.gt-adm-row{display:flex;flex-wrap:wrap;gap:8px}
.gt-adm-row .btn{min-height:44px}
.gt-adm-msg{color:#DAD7E3;font-size:14px;margin-top:8px !important;min-height:1em}
/* No game to show. */
.gt.is-empty{box-shadow:none}
.gt-none{font-family:'Big Shoulders Display','Barlow',system-ui,sans-serif;font-weight:900;font-size:30px;line-height:1;text-transform:uppercase;margin-top:8px !important}
.gt-noneline{color:#CFCCD9;font-size:15px;line-height:1.4;margin-top:6px !important}
.gt-link{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:3px}
/* A second team's card (a player on two teams): the same card, a size down. */
.gt.small{padding:14px}
.gt.small .gt-time{font-size:clamp(52px,15vw,72px)}
.gt.small .gt-jersey,.gt.small .gt-jersey svg{width:64px}
.gt.small .gt-say b{font-size:clamp(26px,8vw,34px)}
.gt + .gt{margin-top:12px}

/* ---------- a row on the league schedule ---------- */
.gtr{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;align-items:start;padding:12px 4px;border-bottom:1px solid #1d1d24}
.gtr.next{background:linear-gradient(90deg,rgba(184,255,0,.08),transparent 75%);border-radius:12px}
.gtr.past{opacity:.55}
.gtr-when b{display:block;font-family:'Big Shoulders Display','Barlow',system-ui,sans-serif;font-weight:900;font-size:30px;line-height:.95;color:#fff;white-space:nowrap}
.gtr-when b .gt-ap{font-size:.5em;margin-left:2px}
.gtr-when b.off{text-decoration:line-through;opacity:.55}
.gtr-when small{display:block;margin-top:4px;color:#B9B6C6;font-size:13px;font-weight:600}
.gtr-teams{min-width:0}
.gtr-side{display:flex;align-items:center;gap:10px;min-height:46px}
.gtr-side + .gtr-side{margin-top:4px}
.gtr-jersey{flex:none;display:block;width:38px}
.gtr-jersey svg{display:block;width:38px;height:auto}
.gtr-who{min-width:0;flex:1}
.gtr-name{color:#fff;font-weight:800;font-size:16px;line-height:1.2;text-decoration:underline;text-decoration-color:rgba(255,255,255,.3);text-underline-offset:3px;overflow-wrap:anywhere}
span.gtr-name{text-decoration:none}
.gtr-h{display:inline-block;margin-left:6px;font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#B9B6C6;vertical-align:1px}
.gtr-wear{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin-top:1px;font-size:15px;font-weight:700;color:#fff}
.gtr-wear i{font-style:normal;font-weight:800;font-size:11px;letter-spacing:.08em;text-transform:uppercase;border-radius:5px;padding:2px 6px}
.gtr-wear.st-confirmed i{background:#B8FF00;color:#050507}
.gtr-wear.st-suggested{color:#DAD7E3}
.gtr-wear.st-suggested i{background:#33333d;color:#fff}
.gtr-wear.st-needs{color:#FFDF8A}
.gtr-wear.st-needs i{background:#FFC542;color:#050507}
.gtr .gt-flag{font-size:14px;padding:8px 10px}
.gtr.is-off .gtr-side{opacity:.6}
@media(min-width:760px){.gtr{grid-template-columns:100px minmax(0,1fr)}.gtr-when b{font-size:34px}}
@media (prefers-reduced-motion:no-preference){.gt-wear.st-confirmed .gt-jersey svg{transition:transform .2s}}
/* Under the card: the captains' note for the game, where to check in, where the schedule comes from. */
.gt .gt-note{display:grid;gap:2px;margin-top:12px !important;padding:10px 12px;border-radius:12px;background:rgba(var(--nrrgb,230,69,140),.12);border:1px solid rgba(var(--nrrgb,230,69,140),.45)}
.gt .gt-note b{font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--nr,#E6458C)}
.gt .gt-note span{font-size:16px;color:#fff}
.gt .gt-bench{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin-top:12px;text-align:center}
.gt .gt-src,.gt .fresh{margin-top:12px !important;font-size:14px;color:#B9B6C6;line-height:1.4}
.gt .gt-src.stale,.gt .fresh.stale{color:#FFD27A}
.gt .gt-src a,.gt .fresh a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}
