.portrait-item{background:linear-gradient(135deg,#8b5cf60d,#f472b60d);border-radius:12px}.portrait-item.pet-portrait{background:linear-gradient(135deg,#fbbf240d,#f472b60d)}.portrait-item .portrait-preview{position:relative;width:100%;overflow:hidden;border-radius:8px;background:#0003}.portrait-item .portrait-preview img.portrait-image{width:100%;height:auto;display:block;transition:transform .3s ease}.portrait-item .portrait-preview:hover img.portrait-image{transform:scale(1.02)}.portrait-item .portrait-preview .processing-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#8ac}.portrait-item .portrait-preview .processing-indicator .spinner{width:40px;height:40px;border:3px solid rgba(139,92,246,.3);border-top:3px solid #8b5cf6;border-radius:50%;animation:spin 1s linear infinite}.portrait-item .portrait-preview .no-image{display:flex;align-items:center;justify-content:center;padding:60px 20px;font-size:3em;opacity:.5}.portrait-item .creation-prompt{padding:12px 15px;font-size:.95em;color:#c8d4e0;border-bottom:1px solid rgba(255,255,255,.05)}.portrait-item .creation-meta-info{display:flex;flex-wrap:wrap;gap:10px;padding:12px 15px;font-size:.85em}.portrait-item .reference-image-section{padding:15px;margin:10px 15px;background:#6afcff0d;border-radius:8px}.portrait-item .reference-image-section .reference-label{font-weight:600;color:#6afcff;display:block;margin-bottom:10px}.portrait-item .reference-image-section .reference-thumbnail{max-width:200px;max-height:200px;border-radius:8px;border:2px solid rgba(106,252,255,.3)}.portrait-upload-header{margin-bottom:15px}.portrait-upload-header h3{margin:0 0 8px;font-size:1.1em;color:#f0f6fc}.portrait-upload-header .reference-hint{display:flex;align-items:flex-start;gap:8px;color:#8ac;font-size:.9em;line-height:1.5}.portrait-upload-header .reference-hint .tip-icon{width:16px;height:16px;flex-shrink:0;margin-top:2px}#prompt-influence-section{margin:15px 0}#prompt-influence-section label{display:block;margin-bottom:8px;color:#f0f6fc;font-weight:500}.slider-container{display:flex;align-items:center;gap:15px}.custom-slider{flex:1;-webkit-appearance:none;height:6px;background:linear-gradient(to right,#8b5cf6,#f472b6);border-radius:3px;outline:none}.custom-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:#f0f6fc;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0000004d}.custom-slider::-moz-range-thumb{width:20px;height:20px;background:#f0f6fc;border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 6px #0000004d}#prompt-influence-value{min-width:50px;text-align:center;color:#8b5cf6;font-weight:600}.uploads-selector{margin-top:20px;padding-top:15px;border-top:1px solid rgba(255,255,255,.1)}.uploads-selector label{display:block;margin-bottom:10px;color:#a8c4d8;font-size:.9em}.uploads-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:10px;margin-bottom:10px}.upload-thumb-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .2s ease}.upload-thumb-item img{width:100%;height:100%;object-fit:cover}.upload-thumb-item:hover{border-color:#8b5cf680}.upload-thumb-item.selected{border-color:#8b5cf6}.upload-thumb-item .selection-overlay{position:absolute;inset:0;background:#8b5cf699;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.upload-thumb-item.selected .selection-overlay{opacity:1}.upload-thumb-item .checkmark{width:24px;height:24px;color:#fff}.manage-uploads-link{font-size:.85em;color:#8b5cf6}.no-uploads-message{color:#6b7280;font-size:.9em}.no-uploads-message a{color:#8b5cf6}.portrait-item.browse-view{margin-bottom:20px}.portrait-item.browse-view .portrait-preview{max-height:400px;overflow:hidden}.portrait-item.single-view .portrait-preview{max-height:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.portrait-item .creation-meta-info{gap:8px}.portrait-item .creation-meta-info .meta-item{font-size:.8em;padding:3px 8px}.uploads-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}}
