| |
| |
| |
| |
|
|
| |
| :root { |
| --bg-base: #0a0a0f; |
| --bg-surface: #111118; |
| --bg-card: #16161f; |
| --bg-input: #1d1d28; |
| --border: #2a2a3d; |
| --border-focus:#6366f1; |
| --accent: #6366f1; |
| --accent-dim: #4f46e5; |
| --text-primary:#e2e8f0; |
| --text-muted: #8892a4; |
| --text-faint: #4a5568; |
| --green: #22c55e; |
| --green-dim: #166534; |
| --amber: #f59e0b; |
| --amber-dim: #78350f; |
| --red: #ef4444; |
| --red-dim: #7f1d1d; |
| --radius-sm: 8px; |
| --radius-md: 12px; |
| --radius-lg: 18px; |
| } |
|
|
| |
| body, .gradio-container { |
| background: var(--bg-base) !important; |
| color: var(--text-primary) !important; |
| font-family: "Inter", system-ui, -apple-system, sans-serif !important; |
| } |
|
|
| .gradio-container { |
| max-width: 860px !important; |
| margin: 0 auto !important; |
| padding: 0 16px 80px !important; |
| } |
|
|
| footer { display: none !important; } |
|
|
| |
| .rg-header { |
| text-align: center; |
| padding: 52px 0 36px; |
| } |
|
|
| .rg-logo { |
| font-size: 2.8rem; |
| font-weight: 800; |
| letter-spacing: -0.04em; |
| background: linear-gradient(135deg, #a5b4fc 0%, #818cf8 50%, #6366f1 100%); |
| -webkit-background-clip: text; |
| -webkit-text-fill-color: transparent; |
| background-clip: text; |
| display: inline-block; |
| margin-bottom: 6px; |
| } |
|
|
| .rg-tagline { |
| color: var(--text-muted); |
| font-size: 1rem; |
| letter-spacing: 0.01em; |
| } |
|
|
| .rg-badge { |
| display: inline-flex; |
| align-items: center; |
| gap: 6px; |
| margin-top: 14px; |
| padding: 5px 14px; |
| background: rgba(99, 102, 241, 0.12); |
| border: 1px solid rgba(99, 102, 241, 0.30); |
| border-radius: 999px; |
| font-size: 0.78rem; |
| color: #a5b4fc; |
| letter-spacing: 0.02em; |
| } |
|
|
| |
| .step-card { |
| background: var(--bg-card) !important; |
| border: 1px solid var(--border) !important; |
| border-radius: var(--radius-lg) !important; |
| padding: 28px !important; |
| margin-bottom: 16px !important; |
| transition: border-color 0.2s ease; |
| } |
|
|
| .step-card:focus-within { |
| border-color: var(--border-focus) !important; |
| } |
|
|
| .step-header { |
| display: flex; |
| align-items: center; |
| gap: 12px; |
| margin-bottom: 22px; |
| } |
|
|
| .step-num { |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| width: 28px; |
| height: 28px; |
| border-radius: 50%; |
| background: var(--accent); |
| color: #fff; |
| font-size: 0.8rem; |
| font-weight: 700; |
| flex-shrink: 0; |
| } |
|
|
| .step-title { |
| font-size: 1rem; |
| font-weight: 600; |
| color: var(--text-primary); |
| } |
|
|
| |
| |
| .robot-radio .wrap { |
| display: flex !important; |
| gap: 12px !important; |
| flex-wrap: nowrap !important; |
| } |
|
|
| .robot-radio .wrap label { |
| flex: 1 !important; |
| min-width: 0 !important; |
| display: flex !important; |
| flex-direction: column !important; |
| align-items: center !important; |
| gap: 10px !important; |
| padding: 22px 12px !important; |
| background: var(--bg-input) !important; |
| border: 2px solid var(--border) !important; |
| border-radius: var(--radius-md) !important; |
| cursor: pointer !important; |
| transition: border-color 0.18s, background 0.18s, transform 0.12s !important; |
| color: var(--text-primary) !important; |
| font-size: 0.95rem !important; |
| font-weight: 600 !important; |
| text-align: center !important; |
| user-select: none !important; |
| } |
|
|
| .robot-radio .wrap label:hover { |
| border-color: var(--accent) !important; |
| transform: translateY(-2px) !important; |
| } |
|
|
| .robot-radio .wrap label:has(input:checked) { |
| border-color: var(--accent) !important; |
| background: rgba(99,102,241,0.12) !important; |
| } |
|
|
| .robot-radio .wrap input[type="radio"] { |
| display: none !important; |
| } |
|
|
| .robot-radio > .label-wrap { display: none !important; } |
|
|
| |
| .robot-icon { |
| font-size: 2.2rem; |
| line-height: 1; |
| } |
|
|
| |
| select, input[type="text"], input[type="email"], textarea, .gr-input { |
| background: var(--bg-input) !important; |
| border: 1px solid var(--border) !important; |
| border-radius: var(--radius-sm) !important; |
| color: var(--text-primary) !important; |
| font-size: 0.9rem !important; |
| } |
|
|
| select:focus, input:focus { |
| border-color: var(--border-focus) !important; |
| outline: none !important; |
| box-shadow: 0 0 0 3px rgba(99,102,241,0.15) !important; |
| } |
|
|
| |
| label.svelte-1b6s6g, .gr-label, .block label > span { |
| color: var(--text-muted) !important; |
| font-size: 0.82rem !important; |
| letter-spacing: 0.04em !important; |
| text-transform: uppercase !important; |
| font-weight: 600 !important; |
| } |
|
|
| |
| input[type="range"] { |
| accent-color: var(--accent) !important; |
| } |
|
|
| |
| .checkbox-group .wrap { |
| display: flex !important; |
| gap: 10px !important; |
| flex-wrap: wrap !important; |
| } |
|
|
| .checkbox-group label { |
| display: flex !important; |
| align-items: center !important; |
| gap: 8px !important; |
| padding: 8px 14px !important; |
| background: var(--bg-input) !important; |
| border: 1px solid var(--border) !important; |
| border-radius: 999px !important; |
| cursor: pointer !important; |
| color: var(--text-primary) !important; |
| font-size: 0.85rem !important; |
| font-weight: 500 !important; |
| transition: border-color 0.15s, background 0.15s !important; |
| } |
|
|
| .checkbox-group label:has(input:checked) { |
| border-color: var(--accent) !important; |
| background: rgba(99,102,241,0.12) !important; |
| color: #a5b4fc !important; |
| } |
|
|
| input[type="checkbox"] { |
| accent-color: var(--accent) !important; |
| } |
|
|
| |
| .gr-button, button.gr-button { |
| border-radius: var(--radius-sm) !important; |
| font-weight: 600 !important; |
| font-size: 0.88rem !important; |
| padding: 10px 20px !important; |
| transition: all 0.15s ease !important; |
| border: none !important; |
| cursor: pointer !important; |
| } |
|
|
| .btn-primary { |
| background: var(--accent) !important; |
| color: #fff !important; |
| } |
| .btn-primary:hover { |
| background: var(--accent-dim) !important; |
| transform: translateY(-1px) !important; |
| box-shadow: 0 4px 20px rgba(99,102,241,0.35) !important; |
| } |
|
|
| .btn-generate { |
| width: 100% !important; |
| padding: 16px !important; |
| font-size: 1.05rem !important; |
| letter-spacing: 0.02em !important; |
| background: linear-gradient(135deg, #6366f1, #4f46e5) !important; |
| color: #fff !important; |
| border-radius: var(--radius-md) !important; |
| box-shadow: 0 4px 24px rgba(99,102,241,0.3) !important; |
| } |
|
|
| .btn-generate:hover { |
| box-shadow: 0 6px 30px rgba(99,102,241,0.45) !important; |
| transform: translateY(-2px) !important; |
| } |
|
|
| .btn-ghost { |
| background: transparent !important; |
| border: 1px solid var(--border) !important; |
| color: var(--text-muted) !important; |
| } |
| .btn-ghost:hover { |
| border-color: var(--border-focus) !important; |
| color: var(--text-primary) !important; |
| } |
|
|
| .btn-download { |
| width: 100% !important; |
| padding: 14px !important; |
| background: rgba(34,197,94,0.15) !important; |
| border: 1px solid rgba(34,197,94,0.4) !important; |
| color: var(--green) !important; |
| border-radius: var(--radius-md) !important; |
| font-size: 0.96rem !important; |
| } |
| .btn-download:hover { |
| background: rgba(34,197,94,0.25) !important; |
| border-color: var(--green) !important; |
| } |
|
|
| |
| .rg-results { |
| background: var(--bg-card); |
| border: 1px solid var(--border); |
| border-radius: var(--radius-lg); |
| padding: 32px; |
| font-family: "Inter", system-ui, sans-serif; |
| } |
|
|
| .rg-score-row { |
| display: flex; |
| align-items: center; |
| gap: 24px; |
| margin-bottom: 28px; |
| } |
|
|
| .rg-score-circle { |
| display: flex; |
| flex-direction: column; |
| align-items: center; |
| justify-content: center; |
| width: 120px; |
| height: 120px; |
| border-radius: 50%; |
| flex-shrink: 0; |
| position: relative; |
| } |
|
|
| .rg-score-circle.clean { |
| background: radial-gradient(circle, rgba(34,197,94,0.15), rgba(34,197,94,0.05)); |
| border: 3px solid var(--green); |
| box-shadow: 0 0 30px rgba(34,197,94,0.2); |
| } |
|
|
| .rg-score-circle.review { |
| background: radial-gradient(circle, rgba(245,158,11,0.15), rgba(245,158,11,0.05)); |
| border: 3px solid var(--amber); |
| box-shadow: 0 0 30px rgba(245,158,11,0.2); |
| } |
|
|
| .rg-score-circle.flagged { |
| background: radial-gradient(circle, rgba(239,68,68,0.15), rgba(239,68,68,0.05)); |
| border: 3px solid var(--red); |
| box-shadow: 0 0 30px rgba(239,68,68,0.2); |
| } |
|
|
| .rg-score-value { |
| font-size: 2.2rem; |
| font-weight: 800; |
| letter-spacing: -0.04em; |
| color: var(--text-primary); |
| line-height: 1; |
| } |
|
|
| .rg-score-denom { |
| font-size: 0.85rem; |
| color: var(--text-muted); |
| margin-top: 2px; |
| } |
|
|
| .rg-score-info { |
| flex: 1; |
| } |
|
|
| .rg-band-badge { |
| display: inline-block; |
| padding: 5px 14px; |
| border-radius: 999px; |
| font-size: 0.82rem; |
| font-weight: 700; |
| letter-spacing: 0.06em; |
| text-transform: uppercase; |
| margin-bottom: 10px; |
| } |
|
|
| .rg-band-badge.clean { background: rgba(34,197,94,0.15); color: var(--green); border: 1px solid rgba(34,197,94,0.4); } |
| .rg-band-badge.review { background: rgba(245,158,11,0.15); color: var(--amber); border: 1px solid rgba(245,158,11,0.4); } |
| .rg-band-badge.flagged { background: rgba(239,68,68,0.15); color: var(--red); border: 1px solid rgba(239,68,68,0.4); } |
|
|
| .rg-band-desc { |
| font-size: 0.88rem; |
| color: var(--text-muted); |
| line-height: 1.5; |
| } |
|
|
| .rg-stat-grid { |
| display: grid; |
| grid-template-columns: repeat(3, 1fr); |
| gap: 12px; |
| margin-bottom: 24px; |
| } |
|
|
| .rg-stat { |
| background: var(--bg-input); |
| border: 1px solid var(--border); |
| border-radius: var(--radius-md); |
| padding: 16px; |
| text-align: center; |
| } |
|
|
| .rg-stat-value { |
| font-size: 1.6rem; |
| font-weight: 700; |
| color: var(--text-primary); |
| line-height: 1; |
| margin-bottom: 4px; |
| } |
|
|
| .rg-stat-label { |
| font-size: 0.75rem; |
| color: var(--text-muted); |
| letter-spacing: 0.04em; |
| text-transform: uppercase; |
| } |
|
|
| .rg-failure-section { |
| margin-top: 20px; |
| } |
|
|
| .rg-failure-title { |
| font-size: 0.82rem; |
| font-weight: 600; |
| color: var(--text-muted); |
| letter-spacing: 0.06em; |
| text-transform: uppercase; |
| margin-bottom: 10px; |
| } |
|
|
| .rg-failure-bar { |
| display: flex; |
| align-items: center; |
| gap: 10px; |
| margin-bottom: 8px; |
| } |
|
|
| .rg-failure-label { |
| font-size: 0.85rem; |
| color: var(--text-muted); |
| width: 160px; |
| flex-shrink: 0; |
| } |
|
|
| .rg-bar-track { |
| flex: 1; |
| height: 6px; |
| background: var(--border); |
| border-radius: 999px; |
| overflow: hidden; |
| } |
|
|
| .rg-bar-fill { |
| height: 100%; |
| border-radius: 999px; |
| background: var(--accent); |
| } |
|
|
| .rg-bar-count { |
| font-size: 0.82rem; |
| color: var(--text-muted); |
| width: 40px; |
| text-align: right; |
| flex-shrink: 0; |
| } |
|
|
| .rg-scorer-note { |
| margin-top: 18px; |
| font-size: 0.78rem; |
| color: var(--text-faint); |
| display: flex; |
| align-items: center; |
| gap: 6px; |
| } |
|
|
| |
| .tooltip-row { |
| display: flex; |
| align-items: flex-start; |
| gap: 8px; |
| margin-top: 4px; |
| } |
|
|
| .tooltip-label { |
| font-size: 0.78rem; |
| color: var(--text-faint); |
| font-style: italic; |
| line-height: 1.4; |
| } |
|
|
| |
| .status-msg { |
| font-size: 0.88rem; |
| color: var(--text-muted); |
| min-height: 1.2em; |
| } |
|
|
| |
| .email-gate-note { |
| font-size: 0.84rem; |
| color: var(--text-muted); |
| margin-bottom: 14px; |
| line-height: 1.5; |
| } |
|
|
| |
| @media (max-width: 600px) { |
| .robot-radio .wrap { |
| flex-direction: column !important; |
| } |
| .rg-stat-grid { |
| grid-template-columns: repeat(2, 1fr) !important; |
| } |
| .rg-score-row { |
| flex-direction: column !important; |
| align-items: flex-start !important; |
| } |
| .gradio-container { |
| padding: 0 10px 60px !important; |
| } |
| } |
|
|
| |
| .block.padded { padding: 0 !important; } |
| .block { border: none !important; background: transparent !important; box-shadow: none !important; } |
| .panel { background: transparent !important; } |
| div.form { border: none !important; background: transparent !important; } |
| .gr-prose { color: var(--text-primary) !important; } |
|
|
| |
| .hide-label > div > label { display: none !important; } |
| .no-border { border: none !important; background: transparent !important; } |
|
|