/* Design tokens — lifted verbatim from Glutenfri-South-Beach-28.html.
   Three definitions of every colour, on purpose:
     :root                                  the light palette (the only complete one)
     @media (prefers-color-scheme: dark)    the system default, guarded so an explicit
                                            light choice still wins
     :root[data-theme="dark"]               an explicit choice, which beats the media query
   Never give a colour its only definition inside a media block. */

:root{
  --ground:#F6F7F4;
  --card:#FFFFFF;
  --card-2:#F1F3EF;
  --ink:#131C18;
  --ink-2:#3A4640;
  --muted:#5D6B64;
  --line:#DFE4DD;
  --line-strong:#C6CFC7;
  --accent:#0E5D50;
  --accent-ink:#0A463C;
  --accent-soft:#E1EEEA;
  --ochre:#9C5F1B;
  --ochre-soft:#F6E9D6;
  --berry:#8B3350;
  --berry-soft:#F7E5EA;
  --warn:#8A5A00;
  --shadow:0 1px 2px rgba(19,28,24,.05), 0 8px 24px -16px rgba(19,28,24,.25);
  --radius:10px;
  --maxw:1140px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#0E1512;
    --card:#17201C;
    --card-2:#1D2723;
    --ink:#E9EEE9;
    --ink-2:#C4CEC7;
    --muted:#93A29B;
    --line:#28332D;
    --line-strong:#3A4740;
    --accent:#5CC8AC;
    --accent-ink:#8FDCC7;
    --accent-soft:#14322B;
    --ochre:#DDA05B;
    --ochre-soft:#32261A;
    --berry:#E58FA6;
    --berry-soft:#33202A;
    --warn:#D9A94F;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 10px 28px -18px rgba(0,0,0,.7);
  }
}
:root[data-theme="dark"]{
  --ground:#0E1512;
  --card:#17201C;
  --card-2:#1D2723;
  --ink:#E9EEE9;
  --ink-2:#C4CEC7;
  --muted:#93A29B;
  --line:#28332D;
  --line-strong:#3A4740;
  --accent:#5CC8AC;
  --accent-ink:#8FDCC7;
  --accent-soft:#14322B;
  --ochre:#DDA05B;
  --ochre-soft:#32261A;
  --berry:#E58FA6;
  --berry-soft:#33202A;
  --warn:#D9A94F;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 10px 28px -18px rgba(0,0,0,.7);
}

*{box-sizing:border-box}
body{
  margin:0;
  background:var(--ground);
  color:var(--ink);
  font-family:"Source Sans 3","Segoe UI",system-ui,sans-serif;
  font-size:16.5px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:Newsreader,"Iowan Old Style",Georgia,serif;font-weight:500;text-wrap:balance;margin:0;line-height:1.15}
p{margin:0}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace}
