/* Rôles & modération — univers Discord (sombre, blurple) */
body .psrm { --bl:#5865f2; --bl-soft:#949cf7; --bg-1:#2b2d31; --bg-2:#313338; --bg-3:#1e1f22; --line:#3f4147; --t1:#f2f3f5; --t2:#b5bac1; --t3:#949ba4;
  background:
    radial-gradient(60% 40% at 50% 0%, rgba(88,101,242,.35) 0%, rgba(88,101,242,0) 70%),
    radial-gradient(40% 30% at 90% 40%, rgba(139,92,246,.18) 0%, rgba(139,92,246,0) 70%),
    #0b0c22;
  color:var(--t1); padding-bottom:40px; }

/* Hero */
body .psrm .psrm-hero { padding:110px 24px 64px; }
body .psrm .psrm-label { display:inline-flex; padding:7px 14px; border:1px solid rgba(148,156,247,.35); border-radius:999px; background:rgba(88,101,242,.14); color:var(--bl-soft); font-size:14px; font-weight:700; }
body .psrm h1 { color:#fff; font-size:clamp(42px,6.2vw,86px); font-weight:850; line-height:1; letter-spacing:-.03em; text-transform:uppercase; }
body .psrm h1 span { background:linear-gradient(90deg,#8c97ff,#c38cff); -webkit-background-clip:text; background-clip:text; color:transparent; }
body .psrm .psrm-lead { color:#c4c8e4; font-size:19px; line-height:1.6; }
body .psrm .psrm-cta { padding:16px 28px; border-radius:999px; background:var(--bl); color:#fff; font-size:16px; box-shadow:0 12px 30px rgba(88,101,242,.45); }
body .psrm .psrm-cta:hover { background:#4752c4; }

/* Vitrine des rôles façon application Discord */
body .psrm .psrm-showcase { padding:28px; border:1px solid rgba(255,255,255,.08); border-radius:28px; background:rgba(88,101,242,.1); }
body .psrm .psrm-window { border:1px solid var(--line); border-radius:18px; background:var(--bg-1); box-shadow:0 40px 100px rgba(0,0,0,.45); }
body .psrm .psrm-window-top { border-bottom-color:var(--line); color:var(--t3); font-size:13px; }
body .psrm .psrm-window-top > span:first-child { color:var(--t1); }
body .psrm .psrm-window-heading h2 { color:#fff; font-weight:800; }
body .psrm .psrm-window-heading p { color:var(--t2); font-size:14px; }
body .psrm .psrm-team-count { background:var(--bg-2); color:var(--t1); font-size:13px; font-weight:600; }
body .psrm .psrm-role-list button { border-color:var(--line); border-radius:12px; background:var(--bg-2); color:var(--t1); }
body .psrm .psrm-role-list button:hover { background:#383a40; }
body .psrm .psrm-role-list button[aria-selected="true"] { border-color:var(--bl); background:rgba(88,101,242,.18); }
body .psrm .psrm-avatar { font-size:13px; font-weight:800; }
body .psrm .psrm-avatar-owner { background:var(--bl); color:#fff; }
body .psrm .psrm-avatar-admin { background:#23a55a; color:#fff; }
body .psrm .psrm-avatar-moderator { background:#f0b232; color:#1e1f22; }
body .psrm .psrm-person strong { font-size:15px; }
body .psrm .psrm-person small { color:var(--t2); font-size:13px; }
body .psrm .psrm-selection { background:#4e5058; }
body .psrm .psrm-role-list button[aria-selected="true"] .psrm-selection { background:var(--bl); box-shadow:0 0 0 4px rgba(88,101,242,.25); }
body .psrm .psrm-role-details { border-color:var(--line); border-radius:14px; background:var(--bg-3); }
body .psrm .psrm-detail-label { color:var(--bl-soft); font-size:11px; }
body .psrm .psrm-role-details h3 { color:#fff; font-weight:800; }
body .psrm .psrm-detail-description { color:var(--t2); font-size:15px; }
body .psrm .psrm-role-details li { color:#dbdee1; font-size:15px; }
body .psrm .psrm-role-details li > span { color:#23a55a; font-weight:800; }
body .psrm .psrm-detail-note { border-top-color:var(--line); color:var(--t3); font-size:13px; }
body .psrm .psrm-window-bottom { border-top-color:var(--line); color:var(--t3); font-size:13px; }

/* Rangée de chiffres */
body .psrm .psrd-stats { max-width:1180px; margin:110px auto 0; padding:64px 40px; border-radius:28px; text-align:center; background:radial-gradient(70% 90% at 50% 0%, rgba(88,101,242,.55) 0%, rgba(88,101,242,0) 75%), #14163a; border:1px solid rgba(255,255,255,.08); }
body .psrm .psrd-stats h2, body .psrm .psrd-steps h2 { margin:0 0 44px; color:#fff; font-size:clamp(30px,4vw,52px); font-weight:850; line-height:1.05; letter-spacing:-.025em; text-transform:uppercase; }
body .psrm .psrd-stat-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
body .psrm .psrd-stat-row > div { padding:28px 20px; border:1px solid rgba(255,255,255,.1); border-radius:18px; background:rgba(11,12,34,.55); }
body .psrm .psrd-stat-row strong { display:block; background:linear-gradient(180deg,#fff,#949cf7); -webkit-background-clip:text; background-clip:text; color:transparent; font-size:clamp(56px,7vw,88px); font-weight:900; line-height:1; letter-spacing:-.04em; }
body .psrm .psrd-stat-row span { display:block; margin-top:10px; color:#c4c8e4; font-size:17px; line-height:1.4; }

/* Cartes */
body .psrm .psrm-section h2, body .psrm .psrm-report-copy h2, body .psrm .psrm-members-section h2 { color:#fff; font-weight:850; letter-spacing:-.025em; text-transform:uppercase; line-height:1.05; }
body .psrm .psrm-section-heading > p { color:var(--t2); font-size:17px; }
body .psrm .psrm-cards > article { border:1px solid rgba(255,255,255,.08); border-radius:22px; background:#14163a; }
body .psrm .psrm-cards h3 { color:#fff; font-weight:800; }
body .psrm .psrm-cards > article > p { color:var(--t2); font-size:16px; }
body .psrm .psrm-team-art, body .psrm .psrm-work-art { border-color:var(--line); border-radius:14px; background:var(--bg-1); }
body .psrm .psrm-team-art > div, body .psrm .psrm-work-art > div { border-bottom-color:var(--line); }
body .psrm .psrm-team-art b { background:var(--bl); color:#fff; font-size:11px; }
body .psrm .psrm-team-art > div > span { color:var(--t1); font-size:14px; }
body .psrm .psrm-team-art small { color:var(--t2); font-size:12px; }
body .psrm .psrm-work-art > span { color:var(--bl-soft); font-size:11px; }
body .psrm .psrm-work-art > div { color:#dbdee1; font-size:15px; }
body .psrm .psrm-work-art i { background:var(--bl); }
body .psrm .psrm-boundary-art { border:0; border-radius:14px; background:linear-gradient(135deg,#5865f2,#8b5cf6); }
body .psrm .psrm-boundary-art svg { color:#fff; }
body .psrm .psrm-boundary-art strong { color:#fff; font-size:16px; }
body .psrm .psrm-boundary-art > span { color:#e0e3ff; font-size:13px; }

/* Comment ça marche */
body .psrm .psrd-steps { max-width:1180px; margin:110px auto 0; padding:0 24px; text-align:center; }
body .psrm .psrd-step-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; text-align:left; }
body .psrm .psrd-step-grid article { display:flex; flex-direction:column; padding:28px; border:1px solid rgba(255,255,255,.08); border-radius:22px; background:#14163a; }
body .psrm .psrd-step-grid small { color:var(--bl-soft); font-size:13px; font-weight:800; letter-spacing:.12em; }
body .psrm .psrd-step-grid h3 { margin:10px 0 10px; color:#fff; font-size:24px; font-weight:800; letter-spacing:-.02em; }
body .psrm .psrd-step-grid p { margin:0 0 22px; color:var(--t2); font-size:16px; line-height:1.55; }
body .psrm .psrd-ui { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:auto; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--bg-1); }
body .psrm .psrd-ui b { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; color:#fff; font-size:12px; font-weight:800; }
body .psrm .psrd-a1 { background:var(--bl); }
body .psrm .psrd-a2 { background:#23a55a; }
body .psrm .psrd-a3 { background:#f0b232; color:#1e1f22 !important; }
body .psrm .psrd-ui span { color:var(--t2); font-size:14px; font-weight:600; }
body .psrm .psrd-ui strong { color:var(--t1); font-size:15px; }
body .psrm .psrd-ui em { margin-left:auto; padding:5px 12px; border-radius:999px; background:rgba(35,165,90,.18); color:#57d38c; font-size:13px; font-style:normal; font-weight:700; }
body .psrm .psrd-ui-chips span { padding:6px 12px; border-radius:999px; background:var(--bg-2); color:#dbdee1; font-size:13px; }
body .psrm .psrd-ui-chips .is-warn { background:rgba(240,178,50,.16); color:#f0b232; }

/* Signalement */
body .psrm .psrm-report-window { border-color:var(--line); border-radius:20px; background:var(--bg-1); box-shadow:0 40px 100px rgba(0,0,0,.4); }
body .psrm .psrm-report-top { color:var(--t3); font-size:12px; }
body .psrm .psrm-open { background:rgba(240,178,50,.16); color:#f0b232; font-size:12px; font-weight:700; }
body .psrm .psrm-report-window > h3 { color:#fff; font-weight:800; }
body .psrm .psrm-report-reason { border-color:var(--line); font-size:14px; }
body .psrm .psrm-report-reason > span, body .psrm .psrm-report-excerpt > span, body .psrm .psrm-report-note > span { color:var(--t3); font-size:13px; }
body .psrm .psrm-report-reason strong { color:var(--t1); }
body .psrm .psrm-report-excerpt p { border-left-color:#f23f43; background:var(--bg-3); color:#dbdee1; font-size:14px; }
body .psrm .psrm-report-note p { border-color:var(--line); color:var(--t2); font-size:14px; }
body .psrm .psrm-report-actions > span { border-color:#4e5058; color:#dbdee1; font-size:13px; font-weight:600; }
body .psrm .psrm-report-actions > span:last-child { border-color:#da373c; background:#da373c; color:#fff; }
body .psrm .psrm-report-copy > p, body .psrm .psrm-members-section > div > p { color:var(--t2); font-size:17px; }
body .psrm .psrm-statuses span { background:var(--bg-2); color:#dbdee1; font-size:13px; }
body .psrm .psrm-statuses span:first-child { background:rgba(240,178,50,.16); color:#f0b232; }

/* Gestion des membres */
body .psrm .psrm-members-section { border:1px solid rgba(255,255,255,.08); border-radius:28px; background:#14163a; }
body .psrm .psrm-members-section a { color:var(--bl-soft); }
body .psrm .psrm-members-art { border-color:var(--line); border-radius:18px; background:var(--bg-1); }
body .psrm .psrm-members-title h3 { color:#fff; font-weight:800; }
body .psrm .psrm-members-title > span { color:var(--t3); font-size:12px; }
body .psrm .psrm-members-tabs { color:var(--t3); font-size:14px; }
body .psrm .psrm-members-tabs span:first-child { color:var(--t1); box-shadow:inset 0 -2px 0 var(--bl); padding-bottom:6px; }
body .psrm .psrm-member-row { border-top-color:var(--line); }
body .psrm .psrm-member-row > b { background:var(--bl); color:#fff; font-size:11px; }
body .psrm .psrm-member-row strong { color:var(--t1); font-size:14px; }
body .psrm .psrm-member-row small { color:var(--t3); font-size:12px; }
body .psrm .psrm-member-row > span { padding:4px 10px; border-radius:999px; background:var(--bg-2); color:#dbdee1; font-size:12px; }

/* FAQ */
body .psrm .psrm-faq details { border-bottom-color:rgba(255,255,255,.1); }
body .psrm .psrm-faq summary { color:#fff; font-size:18px; }
body .psrm .psrm-faq details p { color:var(--t2); font-size:16px; }
body .psrm :focus-visible { outline-color:var(--bl-soft); }

@media (max-width:900px) {
  body .psrm .psrd-stat-row, body .psrm .psrd-step-grid { grid-template-columns:1fr; }
  body .psrm .psrd-stats { margin:72px 16px 0; padding:44px 20px; }
  body .psrm .psrd-steps { margin-top:72px; }
}
