/* base.css — LuckJournal.pro — tokens, reset, tipografía */
:root{
  --color-dark:#3B1418;
  --color-dark-surface:#4A1D22;
  --color-cream:#F3ECDD;
  --color-cream-surface:#EAE0C8;
  --color-brass:#A97C3D;
  --text-on-cream:#2A1F18;
  --text-on-dark:#F3ECDD;
  --marker-documentado:#5B6E3F;
  --marker-indirecto:#A97C3D;
  --marker-sin-evidencia:#7A7268;
  --marker-verificacion:#8A3B2A;
  --focus-ring:#1C4B8C;

  --font-display:"Playfair Display",Georgia,"Times New Roman",serif;
  --font-body:"Source Serif 4","Lora",Georgia,"Times New Roman",serif;

  --fs-12:0.75rem;
  --fs-14:0.875rem;
  --fs-16:1rem;
  --fs-18:1.125rem;
  --fs-22:1.375rem;
  --fs-28:1.75rem;
  --fs-36:2.25rem;
  --fs-48:3rem;

  --max-content:1140px;
  --gutter:24px;
  --gutter-mobile:16px;

  color-scheme: light;
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --color-cream:#E4DAC2;
    --color-cream-surface:#D6C9A9;
    --text-on-cream:#221A14;
    color-scheme: dark;
  }
}
:root[data-theme="dark"]{
  --color-cream:#E4DAC2;
  --color-cream-surface:#D6C9A9;
  --text-on-cream:#221A14;
  color-scheme: dark;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
html,body{ margin:0; padding:0; }
body{
  background:var(--color-cream);
  color:var(--text-on-cream);
  font-family:var(--font-body);
  font-size:var(--fs-16);
  line-height:1.6;
  min-height:100vh;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--color-brass); text-decoration-thickness:1px; }
a:hover{ color:var(--color-dark); }
h1,h2,h3,h4{
  font-family:var(--font-display);
  line-height:1.2;
  font-weight:700;
  color:var(--text-on-cream);
  margin:0 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{ margin:0 0 1em; max-width:66ch; }
.measure{ max-width:66ch; }

button, input, select{
  font-family:inherit;
  font-size:var(--fs-16);
}

:focus-visible{
  outline:2px solid var(--focus-ring);
  outline-offset:2px;
}

[hidden]{ display:none !important; }

.skip-link{
  position:absolute;
  left:-999px;
  top:0;
  background:var(--color-dark);
  color:var(--text-on-dark);
  padding:10px 16px;
  z-index:1000;
  border-radius:0 0 4px 0;
}
.skip-link:focus{
  left:0;
}

.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;
}

.ornament{
  border:0;
  border-top:1px solid var(--color-brass);
  width:64px;
  margin:0.4em 0 1.2em;
  position:relative;
}
.ornament::before,.ornament::after{
  content:"·";
  color:var(--color-brass);
}

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