Spaces:
Runtime error
Runtime error
| /* P1 Elder Care Document Assistant — calming, accessible dark UI */ | |
| @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@500;600;700&display=swap'); | |
| :root { | |
| color-scheme: dark; | |
| --p1-bg-deep: #0c1220; | |
| --p1-bg-card: rgba(15, 25, 50, 0.65); | |
| --p1-bg-surface: rgba(30, 45, 80, 0.35); | |
| --p1-text: #f8fafc; | |
| --p1-text-muted: #94a3c8; | |
| --p1-accent: #fbbf24; | |
| --p1-accent-hover: #f59e0b; | |
| --p1-accent-glow: rgba(251, 191, 36, 0.15); | |
| --p1-success: #34d399; | |
| --p1-warning: #fbbf24; | |
| --p1-danger: #f87171; | |
| --p1-info: #60a5fa; | |
| --p1-border: rgba(96, 165, 250, 0.18); | |
| --p1-radius: 16px; | |
| --p1-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); | |
| } | |
| /* Base container */ | |
| .gradio-container { | |
| background: | |
| radial-gradient(ellipse at top left, rgba(59, 130, 246, 0.08) 0%, transparent 50%), | |
| radial-gradient(ellipse at bottom right, rgba(251, 191, 36, 0.05) 0%, transparent 50%), | |
| linear-gradient(180deg, #0f172a 0%, #0c1220 40%, #020617 100%); | |
| color: var(--p1-text) ; | |
| font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif; | |
| font-size: 16px; | |
| line-height: 1.6; | |
| min-height: 100vh; | |
| } | |
| /* Typography */ | |
| .gradio-container .prose, | |
| .gradio-container p, | |
| .gradio-container span, | |
| .gradio-container label, | |
| .gradio-container .markdown p, | |
| .gradio-container .markdown li { | |
| color: var(--p1-text) ; | |
| } | |
| .gradio-container h1 { | |
| font-family: 'Outfit', system-ui, sans-serif; | |
| color: var(--p1-accent); | |
| font-size: 2rem; | |
| font-weight: 700; | |
| letter-spacing: -0.01em; | |
| text-shadow: 0 0 40px var(--p1-accent-glow); | |
| } | |
| .gradio-container h2, | |
| .gradio-container h3 { | |
| font-family: 'Outfit', system-ui, sans-serif; | |
| color: var(--p1-text) ; | |
| font-weight: 600; | |
| letter-spacing: -0.005em; | |
| } | |
| .gradio-container h4 { | |
| color: var(--p1-text-muted) ; | |
| } | |
| /* Input fields */ | |
| .gradio-container input, | |
| .gradio-container textarea, | |
| .gradio-container select { | |
| background: var(--p1-bg-card); | |
| color: var(--p1-text); | |
| border: 1px solid var(--p1-border); | |
| border-radius: var(--p1-radius); | |
| backdrop-filter: blur(8px); | |
| transition: border-color 0.2s ease, box-shadow 0.2s ease; | |
| } | |
| .gradio-container input:focus, | |
| .gradio-container textarea:focus { | |
| border-color: var(--p1-accent); | |
| box-shadow: 0 0 0 3px var(--p1-accent-glow); | |
| outline: none; | |
| } | |
| /* Buttons */ | |
| .gradio-container button { | |
| border-radius: 999px; | |
| font-weight: 600; | |
| font-family: 'Inter', system-ui, sans-serif; | |
| transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); | |
| letter-spacing: 0.01em; | |
| } | |
| .gradio-container button.primary, | |
| .gradio-container button.lg.primary { | |
| background: linear-gradient(135deg, var(--p1-accent) 0%, #f97316 100%); | |
| color: #111827; | |
| font-weight: 700; | |
| box-shadow: 0 4px 16px rgba(251, 191, 36, 0.25); | |
| border: none; | |
| } | |
| .gradio-container button.primary:hover { | |
| transform: translateY(-1px); | |
| box-shadow: 0 6px 24px rgba(251, 191, 36, 0.35); | |
| } | |
| .gradio-container button.secondary { | |
| background: var(--p1-bg-card); | |
| color: var(--p1-text); | |
| border: 1px solid var(--p1-border); | |
| backdrop-filter: blur(8px); | |
| } | |
| .gradio-container button.secondary:hover { | |
| border-color: var(--p1-accent); | |
| background: var(--p1-bg-surface); | |
| } | |
| /* Upload area */ | |
| .gradio-container .upload-area { | |
| border: 2px dashed rgba(96, 165, 250, 0.3); | |
| border-radius: 20px; | |
| background: var(--p1-bg-card); | |
| backdrop-filter: blur(12px); | |
| transition: border-color 0.3s ease, background 0.3s ease; | |
| } | |
| .gradio-container .upload-area:hover { | |
| border-color: var(--p1-accent); | |
| background: rgba(251, 191, 36, 0.05); | |
| } | |
| /* Result cards */ | |
| .gradio-container .result-card, | |
| .gradio-container .history-card, | |
| .gradio-container .status-box { | |
| background: var(--p1-bg-card); | |
| border: 1px solid var(--p1-border); | |
| border-radius: var(--p1-radius); | |
| padding: 1.25rem; | |
| backdrop-filter: blur(12px); | |
| box-shadow: var(--p1-shadow); | |
| color: var(--p1-text) ; | |
| } | |
| .gradio-container .result-card p, | |
| .gradio-container .history-card p, | |
| .gradio-container .status-box p, | |
| .gradio-container .result-card span, | |
| .gradio-container .history-card span { | |
| color: var(--p1-text) ; | |
| } | |
| .gradio-container .result-card h3 { | |
| margin-top: 0; | |
| } | |
| /* Search box */ | |
| .gradio-container .search-box input { | |
| padding-left: 1rem; | |
| } | |
| /* Accordion */ | |
| .gradio-container .accordion { | |
| background: var(--p1-bg-surface); | |
| border: 1px solid var(--p1-border); | |
| border-radius: var(--p1-radius); | |
| } | |
| /* Markdown formatting within results */ | |
| .gradio-container .markdown-text blockquote { | |
| border-left: 3px solid var(--p1-accent); | |
| padding-left: 1rem; | |
| margin-left: 0; | |
| color: var(--p1-text-muted); | |
| font-style: italic; | |
| } | |
| .gradio-container .markdown-text code { | |
| background: rgba(96, 165, 250, 0.12); | |
| color: var(--p1-info); | |
| padding: 0.15rem 0.4rem; | |
| border-radius: 6px; | |
| font-size: 0.85em; | |
| } | |
| .gradio-container .markdown-text hr { | |
| border-color: var(--p1-border); | |
| margin: 1rem 0; | |
| } | |
| /* JSON panel (kept for dev accordion) */ | |
| .gradio-container .json-holder { | |
| background: var(--p1-bg-card); | |
| border: 1px solid var(--p1-border); | |
| border-radius: var(--p1-radius); | |
| } | |
| /* Scrollbar */ | |
| .gradio-container ::-webkit-scrollbar { | |
| width: 6px; | |
| } | |
| .gradio-container ::-webkit-scrollbar-track { | |
| background: transparent; | |
| } | |
| .gradio-container ::-webkit-scrollbar-thumb { | |
| background: rgba(96, 165, 250, 0.25); | |
| border-radius: 4px; | |
| } | |
| /* Footer */ | |
| .gradio-container footer { | |
| opacity: 0.5; | |
| } | |
| /* Responsive */ | |
| @media (max-width: 768px) { | |
| .gradio-container h1 { | |
| font-size: 1.5rem; | |
| } | |
| } | |
| /* Micro-animations */ | |
| @keyframes fadeIn { | |
| from { opacity: 0; transform: translateY(8px); } | |
| to { opacity: 1; transform: translateY(0); } | |
| } | |
| .gradio-container .result-card, | |
| .gradio-container .history-card { | |
| animation: fadeIn 0.4s ease-out; | |
| } | |
| /* Tab Active states */ | |
| .gradio-container .tab-nav button { | |
| color: var(--p1-text) ; | |
| background-color: transparent ; | |
| } | |
| .gradio-container .tab-nav button.selected { | |
| color: var(--p1-accent) ; | |
| background-color: var(--p1-bg-surface) ; | |
| border-bottom: 2px solid var(--p1-accent) ; | |
| font-weight: bold; | |
| } | |