/* Generated from the "Gated Community — UX/UI Redesign" Figma file.
   Primitives + Spacing/Radius/Size are single-mode; the Color collection has Day and
   Night modes, so every semantic color is re-aliased under [data-theme="night"]. */

:root {
    /* Primitives — neutral */
    --gc-neutral-0: #ffffff;
    --gc-neutral-50: #f8fafc;
    --gc-neutral-100: #f1f5f9;
    --gc-neutral-200: #e2e8f0;
    --gc-neutral-300: #cbd5e1;
    --gc-neutral-400: #94a3b8;
    --gc-neutral-500: #64748b;
    --gc-neutral-600: #475569;
    --gc-neutral-700: #334155;
    --gc-neutral-800: #1e293b;
    --gc-neutral-850: #172033;
    --gc-neutral-900: #0f172a;
    --gc-neutral-950: #080f1e;
    --gc-neutral-1000: #02060f;

    /* Primitives — brand */
    --gc-brand-50: #eff6ff;
    --gc-brand-100: #dbeafe;
    --gc-brand-200: #bfdbfe;
    --gc-brand-300: #93c5fd;
    --gc-brand-400: #60a5fa;
    --gc-brand-500: #3b82f6;
    --gc-brand-600: #2563eb;
    --gc-brand-700: #1d4ed8;
    --gc-brand-800: #1e40af;
    --gc-brand-900: #172f6b;

    /* Primitives — allow */
    --gc-allow-50: #ecfdf5;
    --gc-allow-100: #d1fae5;
    --gc-allow-300: #6ee7b7;
    --gc-allow-400: #34d399;
    --gc-allow-500: #10b981;
    --gc-allow-600: #059669;
    --gc-allow-700: #047857;
    --gc-allow-900: #053e30;

    /* Primitives — soft */
    --gc-soft-50: #fffbeb;
    --gc-soft-100: #fef3c7;
    --gc-soft-300: #fcd34d;
    --gc-soft-400: #fbbf24;
    --gc-soft-500: #f59e0b;
    --gc-soft-600: #d97706;
    --gc-soft-700: #b45309;
    --gc-soft-900: #4a2a06;

    /* Primitives — deny */
    --gc-deny-50: #fef2f2;
    --gc-deny-100: #fee2e2;
    --gc-deny-300: #fca5a5;
    --gc-deny-400: #f87171;
    --gc-deny-500: #ef4444;
    --gc-deny-600: #dc2626;
    --gc-deny-700: #b91c1c;
    --gc-deny-900: #4c1010;

    /* Spacing */
    --gc-space-none: 0;
    --gc-space-2xs: 4px;
    --gc-space-xs: 8px;
    --gc-space-sm: 12px;
    --gc-space-md: 16px;
    --gc-space-lg: 24px;
    --gc-space-xl: 32px;
    --gc-space-2xl: 40px;
    --gc-space-3xl: 48px;
    --gc-space-4xl: 64px;

    /* Radius */
    --gc-radius-none: 0;
    --gc-radius-sm: 6px;
    --gc-radius-md: 10px;
    --gc-radius-lg: 14px;
    --gc-radius-xl: 20px;
    --gc-radius-full: 999px;

    /* Size */
    --gc-control-sm: 32px;
    --gc-control-md: 40px;
    --gc-control-lg: 48px;
    --gc-touch-min: 44px;
    --gc-touch-kiosk: 64px;
    --gc-icon-sm: 16px;
    --gc-icon-md: 20px;
    --gc-icon-lg: 24px;
    --gc-icon-xl: 32px;

    /* Type ramp — the 19 Figma text styles, as family/size/line-height/tracking triples */
    --gc-font-sans: Inter, 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --gc-font-mono: 'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

    --gc-weight-regular: 400;
    --gc-weight-medium: 500;
    --gc-weight-semibold: 600;
    --gc-weight-bold: 700;

    /* Effect styles */
    --gc-shadow-card: 0 1px 2px rgba(15, 23, 41, 0.06), 0 2px 6px rgba(15, 23, 41, 0.04);
    --gc-shadow-raised: 0 6px 16px -2px rgba(15, 23, 41, 0.1);
    --gc-shadow-overlay: 0 18px 44px -8px rgba(3, 5, 15, 0.28);
    --gc-ring-focus: 0 0 0 3px rgba(59, 130, 245, 0.45);
    --gc-ring-alert: 0 0 0 4px rgba(245, 158, 10, 0.45), 0 10px 30px -6px rgba(219, 38, 38, 0.18);

    /* Motion */
    --gc-transition-fast: 120ms ease;
    --gc-transition-base: 180ms ease;

    /* Semantic color — Day */
    --gc-bg-canvas: var(--gc-neutral-50);
    --gc-bg-surface: var(--gc-neutral-0);
    --gc-bg-raised: var(--gc-neutral-0);
    --gc-bg-sunken: var(--gc-neutral-100);
    --gc-bg-hover: var(--gc-neutral-100);
    --gc-bg-nav: var(--gc-neutral-900);
    --gc-bg-nav-active: var(--gc-neutral-800);

    --gc-text-primary: var(--gc-neutral-900);
    --gc-text-secondary: var(--gc-neutral-600);
    --gc-text-muted: var(--gc-neutral-500);
    --gc-text-inverse: var(--gc-neutral-0);
    --gc-text-on-nav: var(--gc-neutral-300);
    --gc-text-on-brand: var(--gc-neutral-0);
    --gc-text-link: var(--gc-brand-700);

    --gc-border-subtle: var(--gc-neutral-200);
    --gc-border-default: var(--gc-neutral-300);
    --gc-border-strong: var(--gc-neutral-400);
    --gc-border-focus: var(--gc-brand-600);

    --gc-action-primary: var(--gc-brand-600);
    --gc-action-primary-hover: var(--gc-brand-700);
    --gc-action-subtle: var(--gc-brand-50);

    --gc-allow-solid: var(--gc-allow-600);
    --gc-allow-bg: var(--gc-allow-50);
    --gc-allow-border: var(--gc-allow-300);
    --gc-allow-text: var(--gc-allow-700);

    --gc-soft-solid: var(--gc-soft-500);
    --gc-soft-bg: var(--gc-soft-50);
    --gc-soft-border: var(--gc-soft-300);
    --gc-soft-text: var(--gc-soft-700);

    --gc-deny-solid: var(--gc-deny-600);
    --gc-deny-bg: var(--gc-deny-50);
    --gc-deny-border: var(--gc-deny-300);
    --gc-deny-text: var(--gc-deny-700);

    --gc-offline-solid: var(--gc-neutral-500);
    --gc-offline-bg: var(--gc-neutral-100);
    --gc-offline-border: var(--gc-neutral-300);
    --gc-offline-text: var(--gc-neutral-600);

    color-scheme: light;
}

