/* ===== Fuentes ===== */
@import url('https://fonts.googleapis.com/css2?family=Gabarito:wght@500;600;700;800&family=Instrument+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

/* ===== Variables ===== */
:root{
  --bg:#F4F5F1; --surface:#FFFFFF; --surface-2:#ECEFE8;
  --ink:#161F1A; --ink-2:#4C5A51; --ink-3:#8A968D; --line:#E2E6DE;
  --brand:#123B2A; --brand-2:#0C2B1E; --brand-tint:#E4EEE7;
  --pos:#177A52; --pos-bg:#E2F1E9; --neg:#BC4028; --neg-bg:#F8E9E4;
  --warn:#A97A12; --warn-bg:#F6EEDC; --gold:#C9A227; --violet:#5B4A9E;
  --r-lg:18px; --r-md:14px; --r-sm:10px;
  --shadow:0 1px 2px rgba(22,31,26,.05),0 6px 20px rgba(22,31,26,.06);
  --fb:'Instrument Sans',system-ui,sans-serif;
  --fd:'Gabarito',system-ui,sans-serif;
  --fn:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:#E7E9E3}
body{font-family:var(--fb);font-size:15px;line-height:1.45;color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.fadein{animation:fi .3s ease}
@keyframes fi{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.spin{width:22px;height:22px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:sp 1s linear infinite;margin:0 auto}
@keyframes sp{to{transform:rotate(360deg)}}
