/*!
 * @casoon/tailwindcss-effects
 * Complete collection of CSS effects for Tailwind CSS v4 
 * Version 0.9.0 - Consolidated from 5 core packages
 * 
 * This meta package combines the consolidated core packages:
 *  * - utilities\n * - animations\n * - glass\n * - orbs\n * - core
 * 
 * Usage: @import "@casoon/tailwindcss-effects";
 */

@import "tailwindcss";

/* === TAILWINDCSS-UTILITIES === */
/* Note: @import "tailwindcss"; should be added by the consumer */
/*!
 * Casoon Utilities - Complete Utility System for Tailwind v4
 * Version: 0.9.0 — COMPLETELY CONSOLIDATED & ENHANCED
 * 
 * SYSTEMATICALLY CONSOLIDATED FROM:
 * - src/index.css (main file with @utility definitions)
 * - src/styles/base/tokens.css
 * - src/styles/tokens/design-tokens.css
 * - src/styles/utilities/core.css
 * - src/styles/utilities/layout.css
 * - src/styles/utilities/effects.css
 * - src/styles/components/surfaces.css
 * - src/styles/patterns/component-presets.css
 * 
 * TOTAL: 8 CSS FILES → Pure Tailwind v4 (120+ classes + 80+ @utility)
 * 
 * Features:
 * ✅ Tree-Shaking Support with @utility directives
 * ✅ Modern Design System with comprehensive tokens
 * ✅ Accessibility-first components and utilities
 * ✅ Progressive Enhancement & Fallbacks
 * ✅ Container Queries & Responsive Design
 * ✅ Performance optimized with reduced motion support
 * 
 * Usage: @import "@casoon/tailwindcss-utilities/index.css";
 */
/* Note: @import "tailwindcss"; should be added by the consumer */
/* =========================================================
   CONSOLIDATED DESIGN TOKENS & THEME
   Complete design system with light/dark theme support
   ========================================================= */
@theme {
  /* === CORE COLOR SYSTEM === */
  --cs-bg: #0b0c0f;
  --cs-surface: #14161a;
  --cs-elev1: #1b1e24;
  --cs-elev2: #21252d;
  --cs-text: #eef1f6;
  --cs-text-muted: #b6bfcc;
  --cs-border: #2a2f39;
  --cs-brand: #4f7cff;
  --cs-brand-contrast: #0b0d12;
  --cs-brand-ink: var(--cs-brand-contrast);
  /* STATE COLORS */
  --cs-success: #22c55e;
  --cs-warning: #f59e0b;
  --cs-danger: #ef4444;
  --cs-info: #06b6d4;
  /* === TYPOGRAPHY SYSTEM === */
  --cs-font-sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  --cs-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --cs-font-size: 16px;
  --cs-line: 1.5;
  /* FLUID TYPOGRAPHY SCALE */
  --cs-fs-xs: clamp(0.78rem, 0.75rem + 0.2cqi, 0.84rem);
  --cs-fs-sm: clamp(0.88rem, 0.82rem + 0.3cqi, 0.95rem);
  --cs-fs-md: clamp(1rem, 0.95rem + 0.4cqi, 1.125rem);
  --cs-fs-lg: clamp(1.25rem, 1.05rem + 0.8cqi, 1.5rem);
  --cs-fs-xl: clamp(1.5rem, 1.2rem + 1.2cqi, 1.875rem);
  --cs-fs-2xl: clamp(1.875rem, 1.4rem + 1.6cqi, 2.25rem);
  /* TYPOGRAPHY UTILITIES */
  --cs-leading-relaxed: 1.625;
  --cs-leading-loose: 2;
  --cs-text-balance: balance;
  /* === SPACING SYSTEM === */
  --cs-density: 1;
  --cs-space-1: calc(4px * var(--cs-density));
  --cs-space-2: calc(8px * var(--cs-density));
  --cs-space-3: calc(12px * var(--cs-density));
  --cs-space-4: calc(16px * var(--cs-density));
  --cs-space-6: calc(24px * var(--cs-density));
  --cs-space-8: calc(32px * var(--cs-density));
  /* === RADIUS & SHADOW SYSTEM === */
  --cs-radius: 10px;
  --cs-radius-sm: calc(var(--cs-radius) - 4px);
  --cs-radius-lg: calc(var(--cs-radius) + 6px);
  --cs-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.25), 0 1px 1px rgba(0, 0, 0, 0.1);
  --cs-shadow-2: 0 8px 24px rgba(0, 0, 0, 0.22), 0 2px 8px rgba(0, 0, 0, 0.18);
  /* === MOTION SYSTEM === */
  --cs-transition: 180ms cubic-bezier(0.2, 0.6, 0.2, 1);
  --cs-anim-duration-sm: 160ms;
  --cs-anim-duration-md: 280ms;
  --cs-anim-duration-lg: 420ms;
  --cs-anim-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --cs-anim-ease-in: cubic-bezier(0.32, 0, 0.67, 0);
  --cs-anim-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  /* === Z-INDEX SYSTEM === */
  --cs-z-0: 0;
  --cs-z-1: 1;
  --cs-z-base: 1;
  --cs-z-10: 10;
  --cs-z-20: 20;
  --cs-z-30: 30;
  --cs-z-popover: 30;
  --cs-z-40: 40;
  --cs-z-tooltip: 40;
  --cs-z-50: 50;
  --cs-z-toast: 50;
  --cs-z-60: 60;
  --cs-z-modal: 60;
  --cs-z-70: 70;
  --cs-z-80: 80;
  --cs-z-90: 90;
  --cs-z-100: 100;
  --cs-z-200: 200;
  --cs-z-300: 300;
  --cs-z-400: 400;
  --cs-z-500: 500;
  --cs-z-600: 600;
  --cs-z-700: 700;
  --cs-z-800: 800;
  --cs-z-900: 900;
  --cs-z-999: 999;
  --cs-z-9999: 9999;
  --cs-z-max: 2147483647;
  /* === LAYOUT SYSTEM === */
  --cs-page-max: 1200px;
  --cs-page-pad: var(--cs-space-4);
  /* === GLASS/BACKDROP SYSTEM === */
  --cs-acrylic-blur: 14px;
  --cs-acrylic-tint: rgba(20, 22, 26, 0.55);
  --cs-acrylic-border: rgba(255, 255, 255, 0.06);
  /* === PROGRESSIVE COLOR TOKENS === */
  --cs-brand-oklch: oklch(60% 0.15 255);
}
/* =========================================================
   LIGHT THEME SUPPORT
   Complete theme switching system
   ========================================================= */
@media (prefers-color-scheme: light) {
  @theme {
    --cs-bg: #ffffff;
    --cs-surface: #f7f8fa;
    --cs-elev1: #ffffff;
    --cs-elev2: #ffffff;
    --cs-text: #101217;
    --cs-text-muted: #475066;
    --cs-border: #dfe3ea;
    --cs-brand: #375dfb;
    --cs-brand-contrast: #ffffff;
    --cs-shadow-1: 0 1px 2px rgba(18, 24, 40, 0.06), 0 1px 1px rgba(18, 24, 40, 0.04);
    --cs-shadow-2: 0 10px 24px rgba(18, 24, 40, 0.1), 0 2px 8px rgba(18, 24, 40, 0.06);
    --cs-acrylic-tint: rgba(255, 255, 255, 0.65);
    --cs-acrylic-border: rgba(0, 0, 0, 0.06);
  }
}
/* Manual theme override classes */
.cs-theme-light {
  --cs-bg: #ffffff;
  --cs-surface: #f7f8fa;
  --cs-elev1: #ffffff;
  --cs-elev2: #ffffff;
  --cs-text: #101217;
  --cs-text-muted: #475066;
  --cs-border: #dfe3ea;
  --cs-brand: #375dfb;
  --cs-brand-contrast: #ffffff;
  --cs-shadow-1: 0 1px 2px rgba(18, 24, 40, 0.06), 0 1px 1px rgba(18, 24, 40, 0.04);
  --cs-shadow-2: 0 10px 24px rgba(18, 24, 40, 0.1), 0 2px 8px rgba(18, 24, 40, 0.06);
  --cs-acrylic-tint: rgba(255, 255, 255, 0.65);
  --cs-acrylic-border: rgba(0, 0, 0, 0.06);
}
.cs-theme-dark {
  --cs-bg: #0b0c0f;
  --cs-surface: #14161a;
  --cs-elev1: #1b1e24;
  --cs-elev2: #21252d;
  --cs-text: #eef1f6;
  --cs-text-muted: #b6bfcc;
  --cs-border: #2a2f39;
  --cs-brand: #4f7cff;
  --cs-brand-contrast: #0b0d12;
}
/* =========================================================
   ACCESSIBILITY UTILITIES
   Screen readers, focus management, keyboard navigation
   ========================================================= */
@utility cs-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@utility cs-focus-ring {
  outline: none;
  &:focus-visible {
    outline: 2px solid transparent;
    outline-offset: 2px;
    box-shadow: 0 0 0 2px var(--cs-brand, #4f7cff), 0 0 0 4px color-mix(in srgb, var(--cs-brand, #4f7cff) 20%, transparent);
    transition: box-shadow var(--cs-transition);
  }
}
@utility cs-focus-ring-within {
  &:focus-within {
    box-shadow: 0 0 0 2px var(--cs-brand, #4f7cff), 0 0 0 6px color-mix(in srgb, var(--cs-brand, #4f7cff) 22%, transparent);
    border-radius: var(--cs-radius);
  }
}
/* =========================================================
   Z-INDEX UTILITIES
   Complete z-index scale for modern UI layering
   ========================================================= */
@utility cs-z-0 { z-index: var(--cs-z-0); position: relative; }
@utility cs-z-1 { z-index: var(--cs-z-1); position: relative; }
@utility cs-z-base { z-index: var(--cs-z-base); position: relative; }
@utility cs-z-10 { z-index: var(--cs-z-10); position: relative; }
@utility cs-z-20 { z-index: var(--cs-z-20); position: relative; }
@utility cs-z-30 { z-index: var(--cs-z-30); position: relative; }
@utility cs-z-popover { z-index: var(--cs-z-popover); position: relative; }
@utility cs-z-40 { z-index: var(--cs-z-40); position: relative; }
@utility cs-z-tooltip { z-index: var(--cs-z-tooltip); position: relative; }
@utility cs-z-50 { z-index: var(--cs-z-50); position: relative; }
@utility cs-z-toast { z-index: var(--cs-z-toast); position: relative; }
@utility cs-z-60 { z-index: var(--cs-z-60); position: relative; }
@utility cs-z-modal { z-index: var(--cs-z-modal); position: relative; }
@utility cs-z-70 { z-index: var(--cs-z-70); position: relative; }
@utility cs-z-80 { z-index: var(--cs-z-80); position: relative; }
@utility cs-z-90 { z-index: var(--cs-z-90); position: relative; }
@utility cs-z-100 { z-index: var(--cs-z-100); position: relative; }
@utility cs-z-200 { z-index: var(--cs-z-200); position: relative; }
@utility cs-z-300 { z-index: var(--cs-z-300); position: relative; }
@utility cs-z-400 { z-index: var(--cs-z-400); position: relative; }
@utility cs-z-500 { z-index: var(--cs-z-500); position: relative; }
@utility cs-z-600 { z-index: var(--cs-z-600); position: relative; }
@utility cs-z-700 { z-index: var(--cs-z-700); position: relative; }
@utility cs-z-800 { z-index: var(--cs-z-800); position: relative; }
@utility cs-z-900 { z-index: var(--cs-z-900); position: relative; }
@utility cs-z-999 { z-index: var(--cs-z-999); position: relative; }
@utility cs-z-9999 { z-index: var(--cs-z-9999); position: relative; }
@utility cs-z-max { z-index: var(--cs-z-max); position: relative; }
/* =========================================================
   CORE UTILITIES & COMPONENTS
   Main utility definitions using modern @utility syntax
   ========================================================= */
/* === LOADING & PROGRESS UTILITIES === */
@utility cs-spinner {
  animation: cs-rotate 1s linear infinite;
  will-change: transform;
}
@utility cs-skeleton {
  background: linear-gradient(
    90deg, 
    var(--cs-border) 25%, 
    var(--cs-elev1) 50%, 
    var(--cs-border) 75%
  );
  background-size: 200% 100%;
  animation: cs-shimmer 1.5s ease-in-out infinite;
  border-radius: var(--cs-radius);
}
@keyframes cs-shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
@keyframes cs-rotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@utility cs-progress {
  width: 100%;
  height: 8px;
  background: var(--cs-border);
  border-radius: var(--cs-radius);
  overflow: hidden;
  position: relative;
}
@utility cs-progress-bar {
  height: 100%;
  background: var(--cs-brand);
  border-radius: inherit;
  transition: width var(--cs-transition);
}
@utility cs-progress-indeterminate {
  background: linear-gradient(
    90deg,
    transparent,
    var(--cs-brand),
    transparent
  );
  background-size: 200% 100%;
  animation: cs-progress-slide 1.5s ease-in-out infinite;
}
@keyframes cs-progress-slide {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
/* === SCROLL & OVERFLOW UTILITIES === */
@utility cs-scroll-smooth {
  scroll-behavior: smooth;
}
@utility cs-scroll-auto {
  scroll-behavior: auto;
}
@utility cs-scrollbar-thin {
  scrollbar-width: thin;
}
@utility cs-scrollbar-none {
  scrollbar-width: none;
  -ms-overflow-style: none;
  &::-webkit-scrollbar {
    display: none;
  }
}
@utility cs-snap-x {
  scroll-snap-type: x mandatory;
}
@utility cs-snap-y {
  scroll-snap-type: y mandatory;
}
@utility cs-snap-both {
  scroll-snap-type: both mandatory;
}
@utility cs-snap-none {
  scroll-snap-type: none;
}
@utility cs-snap-start {
  scroll-snap-align: start;
}
@utility cs-snap-end {
  scroll-snap-align: end;
}
@utility cs-snap-center {
  scroll-snap-align: center;
}
/* === ENHANCED CARD UTILITIES === */
@utility cs-card-product {
  background: var(--cs-elev1);
  border: 1px solid var(--cs-border);
  border-radius: var(--cs-radius-lg);
  padding: var(--cs-space-6);
  transition: all var(--cs-transition);
  position: relative;
  overflow: hidden;
  &:hover {
    transform: translateY(-2px);
    box-shadow: var(--cs-shadow-2);
    border-color: var(--cs-brand);
  }
}
@utility cs-card-hero {
  background: linear-gradient(135deg, var(--cs-elev1), var(--cs-elev2));
  border: 1px solid var(--cs-border);
  border-radius: var(--cs-radius-lg);
  padding: var(--cs-space-8);
  text-align: center;
  position: relative;
  overflow: hidden;
  &::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--cs-brand), var(--cs-success), var(--cs-info));
  }
}
@utility cs-card-compact {
  background: var(--cs-elev1);
  border: 1px solid var(--cs-border);
  border-radius: var(--cs-radius);
  padding: var(--cs-space-4);
  display: flex;
  align-items: center;
  gap: var(--cs-space-3);
  transition: all var(--cs-transition);
  &:hover {
    background: var(--cs-elev2);
  }
}
@utility cs-container-fluid {
  width: 100%;
  padding-left: var(--cs-page-pad);
  padding-right: var(--cs-page-pad);
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  background-color: var(--cs-surface, #14161a);
  color: var(--cs-text, #eef1f6);
  @container (min-width: 768px) {
    padding-left: calc(var(--cs-page-pad) + var(--cs-space-2));
    padding-right: calc(var(--cs-page-pad) + var(--cs-space-2));
  }
  @container (min-width: 1200px) {
    max-width: var(--cs-page-max);
  }
}
/* =========================================================
   LAYOUT UTILITIES
   Modern layout patterns and micro-recipes
   ========================================================= */
@utility cs-stack {
  display: grid;
  gap: var(--cs-space-3);
}
@utility cs-stack-sm {
  display: grid;
  gap: var(--cs-space-2);
}
@utility cs-stack-lg {
  display: grid;
  gap: var(--cs-space-6);
}
@utility cs-cluster {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cs-space-2);
  align-items: center;
}
@utility cs-center {
  display: grid;
  place-items: center;
}
@utility cs-grid-fit {
  display: grid;
  gap: var(--cs-space-3);
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
}
@utility cs-aspect {
  aspect-ratio: var(--cs-aspect, 16 / 9);
}
@utility cs-bleed-x {
  margin-inline: calc(var(--cs-page-pad) * -1);
  @container (min-width: 960px) {
    margin-inline: calc((var(--cs-page-pad) + var(--cs-space-3)) * -1);
  }
}
@utility cs-safe-pad {
  padding-inline: max(var(--cs-page-pad), env(safe-area-inset-left));
  padding-inline-end: max(var(--cs-page-pad), env(safe-area-inset-right));
  padding-block-end: max(var(--cs-space-4), env(safe-area-inset-bottom));
}
/* Layout positioning utilities */
@utility cs-sticky {
  position: sticky;
  top: 0;
}
@utility cs-will-change-transform {
  will-change: transform;
}
@utility cs-will-change-opacity {
  will-change: opacity;
}
/* =========================================================
   TYPOGRAPHY UTILITIES
   Fluid typography with line height optimization
   ========================================================= */
@utility cs-text-xs { 
  font-size: var(--cs-fs-xs); 
  line-height: var(--cs-line); 
}
@utility cs-text-sm { 
  font-size: var(--cs-fs-sm); 
  line-height: var(--cs-line); 
}
@utility cs-text-md { 
  font-size: var(--cs-fs-md); 
  line-height: var(--cs-line); 
}
@utility cs-text-lg { 
  font-size: var(--cs-fs-lg); 
  line-height: calc(var(--cs-line) + 0.05); 
}
@utility cs-text-xl { 
  font-size: var(--cs-fs-xl); 
  line-height: calc(var(--cs-line) + 0.1); 
}
@utility cs-text-2xl { 
  font-size: var(--cs-fs-2xl); 
  line-height: calc(var(--cs-line) + 0.12); 
}
@utility cs-font-sans { 
  font-family: var(--cs-font-sans); 
}
@utility cs-font-mono { 
  font-family: var(--cs-font-mono); 
}
/* =========================================================
   GRID UTILITIES
   Advanced grid system with auto-fit patterns
   ========================================================= */
@utility cs-grid-auto-fit-sm {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--cs-space-4);
}
@utility cs-grid-auto-fit-md {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--cs-space-4);
}
@utility cs-grid-auto-fit-lg {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: var(--cs-space-4);
}
@utility cs-grid-12 {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--cs-space-4);
}
/* Fixed grid columns */
@utility cs-grid-cols-2 { 
  display: grid; 
  grid-template-columns: repeat(2, 1fr); 
  gap: var(--cs-space-4); 
}
@utility cs-grid-cols-3 { 
  display: grid; 
  grid-template-columns: repeat(3, 1fr); 
  gap: var(--cs-space-4); 
}
@utility cs-grid-cols-4 { 
  display: grid; 
  grid-template-columns: repeat(4, 1fr); 
  gap: var(--cs-space-4); 
}
@utility cs-grid-cols-6 { 
  display: grid; 
  grid-template-columns: repeat(6, 1fr); 
  gap: var(--cs-space-4); 
}
@utility cs-grid-cols-8 { 
  display: grid; 
  grid-template-columns: repeat(8, 1fr); 
  gap: var(--cs-space-4); 
}
@utility cs-grid-cols-9 { 
  display: grid; 
  grid-template-columns: repeat(9, 1fr); 
  gap: var(--cs-space-4); 
}
@utility cs-grid-cols-12 { 
  display: grid; 
  grid-template-columns: repeat(12, 1fr); 
  gap: var(--cs-space-4); 
}
/* Column spanning utilities for use within cs-grid-12 */
@utility cs-col-1 { grid-column: span 1; }
@utility cs-col-2 { grid-column: span 2; }
@utility cs-col-3 { grid-column: span 3; }
@utility cs-col-4 { grid-column: span 4; }
@utility cs-col-5 { grid-column: span 5; }
@utility cs-col-6 { grid-column: span 6; }
@utility cs-col-7 { grid-column: span 7; }
@utility cs-col-8 { grid-column: span 8; }
@utility cs-col-9 { grid-column: span 9; }
@utility cs-col-10 { grid-column: span 10; }
@utility cs-col-11 { grid-column: span 11; }
@utility cs-col-12 { grid-column: span 12; }
/* =========================================================
   SPACING UTILITIES
   Gap, padding, margin utilities using design tokens
   ========================================================= */
