Files
anvil-hosting/src/input.css
kappa 22650fb5bd Apply Modern Glassmorphism design upgrade
- Add glassmorphism utilities (glass-card, glass-panel, gradient-text)
- Upgrade Hero section with animated blobs and gradient effects
- Enhance Features, Pricing, Domain sections with glass styling
- Add n8n workflow screenshot (cropped diagram only)
- Redesign Telegram chat UI to match actual Telegram dark theme
- Add scroll animations and glow effects
- Improve Footer with brand logo and gradient accents

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 22:36:01 +09:00

351 lines
7.9 KiB
CSS

@import "tailwindcss";
/* Custom theme configuration */
@theme {
--font-sans: 'Pretendard', sans-serif;
--font-mono: 'JetBrains Mono', monospace;
--color-brand-400: #38bdf8;
--color-brand-500: #0ea5e9;
--color-brand-600: #0284c7;
--color-brand-900: #0c4a6e;
--color-dark-900: #0b1120;
--color-dark-800: #1e293b;
--color-dark-700: #334155;
--animate-float: float 6s ease-in-out infinite;
--animate-glow: glow 2s ease-in-out infinite alternate;
--animate-shimmer: shimmer 2s linear infinite;
--animate-fade-up: fade-up 0.6s ease-out forwards;
--animate-scale-in: scale-in 0.3s ease-out forwards;
--animate-blob: blob 7s infinite;
@keyframes float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-20px); }
}
@keyframes glow {
from { opacity: 0.5; }
to { opacity: 1; }
}
@keyframes shimmer {
0% { background-position: -200% 0; }
100% { background-position: 200% 0; }
}
@keyframes fade-up {
from { opacity: 0; transform: translateY(30px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes scale-in {
from { opacity: 0; transform: scale(0.9); }
to { opacity: 1; transform: scale(1); }
}
@keyframes blob {
0% { transform: translate(0px, 0px) scale(1); }
33% { transform: translate(30px, -50px) scale(1.1); }
66% { transform: translate(-20px, 20px) scale(0.9); }
100% { transform: translate(0px, 0px) scale(1); }
}
}
/* Base styles */
body {
background-color: #0b1120;
color: #e2e8f0;
}
/* Enhanced Glass Panels */
.glass-panel {
background: rgba(30, 41, 59, 0.4);
backdrop-filter: blur(12px);
border: 1px solid rgba(255, 255, 255, 0.05);
}
.glass-card {
background: linear-gradient(135deg, rgba(30, 41, 59, 0.6) 0%, rgba(30, 41, 59, 0.3) 100%);
backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.08);
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.glass-card:hover {
background: linear-gradient(135deg, rgba(30, 41, 59, 0.8) 0%, rgba(30, 41, 59, 0.5) 100%);
border-color: rgba(255, 255, 255, 0.15);
transform: translateY(-4px);
box-shadow:
0 20px 40px rgba(0, 0, 0, 0.3),
0 0 40px rgba(56, 189, 248, 0.1);
}
.glass-card-static {
background: linear-gradient(135deg, rgba(30, 41, 59, 0.6) 0%, rgba(30, 41, 59, 0.3) 100%);
backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.08);
}
/* Gradient Text */
.gradient-text {
background: linear-gradient(135deg, #38bdf8 0%, #a855f7 50%, #38bdf8 100%);
background-size: 200% auto;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.gradient-text-animated {
background: linear-gradient(90deg, #38bdf8, #a855f7, #38bdf8);
background-size: 200% auto;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
animation: shimmer 3s linear infinite;
}
/* Glow Effects */
.glow-brand {
box-shadow: 0 0 40px rgba(56, 189, 248, 0.3);
}
.glow-purple {
box-shadow: 0 0 40px rgba(168, 85, 247, 0.3);
}
.glow-border {
position: relative;
}
.glow-border::before {
content: '';
position: absolute;
inset: -1px;
border-radius: inherit;
background: linear-gradient(135deg, rgba(56, 189, 248, 0.5), rgba(168, 85, 247, 0.5));
z-index: -1;
opacity: 0;
transition: opacity 0.4s ease;
}
.glow-border:hover::before {
opacity: 1;
}
/* Background Effects */
.grid-bg {
background-image: linear-gradient(rgba(56, 189, 248, 0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(56, 189, 248, 0.03) 1px, transparent 1px);
background-size: 40px 40px;
}
.gradient-bg {
background: radial-gradient(ellipse 80% 50% at 50% -20%, rgba(56, 189, 248, 0.15), transparent),
radial-gradient(ellipse 60% 40% at 80% 50%, rgba(168, 85, 247, 0.1), transparent);
}
.noise-bg {
position: relative;
}
.noise-bg::before {
content: '';
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
opacity: 0.02;
pointer-events: none;
}
/* Animated Blobs */
.blob {
position: absolute;
border-radius: 50%;
filter: blur(60px);
opacity: 0.5;
animation: blob 7s infinite;
}
.blob-1 {
animation-delay: 0s;
}
.blob-2 {
animation-delay: 2s;
}
.blob-3 {
animation-delay: 4s;
}
/* Button Effects */
.btn-glow {
position: relative;
overflow: hidden;
transition: all 0.3s ease;
}
.btn-glow::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
transform: translateX(-100%);
transition: transform 0.6s ease;
}
.btn-glow:hover::before {
transform: translateX(100%);
}
.btn-glow:hover {
box-shadow: 0 0 30px rgba(56, 189, 248, 0.5);
}
/* Feature Cards with Accent */
.feature-card {
position: relative;
overflow: hidden;
}
.feature-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: var(--accent-color, #38bdf8);
transform: scaleX(0);
transform-origin: left;
transition: transform 0.4s ease;
}
.feature-card:hover::before {
transform: scaleX(1);
}
.feature-card[data-accent="brand"] { --accent-color: #38bdf8; }
.feature-card[data-accent="purple"] { --accent-color: #a855f7; }
.feature-card[data-accent="green"] { --accent-color: #22c55e; }
.feature-card[data-accent="red"] { --accent-color: #ef4444; }
/* Pricing Card Highlight */
.pricing-featured {
position: relative;
background: linear-gradient(135deg, rgba(56, 189, 248, 0.1) 0%, rgba(168, 85, 247, 0.05) 100%);
}
.pricing-featured::before {
content: '';
position: absolute;
inset: -1px;
border-radius: inherit;
padding: 1px;
background: linear-gradient(135deg, rgba(56, 189, 248, 0.5), rgba(168, 85, 247, 0.3));
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
}
/* Chat Animation */
.chat-bubble {
opacity: 0;
transform: translateY(10px);
animation: chat-enter 0.5s forwards;
}
@keyframes chat-enter {
to {
opacity: 1;
transform: translateY(0);
}
}
.delay-1 { animation-delay: 0.5s; }
.delay-2 { animation-delay: 1.5s; }
.delay-3 { animation-delay: 2.5s; }
.delay-4 { animation-delay: 3.5s; }
/* Scroll Animations */
.animate-on-scroll {
opacity: 0;
transform: translateY(30px);
transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.animate-on-scroll.visible {
opacity: 1;
transform: translateY(0);
}
/* Terminal Glow */
.terminal-glow {
box-shadow:
0 0 0 1px rgba(56, 189, 248, 0.1),
0 20px 50px rgba(0, 0, 0, 0.5),
inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
/* Icon Glow on Hover */
.icon-glow {
transition: all 0.3s ease;
}
.icon-glow:hover {
filter: drop-shadow(0 0 10px currentColor);
}
/* Smooth underline animation */
.underline-animation {
position: relative;
}
.underline-animation::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 100%;
height: 2px;
background: linear-gradient(90deg, #38bdf8, #a855f7);
transform: scaleX(0);
transform-origin: right;
transition: transform 0.3s ease;
}
.underline-animation:hover::after {
transform: scaleX(1);
transform-origin: left;
}
/* Stagger animation delays */
.stagger-1 { animation-delay: 0.1s; }
.stagger-2 { animation-delay: 0.2s; }
.stagger-3 { animation-delay: 0.3s; }
.stagger-4 { animation-delay: 0.4s; }
.stagger-5 { animation-delay: 0.5s; }
/* Custom Scrollbar */
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: rgba(30, 41, 59, 0.5);
}
::-webkit-scrollbar-thumb {
background: rgba(56, 189, 248, 0.3);
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: rgba(56, 189, 248, 0.5);
}