/* Semantic color — Night. Only the Color collection re-aliases; primitives never change. */
[data-theme="night"] {
    --gc-bg-canvas: var(--gc-neutral-1000);
    --gc-bg-surface: var(--gc-neutral-900);
    --gc-bg-raised: var(--gc-neutral-850);
    --gc-bg-sunken: var(--gc-neutral-950);
    --gc-bg-hover: var(--gc-neutral-800);
    --gc-bg-nav: var(--gc-neutral-1000);
    --gc-bg-nav-active: var(--gc-neutral-850);

    --gc-text-primary: var(--gc-neutral-50);
    --gc-text-secondary: var(--gc-neutral-400);
    --gc-text-muted: var(--gc-neutral-500);
    --gc-text-inverse: var(--gc-neutral-900);
    --gc-text-on-nav: var(--gc-neutral-400);
    --gc-text-on-brand: var(--gc-neutral-0);
    --gc-text-link: var(--gc-brand-300);

    --gc-border-subtle: var(--gc-neutral-800);
    --gc-border-default: var(--gc-neutral-700);
    --gc-border-strong: var(--gc-neutral-600);
    --gc-border-focus: var(--gc-brand-400);

    --gc-action-primary: var(--gc-brand-500);
    --gc-action-primary-hover: var(--gc-brand-400);
    --gc-action-subtle: var(--gc-brand-900);

    --gc-allow-solid: var(--gc-allow-500);
    --gc-allow-bg: var(--gc-allow-900);
    --gc-allow-border: var(--gc-allow-700);
    --gc-allow-text: var(--gc-allow-300);

    --gc-soft-solid: var(--gc-soft-400);
    --gc-soft-bg: var(--gc-soft-900);
    --gc-soft-border: var(--gc-soft-700);
    --gc-soft-text: var(--gc-soft-300);

    --gc-deny-solid: var(--gc-deny-500);
    --gc-deny-bg: var(--gc-deny-900);
    --gc-deny-border: var(--gc-deny-700);
    --gc-deny-text: var(--gc-deny-300);

    --gc-offline-solid: var(--gc-neutral-600);
    --gc-offline-bg: var(--gc-neutral-850);
    --gc-offline-border: var(--gc-neutral-700);
    --gc-offline-text: var(--gc-neutral-400);

    color-scheme: dark;
}
