/* Arcade Swish brand. Layout: a dark arcade night, one centered column up to 1120px,
   with game colors used only on game art. One accent pairing: hot pink to sun gold, the "swish" arc. */
:root{
  color-scheme:dark;
  --bg:#130E24;--bg2:#1B1433;--panel:#221A3D;--ink:#FFF9F0;--dim:#FFF9F0B3;--line:#FFF9F01F;
  --hot:#FF3D68;--sun:#FFC83D;--swish:linear-gradient(90deg,#FF3D68,#FFC83D);
  --display:"Bagel Fat One","Arial Rounded MT Bold",system-ui,sans-serif;
  --body:"Onest",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:18px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--sun)}
a:focus-visible,.btn:focus-visible,summary:focus-visible{outline:2px solid var(--sun);outline-offset:3px;border-radius:8px}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.1;margin:0;text-wrap:balance;letter-spacing:.005em}
h1{font-size:clamp(36px,6vw,64px)}
h2{font-size:clamp(24px,3.2vw,34px)}
p{margin:0}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.dim{color:var(--dim)}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sun);margin-bottom:10px}
.lede{font-size:clamp(17px,2vw,20px);color:var(--dim);max-width:60ch;margin-top:14px}
.hl{background:var(--swish);-webkit-background-clip:text;background-clip:text;color:transparent}

/* logo */
.logo{position:relative;display:inline-flex;align-items:flex-end;font-family:var(--display);font-size:24px;line-height:1;color:var(--ink);padding-top:12px}
.logo-word b{font-weight:400;color:var(--sun)}
.logo-arc{position:absolute;left:2px;top:-2px;width:118px;height:30px}
.home{text-decoration:none}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:11;background:var(--bg)}
.top-in{display:flex;align-items:center;gap:20px;min-height:64px}
.top nav{display:flex;gap:18px;margin-left:auto;font-weight:500;font-size:15px}
.top nav a{color:var(--dim);text-decoration:none}.top nav a:hover{color:var(--ink)}
@media (max-width:720px){.top nav{display:none}.top .btn{margin-left:auto}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;background:var(--swish);color:#1B0E14;font:700 16px var(--body);text-decoration:none;box-shadow:0 8px 24px #FF3D6833;transition:transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn.big{min-height:58px;padding:0 30px;font-size:18px}
.btn.small{min-height:40px;padding:0 18px;font-size:15px}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--line)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

