:root { --night:#0b1318; --night-2:#14252b; --paper:#f4e5ca; --paper-2:#fff8e9; --ink:#241d14; --muted:#6b5135; --red:#8f1511; --gold:#d5a640; --line:rgba(91,59,31,.22); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Segoe UI",Arial,sans-serif; }
a { color:inherit; }
.docs-header { position:sticky; z-index:20; top:0; min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:10px max(18px,calc((100vw - 1280px)/2)); color:#f7ead0; border-bottom:1px solid rgba(236,212,170,.16); background:rgba(11,19,24,.97); box-shadow:0 8px 24px rgba(0,0,0,.22); backdrop-filter:blur(10px); }
.docs-brand { display:flex; align-items:center; gap:10px; font-size:13px; letter-spacing:.13em; text-decoration:none; }
.docs-brand>span { width:38px; height:38px; display:grid; place-items:center; color:#fff1d4; border:1px solid #d3b587; font:800 13px "Courier New",monospace; }
.docs-header-actions { display:flex; align-items:center; gap:10px; }
.back-link { min-height:36px; display:flex; align-items:center; padding:7px 11px; color:#f5dfb8; border:1px solid rgba(236,212,170,.26); border-radius:7px; font:700 10px "Courier New",monospace; text-decoration:none; }
.language-tabs { display:flex; overflow:hidden; border:1px solid rgba(236,212,170,.32); border-radius:7px; }
.language-tabs a { min-width:40px; min-height:36px; display:grid; place-items:center; color:#cdbb9a; background:#11181d; font:800 10px "Courier New",monospace; text-decoration:none; }
.language-tabs a+a { border-left:1px solid rgba(236,212,170,.28); }
.language-tabs a.active { color:#20180f; background:var(--gold); }
.docs-hero { min-height:360px; display:grid; align-content:center; padding:54px max(18px,calc((100vw - 1180px)/2)); color:#f7ead0; background:radial-gradient(circle at 80% 20%,rgba(213,166,64,.18),transparent 24%),linear-gradient(125deg,#0b1318 0 62%,#172a30 62%); }
.docs-hero>p { max-width:680px; margin:0; }
#hero-kicker { color:#e5bd52; font:800 11px "Courier New",monospace; letter-spacing:.15em; }
.docs-hero h1 { margin:16px 0; font:900 clamp(48px,8vw,92px)/.82 "Arial Narrow",Arial,sans-serif; letter-spacing:-.055em; }
#hero-copy { color:#d8c9ab; font-size:17px; line-height:1.55; }
.hero-stats { display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.hero-stats span { min-width:128px; display:flex; align-items:baseline; gap:7px; padding:9px 11px; border:1px solid rgba(236,212,170,.2); border-radius:7px; background:#111a20; font:900 22px "Courier New",monospace; }
.hero-stats small { color:#d8c9ab; font-size:9px; letter-spacing:.08em; }
.docs-layout { width:min(1180px,calc(100% - 36px)); display:grid; grid-template-columns:250px minmax(0,1fr); align-items:start; gap:28px; margin:32px auto 70px; }
.toc-panel { position:sticky; top:100px; max-height:calc(100vh - 120px); overflow:auto; padding:18px; color:#f5e5c7; border:1px solid rgba(236,212,170,.13); border-radius:12px; background:var(--night); box-shadow:6px 6px 0 rgba(62,41,24,.13); }
.toc-panel>p { margin:0 0 12px; color:#e5bd52; font:800 10px "Courier New",monospace; letter-spacing:.13em; }
#toc { display:grid; gap:2px; }
#toc a { padding:7px 8px; color:#d9c49d; border-left:2px solid transparent; font-size:12px; line-height:1.3; text-decoration:none; }
#toc a.sub { padding-block:4px; padding-left:18px; color:#aa987a; font-size:11px; }
#toc a:hover { color:#fff1d4; border-left-color:var(--gold); background:rgba(255,255,255,.05); }
.manual { min-width:0; padding:clamp(22px,4vw,48px); border:1px solid var(--line); border-radius:14px; background:var(--paper-2); box-shadow:0 16px 35px rgba(72,47,24,.12); }
.manual h1 { margin:0 0 28px; padding-bottom:22px; color:var(--red); border-bottom:4px solid var(--red); font:900 clamp(35px,5vw,58px)/.9 "Arial Narrow",Arial,sans-serif; letter-spacing:-.045em; }
.manual h2 { scroll-margin-top:100px; margin:48px 0 17px; padding:10px 13px; color:#fff3dc; border-left:7px solid var(--gold); background:var(--night-2); font:800 clamp(24px,4vw,34px)/1 "Arial Narrow",Arial,sans-serif; letter-spacing:-.02em; }
.manual h3 { scroll-margin-top:100px; margin:34px 0 10px; color:var(--red); font:800 23px/1.1 "Arial Narrow",Arial,sans-serif; }
.manual p { margin:0 0 16px; color:#3f3021; font-size:16px; line-height:1.7; }
.manual strong { color:#21170e; }
.manual code { padding:2px 5px; color:#fff1d4; border-radius:4px; background:#26383d; font:700 .9em "Courier New",monospace; }
.manual blockquote { margin:22px 0; padding:16px 18px; color:#4d351e; border:1px solid #c99a3d; border-left:7px solid #c99a3d; border-radius:7px; background:#fff0c8; }
.manual blockquote p { margin:0; color:inherit; }
.manual ul,.manual ol { margin:0 0 20px; padding-left:25px; }
.manual li { margin:8px 0; padding-left:3px; color:#3f3021; font-size:15px; line-height:1.55; }
.manual li::marker { color:var(--red); font-weight:800; }
.table-wrap { width:100%; overflow-x:auto; margin:20px 0 28px; border:1px solid var(--line); border-radius:9px; background:#fffaf0; }
.manual table { width:100%; min-width:590px; border-collapse:collapse; font-size:13px; }
.manual th { position:sticky; top:0; padding:11px 9px; color:#fff1d4; background:var(--night-2); font:800 11px "Courier New",monospace; text-align:left; }
.manual td { padding:9px; border-top:1px solid rgba(91,59,31,.14); }
.manual tbody tr:nth-child(even) { background:#f6e6c8; }
.manual th:not(:first-child),.manual td:not(:first-child) { text-align:center; }
.manual td:first-child { font-weight:700; white-space:nowrap; }
.loading { min-height:280px; display:grid; place-items:center; align-content:center; gap:14px; }
.loading span { width:38px; height:38px; border:4px solid #dec69d; border-top-color:var(--red); border-radius:50%; animation:spin .75s linear infinite; }
.loading p { margin:0; font:700 11px "Courier New",monospace; }
.docs-error { padding:20px; color:#fff1d4; border-radius:9px; background:var(--red); }
.docs-footer { min-height:88px; display:flex; align-items:center; justify-content:center; gap:12px; padding:18px; color:#d8c9ab; background:var(--night); }
.docs-footer>span { width:34px; height:34px; display:grid; place-items:center; border:1px solid #d3b587; font:800 11px "Courier New",monospace; }
.docs-footer p,.docs-footer a { font:700 9px "Courier New",monospace; letter-spacing:.08em; text-decoration:none; }
.docs-footer a { color:#e5bd52; }
@keyframes spin { to { transform:rotate(360deg); } }
@media (max-width:820px) {
  .docs-header { min-height:64px; padding-inline:14px; }
  .docs-brand strong { display:none; }
  .back-link { padding-inline:8px; font-size:9px; }
  .docs-hero { min-height:310px; padding-inline:20px; background:radial-gradient(circle at 90% 10%,rgba(213,166,64,.17),transparent 25%),var(--night); }
  .docs-layout { width:min(100% - 24px,760px); display:block; margin-top:18px; }
  .toc-panel { position:relative; top:auto; max-height:none; margin-bottom:14px; }
  #toc { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #toc a.sub { display:none; }
  .manual { padding:22px 17px; }
  .manual p { font-size:15px; }
}
@media (max-width:430px) {
  .back-link { font-size:0; }
  .back-link::after { content:"← GAME"; font-size:9px; }
  .docs-hero h1 { font-size:46px; }
  .hero-stats span { min-width:0; flex:1 1 30%; display:grid; gap:2px; }
  #toc { grid-template-columns:1fr; }
}
@media print {
  .docs-header,.docs-hero,.toc-panel,.docs-footer { display:none; }
  .docs-layout { width:100%; display:block; margin:0; }
  .manual { padding:0; border:0; box-shadow:none; }
  .manual h2 { color:#000; border:0; border-bottom:2px solid #000; background:none; }
}

/* Keep the handbook in the same dark promo family as the public web shell. */
:root { --night:#081117; --night-2:#102631; --paper:#081117; --paper-2:#0a1720; --ink:#f4f0e7; --muted:#c5d4dd; --red:#e5bd52; --gold:#e5bd52; --line:#244454; }
body { color:var(--ink); background:linear-gradient(180deg,#091a24,#081117); }
.docs-header { border-color:#244454; background:rgba(8,17,23,.97); }
.docs-brand>span { color:#e5bd52; border-color:#244454; }
.back-link { color:#f4f0e7; border-color:#244454; border-radius:0; }
.back-link:hover { color:#20180f; background:#e5bd52; }
.language-tabs { border-color:#244454; border-radius:0; }
.language-tabs a { color:#c5d4dd; background:#091a24; }
.language-tabs a.active { color:#20180f; background:#e5bd52; }
.docs-hero { background:radial-gradient(circle at 80% 20%,rgba(229,189,82,.16),transparent 24%),linear-gradient(125deg,#081117 0 62%,#102631 62%); }
.toc-panel { color:#f4f0e7; border-color:#244454; border-radius:0; background:#091a24; box-shadow:none; }
#toc a { color:#c5d4dd; } #toc a.sub { color:#90a4b3; } #toc a:hover { color:#f4f0e7; border-left-color:#e5bd52; background:#102631; }
.manual { color:#f4f0e7; border-color:#244454; border-radius:0; background:#0a1720; box-shadow:none; }
.manual h1 { color:#e5bd52; border-color:#e5bd52; }
.manual h2 { color:#f4f0e7; border-left-color:#e5bd52; background:#102631; }
.manual h3 { color:#e5bd52; }
.manual p,.manual li { color:#d7e0e7; }.manual strong { color:#fff; }
.manual code { color:#081117; background:#e5bd52; }
.manual blockquote { color:#d7e0e7; border-color:#e5bd52; background:#102631; }
.table-wrap { border-color:#244454; border-radius:0; background:#091a24; }
.manual th { color:#081117; background:#e5bd52; }.manual td { border-color:#244454; }.manual tbody tr:nth-child(even) { background:#102631; }
.docs-footer { color:#c5d4dd; border-top:1px solid #244454; background:#081117; }.docs-footer>span { color:#e5bd52; border-color:#244454; }.docs-footer a { color:#e5bd52; }
.docs-language { position:relative; }.docs-language details { position:relative; }.docs-language summary { min-width:48px; min-height:36px; display:flex; align-items:center; justify-content:center; gap:4px; padding:7px 9px; color:#c5d4dd; border:1px solid #244454; background:#091a24; cursor:pointer; font:800 10px "Courier New",monospace; list-style:none; }.docs-language summary::-webkit-details-marker { display:none; }.docs-language details>div { position:absolute; z-index:30; top:calc(100% + 5px); right:0; display:grid; min-width:148px; padding:4px; border:1px solid #244454; background:#091a24; box-shadow:6px 6px 0 rgba(0,0,0,.28); }.docs-language a { padding:8px 9px; color:#c5d4dd; font:700 10px "Courier New",monospace; text-decoration:none; }.docs-language a:hover,.docs-language a[aria-current="page"] { color:#20180f; background:#e5bd52; }
.docs-footer { width:min(1180px,calc(100% - 36px)); min-height:105px; justify-content:space-between; gap:20px; margin:0 auto; padding:24px 0; background:transparent; text-align:left; }.docs-footer strong { color:#e5bd52; font:700 10px "Courier New",monospace; letter-spacing:.08em; }.docs-footer nav { display:flex; flex-wrap:wrap; gap:12px; }.docs-footer nav a { color:#c5d4dd; }.docs-footer nav a:hover { color:#e5bd52; }
@media (max-width:820px) { .docs-footer { width:min(100% - 24px,760px); align-items:flex-start; flex-direction:column; min-height:0; padding:24px 0; gap:14px; } }
