@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:Manrope,Arial,sans-serif;color:#f1f3fc;background:#10121b;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;background:#242735;border:1px solid #3d4151;border-radius:8px;padding:12px 18px;color:inherit;font-weight:700}button:hover{background:#363b50}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f244ab;outline-offset:3px}button:disabled{opacity:.5;cursor:wait}header{min-height:102px;display:flex;align-items:center;gap:16px;padding:18px 5%;border-bottom:1px solid #2c2f3e}.brand{display:flex;align-items:center;gap:16px;color:inherit;text-decoration:none;font-size:12px;letter-spacing:1.6px}.brand img{width:53px;height:61px;object-fit:contain}.brand b{font-size:15px}.connection{margin-left:auto;display:flex;flex-direction:column;text-align:right;font-size:14px;gap:5px}.connection small{color:#a3a8be}main{max-width:1450px;margin:auto;padding:26px 5% 60px}#notice{color:#eebee2;background:#311f37;border-left:3px solid #e946ae;padding:10px 15px;font-size:14px;margin-bottom:25px}#notice:empty{display:none}.top{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:24px 0 34px}.eyebrow{color:#b5b9cc;font-size:12px;letter-spacing:2.7px;font-weight:800}h1{font-size:clamp(32px,4.2vw,58px);line-height:1.1;letter-spacing:-2px;margin:18px 0 0}h1 em{font-style:normal;color:#ed5ab5}h2{font-size:23px;letter-spacing:-.5px}h3{font-size:20px}.filters{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;max-width:580px}label{display:flex;flex-direction:column;gap:8px;font-size:14px;color:#b9bdd0}select,input{min-width:180px;border:1px solid #3d4257;background:#191d2a;color:#f1f3fc;padding:12px;border-radius:7px;font-size:16px}nav{display:flex;gap:12px;border-bottom:1px solid #303444;margin-bottom:25px;overflow:auto}nav button{border:0;border-radius:0;background:none;color:#a9afc6;padding:15px 4px;white-space:nowrap;margin-right:20px}nav button.selected{color:#fff;border-bottom:3px solid #eb55b0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.section-head>span{font-size:14px;color:#a5acc0}.board{display:grid;gap:12px}.team-row{--team:#aaa;display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:24px;padding:23px 28px;background:#1b1e2b;border:1px solid #323646;border-left:5px solid var(--team);border-radius:12px}.team-row:first-child{background:linear-gradient(100deg,color-mix(in srgb,var(--team) 13%,#191c28),#1b1e2b)}.rank{font-size:30px;font-weight:800;color:#a8adc0}.team-name{font-size:23px;font-weight:800}.team-name small{font-size:14px;font-weight:500;color:#aeb5c8;margin-left:14px}.score{font-size:39px;letter-spacing:-1.5px;font-weight:800;text-align:right}.score small{font-size:22px;color:#9ba4be;font-weight:500;letter-spacing:0}.track{height:5px;background:#343948;border-radius:5px;margin-top:14px;width:100%;overflow:hidden}.track>i{display:block;height:100%;background:var(--team)}.metrics{display:flex;gap:45px;margin:28px 0;padding:20px 0;border-top:1px solid #303444}.metrics>div{display:flex;align-items:center;gap:12px}.metrics strong{font-size:34px}.metrics span,.metrics p{color:#aeb5c8;font-size:14px}.metrics p{margin-left:auto;line-height:1.7}footer{padding:22px 5%;border-top:1px solid #303444;display:flex;justify-content:space-between;font-size:14px;color:#aeb5c8}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:14px;color:#aeb5c8;padding:16px;background:#202431}td{padding:17px 16px;border-bottom:1px solid #303444;font-size:16px}.tag{display:inline-block;border-radius:5px;padding:5px 10px;color:var(--team);background:color-mix(in srgb,var(--team) 12%,#171925)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}article{background:#1b1e2b;border:1px solid #343949;padding:25px;border-radius:12px}article p{line-height:1.6;color:#b8bfd1}article button{margin:8px 8px 0 0}.primary{background:#b9297e;border-color:#e34bad}.primary:hover{background:#d53897}.join-code{display:block;font-size:42px;letter-spacing:7px;color:#f388ca;margin:20px 0}.danger{border-color:#754153}.danger button{border-color:#b65b6c}dialog{max-width:500px;width:calc(100% - 32px);border:1px solid #626a82;border-radius:14px;background:#1b1e2b;color:#fff;padding:32px}dialog::backdrop{background:#050711bb}dialog p{line-height:1.7}#modalFields{display:grid;gap:14px;margin-bottom:22px}#modalError{color:#ff9ea9}.modal-close{float:right;padding:0 10px;font-size:26px;background:none;border:0}.empty{padding:45px;text-align:center;color:#aeb5c8}[hidden]{display:none!important}@media(max-width:850px){header{flex-wrap:wrap;gap:10px;padding:14px 5%}header button{font-size:14px;padding:10px}.top{display:block}.filters{justify-content:flex-start;margin-top:25px}.filters label{flex:1}.team-row{padding:18px 14px;gap:10px;grid-template-columns:35px 1fr auto}.team-name{font-size:18px}.team-name small{display:block;margin:6px 0}.score{font-size:29px}.score small{font-size:17px}.rank{font-size:24px}.metrics{gap:20px;flex-wrap:wrap}.metrics p{margin-left:0}.admin-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.connection{font-size:12px}nav button{font-size:14px;margin-right:10px}footer{gap:15px;flex-wrap:wrap}}@media(prefers-reduced-motion:no-preference){.track>i{transition:width .5s ease}.team-row{transition:background .3s}}
/* Arena presentation; scoring remains server-authoritative. */
:root{background:#080f1e;color:#edf3ff}body{background:radial-gradient(ellipse at 50% 38%,#192e5044,transparent 60%),#080f1e}header{background:#0c1425cc;min-height:86px}.brand .arena-wordmark{font-size:24px;font-weight:800;letter-spacing:1px}.brand .arena-wordmark b{font-size:24px;color:#a7b8d3;font-weight:400}.brand img{width:40px;height:47px}main{max-width:1560px}.top{align-items:center}h1{font-size:clamp(36px,4vw,60px)}h1 em{color:#a8c7ff}.filters label{font-size:11px;gap:5px}.filters select,.filters input{padding:8px 10px;font-size:13px;min-width:150px}.filters{max-width:540px}.eyebrow{font-size:10px;color:#93a9c9}#notice{font-size:12px;margin-bottom:16px}nav button.selected{border-color:#74a6ff}.arena-stage{position:relative;isolation:isolate;overflow:hidden;padding:24px 7% 34px;border:1px solid #344560;border-radius:20px;background:radial-gradient(ellipse at 50% 90%,#3a639b50,transparent 65%),repeating-linear-gradient(105deg,transparent 0 140px,#9dcaff05 140px 142px),linear-gradient(#14263d,#0d1628 70%);box-shadow:inset 0 1px #d5e9ff22,0 25px 80px #0005}.arena-stage:before{content:'';position:absolute;inset:0;z-index:-1;background:conic-gradient(from 165deg at 12% -5%,transparent,#bcdcff12 12deg,transparent 23deg),conic-gradient(from 172deg at 88% -5%,transparent,#bcdcff16 12deg,transparent 26deg);pointer-events:none}.arena-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.arena-caption>span{font-size:10px;letter-spacing:2px;color:#8fa8cb}.arena-caption strong{font-size:15px;color:#ffdb75;padding:10px 16px;border:1px solid #a3884155;border-radius:8px;background:#40341333}.board{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end;max-width:950px;margin:auto}.podium-team{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;padding:24px 18px 20px;border-radius:13px 13px 4px 4px;border:1px solid color-mix(in srgb,var(--team) 60%,#263449);border-top:3px solid var(--team);background:linear-gradient(125deg,color-mix(in srgb,var(--team) 34%,#111c30),color-mix(in srgb,var(--team) 12%,#0d1524) 75%);box-shadow:inset 8px 0 18px #ffffff09,12px 14px 22px #0005}.podium-team.place-1{padding-top:30px;min-height:320px;box-shadow:0 0 65px color-mix(in srgb,var(--team) 17%,transparent),inset 0 1px #fff5}.podium-team.place-2{min-height:282px}.podium-team.place-3{min-height:252px}.podium-rank{font-size:48px;line-height:1;font-weight:800;text-shadow:0 4px 0 #0003}.podium-rank small{display:block;font-size:9px;letter-spacing:2px;margin-top:9px;color:#e4eeffbb}.team-shield{color:var(--team);width:40px;height:46px;margin:18px 0 4px;filter:drop-shadow(0 5px 8px #0006)}.team-shield svg{width:100%;height:100%}.podium-team h3{margin:7px 0;font-size:24px}.podium-score{font-size:38px;font-weight:800;letter-spacing:-1px}.podium-score span{font-size:22px;color:#c0cee2;font-weight:500}.podium-players{font-size:12px;color:#b7c6dc;margin-top:8px}.podium-team .track{max-width:160px;margin-top:16px;background:#ffffff14}.podium-team.place-4{grid-column:1/-1;flex-direction:row;justify-content:center;gap:24px;min-height:0;border-radius:9px;padding:15px 24px;border-top-width:1px;border-left:4px solid var(--team)}.place-4 .podium-rank{font-size:28px}.place-4 .podium-rank small,.place-4 .track{display:none}.place-4 .team-shield{margin:0;width:27px;height:31px}.place-4 h3{font-size:20px}.place-4 .podium-score{font-size:28px}.place-4 .podium-players{margin:0}.unplayed{filter:saturate(.3)}.arena-update{border:1px solid #33435e;border-radius:9px;margin-top:12px;padding:15px 22px;font-size:14px;color:#b8d1f4;background:linear-gradient(90deg,#25345c77,#111c2e)}.metrics{margin-top:18px}.metrics strong{color:#d5e5ff}button:focus-visible{outline-color:#8fb7ff}.primary{background:#3554a2;border-color:#7194ee}.primary:hover{background:#4569bd}@media(max-width:700px){.arena-stage{padding:15px 10px}.arena-caption{flex-direction:column;gap:8px;margin-bottom:20px}.board{gap:7px}.podium-team{padding:16px 6px}.podium-team.place-1{min-height:284px}.podium-team.place-2{min-height:254px}.podium-team.place-3{min-height:234px}.podium-team h3{font-size:17px}.podium-score{font-size:27px}.podium-score span{font-size:15px}.podium-rank{font-size:35px}.podium-players{font-size:10px}.podium-team.place-4{gap:12px;flex-wrap:wrap;padding:12px}.place-4 .podium-players{display:none}.brand .arena-wordmark,.brand .arena-wordmark b{font-size:18px}.arena-caption>span{font-size:8px}header .connection{max-width:160px}h1{letter-spacing:-1px}}@media(prefers-reduced-motion:no-preference){.podium-team{animation:podium-enter .6s ease both}@keyframes podium-enter{from{opacity:.5;transform:translateY(12px)}to{opacity:1;transform:none}}}.board>.empty{grid-column:1/-1}
