/**
 * Ocean Theme Variant - Token-Based Version
 * 
 * Standalone theme variant that can be loaded independently.
 * Uses [data-theme="ocean"] scope for activation.
 * CDN-compatible and opt-in via import or JS.
 * 
 * @layer themes.variants
 */

@layer themes.variants {
  [data-theme="ocean"] {
    /* Primary Colors - Ocean cyan/teal theme */
    --color-primary: #0891b2;
    --color-secondary: #0d9488;
    
    /* Status Colors - Using theme status tokens */
    --color-success: var(--theme-success, #10b981);
    --color-warning: var(--theme-warning, #f59e0b);
    --color-error: var(--theme-error, #ef4444);
    --color-info: var(--theme-info, #06b6d4);
    
    /* Text Colors - Ocean theme text */
    --color-text: #134e4a;
    --color-text-muted: var(--theme-text-muted, #4b5563);
    --color-text-inverse: var(--theme-text-inverse, #fff);
    
    /* Surface Colors - Ocean theme surfaces */
    --color-background: #f0fdfa;
    --color-surface: #ccfbf1;
    --color-surface-elevated: var(--theme-surface-elevated, #fff);
    
    /* Border Colors - Ocean theme borders */
    --color-border: #99f6e4;
    --color-border-strong: #5eead4;
    
    /* Transition Colors for smooth animations */
    --color-transition-primary: #0891b2;
    --color-transition-surface: #f0fdfa;
    --color-transition-text: #134e4a;
    
    /* Ocean-specific theme properties */
    --theme-ocean-accent: #0891b2;
    --theme-ocean-gradient-start: var(--theme-gradient-start, #0891b2);
    --theme-ocean-gradient-end: var(--theme-gradient-end, #0d9488);
    
    /* Focus and interaction states using theme tokens */
    --color-focus: var(--theme-focus-ring, #0891b2);
    --color-focus-glow: rgb(8 145 178 / 3000%);
    
    /* Shadow properties using theme shadow tokens */
    --shadow-opacity-sm: var(--theme-shadow-opacity-sm, 0.05);
    --shadow-opacity-md: var(--theme-shadow-opacity-md, 0.1);
    --shadow-opacity-lg: var(--theme-shadow-opacity-lg, 0.15);
    --shadow-opacity-xl: var(--theme-shadow-opacity-xl, 0.25);
    --shadow-color: var(--theme-shadow-color, rgb(0 0 0));
    
    /* Backdrop properties using theme backdrop tokens */
    --color-backdrop: var(--theme-backdrop, rgb(0 0 0 / 5000%));
    --backdrop-blur: var(--theme-backdrop-blur, 8px);
    
    /* Status background colors using theme status tokens */
    --color-success-bg: var(--theme-success-bg, #ecfdf5);
    --color-warning-bg: var(--theme-warning-bg, #fffbeb);
    --color-error-bg: var(--theme-error-bg, #fef2f2);
    --color-info-bg: var(--theme-info-bg, #eff6ff);
    
    /* Status border colors using theme status tokens */
    --color-success-border: var(--theme-success-border, #a7f3d0);
    --color-warning-border: var(--theme-warning-border, #fed7aa);
    --color-error-border: var(--theme-error-border, #fecaca);
    --color-info-border: var(--theme-info-border, #bfdbfe);
    
    /* Interaction states using theme interaction tokens */
    --hover-opacity: var(--theme-hover-opacity, 0.8);
    --hover-scale: var(--theme-hover-scale, 1.05);
    --active-opacity: var(--theme-active-opacity, 0.9);
    --active-scale: var(--theme-active-scale, 0.95);
    --disabled-opacity: var(--theme-disabled-opacity, 0.5);
    
    /* Transition properties using theme transition tokens */
    --transition-fast: var(--theme-transition-fast, 150ms);
    --transition-normal: var(--theme-transition-normal, 250ms);
    --transition-slow: var(--theme-transition-slow, 400ms);
    --transition-ease-out: var(--theme-ease-out, cubic-bezier(0, 0, 0.2, 1));
  }
}
