@font-face{font-family:Pixel;src:url('assets/pixel.ttf') format('truetype');font-display:swap}
@font-face{font-family:Orbitron;src:url('assets/orbitron.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--bg:#161b18;--ink:#ebe6d9;--muted:#b2b7ac;--gold:#d6ae69;--line:#353c32}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--ink);font-family:'Trebuchet MS',sans-serif;-webkit-font-smoothing:antialiased}.page{max-width:1440px;min-height:100svh;margin:auto;padding:0 clamp(24px,6.4vw,100px);display:flex;flex-direction:column}header{height:116px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:24px}.wordmark{font-family:Pixel,monospace;font-size:21px;letter-spacing:-1.8px;color:var(--ink);text-decoration:none;white-space:nowrap}.wordmark>span:first-child{color:var(--gold)}.brand-dot{color:var(--gold);margin-left:12px;font-size:17px}.beta{font-size:10px;letter-spacing:1.6px;color:var(--gold);display:flex;align-items:center;gap:10px;font-weight:bold}.beta>span{height:6px;width:6px;background:var(--gold)}main{flex:1;display:flex;align-items:center}.hero{width:100%;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(20px,3.5vw,60px);align-items:center;padding:65px 0 72px}.intro{position:relative;z-index:1}.eyebrow{color:var(--gold);font-size:10px;font-weight:bold;letter-spacing:2.4px;margin:0 0 28px}h1{font-family:Orbitron,sans-serif;font-size:clamp(48px,5.7vw,79px);font-weight:400;letter-spacing:-3px;line-height:1.16;margin:0 0 27px}h1 span{color:var(--gold)}.description{font-size:17px;line-height:1.75;color:var(--muted);max-width:380px;margin:0 0 36px}.downloads{display:flex;gap:12px;flex-wrap:wrap}.download{display:flex;gap:13px;align-items:center;min-height:77px;padding:17px 16px;color:var(--bg);background:var(--gold);text-decoration:none;border:1px solid var(--gold);transition:background .18s ease,transform .18s ease;min-width:195px}.download svg{width:23px;height:27px;flex-shrink:0}.download small{display:block;font-size:10px;margin-bottom:6px;letter-spacing:.15px}.download strong{font-size:14px;font-weight:700;white-space:nowrap}.download .arrow{margin-left:auto;font-size:20px;padding-left:4px;align-self:center}.android{color:var(--ink);background:transparent;border-color:#726449;min-width:224px}.download:hover{background:#e5bf7d;transform:translateY(-2px)}.android:hover{background:#292e25}.download:active{transform:translateY(0)}a:focus-visible{outline:3px solid var(--ink);outline-offset:5px}.beta-note{font-size:12px;line-height:1.6;color:var(--muted);margin:18px 0 0}.artwork{margin:0;position:relative;width:100%;padding:24px 0 34px}.artwork img{width:112%;max-width:none;height:auto;display:block;margin-left:-6%;image-rendering:pixelated}.art-corner{position:absolute;width:27px;height:27px;border-color:#535844;border-style:solid}.top{top:8px;left:15px;border-width:1px 0 0 1px}.bottom{bottom:7px;right:8px;border-width:0 1px 1px 0}figcaption{display:flex;align-items:center;justify-content:center;gap:12px;font-size:9px;letter-spacing:2px;color:var(--muted);margin:12px 0 0}.caption-rule{width:20px;height:2px;background:var(--gold)}footer{min-height:73px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:10px;letter-spacing:1.2px;color:var(--muted)}.footer-year{color:#90998b;margin-left:13px;letter-spacing:.4px}
@media(min-width:1400px){.hero{padding-top:90px;padding-bottom:100px}}
@media(max-width:1050px) and (min-width:761px){.downloads{flex-direction:column;max-width:290px}.hero{gap:12px}.artwork img{width:120%;margin-left:-10%}h1{font-size:57px}.description{font-size:16px}}
@media(max-width:760px){header{height:88px}.wordmark{font-size:17px}.brand-dot{margin-left:7px}.beta{font-size:8px;letter-spacing:1px;gap:7px}.hero{grid-template-columns:1fr;gap:0;padding:42px 0 32px}.intro{display:contents}.eyebrow{grid-row:1;margin-bottom:20px;font-size:9px}h1{grid-row:2;font-size:clamp(45px,10.5vw,70px);margin-bottom:20px;letter-spacing:-2px}h1 br{display:none}h1 span::before{content:' '}.description{grid-row:3;max-width:470px;font-size:16px;margin-bottom:15px}.artwork{grid-row:4;width:min(320px,86%);justify-self:center;padding:0 0 18px;margin:0 0 24px}.artwork img{width:100%;margin:0}.art-corner{display:none}figcaption{font-size:8px;margin:0;letter-spacing:1.6px}.downloads{grid-row:5;display:grid;grid-template-columns:1fr 1fr;gap:10px}.download{min-width:0;padding:15px 12px;gap:10px}.android{min-width:0}.download svg{width:20px;height:24px}.download strong{font-size:12px}.download small{font-size:9px}.download .arrow{display:none}.beta-note{grid-row:6;margin-top:15px;font-size:11px}footer{min-height:66px;font-size:9px}.footer-year{margin-left:8px}}
@media(max-width:370px){.downloads{grid-template-columns:1fr}.download{padding:13px 17px;min-height:68px}.download .arrow{display:block}.wordmark{font-size:15px}.brand-dot{display:none}.beta{font-size:7px}h1{font-size:43px}.artwork{width:220px}}
@media(prefers-reduced-motion:reduce){.download{transition:none}.download:hover{transform:none}}
@media(min-width:761px){.artwork{max-width:480px;justify-self:end}}
@media(min-width:1400px){.hero{padding-top:56px;padding-bottom:64px}}

/* Gameplay is the primary visual; keep the full landscape frame visible. */
.wordmark{display:flex;align-items:center}
.brand-mark{width:48px;height:48px;object-fit:contain;margin-right:10px;image-rendering:pixelated}
.hero{grid-template-columns:minmax(0, .95fr) minmax(0, 1.5fr);gap:clamp(30px,4.5vw,70px)}
.gameplay{min-width:0;margin:0;width:100%}
.video-frame{padding:6px;border:1px solid #625a44;background:#1e241e;position:relative;box-shadow:12px 12px 0 #111611}
.video-frame::before,.video-frame::after{content:'';position:absolute;width:20px;height:3px;background:var(--gold);z-index:1;pointer-events:none}
.video-frame::before{top:-2px;left:-1px}.video-frame::after{bottom:-2px;right:-1px}
.gameplay video{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;display:block;background:#161b18;pointer-events:none}
.gameplay video::-webkit-media-controls{display:none!important}
.gameplay video::-webkit-media-controls-start-playback-button{display:none!important}
.gameplay video::-webkit-media-controls-overlay-play-button{display:none!important}
.spotlight-poster {
  position: absolute;
  inset: 0;
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  margin: auto;
  object-fit: contain;
  background: #161b18;
  pointer-events: none;
}
@media (max-width: 760px) {
  .spotlight-poster { width: calc(100% - 8px); height: calc(100% - 8px); }
}
.gameplay figcaption{justify-content:flex-start;margin:20px 0 0;font-size:9px;letter-spacing:1.8px}
.caption-beta{margin-left:auto;color:var(--gold);font-size:8px;letter-spacing:1.6px}
@media(min-width:1051px){h1{font-size:clamp(48px,5.1vw,72px)}.downloads{flex-direction:column;max-width:290px}.hero{padding-top:64px;padding-bottom:72px}}
@media(min-width:761px) and (max-width:1050px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:28px}h1{font-size:48px}}
@media(max-width:760px){.brand-mark{width:38px;height:38px;margin-right:5px}.hero{grid-template-columns:minmax(0,1fr);gap:0}.gameplay{grid-row:4;margin:16px 0 30px}.gameplay figcaption{margin-top:15px;font-size:8px;letter-spacing:1.3px}.caption-beta{font-size:7px}.video-frame{padding:4px;box-shadow:7px 7px 0 #111611}.description{margin-bottom:10px}}
@media(max-width:370px){.brand-mark{width:30px;height:30px}.wordmark{font-size:13px}.hero{padding-top:32px}.gameplay{margin-top:12px}}

.copyright{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);text-decoration:none}.copyright:hover{color:var(--gold);text-decoration:underline;text-underline-offset:4px}footer{flex-wrap:wrap;column-gap:20px;row-gap:0}

.media-button {
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid #625a44;
  background: transparent;
  color: var(--ink);
  font: 700 12px/1.2 'Trebuchet MS', sans-serif;
  cursor: pointer;
}
.media-button:hover, .media-button[data-audible] { background: #292e25; color: var(--gold); }
.media-button:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.media-button:active { background: #353c32; }
.spotlight-button { margin-left: auto; width: 44px; padding: 0; }
.spotlight-button svg { display: block; margin: auto; }
.spotlight-button[data-audible] .sound-cross,
.spotlight-button:not([data-audible]) .sound-waves { display: none; }
.gameplay figcaption { margin-top: 12px; min-height: 44px; }
.boot-mark { display: none; }

@media (min-width: 761px) and (max-width: 940px) {
  .hero { grid-template-columns: minmax(0, 1fr); gap: 26px; padding-block: 40px; }
  .intro { display: contents; }
  .eyebrow { grid-row: 1; margin: 0; }
  h1 { grid-row: 2; margin: 0; }
  h1 br { display: none; }
  h1 span::before { content: ' '; }
  .gameplay { grid-row: 3; }
  .downloads { grid-row: 4; flex-direction: row; max-width: none; }
  .beta-note { grid-row: 5; margin: 0; }
}
@media (max-width: 420px) {
  header { gap: 8px; }
}
@media (prefers-reduced-motion: no-preference) {
  .boot-mark {
    display: grid;
    place-items: center;
    position: absolute;
    inset: 6px;
    z-index: 2;
    background: var(--bg);
    pointer-events: none;
    animation: boot-away 560ms ease-out both;
  }
  .boot-mark img {
    image-rendering: pixelated;
    border-bottom: 2px solid var(--gold);
    animation: boot-scan 340ms steps(5, end) both;
  }
}
@keyframes boot-scan {
  from { clip-path: inset(100% 0 0); }
  to { clip-path: inset(0); }
}
@keyframes boot-away {
  0%, 60% { opacity: 1; }
  100% { opacity: 0; visibility: hidden; }
}

.spotlight-fallback {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  transform: translate(-50%, -50%);
  width: 52px;
  height: 52px;
  background: var(--bg);
}
.spotlight-fallback svg { display: block; margin: auto; }

.legal-links {
  display: flex;
  flex-wrap: wrap;
  column-gap: 20px;
}

.legal-links a,
.legal-home {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--muted);
  font-size: 13px;
  letter-spacing: normal;
  text-underline-offset: 4px;
}

.legal-links a:hover,
.legal-links a[aria-current="page"],
.legal-home:hover,
.legal-copy a {
  color: var(--gold);
}

.legal-main {
  display: block;
  padding-block: clamp(36px, 7vw, 90px);
}

.legal-copy {
  max-width: 68ch;
  font-size: 17px;
  line-height: 1.65;
  overflow-wrap: break-word;
}

.legal-copy .eyebrow {
  margin-bottom: 18px;
}

.legal-copy h1 {
  font-size: clamp(30px, 5vw, 58px);
  letter-spacing: -0.025em;
  margin-bottom: 20px;
}

.legal-copy h2 {
  margin: 2em 0 0.5em;
  font: 600 clamp(18px, 3vw, 24px)/1.3 Orbitron, sans-serif;
}

.legal-copy p {
  margin: 0 0 0.85em;
}

.legal-copy ul {
  padding-inline-start: 1.4em;
}

.legal-copy li + li {
  margin-top: 0.65em;
}

.legal-copy a {
  text-underline-offset: 4px;
}
