:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:#050505;color:#fff}.hidden{display:none!important}.login{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 50% 10%,#463008,#050505 60%)}.login-card{width:min(420px,100%);padding:35px;background:#111;border:1px solid #b78927;border-radius:14px;box-shadow:0 12px 60px #000}.logo{font-weight:900;color:#fff}.logo small{display:block;color:#edbd3e;font-size:11px;letter-spacing:2px;margin-left:25px}.login h1{font-size:42px;margin:26px 0 5px}.login h1 span{color:#efbd3b}.login p{color:#bbb}.login label{display:block;font-size:14px;margin:17px 0}.login input{width:100%;padding:13px;margin-top:7px;border-radius:7px;border:1px solid #777;background:#222;color:white;font-size:16px}.login button{width:100%;background:linear-gradient(110deg,#d79d13,#ffdb69);border:0;padding:14px;border-radius:8px;font-weight:900;cursor:pointer}.error{color:#ff9999!important}.warning{color:#bbb;line-height:1.5}.player{min-height:100vh;display:flex;flex-direction:column;justify-content:center}.screen{position:relative;width:100vw;aspect-ratio:16/9;background:#000 center/100% 100% no-repeat;overflow:hidden}.ranking-panel{position:absolute;left:29.4%;right:1.8%;top:27.5%;bottom:6.7%;background:linear-gradient(90deg,rgba(4,4,4,.99),rgba(3,3,3,.97) 72%,rgba(3,3,3,.99));border-radius:8px;display:flex;align-items:center;padding:1% 0.4% 1% 0.7%}.ranking{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-evenly;gap:1.2%}.rank-row{height:18%;display:grid;grid-template-columns:16% 47% 37%;align-items:center;gap:0;border-bottom:2px solid #ad7c18;border-radius:10px;background:linear-gradient(90deg,#161616 0%,#070707 63%,#1b1b1b 100%);box-shadow:0 1px 7px #a478183d;min-height:0}.position{height:100%;display:grid;place-items:center;font-size:clamp(15px,3.5vw,64px);font-style:italic;font-weight:1000;color:white;border-radius:9px;background:linear-gradient(120deg,#626262,#202020 70%);text-shadow:0 1px 2px #000}.rank-row:nth-child(1) .position{background:linear-gradient(115deg,#ffed80,#c28b00 70%);color:#111}.rank-row:nth-child(2) .position{background:linear-gradient(120deg,#f6f6f6,#6f6f6f);color:#111}.rank-row:nth-child(3) .position{background:linear-gradient(120deg,#f7ad57,#a94d0d);color:#111}.athlete{padding:0 4%;font-size:clamp(14px,2.5vw,48px);font-style:italic;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score{height:100%;display:flex;align-items:center;justify-content:center;padding:0 4%;font-size:clamp(15px,2.7vw,54px);font-style:italic;font-weight:1000;white-space:nowrap;border-radius:9px;background:linear-gradient(110deg,#343434,#111)}.rank-row:nth-child(1) .score{background:linear-gradient(110deg,#ffea74,#d19a00);color:#050505}.rank-row:nth-child(2) .score{background:linear-gradient(110deg,#f2f2f2,#8a8a8a);color:#090909}.rank-row:nth-child(3) .score{background:linear-gradient(110deg,#ffce85,#bf6a1b);color:#090909}.empty{padding:5%;text-align:center;color:#fff;font-size:clamp(16px,2.4vw,42px);font-weight:800;background:#080808dd;border:1px solid #d3a52d;border-radius:12px}.screen-status{position:absolute;left:30%;bottom:1.3%;font-size:clamp(9px,.8vw,16px);color:#b9b9b9;text-shadow:0 1px 4px #000}.controls{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 15px;background:#0b0b0b;color:#bcbcbc;font-size:12px;flex-wrap:wrap}.controls-left,.controls-right{display:flex;align-items:center;gap:14px}.controls button{border:1px solid #987521;border-radius:6px;background:#171717;color:#fff;padding:7px 10px;cursor:pointer}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#555;margin:0 3px}.dot.active{background:#f4bf39}@media(max-width:650px){.controls{font-size:10px}.controls-left,.controls-right{gap:6px}.rank-row{border-bottom-width:1px}.ranking-panel{border-radius:3px}.position,.score{border-radius:3px}}
