Download src/app/globals.css from Vrda/clinicpal: direct link, hf CLI and curl.
- Browser
- Download file 18.2 kB
-
https://huggingface.co/spaces/Vrda/clinicpal/resolve/main/src/app/globals.css
- Command line
-
hf download hf://spaces/Vrda/clinicpal/src/app/globals.css
-
curl -L -o globals.css https://huggingface.co/spaces/Vrda/clinicpal/resolve/main/src/app/globals.css
18.2 kB
| @import "tailwindcss"; | |
| /* ============================================ | |
| LIQUID GLASS DESIGN SYSTEM | |
| Inspired by Apple's WWDC 2025 Liquid Glass | |
| ============================================ */ | |
| :root { | |
| /* ---- Base Colors ---- */ | |
| --background: #f5f5f7; | |
| --foreground: #1d1d1f; | |
| /* ---- Glass Material Properties ---- */ | |
| --glass-blur: 24px; | |
| --glass-saturation: 180%; | |
| --glass-brightness: 105%; | |
| /* Glass Backgrounds */ | |
| --glass-bg: rgba(255, 255, 255, 0.72); | |
| --glass-bg-elevated: rgba(255, 255, 255, 0.85); | |
| --glass-bg-muted: rgba(255, 255, 255, 0.45); | |
| --glass-bg-strong: rgba(255, 255, 255, 0.92); | |
| /* Glass Borders */ | |
| --glass-border: rgba(255, 255, 255, 0.5); | |
| --glass-border-subtle: rgba(255, 255, 255, 0.3); | |
| --glass-border-strong: rgba(255, 255, 255, 0.7); | |
| /* Specular Highlights */ | |
| --specular-light: rgba(255, 255, 255, 0.8); | |
| --specular-medium: rgba(255, 255, 255, 0.5); | |
| --specular-subtle: rgba(255, 255, 255, 0.25); | |
| /* Inner Shadows for Depth */ | |
| --inner-shadow-light: inset 0 1px 1px rgba(255, 255, 255, 0.6); | |
| --inner-shadow-dark: inset 0 -1px 1px rgba(0, 0, 0, 0.05); | |
| /* ---- Severity Colors ---- */ | |
| /* Critical (Red) */ | |
| --critical-bg: rgba(255, 59, 48, 0.12); | |
| --critical-bg-glass: rgba(255, 59, 48, 0.08); | |
| --critical-border: rgba(255, 59, 48, 0.3); | |
| --critical-text: #c41e3a; | |
| --critical-accent: #ff3b30; | |
| --critical-glow: rgba(255, 59, 48, 0.4); | |
| /* Warning (Amber) */ | |
| --warning-bg: rgba(255, 159, 10, 0.12); | |
| --warning-bg-glass: rgba(255, 159, 10, 0.08); | |
| --warning-border: rgba(255, 159, 10, 0.3); | |
| --warning-text: #996300; | |
| --warning-accent: #ff9f0a; | |
| --warning-glow: rgba(255, 159, 10, 0.4); | |
| /* Suggestion (Blue) */ | |
| --suggestion-bg: rgba(0, 122, 255, 0.12); | |
| --suggestion-bg-glass: rgba(0, 122, 255, 0.08); | |
| --suggestion-border: rgba(0, 122, 255, 0.3); | |
| --suggestion-text: #0066cc; | |
| --suggestion-accent: #007aff; | |
| --suggestion-glow: rgba(0, 122, 255, 0.4); | |
| /* Success (Green) */ | |
| --success-bg: rgba(52, 199, 89, 0.12); | |
| --success-bg-glass: rgba(52, 199, 89, 0.08); | |
| --success-border: rgba(52, 199, 89, 0.3); | |
| --success-text: #248a3d; | |
| --success-accent: #34c759; | |
| --success-glow: rgba(52, 199, 89, 0.4); | |
| /* ---- Surface Colors ---- */ | |
| --surface-base: linear-gradient(135deg, #f5f5f7 0%, #e8e8ed 50%, #f0f0f5 100%); | |
| --surface-elevated: rgba(255, 255, 255, 0.9); | |
| --surface-canvas: rgba(255, 255, 255, 0.6); | |
| /* Ambient Orbs for Background */ | |
| --ambient-blue: rgba(59, 130, 246, 0.15); | |
| --ambient-purple: rgba(139, 92, 246, 0.12); | |
| --ambient-pink: rgba(236, 72, 153, 0.1); | |
| --ambient-cyan: rgba(34, 211, 238, 0.1); | |
| /* ---- Typography ---- */ | |
| --font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; | |
| --font-mono: "SF Mono", ui-monospace, Menlo, Monaco, "Cascadia Mono", "Consolas", monospace; | |
| /* ---- Shadows ---- */ | |
| --shadow-glass-sm: 0 2px 8px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06); | |
| --shadow-glass-md: 0 4px 16px rgba(0, 0, 0, 0.06), 0 2px 4px rgba(0, 0, 0, 0.04); | |
| --shadow-glass-lg: 0 8px 32px rgba(0, 0, 0, 0.08), 0 4px 8px rgba(0, 0, 0, 0.04); | |
| --shadow-glass-xl: 0 16px 48px rgba(0, 0, 0, 0.1), 0 8px 16px rgba(0, 0, 0, 0.06); | |
| /* ---- Motion ---- */ | |
| --duration-fast: 150ms; | |
| --duration-normal: 250ms; | |
| --duration-slow: 400ms; | |
| --duration-slower: 600ms; | |
| --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1); | |
| --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1); | |
| --ease-out: cubic-bezier(0, 0, 0.2, 1); | |
| /* Spring Presets */ | |
| --spring-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55); | |
| --spring-smooth: cubic-bezier(0.25, 0.46, 0.45, 0.94); | |
| /* ---- Radius ---- */ | |
| --radius-sm: 8px; | |
| --radius-md: 12px; | |
| --radius-lg: 16px; | |
| --radius-xl: 20px; | |
| --radius-2xl: 24px; | |
| --radius-3xl: 32px; | |
| --radius-full: 9999px; | |
| /* ---- Spacing ---- */ | |
| --spacing-xs: 4px; | |
| --spacing-sm: 8px; | |
| --spacing-md: 12px; | |
| --spacing-lg: 16px; | |
| --spacing-xl: 24px; | |
| --spacing-2xl: 32px; | |
| --spacing-3xl: 48px; | |
| } | |
| /* ---- Dark Mode ---- */ | |
| /* Manual dark mode override */ | |
| .dark { | |
| --background: #0a0a0c; | |
| --foreground: #f5f5f7; | |
| /* Glass Backgrounds - Dark */ | |
| --glass-bg: rgba(30, 30, 35, 0.75); | |
| --glass-bg-elevated: rgba(45, 45, 50, 0.85); | |
| --glass-bg-muted: rgba(25, 25, 30, 0.6); | |
| --glass-bg-strong: rgba(40, 40, 45, 0.92); | |
| /* Glass Borders - Dark */ | |
| --glass-border: rgba(255, 255, 255, 0.12); | |
| --glass-border-subtle: rgba(255, 255, 255, 0.08); | |
| --glass-border-strong: rgba(255, 255, 255, 0.18); | |
| /* Specular Highlights - Dark (subtle luminosity) */ | |
| --specular-light: rgba(255, 255, 255, 0.15); | |
| --specular-medium: rgba(255, 255, 255, 0.1); | |
| --specular-subtle: rgba(255, 255, 255, 0.05); | |
| /* Inner Shadows - Dark */ | |
| --inner-shadow-light: inset 0 1px 1px rgba(255, 255, 255, 0.08); | |
| --inner-shadow-dark: inset 0 -1px 1px rgba(0, 0, 0, 0.2); | |
| /* Severity Colors - Dark Mode */ | |
| --critical-bg: rgba(255, 69, 58, 0.15); | |
| --critical-bg-glass: rgba(255, 69, 58, 0.1); | |
| --critical-border: rgba(255, 69, 58, 0.35); | |
| --critical-text: #ff6961; | |
| --critical-accent: #ff453a; | |
| --warning-bg: rgba(255, 159, 10, 0.15); | |
| --warning-bg-glass: rgba(255, 159, 10, 0.1); | |
| --warning-border: rgba(255, 159, 10, 0.35); | |
| --warning-text: #ffc04d; | |
| --warning-accent: #ff9f0a; | |
| --suggestion-bg: rgba(10, 132, 255, 0.15); | |
| --suggestion-bg-glass: rgba(10, 132, 255, 0.1); | |
| --suggestion-border: rgba(10, 132, 255, 0.35); | |
| --suggestion-text: #64b5f6; | |
| --suggestion-accent: #0a84ff; | |
| --success-bg: rgba(48, 209, 88, 0.15); | |
| --success-bg-glass: rgba(48, 209, 88, 0.1); | |
| --success-border: rgba(48, 209, 88, 0.35); | |
| --success-text: #6ee7a0; | |
| --success-accent: #30d158; | |
| /* Surface Colors - Dark */ | |
| --surface-base: linear-gradient(135deg, #0a0a0c 0%, #121216 50%, #0e0e12 100%); | |
| --surface-elevated: rgba(35, 35, 40, 0.9); | |
| --surface-canvas: rgba(20, 20, 25, 0.6); | |
| /* Ambient Orbs - Dark */ | |
| --ambient-blue: rgba(59, 130, 246, 0.1); | |
| --ambient-purple: rgba(139, 92, 246, 0.08); | |
| --ambient-pink: rgba(236, 72, 153, 0.06); | |
| --ambient-cyan: rgba(34, 211, 238, 0.06); | |
| /* Shadows - Dark */ | |
| --shadow-glass-sm: 0 2px 8px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.3); | |
| --shadow-glass-md: 0 4px 16px rgba(0, 0, 0, 0.25), 0 2px 4px rgba(0, 0, 0, 0.2); | |
| --shadow-glass-lg: 0 8px 32px rgba(0, 0, 0, 0.3), 0 4px 8px rgba(0, 0, 0, 0.2); | |
| --shadow-glass-xl: 0 16px 48px rgba(0, 0, 0, 0.4), 0 8px 16px rgba(0, 0, 0, 0.25); | |
| } | |
| /* Manual light mode override */ | |
| .light { | |
| --background: #f5f5f7; | |
| --foreground: #1d1d1f; | |
| /* Glass Backgrounds */ | |
| --glass-bg: rgba(255, 255, 255, 0.72); | |
| --glass-bg-elevated: rgba(255, 255, 255, 0.85); | |
| --glass-bg-muted: rgba(255, 255, 255, 0.45); | |
| --glass-bg-strong: rgba(255, 255, 255, 0.92); | |
| /* Glass Borders */ | |
| --glass-border: rgba(255, 255, 255, 0.5); | |
| --glass-border-subtle: rgba(255, 255, 255, 0.3); | |
| --glass-border-strong: rgba(255, 255, 255, 0.7); | |
| /* Specular Highlights */ | |
| --specular-light: rgba(255, 255, 255, 0.8); | |
| --specular-medium: rgba(255, 255, 255, 0.5); | |
| --specular-subtle: rgba(255, 255, 255, 0.25); | |
| /* Inner Shadows for Depth */ | |
| --inner-shadow-light: inset 0 1px 1px rgba(255, 255, 255, 0.6); | |
| --inner-shadow-dark: inset 0 -1px 1px rgba(0, 0, 0, 0.05); | |
| /* Severity Colors */ | |
| --critical-bg: rgba(255, 59, 48, 0.12); | |
| --critical-bg-glass: rgba(255, 59, 48, 0.08); | |
| --critical-border: rgba(255, 59, 48, 0.3); | |
| --critical-text: #c41e3a; | |
| --critical-accent: #ff3b30; | |
| --critical-glow: rgba(255, 59, 48, 0.4); | |
| --warning-bg: rgba(255, 159, 10, 0.12); | |
| --warning-bg-glass: rgba(255, 159, 10, 0.08); | |
| --warning-border: rgba(255, 159, 10, 0.3); | |
| --warning-text: #996300; | |
| --warning-accent: #ff9f0a; | |
| --warning-glow: rgba(255, 159, 10, 0.4); | |
| --suggestion-bg: rgba(0, 122, 255, 0.12); | |
| --suggestion-bg-glass: rgba(0, 122, 255, 0.08); | |
| --suggestion-border: rgba(0, 122, 255, 0.3); | |
| --suggestion-text: #0066cc; | |
| --suggestion-accent: #007aff; | |
| --suggestion-glow: rgba(0, 122, 255, 0.4); | |
| --success-bg: rgba(52, 199, 89, 0.12); | |
| --success-bg-glass: rgba(52, 199, 89, 0.08); | |
| --success-border: rgba(52, 199, 89, 0.3); | |
| --success-text: #248a3d; | |
| --success-accent: #34c759; | |
| --success-glow: rgba(52, 199, 89, 0.4); | |
| /* Surface Colors */ | |
| --surface-base: linear-gradient(135deg, #f5f5f7 0%, #e8e8ed 50%, #f0f0f5 100%); | |
| --surface-elevated: rgba(255, 255, 255, 0.9); | |
| --surface-canvas: rgba(255, 255, 255, 0.6); | |
| /* Ambient Orbs for Background */ | |
| --ambient-blue: rgba(59, 130, 246, 0.15); | |
| --ambient-purple: rgba(139, 92, 246, 0.12); | |
| --ambient-pink: rgba(236, 72, 153, 0.1); | |
| --ambient-cyan: rgba(34, 211, 238, 0.1); | |
| /* Shadows */ | |
| --shadow-glass-sm: 0 2px 8px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06); | |
| --shadow-glass-md: 0 4px 16px rgba(0, 0, 0, 0.06), 0 2px 4px rgba(0, 0, 0, 0.04); | |
| --shadow-glass-lg: 0 8px 32px rgba(0, 0, 0, 0.08), 0 4px 8px rgba(0, 0, 0, 0.04); | |
| --shadow-glass-xl: 0 16px 48px rgba(0, 0, 0, 0.1), 0 8px 16px rgba(0, 0, 0, 0.06); | |
| } | |
| /* System preference (when no manual override) */ | |
| @media (prefers-color-scheme: dark) { | |
| :root:not(.light):not(.dark) { | |
| --background: #0a0a0c; | |
| --foreground: #f5f5f7; | |
| /* Glass Backgrounds - Dark */ | |
| --glass-bg: rgba(30, 30, 35, 0.75); | |
| --glass-bg-elevated: rgba(45, 45, 50, 0.85); | |
| --glass-bg-muted: rgba(25, 25, 30, 0.6); | |
| --glass-bg-strong: rgba(40, 40, 45, 0.92); | |
| /* Glass Borders - Dark */ | |
| --glass-border: rgba(255, 255, 255, 0.12); | |
| --glass-border-subtle: rgba(255, 255, 255, 0.08); | |
| --glass-border-strong: rgba(255, 255, 255, 0.18); | |
| /* Specular Highlights - Dark (subtle luminosity) */ | |
| --specular-light: rgba(255, 255, 255, 0.15); | |
| --specular-medium: rgba(255, 255, 255, 0.1); | |
| --specular-subtle: rgba(255, 255, 255, 0.05); | |
| /* Inner Shadows - Dark */ | |
| --inner-shadow-light: inset 0 1px 1px rgba(255, 255, 255, 0.08); | |
| --inner-shadow-dark: inset 0 -1px 1px rgba(0, 0, 0, 0.2); | |
| /* Severity Colors - Dark Mode */ | |
| --critical-bg: rgba(255, 69, 58, 0.15); | |
| --critical-bg-glass: rgba(255, 69, 58, 0.1); | |
| --critical-border: rgba(255, 69, 58, 0.35); | |
| --critical-text: #ff6961; | |
| --critical-accent: #ff453a; | |
| --warning-bg: rgba(255, 159, 10, 0.15); | |
| --warning-bg-glass: rgba(255, 159, 10, 0.1); | |
| --warning-border: rgba(255, 159, 10, 0.35); | |
| --warning-text: #ffc04d; | |
| --warning-accent: #ff9f0a; | |
| --suggestion-bg: rgba(10, 132, 255, 0.15); | |
| --suggestion-bg-glass: rgba(10, 132, 255, 0.1); | |
| --suggestion-border: rgba(10, 132, 255, 0.35); | |
| --suggestion-text: #64b5f6; | |
| --suggestion-accent: #0a84ff; | |
| --success-bg: rgba(48, 209, 88, 0.15); | |
| --success-bg-glass: rgba(48, 209, 88, 0.1); | |
| --success-border: rgba(48, 209, 88, 0.35); | |
| --success-text: #6ee7a0; | |
| --success-accent: #30d158; | |
| /* Surface Colors - Dark */ | |
| --surface-base: linear-gradient(135deg, #0a0a0c 0%, #121216 50%, #0e0e12 100%); | |
| --surface-elevated: rgba(35, 35, 40, 0.9); | |
| --surface-canvas: rgba(20, 20, 25, 0.6); | |
| /* Ambient Orbs - Dark */ | |
| --ambient-blue: rgba(59, 130, 246, 0.1); | |
| --ambient-purple: rgba(139, 92, 246, 0.08); | |
| --ambient-pink: rgba(236, 72, 153, 0.06); | |
| --ambient-cyan: rgba(34, 211, 238, 0.06); | |
| /* Shadows - Dark */ | |
| --shadow-glass-sm: 0 2px 8px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.3); | |
| --shadow-glass-md: 0 4px 16px rgba(0, 0, 0, 0.25), 0 2px 4px rgba(0, 0, 0, 0.2); | |
| --shadow-glass-lg: 0 8px 32px rgba(0, 0, 0, 0.3), 0 4px 8px rgba(0, 0, 0, 0.2); | |
| --shadow-glass-xl: 0 16px 48px rgba(0, 0, 0, 0.4), 0 8px 16px rgba(0, 0, 0, 0.25); | |
| } | |
| } | |
| /* Smooth transitions */ | |
| * { | |
| transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease; | |
| } | |
| /* ---- Tailwind Theme Extension ---- */ | |
| @theme inline { | |
| --color-background: var(--background); | |
| --color-foreground: var(--foreground); | |
| --font-sans: var(--font-sans); | |
| --font-mono: var(--font-mono); | |
| /* Glass Colors */ | |
| --color-glass-bg: var(--glass-bg); | |
| --color-glass-border: var(--glass-border); | |
| /* Severity Colors */ | |
| --color-critical: var(--critical-accent); | |
| --color-warning: var(--warning-accent); | |
| --color-suggestion: var(--suggestion-accent); | |
| --color-success: var(--success-accent); | |
| } | |
| /* ============================================ | |
| BASE STYLES | |
| ============================================ */ | |
| html { | |
| scroll-behavior: smooth; | |
| } | |
| body { | |
| background: var(--background); | |
| color: var(--foreground); | |
| font-family: var(--font-sans); | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| overflow-x: hidden; | |
| } | |
| /* ============================================ | |
| GLASS UTILITY CLASSES | |
| ============================================ */ | |
| /* Base Glass Effect */ | |
| .glass { | |
| background: var(--glass-bg); | |
| backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturation)) brightness(var(--glass-brightness)); | |
| -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturation)) brightness(var(--glass-brightness)); | |
| border: 1px solid var(--glass-border); | |
| box-shadow: var(--shadow-glass-md), var(--inner-shadow-light), var(--inner-shadow-dark); | |
| } | |
| /* Elevated Glass (stronger effect) */ | |
| .glass-elevated { | |
| background: var(--glass-bg-elevated); | |
| backdrop-filter: blur(32px) saturate(200%) brightness(108%); | |
| -webkit-backdrop-filter: blur(32px) saturate(200%) brightness(108%); | |
| border: 1px solid var(--glass-border-strong); | |
| box-shadow: var(--shadow-glass-lg), var(--inner-shadow-light), var(--inner-shadow-dark); | |
| } | |
| /* Muted Glass (subtle effect) */ | |
| .glass-muted { | |
| background: var(--glass-bg-muted); | |
| backdrop-filter: blur(16px) saturate(150%); | |
| -webkit-backdrop-filter: blur(16px) saturate(150%); | |
| border: 1px solid var(--glass-border-subtle); | |
| box-shadow: var(--shadow-glass-sm); | |
| } | |
| /* Specular Highlight Overlay */ | |
| .glass-specular { | |
| position: relative; | |
| } | |
| .glass-specular::before { | |
| content: ''; | |
| position: absolute; | |
| inset: 0; | |
| background: linear-gradient( | |
| 135deg, | |
| var(--specular-light) 0%, | |
| var(--specular-medium) 10%, | |
| transparent 40% | |
| ); | |
| border-radius: inherit; | |
| pointer-events: none; | |
| } | |
| /* Severity-Tinted Glass */ | |
| .glass-critical { | |
| background: var(--critical-bg-glass); | |
| border-color: var(--critical-border); | |
| } | |
| .glass-warning { | |
| background: var(--warning-bg-glass); | |
| border-color: var(--warning-border); | |
| } | |
| .glass-suggestion { | |
| background: var(--suggestion-bg-glass); | |
| border-color: var(--suggestion-border); | |
| } | |
| .glass-success { | |
| background: var(--success-bg-glass); | |
| border-color: var(--success-border); | |
| } | |
| /* ============================================ | |
| ANIMATION UTILITIES | |
| ============================================ */ | |
| /* Shimmer Loading Effect */ | |
| @keyframes shimmer { | |
| 0% { | |
| background-position: -200% 0; | |
| } | |
| 100% { | |
| background-position: 200% 0; | |
| } | |
| } | |
| .shimmer { | |
| background: linear-gradient( | |
| 90deg, | |
| transparent 0%, | |
| var(--specular-subtle) 50%, | |
| transparent 100% | |
| ); | |
| background-size: 200% 100%; | |
| animation: shimmer 2s ease-in-out infinite; | |
| } | |
| /* Pulse Glow Effect */ | |
| @keyframes pulse-glow { | |
| 0%, 100% { | |
| opacity: 1; | |
| box-shadow: 0 0 0 0 var(--success-glow); | |
| } | |
| 50% { | |
| opacity: 0.8; | |
| box-shadow: 0 0 16px 4px var(--success-glow); | |
| } | |
| } | |
| .pulse-glow-success { | |
| animation: pulse-glow 2s ease-in-out infinite; | |
| } | |
| @keyframes pulse-glow-critical { | |
| 0%, 100% { | |
| opacity: 1; | |
| box-shadow: 0 0 0 0 var(--critical-glow); | |
| } | |
| 50% { | |
| opacity: 0.9; | |
| box-shadow: 0 0 12px 3px var(--critical-glow); | |
| } | |
| } | |
| .pulse-glow-critical { | |
| animation: pulse-glow-critical 2s ease-in-out infinite; | |
| } | |
| @keyframes pulse-glow-warning { | |
| 0%, 100% { | |
| box-shadow: 0 0 0 0 var(--warning-glow); | |
| } | |
| 50% { | |
| box-shadow: 0 0 10px 2px var(--warning-glow); | |
| } | |
| } | |
| .pulse-glow-warning { | |
| animation: pulse-glow-warning 2.5s ease-in-out infinite; | |
| } | |
| /* Gradient Flow Animation */ | |
| @keyframes gradient-flow { | |
| 0% { | |
| background-position: 0% 50%; | |
| } | |
| 50% { | |
| background-position: 100% 50%; | |
| } | |
| 100% { | |
| background-position: 0% 50%; | |
| } | |
| } | |
| .gradient-animate { | |
| background-size: 200% 200%; | |
| animation: gradient-flow 8s ease infinite; | |
| } | |
| /* Float Animation for Ambient Orbs */ | |
| @keyframes float { | |
| 0%, 100% { | |
| transform: translateY(0) rotate(0deg); | |
| } | |
| 33% { | |
| transform: translateY(-15px) rotate(1deg); | |
| } | |
| 66% { | |
| transform: translateY(10px) rotate(-1deg); | |
| } | |
| } | |
| .float-slow { | |
| animation: float 20s ease-in-out infinite; | |
| } | |
| .float-medium { | |
| animation: float 15s ease-in-out infinite; | |
| } | |
| /* ============================================ | |
| REDUCED MOTION | |
| ============================================ */ | |
| @media (prefers-reduced-motion: reduce) { | |
| *, | |
| *::before, | |
| *::after { | |
| animation-duration: 0.01ms ; | |
| animation-iteration-count: 1 ; | |
| transition-duration: 0.01ms ; | |
| } | |
| .shimmer, | |
| .pulse-glow-success, | |
| .pulse-glow-critical, | |
| .pulse-glow-warning, | |
| .gradient-animate, | |
| .float-slow, | |
| .float-medium { | |
| animation: none ; | |
| } | |
| } | |
| /* ============================================ | |
| SCROLLBAR STYLING | |
| ============================================ */ | |
| ::-webkit-scrollbar { | |
| width: 8px; | |
| height: 8px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: transparent; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: var(--glass-border); | |
| border-radius: var(--radius-full); | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: var(--glass-border-strong); | |
| } | |
| /* Firefox */ | |
| * { | |
| scrollbar-width: thin; | |
| scrollbar-color: var(--glass-border) transparent; | |
| } | |
| /* ============================================ | |
| FOCUS STYLES | |
| ============================================ */ | |
| .focus-ring { | |
| outline: none; | |
| } | |
| .focus-ring:focus-visible { | |
| outline: none; | |
| box-shadow: | |
| 0 0 0 2px var(--background), | |
| 0 0 0 4px var(--suggestion-accent), | |
| var(--shadow-glass-md); | |
| } | |
| /* ============================================ | |
| SELECTION STYLES | |
| ============================================ */ | |
| ::selection { | |
| background: var(--suggestion-bg); | |
| color: var(--suggestion-text); | |
| } | |