/* hero */
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding-block:56px 40px}
.hero-copy{min-width:0}
@media (max-width:860px){.hero{grid-template-columns:1fr;padding-block:36px 24px}.phone{max-width:240px;margin:0 auto}}
.phone{position:relative;aspect-ratio:9/18.5;max-width:300px;width:100%;justify-self:center;border-radius:42px;padding:10px;background:#0B0816;box-shadow:0 0 0 2px #FFF9F014,0 40px 80px #0009}
.phone-screen{position:relative;height:100%;border-radius:32px;overflow:hidden;background:#000}
.reel{display:flex;flex-direction:column;height:100%;animation:reel 18s cubic-bezier(.7,0,.2,1) infinite}
.reel-card{position:relative;flex:0 0 100%;display:flex;flex-direction:column;justify-content:flex-end;background:var(--sw);overflow:hidden}
.reel-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reel-cap{position:relative;display:flex;flex-direction:column;gap:2px;padding:60px 16px 18px;background:linear-gradient(transparent,#000c)}
.reel-title{font-family:var(--display);font-size:28px;line-height:1}
.reel-hint{font-size:13px;color:var(--dim)}
.phone-rail{position:absolute;right:10px;bottom:84px;display:flex;flex-direction:column;gap:12px}
.phone-rail i{width:26px;height:26px;border-radius:50%;background:#0007;box-shadow:inset 0 0 0 2px #FFF9F055}
.phone{display:block;text-decoration:none;color:var(--ink)}
.swipe-hint{position:absolute;left:50%;bottom:28%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font:700 13px var(--body);color:#fff;text-shadow:0 1px 6px #000;animation:hint 3s ease-in-out infinite}
.thumb{width:34px;height:34px;border-radius:50%;background:#FFF9F0D0;box-shadow:0 0 0 8px #FFF9F033}
@keyframes hint{0%,100%{opacity:0;transform:translate(-50%,30px)}20%{opacity:1;transform:translate(-50%,30px)}60%{opacity:1;transform:translate(-50%,-40px)}80%{opacity:0;transform:translate(-50%,-60px)}}
@keyframes reel{0%,8%{transform:translateY(0)}11%,19%{transform:translateY(-100%)}22%,30%{transform:translateY(-200%)}33%,41%{transform:translateY(-300%)}44%,52%{transform:translateY(-400%)}55%,63%{transform:translateY(-500%)}66%,74%{transform:translateY(-600%)}77%,85%{transform:translateY(-700%)}88%,96%{transform:translateY(-800%)}100%{transform:translateY(-900%)}}
@media (prefers-reduced-motion:reduce){.reel{animation:none}}

.strip{border-block:1px solid var(--line);background:var(--bg2)}
.strip-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding-block:16px;font-weight:700;font-size:15px;color:var(--dim)}

/* blocks */
.block{padding-block:48px 8px;display:flex;flex-direction:column;gap:20px}
.block-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.block-head a{font-weight:700;text-decoration:none}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:s}
.steps li{counter-increment:s;background:var(--panel);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:6px}
.steps li::before{content:counter(s);font-family:var(--display);font-size:30px;color:var(--sun)}
.steps b{font-size:20px}.steps span{color:var(--dim)}
.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.features div{padding:20px;border-radius:var(--r);border:1px solid var(--line)}
.features b{display:block;font-size:18px;margin-bottom:6px}.features p{color:var(--dim);font-size:15px}
@media (max-width:860px){.steps,.features{grid-template-columns:1fr}}

/* tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.tile{display:flex;flex-direction:column;gap:2px;padding:10px 10px 14px;border-radius:var(--r);background:var(--panel);color:var(--ink);text-decoration:none;min-width:0;transition:transform .15s}
.tile:hover{transform:translateY(-2px)}
.tile-art{display:grid;place-items:center;aspect-ratio:3/5;border-radius:12px;margin-bottom:8px;overflow:hidden;font-family:var(--display);font-size:56px;color:#FFF9F0E6;background:radial-gradient(120% 80% at 50% 25%,color-mix(in srgb,var(--sw) 80%,#fff 20%),var(--sw) 60%,#000 130%)}
.tile-art img{width:100%;height:100%;object-fit:cover;display:block}
.tile-name{font-weight:700;font-size:16px}.tile-hint{font-size:13px;color:var(--dim)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips a{padding:8px 14px;border-radius:999px;background:var(--panel);color:var(--ink);text-decoration:none;font-weight:500;font-size:15px}
.chips a:hover{background:#2E2452}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.card-link{display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:var(--r);background:var(--panel);color:var(--ink);text-decoration:none}
.card-link b{font-size:19px}.card-link span{color:var(--dim);font-size:15px}
.rows{display:flex;flex-direction:column;gap:8px}
.row-link{display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;align-items:center;padding:10px;border-radius:14px;background:var(--panel);color:var(--ink);text-decoration:none}
.row-link.plain{grid-template-columns:minmax(0,1fr);padding:16px}
.row-link b{display:block;font-size:17px}.row-link span span{color:var(--dim);font-size:15px}
.row-art{display:grid;place-items:center;width:56px;height:84px;border-radius:12px;overflow:hidden;font-family:var(--display);font-size:26px;background:var(--sw)}
.row-art img{width:100%;height:100%;object-fit:cover;display:block}

/* game and test pages */
.crumbs{font-size:14px;color:var(--dim)}.crumbs a{color:var(--dim)}
.game-hero{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;align-items:center}
@media (max-width:720px){.game-hero{grid-template-columns:1fr}.game-art{max-width:220px}}
.game-art{position:relative;aspect-ratio:432/936;border-radius:28px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;background:var(--sw);box-shadow:0 0 0 2px #FFF9F014,0 30px 60px #0007;color:var(--ink);text-decoration:none}
.game-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.game-art-cap{position:relative;display:flex;flex-direction:column;gap:2px;padding:60px 18px 18px;background:linear-gradient(transparent,#000d)}
.game-art-cap b{font-family:var(--display);font-weight:400;font-size:26px;line-height:1}.game-art-cap small{color:var(--sun);font-weight:700}
.wall{overflow:hidden;padding-block:8px;border-top:1px solid var(--line)}
.wall-track{display:flex;gap:10px;width:max-content;animation:wall 120s linear infinite}
.wall-track a{flex:0 0 auto;width:96px;aspect-ratio:432/936;border-radius:12px;overflow:hidden;opacity:.85}
.wall-track a:hover{opacity:1}
.wall-track img{width:100%;height:100%;object-fit:cover;display:block}
@keyframes wall{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.wall-track,.swipe-hint{animation:none}}
.prose{max-width:760px}
.prose p,.prose li{color:#FFF9F0E0}
.prose ul,.prose ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px}
.prose h2{margin-top:12px}
.answer{font-size:20px;line-height:1.5;padding:18px 20px;border-radius:var(--r);background:var(--panel);border-left:4px solid var(--sun)}
details{border-bottom:1px solid var(--line);padding:14px 0}
summary{cursor:pointer;font-weight:700;font-size:17px}
details p{margin-top:8px;color:var(--dim)}
.faq{max-width:760px}

.final{margin-top:56px;background:var(--bg2);border-top:1px solid var(--line)}
.final-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-block:44px}

/* footer */
.foot{margin-top:56px;border-top:1px solid var(--line);padding-block:36px 24px;padding-bottom:max(24px,env(safe-area-inset-bottom,0px))}
.foot-in{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}
.foot-in div{display:flex;flex-direction:column;gap:8px;min-width:0}
.foot-in a{color:var(--dim);text-decoration:none}.foot-in a:hover{color:var(--ink)}
.foot-in .dim{font-size:15px;max-width:34ch}
.small-print{font-size:13px;margin-top:24px}
@media (max-width:720px){.foot-in{grid-template-columns:1fr 1fr}.foot-in>div:first-child{grid-column:1/-1}}
