Files
housing-helper/src/index.css
Dr Jones 697185c0a1 first commit
Made-with: Cursor
2026-04-25 06:56:23 +00:00

157 lines
2.4 KiB
CSS

@tailwind base;
@tailwind components;
@tailwind utilities;
html {
scroll-behavior: smooth;
--wisp-x: 0;
--wisp-y: 0;
}
body {
margin: 0;
min-height: 100svh;
@apply font-sans text-villa-mist bg-[#0a1220];
}
#root {
min-height: 100svh;
}
::selection {
background: rgba(201, 162, 39, 0.35);
color: #fff;
}
@keyframes float-leaf {
0%,
100% {
transform: translateY(0) rotate(-2deg);
opacity: 0.35;
}
50% {
transform: translateY(-14px) rotate(3deg);
opacity: 0.55;
}
}
@keyframes shimmer-btn {
0% {
background-position: 0% 50%;
}
100% {
background-position: 200% 50%;
}
}
@keyframes mist-drift {
0% {
transform: translateX(-2%) translateY(0);
}
50% {
transform: translateX(2%) translateY(-1%);
}
100% {
transform: translateX(-2%) translateY(0);
}
}
@keyframes wisp-path-a {
0%,
100% {
opacity: 0.3;
}
50% {
opacity: 0.55;
}
}
@keyframes wisp-path-b {
0%,
100% {
opacity: 0.2;
transform: translateX(0);
}
50% {
opacity: 0.38;
transform: translateX(18px);
}
}
@keyframes wisp-mote {
0%,
100% {
opacity: 0.25;
transform: scale(1);
}
50% {
opacity: 0.85;
transform: scale(1.4);
}
}
@keyframes wisp-ribbon-drift {
0%,
100% {
opacity: 0.28;
}
50% {
opacity: 0.42;
}
}
.animate-wisp-path-a {
animation: wisp-path-a 22s ease-in-out infinite;
}
.animate-wisp-path-b {
animation: wisp-path-b 18s ease-in-out infinite;
}
.animate-wisp-mote {
animation: wisp-mote 5s ease-in-out infinite;
}
.wisp-ribbon-a {
animation: wisp-ribbon-drift 26s ease-in-out infinite;
}
.wisp-ribbon-b {
animation: wisp-ribbon-drift 32s ease-in-out infinite 1s;
}
.wisp-ribbon-c {
animation: wisp-ribbon-drift 20s ease-in-out infinite 0.5s;
}
.animate-mist {
animation: mist-drift 28s ease-in-out infinite;
}
.animate-leaf {
animation: float-leaf 9s ease-in-out infinite;
}
.btn-shimmer {
background-size: 200% 200%;
animation: shimmer-btn 8s linear infinite;
}
.glass-panel {
background: linear-gradient(
135deg,
rgba(255, 255, 255, 0.1) 0%,
rgba(255, 255, 255, 0.04) 50%,
rgba(255, 255, 255, 0.08) 100%
);
backdrop-filter: blur(14px);
border: 1px solid rgba(255, 255, 255, 0.14);
box-shadow:
0 20px 50px rgba(0, 0, 0, 0.35),
inset 0 1px 0 rgba(255, 255, 255, 0.12);
}
.text-balance {
text-wrap: balance;
}