/* The GeoHackers atmosphere, in one file.
 *
 * Lifted verbatim from GeoHackers-2027/community-site so /xl1 and geohackers.*
 * read as one place rather than two projects that happen to share a subject.
 * Change a colour here and every page under /xl1 follows.
 *
 * The producer pages at /xl1/windows and /xl1/rbpi3 deliberately do NOT load
 * this: each is a single self-contained file with no external requests, which
 * is what lets a node publish one to any static host. They carry the same
 * palette by hand instead. Two copies of a colour is a smaller problem than a
 * status page that goes blank because a stylesheet 404'd.
 */
:root {
  --bg-0:#070d11; --bg-1:#0c1720; --bg-2:#10202b;
  --panel:rgba(255,255,255,.03); --panel-border:rgba(45,212,191,.18);
  --text:#e7f3f2; --muted:#9fb6b8;
  --accent:#2dd4bf; --accent-soft:rgba(45,212,191,.14);
  --amber:#f2b134; --gold:#d6a866; --blue:#4ea8de; --pink:#ec4899; --orange:#f97316;
  color-scheme: dark;
}
* { box-sizing:border-box }
body {
  margin:0; background:radial-gradient(circle at top, var(--bg-2), var(--bg-0) 70%);
  background-attachment:fixed; color:var(--text);
  font:15px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
a { color:var(--accent); text-decoration:none }
a:hover { text-decoration:underline }
.wrap { max-width:1100px; margin:0 auto; padding:0 20px }

header.site { padding:22px 0; border-bottom:1px solid var(--panel-border); background:rgba(7,13,17,.6) }
header.site .wrap { display:flex; align-items:center; gap:14px; flex-wrap:wrap }
.brand { font-weight:700; letter-spacing:.2px; font-size:17px;
  color:var(--text); text-decoration:none }
a.brand:hover { color:var(--gold) }
/* Gold, not the section's teal. This section looks different from the rest of
   winlew.co on purpose, and a visitor who crosses into it should read that as
   arriving somewhere rather than as leaving the site -- so the one mark that
   says whose site it is keeps the main site's colour, and links home. */
.brand .mark { color:var(--gold) }
.tag { font-size:11px; padding:3px 10px; border-radius:999px;
  border:1px solid var(--panel-border); color:var(--muted) }
.tag.live { color:var(--accent); border-color:rgba(45,212,191,.45) }
.tag.alpha { color:var(--amber); border-color:rgba(242,177,52,.4) }
nav.site { margin-left:auto; display:flex; gap:18px; flex-wrap:wrap; font-size:14px }
nav.site a { color:var(--muted) } nav.site a:hover { color:var(--text) }

.hero { padding:56px 0 30px }
.hero h1 { font-size:36px; line-height:1.15; margin:0 0 12px; letter-spacing:-.4px }
.hero p { color:var(--muted); max-width:62ch; margin:0 0 8px; font-size:16px }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:16px; padding:16px 0 40px }

.card { background:var(--panel); border:1px solid var(--panel-border); border-radius:14px;
  padding:18px 20px; display:flex; flex-direction:column; gap:8px }
.card h2 { margin:0; font-size:16px; display:flex; align-items:center; gap:8px }
.card p { margin:0; color:var(--muted); font-size:14px }
.card .cta { margin-top:auto; padding-top:10px; font-size:14px; font-weight:600 }
.card.live { border-color:rgba(45,212,191,.4) }
.card.soon { opacity:.72 }
.pillrow { display:flex; gap:8px; flex-wrap:wrap; margin-top:4px }
.pill { font-size:11px; padding:2px 9px; border-radius:999px; background:var(--accent-soft);
  color:var(--accent); border:1px solid rgba(45,212,191,.28) }
.pill.amber { background:rgba(242,177,52,.12); color:var(--amber); border-color:rgba(242,177,52,.3) }
.pill.blue  { background:rgba(78,168,222,.12); color:var(--blue); border-color:rgba(78,168,222,.3) }
.pill.pink  { background:rgba(236,72,153,.12); color:var(--pink); border-color:rgba(236,72,153,.3) }

.note { border:1px solid rgba(242,177,52,.35); background:rgba(242,177,52,.07);
  border-radius:12px; padding:14px 16px; color:var(--text); font-size:14px; margin:0 0 22px }
.section-title { font-size:12px; text-transform:uppercase; letter-spacing:.09em;
  color:var(--muted); margin:26px 0 2px }

footer.site { border-top:1px solid var(--panel-border); margin-top:26px; padding:22px 0 40px;
  color:var(--muted); font-size:13px }
