/* Public tokens. Theme colors follow Flute's active theme; no global theme writes. */
.elysium-ui {
    --elysium-color-background: var(--background, #151311);
    --elysium-color-surface: var(--secondary, #201c19);
    --elysium-color-surface-raised: var(--third, #2a2421);
    --elysium-color-surface-sunken: color-mix(in srgb, var(--elysium-color-background) 72%, #000);
    --elysium-color-overlay: color-mix(in srgb, var(--elysium-color-background) 78%, transparent);
    --elysium-color-text: var(--text, #ede5dc);
    --elysium-color-muted: var(--text-400, #bcb0a5);
    --elysium-color-accent: var(--accent, #b48b69);
    --elysium-color-on-accent: color-mix(in srgb, var(--elysium-color-background) 88%, #000);
    --elysium-color-accent-soft: color-mix(in srgb, var(--elysium-color-accent) 14%, transparent);
    --elysium-color-border: var(--transp-2, #665449);
    --elysium-color-border-strong: color-mix(in srgb, var(--elysium-color-border) 100%, var(--elysium-color-text) 18%);
    --elysium-color-focus: var(--elysium-color-accent);
    --elysium-color-success: var(--success, #34d399);
    --elysium-color-warning: var(--warning, #fbbf24);
    --elysium-color-error: var(--error, #f87171);
    --elysium-color-info: var(--info, #60a5fa);
    --elysium-color-success-soft: color-mix(in srgb, var(--elysium-color-success) 14%, transparent);
    --elysium-color-warning-soft: color-mix(in srgb, var(--elysium-color-warning) 14%, transparent);
    --elysium-color-error-soft: color-mix(in srgb, var(--elysium-color-error) 14%, transparent);
    --elysium-color-info-soft: color-mix(in srgb, var(--elysium-color-info) 14%, transparent);
    --elysium-color-common: #b0c3d9;
    --elysium-color-uncommon: #a5ff75;
    --elysium-color-rare: #4b69ff;
    --elysium-color-restricted: #8847ff;
    --elysium-color-classified: #d32ce6;
    --elysium-color-elite: #eb4b4b;
    --elysium-color-prototype: #e4ae39;
    --elysium-color-legendary: #ffd700;
    --elysium-color-medal-gold: #e4b950;
    --elysium-color-medal-silver: #b8c4d2;
    --elysium-color-medal-bronze: #cd905b;
    --elysium-type-family: var(--font-family, system-ui, sans-serif);
    --elysium-type-mono: ui-monospace, SFMono-Regular, Consolas, monospace;
    --elysium-type-micro: 0.6875rem;
    --elysium-type-small: 0.8125rem;
    --elysium-type-body: 1rem;
    --elysium-type-subheading: 1.125rem;
    --elysium-type-heading: clamp(1.25rem, 1.8vw, 1.5rem);
    --elysium-type-title: clamp(1.75rem, 3vw, 2.75rem);
    --elysium-type-display: clamp(2.25rem, 4.5vw, 3.5rem);
    --elysium-type-leading: 1.55;
    --elysium-type-leading-tight: 1.25;
    --elysium-type-weight-medium: 600;
    --elysium-type-weight-bold: 800;
    --elysium-type-tracking-wide: 0.14em;
    --elysium-space-xs: 0.25rem;
    --elysium-space-sm: 0.5rem;
    --elysium-space-md: 0.75rem;
    --elysium-space-lg: 1rem;
    --elysium-space-xl: 1.5rem;
    --elysium-space-2xl: 2rem;
    --elysium-space-3xl: 3rem;
    --elysium-radius-sm: 0.375rem;
    --elysium-radius-md: 0.75rem;
    --elysium-radius-lg: 1rem;
    --elysium-radius-xl: 1.5rem;
    --elysium-radius-pill: 999px;
    --elysium-shadow-sm: 0 1px 2px #0000002e;
    --elysium-shadow-md: 0 6px 18px #00000033;
    --elysium-shadow-lg: 0 18px 48px #00000047;
    --elysium-shadow-card: var(--shadow-medium, 0 8px 24px #00000020);
    --elysium-shadow-dialog: var(--shadow-large, 0 24px 80px #00000060);
    --elysium-shadow-focus: 0 0 0 4px color-mix(in srgb, var(--elysium-color-accent) 24%, transparent);
    --elysium-motion-fast: 120ms;
    --elysium-motion-base: 200ms;
    --elysium-motion-slow: 320ms;
    --elysium-motion-ease: cubic-bezier(0.2, 0.7, 0.3, 1);
    --elysium-motion-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --elysium-motion-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --elysium-motion-entrance: 420ms;
    --elysium-motion-stagger: 55ms;
    --elysium-layer-base: 1;
    --elysium-layer-sticky: 20;
    --elysium-layer-dropdown: 100;
    --elysium-layer-dialog: 1000;
    --elysium-layer-toast: 1100;
}
