@font-face{font-family:Michroma;src:url(fonts/michroma-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:Outfit;font-weight:400;src:url(fonts/outfit-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:Outfit;font-weight:700;src:url(fonts/outfit-latin-700-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Share Tech Mono";src:url(fonts/share-tech-mono-latin-400-normal.woff2) format("woff2");font-display:swap}

:root{
  --void:#04070b;--hull:#0a1118;--panel:#0f1923;--grid:#1a2a36;--dim:#8aa4b3;--text:#d8e8ef;--white:#f4f9fb;
  --amber:#ffb23e;--amber-ink:#1c1100;--cyan:#62d3ff;--green:#5fe3a1;--red:#ff6b5e;
  --f-display:Michroma,"Segoe UI",sans-serif;--f-body:Outfit,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;--f-mono:"Share Tech Mono",ui-monospace,monospace;
  --wrap:1180px;--r:14px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--void);color:var(--text);font:400 17px/1.6 var(--f-body);overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(1200px 600px at 80% -10%,#12324a55,transparent 70%),radial-gradient(900px 500px at -10% 30%,#3a250733,transparent 70%),
  repeating-linear-gradient(0deg,transparent 0 47px,#ffffff05 47px 48px),repeating-linear-gradient(90deg,transparent 0 47px,#ffffff05 47px 48px)}
img{max-width:100%;height:auto;display:block}
a{color:var(--cyan)}
a:hover{color:var(--white)}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:4px}
.wrap{width:min(var(--wrap),100% - 32px);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--amber);color:var(--amber-ink);padding:8px 14px;border-radius:8px;z-index:10}
.skip:focus{left:16px}

/* header */
.top{position:sticky;top:0;z-index:5;background:#04070bd9;backdrop-filter:blur(10px);border-bottom:1px solid var(--grid)}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--amber);font:400 19px/1 var(--f-display);letter-spacing:.14em}
.brand svg{width:30px;height:30px;flex:none}
.nav{display:flex;gap:6px;margin-left:auto;align-items:center;flex-wrap:wrap}
.nav a{color:var(--text);text-decoration:none;padding:8px 12px;border-radius:999px;font-size:15px}
.nav a:hover,.nav a[aria-current=page]{background:var(--panel);color:var(--white)}
.nav .btn{margin-left:6px}
@media (max-width:720px){.nav a:not(.btn){display:none}.brand{font-size:16px}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border-radius:999px;border:1px solid var(--grid);
  background:var(--panel);color:var(--white);font:700 16px/1 var(--f-body);text-decoration:none;cursor:pointer}
.btn:hover{border-color:var(--cyan);color:var(--white)}
.btn.main{background:var(--amber);border-color:var(--amber);color:var(--amber-ink)}
.btn.main:hover{background:#ffc568;color:var(--amber-ink)}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.nav .btn{min-height:38px;padding:0 16px;font-size:14px}

/* type */
.eyebrow{font:400 13px/1.3 var(--f-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--amber);margin:0 0 14px}
h1,h2,h3{color:var(--white);line-height:1.15;margin:0 0 .5em}
h1{font:400 clamp(30px,5.4vw,62px)/1.08 var(--f-display);letter-spacing:.02em}
h2{font:400 clamp(24px,3.2vw,36px)/1.15 var(--f-display)}
h3{font:700 20px/1.3 var(--f-body)}
.lead{font-size:clamp(18px,2vw,21px);color:var(--text);max-width:38em}
.muted{color:var(--dim)}
section{padding:72px 0}
section+section{border-top:1px solid #ffffff0a}

/* hero */
.hero{padding:64px 0 40px}
.hero .grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
@media (min-width:980px){.hero .grid{grid-template-columns:5fr 7fr}}
.acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.note{font:400 14px/1.4 var(--f-mono);color:var(--dim);margin-top:16px;letter-spacing:.03em}
.screen{position:relative;border-radius:16px;padding:10px;background:linear-gradient(160deg,#1d3446,#0b141c);border:1px solid #2b465a;box-shadow:0 30px 80px #000a,0 0 0 1px #000 inset}
.screen img{border-radius:9px;width:100%}
.screen::after{content:"";position:absolute;left:12%;right:12%;bottom:-18px;height:18px;background:radial-gradient(closest-side,#62d3ff33,transparent);filter:blur(6px)}

/* cards */
.cards{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:var(--hull);border:1px solid var(--grid);border-radius:var(--r);padding:24px}
.card p{margin:.3em 0 0}
.card .num{font:400 34px/1 var(--f-display);color:var(--amber);margin-bottom:12px}
.games{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-top:28px}
.games figure{margin:0;background:var(--hull);border:1px solid var(--grid);border-radius:12px;overflow:hidden}
.games img{aspect-ratio:1/1;object-fit:cover;object-position:78% 50%;width:100%}
.games figcaption{font:400 12px/1.3 var(--f-mono);letter-spacing:.12em;padding:10px 12px;color:var(--white)}
.split{display:grid;gap:36px;align-items:center}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr}}
.ticks{list-style:none;padding:0;margin:18px 0 0}
.ticks li{position:relative;padding:8px 0 8px 30px;border-bottom:1px solid #ffffff0d}
.ticks li::before{content:"";position:absolute;left:4px;top:15px;width:12px;height:7px;border-left:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(-45deg)}
.langs{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.langs span{font:400 14px/1 var(--f-body);padding:8px 12px;border-radius:999px;background:var(--panel);border:1px solid var(--grid)}

/* pricing */
.plans{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:30px}
.plan{display:flex;flex-direction:column;background:var(--hull);border:1px solid var(--grid);border-radius:var(--r);padding:26px}
.plan.best{border-color:var(--amber);box-shadow:0 0 0 1px var(--amber) inset}
.plan .tag{align-self:flex-start;font:400 12px/1 var(--f-mono);letter-spacing:.16em;background:var(--amber);color:var(--amber-ink);padding:6px 10px;border-radius:999px;margin-bottom:14px}
.plan h3{margin-bottom:6px}
.price{font:400 34px/1.1 var(--f-display);color:var(--white);margin:10px 0 2px}
.price s{font-size:18px;color:var(--dim);margin-left:10px}
.plan .per{font-size:14px;color:var(--dim);margin:0 0 14px}
.plan ul{padding-left:18px;margin:0 0 20px;flex:1}
.plan li{margin:6px 0}
.plan select,.field input{width:100%;min-height:44px;margin:0 0 12px;padding:0 12px;border-radius:10px;border:1px solid var(--grid);background:var(--panel);color:var(--white);font:400 16px var(--f-body)}
.field{max-width:520px;margin:30px 0 0}
.field label{display:block;font-weight:700;margin-bottom:6px;color:var(--white)}
.field small{display:block;color:var(--dim);margin-top:-4px}
.fine{font-size:14px;color:var(--dim);margin-top:24px}
.faq details{background:var(--hull);border:1px solid var(--grid);border-radius:12px;padding:16px 20px;margin:10px 0}
.faq summary{cursor:pointer;font-weight:700;color:var(--white)}
.faq details p{margin:.6em 0 0}

/* licence page */
.keybox{font:400 15px/1.5 var(--f-mono);word-break:break-all;background:#000;border:1px solid var(--amber);border-radius:10px;padding:16px;color:var(--amber);margin:14px 0}
.status{min-height:1.6em}
ol.steps{padding-left:22px}
ol.steps li{margin:8px 0}

/* legal */
.legal{max-width:760px}
.legal h2{font:700 22px/1.3 var(--f-body);margin-top:36px}
.legal p,.legal li{color:var(--text)}

/* footer */
footer{border-top:1px solid var(--grid);padding:36px 0 48px;color:var(--dim);font-size:15px}
footer .wrap{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center}
footer nav{display:flex;flex-wrap:wrap;gap:6px 18px}
footer a{color:var(--dim)}
footer .right{margin-left:auto}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Generated helmet symbol and correctly framed square game artwork. */
.brand img{width:44px;height:44px;object-fit:contain;flex:none}.games img{object-position:center;object-fit:contain;display:block;background:#07101a}
