/* ========================================================================== Custom Stylesheet for eath API Tailwind is used for layout, this file handles specific brand assets and keyframe animations. ========================================================================== */ /* --- 1. Brand Variables & Typography --- */ :root { --eath-purple: #8B68A2; --eath-purple-dark: #705382; --eath-purple-light: #EBE4F0; } body { font-family: 'Inter', sans-serif; } /* --- 2. Tailwind Custom Class Mapping --- */ /* Allowing Tailwind to use our CSS variables easily via custom classes */ .text-brand { color: var(--eath-purple); } .bg-brand { background-color: var(--eath-purple); } .bg-brand-dark:hover { background-color: var(--eath-purple-dark); } .bg-brand-light { background-color: var(--eath-purple-light); } .border-brand { border-color: var(--eath-purple); } .focus\:border-brand:focus { border-color: var(--eath-purple); } /* --- 3. UI Interactions --- */ .drag-active { border-color: var(--eath-purple) !important; background-color: var(--eath-purple-light) !important; } .progress-anim { transition: width 1.2s cubic-bezier(0.4, 0, 0.2, 1); } /* --- 4. Custom Loader Animation --- */ /* A professional spinning double ring loader using the brand color */ .custom-loader { width: 60px; height: 60px; border-radius: 50%; border: 4px solid var(--eath-purple-light); border-top-color: var(--eath-purple); animation: spin 1s linear infinite; position: relative; } .custom-loader::after { content: ''; position: absolute; top: 6px; left: 6px; right: 6px; bottom: 6px; border-radius: 50%; border: 3px solid transparent; border-top-color: #333; animation: spin-reverse 2s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes spin-reverse { 0% { transform: rotate(360deg); } 100% { transform: rotate(0deg); } }