github-actions[bot]
Deploying latest backend to Hugging Face
20256e7
Raw
History Blame Contribute Delete
5.43 kB
/* ============================================================
GLOBAL TOKENS — Light theme (existing pages)
============================================================ */
:root {
/* Brand */
--primary-color: #6366f1;
--primary-hover: #4f46e5;
--secondary-color:#475569;
/* Surfaces */
--background-color: #f8fafc;
--surface-color: #ffffff;
--surface-2-color: #f1f5f9;
/* Text */
--text-primary: #1e293b;
--text-secondary: #64748b;
--text-muted: #94a3b8;
/* Borders */
--border-color: #e2e8f0;
/* Feedback */
--success-color: #10b981;
--error-color: #ef4444;
--warning-color: #f59e0b;
/* Typography */
--font-sans: 'Inter', system-ui, -apple-system, sans-serif;
/* Radii */
--radius-sm: 6px;
--radius-md: 10px;
--radius-lg: 16px;
--radius-xl: 22px;
--radius-full: 9999px;
/* Shadows */
--shadow-sm: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
--shadow-md: 0 4px 12px rgba(0,0,0,0.10);
--shadow-lg: 0 10px 30px rgba(0,0,0,0.12);
}
/* ============================================================
DARK THEME TOKENS — applied via [data-theme="dark"]
Used by: Signup, Login, and all auth/landing pages
============================================================ */
[data-theme="dark"] {
color-scheme: dark;
/* Backgrounds */
--background-color: #080808;
--surface-color: #111111;
--surface-2-color: #181818;
/* Text */
--text-primary: #f0f0f0;
--text-secondary: #888888;
--text-muted: #555555;
/* Borders */
--border-color: rgba(255, 255, 255, 0.07);
--border-color-glow: rgba(99, 102, 241, 0.4);
/* Brand accents */
--accent-1: #6366f1; /* indigo */
--accent-2: #a855f7; /* violet */
--accent-3: #06b6d4; /* cyan */
--accent-success: #10b981;
--accent-error: #f87171;
/* Glow helpers */
--glow-sm: 0 0 12px rgba(99, 102, 241, 0.45);
--glow-md: 0 0 30px rgba(99, 102, 241, 0.35);
--glow-lg: 0 0 60px rgba(99, 102, 241, 0.25);
/* Map existing token names to dark values (used by Auth.css, etc.) */
--primary-color: #6366f1;
--primary-hover: #4f46e5;
--background-color: #080808;
--surface-color: #111111;
--surface-2-color: #181818;
--text-primary: #f0f0f0;
--text-secondary: #888888;
--text-muted: #555555;
--border-color: rgba(255, 255, 255, 0.07);
--success-color: #10b981;
--error-color: #f87171;
/* Shadows (deeper on dark) */
--shadow-sm: 0 1px 3px rgba(0,0,0,0.4);
--shadow-md: 0 4px 16px rgba(0,0,0,0.5);
--shadow-lg: 0 16px 48px rgba(0,0,0,0.6);
}
/* ============================================================
BASE RESET & GLOBAL STYLES
============================================================ */
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
*, *::before, *::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
}
/* Screen-reader-only utility */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
/* Global focus-visible ring */
:focus-visible {
outline: 2px solid var(--accent-1, #6366f1);
outline-offset: 2px;
}
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
outline: none;
}
body {
font-family: var(--font-sans);
background-color: var(--background-color);
color: var(--text-primary);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
line-height: 1.5;
transition: background-color 0.3s, color 0.3s;
}
a {
text-decoration: none;
color: inherit;
}
button {
cursor: pointer;
font-family: inherit;
border: none;
background: none;
}
img, svg {
display: block;
max-width: 100%;
}
h1, h2, h3, h4, h5, h6 {
font-weight: 600;
line-height: 1.2;
}
input, textarea, select {
font-family: inherit;
}
/* ============================================================
SHARED UTILITY CLASSES (used across multiple pages)
============================================================ */
/* Primary button — dark-theme aware */
.btn-primary-dark {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
padding: 0.85rem 2rem;
border-radius: var(--radius-md);
font-size: 1rem;
font-weight: 700;
color: #fff;
background: linear-gradient(135deg, var(--accent-1, #6366f1), var(--accent-2, #a855f7));
border: none;
cursor: pointer;
transition: transform 0.2s, box-shadow 0.2s, opacity 0.2s;
position: relative;
overflow: hidden;
}
.btn-primary-dark:hover {
transform: translateY(-2px);
box-shadow: var(--glow-sm, 0 0 12px rgba(99,102,241,0.45));
}
.btn-primary-dark:disabled {
opacity: 0.6;
cursor: not-allowed;
transform: none;
}
/* Shared dark-page full-screen wrapper */
.dark-page {
min-height: 100vh;
background-color: var(--background-color);
color: var(--text-primary);
font-family: var(--font-sans);
overflow-x: hidden;
}
/* Shared gradient orbs (reused in home + auth pages) */
.page-orb {
position: absolute;
border-radius: 50%;
filter: blur(90px);
pointer-events: none;
}