:root { color-scheme: light; --p5-parchment: #fdf6e3; --p5-parchment-deep: #f3e4c1; --p5-ink: #3f2b1c; --p5-ink-soft: #6a4c39; --p5-accent: #c26d5f; --p5-accent-soft: #f2b8b1; --p5-border: rgba(111, 72, 48, 0.18); --p5-shadow: rgba(96, 64, 38, 0.12); } body, .gradio-container { background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.48), transparent 38%), linear-gradient(180deg, var(--p5-parchment) 0%, #fffaf0 100%) !important; color: var(--p5-ink) !important; font-family: "Inter", "Segoe UI", system-ui, sans-serif; } .gradio-container h1, .gradio-container h2, .gradio-container h3, .gradio-container h4 { font-family: "Playfair Display", Georgia, "Times New Roman", serif; letter-spacing: 0.01em; color: var(--p5-ink) !important; } .gradio-container code, .gradio-container pre, .gradio-container .monospace, .gradio-container input, .gradio-container textarea, .gradio-container select { font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace; } .gradio-container button, .gradio-container .primary, .gradio-container .secondary { border-radius: 999px; border: 1px solid rgba(111, 72, 48, 0.25); box-shadow: 0 8px 18px var(--p5-shadow); } .gradio-container button.primary { background: linear-gradient(135deg, var(--p5-accent) 0%, #a44f46 100%); color: #fff9f4; } .gradio-container .quilt-card { border: 1px solid var(--p5-border); border-radius: 22px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(255, 248, 234, 0.92)), repeating-linear-gradient( 45deg, rgba(194, 109, 95, 0.07) 0, rgba(194, 109, 95, 0.07) 10px, rgba(255, 255, 255, 0) 10px, rgba(255, 255, 255, 0) 20px ); box-shadow: 0 20px 42px rgba(88, 56, 30, 0.12); padding: 1rem; } .gradio-container .quilt-note { color: var(--p5-ink-soft) !important; font-style: italic; } .gradio-container .quilt-preview img, .gradio-container img.quilt-preview, .gradio-container img { border-radius: 18px; border: 1px solid rgba(105, 72, 42, 0.18); background-color: var(--p5-parchment-deep); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55); background-image: repeating-linear-gradient( 0deg, rgba(255, 255, 255, 0.0) 0, rgba(255, 255, 255, 0.0) 12px, rgba(194, 109, 95, 0.09) 12px, rgba(194, 109, 95, 0.09) 13px ), repeating-linear-gradient( 90deg, rgba(255, 255, 255, 0.0) 0, rgba(255, 255, 255, 0.0) 12px, rgba(194, 109, 95, 0.09) 12px, rgba(194, 109, 95, 0.09) 13px ); } .gradio-container .gr-box, .gradio-container .gr-panel, .gradio-container .block, .gradio-container .tabitem, .gradio-container .tabs, .gradio-container .container { border-color: var(--p5-border); } .gradio-container .tab-nav button { color: var(--p5-ink) !important; background-color: transparent !important; } .gradio-container .tab-nav button.selected { color: var(--p5-ink) !important; background-color: var(--p5-parchment-deep) !important; font-weight: bold; } .gradio-container .footer, .gradio-container .markdown p, .gradio-container .markdown li { color: var(--p5-ink-soft) !important; } .upload-area { border: 2px dashed rgba(194, 109, 95, 0.3) !important; background: rgba(194, 109, 95, 0.02) !important; border-radius: 16px !important; padding: 16px !important; transition: all 0.3s ease; } .upload-area:hover { border-color: var(--p5-accent) !important; background: rgba(194, 109, 95, 0.06) !important; } /* Tile caption overflow fix */ .gradio-container .tile-caption, .gradio-container figcaption, .gradio-container .caption-label, .gradio-container .image-caption, .gradio-container .label-wrap span, .gradio-container .gallery-item .caption { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; font-size: 0.75rem; line-height: 1.4; max-height: 3.6em; color: var(--p5-ink-soft); padding: 0.2rem 0; } /* Gallery grid improvements */ .gradio-container .gallery, .gradio-container .gr-gallery { gap: 12px !important; padding: 8px !important; } .gradio-container .gallery-item { border-radius: 12px; overflow: hidden; box-shadow: 0 4px 12px rgba(88, 56, 30, 0.1); transition: transform 0.2s ease, box-shadow 0.2s ease; } .gradio-container .gallery-item:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(88, 56, 30, 0.15); } /* Status bar */ .gradio-container .status-bar, .gradio-container .status-box { background: rgba(194, 109, 95, 0.06); border: 1px solid rgba(194, 109, 95, 0.2); border-radius: 12px; padding: 10px 14px; font-size: 0.9rem; color: var(--p5-ink-soft); } .gradio-container .quilt-card { min-width: 0; } .gradio-container .quilt-card :is(input, textarea, select) { width: 100%; } .gradio-container .quilt-card .gr-button { min-height: 44px; } @media (max-width: 960px) { .gradio-container { padding-left: 10px !important; padding-right: 10px !important; } .gradio-container .quilt-card { border-radius: 18px; padding: 0.85rem; } .gradio-container .gallery, .gradio-container .gr-gallery { gap: 8px !important; } .gradio-container .quilt-preview img, .gradio-container .quilt-preview, .gradio-container img { max-width: 100%; } }