@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap');

/* A 16-bit stadium scoreboard: square edges, team colors, pixel lettering. */
.workspace{grid-template-columns:minmax(0,1fr) 420px;gap:36px;padding-top:36px}
.clock-body{padding-top:70px;padding-bottom:55px}
.clock{font-size:clamp(100px,12vw,190px)}
.leaderboard{--board:#101d43;--board-deep:#09122d;--board-line:#344a7d;--board-gold:#ffe35b;background:var(--board);color:#fff;border:4px solid var(--board-gold);border-radius:0;box-shadow:6px 6px 0 #101d43;position:relative;overflow:visible;font-family:'VT323',monospace}
.leaderboard::before{content:'';position:absolute;inset:4px;pointer-events:none;border:1px solid #6876a1}
.leaderboard-heading{padding:23px 20px 18px;text-align:center;background:var(--board-deep);border-bottom:4px solid var(--board-gold)}
.leaderboard-heading .eyebrow{font-family:'Press Start 2P',monospace;font-size:9px;line-height:1.8;letter-spacing:1px;color:#b7c9ed}
.leaderboard-heading h2{font-family:'Press Start 2P',monospace;font-size:28px;line-height:1.5;letter-spacing:0;margin:14px 0 11px;color:var(--board-gold);text-shadow:3px 3px 0 #84613c}
.leaderboard-heading h2 span{font-size:16px;line-height:1.8;color:#fff;text-shadow:2px 2px 0 #536389}
.test-label{font:21px/1 'VT323',monospace;letter-spacing:.8px;display:flex;justify-content:center;gap:10px;margin:0 auto;padding:8px 12px;color:var(--board-gold);border:1px solid #52658c;border-radius:0;background:#192853;width:fit-content}
.test-label>span{color:#9badd3!important}
.table-head{display:grid;grid-template-columns:42px minmax(0,1fr) 62px;gap:10px;padding:13px 18px 10px;background:#23365f;border:0;border-bottom:2px solid var(--board-line);font:19px/1 'VT323',monospace;letter-spacing:1px;color:#c6d5ee}
.table-head span:last-child{text-align:right}
.leaderboard-list{padding:0 12px;counter-reset:rank}
.leaderboard-list li{grid-template-columns:42px minmax(0,1fr) 62px;gap:10px;min-height:64px;padding:8px 6px;border-bottom:2px solid #293b66;background:transparent}
.leaderboard-list li:nth-child(even){background:#14234a}
.leaderboard-list li:first-child.filled{background:#254779;border-radius:0;box-shadow:inset 4px 0 0 var(--board-gold)}
.rank,.filled:nth-child(-n+3) .rank{font:34px/1 'VT323',monospace;color:var(--board-gold);font-variant-numeric:tabular-nums;text-shadow:2px 2px 0 #664a2c}
.student,.empty .student,.empty:first-child .student{font:28px/1.02 'VT323',monospace;letter-spacing:.3px;text-transform:uppercase;color:#fff;text-shadow:2px 2px 0 #080e22;overflow-wrap:anywhere}
.graduation{font:19px/1.1 'VT323',monospace;letter-spacing:.7px;color:#b6cbf5;margin-top:5px;text-shadow:none}
.score,.empty .score{font:40px/1 'VT323',monospace;letter-spacing:0;color:#fff56e;text-shadow:2px 2px 0 #84613c;font-variant-numeric:tabular-nums}
.empty .student,.empty:first-child .student{color:#a8bcdf;font-size:25px}
.empty .score{color:#8199c3;text-shadow:none}
.leaderboard-footer{padding:16px 18px 19px;background:var(--board-deep);border-top:2px solid var(--board-line)}
.leaderboard-footer p{font:19px/1.2 'VT323',monospace;color:#b6c7e4;margin-bottom:14px}
.leaderboard .edit-button{font:20px/1.2 'VT323',monospace;letter-spacing:.6px;text-transform:uppercase;color:#101d43;background:var(--board-gold);border:2px solid #fff5ae;border-radius:0;box-shadow:3px 3px 0 #806138;padding:9px}
.leaderboard .edit-button:hover{background:#fff1a0;filter:none}
.leaderboard .signout{font:18px/1.2 'VT323',monospace;color:#c6d5ee}
.leaderboard a:focus-visible,.leaderboard button:focus-visible{outline-color:#fff;outline-offset:5px}
@media(min-width:1550px){.workspace{padding-top:45px}.clock-body{padding-top:85px;padding-bottom:70px}}
@media(max-width:1150px){.workspace{grid-template-columns:minmax(0,1fr) 360px;gap:26px;padding-left:28px;padding-right:28px}.clock{font-size:clamp(80px,11.5vw,160px)}.leaderboard-heading{padding-left:12px;padding-right:12px}.leaderboard-heading h2 span{font-size:14px}.leaderboard-heading .eyebrow{font-size:8px}.student{font-size:26px}.rank{font-size:32px}.score{font-size:38px}.table-head,.leaderboard-list li{grid-template-columns:36px minmax(0,1fr) 54px;gap:7px}}
@media(max-width:850px){.workspace{grid-template-columns:1fr;padding:26px 22px;gap:18px}.clock{font-size:clamp(90px,22vw,170px)}.clock-body{padding-top:36px;padding-bottom:36px}.leaderboard{width:100%;max-width:560px;justify-self:center}.below-timer{margin-bottom:12px}.student{font-size:30px}.leaderboard-list li{min-height:65px}.leaderboard-heading h2 span{font-size:16px}}
@media(max-width:420px){.workspace{padding:24px 14px}.leaderboard-heading .eyebrow{font-size:8px;letter-spacing:.2px}.leaderboard-heading h2 span{font-size:14px}.table-head,.leaderboard-list li{grid-template-columns:32px minmax(0,1fr) 51px;gap:7px}.table-head{font-size:17px}.student{font-size:26px}.empty .student{font-size:23px}.score,.empty .score{font-size:35px}.rank{font-size:30px}.leaderboard-list{padding:0 9px}.leaderboard-heading{padding-top:20px}}
