:root {
  color-scheme: dark;
  --bg:#05080c;
  --panel:#0b1117;
  --panel-2:#0e151d;
  --line:#26313c;
  --text:#f2f7f9;
  --muted:#8ea0ac;
  --cyan:#20e6e6;
  --green:#4cff43;
  --red:#ff4651;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

* { box-sizing:border-box; }
html, body { margin:0; width:100%; min-height:100%; background:var(--bg); color:var(--text); }
body { overflow:hidden; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }

.landing-home {
  min-height:100dvh;
  background:
    radial-gradient(circle at 50% -18%, rgba(32,230,230,.10), transparent 36%),
    linear-gradient(180deg,#05080c 0%,#080d12 54%,#05080c 100%);
}

.home-shell {
  width:min(1480px,100%);
  height:100dvh;
  margin:0 auto;
  padding:clamp(10px,1.5vh,18px) clamp(14px,2.2vw,32px) clamp(8px,1.1vh,14px);
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:clamp(8px,1.2vh,14px);
}

.home-brand {
  display:grid;
  justify-items:center;
  align-content:center;
  gap:4px;
  text-align:center;
}

.home-logo {
  width:clamp(170px,14vw,228px);
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.38));
}

.home-kicker {
  margin:-5px 0 0;
  color:var(--cyan);
  font-size:clamp(10px,.8vw,12px);
  font-weight:900;
  letter-spacing:.28em;
}

.home-brand h1 {
  margin:1px 0 0;
  font-size:clamp(13px,1.15vw,18px);
  line-height:1.15;
  letter-spacing:.08em;
  font-weight:850;
}

.home-actions {
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:3px;
}

.home-join,
.home-signin {
  min-height:32px;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  transition:border-color .16s ease, background .16s ease, transform .16s ease;
}

.home-join {
  color:#021012;
  border-color:transparent;
  background:linear-gradient(135deg,var(--green),var(--cyan));
}

.home-signin { background:rgba(255,255,255,.025); }

.home-join:hover,
.home-signin:hover,
.home-join:focus-visible,
.home-signin:focus-visible {
  transform:translateY(-1px);
}

.home-signin:hover,
.home-signin:focus-visible {
  border-color:#4b6170;
  background:rgba(255,255,255,.055);
}

.surface-grid {
  min-height:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:clamp(8px,.9vw,14px);
}

.surface-page { display:contents; }

.surface-card {
  min-width:0;
  min-height:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:linear-gradient(180deg,var(--panel-2),var(--panel));
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  box-shadow:0 12px 34px rgba(0,0,0,.18);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.surface-card:hover,
.surface-card:focus-visible {
  transform:translateY(-2px);
  border-color:#476170;
  box-shadow:0 16px 36px rgba(0,0,0,.28);
  outline:none;
}

.surface-media {
  min-height:0;
  overflow:hidden;
  position:relative;
  background:#05090d;
}

.surface-media > img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.surface-meta {
  min-height:42px;
  padding:7px 10px 8px;
  border-top:1px solid rgba(255,255,255,.07);
  display:grid;
  align-content:center;
  justify-items:center;
  gap:1px;
  text-align:center;
}

.surface-meta strong {
  font-size:11px;
  line-height:1;
  letter-spacing:.15em;
}

.surface-meta span {
  color:var(--muted);
  font-size:10px;
  line-height:1.2;
}

.surface-preview {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.home-footer {
  min-height:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  color:#748590;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
}

.home-footer nav {
  display:flex;
  gap:14px;
  align-items:center;
}

.home-footer a:hover,
.home-footer a:focus-visible { color:#c7d4da; }

@media (max-height:760px) and (min-width:781px) {
  .home-shell { padding-top:8px; gap:7px; }
  .home-logo { width:150px; }
  .home-kicker { font-size:9px; }
  .home-brand h1 { font-size:12px; }
  .home-actions { margin-top:1px; }
  .home-join,.home-signin { min-height:28px; font-size:10px; }
  .surface-meta { min-height:36px; padding:5px 9px; }
}

@media (max-width:780px) {
  html,body { min-height:100%; }
  body { overflow:auto; }
  .landing-home { overflow:hidden; }

  .home-shell {
    width:100%;
    height:100svh;
    padding:0;
    display:block;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    scroll-snap-type:y mandatory;
  }

  .home-brand {
    min-height:100svh;
    padding:24px 18px max(24px,env(safe-area-inset-bottom));
    scroll-snap-align:start;
    scroll-snap-stop:always;
    align-content:center;
  }

  .home-logo { width:min(64vw,260px); }
  .home-kicker { margin-top:-6px; font-size:11px; }
  .home-brand h1 {
    max-width:320px;
    margin-top:10px;
    font-size:18px;
    line-height:1.3;
  }

  .home-actions {
    width:min(330px,100%);
    margin-top:16px;
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .home-join,.home-signin { min-height:44px; }

  .surface-grid { display:block; }

  .surface-page {
    height:100svh;
    padding:12px;
    display:grid;
    grid-template-rows:repeat(2,minmax(0,1fr));
    gap:12px;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    background:linear-gradient(180deg,#05080c,#080d12);
  }

  .surface-card { border-radius:12px; }
  .surface-meta { min-height:48px; padding:8px 10px; }
  .surface-meta strong { font-size:12px; }
  .surface-meta span { font-size:11px; }

  .home-footer {
    min-height:26svh;
    padding:28px 18px max(28px,env(safe-area-inset-bottom));
    display:grid;
    justify-items:center;
    justify-content:center;
    align-content:center;
    gap:14px;
    text-align:center;
    scroll-snap-align:end;
  }

  .home-footer nav {
    flex-wrap:wrap;
    justify-content:center;
  }
}

@media (prefers-reduced-motion:reduce) {
  .surface-card,
  .home-join,
  .home-signin { transition:none; }
}
