/* ========== CSS VARIABLES ========== */ :root { --background: 240 10% 3.9%; --foreground: 0 0% 98%; --card: 240 10% 4.5%; --card-border: 240 3.7% 18%; --primary: 0 0% 98%; --primary-foreground: 240 5.9% 10%; --secondary: 240 3.7% 15.9%; --secondary-foreground: 0 0% 98%; --muted: 240 3.7% 15.9%; --muted-foreground: 240 5% 64.9%; --accent: 240 3.7% 15.9%; --accent-foreground: 0 0% 98%; --border: 240 3.7% 18%; --input: 240 3.7% 18%; --ring: 240 5.9% 85%; --radius: 0.625rem; } /* ========== GLOBAL STYLES ========== */ .gradio-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background: hsl(var(--background)) !important; color: hsl(var(--foreground)); } .gradio-container mark { background: hsl(var(--accent) / 0.6); color: hsl(var(--accent-foreground)); padding: 0.15em 0.35em; border-radius: calc(var(--radius) - 2px); font-weight: 500; border: 1px solid hsl(var(--border) / 0.5); } footer { display: none !important; } /* ========== MARKDOWN ========== */ .gradio-markdown { color: hsl(var(--foreground)) !important; font-size: 0.9375rem !important; line-height: 1.6 !important; } .gradio-markdown:first-child { margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid hsl(var(--border)); } .gradio-markdown:last-child { padding-top: 1.5rem; border-top: 1px solid hsl(var(--border)); color: hsl(var(--muted-foreground)) !important; } .gradio-markdown a { color: hsl(var(--foreground)) !important; text-decoration: none; border-bottom: 1px solid hsl(var(--border)); transition: border-color 0.2s ease; } .gradio-markdown a:hover { border-color: hsl(var(--ring)); } /* ========== LAYOUT ========== */ .main-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; } @media (max-width: 768px) { .main-grid { grid-template-columns: 1fr; } } /* ========== CARDS ========== */ .card { background: hsl(var(--card)); border: 1px solid hsl(var(--card-border)); border-radius: var(--radius); padding: 1.5rem; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.02) inset; } /* ========== FORM ELEMENTS ========== */ .form-label { font-size: 0.875rem; font-weight: 500; margin-bottom: 0.5rem; display: block; color: hsl(var(--foreground)); } .input-textarea { width: 100%; min-height: 140px; padding: 0.875rem; font-size: 0.9375rem; line-height: 1.6; background: hsl(var(--background)); border: 1px solid hsl(var(--input)); border-radius: var(--radius); color: hsl(var(--foreground)); transition: all 0.2s ease; resize: vertical; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); } .input-textarea::placeholder { color: hsl(var(--muted-foreground) / 0.7); } .input-textarea:focus { outline: none; border-color: hsl(var(--ring)); box-shadow: 0 0 0 3px hsl(var(--ring) / 0.1), 0 1px 2px rgba(0, 0, 0, 0.2); background: hsl(var(--background) / 0.8); } /* ========== BUTTONS ========== */ .btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; font-size: 0.9375rem; font-weight: 500; padding: 0.625rem 1.25rem; border-radius: var(--radius); cursor: pointer; transition: all 0.2s ease; border: none; } .btn:focus-visible { outline: none; box-shadow: 0 0 0 2px hsl(var(--background)), 0 0 0 4px hsl(var(--ring)); } .btn-primary { background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.05) inset; } .btn-primary:hover { opacity: 0.95; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.08) inset; } .btn-primary:active { transform: translateY(1px); } .btn-primary:disabled { opacity: 0.5; cursor: not-allowed; } .btn-secondary { background: hsl(var(--secondary)); color: hsl(var(--secondary-foreground)); border: 1px solid hsl(var(--border)); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); } .btn-secondary:hover { background: hsl(var(--secondary) / 0.8); border-color: hsl(var(--muted-foreground) / 0.5); } .btn-secondary:active { transform: translateY(1px); } /* ========== OUTPUT CONTAINER ========== */ .output-container { min-height: 140px; padding: 0.875rem; border: 1px solid hsl(var(--input)); border-radius: var(--radius); background: hsl(var(--background)); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.02) inset; } .output-text { color: hsl(var(--foreground)); font-size: 0.9375rem; line-height: 1.75; margin: 0; } .placeholder-text { color: hsl(var(--muted-foreground)); } .highlight-keyword { background: hsl(var(--accent) / 0.6); color: hsl(var(--accent-foreground)); padding: 0.15em 0.35em; border-radius: calc(var(--radius) - 2px); font-weight: 500; border: 1px solid hsl(var(--border) / 0.5); } /* ========== EXAMPLES ========== */ .examples-section { padding: 1.5rem; background: hsl(var(--card)); border: 1px solid hsl(var(--card-border)); border-radius: var(--radius); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.02) inset; } /* ========== SPACING UTILITIES ========== */ .mt-6 { margin-top: 1.5rem; } .flex { display: flex; } .gap-2 { gap: 0.5rem; }