:root{--yellow:#ffe600;--red:#d90000;--white:#fff;--black:#000;--monitor-font-size:52px}
*{box-sizing:border-box}
html,body,form{width:100%;height:100%;margin:0;background:var(--black)}
body{overflow:hidden;color:var(--white);font-family:Arial,"Segoe UI",sans-serif}
.start-monitor-shell{width:100vw;height:100vh;margin:0;padding:0;background:var(--black)}
body.rotate-clockwise .start-monitor-shell{position:fixed;top:0;left:100vw;width:100vh;height:100vw;transform:rotate(90deg);transform-origin:0 0}
body.rotate-counterclockwise .start-monitor-shell{position:fixed;top:100vh;left:0;width:100vh;height:100vw;transform:rotate(-90deg);transform-origin:0 0}
.start-queue{height:100%;display:grid;grid-auto-rows:calc(var(--monitor-font-size) * 2.05);align-content:start;overflow-y:auto;overflow-x:hidden;background:var(--black);scrollbar-width:none}
.start-queue::-webkit-scrollbar{display:none}
.start-row{min-height:0;display:grid;grid-template-columns:18% 1fr 35%;align-items:center;border-bottom:2px solid #fff;padding:0 1.2vw;background:#000;color:#fff}
.start-row:last-child{border-bottom:0}
.start-number{font-size:calc(var(--monitor-font-size) * 1.72);font-weight:1000;line-height:.85;color:var(--yellow);font-variant-numeric:tabular-nums;letter-spacing:-.05em}
.rider-name{min-width:0;padding:0 1.2vw;font-size:var(--monitor-font-size);font-weight:1000;line-height:1;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.start-countdown{text-align:right;font-family:Consolas,"Arial Black",monospace;font-size:calc(var(--monitor-font-size) * 1.62);font-weight:1000;line-height:.85;color:var(--yellow);font-variant-numeric:tabular-nums;letter-spacing:-.08em;white-space:nowrap}
.start-row.urgent{background:var(--yellow);color:#000;border-color:#000}
.start-row.urgent .start-number,.start-row.urgent .start-countdown{color:#000}
.start-row.late{background:var(--red);color:#fff;border-color:#fff}
.start-row.late .start-number,.start-row.late .start-countdown{color:#fff}
.monitor-empty{height:100vh;display:grid;place-items:center;padding:5vw;background:#000;color:#fff;text-align:center;font-size:clamp(60px,10vmin,150px);font-weight:1000;line-height:1;text-transform:uppercase}
.monitor-empty.error{background:var(--red)}
@media(max-width:700px){.start-row{grid-template-columns:19% 1fr 37%;padding:0 1.2vw}}
