206 lines
3.8 KiB
CSS
206 lines
3.8 KiB
CSS
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
@layer base {
|
|
:root {
|
|
--background: 222 30% 7%; /* Darkened background */
|
|
--foreground: 210 20% 98%;
|
|
--card: 222 47% 9%; /* Darkened card */
|
|
--card-foreground: 210 20% 98%;
|
|
--popover: 222 47% 9%;
|
|
--popover-foreground: 210 20% 98%;
|
|
--primary: 263.4 70% 50.4%;
|
|
--primary-foreground: 210 20% 98%;
|
|
--secondary: 222 30% 12%; /* Darkened secondary */
|
|
--secondary-foreground: 210 20% 98%;
|
|
--muted: 222 30% 12%;
|
|
--muted-foreground: 217.9 10.6% 64.9%;
|
|
--accent: 222 30% 12%;
|
|
--accent-foreground: 210 20% 98%;
|
|
--destructive: 0 62.8% 30.6%;
|
|
--destructive-foreground: 210 20% 98%;
|
|
--border: 222 30% 12%;
|
|
--input: 222 30% 12%;
|
|
--ring: 263.4 70% 50.4%;
|
|
}
|
|
}
|
|
|
|
@layer base {
|
|
body {
|
|
@apply bg-background text-foreground;
|
|
}
|
|
}
|
|
|
|
@keyframes gradient {
|
|
0% {
|
|
background-position: 0% 50%;
|
|
}
|
|
50% {
|
|
background-position: 100% 50%;
|
|
}
|
|
100% {
|
|
background-position: 0% 50%;
|
|
}
|
|
}
|
|
|
|
.animate-gradient {
|
|
background-size: 200% 200%;
|
|
animation: gradient 8s ease infinite;
|
|
}
|
|
|
|
/* Animated background gradients */
|
|
.animated-bg {
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.animated-bg::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: -50%;
|
|
left: -50%;
|
|
width: 200%;
|
|
height: 200%;
|
|
background: radial-gradient(
|
|
circle at center,
|
|
rgba(124, 58, 237, 0.03) 0%,
|
|
rgba(124, 58, 237, 0.01) 20%,
|
|
rgba(236, 72, 153, 0.01) 40%,
|
|
rgba(236, 72, 153, 0) 60%,
|
|
transparent 100%
|
|
);
|
|
animation: rotate 60s linear infinite;
|
|
z-index: -1;
|
|
}
|
|
|
|
.animated-bg::after {
|
|
content: "";
|
|
position: absolute;
|
|
top: -50%;
|
|
left: -50%;
|
|
width: 200%;
|
|
height: 200%;
|
|
background: radial-gradient(
|
|
circle at center,
|
|
rgba(236, 72, 153, 0.03) 0%,
|
|
rgba(236, 72, 153, 0.01) 20%,
|
|
rgba(124, 58, 237, 0.01) 40%,
|
|
rgba(124, 58, 237, 0) 60%,
|
|
transparent 100%
|
|
);
|
|
animation: rotate 40s linear infinite reverse;
|
|
z-index: -1;
|
|
}
|
|
|
|
@keyframes rotate {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
/* Modified post-link to always show the gradient line on hover */
|
|
.post-link {
|
|
position: relative;
|
|
display: inline-block;
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.post-link::after {
|
|
content: "";
|
|
position: absolute;
|
|
width: 0;
|
|
height: 2px;
|
|
bottom: -2px;
|
|
left: 0;
|
|
background: linear-gradient(90deg, #7c3aed, #ec4899);
|
|
transition: width 0.3s ease;
|
|
}
|
|
|
|
.post-card:hover .post-link::after {
|
|
width: 100%;
|
|
}
|
|
|
|
.post-card {
|
|
position: relative;
|
|
transition: transform 0.3s ease;
|
|
}
|
|
|
|
.post-card::before {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
border-radius: 0.5rem;
|
|
padding: 1px;
|
|
background: linear-gradient(90deg, rgba(124, 58, 237, 0.2), rgba(236, 72, 153, 0.2));
|
|
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
|
|
-webkit-mask-composite: xor;
|
|
mask-composite: exclude;
|
|
opacity: 0;
|
|
transition: opacity 0.3s ease;
|
|
}
|
|
|
|
.post-card:hover {
|
|
transform: translateY(-2px);
|
|
}
|
|
|
|
.post-card:hover::before {
|
|
opacity: 1;
|
|
}
|
|
|
|
.prose {
|
|
@apply max-w-none;
|
|
}
|
|
|
|
.prose a {
|
|
@apply text-purple-400 hover:text-pink-400 transition-colors duration-200;
|
|
}
|
|
|
|
.prose h1,
|
|
.prose h2,
|
|
.prose h3,
|
|
.prose h4 {
|
|
@apply text-foreground;
|
|
}
|
|
|
|
.prose code {
|
|
@apply bg-secondary text-foreground px-1 py-0.5 rounded;
|
|
}
|
|
|
|
.prose pre {
|
|
@apply bg-card border border-border/40 rounded-md;
|
|
}
|
|
|
|
.prose blockquote {
|
|
@apply border-l-4 border-purple-400 bg-secondary/50 pl-4 py-1 italic;
|
|
}
|
|
|
|
.prose img {
|
|
@apply rounded-md;
|
|
}
|
|
|
|
/* Ensure proper scrolling */
|
|
html,
|
|
body {
|
|
height: 100%;
|
|
overflow-x: hidden;
|
|
overflow-y: auto;
|
|
scroll-behavior: smooth;
|
|
}
|
|
|
|
/* Ensure content can extend beyond viewport */
|
|
#__next,
|
|
main {
|
|
min-height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
/* Reduce spacing between posts for more compact layout */
|
|
.space-y-6 > * + * {
|
|
margin-top: 1.25rem;
|
|
}
|