Restructuration majeure du projet: migration de flutt vers app, ajout de l'API et mise à jour du site web

This commit is contained in:
d6soft
2025-05-16 09:19:03 +02:00
parent b5aafc424b
commit 5c2620de30
391 changed files with 19780 additions and 7233 deletions

View File

@@ -2,82 +2,115 @@
@import "tailwindcss/components";
@import "tailwindcss/utilities";
@font-face {
font-family: 'Figtree';
src: url('/fonts/Figtree-VariableFont_wght.ttf') format('truetype');
font-weight: 100 900;
font-style: normal;
font-display: swap;
}
:root {
font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
font-family: 'Figtree', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
line-height: 1.5;
font-weight: 400;
color-scheme: light dark;
color: rgba(255, 255, 255, 0.87);
background-color: #242424;
color: #333333;
background-color: #ffffff;
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
a {
font-weight: 500;
color: #646cff;
text-decoration: inherit;
}
a:hover {
color: #535bf2;
html, body {
height: 100%;
margin: 0;
padding: 0;
scroll-behavior: smooth;
}
body {
margin: 0;
display: flex;
place-items: center;
min-width: 320px;
min-height: 100vh;
}
h1 {
font-size: 3.2em;
line-height: 1.1;
}
.card {
padding: 2em;
}
#app {
display: flex;
flex-direction: column;
min-height: 100vh;
}
/* Aspect ratio utilities */
.aspect-w-16 {
position: relative;
padding-bottom: calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%);
--tw-aspect-w: 16;
}
.aspect-h-9 {
--tw-aspect-h: 9;
}
.aspect-w-16 > * {
position: absolute;
height: 100%;
width: 100%;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
/* Animation utilities */
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
.animate-fadeIn {
animation: fadeIn 0.5s ease-in-out;
}
/* Custom container for sections */
.container {
width: 100%;
max-width: 1280px;
margin: 0 auto;
padding: 2rem;
text-align: center;
margin-left: auto;
margin-right: auto;
}
button {
border-radius: 8px;
border: 1px solid transparent;
padding: 0.6em 1.2em;
font-size: 1em;
font-weight: 500;
font-family: inherit;
background-color: #1a1a1a;
cursor: pointer;
transition: border-color 0.25s;
}
button:hover {
border-color: #646cff;
}
button:focus,
button:focus-visible {
outline: 4px auto -webkit-focus-ring-color;
/* Custom focus styles */
*:focus-visible {
outline: 2px solid #3b82f6;
outline-offset: 2px;
}
@media (prefers-color-scheme: light) {
:root {
color: #213547;
background-color: #ffffff;
/* Responsive typography */
@media (max-width: 640px) {
h1 {
font-size: 2rem !important;
}
a:hover {
color: #747bff;
h2 {
font-size: 1.5rem !important;
}
button {
background-color: #f9f9f9;
h3 {
font-size: 1.25rem !important;
}
}
/* Cookie consent modal styles */
.blur-effect {
filter: blur(4px);
pointer-events: none;
user-select: none;
}
/* Animation pour la modal de cookies */
@keyframes slideUp {
from { transform: translateY(20px); opacity: 0; }
to { transform: translateY(0); opacity: 1; }
}
.cookie-modal {
animation: slideUp 0.3s ease-out forwards;
}