/* casino_arc/public/legal/legal.css — THE FINE PRINT: Forest of No Return's legal pages in the house look
   (Rye for the western face, Spectral for the words; fonts served from here, nothing from third parties). */

@font-face { font-family: "Rye"; src: url("fonts/rye-latin-400-normal.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Spectral"; src: url("fonts/spectral-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Spectral"; src: url("fonts/spectral-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Spectral"; src: url("fonts/spectral-latin-400-italic.woff2") format("woff2"); font-style: italic; font-display: swap; }
@font-face { font-family: "Share Tech Mono"; src: url("fonts/share-tech-mono-latin-400-normal.woff2") format("woff2"); font-display: swap; }

:root {
  --ink: #eadcc0;
  --dim: rgba(234, 220, 192, 0.62);
  --gold: #ffd15a;
  --ember: #ff9a3a;
  --blood: #c8281c;
  --bg: #0d0704;
  --paper: #170d07;
  --rule: rgba(255, 209, 90, 0.28);
  --west: "Rye", "Spectral", Georgia, serif;
  --body: "Spectral", Georgia, serif;
  --led: "Share Tech Mono", "Courier New", monospace;
  color-scheme: dark;
}

* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(255, 154, 58, 0.10), transparent 65%),
    radial-gradient(ellipse 60% 50% at 50% 100%, rgba(200, 40, 28, 0.08), transparent 70%),
    var(--bg);
  color: var(--ink);
  font: 400 17px/1.7 var(--body);
  min-height: 100vh;
  padding: 0 16px 80px;
}
/* a film-grain veil, the game's print — no stripes */
body::before {
  content: ""; position: fixed; inset: 0; pointer-events: none; opacity: 0.07; z-index: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.9'/></svg>");
}

.wrap { position: relative; z-index: 1; max-width: 780px; margin: 0 auto; }

header.top {
  display: flex; align-items: center; gap: 16px; padding: 22px 0 10px;
  border-bottom: 1px solid var(--rule);
}
header.top a.home { font-family: var(--west); color: var(--gold); text-decoration: none; font-size: 15px; letter-spacing: 0.14em; }
header.top nav { margin-left: auto; display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
header.top nav a, .lang button {
  font-family: var(--west); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; text-decoration: none;
  color: var(--dim); border: 1px solid rgba(255, 255, 255, 0.12); padding: 5px 9px; background: transparent; cursor: pointer;
}
header.top nav a[aria-current="page"], header.top nav a:hover, .lang button[aria-pressed="true"], .lang button:hover { color: var(--gold); border-color: var(--rule); }

.title { text-align: center; padding: 46px 0 8px; }
.title .kicker { font-family: var(--west); font-size: 12px; letter-spacing: 0.5em; color: var(--ember); }
.title h1 {
  font-family: var(--west); font-weight: 400; font-size: clamp(30px, 6vw, 46px); letter-spacing: 0.12em; margin: 10px 0 6px;
  color: var(--gold); text-shadow: 0 0 24px rgba(255, 209, 90, 0.35), 0 2px 0 #000;
}
.title .rule { display: flex; align-items: center; gap: 12px; max-width: 420px; margin: 14px auto 0; color: var(--rule); }
.title .rule::before, .title .rule::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); opacity: 0.5; }
.title .stand { font-family: var(--led); font-size: 13px; color: var(--dim); margin-top: 10px; }

.lang { display: flex; justify-content: center; gap: 6px; margin: 22px 0 6px; }

article { background: linear-gradient(180deg, rgba(23, 13, 7, 0.92), rgba(16, 9, 5, 0.92)); border: 1px solid rgba(255, 209, 90, 0.14); padding: 28px clamp(18px, 4vw, 40px) 34px; margin-top: 16px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5), inset 0 0 0 1px rgba(0, 0, 0, 0.6); }
article[hidden] { display: none; }
article .note { font-size: 14px; color: var(--dim); font-style: italic; border-left: 2px solid var(--rule); padding-left: 12px; margin: 0 0 18px; }

h2 { font-family: var(--west); font-weight: 400; font-size: 19px; letter-spacing: 0.1em; color: var(--gold); margin: 30px 0 8px; }
h2:first-child { margin-top: 0; }
h3 { font-family: var(--body); font-weight: 600; font-size: 17px; color: var(--ember); margin: 18px 0 4px; }
p, li { margin: 6px 0; }
ul, ol { padding-left: 22px; }
a { color: var(--gold); }
strong { color: #fff4dc; font-weight: 600; }
address { font-style: normal; }
.card { border: 1px solid rgba(255, 209, 90, 0.18); background: rgba(0, 0, 0, 0.28); padding: 14px 16px; margin: 12px 0; }
.warn { border-color: rgba(200, 40, 28, 0.5); background: rgba(200, 40, 28, 0.08); }
table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 10px 0; }
th, td { text-align: left; vertical-align: top; padding: 8px 10px; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
th { font-family: var(--west); font-weight: 400; font-size: 12px; letter-spacing: 0.12em; color: var(--dim); text-transform: uppercase; }
.table-scroll { overflow-x: auto; }

.big-button {
  display: inline-block; font-family: var(--west); font-size: 15px; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none;
  color: #120802; background: linear-gradient(180deg, #ffd15a, #e0a030); padding: 12px 20px; border: 1px solid #fff0b0;
  box-shadow: 0 0 20px rgba(255, 209, 90, 0.3);
}
.big-button.danger { background: linear-gradient(180deg, #ff6a50, #c8281c); color: #fff; border-color: #ffb0a0; box-shadow: 0 0 20px rgba(200, 40, 28, 0.35); }

.hub { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-top: 22px; }
.hub a { display: block; text-decoration: none; color: var(--ink); border: 1px solid rgba(255, 209, 90, 0.18); background: rgba(23, 13, 7, 0.9); padding: 16px 18px; }
.hub a:hover { border-color: var(--gold); box-shadow: 0 0 22px rgba(255, 209, 90, 0.15); }
.hub a .h { font-family: var(--west); color: var(--gold); letter-spacing: 0.12em; font-size: 15px; }
.hub a .s { font-size: 14px; color: var(--dim); margin-top: 4px; }

footer.bottom { text-align: center; margin-top: 40px; font-size: 13px; color: var(--dim); }
footer.bottom a { color: var(--dim); }

.age { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 2px solid var(--blood); color: #ff8a70; font-family: var(--led); font-size: 18px; border-radius: 50%; }

@media (max-width: 560px) {
  header.top { flex-wrap: wrap; }
  header.top nav { margin-left: 0; justify-content: flex-start; }
  body { font-size: 16px; }
}
