/* Clean UI */
.gsso-container { border: 1px solid #e5e7eb; border-radius: 16px; padding: 16px; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.04); }
.gsso-bot { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.gsso-face { font-size: 28px; }
.gsso-bubble { background:#f1f5f9; padding:8px 12px; border-radius: 12px; }
.gsso-upload { display:flex; gap:8px; align-items:center; margin: 8px 0 16px; flex-wrap: wrap; }
.gsso-btn { background:#111827; color:#fff; border:none; padding:8px 12px; border-radius:10px; cursor:pointer; }
.gsso-btn[disabled] { opacity:0.5; cursor:not-allowed; }
.gsso-stage { display:grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.gsso-stage h3 { margin: 0 0 8px; }
.gsso-stage img { width: 100%; height: auto; border:1px solid #e5e7eb; border-radius: 12px; background: #fafafa; }
.gsso-spinner { width: 36px; height: 36px; border-radius: 50%; border: 3px solid #e5e7eb; border-top-color: #111827; animation: gssospin 0.9s linear infinite; margin: 8px 0; }
@keyframes gssospin { to { transform: rotate(360deg); } }
.gsso-outfit { margin-top: 12px; padding: 12px; border: 1px dashed #e5e7eb; border-radius: 12px; background:#fafafa; }
.gsso-actions { display:flex; gap:8px; margin: 8px 0; }
.gsso-outfit-form { display:flex; gap:8px; align-items:center; }
.gsso-outfit-input { flex:1; padding:8px; border:1px solid #d1d5db; border-radius:8px; }
@media (max-width: 800px){ .gsso-stage { grid-template-columns: 1fr; } }