veza/apps/web/src/styles/design-tokens.css

206 lines
No EOL
5.4 KiB
CSS

/* ============================================
DESIGN TOKENS - VIBRANT NEBULA & FROZEN GLASS
============================================ */
/*
Global Theme Config using Tailwind v4 @theme directive
Static values (spacing, fonts, radius) remain constant across themes.
Colors are mapped to CSS variables handled by the [data-theme] attribute.
*/
@theme {
--spacing-0: 0;
--spacing-1: 0.25rem;
--spacing-2: 0.5rem;
--spacing-3: 0.75rem;
--spacing-4: 1rem;
--spacing-5: 1.25rem;
--spacing-6: 1.5rem;
--spacing-8: 2rem;
--spacing-10: 2.5rem;
--spacing-12: 3rem;
--spacing-16: 4rem;
--spacing-20: 5rem;
--spacing-24: 6rem;
--spacing-28: 7rem;
--spacing-32: 8rem;
--spacing-36: 9rem;
--spacing-40: 10rem;
--spacing-44: 11rem;
--spacing-48: 12rem;
--spacing-52: 13rem;
--spacing-56: 14rem;
--spacing-60: 15rem;
--spacing-64: 16rem;
--spacing-72: 18rem;
--spacing-80: 20rem;
--spacing-96: 24rem;
--width-xs: 20rem;
--width-sm: 24rem;
--width-md: 28rem;
--width-lg: 32rem;
--width-xl: 36rem;
--width-2xl: 42rem;
--width-3xl: 48rem;
--width-4xl: 56rem;
--width-5xl: 64rem;
--width-6xl: 72rem;
--width-7xl: 80rem;
--breakpoint-sm: 640px;
--breakpoint-md: 768px;
--breakpoint-lg: 1024px;
--breakpoint-xl: 1280px;
--breakpoint-2xl: 1536px;
--font-sans: 'Inter', -apple-system, sans-serif;
--font-display: 'Space Grotesk', sans-serif;
--font-mono: 'JetBrains Mono', monospace;
--radius-sm: 0.375rem;
--radius-md: 0.5rem;
--radius-lg: 0.75rem;
--radius-xl: 1rem;
--radius-full: 9999px;
--transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
--transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
--transition-smooth: 400ms cubic-bezier(0.16, 1, 0.3, 1);
}
/* ============================================
THEME DEFINITIONS
============================================ */
/* 1. DEFAULT DARK THEME: "TWILIGHT DEEP NEBULA" */
@layer base {
:root,
[data-theme="dark"] {
/* === CORE PALETTE === */
--kodo-void: 15 23 42;
/* Slate 900 - Twilight Base */
--kodo-ink: 2 6 23;
/* Slate 950 - Deepest Depth */
--kodo-graphite: 30 41 59;
/* Slate 800 - Surfaces */
--kodo-slate: 51 65 85;
/* Slate 700 - Borders/Separators */
/* === TEXT === */
--kodo-text-main: 255 255 255;
/* Pure White */
--kodo-text-dim: 148 163 184;
/* Slate 400 */
/* === ACCENTS (ELECTRIC) === */
--kodo-cyan: 34 211 238;
/* Cyan 400 - Neon */
--kodo-cyan-dim: 6 182 212;
/* Cyan 500 */
--kodo-magenta: 232 121 249;
/* Fuchsia 400 */
--kodo-violet: 167 139 250;
/* Violet 400 */
--kodo-lime: 163 230 53;
/* Lime 400 */
--kodo-gold: 250 204 21;
/* Yellow 400 */
--kodo-red: 248 113 113;
/* Red 400 */
/* === SEMANTIC GLASS VARIABLES === */
/* HUD */
--glass-hud-bg: rgba(15, 23, 42, 0.6);
--glass-hud-border: 255 255 255;
/* Used with opacity */
--glass-hud-border-opacity: 0.15;
/* CARDS */
--glass-card-bg-base: 30 41 59;
/* RGB of Graphite */
--glass-card-bg-opacity: 0.4;
--glass-card-border: 255 255 255;
--glass-card-border-opacity: 0.2;
/* GLOBAL GRADIENTS */
--gradient-glow-cyan: rgba(34, 211, 238, 0.45);
--gradient-glow-magenta: rgba(232, 121, 249, 0.45);
--gradient-glow-violet: rgba(167, 139, 250, 0.25);
--gradient-glow-highlight: rgba(255, 255, 255, 0.1);
}
/* 2. LIGHT THEME: "FROZEN GLASS" */
[data-theme="light"] {
/* === CORE PALETTE === */
--kodo-void: 248 250 252;
/* Slate 50 - Snow Base */
--kodo-ink: 255 255 255;
/* White - Purest */
--kodo-graphite: 226 232 240;
/* Slate 200 - Surface */
--kodo-slate: 203 213 225;
/* Slate 300 - Borders */
/* === TEXT === */
--kodo-text-main: 15 23 42;
/* Slate 900 - Dark Text */
--kodo-text-dim: 100 116 139;
/* Slate 500 */
/* === ACCENTS (FROSTED) === */
--kodo-cyan: 2 132 199;
/* Sky 600 - Deep Blue */
--kodo-cyan-dim: 14 165 233;
/* Sky 500 */
--kodo-magenta: 192 38 211;
/* Fuchsia 600 */
--kodo-violet: 124 58 237;
/* Violet 600 */
--kodo-lime: 101 163 13;
/* Lime 600 */
--kodo-gold: 234 179 8;
/* Yellow 600 */
--kodo-red: 220 38 38;
/* Red 600 */
/* === SEMANTIC GLASS VARIABLES === */
/* HUD */
--glass-hud-bg: rgba(255, 255, 255, 0.85);
/* Frosty white */
--glass-hud-border: 203 213 225;
/* Slate 300 */
--glass-hud-border-opacity: 0.6;
/* CARDS */
--glass-card-bg-base: 255 255 255;
--glass-card-bg-opacity: 0.7;
--glass-card-border: 255 255 255;
/* White borders on frost looks clean */
--glass-card-border-opacity: 0.8;
/* GLOBAL GRADIENTS (Pastel/Soft) */
--gradient-glow-cyan: rgba(14, 165, 233, 0.25);
--gradient-glow-magenta: rgba(192, 38, 211, 0.25);
--gradient-glow-violet: rgba(139, 92, 246, 0.15);
--gradient-glow-highlight: rgba(255, 255, 255, 0.8);
}
}
/* ============================================
UTILITIES
============================================ */
/* Glass Panel Standard */
.glass-panel {
background: rgba(var(--glass-card-bg-base), var(--glass-card-bg-opacity));
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
border: 1px solid rgba(var(--glass-card-border), var(--glass-card-border-opacity));
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}
/* Neon Text Helper */
.text-glow {
text-shadow: 0 0 15px currentColor;
}