| | |
| |
|
| | *, |
| | *::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; |
| | } |
| |
|
| | |
| | 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-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; |
| | } |
| |
|
| | |
| | .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 { |
| | text-align: center; |
| | font-size: 0.8rem; |
| | color: #999; |
| | margin: 1.5rem 0 0.5rem; |
| | } |
| |
|
| | |
| | .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; |
| | } |
| |
|
| | |
| | .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; |
| | } |
| |
|
| | |
| | .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 { |
| | 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; |
| | } |
| |
|
| | |
| | .doc-image { |
| | margin: 1.5rem 0; |
| | text-align: center; |
| | } |
| |
|
| | .doc-image img { |
| | max-width: 100%; |
| | height: auto; |
| | max-height: 60vh; |
| | } |
| |
|
| | |
| | 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 { |
| | 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 { |
| | 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 { |
| | 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-indicator { |
| | opacity: 0; |
| | transition: opacity 200ms ease-in; |
| | } |
| |
|
| | .htmx-request .htmx-indicator, |
| | .htmx-request.htmx-indicator { |
| | opacity: 1; |
| | } |
| |
|
| | |
| | .empty { |
| | text-align: center; |
| | color: #999; |
| | padding: 3rem 0; |
| | font-size: 0.9rem; |
| | } |
| |
|
| | |
| | @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; |
| | } |
| | } |
| |
|