/*
 * ExileCraft — design-system entry stylesheet.
 * Rendered designs receive this file's transitive @import closure, so the
 * fonts and tokens MUST be reachable from here.
 */
@import "./fonts/fonts.css";
@import "./tokens/themes.css";

:root{ color-scheme: light dark; }

html, body{ margin:0; }

body{
  font-family:'Spectral', Georgia, serif;
  color:var(--ink);
  background:
    linear-gradient(160deg, var(--sheet), var(--sheet2));
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Minimum readable size — the app holds a 12px floor on all player-facing text. */
:where(body){ font-size:15px; line-height:1.5; }

/* Display / heading idiom: Cinzel is ALWAYS uppercase + letter-spaced. */
:where(h1,h2,h3,.ec-display,.ec-call){
  font-family:'Cinzel', serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--ink);
}

/* Serif headline / item-name idiom. */
:where(.ec-headline,.ec-item-name){
  font-family:'Cormorant Garamond', Georgia, serif;
}

/* All-caps micro-labels / tier badges / chips use the system mono. */
:where(.ec-label,.ec-kicker,.ec-badge){
  font-family:ui-monospace, Menlo, monospace;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;            /* the floor */
  color:var(--muted);
}

/* A panel = the flat evidence surface the whole app uses. */
:where(.ec-panel){
  background:var(--pan-bg);
  border:1px solid var(--line);
  border-radius:var(--rad);
  box-shadow:var(--pan-sh);
}