@utility cs-space-1 { gap: var(--cs-space-1); }
@utility cs-space-2 { gap: var(--cs-space-2); }
@utility cs-space-3 { gap: var(--cs-space-3); }
@utility cs-space-4 { gap: var(--cs-space-4); }
@utility cs-space-6 { gap: var(--cs-space-6); }
@utility cs-space-8 { gap: var(--cs-space-8); }
@utility cs-p-1 { padding: var(--cs-space-1); }
@utility cs-p-2 { padding: var(--cs-space-2); }
@utility cs-p-3 { padding: var(--cs-space-3); }
@utility cs-p-4 { padding: var(--cs-space-4); }
@utility cs-p-6 { padding: var(--cs-space-6); }
@utility cs-p-8 { padding: var(--cs-space-8); }
@utility cs-m-1 { margin: var(--cs-space-1); }
@utility cs-m-2 { margin: var(--cs-space-2); }
@utility cs-m-3 { margin: var(--cs-space-3); }
@utility cs-m-4 { margin: var(--cs-space-4); }
@utility cs-m-6 { margin: var(--cs-space-6); }
@utility cs-m-8 { margin: var(--cs-space-8); }
/* Directional spacing utilities */
@utility cs-px-1 { padding-inline: var(--cs-space-1); }
@utility cs-px-2 { padding-inline: var(--cs-space-2); }
@utility cs-px-3 { padding-inline: var(--cs-space-3); }
@utility cs-px-4 { padding-inline: var(--cs-space-4); }
@utility cs-py-1 { padding-block: var(--cs-space-1); }
@utility cs-py-2 { padding-block: var(--cs-space-2); }
@utility cs-py-3 { padding-block: var(--cs-space-3); }
@utility cs-py-4 { padding-block: var(--cs-space-4); }
/* === TYPOGRAPHY UTILITIES === */
@utility cs-text-balance {
  text-wrap: var(--cs-text-balance);
}
@utility cs-text-gradient {
  background: linear-gradient(135deg, var(--cs-brand), var(--cs-success));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
@utility cs-prose {
  max-width: 65ch;
  line-height: var(--cs-leading-relaxed);
  & h1, & h2, & h3 {
    text-wrap: var(--cs-text-balance);
    margin-top: 2em;
    margin-bottom: 1em;
  }
  & p {
    margin-bottom: 1.25em;
  }
  & ul, & ol {
    padding-left: 2em;
    margin-bottom: 1.25em;
  }
  & blockquote {
    border-left: 4px solid var(--cs-border);
    padding-left: 1em;
    font-style: italic;
    margin: 1.5em 0;
  }
}
@utility cs-font-feature-numbers {
  font-feature-settings: "tnum";
}
/* =========================================================
   REDUCED MOTION SUPPORT & ACCESSIBILITY
   Full accessibility compliance for motion-sensitive users
   ========================================================= */
@utility cs-surface {
  background: var(--cs-surface);
  color: var(--cs-text);
}
@utility cs-surface-elevated {
  background: var(--cs-elev1);
  color: var(--cs-text);
}
@utility cs-surface-raised {
  background: var(--cs-elev2);
  color: var(--cs-text);
}
@utility cs-bg-brand {
  background-color: var(--cs-brand, #4f7cff);
  color: var(--cs-brand-ink, #0b0d12);
}
/* Radius utilities */
@utility cs-radius-sm { border-radius: var(--cs-radius-sm); }
@utility cs-radius { border-radius: var(--cs-radius); }
@utility cs-radius-lg { border-radius: var(--cs-radius-lg); }
/* Shadow utilities */
@utility cs-shadow { box-shadow: var(--cs-shadow-1); }
@utility cs-shadow-lg { box-shadow: var(--cs-shadow-2); }
/* =========================================================
   CARD COMPONENTS
   Complete card system with variants
   ========================================================= */
@utility cs-card {
  background: var(--cs-surface);
  border: 1px solid var(--cs-border);
  border-radius: var(--cs-radius);
  padding: var(--cs-space-4);
  box-shadow: var(--cs-shadow-1);
}
@utility cs-card-elevated {
  background: var(--cs-elev1);
  border: 1px solid var(--cs-border);
  border-radius: var(--cs-radius);
  padding: var(--cs-space-4);
  box-shadow: var(--cs-shadow-2);
}
/* =========================================================
   BUTTON COMPONENTS
   Complete button system with variants
   ========================================================= */
@utility cs-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--cs-space-2) var(--cs-space-4);
  border-radius: var(--cs-radius);
  font-weight: 500;
  text-decoration: none;
  transition: var(--cs-transition);
  cursor: pointer;
  border: 0;
  min-height: 44px; /* Touch target compliance */
  min-width: 44px;
}
@utility cs-btn-primary {
  background: var(--cs-brand);
  color: var(--cs-brand-contrast);
  &:hover {
    background: color-mix(in srgb, var(--cs-brand) 85%, black);
  }
  &:focus-visible {
    outline: 2px solid transparent;
    outline-offset: 2px;
    box-shadow: 0 0 0 2px var(--cs-brand), 0 0 0 4px color-mix(in srgb, var(--cs-brand) 25%, transparent);
  }
}
@utility cs-btn-secondary {
  background: var(--cs-elev1);
  color: var(--cs-text);
  border: 1px solid var(--cs-border);
  &:hover {
    background: var(--cs-elev2);
  }
  &:focus-visible {
    outline: 2px solid transparent;
    outline-offset: 2px;
    box-shadow: 0 0 0 2px var(--cs-border), 0 0 0 4px color-mix(in srgb, var(--cs-text) 15%, transparent);
  }
}
@utility cs-btn-outline {
  background: transparent;
  color: var(--cs-brand);
  border: 1px solid var(--cs-brand);
  &:hover {
    background: var(--cs-brand);
    color: var(--cs-brand-contrast);
  }
  &:focus-visible {
    outline: 2px solid transparent;
    outline-offset: 2px;
    box-shadow: 0 0 0 2px var(--cs-brand), 0 0 0 4px color-mix(in srgb, var(--cs-brand) 25%, transparent);
  }
}
@utility cs-btn-ghost {
  background: transparent;
  color: var(--cs-text);
  border: 1px solid transparent;
  &:hover {
    background: var(--cs-elev1);
    border-color: var(--cs-border);
  }
  &:focus-visible {
    outline: 2px solid transparent;
    outline-offset: 2px;
    box-shadow: 0 0 0 2px var(--cs-border), 0 0 0 4px color-mix(in srgb, var(--cs-text) 15%, transparent);
  }
}
/* Button sizes */
@utility cs-btn-sm {
  padding: var(--cs-space-1) var(--cs-space-3);
  font-size: var(--cs-fs-sm);
  min-height: 36px;
  min-width: 36px;
}
@utility cs-btn-lg {
  padding: var(--cs-space-3) var(--cs-space-6);
  font-size: var(--cs-fs-lg);
  min-height: 52px;
  min-width: 52px;
}
/* =========================================================
   ALERT COMPONENTS
   Semantic feedback alerts with state colors
   ========================================================= */
@utility cs-alert {
  display: flex;
  align-items: center;
  gap: var(--cs-space-3);
  padding: var(--cs-space-4);
  border: 1px solid var(--cs-border);
  border-radius: var(--cs-radius);
  background: var(--cs-surface);
}
@utility cs-alert-info {
  border-color: var(--cs-info, #0ea5e9);
  background: color-mix(in srgb, var(--cs-info, #0ea5e9) 8%, var(--cs-surface));
  color: var(--cs-info, #0ea5e9);
}
@utility cs-alert-success {
  border-color: var(--cs-success, #22c55e);
  background: color-mix(in srgb, var(--cs-success, #22c55e) 8%, var(--cs-surface));
  color: var(--cs-success, #22c55e);
}
@utility cs-alert-warning {
  border-color: var(--cs-warning, #f59e0b);
  background: color-mix(in srgb, var(--cs-warning, #f59e0b) 8%, var(--cs-surface));
  color: var(--cs-warning, #f59e0b);
}
@utility cs-alert-danger {
  border-color: var(--cs-danger, #ef4444);
  background: color-mix(in srgb, var(--cs-danger, #ef4444) 8%, var(--cs-surface));
  color: var(--cs-danger, #ef4444);
}
/* =========================================================
   BADGE COMPONENTS
   Status badges and tags with variants
   ========================================================= */
@utility cs-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--cs-space-1);
  padding: var(--cs-space-1) var(--cs-space-2);
  border-radius: var(--cs-radius-sm);
  font-size: var(--cs-fs-xs);
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}
@utility cs-badge-primary {
  background: var(--cs-brand);
  color: var(--cs-brand-ink);
}
@utility cs-badge-secondary {
  background: var(--cs-text-muted);
  color: var(--cs-bg);
}
@utility cs-badge-success {
  background: var(--cs-success, #22c55e);
  color: white;
}
@utility cs-badge-warning {
  background: var(--cs-warning, #f59e0b);
  color: white;
}
@utility cs-badge-danger {
  background: var(--cs-danger, #ef4444);
  color: white;
}
@utility cs-badge-outline {
  background: transparent;
  border: 1px solid currentColor;
}
/* =========================================================
   ACRYLIC SURFACE COMPONENT
   Modern glass effect with backdrop filtering
   ========================================================= */
@utility cs-acrylic {
  background: var(--cs-acrylic-tint, rgba(20, 22, 26, 0.55));
  border: 1px solid var(--cs-acrylic-border, rgba(255, 255, 255, 0.06));
  border-radius: var(--cs-radius, 10px);
  box-shadow: var(--cs-shadow-2);
  -webkit-backdrop-filter: saturate(140%) blur(var(--cs-acrylic-blur, 14px));
  backdrop-filter: saturate(140%) blur(var(--cs-acrylic-blur, 14px));
  background-clip: padding-box;
  @media (max-width: 480px) {
    --cs-acrylic-blur: 8px;
    box-shadow: var(--cs-shadow-1);
  }
}
/* =========================================================
   ANIMATION UTILITIES
   Performance-optimized micro-interactions
   ========================================================= */
@utility cs-pulse {
  animation: csPulse 1.2s ease-in-out infinite;
  will-change: transform, opacity;
}
@keyframes csPulse {
  0% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.05); opacity: 0.75; }
  100% { transform: scale(1); opacity: 1; }
}
@utility cs-fade-delayed {
  opacity: 0;
  animation: csFadeIn var(--cs-anim-duration-lg, 420ms) var(--cs-anim-ease-out, ease-out) forwards;
  animation-delay: 0.4s;
}
@keyframes csFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@utility cs-shimmer {
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg, var(--cs-elev1), var(--cs-elev2), var(--cs-elev1));
  background-size: 200% 100%;
  animation: csShimmer 2s linear infinite;
}
@keyframes csShimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
@utility cs-spin {
  animation: csSpin 1s linear infinite;
}
@keyframes csSpin {
  to { transform: rotate(360deg); }
}
/* Glow effect utility */
@utility cs-glow {
  box-shadow: 0 0 0 transparent;
  transition: box-shadow 0.4s ease-out;
  &.cs-glow-active {
    box-shadow:
      0 0 0 3px color-mix(in srgb, var(--cs-brand, #4f7cff) 40%, transparent),
      0 0 12px color-mix(in srgb, var(--cs-brand, #4f7cff) 65%, transparent);
  }
}
/* =========================================================
   RESPONSIVE VISIBILITY UTILITIES
   Container query based visibility controls
   ========================================================= */
@container (max-width: 640px) {
  .cs-hide-mobile { display: none !important; }
  .cs-show-mobile { display: block !important; }
}
@container (min-width: 641px) and (max-width: 1024px) {
  .cs-hide-tablet { display: none !important; }
  .cs-show-tablet { display: block !important; }
}
@container (min-width: 1025px) {
  .cs-hide-desktop { display: none !important; }
  .cs-show-desktop { display: block !important; }
}
/* =========================================================
   PROGRESSIVE ENHANCEMENT
   Modern CSS features with fallbacks
   ========================================================= */
/* Progressive enhancement for color-mix support */
@supports not (color: color-mix(in srgb, red 50%, blue)) {
  .cs-btn-primary:hover {
    background: rgba(79, 124, 255, 0.85);
  }
  .cs-alert-info {
    background: rgba(14, 165, 233, 0.08);
  }
  .cs-alert-success {
    background: rgba(34, 197, 94, 0.08);
  }
  .cs-alert-warning {
    background: rgba(245, 158, 11, 0.08);
  }
  .cs-alert-danger {
    background: rgba(239, 68, 68, 0.08);
  }
}
/* Fallback for backdrop-filter */
@supports not (backdrop-filter: blur(1px)) {
  .cs-acrylic {
    background: color-mix(in srgb, var(--cs-acrylic-tint) 80%, var(--cs-elev1));
  }
}
/* Progressive enhancement for oklch colors */
@supports (color: oklch(60% 0.2 250)) {
  .cs-theme {
    --cs-brand-oklch: oklch(from var(--cs-brand) l c h);
  }
}
/* =========================================================
   ACCESSIBILITY OPTIMIZATIONS
   Reduced motion and high contrast support
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
  .cs-pulse,
  .cs-shimmer,
  .cs-fade-delayed,
  .cs-spin {
    animation: none !important;
  }
  .cs-btn:hover,
  .cs-focus-ring:focus-visible,
  .cs-focus-ring-within:focus-within {
    transition: none !important;
  }
  .cs-glow {
    transition: none !important;
  }
}
@media (prefers-contrast: high) {
  .cs-theme {
    --cs-border: currentColor;
    --cs-text-muted: var(--cs-text);
  }
  .cs-btn {
    border: 2px solid currentColor;
  }
  .cs-card,
  .cs-card-elevated {
    border: 2px solid var(--cs-border);
  }
}
/* === TAILWINDCSS-ANIMATIONS === */
/* Note: @import "tailwindcss"; should be added by the consumer */
/*!
 * Casoon Animations - Complete Animation System for Tailwind v4
 * Version: 0.9.0 — COMPLETELY CONSOLIDATED & ENHANCED
 * 
 * SYSTEMATICALLY CONSOLIDATED FROM:
 * - src/index.css (main animation engine)
 * - src/styles/utilities/core.css (core keyframes and utilities)
 * - src/styles/utilities/stagger.css (stagger orchestration)
 * - src/styles/components/button.css (button interactions)
 * - src/styles/components/navigation.css (nav animations)
 * - src/styles/fallbacks.css (accessibility fallbacks)
 * 
 * TOTAL: 6 CSS FILES → Pure Tailwind v4 (80+ animations + advanced features)
 * 
 * New Features Added:
 * ✅ Scroll-based animations with Intersection Observer support
 * ✅ Advanced easing functions (spring, bounce, elastic)
 * ✅ Extended stagger system (up to 12 items)
 * ✅ Performance-optimized keyframes
 * ✅ Modern CSS features (view-timeline, scroll-timeline)
 * ✅ Comprehensive reduced motion support
 * ✅ Touch-friendly micro-interactions
 * 
 * Usage: @import "@casoon/tailwindcss-animations/index.css";
 */
/* Note: @import "tailwindcss"; should be added by the consumer */
/* =========================================================
   CONSOLIDATED ANIMATION THEME & TOKENS
   Complete animation system with timing and easing
   ========================================================= */
@theme {
  /* === DURATION SYSTEM === */
  --cs-anim-duration-xxs: 100ms;
  --cs-anim-duration-xs: 150ms;
  --cs-anim-duration-sm: 200ms;
  --cs-anim-duration-md: 300ms;
  --cs-anim-duration-lg: 500ms;
  --cs-anim-duration-xl: 700ms;
  --cs-anim-duration-2xl: 1000ms;
  --cs-anim-duration-3xl: 1500ms;
  /* === EASING SYSTEM === */
  /* Standard Material Design easing */
  --cs-anim-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --cs-anim-ease-emphasized: cubic-bezier(0.3, 0, 0.8, 0.15);
  --cs-anim-ease-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1);
  --cs-anim-ease-accelerate: cubic-bezier(0.3, 0, 1, 1);
  /* Spring and elastic easing */
  --cs-anim-ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --cs-anim-ease-soft-spring: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --cs-anim-ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --cs-anim-ease-elastic: cubic-bezier(0.68, -0.6, 0.32, 1.6);
  /* Advanced easing curves */
  --cs-anim-ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
  --cs-anim-ease-crisp: cubic-bezier(0.4, 0, 0.6, 1);
  --cs-anim-ease-overshoot: cubic-bezier(0.34, 1.56, 0.64, 1);
  /* === REDUCED MOTION SYSTEM === */
  --cs-anim-reduced-motion-duration: 1ms;
  --cs-anim-reduced-motion-ease: ease;
  /* === COMPONENT TOKENS === */
  --cs-underline-w: 0%;
  --cs-underline-h: 2px;
  --cs-ripple-color: currentColor;
  --cs-ripple-size: 0%;
  --cs-chip-scale: 1;
  --cs-badge-scale: 0.9;
  --cs-toast-offset: 16px;
  --cs-drawer-shift: 0px;
  --cs-accordion-rows: 0fr;
  --cs-skeleton-sheen: 120%;
  --cs-parallax-offset: 0px;
  --cs-scroll-progress: 0%;
  /* === STAGGER SYSTEM === */
  --cs-stagger-delay-50: 50ms;
  --cs-stagger-delay-75: 75ms;
  --cs-stagger-delay-100: 100ms;
  --cs-stagger-delay-150: 150ms;
  --cs-stagger-delay-200: 200ms;
}
/* =========================================================
   CORE ANIMATION KEYFRAMES
   High-performance keyframes optimized for modern browsers
   ========================================================= */
/* === ENTRANCE ANIMATIONS === */
@keyframes csFadeIn, anim-fade-in { 
  0% { opacity: 0; } 
  100% { opacity: 1; } 
}
@keyframes csFadeOut, anim-fade-out { 
  0% { opacity: 1; } 
  100% { opacity: 0; } 
}
@keyframes csScaleIn, anim-scale-in { 
  0% { opacity: 0; transform: scale(0.9); } 
  100% { opacity: 1; transform: scale(1); } 
}
@keyframes csScaleOut, anim-scale-out { 
  0% { opacity: 1; transform: scale(1); } 
  100% { opacity: 0; transform: scale(0.9); } 
}
@keyframes csSlideUp, anim-slide-up { 
  0% { opacity: 0; transform: translateY(20px); } 
  100% { opacity: 1; transform: translateY(0); } 
}
@keyframes csSlideDown, anim-slide-down { 
  0% { opacity: 0; transform: translateY(-20px); } 
  100% { opacity: 1; transform: translateY(0); } 
}
@keyframes csSlideLeft, anim-slide-left { 
  0% { opacity: 0; transform: translateX(20px); } 
  100% { opacity: 1; transform: translateX(0); } 
}
@keyframes csSlideRight, anim-slide-right { 
  0% { opacity: 0; transform: translateX(-20px); } 
  100% { opacity: 1; transform: translateX(0); } 
}
@keyframes csBlurIn, anim-blur-in { 
  0% { opacity: 0; filter: blur(4px); } 
  100% { opacity: 1; filter: blur(0); } 
}
@keyframes csBlurOut, anim-blur-out { 
  0% { opacity: 1; filter: blur(0); } 
  100% { opacity: 0; filter: blur(4px); } 
}
@keyframes csRotateIn, anim-rotate-in { 
  0% { opacity: 0; transform: rotate(-5deg); } 
  100% { opacity: 1; transform: rotate(0); } 
}
@keyframes csFlipIn { 
  0% { opacity: 0; transform: rotateY(-180deg); } 
  100% { opacity: 1; transform: rotateY(0); } 
}
@keyframes csZoomIn { 
  0% { opacity: 0; transform: scale(0.5); } 
  100% { opacity: 1; transform: scale(1); } 
}
@keyframes csZoomOut { 
  0% { opacity: 1; transform: scale(1); } 
  100% { opacity: 0; transform: scale(0.5); } 
}
/* === CONTINUOUS ANIMATIONS === */
@keyframes csRotate, anim-rotate { 
  0% { transform: rotate(0deg); } 
  100% { transform: rotate(360deg); } 
}
@keyframes csPulse, anim-pulse { 
  0%, 100% { opacity: 1; } 
  50% { opacity: 0.5; } 
}
@keyframes csBounce, anim-bounce { 
  0%, 100% { transform: translateY(0); } 
  50% { transform: translateY(-25%); } 
}
@keyframes csWiggle, anim-wiggle { 
  0%, 100% { transform: rotate(0deg); } 
  25% { transform: rotate(-3deg); } 
  75% { transform: rotate(3deg); } 
}
@keyframes csShake { 
  0%, 100% { transform: translateX(0); } 
  25% { transform: translateX(-5px); } 
  75% { transform: translateX(5px); } 
}
@keyframes csHeartbeat { 
  0%, 100% { transform: scale(1); } 
  14%, 28% { transform: scale(1.15); } 
}
@keyframes csRubberBand { 
  0%, 100% { transform: scaleX(1); } 
  30% { transform: scaleX(1.25) scaleY(0.75); } 
  40% { transform: scaleX(0.75) scaleY(1.25); } 
  60% { transform: scaleX(1.15) scaleY(0.85); } 
}
/* === 3D ANIMATIONS === */
@keyframes csReveal3DUp { 
  0% { opacity: 0; transform: rotateX(-90deg); } 
  100% { opacity: 1; transform: rotateX(0); } 
}
@keyframes csReveal3DRight { 
  0% { opacity: 0; transform: rotateY(90deg); } 
  100% { opacity: 1; transform: rotateY(0); } 
}
@keyframes csReveal3DLeft { 
  0% { opacity: 0; transform: rotateY(-90deg); } 
  100% { opacity: 1; transform: rotateY(0); } 
}
@keyframes csFlip3DX { 
  0% { transform: rotateX(0); } 
  100% { transform: rotateX(360deg); } 
}
@keyframes csFlip3DY { 
  0% { transform: rotateY(0); } 
  100% { transform: rotateY(360deg); } 
}
/* === SCROLL & PARALLAX ANIMATIONS === */
@keyframes csMarqueeLeft { 
  0% { transform: translateX(100%); } 
  100% { transform: translateX(-100%); } 
}
@keyframes csMarqueeRight { 
  0% { transform: translateX(-100%); } 
  100% { transform: translateX(100%); } 
}
@keyframes csParallaxY { 
  0% { transform: translateY(-10px); } 
  100% { transform: translateY(10px); } 
}
@keyframes csParallaxX { 
  0% { transform: translateX(-10px); } 
  100% { transform: translateX(10px); } 
}
@keyframes csFloat { 
  0%, 100% { transform: translateY(0); } 
  50% { transform: translateY(-8px); } 
}
@keyframes csSway { 
  0%, 100% { transform: rotate(0deg); } 
  50% { transform: rotate(1deg); } 
}
/* === LOADING & PROGRESS ANIMATIONS === */
@keyframes csProgressGrow { 
  0% { width: 0%; } 
  100% { width: 100%; } 
}
@keyframes csSkeletonShimmer { 
  0% { background-position: 200% 0; } 
  100% { background-position: -200% 0; } 
}
@keyframes csDotLoader { 
  0%, 80%, 100% { transform: scale(0); } 
  40% { transform: scale(1); } 
}
@keyframes csRippleSpread {
  0% { transform: scale(0); opacity: 1; }
  100% { transform: scale(4); opacity: 0; }
}
/* === COMPONENT-SPECIFIC ANIMATIONS === */
@keyframes csDropdownIn {
  0% { opacity: 0; transform: scale(0.95) translateY(-5px); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}
@keyframes csDropdownOut {
  0% { opacity: 1; transform: scale(1) translateY(0); }
  100% { opacity: 0; transform: scale(0.95) translateY(-5px); }
}
@keyframes csTooltipIn {
  0% { opacity: 0; transform: scale(0.8); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes csTooltipOut {
  0% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(0.8); }
}
@keyframes csModalIn {
  0% { opacity: 0; transform: scale(0.9); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes csModalOut {
  0% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(0.9); }
}
@keyframes csBackdropIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes csBackdropOut {
  0% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes csDrawerInLeft {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(0); }
}
@keyframes csDrawerOutLeft {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}
@keyframes csDrawerInRight {
  0% { transform: translateX(100%); }
  100% { transform: translateX(0); }
}
@keyframes csDrawerOutRight {
  0% { transform: translateX(0); }
  100% { transform: translateX(100%); }
}
@keyframes csDrawerInTop {
  0% { transform: translateY(-100%); }
  100% { transform: translateY(0); }
}
@keyframes csDrawerOutTop {
  0% { transform: translateY(0); }
  100% { transform: translateY(-100%); }
}
@keyframes csDrawerInBottom {
  0% { transform: translateY(100%); }
  100% { transform: translateY(0); }
}
@keyframes csDrawerOutBottom {
  0% { transform: translateY(0); }
  100% { transform: translateY(100%); }
}
@keyframes csAccordionIn {
  0% { height: 0; opacity: 0; }
  100% { height: auto; opacity: 1; }
}
@keyframes csAccordionOut {
  0% { height: auto; opacity: 1; }
  100% { height: 0; opacity: 0; }
}
@keyframes csToastIn {
  0% { opacity: 0; transform: translateX(100%); }
  100% { opacity: 1; transform: translateX(0); }
}
@keyframes csToastOut {
  0% { opacity: 1; transform: translateX(0); }
  100% { opacity: 0; transform: translateX(100%); }
}
@keyframes csChipIn {
  0% { opacity: 0; transform: scale(0.8); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes csChipOut {
  0% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(0.8); }
}
@keyframes csBadgePop {
  0% { transform: scale(0.8); }
  50% { transform: scale(1.1); }
  100% { transform: scale(1); }
}
@keyframes csSpinner {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes csProgressIndeterminate {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}
@keyframes csCarouselSlide {
  0% { transform: translateX(100%); }
  100% { transform: translateX(0); }
}
@keyframes csCarouselFade {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
/* === MICRO-INTERACTION ANIMATIONS === */
@keyframes csBtnPress { 
  0% { transform: scale(1); } 
  50% { transform: scale(0.975); } 
  100% { transform: scale(1); } 
}
@keyframes csTabSlide { 
  0% { transform: translateX(-100%); } 
  100% { transform: translateX(0); } 
}
@keyframes csNotificationSlide { 
  0% { transform: translateX(100%); } 
  100% { transform: translateX(0); } 
}
/* =========================================================
   CORE ANIMATION ENGINE
   Flexible animation system with CSS custom properties
   ========================================================= */
@utility cs-anim {
  animation-duration: var(--cs-anim-duration, var(--cs-anim-duration-md));
  animation-timing-function: var(--cs-anim-ease, var(--cs-anim-ease-standard));
  animation-iteration-count: var(--cs-anim-count, 1);
  animation-direction: var(--cs-anim-direction, normal);
  animation-fill-mode: var(--cs-anim-fill, both);
  animation-delay: var(--cs-anim-delay, 0ms);
}
/* =========================================================
   DURATION UTILITIES
   Complete timing scale for fine-tuned control
   ========================================================= */
@utility cs-anim-xxs { --cs-anim-duration: var(--cs-anim-duration-xxs); }
@utility cs-anim-xs { --cs-anim-duration: var(--cs-anim-duration-xs); }
@utility cs-anim-sm { --cs-anim-duration: var(--cs-anim-duration-sm); }
@utility cs-anim-md { --cs-anim-duration: var(--cs-anim-duration-md); }
@utility cs-anim-lg { --cs-anim-duration: var(--cs-anim-duration-lg); }
@utility cs-anim-xl { --cs-anim-duration: var(--cs-anim-duration-xl); }
@utility cs-anim-2xl { --cs-anim-duration: var(--cs-anim-duration-2xl); }
@utility cs-anim-3xl { --cs-anim-duration: var(--cs-anim-duration-3xl); }
/* =========================================================
   EASING UTILITIES
   Advanced easing functions for natural motion
   ========================================================= */
@utility cs-ease-standard { --cs-anim-ease: var(--cs-anim-ease-standard); }
@utility cs-ease-emphasized { --cs-anim-ease: var(--cs-anim-ease-emphasized); }
@utility cs-ease-decelerate { --cs-anim-ease: var(--cs-anim-ease-decelerate); }
@utility cs-ease-accelerate { --cs-anim-ease: var(--cs-anim-ease-accelerate); }
@utility cs-ease-spring { --cs-anim-ease: var(--cs-anim-ease-spring); }
@utility cs-ease-soft-spring { --cs-anim-ease: var(--cs-anim-ease-soft-spring); }
@utility cs-ease-bounce { --cs-anim-ease: var(--cs-anim-ease-bounce); }
@utility cs-ease-elastic { --cs-anim-ease: var(--cs-anim-ease-elastic); }
@utility cs-ease-smooth { --cs-anim-ease: var(--cs-anim-ease-smooth); }
@utility cs-ease-crisp { --cs-anim-ease: var(--cs-anim-ease-crisp); }
@utility cs-ease-overshoot { --cs-anim-ease: var(--cs-anim-ease-overshoot); }
/* =========================================================
   DELAY UTILITIES
   Precise timing control for orchestration
   ========================================================= */
@utility cs-delay-0 { --cs-anim-delay: 0ms; }
@utility cs-delay-50 { --cs-anim-delay: 50ms; }
@utility cs-delay-75 { --cs-anim-delay: 75ms; }
@utility cs-delay-100 { --cs-anim-delay: 100ms; }
@utility cs-delay-150 { --cs-anim-delay: 150ms; }
@utility cs-delay-200 { --cs-anim-delay: 200ms; }
@utility cs-delay-300 { --cs-anim-delay: 300ms; }
@utility cs-delay-500 { --cs-anim-delay: 500ms; }
@utility cs-delay-700 { --cs-anim-delay: 700ms; }
@utility cs-delay-1000 { --cs-anim-delay: 1000ms; }
@utility cs-delay-1500 { --cs-anim-delay: 1500ms; }
/* =========================================================
   ANIMATION CONTROL UTILITIES
   Direction, iteration, and fill mode controls
   ========================================================= */
@utility cs-anim-infinite { --cs-anim-count: infinite; }
@utility cs-anim-reverse { --cs-anim-direction: reverse; }
@utility cs-anim-alternate { --cs-anim-direction: alternate; }
@utility cs-anim-alternate-reverse { --cs-anim-direction: alternate-reverse; }
@utility cs-anim-both { --cs-anim-fill: both; }
@utility cs-anim-forwards { --cs-anim-fill: forwards; }
@utility cs-anim-backwards { --cs-anim-fill: backwards; }
@utility cs-anim-none { --cs-anim-fill: none; }
/* Iteration count utilities */
@utility cs-anim-once { --cs-anim-count: 1; }
@utility cs-anim-twice { --cs-anim-count: 2; }
@utility cs-anim-thrice { --cs-anim-count: 3; }
/* =========================================================
   ENTRANCE ANIMATION UTILITIES
   Complete set of entrance animations
   ========================================================= */
@utility cs-fade-in { animation-name: csFadeIn; }
@utility cs-fade-out { animation-name: csFadeOut; }
@utility cs-scale-in { animation-name: csScaleIn; }
@utility cs-scale-out { animation-name: csScaleOut; }
@utility cs-zoom-in { animation-name: csZoomIn; }
@utility cs-zoom-out { animation-name: csZoomOut; }
@utility cs-slide-up { animation-name: csSlideUp; }
@utility cs-slide-down { animation-name: csSlideDown; }
@utility cs-slide-left { animation-name: csSlideLeft; }
@utility cs-slide-right { animation-name: csSlideRight; }
@utility cs-blur-in { animation-name: csBlurIn; }
@utility cs-blur-out { animation-name: csBlurOut; }
@utility cs-rotate-in { animation-name: csRotateIn; }
@utility cs-flip-in { animation-name: csFlipIn; }
/* v0.8.0-kompatible Aliase */
@utility cs-anim {
  animation-duration: var(--cs-anim-duration, var(--cs-anim-duration-md));
  animation-timing-function: var(--cs-anim-ease, var(--cs-anim-ease-standard));
  animation-iteration-count: 1;
  animation-direction: var(--cs-anim-direction, normal);
  animation-fill-mode: var(--cs-anim-fill, both);
  animation-delay: var(--cs-anim-delay, 0ms);
}
/* Additional utility classes that match v0.8.0 */
@utility cs-reveal-3d-up { animation-name: csReveal3DUp; }
@utility cs-reveal-3d-right { animation-name: csReveal3DRight; }
@utility cs-marquee {
  animation-name: csMarqueeLeft;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
@utility cs-parallax-y {
  animation-name: csParallaxY;
  animation-direction: alternate;
  animation-iteration-count: infinite;
}
/* =========================================================
   CONTINUOUS ANIMATION UTILITIES
   Looping and infinite animations
   ========================================================= */
@utility cs-rotate { 
  animation-name: csRotate; 
  animation-duration: var(--cs-anim-duration-lg);
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
@utility cs-pulse { 
  animation-name: csPulse; 
  animation-duration: var(--cs-anim-duration-lg);
  animation-iteration-count: infinite;
}
@utility cs-bounce { 
  animation-name: csBounce; 
  animation-duration: var(--cs-anim-duration-lg);
  animation-iteration-count: infinite;
}
@utility cs-wiggle { animation-name: csWiggle; }
@utility cs-shake { animation-name: csShake; }
@utility cs-heartbeat { 
  animation-name: csHeartbeat; 
  animation-duration: var(--cs-anim-duration-lg);
  animation-iteration-count: infinite;
}
@utility cs-rubber-band { animation-name: csRubberBand; }
/* =========================================================
   3D ANIMATION UTILITIES
   Perspective and 3D transform animations
   ========================================================= */
@utility cs-reveal-3d-up { animation-name: csReveal3DUp; }
@utility cs-reveal-3d-right { animation-name: csReveal3DRight; }
@utility cs-reveal-3d-left { animation-name: csReveal3DLeft; }
@utility cs-flip-3d-x { 
  animation-name: csFlip3DX; 
  animation-duration: var(--cs-anim-duration-lg);
}
@utility cs-flip-3d-y { 
  animation-name: csFlip3DY; 
  animation-duration: var(--cs-anim-duration-lg);
}
/* =========================================================
   SCROLL & PARALLAX UTILITIES
   Scroll-based and parallax animations
   ========================================================= */
@utility cs-marquee-left { 
  animation-name: csMarqueeLeft; 
  animation-duration: 10s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
@utility cs-marquee-right { 
  animation-name: csMarqueeRight; 
  animation-duration: 10s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
@utility cs-parallax-y { 
  animation-name: csParallaxY; 
  animation-duration: 6s;
  animation-direction: alternate;
  animation-iteration-count: infinite;
}
@utility cs-parallax-x { 
  animation-name: csParallaxX; 
  animation-duration: 6s;
  animation-direction: alternate;
  animation-iteration-count: infinite;
}
@utility cs-float { 
  animation-name: csFloat; 
  animation-duration: 3s;
  animation-iteration-count: infinite;
}
@utility cs-sway { 
  animation-name: csSway; 
  animation-duration: 4s;
  animation-iteration-count: infinite;
}
/* =========================================================
   COMPONENT ANIMATION UTILITIES
   Ready-to-use component animations
   ========================================================= */
/* Button Press Animation */
@utility cs-btn-press {
  animation-name: csBtnPress;
  animation-duration: var(--cs-anim-duration-xxs);
  animation-timing-function: var(--cs-anim-ease-soft-spring);
}
/* Dropdown Animations */
@utility cs-dropdown-in {
  animation-name: csDropdownIn;
  animation-duration: var(--cs-anim-duration-sm);
  animation-timing-function: var(--cs-anim-ease-spring);
}
@utility cs-dropdown-out {
  animation-name: csDropdownOut;
  animation-duration: var(--cs-anim-duration-xs);
  animation-timing-function: var(--cs-anim-ease-accelerate);
}
/* Tooltip Animations */
@utility cs-tooltip-in {
  animation-name: csTooltipIn;
  animation-duration: var(--cs-anim-duration-xs);
  animation-timing-function: var(--cs-anim-ease-spring);
}
@utility cs-tooltip-out {
  animation-name: csTooltipOut;
  animation-duration: var(--cs-anim-duration-xxs);
  animation-timing-function: var(--cs-anim-ease-accelerate);
}
/* Modal Animations */
@utility cs-modal-in {
  animation-name: csModalIn;
  animation-duration: var(--cs-anim-duration-md);
  animation-timing-function: var(--cs-anim-ease-spring);
}
@utility cs-modal-out {
  animation-name: csModalOut;
  animation-duration: var(--cs-anim-duration-sm);
  animation-timing-function: var(--cs-anim-ease-accelerate);
}
/* Backdrop Animations */
@utility cs-backdrop-in {
  animation-name: csBackdropIn;
  animation-duration: var(--cs-anim-duration-md);
}
@utility cs-backdrop-out {
  animation-name: csBackdropOut;
  animation-duration: var(--cs-anim-duration-sm);
}
/* Drawer Animations */
@utility cs-drawer-in-left {
  animation-name: csDrawerInLeft;
  animation-duration: var(--cs-anim-duration-md);
  animation-timing-function: var(--cs-anim-ease-spring);
}
@utility cs-drawer-out-left {
  animation-name: csDrawerOutLeft;
  animation-duration: var(--cs-anim-duration-sm);
  animation-timing-function: var(--cs-anim-ease-accelerate);
}
@utility cs-drawer-in-right {
  animation-name: csDrawerInRight;
  animation-duration: var(--cs-anim-duration-md);
  animation-timing-function: var(--cs-anim-ease-spring);
}
@utility cs-drawer-out-right {
  animation-name: csDrawerOutRight;
  animation-duration: var(--cs-anim-duration-sm);
  animation-timing-function: var(--cs-anim-ease-accelerate);
}
@utility cs-drawer-in-top {
  animation-name: csDrawerInTop;
  animation-duration: var(--cs-anim-duration-md);
  animation-timing-function: var(--cs-anim-ease-spring);
}
@utility cs-drawer-out-top {
  animation-name: csDrawerOutTop;
  animation-duration: var(--cs-anim-duration-sm);
  animation-timing-function: var(--cs-anim-ease-accelerate);
}
@utility cs-drawer-in-bottom {
  animation-name: csDrawerInBottom;
  animation-duration: var(--cs-anim-duration-md);
  animation-timing-function: var(--cs-anim-ease-spring);
}
@utility cs-drawer-out-bottom {
  animation-name: csDrawerOutBottom;
  animation-duration: var(--cs-anim-duration-sm);
  animation-timing-function: var(--cs-anim-ease-accelerate);
}
/* Accordion Animations */
@utility cs-accordion-in {
  animation-name: csAccordionIn;
  animation-duration: var(--cs-anim-duration-md);
  animation-timing-function: var(--cs-anim-ease-decelerate);
}
@utility cs-accordion-out {
  animation-name: csAccordionOut;
  animation-duration: var(--cs-anim-duration-sm);
  animation-timing-function: var(--cs-anim-ease-accelerate);
}
@utility cs-accordion-fade {
  animation-name: csFadeIn;
  animation-duration: var(--cs-anim-duration-md);
  animation-timing-function: var(--cs-anim-ease-decelerate);
}
/* Toast Animations */
@utility cs-toast-in {
  animation-name: csToastIn;
  animation-duration: var(--cs-anim-duration-md);
  animation-timing-function: var(--cs-anim-ease-spring);
}
@utility cs-toast-out {
  animation-name: csToastOut;
  animation-duration: var(--cs-anim-duration-sm);
  animation-timing-function: var(--cs-anim-ease-accelerate);
}
/* Chip Animations */
@utility cs-chip-in {
  animation-name: csChipIn;
  animation-duration: var(--cs-anim-duration-sm);
  animation-timing-function: var(--cs-anim-ease-spring);
}
@utility cs-chip-out {
  animation-name: csChipOut;
  animation-duration: var(--cs-anim-duration-xs);
  animation-timing-function: var(--cs-anim-ease-accelerate);
}
/* Badge Animation */
@utility cs-badge-pop {
  animation-name: csBadgePop;
  animation-duration: var(--cs-anim-duration-sm);
  animation-timing-function: var(--cs-anim-ease-bounce);
}
/* Spinner Animation */
@utility cs-spinner {
  animation-name: csSpinner;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
/* Progress Animations */
@utility cs-progress-indeterminate {
  animation-name: csProgressIndeterminate;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
/* Carousel Animations */
@utility cs-carousel-slide {
  animation-name: csCarouselSlide;
  animation-duration: var(--cs-anim-duration-lg);
  animation-timing-function: var(--cs-anim-ease-decelerate);
}
@utility cs-carousel-fade {
  animation-name: csCarouselFade;
  animation-duration: var(--cs-anim-duration-lg);
  animation-timing-function: var(--cs-anim-ease-standard);
}
/* Ripple Effect */
@utility cs-btn-ripple {
  position: relative;
  overflow: hidden;
  &::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: color-mix(in srgb, var(--cs-ripple-color, currentColor) 20%, transparent);
    transform: translate(-50%, -50%);
    animation: csRippleSpread 0.6s ease-out;
  }
}
/* Navigation Underline */
@utility cs-nav-underline-in {
  position: relative;
  &::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -2px;
    width: var(--cs-underline-w, 0%);
    height: var(--cs-underline-h, 2px);
    background: currentColor;
    border-radius: 999px;
    transform: translateX(-50%);
    transition: width var(--cs-anim-duration-sm) var(--cs-anim-ease-decelerate);
  }
  &:hover::after {
    --cs-underline-w: 100%;
  }
}
/* Tab Slide Animation */
@utility cs-tab-slide {
  animation-name: csTabSlide;
  animation-duration: var(--cs-anim-duration-sm);
}
/* Notification Slide */
@utility cs-notification-slide {
  animation-name: csNotificationSlide;
  animation-duration: var(--cs-anim-duration-md);
  animation-timing-function: var(--cs-anim-ease-spring);
}
/* =========================================================
   LOADING & PROGRESS UTILITIES
   Loading states and progress indicators
   ========================================================= */
@utility cs-skeleton-shimmer {
  position: relative;
  overflow: hidden;
  background: linear-gradient(
    90deg,
    transparent,
    color-mix(in srgb, currentColor 10%, transparent),
    transparent
  );
  background-size: 200% 100%;
  animation: csSkeletonShimmer 1.5s infinite;
}
@utility cs-progress-grow {
  animation-name: csProgressGrow;
  animation-timing-function: var(--cs-anim-ease-decelerate);
}
@utility cs-dot-loader {
  animation-name: csDotLoader;
  animation-duration: 1.4s;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
/* =========================================================
   ADVANCED STAGGER SYSTEM
   Orchestrated animations with extended support
   ========================================================= */
@utility cs-stagger-50 {
  > .cs-anim:nth-child(1) { --cs-anim-delay: 0ms; }
  > .cs-anim:nth-child(2) { --cs-anim-delay: 50ms; }
  > .cs-anim:nth-child(3) { --cs-anim-delay: 100ms; }
  > .cs-anim:nth-child(4) { --cs-anim-delay: 150ms; }
  > .cs-anim:nth-child(5) { --cs-anim-delay: 200ms; }
  > .cs-anim:nth-child(6) { --cs-anim-delay: 250ms; }
  > .cs-anim:nth-child(7) { --cs-anim-delay: 300ms; }
  > .cs-anim:nth-child(8) { --cs-anim-delay: 350ms; }
  > .cs-anim:nth-child(9) { --cs-anim-delay: 400ms; }
  > .cs-anim:nth-child(10) { --cs-anim-delay: 450ms; }
  > .cs-anim:nth-child(11) { --cs-anim-delay: 500ms; }
  > .cs-anim:nth-child(12) { --cs-anim-delay: 550ms; }
}
@utility cs-stagger-75 {
  > .cs-anim:nth-child(1) { --cs-anim-delay: 0ms; }
  > .cs-anim:nth-child(2) { --cs-anim-delay: 75ms; }
  > .cs-anim:nth-child(3) { --cs-anim-delay: 150ms; }
  > .cs-anim:nth-child(4) { --cs-anim-delay: 225ms; }
  > .cs-anim:nth-child(5) { --cs-anim-delay: 300ms; }
  > .cs-anim:nth-child(6) { --cs-anim-delay: 375ms; }
  > .cs-anim:nth-child(7) { --cs-anim-delay: 450ms; }
  > .cs-anim:nth-child(8) { --cs-anim-delay: 525ms; }
  > .cs-anim:nth-child(9) { --cs-anim-delay: 600ms; }
  > .cs-anim:nth-child(10) { --cs-anim-delay: 675ms; }
  > .cs-anim:nth-child(11) { --cs-anim-delay: 750ms; }
  > .cs-anim:nth-child(12) { --cs-anim-delay: 825ms; }
}
@utility cs-stagger-100 {
  > .cs-anim:nth-child(1) { --cs-anim-delay: 0ms; }
  > .cs-anim:nth-child(2) { --cs-anim-delay: 100ms; }
  > .cs-anim:nth-child(3) { --cs-anim-delay: 200ms; }
  > .cs-anim:nth-child(4) { --cs-anim-delay: 300ms; }
  > .cs-anim:nth-child(5) { --cs-anim-delay: 400ms; }
  > .cs-anim:nth-child(6) { --cs-anim-delay: 500ms; }
  > .cs-anim:nth-child(7) { --cs-anim-delay: 600ms; }
  > .cs-anim:nth-child(8) { --cs-anim-delay: 700ms; }
  > .cs-anim:nth-child(9) { --cs-anim-delay: 800ms; }
  > .cs-anim:nth-child(10) { --cs-anim-delay: 900ms; }
  > .cs-anim:nth-child(11) { --cs-anim-delay: 1000ms; }
  > .cs-anim:nth-child(12) { --cs-anim-delay: 1100ms; }
}
@utility cs-stagger-150 {
  > .cs-anim:nth-child(1) { --cs-anim-delay: 0ms; }
  > .cs-anim:nth-child(2) { --cs-anim-delay: 150ms; }
  > .cs-anim:nth-child(3) { --cs-anim-delay: 300ms; }
  > .cs-anim:nth-child(4) { --cs-anim-delay: 450ms; }
  > .cs-anim:nth-child(5) { --cs-anim-delay: 600ms; }
  > .cs-anim:nth-child(6) { --cs-anim-delay: 750ms; }
  > .cs-anim:nth-child(7) { --cs-anim-delay: 900ms; }
  > .cs-anim:nth-child(8) { --cs-anim-delay: 1050ms; }
  > .cs-anim:nth-child(9) { --cs-anim-delay: 1200ms; }
  > .cs-anim:nth-child(10) { --cs-anim-delay: 1350ms; }
  > .cs-anim:nth-child(11) { --cs-anim-delay: 1500ms; }
  > .cs-anim:nth-child(12) { --cs-anim-delay: 1650ms; }
}
@utility cs-stagger-200 {
  > .cs-anim:nth-child(1) { --cs-anim-delay: 0ms; }
  > .cs-anim:nth-child(2) { --cs-anim-delay: 200ms; }
  > .cs-anim:nth-child(3) { --cs-anim-delay: 400ms; }
  > .cs-anim:nth-child(4) { --cs-anim-delay: 600ms; }
  > .cs-anim:nth-child(5) { --cs-anim-delay: 800ms; }
  > .cs-anim:nth-child(6) { --cs-anim-delay: 1000ms; }
  > .cs-anim:nth-child(7) { --cs-anim-delay: 1200ms; }
  > .cs-anim:nth-child(8) { --cs-anim-delay: 1400ms; }
  > .cs-anim:nth-child(9) { --cs-anim-delay: 1600ms; }
  > .cs-anim:nth-child(10) { --cs-anim-delay: 1800ms; }
  > .cs-anim:nth-child(11) { --cs-anim-delay: 2000ms; }
  > .cs-anim:nth-child(12) { --cs-anim-delay: 2200ms; }
}
/* =========================================================
   PERFORMANCE UTILITIES
   Optimization hints for better animation performance
   ========================================================= */
@utility cs-will-transform { will-change: transform; }
@utility cs-will-opacity { will-change: opacity; }
@utility cs-will-filter { will-change: filter; }
@utility cs-will-scroll { will-change: scroll-position; }
@utility cs-will-auto { will-change: auto; }
/* Transform origin utilities */
@utility cs-origin-center { transform-origin: center; }
@utility cs-origin-top { transform-origin: top; }
@utility cs-origin-top-right { transform-origin: top right; }
@utility cs-origin-right { transform-origin: right; }
@utility cs-origin-bottom-right { transform-origin: bottom right; }
@utility cs-origin-bottom { transform-origin: bottom; }
@utility cs-origin-bottom-left { transform-origin: bottom left; }
@utility cs-origin-left { transform-origin: left; }
@utility cs-origin-top-left { transform-origin: top left; }
/* v0.8.0-kompatible Aliase für transform-origin */
@utility cs-t-origin-top { transform-origin: top; }
@utility cs-t-origin-center { transform-origin: center; }
@utility cs-t-origin-bottom { transform-origin: bottom; }
/* v0.8.0-kompatible will-change Aliase */
@utility cs-will-transform { will-change: transform; }
@utility cs-will-opacity { will-change: opacity; }
@utility cs-will-filter { will-change: filter; }
/* v0.8.0-kompatible 3D Aliase */
@utility cs-t-preserve-3d { transform-style: preserve-3d; }
/* 3D Perspective utilities */
@utility cs-preserve-3d { transform-style: preserve-3d; }
@utility cs-perspective-sm { perspective: 500px; }
@utility cs-perspective { perspective: 1000px; }
@utility cs-perspective-lg { perspective: 1500px; }
@utility cs-backface-hidden { backface-visibility: hidden; }
@utility cs-backface-visible { backface-visibility: visible; }
/* =========================================================
   SCROLL-BASED ANIMATIONS
   Modern scroll-timeline and view-timeline support
   ========================================================= */
@utility cs-scroll-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  @supports (animation-timeline: view()) {
    animation: csScrollReveal 1s ease-out;
    animation-timeline: view();
    animation-range: entry 0% entry 100%;
  }
}
@keyframes csScrollReveal {
  0% { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}
@utility cs-scroll-scale {
  transform: scale(0.8);
  transition: transform 0.6s ease-out;
  @supports (animation-timeline: view()) {
    animation: csScrollScale 1s ease-out;
    animation-timeline: view();
    animation-range: entry 0% entry 100%;
  }
}
@keyframes csScrollScale {
  0% { transform: scale(0.8); }
  100% { transform: scale(1); }
}
@utility cs-parallax-scroll {
  @supports (animation-timeline: scroll()) {
    animation: csParallaxScroll linear;
    animation-timeline: scroll();
  }
}
@keyframes csParallaxScroll {
  0% { transform: translateY(0); }
  100% { transform: translateY(-50px); }
}
/* =========================================================
   ACCESSIBILITY & REDUCED MOTION
   Comprehensive reduced motion support with smart fallbacks
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
  /* Disable all animations */
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  /* Override specific animation utilities */
  .cs-pulse,
  .cs-bounce,
  .cs-wiggle,
  .cs-shake,
  .cs-heartbeat,
  .cs-rubber-band,
  .cs-rotate,
  .cs-marquee-left,
  .cs-marquee-right,
  .cs-parallax-y,
  .cs-parallax-x,
  .cs-float,
  .cs-sway,
  .cs-skeleton-shimmer,
  .cs-dot-loader {
    animation: none !important;
  }
  /* Keep essential entrance animations but make them instant */
  .cs-fade-in,
  .cs-scale-in,
  .cs-slide-up,
  .cs-slide-down,
  .cs-slide-left,
  .cs-slide-right {
    animation-duration: 0.01ms !important;
  }
  /* Remove transforms that could cause motion sickness */
  .cs-3d-hover,
  .cs-flip-3d-x,
  .cs-flip-3d-y {
    transform: none !important;
  }
}
/* High contrast mode adjustments */
@media (prefers-contrast: high) {
  .cs-skeleton-shimmer {
    background: repeating-linear-gradient(
      90deg,
      transparent 0%,
      currentColor 50%,
      transparent 100%
    );
  }
}
/* =========================================================
   PRINT MEDIA SUPPORT
   Disable animations for print media
   ========================================================= */
@media print {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }
}
/* =========================================================
   TOUCH DEVICE OPTIMIZATIONS
   Optimizations for touch-based interactions
   ========================================================= */
@media (hover: none) and (pointer: coarse) {
  /* Faster animations for touch devices */
  .cs-btn-press {
    animation-duration: 50ms;
  }
  .cs-btn-ripple::after {
    animation-duration: 300ms;
  }
  /* Reduce motion intensity */
  .cs-wiggle,
  .cs-shake {
    animation-duration: 150ms;
  }
}
/* === TAILWINDCSS-GLASS === */
/* Note: @import "tailwindcss"; should be added by the consumer */
/*!
 * Casoon Glass - Complete Glassmorphism System for Tailwind v4
 * Version: 0.9.0 — Pure Glass Effects & Glass Cards
 * 
 * Features:
 * - Glass Backdrop Filter Effects
 * - Glass Background & Border Utilities  
 * - Glass Cards (with backdrop-filter)
 * - Glass UI Components (buttons, nav, etc.)
 * - Glass Animation Effects
 * 
 * Usage: @import "@casoon/tailwindcss-glass/index.css";
 */
/* Note: @import "tailwindcss"; should be added by the consumer */
/* =========================================================
   GLASS DESIGN TOKENS & THEME
   ========================================================= */
@theme {
  /* === GLASS COLOR SYSTEM === */
  --cs-glass-white: #ffffff;
  --cs-glass-black: #000000;
  --cs-glass-blue: #3b82f6;
  --cs-glass-purple: #9333ea;
  --cs-glass-green: #22c55e;
  --cs-glass-pink: #ec4899;
  --cs-glass-amber: #f59e0b;
  /* Glass background opacity tokens - Complete range */
  --cs-glass-bg-xs: rgba(255,255,255,0.02);
  --cs-glass-bg-sm: rgba(255,255,255,0.07);
  --cs-glass-bg-light: rgba(255,255,255,0.10);
  --cs-glass-bg-weak: rgba(255,255,255,0.05);
  --cs-glass-bg-md: rgba(255,255,255,0.12);
  --cs-glass-bg-medium: rgba(255,255,255,0.15);
  --cs-glass-bg-lg: rgba(255,255,255,0.18);
  --cs-glass-bg-strong: rgba(255,255,255,0.20);
  --cs-glass-bg-xl: rgba(255,255,255,0.25);
  --cs-glass-bg-2xl: rgba(255,255,255,0.35);
  --cs-glass-bg-3xl: rgba(255,255,255,0.45);
  --cs-glass-bg-4xl: rgba(255,255,255,0.60);
  --cs-glass-bg-5xl: rgba(255,255,255,0.75);
  /* Dark glass backgrounds - Complete range */
  --cs-glass-bg-dark: rgba(0,0,0,0.10);
  --cs-glass-bg-dark-xs: rgba(0,0,0,0.02);
  --cs-glass-bg-dark-sm: rgba(0,0,0,0.07);
  --cs-glass-bg-dark-md: rgba(0,0,0,0.12);
  --cs-glass-bg-dark-lg: rgba(0,0,0,0.18);
  --cs-glass-bg-dark-strong: rgba(0,0,0,0.20);
  --cs-glass-bg-dark-xl: rgba(0,0,0,0.25);
  --cs-glass-bg-dark-2xl: rgba(0,0,0,0.35);
  --cs-glass-bg-dark-3xl: rgba(0,0,0,0.45);
  --cs-glass-bg-dark-4xl: rgba(0,0,0,0.60);
  --cs-glass-bg-dark-5xl: rgba(0,0,0,0.75);
  /* Colored glass backgrounds */
  --cs-glass-bg-blue: rgba(59,130,246,0.10);
  --cs-glass-bg-purple: rgba(147,51,234,0.10);
  --cs-glass-bg-green: rgba(34,197,94,0.10);
  --cs-glass-bg-pink: rgba(236,72,153,0.10);
  --cs-glass-bg-amber: rgba(245,158,11,0.10);
  /* Glass border opacity tokens - Complete range */
  --cs-glass-border-xs: rgba(255,255,255,0.05);
  --cs-glass-border-sm: rgba(255,255,255,0.08);
  --cs-glass-border-light: rgba(255,255,255,0.10);
  --cs-glass-border-md: rgba(255,255,255,0.15);
  --cs-glass-border-medium: rgba(255,255,255,0.20);
  --cs-glass-border-lg: rgba(255,255,255,0.25);
  --cs-glass-border-strong: rgba(255,255,255,0.30);
  --cs-glass-border-xl: rgba(255,255,255,0.40);
  --cs-glass-border-2xl: rgba(255,255,255,0.50);
  --cs-glass-border-3xl: rgba(255,255,255,0.65);
  /* Colored glass borders */
  --cs-glass-border-blue: rgba(59,130,246,0.20);
  --cs-glass-border-purple: rgba(147,51,234,0.20);
  --cs-glass-border-green: rgba(34,197,94,0.20);
  --cs-glass-border-pink: rgba(236,72,153,0.20);
  --cs-glass-border-amber: rgba(245,158,11,0.20);
  /* Glass effects tokens */
  --cs-glass-blur-sm: blur(8px);
  --cs-glass-blur: blur(16px);
  --cs-glass-blur-lg: blur(24px);
  --cs-glass-blur-xl: blur(32px);
  --cs-glass-radius-sm: .25rem;
  --cs-glass-radius: .5rem;
  --cs-glass-radius-lg: .75rem;
  --cs-glass-radius-xl: 1rem;
  --cs-glass-radius-2xl: 1.5rem;
  --cs-glass-radius-3xl: 2rem;
  /* Glass shadow tokens */
  --cs-glass-shadow-light: rgba(0,0,0,0.05);
  --cs-glass-shadow-medium: rgba(0,0,0,0.10);
  --cs-glass-shadow-strong: rgba(0,0,0,0.15);
  --cs-glass-shadow-xl: rgba(0,0,0,0.20);
  --cs-glass-shadow-sm-def: 0 1px 2px var(--cs-glass-shadow-light);
  --cs-glass-shadow-def: 0 8px 32px var(--cs-glass-shadow-medium);
  --cs-glass-shadow-lg-def: 0 20px 40px var(--cs-glass-shadow-strong);
  --cs-glass-shadow-xl-def: 0 25px 50px var(--cs-glass-shadow-xl);
  /* Glass misc tokens */
  --cs-glass-transition: .3s;
  --cs-glass-tooltip-bg: rgba(0,0,0,0.80);
  --cs-glass-bg-hover: rgba(255,255,255,0.15);
  --cs-glass-bg-light-hover: rgba(255,255,255,0.25);
  --cs-glass-bg-contrast: rgba(255,255,255,0.20);
  --cs-glass-bg-dark-contrast: rgba(0,0,0,0.20);
  --cs-glass-bg-fallback: rgba(255,255,255,0.25);
  --cs-glass-bg-dark-fallback: rgba(0,0,0,0.25);
  --cs-glass-bg-blue-fallback: rgba(59,130,246,0.20);
  --cs-glass-bg-purple-fallback: rgba(147,51,234,0.20);
  --cs-glass-bg-green-fallback: rgba(34,197,94,0.20);
  --cs-glass-bg-pink-fallback: rgba(236,72,153,0.20);
  --cs-glass-bg-amber-fallback: rgba(245,158,11,0.20);
  --cs-glass-focus-ring: rgba(59,130,246,0.50);
  --cs-glass-backdrop-filter-extra: none;
}
/* =========================================================
   CORE GLASS UTILITIES
   Base glass backdrop-filter utilities
   ========================================================= */
/* Primary glass utility */
@utility cs-glass {
  background: var(--cs-glass-bg-light);
  border: 1px solid var(--cs-glass-border-medium);
  border-radius: var(--cs-glass-radius-lg);
  backdrop-filter: var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-blur);
  transition: all var(--cs-glass-transition) ease;
}
/* Glass size variants - all intensity levels */
@utility cs-glass-xs {
  background: var(--cs-glass-bg-xs);
  border: 1px solid var(--cs-glass-border-xs);
  border-radius: var(--cs-glass-radius-sm);
  backdrop-filter: var(--cs-glass-blur-sm);
  -webkit-backdrop-filter: var(--cs-glass-blur-sm);
  transition: all var(--cs-glass-transition) ease;
}
@utility cs-glass-sm {
  background: var(--cs-glass-bg-sm);
  border: 1px solid var(--cs-glass-border-sm);
  border-radius: var(--cs-glass-radius-sm);
  backdrop-filter: var(--cs-glass-blur-sm);
  -webkit-backdrop-filter: var(--cs-glass-blur-sm);
  transition: all var(--cs-glass-transition) ease;
}
@utility cs-glass-md {
  background: var(--cs-glass-bg-md);
  border: 1px solid var(--cs-glass-border-md);
  border-radius: var(--cs-glass-radius);
  backdrop-filter: var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-blur);
  transition: all var(--cs-glass-transition) ease;
}
@utility cs-glass-lg {
  background: var(--cs-glass-bg-lg);
  border: 1px solid var(--cs-glass-border-lg);
  border-radius: var(--cs-glass-radius-lg);
  backdrop-filter: var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-blur);
  transition: all var(--cs-glass-transition) ease;
}
@utility cs-glass-xl {
  background: var(--cs-glass-bg-xl);
  border: 1px solid var(--cs-glass-border-xl);
  border-radius: var(--cs-glass-radius-xl);
  backdrop-filter: var(--cs-glass-blur-lg);
  -webkit-backdrop-filter: var(--cs-glass-blur-lg);
  transition: all var(--cs-glass-transition) ease;
}
@utility cs-glass-2xl {
  background: var(--cs-glass-bg-2xl);
  border: 1px solid var(--cs-glass-border-2xl);
  border-radius: var(--cs-glass-radius-2xl);
  backdrop-filter: var(--cs-glass-blur-lg);
  -webkit-backdrop-filter: var(--cs-glass-blur-lg);
  transition: all var(--cs-glass-transition) ease;
}
@utility cs-glass-3xl {
  background: var(--cs-glass-bg-3xl);
  border: 1px solid var(--cs-glass-border-3xl);
  border-radius: var(--cs-glass-radius-3xl);
  backdrop-filter: var(--cs-glass-blur-xl);
  -webkit-backdrop-filter: var(--cs-glass-blur-xl);
  transition: all var(--cs-glass-transition) ease;
}
@utility cs-glass-4xl {
  background: var(--cs-glass-bg-4xl);
  border: 2px solid var(--cs-glass-border-3xl);
  border-radius: var(--cs-glass-radius-3xl);
  backdrop-filter: var(--cs-glass-blur-xl);
  -webkit-backdrop-filter: var(--cs-glass-blur-xl);
  transition: all var(--cs-glass-transition) ease;
}
@utility cs-glass-5xl {
  background: var(--cs-glass-bg-5xl);
  border: 2px solid var(--cs-glass-border-3xl);
  border-radius: var(--cs-glass-radius-3xl);
  backdrop-filter: var(--cs-glass-blur-xl);
  -webkit-backdrop-filter: var(--cs-glass-blur-xl);
  transition: all var(--cs-glass-transition) ease;
}
/* Dark glass variant */
@utility cs-glass-dark {
  background: var(--cs-glass-bg-dark);
  border: 1px solid var(--cs-glass-border-medium);
  border-radius: var(--cs-glass-radius-lg);
  backdrop-filter: var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-blur);
  transition: all var(--cs-glass-transition) ease;
}
/* =========================================================
   GLASS BACKGROUND UTILITIES
   Different opacity levels for glass backgrounds
   ========================================================= */
@utility cs-glass-bg-xs { background: var(--cs-glass-bg-xs); }
@utility cs-glass-bg-sm { background: var(--cs-glass-bg-sm); }
@utility cs-glass-bg-light { background: var(--cs-glass-bg-light); }
@utility cs-glass-bg-weak { background: var(--cs-glass-bg-weak); }
@utility cs-glass-bg-md { background: var(--cs-glass-bg-md); }
@utility cs-glass-bg-medium { background: var(--cs-glass-bg-medium); }
@utility cs-glass-bg-lg { background: var(--cs-glass-bg-lg); }
@utility cs-glass-bg-strong { background: var(--cs-glass-bg-strong); }
@utility cs-glass-bg-xl { background: var(--cs-glass-bg-xl); }
@utility cs-glass-bg-2xl { background: var(--cs-glass-bg-2xl); }
@utility cs-glass-bg-3xl { background: var(--cs-glass-bg-3xl); }
@utility cs-glass-bg-4xl { background: var(--cs-glass-bg-4xl); }
@utility cs-glass-bg-5xl { background: var(--cs-glass-bg-5xl); }
/* Dark glass backgrounds */
@utility cs-glass-bg-dark { background: var(--cs-glass-bg-dark); }
@utility cs-glass-bg-dark-xs { background: var(--cs-glass-bg-dark-xs); }
@utility cs-glass-bg-dark-sm { background: var(--cs-glass-bg-dark-sm); }
@utility cs-glass-bg-dark-md { background: var(--cs-glass-bg-dark-md); }
@utility cs-glass-bg-dark-lg { background: var(--cs-glass-bg-dark-lg); }
@utility cs-glass-bg-dark-strong { background: var(--cs-glass-bg-dark-strong); }
@utility cs-glass-bg-dark-xl { background: var(--cs-glass-bg-dark-xl); }
@utility cs-glass-bg-dark-2xl { background: var(--cs-glass-bg-dark-2xl); }
@utility cs-glass-bg-dark-3xl { background: var(--cs-glass-bg-dark-3xl); }
@utility cs-glass-bg-dark-4xl { background: var(--cs-glass-bg-dark-4xl); }
@utility cs-glass-bg-dark-5xl { background: var(--cs-glass-bg-dark-5xl); }
/* Colored glass backgrounds */
@utility cs-glass-bg-blue { background: var(--cs-glass-bg-blue); }
@utility cs-glass-bg-purple { background: var(--cs-glass-bg-purple); }
@utility cs-glass-bg-green { background: var(--cs-glass-bg-green); }
@utility cs-glass-bg-pink { background: var(--cs-glass-bg-pink); }
@utility cs-glass-bg-amber { background: var(--cs-glass-bg-amber); }
/* =========================================================
   GLASS COLOR UTILITIES
   Complete glass effects with specific color themes
   ========================================================= */
@utility cs-glass-white {
  background: var(--cs-glass-bg-light);
  border: 1px solid var(--cs-glass-border-medium);
  border-radius: var(--cs-glass-radius-lg);
  backdrop-filter: var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-blur);
  color: var(--cs-glass-black);
  transition: all var(--cs-glass-transition) ease;
}
@utility cs-glass-black {
  background: var(--cs-glass-bg-dark);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: var(--cs-glass-radius-lg);
  backdrop-filter: var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-blur);
  color: var(--cs-glass-white);
  transition: all var(--cs-glass-transition) ease;
}
@utility cs-glass-blue {
  background: var(--cs-glass-bg-blue);
  border: 1px solid var(--cs-glass-border-blue);
  border-radius: var(--cs-glass-radius-lg);
  backdrop-filter: var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-blur);
  color: var(--cs-glass-blue);
  transition: all var(--cs-glass-transition) ease;
}
@utility cs-glass-purple {
  background: var(--cs-glass-bg-purple);
  border: 1px solid var(--cs-glass-border-purple);
  border-radius: var(--cs-glass-radius-lg);
  backdrop-filter: var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-blur);
  color: var(--cs-glass-purple);
  transition: all var(--cs-glass-transition) ease;
}
@utility cs-glass-green {
  background: var(--cs-glass-bg-green);
  border: 1px solid var(--cs-glass-border-green);
  border-radius: var(--cs-glass-radius-lg);
  backdrop-filter: var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-blur);
  color: var(--cs-glass-green);
  transition: all var(--cs-glass-transition) ease;
}
@utility cs-glass-pink {
  background: var(--cs-glass-bg-pink);
  border: 1px solid var(--cs-glass-border-pink);
  border-radius: var(--cs-glass-radius-lg);
  backdrop-filter: var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-blur);
  color: var(--cs-glass-pink);
  transition: all var(--cs-glass-transition) ease;
}
@utility cs-glass-amber {
  background: var(--cs-glass-bg-amber);
  border: 1px solid var(--cs-glass-border-amber);
  border-radius: var(--cs-glass-radius-lg);
  backdrop-filter: var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-blur);
  color: var(--cs-glass-amber);
  transition: all var(--cs-glass-transition) ease;
}
/* =========================================================
   GLASS BORDER UTILITIES
   ========================================================= */
@utility cs-glass-border-xs { border-color: var(--cs-glass-border-xs); }
@utility cs-glass-border-sm { border-color: var(--cs-glass-border-sm); }
@utility cs-glass-border-light { border-color: var(--cs-glass-border-light); }
@utility cs-glass-border-md { border-color: var(--cs-glass-border-md); }
@utility cs-glass-border-medium { border-color: var(--cs-glass-border-medium); }
@utility cs-glass-border-lg { border-color: var(--cs-glass-border-lg); }
@utility cs-glass-border-strong { border-color: var(--cs-glass-border-strong); }
@utility cs-glass-border-xl { border-color: var(--cs-glass-border-xl); }
@utility cs-glass-border-2xl { border-color: var(--cs-glass-border-2xl); }
@utility cs-glass-border-3xl { border-color: var(--cs-glass-border-3xl); }
/* Colored glass borders */
@utility cs-glass-border-blue { border-color: var(--cs-glass-border-blue); }
@utility cs-glass-border-purple { border-color: var(--cs-glass-border-purple); }
@utility cs-glass-border-green { border-color: var(--cs-glass-border-green); }
@utility cs-glass-border-pink { border-color: var(--cs-glass-border-pink); }
@utility cs-glass-border-amber { border-color: var(--cs-glass-border-amber); }
/* =========================================================
   GLASS BLUR UTILITIES
   ========================================================= */
@utility cs-glass-blur-sm {
  backdrop-filter: var(--cs-glass-blur-sm);
  -webkit-backdrop-filter: var(--cs-glass-blur-sm);
}
@utility cs-glass-blur {
  backdrop-filter: var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-blur);
}
@utility cs-glass-blur-lg {
  backdrop-filter: var(--cs-glass-blur-lg);
  -webkit-backdrop-filter: var(--cs-glass-blur-lg);
}
@utility cs-glass-blur-xl {
  backdrop-filter: var(--cs-glass-blur-xl);
  -webkit-backdrop-filter: var(--cs-glass-blur-xl);
}
/* =========================================================
   GLASS RADIUS UTILITIES
   ========================================================= */
@utility cs-glass-radius-sm { border-radius: var(--cs-glass-radius-sm); }
@utility cs-glass-radius { border-radius: var(--cs-glass-radius); }
@utility cs-glass-radius-lg { border-radius: var(--cs-glass-radius-lg); }
@utility cs-glass-radius-xl { border-radius: var(--cs-glass-radius-xl); }
@utility cs-glass-radius-2xl { border-radius: var(--cs-glass-radius-2xl); }
@utility cs-glass-radius-3xl { border-radius: var(--cs-glass-radius-3xl); }
/* Glass rounded utilities - aliases for radius utilities */
@utility cs-glass-rounded { border-radius: var(--cs-glass-radius); }
@utility cs-glass-rounded-sm { border-radius: var(--cs-glass-radius-sm); }
@utility cs-glass-rounded-lg { border-radius: var(--cs-glass-radius-lg); }
@utility cs-glass-rounded-xl { border-radius: var(--cs-glass-radius-xl); }
@utility cs-glass-rounded-2xl { border-radius: var(--cs-glass-radius-2xl); }
@utility cs-glass-rounded-3xl { border-radius: var(--cs-glass-radius-3xl); }
/* =========================================================
   GLASS SHADOW UTILITIES
   ========================================================= */
@utility cs-glass-shadow-sm { box-shadow: var(--cs-glass-shadow-sm-def); }
@utility cs-glass-shadow { box-shadow: var(--cs-glass-shadow-def); }
@utility cs-glass-shadow-lg { box-shadow: var(--cs-glass-shadow-lg-def); }
@utility cs-glass-shadow-xl { box-shadow: var(--cs-glass-shadow-xl-def); }
/* =========================================================
   GLASS ADD-ON UTILITIES
   ========================================================= */
/* Acrylic look (adds saturation/contrast on the backdrop) */
@utility cs-glass-acrylic {
  --cs-glass-backdrop-filter-extra: saturate(135%) contrast(110%);
  backdrop-filter: var(--cs-glass-backdrop-filter-extra) var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-backdrop-filter-extra) var(--cs-glass-blur);
}
/* Frosted edge (inner highlight for stronger glass rim) */
@utility cs-glass-frosted-edge {
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, var(--cs-glass-white) 40%, transparent),
    var(--cs-glass-shadow-def);
}
/* Noise/grain overlay */
@utility cs-glass-noise { 
  position: relative; 
  isolation: isolate; 
  &::after {
    content: "";
    position: absolute; 
    inset: 0;
    pointer-events: none;
    mix-blend-mode: overlay;
    opacity: .07;
    background-image: var(--cs-glass-noise-img, none);
    background-size: 200px 200px;
    z-index: 1;
  }
}
/* Text contrast helpers for content placed on glass */
@utility cs-glass-on { color: var(--cs-glass-on, #0f172a); }
@utility cs-glass-on-invert { color: var(--cs-glass-on-invert, #ffffff); }
/* Disabled/read-only helper for interactive glass */
@utility cs-glass-disabled {
  opacity: .6;
  filter: grayscale(20%);
  pointer-events: none;
}
/* Elevation helpers (z-index layering for overlays on glass) */
@utility cs-glass-elev-1 { z-index: 10; }
@utility cs-glass-elev-2 { z-index: 20; }
@utility cs-glass-elev-3 { z-index: 30; }
@utility cs-glass-elev-4 { z-index: 40; }
@utility cs-glass-elev-5 { z-index: 50; }
/* Blend mode utilities (creative tints over imagery) */
@utility cs-glass-blend-overlay { mix-blend-mode: overlay; }
@utility cs-glass-blend-screen { mix-blend-mode: screen; }
@utility cs-glass-blend-multiply { mix-blend-mode: multiply; }
/* Layout helpers for sticky bars & performance hints */
@utility cs-glass-sticky { position: sticky; top: 0; }
@utility cs-glass-will-change { will-change: transform, backdrop-filter; }
/* Isolation utility for Canvas/Background-Layering issues */
@utility cs-glass-isolate { isolation: isolate; }
/* =========================================================
   GLASS INTERACTIVE STATE UTILITIES
   Hover and focus states for glass elements
   ========================================================= */
@utility cs-glass-bg-hover { background: var(--cs-glass-bg-hover); }
@utility cs-glass-bg-light-hover { background: var(--cs-glass-bg-light-hover); }
@utility cs-glass-focus-ring {
  outline: 2px solid var(--cs-glass-focus-ring);
  outline-offset: 2px;
}
/* =========================================================
   GLASS CARDS SYSTEM
   Cards with glass backdrop-filter effects
   ========================================================= */
/* Glass card base component */
@utility cs-glass-card {
  background: var(--cs-glass-bg-light);
  border: 1px solid var(--cs-glass-border-medium);
  border-radius: 20px;
  padding: 2rem;
  box-shadow: var(--cs-glass-shadow-def);
  transition: all var(--cs-glass-transition) ease;
  backdrop-filter: var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-blur);
  &:hover {
    background: var(--cs-glass-bg-hover);
    box-shadow: 0 20px 40px var(--cs-glass-shadow-strong);
    transform: translateY(-2px);
    border: 1px solid var(--cs-glass-border-strong);
  }
  &:focus-within {
    outline: 2px solid var(--cs-glass-focus-ring);
    outline-offset: 2px;
  }
}
/* Light glass card variant */
@utility cs-glass-card-light {
  background: var(--cs-glass-bg-medium);
  border: 1px solid var(--cs-glass-border-strong);
  border-radius: 20px;
  padding: 2rem;
  box-shadow: var(--cs-glass-shadow-def);
  transition: all var(--cs-glass-transition) ease;
  backdrop-filter: var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-blur);
  &:hover {
    background: var(--cs-glass-bg-light-hover);
    transform: translateY(-1px);
    box-shadow: 0 12px 24px var(--cs-glass-shadow-strong);
  }
  &:focus-within {
    outline: 2px solid var(--cs-glass-focus-ring);
    outline-offset: 2px;
  }
}
/* Glass Feature Card Component */
@utility cs-card-feature-glass {
  background: var(--cs-glass-bg-light);
  border: 1px solid var(--cs-glass-border-medium);
  backdrop-filter: saturate(140%) blur(12px);
  -webkit-backdrop-filter: saturate(140%) blur(12px);
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 1.5rem;
  border-radius: 20px;
  box-shadow: var(--cs-glass-shadow-def);
  padding: 2rem;
  text-align: center;
  position: relative;
  transition: all var(--cs-glass-transition) ease;
  &:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 40px var(--cs-glass-shadow-strong);
    background: var(--cs-glass-bg-hover);
  }
}
/* Glass Product Card Component */
@utility cs-card-product-glass {
  background: var(--cs-glass-bg-light);
  border: 1px solid var(--cs-glass-border-medium);
  backdrop-filter: saturate(140%) blur(12px);
  -webkit-backdrop-filter: saturate(140%) blur(12px);
  border-radius: 20px;
  box-shadow: var(--cs-glass-shadow-def);
  overflow: hidden;
  transition: all var(--cs-glass-transition) ease;
  position: relative;
  display: flex;
  flex-direction: column;
  max-width: 20rem;
  &:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 40px var(--cs-glass-shadow-strong);
    background: var(--cs-glass-bg-hover);
  }
}
/* Glass Pricing Card Component */
@utility cs-card-pricing-glass {
  background: var(--cs-glass-bg-light);
  border: 2px solid var(--cs-glass-border-medium);
  backdrop-filter: saturate(140%) blur(12px);
  -webkit-backdrop-filter: saturate(140%) blur(12px);
  display: grid;
  grid-template-rows: auto 1fr auto;
  border-radius: 20px;
  box-shadow: var(--cs-glass-shadow-def);
  padding: 2rem;
  text-align: center;
  position: relative;
  transition: all var(--cs-glass-transition) ease;
  &:hover {
    transform: translateY(-4px);
    box-shadow: 0 25px 50px var(--cs-glass-shadow-xl);
    background: var(--cs-glass-bg-hover);
    border-color: var(--cs-glass-border-strong);
  }
}
/* =========================================================
   GLASS UI COMPONENTS
   Ready-to-use glass UI elements with backdrop-filter
   ========================================================= */
/* Glass navigation component */
@utility cs-glass-nav {
  background: var(--cs-glass-bg-light);
  border: 1px solid var(--cs-glass-border-medium);
  border-radius: 12px;
  box-shadow: var(--cs-glass-shadow-def);
  transition: all var(--cs-glass-transition) ease;
  backdrop-filter: var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-blur);
}
@utility cs-glass-nav-light {
  background: var(--cs-glass-bg-medium);
  border: 1px solid var(--cs-glass-border-strong);
  border-radius: 12px;
  box-shadow: var(--cs-glass-shadow-def);
  transition: all var(--cs-glass-transition) ease;
  backdrop-filter: var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-blur);
}
/* Glass button component */
@utility cs-glass-button {
  background: var(--cs-glass-bg-light);
  border: 1px solid var(--cs-glass-border-medium);
  border-radius: 12px;
  padding: 0.75rem 1.5rem;
  transition: all var(--cs-glass-transition) ease;
  cursor: pointer;
  min-height: 2.5rem; /* touch target */
  min-width: 2.5rem;
  -webkit-tap-highlight-color: transparent;
  backdrop-filter: var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-blur);
  &:hover {
    background: var(--cs-glass-bg-hover);
    transform: translateY(-1px);
    box-shadow: 0 8px 16px var(--cs-glass-shadow-medium);
  }
  &:focus,
  &:focus-visible {
    outline: 2px solid var(--cs-glass-focus-ring);
    outline-offset: 2px;
  }
  &:active {
    transform: translateY(0);
    box-shadow: 0 4px 8px var(--cs-glass-shadow-medium);
  }
}
/* Glass toast component */
@utility cs-glass-toast {
  background: var(--cs-glass-bg-light);
  border: 1px solid var(--cs-glass-border-medium);
  border-radius: 0.75rem;
  padding: 1rem 1.5rem;
  box-shadow: 0 8px 32px var(--cs-glass-shadow-strong);
  position: relative;
  overflow: hidden;
  backdrop-filter: var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-blur);
}
/* Glass tooltip component */
@utility cs-glass-tooltip {
  background: var(--cs-glass-tooltip-bg);
  border: 1px solid var(--cs-glass-border-medium);
  border-radius: 0.5rem;
  padding: 0.5rem 0.75rem;
  box-shadow: 0 4px 16px var(--cs-glass-shadow-xl);
  font-size: 0.875rem;
  color: white;
  white-space: nowrap;
  z-index: 50;
  backdrop-filter: var(--cs-glass-blur-sm);
  -webkit-backdrop-filter: var(--cs-glass-blur-sm);
}
/* Glass dropdown component */
@utility cs-glass-dropdown {
  background: var(--cs-glass-bg-light);
  border: 1px solid var(--cs-glass-border-medium);
  border-radius: 0.75rem;
  box-shadow: var(--cs-glass-shadow-def);
  padding: 0.5rem;
  min-width: 12rem;
  z-index: 50;
  backdrop-filter: var(--cs-glass-blur);
  -webkit-backdrop-filter: var(--cs-glass-blur);
}
/* Glass Forms System */
@utility cs-form-glass {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  background: var(--cs-glass-bg-light);
  border: 1px solid var(--cs-glass-border-medium);
  border-radius: 1rem;
  padding: 2rem;
}
@utility cs-input-glass {
  padding: 0.75rem 1rem;
  background: var(--cs-glass-bg-md);
  border: 1px solid var(--cs-glass-border-strong);
  border-radius: 0.75rem;
  transition: all var(--cs-glass-transition) ease;
  color: inherit;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  &:focus {
    outline: none;
    border-color: var(--cs-glass-focus-ring);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--cs-glass-focus-ring) 20%, transparent);
  }
  &::placeholder {
    color: color-mix(in srgb, currentColor 60%, transparent);
  }
}
@utility cs-button-primary-glass {
  background: var(--cs-glass-bg-medium);
  border: 1px solid var(--cs-glass-border-strong);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: inherit;
  padding: 0.875rem 1.5rem;
  border-radius: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--cs-glass-transition) ease;
  &:hover {
    background: var(--cs-glass-bg-strong);
    transform: translateY(-1px);
  }
  &:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
    box-shadow: 0 0 0 2px var(--cs-glass-focus-ring), 0 0 0 4px color-mix(in srgb, var(--cs-glass-focus-ring) 20%, transparent);
  }
}
/* =========================================================
   GLASS PRO EFFECTS
   Advanced animations and glass effects
   ========================================================= */
/* Animated morph effects */
@utility cs-glass-morph-in {
  animation: glassMorphIn 0.4s ease-out both;
}
@utility cs-glass-morph-out {
  animation: glassMorphOut 0.3s ease-in both;
}
@keyframes glassMorphIn {
  from {
    opacity: 0;
    transform: scale(0.95);
    backdrop-filter: blur(0px);
  }
  to {
    opacity: 1;
    transform: scale(1);
    backdrop-filter: var(--cs-glass-blur);
  }
}
@keyframes glassMorphOut {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.95);
  }
}
/* 3D hover glass effect */
@utility cs-glass-3d-hover {
  transform-style: preserve-3d;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  &:hover {
    transform: rotateX(6deg) rotateY(-4deg) scale(1.02);
    box-shadow: 0 24px 48px var(--cs-glass-shadow-xl);
  }
}
/* Glossy highlight overlays */
@utility cs-glass-gloss-top {
  position: relative;
  &::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; height: 20%;
    background: linear-gradient(to bottom, rgba(255,255,255,0.4), transparent);
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
    pointer-events: none;
    z-index: 2;
    mix-blend-mode: soft-light;
  }
}
@utility cs-glass-gloss-left {
  position: relative;
  &::before {
    content: "";
    position: absolute;
    top: 0; bottom: 0; left: 0; width: 15%;
    background: linear-gradient(to right, rgba(255,255,255,0.35), transparent);
    pointer-events: none;
    z-index: 2;
    mix-blend-mode: soft-light;
  }
}
@utility cs-glass-gloss-right {
  position: relative;
  &::before {
    content: "";
    position: absolute;
    top: 0; bottom: 0; right: 0; width: 15%;
    background: linear-gradient(to left, rgba(255,255,255,0.35), transparent);
    pointer-events: none;
    z-index: 2;
    mix-blend-mode: soft-light;
  }
}
/* Pro theme presets */
@utility cs-glass-theme-neon {
  --cs-glass-bg-light: rgba(58, 227, 255, 0.1);
  --cs-glass-border-medium: rgba(58, 227, 255, 0.25);
  --cs-glass-shadow-def: 0 8px 32px rgba(58, 227, 255, 0.25);
  --cs-glass-focus-ring: rgba(58, 227, 255, 0.6);
}
@utility cs-glass-theme-carbon {
  --cs-glass-bg-light: rgba(30, 30, 30, 0.25);
  --cs-glass-border-medium: rgba(255, 255, 255, 0.08);
  --cs-glass-shadow-def: 0 8px 32px rgba(0,0,0,0.4);
  --cs-glass-focus-ring: rgba(255, 255, 255, 0.3);
}
@utility cs-glass-theme-pastel {
  --cs-glass-bg-light: rgba(255, 230, 250, 0.12);
  --cs-glass-border-medium: rgba(255, 230, 250, 0.25);
  --cs-glass-shadow-def: 0 8px 32px rgba(255, 230, 250, 0.25);
  --cs-glass-focus-ring: rgba(255, 230, 250, 0.6);
}
/* =========================================================
   RESPONSIVE GLASS UTILITIES
   ========================================================= */
/* Responsive glass blur based on container size */
@utility cs-glass-responsive {
  background: var(--cs-glass-bg-light);
  border: 1px solid var(--cs-glass-border-medium);
  backdrop-filter: var(--cs-glass-blur-sm);
  -webkit-backdrop-filter: var(--cs-glass-blur-sm);
  background-clip: padding-box;
  @container (min-width: 320px) {
    backdrop-filter: var(--cs-glass-blur-sm);
    -webkit-backdrop-filter: var(--cs-glass-blur-sm);
  }
  @container (min-width: 640px) {
    backdrop-filter: var(--cs-glass-blur);
    -webkit-backdrop-filter: var(--cs-glass-blur);
  }
  @container (min-width: 1024px) {
    backdrop-filter: var(--cs-glass-blur-lg);
    -webkit-backdrop-filter: var(--cs-glass-blur-lg);
  }
}
/* Base backdrop filter utility */
@utility cs-glass-backdrop-clip {
  background-clip: padding-box;
}
/* =========================================================
   FALLBACKS & BROWSER SUPPORT
   ========================================================= */
/* For browsers that don't support backdrop-filter,
   provide a fallback with slightly higher opacity background */
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .cs-glass,
  .cs-glass-card,
  .cs-glass-card-light,
  .cs-glass-nav,
  .cs-glass-nav-light,
  .cs-glass-button,
  .cs-glass-toast,
  .cs-glass-tooltip,
  .cs-glass-dropdown {
    background: var(--cs-glass-bg-fallback);
    box-shadow: 0 4px 16px var(--cs-glass-shadow-medium);
  }
  .cs-glass-dark {
    background: var(--cs-glass-bg-dark-fallback);
  }
  .cs-glass-blue {
    background: var(--cs-glass-bg-blue-fallback);
  }
  .cs-glass-purple {
    background: var(--cs-glass-bg-purple-fallback);
  }
  .cs-glass-green {
    background: var(--cs-glass-bg-green-fallback);
  }
  .cs-glass-pink {
    background: var(--cs-glass-bg-pink-fallback);
  }
  .cs-glass-amber {
    background: var(--cs-glass-bg-amber-fallback);
  }
  .cs-card-feature-glass,
  .cs-card-product-glass,
  .cs-card-pricing-glass {
    background: rgba(255, 255, 255, 0.4);
  }
}
/* High contrast mode support */
@media (prefers-contrast: high) {
  .cs-glass, .cs-glass-card, .cs-glass-nav, .cs-glass-button {
    border-width: 2px;
    background: var(--cs-glass-bg-contrast);
  }
  .cs-glass-dark {
    background: var(--cs-glass-bg-dark-contrast);
    border-color: var(--cs-glass-border-strong);
  }
}
/* Forced colors mode support (Windows High Contrast) */
@media (forced-colors: active) {
  .cs-glass, .cs-glass-card, .cs-glass-nav, .cs-glass-button {
    background: Canvas;
    border-color: CanvasText;
    box-shadow: none;
  }
  .cs-glass-tooltip {
    background: CanvasText;
    color: Canvas;
    border-color: CanvasText;
    box-shadow: none;
  }
}
/* Mobile optimization - reduce blur on small screens */
@media (max-width: 480px) {
  :root {
    --cs-glass-blur: var(--cs-glass-blur-sm);
  }
}
/* Reduced motion optimizations */
@media (prefers-reduced-motion: reduce) {
  .cs-glass-morph-in,
  .cs-glass-morph-out,
  .cs-glass-3d-hover {
    animation: none !important;
    transform: none !important;
  }
}
/* === TAILWINDCSS-ORBS === */
/* Note: @import "tailwindcss"; should be added by the consumer */
/*!
 * Casoon Orbs - Tailwind v4 Directive Definitions
 * Version: 0.8.5 — For processing by Tailwind in consumer projects
 * 
 * Usage: @import "@casoon/tailwindcss-orbs/index.css";
 */
/* Note: @import "tailwindcss"; should be added by the consumer */
/* =========================================================
   Orbs Theme Tokens
   ========================================================= */
@theme {
  /* Base palette colors */
  --cs-text: #0f172a;
  --cs-text-inverse: #ffffff;
  --cs-bg: #ffffff;
  --cs-surface: #ffffff;
  --cs-surface-2: #f8fafc;
  --cs-border: #e5e7eb;
  /* Orb colors */
  --cs-orb-blue: #3b82f6;
  --cs-orb-blue-light: #93c5fd;
  --cs-orb-blue-lighter: #dbeafe;
  --cs-orb-purple: #9333ea;
  --cs-orb-purple-light: #c4b5fd;
  --cs-orb-purple-lighter: #ede9fe;
  --cs-orb-pink: #ec4899;
  --cs-orb-pink-light: #fbcfe8;
  --cs-orb-pink-lighter: #fdf2f8;
  --cs-orb-custom-primary: #667eea;
  --cs-orb-custom-secondary: #764ba2;
  --cs-orb-custom-accent: #f093fb;
  /* Opacity tokens */
  --cs-opacity-strong: 0.5;
  --cs-opacity-medium: 0.3;
  --cs-opacity-weak: 0.1;
  /* Motion & transitions */
  --cs-transition: 180ms cubic-bezier(.2,.8,.2,1);
  --cs-anim-ease-inout: cubic-bezier(.4,0,.2,1);
  --cs-anim-ease-emph: cubic-bezier(.2,.8,.2,1);
  --cs-anim-duration-float: 6s;
  --cs-anim-duration-pulse: 4s;
  --cs-anim-duration-drift: 8s;
  /* Elevation & z-index scale */
  --cs-shadow-0: none;
  --cs-shadow-1: 0 1px 2px rgba(2,6,23,.06), 0 1px 1px rgba(2,6,23,.04);
  --cs-shadow-2: 0 2px 6px rgba(2,6,23,.08), 0 1px 2px rgba(2,6,23,.06);
  --cs-shadow-3: 0 8px 24px rgba(2,6,23,.10), 0 2px 6px rgba(2,6,23,.06);
  --cs-shadow-4: 0 16px 40px rgba(2,6,23,.12), 0 4px 10px rgba(2,6,23,.08);
  --cs-z-tooltip: 60;
  --cs-z-dropdown: 70;
  --cs-z-toast: 80;
  --cs-z-modal: 90;
  --cs-z-orb: 10;
  /* Density */
  --cs-density: 1;
  /* Fallback radial gradients (rgba-based, no color-mix) */
  --cs-orb-fallback-blue: radial-gradient(circle,
    rgba(59,130,246,var(--cs-opacity-strong)) 0%,
    rgba(147,197,253,var(--cs-opacity-medium)) 50%,
    rgba(219,234,254,var(--cs-opacity-weak)) 100%);
  --cs-orb-fallback-purple: radial-gradient(circle,
    rgba(147,51,234,var(--cs-opacity-strong)) 0%,
    rgba(196,181,253,var(--cs-opacity-medium)) 50%,
    rgba(237,233,254,var(--cs-opacity-weak)) 100%);
  --cs-orb-fallback-pink: radial-gradient(circle,
    rgba(236,72,153,var(--cs-opacity-strong)) 0%,
    rgba(251,207,232,var(--cs-opacity-medium)) 50%,
    rgba(253,242,248,var(--cs-opacity-weak)) 100%);
  --cs-orb-fallback-custom: radial-gradient(circle,
    rgba(102,126,234,var(--cs-opacity-strong)) 0%,
    rgba(118,75,162,var(--cs-opacity-medium)) 50%,
    rgba(240,147,251,var(--cs-opacity-weak)) 100%);
  /* Progressive gradients with color-mix (upgrade path) */
  --cs-orb-gradient-blue: radial-gradient(circle,
    color-mix(in srgb, var(--cs-orb-blue) calc(var(--cs-opacity-strong)*100%), transparent) 0%,
    color-mix(in srgb, var(--cs-orb-blue-light) calc(var(--cs-opacity-medium)*100%), transparent) 50%,
    color-mix(in srgb, var(--cs-orb-blue-lighter) calc(var(--cs-opacity-weak)*100%), transparent) 100%);
  --cs-orb-gradient-purple: radial-gradient(circle,
    color-mix(in srgb, var(--cs-orb-purple) calc(var(--cs-opacity-strong)*100%), transparent) 0%,
    color-mix(in srgb, var(--cs-orb-purple-light) calc(var(--cs-opacity-medium)*100%), transparent) 50%,
    color-mix(in srgb, var(--cs-orb-purple-lighter) calc(var(--cs-opacity-weak)*100%), transparent) 100%);
  --cs-orb-gradient-pink: radial-gradient(circle,
    color-mix(in srgb, var(--cs-orb-pink) calc(var(--cs-opacity-strong)*100%), transparent) 0%,
    color-mix(in srgb, var(--cs-orb-pink-light) calc(var(--cs-opacity-medium)*100%), transparent) 50%,
    color-mix(in srgb, var(--cs-orb-pink-lighter) calc(var(--cs-opacity-weak)*100%), transparent) 100%);
  --cs-orb-gradient-custom: radial-gradient(circle,
    color-mix(in srgb, var(--cs-orb-custom-primary) calc(var(--cs-opacity-strong)*100%), transparent) 0%,
    color-mix(in srgb, var(--cs-orb-custom-secondary) calc(var(--cs-opacity-medium)*100%), transparent) 50%,
    color-mix(in srgb, var(--cs-orb-custom-accent) calc(var(--cs-opacity-weak)*100%), transparent) 100%);
}
/* =========================================================
   Base Orb Utility
   ========================================================= */
@utility cs-orb {
  border-radius: 50%;
  filter: blur(1px);
  opacity: .7;
  pointer-events: none;
  position: relative;
  z-index: var(--cs-z-orb);
  &[data-size~="responsive"] {
    @container (min-width: 480px) { 
      width: 120px; 
      height: 120px; 
    }
    @container (min-width: 768px) { 
      width: 180px; 
      height: 180px; 
    }
    @container (min-width: 1024px) { 
      width: 240px; 
      height: 240px; 
    }
  }
}
/* =========================================================
   Orb Size Utilities
   ========================================================= */
@utility cs-orb-xs { width: 50px; height: 50px; }
@utility cs-orb-sm { width: 75px; height: 75px; }
@utility cs-orb-md { width: 100px; height: 100px; }
@utility cs-orb-lg { width: 150px; height: 150px; }
@utility cs-orb-xl { width: 200px; height: 200px; }
@utility cs-orb-2xl { width: 300px; height: 300px; }
@utility cs-orb-3xl { width: 400px; height: 400px; }
@utility cs-orb-4xl { width: 500px; height: 500px; }
@utility cs-orb-5xl { width: 600px; height: 600px; }
@utility cs-orb-massive { width: 800px; height: 800px; }
/* =========================================================
   Blur Level Utilities
   ========================================================= */
@utility cs-orb-blur-none { filter: blur(0); }
@utility cs-orb-blur-sm { filter: blur(2px); }
@utility cs-orb-blur-md { filter: blur(4px); }
@utility cs-orb-blur-lg { filter: blur(8px); }
/* =========================================================
   Positioning Utilities
   ========================================================= */
@utility cs-orb-absolute { position: absolute; }
@utility cs-orb-fixed { position: fixed; }
/* =========================================================
   Color Gradient Utilities with Progressive Enhancement
   ========================================================= */
@utility cs-orb-gradient-blue {
  background: var(--cs-orb-fallback-blue);
  @supports (background: color-mix(in srgb, red 50%, transparent)) {
    background: var(--cs-orb-gradient-blue);
  }
}
@utility cs-orb-gradient-purple {
  background: var(--cs-orb-fallback-purple);
  @supports (background: color-mix(in srgb, red 50%, transparent)) {
    background: var(--cs-orb-gradient-purple);
  }
}
@utility cs-orb-gradient-pink {
  background: var(--cs-orb-fallback-pink);
  @supports (background: color-mix(in srgb, red 50%, transparent)) {
    background: var(--cs-orb-gradient-pink);
  }
}
@utility cs-orb-gradient-custom {
  background: var(--cs-orb-fallback-custom);
  @supports (background: color-mix(in srgb, red 50%, transparent)) {
    background: var(--cs-orb-gradient-custom);
  }
}
/* =========================================================
   Container Query Utility
   ========================================================= */
@utility cs-cq { 
  container-type: inline-size; 
}
/* =========================================================
   ENHANCED ORB ANIMATIONS (v0.8.x)
   ========================================================= */
/* Float Animation */
@utility cs-orb-float {
  animation: cs-orb-float-kf var(--cs-anim-duration-float) var(--cs-anim-ease-inout) infinite;
}
/* Pulse Animation */
@utility cs-orb-pulse {
  animation: cs-orb-pulse-kf var(--cs-anim-duration-pulse) var(--cs-anim-ease-inout) infinite;
}
/* Drift Animation */
@utility cs-orb-drift {
  animation: cs-orb-drift-kf var(--cs-anim-duration-drift) var(--cs-anim-ease-inout) infinite;
}
/* Morph Animation */
@utility cs-orb-morph {
  animation: cs-orb-morph 12s ease-in-out infinite;
}
/* Shimmer Animation */
@utility cs-orb-shimmer {
  background: linear-gradient(270deg, var(--cs-orb-blue), var(--cs-orb-blue-light), var(--cs-orb-blue));
  background-size: 600% 600%;
  animation: cs-orb-shimmer 10s infinite;
}
/* Bloom Animation (hover/focus triggered) */
@utility cs-orb-bloom {
  &:hover, &:focus-visible {
    transform-origin: 50%;
    animation: cs-orb-bloom 2s ease-in-out infinite;
  }
}
/* Zen Animation (combined float + morph) */
@utility cs-orb-zen {
  animation: cs-orb-float-kf var(--cs-anim-duration-float) var(--cs-anim-ease-inout) infinite,
             cs-orb-morph 14s ease-in-out infinite;
}
/* Advanced Movement Animations */
@utility cs-orb-orbit {
  animation: cs-orb-orbit 20s linear infinite;
}
@utility cs-orb-orbit-reverse {
  animation: cs-orb-orbit 20s linear infinite reverse;
}
@utility cs-orb-figure-8 {
  animation: cs-orb-figure-8 16s ease-in-out infinite;
}
@utility cs-orb-wander {
  animation: cs-orb-wander 25s ease-in-out infinite;
}
@utility cs-orb-swing {
  animation: cs-orb-swing 8s ease-in-out infinite;
}
@utility cs-orb-bounce {
  animation: cs-orb-bounce 3s ease-in-out infinite;
}
@utility cs-orb-magnetic {
  animation: cs-orb-magnetic 12s ease-in-out infinite;
}
/* Color & Visual Effects */
@utility cs-orb-hue-shift {
  animation: cs-orb-hue-shift 10s linear infinite;
}
@utility cs-orb-rainbow {
  background: linear-gradient(45deg, #ff6b6b, #4ecdc4, #45b7d1, #f9ca24, #f0932b, #eb4d4b, #6c5ce7) 0 0/400% 400%;
  animation: cs-orb-rainbow 8s infinite;
}
@utility cs-orb-color-pulse {
  animation: cs-orb-color-pulse 4s ease-in-out infinite;
}
@utility cs-orb-color-breathe {
  animation: cs-orb-color-breathe 6s ease-in-out infinite;
}
@utility cs-orb-glow {
  animation: cs-orb-glow 3s ease-in-out infinite;
}
@utility cs-orb-flicker {
  animation: cs-orb-flicker 2s ease-in-out infinite;
}
@utility cs-orb-scale-pulse {
  animation: cs-orb-scale-pulse 4s ease-in-out infinite;
}
@utility cs-orb-elastic {
  animation: cs-orb-elastic 3s cubic-bezier(0.68, -0.55, 0.265, 1.55) infinite;
}
/* Complex Combined Animations */
@utility cs-orb-dream {
  animation: cs-orb-float-kf 12s ease-in-out infinite,
             cs-orb-hue-shift 15s linear infinite,
             cs-orb-scale-pulse 8s ease-in-out infinite;
}
@utility cs-orb-cosmic {
  animation: cs-orb-orbit 30s linear infinite,
             cs-orb-rainbow 10s infinite,
             cs-orb-glow 4s ease-in-out infinite;
}
@utility cs-orb-chaos {
  animation: cs-orb-wander 20s ease-in-out infinite,
             cs-orb-flicker 1.5s ease-in-out infinite,
             cs-orb-elastic 5s cubic-bezier(0.68, -0.55, 0.265, 1.55) infinite;
}
/* =========================================================
   ANIMATION SPEED CONTROLS
   ========================================================= */
@utility cs-orb-slow {
  animation-duration: calc(var(--cs-orb-speed, 1) * 2);
}
@utility cs-orb-fast {
  animation-duration: calc(var(--cs-orb-speed, 1) * 0.5);
}
/* =========================================================
   INTERACTIVE ANIMATION CONTROLS
   ========================================================= */
@utility cs-orb-pause-hover {
  &:hover {
    animation-play-state: paused;
  }
}
@utility cs-orb-reverse-hover {
  &:hover {
    animation-direction: reverse;
  }
}
@utility cs-orb-trigger-hover {
  animation-play-state: paused;
  &:hover {
    animation-play-state: running;
  }
}
/* =========================================================
   CORE UTILITY HELPER CLASSES
   ========================================================= */
@utility cs-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* =========================================================
   GLOW EFFECTS
   ========================================================= */
@utility cs-glow {
  box-shadow: 0 0 transparent;
}
@utility cs-glow-blue {
  box-shadow: 0 0 24px 8px var(--cs-orb-blue);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 0 24px 8px color-mix(in srgb, var(--cs-orb-blue) 35%, transparent);
  }
  @supports not (color: color-mix(in srgb, red 50%, white)) {
    box-shadow: 0 0 24px 8px rgba(59, 130, 246, 0.35);
  }
}
@utility cs-glow-pink {
  box-shadow: 0 0 24px 8px var(--cs-orb-pink);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 0 24px 8px color-mix(in srgb, var(--cs-orb-pink) 35%, transparent);
  }
  @supports not (color: color-mix(in srgb, red 50%, white)) {
    box-shadow: 0 0 24px 8px rgba(236, 72, 153, 0.35);
  }
}
/* =========================================================
   CORE POSITIONING UTILITIES
   ========================================================= */
