| |
| |
| |
| |
| |
| |
|
|
| |
| :root { |
| |
| --font-size-page-title: clamp(1.75rem, 4vw + 0.5rem, 3rem); |
| --font-size-section-header: clamp(1.25rem, 2.5vw + 0.5rem, 2rem); |
| --font-size-card-title: clamp(1rem, 1.5vw + 0.5rem, 1.375rem); |
| --font-size-body: clamp(0.875rem, 1vw + 0.5rem, 1.125rem); |
| --font-size-small: clamp(0.75rem, 0.5vw + 0.5rem, 0.875rem); |
|
|
| |
| --container-padding: clamp(16px, 4vw, 40px); |
| --card-padding: clamp(16px, 3vw, 32px); |
| --gap-sm: clamp(12px, 2vw, 20px); |
| --gap-md: clamp(20px, 3vw, 40px); |
| --gap-lg: clamp(30px, 5vw, 60px); |
| } |
|
|
| |
|
|
| |
| .analysis-grid { |
| gap: var(--gap-md); |
| } |
|
|
| @media (max-width: 1024px) { |
| .analysis-grid { |
| grid-template-columns: 1fr !important; |
| gap: var(--gap-md); |
| } |
| } |
|
|
| |
| .upload-section { |
| gap: var(--gap-sm); |
| } |
|
|
| .section-header-small h2 { |
| font-size: var(--font-size-section-header); |
| } |
|
|
| |
| .upload-area { |
| min-height: clamp(250px, 35vh, 400px); |
| padding: var(--card-padding); |
| } |
|
|
| @media (max-width: 768px) { |
| .upload-area { |
| min-height: 220px; |
| border-radius: 16px; |
| } |
|
|
| .upload-icon { |
| font-size: 48px; |
| } |
|
|
| .upload-text { |
| font-size: 14px; |
| } |
| } |
|
|
| |
| .results-section { |
| padding: var(--card-padding); |
| } |
|
|
| @media (max-width: 768px) { |
| .results-section { |
| border-radius: 16px; |
| } |
| } |
|
|
| |
| .statistics-grid { |
| gap: var(--gap-sm); |
| } |
|
|
| @media (max-width: 768px) { |
| .statistics-grid { |
| grid-template-columns: repeat(2, 1fr) !important; |
| } |
| } |
|
|
| @media (max-width: 480px) { |
| .statistics-grid { |
| grid-template-columns: 1fr !important; |
| } |
|
|
| .stat-card { |
| padding: 16px; |
| } |
|
|
| .stat-value { |
| font-size: 24px; |
| } |
| } |
|
|
| |
| .recent-grid { |
| gap: var(--gap-sm); |
| } |
|
|
| @media (max-width: 768px) { |
| .recent-grid { |
| grid-template-columns: 1fr !important; |
| } |
| } |
|
|
| |
|
|
| |
| .history-controls { |
| gap: var(--gap-sm); |
| padding: var(--card-padding); |
| } |
|
|
| @media (max-width: 768px) { |
| .history-controls { |
| flex-direction: column; |
| align-items: stretch; |
| } |
|
|
| .search-container { |
| min-width: 100%; |
| } |
|
|
| .filter-controls { |
| flex-direction: column; |
| width: 100%; |
| } |
|
|
| .filter-select { |
| width: 100%; |
| } |
|
|
| .export-controls { |
| flex-direction: column; |
| width: 100%; |
| } |
|
|
| .btn-export, |
| .btn-clear-all { |
| width: 100%; |
| min-height: 48px; |
| } |
| } |
|
|
| |
| .history-table-container { |
| overflow-x: auto; |
| -webkit-overflow-scrolling: touch; |
| } |
|
|
| @media (max-width: 768px) { |
| .history-table { |
| min-width: 600px; |
| } |
| } |
|
|
| |
| @media (max-width: 768px) { |
| .history-grid { |
| grid-template-columns: 1fr !important; |
| gap: var(--gap-sm); |
| } |
| } |
|
|
| |
| @media (max-width: 768px) { |
| .batch-actions { |
| flex-wrap: wrap; |
| gap: 10px; |
| padding: 12px; |
| } |
|
|
| .batch-actions button { |
| flex: 1; |
| min-width: calc(50% - 10px); |
| min-height: 44px; |
| } |
| } |
|
|
| |
|
|
| |
| .video-preview-container { |
| max-width: 100%; |
| } |
|
|
| @media (max-width: 768px) { |
| .video-window-container { |
| border-radius: 16px; |
| } |
|
|
| .window-header { |
| padding: 10px 12px; |
| } |
|
|
| .play-button { |
| width: 60px; |
| height: 60px; |
| font-size: 28px; |
| } |
| } |
|
|
| @media (max-width: 480px) { |
| .play-button { |
| width: 50px; |
| height: 50px; |
| font-size: 24px; |
| } |
| } |
|
|
| |
| .dashboard-grid { |
| gap: var(--gap-md); |
| } |
|
|
| @media (max-width: 1024px) { |
| .dashboard-grid { |
| grid-template-columns: 1fr !important; |
| } |
| } |
|
|
| |
| @media (max-width: 768px) { |
| .video-stats-grid { |
| grid-template-columns: repeat(2, 1fr) !important; |
| gap: var(--gap-sm); |
| } |
| } |
|
|
| @media (max-width: 480px) { |
| .video-stats-grid { |
| grid-template-columns: 1fr !important; |
| } |
| } |
|
|
| |
| .timeline-container, |
| .chart-container { |
| max-width: 100%; |
| overflow-x: auto; |
| -webkit-overflow-scrolling: touch; |
| } |
|
|
| |
| @media (max-width: 768px) { |
| .frame-grid { |
| grid-template-columns: repeat(2, 1fr) !important; |
| gap: var(--gap-sm); |
| } |
| } |
|
|
| @media (max-width: 480px) { |
| .frame-grid { |
| grid-template-columns: 1fr !important; |
| } |
| } |
|
|
| |
| @media (max-width: 768px) { |
| .report-section { |
| padding: var(--card-padding); |
| } |
|
|
| .report-header { |
| flex-direction: column; |
| gap: 12px; |
| align-items: flex-start; |
| } |
|
|
| .btn-download-report { |
| width: 100%; |
| min-height: 48px; |
| } |
| } |
|
|
| |
|
|
| |
| .analysis-container, |
| .history-container, |
| .video-result-container { |
| padding-left: var(--container-padding); |
| padding-right: var(--container-padding); |
| } |
|
|
| |
| .result-card, |
| .analysis-card, |
| .history-card, |
| .video-card { |
| padding: var(--card-padding); |
| } |
|
|
| @media (max-width: 768px) { |
|
|
| .result-card, |
| .analysis-card, |
| .history-card, |
| .video-card { |
| border-radius: 16px; |
| } |
| } |
|
|
| |
| @media (max-width: 768px) { |
|
|
| button, |
| .btn, |
| .btn-primary, |
| .btn-secondary, |
| [role="button"] { |
| min-height: 44px; |
| min-width: 44px; |
| } |
| } |
|
|
| |
| @media (max-width: 768px) { |
|
|
| input, |
| select, |
| textarea { |
| font-size: 16px !important; |
| } |
| } |
|
|
| |
| @media (max-width: 768px) { |
| .modal-content { |
| max-width: calc(100vw - 32px); |
| max-height: calc(100vh - 32px); |
| margin: 16px; |
| border-radius: 16px; |
| } |
|
|
| .modal-close { |
| width: 44px; |
| height: 44px; |
| } |
| } |