/* Shared by home + dashboard: brand tokens, light/dark theme, theme button, footer */
:root {
  color-scheme: light;
  --navy: #070b2b;            /* fixed dark surfaces (hero, top bar, footer) */
  --ink: #070b2b;             /* main text */
  --bd: #070b2b;              /* card borders */
  --sh: #070b2b;              /* hard offset shadows */
  --blue: #1558ee; --accent: #1558ee; --sky: #e6efff; --dough: #dc9560;
  --bg: #eef2fb; --card: #ffffff; --line: #dfe5f3; --muted: #5d678a;
  --ok: #0f7a56; --bad: #c0301c; --okbg: #dff5ec; --badbg: #fde6e2;
  --warn: #fff6e2; --warnline: #efd08a;
  --discord: #5865f2;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --ink: #e9edff;
  --bd: #4d5bb5;
  --sh: #02030c;
  --accent: #7aa5ff; --sky: #1b2556;
  --bg: #090d26; --card: #121940; --line: #252e63; --muted: #9aa5d6;
  --ok: #4ade9f; --bad: #ff8a77; --okbg: #0f3a2c; --badbg: #401a14;
  --warn: #3a2f12; --warnline: #6f5a1c;
}

/* theme toggle button (sits on the dark top bars) */
.themebtn { width: 40px; height: 40px; flex: none; display: inline-grid; place-items: center; border-radius: 12px; border: 1.5px solid rgba(255,255,255,.28); background: rgba(255,255,255,.08); color: #fff; cursor: pointer; transition: background .15s, border-color .15s; }
.themebtn:hover { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.55); }
.themebtn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.themebtn .sun { display: none; }
:root[data-theme="dark"] .themebtn .sun { display: block; }
:root[data-theme="dark"] .themebtn .moon { display: none; }
.themebtn:focus-visible { outline: 3px solid #8fb2ff; outline-offset: 2px; }

.sitefoot { background: var(--navy); color: #aab3d8; margin-top: 56px; padding: 40px 20px 28px; font-size: 14px; border-top: 1px solid rgba(255,255,255,.08); }
.sitefoot .in { max-width: 1040px; margin: 0 auto; }
.sitefoot .top { display: flex; flex-wrap: wrap; gap: 28px; justify-content: space-between; align-items: flex-start; padding-bottom: 24px; border-bottom: 1px solid rgba(255,255,255,.12); }
.sitefoot .brand { display: flex; align-items: center; gap: 12px; color: #fff; font-weight: 700; font-size: 18px; }
.sitefoot .brand img { width: 38px; height: 38px; }
.sitefoot p { margin: 8px 0 0; max-width: 360px; line-height: 1.5; }
.sitefoot .links { display: flex; flex-wrap: wrap; gap: 10px; }
.sitefoot a.pill { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 12px; border: 1.5px solid rgba(255,255,255,.22); color: #fff; text-decoration: none; font-weight: 600; transition: background .15s, border-color .15s, transform .15s; }
.sitefoot a.pill:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.5); transform: translateY(-1px); }
.sitefoot a.pill.dc { background: var(--discord); border-color: var(--discord); }
.sitefoot a.pill.dc:hover { background: #6a76f5; }
.sitefoot a.pill svg { width: 18px; height: 18px; fill: currentColor; }
.sitefoot .bottom { display: flex; flex-wrap: wrap; gap: 8px 20px; justify-content: space-between; padding-top: 20px; font-size: 13px; }
.sitefoot .bottom b { color: #fff; }
.sitefoot .bottom a { color: var(--dough); text-decoration: none; font-weight: 600; }
.sitefoot .bottom a:hover { text-decoration: underline; }
.sitefoot .legal { margin-top: 14px; font-size: 12px; color: #7f89b3; line-height: 1.5; }
@media (prefers-reduced-motion: reduce) { .sitefoot a.pill, .themebtn { transition: none; } }
