200 lines
4.7 KiB
CSS
200 lines
4.7 KiB
CSS
|
|
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Outfit:wght@300;400;500;600&family=Fredoka:wght@300..700&display=swap');
|
||
|
|
@import "tailwindcss";
|
||
|
|
|
||
|
|
@theme {
|
||
|
|
--font-sans: "Outfit", ui-sans-serif, system-ui, sans-serif;
|
||
|
|
--font-serif: "Cormorant Garamond", ui-serif, Georgia, serif;
|
||
|
|
--font-display: "Fredoka", sans-serif;
|
||
|
|
|
||
|
|
--color-cloud: #F8F7FF;
|
||
|
|
--color-night: #2D2D3A;
|
||
|
|
--color-star: #FFD700;
|
||
|
|
--color-dream-pink: #FFD6E0;
|
||
|
|
--color-dream-blue: #C1D3FE;
|
||
|
|
--color-dream-purple: #E0C3FC;
|
||
|
|
--color-dream-coral: #FF9F89;
|
||
|
|
}
|
||
|
|
|
||
|
|
body {
|
||
|
|
background-color: var(--color-cloud);
|
||
|
|
color: var(--color-night);
|
||
|
|
-webkit-font-smoothing: antialiased;
|
||
|
|
-moz-osx-font-smoothing: grayscale;
|
||
|
|
overflow-x: hidden;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Keyframe animations */
|
||
|
|
|
||
|
|
@keyframes float {
|
||
|
|
0% { transform: translateY(0px) rotate(0deg); }
|
||
|
|
50% { transform: translateY(-20px) rotate(2deg); }
|
||
|
|
100% { transform: translateY(0px) rotate(0deg); }
|
||
|
|
}
|
||
|
|
|
||
|
|
.animate-float {
|
||
|
|
animation: float 6s ease-in-out infinite;
|
||
|
|
}
|
||
|
|
|
||
|
|
@keyframes blob {
|
||
|
|
0% { transform: scale(1); }
|
||
|
|
33% { transform: scale(1.1) translate(10px, -10px); }
|
||
|
|
66% { transform: scale(0.9) translate(-10px, 10px); }
|
||
|
|
100% { transform: scale(1); }
|
||
|
|
}
|
||
|
|
|
||
|
|
.animate-blob {
|
||
|
|
animation: blob 10s infinite alternate;
|
||
|
|
}
|
||
|
|
|
||
|
|
.animation-delay-2000 {
|
||
|
|
animation-delay: 2s;
|
||
|
|
}
|
||
|
|
|
||
|
|
.animation-delay-4000 {
|
||
|
|
animation-delay: 4s;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Scroll-triggered animations (Intersection Observer) */
|
||
|
|
|
||
|
|
.fade-up {
|
||
|
|
opacity: 0;
|
||
|
|
transform: translateY(2rem);
|
||
|
|
transition: opacity 0.6s ease, transform 0.6s ease;
|
||
|
|
}
|
||
|
|
|
||
|
|
.fade-up.visible {
|
||
|
|
opacity: 1;
|
||
|
|
transform: translateY(0);
|
||
|
|
}
|
||
|
|
|
||
|
|
.fade-right {
|
||
|
|
opacity: 0;
|
||
|
|
transform: translateX(2rem);
|
||
|
|
transition: opacity 0.6s ease, transform 0.6s ease;
|
||
|
|
}
|
||
|
|
|
||
|
|
.fade-right.visible {
|
||
|
|
opacity: 1;
|
||
|
|
transform: translateX(0);
|
||
|
|
}
|
||
|
|
|
||
|
|
.fade-scale {
|
||
|
|
opacity: 0;
|
||
|
|
transform: scale(0.9);
|
||
|
|
transition: opacity 1s ease, transform 1s ease;
|
||
|
|
}
|
||
|
|
|
||
|
|
.fade-scale.visible {
|
||
|
|
opacity: 1;
|
||
|
|
transform: scale(1);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Page entrance animation */
|
||
|
|
|
||
|
|
@keyframes entrance {
|
||
|
|
from { opacity: 0; transform: translateY(1.5rem); }
|
||
|
|
to { opacity: 1; transform: translateY(0); }
|
||
|
|
}
|
||
|
|
|
||
|
|
.animate-entrance {
|
||
|
|
animation: entrance 0.6s ease forwards;
|
||
|
|
}
|
||
|
|
|
||
|
|
@keyframes entrance-scale {
|
||
|
|
from { opacity: 0; transform: scale(0.9); }
|
||
|
|
to { opacity: 1; transform: scale(1); }
|
||
|
|
}
|
||
|
|
|
||
|
|
.animate-entrance-scale {
|
||
|
|
animation: entrance-scale 1s ease forwards;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Mobile menu animation */
|
||
|
|
|
||
|
|
@keyframes slideDown {
|
||
|
|
from { opacity: 0; transform: translateY(-1rem); }
|
||
|
|
to { opacity: 1; transform: translateY(0); }
|
||
|
|
}
|
||
|
|
|
||
|
|
.animate-slide-down {
|
||
|
|
animation: slideDown 0.3s ease forwards;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ═══════════════════════════════════════════
|
||
|
|
THÈMES - Sélecteur temporaire de palette
|
||
|
|
═══════════════════════════════════════════ */
|
||
|
|
|
||
|
|
/* Crépuscule & Cuivre — Théâtre classique, velours, projecteurs */
|
||
|
|
[data-theme="crepuscule"] {
|
||
|
|
--color-cloud: #F5EFE6;
|
||
|
|
--color-night: #1A1A2E;
|
||
|
|
--color-star: #C9956B;
|
||
|
|
--color-dream-pink: #E8D5B7;
|
||
|
|
--color-dream-blue: #3A506B;
|
||
|
|
--color-dream-purple: #C9956B;
|
||
|
|
--color-dream-coral: #D4443B;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Forêt enchantée — Conte, nature mystérieuse, rêve enraciné */
|
||
|
|
[data-theme="foret"] {
|
||
|
|
--color-cloud: #F2EDE4;
|
||
|
|
--color-night: #1B2D2A;
|
||
|
|
--color-star: #D4A843;
|
||
|
|
--color-dream-pink: #D4A843;
|
||
|
|
--color-dream-blue: #3D5A47;
|
||
|
|
--color-dream-purple: #7A9E6B;
|
||
|
|
--color-dream-coral: #C17F3E;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Nuit étoilée — Scène dans le noir, dramatique, onirique */
|
||
|
|
[data-theme="nuit"] {
|
||
|
|
--color-cloud: #0D0D1A;
|
||
|
|
--color-night: #F0ECE2;
|
||
|
|
--color-star: #C8A961;
|
||
|
|
--color-dream-pink: #C8A961;
|
||
|
|
--color-dream-blue: #6B5FB5;
|
||
|
|
--color-dream-purple: #4A3F8A;
|
||
|
|
--color-dream-coral: #C8A961;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Nuit étoilée — Overrides pour les bg-white hardcodés */
|
||
|
|
[data-theme="nuit"] nav.bg-white\/80,
|
||
|
|
[data-theme="nuit"] nav[class*="bg-white"] {
|
||
|
|
background-color: rgba(13, 13, 26, 0.85) !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
[data-theme="nuit"] #mobile-menu {
|
||
|
|
background-color: rgba(13, 13, 26, 0.95) !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Aube rosée — Chaleur, poésie, douceur mature */
|
||
|
|
[data-theme="aube"] {
|
||
|
|
--color-cloud: #FAF4F0;
|
||
|
|
--color-night: #2C1A2E;
|
||
|
|
--color-star: #C0785A;
|
||
|
|
--color-dream-pink: #D4A88C;
|
||
|
|
--color-dream-blue: #7A4A6A;
|
||
|
|
--color-dream-purple: #6B3A5A;
|
||
|
|
--color-dream-coral: #C0785A;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Custom scrollbar */
|
||
|
|
|
||
|
|
::-webkit-scrollbar {
|
||
|
|
width: 10px;
|
||
|
|
}
|
||
|
|
|
||
|
|
::-webkit-scrollbar-track {
|
||
|
|
background: var(--color-cloud);
|
||
|
|
}
|
||
|
|
|
||
|
|
::-webkit-scrollbar-thumb {
|
||
|
|
background: var(--color-dream-purple);
|
||
|
|
border-radius: 10px;
|
||
|
|
border: 3px solid var(--color-cloud);
|
||
|
|
}
|
||
|
|
|
||
|
|
::-webkit-scrollbar-thumb:hover {
|
||
|
|
background: var(--color-dream-coral);
|
||
|
|
}
|