@utility cs-will-transform {
  will-change: transform;
}
/* =========================================================
   CARD COMPONENTS
   ========================================================= */
@utility cs-card {
  position: relative;
  background: var(--cs-surface);
  border: 1px solid var(--cs-border);
  border-radius: calc(12px * var(--cs-density));
  box-shadow: var(--cs-shadow-2);
  padding: calc(16px * var(--cs-density));
  transition: box-shadow var(--cs-transition), transform var(--cs-transition);
  &:hover {
    box-shadow: var(--cs-shadow-3);
    transform: translateY(-1px);
  }
}
@utility cs-card-title {
  color: var(--cs-text);
  font-weight: 600;
  margin-bottom: 0.5em;
}
@utility cs-card-hover-orb {
  position: relative;
  overflow: hidden;
  &::before {
    content: "";
    position: absolute;
    top: -25%;
    left: -25%;
    width: 200%;
    height: 200%;
    background: var(--cs-orb-fallback-blue);
    filter: blur(32px);
    opacity: 0;
    pointer-events: none;
    z-index: 0;
    transition: opacity 0.5s;
  }
  &:hover::before {
    opacity: 0.6;
  }
}
@utility cs-card-hover-orb-shimmer {
  &::before {
    background: linear-gradient(135deg, #3b82f6, #93c5fd, #3b82f6) 0 0/300% 300%;
    animation: cs-orb-shimmer 6s linear infinite;
  }
}
@utility cs-surface-pop {
  background: var(--cs-surface);
  border: 1px solid var(--cs-border);
  border-radius: 12px;
  box-shadow: var(--cs-shadow-4);
}
/* =========================================================
   ACRYLIC/GLASSMORPHISM EFFECT
   ========================================================= */
@utility cs-acrylic {
  background: var(--cs-surface);
  border: 1px solid var(--cs-border);
  backdrop-filter: blur(10px) saturate(140%);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--cs-surface) 70%, transparent);
    border: 1px solid color-mix(in srgb, var(--cs-border) 70%, transparent);
  }
  @supports not (backdrop-filter: blur(10px)) {
    background: rgba(255, 255, 255, 0.75);
  }
}
/* =========================================================
   BUTTON COMPONENTS
   ========================================================= */
