@font-face{font-family:League;src:url('/fonts/league-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:League;src:url('/fonts/league-semibold.woff2') format('woff2');font-weight:600 900;font-display:swap}
@font-face{font-family:LeagueDisplay;src:url('/fonts/league-display.otf') format('opentype');font-weight:700;font-display:swap}
:root{--bg:#0b0c0e;--panel:#121417;--raised:#181b1f;--line:#292c31;--muted:#989da5;--white:#f4f3ef;--gold:#f5b632;--gold-light:#ffda82;--display:LeagueDisplay,'Arial Narrow',Impact,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--white);font:15px/1.6 League,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{color:inherit;cursor:pointer;border:0}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:5px}::selection{background:var(--gold);color:var(--bg)}[hidden]{display:none!important}.shell{width:min(1280px,calc(100% - 96px));margin-inline:auto}.icon{width:22px;height:22px;flex-shrink:0}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:2px;font-weight:600;line-height:1.5}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold)}.skip-link{position:fixed;top:0;left:24px;z-index:100;transform:translateY(-120%);background:var(--gold);color:var(--bg);padding:12px}.skip-link:focus{transform:translateY(0)}
.utility{border-bottom:1px solid #242629;background:#101114}.utility-inner{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:1.6px;color:#a2a5ac;font-weight:600}.utility-right{display:flex;align-items:center;gap:9px;white-space:nowrap}.header{position:sticky;top:0;z-index:30;background:#0d0e10f5;border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand img{width:48px;height:48px;object-fit:contain}.brand strong{font-family:var(--display);font-size:33px;letter-spacing:1px;line-height:1;display:block}.brand-point{color:var(--gold)}.brand small{font-size:8px;letter-spacing:1.15px;color:#858a93;display:block;line-height:1.7;margin-top:4px}.main-nav{display:flex;align-items:center;align-self:stretch;gap:27px}.main-nav a{font-size:12px;font-weight:600;color:#adb0b6;display:flex;align-items:center;position:relative;white-space:nowrap;transition:color .18s}.main-nav a:hover,.main-nav a[aria-current]{color:var(--white)}.main-nav a[aria-current]:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gold)}.header-community{border:1px solid #3b3426;display:flex;align-items:center;gap:10px;font-size:11px;padding:9px 13px;background:#e6b74108;transition:background .2s}.header-community:hover{background:#f5b63217}.header-community .icon{width:17px;height:17px;color:var(--gold)}.menu-toggle{display:none;background:none;padding:10px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:13px 20px;min-height:49px;font-size:12px;font-weight:600;border:1px solid var(--line);background:var(--raised);transition:background .2s,transform .2s,border-color .2s}.button .icon{width:18px;height:18px}.button:hover{transform:translateY(-2px);background:#292b2f}.button.gold{background:linear-gradient(115deg,var(--gold-light),var(--gold));color:#161309;border-color:var(--gold);box-shadow:0 5px 30px #f5b63218}.button.gold:hover{background:#ffcc65;box-shadow:0 5px 32px #f5b63230}.button.outline{background:transparent;border-color:#3a3d42}.button.outline:hover{border-color:var(--gold);background:#f5b63209}
.quick-strip{background:#121416;border-block:1px solid var(--line)}.quick-links{display:grid;grid-template-columns:repeat(3,1fr)}.quick-links>a{display:flex;align-items:center;gap:24px;padding:28px;border-right:1px solid var(--line);transition:background .2s}.quick-links>a:first-child{padding-left:0}.quick-links>a:last-child{border:0;padding-right:0}.quick-links>a:hover{background:#f5b63206}.quick-number{font-family:var(--display);font-size:36px;line-height:1;color:#626872}.quick-links small{display:block;font-size:8px;letter-spacing:1.5px;color:#969ca6;margin-bottom:5px}.quick-links strong{font-size:15px;font-weight:600}.quick-links .icon{margin-left:auto;color:var(--gold);width:19px;height:19px}
.league-center{padding-top:75px;scroll-margin-top:100px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px;gap:20px}.section-heading h2{font:700 46px/1.1 var(--display);margin-top:8px}.section-heading h2 span{color:var(--gold)}.section-note{font-size:8px;letter-spacing:1.7px;color:#9299a3;padding-bottom:5px}.central-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:24px}.schedule-panel{border:1px solid var(--line);background:#111315;display:flex;flex-direction:column}.panel-heading{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.panel-heading>span{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:1.4px;font-weight:600}.panel-heading .icon{color:var(--gold);width:16px;height:16px}.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--gold);font-size:11px;font-weight:600;background:none;padding:0}.text-link:hover{color:var(--gold-light)}.text-link .icon{width:17px;height:17px;transition:transform .2s}.text-link:hover .icon{transform:translateX(3px)}.schedule-empty{padding:29px 30px;flex:1}.empty-emblem{display:grid;place-items:center;width:52px;height:52px;background:#d6aa4010;border:1px solid #a884402a;transform:rotate(-5deg);margin-bottom:22px;color:var(--gold)}.empty-emblem .icon{width:25px;height:25px;transform:rotate(5deg)}.schedule-empty .eyebrow{font-size:9px;letter-spacing:1.5px;color:#939ba6}.schedule-empty h3{font:700 29px/1.1 var(--display);margin:8px 0 12px}.schedule-empty>p:not(.eyebrow){font-size:12px;color:var(--muted);max-width:360px}.schedule-empty .text-link{margin-top:21px}.panel-footer{font-size:9px;display:flex;align-items:center;gap:8px;color:#929aa6;padding:12px 22px;border-top:1px solid var(--line)}.panel-footer .icon{width:13px;height:13px}.bulletin-panel{display:grid;grid-template-columns:.85fr 1fr;min-height:360px;overflow:hidden;border:1px solid var(--line);background:#161718}.bulletin-image{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at 80% 40%,#d4942033,transparent 70%),#1b1913;border-right:1px solid #493b213f}.bulletin-image img{position:absolute;max-width:none;width:125%;transform:rotate(-15deg) translateX(-10%);filter:drop-shadow(0 10px 10px #0007);opacity:.95}.bulletin-image>span{position:absolute;left:20px;bottom:22px;font:700 36px/1 var(--display);letter-spacing:1px}.bulletin-image>span>span{display:block;font:600 7px/1.6 League,sans-serif;letter-spacing:1.8px;margin-top:6px;color:#b6a77f}.bulletin-copy{padding:31px 23px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.tag{font-size:8px;letter-spacing:1.2px;font-weight:600;color:var(--gold);display:inline-block}.bulletin-copy h3{font:700 36px/1.05 var(--display);margin:18px 0 13px}.bulletin-copy p{font-size:12px;color:var(--muted);line-height:1.8}.bulletin-copy .text-link{margin-top:24px}
.league-directory{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding-top:85px;padding-bottom:84px}.directory-intro h2{font:700 45px/1.04 var(--display);margin:14px 0 17px}.directory-intro>p:not(.eyebrow){max-width:310px;color:var(--muted);font-size:13px}.directory-mark{font:700 84px/1 var(--display);display:block;margin-top:28px;color:transparent;-webkit-text-stroke:1px #34373d;letter-spacing:1px}.directory-links>a{display:flex;align-items:center;gap:23px;padding:23px 0;border-top:1px solid var(--line)}.directory-links>a:last-child{border-bottom:1px solid var(--line)}.directory-index{font-size:10px;letter-spacing:1px;color:#8d96a3}.directory-links h3{font-size:17px;line-height:1.3;font-weight:600;transition:color .2s}.directory-links p{font-size:11px;color:#929ca9;margin-top:6px}.directory-links .icon{margin-left:auto;color:#8e97a4;width:20px;height:20px;transition:transform .2s,color .2s}.directory-links>a:hover h3,.directory-links>a:hover .icon{color:var(--gold)}.directory-links>a:hover .icon{transform:translate(2px,-2px)}
.community-wrap{padding-bottom:74px;scroll-margin-top:120px}.community-panel{position:relative;border:1px solid #675020;background:radial-gradient(ellipse at 4% 50%,#a7741c17,transparent 65%),linear-gradient(120deg,#191813,#141516);padding:38px 42px;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:45px;overflow:hidden}.community-panel:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold)}.community-copy h2{font:700 46px/1.1 var(--display);margin:8px 0 9px}.community-copy>p:last-child{font-size:12px;color:#a5a59e;max-width:350px}.community-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}.community-link{display:flex;align-items:center;text-align:left;gap:12px;padding:16px 15px;border:1px solid #554227;background:linear-gradient(110deg,#f5b63216,#bf90220b);min-height:83px;transition:border-color .2s,box-shadow .2s}.community-link:hover{border-color:var(--gold);box-shadow:0 0 25px #dda12a13}.community-link>.icon:first-child{color:var(--gold);width:25px;height:25px}.community-link>.icon:last-child{margin-left:auto;width:15px;height:15px;color:#b9944b}.community-link strong{font-size:12px;display:block;font-weight:600}.community-link small{font-size:8px;color:#b3a58a;display:block;white-space:nowrap;margin-top:4px}.community-link.roblox{background:linear-gradient(110deg,#ffffff08,#ffffff02);border-color:#3b3c3f}.community-link.roblox:hover{border-color:#a4a8af}.community-link.roblox .icon{color:#a7abb3}.community-link.roblox small{color:#a0a8b3}
.footer{border-top:1px solid var(--line);background:#090a0c}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:34px}.brand-footer img{width:43px;height:43px}.brand-footer strong{font-size:29px}.brand-footer small{font-size:8px;letter-spacing:.25px}.footer-nav{display:flex;gap:23px;font-size:10px;color:#9ba4b1}.footer-nav a:hover{color:var(--gold)}.footer-bottom{padding:20px 0 24px;border-top:1px solid #202227;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:9px;color:#929ba8}.footer-bottom>span:last-child{display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:1.5px}.footer-bottom .icon{width:16px;height:16px;color:#9f8050}
.page-hero{border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 80% 50%,#b3872815,transparent 60%),#111315;overflow:hidden}.page-hero>.shell{padding-top:25px;padding-bottom:40px;position:relative}.breadcrumb{display:flex;gap:10px;align-items:center;font-size:10px;color:#939ead;margin-bottom:27px}.breadcrumb a:hover{color:var(--gold)}.breadcrumb>span:last-child{color:#b3b8c0}.page-hero h1{font:700 clamp(45px,5vw,72px)/1.1 var(--display);margin-top:10px;position:relative;z-index:1}.page-hero h1>span{color:var(--gold)}.page-description{font-size:13px;color:#a5aebc;margin-top:12px;position:relative;z-index:1;max-width:560px}.page-watermark{width:300px;height:300px;object-fit:contain;position:absolute;right:20px;top:18px;opacity:.12;transform:rotate(-12deg);pointer-events:none}.page-content{padding-top:35px;padding-bottom:55px;min-height:450px}.data-panel{background:#111315;border:1px solid var(--line)}.filter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}.page-toolbar{padding:0 0 23px;border:0}.filter-chips{display:flex;gap:5px;flex-wrap:wrap}.filter-chip{background:transparent;border:1px solid transparent;color:#a4adba;font-size:11px;padding:9px 15px;line-height:1.4;transition:color .2s,background .2s}.filter-chip:hover{color:var(--white);background:#ffffff06}.filter-chip.selected{border-color:#655026;background:#dbab3112;color:var(--gold)}.search-box{display:flex;align-items:center;gap:9px;border:1px solid #34383e;padding:7px 11px;background:#0d0f11}.search-box .icon{width:16px;height:16px;color:#96a0ae}.search-box input{background:transparent;border:0;color:var(--white);width:165px;padding:2px;font-size:11px;outline-offset:7px}.search-box input::placeholder{color:#939eac}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px;white-space:nowrap}th,td{padding:17px 20px;border-bottom:1px solid #23262b}thead{color:#98a3b2;font-size:9px;letter-spacing:1.1px;background:#15171b}thead th{font-weight:600}tbody td{font-variant-numeric:tabular-nums}tbody th{font-weight:600}tbody tr:hover{background:#ffffff03}.rank{color:var(--gold)}.team-cell{display:flex;align-items:center;gap:10px}.team-monogram{background:#2e2b23;color:var(--gold-light);display:grid;place-items:center;width:32px;height:32px;font-size:10px}.table-legend{display:flex;gap:20px;flex-wrap:wrap;font-size:9px;padding:14px 20px;border-top:1px solid var(--line);color:#939eae}.table-legend b{color:#bbc4d0;margin-right:4px}.empty-state{text-align:center;padding:58px 25px 62px;max-width:720px;margin:auto}.empty-state .empty-emblem{margin:0 auto 24px;width:64px;height:64px}.empty-state .empty-emblem .icon{width:30px;height:30px}.empty-state .eyebrow{font-size:8px;letter-spacing:1.8px;color:#939ead}.empty-state h2{font:700 clamp(25px,3vw,37px)/1.15 var(--display);margin:13px 0}.empty-state>p:not(.eyebrow){font-size:13px;color:#a0aab8;max-width:450px;margin:auto}.empty-state .button{margin-top:26px}.no-results{padding:65px 20px;text-align:center;color:#a3adbb}.no-results h2{font:700 34px/1.2 var(--display);color:var(--white)}.no-results p{font-size:12px;margin-top:10px}.no-results .button{margin-top:25px}.content-note{display:flex;align-items:flex-start;gap:8px;color:#939fae;font-size:10px;margin-top:18px}.content-note .icon{width:15px;height:15px;margin-top:1px}.select-controls{display:flex;gap:16px;align-items:center}.select-label{display:flex;align-items:center;gap:8px;font-size:10px;color:#939fae}.select-label select{border:1px solid #353a42;background:#13161b;color:#bbc4d0;font-size:11px;padding:9px 28px 9px 10px;max-width:160px}.toolbar-note{font-size:8px;letter-spacing:1.6px;color:#939fae}.game-list{display:grid;gap:18px}.game-card{border:1px solid var(--line);background:var(--panel);padding:24px}.game-meta{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.matchup{display:flex;align-items:center;gap:30px;margin-block:25px}.matchup>div{display:flex;align-items:center;gap:20px;font-family:var(--display);font-size:28px}.matchup b{color:var(--gold);font-size:36px}.versus{font-size:10px;color:#939eae}.game-bottom{display:flex;justify-content:space-between;gap:15px}.game-time{font-size:12px;color:#adb8c7}.next-game{padding:30px}.next-game h3{font:700 36px/1.2 var(--display);margin-block:18px}.next-game h3>span{color:#939fac}.next-game .game-time{display:block}.next-game .button{margin-top:20px}
.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.media-card{background:var(--panel);border:1px solid var(--line);scroll-margin-top:130px}.media-image{height:280px;position:relative;overflow:hidden;display:grid;place-items:center;background:radial-gradient(ellipse at 45% 20%,#b67d272c,transparent 70%),#191913;border-bottom:1px solid var(--line)}.media-image>img{width:250px;height:250px;object-fit:contain;transform:rotate(-9deg);filter:drop-shadow(0 16px 16px #0008)}.media-image .icon{width:64px;height:64px;color:var(--gold)}.image-label{position:absolute;left:18px;bottom:16px;font-size:7px;letter-spacing:1.7px;color:#d6c390}.asset-image{background-color:#15181b;background-image:linear-gradient(45deg,#202328 25%,transparent 25%),linear-gradient(-45deg,#202328 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#202328 75%),linear-gradient(-45deg,transparent 75%,#202328 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}.asset-image>img{transform:none}.asset-image .image-label{color:#bac1cb}.media-body{padding:26px 28px}.media-body h2{font:700 33px/1.2 var(--display);margin:12px 0}.media-body p{font-size:12px;color:#a2adbb;max-width:430px}.media-body .text-link{margin-top:24px}.transaction-list{display:grid;gap:17px}.transaction-card{display:flex;gap:25px;padding:25px;background:var(--panel);border:1px solid var(--line)}.transaction-icon{color:var(--gold);background:#b8872012;width:42px;height:42px;display:grid;place-items:center;flex-shrink:0}.transaction-meta{display:flex;gap:18px;align-items:center}.transaction-meta time{font-size:10px;color:#9ba7b6}.transaction-card h2{font:700 29px/1.1 var(--display);margin-top:14px}.transaction-card p,.transaction-card li{font-size:12px;color:#adb8c7;margin-top:10px}
dialog{background:#16191d;color:var(--white);border:1px solid #574729;max-width:min(540px,calc(100vw - 32px));padding:42px;width:100%;box-shadow:0 25px 90px #0009}dialog::backdrop{background:#050608d9;backdrop-filter:blur(5px)}dialog h2{font:700 39px/1.1 var(--display);margin:12px 0 18px}dialog p:not(.eyebrow){font-size:13px;color:#b0bac8;line-height:1.8;margin-top:15px}dialog>.button{margin-top:27px}.dialog-close{position:absolute;right:12px;top:12px;padding:8px;background:transparent;color:#abb2bd}.dialog-close:hover{color:var(--gold)}.dialog-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid #594524;background:#d6a22b0e;color:var(--gold);margin-bottom:24px}.article-dialog{max-width:min(660px,calc(100vw - 32px))}.article-dialog h2{font-size:46px}

@media(max-width:1200px){.shell{width:calc(100% - 64px)}.header-inner{gap:18px}.main-nav{gap:21px}.header-community{padding:8px}.header-community span{display:none}.brand small{font-size:7px}.community-panel{gap:30px;padding:32px;grid-template-columns:.9fr 1fr}.community-links{grid-template-columns:1fr}.community-link{min-height:66px;padding:12px 15px}.community-link small{font-size:9px}.bulletin-copy{padding:24px 18px}.bulletin-copy h3{font-size:31px}.section-note{font-size:7px}.footer-nav{gap:17px}}
@media(max-width:900px){.shell{width:calc(100% - 48px)}.header-inner{height:78px}.header-community{display:none}.main-nav{gap:17px}.main-nav a{font-size:11px}.brand{gap:8px}.brand img{width:40px;height:40px}.brand strong{font-size:29px}.brand small{font-size:6px;letter-spacing:.6px}.quick-links>a{gap:14px;padding:24px 19px}.quick-number{font-size:27px}.quick-links small{font-size:6px}.quick-links strong{font-size:12px}.central-grid{grid-template-columns:1fr}.bulletin-panel{min-height:300px;grid-template-columns:.8fr 1fr}.bulletin-image img{width:90%;max-width:290px;transform:rotate(-13deg)}.bulletin-copy h3{font-size:38px}.bulletin-copy{padding:30px}.section-heading h2{font-size:41px}.league-directory{gap:40px;grid-template-columns:.8fr 1.2fr;padding-block:65px}.directory-intro h2{font-size:36px}.directory-links h3{font-size:15px}.directory-links>a{gap:16px}.directory-links p{font-size:10px}.directory-intro>p:not(.eyebrow){font-size:12px}.directory-mark{font-size:68px}.community-copy h2{font-size:38px}.community-copy .eyebrow{font-size:9px}.community-panel{padding:30px}.footer-top{flex-wrap:wrap;gap:25px}.footer-nav{gap:24px}.page-watermark{right:-35px}.media-image{height:235px}.media-image>img{width:205px;height:205px}.media-body{padding:22px}.media-body h2{font-size:29px}}
@media(max-width:650px){.shell{width:calc(100% - 36px)}.utility-inner{min-height:27px;font-size:6px;letter-spacing:.85px}.utility-right{display:none}.header-inner{height:74px}.brand img{width:44px;height:44px}.brand strong{font-size:31px}.brand small{font-size:7px;letter-spacing:.75px}.menu-toggle{display:block;margin-left:auto;border:1px solid #33363d;color:var(--gold);line-height:0}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:8px 18px 18px;background:#101216;border-bottom:1px solid #383b42;box-shadow:0 15px 20px #0005}.main-nav.is-open{display:flex;flex-direction:column;gap:0;align-items:stretch}.main-nav a{font-size:14px;padding:14px 10px;border-bottom:1px solid #24282f}.main-nav a[aria-current]{color:var(--gold)}.main-nav a[aria-current]:after{left:0;right:auto;top:14px;bottom:14px;width:2px;height:auto}.quick-links{grid-template-columns:1fr}.quick-links>a,.quick-links>a:first-child,.quick-links>a:last-child{padding:18px 2px;border-right:0;border-bottom:1px solid var(--line);gap:20px}.quick-links>a:last-child{border-bottom:0}.quick-number{font-size:28px}.quick-links>a>span:nth-child(2){display:flex;align-items:center;gap:14px;flex-direction:row-reverse}.quick-links small{font-size:7px;letter-spacing:1px;margin:0;color:#939daa}.quick-links strong{font-size:13px}.quick-links .icon{width:17px;height:17px}.league-center{padding-top:45px}.section-heading{margin-bottom:20px}.section-heading h2{font-size:36px}.section-heading .eyebrow{font-size:9px}.section-note{display:none}.central-grid{gap:18px}.panel-heading{padding:16px}.panel-heading>span{font-size:9px;letter-spacing:1px}.panel-heading .text-link{font-size:10px}.schedule-empty{padding:25px 22px}.schedule-empty h3{font-size:28px}.schedule-empty>p:not(.eyebrow){font-size:12px}.bulletin-panel{min-height:280px;grid-template-columns:.85fr 1fr}.bulletin-copy{padding:24px 18px}.bulletin-copy h3{font-size:29px}.bulletin-copy .tag{font-size:6px;letter-spacing:.8px}.bulletin-copy p{font-size:11px}.bulletin-copy .text-link{font-size:10px;gap:6px}.bulletin-image img{width:130%;max-width:none;transform:translateX(-12%) rotate(-10deg)}.bulletin-image>span{font-size:30px;left:14px;bottom:19px}.bulletin-image>span>span{font-size:5px;letter-spacing:1.1px}.league-directory{grid-template-columns:1fr;gap:25px;padding-top:49px;padding-bottom:45px}.directory-intro h2{font-size:38px;margin-top:10px}.directory-intro h2 br{display:none}.directory-intro>p:not(.eyebrow){max-width:350px}.directory-mark{display:none}.directory-links>a{padding:20px 0;gap:18px}.directory-links h3{font-size:16px}.directory-links p{font-size:11px}.community-wrap{padding-bottom:44px}.community-panel{grid-template-columns:1fr;gap:25px;padding:27px 22px}.community-copy h2{font-size:38px}.community-links{grid-template-columns:1fr}.community-link{min-height:72px}.community-link strong{font-size:13px}.community-link small{font-size:9px}.footer-top{padding-block:28px;gap:27px}.footer-nav{display:flex;flex-wrap:wrap;gap:15px 20px;font-size:10px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:14px;padding-block:18px}.footer-bottom>span:last-child{font-size:7px}.brand-footer small{font-size:7px;letter-spacing:.2px}.page-hero>.shell{padding-top:20px;padding-bottom:31px}.breadcrumb{font-size:9px;margin-bottom:23px}.page-hero .eyebrow{font-size:9px}.page-hero h1{font-size:44px}.page-description{font-size:12px;max-width:315px;margin-top:10px}.page-watermark{width:200px;height:200px;right:-70px;top:40px;opacity:.08}.page-content{padding-top:24px;padding-bottom:36px;min-height:440px}.filter-toolbar{padding:13px;gap:13px}.page-toolbar{padding:0 0 20px}.filter-chips{gap:2px}.filter-chip{padding:8px 11px;font-size:10px}.search-box{width:100%}.search-box input{width:100%;min-width:0}.table-legend{gap:7px 15px;padding:13px;font-size:8px}th,td{padding:14px 16px}thead{font-size:8px}.empty-state{padding:43px 18px}.empty-state h2{font-size:29px}.empty-state>p:not(.eyebrow){font-size:12px;max-width:280px}.empty-state .button{font-size:11px}.empty-state .eyebrow{font-size:7px}.empty-state .empty-emblem{width:55px;height:55px}.select-controls{gap:16px;flex-wrap:wrap;width:100%}.select-label{font-size:9px}.select-label select{font-size:10px;max-width:150px}.content-note{font-size:9px}.media-grid{grid-template-columns:1fr;gap:20px}.media-image{height:260px}.media-image>img{width:230px;height:230px}.media-body h2{font-size:33px}.toolbar-note{display:none}.matchup{gap:16px;flex-wrap:wrap}.matchup>div{font-size:24px}.game-bottom{flex-direction:column}.game-card{padding:20px}.transaction-card{gap:15px;padding:20px}.transaction-icon{width:33px;height:33px}.transaction-card h2{font-size:26px}dialog{padding:38px 25px 28px}dialog h2{font-size:34px}.article-dialog h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Centered league mark with a soft, looping gold light. */
.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: radial-gradient(ellipse at 50% 48%, #a671181a, transparent 62%), #0d0e10;
}
.hero::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 100px;
  background: linear-gradient(transparent, #0d0e10);
  pointer-events: none;
}
.hero-court {
  position: absolute;
  inset: -18% 4%;
  background: url('/court.svg') center / 100% 100% no-repeat;
  opacity: .065;
  transform: rotate(-18deg);
  pointer-events: none;
}
.hero-inner {
  display: grid;
  place-items: center;
  min-height: clamp(460px, 78svh, 740px);
  padding-block: 56px;
  position: relative;
  z-index: 1;
}
.hero-visual {
  position: relative;
  display: grid;
  place-items: center;
  width: min(580px, 64svh, 82vw);
  aspect-ratio: 1;
  isolation: isolate;
}
.hero-glow {
  position: absolute;
  inset: -24%;
  border-radius: 50%;
  background: radial-gradient(circle, #ffd97980 0%, #ffbc355c 35%, #ce840e26 52%, transparent 70%);
  filter: blur(22px);
  opacity: .48;
  transform: scale(.9);
  animation: npba-gold-glow 4.8s ease-in-out infinite;
  pointer-events: none;
}
.hero-visual::after {
  content: '';
  position: absolute;
  inset: 7%;
  border-radius: 50%;
  box-shadow: 0 0 34px 14px #ffd46a70, 0 0 84px 30px #f5ac2b50;
  opacity: .45;
  animation: npba-gold-rim 4.8s ease-in-out infinite;
  pointer-events: none;
}
.hero-logo {
  width: 100%;
  height: auto;
  position: relative;
  z-index: 2;
  filter: drop-shadow(0 18px 24px #0008) drop-shadow(0 0 10px #ffc44c35);
}
.orbit {
  position: absolute;
  width: 112%;
  aspect-ratio: 1;
  border: 1px solid #caa55918;
  border-radius: 50%;
  pointer-events: none;
}
.orbit-two { width: 136%; border-style: dashed; border-color: #caa55910; }
@keyframes npba-gold-glow {
  0%, 100% { opacity: .42; transform: scale(.9); }
  50% { opacity: .88; transform: scale(1.06); }
}
@keyframes npba-gold-rim {
  0%, 100% { opacity: .35; }
  50% { opacity: .85; }
}
@media (max-width: 650px) {
  .hero-inner { min-height: clamp(420px, 64svh, 560px); padding-block: 44px; }
  .hero-court { inset: -6% -50%; opacity: .06; }
  .hero-glow { filter: blur(16px); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-glow { opacity: .65; transform: none; }
  .hero-visual::after { opacity: .6; }
}

/* Cinematic banner: league mark centre stage, free-standing franchise players, no words. */
.hero-stage {
  position: relative;
  z-index: 1;
  width: min(1400px, 100%);
  margin-inline: auto;
  aspect-ratio: 1400 / 620;
  min-height: 420px;
  display: grid;
  place-items: center;
}
.hero-stage .hero-visual { width: min(31%, 470px); z-index: 10; }
.hero-rays {
  position: absolute;
  inset: -40% -10%;
  background: repeating-conic-gradient(from 0deg at 50% 50%, #ffcf6a12 0deg 4deg, transparent 4deg 15deg);
  -webkit-mask: radial-gradient(circle at 50% 50%, #000 0 8%, #0008 25%, transparent 55%);
  mask: radial-gradient(circle at 50% 50%, #000 0 8%, #0008 25%, transparent 55%);
  animation: npba-rays 90s linear infinite;
  pointer-events: none;
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(#0d0e10 0, transparent 9%, transparent 91%, #0d0e10 100%),
    radial-gradient(ellipse at 50% 55%, transparent 40%, #0d0e10cc 100%);
}
.hero-cast { position: absolute; inset: 0; pointer-events: none; }
.hero-stage::after {
  /* stage floor: a lit strip the players stand on */
  content: '';
  position: absolute;
  left: 2%; right: 2%; bottom: 4%;
  height: 12%;
  z-index: 0;
  background: radial-gradient(ellipse at 50% 50%, #f5b63233 0%, #f5b6320d 45%, transparent 70%);
  pointer-events: none;
}
.cast {
  position: absolute;
  margin: 0;
  bottom: 7%;
  left: var(--x);
  height: var(--h);
  z-index: var(--z);
  translate: -50% 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  animation: npba-cast-in 1.2s cubic-bezier(.2,.8,.2,1) var(--d) both;
}
.cast img {
  position: relative;
  z-index: 1;
  height: 100%;
  width: auto;
  max-width: none;
  filter:
    drop-shadow(0 0 1px color-mix(in srgb, var(--c) 90%, #fff))
    drop-shadow(0 0 14px color-mix(in srgb, var(--c) 55%, transparent))
    drop-shadow(0 18px 18px #000b)
    saturate(1.06) contrast(1.05);
  transition: transform .5s ease, filter .5s ease;
  transform-origin: 50% 100%;
}
.cast:hover img { transform: scale(1.03); }
.cast::before {
  /* floor glow + contact shadow in team colour */
  content: '';
  position: absolute;
  left: 50%; bottom: -3%;
  width: 120%; height: 9%;
  translate: -50% 0;
  border-radius: 50%;
  background: radial-gradient(ellipse at 50% 50%, #000d 0 30%, color-mix(in srgb, var(--c) 45%, transparent) 45%, transparent 70%);
  filter: blur(2px);
}
.cast-spot {
  /* soft spotlight cone from above */
  position: absolute;
  left: 50%; bottom: 0;
  width: 150%; height: 120%;
  translate: -50% 0;
  z-index: 0;
  background: radial-gradient(ellipse 50% 60% at 50% 70%, color-mix(in srgb, var(--c) 26%, transparent), transparent 70%);
  clip-path: polygon(38% 0, 62% 0, 100% 100%, 0 100%);
  opacity: .8;
  pointer-events: none;
}
.cast-left { --from: -70px; }
.cast-right { --from: 70px; }
@keyframes npba-cast-in {
  from { opacity: 0; transform: translateX(var(--from)) scale(.96); }
  to { opacity: 1; transform: none; }
}
@keyframes npba-rays { to { rotate: 360deg; } }
@media (max-width: 760px) {
  .hero-stage { aspect-ratio: auto; min-height: 0; display: flex; flex-direction: column; align-items: center; padding-block: 30px 18px; gap: 6px; }
  .hero-stage .hero-visual { width: min(58vw, 260px); order: -1; }
  .hero-stage::after { bottom: 6%; height: 14%; }
  .hero-cast { position: relative; inset: auto; display: flex; justify-content: center; align-items: flex-end; width: 100%; height: clamp(150px, 42vw, 230px); }
  .cast { position: relative; left: auto; bottom: auto; translate: none; height: calc(var(--h) * 1.1); margin-inline: -1.6%; }
  .cast-left { order: var(--z); }
  .cast-right { order: calc(20 - var(--z)); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-rays { animation: none; }
  .cast { animation: none; }
}

/* Standings board */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.standings-board{margin-inline:calc(50% - min(860px,50vw - 20px))}
.conf-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:720px;margin:0 auto 26px}
.conf-btn{--c:var(--gold);padding:15px 10px;font-family:var(--display);font-size:21px;letter-spacing:1.5px;text-transform:uppercase;background:transparent;border:2px solid color-mix(in srgb,var(--c) 55%,transparent);color:color-mix(in srgb,var(--c) 70%,#fff);border-radius:4px;transition:background .2s,color .2s,transform .15s}
.conf-btn:hover{background:color-mix(in srgb,var(--c) 14%,transparent)}
.conf-btn:active{transform:scale(.98)}
.conf-btn.west{--c:#e0303f}.conf-btn.east{--c:#2f6bed}
.conf-btn[aria-pressed=true]{background:var(--c);border-color:var(--c);color:#fff;box-shadow:0 0 30px color-mix(in srgb,var(--c) 45%,transparent)}
.conf-btn.all[aria-pressed=true]{color:var(--bg)}
.conf-view{--glow:#f5b632;position:relative;overflow:hidden;border-radius:10px;padding:34px 34px 38px;border:1px solid color-mix(in srgb,var(--glow) 35%,transparent);background:radial-gradient(ellipse 70% 45% at 50% 0%,color-mix(in srgb,var(--glow) 38%,transparent),transparent 70%),radial-gradient(ellipse 120% 80% at 50% 120%,color-mix(in srgb,var(--glow) 22%,transparent),transparent 70%),linear-gradient(180deg,color-mix(in srgb,var(--glow) 16%,#0b0c0e),#0b0c0e 85%);box-shadow:0 0 60px color-mix(in srgb,var(--glow) 22%,transparent),inset 0 0 80px color-mix(in srgb,var(--glow) 10%,transparent)}
.conf-west{--glow:#e0303f}.conf-east{--glow:#2f6bed}
.conf-title{text-align:center;margin-bottom:26px}
.conf-logo{width:clamp(130px,16vw,210px);height:auto;margin:0 auto;filter:drop-shadow(0 0 18px color-mix(in srgb,var(--glow) 85%,transparent)) drop-shadow(0 0 42px color-mix(in srgb,var(--glow) 55%,transparent))}
.conf-label{display:inline-block;background:var(--gold);color:var(--bg);font-weight:900;font-size:11px;letter-spacing:2px;padding:4px 12px}
.conf-title h2{font-family:var(--display);font-size:clamp(38px,6.5vw,78px);line-height:1;letter-spacing:1px;margin-top:10px}
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:0}
.tier{display:flex;flex-direction:column}
.tiers>.tier{padding-right:26px}
.tier-stack{padding-left:26px;border-left:2px solid color-mix(in srgb,var(--glow) 45%,transparent);display:flex;flex-direction:column;gap:26px}
.tier-head{margin-bottom:12px}
.tier-head h3{font-family:var(--display);font-size:34px;line-height:1;letter-spacing:1px;font-style:italic}
.tier-playoffs h3{color:var(--gold)}.tier-playin h3{color:var(--white)}.tier-lottery h3{color:#a3a8b0}
.tier-head small{display:block;color:#b6bac1;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;margin-top:4px}
.tier-cards,.all-grid{display:grid;gap:12px}
.all-grid{grid-template-columns:1fr 1fr}
.tier-empty{color:var(--muted);font-size:12px}
.seed-card{--team:#3a3f47;position:relative;display:flex;align-items:center;gap:14px;min-height:104px;padding:10px 20px 10px 12px;overflow:hidden;border-radius:6px;background:linear-gradient(105deg,var(--team) 0%,color-mix(in srgb,var(--team) 70%,#000) 100%);box-shadow:inset 0 1px 0 #ffffff26,0 6px 18px #0007}
.seed-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#ffffff14,transparent 45%);pointer-events:none}
.sc-logo{width:76px;height:76px;flex-shrink:0;display:grid;place-items:center}
.sc-logo img{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 3px 6px #0008)}
.sc-monogram{font-family:var(--display);font-size:26px;letter-spacing:1px;color:#fff;background:#0004;width:68px;height:68px;display:grid;place-items:center;border-radius:50%;border:2px solid #fff3}
.sc-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.sc-name strong{font-size:15px;font-weight:700;line-height:1.2;color:#fff;text-shadow:0 1px 3px #0009;overflow:hidden;text-overflow:ellipsis}
.sc-conf{align-self:flex-start;font-size:9px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;padding:2px 7px;color:#fff}
.sc-conf.west{background:#e0303f}.sc-conf.east{background:#2f6bed}
.sc-numbers{display:flex;flex-direction:column;align-items:flex-end;line-height:1;text-shadow:0 2px 4px #0009}
.sc-seed{font-family:var(--display);font-size:22px;color:#ffffffd9;min-width:2ch;text-align:right}
.sc-record{font-family:var(--display);font-size:46px;color:#fff;margin-top:2px;white-space:nowrap}
.seed-card.ghost{background:#0d0f12b3;border:1px dashed color-mix(in srgb,var(--glow,#3a3e45) 45%,#3a3e45);box-shadow:none}
.seed-card.ghost:after{display:none}
.seed-card.ghost .sc-logo img{opacity:.22;filter:grayscale(1)}
.seed-card.ghost .sc-seed{color:#6a7079;text-shadow:none}
@media(max-width:900px){.conf-view{padding:24px 18px 28px}.tiers{grid-template-columns:1fr;gap:26px}.tiers>.tier{padding:0}.tier-stack{padding:24px 0 0;border-left:0;border-top:2px solid color-mix(in srgb,var(--glow) 45%,transparent)}.all-grid{grid-template-columns:1fr}}
@media(max-width:650px){.standings-board{margin-inline:-8px}.conf-view{padding:22px 12px 24px}.conf-switch{gap:6px;margin-bottom:18px}.conf-btn{font-size:16px;padding:12px 4px;letter-spacing:1px}.seed-card{min-height:82px}.sc-logo,.sc-logo img{width:58px;height:58px}.sc-monogram{width:54px;height:54px;font-size:20px}.sc-record{font-size:36px}.tier-head h3{font-size:28px}}
@supports not (color:color-mix(in srgb,red 50%,blue)){.conf-btn.west{border-color:#e0303f;color:#ff8a94}.conf-btn.east{border-color:#2f6bed;color:#8fb0ff}.conf-btn.all{border-color:#8a6a24;color:var(--gold)}.seed-card{background:var(--team)}.conf-west{background:linear-gradient(180deg,#3a0d12,#0b0c0e 80%)}.conf-east{background:linear-gradient(180deg,#0e1d44,#0b0c0e 80%)}}
@media(min-width:901px){.tiers>.tier .tier-cards{flex:1;grid-auto-rows:1fr}.tiers>.tier .seed-card .sc-logo,.tiers>.tier .seed-card .sc-logo img{width:110px;height:110px}}
/* Solid black card edges; top-3 seeds larger with a faint white glow */
.seed-card,.seed-card.ghost{border:2px solid #000}
.tier-playoffs .seed-card{min-height:150px;box-shadow:0 0 0 1px #000,0 0 14px 2px #ffffff26,0 0 30px 4px #ffffff12}
.tier-playoffs .sc-logo,.tier-playoffs .sc-logo img{width:110px;height:110px}
.tier-playoffs .sc-monogram{width:100px;height:100px;font-size:36px}
.tier-playoffs .sc-name strong{font-size:19px}
.tier-playoffs .sc-seed{font-size:30px}
.tier-playoffs .sc-record{font-size:60px}
.tier-playoffs .tier-cards{gap:16px}
@media(max-width:650px){.tier-playoffs .seed-card{min-height:118px}.tier-playoffs .sc-logo,.tier-playoffs .sc-logo img{width:84px;height:84px}.tier-playoffs .sc-monogram{width:78px;height:78px;font-size:28px}.tier-playoffs .sc-record{font-size:46px}.tier-playoffs .sc-seed{font-size:24px}}

/* Animated glows: conference logo, panel and top-3 cards pulse dimmer every few seconds */
@keyframes logo-pulse{0%,100%{filter:drop-shadow(0 0 18px color-mix(in srgb,var(--glow) 90%,transparent)) drop-shadow(0 0 46px color-mix(in srgb,var(--glow) 60%,transparent))}50%{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--glow) 35%,transparent)) drop-shadow(0 0 14px color-mix(in srgb,var(--glow) 18%,transparent))}}
@keyframes panel-pulse{0%,100%{box-shadow:0 0 60px color-mix(in srgb,var(--glow) 26%,transparent),inset 0 0 80px color-mix(in srgb,var(--glow) 12%,transparent)}50%{box-shadow:0 0 22px color-mix(in srgb,var(--glow) 8%,transparent),inset 0 0 40px color-mix(in srgb,var(--glow) 4%,transparent)}}
@keyframes top3-pulse{0%,100%{box-shadow:0 0 0 1px #000,0 0 14px 2px #ffffff2e,0 0 30px 4px #ffffff14}50%{box-shadow:0 0 0 1px #000,0 0 6px 1px #ffffff0d,0 0 12px 2px #ffffff05}}
.conf-logo{animation:logo-pulse 3.5s ease-in-out infinite}
.conf-west,.conf-east{animation:panel-pulse 3.5s ease-in-out infinite}
.tier-playoffs .seed-card{animation:top3-pulse 3.5s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.conf-logo,.conf-west,.conf-east,.tier-playoffs .seed-card{animation:none}}
/* Header admin button */
.header-admin{display:flex;align-items:center;gap:8px;border:1px solid #33363d;font-size:11px;font-weight:600;padding:9px 13px;color:#c9ccd2;transition:background .2s,color .2s}
.header-admin:hover,.header-admin[aria-current]{color:var(--white);background:#ffffff0a}
.header-admin .icon{width:16px;height:16px;color:var(--gold)}
@media(max-width:900px){.header-admin{order:1;margin-left:auto;padding:9px}.header-admin span{display:none}.menu-toggle{order:2;margin-left:8px}}
/* Edit Standings button */
.conf-switch:has(.edit:not([hidden])){grid-template-columns:repeat(4,1fr);max-width:960px}
.conf-btn.edit{--c:#c9ccd2;display:flex;align-items:center;justify-content:center;gap:8px;border-style:dashed}
.conf-btn.edit .icon{width:18px;height:18px}
@media(max-width:650px){.conf-switch:has(.edit:not([hidden])){grid-template-columns:repeat(3,1fr)}.conf-btn.edit{grid-column:1/-1}}
/* Admin panel: black concrete with road cracks */
body.concrete{background:#0d0d0d url('/assets/concrete.svg') center/cover fixed}
.admin{padding:44px 0 120px;min-height:70vh}
.admin-head h1{font-family:var(--display);font-size:clamp(44px,7vw,84px);line-height:1;margin-top:6px}.admin-head h1 span{color:var(--gold)}
.admin-sub{color:#b9bcc2;margin:10px 0 28px}
.admin-card{background:#0a0a0ae6;border:2px solid #000;box-shadow:0 0 0 1px #2a2a2a,0 12px 40px #000a;padding:26px;border-radius:6px}
[data-signin]{max-width:520px}
.admin-card h2{display:flex;align-items:center;gap:10px;font-size:20px}.admin-card h2 .icon{color:var(--gold)}
.admin-card>p{color:#b9bcc2;margin:8px 0 18px}
.admin-field{display:block;margin-bottom:14px}.admin-field span{display:block;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#9a9ea6;margin-bottom:6px}
.admin-field input,.admin-input{width:100%;background:#000;border:1px solid #2f3136;color:var(--white);padding:10px 12px;border-radius:4px}
.admin-field input:focus,.admin-input:focus{border-color:var(--gold);outline:none}
.admin-btn{background:#1a1c20;border:1px solid #3a3d44;color:var(--white);padding:10px 18px;font-weight:700;font-size:13px;border-radius:4px}
.admin-btn:hover:not(:disabled){background:#24272c}
.admin-btn.primary{background:var(--gold);border-color:var(--gold);color:#000}
.admin-btn.primary:hover:not(:disabled){background:var(--gold-light)}
.admin-btn.ghost{background:transparent}
.admin-btn:disabled{opacity:.4;cursor:not-allowed}
.admin-msg{font-size:13px;color:#b9bcc2;margin-top:12px;min-height:1.4em}
.admin-msg[data-kind=error]{color:#ff7b86}.admin-msg[data-kind=ok]{color:#7ee2a0}.admin-msg[data-kind=warn]{color:var(--gold-light)}
.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.admin-switch{margin:0;max-width:520px;flex:1}.admin-switch .conf-btn{font-size:17px;padding:11px 8px}
.admin-actions{display:flex;gap:10px}
.admin-table-wrap{padding:6px;overflow-x:auto}
.admin-table{width:100%;border-collapse:collapse;min-width:820px}
.admin-table th{text-align:left;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#8d9199;padding:12px 8px;border-bottom:2px solid #000}
.admin-table td{padding:8px;border-bottom:1px solid #1c1d20;vertical-align:middle}
.admin-table tr.west td:first-child{box-shadow:inset 4px 0 0 #e0303f}.admin-table tr.east td:first-child{box-shadow:inset 4px 0 0 #2f6bed}
.admin-input.abbr{width:72px;text-transform:uppercase}.admin-input.num{width:76px}.admin-input.seed{width:84px}
.admin-input.wide{min-width:200px}
.admin-color{width:46px;height:38px;padding:2px;background:#000;border:1px solid #2f3136;border-radius:4px;cursor:pointer}
.admin-x{background:transparent;color:#8d9199;font-size:15px;padding:8px 10px;border-radius:4px}.admin-x:hover{color:#ff7b86;background:#ff7b8614}
.admin-empty{color:#9a9ea6;padding:26px 10px;text-align:center}
.admin-savebar{position:sticky;bottom:16px;margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#000;border:2px solid #000;box-shadow:0 0 0 1px #2f3136,0 10px 30px #000;padding:12px 16px;border-radius:6px;z-index:5}
.admin-savebar .admin-msg{margin:0}.admin-savebar div{display:flex;gap:10px}
.admin-steps{margin:0 0 18px;padding-left:20px;color:#b9bcc2;display:grid;gap:12px}.admin-steps li{padding-left:4px}.admin-steps .admin-btn{display:inline-block;margin-bottom:6px}.admin-steps small{display:block;font-size:13px}
.logo-cell{display:flex;align-items:center;gap:8px}
.admin-logo{width:46px;height:40px;display:grid;place-items:center;flex-shrink:0}.admin-logo img{max-width:46px;max-height:40px;object-fit:contain}
.admin-input.logo{width:170px}
.admin-table{min-width:1040px}
/* Big faded team logo in the middle third of each card */
.sc-mark{position:absolute;left:44%;width:30%;top:-18%;bottom:-18%;background:var(--logo) center/contain no-repeat;opacity:.5;pointer-events:none;filter:saturate(.9)}
.seed-card>.sc-logo,.seed-card>.sc-name,.seed-card>.sc-numbers{position:relative;z-index:1}
/* Animated two-color team names */
@keyframes name-flow{to{background-position:200% center}}
.sc-name strong{font-size:18px;font-weight:900;letter-spacing:.3px;background:linear-gradient(90deg,var(--p,#fff),var(--s,#ccc),var(--p,#fff));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 1px 0 #000) drop-shadow(0 0 1px #000) drop-shadow(0 2px 4px #000c);animation:name-flow 4s linear infinite}
.tier-playoffs .sc-name strong{font-size:23px}
@media(max-width:650px){.sc-name strong{font-size:15px}.tier-playoffs .sc-name strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.sc-name strong{animation:none}}
.admin-pair{display:flex;gap:6px}
.admin-table{min-width:1120px}
/* White flash sweeping left to right across team names */
.sc-name strong{position:relative;align-self:flex-start;max-width:100%}
.sc-name strong::after{content:attr(data-n);position:absolute;inset:0;white-space:inherit;background:linear-gradient(105deg,transparent 42%,#fff 50%,transparent 58%) no-repeat;background-size:250% 100%;background-position:150% 0;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:name-flash 3.5s ease-in-out infinite;pointer-events:none}
@keyframes name-flash{0%{background-position:150% 0}35%,100%{background-position:-50% 0}}
@media(prefers-reduced-motion:reduce){.sc-name strong::after{animation:none;display:none}}
/* Super Conference: one standings view; admin-only button row */
.conf-switch[hidden]{display:none}
.conf-switch{grid-template-columns:repeat(2,1fr);max-width:520px}
a.conf-btn{display:flex;align-items:center;justify-content:center;text-decoration:none}
.conf-btn.edit[aria-current=page]{background:var(--c);border-color:var(--c);color:var(--bg);border-style:solid}
@media(max-width:650px){.conf-switch:has(.edit:not([hidden])){grid-template-columns:repeat(2,1fr)}.conf-btn.edit{grid-column:auto}}
.conf-super .conf-logo{width:clamp(170px,22vw,280px)}
/* Media: insider-style posts (profile on the left, message above, picture below) */
.post-feed{display:grid;gap:22px;margin:0 0 38px}
.post{display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;padding:24px 28px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.post-side{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}
.post-avatar{width:112px;height:112px;border-radius:50%;object-fit:cover;border:3px solid #2c2f35;margin-bottom:8px}
.post-name{display:flex;align-items:center;gap:5px;font-size:16px;font-weight:700}
.post-verified{width:18px;height:18px;color:#1d9bf0;flex-shrink:0}
.post-handle,.post-side time{color:#8b939e;font-size:13px}
.post-main{min-width:0;max-width:760px}
.post-text{font:italic 500 21px/1.5 Barlow,League,Arial,sans-serif;color:#e4e6ea}
.post-text b{font-weight:800;color:#fff}
.post-image{width:100%;height:auto;margin-top:16px;border-radius:14px;border:1px solid #2c2f35;aspect-ratio:16/9;object-fit:cover}
@media(max-width:650px){.post{grid-template-columns:96px minmax(0,1fr);gap:14px;padding:16px 14px}.post-avatar{width:84px;height:84px}.post-name{font-size:14px}.post-handle,.post-side time{font-size:11px}.post-text{font-size:17px}}
/* Seed placement number to the left of each team card */
.seed-row{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:12px;min-height:0}
.seed-row>.seed-card{height:100%}
.seed-num{font-family:var(--display);font-size:44px;line-height:1;text-align:center;color:#fff;text-shadow:0 2px 0 #000,0 0 18px #0009;font-variant-numeric:tabular-nums}
.tier-playoffs .seed-num{font-size:58px;color:var(--gold);text-shadow:0 2px 0 #000,0 0 22px #f5b63255}
.tier-lottery .seed-num{color:#a3a8b0}
@media(max-width:650px){.seed-row{grid-template-columns:36px minmax(0,1fr);gap:8px}.seed-num{font-size:30px}.tier-playoffs .seed-num{font-size:38px}}
/* Boxed seed numbers: gold glow for playoff spots, faint white glow for the rest */
.seed-num{display:grid;place-items:center;align-self:center;width:52px;height:52px;border:2px solid #ffffffcc;border-radius:8px;background:linear-gradient(160deg,#ffffff14,#00000066);box-shadow:0 0 0 1px #000,0 0 10px 1px #ffffff40,inset 0 0 10px #ffffff1a;font-size:34px;padding-top:3px}
.tier-playoffs .seed-num{width:58px;height:58px;font-size:40px;border-color:var(--gold);background:linear-gradient(160deg,#f5b63226,#00000066);box-shadow:0 0 0 1px #000,0 0 16px 2px #f5b63280,0 0 32px 4px #f5b63233,inset 0 0 12px #f5b63230}
.tier-lottery .seed-num{border-color:#ffffffa6}
@media(max-width:650px){.seed-num{width:34px;height:34px;font-size:22px;border-radius:6px}.tier-playoffs .seed-num{width:36px;height:36px;font-size:24px}}
/* Standings: expandable team drawer (roster + latest media) */
.seed-row{grid-template-rows:auto auto;row-gap:0}
.seed-row>.seed-card{cursor:pointer;transition:transform .15s,filter .15s}
.seed-row>.seed-card:hover{transform:translateY(-2px);filter:brightness(1.08)}
.seed-row>.seed-card:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.seed-row>.seed-card::before{content:'ROSTER ▾';position:absolute;right:20px;bottom:8px;z-index:2;font:700 10px/1 League,sans-serif;letter-spacing:1.5px;color:#fff;opacity:0;transition:opacity .15s;text-shadow:0 1px 3px #000}
.seed-row>.seed-card:hover::before,.seed-row>.seed-card:focus-visible::before{opacity:.85}
.seed-row>.seed-card[aria-expanded=true]::before{content:'CLOSE ▴';opacity:.85}
.seed-row.open .seed-num{align-self:start;margin-top:22px}
.tier-cards:has(.seed-row.open){grid-auto-rows:auto!important}
.team-drawer{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:-4px;padding:18px 18px 16px;background:#0b0c0ef0;border:2px solid #000;border-top:0;border-radius:0 0 8px 8px;box-shadow:0 10px 24px #000a;animation:drawer-in .18s ease-out}
.team-drawer[hidden]{display:none}
@keyframes drawer-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.drawer-col h4{font:700 15px/1 var(--display);letter-spacing:1.5px;color:var(--gold);margin:0 0 10px;display:flex;gap:8px;align-items:baseline}
.drawer-col h4 small{font:600 10px League,sans-serif;color:#8b939e;letter-spacing:1px}
.drawer-roster{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:260px;overflow:auto}
.drawer-roster li{display:grid;grid-template-columns:42px 1fr auto;gap:8px;align-items:center;padding:6px 8px;background:#ffffff08;border-radius:4px;font-size:14px}
.dr-num{color:var(--gold);font-weight:700}.dr-pos{color:#8b939e;font-size:12px;font-weight:600}
.drawer-empty{color:#8b939e;font-size:13px}
.drawer-news{display:flex;gap:10px;padding:10px;background:#ffffff08;border:1px solid #2a2d33;border-radius:8px;transition:border-color .15s}
.drawer-news:hover{border-color:var(--gold)}
.drawer-news img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}
.drawer-news b{font-size:14px}.drawer-news small{color:#8b939e}
.dn-text{display:block;margin-top:4px;font:italic 500 14px/1.45 Barlow,League,sans-serif;color:#d6d9de}
@media(max-width:650px){.team-drawer{grid-template-columns:1fr;padding:14px 12px}}
/* Players page */
.player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.player-card{--team:#2a2d33;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;border:2px solid #000;background:linear-gradient(105deg,color-mix(in srgb,var(--team) 55%,#0b0c0e),#121417 85%);box-shadow:0 4px 14px #0006}
.player-card>img{width:44px;height:44px;object-fit:contain;flex-shrink:0}
.pc-fa{width:44px;height:44px;display:grid;place-items:center;border:2px dashed #6b7280;border-radius:50%;font:700 14px var(--display);color:#c9ccd2;flex-shrink:0}
.player-card.free-agent{background:#121417;border-color:#2a2d33}
.pc-main{min-width:0;flex:1;display:flex;flex-direction:column}
.pc-main strong{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-main span{font-size:12px;color:#a2a8b2}
.player-card.free-agent .pc-main span{color:var(--gold)}
.pc-meta{display:flex;flex-direction:column;align-items:flex-end;font-size:12px;color:#a2a8b2}
.pc-meta b{font:700 22px/1 var(--display);color:#fff}
/* Admin: Teams / Players sections */
.admin-sections{display:flex;gap:8px;margin-bottom:14px}
.admin-tab{background:#111;border:1px solid #33363d;color:#c9ccd2;padding:10px 18px;border-radius:4px;font-weight:700;font-size:14px;letter-spacing:.5px}
.admin-tab[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#111}
.admin-players-bar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap}
.admin-search{flex:1;max-width:360px;margin:0}
.admin-table.players{min-width:760px}
.admin-input.team{min-width:200px}
.pill{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.8px;padding:4px 9px;border-radius:999px;text-transform:uppercase}
.pill.signed{background:#14532d;color:#86efac}.pill.fa{background:#3f2a06;color:var(--gold)}
.former{display:block;color:#8b939e;font-size:11px;margin-top:3px}
/* Community panel: buttons only, no wording */
.community-panel{grid-template-columns:1fr;padding:24px 28px}
.community-links{max-width:640px;margin-inline:auto;width:100%}
/* Standings: player spotlight in the empty space left of the board */
.standings-board{position:relative}
/* wide screens: spotlight column on the left of the board; smaller screens: compact card above it */
@media(min-width:1400px){
.standings-board{display:grid;grid-template-columns:clamp(300px,calc(60vw - 600px),820px) minmax(0,1fr);column-gap:28px;align-items:start;margin-inline:calc(50% - min(1400px,50vw - 20px))}
.standings-board>*{grid-column:2}
.standings-board>.spotlight-rail{grid-column:1;grid-row:1 / span 3;align-self:stretch}
}
@media(max-width:1399px){
.spotlight-rail{margin-bottom:22px}
.spotlight{display:grid;grid-template-columns:200px 1fr;align-items:center;max-width:760px;margin-inline:auto;position:relative;top:auto}
.spotlight[hidden]{display:none}
.spotlight .spot-stage{height:270px}.spotlight .spot-player{height:auto;max-height:255px;max-width:92%}
.spotlight .spot-badge{font-size:26px;bottom:10px;padding:4px 10px;letter-spacing:2px}
.spotlight-rail .spotlight figcaption{text-align:left}.spotlight .spot-kicker{justify-content:flex-start}.spotlight .spot-dnp{justify-content:flex-start}
}
@media(max-width:560px){.spotlight{grid-template-columns:120px 1fr}.spotlight .spot-stage{height:210px}.spotlight .spot-player{max-height:195px}.spot-name{font-size:28px}.spot-stats dd{font-size:20px}.spot-stats{grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:4px}.spot-stats dt{font-size:9px;letter-spacing:.5px}.spotlight .spot-badge{font-size:16px;letter-spacing:1px;padding:3px 7px;border-width:2px}.spotlight figcaption{padding:12px 10px}.spot-tag{font-size:12px}.spot-dnp span{font-size:14px}.spot-dnp img{width:34px;height:34px}}
.spotlight{margin:0;position:sticky;top:110px;border-radius:14px;overflow:hidden;border:2px solid #000;box-shadow:0 0 0 1px #2a2d33,0 18px 40px #000b;background:radial-gradient(ellipse 90% 60% at 50% 35%,color-mix(in srgb,var(--team) 70%,transparent),transparent 75%),linear-gradient(180deg,color-mix(in srgb,var(--team) 45%,#0b0c0e),#0b0c0e 80%)}
.spot-stage{position:relative;height:430px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.spot-player{position:relative;z-index:2;height:410px;width:auto;filter:drop-shadow(0 12px 18px #000c)}
.spotlight figcaption{padding:16px 18px 18px;text-align:center;position:relative;z-index:3}
.spot-kicker{display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;letter-spacing:2px;font-weight:700;color:#b9bcc2}
.spot-kicker img{width:28px;height:28px;object-fit:contain}
.spot-name{display:block;font:700 40px/1 var(--display);letter-spacing:1px;margin-top:6px}
.spot-tag{display:inline-block;margin-top:8px;font:700 15px/1 var(--display);letter-spacing:2px;padding:6px 12px;border-radius:999px;background:#ffffff14}
.spot-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:6px;margin:14px 0 0}
.spot-stats div{text-align:center;background:#00000066;border:1px solid #ffffff1a;border-radius:8px;padding:8px 4px}
.spot-stats dt{font-size:10px;letter-spacing:1.5px;color:#a2a8b2;font-weight:700}
.spot-stats dd{margin:2px 0 0;font:700 28px/1 var(--display)}
/* look: on fire */
.look-fire{background:radial-gradient(ellipse 80% 55% at 50% 70%,#ff6a0080,transparent 70%),linear-gradient(180deg,#3b1206,#0b0c0e 85%);box-shadow:0 0 0 1px #2a2d33,0 0 40px #ff6a0040,0 18px 40px #000b}
.look-fire .spot-tag{background:linear-gradient(90deg,#ff3d00,#ffb300);color:#1a0900}
.look-fire .spot-stats dd{color:#ffd27a;text-shadow:0 0 12px #ff6a0099}
.look-fire .spot-player{filter:drop-shadow(0 0 18px #ff7a00cc) drop-shadow(0 12px 18px #000c)}
.spot-flames{position:absolute;inset:auto 0 0 0;height:75%;z-index:1;display:flex;justify-content:center;gap:0;pointer-events:none}
.spot-flames i{width:34%;margin:0 -9%;border-radius:50% 50% 30% 30%/70% 70% 30% 30%;background:radial-gradient(ellipse at 50% 85%,#fff3b0 0%,#ffb300 22%,#ff5a00 48%,#ff2a00aa 62%,transparent 75%);filter:blur(6px);transform-origin:50% 100%;animation:flame 1.1s ease-in-out infinite alternate;opacity:.9}
.spot-flames i:nth-child(2){animation-delay:-.3s;height:85%;align-self:flex-end}.spot-flames i:nth-child(3){animation-delay:-.6s}.spot-flames i:nth-child(4){animation-delay:-.15s;height:80%;align-self:flex-end}.spot-flames i:nth-child(5){animation-delay:-.45s;height:70%;align-self:flex-end}
@keyframes flame{0%{transform:scale(1,1) skewX(-3deg)}50%{transform:scale(1.08,1.15) skewX(3deg)}100%{transform:scale(.95,1.05) skewX(-2deg)}}
.spot-emoji{position:absolute;inset:0;z-index:3;pointer-events:none}
.spot-emoji i{position:absolute;font-style:normal;font-size:34px;animation:float-up 2.6s ease-in infinite;opacity:0}
.spot-emoji i:nth-child(1){left:12%;bottom:30%}.spot-emoji i:nth-child(2){right:12%;bottom:45%;animation-delay:.9s}.spot-emoji i:nth-child(3){left:20%;bottom:62%;animation-delay:1.7s;font-size:26px}
@keyframes float-up{0%{transform:translateY(20px) scale(.8);opacity:0}20%{opacity:1}100%{transform:translateY(-70px) scale(1.1);opacity:0}}
/* look: stinker */
.look-stinker{background:radial-gradient(ellipse 80% 50% at 50% 90%,#ff1a1a45,transparent 70%),linear-gradient(180deg,#1d1f1a,#0b0c0e 85%)}
.look-stinker .spot-player{filter:saturate(.35) brightness(.8) drop-shadow(0 12px 18px #000c);transform:rotate(-7deg) translateY(8px);transform-origin:50% 100%}
.look-stinker .spot-tag{background:#3a3d2a;color:#c8d18a}
.look-stinker .spot-stats dd{color:#ff6b6b}
.spot-emoji.stink i{font-size:30px;animation-duration:3.2s}
/* look: did not play */
.look-dnp{background:radial-gradient(ellipse 90% 60% at 50% 35%,color-mix(in srgb,var(--opp) 85%,transparent),transparent 75%),linear-gradient(180deg,color-mix(in srgb,var(--opp) 60%,#0b0c0e),#0b0c0e 85%)}
.spot-opp-mark{position:absolute;z-index:0;top:8%;left:50%;width:85%;transform:translateX(-50%);opacity:.32;filter:drop-shadow(0 0 30px color-mix(in srgb,var(--opp2) 50%,transparent))}
.look-dnp .spot-player{filter:grayscale(1) brightness(.55) contrast(1.1) drop-shadow(0 12px 18px #000c);opacity:.75}
.look-dnp .spot-tag{background:var(--opp2);color:#1a1205}
.spot-dnp{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;padding:10px;border-radius:10px;background:color-mix(in srgb,var(--opp) 70%,#000);border:1px solid color-mix(in srgb,var(--opp2) 60%,transparent)}
.spot-dnp img{width:48px;height:48px;object-fit:contain}
.spot-dnp span{font:700 18px/1.15 var(--display);letter-spacing:1px;text-align:left}.spot-dnp small{font-size:12px;color:#d6c9b0}.spot-dnp b{color:var(--opp2)}
/* red glow badges */
.spot-badge{position:absolute;z-index:4;left:50%;bottom:14px;transform:translateX(-50%) rotate(-4deg);font:700 46px/1 var(--display);letter-spacing:3px;color:#fff;padding:6px 18px;border:3px solid #ff2a2a;border-radius:8px;background:#2a0505d9;text-shadow:0 0 10px #ff2a2a,0 0 22px #ff2a2a;box-shadow:0 0 18px #ff2a2acc,0 0 40px #ff2a2a66,inset 0 0 14px #ff2a2a66;animation:badge-glow 1.8s ease-in-out infinite;white-space:nowrap}
@keyframes badge-glow{0%,100%{box-shadow:0 0 18px #ff2a2acc,0 0 40px #ff2a2a66,inset 0 0 14px #ff2a2a66}50%{box-shadow:0 0 8px #ff2a2a88,0 0 18px #ff2a2a33,inset 0 0 8px #ff2a2a44}}
@media(prefers-reduced-motion:reduce){.spot-flames i,.spot-emoji i,.spot-badge{animation:none}.spot-emoji{display:none}}
/* Spotlight v2: bigger, scales with its column; team logo by the name; opponent + date line */
.spotlight-rail{container-type:inline-size}
@media(min-width:1400px){
.spotlight-rail .spot-stage{height:min(105cqw,calc(100vh - 560px))}
.spotlight-rail .spot-player{height:94%;width:auto;max-width:96%;object-fit:contain}
.spotlight-rail .spot-name{font-size:clamp(40px,13cqw,120px)}
.spotlight-rail .spot-who img{width:clamp(44px,13cqw,120px);height:clamp(44px,13cqw,120px)}
.spotlight-rail .spot-kicker{font-size:clamp(10px,2.2cqw,18px)}
.spotlight-rail .spot-vs{font-size:clamp(14px,3.6cqw,30px)}
.spotlight-rail .spot-vs img{width:clamp(30px,8cqw,72px);height:clamp(30px,8cqw,72px)}
.spotlight-rail .spot-stats dd{font-size:clamp(28px,8.5cqw,76px)}
.spotlight-rail .spot-stats dt{font-size:clamp(10px,2cqw,16px)}
.spotlight-rail .spot-stats{gap:clamp(6px,1.4cqw,14px)}
.spotlight-rail .spot-badge{font-size:clamp(40px,11cqw,110px);border-width:clamp(3px,.8cqw,6px)}
.spotlight-rail .spot-emoji i{font-size:clamp(34px,8cqw,80px)}
.spotlight-rail .spotlight figcaption{padding:clamp(16px,3cqw,30px)}
}
.spot-who{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:6px}
.spot-who img{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 4px 8px #000a)}
.spot-who .spot-name{margin:0}
.spot-vs{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 10px;margin-top:10px;font:700 15px/1.1 var(--display);letter-spacing:1px}
.spot-vs img{width:30px;height:30px;object-fit:contain}
.spot-vs-word{color:#a2a8b2;font-size:.8em;text-transform:uppercase}
.spot-vs time{flex-basis:100%;text-align:center;font:600 .62em/1 League,sans-serif;letter-spacing:2px;color:#a2a8b2;text-transform:uppercase}
.spot-vs.dnp .spot-vs-team{color:var(--opp2)}
.spot-dnp-tag{background:#ff2a2a;color:#fff;padding:3px 8px;border-radius:4px;font-size:.8em;letter-spacing:1.5px}
@media(max-width:1399px){.spotlight-rail .spot-who,.spotlight-rail .spot-vs{justify-content:flex-start}.spotlight-rail .spot-vs time{text-align:left}}
/* Roster drawer v2: 15 slots, roles, team-color outline */
.team-drawer{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);border:3px solid var(--team);border-top:0;box-shadow:0 0 0 1px #000,0 0 22px color-mix(in srgb,var(--team) 45%,transparent),0 14px 30px #000b;background:linear-gradient(180deg,color-mix(in srgb,var(--team) 18%,#0b0c0e),#0b0c0e 60%);padding:18px 20px 20px}
.drawer-roster{max-height:none;overflow:visible;gap:5px;counter-reset:none}
.drawer-roster li{grid-template-columns:28px 46px minmax(0,1fr) auto;min-height:38px;padding:6px 10px;border-left:3px solid transparent}
.drawer-roster li.staff{border-left-color:var(--gold);background:#f5b6320f}
.drawer-roster li.starter{border-left-color:#22c55e}
.drawer-roster li.bench{border-left-color:#6b7280}
.drawer-roster li.open{background:transparent;border:1px dashed #2f3238;color:#5d636c}
.dr-slot{font:700 13px/1 var(--display);color:#6b7280;text-align:center}
.dr-name{display:flex;align-items:baseline;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dr-name small{color:#8b939e;font-size:11px;font-weight:700}
.dr-roles{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.role{display:inline-block;font:700 10px/1 League,sans-serif;letter-spacing:.8px;text-transform:uppercase;padding:4px 7px;border-radius:4px;white-space:nowrap}
.role.owner{background:var(--gold);color:#1a1205}
.role.coach{background:#2563eb;color:#fff}
.role.starter{background:#15803d;color:#dcfce7}
.role.bench{background:#374151;color:#d1d5db}
.pc-roles{display:flex;gap:4px;flex-wrap:wrap;margin:3px 0}
.role-cell{display:flex;align-items:center;gap:10px;white-space:nowrap}
.role-chk{display:flex;align-items:center;gap:4px;font-size:12px;color:#c9ccd2}
.admin-input.lineup{width:100px}
.admin-table.players{min-width:980px}
@media(max-width:650px){.team-drawer{grid-template-columns:1fr}.drawer-roster li{grid-template-columns:22px 36px minmax(0,1fr) auto;padding:5px 6px}}
.team-drawer{grid-template-columns:1fr;row-gap:16px}
.drawer-roster li{grid-template-columns:26px 44px minmax(90px,1fr) auto}
.dr-roles{flex-direction:row;flex-wrap:wrap;justify-content:flex-end}
.drawer-roster li.staff .dr-roles{flex-direction:column;align-items:flex-end}
@media(max-width:650px){.drawer-roster li{grid-template-columns:22px 36px minmax(0,1fr);row-gap:4px}.dr-roles{grid-column:3;justify-content:flex-start;flex-direction:row!important;align-items:flex-start!important}.dr-roles:empty{display:none}.role{font-size:9px;padding:3px 5px}}

/* Roster drawer v3: Impact font, headshots, solid team-color boxes, stats */
@font-face{font-family:ImpactClub;src:url('/fonts/impact-club.ttf') format('truetype');font-display:swap}
.team-drawer h4,.team-drawer .drawer-roster{font-family:ImpactClub,Impact,'Arial Narrow',sans-serif;font-weight:400}
.team-drawer h4{font:400 20px/1 ImpactClub,Impact,sans-serif;letter-spacing:1px}
.team-drawer h4 small{font:400 13px ImpactClub,Impact,sans-serif;color:#aab0b8}
.drawer-roster{gap:6px}
.drawer-roster li,.drawer-roster li.filled{grid-template-columns:28px 46px minmax(0,1fr) auto auto;gap:12px;min-height:58px;padding:6px 12px;border:2px solid var(--team);border-radius:6px;background:linear-gradient(90deg,color-mix(in srgb,var(--team) 22%,#0d0e11),#0d0e11 70%);font-size:16px}
.drawer-roster li.staff,.drawer-roster li.starter,.drawer-roster li.bench{border-left:2px solid var(--team)}
.drawer-roster li.open{border:2px solid color-mix(in srgb,var(--team) 45%,#1c1e22);background:#0d0e11;color:#5d636c;min-height:44px}
.dr-slot{font:400 18px/1 ImpactClub,Impact,sans-serif;color:color-mix(in srgb,var(--team) 50%,#9aa1aa)}
.dr-head{width:46px;height:46px;border-radius:50%;overflow:hidden;background:#1a1c20;border:2px solid var(--team);display:grid;place-items:center;flex-shrink:0}
.drawer-roster li.open .dr-head{width:32px;height:32px;border:2px solid color-mix(in srgb,var(--team) 35%,#1c1e22);background:transparent;justify-self:center}
.dr-head img{width:100%;height:100%;object-fit:cover;object-position:top}
.dr-head i{font:400 17px ImpactClub,Impact,sans-serif;color:#cfd3d9;font-style:normal}
.dr-id{display:flex;flex-direction:column;gap:3px;min-width:0}
.dr-name{display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap}
.dr-logo{width:24px;height:24px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 1px 2px #000)}
.dr-pname{font-size:21px;line-height:1.05;letter-spacing:.5px;overflow:hidden;text-overflow:ellipsis;background:linear-gradient(90deg,var(--p1),var(--p2));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 1px #000)}
.dr-name em{font-style:normal;color:#9aa1aa;font-size:15px}
.drawer-roster li.open .dr-name{font-size:16px;color:#5d636c;letter-spacing:.5px}
.dr-pos{font-size:13px;letter-spacing:1px;color:#c3c8cf;text-transform:uppercase}
.dr-stats{display:flex;gap:6px}
.dr-stat{display:flex;flex-direction:column;align-items:center;min-width:46px;padding:5px 6px;border:1px solid color-mix(in srgb,var(--team) 60%,#2a2d33);border-radius:5px;background:#0009}
.dr-stat b{font-size:20px;line-height:1;color:#fff;font-weight:400}
.dr-stat small{font-size:10px;letter-spacing:1px;color:#9aa1aa;margin-top:2px}
.dr-stat:first-child b{color:var(--gold)}
.team-drawer .role{font:400 12px/1 ImpactClub,Impact,sans-serif;letter-spacing:1px;padding:4px 7px}
@media(max-width:650px){
 .drawer-roster li,.drawer-roster li.filled{grid-template-columns:22px 40px minmax(0,1fr);row-gap:6px;padding:6px 8px}
 .dr-head{width:40px;height:40px}
 .dr-stats{grid-column:2/4;gap:4px}.dr-stat{min-width:0;flex:1;padding:4px}
 .dr-roles{grid-column:2/4!important}
 .dr-pname{font-size:18px}
}
.admin-input.pos{width:96px;text-transform:uppercase}.admin-input.num.wide-num{width:88px}
.shot-cell{display:inline-block;cursor:pointer}
.admin-shot{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;overflow:hidden;border:2px dashed #4b5058;color:#8b939e;font-size:20px;transition:border-color .15s}
.admin-shot img{width:100%;height:100%;object-fit:cover}
.shot-cell:hover .admin-shot{border-color:var(--gold)}
.team-drawer{container-type:inline-size}
@container (max-width:620px){
 .drawer-roster li.filled{grid-template-columns:22px 42px minmax(0,1fr);row-gap:7px;padding:8px 10px}
 .drawer-roster li.open{grid-template-columns:22px 42px minmax(0,1fr)}
 .drawer-roster li.filled .dr-head{width:42px;height:42px}
 .drawer-roster li.filled .dr-stats{grid-column:2/4;gap:5px}
 .drawer-roster li.filled .dr-stat{flex:1;min-width:0}
 .drawer-roster li.filled .dr-roles{grid-column:2/4;flex-direction:row!important;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start!important}
 .drawer-roster li.filled .dr-roles:empty{display:none}
 .dr-pname{font-size:19px}
}
@container (min-width:440px) and (max-width:620px){
 .drawer-roster li.filled{grid-template-columns:22px 42px minmax(0,1fr) auto}
 .drawer-roster li.filled .dr-stats{grid-column:4;grid-row:1;gap:4px}
 .drawer-roster li.filled .dr-stat{flex:none;min-width:42px;padding:4px 5px}
 .drawer-roster li.filled .dr-stat b{font-size:17px}
 .drawer-roster li.filled .dr-roles{grid-column:3/5}
}
.dr-name{flex-wrap:wrap;row-gap:2px;white-space:normal}
.dr-pname{white-space:normal;overflow:visible;overflow-wrap:anywhere;min-width:0}
@container (max-width:440px){.dr-pname{font-size:17px}.dr-name em{font-size:13px}}
.dr-name{flex-wrap:nowrap}.dr-pos em{font-style:normal;color:var(--gold);margin-right:8px}

/* Roster row hover zoom: grows to ~3x so everything is easy to read */
.drawer-roster li.filled{transition:min-height .2s ease,padding .2s ease,box-shadow .2s ease,background .2s ease;cursor:zoom-in;outline:none}
.drawer-roster li.filled :is(.dr-head,.dr-logo,.dr-pname,.dr-pos,.dr-stat,.dr-stat b,.dr-stat small,.role,.dr-slot){transition:all .2s ease}
.drawer-roster li.filled:is(:hover,:focus-visible){min-height:174px;padding:16px 20px;column-gap:20px;position:relative;z-index:2;background:linear-gradient(90deg,color-mix(in srgb,var(--team) 38%,#0d0e11),#0d0e11 80%);box-shadow:0 0 0 1px var(--team),0 0 30px color-mix(in srgb,var(--team) 60%,transparent),0 12px 30px #000c;cursor:default;grid-template-columns:40px 138px minmax(0,1fr) auto}
.drawer-roster li.filled:is(:hover,:focus-visible) .dr-slot{font-size:30px}
.drawer-roster li.filled:is(:hover,:focus-visible) .dr-head{width:138px;height:138px;border-width:4px;box-shadow:0 0 20px color-mix(in srgb,var(--team) 70%,transparent)}
.drawer-roster li.filled:is(:hover,:focus-visible) .dr-head i{font-size:46px}
.drawer-roster li.filled:is(:hover,:focus-visible) .dr-logo{width:52px;height:52px}
.drawer-roster li.filled:is(:hover,:focus-visible) .dr-pname{font-size:46px}
.drawer-roster li.filled:is(:hover,:focus-visible) .dr-pos{font-size:22px}
.drawer-roster li.filled:is(:hover,:focus-visible) .dr-id{gap:8px}
.drawer-roster li.filled:is(:hover,:focus-visible) .dr-stats{grid-column:3/5;grid-row:2;gap:10px}
.drawer-roster li.filled:is(:hover,:focus-visible) .dr-stat{flex:1;min-width:90px;padding:10px}
.drawer-roster li.filled:is(:hover,:focus-visible) .dr-stat b{font-size:40px}
.drawer-roster li.filled:is(:hover,:focus-visible) .dr-stat small{font-size:15px}
.drawer-roster li.filled:is(:hover,:focus-visible) .dr-roles{grid-column:4;grid-row:1;flex-direction:column!important;align-items:flex-end!important;gap:6px}
.drawer-roster li.filled:is(:hover,:focus-visible) .role{font-size:17px;padding:6px 10px}
.drawer-roster li.filled:is(:hover,:focus-visible) .dr-head{grid-row:1/3}
.drawer-roster li.filled:is(:hover,:focus-visible) .dr-slot{grid-row:1/3}
@container (max-width:620px){
 .drawer-roster li.filled:is(:hover,:focus-visible){grid-template-columns:26px 96px minmax(0,1fr);padding:12px;column-gap:12px}
 .drawer-roster li.filled:is(:hover,:focus-visible) .dr-head{width:96px;height:96px;grid-row:1}
 .drawer-roster li.filled:is(:hover,:focus-visible) .dr-slot{grid-row:1;font-size:22px}
 .drawer-roster li.filled:is(:hover,:focus-visible) .dr-pname{font-size:30px}
 .drawer-roster li.filled:is(:hover,:focus-visible) .dr-logo{width:36px;height:36px}
 .drawer-roster li.filled:is(:hover,:focus-visible) .dr-pos{font-size:17px}
 .drawer-roster li.filled:is(:hover,:focus-visible) .dr-stats{grid-column:1/4;grid-row:2}
 .drawer-roster li.filled:is(:hover,:focus-visible) .dr-stat{min-width:0}
 .drawer-roster li.filled:is(:hover,:focus-visible) .dr-stat b{font-size:32px}
 .drawer-roster li.filled:is(:hover,:focus-visible) .dr-roles{grid-column:1/4;grid-row:3;flex-direction:row!important;justify-content:flex-start}
 .drawer-roster li.filled:is(:hover,:focus-visible) .role{font-size:14px}
}

/* Black outline on the Impact text inside roster dropdowns */
.team-drawer h4,.team-drawer h4 small,.drawer-roster li.filled :is(.dr-slot,.dr-pname,.dr-pos,.dr-pos em,.dr-stat b,.dr-stat small,.dr-head i){-webkit-text-stroke:3px #000;paint-order:stroke fill;text-shadow:0 2px 2px #000a}
.drawer-roster li.filled :is(.dr-pos,.dr-stat small,.dr-slot),.team-drawer h4 small{-webkit-text-stroke-width:2.5px}
.drawer-roster li.filled .dr-id .dr-name .dr-pname{-webkit-text-stroke:0;text-shadow:none;filter:drop-shadow(1px 0 0 #000) drop-shadow(-1px 0 0 #000) drop-shadow(0 1px 0 #000) drop-shadow(0 -1px 0 #000) drop-shadow(0 2px 2px #000a)}
.team-drawer .role{-webkit-text-stroke:2px #0008;paint-order:stroke fill}
.drawer-roster li.filled:is(:hover,:focus-visible) .dr-id .dr-name .dr-pname{filter:drop-shadow(2px 0 0 #000) drop-shadow(-2px 0 0 #000) drop-shadow(0 2px 0 #000) drop-shadow(0 -2px 0 #000) drop-shadow(0 3px 3px #000a)}
.drawer-roster li.filled:is(:hover,:focus-visible) :is(.dr-stat b){-webkit-text-stroke-width:5px}
.team-drawer .role.owner{-webkit-text-stroke:0}

/* Positions: white, bigger, heavier outline, team-color glow */
.drawer-roster li.filled .dr-id .dr-pos{font-size:15px;color:#fff;-webkit-text-stroke:3.5px #000;paint-order:stroke fill;text-shadow:0 0 6px var(--team),0 0 12px color-mix(in srgb,var(--team) 70%,transparent)}
.drawer-roster li.filled .dr-id .dr-pos em{text-shadow:none}
.drawer-roster li.filled:is(:hover,:focus-visible) .dr-id .dr-pos{font-size:26px;-webkit-text-stroke-width:5px;text-shadow:0 0 10px var(--team),0 0 20px color-mix(in srgb,var(--team) 70%,transparent)}
@container (max-width:620px){.drawer-roster li.filled:is(:hover,:focus-visible) .dr-id .dr-pos{font-size:20px}}

/* Positions use the Imperator font */
@font-face{font-family:Imperator;src:url('/fonts/imperator-bold.ttf') format('truetype');font-weight:400 900;font-display:swap}
.drawer-roster li.filled .dr-posn{font-family:Imperator,ImpactClub,serif;font-weight:700;letter-spacing:1.5px}
.drawer-roster li.filled .dr-pos em{font-family:Imperator,ImpactClub,serif;font-weight:700;letter-spacing:1px}
