| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| body { | |
| font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; | |
| background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); | |
| min-height: 100vh; | |
| padding: 20px; | |
| } | |
| .container { | |
| max-width: 1200px; | |
| margin: 0 auto; | |
| background: white; | |
| border-radius: 20px; | |
| box-shadow: 0 20px 40px rgba(0,0,0,0.1); | |
| overflow: hidden; | |
| } | |
| header { | |
| background: linear-gradient(135deg, #4f46e5, #7c3aed); | |
| color: white; | |
| padding: 40px; | |
| text-align: center; | |
| } | |
| header h1 { | |
| font-size: 2.5rem; | |
| margin-bottom: 10px; | |
| } | |
| header p { | |
| font-size: 1.1rem; | |
| opacity: 0.9; | |
| } | |
| .upload-section { | |
| padding: 40px; | |
| text-align: center; | |
| } | |
| .upload-area { | |
| border: 3px dashed #cbd5e1; | |
| border-radius: 12px; | |
| padding: 60px 20px; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| background: #f8fafc; | |
| } | |
| .upload-area:hover { | |
| border-color: #4f46e5; | |
| background: #f1f5f9; | |
| } | |
| .upload-area.dragover { | |
| border-color: #4f46e5; | |
| background: #e0e7ff; | |
| } | |
| .upload-content { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| gap: 15px; | |
| } | |
| .upload-icon { | |
| font-size: 3rem; | |
| } | |
| .upload-hint { | |
| color: #64748b; | |
| font-size: 0.9rem; | |
| } | |
| .analyze-btn { | |
| background: linear-gradient(135deg, #4f46e5, #7c3aed); | |
| color: white; | |
| border: none; | |
| padding: 15px 40px; | |
| border-radius: 50px; | |
| font-size: 1.1rem; | |
| cursor: pointer; | |
| margin-top: 20px; | |
| transition: all 0.3s ease; | |
| } | |
| .analyze-btn:enabled:hover { | |
| transform: translateY(-2px); | |
| box-shadow: 0 10px 25px rgba(79, 70, 229, 0.4); | |
| } | |
| .analyze-btn:disabled { | |
| background: #94a3b8; | |
| cursor: not-allowed; | |
| } | |
| .preview-section { | |
| padding: 40px; | |
| text-align: center; | |
| } | |
| .preview-section img { | |
| max-width: 300px; | |
| max-height: 300px; | |
| border-radius: 12px; | |
| box-shadow: 0 10px 25px rgba(0,0,0,0.1); | |
| } | |
| .loading { | |
| padding: 60px; | |
| text-align: center; | |
| } | |
| .spinner { | |
| width: 50px; | |
| height: 50px; | |
| border: 4px solid #e2e8f0; | |
| border-top: 4px solid #4f46e5; | |
| border-radius: 50%; | |
| animation: spin 1s linear infinite; | |
| margin: 0 auto 20px; | |
| } | |
| @keyframes spin { | |
| 0% { transform: rotate(0deg); } | |
| 100% { transform: rotate(360deg); } | |
| } | |
| .results-section { | |
| padding: 40px; | |
| } | |
| .results-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); | |
| gap: 20px; | |
| margin-bottom: 30px; | |
| } | |
| .result-card { | |
| background: #f8fafc; | |
| padding: 25px; | |
| border-radius: 12px; | |
| border-left: 4px solid #4f46e5; | |
| } | |
| .result-card h3 { | |
| color: #1e293b; | |
| margin-bottom: 10px; | |
| font-size: 1.1rem; | |
| } | |
| .result-value { | |
| font-size: 1.3rem; | |
| font-weight: 600; | |
| color: #4f46e5; | |
| text-transform: capitalize; | |
| } | |
| .color-analysis, .confidence-scores { | |
| background: #f8fafc; | |
| padding: 25px; | |
| border-radius: 12px; | |
| margin-bottom: 20px; | |
| } | |
| .color-palette { | |
| display: flex; | |
| gap: 15px; | |
| margin-top: 15px; | |
| flex-wrap: wrap; | |
| } | |
| .color-item { | |
| display: flex; | |
| align-items: center; | |
| gap: 10px; | |
| padding: 10px 15px; | |
| background: white; | |
| border-radius: 25px; | |
| box-shadow: 0 2px 8px rgba(0,0,0,0.1); | |
| } | |
| .color-swatch { | |
| width: 25px; | |
| height: 25px; | |
| border-radius: 50%; | |
| border: 2px solid #e2e8f0; | |
| } | |
| .confidence-bar { | |
| background: #e2e8f0; | |
| border-radius: 25px; | |
| height: 8px; | |
| margin-top: 5px; | |
| overflow: hidden; | |
| } | |
| .confidence-fill { | |
| height: 100%; | |
| background: linear-gradient(90deg, #10b981, #34d399); | |
| transition: width 0.3s ease; | |
| } | |
| @media (max-width: 768px) { | |
| .container { | |
| margin: 10px; | |
| border-radius: 12px; | |
| } | |
| header { | |
| padding: 30px 20px; | |
| } | |
| header h1 { | |
| font-size: 2rem; | |
| } | |
| .upload-section, .results-section { | |
| padding: 30px 20px; | |
| } | |
| .results-grid { | |
| grid-template-columns: 1fr; | |
| } | |
| } | |