@utility cs-btn {
  --_pad-y: calc(8px * var(--cs-density));
  --_pad-x: calc(14px * var(--cs-density));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: var(--_pad-y) var(--_pad-x);
  border: 1px solid var(--cs-border);
  border-radius: calc(10px * var(--cs-density));
  background: var(--cs-surface-2);
  color: var(--cs-text);
  font-weight: 600;
  line-height: 1.2;
  box-shadow: var(--cs-shadow-1);
  transition: background var(--cs-transition), box-shadow var(--cs-transition), transform var(--cs-transition);
  &:hover {
    box-shadow: var(--cs-shadow-2);
    transform: translateY(-1px);
  }
  &:active {
    transform: translateY(0);
  }
}
@utility cs-btn-primary {
  background: var(--cs-orb-blue);
  border-color: var(--cs-orb-blue);
  color: var(--cs-text);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--cs-orb-blue) 12%, var(--cs-surface));
    border-color: color-mix(in srgb, var(--cs-orb-blue) 35%, var(--cs-border));
  }
  @supports not (color: color-mix(in srgb, red 50%, white)) {
    background: #eef5ff;
    border-color: #b8d1ff;
  }
}
@utility cs-btn-orb {
  position: relative;
  overflow: hidden;
  z-index: 1;
  &::after {
    content: "";
    position: absolute;
    inset: -50%;
    background: radial-gradient(circle at center, var(--cs-orb-blue-light), transparent 70%);
    opacity: 0;
    transform: scale(0.5);
    transition: opacity 0.4s, transform 0.4s;
    z-index: 0;
  }
  &:hover::after {
    opacity: 0.4;
    transform: scale(1.2);
  }
}
/* =========================================================
   LAYOUT COMPONENTS
   ========================================================= */
