/* Day of Honor — shared look. Functional first pass; the Klingon visual pass comes later. */
:root {
  --bg: #0d0e12;
  --panel: #171920;
  --panel-2: #20232c;
  --line: #2f333f;
  --text: #ece6da;
  --muted: #9a958c;
  --red: #b3261e;
  --red-deep: #6e1510;
  --gold: #e0b14a;
  --gold-dim: #8a6a26;
  --ok: #3fa66b;
  --bad: #d6453c;
  --font: "Bahnschrift", "DIN Alternate", "Roboto Condensed", "Arial Narrow", system-ui, sans-serif;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--font); }
a { color: var(--gold); }
button, .btn, input, select {
  font: inherit; color: inherit;
}
button, .btn {
  display: inline-block; cursor: pointer; text-decoration: none;
  background: var(--panel-2); border: 1px solid var(--line); border-radius: 8px;
  padding: 0.6em 1em; letter-spacing: 0.02em;
}
button:hover:not(:disabled), .btn:hover { border-color: var(--gold-dim); }
button:disabled { opacity: 0.4; cursor: default; }
button.primary, .btn.primary { background: var(--red); border-color: var(--red); color: #fff; }
button.gold { background: var(--gold); border-color: var(--gold); color: #1a1406; }
input, select { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; padding: 0.55em 0.7em; }
.muted { color: var(--muted); }
.hidden { display: none !important; }

/* simple notice pages (sign-in, errors) */
body.notice main { max-width: 32rem; margin: 12vh auto; padding: 0 16px; }
body.notice h1 { color: var(--gold); letter-spacing: 0.08em; text-transform: uppercase; }
body.notice .btn { background: #5865f2; border-color: #5865f2; color: #fff; }
body.notice .dev { margin-top: 2rem; padding-top: 1rem; border-top: 1px dashed var(--line); }

.avatar { border-radius: 50%; object-fit: cover; background: var(--panel-2); }
.toast {
  position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%);
  background: var(--red-deep); border: 1px solid var(--red); padding: 0.7em 1em; border-radius: 8px;
  max-width: calc(100vw - 32px); z-index: 50;
}
