/* sunnyday.host design tokens — generated, do not edit */
/* source: tokens/tokens.json */
/* version: 1.0.0 */

@layer tokens, composition, utilities, blocks, exceptions;

@layer tokens {

:root {
    /* Brand accent — the amber from the logo mark and CTA accents. */
    --brand-accent: #fbbf24;
    --brand-accent-dark: #b88708;

    /* Backgrounds. */
    --brand-bg-page: #0b0d17;
    --brand-bg-card: #11141f;

    /* Foregrounds (text). */
    --brand-fg-primary: #f7f8fb;
    --brand-fg-secondary: #c8cdd6;
    --brand-fg-muted: #7b8194;

    /* Hyperlink. */
    --brand-link: #fbbf24;

    /* Status colours. */
    --brand-success: #34d399;
    --brand-warning: #f59e0b;
    --brand-error: #ef4444;

    /* Radii. */
    --brand-radius-card: 12px;
    --brand-radius-pill: 9999px;

    /* Type stack. The same fallback chain Apple / Microsoft / Google
       all suggest for system UI. */
    --brand-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
                         system-ui, "SF Pro Text", Roboto, Helvetica,
                         Arial, sans-serif;
    --brand-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo,
                       Consolas, monospace;

    /* --- F4 additions to the spec table --------------------------- */

    /* Night-to-horizon palette stops, used by the gradient
       backgrounds (.features, .mission, .cta, .pricing-page,
       .sunrise). The progression is night ▸ deep-violet ▸ rust-red ▸
       amber, the sky-at-dawn sweep. */
    --brand-night-1: #0b0d17;   /* same as --brand-bg-page */
    --brand-night-2: #10122a;
    --brand-night-3: #1e1040;
    --brand-violet:  #3d1a42;
    --brand-rust:    #7c2d12;
    --brand-dawn-1:  #b45309;
    --brand-dawn-2:  #d97706;
    --brand-dawn-3:  #f59e0b;   /* same as --brand-warning */
    --brand-dawn-4:  #fbbf24;   /* same as --brand-accent */

    /* Soft white — the on-rust CTA fill where pure white would clip. */
    --brand-fg-on-warm: #ffffff;

    /* --- F2 type / space / line-height scales ------------------- */

    /* Type scale (Utopia fluid). Parameters: 320/16/1.2 → 1240/18/1.25,
       steps -2 ... +5. Authored as scalar clamp() strings per Decision
       3 guardrail 1 (no composite typography form). */
    --text--2: clamp(0.6944rem, 0.6856rem + 0.0444vw, 0.72rem);
    --text--1: clamp(0.8333rem, 0.8101rem + 0.1159vw, 0.9rem);
    --text-0: clamp(1rem, 0.9565rem + 0.2174vw, 1.125rem);
    --text-1: clamp(1.2rem, 1.1283rem + 0.3587vw, 1.4062rem);
    --text-2: clamp(1.44rem, 1.3295rem + 0.5527vw, 1.7578rem);
    --text-3: clamp(1.728rem, 1.5648rem + 0.8161vw, 2.1973rem);
    --text-4: clamp(2.0736rem, 1.8395rem + 1.1704vw, 2.7466rem);
    --text-5: clamp(2.4883rem, 2.1597rem + 1.6433vw, 3.4332rem);

    /* Line-heights — 3 tokens (Decision 3 guardrail 3). */
    --lh-tight: 1.2;
    --lh-body: 1.5;
    --lh-relaxed: 1.7;

    /* Space scale — discrete 8pt-grid in rem (Decision 3 guardrail 2). */
    --space-0-25: 0.25rem;
    --space-0-5: 0.5rem;
    --space-0-75: 0.75rem;
    --space-1: 1rem;
    --space-1-5: 1.5rem;
    --space-2: 2rem;
    --space-3: 3rem;
    --space-4: 4rem;
    --space-6: 6rem;
    --space-8: 8rem;

    /* --- F3 motion tokens -------------------------------------- */

    /* Motion — 2 tokens (Decision 5 guardrails 2 + 3). The values
       are consumed only inside @media (prefers-reduced-motion:
       no-preference) blocks in www/*.css — gate-positive idiom. */
    --motion-duration-fast: 150ms;
    --motion-ease-standard: cubic-bezier(0.2, 0, 0, 1);
}

}
