Spaces:
Runtime error
Runtime error
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| TWOQUARKS LAB - HUGGINGFACE INTERFACE SYSTEM | |
| Ultra-blue quantum aesthetic with particle field | |
| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* 1. RESET & BASE */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* 2. DESIGN TOKENS */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| :root { | |
| /* Colors - Ultra Blue System */ | |
| --ultra-blue: #3B82F6; | |
| --ultra-blue-bright: #60A5FA; | |
| --ultra-blue-deep: #1E40AF; | |
| --ultra-blue-glow: rgba(39, 100, 180, 0.35); | |
| /* Neutrals */ | |
| --bg-base: #000000; | |
| --fg-primary: #FFFFFF; | |
| --fg-secondary: rgba(255, 255, 255, 0.65); | |
| --fg-tertiary: rgba(255, 255, 255, 0.40); | |
| /* Surfaces */ | |
| --surface-glass: rgba(0, 0, 0, 0.30); | |
| --surface-card: rgba(255, 255, 255, 0.04); | |
| --surface-card-hover: rgba(255, 255, 255, 0.08); | |
| --surface-input: rgba(255, 255, 255, 0.03); | |
| /* Borders */ | |
| --border-subtle: rgba(255, 255, 255, 0.08); | |
| --border-medium: rgba(255, 255, 255, 0.14); | |
| --border-accent: rgba(59, 130, 246, 0.35); | |
| /* Spacing System (8px base) */ | |
| --space-xs: 0.5rem; /* 8px */ | |
| --space-sm: 0.75rem; /* 12px */ | |
| --space-md: 1rem; /* 16px */ | |
| --space-lg: 1.5rem; /* 24px */ | |
| --space-xl: 2rem; /* 32px */ | |
| --space-2xl: 3rem; /* 48px */ | |
| /* Radius */ | |
| --radius-sm: 8px; | |
| --radius-md: 12px; | |
| --radius-lg: 16px; | |
| --radius-full: 999px; | |
| /* Typography */ | |
| --font-body: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; | |
| --font-mono: 'JetBrains Mono', 'Fira Code', monospace; | |
| /* Transitions */ | |
| --trans-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1); | |
| --trans-base: 200ms cubic-bezier(0.4, 0, 0.2, 1); | |
| --trans-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1); | |
| /* Z-index layers */ | |
| --z-base: 1; | |
| --z-dropdown: 10; | |
| --z-sticky: 20; | |
| --z-overlay: 30; | |
| --z-modal: 40; | |
| --z-canvas: 0; | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* 3. GLOBAL LAYOUT */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| html, body { | |
| height: 100%; | |
| overflow-x: hidden; | |
| } | |
| body { | |
| font-family: var(--font-body); | |
| background: var(--bg-base); | |
| color: var(--fg-primary); | |
| line-height: 1.6; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | |
| .gradio-container { | |
| background: var(--bg-base) ; | |
| color: var(--fg-primary) ; | |
| max-width: 1400px; | |
| margin: 0 auto; | |
| padding: var(--space-lg); | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* 4. QUANTUM PARTICLE FIELD (Ultra Blue) */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| #quantumField { | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| width: 100vw; | |
| height: 100vh; | |
| z-index: var(--z-canvas); | |
| background: var(--bg-base); | |
| pointer-events: none; | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* 5. MAIN APP CONTAINER */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| #tqApp { | |
| position: relative; | |
| z-index: var(--z-base); | |
| padding-top: var(--space-md); | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* 6. HERO SECTION */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .tq-hero { | |
| margin: var(--space-md) 0 var(--space-lg) 0; | |
| padding: var(--space-lg) var(--space-xl); | |
| background: var(--surface-glass); | |
| backdrop-filter: blur(16px) saturate(180%); | |
| -webkit-backdrop-filter: blur(12px) saturate(180%); | |
| border: 1px solid var(--border-subtle); | |
| border-radius: var(--radius-lg); | |
| box-shadow: 0 8px 32px rgba(0, 0, 0, 0.09); | |
| } | |
| .tq-hero__brand { | |
| font-weight: 700; | |
| font-size: 1.5rem; | |
| letter-spacing: -0.02em; | |
| background: linear-gradient(135deg, var(--fg-primary) 0%, var(--ultra-blue-bright) 100%); | |
| background-clip: text; | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| } | |
| .tq-hero__desc { | |
| margin-top: var(--space-sm); | |
| color: var(--fg-secondary); | |
| font-size: 0.95rem; | |
| line-height: 1.65; | |
| max-width: 65ch; | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* 7. NAVIGATION PILLS */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .tq-pills { | |
| display: flex; | |
| gap: var(--space-sm); | |
| flex-wrap: wrap; | |
| margin-top: var(--space-md); | |
| } | |
| .tq-pill { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 0.5rem; | |
| padding: var(--space-sm) var(--space-md); | |
| font-size: 0.875rem; | |
| font-weight: 500; | |
| color: var(--fg-primary); | |
| text-decoration: none; | |
| background: rgba(255, 255, 255, 0.02); | |
| border: 1px solid var(--border-medium); | |
| border-radius: var(--radius-full); | |
| opacity: 0.85; | |
| transition: all var(--trans-base); | |
| white-space: nowrap; | |
| } | |
| .tq-pill:hover { | |
| opacity: 1; | |
| background: rgba(255, 255, 255, 0.06); | |
| border-color: var(--border-accent); | |
| box-shadow: 0 0 16px var(--ultra-blue-glow); | |
| } | |
| .tq-pill--active { | |
| opacity: 1; | |
| background: var(--ultra-blue-glow); | |
| border-color: var(--ultra-blue); | |
| box-shadow: 0 0 0 1px var(--ultra-blue) inset, | |
| 0 0 10px var(--ultra-blue-glow); | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* 8. GRADIO COMPONENTS - PANELS & BLOCKS */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .gradio-container .gr-panel, | |
| .gradio-container [class*="gr-box"], | |
| .gradio-container .gr-form { | |
| background: var(--surface-card) ; | |
| backdrop-filter: blur(10px) ; | |
| -webkit-backdrop-filter: blur(10px) ; | |
| border: 1px solid var(--border-subtle) ; | |
| border-radius: var(--radius-md) ; | |
| padding: var(--space-lg) ; | |
| transition: all var(--trans-base) ; | |
| } | |
| .gradio-container .gr-panel:hover { | |
| background: var(--surface-card-hover) ; | |
| border-color: var(--border-medium) ; | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* 9. TABS SYSTEM */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .gradio-container .gr-tab-nav { | |
| background: transparent ; | |
| border: none ; | |
| gap: var(--space-sm) ; | |
| padding: 0 ; | |
| margin-bottom: var(--space-lg) ; | |
| } | |
| .gradio-container .gr-tab-nav button { | |
| padding: var(--space-sm) var(--space-md) ; | |
| font-size: 0.875rem ; | |
| font-weight: 500 ; | |
| color: var(--fg-primary) ; | |
| background: rgba(255, 255, 255, 0.02) ; | |
| border: 1px solid var(--border-medium) ; | |
| border-radius: var(--radius-full) ; | |
| opacity: 0.75 ; | |
| transition: all var(--trans-base) ; | |
| } | |
| .gradio-container .gr-tab-nav button:hover { | |
| opacity: 1 ; | |
| background: rgba(255, 255, 255, 0.06) ; | |
| border-color: var(--border-accent) ; | |
| } | |
| .gradio-container .gr-tab-nav button.selected, | |
| .gradio-container .gr-tab-nav button[aria-selected="true"] { | |
| opacity: 1 ; | |
| background: var(--ultra-blue-glow) ; | |
| border-color: var(--ultra-blue) ; | |
| box-shadow: 0 0 0 1px var(--ultra-blue) inset, | |
| 0 0 10px var(--ultra-blue-glow) ; | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* 10. FORM INPUTS */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .gradio-container input[type="text"], | |
| .gradio-container input[type="number"], | |
| .gradio-container textarea, | |
| .gradio-container select { | |
| background: var(--surface-input) ; | |
| border: 1px solid var(--border-medium) ; | |
| border-radius: var(--radius-md) ; | |
| color: var(--fg-primary) ; | |
| padding: var(--space-sm) var(--space-md) ; | |
| font-size: 0.9375rem ; | |
| transition: all var(--trans-base) ; | |
| } | |
| .gradio-container input:focus, | |
| .gradio-container textarea:focus, | |
| .gradio-container select:focus { | |
| outline: none ; | |
| border-color: var(--ultra-blue) ; | |
| box-shadow: 0 0 0 3px var(--ultra-blue-glow) ; | |
| } | |
| .gradio-container input[type="range"] { | |
| accent-color: var(--ultra-blue) ; | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* 11. BUTTONS */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .gradio-container button:not(.gr-tab-nav button), | |
| .gradio-container .gr-button { | |
| padding: var(--space-sm) var(--space-lg) ; | |
| font-size: 0.9375rem ; | |
| font-weight: 500 ; | |
| color: var(--fg-primary) ; | |
| background: rgba(255, 255, 255, 0.02) ; | |
| border: 1px solid var(--border-medium) ; | |
| border-radius: var(--radius-full) ; | |
| opacity: 0.40 ; | |
| cursor: pointer ; | |
| transition: all var(--trans-base) ; | |
| } | |
| .gradio-container button:hover:not(.gr-tab-nav button), | |
| .gradio-container .gr-button:hover { | |
| opacity: 1 ; | |
| background: rgba(255, 255, 255, 0.08) ; | |
| border-color: var(--border-accent) ; | |
| box-shadow: 0 0 16px var(--ultra-blue-glow) ; | |
| } | |
| .gradio-container button:active:not(.gr-tab-nav button) { | |
| transform: scale(0.98) ; | |
| } | |
| /* Primary action button variant */ | |
| .gradio-container button.primary, | |
| .gradio-container .gr-button-primary { | |
| background: var(--ultra-blue) ; | |
| border-color: var(--ultra-blue-bright) ; | |
| box-shadow: 0 4px 12px var(--ultra-blue-glow) ; | |
| } | |
| .gradio-container button.primary:hover { | |
| background: var(--ultra-blue-bright) ; | |
| box-shadow: 0 8px 24px var(--ultra-blue-glow) ; | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* 12. IMAGE GALLERY & GRID */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .gradio-container .gr-gallery { | |
| gap: var(--space-md) ; | |
| } | |
| .gradio-container .gr-gallery .gr-image, | |
| .gradio-container .gr-image-preview { | |
| border-radius: var(--radius-md) ; | |
| overflow: hidden ; | |
| border: 0.5px solid var(--border-subtle) ; | |
| transition: all var(--trans-base) ; | |
| } | |
| .gradio-container .gr-gallery .gr-image:hover { | |
| border-color: var(--ultra-blue) ; | |
| box-shadow: 0 3px 10px var(--ultra-blue-glow) ; | |
| transform: translateY(-2px) ; | |
| } | |
| /* Image container sizing */ | |
| .gradio-container .gr-image img, | |
| .gradio-container .gr-gallery img { | |
| width: 100% ; | |
| height: auto ; | |
| object-fit: inline-flex ; | |
| display: block ; | |
| } | |
| /* Grid layout for image outputs */ | |
| .gradio-container .gr-image-container, | |
| .gradio-container [class*="image-container"] { | |
| aspect-ratio: 1 / 1; | |
| max-width: 40%; | |
| border-radius: var(--radius-md); | |
| overflow: hidden; | |
| background: var(--surface-card); | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* 13. CAROUSEL / SLIDER */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .tq-carousel { | |
| position: relative; | |
| width: 40%; | |
| overflow: hidden; | |
| border-radius: var(--radius-lg); | |
| background: var(--surface-card); | |
| border: 1px solid var(--border-subtle); | |
| } | |
| .tq-carousel__track { | |
| display: flex; | |
| gap: var(--space-md); | |
| transition: transform var(--trans-slow); | |
| } | |
| .tq-carousel__item { | |
| flex: 0 0 auto; | |
| width: 20px; | |
| aspect-ratio: 1 / 1; | |
| border-radius: var(--radius-md); | |
| overflow: hidden; | |
| border: 1px solid var(--border-subtle); | |
| transition: all var(--trans-base); | |
| } | |
| .tq-carousel__item:hover { | |
| border-color: var(--ultra-blue); | |
| box-shadow: 0 6px 14px var(--ultra-blue-glow); | |
| transform: scale(0.5); | |
| } | |
| .tq-carousel__item img { | |
| width: 40%; | |
| height: 40%; | |
| object-fit: auto; | |
| display: block; | |
| } | |
| /* Carousel navigation */ | |
| .tq-carousel__nav { | |
| position: center; | |
| top: 50%; | |
| transform: translateY(-50%); | |
| width: 20px; | |
| height: 20px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| background: var(--surface-glass); | |
| backdrop-filter: blur(12px); | |
| border: 1px solid var(--border-medium); | |
| border-radius: 50%; | |
| cursor: pointer; | |
| transition: all var(--trans-base); | |
| z-index: var(--z-dropdown); | |
| } | |
| .tq-carousel__nav--prev { left: var(--space-md); } | |
| .tq-carousel__nav--next { right: var(--space-md); } | |
| .tq-carousel__nav:hover { | |
| background: var(--ultra-blue-glow); | |
| border-color: var(--ultra-blue); | |
| box-shadow: 0 0 5px var(--ultra-blue-glow); | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* 14. LABELS & TYPOGRAPHY */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .gradio-container label, | |
| .gradio-container .gr-label { | |
| color: var(--fg-secondary) ; | |
| font-size: 0.875rem ; | |
| font-weight: 500 ; | |
| margin-bottom: var(--space-xs) ; | |
| } | |
| .gradio-container .gr-description, | |
| .gradio-container .gr-info { | |
| color: var(--fg-tertiary) ; | |
| font-size: 0.8125rem ; | |
| line-height: 1.5 ; | |
| } | |
| /* Code blocks */ | |
| .gradio-container pre, | |
| .gradio-container code { | |
| font-family: var(--font-mono) ; | |
| background: rgba(59, 130, 246, 0.05) ; | |
| border: 1px solid var(--border-subtle) ; | |
| border-radius: var(--radius-sm) ; | |
| padding: var(--space-xs) var(--space-sm) ; | |
| color: var(--ultra-blue-bright) ; | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* 15. LOADING & PROGRESS */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .gradio-container .gr-loading { | |
| color: var(--ultra-blue) ; | |
| } | |
| .gradio-container .progress-bar { | |
| background: var(--ultra-blue) ; | |
| box-shadow: 0 0 12px var(--ultra-blue-glow) ; | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* 16. SCROLLBARS */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| ::-webkit-scrollbar { | |
| width: 8px; | |
| height: 8px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: rgba(255, 255, 255, 0.02); | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: var(--border-medium); | |
| border-radius: var(--radius-sm); | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: var(--ultra-blue); | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* 17. RESPONSIVE DESIGN */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| @media (max-width: 768px) { | |
| :root { | |
| --space-lg: 1rem; | |
| --space-xl: 1.5rem; | |
| } | |
| .gradio-container { | |
| padding: var(--space-md); | |
| } | |
| .tq-hero { | |
| padding: var(--space-md) var(--space-lg); | |
| } | |
| .tq-hero__brand { | |
| font-size: 1.25rem; | |
| } | |
| .tq-carousel__item { | |
| width: 220px; | |
| } | |
| .tq-pills { | |
| justify-content: center; | |
| } | |
| } | |
| @media (max-width: 280px) { | |
| .tq-carousel__item { | |
| width: 220px; | |
| } | |
| .tq-carousel__nav { | |
| width: 24px; | |
| height: 24px; | |
| } | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* 18. UTILITY CLASSES */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .tq-glow { | |
| box-shadow: 0 0 20px var(--ultra-blue-glow) ; | |
| } | |
| .tq-hide { | |
| display: none ; | |
| } | |
| .tq-fade-in { | |
| animation: fadeIn var(--trans-slow) ease-in; | |
| } | |
| @keyframes fadeIn { | |
| from { opacity: 0; transform: translateY(5px); } | |
| to { opacity: 1; transform: translateY(0); } | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* 19. FOOTER CLEANUP */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| footer, | |
| .gradio-container footer { | |
| display: none ; | |
| } |