/* Word pages and word index — same palette as the game. */
:root{
  --bg:#EEF1F4; --surface:#FFFFFF; --ink:#141C24; --muted:#5B6773; --line:#D5DBE1;
  --der:#2563C9; --die:#CF3B34; --das:#23915A;
  --der-soft:#E3ECFA; --die-soft:#FBE6E4; --das-soft:#E1F3E9;
  --display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  --body:"Atkinson Hyperlegible",ui-sans-serif,system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0F1419; --surface:#18202A; --ink:#E8EDF2; --muted:#93A0AD; --line:#2A3542;
  --der:#5B92F0; --die:#F06A60; --das:#4CC286;
  --der-soft:#1C2B45; --die-soft:#3A1F20; --das-soft:#173326;
}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;padding-inline:16px;padding-block:16px 48px}
main,.top,footer{max-width:640px;margin-inline:auto}
a{color:inherit}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:4px 20px}
.mark{font-family:var(--display);font-weight:800;font-size:24px;text-decoration:none;letter-spacing:-.02em}
.play-small{font-size:14px;font-weight:700;text-decoration:none;border:1px solid var(--line);padding:6px 12px;border-radius:999px}
.a-der{color:var(--der)}.a-die{color:var(--die)}.a-das{color:var(--das)}
.crumbs{font-size:14px;color:var(--muted)}
h1{font-family:var(--display);font-weight:800;font-size:clamp(30px,7vw,42px);line-height:1.1;letter-spacing:-.02em;margin:8px 0 18px;text-wrap:balance}
h2{font-family:var(--display);font-weight:500;font-size:21px;margin:30px 0 8px}
p{margin:0 0 10px}
.lead{font-size:18px;color:var(--muted)}
.en{color:var(--muted);font-size:15px}
.answer{border-radius:14px;padding:22px 20px;border:1px solid var(--line);background:var(--surface)}
.a-bg-der{background:var(--der-soft)}.a-bg-die{background:var(--die-soft)}.a-bg-das{background:var(--das-soft)}
.big{font-family:var(--display);font-weight:800;font-size:clamp(38px,11vw,56px);line-height:1;letter-spacing:-.03em;margin:0 0 16px;overflow-wrap:anywhere}
.big b{font-weight:500}
dl{margin:0;display:grid;gap:6px}
dl div{display:grid;grid-template-columns:minmax(6.5em,auto) 1fr;gap:10px}
dt{color:var(--muted)}
dd{margin:0;font-weight:700}
.tablewrap{overflow-x:auto}
.decl{border-collapse:collapse;width:100%;background:var(--surface);border-radius:10px;overflow:hidden}
.decl th,.decl td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
@media (max-width:420px){.decl{font-size:15px}.decl th,.decl td{padding:7px 6px}}
.decl thead th{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.decl tbody th{font-weight:400;color:var(--muted)}
.cta{margin-top:32px;background:var(--ink);color:var(--bg);border-radius:14px;padding:22px 20px}
.cta h2{margin-top:0}
.btn{display:inline-block;margin-top:6px;background:var(--bg);color:var(--ink);font-weight:700;text-decoration:none;padding:12px 18px;border-radius:10px}
.rel,.all{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 16px}
.rel a,.all a{text-decoration:none}
.rel a:hover,.all a:hover{text-decoration:underline}
.search{display:flex;flex-direction:column;gap:6px;font-weight:700;margin:18px 0 8px}
.search input{font:inherit;font-weight:400;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.letters{display:flex;flex-wrap:wrap;gap:6px 12px;font-family:var(--display);font-weight:800;margin:12px 0}
.letters a{text-decoration:none}
[hidden]{display:none!important}
a:focus-visible,input:focus-visible,.btn:focus-visible{outline:3px solid var(--der);outline-offset:2px}
footer{margin-top:40px;color:var(--muted);font-size:13px;text-align:center}
footer p{margin:0 0 4px}
