| | body { |
| | font-family: 'Segoe UI', sans-serif; |
| | background-color: #f0f2f5; |
| | color: #333; |
| | margin: 0; |
| | padding: 20px; |
| | } |
| |
|
| | .container { |
| | max-width: 800px; |
| | margin: 0 auto; |
| | padding: 30px; |
| | background-color: #fff; |
| | box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); |
| | border-radius: 12px; |
| | } |
| |
|
| | h1 { |
| | text-align: center; |
| | color: #1a73e8; |
| | margin-bottom: 30px; |
| | } |
| |
|
| | .input-section { |
| | display: flex; |
| | align-items: center; |
| | gap: 20px; |
| | margin-bottom: 30px; |
| | } |
| |
|
| | .input-group { |
| | flex: 1; |
| | } |
| |
|
| | .input-group label { |
| | display: block; |
| | margin-bottom: 8px; |
| | font-weight: 500; |
| | } |
| |
|
| | .separator { |
| | font-weight: 500; |
| | color: #666; |
| | } |
| |
|
| | input[type="file"], |
| | input[type="text"] { |
| | width: 100%; |
| | padding: 12px; |
| | border: 2px solid #e0e0e0; |
| | border-radius: 8px; |
| | transition: border-color 0.3s; |
| | } |
| |
|
| | input[type="text"]:focus { |
| | border-color: #1a73e8; |
| | outline: none; |
| | } |
| |
|
| | .label-section { |
| | margin: 20px 0; |
| | } |
| |
|
| | .label-category { |
| | margin-bottom: 20px; |
| | } |
| |
|
| | .label-category h3 { |
| | margin-bottom: 10px; |
| | font-size: 18px; |
| | color: #1a73e8; |
| | } |
| |
|
| | .label-grid { |
| | display: grid; |
| | grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); |
| | gap: 15px; |
| | margin-top: 10px; |
| | } |
| |
|
| | .label-option { |
| | display: flex; |
| | align-items: center; |
| | padding: 10px; |
| | border: 2px solid #e0e0e0; |
| | border-radius: 8px; |
| | cursor: pointer; |
| | transition: all 0.3s; |
| | } |
| |
|
| | .label-option:hover { |
| | border-color: #1a73e8; |
| | } |
| |
|
| | .label-option input[type="checkbox"] { |
| | margin-right: 10px; |
| | } |
| |
|
| | .selected-labels-container { |
| | margin: 20px 0; |
| | padding: 10px; |
| | background-color: #f8f9fa; |
| | border: 1px solid #ddd; |
| | border-radius: 8px; |
| | } |
| |
|
| | .selected-labels-container h3 { |
| | margin: 0 0 10px; |
| | font-size: 16px; |
| | color: #1a73e8; |
| | } |
| |
|
| | .selected-label { |
| | display: inline-block; |
| | margin: 4px; |
| | padding: 5px 10px; |
| | background-color: #e0f7fa; |
| | border-radius: 12px; |
| | font-size: 14px; |
| | color: #00796b; |
| | } |
| |
|
| | .selected-labels-container p { |
| | color: #666; |
| | } |
| |
|
| | .default-labels { |
| | display: flex; |
| | gap: 10px; |
| | padding: 2px; |
| | } |
| |
|
| | .default-labels .label-option { |
| | padding: 2px 5px; |
| | border: 1px solid #ccc; |
| | border-radius: 4px; |
| | } |
| |
|
| | .search-container { |
| | position: relative; |
| | margin: 20px 0; |
| | } |
| |
|
| | .search-input { |
| | width: 100%; |
| | padding: 12px; |
| | border: 2px solid #e0e0e0; |
| | border-radius: 8px; |
| | font-size: 16px; |
| | } |
| |
|
| | .search-input:focus { |
| | border-color: #1a73e8; |
| | outline: none; |
| | } |
| |
|
| | .label-dropdown { |
| | position: absolute; |
| | top: 100%; |
| | left: 0; |
| | right: 0; |
| | background: white; |
| | border: 1px solid #e0e0e0; |
| | border-radius: 8px; |
| | max-height: 400px; |
| | overflow-y: auto; |
| | z-index: 1000; |
| | box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); |
| | } |
| |
|
| | .dropdown-option { |
| | padding: 8px 12px 8px 24px; |
| | display: flex; |
| | align-items: center; |
| | gap: 12px; |
| | cursor: pointer; |
| | border-bottom: 1px solid #f0f0f0; |
| | } |
| |
|
| | .dropdown-option:hover { |
| | background-color: #f8f9fa; |
| | } |
| |
|
| | .dropdown-option:last-child { |
| | border-bottom: none; |
| | } |
| |
|
| | .label-text { |
| | flex: 1; |
| | } |
| |
|
| | .category-badge { |
| | background-color: #e8f0fe; |
| | color: #1a73e8; |
| | padding: 2px 8px; |
| | border-radius: 12px; |
| | font-size: 12px; |
| | } |
| |
|
| | .selected-label { |
| | display: inline-flex; |
| | align-items: center; |
| | gap: 8px; |
| | background-color: #e8f0fe; |
| | border: 1px solid #1a73e8; |
| | border-radius: 16px; |
| | padding: 4px 12px; |
| | margin: 4px; |
| | font-size: 14px; |
| | } |
| |
|
| | .remove-label { |
| | cursor: pointer; |
| | color: #1a73e8; |
| | font-weight: bold; |
| | padding-left: 4px; |
| | } |
| |
|
| | .remove-label:hover { |
| | color: #1557b0; |
| | } |
| |
|
| | |
| | #analyzeBtn { |
| | display: block; |
| | width: 200px; |
| | margin: 20px auto; |
| | padding: 12px 24px; |
| | background-color: #1a73e8; |
| | color: white; |
| | border: none; |
| | border-radius: 8px; |
| | font-size: 16px; |
| | font-weight: 500; |
| | cursor: pointer; |
| | transition: background-color 0.3s; |
| | } |
| |
|
| | #analyzeBtn:hover { |
| | background-color: #1557b0; |
| | } |
| |
|
| | #analyzeBtn:disabled { |
| | background-color: #ccc; |
| | cursor: not-allowed; |
| | } |
| |
|
| | |
| | .preview-section { |
| | margin: 20px 0; |
| | text-align: center; |
| | display: flex; |
| | flex-direction: column; |
| | align-items: center; |
| | } |
| |
|
| | #imagePreview { |
| | max-width: 100%; |
| | max-height: 400px; |
| | object-fit: contain; |
| | margin: 0 auto; |
| | } |
| |
|
| | |
| | .prediction-result { |
| | margin: 10px 0; |
| | padding: 10px; |
| | background-color: #f8f9fa; |
| | border-radius: 8px; |
| | } |
| |
|
| | .progress-bar { |
| | height: 24px; |
| | background-color: #e0e0e0; |
| | border-radius: 12px; |
| | overflow: hidden; |
| | margin: 8px 0; |
| | flex-grow: 1; |
| | margin-right: 10px; |
| | } |
| |
|
| | .progress { |
| | height: 100%; |
| | background-color: #1a73e8; |
| | transition: width 0.3s ease; |
| | } |
| |
|
| | .prediction-result { |
| | display: flex; |
| | align-items: center; |
| | gap: 10px; |
| | margin: 10px 0; |
| | } |
| |
|
| | .prediction-result strong { |
| | min-width: 120px; |
| | } |
| |
|
| | .prediction-result span { |
| | min-width: 80px; |
| | text-align: right; |
| | } |
| |
|
| | .results-section h2 { |
| | color: #1a73e8; |
| | font-size: 20px; |
| | margin: 20px 0 15px; |
| | } |
| |
|
| | |
| | .input-method-selection { |
| | margin-bottom: 20px; |
| | } |
| |
|
| | .radio-label { |
| | margin-right: 15px; |
| | } |
| |
|
| | |
| | .results-section { |
| | min-height: 100px; |
| | padding: 15px; |
| | background-color: #f8f9fa; |
| | border-radius: 8px; |
| | margin-top: 20px; |
| | } |
| |
|
| | .results-section:empty::before { |
| | content: 'Analysis results will appear here'; |
| | color: #666; |
| | font-style: italic; |
| | } |
| |
|
| | .helper-text { |
| | color: #666; |
| | font-size: 0.9em; |
| | margin: 8px 0; |
| | font-style: italic; |
| | } |
| |
|
| | .search-wrapper { |
| | display: flex; |
| | gap: 10px; |
| | align-items: center; |
| | } |
| |
|
| | .search-input { |
| | flex: 1; |
| | } |
| |
|
| | .show-all-btn { |
| | padding: 12px 20px; |
| | background-color: #1a73e8; |
| | color: white; |
| | border: none; |
| | border-radius: 8px; |
| | cursor: pointer; |
| | font-size: 14px; |
| | white-space: nowrap; |
| | } |
| |
|
| | .show-all-btn:hover { |
| | background-color: #1557b0; |
| | } |
| |
|
| | .dropdown-category-header { |
| | padding: 8px 12px; |
| | background-color: #f0f2f5; |
| | font-weight: bold; |
| | color: #1a73e8; |
| | border-bottom: 1px solid #e0e0e0; |
| | } |
| |
|