@utility cs-section-orb {
  position: relative;
  overflow: clip;
  & > .cs-orb {
    position: absolute;
    inset: auto;
  }
}
@utility cs-orb-modal-backdrop {
  position: absolute;
  inset: 0;
  background: var(--cs-orb-fallback-purple);
  filter: blur(60px);
  opacity: 0.4;
  pointer-events: none;
  z-index: var(--cs-z-modal);
}
/* =========================================================
   KEYFRAME ANIMATIONS
   ========================================================= */
/* Basic Movement Animations */
@keyframes cs-orb-float-kf {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
}
@keyframes cs-orb-pulse-kf {
  0%, 100% {
    opacity: 0.7;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
}
@keyframes cs-orb-drift-kf {
  0% {
    transform: translate(0);
  }
  33% {
    transform: translate(30px);
  }
  66% {
    transform: translate(-20px);
  }
  100% {
    transform: translate(0);
  }
}
@keyframes cs-orb-morph {
  0% {
    border-radius: 50%;
  }
  25% {
    border-radius: 55% 45% 60% 40% / 60% 40% 55% 45%;
  }
  50% {
    border-radius: 50% 50% 60% 40% / 40% 60% 50% 50%;
  }
  75% {
    border-radius: 45% 55% 50% 50% / 50% 50% 45% 55%;
  }
  100% {
    border-radius: 50%;
  }
}
@keyframes cs-orb-bloom {
  0%, 100% {
    opacity: 0.7;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.12);
  }
}
@keyframes cs-orb-shimmer {
  0% {
    background-position: 0%;
  }
  50% {
    background-position: 100%;
  }
  100% {
    background-position: 0%;
  }
}
/* Complex Movement Animations */
@keyframes cs-orb-orbit {
  0% {
    transform: rotate(0deg) translate(100px) rotate(0deg);
  }
  100% {
    transform: rotate(360deg) translate(100px) rotate(-360deg);
  }
}
@keyframes cs-orb-figure-8 {
  0% {
    transform: translate(0);
  }
  12.5% {
    transform: translate(30px, -15px);
  }
  25% {
    transform: translate(40px);
  }
  37.5% {
    transform: translate(30px, 15px);
  }
  50% {
    transform: translate(0);
  }
  62.5% {
    transform: translate(-30px, 15px);
  }
  75% {
    transform: translate(-40px);
  }
  87.5% {
    transform: translate(-30px, -15px);
  }
  100% {
    transform: translate(0);
  }
}
@keyframes cs-orb-wander {
  0% {
    transform: translate(0);
  }
  10% {
    transform: translate(25px, -30px);
  }
  20% {
    transform: translate(-15px, -45px);
  }
  30% {
    transform: translate(40px, -20px);
  }
  40% {
    transform: translate(10px, 35px);
  }
  50% {
    transform: translate(-35px, 15px);
  }
  60% {
    transform: translate(-20px, -25px);
  }
  70% {
    transform: translate(30px, 40px);
  }
  80% {
    transform: translate(-40px, -10px);
  }
  90% {
    transform: translate(20px, -35px);
  }
  100% {
    transform: translate(0);
  }
}
@keyframes cs-orb-swing {
  0%, 100% {
    transform: rotate(-15deg) translate(0);
  }
  50% {
    transform: rotate(15deg) translate(0);
  }
}
@keyframes cs-orb-bounce {
  0%, 20%, 53%, 80%, 100% {
    transform: translateY(0);
  }
  40%, 43% {
    transform: translateY(-30px);
  }
  70% {
    transform: translateY(-15px);
  }
  90% {
    transform: translateY(-4px);
  }
}
@keyframes cs-orb-magnetic {
  0% {
    transform: translate(0);
  }
  25% {
    transform: translate(50px, 20px) scale(1.1);
  }
  50% {
    transform: translate(-30px, -40px) scale(0.9);
  }
  75% {
    transform: translate(-50px, 30px) scale(1.05);
  }
  100% {
    transform: translate(0);
  }
}
/* Color & Visual Effect Animations */
@keyframes cs-orb-hue-shift {
  0% {
    filter: hue-rotate(0deg);
  }
  100% {
    filter: hue-rotate(360deg);
  }
}
@keyframes cs-orb-rainbow {
  0% {
    background-position: 0% 0%;
  }
  25% {
    background-position: 100% 0%;
  }
  50% {
    background-position: 100% 100%;
  }
  75% {
    background-position: 0% 100%;
  }
  100% {
    background-position: 0% 0%;
  }
}
@keyframes cs-orb-color-pulse {
  0%, 100% {
    filter: brightness(1) saturate(1);
  }
  50% {
    filter: brightness(1.3) saturate(1.5);
  }
}
@keyframes cs-orb-color-breathe {
  0%, 100% {
    filter: brightness(0.8) contrast(1.1);
    opacity: 0.7;
  }
  50% {
    filter: brightness(1.2) contrast(1.3);
    opacity: 1;
  }
}
@keyframes cs-orb-glow {
  0%, 100% {
    box-shadow: 0 0 20px rgba(79, 124, 255, 0.3);
  }
  50% {
    box-shadow: 0 0 40px rgba(79, 124, 255, 0.8), 0 0 80px rgba(79, 124, 255, 0.4);
  }
}
@keyframes cs-orb-flicker {
  0%, 100% {
    opacity: 0.7;
  }
  10% {
    opacity: 0.9;
  }
  20% {
    opacity: 0.5;
  }
  30% {
    opacity: 1;
  }
  40% {
    opacity: 0.6;
  }
  50% {
    opacity: 0.8;
  }
  60% {
    opacity: 0.4;
  }
  70% {
    opacity: 0.9;
  }
  80% {
    opacity: 0.7;
  }
  90% {
    opacity: 1;
  }
}
@keyframes cs-orb-scale-pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.15);
  }
}
@keyframes cs-orb-elastic {
  0%, 100% {
    transform: scale(1);
  }
  25% {
    transform: scale(1.1, 0.9);
  }
  50% {
    transform: scale(0.9, 1.1);
  }
  75% {
    transform: scale(1.05, 0.95);
  }
}
/* =========================================================
   ACCESSIBILITY & RESPONSIVE DESIGN
   ========================================================= */
