:root, body, gradio-app, .gradio-container, .dark { color-scheme: light; --page-bg: #f7f8fb; --card-bg: #ffffff; --card-border: #e2e8f0; --field-bg: #ffffff; --field-bg-soft: #f8fafc; --text-main: #0f172a; --text-muted: #475569; --primary: #2563eb; --primary-dark: #1d4ed8; --primary-soft: #eef4ff; --shadow-soft: 0 18px 45px rgba(15, 23, 42, 0.08); --shadow-hover: 0 24px 60px rgba(15, 23, 42, 0.14); --body-background-fill: #f7f8fb !important; --body-text-color: #0f172a !important; --body-text-color-subdued: #475569 !important; --background-fill-primary: #ffffff !important; --background-fill-secondary: #f8fafc !important; --block-background-fill: #ffffff !important; --block-border-color: #e2e8f0 !important; --border-color-primary: #e2e8f0 !important; --border-color-accent: #93c5fd !important; --input-background-fill: #ffffff !important; --input-background-fill-focus: #ffffff !important; --input-border-color: #cbd5e1 !important; --input-border-color-focus: #2563eb !important; --input-placeholder-color: #64748b !important; --button-secondary-background-fill: #f8fafc !important; --button-secondary-text-color: #111827 !important; } body, gradio-app { background: var(--page-bg) !important; color: var(--text-main) !important; font-family: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; } .gradio-container { max-width: 1280px !important; margin: 0 auto !important; padding: 16px 22px 24px !important; background: transparent !important; } #app-shell { gap: 14px; } #hero-section { text-align: center; padding: 16px 16px 6px; } #hero-section h1 { margin: 0; color: var(--text-main) !important; font-size: clamp(30px, 4vw, 44px); font-weight: 800; letter-spacing: 0; } #hero-section p { max-width: 760px; margin: 8px auto 0; color: var(--text-muted) !important; font-size: 15px; line-height: 1.55; } #main-dashboard { display: grid !important; grid-template-columns: minmax(300px, 360px) minmax(0, 1fr); align-items: start !important; gap: 16px !important; width: 100% !important; max-width: 100% !important; height: auto !important; min-height: 0 !important; overflow: visible !important; } #main-dashboard > .wrap { display: contents !important; } #left-sidebar { display: flex !important; flex-direction: column !important; flex: none !important; width: 100% !important; max-width: 360px !important; min-width: 0 !important; gap: 14px !important; height: auto !important; min-height: 0; overflow: visible !important; } #left-sidebar > .wrap { display: flex !important; flex-direction: column !important; gap: 14px !important; height: auto !important; min-height: 0 !important; overflow: visible !important; } #right-workspace { display: flex !important; flex-direction: column !important; flex: none !important; width: 100% !important; min-width: 0 !important; gap: 14px !important; height: auto !important; min-height: 0 !important; overflow: visible !important; } #right-workspace > .wrap { display: flex !important; flex-direction: column !important; gap: 14px !important; height: auto !important; min-height: 0 !important; overflow: visible !important; } .search-card, .parameter-card, .result-card, .favorite-card { background: var(--card-bg) !important; border: 1px solid var(--card-border) !important; border-radius: 24px !important; box-shadow: var(--shadow-soft); padding: 18px !important; color: var(--text-main) !important; } .search-card { flex: 0 0 auto !important; height: auto !important; min-height: 0 !important; padding: 18px !important; } .parameter-card { flex: 0 0 auto !important; height: auto !important; min-height: 0 !important; padding: 18px 18px 20px !important; } .result-card { flex: 1 1 auto !important; min-height: 520px !important; overflow: visible !important; } .favorite-card { flex: none !important; height: auto !important; min-height: 210px !important; overflow: visible !important; } .search-card *, .parameter-card *, .result-card *, .favorite-card * { color: inherit; } .search-card .block, .parameter-card .block, .result-card .block, .favorite-card .block, .search-card .form, .parameter-card .form, .result-card .form, .favorite-card .form { background: transparent !important; border-color: var(--card-border) !important; } #query-tabs { border: 0 !important; background: transparent !important; height: auto !important; min-height: 0 !important; } #query-tabs > .wrap, #query-tabs .tabitem, #query-tabs [role="tabpanel"] { height: auto !important; min-height: 0 !important; } #query-tabs button { border-radius: 999px !important; color: #1e3a8a !important; font-weight: 700 !important; } #query-tabs button[aria-selected="true"] { background: #eaf1ff !important; color: #1d4ed8 !important; } textarea, input, select, [role="textbox"], [data-testid="textbox"], .wrap input, .wrap textarea { background: var(--field-bg) !important; color: #111827 !important; border-color: #cbd5e1 !important; caret-color: #2563eb !important; } textarea::placeholder, input::placeholder { color: #64748b !important; opacity: 1 !important; } #text-query, #image-query, #category-filter { background: var(--field-bg) !important; border-radius: 18px !important; } #text-query textarea, #category-filter input { border-radius: 16px !important; } #image-query { overflow: hidden; } #image-query .image-container, #image-query .upload-container, #image-query [data-testid="image"] { background: #f8fafc !important; color: #334155 !important; border-color: #cbd5e1 !important; } #text-preview, #image-preview, #favorite-status { color: var(--text-muted) !important; font-size: 14px; } #parameter-title h3, #favorite-title h3 { margin: 0 0 4px; color: var(--text-main) !important; font-size: 18px; font-weight: 750; } #parameter-grid { align-items: end; gap: 18px; } #action-row, #favorite-actions { justify-content: flex-end; gap: 12px; } #action-row { margin-top: 4px; } #favorite-header { align-items: baseline !important; justify-content: space-between; gap: 12px; } #favorite-status { text-align: right; margin: 0; } .primary-button button, #search-button, #export-button { min-height: 44px !important; border: 0 !important; border-radius: 999px !important; background: linear-gradient(135deg, #2563eb 0%, #4f46e5 100%) !important; color: #ffffff !important; font-weight: 750 !important; box-shadow: 0 10px 22px rgba(37, 99, 235, 0.22); transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease; } .primary-button button:hover, #search-button:hover, #export-button:hover { transform: translateY(-1px); filter: brightness(1.04); box-shadow: 0 14px 30px rgba(37, 99, 235, 0.3); } .secondary-button button, #clear-button { min-height: 44px !important; border: 1px solid #d1d5db !important; border-radius: 999px !important; background: #f8fafc !important; color: #111827 !important; font-weight: 700 !important; transition: border-color 160ms ease, background 160ms ease, transform 160ms ease; } .secondary-button button:hover, #clear-button:hover { border-color: #94a3b8 !important; background: #f1f5f9 !important; transform: translateY(-1px); } #example-chips { margin-top: 6px; } #example-chips table { border-collapse: separate !important; border-spacing: 8px !important; } #example-chips td, #example-chips button, #example-chips .example { border: 0 !important; border-radius: 999px !important; background: var(--primary-soft) !important; color: #1e3a8a !important; font-size: 14px !important; font-weight: 650 !important; transition: background 160ms ease, transform 160ms ease; } #example-chips td:hover, #example-chips button:hover, #example-chips .example:hover { background: #dbeafe !important; transform: translateY(-1px); } #result-overview { padding: 0 2px 8px; color: #334155 !important; font-size: 14px; } #result-overview h3 { color: var(--text-main) !important; font-size: 16px; font-weight: 800; } #result-overview li { color: #334155 !important; font-size: 13px; line-height: 1.48; } .result-gallery, .favorite-gallery { border-radius: 18px !important; overflow: hidden; background: #ffffff !important; } .result-gallery img, .favorite-gallery img { border-radius: 16px !important; } .result-gallery figure, .favorite-gallery figure, .result-gallery button:not(.icon-button):not(.media-button), .favorite-gallery button:not(.icon-button):not(.media-button) { border-radius: 18px !important; overflow: hidden !important; transition: box-shadow 160ms ease, transform 160ms ease; } .result-gallery figure:hover, .favorite-gallery figure:hover, .result-gallery button:not(.icon-button):not(.media-button):hover, .favorite-gallery button:not(.icon-button):not(.media-button):hover { transform: translateY(-2px); box-shadow: var(--shadow-hover); } .result-gallery caption, .favorite-gallery caption, .result-gallery figcaption, .favorite-gallery figcaption, .result-gallery .caption, .favorite-gallery .caption { color: #475569 !important; font-size: 12px !important; line-height: 1.45 !important; } .favorite-card { margin-top: 2px; } #favorite-gallery { min-height: 145px !important; height: 150px !important; } #result-gallery { height: auto !important; min-height: 360px !important; } .result-card label, .result-card .label-wrap { font-size: 13px !important; } #favorite-gallery .grid-wrap, #favorite-gallery .gallery, #favorite-gallery [data-testid="gallery"] { justify-content: flex-start !important; align-items: flex-start !important; } #favorite-gallery figure, #favorite-gallery button:not(.icon-button):not(.media-button), #favorite-gallery .thumbnail-item { width: 128px !important; max-width: 128px !important; flex: 0 0 128px !important; } #favorite-gallery img { width: 128px !important; height: 128px !important; max-width: 128px !important; object-fit: cover !important; } label, .label-wrap { color: #1f2937 !important; font-weight: 700 !important; } gradio-app :is(.modal, [role="dialog"], [data-testid="modal"]) { color: #0f172a !important; --icon-color: #0f172a !important; --icon-color-secondary: #0f172a !important; --body-text-color: #0f172a !important; --block-label-text-color: #0f172a !important; } gradio-app :is(.modal, [role="dialog"], [data-testid="modal"]) button { color: #0f172a !important; background: #ffffff !important; border: 1px solid #e2e8f0 !important; border-radius: 999px !important; box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12); } gradio-app :is(.modal, [role="dialog"], [data-testid="modal"]) button svg { fill: currentColor !important; stroke: currentColor !important; } gradio-app :is(.modal, [role="dialog"], [data-testid="modal"]) :is(.icon, [class*="icon"]) { color: #0f172a !important; fill: currentColor !important; stroke: currentColor !important; opacity: 1 !important; } gradio-app :is(.modal, [role="dialog"], [data-testid="modal"]) .icon-button { color: #0f172a !important; } gradio-app :is(.modal, [role="dialog"], [data-testid="modal"]) button:hover { background: #f8fafc !important; } gradio-app button:is( [aria-label="Close"], [aria-label="下载"], [aria-label="Download"], [aria-label="Fullscreen"], [aria-label="Exit fullscreen"], [aria-label="分享"], [aria-label="Share"], [aria-label="Previous"], [aria-label="Next"], [aria-label="Zoom In"], [aria-label="Zoom Out"], [aria-label="Reset Zoom"] ) { color: #0f172a !important; background: #ffffff !important; border: 1px solid #e2e8f0 !important; } gradio-app button:is( [aria-label="Close"], [aria-label="下载"], [aria-label="Download"], [aria-label="Fullscreen"], [aria-label="Exit fullscreen"], [aria-label="分享"], [aria-label="Share"], [aria-label="Previous"], [aria-label="Next"], [aria-label="Zoom In"], [aria-label="Zoom Out"], [aria-label="Reset Zoom"] ) :is(svg, path) { opacity: 1 !important; } gradio-app button:is( [aria-label="Close"], [aria-label="下载"], [aria-label="Download"], [aria-label="Fullscreen"], [aria-label="Exit fullscreen"], [aria-label="分享"], [aria-label="Share"], [aria-label="Previous"], [aria-label="Next"], [aria-label="Zoom In"], [aria-label="Zoom Out"], [aria-label="Reset Zoom"] ) svg { color: #0f172a !important; fill: currentColor !important; stroke: currentColor !important; } gradio-app button:is( [aria-label="Close"], [aria-label="下载"], [aria-label="Download"], [aria-label="分享"], [aria-label="Share"], [aria-label="Previous"], [aria-label="Next"], [aria-label="Zoom In"], [aria-label="Zoom Out"], [aria-label="Reset Zoom"] ) path:not([fill="none"]) { fill: currentColor !important; } gradio-app button:is( [aria-label="Close"], [aria-label="Fullscreen"], [aria-label="Exit fullscreen"], [aria-label="Previous"], [aria-label="Next"], [aria-label="Zoom In"], [aria-label="Zoom Out"], [aria-label="Reset Zoom"] ) path[stroke] { stroke: currentColor !important; } .preview, .preview .icon-button-wrapper { color: #0f172a !important; --block-label-text-color: #0f172a !important; --button-secondary-text-color: #0f172a !important; --icon-color: #0f172a !important; --icon-color-secondary: #0f172a !important; } .preview .icon-button-wrapper.top-panel { gap: 6px !important; padding: 4px !important; background: rgba(255, 255, 255, 0.96) !important; border: 1px solid #cbd5e1 !important; border-radius: 10px !important; box-shadow: 0 8px 22px rgba(15, 23, 42, 0.16) !important; } .preview button.icon-button { width: 28px !important; min-width: 28px !important; height: 28px !important; min-height: 28px !important; padding: 4px !important; color: #0f172a !important; background: #ffffff !important; border: 0 !important; border-radius: 7px !important; box-shadow: none !important; opacity: 1 !important; } .preview button.icon-button:hover { background: #eaf1ff !important; } .preview button.icon-button :is(div, span, svg), .preview button.icon-button svg * { color: #0f172a !important; opacity: 1 !important; fill-opacity: 1 !important; stroke-opacity: 1 !important; } .preview button.icon-button svg { width: 18px !important; height: 18px !important; color: #0f172a !important; stroke: currentColor !important; } .preview button.icon-button svg :is([fill="currentColor"], path[fill="currentColor"]) { fill: #0f172a !important; } .preview button.icon-button svg :is([stroke], line, polyline, polygon, rect, circle) { stroke: #0f172a !important; } #add-favorite-button { display: none !important; } .favorite-preview-host { position: relative !important; } #modal-favorite-button { position: absolute; top: 12px; right: 184px; z-index: 20; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 0 18px; white-space: nowrap; border: 0 !important; border-radius: 999px; background: #2563eb !important; color: #ffffff !important; font: 750 14px/1 "Inter", "Segoe UI", system-ui, sans-serif; box-shadow: 0 16px 36px rgba(15, 23, 42, 0.22) !important; cursor: pointer; transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease; } #modal-favorite-button.is-compact { left: 12px; right: auto; padding: 0 14px; } #modal-favorite-button:hover { background: #1d4ed8; box-shadow: 0 20px 42px rgba(15, 23, 42, 0.28); transform: translateY(-1px); } #modal-favorite-button:disabled { opacity: 0.72; cursor: wait; transform: none; } #modal-favorite-button[hidden] { display: none !important; } footer, .footer, .gradio-footer, #footer, [data-testid="footer"] { display: none !important; } @media (prefers-color-scheme: dark) { body, gradio-app, .gradio-container { background: #f7f8fb !important; color: #0f172a !important; } .search-card, .parameter-card, .result-card, .favorite-card, textarea, input, select { background: #ffffff !important; color: #111827 !important; } } @media (max-width: 760px) { .gradio-container { padding: 18px 14px 36px !important; } #hero-section { padding: 28px 8px 16px; } #hero-section h1 { font-size: 36px; } #hero-section p { font-size: 16px; } #main-dashboard { display: flex !important; height: auto; min-height: 0; overflow: visible; flex-direction: column !important; } #main-dashboard > .wrap { display: flex !important; flex-direction: column !important; gap: 14px !important; } #left-sidebar, #right-workspace { flex: 1 1 auto !important; max-width: none !important; min-width: 0 !important; width: 100% !important; height: auto; overflow: visible; } #left-sidebar > .wrap, #right-workspace > .wrap { display: flex !important; flex-direction: column !important; height: auto !important; overflow: visible !important; } .search-card, .parameter-card, .result-card, .favorite-card { flex: none !important; border-radius: 20px !important; padding: 18px !important; } #parameter-grid, #action-row, #favorite-actions { flex-direction: column !important; align-items: stretch !important; } #action-row > *, #favorite-actions > * { width: 100% !important; } #result-gallery, #favorite-gallery { height: auto !important; min-height: 300px; } }