/* Landing — same print language as the trainer, no game HUD. */
:root{
  --ink:#07070c; --paper:#f4f1ea;
  --red:#ff2e4d; --yellow:#ffd21f; --teal:#2ee6a8;
  --bg:#07070c; --text:#f4f1ea; --dim:#a09aa8;
  --plate: 7px 7px 0 #000, -2px 0 0 var(--red), 2px 0 0 var(--teal);
}
*{margin:0;padding:0;box-sizing:border-box;user-select:none}
html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);font-family:'Barlow',system-ui,sans-serif;color:var(--text)}
h1,.btn{font-family:'Anton','Arial Narrow',sans-serif;letter-spacing:.04em;text-transform:uppercase}

body.land{
  background:
    radial-gradient(rgba(244,241,234,.05) 1.15px,transparent 1.55px),
    linear-gradient(165deg,#0c0c14 0%,#07070c 55%,#0a0610 100%);
  background-size:10px 10px,auto;
}

#land-stage{
  position:fixed;inset:0;perspective:1400px;perspective-origin:58% 46%;
  overflow:hidden;pointer-events:none;
}
#land-stage::after{
  content:'';position:absolute;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(ellipse at 62% 40%,transparent 8%,rgba(7,7,12,.55) 72%,#07070c 100%);
}
#land-space{
  position:absolute;left:50%;top:48%;width:0;height:0;
  transform-style:preserve-3d;
  will-change:transform;
}
.land-plate{
  position:absolute;left:0;top:0;width:min(38vw,460px);aspect-ratio:16/10;
  margin:0;transform:translate(-50%,-50%);transform-style:preserve-3d;overflow:hidden;
  border:3px solid #000;box-shadow:var(--plate);
  background:#000;
}
.land-plate:nth-child(1){--ink2:var(--red)}
.land-plate:nth-child(2){--ink2:var(--teal)}
.land-plate:nth-child(3){--ink2:var(--yellow)}
.land-plate:nth-child(4){--ink2:var(--red)}
.land-plate::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 0 2px var(--ink2);
  mix-blend-mode:screen;opacity:.35;
}
.land-plate img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:contrast(1.08) saturate(1.05);
}
.land-plate:nth-child(3) img{object-position:18% 40%}
.land-plate:nth-child(4) img{object-position:70% 60%}

.land-hud{
  position:fixed;left:28px;bottom:32px;z-index:4;max-width:min(520px,72vw);
  pointer-events:none;
}
.land-hud .btn,.land-hud #play-install{pointer-events:auto}
.hero-kicker{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.22em;color:var(--yellow);margin-bottom:8px}
.hero-kicker span{width:18px;height:3px;background:var(--red);box-shadow:2px 2px 0 #000}
.glitch{position:relative;font-size:clamp(36px,6vw,64px);line-height:.9;color:#fff;
  text-shadow:4px 4px 0 #000,-2px 0 0 var(--red),2px 0 0 var(--teal)}
.glitch em{font-style:normal;color:var(--red)}
.glitch::before,.glitch::after{
  content:attr(data-text);position:absolute;left:0;top:0;width:100%;
  overflow:hidden;pointer-events:none;
}
.glitch::before{color:var(--red);clip-path:inset(0 0 55% 0);transform:translate(-2px,0);opacity:.7}
.glitch::after{color:var(--teal);clip-path:inset(55% 0 0 0);transform:translate(2px,0);opacity:.7}
.land-lede{margin:14px 0 18px;font-size:15px;line-height:1.45;color:var(--dim);max-width:36em;font-weight:600}
.btn{display:inline-block;background:var(--red);color:#fff;border:3px solid #000;padding:12px 28px;font-size:18px;cursor:pointer;
  letter-spacing:.08em;box-shadow:4px 4px 0 #000;
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
.btn:hover{filter:brightness(1.1);transform:translate(-1px,-2px);box-shadow:6px 6px 0 #000}
.btn:active{transform:translate(3px,3px);box-shadow:0 0 0 #000}
.btn:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:none}
.land-status{margin-top:10px;font-size:13px;color:var(--yellow);min-height:1.3em;font-weight:700;letter-spacing:.04em}

#deskblock{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;
  background:rgba(7,7,12,.86);padding:24px}
#deskblock.on{display:flex}
#deskblock .card{max-width:420px;background:#12121a;border:3px solid #000;border-top:6px solid var(--red);padding:34px;text-align:center;box-shadow:8px 8px 0 #000}
#deskblock h2{color:#fff;font-size:26px}
#deskblock p{color:var(--dim);font-size:14px;line-height:1.6;margin-top:12px}

body.phone .land-hud{display:none}

@media (prefers-reduced-motion:reduce){
  .glitch::before,.glitch::after{display:none}
  #land-stage{
    perspective:none;display:flex;align-items:center;justify-content:flex-end;
    padding:10vh 5vw 22vh 0;opacity:1;
  }
  #land-stage::after{display:none}
  #land-space{
    position:relative;left:auto;top:auto;width:min(58vw,780px);height:auto;
    display:grid;grid-template-columns:1fr 1fr;gap:14px;
    transform:none!important;
  }
  .land-plate{position:relative;margin:0;width:100%;transform:none!important}
}
