*{box-sizing:border-box}
img,video{max-width:100%;height:auto}
body{margin:0;display:flex;flex-direction:column;min-height:100vh;background:#15121f;color:#f3ead6;font-family:"Courier New",Courier,monospace;line-height:1.5}
a{color:#ffd166;text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:980px;width:100%;margin:0 auto;padding:1.2rem;flex:1 0 auto}
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}.hero .join{order:-1}}
.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:1.2rem 1rem;margin-top:auto}
.wrap.text{max-width:760px}
.wrap.text li{margin:.35em 0}
footer a{margin:0 .4em}
label{color:#cbb8ff;font-weight:bold}

.free{display:inline-block;background:#06d6a0;color:#0d0b18;font-size:.7em;padding:.1em .45em;margin-left:.4em;vertical-align:middle}

.trailer{display:block;width:100%;max-width:460px;aspect-ratio:16/9;margin:.8rem 0;border:3px solid #000;outline:2px solid #3a3550;background:#000}
details.sec{background:#1f1a2c;border:3px solid #000;outline:2px solid #3a3550;margin:.8rem 0;padding:0 1.1rem}
details.sec>summary{cursor:pointer;list-style:none;padding:.75rem 0;font-weight:bold;color:#cbb8ff;font-size:1.15rem}
details.sec>summary::-webkit-details-marker{display:none}
details.sec>summary::before{content:'\25B8';display:inline-block;width:1.2em;color:#ffd166;transition:transform .15s}
details.sec[open]>summary::before{transform:rotate(90deg)}
details.sec[open]{padding-bottom:.9rem}
.lvl{color:#ffd166;margin:.9rem 0 .2rem;font-size:1rem}
.topic{padding:.35rem 0;border-bottom:1px solid #2f2943}
.topic details.more{display:inline-block;margin-left:.6rem}
.topic details.more>summary{cursor:pointer;color:#a99fc4;font-size:.85em}
.topic details.more[open]{display:block;margin:.3rem 0 0}
.topic details.more p{margin:.3rem 0}
.tag{font-size:.7em;border:1px solid #6f6390;color:#a99fc4;padding:0 .35em;margin-left:.3em;vertical-align:middle}
.maps{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.8rem 1.2rem}

.maps{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.mapcard{display:flex;flex-direction:column;gap:.15rem}
.mapcard img{width:100%;aspect-ratio:16/9;object-fit:cover;border:3px solid #000;image-rendering:pixelated;margin-bottom:.25rem}
.strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.4rem;margin:.3rem 0 .9rem}
.strip img{width:100%;aspect-ratio:16/9;object-fit:cover;border:2px solid #000}
.mapthumb{width:192px;aspect-ratio:16/9;object-fit:cover;border:3px solid #000;background:#000}
form.contact{display:flex;flex-direction:column;gap:.6rem}
form.contact input,form.contact textarea{width:100%}
textarea{font:inherit;padding:.4em .6em;border:3px solid #000;background:#f3ead6;color:#111;resize:vertical}
form.contact .btn{align-self:flex-start}
.buyrow{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.6rem 0;border-top:1px solid #2f2943}
.buyrow select{margin-top:.3rem;max-width:100%}
.prices{width:auto;margin:.3rem 0}
.prices td{border:none;border-bottom:1px solid #2f2943;padding:.35rem 1.2rem .35rem 0;vertical-align:top}
