/* Solaprise — shared styles.
   Palette lifted from the game's own :root so the site and the app match. */
:root{
  --bg:#fdf6ec;
  --panel:#ffffff;
  --ink:#3a2e26;
  --muted:#8a7a6d;
  --accent:#e8734a;
  --accent-dark:#c85a34;
  --border:#eee0d0;
  --tile:#f6ead9;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#241c16;
    --panel:#2f261e;
    --ink:#f2ede4;
    --muted:#c0ae9d;
    --accent:#f08a63;
    --accent-dark:#e8734a;
    --border:#43362a;
    --tile:#332920;
  }
}
:root[data-theme="dark"]{
  --bg:#241c16;
  --panel:#2f261e;
  --ink:#f2ede4;
  --muted:#c0ae9d;
  --accent:#f08a63;
  --accent-dark:#e8734a;
  --border:#43362a;
  --tile:#332920;
}

*{ box-sizing:border-box; }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6;
  -webkit-text-size-adjust:100%;
}
.wrap{
  max-width:44rem;
  margin:0 auto;
  padding:3rem 1.25rem 4rem;
}
header.site{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  padding-bottom:1.5rem;
  margin-bottom:2.5rem;
  border-bottom:1px solid var(--border);
}
.brand{
  font-weight:800;
  font-size:1.15rem;
  letter-spacing:-0.01em;
  color:var(--ink);
  text-decoration:none;
}
.brand span{ color:var(--accent-dark); }
nav.site{ display:flex; gap:1.25rem; }
nav.site a{
  color:var(--muted);
  text-decoration:none;
  font-size:0.9rem;
  font-weight:600;
}
nav.site a:hover, nav.site a:focus-visible{ color:var(--accent-dark); }

h1{
  font-size:2rem;
  line-height:1.2;
  margin:0 0 0.75rem;
  font-weight:800;
  letter-spacing:-0.02em;
  text-wrap:balance;
}
h2{
  font-size:1.1rem;
  margin:2.25rem 0 0.5rem;
  font-weight:800;
}
p{ margin:0 0 1rem; }
.lede{ font-size:1.1rem; color:var(--muted); margin-bottom:2rem; }
.meta{ font-size:0.85rem; color:var(--muted); }

a{ color:var(--accent-dark); }
a:focus-visible, button:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}

.card{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:14px;
  padding:1.25rem 1.4rem;
  margin:1.5rem 0;
}
ul{ padding-left:1.2rem; margin:0 0 1rem; }
li{ margin-bottom:0.4rem; }

footer.site{
  margin-top:3.5rem;
  padding-top:1.5rem;
  border-top:1px solid var(--border);
  font-size:0.85rem;
  color:var(--muted);
  display:flex;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
footer.site a{ color:var(--muted); }
