Prashikshak / Web /src /index.css
Abhisingh-18's picture
Premium UI: landing/auth/dashboard redesign, new SVG logo, disaster-themed hero images
ba6cce3
Raw
History Blame Contribute Delete
3.6 kB
@import "tailwindcss";
/* ===== Landing page premium effects ===== */
@keyframes lp-marquee {
from { transform: translateX(0); }
to { transform: translateX(-50%); }
}
.lp-marquee {
animation: lp-marquee 32s linear infinite;
}
.lp-marquee:hover {
animation-play-state: paused;
}
@keyframes lp-gradient-shift {
0%, 100% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
}
.lp-gradient-text {
background-size: 200% auto;
animation: lp-gradient-shift 5s ease-in-out infinite;
}
@keyframes lp-shine {
from { transform: translateX(-120%) skewX(-18deg); }
to { transform: translateX(240%) skewX(-18deg); }
}
.lp-btn-shine::after {
content: "";
position: absolute;
inset: 0;
width: 40%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent);
transform: translateX(-120%) skewX(-18deg);
}
.lp-btn-shine:hover::after {
animation: lp-shine 0.9s ease;
}
@keyframes lp-stripes {
from { background-position: 0 0; }
to { background-position: 24px 0; }
}
.lp-live-stripes {
background-image: linear-gradient(
-45deg,
rgba(255, 255, 255, 0.35) 25%, transparent 25%,
transparent 50%, rgba(255, 255, 255, 0.35) 50%,
rgba(255, 255, 255, 0.35) 75%, transparent 75%
);
background-size: 24px 24px;
animation: lp-stripes 1s linear infinite;
}
@keyframes lp-radar {
0% { transform: scale(0.5); opacity: 0.9; }
100% { transform: scale(2.4); opacity: 0; }
}
.lp-radar-ring {
animation: lp-radar 2.4s cubic-bezier(0, 0.2, 0.6, 1) infinite;
}
.lp-grid-overlay {
background-image:
linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
background-size: 56px 56px;
mask-image: radial-gradient(ellipse 80% 60% at 50% 40%, black 30%, transparent 75%);
}
.lp-mask-fade-x {
mask-image: linear-gradient(90deg, transparent, black 12%, black 88%, transparent);
}
html {
scroll-behavior: smooth;
}
/* Heatmap Styles */
.react-calendar-heatmap text {
font-size: 10px;
fill: #9ca3af;
}
.react-calendar-heatmap rect {
rx: 2px;
}
.react-calendar-heatmap rect:hover {
stroke: #166534;
stroke-width: 1px;
}
.react-calendar-heatmap .color-empty {
fill: #f3f4f6;
}
.react-calendar-heatmap .color-scale-1 {
fill: #dcfce7;
}
.react-calendar-heatmap .color-scale-2 {
fill: #86efac;
}
.react-calendar-heatmap .color-scale-3 {
fill: #4ade80;
}
.react-calendar-heatmap .color-scale-4 {
fill: #16a34a;
}
.react-calendar-heatmap .color-scale-5 {
fill: #15803d;
}
/* Accessibility High Contrast Mode Overrides */
.high-contrast * {
background-color: #000 !important;
color: #fff !important;
border-color: #fff !important;
box-shadow: none !important;
}
.high-contrast img,
.high-contrast video,
.high-contrastcanvas {
filter: grayscale(100%) contrast(150%);
}
.high-contrast a {
text-decoration: underline !important;
color: #ffff00 !important;
}
.high-contrast button,
.high-contrast input,
.high-contrast select,
.high-contrast textarea {
border: 2px solid #fff !important;
background-color: #000 !important;
color: #fff !important;
}
/* Readable Font Helper */
.readable-font {
font-family: 'Arial', 'Verdana', sans-serif !important;
line-height: 1.8 !important;
letter-spacing: 0.05em !important;
}
.readable-font p,
.readable-font h1,
.readable-font h2,
.readable-font h3,
.readable-font h4,
.readable-font h5,
.readable-font h6,
.readable-font span,
.readable-font button,
.readable-font a {
font-family: 'Arial', 'Verdana', sans-serif !important;
}