:root{--gold:#e8bd63;--gold2:#8f651c;--text:#fff8eb;--muted:#c8b9a1;--row-h:68px;--row-gap:9px}
*{box-sizing:border-box}html,body{margin:0;overflow:hidden;width:1920px;height:1080px;background:transparent;color:var(--text);font-family:Arial,'Segoe UI',sans-serif}
#stage{width:1920px;height:1080px;position:relative;overflow:hidden;background:transparent}
header{position:absolute;left:120px;top:28px;right:120px;text-align:center;pointer-events:none}
.eyebrow{font-size:19px;letter-spacing:7px;color:var(--gold);font-weight:700}
h1{font-size:54px;font-weight:800;letter-spacing:7px;margin:5px 0 1px;text-shadow:0 3px 10px #0008}
.subtitle{font-size:17px;color:var(--muted);letter-spacing:4px}
#columns{position:absolute;left:116px;right:116px;top:185px;bottom:70px;display:flex;gap:60px;align-items:flex-start}
#columns:before{content:'';position:absolute;left:50%;width:1px;top:0;bottom:0;background:linear-gradient(transparent,#cfaa6d66,transparent)}
.column{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:var(--row-gap)}
.vote-row{display:grid;position:relative;isolation:isolate;align-items:center;grid-template-columns:58px 68px minmax(0,1fr) 120px;gap:9px;padding:0 14px;height:var(--row-h);flex-shrink:0;border-radius:10px;background:linear-gradient(90deg,#211916df,#281f1aaf);border:1px solid #e0af5a35;box-shadow:0 5px 16px #0003;will-change:transform}
.vote-row.first{background:linear-gradient(90deg,#7b542add,#493119dd);border:1px solid #f6cb72;color:#ffe3a3;box-shadow:0 0 22px #c5995044}
.number{height:42px;width:42px;border-radius:50%;background:linear-gradient(140deg,#ffdf91,#bd8d40);display:flex;align-items:center;justify-content:center;color:#2e2114;font-size:20px;font-weight:900}
.rank{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.movement{font-size:19px;margin-left:3px;color:#8cf1a3}.movement.down{color:#ff9c88}
.name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:750;font-size:25px;letter-spacing:.4px;text-shadow:0 2px 4px #0005}
.votes{font-size:27px;text-align:right;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.bar{position:absolute;left:14px;right:14px;bottom:3px;height:3px;border-radius:3px;background:#f6d59c20;overflow:hidden}.fill{height:100%;width:0;background:linear-gradient(90deg,#b78230,#ffdf91);transition:width 650ms ease}
.vote-row.changed{animation:flash 800ms ease}@keyframes flash{0%{box-shadow:0 0 22px #ffc872a9}100%{box-shadow:0 5px 16px #0003}}
#demo{position:absolute;top:25px;right:25px;color:#fff;background:#aa1717;border:2px solid #fff;padding:12px 15px;letter-spacing:2px;font:700 17px Arial}
#debug{position:absolute;bottom:10px;left:16px;background:#000b;border:1px solid #666;color:#fff;font:18px monospace;padding:8px 12px}
#empty{position:absolute;top:50%;width:100%;text-align:center;font-size:32px;letter-spacing:5px;color:#f3cd87}
body[data-layout=led] header{top:8px}body[data-layout=led] h1{font-size:41px}body[data-layout=led] .eyebrow{font-size:15px}
body[data-layout=led] #columns{left:360px;right:360px;top:116px;bottom:26px;gap:20px}
body[data-layout=led] #columns:before{display:none}
body[data-layout=led] .vote-row{grid-template-columns:46px 45px minmax(0,1fr) 95px;gap:5px;padding:0 8px;border-radius:5px}
body[data-layout=led] .number{height:29px;width:29px;font-size:16px}
body[data-layout=led] .rank{font-size:21px}body[data-layout=led] .movement{font-size:14px;margin-left:1px}
body[data-layout=led] .name{font-size:19px}body[data-layout=led] .votes{font-size:20px}
body[data-layout=led] .bar{left:8px;right:8px;bottom:2px;height:2px}
