/* Base layout. The UI module owner extends this file with all HUD/menu styling. */
:root {
  --ink: #1b1611;
  --paper: #e9dcc0;
  --paper-dark: #cdb88f;
  --brass: #c9a24a;
  --blood: #7a1414;
  --union: #2b3f6b;
  --confed: #8a8478;
  --font-display: 'Rye', 'IM Fell English SC', Georgia, serif;
  --font-body: 'IM Fell English', Georgia, 'Times New Roman', serif;
  --font-sc: 'IM Fell English SC', Georgia, serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; overflow: hidden; background: #0d0b09; color: var(--paper); font-family: var(--font-body); }
#game-canvas { position: fixed; inset: 0; width: 100vw; height: 100vh; display: block; outline: none; }
#ui-root { position: fixed; inset: 0; pointer-events: none; z-index: 10; }
#ui-root > * { pointer-events: auto; }
#ui-root .hud-stub { pointer-events: none; }
#boot-screen { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; background: #0d0b09; transition: opacity .8s ease; }
#boot-screen.done { opacity: 0; pointer-events: none; }
.boot-title { font-family: var(--font-display); font-size: clamp(36px, 7vw, 84px); color: var(--paper); letter-spacing: .04em; text-align: center; }
.boot-tagline { font-family: var(--font-body); font-style: italic; text-align: center; color: var(--paper); opacity: .85; font-size: clamp(16px, 2.2vw, 26px); margin-top: 4px; }
.boot-sub { font-family: var(--font-body); font-style: italic; text-align: center; opacity: .7; margin-top: 10px; }
.boot-error { color: #f3c; font-family: monospace; padding: 20px; max-width: 80vw; }
