feat(web): vibe coding pazzo
All checks were successful
Build, Test and Deploy / test-backend (push) Successful in 13s
Build, Test and Deploy / build-and-push (push) Successful in 28s
Build, Test and Deploy / deploy (push) Successful in 5s

This commit is contained in:
2026-02-02 17:38:03 +01:00
parent 5a2da916fa
commit 2c658d00c1
56 changed files with 1676 additions and 1987 deletions

View File

@@ -1,119 +1,47 @@
/* Global Styles & Variables */
:root {
/* Color Palette - Modern Dark Theme */
--primary-color: #6366f1; /* Indigo 500 */
--primary-hover: #4f46e5; /* Indigo 600 */
--secondary-color: #ec4899; /* Pink 500 */
--bg-color: #0f172a; /* Slate 900 */
--surface-color: #1e293b; /* Slate 800 */
--surface-hover: #334155; /* Slate 700 */
--text-main: #f8fafc; /* Slate 50 */
--text-muted: #94a3b8; /* Slate 400 */
--border-color: #334155;
/* Spacing & Radius */
--radius-sm: 0.375rem;
--radius-md: 0.5rem;
--radius-lg: 0.75rem;
--radius-xl: 1rem;
/* Shadows */
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
/* Transitions */
--transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
/* src/styles.scss */
@use './styles/theme';
html, body {
height: 100%;
/* Reset / Base */
*, *::before, *::after {
box-sizing: border-box;
}
body {
margin: 0;
font-family: 'Roboto', 'Helvetica Neue', sans-serif;
background-color: var(--bg-color);
color: var(--text-main);
font-family: var(--font-family-sans);
background-color: var(--color-bg);
color: var(--color-text);
line-height: 1.5;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* Common Layout Utilities */
.container {
max-width: 1200px;
margin: 0 auto;
padding: 2rem;
h1, h2, h3, h4, h5, h6 {
margin: 0;
font-weight: 600;
line-height: 1.2;
}
.card {
background-color: var(--surface-color);
border: 1px solid var(--border-color);
border-radius: var(--radius-lg);
padding: 2rem;
box-shadow: var(--shadow-md);
transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}
.card:hover {
transform: translateY(-2px);
box-shadow: var(--shadow-lg);
}
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.75rem 1.5rem;
border-radius: var(--radius-md);
font-weight: 500;
cursor: pointer;
transition: background-color var(--transition-fast);
border: none;
font-size: 1rem;
text-decoration: none;
}
.btn-primary {
background-color: var(--primary-color);
color: white;
&:hover {
background-color: var(--primary-hover);
}
}
.btn-secondary {
background-color: transparent;
border: 1px solid var(--border-color);
color: var(--text-main);
&:hover {
background-color: var(--surface-hover);
}
}
.grid-2 {
display: grid;
grid-template-columns: 1fr;
gap: 2rem;
@media (min-width: 768px) {
grid-template-columns: repeat(2, 1fr);
}
}
h1, h2, h3 {
p {
margin-top: 0;
font-weight: 700;
letter-spacing: -0.025em;
margin-bottom: var(--space-4);
}
a {
color: var(--primary-color);
color: var(--color-brand);
text-decoration: none;
cursor: pointer;
&:hover {
text-decoration: underline;
}
}
/* Utilities */
.container {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 0 var(--space-4);
}
.text-center { text-align: center; }
.mb-4 { margin-bottom: var(--space-4); }
.mt-4 { margin-top: var(--space-4); }