/* ========================================================================= * VANTAGE-Bench Leaderboard — visual system * Restrained research aesthetic. Purple = structure. Orange = emphasis. * The table is the hero. * ========================================================================= */ @import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap"); /* -- Tokens -------------------------------------------------------------- */ :root { --bg: #ffffff; --surface: #ffffff; --text-primary: #111827; --text-secondary: #6b7280; --text-tertiary: #9ca3af; --border: #e5e7eb; --rule-faint: #f3f4f6; --link: #2563eb; --orange: #f56600; --orange-tint: rgba(245, 102, 0, 0.05); --purple: #522d80; --purple-tint: rgba(82, 45, 128, 0.04); /* Pillar accent colors */ --pillar-spatial: #f97316; --pillar-spatial-tint: rgba(249, 115, 22, 0.06); --pillar-st: #3b82f6; --pillar-st-tint: rgba(59, 130, 246, 0.06); --pillar-temporal: #14b8a6; --pillar-temporal-tint: rgba(20, 184, 166, 0.06); --pillar-semantic: #8b5cf6; --pillar-semantic-tint: rgba(139, 92, 246, 0.06); --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; --font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace; } /* -- Base ---------------------------------------------------------------- */ body, .gradio-container { background: var(--bg) !important; color: var(--text-primary); font-family: var(--font-sans); font-feature-settings: "ss01", "cv11"; -webkit-font-smoothing: antialiased; } /* -- Width override ----------------------------------------------------- * Gradio's inner `.fillable` wrapper caps content width at 640 / 768 / * 1024 / 1280 / 1536 / 1920px via a responsive chain. `fill_width=True` * on the Blocks adds the `.fill_width` class which disables that cap, * but we also belt-and-suspenders the override here so future Gradio * versions or unrelated wrappers cannot quietly re-narrow the layout. * * Target: ~96-98% viewport width with a generous max for ultrawide * monitors. The leaderboard should dominate the page. */ .gradio-container, .gradio-container .main, .gradio-container .app, .gradio-container .contain, .gradio-container main.contain, .gradio-container .wrap, .gradio-container .fillable { max-width: 2400px !important; width: 98vw !important; margin: 0 auto !important; box-sizing: border-box; } /* Outer page padding (kept independent so the inner table can hit edges). */ .gradio-container { padding: 24px 24px !important; } /* Anything Gradio injects with its own responsive cap, neutralise it. */ [class*="fillable"]:not(.fill_width) { max-width: 2400px !important; } /* Kill stray cards/shadows that Gradio adds by default. */ .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 { position: relative; text-align: center; padding: 32px 0 24px 0; margin-bottom: 16px; border-bottom: 1px solid var(--border); } .lb-header-links { position: absolute; top: 32px; right: 0; font-size: 13px; color: var(--text-secondary); display: flex; align-items: center; gap: 6px; } .lb-header-links a { color: var(--text-secondary); text-decoration: none; } .lb-header-links a:hover { color: var(--text-primary); } .lb-header-links .lb-sep { color: var(--border); font-size: 12px; user-select: none; } .lb-hero { display: inline-block; } .lb-wordmark { font-family: var(--font-sans); font-size: 48px; font-weight: 800; letter-spacing: -1.5px; line-height: 1; margin: 0 0 12px 0; } .lb-vantage { color: var(--purple); } .lb-dash { color: var(--text-tertiary); font-weight: 600; } .lb-bench-label { color: var(--orange); } .lb-summary { font-size: 15px; color: var(--text-secondary); margin: 0 auto 10px auto; max-width: 600px; line-height: 1.5; } /* -- Meta line ----------------------------------------------------------- */ .lb-meta { font-size: 12px; color: #9ca3af; margin: 0; line-height: 1.5; } /* -- Tab strip ----------------------------------------------------------- */ .tabs > .tab-nav, .gradio-container .tab-nav { border-bottom: 1px solid var(--border) !important; margin-bottom: 0 !important; padding: 0 !important; background: transparent !important; } /* Collapse padding above table inside each tab panel */ .gradio-container .tabitem { padding-top: 8px !important; padding-left: 0 !important; padding-right: 0 !important; } /* Top-level tabs: Competition / Overall / Pillar tabs / About */ .lb-top-tabs > .tab-nav button, .lb-top-tabs > div > .tab-nav button { font-size: 14px !important; font-weight: 500 !important; margin-right: 32px !important; } .tab-nav button, .gradio-container .tab-nav button { background: transparent !important; border: none !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important; padding: 10px 0 !important; margin-right: 32px !important; font-size: 13px !important; font-weight: 400 !important; color: var(--text-secondary) !important; box-shadow: none !important; transition: color 120ms ease, border-color 120ms ease; } .tab-nav button:hover { color: var(--text-primary) !important; } .tab-nav button.selected, .gradio-container .tab-nav button.selected { color: var(--text-primary) !important; font-weight: 600 !important; border-bottom-color: #2563eb !important; } /* Pillar tab active underline colors */ .lb-tab-spatial.selected { border-bottom-color: var(--pillar-spatial) !important; color: var(--pillar-spatial) !important; } .lb-tab-st.selected { border-bottom-color: var(--pillar-st) !important; color: var(--pillar-st) !important; } .lb-tab-temporal.selected { border-bottom-color: var(--pillar-temporal) !important; color: var(--pillar-temporal) !important; } .lb-tab-semantic.selected { border-bottom-color: var(--pillar-semantic) !important; color: var(--pillar-semantic) !important; } /* -- Filter bar ---------------------------------------------------------- */ .lb-filters { margin-top: 20px; margin-bottom: 12px; gap: 16px; display: flex; align-items: flex-start; } .lb-filters .form, .lb-filters .block { padding: 0 !important; } /* Row 1: search box (capped width, left-aligned). */ .lb-filters-search { margin-bottom: 0; } .lb-filters input[type="text"] { font-family: var(--font-sans) !important; font-size: 14px !important; padding: 9px 12px !important; border: 1px solid var(--border) !important; border-radius: 4px !important; background: var(--surface) !important; box-shadow: none !important; width: 100% !important; max-width: 420px !important; } .lb-filters input[type="text"]:focus { border-color: var(--purple) !important; outline: none !important; } /* Row 2: dropdowns (Submission Type, Parameters). */ .lb-filters-dropdowns { margin-bottom: 0; align-items: flex-end; } .lb-filters-dropdowns > * { max-width: 220px; } .lb-filters label, .lb-filters .label-wrap span { font-family: var(--font-sans) !important; font-size: 12px !important; font-weight: 600 !important; color: #374151 !important; text-transform: uppercase; letter-spacing: 0.04em; } .filter-lbl { display: block; font-size: 11px; font-weight: 600; color: #374151; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 5px; } .lb-filter-col { padding: 0 !important; gap: 0 !important; } /* Compact dropdown surface. */ .lb-filters .wrap, .lb-filters .container, .lb-filters [role="listbox"], .lb-filters [role="combobox"] { background: var(--surface) !important; box-shadow: none !important; } .lb-filters select, .lb-filters .secondary-wrap, .lb-filters [class*="dropdown"] input, .lb-filters [class*="Dropdown"] input { font-family: var(--font-sans) !important; font-size: 14px !important; padding: 8px 12px !important; border: 1px solid var(--border) !important; border-radius: 4px !important; background: var(--surface) !important; color: var(--text-primary) !important; box-shadow: none !important; } .lb-filters select:focus, .lb-filters [class*="dropdown"] input:focus, .lb-filters [class*="Dropdown"] input:focus { border-color: var(--purple) !important; outline: none !important; } /* -- Pillar band (above pillar leaderboard tables) ---------------------- */ .lb-pillar-band { margin-bottom: 12px; } .lb-pillar-band h2 { font-size: 20px; font-weight: 600; letter-spacing: -0.01em; color: var(--text-primary); margin: 0 0 4px 0; } .lb-pillar-band p { margin: 0; color: var(--text-secondary); font-size: 14px; line-height: 1.5; } .lb-pillar-band .lb-metrics { margin-top: 6px; color: var(--text-tertiary); font-size: 12px; } /* -- Filter status line ------------------------------------------------- */ .lb-status { font-size: 12px; color: var(--text-secondary); margin: 4px 0 8px 0; min-height: 1em; } /* -- Dataframe / leaderboard table -------------------------------------- */ .gradio-container .table-wrap, .gradio-container .gr-dataframe, .gradio-container [class*="dataframe"] { background: transparent !important; border: none !important; box-shadow: none !important; width: 100% !important; overflow-x: auto !important; } .gradio-container table { width: 100% !important; table-layout: auto !important; min-width: 700px; border-collapse: collapse !important; background: var(--surface) !important; font-family: var(--font-sans); font-size: 13px; } .gradio-container thead th { background: #ffffff !important; color: #6b7280 !important; font-weight: 600 !important; font-size: 11px !important; text-transform: uppercase !important; letter-spacing: 0.06em !important; padding: 6px 14px !important; border-bottom: 2px solid #e5e7eb !important; text-align: right !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* Left-align first two columns (#, Model). */ .gradio-container thead th:nth-child(1), .gradio-container thead th:nth-child(2) { text-align: left !important; } /* Overall column header bold, no tint */ .lb-table-overall thead th:nth-child(4) { color: #111827 !important; font-weight: 700 !important; } .gradio-container tbody tr:nth-child(odd) td { background: #ffffff !important; } .gradio-container tbody tr:nth-child(even) td { background: #fafafa !important; } .gradio-container tbody tr:hover td { background: #f8fafc !important; } .gradio-container tbody td { padding: 8px 14px !important; border-bottom: 1px solid #f0f0f0 !important; vertical-align: middle !important; text-align: right; overflow: hidden; text-overflow: ellipsis; } .gradio-container tbody tr:last-child td { border-bottom: none !important; } /* Numeric columns: monospace, tabular numerals. */ .gradio-container tbody td:nth-child(n+3) { font-family: var(--font-mono); font-variant-numeric: tabular-nums; font-size: 13px; } /* Left-align # and Model cells. */ .gradio-container tbody td:nth-child(1) { text-align: left; color: var(--text-secondary); font-family: var(--font-mono); font-variant-numeric: tabular-nums; } .gradio-container tbody td:nth-child(2) { text-align: left; min-width: 200px; } /* Overall column bold on Competition/Overall tab */ .lb-table-overall tbody td:nth-child(4) { font-weight: 700; } /* Single-line model cell — org shown inline after a · separator. */ .lb-org { display: inline; color: var(--text-secondary); font-size: 12px; font-weight: 400; } .gradio-container tbody td a { color: var(--link); text-decoration: none; } .gradio-container tbody td a:hover { text-decoration: underline; } /* -- Legend below tables ----------------------------------------------- */ .lb-legend { font-size: 12px; color: var(--text-secondary); font-style: italic; margin: 12px 0 0 0; } /* -- Footer ------------------------------------------------------------- */ .lb-footer { margin-top: 48px; padding-top: 16px; border-top: 1px solid var(--border); font-size: 12px; color: var(--text-secondary); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; } /* -- Inline task column toggle ------------------------------------------ */ .lb-col-toggle-inline { margin: 8px 0 16px 0; } .lb-col-toggle-inline .wrap { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; padding: 0 !important; } /* Hide any slider/progress that Gradio may inject */ .lb-col-toggle-inline input[type="range"], .lb-col-toggle-inline .rangeSlider, .lb-col-toggle-inline progress { display: none !important; } .lb-col-toggle-inline label.svelte-1p9xokt, .lb-col-toggle-inline label { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 999px; padding: 3px 12px; font-size: 12px; font-weight: 500; color: #374151; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; line-height: 1.5; user-select: none; transition: background 0.1s, border-color 0.1s; } .lb-col-toggle-inline label:has(input:checked) { background: #eff6ff; border-color: #93c5fd; color: #1d4ed8; } .lb-col-toggle-inline input[type="checkbox"] { width: 12px; height: 12px; accent-color: #2563eb; margin: 0; } /* -- Model cell badges -------------------------------------------------- */ .lb-badge { display: inline-block; font-size: 10px; font-weight: 500; padding: 2px 7px; border-radius: 999px; border-width: 0.5px; border-style: solid; margin-left: 5px; vertical-align: middle; line-height: 1.6; white-space: nowrap; } .lb-badge-verified { background: #dcfce7; color: #15803d; border-color: #86efac; } .lb-badge-ensemble { background: #dbeafe; color: #1d4ed8; border-color: #93c5fd; } .lb-badge-single { background: #f3f4f6; color: #374151; border-color: #d1d5db; } .lb-badge-open { background: #ccfbf1; color: #0f766e; border-color: #5eead4; } .lb-badge-proprietary { background: #fef3c7; color: #92400e; border-color: #fcd34d; } .lb-footer a { color: var(--text-secondary); text-decoration: none; } .lb-footer a:hover { color: var(--purple); } /* -- About tab ---------------------------------------------------------- */ .lb-about { max-width: 720px; margin: 0 auto; padding: 0 0 32px 0; } .lb-about h1 { font-size: 28px; font-weight: 600; letter-spacing: -0.01em; margin: 0 0 16px 0; } .lb-about h2 { font-size: 20px; font-weight: 600; letter-spacing: -0.01em; margin: 40px 0 12px 0; } .lb-about p { font-size: 16px; line-height: 1.65; color: var(--text-primary); margin: 0 0 16px 0; } /* Pillar definition cards (markdown blockquotes). */ .lb-about blockquote { margin: 0 0 16px 0; padding: 12px 16px; border-left: 2px solid var(--purple); background: var(--purple-tint); color: var(--text-primary); font-size: 15px; line-height: 1.55; } .lb-about blockquote strong { display: block; margin-bottom: 2px; font-weight: 600; } .lb-about table { font-size: 14px; } .lb-about pre, .lb-about code { font-family: var(--font-mono); font-size: 13px; } .lb-about pre { background: var(--surface); border: 1px solid var(--border); border-radius: 4px; padding: 12px 16px; overflow-x: auto; } .lb-about a { color: var(--purple); text-decoration: none; } .lb-about a:hover { text-decoration: underline; } /* -- Responsive --------------------------------------------------------- */ @media (max-width: 768px) { .gradio-container { padding: 16px !important; } .lb-header { flex-direction: column; gap: 8px; } .lb-header-links a { margin-left: 0; margin-right: 14px; } /* Tables overflow horizontally rather than reflow. */ .gradio-container .table-wrap { overflow-x: auto !important; } /* Dropdowns stack on narrow screens. */ .lb-filters-dropdowns { flex-direction: column; align-items: stretch; } .lb-filters-dropdowns > * { max-width: none; } }