* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; padding: 20px; color: #333; } .container { max-width: 1200px; margin: 0 auto; background: white; border-radius: 20px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); overflow: hidden; } header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 40px 20px; text-align: center; } header h1 { font-size: 2.5em; margin-bottom: 10px; } .subtitle { font-size: 1.2em; opacity: 0.9; } .info-box { background: #f8f9fa; padding: 20px; border-left: 4px solid #667eea; margin: 20px; } .main-content { padding: 30px 20px; display: grid; gap: 30px; } .upload-section, .results-section { background: #f8f9fa; padding: 30px; border-radius: 10px; } .upload-section h2, .results-section h2 { color: #667eea; margin-bottom: 20px; } .file-upload { margin-bottom: 20px; } .file-label { display: block; padding: 30px; background: white; border: 3px dashed #667eea; border-radius: 10px; text-align: center; cursor: pointer; transition: all 0.3s ease; } .file-label:hover { background: #f0f4ff; border-color: #764ba2; } .upload-icon { font-size: 3em; display: block; margin-bottom: 10px; } #imageInput { display: none; } .preview-container { margin: 20px 0; } .preview-container h3 { margin-bottom: 10px; color: #667eea; } #imagePreview { max-width: 100%; max-height: 400px; border-radius: 10px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } .advanced-settings { background: white; padding: 15px; border-radius: 8px; margin: 20px 0; } .advanced-settings summary { cursor: pointer; font-weight: bold; color: #667eea; padding: 10px; } .settings-content { padding: 20px 10px 10px; } .slider-group { margin-bottom: 20px; } .slider-group label { display: block; margin-bottom: 8px; font-weight: 500; color: #333; } .slider-group input[type="range"] { width: 100%; height: 8px; border-radius: 5px; background: #ddd; outline: none; -webkit-appearance: none; } .slider-group input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; border-radius: 50%; background: #667eea; cursor: pointer; } .slider-group input[type="range"]::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: #667eea; cursor: pointer; border: none; } .slider-group small { display: block; margin-top: 5px; color: #666; font-size: 0.9em; } .detect-btn, .reset-btn { width: 100%; padding: 15px 30px; font-size: 1.1em; font-weight: bold; color: white; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border: none; border-radius: 8px; cursor: pointer; transition: all 0.3s ease; margin-top: 10px; } .detect-btn:hover, .reset-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 12px rgba(102, 126, 234, 0.4); } .detect-btn:active, .reset-btn:active { transform: translateY(0); } .detect-btn:disabled { opacity: 0.6; cursor: not-allowed; } .loading { text-align: center; padding: 30px; } .spinner { border: 4px solid #f3f3f3; border-top: 4px solid #667eea; border-radius: 50%; width: 50px; height: 50px; animation: spin 1s linear infinite; margin: 0 auto 15px; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .error-message { background: #fee; color: #c33; padding: 15px; border-radius: 8px; margin-top: 20px; border-left: 4px solid #c33; } .result-image-container { text-align: center; margin-bottom: 20px; } #resultImage { max-width: 100%; border-radius: 10px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); } .detection-info { display: grid; gap: 15px; } .info-card { background: white; padding: 20px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .info-card h3 { color: #667eea; margin-bottom: 10px; } #detectionList { list-style: none; padding: 0; } #detectionList li { padding: 8px 0; border-bottom: 1px solid #eee; } #detectionList li:last-child { border-bottom: none; } footer { background: #f8f9fa; padding: 30px 20px; border-top: 1px solid #e0e0e0; } .tips, .about { margin-bottom: 20px; } .tips h3, .about h3 { color: #667eea; margin-bottom: 10px; } .tips ul { list-style: none; padding-left: 0; } .tips ul li { padding: 8px 0; padding-left: 25px; position: relative; } .tips ul li:before { content: "✓"; position: absolute; left: 0; color: #667eea; font-weight: bold; } .about a { color: #667eea; text-decoration: none; } .about a:hover { text-decoration: underline; } @media (max-width: 768px) { header h1 { font-size: 1.8em; } .subtitle { font-size: 1em; } .main-content { padding: 20px 10px; } }