/* ==========================================================================
   DAILY PAWS — CLAUDE EDITION
   core.css · reset, typography, footer, primitives (tokens: shared/css/tokens.css)
   --------------------------------------------------------------------------
   The edition is set like a small daily paper: warm paper, deep ink, one
   rust accent, hairline rules. Photography does the heavy lifting.
   ========================================================================== */

/* ── 1. Tokens ─────────────────────────────────────────────────────────── */
/* The token block that used to live here now lives in shared/css/tokens.css, so
   that one file can be loaded by every page — including the pages still on
   shared/css/pages.css, which cannot yet take the rest of this file. tokens.css must be
   linked BEFORE this file. Nothing else moved. */

/* ── 2. Reset ──────────────────────────────────────────────────────────── */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0 }
html{ -webkit-text-size-adjust:100%; scroll-padding-top:calc(var(--nav-h) + 24px) }
@media (prefers-reduced-motion:no-preference){ html{ scroll-behavior:smooth } }
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--f-sans);
  font-size:16px;
  line-height:1.62;
  font-weight:400;
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  transition:background .4s var(--e-out), color .4s var(--e-out);
}
/* Opt-in dark ground for pages that carry a light body (the front page's
   daily-edition section, its own toggle). Games sit on --night already and
   never need this. */
body.dp-dark{ background:var(--night); color:var(--cream) }
img,svg,video,canvas{ display:block; max-width:100% }
img,video{ height:auto }
a{ color:inherit; text-decoration:none }
button,input,textarea,select{ font:inherit; color:inherit }
button{ background:none; border:0; cursor:pointer; touch-action:manipulation }
a,button{ -webkit-tap-highlight-color:transparent }
[hidden]{ display:none !important }
::selection{ background:rgba(191,78,28,.18) }
:focus-visible{ outline:2px solid var(--rust); outline-offset:3px; border-radius:var(--r-xs) }
.dp-dark :focus-visible{ outline-color:var(--amber) }

.dp-sr{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
        clip:rect(0,0,0,0); white-space:nowrap; border:0 }

/* ── 3-5. Typography, layout primitives, buttons, links ────────────────── */
/* Moved to shared/css/primitives.css, which every page loads. They lived here and
   so existed on the front page only — which is how the rest of the site came
   to grow its own button families and its own heading pair. */

/* ── 8-9. Footer, footer feedback, cookie notice ───────────────────────── */
/* These moved to shared/css/footer.css, which every page loads, so the shared
   chrome is defined once. */

/* ── 10. Scroll reveal ─────────────────────────────────────────────────── */
/* Moved to shared/css/primitives.css. */

/* ── 12. Reduced motion ────────────────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important; scroll-behavior:auto !important;
  }
}

/* ── 13. Hidden thing ──────────────────────────────────────────────────── */
@keyframes dpSit{
  0%{ transform:none } 24%{ transform:translateY(6px) scale(.982) }
  52%{ transform:translateY(0) scale(1) } 76%{ transform:translateY(2px) } 100%{ transform:none }
}
.dp-sit .dp-brand-mark,
.dp-sit .wv-frame,
.dp-sit .board{ animation:dpSit 1.2s var(--e-spring) both }
