Spaces:
Sleeping
Sleeping
Download frontend/src/styles/components.css from neongeckocom/LLM_Comparison_Tool: direct link, hf CLI and curl.
- Browser
- Download file 7.93 kB
-
https://huggingface.co/spaces/neongeckocom/LLM_Comparison_Tool/resolve/main/frontend/src/styles/components.css
- Command line
-
hf download hf://spaces/neongeckocom/LLM_Comparison_Tool/frontend/src/styles/components.css
-
curl -L -o components.css https://huggingface.co/spaces/neongeckocom/LLM_Comparison_Tool/resolve/main/frontend/src/styles/components.css
7.93 kB
| /* ── Theme variables ─────────────────────────────────────────────── */ | |
| :root[data-theme="light"] { | |
| /* Warm cream canvas so white surfaces/controls read clearly */ | |
| --bg-primary: #FAF7F1; | |
| --bg-secondary: #F3EEE6; | |
| --bg-tertiary: #EBE4D8; | |
| --bg-gradient: linear-gradient(165deg, #FBF8F3 0%, #F5EFE6 55%, #F0E9DF 100%); | |
| --text-primary: #1A1714; | |
| --text-secondary: #4A453E; | |
| --text-tertiary: #6A645C; | |
| --text-muted: #6A645C; | |
| --accent-primary: #5558E3; | |
| --accent-secondary: #7C4FE8; | |
| --accent-gradient: linear-gradient(135deg, #5558E3, #7C4FE8); | |
| --accent-light: #EDEBFA; | |
| /* Soft surfaces — brand color lives on accents/chips, not big washes */ | |
| --neon-accent: #7C4FE8; | |
| --neon-bg: #FFFFFF; | |
| --neon-border: #C9BCEF; | |
| --comp-bg: #FFFFFF; | |
| --comp-border: #C2D2EA; | |
| --query-accent: #0D9668; | |
| --border-primary: #DDD5C8; | |
| --border-muted: #E8E1D6; | |
| --shadow-sm: 0 1px 2px rgba(40, 30, 10, 0.06); | |
| --shadow-md: 0 4px 10px -2px rgba(40, 30, 10, 0.08), 0 2px 4px -2px rgba(40, 30, 10, 0.05); | |
| --shadow-lg: 0 12px 24px -6px rgba(40, 30, 10, 0.12), 0 4px 8px -4px rgba(40, 30, 10, 0.06); | |
| --card-bg: #FFFFFF; | |
| --card-hover: #F7F3EC; | |
| --sidebar-bg: #E8E0D4; | |
| /* Soft cream chrome — lighter than the page wash, not white like cards */ | |
| --header-bg: #FBF9F5; | |
| --provider-fireworks: #F97316; | |
| --provider-openai: #10A37F; | |
| --provider-gemini: #4285F4; | |
| --provider-neon: #7C4FE8; | |
| --font-body: 15px; | |
| --font-sm: 13px; | |
| --font-xs: 12px; | |
| --font-lg: 18px; | |
| --space-1: 8px; | |
| --space-2: 16px; | |
| --space-3: 24px; | |
| --focus-ring: 0 0 0 2px var(--card-bg), 0 0 0 4px var(--accent-primary); | |
| } | |
| :root[data-theme="dark"] { | |
| --bg-primary: #1F2937; | |
| --bg-secondary: #111827; | |
| --bg-tertiary: #374151; | |
| --bg-gradient: linear-gradient(135deg, #1F2937 0%, #111827 50%, #374151 100%); | |
| --text-primary: #F9FAFB; | |
| --text-secondary: #D1D5DB; | |
| --text-tertiary: #9CA3AF; | |
| --text-muted: #7C8595; | |
| --accent-primary: #818CF8; | |
| --accent-secondary: #A78BFA; | |
| --accent-gradient: linear-gradient(135deg, #818CF8, #A78BFA); | |
| --accent-light: #312E81; | |
| --neon-accent: #A78BFA; | |
| --neon-bg: #1F2937; | |
| --neon-border: #8B77C0; | |
| --comp-bg: #1F2937; | |
| --comp-border: #3D5A80; | |
| --query-accent: #34D399; | |
| --border-primary: #374151; | |
| --border-muted: #1F2937; | |
| --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3); | |
| --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4); | |
| --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5); | |
| --card-bg: #1F2937; | |
| --card-hover: #374151; | |
| --sidebar-bg: #151B26; | |
| --header-bg: #1A2332; | |
| --provider-fireworks: #FB923C; | |
| --provider-openai: #34D399; | |
| --provider-gemini: #60A5FA; | |
| --provider-neon: #A78BFA; | |
| --font-body: 15px; | |
| --font-sm: 13px; | |
| --font-xs: 12px; | |
| --font-lg: 18px; | |
| --space-1: 8px; | |
| --space-2: 16px; | |
| --space-3: 24px; | |
| --focus-ring: 0 0 0 2px var(--card-bg), 0 0 0 4px var(--accent-primary); | |
| } | |
| /* ── Base reset ─────────────────────────────────────────────────── */ | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| body { | |
| font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, | |
| Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; | |
| font-size: var(--font-body); | |
| background: var(--bg-gradient); | |
| color: var(--text-primary); | |
| min-height: 100vh; | |
| line-height: 1.5; | |
| -webkit-font-smoothing: antialiased; | |
| } | |
| /* ── Focus + a11y ───────────────────────────────────────────────── */ | |
| :focus { | |
| outline: none; | |
| } | |
| :focus-visible { | |
| outline: none; | |
| box-shadow: var(--focus-ring); | |
| } | |
| button:focus-visible, | |
| a:focus-visible, | |
| input:focus-visible, | |
| textarea:focus-visible, | |
| select:focus-visible, | |
| [tabindex]:focus-visible { | |
| box-shadow: var(--focus-ring); | |
| } | |
| @media (prefers-reduced-motion: reduce) { | |
| *, | |
| *::before, | |
| *::after { | |
| animation-duration: 0.01ms ; | |
| animation-iteration-count: 1 ; | |
| transition-duration: 0.01ms ; | |
| scroll-behavior: auto ; | |
| } | |
| .spin { | |
| animation: none ; | |
| } | |
| } | |
| /* ── Utility ────────────────────────────────────────────────────── */ | |
| .card { | |
| background: var(--card-bg); | |
| border: 1px solid var(--border-primary); | |
| border-radius: 12px; | |
| box-shadow: var(--shadow-sm); | |
| transition: box-shadow 0.2s, border-color 0.2s; | |
| } | |
| :root[data-theme="light"] .card { | |
| box-shadow: var(--shadow-md); | |
| } | |
| .card:hover { | |
| box-shadow: var(--shadow-md); | |
| } | |
| .badge { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 4px; | |
| padding: 2px 8px; | |
| border-radius: 9999px; | |
| font-size: 11px; | |
| font-weight: 600; | |
| letter-spacing: 0.02em; | |
| text-transform: uppercase; | |
| background: var(--card-bg); | |
| border: 1px solid var(--border-primary); | |
| color: var(--text-secondary); | |
| } | |
| .badge::before { | |
| content: ''; | |
| width: 6px; | |
| height: 6px; | |
| border-radius: 50%; | |
| background: currentColor; | |
| flex-shrink: 0; | |
| } | |
| .badge-neon { | |
| color: var(--provider-neon); | |
| border-color: var(--neon-border); | |
| } | |
| .badge-comp { | |
| color: var(--text-secondary); | |
| border-color: var(--comp-border); | |
| } | |
| .badge-fireworks { | |
| color: var(--provider-fireworks); | |
| border-color: color-mix(in srgb, var(--provider-fireworks) 40%, var(--border-primary)); | |
| } | |
| .badge-openai { | |
| color: var(--provider-openai); | |
| border-color: color-mix(in srgb, var(--provider-openai) 40%, var(--border-primary)); | |
| } | |
| .badge-gemini { | |
| color: var(--provider-gemini); | |
| border-color: color-mix(in srgb, var(--provider-gemini) 40%, var(--border-primary)); | |
| } | |
| :root[data-theme="dark"] .badge { | |
| background: var(--bg-tertiary); | |
| } | |
| button { | |
| cursor: pointer; | |
| font-family: inherit; | |
| } | |
| .btn-primary { | |
| background: var(--accent-gradient); | |
| color: #FFFFFF; | |
| border: none; | |
| font-weight: 600; | |
| } | |
| .btn-secondary { | |
| background: var(--card-bg); | |
| color: var(--text-secondary); | |
| border: 1px solid var(--border-primary); | |
| font-weight: 500; | |
| } | |
| .btn-secondary:hover { | |
| background: var(--card-hover); | |
| color: var(--text-primary); | |
| } | |
| .skeleton-block { | |
| border-radius: 8px; | |
| background: linear-gradient( | |
| 90deg, | |
| var(--bg-tertiary) 0%, | |
| var(--card-hover) 50%, | |
| var(--bg-tertiary) 100% | |
| ); | |
| background-size: 200% 100%; | |
| animation: skeleton-shimmer 1.2s ease-in-out infinite; | |
| } | |
| @keyframes skeleton-shimmer { | |
| 0% { background-position: 100% 0; } | |
| 100% { background-position: -100% 0; } | |
| } | |
| .empty-state { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: flex-start; | |
| gap: var(--space-1); | |
| padding: var(--space-3); | |
| border: 1px dashed var(--border-primary); | |
| border-radius: 12px; | |
| background: var(--card-bg); | |
| box-shadow: var(--shadow-sm); | |
| } | |
| .empty-state-title { | |
| font-size: var(--font-lg); | |
| font-weight: 600; | |
| color: var(--text-primary); | |
| margin: 0; | |
| } | |
| .empty-state-body { | |
| font-size: var(--font-sm); | |
| color: var(--text-secondary); | |
| margin: 0; | |
| line-height: 1.55; | |
| } | |
| /* ── Scrollbar ──────────────────────────────────────────────────── */ | |
| ::-webkit-scrollbar { | |
| width: 6px; | |
| height: 6px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: transparent; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: var(--text-muted); | |
| border-radius: 3px; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: var(--text-tertiary); | |
| } | |