*{box-sizing:border-box}
body{margin:0;background:#15121f;color:#f3ead6;font-family:"Courier New",Courier,monospace;line-height:1.5}
a{color:#ffd166}
.wrap{max-width:980px;margin:0 auto;padding:1.2rem}
header.top{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.2rem;background:#0e0c16;border-bottom:3px solid #000}
header.top .brand{font-weight:bold;font-size:1.25rem;color:#ffd166;text-decoration:none;letter-spacing:.04em}
header.top nav a{margin-left:1rem}
h1{color:#ffd166;text-shadow:3px 3px 0 #000;letter-spacing:.04em;margin:.3em 0}
h2{color:#cbb8ff;margin:1.2em 0 .5em}
.card{background:#2a2438;border:3px solid #000;outline:2px solid #8a7bb0;padding:1rem 1.2rem;margin:1rem 0}
.btn{display:inline-block;background:#ffd166;color:#221;border:3px solid #000;font:inherit;font-weight:bold;padding:.45em 1.1em;cursor:pointer;text-decoration:none;box-shadow:inset -3px -3px 0 rgba(0,0,0,.25)}
.btn:hover{background:#ffe299}
.btn.green{background:#5cc25c}.btn.red{background:#e05656;color:#fff}.btn.small{padding:.2em .6em;font-size:.85em}
.btn:disabled{opacity:.5;cursor:default}
input,select{font:inherit;padding:.4em .6em;border:3px solid #000;background:#f3ead6;color:#111}
input.code{font-size:2rem;width:8em;text-align:center;letter-spacing:.25em;text-transform:uppercase;background:#0b1a0b;color:#7dff7d}
.err{color:#ff6b6b;font-weight:bold;min-height:1.4em}
.ok{color:#7dff7d;font-weight:bold}
.muted{color:#a99fc4;font-size:.9em}
table{border-collapse:collapse;width:100%}
th,td{border:1px solid #514673;padding:.35em .55em;text-align:left}
th{background:#1c1828;color:#cbb8ff}
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:1.2rem;align-items:center}
@media(max-width:760px){.hero{grid-template-columns:1fr}}
.joinbig{font-size:4.5rem;letter-spacing:.2em;color:#7dff7d;background:#0b1a0b;border:4px solid #000;padding:.1em .4em;display:inline-block;font-weight:bold}
.dots span{display:inline-block;width:.9em;height:.9em;border-radius:50%;background:#3a3350;border:2px solid #000;margin-right:2px}
.dots span.on{background:#5cc25c}
.pill{display:inline-block;padding:0 .5em;border:2px solid #000;font-size:.8em;font-weight:bold}
.pill.live{background:#5cc25c;color:#111}.pill.ended{background:#555;color:#ddd}
.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.hidden{display:none!important}
footer{color:#7a7096;font-size:.8em;text-align:center;padding:2rem 1rem}
.wrap.text{max-width:760px}
.wrap.text li{margin:.35em 0}
footer a{margin:0 .4em}
label{color:#cbb8ff;font-weight:bold}
