| |
| |
| |
| |
| |
| |
|
|
| |
| |
| |
|
|
| .annotation-form.triage { |
| width: 100%; |
| max-width: none; |
| margin: 0; |
| padding: 0; |
| } |
|
|
| .annotation-form.triage fieldset { |
| border: none; |
| padding: 0; |
| margin: 0; |
| } |
|
|
| .triage-title { |
| font-size: 0.875rem; |
| font-weight: 600; |
| color: var(--text-secondary, #6b7280); |
| margin-bottom: 0.75rem; |
| text-align: left; |
| text-transform: uppercase; |
| letter-spacing: 0.05em; |
| } |
|
|
| .triage-container { |
| display: flex; |
| flex-direction: column; |
| gap: 0.75rem; |
| } |
|
|
| |
| |
| |
|
|
| .triage-buttons { |
| display: flex; |
| flex-direction: row; |
| gap: 0.5rem; |
| justify-content: flex-start; |
| align-items: stretch; |
| } |
|
|
| .triage-btn { |
| display: flex; |
| flex-direction: row; |
| align-items: center; |
| justify-content: center; |
| gap: 0.5rem; |
| flex: 1; |
| max-width: 180px; |
| min-height: 48px; |
| padding: 0.625rem 1rem; |
| border: 2px solid transparent; |
| border-radius: 8px; |
| cursor: pointer; |
| font-family: inherit; |
| font-size: 0.875rem; |
| font-weight: 600; |
| transition: all 0.15s ease; |
| user-select: none; |
| -webkit-user-select: none; |
| -webkit-tap-highlight-color: transparent; |
| } |
|
|
| .triage-btn:focus { |
| outline: none; |
| box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.5); |
| } |
|
|
| .triage-btn:active { |
| transform: scale(0.98); |
| } |
|
|
| |
| .triage-btn-icon { |
| font-size: 1.125rem; |
| line-height: 1; |
| } |
|
|
| |
| .triage-btn-label { |
| font-size: 0.875rem; |
| font-weight: 600; |
| } |
|
|
| |
| .triage-btn-key { |
| font-size: 0.75rem; |
| font-weight: 500; |
| opacity: 0.6; |
| font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace; |
| } |
|
|
| |
| |
| |
|
|
| .triage-accept { |
| background-color: #dcfce7; |
| border-color: #86efac; |
| color: #166534; |
| } |
|
|
| .triage-accept:hover { |
| background-color: #bbf7d0; |
| border-color: #4ade80; |
| } |
|
|
| .triage-accept.selected { |
| background-color: #22c55e; |
| border-color: #16a34a; |
| color: white; |
| box-shadow: 0 4px 12px rgba(34, 197, 94, 0.4); |
| } |
|
|
| .triage-accept.selected .triage-btn-icon, |
| .triage-accept.selected .triage-btn-key { |
| opacity: 1; |
| } |
|
|
| |
| |
| |
|
|
| .triage-reject { |
| background-color: #fee2e2; |
| border-color: #fca5a5; |
| color: #991b1b; |
| } |
|
|
| .triage-reject:hover { |
| background-color: #fecaca; |
| border-color: #f87171; |
| } |
|
|
| .triage-reject.selected { |
| background-color: #ef4444; |
| border-color: #dc2626; |
| color: white; |
| box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4); |
| } |
|
|
| .triage-reject.selected .triage-btn-icon, |
| .triage-reject.selected .triage-btn-key { |
| opacity: 1; |
| } |
|
|
| |
| |
| |
|
|
| .triage-skip { |
| background-color: #f3f4f6; |
| border-color: #d1d5db; |
| color: #4b5563; |
| } |
|
|
| .triage-skip:hover { |
| background-color: #e5e7eb; |
| border-color: #9ca3af; |
| } |
|
|
| .triage-skip.selected { |
| background-color: #6b7280; |
| border-color: #4b5563; |
| color: white; |
| box-shadow: 0 4px 12px rgba(107, 114, 128, 0.4); |
| } |
|
|
| .triage-skip.selected .triage-btn-icon, |
| .triage-skip.selected .triage-btn-key { |
| opacity: 1; |
| } |
|
|
| |
| |
| |
|
|
| .triage-progress { |
| display: flex; |
| flex-direction: row; |
| align-items: center; |
| gap: 0.75rem; |
| padding: 0.5rem 0; |
| } |
|
|
| .triage-progress-bar { |
| flex: 1; |
| max-width: 200px; |
| height: 4px; |
| background-color: #e5e7eb; |
| border-radius: 2px; |
| overflow: hidden; |
| } |
|
|
| .triage-progress-fill { |
| height: 100%; |
| background: linear-gradient(90deg, #3b82f6, #2563eb); |
| border-radius: 2px; |
| transition: width 0.3s ease; |
| } |
|
|
| .triage-progress-text { |
| font-size: 0.75rem; |
| color: var(--text-secondary, #6b7280); |
| font-weight: 500; |
| white-space: nowrap; |
| } |
|
|
| .triage-progress-current { |
| font-weight: 700; |
| color: var(--text-primary, #1a1a1a); |
| } |
|
|
| |
| |
| |
|
|
| @media (max-width: 480px) { |
| .triage-buttons { |
| flex-direction: column; |
| gap: 0.375rem; |
| } |
|
|
| .triage-btn { |
| max-width: none; |
| min-height: 44px; |
| padding: 0.5rem 0.75rem; |
| } |
|
|
| .triage-progress { |
| flex-direction: column; |
| gap: 0.375rem; |
| } |
|
|
| .triage-progress-bar { |
| max-width: none; |
| width: 100%; |
| } |
| } |
|
|
| |
| |
| |
|
|
| @media (prefers-color-scheme: dark) { |
| .triage-title { |
| color: #f3f4f6; |
| } |
|
|
| .triage-accept { |
| background-color: rgba(34, 197, 94, 0.15); |
| border-color: rgba(34, 197, 94, 0.4); |
| color: #86efac; |
| } |
|
|
| .triage-accept:hover { |
| background-color: rgba(34, 197, 94, 0.25); |
| border-color: rgba(34, 197, 94, 0.6); |
| } |
|
|
| .triage-reject { |
| background-color: rgba(239, 68, 68, 0.15); |
| border-color: rgba(239, 68, 68, 0.4); |
| color: #fca5a5; |
| } |
|
|
| .triage-reject:hover { |
| background-color: rgba(239, 68, 68, 0.25); |
| border-color: rgba(239, 68, 68, 0.6); |
| } |
|
|
| .triage-skip { |
| background-color: rgba(107, 114, 128, 0.15); |
| border-color: rgba(107, 114, 128, 0.4); |
| color: #d1d5db; |
| } |
|
|
| .triage-skip:hover { |
| background-color: rgba(107, 114, 128, 0.25); |
| border-color: rgba(107, 114, 128, 0.6); |
| } |
|
|
| .triage-progress { |
| background-color: rgba(255, 255, 255, 0.05); |
| } |
|
|
| .triage-progress-bar { |
| background-color: rgba(255, 255, 255, 0.1); |
| } |
|
|
| .triage-progress-text { |
| color: #9ca3af; |
| } |
|
|
| .triage-progress-current { |
| color: #f3f4f6; |
| } |
| } |
|
|
| |
| |
| |
|
|
| @keyframes triage-pulse { |
| 0% { |
| transform: scale(1); |
| } |
| 50% { |
| transform: scale(1.02); |
| } |
| 100% { |
| transform: scale(1); |
| } |
| } |
|
|
| .triage-btn.selected { |
| animation: triage-pulse 0.2s ease; |
| } |
|
|
| |
| |
| |
|
|
| .triage-btn[aria-pressed="true"] { |
| |
| } |
|
|
| |
| @media (prefers-contrast: high) { |
| .triage-btn { |
| border-width: 3px; |
| } |
|
|
| .triage-accept.selected, |
| .triage-reject.selected, |
| .triage-skip.selected { |
| border-color: currentColor; |
| } |
| } |
|
|
| |
| @media (prefers-reduced-motion: reduce) { |
| .triage-btn { |
| transition: none; |
| } |
|
|
| .triage-btn.selected { |
| animation: none; |
| } |
|
|
| .triage-progress-fill { |
| transition: none; |
| } |
| } |
|
|