@font-face{font-family:Def;src:url('assets/font0.woff2')}*{box-sizing:border-box}body{margin:0;height:100dvh;overflow:hidden;color:#f3f3ed;background:#080e17;font-family:Arial,Helvetica,sans-serif;display:grid;grid-template-rows:7.5vh 15vh 1fr 9vh;background-image:radial-gradient(ellipse at 0 40%,#64233135,transparent 40%),radial-gradient(ellipse at 100% 40%,#12467740,transparent 40%)}button,input,select{font:inherit}button{border:1px solid #ffffff25;color:#e4e7ef;background:#111e2c;padding:10px 14px;border-radius:5px;font-size:11px;font-weight:900;letter-spacing:.7px;cursor:pointer}button:hover{background:#253649;border-color:#fff9}button:focus-visible{outline:3px solid #fff;outline-offset:2px}button:disabled{opacity:.35;cursor:default}.primary{background:#e9424e;color:#fff;border:0;padding:14px 22px}.primary:hover{background:#fa6068}[hidden]{display:none!important}header{display:flex;align-items:center;gap:10px;padding:8px 2vw;border-bottom:1px solid #ffffff14}.brand{display:flex;align-items:center;gap:10px;letter-spacing:3px;font-weight:900;font-size:18px}.brand img{height:42px;width:42px;object-fit:contain}.brand small{display:block;font-size:9px;letter-spacing:4px;color:#8b9bad;margin-top:3px}.connection{margin-left:auto;display:flex;align-items:center;gap:7px;color:#869bb1;font-size:10px;letter-spacing:1px;margin-right:15px}.connection i{width:6px;height:6px;background:#8a8a8a;border-radius:50%}.connection i.live{background:#77e0b0;box-shadow:0 0 12px #77e0b0}.scoreboard{display:flex;align-items:center;justify-content:center;gap:3vw;padding:1vh 5vw}.scoreboard>strong{font-size:clamp(45px,5.8vw,94px);font-weight:900;letter-spacing:-4px;font-variant-numeric:tabular-nums;line-height:1}.scoreboard .team{width:25%;max-width:320px}.team h2{font-family:Def,Impact,sans-serif;font-size:clamp(24px,3vw,49px);margin:7px 0;letter-spacing:1px}.team small{color:#9ba7b6;font-size:10px;letter-spacing:1px}.team.blue{text-align:right}.red h2,.red .label span{color:#fb5a66}.blue h2,.blue .label span{color:#65b8fc}.clock{text-align:center;min-width:120px}.clock>span{font-size:10px;font-weight:bold;letter-spacing:2px;color:#a4adba}.clock b{display:block;font-size:clamp(23px,3vw,46px);font-variant-numeric:tabular-nums;margin:4px}.clock small{font-size:10px;color:#b1c0d0}main{min-height:0;display:grid;grid-template-columns:minmax(145px,18%) 1fr minmax(145px,18%);gap:1.7vw;padding:0 2vw}.roster{min-height:0;display:flex;flex-direction:column}.label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;font-weight:bold;border-bottom:2px solid #e14b5a;padding:10px 0;margin-bottom:6px}.blue .label{border-color:#398dd5}.roster>div:nth-child(2){display:grid;grid-template-rows:repeat(5,1fr);flex:1;min-height:0}.player{display:flex;gap:9px;align-items:center;min-height:0;border-bottom:1px solid #ffffff0f;padding:6px 0}.portrait{position:relative;width:38px;height:38px;flex:none;display:grid;place-items:center;background:#293342;color:#c9d1df;border-radius:50%;font-weight:900;font-size:12px;overflow:hidden;border:2px solid #e15c66}.blue .portrait{border-color:#57a7ed}.portrait img{position:absolute;width:100%;height:100%;object-fit:cover}.player .info{min-width:0;flex:1}.player strong{display:block;font-size:clamp(13px,1.15vw,19px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player small{display:block;color:#8495a8;font-size:9px;margin:5px 0;letter-spacing:.6px}.player .stats{font-size:11px;color:#c8d3de;white-space:nowrap}.player .points{font-size:25px;font-weight:900;color:#fff}.player.empty{color:#42566c;font-size:11px}.teamfoot{color:#73869a;font-size:9px;letter-spacing:1px;padding:12px 0}.center{min-height:0;display:grid;grid-template-rows:66% 1fr;gap:1vh}.court-wrap{position:relative;min-height:0;overflow:hidden;border:1px solid #455c7155;border-radius:9px;background:#102030}canvas{display:block;width:100%;height:100%;object-fit:contain}.commentary{display:flex;flex-direction:column;min-height:0;padding:10px 2px}.event-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.event-meta>span{font-size:10px;letter-spacing:2px;color:#d3b97d;font-weight:900}#boxButton{padding:6px 0;font-size:9px;border:0;background:none;color:#94aec9}.commentary h2{font-family:Def,Impact,sans-serif;font-size:clamp(22px,2.8vw,45px);line-height:1.1;margin:8px 0}.commentary p{font-size:clamp(16px,1.55vw,25px);line-height:1.3;margin:0;color:#d4dce5;max-width:100%;overflow:auto}.commentary.result-red h2{color:#fb6470}.commentary.result-blue h2{color:#6dbdff}footer{display:flex;align-items:center;gap:16px;padding:10px 2vw;border-top:1px solid #ffffff14}.join b{display:block;font-size:22px;letter-spacing:-1px}.join span{font-size:8px;letter-spacing:1.6px;color:#98a8ba}.controls{display:flex;gap:6px;margin-left:auto}footer p{font-size:11px;color:#9daec0;margin:0;max-width:25vw}#pregame{position:absolute;inset:0;background:linear-gradient(#09111bd9,#09111bf5);display:flex;flex-direction:column;padding:2vh 2vw}.draft-head small{font-size:10px;letter-spacing:3px;color:#ffbf71}.draft-head h1{font-family:Def,Impact,sans-serif;font-size:clamp(24px,3.2vw,50px);line-height:1;margin:8px 0}.draft-head p{font-size:clamp(12px,1.1vw,18px);color:#b0bfce;margin:0 0 10px}#pool{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:6px;flex:1;min-height:0}.pick{padding:6px;display:flex;align-items:center;gap:6px;text-align:left;min-width:0;letter-spacing:0}.pick .portrait{width:27px;height:27px;font-size:9px;border:1px solid #526479}.pick>span{min-width:0;overflow:hidden}.pick strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.pick small{display:block;color:#93a9bf;font-size:8px;margin-top:4px}.pick b{margin-left:auto;font-size:15px;color:#e4be7b}.poolfooter{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#99a9bb;margin-top:8px;letter-spacing:1px}.poolfooter button{padding:3px 10px}.poolfooter div{display:flex;gap:10px;align-items:center}#badge{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%) rotate(-5deg);font-family:Def,Impact,sans-serif;font-size:clamp(38px,5vw,80px);white-space:nowrap;color:#fff;text-shadow:0 5px 0 #0008;pointer-events:none;animation:pop .35s ease-out}@keyframes pop{from{opacity:0;transform:translate(-50%,-50%) scale(.6) rotate(-5deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-5deg)}}dialog{color:#e9edf4;background:#101a28;border:1px solid #415469;border-radius:12px;padding:25px;width:min(600px,95vw);max-height:90dvh;line-height:1.5}dialog::backdrop{background:#02070cd9}dialog h2{font-family:Def,Impact;font-size:32px;margin-top:0}dialog label{display:block;font-size:13px;margin:15px 0}input,select{display:block;width:100%;color:#fff;background:#1c2a3b;border:1px solid #536176;padding:10px;margin:6px 0;font:inherit}dialog p{color:#a4b7c9;font-size:13px}summary{cursor:pointer;padding:12px 0}details{border-top:1px solid #ffffff20;margin-top:15px}.x{float:right;background:none;border:0}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:16px}#box{width:min(1000px,96vw)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:10px 8px;text-align:right;border-bottom:1px solid #ffffff19;white-space:nowrap}th:first-child,td:first-child{text-align:left}tr.red td:first-child{color:#fb7882}tr.blue td:first-child{color:#83c4ff}#history p{border-top:1px solid #ffffff15;padding-top:10px}body.busy #advance{opacity:.4}@media(max-width:850px){header{gap:6px}.brand{font-size:13px;letter-spacing:1px}.brand img{width:29px;height:29px}.brand small{font-size:7px;letter-spacing:2px}header button{padding:8px;font-size:9px}.connection{margin-right:0;font-size:8px}.scoreboard{gap:3vw;padding:1vh 3vw}.scoreboard .team small{font-size:8px}.team h2{font-size:22px}.scoreboard>strong{font-size:46px;letter-spacing:-2px}.clock{min-width:65px}.clock b{font-size:26px}.clock span,.clock small{font-size:8px}main{grid-template-columns:minmax(80px,16%) 1fr minmax(80px,16%);gap:10px}.player{gap:5px}.player .portrait{width:25px;height:25px;font-size:9px}.player strong{font-size:12px}.player .stats{font-size:9px;white-space:normal}.player small{font-size:8px}.player .points{font-size:17px}.teamfoot{font-size:7px}.label{font-size:8px;letter-spacing:1px}#pool{grid-template-columns:repeat(3,minmax(0,1fr))}.pick strong{font-size:10px}.pick .portrait{display:none}.pick small{font-size:7px}.pick b{font-size:12px}.draft-head h1{font-size:28px}.draft-head p{font-size:13px}.commentary h2{font-size:25px}.commentary p{font-size:18px}.controls button{font-size:9px;padding:10px}.controls{gap:4px}footer p{font-size:9px}.join b{font-size:18px}.join span{font-size:7px}#newGame{padding:8px}footer{gap:8px}}@media(max-width:560px){body{grid-template-rows:7vh 12vh 1fr 12vh}.connection{display:none}header button:first-of-type{margin-left:auto}.scoreboard{gap:12px}.scoreboard>strong{font-size:38px}.team h2{font-size:17px}.team small{display:none}.clock>span{font-size:7px}.clock b{font-size:23px}.clock small{font-size:8px}main{grid-template-columns:1fr 1fr;grid-template-rows:1fr 12vh}.center{grid-column:1/3;grid-row:1;grid-template-rows:60% 1fr}.roster{grid-row:2}.roster>div:nth-child(2){display:flex;gap:3px}.player{flex:1;min-width:0;display:block;text-align:center;border:0}.player .portrait,.player small,.player .stats,.teamfoot,.label{display:none}.player strong{font-size:9px;overflow:hidden}.player .points{font-size:17px;margin-top:5px}#pregame{padding:10px 12px}.draft-head h1{font-size:25px}.draft-head p{font-size:12px}.draft-head small{font-size:8px}.pick{padding:4px}.pick small{display:none}#pool{grid-template-columns:repeat(3,minmax(0,1fr))}.commentary{padding:8px 0}.commentary p{font-size:20px}.commentary h2{font-size:30px}.event-meta>span{font-size:8px}footer{flex-wrap:wrap;justify-content:space-between;align-content:center;gap:6px}.join{display:flex;align-items:center;gap:8px}.join b{font-size:18px}.join span{font-size:7px}footer p{max-width:45vw;font-size:9px}.controls{width:100%;justify-content:flex-end}.controls button{font-size:10px;padding:9px 11px}}

#lobbyTitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Keep the screen about the game. */
.label,#eventLabel,.teamfoot:empty,#lobbyHint:empty{display:none}
.event-meta{justify-content:flex-end}
.center:has(#pregame:not([hidden])){grid-template-rows:1fr}
.center:has(#pregame:not([hidden])) .commentary{display:none}
.draft-head small{display:none}
.draft-head h1{font-size:clamp(26px,2.8vw,42px);margin-bottom:16px}
#pool{align-content:start;grid-auto-rows:minmax(55px,1fr)}
.pick strong{font-size:clamp(12px,1.2vw,18px)}

.bench{padding:9px 0;background:transparent;border:0;border-top:1px solid #ffffff15;border-radius:0;color:#95a9bd;font-size:10px;text-align:left}.bench:hover{background:#ffffff08}.player.empty{border-color:transparent}@media(max-width:560px){.bench{font-size:8px;padding:3px 0;position:absolute;bottom:0;right:0}.roster{position:relative;padding-bottom:14px}}
