:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17232d;background:#f5f6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #417ae3;outline-offset:4px}[hidden]{display:none!important}header{height:88px;padding:0 max(24px,calc((100vw - 1240px)/2));background:#fff;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e6e9ec}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:#092e52;font-size:20px;font-weight:850;letter-spacing:1.3px}.brand small{display:block;font-size:9px;font-weight:650;letter-spacing:1.6px;margin-top:4px}.mark{display:grid;place-items:center;width:43px;height:46px;background:#092e52;color:#fff;border-radius:8px 8px 19px 19px;font-size:29px}.preview{padding:7px 12px;background:#f1f3fa;color:#35587b;border:1px solid #e0e5f0;font-size:12px;border-radius:20px}main{max-width:1240px;margin:auto;padding:30px 24px 50px}.hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:240px;background:#092e52;color:#fff;padding:40px 44px;border-radius:22px}.hero:after{content:"";position:absolute;width:400px;height:400px;border:1px solid #ffffff12;border-radius:50%;right:10%;top:-90px;pointer-events:none}.eyebrow{font-size:11px;letter-spacing:2.1px;color:#a8c8f2;font-weight:650;margin:0 0 18px}h1{font-size:clamp(30px,4vw,46px);font-weight:650;line-height:1.1;letter-spacing:-1.4px;margin:0}.lead{color:#c5d7eb;font-size:17px;margin:17px 0 0}.stat{position:relative;z-index:1;text-align:right;min-width:150px}.stat strong{font-size:44px;font-weight:500;display:block;letter-spacing:-1px;color:#ffffff}.stat span{font-size:12px;color:#c5d7eb}.toolbar{display:flex;justify-content:space-between;gap:20px;margin:30px 0;align-items:center}nav{display:flex;gap:5px;background:#e9ecef;padding:4px;border-radius:12px}nav button{border:0;background:none;color:#657079;padding:11px 21px;border-radius:9px;font-weight:600;font-size:14px}nav button.active{background:white;color:#092e52;box-shadow:0 2px 5px #092e5210}.search{background:white;border:1px solid #e0e5e8;border-radius:12px;display:flex;align-items:center;gap:12px;padding:0 15px;width:330px}.search span{font-size:26px;color:#58718c}.search input{border:0;outline:none!important;background:transparent;width:100%;height:44px;font-size:14px}.sectionTitle{display:flex;align-items:center;justify-content:space-between;margin:26px 0 24px;gap:15px}.sectionTitle h2{font-size:24px;letter-spacing:-.5px;margin:0 0 7px}.sectionTitle p{font-size:13px;color:#74808a;margin:0;line-height:1.6}.sectionTitle>span{font-size:12px;white-space:nowrap;color:#7d8990}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}.card{border:0;background:transparent;text-align:left;color:inherit;padding:0;border-radius:14px;min-width:0;transition:transform .16s}.card:hover{transform:translateY(-3px)}.thumb{position:relative;aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#092e52,#07479c);display:flex;align-items:center;justify-content:center;border:1px solid #17232d0d}.thumb img{width:100%;height:100%;object-fit:cover}.thumb .fallback{color:#cbdcf5;font-size:38px;letter-spacing:4px}.badge{position:absolute;bottom:11px;right:11px;background:#071e39e6;color:white;border-radius:6px;padding:5px 8px;font-size:11px;backdrop-filter:blur(5px)}.card h3{font-size:14px;line-height:1.5;margin:12px 1px 6px;font-weight:650;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px}.card p{font-size:12px;color:#7c8790;margin:0 1px}.card.unavailable{opacity:.55}.playIcon{position:absolute;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;color:white;background:#092e52d9;font-size:18px}.progress{position:absolute;height:3px;bottom:0;left:0;background:#b4164f}.back{background:none;border:0;color:#08469c;padding:0;font-size:14px}.more{display:block;margin:32px auto;padding:12px 24px;border:1px solid #dce2ed;background:white;border-radius:10px;color:#092e52}.notice{margin:30px 0;background:white;padding:24px;border-radius:15px;color:#52647a}.empty{grid-column:1/-1;padding:44px;text-align:center;color:#7b858d;background:white;border-radius:14px}.footnote{margin-top:45px;border-top:1px solid #e2e6e8;padding-top:19px;color:#8b969d;font-size:11px}dialog{border:none;border-radius:17px;padding:0;max-width:960px;width:calc(100% - 32px);background:white;max-height:94vh;overflow:auto}dialog::backdrop{background:#061a35de;backdrop-filter:blur(6px)}.playerHead{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#092e52;color:#d7e5f5;font-size:10px;letter-spacing:1.5px}.playerHead button{border:0;background:transparent;color:white;padding:7px 10px;font-size:20px}.stage{background:#07182c;display:flex;justify-content:center}video{width:100%;max-height:60vh;aspect-ratio:16/9;background:#000}.playerBody{padding:23px 27px}.playerBody h2{font-size:20px;margin:0 0 10px;line-height:1.4}.playerBody p{font-size:13px;color:#737f90}.playerActions{display:flex;gap:10px;flex-wrap:wrap}.playerActions button{border:1px solid #d8dfec;background:#f4f6fb;color:#092e52;padding:11px 16px;border-radius:9px}.playerActions #next{margin-left:auto;background:#a91348;color:#fff}.playerBody #playerStatus{color:#907339}@media(min-width:1440px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){header{height:72px;padding:0 20px}main{padding:20px 16px}.hero{padding:28px;min-height:220px}.stat{display:none}.toolbar{align-items:stretch;flex-direction:column;gap:15px;margin:22px 0}.search{width:100%}nav{align-self:flex-start}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.sectionTitle h2{font-size:21px}.sectionTitle>span{display:none}.card h3{font-size:13px}.thumb{border-radius:10px}.preview{font-size:10px}.hero:after{right:-170px}.playerBody{padding:18px}.playerBody h2{font-size:17px}}@media(max-width:420px){.grid{grid-template-columns:1fr}.thumb{aspect-ratio:16/9}.card h3{min-height:0;font-size:15px}h1{font-size:30px}}