/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .cs-orb-float,
  .cs-orb-pulse,
  .cs-orb-drift,
  .cs-orb-bloom,
  .cs-orb-shimmer,
  .cs-orb-morph,
  .cs-orb-zen,
  .cs-card-hover-orb::before,
  .cs-btn-orb::after {
    transition: none !important;
    animation: none !important;
  }
}
/* High contrast mode */
@media (prefers-contrast: more) {
  .cs-orb {
    filter: none;
    opacity: 0.9;
  }
  .cs-card,
  .cs-btn {
    box-shadow: var(--cs-shadow-1);
  }
}
/* Forced colors mode (Windows High Contrast) */
@media (forced-colors: active) {
  .cs-orb {
    opacity: 0.15;
    background: CanvasText;
  }
  .cs-btn {
    border: 1px solid ButtonText;
  }
}
/* Mobile optimizations */
@media (max-width: 480px) {
  .cs-orb:is(.cs-orb-blur-lg, .cs-orb-blur-md) {
    filter: blur(2px);
  }
  .cs-orb-float {
    animation-duration: calc(var(--cs-anim-duration-float) * 1.25);
  }
}
/* Focus styles */
.cs-focus-ring:focus-visible,
.cs-btn:focus-visible,
.cs-card:focus-visible {
  outline: 2px solid var(--cs-orb-blue);
  outline-offset: 2px;
  @supports (color: color-mix(in lab, red, red)) {
    outline: 2px solid color-mix(in srgb, var(--cs-orb-blue) 60%, transparent);
  }
  @supports not (color: color-mix(in srgb, red 50%, white)) {
    outline: 2px solid #3b82f6;
  }
}
/* Print styles */
@media print {
  .cs-orb {
    filter: none !important;
    opacity: 0.15 !important;
  }
  .cs-card,
  .cs-btn,
  .cs-surface-pop {
    box-shadow: none !important;
    border: 1px solid black !important;
  }
}
/* =========================================================
   ORB SCENE PRESETS - Complete Background Compositions
   ========================================================= */
