/* ==========================================================================
   VICE ROULETTE — legal and info pages
   Loaded after styles.css, so the palette tokens, the reset and the .logo
   wordmark all come for free. This file undoes the fixed-viewport app shell
   (the home page never scrolls; a document has to) and adds prose styling.
   ========================================================================== */

@font-face { font-family: 'Monoton';       src: url("../assets/fonts/monoton.woff2") format("woff2");       font-weight: 400; font-display: swap; }
@font-face { font-family: 'Bebas Neue';    src: url("../assets/fonts/bebas-neue.woff2") format("woff2");    font-weight: 400; font-display: swap; }
@font-face { font-family: 'Rubik';         src: url("../assets/fonts/rubik-var.woff2") format("woff2");     font-weight: 300 900; font-display: swap; }
@font-face { font-family: 'Bowlby One SC'; src: url("../assets/fonts/bowlby-one-sc.woff2") format("woff2"); font-weight: 400; font-display: swap; }

/* --------------------------------------------------------------- the page */
html, body { height: auto; }
body {
  overflow: visible;
  background: var(--ink) url("../assets/bg-blur.jpg") center / cover no-repeat fixed;
}
/* One scrim over the blurred artwork. Text legibility beats atmosphere here, so
   this sits much heavier than the home page's. */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(11,4,19,0.66), rgba(11,4,19,0.9) 45%, rgba(11,4,19,0.97));
}

.doc {
  position: relative;
  z-index: 1;
  width: min(100%, 880px);
  margin-inline: auto;
  padding: 20px 22px 56px;
}

/* --------------------------------------------------------------- chrome */
.doc__top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}
/* The wordmark keeps its neon, at a size that belongs on a document. */
.doc .logo__vice     { font-size: clamp(30px, 6vw, 46px); }
.doc .logo__roulette { font-size: clamp(14px, 2.85vw, 22px); }

.doc__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  font-family: var(--font-head);
  font-size: 15px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.doc__nav a { color: var(--muted); text-decoration: none; }
.doc__nav a:hover { color: var(--paper); }
.doc__nav a[aria-current="page"] { color: var(--surf); }

/* --------------------------------------------------------------- headings */
.doc__eyebrow {
  margin: 30px 0 4px;
  font-family: var(--font-head);
  font-size: 15px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--surf);
}
.doc h1 {
  margin: 0;
  font-family: var(--font-head);
  font-size: clamp(40px, 8vw, 72px);
  font-weight: 400;
  line-height: 0.94;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--paper);
}
.doc__stamp {
  margin: 10px 0 0;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--faint);
}
.doc h2 {
  margin: 40px 0 10px;
  font-family: var(--font-head);
  font-size: clamp(22px, 3.4vw, 30px);
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gold);
}
.doc h3 {
  margin: 24px 0 6px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--paper);
}

/* --------------------------------------------------------------- prose */
.doc p, .doc li { font-size: 16px; line-height: 1.62; color: rgba(255, 243, 248, 0.86); }
.doc p { margin: 0 0 14px; }
.doc ul { margin: 0 0 16px; padding-left: 20px; }
.doc li { margin-bottom: 8px; }
.doc li::marker { color: var(--magenta); }
.doc a { color: var(--surf); text-decoration: none; border-bottom: 1px solid rgba(53, 228, 214, 0.4); }
.doc a:hover { border-bottom-color: var(--surf); }
.doc strong { color: var(--paper); font-weight: 600; }
.doc code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.92em;
  padding: 1px 5px;
  border-radius: 4px;
  background: rgba(255, 243, 248, 0.08);
  color: var(--paper);
}

/* The opening summary of each page: the bit most people will actually read. */
.lede {
  margin: 22px 0 6px;
  padding: 16px 18px;
  border-left: 3px solid var(--magenta);
  background: rgba(74, 28, 110, 0.28);
  font-size: 17px;
  line-height: 1.55;
  color: var(--paper);
}
.note {
  margin: 18px 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(11, 4, 19, 0.5);
  font-size: 15px;
  color: var(--muted);
}

/* --------------------------------------------------------------- tables */
.table-wrap { overflow-x: auto; margin: 0 0 18px; }
.doc table { border-collapse: collapse; width: 100%; min-width: 420px; font-size: 15px; }
.doc th, .doc td { padding: 9px 12px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
.doc th {
  font-family: var(--font-head);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--surf);
}
.doc td { color: rgba(255, 243, 248, 0.86); }
.doc td code { white-space: nowrap; }

/* --------------------------------------------------------------- footer */
.doc__foot {
  margin-top: 52px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  font-size: 13px;
  line-height: 1.5;
  color: var(--faint);
}
.doc__foot nav {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin-bottom: 14px;
  font-family: var(--font-head);
  font-size: 14px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.doc__foot nav a { color: var(--muted); text-decoration: none; border: 0; }
.doc__foot nav a:hover { color: var(--paper); }
.doc__foot p { margin: 0 0 8px; font-size: 13px; color: var(--faint); }
.doc__foot a { color: var(--faint); border-bottom-color: var(--line); }

@media (max-width: 560px) {
  .doc { padding: 16px 16px 44px; }
  .doc h2 { margin-top: 32px; }
}
