89 lines
1.9 KiB
CSS
89 lines
1.9 KiB
CSS
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
@import './colors.css';
|
|
@import './animations.css';
|
|
|
|
:root {
|
|
--radius: 0.5rem;
|
|
--font-mono: 'JetBrains Mono', 'Fira Code', monospace;
|
|
}
|
|
|
|
html {
|
|
scroll-behavior: smooth;
|
|
}
|
|
|
|
body {
|
|
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
@apply bg-[var(--bg)] text-[var(--text)];
|
|
}
|
|
|
|
/* Terminal glow effect */
|
|
.terminal-window {
|
|
@apply relative overflow-hidden;
|
|
border: 1px solid var(--primary);
|
|
box-shadow:
|
|
0 0 8px rgba(var(--primary-rgb), 0.4),
|
|
0 0 20px rgba(var(--primary-rgb), 0.2),
|
|
0 10px 30px rgba(var(--primary-rgb), 0.2);
|
|
animation: terminal-glow 4s ease-in-out infinite alternate;
|
|
}
|
|
|
|
@keyframes terminal-glow {
|
|
0% {
|
|
box-shadow:
|
|
0 0 8px rgba(var(--primary-rgb), 0.4),
|
|
0 0 20px rgba(var(--primary-rgb), 0.2),
|
|
0 10px 30px rgba(var(--primary-rgb), 0.2);
|
|
}
|
|
100% {
|
|
box-shadow:
|
|
0 0 12px rgba(var(--primary-rgb), 0.5),
|
|
0 0 25px rgba(var(--primary-rgb), 0.3),
|
|
0 10px 30px rgba(var(--primary-rgb), 0.2);
|
|
}
|
|
}
|
|
|
|
/* Smooth transitions */
|
|
.transition-theme {
|
|
@apply transition-colors duration-300 ease-out;
|
|
}
|
|
|
|
/* Post card hover */
|
|
.post-card {
|
|
@apply relative;
|
|
}
|
|
|
|
.post-card::before {
|
|
content: '';
|
|
@apply absolute left-0 top-0 bottom-0 w-1 rounded-l opacity-0 transition-opacity duration-300;
|
|
background-color: var(--post-border-color, var(--primary));
|
|
}
|
|
|
|
.post-card:hover {
|
|
@apply translate-x-2;
|
|
}
|
|
|
|
.post-card:hover::before {
|
|
@apply opacity-100;
|
|
}
|
|
|
|
/* ASCII art */
|
|
.ascii-art {
|
|
font-family: 'Courier New', monospace;
|
|
@apply text-xs sm:text-sm text-[var(--primary)] whitespace-pre;
|
|
}
|
|
|
|
/* Cursor blink */
|
|
.cursor {
|
|
@apply inline-block w-2.5 h-4 align-middle ml-0.5;
|
|
background-color: var(--primary);
|
|
animation: blink 1s infinite;
|
|
}
|
|
|
|
@keyframes blink {
|
|
0%, 100% { opacity: 1; }
|
|
50% { opacity: 0; }
|
|
}
|