/* ASC daily schedule: our own skin over DaySmart's live public feed (schedule.js).
   Shared by the website (schedule.html) and the member app (asc-app-brand): copy both files over
   after any change. Layout keys off the schedule's own width (container queries), not the window. */
.sched{position:relative;container:sched/inline-size;background:var(--dark);color:#fff;padding-bottom:clamp(64px,8vw,110px)}
.sched-tex{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.sched-tex::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:4000px;margin-left:-2000px;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 var(--sw),transparent var(--sw) var(--sp));transform:skewX(-28deg);transform-origin:top}
.sched-body{position:relative;z-index:1}
.sched [hidden]{display:none!important}
:where(.sched) button{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}
/* sticky day picker: keeps the same gap under the header as the program switcher */
.sched-bar{position:sticky;top:calc(11px + var(--hdr-y));z-index:55;background:rgba(19,19,22,.94);border-bottom:1px solid rgba(255,255,255,.08);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:top .5s cubic-bezier(.4,0,.2,1)}
body.hdr-on .sched-bar{top:calc(var(--hdr-h) + var(--hdr-y) * 2)}
.sched-bar-in{max-width:var(--wrap);margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:8px}
.sd-week{display:none}
.sd-days{flex:1;min-width:0;display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.sd-day,.sd-arrow,.sd-pick,.sd-today{--o:11px;clip-path:polygon(var(--o) 0,100% 0,calc(100% - var(--o)) 100%,0 100%)}
.sd-day{padding:8px 4px 7px;text-align:center;background:rgba(255,255,255,.05);color:rgba(255,255,255,.62);transition:background .2s,color .2s}
.sd-day .dw{display:block;font-weight:800;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.sd-day .dn{display:block;font-family:var(--disp);font-weight:900;font-style:italic;font-size:26px;line-height:1.02;color:#fff;margin:1px 0}
.sd-day .dm{display:block;font-weight:700;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;opacity:.55}
.sd-day:hover{background:rgba(255,255,255,.11);color:#fff}
.sd-day.today .dw{color:var(--red-2)}
.sd-day.on{background:var(--red);color:#fff}
.sd-day.on .dw,.sd-day.on .dm{color:#fff;opacity:1}
.sd-day:focus-visible,.sd-arrow:focus-visible,.sd-today:focus-visible,.sk-chip:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.sd-arrow,.sd-pick{flex:none;width:46px;align-self:stretch;display:grid;place-items:center;background:rgba(255,255,255,.05);color:#fff;transition:background .2s}
.sd-arrow svg,.sd-pick svg{width:18px;height:18px}
.sd-arrow:hover,.sd-pick:hover{background:rgba(255,255,255,.14)}
.sd-pick{position:relative;cursor:pointer;margin-left:6px}
.sd-input{position:absolute;inset:0;opacity:0;width:100%;height:100%;pointer-events:none}
.sd-today{flex:none;align-self:stretch;padding:0 20px;font-family:var(--disp);font-weight:800;font-style:italic;text-transform:uppercase;font-size:13px;
  background:#fff;color:var(--ink);transition:background .2s,color .2s}
.sd-today:hover{background:var(--red-2);color:#fff}
.sd-today.on{background:rgba(255,255,255,.08);color:rgba(255,255,255,.45)}

/* day header + scoreboard counts */
.sched-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px 40px;flex-wrap:wrap;padding-top:clamp(36px,5vw,60px)}
.sh-rel{font-family:var(--hand);color:var(--red-2);font-size:clamp(18px,2.4vw,22px);-webkit-text-stroke:.45px currentColor;display:inline-block;transform:rotate(-2deg);margin-bottom:10px}
.sh-day{font-family:var(--disp);font-weight:900;font-style:italic;text-transform:uppercase;font-size:clamp(34px,5vw,60px);line-height:.95;letter-spacing:-.01em}
.sh-stats{display:flex}
.sh-stats>div{position:relative;padding:0 clamp(16px,2.2vw,28px);text-align:center}
.sh-stats>div+div::before{content:'';position:absolute;left:0;top:8%;bottom:8%;width:1px;background:rgba(255,255,255,.14);transform:skewX(-25deg)}
.sh-stats b{display:block;font-family:var(--disp);font-weight:900;font-style:italic;font-size:clamp(30px,3.6vw,44px);line-height:1}
.sh-stats span{display:block;margin-top:6px;font-weight:700;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.sh-stats .hot b{color:var(--red-2)}
.sh-live{display:flex;align-items:center;gap:10px;margin-top:18px;font-weight:600;font-size:12.5px;color:rgba(255,255,255,.55)}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--red-2);box-shadow:0 0 0 0 rgba(240,70,58,.6);animation:schedPulse 1.8s infinite}
@keyframes schedPulse{0%{box-shadow:0 0 0 0 rgba(240,70,58,.55)}70%{box-shadow:0 0 0 9px rgba(240,70,58,0)}100%{box-shadow:0 0 0 0 rgba(240,70,58,0)}}
.sh-open{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.sh-open svg{width:14px;height:14px}
.sh-open:hover{color:#fff}

/* find your team + filter chips */
.sched-tools{display:flex;flex-direction:column;gap:14px;margin:26px 0 8px;padding:22px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.st-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px}
.sq{--o:14px;position:relative;flex:1 1 300px;max-width:440px;display:flex;align-items:center;background:rgba(255,255,255,.22);
  clip-path:polygon(var(--o) 0,100% 0,calc(100% - var(--o)) 100%,0 100%);transition:background .2s}
.sq::before{content:'';position:absolute;inset:1.5px;background:#141417;clip-path:inherit}
.sq:focus-within{background:var(--red-2)}
.sq>*{position:relative}
.sq>svg{width:18px;height:18px;margin-left:24px;color:rgba(255,255,255,.6);flex:none}
.sq-input{flex:1;min-width:0;background:none;border:0;outline:0;color:#fff;font:600 15px/1 var(--sans);padding:15px 12px}
.sq-input::placeholder{color:rgba(255,255,255,.45)}
.sq-input::-webkit-search-cancel-button{display:none}
.sq-clear{width:40px;height:40px;margin-right:14px;display:grid;place-items:center;color:rgba(255,255,255,.6)}
.sq-clear:hover{color:#fff}
.sq-clear svg{width:15px;height:15px}
.sq-save{--o:12px;display:inline-flex;align-items:center;gap:8px;padding:13px 20px;font-family:var(--disp);font-weight:800;font-style:italic;text-transform:uppercase;font-size:12.5px;
  background:var(--red);color:#fff;clip-path:polygon(var(--o) 0,100% 0,calc(100% - var(--o)) 100%,0 100%);transition:background .2s}
.sq-save:hover{background:var(--red-2)}
.sq-save svg{width:14px;height:14px}
.sk-chips{display:flex;flex-wrap:wrap;gap:6px}
.sk-chips:empty{display:none}
.sk-chips[data-k="field"]{margin-left:auto}
.sk-chip{--o:9px;display:inline-flex;align-items:center;padding:10px 16px;font-weight:800;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;
  color:rgba(255,255,255,.7);background:rgba(255,255,255,.07);clip-path:polygon(var(--o) 0,100% 0,calc(100% - var(--o)) 100%,0 100%);transition:background .2s,color .2s}
.sk-chip .n{margin-left:7px;font-style:italic;color:rgba(255,255,255,.4)}
.sk-chip:hover{color:#fff;background:rgba(255,255,255,.14)}
.sk-chip.on{background:#fff;color:var(--ink)}
.sk-chip.on .n{color:var(--red)}

/* my team */
.myteam{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-top:18px;padding:14px 18px;background:linear-gradient(90deg,rgba(226,58,46,.2),rgba(226,58,46,.04));border-left:4px solid var(--red-2)}
.myteam[hidden]{display:none}
.mt-k{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--red-2)}
.mt-k svg{width:14px;height:14px}
.mt-name{font-family:var(--disp);font-weight:900;font-style:italic;text-transform:uppercase;font-size:17px}
.mt-list{display:flex;flex-wrap:wrap;gap:6px}
.mt-jump{--o:8px;display:inline-flex;align-items:center;padding:7px 14px;font-weight:700;font-size:12.5px;background:rgba(255,255,255,.1);color:#fff;clip-path:polygon(var(--o) 0,100% 0,calc(100% - var(--o)) 100%,0 100%);transition:background .2s}
.mt-jump:hover{background:var(--red)}
.mt-none{font-size:13px;color:rgba(255,255,255,.6)}
.mt-clear{margin-left:auto;font-weight:800;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.mt-clear:hover{color:#fff}

/* time groups. On desktop each field gets its own colour-coded lane (Field 1 always the same
   column), tinted down the page, so you can follow a field straight down the night. */
.sched{--tcol:150px;--tgap:26px;--lgap:12px}
.sched-list{margin-top:8px}
.tg{display:grid;grid-template-columns:var(--tcol) 1fr;gap:var(--tgap);padding:24px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.tg-time b{display:block;font-family:var(--disp);font-weight:900;font-style:italic;font-size:clamp(36px,4vw,48px);line-height:.9;letter-spacing:-.01em}
.tg-time em{display:inline-block;margin-top:6px;font-style:italic;font-weight:900;font-size:14px;letter-spacing:.1em;color:rgba(255,255,255,.45)}
.tg-tag{--o:8px;display:flex;align-items:center;gap:7px;width:max-content;margin-top:12px;padding:6px 14px;font-weight:900;font-style:italic;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  background:#fff;color:var(--ink);clip-path:polygon(var(--o) 0,100% 0,calc(100% - var(--o)) 100%,0 100%)}
.tg.is-live .tg-tag{background:var(--red);color:#fff}
.tg.is-live .tg-time b{color:var(--red-2)}
.tg-tag i,.ev-flag.lv i{width:7px;height:7px;border-radius:50%;background:currentColor;animation:schedBlink 1.2s infinite}
@keyframes schedBlink{50%{opacity:.25}}
.tg.past{opacity:.45}
.tg-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--lgap);align-content:start}
@container sched (min-width:761px){
  .sched-list.lanes-on .tg{background:var(--lanes)}
  .sched-list.lanes-on .tg-cards{grid-template-columns:repeat(var(--n),minmax(0,1fr))}
  .sched-list.lanes-on .cell{grid-column:var(--col);grid-row:1}
}
/* lane headers ride in the sticky day bar */
.sd-lanes{max-width:var(--wrap);margin:0 auto;padding:0 24px 10px;display:grid;grid-template-columns:var(--tcol) 1fr;gap:var(--tgap)}
.sd-lanes .sl-k{align-self:end;font-weight:800;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.sl-row{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:var(--lgap)}
.sl{display:flex;align-items:baseline;gap:8px;padding:8px 2px 0;border-top:3px solid var(--fc);font-family:var(--disp);font-weight:900;font-style:italic;text-transform:uppercase;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden}
.sl i{font-style:normal;font-family:var(--sans);font-weight:700;font-size:10px;letter-spacing:.14em;color:var(--fc)}
@container sched (max-width:760px){ .sd-lanes{display:none!important} }

/* event cards: the field colour carries the card (edge + FIELD tag); red is saved for LIVE */
.ev{--fc:#8a8a93;position:relative;display:flex;flex-direction:column;gap:11px;padding:15px 18px 14px 21px;background:#17171b;border:1px solid rgba(255,255,255,.07);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);transition:border-color .25s,background .25s}
.ev::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--fc)}
.ev:hover{background:#1c1c21;border-color:rgba(255,255,255,.16)}
.ev-top{display:flex;align-items:center;gap:8px;min-height:22px}
.ev-field{--o:7px;display:inline-flex;align-items:center;gap:6px;padding:4px 11px;font-family:var(--disp);font-weight:900;font-style:italic;font-size:11px;letter-spacing:.04em;text-transform:uppercase;
  background:var(--fc);color:#0d0d0f;white-space:nowrap;clip-path:polygon(var(--o) 0,100% 0,calc(100% - var(--o)) 100%,0 100%)}
.ev-field i{font-style:normal;padding-left:6px;border-left:1.5px solid rgba(13,13,15,.35)}
.ev-flags{margin-left:auto;display:flex;gap:6px}
.ev-flag{--o:6px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-weight:900;font-style:italic;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  background:rgba(255,255,255,.12);color:#fff;clip-path:polygon(var(--o) 0,100% 0,calc(100% - var(--o)) 100%,0 100%)}
.ev-flag.lv{background:var(--red);color:#fff}
.ev-flag.fin{background:#fff;color:var(--ink)}
.ev-kind{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.ev-kind svg{width:15px;height:15px;flex:none;color:rgba(255,255,255,.75)}
.ev-kind>span{display:inline-flex;align-items:center;gap:7px}
.ev-cup{color:#fff;letter-spacing:.08em}
.ev-cup svg{color:#ffd166}
/* matchup: two clean rows, a quiet VS rule between them */
.ev-teams{display:flex;flex-direction:column;gap:7px;padding:2px 0}
.tm{display:flex;align-items:center;gap:12px}
.tn{flex:1;min-width:0;font-family:var(--disp);font-weight:800;font-style:italic;text-transform:uppercase;font-size:16.5px;line-height:1.15;color:#fff;overflow-wrap:anywhere}
.sc{font-family:var(--disp);font-weight:900;font-style:italic;font-size:24px;line-height:1;min-width:28px;text-align:right}
.tm.lose{opacity:.45}
.ev-vs{display:flex;align-items:center;gap:10px;font-weight:800;font-size:9.5px;letter-spacing:.2em;color:rgba(255,255,255,.3)}
.ev-vs::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.1)}
.ev-title{font-family:var(--disp);font-weight:800;font-style:italic;text-transform:uppercase;font-size:16.5px;line-height:1.15;overflow-wrap:anywhere}
.ev-sub{margin-top:-7px;font-weight:600;font-size:13px;color:rgba(255,255,255,.6)}
.ev-note{font-size:12.5px;font-weight:600;color:rgba(255,255,255,.75);padding-left:10px;border-left:2px solid rgba(255,255,255,.2)}
.ev-meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:auto;padding-top:2px;font-weight:600;font-size:12px;color:rgba(255,255,255,.5)}
.ev-meta span+span::before{content:'/';margin-right:12px;color:rgba(255,255,255,.2)}
.ev-meta b{font-weight:700;color:rgba(255,255,255,.8)}
.ev-mine{color:#fff}
.ev mark{background:rgba(255,255,255,.22);color:#fff;padding:0 1px;box-shadow:0 2px 0 var(--fc)}
.ev.is-live{background:linear-gradient(180deg,rgba(226,58,46,.14),#17171b 70%);border-color:rgba(240,70,58,.5)}
.ev-prog{position:absolute;left:0;bottom:0;height:3px;background:var(--red-2);transition:width 1s linear}
.ev.mine{border-color:rgba(255,255,255,.5);background:#1d1d22}
.ev.ping{animation:schedPing 1.4s var(--ease)}
@keyframes schedPing{0%,40%{border-color:#fff;background:#2a2a30}100%{}}
.sched-list.anim .ev{animation:schedIn .5s var(--ease) both;animation-delay:calc(var(--i) * 28ms)}
@keyframes schedIn{from{opacity:0;transform:translateY(12px)}}
/* one card per field per time slot; a split field (2A-2D practices) lists each section as a row */
.cell{display:grid;align-content:start;min-width:0}
.ev-count{margin-left:auto;font-weight:700;font-size:10.5px;letter-spacing:.12em;color:rgba(255,255,255,.4)}
.fs-rows{display:flex;flex-direction:column}
.fs-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px solid rgba(255,255,255,.08)}
.fs-row:first-child{border-top:0;padding-top:2px}
.fs-a{--o:5px;flex:none;min-width:34px;padding:3px 8px;text-align:center;font-family:var(--disp);font-weight:900;font-style:italic;font-size:11px;color:var(--fc);
  background:rgba(255,255,255,.07);clip-path:polygon(var(--o) 0,100% 0,calc(100% - var(--o)) 100%,0 100%)}
.fs-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.fs-t b{font-family:var(--disp);font-weight:800;font-style:italic;text-transform:uppercase;font-size:14.5px;line-height:1.15;overflow-wrap:anywhere}
.fs-t b i{font-style:normal;font-size:10px;letter-spacing:.14em;color:rgba(255,255,255,.35)}
.fs-t small{font-weight:600;font-size:12px;color:rgba(255,255,255,.55)}
.fs-time{flex:none;font-weight:600;font-size:11.5px;color:rgba(255,255,255,.5)}
.fs-row.mine .fs-t b::after{content:' ★';color:var(--fc)}
.fs-row.ping{animation:schedPing 1.4s var(--ease)}
/* field colour dots on the filter chips + my-team jumps */
.sk-chip .fd,.mt-jump .fd{width:8px;height:8px;margin-right:8px;background:var(--fc);transform:skewX(-20deg)}

/* earlier today / empty / loading / fallback */
.sched-earlier{display:flex;align-items:center;gap:12px;width:100%;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.6);text-align:left;transition:color .2s}
.sched-earlier span{font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.sched-earlier b{font-family:var(--disp);font-weight:800;font-style:italic;text-transform:uppercase;font-size:15px;color:#fff}
.sched-earlier em{margin-left:auto;font-style:normal;font-weight:800;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.sched-earlier svg{width:18px;height:18px;transition:transform .3s var(--ease)}
.sched-earlier.open svg{transform:rotate(180deg)}
.sched-earlier:hover{color:#fff}
.sched-none{padding:70px 0 40px;text-align:center}
.sched-none b{display:block;font-family:var(--disp);font-weight:900;font-style:italic;text-transform:uppercase;font-size:clamp(28px,4vw,40px)}
.sched-none p{margin:10px 0 24px;color:rgba(255,255,255,.6)}
.tg.sk .tg-time b{width:96px;height:42px;background:rgba(255,255,255,.06)}
.ev.sk{min-height:136px;background:linear-gradient(100deg,#141417 30%,#1d1d22 50%,#141417 70%);background-size:300% 100%;animation:schedSk 1.4s linear infinite}
.ev.sk::before{background:rgba(255,255,255,.08)}
@keyframes schedSk{from{background-position:100% 0}to{background-position:0 0}}
.sched-fallback{margin-top:26px}
.sched-fallback p{margin-bottom:16px;color:rgba(255,255,255,.75)}
.sf-retry{font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.08em;color:var(--red-2);margin-left:8px}
.sched-fallback #dash-schedule{background:#fff}
@media (prefers-reduced-motion:reduce){ .sched-list.anim .ev,.ev.ping,.pulse,.tg-tag i,.ev-flag.lv i,.ev.sk{animation:none} }

/* phones: week label + arrows on top, the 7 days full width below */
@container sched (max-width:760px){
  .sched-bar-in{display:grid;grid-template-columns:40px 1fr 40px 40px auto;grid-template-areas:"prev week next pick today" "days days days days days";gap:8px;padding:10px 16px}
  .sd-arrow.prev{grid-area:prev}.sd-arrow.next{grid-area:next}.sd-pick{grid-area:pick;margin:0}.sd-today{grid-area:today;padding:0 14px;font-size:12px}
  .sd-arrow,.sd-pick{width:40px;height:36px}
  .sd-week{grid-area:week;display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:800;font-style:italic;text-transform:uppercase;font-size:13px;letter-spacing:.02em}
  .sd-days{grid-area:days;gap:4px}
  .sd-day{--o:7px;padding:6px 0 5px}
  .sd-day .dw{font-size:9px;letter-spacing:.08em}
  .sd-day .dn{font-size:20px}
  .sd-day .dm{display:none}
  .sd-day.today .dw{letter-spacing:0;font-size:8.5px}
  .sh-day{font-size:28px}
  .sh-stats span{letter-spacing:.1em}
  .sched-head{align-items:flex-start}
  .sh-stats{width:100%;justify-content:space-between}
  .sh-stats>div{padding:0 10px;flex:1}
  .sh-stats>div:first-child{padding-left:0}
  .sh-live{flex-wrap:wrap}
  .sq{flex-basis:100%;max-width:none}
  .sk-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;width:100%;margin:0 -16px;padding:0 16px;width:calc(100% + 32px)}
  .sk-chips::-webkit-scrollbar{display:none}
  .sk-chips[data-k="field"]{margin-left:-16px}
  .tg{grid-template-columns:1fr;gap:14px;padding:22px 0}
  .ev-flags{gap:4px}
  .tg-time{display:flex;align-items:baseline;gap:8px}
  .tg-time b{font-size:34px}
  .tg-tag{margin:0 0 0 auto;align-self:center}
  .tg-cards{grid-template-columns:minmax(0,1fr)}
  .myteam{padding:12px 14px}
}
