body{font-family:system-ui,sans-serif;max-width:900px;margin:0 auto;padding:16px;color:#222}
a.btn,button{background:#7a1f3d;color:#fff;border:0;padding:10px 18px;border-radius:6px;text-decoration:none;cursor:pointer;font-size:1rem}
input{padding:8px;margin:4px 0;width:100%;box-sizing:border-box}
.stage{background:#333;color:#fff;text-align:center;padding:8px;margin:12px auto;max-width:600px;border-radius:4px}
.map{overflow-x:auto;text-align:center}.row{white-space:nowrap;margin:3px 0}
.rl{display:inline-block;width:24px;font-weight:bold}
.seat{display:inline-block;width:32px;height:32px;line-height:30px;margin:2px;border:1px solid #888;border-radius:5px;background:#fff;font-size:12px;cursor:pointer}
.seat.taken{background:#2e9e4f;color:#fff;border-color:#2e9e4f;cursor:not-allowed}
.seat.mine{background:#f0a500;border-color:#f0a500}
.legend span{margin-right:14px}table{border-collapse:collapse;width:100%}td,th{border:1px solid #ccc;padding:6px;text-align:left}
.timer{position:sticky;top:0;z-index:5;background:#7a1f3d;color:#fff;font-weight:600;text-align:center;padding:8px 12px;border-radius:4px;margin:8px 0}.timer.warn{background:#c0392b}
