/* chainfang.app: cold iron, soulfire teal and blood crimson, like the game's menus. */
:root {
  --bg: #07080c;
  --panel: #151920;
  --panel2: #1c212a;
  --edge: #2f3b4a;
  --ink: #eceae4;
  --ink2: #9aa3b0;
  --soul: #3ff0dc;
  --blood: #c41e32;
  --gold: #ffc233;
  color-scheme: dark;
}
* {
  box-sizing: border-box;
}
html,
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 16px/1.6 system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
body {
  min-height: 100vh;
  background: radial-gradient(ellipse 80% 50% at 50% 0%, rgba(138, 26, 26, 0.25), transparent 70%), var(--bg);
}
a {
  color: var(--soul);
}
a:hover {
  text-decoration-thickness: 2px;
}
.wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 24px 16px 64px;
}
header.bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--edge);
  background: rgba(10, 12, 17, 0.85);
}
header.bar a.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--ink);
  text-decoration: none;
  font: 700 20px/1 'Oswald', 'Arial Narrow', sans-serif;
  letter-spacing: 0.06em;
}
header.bar img {
  width: 34px;
  height: 34px;
}
header.bar nav {
  margin-left: auto;
  display: flex;
  gap: 14px;
  font-size: 14px;
}
header.bar nav a {
  color: var(--ink2);
  text-decoration: none;
}
header.bar nav a:hover {
  color: var(--ink);
}
h1,
h2,
h3 {
  font-family: 'Oswald', 'Arial Narrow', sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.2;
}
h1 {
  font-size: 34px;
  margin: 8px 0 4px;
}
h2 {
  font-size: 22px;
  margin: 32px 0 8px;
  color: var(--ink);
  border-bottom: 1px solid var(--edge);
  padding-bottom: 6px;
}
h3 {
  font-size: 17px;
  margin: 20px 0 4px;
}
.muted {
  color: var(--ink2);
}
.card {
  background: var(--panel);
  border: 1px solid var(--edge);
  border-radius: 10px;
  padding: 14px 16px;
  margin: 16px 0;
}
.note {
  border-left: 3px solid var(--gold);
}
table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0;
  font-size: 15px;
}
th,
td {
  text-align: left;
  vertical-align: top;
  padding: 8px 10px;
  border-bottom: 1px solid var(--edge);
}
th {
  color: var(--ink2);
  font-weight: 600;
}
footer {
  border-top: 1px solid var(--edge);
  padding: 20px 16px;
  text-align: center;
  font-size: 14px;
  color: var(--ink2);
}
footer a {
  color: var(--ink2);
  margin: 0 8px;
}

/* landing */
.hero {
  text-align: center;
  padding: 56px 16px 24px;
}
.hero img.crest {
  width: 180px;
  height: 180px;
  filter: drop-shadow(0 0 30px rgba(196, 30, 50, 0.45));
}
.logo {
  font: 700 64px/0.95 'Oswald', 'Arial Narrow', sans-serif;
  letter-spacing: 0.04em;
  margin: 12px 0 10px;
}
.logo span {
  color: var(--blood);
}
.tagline {
  font-size: 20px;
  color: var(--ink2);
  margin: 0 0 28px;
}
.pill {
  display: inline-block;
  padding: 10px 22px;
  border-radius: 999px;
  border: 1px solid var(--soul);
  color: var(--soul);
  font-weight: 600;
  letter-spacing: 0.04em;
  background: rgba(63, 240, 220, 0.08);
}
.features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
  margin-top: 36px;
}
.features .card {
  margin: 0;
}
.features h3 {
  margin-top: 0;
  color: var(--soul);
}
@media (max-width: 480px) {
  .logo {
    font-size: 48px;
  }
  header.bar nav {
    gap: 10px;
    font-size: 13px;
  }
}
