/* Icillion content pages (trivia topics, prompts, glossary, FAQ...).
 * Same palette and fonts as the game: deep navy water, cyan glow, pink for actions,
 * VT323 for reading, Silkscreen for small labels, Jersey 10 for big titles.
 */

:root {
  --ink: #E9F7FD;
  --muted: #8FB2C4;
  --bg: #050D1A;
  --panel: rgb(6 16 32 / 0.88);
  --panel-2: #12263D;
  --edge: #4DE1FF;
  --edge-dim: #1E6E8A;
  --glow: rgb(77 225 255 / 0.28);
  --pink: #FF4F86;
  --pink-dark: #A3234F;
  --gold: #F6C453;
  --body: 'VT323', ui-monospace, monospace;
  --label: 'Silkscreen', 'VT323', ui-monospace, monospace;
  --display: 'Jersey 10', 'VT323', monospace;
  --tier-0: #EEF9FD;
  --tier-1: #3189C2;
  --tier-2: #1B5891;
  --tier-3: #4FD1C0;
  --tier-4: #F6C453;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  font: 400 1.3rem/1.35 var(--body);
  letter-spacing: 0.01em;
  /* The water gets darker the further you scroll, like the dive. */
  background:
    repeating-linear-gradient(to bottom, rgb(0 0 0 / 0.05) 0 1px, transparent 1px 3px),
    linear-gradient(to bottom, #12395A 0, #0B2642 600px, #071833 1400px, var(--bg) 2600px);
  background-color: var(--bg);
}

a { color: var(--edge); text-underline-offset: 3px; }
a:hover { color: #FFFFFF; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

/* ---------- Header ---------- */

.top {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 12px max(16px, calc((100vw - 1040px) / 2));
  background: rgb(5 13 26 / 0.9);
  box-shadow: 0 1px 0 rgb(77 225 255 / 0.18);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ink);
  text-decoration: none;
  font: 700 0.8rem/1 var(--label);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.brand svg { width: 18px; height: 18px; color: var(--edge); filter: drop-shadow(0 0 6px var(--edge)); shape-rendering: crispEdges; }

.top__nav { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-right: auto; }
.top__nav a { color: var(--muted); text-decoration: none; font: 400 0.6rem/1.6 var(--label); letter-spacing: 0.12em; text-transform: uppercase; }
.top__nav a:hover, .top__nav a[aria-current="page"] { color: var(--edge); }

.play {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  background: var(--pink);
  color: #FFF0F5;
  text-decoration: none;
  font: 700 0.62rem/1.2 var(--label);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  box-shadow: inset 0 -3px 0 var(--pink-dark), 0 0 18px rgb(255 79 134 / 0.35);
}

.play:hover { color: #FFFFFF; filter: brightness(1.08); }
.play--big { padding: 16px 26px; font-size: 0.82rem; letter-spacing: 0.2em; }

@media (max-width: 720px) {
  .top { flex-wrap: wrap; gap: 10px; }
  .top__nav { order: 3; width: 100%; margin: 0; }
  .top .play { margin-left: auto; }
}

/* ---------- Content ---------- */

.page { max-width: 820px; margin: 0 auto; padding: 32px 16px 48px; }

.crumbs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 18px; color: var(--muted); font: 400 0.58rem/1.6 var(--label); letter-spacing: 0.1em; text-transform: uppercase; }
.crumbs a { color: var(--muted); text-decoration: none; }
.crumbs a:hover { color: var(--edge); }

.kicker { margin: 0; color: var(--pink); font: 400 0.62rem/1.4 var(--label); letter-spacing: 0.16em; text-transform: uppercase; }

h1 {
  margin: 8px 0 12px;
  font: 400 clamp(2.6rem, 8vw, 4.4rem)/0.95 var(--display);
  letter-spacing: 0.02em;
  color: #F2FCFF;
  text-shadow: -2px 0 0 var(--pink), 2px 0 0 var(--edge), 0 0 26px rgb(77 225 255 / 0.4);
}

h2 {
  margin: 0 0 10px;
  font: 400 1.9rem/1.05 var(--body);
  letter-spacing: 0.04em;
  color: var(--edge);
  text-shadow: 0 0 12px rgb(77 225 255 / 0.35);
}

.lead { margin: 0 0 26px; font-size: 1.55rem; line-height: 1.25; color: #D7EEF7; }

section { margin: 0 0 22px; padding: 20px 22px; background: var(--panel); box-shadow: 0 0 0 1px var(--edge-dim), 0 0 22px var(--glow); }
section > :last-child { margin-bottom: 0; }

p { margin: 0 0 12px; }
ul, ol { margin: 0 0 12px; padding-left: 1.2em; }
li { margin: 4px 0; }
strong { font-weight: 400; color: #FFFFFF; }

/* The common answers, shown as little labels like the ones in the game. */
.answers { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; list-style: none; }
.answers li { margin: 0; padding: 4px 12px; background: #EEF9FD; color: #0A2349; box-shadow: 0 2px 0 #0A2349; }

.levels { width: 100%; margin: 0 0 12px; border-collapse: collapse; font-size: 1.25rem; }
.levels th { padding: 6px 8px; text-align: left; color: var(--muted); font: 400 0.58rem/1.4 var(--label); letter-spacing: 0.12em; text-transform: uppercase; border-bottom: 1px solid var(--edge-dim); }
.levels td { padding: 7px 8px; border-bottom: 1px dashed rgb(77 225 255 / 0.15); vertical-align: top; }
.levels td:last-child { color: var(--pink); }

.sw { display: inline-block; width: 12px; height: 12px; margin-right: 10px; vertical-align: -1px; box-shadow: inset 0 0 0 2px rgb(2 7 15 / 0.6); }
.sw--0 { background: var(--tier-0); }
.sw--1 { background: var(--tier-1); }
.sw--2 { background: var(--tier-2); }
.sw--3 { background: var(--tier-3); }
.sw--4 { background: var(--tier-4); }

.faq dt, .gloss dt { margin-top: 14px; font-size: 1.45rem; color: #FFFFFF; }
.faq dt:first-child, .gloss dt:first-child { margin-top: 0; }
.faq dd, .gloss dd { margin: 4px 0 0; color: #CFE6F0; }
.gloss dt { color: var(--edge); scroll-margin-top: 90px; }
.gloss dt:target { color: var(--gold); text-shadow: 0 0 12px rgb(246 196 83 / 0.5); }

.links, .prompts, .terms { padding: 0; list-style: none; }
.links { columns: 2 260px; }
.prompts li { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; border-bottom: 1px dashed rgb(77 225 255 / 0.15); }
.prompts span { flex: none; color: var(--muted); }
.terms { display: flex; flex-wrap: wrap; gap: 8px; }
.terms a { display: inline-block; padding: 4px 10px; background: var(--panel-2); text-decoration: none; box-shadow: 0 0 0 1px var(--edge-dim); }

.toc { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.toc a { padding: 6px 10px; background: var(--panel-2); text-decoration: none; font: 400 0.58rem/1.4 var(--label); letter-spacing: 0.12em; text-transform: uppercase; box-shadow: 0 0 0 1px var(--edge-dim); }

.topics { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; padding: 0; list-style: none; }
.topics li { margin: 0; }
.topics a { display: grid; align-content: start; gap: 4px; height: 100%; padding: 16px; background: var(--panel-2); text-decoration: none; color: var(--ink); box-shadow: 0 0 0 1px var(--edge-dim); }
.topics a:hover { box-shadow: 0 0 0 1px var(--edge), 0 0 18px var(--glow); }
.topics__name { font: 400 2rem/1 var(--display); color: #F2FCFF; }
.topics__n { color: var(--pink); font: 400 0.58rem/1.4 var(--label); letter-spacing: 0.12em; text-transform: uppercase; }
.topics__eg { color: var(--muted); font-size: 1.1rem; line-height: 1.2; }

.cta { margin-top: 34px; padding: 28px 22px; text-align: center; box-shadow: 0 0 0 1px var(--edge), 0 0 30px rgb(77 225 255 / 0.3); }
.cta__title { font: 400 2.2rem/1 var(--display); color: #F2FCFF; }

/* ---------- Footer ---------- */

.foot { padding: 28px max(16px, calc((100vw - 1040px) / 2)) 40px; color: var(--muted); font-size: 1.1rem; box-shadow: 0 -1px 0 rgb(77 225 255 / 0.15); }
.foot nav { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-bottom: 10px; }
.foot a { color: var(--muted); text-decoration: none; font: 400 0.58rem/1.8 var(--label); letter-spacing: 0.12em; text-transform: uppercase; }
.foot a:hover { color: var(--edge); }
.foot p { margin: 10px 0 0; }

/* ---------- Buttons under a section, and the A–Z answer lists ---------- */

.actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 22px; }
.ghost { display: inline-flex; align-items: center; padding: 10px 16px; color: var(--edge); text-decoration: none; font: 700 0.62rem/1.2 var(--label); letter-spacing: 0.14em; text-transform: uppercase; box-shadow: 0 0 0 1px var(--edge-dim); }
.ghost:hover { box-shadow: 0 0 0 1px var(--edge), 0 0 16px var(--glow); }
section .actions { margin: 14px 0 0; }

.az { columns: 3 200px; padding: 0; list-style: none; }
.az li { margin: 0 0 6px; break-inside: avoid; }
.az span { display: block; color: var(--muted); font-size: 1rem; line-height: 1.1; }

.gloss dt a { color: inherit; text-decoration: none; }
.gloss dt a:hover { color: #FFFFFF; text-decoration: underline; }

/* Answers one level down: a darker label, like the second level in the game. */
.answers--surface li { background: #1B5891; color: #FFFFFF; box-shadow: 0 2px 0 #0A2349; }
