Spaces:
Runtime error
Runtime error
| /* ============================================================ | |
| 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 ; | |
| animation-iteration-count: 1 ; | |
| transition-duration: 0.01ms ; | |
| scroll-behavior: auto ; | |
| } | |
| } | |
| /* 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; | |
| } |