
.rcg-wrap{max-width:900px;margin:0 auto}
.rcg-card{background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.08);padding:22px}
.rcg-controls{display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center}
.rcg-label{display:block;font-weight:700;margin-bottom:8px}
.rcg-input,.rcg-select{width:min(420px,100%);padding:14px 16px;border-radius:12px;border:1px solid rgba(0,0,0,.12);outline:none}
.rcg-help{font-size:12px;opacity:.7;margin-top:8px}

.rcg-quickWrap{width:100%}
.rcg-quickTitle{font-weight:800;margin-bottom:10px}
.rcg-quick{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.rcg-qbtn{border-radius:999px;border:1px solid rgba(0,0,0,.12);padding:10px 16px;background:#e9f2ff;color:#1f6fff;cursor:pointer;font-weight:800;display:inline-flex;align-items:center;justify-content:center;opacity:1;}
.rcg-qbtn:hover{box-shadow:0 8px 20px rgba(0,0,0,.08);background:#dbeaff;}

.rcg-actions{display:flex;flex-direction:column;gap:8px;align-items:center}
.rcg-btn{border:0;border-radius:999px;padding:12px 26px;cursor:pointer;font-weight:800}
.rcg-generate,.rcg-regenerate{background:#1f6fff;color:#fff}
.rcg-regenerate{min-width:200px}
.rcg-status{display:inline-flex;align-items:center;gap:8px;min-height:20px;font-size:13px;opacity:.85}

.rcg-message{margin:14px 0;padding:12px 14px;border-radius:12px;background:#fff3cd;color:#6a4b00;display:none}
.rcg-message.is-visible{display:block}

.rcg-results{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.rcg-results{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.rcg-results{grid-template-columns:1fr}}

.rcg-person{background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.08);padding:18px;text-align:center;display:flex;flex-direction:column;gap:10px}
.rcg-avatar{width:120px;height:120px;border-radius:999px;object-fit:cover;margin:0 auto}
.rcg-avatar--placeholder{width:120px;height:120px;border-radius:999px;background:rgba(0,0,0,.08);margin:0 auto}
.rcg-person__name{margin:6px 0 0;font-size:22px;line-height:1.15;color:#2b59ff}
.rcg-person__meta{font-size:14px;opacity:.75}
.rcg-person__aboutTitle{margin:10px 0 0;font-size:16px;font-weight:900}
.rcg-person__about{margin:0;font-size:14px;line-height:1.6;opacity:.85;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.rcg-empty{padding:16px;text-align:center;opacity:.8}

.rcg-sentinel{height:1px}

.rcg-footer{margin:22px 0 0;display:none;justify-content:center}
.rcg-footer.is-visible{display:flex}

.rcg-wrap.is-loading .rcg-status::before{
  content:'';
  width:14px;height:14px;border-radius:999px;
  border:2px solid rgba(0,0,0,.15);
  border-top-color:rgba(0,0,0,.55);
  display:inline-block;
  animation:rcgSpin .8s linear infinite;
}
@keyframes rcgSpin{to{transform:rotate(360deg)}}

.rcg-wrap.is-loading .rcg-results{opacity:.55;filter:grayscale(.1)}
