Spaces:
Running
Running
| import gradio as gr | |
| CSS = """ | |
| :root, body, .gradio-container { | |
| font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; | |
| } | |
| .gradio-container { | |
| background: linear-gradient(135deg, #020617, #111827 56%, #312e81) !important; | |
| } | |
| .hero { | |
| max-width: 880px; | |
| margin: 0 auto; | |
| padding: 52px 24px; | |
| color: #f8fafc !important; | |
| } | |
| .badge { | |
| display: inline-flex; | |
| align-items: center; | |
| padding: 7px 11px; | |
| border-radius: 999px; | |
| background: #dbeafe; | |
| color: #1d4ed8; | |
| font-weight: 800; | |
| font-size: 0.9rem; | |
| margin-bottom: 18px; | |
| } | |
| .hero h1 { | |
| margin: 0 0 14px; | |
| font-size: clamp(2rem, 4.2vw, 3.2rem); | |
| line-height: 1.05; | |
| letter-spacing: 0; | |
| color: #ffffff !important; | |
| } | |
| .hero .lead { | |
| max-width: 760px; | |
| margin: 0; | |
| font-size: 1.08rem; | |
| line-height: 1.7; | |
| color: #e5e7eb !important; | |
| font-weight: 600; | |
| } | |
| .actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; } | |
| .button { | |
| text-decoration: none !important; | |
| padding: 11px 15px; | |
| border-radius: 8px; | |
| border: 1px solid rgba(199, 210, 254, 0.65); | |
| background: #ffffff; | |
| color: #111827 !important; | |
| font-weight: 800; | |
| box-shadow: 0 1px 2px rgba(15, 23, 42, 0.18); | |
| } | |
| .button.primary { background: #818cf8; color: #111827 !important; border-color: #818cf8; } | |
| .button.muted { background: rgba(255, 255, 255, 0.12); color: #f8fafc !important; border-color: rgba(255, 255, 255, 0.28); cursor: default; } | |
| """ | |
| HTML = """ | |
| <main class="hero"> | |
| <div class="badge">ECCV 2026</div> | |
| <h1>Welcome to VideoSearch-R1</h1> | |
| <p class="lead">Iterative video retrieval and reasoning via Soft Query Refinement. VideoSearch-R1 retrieves, verifies, refines, and grounds video moments over large video corpora.</p> | |
| <div class="actions"> | |
| <a class="button primary" href="https://github.com/mlvlab/VideoSearch-R1" target="_blank" rel="noreferrer">GitHub Repository</a> | |
| <a class="button" href="https://mlvlab.github.io/VideoSearch-R1/" target="_blank" rel="noreferrer">Project Page</a> | |
| <a class="button" href="https://arxiv.org/abs/2607.00446" target="_blank" rel="noreferrer">Paper</a> | |
| </div> | |
| </main> | |
| """ | |
| with gr.Blocks(css=CSS, fill_width=True) as demo: | |
| gr.HTML(HTML) | |
| if __name__ == "__main__": | |
| demo.launch() | |