/* Loot & Scoot - Minimal 16-bit landing page (responsive) */

:root{
  --bg:#0b0d10;
  --fg:#e9eef5;
  --muted:rgba(233,238,245,.70);
  --line:rgba(233,238,245,.35);
  --hover:rgba(255,255,255,.10);
  --card:rgba(255,255,255,.06);
  --cardbr:rgba(255,255,255,.14);
}

*{ box-sizing:border-box; }
html,body{ height:100%; }

body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:"Press Start 2P", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.wrap{
  min-height:100%;
  display:grid;
  place-items:center;
  padding:24px 14px;
}

.stack{
  width:min(820px,100%);
  display:grid;
  justify-items:center;
  gap:18px;
  text-align:center;
}

.stack-wide{ width:min(1200px, 100%); }

.logo{
  width:min(520px, 90vw);
  height:auto;
  display:block;
  image-rendering:pixelated;
  filter: drop-shadow(0 18px 40px rgba(0,0,0,.55));
}

/* Link list */
.links{
  width:min(560px,100%);
  display:grid;
  gap:12px;
  margin-top:4px;
}

/* 16-bit text link look */
.plink{
  display:inline-block;
  padding:10px 14px;
  text-decoration:none;
  color:var(--fg);
  font-size:12px;
  letter-spacing:0.5px;
  line-height:1.3;
  border-radius:10px;
  background:transparent;
  text-shadow: 2px 2px 0 rgba(0,0,0,.55);
  outline: none;
}

.plink::after{
  content:"";
  display:block;
  margin:10px auto 0;
  width:min(420px, 92%);
  height:2px;
  background:var(--line);
}

.plink:hover{ background:var(--hover); }
.plink:focus-visible{ outline:2px solid rgba(233,238,245,.9); outline-offset:4px; }

.hint{ margin-top:6px; font-size:10px; color:var(--muted); }

/* Maps page */
.topbar{ width:100%; display:flex; justify-content:flex-start; }
.back{
  font-size:11px;
  text-decoration:none;
  color:var(--fg);
  padding:10px 12px;
  border-radius:10px;
}
.back:hover{ background:var(--hover); }

.title{ font-size:18px; margin:0; }
.subtle{ margin:0; font-size:10px; color:var(--muted); max-width: 70ch; }

.gallery{
  width:100%;
  display:grid;
  grid-template-columns: 1fr;
  gap:14px;
  margin-top:8px;
}

.card{
  text-align:left;
  padding:12px;
  border-radius:14px;
  border:1px solid var(--cardbr);
  background:var(--card);
}

.card h2{ font-size:12px; margin:0 0 10px 0; }

.card img{
  width:100%;
  height:auto;
  display:block;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.10);
}

/* Desktop: 2 columns */
@media (min-width: 920px){
  .wrap{ padding:32px 18px; }
  .gallery{ grid-template-columns: 1fr 1fr; gap:16px; }
}

/* Mobile fine-tuning */
@media (max-width: 420px){
  .plink{ font-size:11px; }
  .plink::after{ width: min(320px, 90%); }
  .title{ font-size:16px; }
  .card{ padding:10px; }
}
