/* The landing page of a closed test world: the game's palette over THEMIS imagery of the region. */
:root {
  --ground: #1a1210;
  --panel: rgba(28, 20, 17, 0.78);
  --ink: #f2e6d9;
  --muted: #b9a594;
  --line: rgba(242, 230, 217, 0.18);
  --accent: #7fc4ff;
  --accent-ink: #0d1a26;
  --warn: #f0b35a;
  --font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { background: var(--ground); }
body {
  margin: 0; min-height: 100vh; min-height: 100svh;
  display: flex; flex-direction: column;
  color: var(--ink); font: 16px/1.5 var(--font);
}
/* the region itself, dimmed and warmed so the text stays readable */
body::before {
  content: ""; position: fixed; inset: 0; z-index: -1;
  background:
    linear-gradient(100deg, rgba(26, 18, 16, 0.96) 0%, rgba(26, 18, 16, 0.82) 45%, rgba(26, 18, 16, 0.45) 100%),
    url(/data/slice/surface.jpg) center / cover no-repeat;
  filter: sepia(0.35) saturate(1.2);
}
a { color: var(--accent); }
button, input { font: inherit; color: inherit; }

.welcome {
  flex: 1;
  width: 100%; max-width: 600px;
  padding: max(12vh, 48px) 16px 32px;
  margin-left: max(16px, 8vw);
}
@media (max-width: 640px) { .welcome { margin-left: 0; padding-top: 40px; } }

.eyebrow {
  margin: 0 0 12px; color: var(--warn);
  font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
}
.eyebrow span { color: var(--muted); padding: 0 4px; }
h1 { margin: 0 0 16px; font-size: clamp(30px, 6vw, 46px); line-height: 1.1; letter-spacing: -0.01em; text-wrap: balance; }
.lede { margin: 0 0 32px; color: var(--muted); font-size: 17px; max-width: 34em; }

.door {
  padding: 20px; border: 1px solid var(--line); border-radius: 12px;
  background: var(--panel); backdrop-filter: blur(6px);
}
.door p { margin: 0; }
label { display: block; margin-bottom: 8px; font-weight: 600; }
.row { display: flex; gap: 8px; flex-wrap: wrap; }
input {
  flex: 1 1 240px; min-width: 0; padding: 12px 14px;
  border: 1px solid var(--line); border-radius: 8px; background: rgba(0, 0, 0, 0.35);
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 16px; letter-spacing: 0.06em;
  text-transform: uppercase;
}
input::placeholder { color: rgba(242, 230, 217, 0.35); }
input:focus-visible, button:focus-visible, a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
button, .button {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 12px 18px; border: 1px solid var(--line); border-radius: 8px;
  background: transparent; cursor: pointer; text-decoration: none; color: var(--ink); font-weight: 600;
}
.primary { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
button:disabled { opacity: 0.6; cursor: progress; }
.door .msg { min-height: 1.5em; margin-top: 10px; color: var(--warn); font-size: 14px; }
.note { color: var(--muted); font-size: 14px; }
#signed-in .row { margin-top: 14px; }
@media (max-width: 480px) { .row > button, .row > .button { flex: 1 1 100%; } }

.world {
  display: flex; flex-wrap: wrap; gap: 8px 28px;
  margin: 28px 0 0; padding: 0;
}
.world dt { color: var(--muted); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
.world dd { margin: 0; font-variant-numeric: tabular-nums; font-size: 15px; }

.foot {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px;
  padding: 16px; color: var(--muted); font-size: 12px;
}
.foot a { color: var(--muted); }
[hidden] { display: none !important; }
