/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */
/*! 
 * @casoon/tailwindcss-effects v0.9.0 - Core Version
 * Essential utilities + animations only (no glass, no orbs)
 */
/*!
 * 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";
 */
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --spacing: 0.25rem;
    --radius-xl: 0.75rem;
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --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-brand-ink: var(--cs-brand-contrast);
    --cs-success: #22c55e;
    --cs-warning: #f59e0b;
    --cs-danger: #ef4444;
    --cs-info: #06b6d4;
    --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-line: 1.5;
    --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);
    --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-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(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-transition: 180ms cubic-bezier(0.2, 0.6, 0.2, 1);
    --cs-anim-duration-sm: 200ms;
    --cs-anim-duration-md: 300ms;
    --cs-anim-duration-lg: 500ms;
    --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-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;
    --cs-page-max: 1200px;
    --cs-page-pad: var(--cs-space-4);
    --cs-acrylic-blur: 14px;
    --cs-acrylic-tint: rgba(255, 255, 255, 0.65);
    --cs-acrylic-border: rgba(0, 0, 0, 0.06);
    --cs-anim-ease-standard: cubic-bezier(0.2, 0, 0, 1);
    --cs-anim-ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    --cs-anim-ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .cs-progress {
    width: 100%;
    height: 8px;
    background: var(--cs-border);
    border-radius: var(--cs-radius);
    overflow: hidden;
    position: relative;
  }
  .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);
    }
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .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;
    min-width: 44px;
  }
  .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;
  }
  .cs-progress-bar {
    height: 100%;
    background: var(--cs-brand);
    border-radius: inherit;
    transition: width var(--cs-transition);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .cs-btn-lg {
    padding: var(--cs-space-3) var(--cs-space-6);
    font-size: var(--cs-fs-lg);
    min-height: 52px;
    min-width: 52px;
  }
  .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);
  }
  .cs-spinner {
    animation: cs-rotate 1s linear infinite;
    will-change: transform;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .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;
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .cs-btn-primary {
    background: var(--cs-brand);
    color: var(--cs-brand-contrast);
    &:hover {
      background: color-mix(in srgb, #375dfb 85%, black);
      @supports (color: color-mix(in lab, red, red)) {
        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, #375dfb 25%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        box-shadow: 0 0 0 2px var(--cs-brand), 0 0 0 4px color-mix(in srgb, var(--cs-brand) 25%, transparent);
      }
    }
  }
  .cs-badge-success {
    background: var(--cs-success, #22c55e);
    color: white;
  }
  .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, #375dfb 20%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        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);
    }
  }
  .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;
    }
  }
  .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);
  }
  .cs-anim-lg {
    --cs-anim-duration: var(--cs-anim-duration-lg);
  }
  .cs-delay-300 {
    --cs-anim-delay: 300ms;
  }
  .cs-ease-bounce {
    --cs-anim-ease: var(--cs-anim-ease-bounce);
  }
  .cs-ease-spring {
    --cs-anim-ease: var(--cs-anim-ease-spring);
  }
  .cs-fade-in {
    animation-name: csFadeIn;
  }
  .cs-preserve-3d {
    transform-style: preserve-3d;
  }
  .cs-reveal-3d-up {
    animation-name: csReveal3DUp;
  }
  .cs-scale-in {
    animation-name: csScaleIn;
  }
  .cs-slide-up {
    animation-name: csSlideUp;
  }
}
.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;
}
@keyframes cs-shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
@keyframes cs-rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes cs-progress-slide {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
@keyframes csPulse {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.05);
    opacity: 0.75;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes csFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes csShimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
@keyframes csSpin {
  to {
    transform: rotate(360deg);
  }
}
@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;
  }
}
@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);
  }
}
@supports not (backdrop-filter: blur(1px)) {
  .cs-acrylic {
    background: color-mix(in srgb, rgba(255, 255, 255, 0.65) 80%, #ffffff);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--cs-acrylic-tint) 80%, var(--cs-elev1));
    }
  }
}
@supports (color: oklch(60% 0.2 250)) {
  .cs-theme {
    --cs-brand-oklch: oklch(from var(--cs-brand) l c h);
  }
}
@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);
  }
}
/*!
 * 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";
 */
@layer theme, base, components, utilities;
@layer theme;
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities;
@keyframes csFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes csFadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes csScaleIn {
  0% {
    opacity: 0;
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes csScaleOut {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(0.9);
  }
}
@keyframes csSlideUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes csSlideDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes csSlideLeft {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes csSlideRight {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes csBlurIn {
  0% {
    opacity: 0;
    filter: blur(4px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
  }
}
@keyframes csBlurOut {
  0% {
    opacity: 1;
    filter: blur(0);
  }
  100% {
    opacity: 0;
    filter: blur(4px);
  }
}
@keyframes csRotateIn {
  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);
  }
}
@keyframes csRotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes csPulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
@keyframes csBounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-25%);
  }
}
@keyframes csWiggle {
  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);
  }
}
@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);
  }
}
@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);
  }
}
@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;
  }
}
@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);
  }
}
@keyframes csScrollReveal {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes csScrollScale {
  0% {
    transform: scale(0.8);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes csParallaxScroll {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-50px);
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .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;
  }
  .cs-fade-in, .cs-scale-in, .cs-slide-up, .cs-slide-down, .cs-slide-left, .cs-slide-right {
    animation-duration: 0.01ms !important;
  }
  .cs-3d-hover, .cs-flip-3d-x, .cs-flip-3d-y {
    transform: none !important;
  }
}
@media (prefers-contrast: high) {
  .cs-skeleton-shimmer {
    background: repeating-linear-gradient( 90deg, transparent 0%, currentColor 50%, transparent 100% );
  }
}
@media print {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}
@media (hover: none) and (pointer: coarse) {
  .cs-btn-press {
    animation-duration: 50ms;
  }
  .cs-btn-ripple::after {
    animation-duration: 300ms;
  }
  .cs-wiggle, .cs-shake {
    animation-duration: 150ms;
  }
}
