@charset "UTF-8";
/* Tokens del sistema de diseño Climb Fit (copiados tal cual de tokens/*.css). No editar a mano: cambia valores aquí solo si cambia el sistema. */
:root{
/* ── Base: Verde Climb (primario) ───────────────────────── */
--green-50:#F1FCEB;--green-100:#DEF8CE;--green-200:#C4F1A8;--green-300:#A6E77E;--green-400:#7ED957;--green-500:#6BC845;--green-600:#55A634;--green-700:#3F7D26;--green-800:#2B551A;--green-900:#1A330F;
/* Verde exacto de marca */
--brand-green:#7ED957;
--brand-green-ink:#0A0A0A;
/* Verde de los archivos de logotipo entregados */
--logo-green:#86BF59;

/* ── Base: Negro (secundario) y neutros ─────────────────── */
--black:#000000;
--ink-950:#050505;--ink-900:#0A0A0A;--ink-850:#121212;--ink-800:#1A1A1A;--ink-700:#242424;--ink-600:#2E2E2E;--ink-500:#3D3D3D;--ink-400:#5C5C5C;--ink-300:#8A8A8A;--ink-200:#B5B5B5;--ink-100:#D9D9D9;--ink-50:#F2F2F2;
--white:#FFFFFF;

/* ── Base: Gris Climb (terciario) ───────────────────────── */
--brand-stone:#373736;
--stone-900:#1C1C1B;--stone-800:#282827;--stone-700:#373736;--stone-600:#484846;--stone-500:#5C5C59;--stone-400:#77776F;--stone-300:#9A9A94;--stone-200:#C0C0BA;--stone-100:#DEDEDA;--stone-50:#F1F1EE;

/* ── Semánticos ─────────────────────────────────────────── */
--signal-success:#7ED957;--signal-success-soft:#1D2C16;
--signal-warning:#FFB020;--signal-warning-soft:#33240A;
--signal-danger:#FF4D4D;--signal-danger-soft:#331414;
--signal-info:#5AB8FF;--signal-info-soft:#0F2635;

/* ── Intensidad de entrenamiento (dato de producto) ─────── */
--zone-recovery:#5AB8FF;--zone-base:#7ED957;--zone-tempo:#FFB020;--zone-max:#FF4D4D;

/* ── Alias semánticos: superficies (tema oscuro = default) ─ */
--surface-canvas:var(--ink-950);
--surface-raised:var(--ink-900);
--surface-card:var(--ink-850);
--surface-card-hover:var(--ink-800);
--surface-sunken:var(--black);
--surface-stone:var(--brand-stone);
--surface-stone-raised:var(--stone-600);
/* Texto sobre el gris de marca: la escala ink es demasiado apagada ahí */
--text-on-stone-strong:var(--white);
--text-on-stone-body:var(--stone-100);
--text-on-stone-muted:var(--stone-200);
--text-on-stone-faint:#AFAFA9;
--border-on-stone:rgba(255,255,255,.16);
--surface-inverse:var(--white);
--surface-accent:var(--brand-green);
--surface-accent-soft:rgba(126,217,87,.12);
--surface-overlay:rgba(5,5,5,.72);

/* ── Alias semánticos: texto ────────────────────────────── */
--text-strong:var(--white);
--text-body:var(--ink-100);
--text-muted:var(--ink-300);
--text-faint:var(--ink-400);
--text-accent:var(--brand-green);
--text-on-accent:var(--ink-900);
--text-inverse:var(--ink-900);

/* ── Alias semánticos: bordes ───────────────────────────── */
--border-subtle:rgba(255,255,255,.08);
--border-default:rgba(255,255,255,.14);
--border-strong:rgba(255,255,255,.28);
--border-accent:var(--brand-green);
--border-focus:var(--green-300);

/* ── Alias semánticos: acción ───────────────────────────── */
--action-primary:var(--brand-green);
--action-primary-hover:var(--green-300);
--action-primary-press:var(--green-500);
--action-secondary:transparent;
--action-secondary-border:var(--border-strong);
--action-disabled:var(--ink-700);
--action-disabled-text:var(--ink-400);
}

/* Tema claro: sólo para superficies impresas y bloques de contenido */
[data-theme="light"]{
--surface-canvas:var(--ink-50);
--surface-raised:var(--white);
--surface-card:var(--white);
--surface-card-hover:var(--ink-50);
--surface-sunken:var(--ink-100);
--surface-inverse:var(--ink-900);
--surface-overlay:rgba(10,10,10,.55);
--text-strong:var(--ink-900);
--text-body:var(--ink-800);
--text-muted:var(--ink-400);
--text-faint:var(--ink-300);
--text-accent:var(--green-600);
--text-inverse:var(--white);
--border-subtle:rgba(10,10,10,.08);
--border-default:rgba(10,10,10,.14);
--border-strong:rgba(10,10,10,.3);
}

:root{
/* Escala de 4px */
--space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;

/* Alias de uso */
--gap-inline:var(--space-2);
--gap-stack:var(--space-4);
--gap-group:var(--space-6);
--pad-card:var(--space-6);
--pad-card-compact:var(--space-4);
--pad-section-y:var(--space-24);
--pad-section-y-mobile:var(--space-16);
--gutter-page:var(--space-6);
--content-max:1200px;
--content-narrow:720px;

/* Alturas de control */
--control-h-sm:32px;--control-h-md:44px;--control-h-lg:56px;
--tap-min:44px;
}