/* Galaxy Scene - Multiple cosmic orbs */
.cs-orb-scene-galaxy {
  position: relative;
  overflow: hidden;
}
.cs-orb-scene-galaxy::before,
.cs-orb-scene-galaxy::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: var(--cs-z-orb);
}
/* Main galaxy orb */
.cs-orb-scene-galaxy::before {
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, 
    color-mix(in srgb, var(--cs-orb-purple) 40%, transparent) 0%,
    color-mix(in srgb, var(--cs-orb-blue) 25%, transparent) 40%,
    color-mix(in srgb, var(--cs-orb-pink) 15%, transparent) 70%,
    transparent 100%
  );
  filter: blur(60px);
  top: -150px;
  right: -150px;
  animation: cs-orb-float-kf 8s ease-in-out infinite;
}
/* Secondary galaxy orb */
.cs-orb-scene-galaxy::after {
  width: 200px;
  height: 200px;
  background: radial-gradient(circle,
    color-mix(in srgb, var(--cs-orb-blue) 35%, transparent) 0%,
    color-mix(in srgb, var(--cs-orb-purple) 20%, transparent) 50%,
    transparent 100%
  );
  filter: blur(40px);
  bottom: -100px;
  left: -100px;
  animation: cs-orb-pulse-kf 6s ease-in-out infinite;
}
/* Underwater Scene - Blue/turquoise composition */
.cs-orb-scene-underwater {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, 
    color-mix(in srgb, var(--cs-orb-blue) 8%, var(--cs-bg)) 0%,
    color-mix(in srgb, var(--cs-orb-blue-light) 5%, var(--cs-bg)) 100%
  );
}
.cs-orb-scene-underwater::before,
.cs-orb-scene-underwater::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: var(--cs-z-orb);
}
/* Large underwater orb */
.cs-orb-scene-underwater::before {
  width: 400px;
  height: 400px;
  background: radial-gradient(circle,
    color-mix(in srgb, #00bcd4 30%, transparent) 0%,
    color-mix(in srgb, #4dd0e1 20%, transparent) 40%,
    color-mix(in srgb, #80deea 10%, transparent) 70%,
    transparent 100%
  );
  filter: blur(80px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: cs-orb-drift-kf 12s ease-in-out infinite;
}
/* Floating bubbles effect */
.cs-orb-scene-underwater::after {
  width: 150px;
  height: 150px;
  background: radial-gradient(circle,
    color-mix(in srgb, #b2ebf2 25%, transparent) 0%,
    color-mix(in srgb, #e0f2f1 15%, transparent) 60%,
    transparent 100%
  );
  filter: blur(20px);
  top: 20%;
  right: 20%;
  animation: cs-orb-wander 15s ease-in-out infinite;
}
/* Aurora Scene - Northern lights effect */
.cs-orb-scene-aurora {
  position: relative;
  overflow: hidden;
  background: linear-gradient(45deg,
    color-mix(in srgb, #1a237e 15%, var(--cs-bg)) 0%,
    color-mix(in srgb, #283593 10%, var(--cs-bg)) 50%,
    color-mix(in srgb, #1a237e 15%, var(--cs-bg)) 100%
  );
}
.cs-orb-scene-aurora::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 60%;
  top: 0;
  left: 0;
  background: linear-gradient(180deg,
    color-mix(in srgb, #4fc3f7 20%, transparent) 0%,
    color-mix(in srgb, #81c784 15%, transparent) 30%,
    color-mix(in srgb, #ffb74d 10%, transparent) 60%,
    transparent 100%
  );
  filter: blur(60px);
  animation: cs-aurora-wave 20s ease-in-out infinite;
  pointer-events: none;
  z-index: var(--cs-z-orb);
}
@keyframes cs-aurora-wave {
  0%, 100% { 
    opacity: 0.6;
    transform: translateY(0) scaleY(1);
  }
  25% { 
    opacity: 0.8;
    transform: translateY(-20px) scaleY(1.1);
  }
  50% { 
    opacity: 0.7;
    transform: translateY(-10px) scaleY(0.9);
  }
  75% { 
    opacity: 0.9;
    transform: translateY(-30px) scaleY(1.2);
  }
}
/* Nebula Scene - Space dust and gas clouds */
.cs-orb-scene-nebula {
  position: relative;
  overflow: hidden;
  background: radial-gradient(ellipse at center,
    color-mix(in srgb, var(--cs-orb-purple) 12%, var(--cs-bg)) 0%,
    color-mix(in srgb, var(--cs-orb-pink) 8%, var(--cs-bg)) 40%,
    var(--cs-bg) 100%
  );
}
.cs-orb-scene-nebula::before,
.cs-orb-scene-nebula::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: var(--cs-z-orb);
}
/* Main nebula cloud */
.cs-orb-scene-nebula::before {
  width: 500px;
  height: 300px;
  background: linear-gradient(45deg,
    color-mix(in srgb, var(--cs-orb-purple) 25%, transparent) 0%,
    color-mix(in srgb, var(--cs-orb-pink) 20%, transparent) 30%,
    color-mix(in srgb, var(--cs-orb-custom-primary) 15%, transparent) 60%,
    transparent 100%
  );
  border-radius: 60% 40% 70% 30% / 50% 60% 40% 50%;
  filter: blur(100px);
  top: 10%;
  left: 20%;
  animation: cs-orb-morph 25s ease-in-out infinite,
             cs-orb-drift-kf 30s ease-in-out infinite;
}
/* Secondary nebula dust */
.cs-orb-scene-nebula::after {
  width: 250px;
  height: 250px;
  background: radial-gradient(ellipse,
    color-mix(in srgb, var(--cs-orb-blue) 20%, transparent) 0%,
    color-mix(in srgb, var(--cs-orb-purple-light) 15%, transparent) 50%,
    transparent 100%
  );
  border-radius: 50%;
  filter: blur(60px);
  bottom: 20%;
  right: 15%;
  animation: cs-orb-shimmer 18s ease-in-out infinite;
}
/* Forest Scene - Natural, organic orbs */
.cs-orb-scene-forest {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg,
    color-mix(in srgb, #2e7d32 8%, var(--cs-bg)) 0%,
    color-mix(in srgb, #388e3c 6%, var(--cs-bg)) 50%,
    color-mix(in srgb, #1b5e20 10%, var(--cs-bg)) 100%
  );
}
.cs-orb-scene-forest::before,
.cs-orb-scene-forest::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: var(--cs-z-orb);
}
/* Sunlight filtering through trees */
.cs-orb-scene-forest::before {
  width: 200px;
  height: 400px;
  background: linear-gradient(0deg,
    transparent 0%,
    color-mix(in srgb, #ffeb3b 15%, transparent) 20%,
    color-mix(in srgb, #ffc107 20%, transparent) 50%,
    color-mix(in srgb, #ff9800 10%, transparent) 80%,
    transparent 100%
  );
  border-radius: 50% 50% 80% 20% / 60% 40% 60% 40%;
  filter: blur(40px);
  top: -100px;
  right: 30%;
  animation: cs-forest-light 15s ease-in-out infinite;
  transform: rotate(15deg);
}
/* Forest fireflies/magic */
.cs-orb-scene-forest::after {
  width: 100px;
  height: 100px;
  background: radial-gradient(circle,
    color-mix(in srgb, #76ff03 30%, transparent) 0%,
    color-mix(in srgb, #8bc34a 20%, transparent) 40%,
    color-mix(in srgb, #4caf50 10%, transparent) 70%,
    transparent 100%
  );
  filter: blur(20px);
  bottom: 30%;
  left: 25%;
  animation: cs-orb-flicker 3s ease-in-out infinite,
             cs-orb-wander 20s ease-in-out infinite;
}
@keyframes cs-forest-light {
  0%, 100% { 
    opacity: 0.3;
    transform: rotate(15deg) translateY(0);
  }
  25% { 
    opacity: 0.6;
    transform: rotate(12deg) translateY(-10px);
  }
  50% { 
    opacity: 0.4;
    transform: rotate(18deg) translateY(-5px);
  }
  75% { 
    opacity: 0.7;
    transform: rotate(10deg) translateY(-15px);
  }
}
/* Sunset Scene - Warm, golden orbs */
.cs-orb-scene-sunset {
  position: relative;
  overflow: hidden;
  background: linear-gradient(45deg,
    color-mix(in srgb, #ff6f00 12%, var(--cs-bg)) 0%,
    color-mix(in srgb, #ff8f00 8%, var(--cs-bg)) 30%,
    color-mix(in srgb, #ffc107 6%, var(--cs-bg)) 70%,
    var(--cs-bg) 100%
  );
}
.cs-orb-scene-sunset::before,
.cs-orb-scene-sunset::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: var(--cs-z-orb);
}
/* Main sun orb */
.cs-orb-scene-sunset::before {
  width: 350px;
  height: 350px;
  background: radial-gradient(circle,
    color-mix(in srgb, #ffeb3b 35%, transparent) 0%,
    color-mix(in srgb, #ff9800 25%, transparent) 30%,
    color-mix(in srgb, #ff5722 15%, transparent) 60%,
    transparent 100%
  );
  filter: blur(80px);
  top: -175px;
  left: 70%;
  animation: cs-orb-color-breathe 8s ease-in-out infinite;
}
/* Warm atmospheric glow */
.cs-orb-scene-sunset::after {
  width: 250px;
  height: 150px;
  background: linear-gradient(135deg,
    color-mix(in srgb, #ffab40 20%, transparent) 0%,
    color-mix(in srgb, #ff7043 15%, transparent) 50%,
    transparent 100%
  );
  border-radius: 60% 40% 70% 30% / 50% 60% 40% 50%;
  filter: blur(60px);
  bottom: 20%;
  left: 10%;
  animation: cs-orb-drift-kf 12s ease-in-out infinite;
}
/* Responsive adjustments for scenes */
@container (max-width: 768px) {
  .cs-orb-scene-galaxy::before {
    width: 200px;
    height: 200px;
    filter: blur(40px);
  }
  .cs-orb-scene-galaxy::after {
    width: 150px;
    height: 150px;
    filter: blur(30px);
  }
  .cs-orb-scene-underwater::before {
    width: 250px;
    height: 250px;
    filter: blur(50px);
  }
  .cs-orb-scene-nebula::before {
    width: 300px;
    height: 200px;
    filter: blur(60px);
  }
}
/* Accessibility - respect reduced motion for scenes */
@media (prefers-reduced-motion: reduce) {
  .cs-orb-scene-galaxy::before,
  .cs-orb-scene-galaxy::after,
  .cs-orb-scene-underwater::before,
  .cs-orb-scene-underwater::after,
  .cs-orb-scene-aurora::before,
  .cs-orb-scene-nebula::before,
  .cs-orb-scene-nebula::after,
  .cs-orb-scene-forest::before,
  .cs-orb-scene-forest::after,
  .cs-orb-scene-sunset::before,
  .cs-orb-scene-sunset::after {
    animation: none !important;
  }
}
/* === TAILWINDCSS-CORE === */
/* Note: @import "tailwindcss"; should be added by the consumer */
/*!
 * Casoon Core - Tailwind v4 Complete Foundation Package
 * Version: 0.9.0 — Modular Architecture
 * 
 * Ultra-complete foundation with 7 integrated systems:
 * - Core Utilities, Forms, Cards & Components
 * - Navigation System (navbar, tabs, breadcrumbs, drawer)
 * - Scroll System (custom scrollbars, snap, reveal animations)
 * - Gradients System (dynamic backgrounds & effects)
 * - Loading System (spinners, skeleton, progress indicators)
 * - Micro Interactions (hover effects, animations)
 * - Typography System (prose, blog, marketing, docs styles)
 * 
 * Total: 145+ classes, optimized for production
 * 
 * Usage: @import "@casoon/tailwindcss-core/index.css";
 */
/* Note: @import "tailwindcss"; should be added by the consumer */
/* =========================================================
   DESIGN SYSTEM FOUNDATION
   ========================================================= */
/* Design Tokens - Complete token system for all components */
/*!
 * Design Tokens - Complete Design System Foundation
 * Core color, spacing, typography, and motion tokens
 */
@theme {
  /* Color tokens - Primary design system */
  --cs-bg: #0b0c0f;
  --cs-surface: #14161a;
  --cs-elev1: #1b1e24;
  --cs-elev2: #21252d;
  --cs-text: #eef1f6;
  --cs-text-muted: #b6bfcc;
  --cs-border: #2a2f39;
  --cs-brand: #4f7cff;
  --cs-brand-contrast: #0b0d12;
  /* State colors */
  --cs-success: #22c55e;
  --cs-warning: #f59e0b;
  --cs-danger: #ef4444;
  --cs-info: #06b6d4;
  /* Typography tokens */
  --cs-font-sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  --cs-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --cs-font-size: 16px;
  --cs-line: 1.5;
  /* Spacing tokens with density support */
  --cs-density: 1;
  --cs-space-1: calc(4px * var(--cs-density));
  --cs-space-2: calc(8px * var(--cs-density));
  --cs-space-3: calc(12px * var(--cs-density));
  --cs-space-4: calc(16px * var(--cs-density));
  --cs-space-6: calc(24px * var(--cs-density));
  --cs-space-8: calc(32px * var(--cs-density));
  /* Border radius & shadow tokens */
  --cs-radius: 10px;
  --cs-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.25), 0 1px 1px rgba(0, 0, 0, 0.1);
  --cs-shadow-2: 0 8px 24px rgba(0, 0, 0, 0.22), 0 2px 8px rgba(0, 0, 0, 0.18);
  /* Motion tokens */
  --cs-transition: 180ms cubic-bezier(0.2, 0.6, 0.2, 1);
  --cs-anim-duration-sm: 160ms;
  --cs-anim-duration-md: 280ms;
  --cs-anim-duration-lg: 420ms;
  --cs-anim-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --cs-anim-ease-in: cubic-bezier(0.32, 0, 0.67, 0);
  --cs-anim-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  /* Z-index tokens - Extended scale */
  --cs-z-0: 0; --cs-z-1: 1; --cs-z-base: 1; --cs-z-10: 10; --cs-z-20: 20;
  --cs-z-30: 30; --cs-z-popover: 30; --cs-z-40: 40; --cs-z-tooltip: 40;
  --cs-z-50: 50; --cs-z-toast: 50; --cs-z-60: 60; --cs-z-modal: 60;
  --cs-z-70: 70; --cs-z-80: 80; --cs-z-90: 90; --cs-z-100: 100;
  --cs-z-200: 200; --cs-z-300: 300; --cs-z-400: 400; --cs-z-500: 500;
  --cs-z-600: 600; --cs-z-700: 700; --cs-z-800: 800; --cs-z-900: 900;
  --cs-z-999: 999; --cs-z-high: 9999; --cs-z-9999: 9999; --cs-z-max: 2147483647;
  /* Additional semantic z-index tokens from v0.8.x */
  --cs-z-drawer: 1000; --cs-z-dropdown: 1000; --cs-z-fixed: 1030;
  --cs-z-nav: 1020; --cs-z-nav-overlay: 1010; --cs-z-orb: 5;
  --cs-z-overlay: 1040; --cs-z-sticky: 1020;
  /* Layout tokens */
  --cs-page-max: 1200px;
  --cs-page-pad: var(--cs-space-4);
  /* Backdrop/blur tokens */
  --cs-acrylic-blur: 14px;
  --cs-acrylic-tint: rgba(20, 22, 26, 0.55);
  --cs-acrylic-border: rgba(255, 255, 255, 0.06);
  /* Progressive color tokens */
  --cs-brand-oklch: oklch(60% 0.15 255);
  --cs-brand-ink: var(--cs-brand-contrast);
  /* Fluid typography tokens */
  --cs-fs-xs: clamp(0.78rem, 0.75rem + 0.2cqi, 0.84rem);
  --cs-fs-sm: clamp(0.88rem, 0.82rem + 0.3cqi, 0.95rem);
  --cs-fs-md: clamp(1rem, 0.95rem + 0.4cqi, 1.125rem);
  --cs-fs-lg: clamp(1.25rem, 1.05rem + 0.8cqi, 1.5rem);
  --cs-fs-xl: clamp(1.5rem, 1.2rem + 1.2cqi, 1.875rem);
  --cs-fs-2xl: clamp(1.875rem, 1.4rem + 1.6cqi, 2.25rem);
  /* Form tokens */
  --cs-form-bg: var(--cs-surface);
  --cs-form-border: var(--cs-border);
  --cs-form-radius: var(--cs-radius);
  --cs-form-shadow: var(--cs-shadow-1);
  --cs-form-focus: var(--cs-brand);
  /* Typography component tokens */
  --cs-prose-headings: var(--cs-text);
  --cs-prose-body: var(--cs-text-muted);
  --cs-prose-links: var(--cs-brand);
  --cs-prose-bold: var(--cs-text);
  --cs-prose-quotes: var(--cs-text-muted);
  --cs-prose-captions: var(--cs-text-muted);
  /* Gradients system tokens */
  --cs-gradient-primary: linear-gradient(135deg, var(--cs-brand), color-mix(in srgb, var(--cs-brand) 80%, var(--cs-info)));
  --cs-gradient-success: linear-gradient(135deg, var(--cs-success), color-mix(in srgb, var(--cs-success) 70%, var(--cs-info)));
  --cs-gradient-warning: linear-gradient(135deg, var(--cs-warning), color-mix(in srgb, var(--cs-warning) 80%, var(--cs-danger)));
  --cs-gradient-sunset: linear-gradient(135deg, #ff9a9e, #fecfef, #fecfef);
  --cs-gradient-ocean: linear-gradient(135deg, #667eea, #764ba2);
  --cs-gradient-forest: linear-gradient(135deg, #11998e, #38ef7d);
  /* Extended gradient color stop tokens for comprehensive utilities */
  --cs-gradient-sunset-start: #ff6b6b;
  --cs-gradient-sunset-mid: #ffd93d;
  --cs-gradient-sunset-end: #6bcf7f;
  --cs-gradient-ocean-start: #667eea;
  --cs-gradient-ocean-end: #764ba2;
  --cs-gradient-fire-start: #f093fb;
  --cs-gradient-fire-end: #f5576c;
  --cs-gradient-mint-start: #4facfe;
  --cs-gradient-mint-end: #00f2fe;
  --cs-gradient-purple-start: #a8edea;
  --cs-gradient-purple-end: #fed6e3;
  --cs-gradient-orange-start: #ffeaa7;
  --cs-gradient-orange-end: #fab1a0;
  --cs-gradient-blue-start: #74b9ff;
  --cs-gradient-blue-end: #0984e3;
  --cs-gradient-pink-start: #fd79a8;
  --cs-gradient-pink-end: #fdcb6e;
  /* Custom gradient variables (user customizable) */
  --cs-gradient-custom-start: #667eea;
  --cs-gradient-custom-mid: ;
  --cs-gradient-custom-end: #764ba2;
  --cs-gradient-white: #ffffff;
  /* Shared stops list fallback (for radial/conic) */
  --cs-gradient-stops: var(--cs-gradient-ocean-start), var(--cs-gradient-ocean-end);
  /* Gradient fade color tokens */
  --cs-gradient-fade-color: rgba(79, 124, 255, 0.6);
  --cs-gradient-fade-mid: rgba(79, 124, 255, 0.3);
  /* Animation defaults for gradient animations */
  --cs-anim-gradient-duration: 4s;
  --cs-anim-gradient-ease: var(--cs-anim-ease-in-out);
  --cs-anim-gradient-iteration: infinite;
  /* Loading system tokens */
  --cs-loading-spinner-size: 40px;
  --cs-loading-spinner-border: 4px;
  --cs-loading-duration-fast: 0.8s;
  --cs-loading-duration-normal: 1.2s;
  --cs-loading-duration-slow: 2s;
  /* Micro interactions tokens */
  --cs-hover-lift: -2px;
  --cs-hover-scale: 1.02;
  --cs-hover-glow-spread: 8px;
  --cs-tap-scale: 0.98;
  /* Scrollbar design tokens */
  --cs-scroll-thumb-gray: #6b7280;
  --cs-scroll-thumb-blue: #3b82f6;
  --cs-scroll-thumb-primary: var(--cs-brand);
  --cs-scroll-track: rgba(0, 0, 0, 0.08);
  --cs-scroll-track-light: rgba(0, 0, 0, 0.04);
  --cs-scroll-thumb-radius: 8px;
  --cs-scrollbar-size: 10px;
  --cs-scrollbar-size-thin: 6px;
  /* Scroll shadow tokens */
  --cs-scroll-shadow-color: rgba(0, 0, 0, 0.08);
  --cs-scroll-shadow-size: 12px;
  /* Scroll animation tokens */
  --cs-scroll-reveal-distance: 16px;
  --cs-scroll-reveal-scale: 0.96;
  /* Navigation design tokens */
  --cs-nav-primary: var(--cs-brand);
  --cs-nav-text: var(--cs-text);
  --cs-nav-text-muted: var(--cs-text-muted);
  --cs-nav-text-secondary: color-mix(in srgb, var(--cs-text) 75%, transparent);
  --cs-nav-text-disabled: color-mix(in srgb, var(--cs-text) 40%, transparent);
  --cs-nav-border: var(--cs-border);
  --cs-nav-border-light: color-mix(in srgb, var(--cs-border) 60%, transparent);
  --cs-nav-bg: var(--cs-surface);
  --cs-nav-bg-hover: color-mix(in srgb, var(--cs-surface) 80%, var(--cs-text) 8%);
  --cs-nav-bg-secondary: color-mix(in srgb, var(--cs-surface) 60%, var(--cs-bg));
  --cs-nav-bg-disabled: color-mix(in srgb, var(--cs-surface) 50%, transparent);
  --cs-nav-height: 64px;
  --cs-nav-transition: var(--cs-transition);
  --cs-nav-transition-fast: calc(var(--cs-transition) * 0.75);
  --cs-nav-transition-base: var(--cs-transition);
  --cs-nav-backdrop-bg: rgba(0, 0, 0, 0.5);
  --cs-nav-backdrop-blur: var(--cs-acrylic-blur);
  /* Typography base tokens */
  --cs-prose-font-size: 1rem;
  --cs-prose-line-height: 1.75;
  --cs-prose-color: color-mix(in srgb, currentColor 85%, transparent);
  --cs-prose-headings-color: color-mix(in srgb, currentColor 95%, transparent);
  --cs-prose-links-color: #3b82f6;
  --cs-prose-links-hover: color-mix(in srgb, #3b82f6 80%, transparent);
  --cs-prose-spacing: 1.5rem;
  --cs-prose-max-width: 65ch;
  /* Typography scale tokens */
  --cs-prose-xs: 0.8125rem;
  --cs-prose-sm: 0.875rem;
  --cs-prose-base: 1rem;
  --cs-prose-lg: 1.125rem;
  --cs-prose-xl: 1.25rem;
  --cs-prose-2xl: 1.5rem;
  --cs-prose-3xl: 1.875rem;
  --cs-prose-4xl: 2.25rem;
  --cs-prose-5xl: 3rem;
  /* Typography weight tokens */
  --cs-prose-weight-light: 300;
  --cs-prose-weight-normal: 400;
  --cs-prose-weight-medium: 500;
  --cs-prose-weight-semibold: 600;
  --cs-prose-weight-bold: 700;
  --cs-prose-weight-extrabold: 800;
  --cs-prose-weight-black: 900;
  /* Typography family tokens */
  --cs-prose-font-sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
  --cs-prose-font-serif: Georgia, 'Times New Roman', Times, serif;
  --cs-prose-font-mono: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
  /* Typography spacing tokens */
  --cs-prose-spacing-tight: 1.25rem;
  --cs-prose-spacing-normal: 1.5rem;
  --cs-prose-spacing-relaxed: 1.75rem;
  --cs-prose-spacing-loose: 2rem;
  /* Code styling tokens */
  --cs-prose-code-bg: color-mix(in srgb, currentColor 8%, transparent);
  --cs-prose-code-border: color-mix(in srgb, currentColor 10%, transparent);
  --cs-prose-pre-bg: color-mix(in srgb, currentColor 5%, transparent);
}
/* =========================================================
   BASE LAYER - Core accessibility and utilities
   ========================================================= */
/* Core Accessibility Utilities */
/* =========================================================
   BASE ACCESSIBILITY UTILITIES
   ========================================================= */
/* Screen reader only content */
@utility cs-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* Focus management utilities */
@utility cs-focus-ring {
  outline: none;
  &:focus-visible {
    outline: 2px solid transparent;
    outline-offset: 2px;
    box-shadow: 0 0 0 2px var(--cs-brand, #4f7cff), 0 0 0 4px color-mix(in srgb, var(--cs-brand, #4f7cff) 20%, transparent);
    transition: box-shadow var(--cs-transition);
  }
}
@utility cs-focus-ring-within {
  &:focus-within {
    box-shadow: 0 0 0 2px var(--cs-brand, #4f7cff), 0 0 0 6px color-mix(in srgb, var(--cs-brand, #4f7cff) 22%, transparent);
    border-radius: var(--cs-radius);
  }
}
/* Core Layout Utilities */
/* =========================================================
   BASE LAYOUT UTILITIES
   ========================================================= */
/* Container utilities */
@utility cs-container-fluid {
  width: 100%;
  padding-left: var(--cs-page-pad);
  padding-right: var(--cs-page-pad);
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  background-color: var(--cs-surface, #14161a);
  color: var(--cs-text, #eef1f6);
  @media (min-width: 768px) {
    padding-left: calc(var(--cs-page-pad) + var(--cs-space-2));
    padding-right: calc(var(--cs-page-pad) + var(--cs-space-2));
  }
  @media (min-width: 1200px) {
    max-width: var(--cs-page-max);
  }
}
/* Z-Index utilities - Complete scale */
@utility cs-z-0 { z-index: var(--cs-z-0); position: relative; }
@utility cs-z-1 { z-index: var(--cs-z-1); position: relative; }
@utility cs-z-base { z-index: var(--cs-z-base); position: relative; }
@utility cs-z-10 { z-index: var(--cs-z-10); position: relative; }
@utility cs-z-20 { z-index: var(--cs-z-20); position: relative; }
@utility cs-z-30 { z-index: var(--cs-z-30); position: relative; }
@utility cs-z-popover { z-index: var(--cs-z-popover); position: relative; }
@utility cs-z-40 { z-index: var(--cs-z-40); position: relative; }
@utility cs-z-tooltip { z-index: var(--cs-z-tooltip); position: relative; }
@utility cs-z-50 { z-index: var(--cs-z-50); position: relative; }
@utility cs-z-toast { z-index: var(--cs-z-toast); position: relative; }
@utility cs-z-60 { z-index: var(--cs-z-60); position: relative; }
@utility cs-z-modal { z-index: var(--cs-z-modal); position: relative; }
@utility cs-z-70 { z-index: var(--cs-z-70); position: relative; }
@utility cs-z-80 { z-index: var(--cs-z-80); position: relative; }
@utility cs-z-90 { z-index: var(--cs-z-90); position: relative; }
@utility cs-z-100 { z-index: var(--cs-z-100); position: relative; }
@utility cs-z-200 { z-index: var(--cs-z-200); position: relative; }
@utility cs-z-300 { z-index: var(--cs-z-300); position: relative; }
@utility cs-z-400 { z-index: var(--cs-z-400); position: relative; }
@utility cs-z-500 { z-index: var(--cs-z-500); position: relative; }
@utility cs-z-600 { z-index: var(--cs-z-600); position: relative; }
@utility cs-z-700 { z-index: var(--cs-z-700); position: relative; }
@utility cs-z-800 { z-index: var(--cs-z-800); position: relative; }
@utility cs-z-900 { z-index: var(--cs-z-900); position: relative; }
@utility cs-z-999 { z-index: var(--cs-z-999); position: relative; }
@utility cs-z-high { z-index: var(--cs-z-high); position: relative; }
@utility cs-z-9999 { z-index: var(--cs-z-9999); position: relative; }
@utility cs-z-max { z-index: var(--cs-z-max); position: relative; }
/* Additional semantic z-index utilities from v0.8.x */
@utility cs-z-drawer { z-index: var(--cs-z-drawer); position: relative; }
@utility cs-z-dropdown { z-index: var(--cs-z-dropdown); position: relative; }
@utility cs-z-fixed { z-index: var(--cs-z-fixed); position: fixed; }
@utility cs-z-nav { z-index: var(--cs-z-nav); position: relative; }
@utility cs-z-nav-overlay { z-index: var(--cs-z-nav-overlay); position: relative; }
@utility cs-z-orb { z-index: var(--cs-z-orb); position: relative; }
@utility cs-z-overlay { z-index: var(--cs-z-overlay); position: relative; }
@utility cs-z-sticky { z-index: var(--cs-z-sticky); position: sticky; }
/* =========================================================
   LAYOUT UTILITIES
   Page layout and spacing utilities
   ========================================================= */
@utility cs-page-max { max-width: var(--cs-page-max); }
@utility cs-page-pad { padding: var(--cs-page-pad); }
/* Shadow utilities */
@utility cs-shadow-0 { box-shadow: var(--cs-shadow-0); }
@utility cs-shadow-1 { box-shadow: var(--cs-shadow-1); }
@utility cs-shadow-2 { box-shadow: var(--cs-shadow-2); }
/* =========================================================
   COLOR SYSTEM UTILITIES
   Core color utilities from design tokens
   ========================================================= */
@utility cs-bg { background-color: var(--cs-bg); }
@utility cs-surface { background-color: var(--cs-surface); }
@utility cs-surface-2 { background-color: var(--cs-surface-2); }
@utility cs-elev1 { background-color: var(--cs-elev1); }
@utility cs-elev2 { background-color: var(--cs-elev2); }
@utility cs-text { color: var(--cs-text); }
@utility cs-text-muted { color: var(--cs-text-muted); }
@utility cs-text-inverse { color: var(--cs-text-inverse); }
@utility cs-brand { color: var(--cs-brand); }
@utility cs-brand-contrast { color: var(--cs-brand-contrast); }
@utility cs-success { color: var(--cs-success); }
@utility cs-warning { color: var(--cs-warning); }
@utility cs-danger { color: var(--cs-danger); }
@utility cs-info { color: var(--cs-info); }
@utility cs-border { border-color: var(--cs-border); }
/* =========================================================
   COMPONENT SYSTEMS - All UI components
   ========================================================= */
/* Cards System - Feature, product, pricing cards */
/* =========================================================
   CARD SYSTEM COMPONENTS
   Standard card components without glass effects
   ========================================================= */
/* Feature Card Component */
@utility cs-card-feature {
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: var(--cs-card-space-lg, 1.5rem);
  background: var(--cs-card-bg, #ffffff);
  border: 1px solid var(--cs-card-border, #e5e7eb);
  border-radius: var(--cs-card-radius, 12px);
  box-shadow: var(--cs-card-shadow, 0 1px 2px rgba(0, 0, 0, 0.05));
  padding: var(--cs-card-space-xl, 2rem);
  text-align: center;
  position: relative;
  transition: var(--cs-card-transition, all 0.2s ease);
  &:hover {
    transform: translateY(var(--cs-card-hover-lift, -2px));
    box-shadow: var(--cs-card-shadow-hover, 0 4px 6px rgba(0, 0, 0, 0.07));
  }
}
/* Product Card Component */
@utility cs-card-product {
  background: var(--cs-card-bg, #ffffff);
  border-radius: var(--cs-card-radius, 12px);
  box-shadow: var(--cs-card-shadow, 0 1px 3px rgba(0, 0, 0, 0.1));
  transition: var(--cs-card-transition, all 0.2s ease);
  overflow: hidden;
  max-width: 20rem;
  display: flex;
  flex-direction: column;
  position: relative;
  &:hover {
    transform: translateY(var(--cs-card-hover-lift, -2px));
    box-shadow: var(--cs-card-shadow-hover, 0 4px 6px rgba(0, 0, 0, 0.1));
  }
}
/* Pricing Card Component */
@utility cs-card-pricing {
  display: grid;
  grid-template-rows: auto 1fr auto;
  background: var(--cs-card-bg, #ffffff);
  border: 2px solid var(--cs-card-border, #e5e7eb);
  border-radius: var(--cs-card-radius, 12px);
  box-shadow: var(--cs-card-shadow, 0 1px 3px rgba(0, 0, 0, 0.1));
  padding: var(--cs-card-space-xl, 2rem);
  text-align: center;
  position: relative;
  transition: var(--cs-card-transition, all 0.2s ease);
  &:hover {
    transform: translateY(var(--cs-card-hover-lift, -4px));
    box-shadow: var(--cs-card-shadow-hover, 0 8px 25px rgba(0, 0, 0, 0.15));
  }
}
/* Testimonial Card Component */
@utility cs-card-testimonial {
  background: var(--cs-card-bg, #ffffff);
  border-radius: var(--cs-card-radius, 12px);
  box-shadow: var(--cs-card-shadow, 0 1px 3px rgba(0, 0, 0, 0.1));
  transition: var(--cs-card-transition, all 0.2s ease);
  overflow: hidden;
  padding: var(--cs-card-padding, 1.5rem);
  max-width: 24rem;
  text-align: center;
  position: relative;
  &:hover {
    box-shadow: var(--cs-card-shadow-hover, 0 4px 6px rgba(0, 0, 0, 0.1));
    transform: translateY(var(--cs-card-hover-lift, -2px));
  }
}
/* =========================================================
   CARD HELPER COMPONENTS
   ========================================================= */
/* Card Image */
@utility cs-card-image {
  width: 100%;
  height: 12rem;
  object-fit: cover;
  background: color-mix(in srgb, currentColor 5%, transparent);
}
/* Card Content */
@utility cs-card-content {
  padding: var(--cs-card-padding, 1.5rem);
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
/* Card Title */
@utility cs-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--cs-card-text, currentColor);
  margin: 0;
  line-height: 1.3;
}
/* Card Description */
@utility cs-card-description {
  color: var(--cs-card-text-muted, color-mix(in srgb, currentColor 70%, transparent));
  line-height: 1.6;
  margin: 0;
  flex: 1;
}
/* Card Price */
@utility cs-card-price {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--cs-success, #059669);
  margin: 0;
}
/* Card Actions */
@utility cs-card-actions {
  padding: 0 var(--cs-card-padding, 1.5rem) var(--cs-card-padding, 1.5rem);
  display: flex;
  gap: 0.75rem;
}
/* Testimonial Quote */
@utility cs-testimonial-quote {
  font-size: 1.125rem;
  line-height: 1.6;
  font-style: italic;
  color: var(--cs-card-text-muted, color-mix(in srgb, currentColor 85%, transparent));
  margin-bottom: 1.5rem;
  position: relative;
  &::before {
    content: '"';
    position: absolute;
    top: -0.5rem;
    left: -0.5rem;
    font-size: 3rem;
    color: color-mix(in srgb, currentColor 20%, transparent);
    line-height: 1;
  }
}
/* Testimonial Author */
@utility cs-testimonial-author {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 1rem;
}
/* Primary Button for Cards */
@utility cs-button-primary-card {
  background: linear-gradient(135deg, var(--cs-brand, #3b82f6), color-mix(in srgb, var(--cs-brand, #3b82f6) 80%, #000000));
  color: var(--cs-brand-ink, #ffffff);
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: calc(var(--cs-radius, 10px) / 2);
  font-weight: 600;
  cursor: pointer;
  transition: all var(--cs-transition, 200ms ease);
  flex: 1;
  &:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px color-mix(in srgb, var(--cs-brand, #3b82f6) 40%, transparent);
  }
  &:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
    box-shadow: 0 0 0 2px var(--cs-brand, #3b82f6), 0 0 0 4px color-mix(in srgb, var(--cs-brand, #3b82f6) 20%, transparent);
  }
}
/* Forms System - Input, labels, validation */
/* =========================================================
   FORMS SYSTEM COMPONENTS
   Complete form system with modern styling
   ========================================================= */
/* Form Base */
@utility cs-form-base {
  display: flex;
  flex-direction: column;
  gap: var(--cs-space-4, 1rem);
}
/* Input Base */
@utility cs-input-base {
  padding: var(--cs-space-3, 12px) var(--cs-space-4, 16px);
  border: 1px solid var(--cs-form-border, #e5e7eb);
  border-radius: var(--cs-form-radius, 8px);
  transition: var(--cs-transition, 180ms ease);
  background: var(--cs-form-bg, #ffffff);
  color: var(--cs-text, #111827);
  &:focus {
    outline: none;
    border-color: var(--cs-form-focus, #3b82f6);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--cs-form-focus, #3b82f6) 15%, transparent);
  }
}
/* Modern Form */
@utility cs-form-modern {
  display: flex;
  flex-direction: column;
  gap: var(--cs-space-4, 1rem);
  max-width: 32rem;
  margin: 0 auto;
  padding: 2rem;
  background: var(--cs-card-bg, #ffffff);
  border-radius: var(--cs-radius, 10px);
  box-shadow: var(--cs-shadow-1, 0 1px 3px rgba(0, 0, 0, 0.1));
}
/* Modern Input */
@utility cs-input-modern {
  padding: var(--cs-space-3, 12px) var(--cs-space-4, 16px);
  border: 2px solid color-mix(in srgb, currentColor 10%, transparent);
  border-radius: var(--cs-form-radius, 8px);
  transition: var(--cs-transition, 180ms ease);
  background: var(--cs-form-bg, #ffffff);
  font-size: var(--cs-fs-md, 1rem);
  line-height: var(--cs-line, 1.5);
  color: var(--cs-text, #111827);
  &:focus {
    outline: none;
    border-color: var(--cs-form-focus, #3b82f6);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--cs-form-focus, #3b82f6) 20%, transparent);
  }
  &::placeholder {
    color: var(--cs-text-muted, #6b7280);
  }
}
/* Modern Label */
@utility cs-label-modern {
  font-weight: 600;
  color: var(--cs-text, #111827);
  margin-bottom: 0.5rem;
  display: block;
  font-size: var(--cs-fs-sm, 0.875rem);
}
/* Modern Primary Button */
@utility cs-button-primary-modern {
  background: linear-gradient(135deg, var(--cs-brand, #3b82f6), color-mix(in srgb, var(--cs-brand, #3b82f6) 80%, #000000));
  color: var(--cs-brand-ink, #ffffff);
  border: none;
  padding: 0.875rem 1.5rem;
  border-radius: var(--cs-form-radius, 8px);
  font-weight: 600;
  cursor: pointer;
  transition: var(--cs-transition, 180ms ease);
  font-size: var(--cs-fs-md, 1rem);
  &:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--cs-brand, #3b82f6) 30%, transparent);
  }
  &:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
    box-shadow: 0 0 0 2px var(--cs-brand, #3b82f6), 0 0 0 4px color-mix(in srgb, var(--cs-brand, #3b82f6) 20%, transparent);
  }
}
/* Form Group */
@utility cs-form-group {
  position: relative;
  margin-bottom: var(--cs-space-4, 1rem);
}
/* =========================================================
   FORM VALIDATION SYSTEM
   ========================================================= */
/* Form Validation States */
@utility cs-input-validation {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  display: none;
  align-items: center;
  gap: 0.25rem;
}
@utility cs-validation-error {
  display: flex;
  color: var(--cs-danger, #ef4444);
}
@utility cs-validation-success {
  display: flex;
  color: var(--cs-success, #22c55e);
}
@utility cs-validation-icon {
  font-size: 1rem;
  line-height: 1;
}
@utility cs-input-error {
  border-color: var(--cs-danger, #ef4444) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cs-danger, #ef4444) 20%, transparent) !important;
}
@utility cs-input-success {
  border-color: var(--cs-success, #22c55e) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cs-success, #22c55e) 20%, transparent) !important;
}
/* =========================================================
   INPUT GROUP UTILITIES
   ========================================================= */
/* Input Group Utilities */
@utility cs-input-group {
  position: relative;
  display: flex;
  align-items: stretch;
}
@utility cs-input-addon {
  display: flex;
  align-items: center;
  padding: 0 0.75rem;
  background: color-mix(in srgb, currentColor 5%, transparent);
  border: 1px solid var(--cs-form-border, #e5e7eb);
  color: var(--cs-text-muted, #6b7280);
  font-size: 0.875rem;
}
@utility cs-input-addon-left {
  border-right: none;
  border-radius: var(--cs-form-radius, 8px) 0 0 var(--cs-form-radius, 8px);
}
@utility cs-input-addon-right {
  border-left: none;
  border-radius: 0 var(--cs-form-radius, 8px) var(--cs-form-radius, 8px) 0;
}
@utility cs-input-with-addon-left {
  border-radius: 0 var(--cs-form-radius, 8px) var(--cs-form-radius, 8px) 0;
  border-left: none;
}
@utility cs-input-with-addon-right {
  border-radius: var(--cs-form-radius, 8px) 0 0 var(--cs-form-radius, 8px);
  border-right: none;
}
/* =========================================================
   FORM LAYOUT UTILITIES
   ========================================================= */
/* Form Layout Utilities */
@utility cs-form-row {
  display: flex;
  gap: var(--cs-space-4, 1rem);
  align-items: flex-start;
}
@utility cs-form-col {
  flex: 1;
  min-width: 0;
}
/* =========================================================
   FORM TOKEN UTILITIES
   Direct form token utilities from design system
   ========================================================= */
@utility cs-form-bg { background-color: var(--cs-form-bg); }
@utility cs-form-border { border-color: var(--cs-form-border); }
@utility cs-form-radius { border-radius: var(--cs-form-radius); }
@utility cs-form-shadow { box-shadow: var(--cs-form-shadow); }
@utility cs-form-focus { border-color: var(--cs-form-focus); }
/* =========================================================
   INTEGRATED SYSTEMS - Complex feature systems
   ========================================================= */
/* Typography System - Prose, callouts, lead text */
/* =========================================================
   TYPOGRAPHY SYSTEM
   ========================================================= */
/* Prose typography system */
.cs-prose {
  color: var(--cs-prose-body);
  max-width: 65ch;
  line-height: 1.75;
  font-size: var(--cs-fs-md);
}
.cs-prose h1,
.cs-prose h2,
.cs-prose h3,
.cs-prose h4,
.cs-prose h5,
.cs-prose h6 {
  color: var(--cs-prose-headings);
  font-weight: 700;
  line-height: 1.25;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}
.cs-prose h1 { font-size: var(--cs-fs-2xl); }
.cs-prose h2 { font-size: var(--cs-fs-xl); }
.cs-prose h3 { font-size: var(--cs-fs-lg); }
.cs-prose p {
  margin-bottom: 1.25rem;
  line-height: 1.7;
}
.cs-prose a {
  color: var(--cs-prose-links);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.cs-prose a:hover {
  text-decoration: none;
}
.cs-prose strong {
  color: var(--cs-prose-bold);
  font-weight: 600;
}
.cs-prose ul,
.cs-prose ol {
  margin-left: 1.5rem;
  margin-bottom: 1.25rem;
}
.cs-prose li {
  margin-bottom: 0.5rem;
}
.cs-prose blockquote {
  border-left: 4px solid var(--cs-border);
  padding-left: 1.5rem;
  margin: 1.5rem 0;
  font-style: italic;
  color: var(--cs-prose-quotes);
}
.cs-prose code {
  background: color-mix(in srgb, currentColor 8%, transparent);
  padding: 0.25rem 0.375rem;
  border-radius: 0.25rem;
  font-size: 0.875em;
  font-family: var(--cs-font-mono);
}
.cs-prose pre {
  background: var(--cs-elev1);
  padding: 1.25rem;
  border-radius: var(--cs-radius);
  overflow-x: auto;
  margin: 1.5rem 0;
}
.cs-prose pre code {
  background: none;
  padding: 0;
}
.cs-callout {
  padding: var(--cs-space-4) var(--cs-space-6);
  border-radius: var(--cs-radius);
  border-left: 4px solid var(--cs-info);
  background: color-mix(in srgb, var(--cs-info) 5%, var(--cs-surface));
  color: var(--cs-text);
  margin: 1.5rem 0;
}
.cs-callout.cs-callout-info {
  border-left-color: var(--cs-info);
  background: color-mix(in srgb, var(--cs-info) 5%, var(--cs-surface));
}
.cs-callout.cs-callout-warning {
  border-left-color: var(--cs-warning);
  background: color-mix(in srgb, var(--cs-warning) 5%, var(--cs-surface));
}
.cs-callout.cs-callout-danger {
  border-left-color: var(--cs-danger);
  background: color-mix(in srgb, var(--cs-danger) 5%, var(--cs-surface));
}
.cs-callout.cs-callout-success {
  border-left-color: var(--cs-success);
  background: color-mix(in srgb, var(--cs-success) 5%, var(--cs-surface));
}
.cs-lead {
  font-size: var(--cs-fs-lg);
  line-height: 1.6;
  color: var(--cs-text-muted);
}
/* =========================================================
   FLUID TYPOGRAPHY UTILITIES
   Responsive typography using CSS clamp()
   ========================================================= */
@utility cs-fs-xs { font-size: var(--cs-fs-xs); }
@utility cs-fs-sm { font-size: var(--cs-fs-sm); }
@utility cs-fs-md { font-size: var(--cs-fs-md); }
@utility cs-fs-lg { font-size: var(--cs-fs-lg); }
@utility cs-fs-xl { font-size: var(--cs-fs-xl); }
@utility cs-fs-2xl { font-size: var(--cs-fs-2xl); }
/* Line Height utilities */
@utility cs-leading-relaxed { line-height: var(--cs-leading-relaxed); }
@utility cs-leading-loose { line-height: var(--cs-leading-loose); }
/* Text Balance utility */
@utility cs-text-balance { text-wrap: var(--cs-text-balance); }
/* Navigation System - Navbar, links, brand */
/* =========================================================
   NAVIGATION SYSTEM
   ========================================================= */
@utility cs-navbar {
  position: relative;
  z-index: var(--cs-z-40, 40);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background-color: var(--cs-surface, #ffffff);
  border-bottom: 1px solid var(--cs-border, #e5e7eb);
  transition: var(--cs-transition, 180ms ease);
}
@utility cs-navbar-brand {
  display: inline-block;
  padding: 0.3125rem 0;
  margin-right: 1rem;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  text-decoration: none;
  color: var(--cs-text, #111827);
  &:hover {
    text-decoration: none;
  }
}
@utility cs-navbar-nav {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@utility cs-navbar-link {
  display: inline-block;
  padding: 0.75rem 1rem;
  color: var(--cs-text-muted, #6b7280);
  text-decoration: none;
  font-weight: 500;
  border-radius: 0.375rem;
  transition: var(--cs-transition, 180ms ease);
  &:hover {
    color: var(--cs-text);
    background-color: color-mix(in srgb, currentColor 8%, transparent);
    text-decoration: none;
  }
  &.active {
    color: var(--cs-brand);
    background-color: color-mix(in srgb, var(--cs-brand) 10%, transparent);
  }
}
/* Gradient System - CASOON signature gradients */
/* =========================================================
   COMPREHENSIVE GRADIENT SYSTEM - Complete Collection
   ========================================================= */
/* =========================================================
   Core Gradient Background Utilities
   ========================================================= */
@utility cs-gradient-sunset {
  background: linear-gradient(135deg,
    var(--cs-gradient-sunset-start),
    var(--cs-gradient-sunset-mid, var(--cs-gradient-sunset-end)),
    var(--cs-gradient-sunset-end)
  );
}
@utility cs-gradient-ocean {
  background: linear-gradient(135deg,
    var(--cs-gradient-ocean-start),
    var(--cs-gradient-ocean-end)
  );
}
@utility cs-gradient-fire {
  background: linear-gradient(135deg,
    var(--cs-gradient-fire-start),
    var(--cs-gradient-fire-end)
  );
}
@utility cs-gradient-mint {
  background: linear-gradient(135deg,
    var(--cs-gradient-mint-start),
    var(--cs-gradient-mint-end)
  );
}
@utility cs-gradient-purple {
  background: linear-gradient(135deg,
    var(--cs-gradient-purple-start),
    var(--cs-gradient-purple-end)
  );
}
@utility cs-gradient-orange {
  background: linear-gradient(135deg,
    var(--cs-gradient-orange-start),
    var(--cs-gradient-orange-end)
  );
}
@utility cs-gradient-blue {
  background: linear-gradient(135deg,
    var(--cs-gradient-blue-start),
    var(--cs-gradient-blue-end)
  );
}
@utility cs-gradient-pink {
  background: linear-gradient(135deg,
    var(--cs-gradient-pink-start),
    var(--cs-gradient-pink-end)
  );
}
/* Custom gradient variants - 2-stop and 3-stop */
@utility cs-gradient-custom-2 {
  background: linear-gradient(135deg,
    var(--cs-gradient-custom-start),
    var(--cs-gradient-custom-end)
  );
}
@utility cs-gradient-custom {
  background: linear-gradient(135deg,
    var(--cs-gradient-custom-start),
    var(--cs-gradient-custom-mid, var(--cs-gradient-custom-end)),
    var(--cs-gradient-custom-end)
  );
}
@utility cs-gradient-custom-3 {
  background: linear-gradient(135deg,
    var(--cs-gradient-custom-start),
    var(--cs-gradient-custom-mid, var(--cs-gradient-custom-end)),
    var(--cs-gradient-custom-end)
  );
}
/* =========================================================
   Directional Fade Gradients
   ========================================================= */
/* Basic directional fades */
@utility cs-gradient-fade-r {
  background: linear-gradient(to right, 
    var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
    var(--cs-gradient-fade-mid, rgba(79, 124, 255, 0.3)) 50%,
    transparent 100%
  );
}
@utility cs-gradient-fade-l {
  background: linear-gradient(to left, 
    var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
    var(--cs-gradient-fade-mid, rgba(79, 124, 255, 0.3)) 50%,
    transparent 100%
  );
}
@utility cs-gradient-fade-b {
  background: linear-gradient(to bottom, 
    var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
    var(--cs-gradient-fade-mid, rgba(79, 124, 255, 0.3)) 50%,
    transparent 100%
  );
}
@utility cs-gradient-fade-t {
  background: linear-gradient(to top, 
    var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
    var(--cs-gradient-fade-mid, rgba(79, 124, 255, 0.3)) 50%,
    transparent 100%
  );
}
/* Diagonal fade variants */
@utility cs-gradient-fade-br {
  background: linear-gradient(to bottom right, 
    var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
    transparent 100%
  );
}
@utility cs-gradient-fade-bl {
  background: linear-gradient(to bottom left, 
    var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
    transparent 100%
  );
}
@utility cs-gradient-fade-tr {
  background: linear-gradient(to top right, 
    var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
    transparent 100%
  );
}
@utility cs-gradient-fade-tl {
  background: linear-gradient(to top left, 
    var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
    transparent 100%
  );
}
/* Intensity variants for fade gradients */
@utility cs-gradient-fade-subtle {
  --cs-gradient-fade-color: rgba(79, 124, 255, 0.3);
  --cs-gradient-fade-mid: rgba(79, 124, 255, 0.1);
}
@utility cs-gradient-fade-medium {
  --cs-gradient-fade-color: rgba(79, 124, 255, 0.6);
  --cs-gradient-fade-mid: rgba(79, 124, 255, 0.3);
}
@utility cs-gradient-fade-strong {
  --cs-gradient-fade-color: rgba(79, 124, 255, 0.8);
  --cs-gradient-fade-mid: rgba(79, 124, 255, 0.5);
}
/* Smooth fade with color-mix support */
@utility cs-gradient-fade-smooth {
  background: linear-gradient(135deg, 
    var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
    transparent 100%
  );
  @supports (background: color-mix(in srgb, red 50%, transparent)) {
    background: linear-gradient(135deg, 
      var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
      color-mix(in srgb, var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 30%, transparent) 60%,
      transparent 100%
    );
  }
}
/* =========================================================
   Radial Gradient Utilities
   ========================================================= */
@utility cs-gradient-radial-fade {
  background: radial-gradient(circle at center, 
    var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
    var(--cs-gradient-fade-mid, rgba(79, 124, 255, 0.2)) 40%,
    transparent 70%
  );
}
@utility cs-gradient-radial-fade-tl {
  background: radial-gradient(circle at top left, 
    var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
    transparent 60%
  );
}
@utility cs-gradient-radial-fade-tr {
  background: radial-gradient(circle at top right, 
    var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
    transparent 60%
  );
}
@utility cs-gradient-radial-fade-bl {
  background: radial-gradient(circle at bottom left, 
    var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
    transparent 60%
  );
}
@utility cs-gradient-radial-fade-br {
  background: radial-gradient(circle at bottom right, 
    var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
    transparent 60%
  );
}
@utility cs-gradient-radial-center {
  background: radial-gradient(circle at center, var(--cs-gradient-stops));
}
@utility cs-gradient-radial-top {
  background: radial-gradient(circle at top, var(--cs-gradient-stops));
}
@utility cs-gradient-radial-bottom {
  background: radial-gradient(circle at bottom, var(--cs-gradient-stops));
}
/* =========================================================
   Conic Gradient Utilities
   ========================================================= */
@utility cs-gradient-conic {
  background: conic-gradient(var(--cs-gradient-stops));
}
@utility cs-gradient-conic-center {
  background: conic-gradient(from 0deg at 50% 50%, var(--cs-gradient-stops));
}
/* =========================================================
   Mesh Gradient (Multi-layer System)
   ========================================================= */
@utility cs-gradient-mesh {
  background: 
    radial-gradient(at 27% 37%, color-mix(in srgb, var(--cs-brand) 50%, transparent) 0px, transparent 50%),
    radial-gradient(at 97% 21%, color-mix(in srgb, var(--cs-info) 50%, transparent) 0px, transparent 50%),
    radial-gradient(at 52% 99%, color-mix(in srgb, var(--cs-success) 50%, transparent) 0px, transparent 50%),
    radial-gradient(at 10% 29%, color-mix(in srgb, var(--cs-warning) 50%, transparent) 0px, transparent 50%),
    radial-gradient(at 97% 96%, color-mix(in srgb, var(--cs-danger) 50%, transparent) 0px, transparent 50%),
    radial-gradient(at 33% 50%, color-mix(in srgb, var(--cs-brand) 50%, transparent) 0px, transparent 50%),
    radial-gradient(at 79% 53%, color-mix(in srgb, var(--cs-info) 50%, transparent) 0px, transparent 50%);
}
/* =========================================================
   CASOON SIGNATURE GRADIENT PRESETS
   ========================================================= */
/* CASOON Original - Your signature gradient */
@utility cs-bg-casoon-original {
  background: 
    radial-gradient(circle at 20% 80%, #1e40af 0%, transparent 50%), 
    radial-gradient(circle at 80% 20%, #0891b2 0%, transparent 50%), 
    radial-gradient(circle at 40% 40%, #f97316 0%, transparent 50%), 
    linear-gradient(135deg, #0f172a, #1e293b);
}
/* CASOON Theme Variations */
@utility cs-bg-casoon-warm {
  background: 
    radial-gradient(circle at 25% 75%, #dc2626 0%, transparent 55%), 
    radial-gradient(circle at 75% 25%, #f59e0b 0%, transparent 45%), 
    radial-gradient(circle at 50% 50%, #ea580c 0%, transparent 60%), 
    linear-gradient(135deg, #1f2937, #374151);
}
@utility cs-bg-casoon-cool {
  background: 
    radial-gradient(circle at 30% 70%, #3b82f6 0%, transparent 50%), 
    radial-gradient(circle at 70% 30%, #06b6d4 0%, transparent 55%), 
    radial-gradient(circle at 45% 45%, #8b5cf6 0%, transparent 45%), 
    linear-gradient(135deg, #111827, #1f2937);
}
@utility cs-bg-casoon-forest {
  background: 
    radial-gradient(circle at 15% 85%, #059669 0%, transparent 50%), 
    radial-gradient(circle at 85% 15%, #10b981 0%, transparent 60%), 
    radial-gradient(circle at 55% 35%, #065f46 0%, transparent 40%), 
    linear-gradient(135deg, #064e3b, #134e4a);
}
/* CASOON Utility Variants */
@utility cs-bg-casoon-animated {
  background: 
    radial-gradient(circle at 20% 80%, #1e40af 0%, transparent 50%), 
    radial-gradient(circle at 80% 20%, #0891b2 0%, transparent 50%), 
    radial-gradient(circle at 40% 40%, #f97316 0%, transparent 50%), 
    linear-gradient(135deg, #0f172a, #1e293b);
  background-size: 400% 400%;
  animation: cs-gradient-shift 8s ease-in-out infinite;
}
@utility cs-bg-casoon-subtle {
  background: 
    radial-gradient(circle at 20% 80%, #1e40af 0%, transparent 50%), 
    radial-gradient(circle at 80% 20%, #0891b2 0%, transparent 50%), 
    radial-gradient(circle at 40% 40%, #f97316 0%, transparent 50%), 
    linear-gradient(135deg, #0f172a, #1e293b);
  filter: brightness(0.8) saturate(0.7) opacity(0.9);
}
@utility cs-bg-casoon-intense {
  background: 
    radial-gradient(circle at 20% 80%, #1e40af 0%, transparent 50%), 
    radial-gradient(circle at 80% 20%, #0891b2 0%, transparent 50%), 
    radial-gradient(circle at 40% 40%, #f97316 0%, transparent 50%), 
    linear-gradient(135deg, #0f172a, #1e293b);
  filter: brightness(1.2) saturate(1.3) contrast(1.1);
}
/* =========================================================
   ADDITIONAL SIGNATURE PRESETS
   ========================================================= */
@utility cs-bg-nebula-purple {
  background: 
    radial-gradient(circle at 20% 20%, #8b5cf6 0%, transparent 70%), 
    radial-gradient(circle at 80% 80%, #ec4899 0%, transparent 60%), 
    radial-gradient(circle at 40% 60%, #3b82f6 0%, transparent 80%), 
    linear-gradient(135deg, #0c0a1d, #1e1b3b);
}
@utility cs-bg-deep-ocean {
  background: 
    radial-gradient(circle at 25% 25%, #1e40af 0%, transparent 65%), 
    radial-gradient(circle at 75% 75%, #0891b2 0%, transparent 55%), 
    radial-gradient(circle at 50% 80%, #0e7490 0%, transparent 70%), 
    linear-gradient(135deg, #0c1e3d, #164e63);
}
@utility cs-bg-corporate-blue {
  background: 
    radial-gradient(circle at 30% 30%, #1e40af 0%, transparent 70%), 
    radial-gradient(circle at 70% 70%, #3b82f6 0%, transparent 60%), 
    radial-gradient(circle at 50% 50%, #1d4ed8 0%, transparent 80%), 
    linear-gradient(135deg, #1e3a8a, #1e40af);
}
/* =========================================================
   GRADIENT TEXT UTILITIES
   ========================================================= */
@utility cs-gradient-text {
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
@utility cs-gradient-text-sunset {
  background: linear-gradient(135deg,
    var(--cs-gradient-sunset-start),
    var(--cs-gradient-sunset-mid, var(--cs-gradient-sunset-end)),
    var(--cs-gradient-sunset-end)
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
@utility cs-gradient-text-ocean {
  background: linear-gradient(135deg,
    var(--cs-gradient-ocean-start),
    var(--cs-gradient-ocean-end)
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
@utility cs-gradient-text-fire {
  background: linear-gradient(135deg,
    var(--cs-gradient-fire-start),
    var(--cs-gradient-fire-end)
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
@utility cs-gradient-text-custom-2 {
  background: linear-gradient(135deg,
    var(--cs-gradient-custom-start),
    var(--cs-gradient-custom-end)
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
@utility cs-gradient-text-custom {
  background: linear-gradient(135deg,
    var(--cs-gradient-custom-start),
    var(--cs-gradient-custom-mid, var(--cs-gradient-custom-end)),
    var(--cs-gradient-custom-end)
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
@utility cs-gradient-text-custom-3 {
  background: linear-gradient(135deg,
    var(--cs-gradient-custom-start),
    var(--cs-gradient-custom-mid, var(--cs-gradient-custom-end)),
    var(--cs-gradient-custom-end)
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
/* =========================================================
   GRADIENT ANIMATION UTILITIES
   ========================================================= */
@utility cs-gradient-animate {
  background-size: 400% 400%;
  animation: cs-gradient-shift var(--cs-anim-gradient-duration) var(--cs-anim-gradient-ease) var(--cs-anim-gradient-iteration);
}
@utility cs-gradient-shift-x {
  background-size: 200% 100%;
  animation: cs-gradient-shift-x 3s linear infinite;
}
@utility cs-gradient-shift-y {
  background-size: 100% 200%;
  animation: cs-gradient-shift-y 3s linear infinite;
}
@utility cs-gradient-rotate {
  background-size: 200% 200%;
  animation: cs-gradient-rotate 8s linear infinite;
}
@utility cs-gradient-pulse {
  animation: cs-gradient-pulse 2s ease-in-out infinite;
  transform-origin: center;
}
@utility cs-gradient-pulse-slow {
  animation: cs-gradient-pulse-slow 4s ease-in-out infinite;
}
@utility cs-gradient-breathe {
  animation: cs-gradient-breathe 3s ease-in-out infinite;
  transform-origin: center;
}
@utility cs-gradient-wave {
  background-size: 300% 300%, 300% 300%;
  animation: cs-gradient-wave 6s ease-in-out infinite;
}
@utility cs-gradient-shimmer {
  background-size: 200% 100%;
  animation: cs-gradient-shimmer 2s linear infinite;
}
/* Speed and direction variants */
@utility cs-gradient-animate-slow {
  animation-duration: 8s;
}
@utility cs-gradient-animate-fast {
  animation-duration: 1.5s;
}
@utility cs-gradient-animate-reverse {
  animation-direction: reverse;
}
@utility cs-gradient-animate-alternate {
  animation-direction: alternate;
}
@utility cs-gradient-animate-hover-pause {
  &:hover {
    animation-play-state: paused;
  }
}
/* =========================================================
   ADVANCED GRADIENT EFFECTS
   ========================================================= */
@utility cs-gradient-shine {
  background: linear-gradient(90deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.05) 100%);
  background-size: 200% 100%;
  animation: cs-gradient-shine 3s linear infinite;
}
@utility cs-hover-ripple {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  &::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(255,255,255,0.4) 10%, transparent 80%);
    transform: translate(-50%, -50%) scale(0);
    opacity: 0;
    pointer-events: none;
    border-radius: 9999px;
    animation: none;
    z-index: 1;
  }
  &:active::after {
    animation: cs-hover-ripple 0.6s ease-out;
  }
}
@utility cs-gradient-ambient-rotate {
  background: conic-gradient(from 0deg, var(--cs-gradient-stops));
  animation: cs-ambient-rotate 20s linear infinite;
}
@utility cs-gradient-zoom-fade {
  animation: cs-gradient-zoom-fade 800ms var(--cs-anim-ease-in-out) both;
}
/* =========================================================
   GRADIENT BORDER COMPONENT
   ========================================================= */
@utility cs-gradient-border {
  position: relative;
  border-radius: 0.5rem;
  background: linear-gradient(135deg,
    var(--cs-gradient-ocean-start),
    var(--cs-gradient-ocean-end)
  );
  &::before {
    content: "";
    position: absolute;
    inset: 1px;
    background: var(--cs-gradient-white);
    border-radius: calc(0.5rem - 1px);
    z-index: 0;
  }
  & > * {
    position: relative;
    z-index: 1;
  }
}
/* =========================================================
   ANIMATION KEYFRAMES
   ========================================================= */
@keyframes cs-gradient-shift {
  0%, 100% { 
    background-position: 0% 50%; 
  }
  50% { 
    background-position: 100% 50%; 
  }
}
@keyframes cs-gradient-shift-x {
  0% { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}
@keyframes cs-gradient-shift-y {
  0% { background-position: 50% 0%; }
  100% { background-position: 50% 100%; }
}
@keyframes cs-gradient-rotate {
  0% { background-position: 0% 0%; }
  25% { background-position: 100% 0%; }
  50% { background-position: 100% 100%; }
  75% { background-position: 0% 100%; }
  100% { background-position: 0% 0%; }
}
@keyframes cs-gradient-pulse {
  0%, 100% { opacity: 0.6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
}
@keyframes cs-gradient-pulse-slow {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 0.9; }
}
@keyframes cs-gradient-breathe {
  0%, 100% { 
    filter: brightness(0.8) saturate(1.2);
    transform: scale(1);
  }
  50% { 
    filter: brightness(1.2) saturate(1.8);
    transform: scale(1.02);
  }
}
@keyframes cs-gradient-wave {
  0% { background-position: 0% 50%, 100% 50%; }
  25% { background-position: 50% 0%, 50% 100%; }
  50% { background-position: 100% 50%, 0% 50%; }
  75% { background-position: 50% 100%, 50% 0%; }
  100% { background-position: 0% 50%, 100% 50%; }
}
@keyframes cs-gradient-shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
@keyframes cs-gradient-shine {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
@keyframes cs-hover-ripple {
  0% { transform: translate(-50%, -50%) scale(0); opacity: 0.8; }
  100% { transform: translate(-50%, -50%) scale(2); opacity: 0; }
}
@keyframes cs-ambient-rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes cs-gradient-zoom-fade {
  0% { opacity: 0; transform: scale(1.05); }
  100% { opacity: 1; transform: scale(1); }
}
/* =========================================================
   ACCESSIBILITY & PERFORMANCE
   ========================================================= */
/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .cs-bg-casoon-animated,
  .cs-gradient-animate,
  .cs-gradient-shift-x,
  .cs-gradient-shift-y,
  .cs-gradient-rotate,
  .cs-gradient-pulse,
  .cs-gradient-pulse-slow,
  .cs-gradient-breathe,
  .cs-gradient-wave,
  .cs-gradient-shimmer,
  .cs-gradient-shine,
  .cs-gradient-ambient-rotate,
  .cs-gradient-zoom-fade {
    animation: none !important;
    background-size: 100% 100% !important;
  }
  .cs-hover-ripple::after {
    animation: none !important;
  }
}
/* High contrast mode support */
@media (prefers-contrast: high) {
  .cs-bg-casoon-original,
  .cs-bg-casoon-warm,
  .cs-bg-casoon-cool,
  .cs-bg-casoon-forest,
  .cs-bg-casoon-animated,
  .cs-bg-casoon-subtle,
  .cs-bg-casoon-intense {
    filter: contrast(1.5) brightness(1.2) !important;
  }
}
/* High-contrast/forced colors mode for gradient border */
@media (prefers-contrast: more) {
  .cs-gradient-border::before {
    outline: 1px solid currentColor;
    outline-offset: -1px;
  }
}
@media (forced-colors: active) {
  .cs-gradient-border {
    forced-color-adjust: none;
    background: CanvasText;
  }
  .cs-gradient-border::before {
    background: Canvas;
    border: 1px solid CanvasText;
  }
}
/* Performance optimizations for mobile */
@media (max-width: 480px) {
  .cs-gradient-animate {
    animation-duration: calc(var(--cs-anim-gradient-duration) * 1.25);
  }
}
/* TEMPORARY: Remaining systems inline until extracted */
/* SCROLL SYSTEM */
@utility cs-scrollbar-thin {
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, currentColor 20%, transparent) transparent;
  &::-webkit-scrollbar {
    width: 8px;
    height: 8px;
  }
  &::-webkit-scrollbar-track {
    background: transparent;
  }
  &::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, currentColor 20%, transparent);
    border-radius: 4px;
    &:hover {
      background: color-mix(in srgb, currentColor 35%, transparent);
    }
  }
  &::-webkit-scrollbar-corner {
    background: transparent;
  }
}
@utility cs-scrollbar-custom {
  scrollbar-width: auto;
  scrollbar-color: var(--cs-brand) color-mix(in srgb, var(--cs-brand) 10%, transparent);
  &::-webkit-scrollbar {
    width: 12px;
    height: 12px;
  }
  &::-webkit-scrollbar-track {
    background: color-mix(in srgb, var(--cs-brand) 5%, transparent);
    border-radius: 6px;
  }
  &::-webkit-scrollbar-thumb {
    background: var(--cs-brand);
    border-radius: 6px;
    border: 2px solid color-mix(in srgb, var(--cs-brand) 5%, transparent);
    &:hover {
      background: color-mix(in srgb, var(--cs-brand) 85%, #000);
    }
  }
}
@utility cs-scroll-snap-x {
  scroll-snap-type: x mandatory;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}
@utility cs-scroll-snap-y {
  scroll-snap-type: y mandatory;
  overflow-y: auto;
  overscroll-behavior-y: contain;
}
@utility cs-snap-start { scroll-snap-align: start; }
@utility cs-snap-center { scroll-snap-align: center; }
@utility cs-snap-end { scroll-snap-align: end; }
@utility cs-scroll-smooth { scroll-behavior: smooth; }
/* LOADING SYSTEM */
@utility cs-spinner {
  width: 1.5rem;
  height: 1.5rem;
  border: 2px solid color-mix(in srgb, currentColor 20%, transparent);
  border-radius: 50%;
  border-top-color: currentColor;
  animation: cs-spin 0.8s linear infinite;
}
@utility cs-spinner-lg {
  width: 2rem;
  height: 2rem;
  border-width: 3px;
}
@utility cs-spinner-sm {
  width: 1rem;
  height: 1rem;
  border-width: 2px;
}
@keyframes cs-spin {
  to { transform: rotate(360deg); }
}
@utility cs-pulse {
  animation: cs-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes cs-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
@utility cs-skeleton {
  background: linear-gradient(90deg, 
    color-mix(in srgb, currentColor 10%, transparent) 0%,
    color-mix(in srgb, currentColor 18%, transparent) 50%,
    color-mix(in srgb, currentColor 10%, transparent) 100%
  );
  background-size: 200% 100%;
  animation: cs-skeleton 1.5s ease-in-out infinite;
  border-radius: 0.375rem;
}
@keyframes cs-skeleton {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
/* MICRO INTERACTIONS */
@utility cs-hover-lift {
  transition: transform var(--cs-transition);
  &:hover {
    transform: translateY(-2px);
  }
}
@utility cs-hover-scale {
  transition: transform var(--cs-transition);
  &:hover {
    transform: scale(1.02);
  }
}
@utility cs-hover-glow {
  transition: box-shadow var(--cs-transition);
  &:hover {
    box-shadow: 0 8px 25px color-mix(in srgb, var(--cs-brand) 25%, transparent);
  }
}
@utility cs-interactive {
  transition: all var(--cs-transition);
  cursor: pointer;
  &:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px color-mix(in srgb, currentColor 15%, transparent);
  }
  &:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px color-mix(in srgb, currentColor 20%, transparent);
  }
}
/* =========================================================
   RESPONSIVE & ACCESSIBILITY
   ========================================================= */
/* Print Optimizations */
@media print {
  .cs-prose {
    color: black !important;
  }
  .cs-navbar {
    display: none !important;
  }
  .cs-card {
    box-shadow: none !important;
    border: 1px solid #ccc !important;
  }
}
/* Reduced Motion Preferences */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}