Spaces:
Build error
Build error
| /* Custom Utility Classes */ | |
| /* Gradient utilities */ | |
| .gradient-fire { | |
| background: linear-gradient(135deg, var(--heat-100) 0%, var(--accent-crimson) 100%); | |
| } | |
| .gradient-heat { | |
| background: linear-gradient(135deg, var(--heat-20) 0%, var(--heat-100) 100%); | |
| } | |
| .gradient-sunset { | |
| background: linear-gradient(135deg, var(--heat-100) 0%, var(--accent-amethyst) 100%); | |
| } | |
| .gradient-ocean { | |
| background: linear-gradient(135deg, var(--accent-bluetron) 0%, var(--accent-amethyst) 100%); | |
| } | |
| /* Text gradient */ | |
| .text-gradient { | |
| background-clip: text; | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-color: var(--heat-100); /* Fallback */ | |
| } | |
| /* Mask utilities */ | |
| .mask-fade-bottom { | |
| mask-image: linear-gradient(to bottom, black 60%, transparent 100%); | |
| -webkit-mask-image: linear-gradient(to bottom, black 60%, transparent 100%); | |
| } | |
| .mask-fade-edges { | |
| mask-image: radial-gradient(ellipse at center, black 50%, transparent 100%); | |
| -webkit-mask-image: radial-gradient(ellipse at center, black 50%, transparent 100%); | |
| } | |
| .mask-intersect { | |
| -webkit-mask-composite: source-in; /* For Chrome */ | |
| mask-composite: intersect; /* For Firefox */ | |
| } | |
| /* Blur utilities */ | |
| .blur-backdrop { | |
| backdrop-filter: blur(10px); | |
| -webkit-backdrop-filter: blur(10px); | |
| } | |
| /* Border utilities */ | |
| .border-gradient { | |
| position: relative; | |
| background: var(--white); | |
| border: 1px solid transparent; | |
| } | |
| .border-gradient::before { | |
| content: ''; | |
| position: absolute; | |
| inset: 0; | |
| border-radius: inherit; | |
| padding: 1px; | |
| background: linear-gradient(135deg, var(--heat-100), var(--accent-crimson)); | |
| mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); | |
| -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); | |
| mask-composite: xor; | |
| -webkit-mask-composite: xor; | |
| pointer-events: none; | |
| } | |
| /* Dotted underline - updated from marketing */ | |
| .dotted-underline { | |
| position: relative; | |
| display: inline-block; | |
| line-height: 1.1; | |
| } | |
| .dotted-underline::before { | |
| content: ""; | |
| position: absolute; | |
| bottom: -2px; | |
| left: 0; | |
| width: 100%; | |
| height: 1.7px; | |
| background-image: url("data:image/svg+xml,%3Csvg width='4' height='2' viewBox='0 0 4 2' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='1.7' height='1.7' rx='0.85' fill='%23D1D1D1' style='fill:%23D1D1D1;fill:color(display-p3 0.8196 0.8196 0.8196);fill-opacity:1;'/%3E%3C/svg%3E%0A"); | |
| background-size: 3.4px 1.7px; | |
| background-repeat: repeat-x; | |
| } | |
| /* Container utilities */ | |
| .container-prose { | |
| max-width: 65ch; | |
| margin-inline: auto; | |
| } | |
| .container-narrow { | |
| max-width: 48rem; /* 768px */ | |
| margin-inline: auto; | |
| } | |
| .container-wide { | |
| max-width: 80rem; /* 1280px */ | |
| margin-inline: auto; | |
| } | |
| /* Centering helpers */ | |
| .center-absolute { | |
| position: absolute; | |
| top: 50%; | |
| left: 50%; | |
| transform: translate(-50%, -50%); | |
| } | |
| .center-flex { | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| /* Spacing utilities */ | |
| .stack-sm > * + * { | |
| margin-top: 0.5rem; | |
| } | |
| .stack-md > * + * { | |
| margin-top: 1rem; | |
| } | |
| .stack-lg > * + * { | |
| margin-top: 2rem; | |
| } | |
| .stack-xl > * + * { | |
| margin-top: 3rem; | |
| } | |
| /* Aspect ratio utilities */ | |
| .aspect-video { | |
| aspect-ratio: 16 / 9; | |
| } | |
| .aspect-square { | |
| aspect-ratio: 1 / 1; | |
| } | |
| .aspect-portrait { | |
| aspect-ratio: 3 / 4; | |
| } | |
| /* Selection color */ | |
| ::selection { | |
| background-color: var(--heat-20); | |
| color: var(--accent-black); | |
| } | |
| /* Focus visible utilities */ | |
| .focus-ring { | |
| outline: 2px solid transparent; | |
| outline-offset: 2px; | |
| } | |
| .focus-ring:focus-visible { | |
| outline-color: var(--heat-100); | |
| } | |
| /* Scrollbar styling */ | |
| .scrollbar-thin { | |
| scrollbar-width: thin; | |
| scrollbar-color: var(--border-muted) var(--background-lighter); | |
| } | |
| .scrollbar-thin::-webkit-scrollbar { | |
| width: 8px; | |
| height: 8px; | |
| } | |
| .scrollbar-thin::-webkit-scrollbar-track { | |
| background: var(--background-lighter); | |
| } | |
| .scrollbar-thin::-webkit-scrollbar-thumb { | |
| background-color: var(--border-muted); | |
| border-radius: 4px; | |
| } | |
| .scrollbar-thin::-webkit-scrollbar-thumb:hover { | |
| background-color: var(--border-loud); | |
| } | |
| /* Animation delay utilities */ | |
| .animation-delay-150 { | |
| animation-delay: 150ms; | |
| } | |
| .animation-delay-300 { | |
| animation-delay: 300ms; | |
| } | |
| .animation-delay-450 { | |
| animation-delay: 450ms; | |
| } | |
| .animation-delay-600 { | |
| animation-delay: 600ms; | |
| } | |
| /* Loading animation helpers */ | |
| .animate-shimmer { | |
| background-size: 400% 100%; | |
| animation: shimmer 2s ease-in-out infinite; | |
| } | |
| @keyframes shimmer { | |
| 0% { | |
| background-position: -200% 0; | |
| } | |
| 100% { | |
| background-position: 200% 0; | |
| } | |
| } | |
| /* Heat glow effect */ | |
| .heat-glow { | |
| box-shadow: 0 0 40px rgba(250, 93, 25, 0.3); | |
| animation: heat-glow 3s ease-in-out infinite; | |
| } | |
| @keyframes heat-glow { | |
| 0%, 100% { | |
| box-shadow: 0 0 20px rgba(250, 93, 25, 0.2); | |
| } | |
| 50% { | |
| box-shadow: 0 0 40px rgba(250, 93, 25, 0.4); | |
| } | |
| } |