/**
 * GENERATED FILE — do not edit directly.
 * Source: design-tokens/wehome.tokens.json
 * Generator: scripts/design_tokens.py
 * DTCG: https://www.designtokens.org/TR/2025.10/format/
 */
:root {
  color-scheme: light;

  /* Typography */
  --wh-ff: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --wh-ff-display: "SUIT Variable", SUIT, var(--wh-ff);
  --wh-ff-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --wh-text-hero: 2rem;
  --wh-text-section: 1.375rem;
  --wh-text-title: 1rem;
  --wh-text-lg: 1.0625rem;
  --wh-text-base: 1rem;
  --wh-text-sm: 0.875rem;
  --wh-text-xs: 0.75rem;
  --wh-text-kpi: 1.75rem;
  --wh-lh-tight: 1.14;
  --wh-lh-body: 1.5;
  --wh-tracking-body: -0.02em;
  --wh-tracking-title: -0.03em;

  /* Spacing */
  --wh-space-xs: 8px;
  --wh-space-sm: 12px;
  --wh-space-md: 16px;
  --wh-space-lg: 20px;
  --wh-space-xl: 24px;
  --wh-space-2xl: 28px;
  --wh-space-3xl: 32px;
  --wh-space-4xl: 40px;
  --wh-space-5xl: 48px;
  --wh-space-section: 72px;

  /* Space roles */
  --wh-inset-sm: var(--wh-space-sm);
  --wh-inset-md: var(--wh-space-md);
  --wh-inset-lg: var(--wh-space-xl);
  --wh-inset-xl: var(--wh-space-3xl);
  --wh-inset-squish-sm: 8px 16px;
  --wh-inset-squish-md: 10px 20px;
  --wh-inset-stretch-sm: 12px 16px;
  --wh-stack-xs: var(--wh-space-xs);
  --wh-stack-sm: var(--wh-space-sm);
  --wh-stack-md: var(--wh-space-md);
  --wh-stack-lg: var(--wh-space-xl);
  --wh-stack-xl: var(--wh-space-5xl);
  --wh-stack-section: var(--wh-space-section);
  --wh-inline-xs: var(--wh-space-xs);
  --wh-inline-sm: var(--wh-space-sm);
  --wh-inline-md: var(--wh-space-md);
  --wh-gutter: var(--wh-space-lg);

  /* Surfaces and text */
  --wh-bg: #f2f4f6;
  --wh-bg-product: #f2f4f6;
  --wh-bg-stay: #f4f2ef;
  --wh-bg-gutter: #d5d8dd;
  --wh-card: #ffffff;
  --wh-surface: #f4f5f7;
  --wh-tx: #191f28;
  --wh-tx2: #4e5968;
  --wh-tx3: #66707d;
  --wh-bd: rgba(0, 0, 0, 0.06);
  --wh-bd-input: rgba(0, 0, 0, 0.42);
  --wh-divider: #f2f4f6;
  --wh-label: var(--wh-tx);
  --wh-label-2: var(--wh-tx2);
  --wh-label-3: var(--wh-tx3);
  --wh-label-4: var(--wh-tx3);

  /* Brand and links */
  --wh-brand: #681DC7;
  --wh-brand-hover: #5416A3;
  --wh-brand-tint: #F3EEFA;
  --wh-brand-soft: rgba(104, 29, 199, 0.12);
  --wh-focus-ring: var(--wh-brand);
  --wh-ink: #333d4b;
  --wh-ink-hover: #191f28;
  --wh-link: #0071e3;

  /* Semantic states */
  --wh-ok: #0f766e;
  --wh-ok-bg: #ecfdf5;
  --wh-ok-bd: #a7f3d0;
  --wh-warn-bg: #fffbeb;
  --wh-warn-bd: #fde68a;
  --wh-warn-tx: #92400e;
  --wh-err-bg: #fef2f2;
  --wh-err-bd: #fecaca;
  --wh-err-tx: #b91c1c;
  --wh-info-bg: #F3EEFA;
  --wh-info-bd: #D9CCF0;

  /* Radius */
  --wh-radius-sharp: 10px;
  --wh-radius-xs: 12px;
  --wh-radius-sm: 16px;
  --wh-radius-md: 20px;
  --wh-radius-lg: 24px;
  --wh-radius-xl: 28px;
  --wh-radius-btn: 18px;
  --wh-radius-pill: 999px;

  /* Elevation */
  --wh-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  --wh-shadow-hover: 0 4px 12px rgba(0, 0, 0, 0.06);
  --wh-shadow-card: var(--wh-shadow);
  --wh-shadow-listing: 0 0 0 1px rgba(0, 0, 0, 0.02), 0 2px 6px rgba(0, 0, 0, 0.04), 0 4px 8px rgba(0, 0, 0, 0.06);
  --wh-shadow-listing-hover: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 4px 12px rgba(0, 0, 0, 0.08);

  /* Motion */
  --wh-motion-instant: 120ms;
  --wh-motion-fast: 180ms;
  --wh-motion-base: 260ms;
  --wh-motion-hover: var(--wh-motion-instant);
  --wh-motion-state: var(--wh-motion-fast);
  --wh-motion-slow: 380ms;
  --wh-motion-sheet: 480ms;
  --wh-motion-enter: 520ms;
  --wh-motion-hero: 900ms;
  --wh-ease-spring: cubic-bezier(0.34, 1.28, 0.64, 1);
  --wh-ease-spring-soft: cubic-bezier(0.22, 1.08, 0.36, 1);
  --wh-ease-out-smooth: cubic-bezier(0.16, 1, 0.3, 1);
  --wh-ease-in-out-smooth: cubic-bezier(0.45, 0, 0.55, 1);
  --wh-ease-press: cubic-bezier(0.4, 0, 0.2, 1);
  --wh-scale-press: 0.96;
  --wh-scale-press-deep: 0.92;

  /* Layout */
  --wh-max-mobile-shell: 720px;
  --wh-max-consumer: 960px;
  --wh-max-page: 1120px;
  --wh-max-admin: 1080px;
  --wh-max-desktop: 1240px;
  --wh-content-max-wide: 1440px;
  --wh-bp-mobile: 640px;
  --wh-bp-tablet: 980px;
  --wh-bp-desktop-lock: 1024px;

  /* Z-index */
  --wh-z-dropdown: 100;
  --wh-z-sticky: 200;
  --wh-z-overlay: 9000;
  --wh-z-modal: 10000;
  --wh-z-toast: 11000;

  /* Icon and touch */
  --wh-icon-sm: 20px;
  --wh-icon-md: 24px;
  --wh-icon-lg: 40px;
  --wh-touch-min: 44px;
  --wh-touch-cta: 48px;
}

@media (min-width: 1024px) {
  :root {
    --wh-text-hero: 2.5rem;
  }
}

/* Hybrid Stay Craft — surface scope (not a DTCG token) */
html.wh-surface-stay {
  --wh-bg: var(--wh-bg-stay);
  --wh-divider: var(--wh-bg-stay);
}
html.wh-surface-stay body {
  background-color: var(--wh-bg-stay);
}
