/* base.css — GameBrief.pro — reset, tokens, typography */
:root{
  --bg:#F5F1E8;
  --text:#241F1A;
  --valpo:#233B5C;
  --valpo-dark:#152840;
  --vina:#B9622B;
  --vina-dark:#8C481D;
  --neutral:#5B6B63;
  --warn:#A63D2E;
  --text-inverse:#F5F1E8;
  --font-head:'Fraunces',Georgia,serif;
  --font-body:'Public Sans',Arial,sans-serif;
  --fs-12:.75rem;--fs-14:.875rem;--fs-16:1rem;--fs-18:1.125rem;
  --fs-22:1.375rem;--fs-28:1.75rem;--fs-36:2.25rem;--fs-46:2.875rem;
  --maxw:1180px;
  --radius:6px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#EDE8DC;
    --text:#1B1712;
  }
}
:root[data-theme="dark"]{
  --bg:#EDE8DC;
  --text:#1B1712;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:var(--fs-16);
  line-height:1.55;
}
h1,h2,h3,h4{
  font-family:var(--font-head);
  line-height:1.2;
  font-weight:600;
  margin:0 0 .6em;
}
h1{font-size:var(--fs-36)}
h2{font-size:var(--fs-28)}
h3{font-size:var(--fs-22)}
h4{font-size:var(--fs-18)}
p,ul,ol{margin:0 0 1em}
p{max-width:70ch}
a{color:var(--valpo)}
a:hover{color:var(--valpo-dark)}
img{max-width:100%;height:auto;display:block}
button{font-family:inherit}
:focus-visible{outline:3px solid var(--vina);outline-offset:2px}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
@media (max-width:719px){.container{padding:0 16px}}
[hidden]{display:none!important}
.visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.skip-link{
  position:absolute;left:-9999px;top:0;background:var(--valpo-dark);
  color:var(--text-inverse);padding:.75em 1.25em;z-index:1000;border-radius:0 0 6px 0;
}
.skip-link:focus{left:0}
.tabular-nums{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}
}
