/* headofstategame.com: the landing page, the legal pages and the 404. The same tokens and button kit as the game's stylesheet
   (src/index.template.html), so the site and the home menu look like one thing. The game itself lives at /play and keeps its own. */
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/bricolage.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-400.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plex-600.woff2) format('woff2')}
:root{
  --sea:#14304a; --sea-deep:#0b1d2e; --edge:#2b3c47; --edge-hi:#3f5563;
  --ink:#ece5d1; --muted:#98a6a8; --dim:#5f6e74; --brass:#d9ad52; --brass-dim:#8f7336; --brass-ink:#1a1307;
  --s0:#0b1218; --s1:#111b22; --s2:#16222c; --s3:#1b2832; --s4:#23313a; --hair:#1d2a33; --grid:rgba(120,160,190,.06);
  --r-sm:3px; --r:4px; --r-lg:6px;
  --display:'Bricolage Grotesque','Segoe UI',system-ui,sans-serif; --body:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  color-scheme:dark;
}
/* the site is dark in both schemes, like the game; the tokens are restated so a light-mode browser keeps them */
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --sea-deep:#0b1d2e; --ink:#ece5d1; } }
:root[data-theme="dark"]{ --sea-deep:#0b1d2e; --ink:#ece5d1; }
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--sea-deep);color:var(--ink);font:400 15px/1.55 var(--body);-webkit-font-smoothing:antialiased;
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:64px 64px}
a{color:var(--brass)}
a:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:12px;z-index:9;background:var(--s3);padding:8px 12px}

/* the kit: secondary (the default), primary, quiet; two sizes. The Play button is the menu's big gold button. */
.b{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;font:600 14px/1 var(--body);color:var(--ink);background:var(--s3);border:1px solid var(--edge-hi);border-radius:var(--r-sm);text-decoration:none;white-space:nowrap;transition:border-color .15s,background-color .15s,filter .15s}
.b:hover{border-color:var(--brass-dim);background:var(--s4)}
.b.pri{background:var(--brass);border-color:var(--brass);color:var(--brass-ink)}.b.pri:hover{filter:brightness(1.08)}
.b.quiet{background:transparent;border-color:transparent;color:var(--muted)}.b.quiet:hover{color:var(--ink);background:transparent}
.b.sm{height:32px;padding:0 12px;font-size:13px}
.b.play{height:58px;width:100%;font:700 24px/1 var(--display);box-shadow:0 4px 18px rgba(217,173,82,.25)}
.b:active{transform:translateY(1px)}

/* the landing page: the home menu's layout, a dark panel on the left and the map on the right */
.hero{flex:1;display:grid;grid-template-columns:minmax(340px,480px) 1fr;min-height:0}
.pitch{background:rgba(9,15,21,.97);border-right:1px solid var(--edge);padding:56px 44px 40px;display:flex;flex-direction:column;justify-content:center;gap:18px}
.brand{font:800 clamp(44px,5vw,64px)/.95 var(--display);letter-spacing:.01em;margin:0}
.tag{font-size:17px;line-height:1.5;color:var(--muted);margin:0;max-width:34ch}
.note{font-size:13px;color:var(--muted);margin:-8px 0 0}
.what{font-size:14.5px;color:var(--ink);opacity:.85;margin:6px 0 0;max-width:40ch;padding-top:18px;border-top:1px solid var(--hair)}
.more{display:flex;flex-wrap:wrap;gap:10px}
.map{margin:0;display:flex;align-items:center;justify-content:center;padding:40px 32px;min-width:0}
.map img{display:block;width:100%;height:auto;max-width:1200px;   /* the picture's own sea fades into the page, so it has no edge */
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(transparent,#000 9%,#000 91%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(transparent,#000 9%,#000 91%,transparent);mask-composite:intersect}

/* the legal pages: a slim bar, then one readable column */
.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px;background:rgba(9,15,21,.97);border-bottom:1px solid var(--edge)}
.home-link{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:800 20px/1 var(--display)}
.doc{flex:1;width:100%;max-width:740px;margin:0 auto;padding:40px 24px 56px}
.doc section{background:rgba(9,15,21,.9);border:1px solid var(--edge);border-radius:var(--r-lg);padding:32px 36px;margin:0 0 20px}
.doc h1{font:700 34px/1.1 var(--display);margin:0 0 4px}
.doc h2{font:600 15px/1.3 var(--body);color:var(--brass);margin:22px 0 6px}
.doc p,.doc li{color:var(--muted);margin:0 0 10px}.doc b{color:var(--ink);font-weight:600}
.doc ul{margin:0 0 10px;padding-left:20px}.doc .eff{font-size:13px;opacity:.85;margin-bottom:18px}
.doc details{margin:0 0 10px}.doc summary{cursor:pointer;color:var(--ink);font-weight:600;padding:4px 0}
.doc pre{white-space:pre-wrap;font:12px/1.5 ui-monospace,Menlo,Consolas,monospace;color:var(--muted);background:var(--s0);border:1px solid var(--hair);border-radius:var(--r-sm);padding:12px;max-height:320px;overflow:auto}
.lost{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.lost h1{font:800 44px/1 var(--display);margin:0}.lost p{color:var(--muted);margin:0 0 8px}

footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;padding:14px 44px;border-top:1px solid var(--hair);background:rgba(9,15,21,.97);font-size:13px;color:var(--muted)}
footer nav{display:flex;flex-wrap:wrap;gap:6px 18px}footer a{color:var(--muted);text-decoration:none}footer a:hover{color:var(--ink);text-decoration:underline}
footer .ver{font:12px/1 ui-monospace,Menlo,Consolas,monospace;color:var(--dim)}

@media (max-width:760px){
  .hero{grid-template-columns:1fr}
  .pitch{border-right:0;border-bottom:1px solid var(--edge);padding:36px 16px 28px}
  .map{padding:20px 16px}
  .doc{padding:24px 16px 40px}.doc section{padding:22px 18px}
  .bar,footer{padding-left:16px;padding-right:16px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
