custom_css = """ /* HF Space Native Theme Adaptation */ :root { --xray-primary: #0284c7; --xray-primary-hover: #0369a1; --xray-accent: #38bdf8; --xray-success: #10b981; --xray-warning: #f59e0b; --xray-danger: #ef4444; } /* Continuous Audit Loading Component - HF Native Variable Theme */ .audit-loading-container { display: flex !important; flex-direction: column !important; gap: 12px !important; background: var(--background-fill-secondary, #f8fafc) !important; border: 1.5px solid var(--primary-500, #0284c7) !important; border-radius: 12px !important; padding: 16px 20px !important; margin-top: 12px !important; box-shadow: 0 4px 16px rgba(2, 132, 199, 0.15) !important; animation: xrayPulse 2.5s infinite ease-in-out !important; } @keyframes xrayPulse { 0% { box-shadow: 0 0 0 0 rgba(2, 132, 199, 0.3); } 70% { box-shadow: 0 0 0 8px rgba(2, 132, 199, 0); } 100% { box-shadow: 0 0 0 0 rgba(2, 132, 199, 0); } } .loading-top-row { display: flex !important; align-items: center !important; gap: 16px !important; width: 100% !important; } .spinner-orbit { position: relative !important; width: 38px !important; height: 38px !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; } .spinner-ring { position: absolute !important; width: 100% !important; height: 100% !important; border-radius: 50% !important; border: 3px solid var(--border-color-primary, #e2e8f0) !important; border-top-color: var(--primary-500, #0284c7) !important; animation: xraySpin 0.85s linear infinite !important; } @keyframes xraySpin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .spinner-core { font-size: 18px !important; line-height: 1 !important; } .loading-text-stack { display: flex !important; flex-direction: column !important; gap: 3px !important; flex-grow: 1 !important; overflow: hidden !important; } .loading-main-text { font-size: 14px !important; font-weight: 700 !important; color: var(--primary-500, #0284c7) !important; letter-spacing: 0.01em !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; } .loading-sub-text { font-size: 12.5px !important; font-weight: 500 !important; color: var(--body-text-color-subdued, #64748b) !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; } .loading-pct-badge { margin-left: auto !important; font-family: monospace !important; font-size: 15px !important; font-weight: 800 !important; color: var(--primary-500, #0284c7) !important; background: rgba(2, 132, 199, 0.1) !important; padding: 4px 10px !important; border-radius: 8px !important; border: 1px solid rgba(2, 132, 199, 0.25) !important; flex-shrink: 0 !important; } .progress-bar-track { width: 100% !important; height: 10px !important; background: var(--border-color-primary, #e2e8f0) !important; border-radius: 99px !important; overflow: hidden !important; position: relative !important; } .progress-bar-fill { height: 100% !important; background: linear-gradient(90deg, #0284c7 0%, #38bdf8 50%, #10b981 100%) !important; border-radius: 99px !important; transition: width 0.35s ease-in-out !important; position: relative !important; } .progress-bar-glow { position: absolute !important; top: 0 !important; right: 0 !important; bottom: 0 !important; width: 20px !important; background: #ffffff !important; opacity: 0.6 !important; filter: blur(3px) !important; animation: glowShimmer 1.5s infinite !important; } @keyframes glowShimmer { 0% { opacity: 0.2; } 50% { opacity: 0.8; } 100% { opacity: 0.2; } } /* Section Header */ .section-eyebrow { font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.08em !important; color: var(--body-text-color-subdued, #64748b) !important; text-transform: uppercase !important; margin-bottom: 12px !important; } /* Top Cards Grid */ .top-cards-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 16px !important; } @media (max-width: 1024px) { .top-cards-grid { grid-template-columns: repeat(2, 1fr) !important; } } @media (max-width: 640px) { .top-cards-grid { grid-template-columns: 1fr !important; } } .top-eval-card { background: var(--background-fill-secondary, #f8fafc) !important; border: 1px solid var(--border-color-primary, #e2e8f0) !important; border-radius: 12px !important; padding: 16px !important; display: flex !important; flex-direction: column !important; gap: 12px !important; box-shadow: var(--shadow-drop-lg, 0 2px 8px rgba(0, 0, 0, 0.04)) !important; transition: transform 0.2s ease, border-color 0.2s ease !important; } .top-eval-card:hover { border-color: var(--primary-500, #0284c7) !important; transform: translateY(-2px) !important; } .card-header-row { display: flex !important; align-items: center !important; gap: 12px !important; } .provider-logo { width: 36px !important; height: 36px !important; border-radius: 8px !important; background: var(--background-fill-primary, #ffffff) !important; border: 1.5px solid var(--primary-500, #0284c7) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-weight: 800 !important; font-size: 16px !important; color: var(--primary-500, #0284c7) !important; } .card-titles { display: flex !important; flex-direction: column !important; overflow: hidden !important; } .card-titles h3 { font-size: 14px !important; font-weight: 700 !important; color: var(--body-text-color, #0f172a) !important; margin: 0 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; } .card-titles span { font-size: 11.5px !important; color: var(--body-text-color-subdued, #64748b) !important; font-weight: 500 !important; } .benchmark-sub { font-size: 13px !important; color: var(--body-text-color, #0f172a) !important; font-weight: 600 !important; } /* Split Pills */ .metrics-stack { display: flex !important; flex-direction: column !important; gap: 8px !important; } .metric-split-pill { display: flex !important; align-items: center !important; justify-content: space-between !important; border-radius: 8px !important; padding: 4px 8px 4px 4px !important; } .metric-split-pill .badge { padding: 3px 8px !important; border-radius: 6px !important; color: #ffffff !important; font-weight: 700 !important; font-size: 11px !important; letter-spacing: 0.02em !important; } .metric-split-pill .sub-val { font-size: 11px !important; font-weight: 600 !important; padding-right: 4px !important; } .metric-split-pill.green { background: rgba(16, 185, 129, 0.1) !important; border: 1px solid rgba(16, 185, 129, 0.25) !important; } .metric-split-pill.green .badge { background: #059669 !important; } .metric-split-pill.green .sub-val { color: #059669 !important; } .metric-split-pill.blue { background: rgba(2, 132, 199, 0.1) !important; border: 1px solid rgba(2, 132, 199, 0.25) !important; } .metric-split-pill.blue .badge { background: #0284c7 !important; } .metric-split-pill.blue .sub-val { color: #0284c7 !important; } .card-footer { display: flex !important; justify-content: space-between !important; font-family: monospace !important; font-size: 10px !important; color: var(--body-text-color-subdued, #64748b) !important; border-top: 1px solid var(--border-color-primary, #e2e8f0) !important; padding-top: 8px !important; margin-top: auto !important; } /* Dynamic Results / Audit Detail Panel */ .audit-result-panel { background: var(--background-fill-secondary, #f8fafc) !important; border: 1.5px solid var(--primary-500, #0284c7) !important; border-radius: 12px !important; padding: 18px 22px !important; display: flex !important; flex-direction: column !important; gap: 14px !important; box-shadow: var(--shadow-drop-lg, 0 4px 16px rgba(0, 0, 0, 0.05)) !important; } .result-panel-empty { background: var(--background-fill-secondary, #f8fafc) !important; border: 1.5px dashed var(--border-color-primary, #cbd5e1) !important; border-radius: 12px !important; padding: 36px 20px !important; text-align: center !important; color: var(--body-text-color-subdued, #64748b) !important; } .result-header-row { display: flex !important; justify-content: space-between !important; align-items: flex-start !important; gap: 16px !important; border-bottom: 1px solid var(--border-color-primary, #e2e8f0) !important; padding-bottom: 12px !important; } .panel-tag { font-family: monospace !important; font-size: 10px !important; font-weight: 700 !important; color: var(--primary-500, #0284c7) !important; letter-spacing: 0.08em !important; background: rgba(2, 132, 199, 0.1) !important; padding: 2px 8px !important; border-radius: 4px !important; } .result-model-title { font-size: 17px !important; font-weight: 800 !important; color: var(--body-text-color, #0f172a) !important; margin: 6px 0 2px 0 !important; } .result-meta-sub { font-size: 12px !important; color: var(--body-text-color-subdued, #64748b) !important; } .score-badge-box { text-align: right !important; display: flex !important; flex-direction: column !important; align-items: flex-end !important; gap: 2px !important; } .score-label { font-family: monospace !important; font-size: 9.5px !important; font-weight: 700 !important; color: var(--body-text-color-subdued, #64748b) !important; } .score-number { font-size: 28px !important; font-weight: 800 !important; color: var(--body-text-color, #0f172a) !important; line-height: 1 !important; } .risk-badge { display: inline-block !important; padding: 3px 10px !important; border-radius: 99px !important; font-family: monospace !important; font-size: 10px !important; font-weight: 700 !important; text-transform: uppercase !important; } .risk-low { background: #ecfdf5 !important; color: #059669 !important; border: 1px solid #a7f3d0 !important; } .risk-moderate { background: #fffbeb !important; color: #d97706 !important; border: 1px solid #fde68a !important; } .risk-high { background: #fff1f2 !important; color: #e11d48 !important; border: 1px solid #fecdd3 !important; } /* 3-Layer Grid */ .layer-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 12px !important; } @media (max-width: 860px) { .layer-grid { grid-template-columns: 1fr !important; } } .layer-card { background: var(--background-fill-primary, #ffffff) !important; border: 1px solid var(--border-color-primary, #e2e8f0) !important; border-radius: 8px !important; padding: 12px !important; display: flex !important; flex-direction: column !important; gap: 6px !important; } .layer-title { font-size: 11px !important; font-weight: 700 !important; color: var(--body-text-color-subdued, #64748b) !important; margin-bottom: 2px !important; text-transform: uppercase !important; font-family: monospace !important; } .stat-row { display: flex !important; justify-content: space-between !important; font-size: 12px !important; color: var(--body-text-color, #334155) !important; } .stat-row b { color: var(--body-text-color, #0f172a) !important; font-family: monospace !important; } .result-footer { display: flex !important; justify-content: space-between !important; font-family: monospace !important; font-size: 10.5px !important; color: var(--body-text-color-subdued, #64748b) !important; border-top: 1px solid var(--border-color-primary, #e2e8f0) !important; padding-top: 10px !important; } """