/* ===== Tagger Page ===== */ .tagger-layout { display: flex; width: 100%; height: 100%; overflow: hidden; } .tagger-left, .tagger-right { flex: 1; display: flex; flex-direction: column; overflow: hidden; min-width: 0; } .tagger-left { border-right: 1px solid var(--border); } .tagger-panel-header { padding: 8px 16px; font-size: 0.8rem; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; border-bottom: 1px solid var(--border); background: var(--bg-secondary); flex-shrink: 0; } .tagger-panel-body { flex: 1; overflow-y: auto; padding: 12px 16px; } /* Preview */ .tagger-preview-container { border-radius: var(--radius); overflow: hidden; border: 1px solid var(--border); background: #000; margin-bottom: 8px; } .tagger-preview-img { display: block; width: 100%; height: auto; object-fit: contain; } /* Params */ .tagger-param-row { display: flex; gap: 8px; align-items: center; margin-bottom: 8px; } .tagger-param-row .form-group { margin-bottom: 0; } .tagger-param-row .slider-group { flex: 1; } .tagger-checkbox-item { display: flex; align-items: center; gap: 6px; flex-shrink: 0; } .tagger-checkbox-item input[type="checkbox"] { width: 15px; height: 15px; accent-color: var(--accent); cursor: pointer; margin: 0; } .tagger-checkbox-item label { font-size: 0.78rem; color: var(--text-secondary); cursor: pointer; user-select: none; white-space: nowrap; text-transform: none !important; letter-spacing: 0 !important; font-weight: 500 !important; margin-bottom: 0 !important; } /* Action bar */ .tagger-action-bar { padding: 10px 16px; border-top: 1px solid var(--border); background: var(--bg-secondary); flex-shrink: 0; display: flex; gap: 8px; } .tagger-action-bar .btn-generate { flex: 1; margin: 0; } /* ===== Result area ===== */ .tagger-result-section { margin-bottom: 16px; } .tagger-result-section label { display: block; font-size: 0.75rem; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; } .tagger-output-tags { width: 100%; padding: 8px 12px; background: var(--bg-input); border: 1px solid var(--border); border-radius: var(--radius); color: var(--text-primary); font-size: 0.85rem; font-family: inherit; resize: none; min-height: 60px; max-height: 200px; line-height: 1.5; overflow-y: auto; } /* Label bars */ .tagger-label-row { display: flex; align-items: center; gap: 8px; padding: 3px 0; font-size: 0.8rem; } .tagger-label-name { min-width: 100px; max-width: 160px; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex-shrink: 0; } .tagger-label-bar-bg { flex: 1; height: 6px; background: var(--border); border-radius: 3px; overflow: hidden; } .tagger-label-bar-fill { height: 100%; background: var(--accent); border-radius: 3px; transition: width 0.3s ease; } .tagger-label-score { min-width: 36px; text-align: right; color: var(--text-muted); font-size: 0.75rem; font-variant-numeric: tabular-nums; flex-shrink: 0; } .tagger-no-result { color: var(--text-muted); font-size: 0.82rem; font-style: italic; } .tagger-more-hint { color: var(--text-muted); font-size: 0.75rem; text-align: center; padding: 4px 0; } /* Send button */ .tagger-send-bar { padding: 10px 16px; border-top: 1px solid var(--border); background: var(--bg-secondary); flex-shrink: 0; } @media (max-width: 900px) { .tagger-layout { flex-direction: column; } .tagger-left { max-width: none; border-right: none; border-bottom: 1px solid var(--border); } }