Extract glass system into shared CSS utilities and design tokens

Centralize all hardcoded rgba color values into CSS custom properties
and extract glass/glow styles into reusable utility classes (.glass,
.glass-inner, .glow-border, .glow-border--animated) in main.css.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-09 18:35:36 +01:00
parent 29974704d0
commit 019ead7be3
7 changed files with 133 additions and 55 deletions

View File

@@ -1,6 +1,6 @@
<template>
<RouterLink to="/create" class="fab" aria-label="Create event">
<span class="fab__inner">
<RouterLink to="/create" class="fab glow-border" aria-label="Create event">
<span class="fab__inner glass-inner">
<span class="fab__icon" aria-hidden="true">+</span>
</span>
</RouterLink>
@@ -18,37 +18,19 @@ import { RouterLink } from 'vue-router'
width: 56px;
height: 56px;
border-radius: 50%;
background: conic-gradient(from 135deg, #F06292, #AB47BC, #5C6BC0, #F06292);
color: #fff;
display: flex;
align-items: center;
justify-content: center;
text-decoration: none;
z-index: 100;
padding: 2px;
transition: transform 0.15s ease;
}
.fab::before {
content: '';
position: absolute;
inset: -4px;
border-radius: 50%;
background: conic-gradient(from 135deg, #F06292, #AB47BC, #5C6BC0, #F06292);
filter: blur(8px);
opacity: 0.3;
z-index: -1;
}
.fab__inner {
width: 100%;
height: 100%;
border-radius: 50%;
background: rgba(27, 23, 48, 0.55);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
display: flex;
align-items: center;
justify-content: center;