/* Coach Education: navy foundation, raspberry accents from the supplied palette. */
.brand{font-size:19px;letter-spacing:.5px;gap:0}.brandAccent{color:#a91348}.hero{min-height:280px;background:linear-gradient(110deg,#092e52 0%,#092e52 55%,#073d8c 100%);border-radius:20px;padding:38px 44px}.hero:before{content:"";position:absolute;inset:0 0 0 auto;width:33%;background:linear-gradient(90deg,transparent 0 25%,#85134455 25% 48%,#ad124966 48% 64%,#07285955 64% 84%,transparent 84%);transform:skewX(-12deg);pointer-events:none}.hero:after{display:none}.hero>div{z-index:1}h1{font-size:clamp(40px,5.3vw,66px);font-weight:850;letter-spacing:-2px;line-height:.98}.heroAccent{color:#fff}.eyebrow{border-left:3px solid #d62668;padding-left:12px;letter-spacing:2.4px;margin-bottom:19px}.lead{max-width:510px;line-height:1.5;font-size:15px}.stat{border-left:1px solid #ffffff30;padding-left:32px}.stat strong{font-weight:750}.stat span{display:block;margin-top:7px}nav button.active{background:#092e52;color:#fff}.playIcon{box-shadow:0 3px 15px #061a3533}.card:hover .playIcon{background:#a91348}.progress{background:#c21a55}.playerActions #next:hover{background:#86113a}@media(max-width:760px){.hero{padding:30px 25px;min-height:270px}.hero:before{width:48%;opacity:.7}.brand{font-size:16px}.lead{font-size:14px;max-width:310px}}@media(max-width:420px){h1{font-size:39px;letter-spacing:-1.5px}.brand{font-size:14px}.preview{padding:6px 8px}header{padding:0 16px}}

.playlistSection{grid-column:1/-1;margin:22px 0 0;padding:13px 17px;border-left:4px solid #8392a8;background:#eaf0f7;border-radius:0 10px 10px 0;font-size:21px;line-height:1.3;letter-spacing:-.3px;color:#092e52}.playlistSection:first-child{margin-top:0}.playlistSection.foundation{border-color:#deb634;background:#faf4dd}.playlistSection.technique{border-color:#1556a1;background:#e9f0fa}.playlistSection.tactics{border-color:#b4164f;background:#f9eaf0}.playlistSection.other{color:#52647a}@media(max-width:760px){.playlistSection{font-size:18px;padding:12px 14px;margin-top:14px}}

.materialsFolder{grid-column:1/-1;display:flex;align-items:center;gap:22px;text-align:left;margin-top:24px;padding:30px;border:1px solid #d5dfee;border-radius:16px;background:linear-gradient(115deg,#e9eff9,#fff);color:#092e52}.materialsFolder:hover{border-color:#a91348;background:#edf2fb}.materialsFolder strong{display:block;font-size:25px;line-height:1.3}.materialsFolder small{display:block;margin-top:9px;color:#63758c;font-size:14px;line-height:1.5}.folderSymbol{display:grid;place-items:center;border-radius:12px;width:60px;height:60px;flex-shrink:0;background:#092e52;color:#fff;font-size:34px}.folderArrow{font-size:30px;margin-left:auto;color:#a91348}@media(max-width:760px){.materialsFolder{padding:22px 17px;gap:14px}.materialsFolder strong{font-size:20px}.materialsFolder small{font-size:12px}.folderSymbol{width:43px;height:48px;font-size:28px}}

.materialsFolder{background:linear-gradient(115deg,#092e52 0%,#103a73 72%,#153f88 100%);border-color:#143d72;color:#fff;box-shadow:0 8px 24px #092e5212;border-left:5px solid #b4164f}.materialsFolder:hover{background:linear-gradient(115deg,#0d385f,#174c97);border-color:#b4164f}.materialsFolder small{color:#c7d9ef}.folderSymbol{background:#ffffff15;color:#fff;border:1px solid #ffffff25}.folderArrow{color:#fff}

#hint:empty{display:none}

/* Compact catalogue header: search and topics immediately below the brand. */
header{height:64px}.brand{font-size:17px}main{padding-top:20px}.toolbar{margin-top:0}@media(max-width:760px){header{height:58px}.brand{font-size:15px}main{padding-top:16px}}@media(max-width:420px){.brand{font-size:14px}}

.toolbar{justify-content:flex-end}@media(max-width:760px){.toolbar{margin-top:0}}

/* Playlist and video covers without decorative outlines. */
.card,.card .thumb{border:0;box-shadow:none}
/* Allow narrow screens to shrink the grid and its content instead of overflowing. */
main,#library,.toolbar,.search,.search input,.sectionTitle,.grid,.playlistSection,.materialsFolder{min-width:0}.search input{flex:1 1 0}.materialsFolder>span:nth-child(2){min-width:0;flex:1}.materialsFolder strong,.materialsFolder small,.playlistSection,.sectionTitle h2{overflow-wrap:anywhere}.thumb img{min-width:0;max-width:100%}@media(max-width:420px){.grid{grid-template-columns:minmax(0,1fr)}.materialsFolder{gap:10px;padding:18px 12px}.materialsFolder strong{font-size:18px}.folderArrow{display:none}.playlistSection{padding:12px 10px}.sectionTitle>div{min-width:0}}@media(max-width:320px){main{padding-left:12px;padding-right:12px}.search{padding:0 10px;gap:8px}.folderSymbol{width:32px;height:40px;font-size:24px}}
/* Compact search, consistent on desktop and mobile. */
.search{padding:0 11px;gap:8px;border-radius:9px;width:280px}.search input{height:34px;font-size:13px}.search span{font-size:20px;line-height:1}.toolbar{margin-bottom:18px}@media(max-width:760px){.search{width:100%}.toolbar{margin:0 0 18px;gap:0}}

/* Two compact catalogue cards per row on phone screens. */
@media(max-width:420px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
  .thumb{aspect-ratio:16/10;border-radius:9px}
  .badge{right:7px;bottom:7px;padding:4px 6px;font-size:9px}
  .card h3{min-height:33px;margin:9px 1px 5px;font-size:12px;line-height:1.35}
  .card p{font-size:11px;line-height:1.35}
  .playlistSection{font-size:16px}
}

.manageLink{font-size:13px;color:#52647a;text-decoration:none;padding:10px 12px;border:1px solid #dce2e8;border-radius:8px}.manageLink:hover{color:#a91348;border-color:#a91348}@media(max-width:420px){.manageLink{font-size:12px;padding:9px 8px}}