:root{
--radius-none:0px;
--radius-xs:2px;
--radius-sm:4px;
--radius-md:8px;
--radius-lg:12px;
--radius-xl:18px;
--radius-2xl:24px;
--radius-pill:999px;
/* Alias */
--radius-button:var(--radius-sm);
--radius-input:var(--radius-sm);
--radius-card:var(--radius-lg);
--radius-media:var(--radius-lg);
--radius-badge:var(--radius-pill);
--radius-modal:var(--radius-xl);
}

:root{
/* Sombras: en fondo negro la elevación es luz, no sombra */
--shadow-none:none;
--shadow-sm:0 1px 2px rgba(0,0,0,.6);
--shadow-md:0 6px 20px rgba(0,0,0,.55);
--shadow-lg:0 18px 48px rgba(0,0,0,.65);
--shadow-modal:0 32px 80px rgba(0,0,0,.75);
/* Halo verde: sólo en estados activos / CTA principal */
--glow-accent:0 0 0 1px rgba(126,217,87,.4), 0 8px 32px rgba(126,217,87,.22);
--glow-accent-soft:0 0 24px rgba(126,217,87,.18);
/* Inner strokes (borde de 1px pintado por dentro) */
--inset-hairline:inset 0 0 0 1px rgba(255,255,255,.08);
--inset-hairline-strong:inset 0 0 0 1px rgba(255,255,255,.16);
/* Foco */
--focus-ring:0 0 0 2px var(--surface-canvas), 0 0 0 4px var(--brand-green);
/* Degradados de protección sobre imagen */
--scrim-bottom:linear-gradient(180deg,rgba(5,5,5,0) 0%,rgba(5,5,5,.35) 45%,rgba(5,5,5,.92) 100%); /* @kind other */
--scrim-full:linear-gradient(180deg,rgba(5,5,5,.55) 0%,rgba(5,5,5,.8) 100%); /* @kind other */
--image-treatment:grayscale(1) contrast(1.12) brightness(.82); /* @kind other */
}

:root{
--duration-instant:80ms; /* @kind other */
--duration-fast:140ms; /* @kind other */
--duration-base:220ms; /* @kind other */
--duration-slow:400ms; /* @kind other */
--duration-reveal:640ms; /* @kind other */
--ease-standard:cubic-bezier(.2,0,0,1); /* @kind other */
--ease-out:cubic-bezier(.16,1,.3,1); /* @kind other */
--ease-in:cubic-bezier(.6,0,1,1); /* @kind other */
--ease-power:cubic-bezier(.65,0,.35,1); /* @kind other */
--transition-control:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard);
--press-scale:0.97; /* @kind other */
--hover-lift:-2px; /* @kind other */
}
@media (prefers-reduced-motion:reduce){:root{
--duration-instant:0ms; /* @kind other */
--duration-fast:0ms; /* @kind other */
--duration-base:0ms; /* @kind other */
--duration-slow:0ms; /* @kind other */
--duration-reveal:0ms; /* @kind other */
--press-scale:1; /* @kind other */
--hover-lift:0px; /* @kind other */
}}

:root{
/* Familias */
--font-display:'Archivo','Helvetica Neue',Arial,sans-serif;
--font-body:'Barlow','Helvetica Neue',Arial,sans-serif;
--font-condensed:'Barlow Condensed','Barlow',Arial,sans-serif;
--font-numeric:'Archivo','Helvetica Neue',Arial,sans-serif;

/* Pesos */
--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:900;

/* Escala tipográfica (1.25 mayor tercera, base 16) */
--size-3xs:11px;--size-2xs:12px;--size-xs:13px;--size-sm:14px;--size-md:16px;--size-lg:18px;--size-xl:22px;--size-2xl:28px;--size-3xl:36px;--size-4xl:46px;--size-5xl:60px;--size-6xl:78px;--size-7xl:104px;

/* Interlineado */
--leading-tight:0.92;--leading-snug:1.06;--leading-heading:1.14;--leading-body:1.55;--leading-loose:1.7;

/* Tracking */
--tracking-mega:-0.03em;--tracking-tight:-0.015em;--tracking-normal:0;--tracking-wide:0.04em;--tracking-label:0.14em;

/* Roles compuestos */
--type-hero-family:var(--font-display);--type-hero-weight:900;--type-hero-size:var(--size-6xl);--type-hero-leading:var(--leading-tight);--type-hero-tracking:var(--tracking-mega);--type-hero-case:uppercase;
--type-display-size:var(--size-4xl);
--type-h1-size:var(--size-3xl);--type-h2-size:var(--size-2xl);--type-h3-size:var(--size-xl);
--type-body-size:var(--size-md);--type-body-leading:var(--leading-body);
--type-small-size:var(--size-sm);
--type-label-size:var(--size-2xs);--type-label-tracking:var(--tracking-label);--type-label-weight:700;--type-label-case:uppercase;
--type-metric-size:var(--size-5xl);--type-metric-weight:800;--type-metric-tracking:var(--tracking-tight);
}

