"""VANTAGE-Bench Leaderboard — complete CSS bundle. Single source of truth for all visual styling. Imported by app.py and passed directly to demo.launch(css=CSS). """ CSS = """ @import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"); /* ── Force light theme ────────────────────────────────────────────────── The leaderboard is designed as a light-themed, paper-like research UI. Gradio's default theme inherits browser/system dark mode through CSS variables (--body-text-color, --background-fill-primary, --neutral-*, etc.) and Hugging Face Spaces applies its own dark theme on top. Either path inverts our text to white-on-white. We neutralize both by: 1. Declaring color-scheme: light on the root so the UA paints form controls (scrollbars, native selects, checkboxes) in light style. 2. Overriding Gradio's CSS custom properties at :root AND inside .gradio-container, both unconditionally and inside the prefers-color-scheme: dark media query, so dark mode cannot re-assign them. 3. Forcing explicit, dark-on-light color/background on every text- bearing leaderboard element below (header, tabs, filters, tables, legend, footer, about, side panel). Search for `!important color:` in this file — those rules are what survives theme inversion. */ :root, .gradio-container, .gradio-container.dark, .dark .gradio-container, html.dark, body.dark { color-scheme: light !important; /* Gradio core surface tokens (Default theme) */ --body-background-fill: #ffffff !important; --body-text-color: #111827 !important; --body-text-color-subdued: #6b7280 !important; --background-fill-primary: #ffffff !important; --background-fill-secondary: #fafafa !important; --block-background-fill: #ffffff !important; --block-label-background-fill: #ffffff !important; --block-label-text-color: #374151 !important; --block-title-text-color: #111827 !important; --block-border-color: #e5e7eb !important; --block-info-text-color: #6b7280 !important; --border-color-primary: #e5e7eb !important; --border-color-accent: #e5e7eb !important; --color-accent: #2563eb !important; --color-accent-soft: #eff6ff !important; --link-text-color: #2563eb !important; --link-text-color-hover: #1d4ed8 !important; --link-text-color-visited: #2563eb !important; --link-text-color-active: #1d4ed8 !important; /* Inputs */ --input-background-fill: #ffffff !important; --input-background-fill-focus: #ffffff !important; --input-border-color: #d1d5db !important; --input-border-color-focus: #2563eb !important; --input-text-size: 13px !important; --input-placeholder-color: #9ca3af !important; --checkbox-background-color: #ffffff !important; --checkbox-background-color-focus: #ffffff !important; --checkbox-background-color-hover: #f9fafb !important; --checkbox-background-color-selected: #2563eb !important; --checkbox-border-color: #d1d5db !important; --checkbox-border-color-focus: #2563eb !important; --checkbox-border-color-hover: #9ca3af !important; --checkbox-border-color-selected: #2563eb !important; --checkbox-label-background-fill: transparent !important; --checkbox-label-background-fill-hover: transparent !important; --checkbox-label-background-fill-selected: transparent !important; --checkbox-label-text-color: #374151 !important; --checkbox-label-text-color-selected: #111827 !important; /* Tables */ --table-even-background-fill: #fafafa !important; --table-odd-background-fill: #ffffff !important; --table-row-focus: #F3EEF9 !important; --table-border-color: #e5e7eb !important; --table-text-color: #111827 !important; /* Buttons (we override the close button explicitly elsewhere) */ --button-secondary-background-fill: #ffffff !important; --button-secondary-background-fill-hover: #f9fafb !important; --button-secondary-text-color: #111827 !important; --button-secondary-text-color-hover: #111827 !important; --button-secondary-border-color: #d1d5db !important; /* Neutral ramp — Gradio's dark theme reassigns these to dark surfaces */ --neutral-50: #fafafa !important; --neutral-100: #f3f4f6 !important; --neutral-200: #e5e7eb !important; --neutral-300: #d1d5db !important; --neutral-400: #9ca3af !important; --neutral-500: #6b7280 !important; --neutral-600: #4b5563 !important; --neutral-700: #374151 !important; --neutral-800: #1f2937 !important; --neutral-900: #111827 !important; --neutral-950: #030712 !important; } /* Re-apply the same overrides inside any dark-mode media query so that Gradio (and HF Spaces) cannot re-assign the variables when the user's system is set to dark. We don't want responsive dark theming here. */ @media (prefers-color-scheme: dark) { :root, .gradio-container, .gradio-container.dark, .dark .gradio-container, html.dark, body.dark { color-scheme: light !important; --body-background-fill: #ffffff !important; --body-text-color: #111827 !important; --body-text-color-subdued: #6b7280 !important; --background-fill-primary: #ffffff !important; --background-fill-secondary: #fafafa !important; --block-background-fill: #ffffff !important; --block-label-text-color: #374151 !important; --block-title-text-color: #111827 !important; --block-border-color: #e5e7eb !important; --block-info-text-color: #6b7280 !important; --border-color-primary: #e5e7eb !important; --input-background-fill: #ffffff !important; --input-border-color: #d1d5db !important; --input-placeholder-color: #9ca3af !important; --table-even-background-fill: #fafafa !important; --table-odd-background-fill: #ffffff !important; --table-border-color: #e5e7eb !important; --table-text-color: #111827 !important; --neutral-50: #fafafa !important; --neutral-100: #f3f4f6 !important; --neutral-200: #e5e7eb !important; --neutral-300: #d1d5db !important; --neutral-400: #9ca3af !important; --neutral-500: #6b7280 !important; --neutral-600: #4b5563 !important; --neutral-700: #374151 !important; --neutral-800: #1f2937 !important; --neutral-900: #111827 !important; --neutral-950: #030712 !important; } /* HF Spaces sometimes scopes dark mode under `.dark` rather than the media query; force the inner gradio surface to stay light there too. */ html, body, .gradio-container, .gradio-container .main { background: #ffffff !important; color: #111827 !important; } } /* HF Spaces / Gradio also toggle a `.dark` class on /
/ .gradio-container directly. Override those surfaces unconditionally. */ html.dark, body.dark, .dark, .dark body, .gradio-container.dark, .dark .gradio-container, .dark .gradio-container .main, .dark .gradio-container .app, .dark .gradio-container .contain, .dark .gradio-container .fillable, .dark .gradio-container .wrap, .dark .gradio-container .block, .dark .gradio-container .form { background: #ffffff !important; background-color: #ffffff !important; color: #111827 !important; } /* ── Reset ────────────────────────────────────────────────────────────── */ *, *::before, *::after { box-sizing: border-box; } body, .gradio-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", sans-serif; color: #111827 !important; font-size: 13px; background: #ffffff !important; color-scheme: light !important; -webkit-font-smoothing: antialiased; } /* Belt-and-suspenders: keep the outer page surfaces explicitly light even if Gradio injects a wrapper we don't otherwise touch. */ html, body, .gradio-container, .gradio-container .main, .gradio-container .app, .gradio-container .contain, .gradio-container .fillable { background: #ffffff !important; color: #111827 !important; } /* ── Width / layout ───────────────────────────────────────────────────── */ .gradio-container, .gradio-container .main, .gradio-container .app, .gradio-container .contain, .gradio-container .wrap, .gradio-container .fillable { max-width: min(95vw, 1800px) !important; width: 100% !important; margin: 0 auto !important; } /* Keep hero text from spanning the full wide-screen width */ .lb-header { max-width: 960px; margin-left: auto !important; margin-right: auto !important; } .gradio-container { padding: 0 24px 40px !important; } /* Kill default Gradio cards / shadows */ .gradio-container .block, .gradio-container .form, .gradio-container .gap, .gradio-container .panel { background: transparent !important; border: none !important; box-shadow: none !important; } /* ── Header ───────────────────────────────────────────────────────────── */ .lb-header { text-align: center; padding: 0 0 12px; margin-bottom: 4px; } .lb-nav { font-size: 12px; color: #6b7280; display: flex; gap: 14px; justify-content: center; align-items: center; padding: 4px 0 2px; } .lb-nav a { color: #9ca3af; text-decoration: none; display: inline-flex; align-items: center; gap: 3px; font-weight: 400; } .lb-nav a:hover { color: #6b7280; } .lb-nav .lb-sep { color: #d1d5db; } /* Hero-position nav: prominent, centered links beneath the subtitle. Sized to be clearly readable alongside the title; weight 600 for visual presence without becoming heavy. */ .lb-nav-hero { margin: 16px auto 0; font-size: 19px; gap: 24px; flex-wrap: wrap; } .lb-nav-hero a { color: #374151; font-weight: 600; text-decoration: none; letter-spacing: 0.01em; transition: color 120ms ease; } .lb-nav-hero a:hover { color: #111827; text-decoration: underline; } .lb-nav-hero .lb-sep { color: #d1d5db; font-size: 19px; font-weight: 300; } /* Footer nav: clearly clickable, blue, with diagonal arrow */ .lb-footer-nav { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; } .lb-footer-nav a { color: #2563eb; text-decoration: none; display: inline-flex; align-items: center; gap: 2px; font-weight: 500; } .lb-footer-nav a:hover { color: #1d4ed8; text-decoration: underline; } .lb-footer-nav .lb-nav-arrow { font-size: 10px; opacity: 0.75; margin-left: 1px; } .lb-footer-nav a:hover .lb-nav-arrow { opacity: 1; } .lb-footer-nav .lb-sep { color: #d1d5db; } .lb-hero { padding-top: 4px; text-align: center; } /* Hero title — large primary anchor. The `.gradio-container` prefix + !important is intentional: HF Spaces injects extra Gradio/theme CSS that otherwise wins on specificity and shrinks/reflows the wordmark. */ .gradio-container .lb-hero .lb-wordmark, .gradio-container .lb-wordmark { font-size: 68px !important; font-weight: 700 !important; letter-spacing: -1.6px !important; margin: 8px 0 8px !important; line-height: 1.04 !important; text-align: center !important; display: block !important; width: 100% !important; } /* Clemson palette: Orange #F66733, Regalia (Purple) #522D80 */ .gradio-container .lb-vantage { color: #F66733 !important; } .gradio-container .lb-dash { color: #000000 !important; } .gradio-container .lb-bench-label { color: #522D80 !important; } .gradio-container .lb-summary { font-size: 16px !important; color: #111827 !important; max-width: 940px !important; margin-left: auto !important; margin-right: auto !important; margin-top: 10px !important; margin-bottom: 0 !important; line-height: 1.6 !important; text-align: center !important; display: block !important; } .gradio-container .lb-acronym { font-size: 17px !important; color: #111827 !important; text-align: center !important; margin-left: auto !important; margin-right: auto !important; margin-top: 10px !important; margin-bottom: 0 !important; max-width: 680px !important; letter-spacing: 0.02em !important; display: block !important; width: auto !important; } .gradio-container .lb-acronym b { color: #522D80 !important; font-weight: 600 !important; } /* ── Controls panel ───────────────────────────────────────────────────── */ /* The Column wrapper gets .lb-controls-wrap; override the global .block killer */ .gradio-container .lb-controls-wrap { border: none !important; border-radius: 0 !important; background: transparent !important; padding: 6px 0 4px !important; margin-bottom: 4px !important; box-shadow: none !important; gap: 6px !important; } /* Children of the panel: remove any Gradio card styling */ .lb-controls-wrap .block, .lb-controls-wrap .form { border: none !important; border-radius: 0 !important; background: transparent !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; } /* Dropdown labels */ .lb-filters .label-wrap span, .lb-filters label span { font-size: 12px !important; font-weight: 500 !important; color: #6b7280 !important; text-transform: uppercase; letter-spacing: 0.04em; } .lb-filters .label-wrap { margin-bottom: 2px !important; } /* Search box */ .lb-filters input[type="text"] { padding: 6px 10px !important; font-size: 12px !important; border-radius: 8px !important; border: 1px solid #d1d5db !important; background: #fff !important; box-shadow: none !important; width: 100% !important; outline: none !important; } .lb-filters input[type="text"]:focus { border-color: #2563eb !important; } .gradio-container .lb-filters input[type="text"] { height: 38px !important; } /* Search input — visually match dropdown filter boxes Target both AND