Spaces:
Running
Running
| /* ocr-bench viewer — Tufte-inspired minimal styles */ | |
| *, | |
| *::before, | |
| *::after { | |
| box-sizing: border-box; | |
| } | |
| body { | |
| font-family: system-ui, -apple-system, sans-serif; | |
| color: #333; | |
| background: #fff; | |
| margin: 0; | |
| padding: 0; | |
| line-height: 1.5; | |
| } | |
| .container { | |
| max-width: 960px; | |
| margin: 0 auto; | |
| padding: 0 1.5rem 3rem; | |
| } | |
| /* Navigation */ | |
| nav { | |
| border-bottom: 1px solid #ddd; | |
| padding: 0.75rem 0; | |
| margin-bottom: 2rem; | |
| display: flex; | |
| align-items: baseline; | |
| gap: 2rem; | |
| } | |
| nav .brand { | |
| font-weight: 600; | |
| color: #333; | |
| text-decoration: none; | |
| font-size: 0.9rem; | |
| letter-spacing: 0.02em; | |
| } | |
| nav a { | |
| color: #666; | |
| text-decoration: none; | |
| font-size: 0.85rem; | |
| } | |
| nav a:hover, | |
| nav a.active { | |
| color: #333; | |
| } | |
| nav a.active { | |
| border-bottom: 2px solid #333; | |
| padding-bottom: 2px; | |
| } | |
| /* Comparison layout */ | |
| .comparison-columns { | |
| display: grid; | |
| grid-template-columns: 1fr 1fr; | |
| gap: 2rem; | |
| margin: 1.5rem 0; | |
| } | |
| .ocr-column h3 { | |
| font-size: 0.85rem; | |
| font-weight: 600; | |
| color: #666; | |
| margin: 0 0 0.5rem; | |
| padding-bottom: 0.35rem; | |
| border-bottom: 1px solid #ddd; | |
| letter-spacing: 0.02em; | |
| } | |
| .ocr-column h3.revealed { | |
| color: #333; | |
| } | |
| .ocr-text { | |
| font-family: "SF Mono", "Menlo", "Consolas", monospace; | |
| font-size: 0.82rem; | |
| line-height: 1.6; | |
| white-space: pre-wrap; | |
| word-break: break-word; | |
| max-height: 50vh; | |
| overflow-y: auto; | |
| padding: 0.25rem 0; | |
| color: #444; | |
| } | |
| /* Navigation header */ | |
| .comp-nav { | |
| display: flex; | |
| justify-content: flex-end; | |
| align-items: baseline; | |
| gap: 0.75rem; | |
| margin-bottom: 0.5rem; | |
| color: #999; | |
| font-size: 0.8rem; | |
| } | |
| .comp-nav a { | |
| color: #999; | |
| text-decoration: none; | |
| font-size: 0.85rem; | |
| padding: 0.15rem 0.4rem; | |
| } | |
| .comp-nav a:hover { | |
| color: #333; | |
| } | |
| /* Vote prompt */ | |
| .vote-prompt { | |
| text-align: center; | |
| font-size: 0.8rem; | |
| color: #999; | |
| margin: 1.5rem 0 0.5rem; | |
| } | |
| /* Vote buttons */ | |
| .vote-row { | |
| text-align: center; | |
| margin: 0.25rem 0 0.5rem; | |
| display: flex; | |
| justify-content: center; | |
| gap: 0.5rem; | |
| } | |
| .vote-btn { | |
| display: inline-block; | |
| color: #555; | |
| text-decoration: none; | |
| padding: 0.35rem 1rem; | |
| border: 1px solid #ddd; | |
| border-radius: 4px; | |
| font-size: 0.85rem; | |
| transition: border-color 0.15s, color 0.15s; | |
| } | |
| .vote-btn:hover { | |
| color: #333; | |
| border-color: #999; | |
| } | |
| .vote-btn.vote-tie { | |
| color: #888; | |
| } | |
| /* Hints below vote buttons */ | |
| .vote-hints { | |
| text-align: center; | |
| margin: 0.5rem 0 1rem; | |
| font-size: 0.75rem; | |
| color: #bbb; | |
| } | |
| .vote-hints a { | |
| color: #999; | |
| text-decoration: none; | |
| } | |
| .vote-hints a:hover { | |
| color: #666; | |
| text-decoration: underline; | |
| } | |
| .vote-hints .separator { | |
| color: #ddd; | |
| } | |
| .vote-hints kbd { | |
| font-family: system-ui, sans-serif; | |
| font-size: 0.7rem; | |
| padding: 0.05rem 0.3rem; | |
| border: 1px solid #ddd; | |
| border-radius: 3px; | |
| background: #f8f8f8; | |
| color: #999; | |
| } | |
| /* Legacy reveal-row (kept for compat) */ | |
| .reveal-row { | |
| text-align: right; | |
| margin: 0.25rem 0 1rem; | |
| font-size: 0.8rem; | |
| } | |
| .reveal-row a { | |
| color: #999; | |
| text-decoration: none; | |
| } | |
| .reveal-row a:hover { | |
| color: #666; | |
| } | |
| /* Verdict display */ | |
| .verdict { | |
| margin: 1rem 0; | |
| font-size: 0.85rem; | |
| color: #555; | |
| line-height: 1.6; | |
| } | |
| .verdict .agreement { | |
| font-weight: 500; | |
| } | |
| .verdict .agreement.agreed { | |
| color: #457b4d; | |
| } | |
| .verdict .agreement.soft-disagree { | |
| color: #a07828; | |
| } | |
| .verdict .agreement.hard-disagree { | |
| color: #b04040; | |
| } | |
| .verdict .reason { | |
| font-style: italic; | |
| color: #777; | |
| display: block; | |
| margin-top: 0.25rem; | |
| } | |
| /* Document image */ | |
| .doc-image { | |
| margin: 1.5rem 0; | |
| text-align: center; | |
| } | |
| .doc-image img { | |
| max-width: 100%; | |
| height: auto; | |
| max-height: 60vh; | |
| } | |
| /* Leaderboard table */ | |
| table { | |
| width: 100%; | |
| border-collapse: collapse; | |
| font-size: 0.85rem; | |
| margin: 1.5rem 0; | |
| } | |
| thead th { | |
| text-align: left; | |
| font-weight: 600; | |
| padding: 0.5rem 0.75rem; | |
| border-bottom: 2px solid #333; | |
| color: #333; | |
| font-size: 0.8rem; | |
| letter-spacing: 0.02em; | |
| } | |
| thead th.num { | |
| text-align: right; | |
| } | |
| tbody td { | |
| padding: 0.4rem 0.75rem; | |
| border-bottom: 1px solid #eee; | |
| } | |
| tbody td.num { | |
| text-align: right; | |
| font-variant-numeric: tabular-nums; | |
| } | |
| tbody td.model { | |
| font-weight: 500; | |
| } | |
| tbody tr:hover { | |
| background: #fafafa; | |
| } | |
| /* Filters */ | |
| .filters { | |
| display: flex; | |
| gap: 1rem; | |
| margin-bottom: 1rem; | |
| align-items: center; | |
| } | |
| .filters label { | |
| font-size: 0.8rem; | |
| color: #666; | |
| } | |
| .filters select { | |
| font-size: 0.8rem; | |
| padding: 0.25rem 0.5rem; | |
| border: 1px solid #ddd; | |
| border-radius: 3px; | |
| background: #fff; | |
| color: #333; | |
| } | |
| /* Stats panel */ | |
| .stats-panel { | |
| color: #888; | |
| font-size: 0.8rem; | |
| padding: 1rem 0; | |
| border-top: 1px solid #eee; | |
| margin-top: 2rem; | |
| } | |
| .stats-panel .calibrated { | |
| color: #457b4d; | |
| } | |
| .stats-panel .warning { | |
| color: #b04040; | |
| } | |
| /* Pair summary table */ | |
| .pair-summary { | |
| margin-bottom: 1rem; | |
| } | |
| .pair-table { | |
| width: auto; | |
| font-size: 0.8rem; | |
| color: #888; | |
| } | |
| .pair-table th { | |
| font-size: 0.75rem; | |
| color: #999; | |
| font-weight: 500; | |
| padding: 0.2rem 0.6rem; | |
| border-bottom: 1px solid #ddd; | |
| } | |
| .pair-table td { | |
| padding: 0.15rem 0.6rem; | |
| border-bottom: 1px solid #f0f0f0; | |
| } | |
| /* HTMX loading indicator */ | |
| .htmx-indicator { | |
| opacity: 0; | |
| transition: opacity 200ms ease-in; | |
| } | |
| .htmx-request .htmx-indicator, | |
| .htmx-request.htmx-indicator { | |
| opacity: 1; | |
| } | |
| /* Empty state */ | |
| .empty { | |
| text-align: center; | |
| color: #999; | |
| padding: 3rem 0; | |
| font-size: 0.9rem; | |
| } | |
| /* Responsive */ | |
| @media (max-width: 768px) { | |
| .comparison-columns { | |
| grid-template-columns: 1fr; | |
| } | |
| .container { | |
| padding: 0 1rem 2rem; | |
| } | |
| table { | |
| display: block; | |
| overflow-x: auto; | |
| -webkit-overflow-scrolling: touch; | |
| } | |
| } | |