/* Profils, paramètres et bulles du chat */
[hidden]{display:none!important}

.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;flex:none;color:#fff;font-family:"Archivo Black","Arial Black",sans-serif;background:var(--prune)}
.avatar img{width:100%;height:100%;object-fit:cover;display:block}

/* Chat : avatar + bulle */
.chat-msg{display:flex;align-items:flex-start;flex-wrap:nowrap;gap:.6rem;padding:.35rem 0}
.bulle{background:var(--prune);border-radius:4px 14px 14px 14px;padding:.4rem .75rem;min-width:0;max-width:calc(100% - 3rem)}
.bulle-tete{display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap}
.bulle-tete a.pseudo{color:var(--turquoise);font-weight:700;text-decoration:none}
.bulle-tete a.pseudo:hover{text-decoration:underline}
.bulle-tete time{color:var(--texte-doux);font-size:.75rem}
.bulle-texte{display:block;word-break:break-word}

/* Page profil */
.profil{max-width:46rem}
.p-banniere{aspect-ratio:2/1;border-radius:10px 10px 0 0;background:linear-gradient(135deg,var(--prune),#7a1f6b 60%,var(--corail));background-size:cover;background-position:center}
.p-carte{background:var(--prune);border-radius:0 0 10px 10px;padding:0 1.25rem 1.5rem}
.p-tete{display:flex;align-items:flex-end;gap:1rem;margin-top:-48px;flex-wrap:wrap}
.p-tete .avatar{border:4px solid var(--prune);box-shadow:0 0 0 2px var(--rose)}
.p-nom{padding-bottom:.25rem;min-width:0}
.bloc .p-nom h2{font-size:1.6rem;margin:0;word-break:break-word}
.p-nom small{color:var(--texte-doux)}
.bloc .p-bio{margin:1rem 0;color:var(--texte);word-break:break-word}
.p-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1rem}
.p-actions .btn{margin-top:0}

/* Paramètres */
.param{max-width:34rem;margin-top:1.5rem;padding:1.25rem;background:var(--prune);border-left:5px solid var(--rose)}
.param h3{font-size:1.2rem;margin-bottom:.5rem}
.param small{color:var(--texte-doux)}
.param .p-banniere{border-radius:8px}
.param .avatar-prev{margin:-40px 0 0 1rem;position:relative}
.param .avatar-prev .avatar{border:4px solid var(--prune);box-shadow:0 0 0 2px var(--rose)}
.param-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.param-actions .btn{margin-top:0;padding:.55rem 1.1rem}
.param.admin{margin-top:1.5rem}
.admin input:disabled{opacity:.55}

/* Fenêtre de recadrage */
.crop{position:fixed;inset:0;z-index:50;background:rgba(10,4,20,.9);display:flex;align-items:center;justify-content:center;padding:1rem;overflow:auto}
.crop-boite{background:var(--prune);border-radius:12px;padding:1.25rem;max-width:100%;display:grid;gap:.75rem;justify-items:center}
.crop-boite h3{font-size:1.2rem}
.crop-aide{color:var(--texte-doux);font-size:.9rem;text-align:center;max-width:22rem}
.crop-cadre{position:relative;overflow:hidden;background:#000;touch-action:none;cursor:grab;border:2px solid var(--rose);border-radius:8px;user-select:none;-webkit-user-select:none}
.crop-cadre.rond{border-radius:50%}
.crop-cadre img{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;pointer-events:none;-webkit-user-drag:none}
.crop-boite input[type=range]{width:100%;accent-color:var(--rose)}
.crop-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}
.crop-actions .btn{margin-top:0}
