| /* stylelint-disable at-rule-no-unknown */ | |
| @tailwind base; | |
| @tailwind components; | |
| @tailwind utilities; | |
| /* stylelint-enable at-rule-no-unknown */ | |
| :root { | |
| --foreground-rgb: 0, 0, 0; | |
| --background-start-rgb: 249, 250, 251; | |
| --background-end-rgb: 255, 255, 255; | |
| } | |
| body { | |
| color: rgb(var(--foreground-rgb)); | |
| background: rgb(var(--background-start-rgb)); | |
| min-height: 100vh; | |
| } | |
| @layer utilities { | |
| .text-balance { | |
| text-wrap: balance; | |
| } | |
| } | |
| /* Accessibility: focus-visible ring for keyboard navigation */ | |
| *:focus-visible { | |
| outline: 2px solid rgb(59, 130, 246); | |
| outline-offset: 2px; | |
| border-radius: 4px; | |
| } | |
| /* Skip to content link */ | |
| .skip-to-content { | |
| position: absolute; | |
| top: -100%; | |
| left: 16px; | |
| z-index: 100; | |
| padding: 8px 16px; | |
| background: rgb(59, 130, 246); | |
| color: white; | |
| border-radius: 0 0 8px 8px; | |
| font-weight: 500; | |
| font-size: 14px; | |
| transition: top 0.2s; | |
| } | |
| .skip-to-content:focus { | |
| top: 0; | |
| } | |
| /* Toast slide-in animation */ | |
| @keyframes slide-in-right { | |
| from { | |
| transform: translateX(100%); | |
| opacity: 0; | |
| } | |
| to { | |
| transform: translateX(0); | |
| opacity: 1; | |
| } | |
| } | |
| .animate-slide-in-right { | |
| animation: slide-in-right 0.3s ease-out; | |
| } | |