@font-face { font-family: "Press"; src: url("PressStart2P-Regular.ttf"); font-display: swap; }
@font-face { font-family: "VT"; src: url("VT323-Regular.ttf"); font-display: swap; }

:root {
  --bg1: #100a28; --bg2: #341054; --yellow: #ffd23f; --pink: #ff3d81; --cyan: #3debff;
  --green: #5ae678; --white: #f0f0ff; --dim: #7864a0; --panel: rgba(20, 12, 45, .82);
}
* { box-sizing: border-box; }
html { background: var(--bg1); }
body {
  margin: 0; color: var(--white); font: 22px/1.35 "VT", monospace;
  background: linear-gradient(var(--bg1), var(--bg2)) fixed;
  min-height: 100vh;
}
body::after { /* scanlines */
  content: ""; position: fixed; inset: 0; pointer-events: none;
  background: repeating-linear-gradient(to bottom, rgba(0,0,0,.18) 0 1px, transparent 1px 3px);
}
a { color: var(--cyan); }
.wrap { max-width: 1100px; margin: 0 auto; padding: 24px 16px 48px; }
header { text-align: center; padding: 18px 0 8px; }
.logo { font: 40px "Press", monospace; color: var(--yellow); text-shadow: 4px 4px 0 var(--pink); margin: 0; }
.tag { font: 12px "Press", monospace; color: var(--cyan); margin-top: 14px; letter-spacing: 1px; }
h2 { font: 16px "Press", monospace; color: var(--yellow); text-shadow: 2px 2px 0 var(--pink); margin: 0 0 16px; }
.grid { display: grid; grid-template-columns: 2fr 1fr; gap: 20px; margin-top: 20px; }
.card { background: var(--panel); border: 3px solid var(--dim); border-radius: 6px; padding: 18px; }
.card.pink { border-color: var(--pink); } .card.cyan { border-color: var(--cyan); }
.player { position: relative; aspect-ratio: 16 / 9; background: #000; border: 3px solid var(--pink); border-radius: 6px; overflow: hidden; }
.player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.cta { display: inline-block; font: 12px "Press", monospace; color: var(--bg1); background: var(--yellow);
       padding: 12px 16px; border-radius: 4px; text-decoration: none; margin: 6px 6px 0 0; }
.cta.alt { background: var(--cyan); }
.tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; }
.tabs button { font: 10px "Press", monospace; background: transparent; color: var(--dim); border: 2px solid var(--dim);
               padding: 8px; border-radius: 4px; cursor: pointer; }
.tabs button.on { color: var(--bg1); background: var(--yellow); border-color: var(--yellow); }
ol.rank { margin: 0; padding: 0; list-style: none; counter-reset: r; }
ol.rank li { counter-increment: r; display: flex; justify-content: space-between; gap: 8px; padding: 4px 0;
             border-bottom: 1px dashed rgba(120,100,160,.4); }
ol.rank li::before { content: counter(r) "."; color: var(--dim); width: 2.2em; }
ol.rank li span:first-of-type { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
ol.rank li:nth-child(1)::before { color: var(--yellow); } ol.rank li:nth-child(2)::before { color: #d2d2e6; }
ol.rank li:nth-child(3)::before { color: #e69650; }
.pts { color: var(--cyan); }
.live { font: 11px "Press", monospace; color: var(--dim); margin-top: 12px; min-height: 2.6em; }
.live b { color: var(--yellow); font-weight: normal; }
code { font: 13px "Press", monospace; color: var(--yellow); }
ul.cmds { padding-left: 1.1em; margin: 0; }
.topics { display: flex; flex-wrap: wrap; gap: 6px; }
.topics span { font: 9px "Press", monospace; border: 2px solid var(--dim); padding: 6px; border-radius: 3px; }
footer { text-align: center; color: var(--dim); margin-top: 32px; font-size: 20px; }
.legal { max-width: 820px; } .legal h1 { font: 20px "Press", monospace; color: var(--yellow); }
.legal h3 { font: 12px "Press", monospace; color: var(--cyan); margin-top: 28px; }
@media (max-width: 820px) {
  .grid { grid-template-columns: 1fr; }
  .logo { font-size: 26px; }
}
