/* Communauté : couche autonome alignée sur les jetons visuels du scanner. */
.community-shell { max-width: 1180px; margin: 0 auto; }
.community-shell h1 { margin: 0; }
.community-hero, .community-profile { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px; margin-bottom:18px; border:1px solid var(--line); border-radius:var(--radius); background:radial-gradient(circle at 90% 10%, rgba(83,193,255,.18), transparent 38%), var(--panel); box-shadow:var(--shadow); }
.community-hero p { max-width:700px; color:var(--muted); font-size:16px; }
.community-kicker { display:block; color:var(--accent); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.community-emblem, .community-avatar { display:grid; place-items:center; flex:0 0 auto; width:88px; height:88px; border:1px solid var(--accent); border-radius:24px; color:var(--accent); background:var(--panel-2); font-size:24px; font-weight:800; box-shadow:0 0 28px rgba(83,193,255,.16); }
.community-avatar { width:64px; height:64px; border-radius:50%; }
.community-avatar[data-frame]:not([data-frame=""]) { border-width:3px; border-color:#f5b841; color:#f5b841; box-shadow:0 0 0 3px rgba(245,184,65,.12),0 0 24px rgba(83,193,255,.18); }
.community-profile[data-theme]:not([data-theme=""]) { background:radial-gradient(circle at 90% 15%,rgba(180,140,255,.16),transparent 42%),var(--panel); }
.community-profile { justify-content:flex-start; padding:16px 20px; }
.community-profile p { margin:2px 0; color:var(--muted); }
.community-badge { display:inline-flex; margin:4px 5px 0 0; padding:2px 7px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:11px; }
.community-tabs { display:flex; gap:6px; margin:0 0 18px; padding-bottom:5px; overflow-x:auto; scrollbar-width:thin; }
.community-tabs .chip { flex:0 0 auto; display:inline-flex; align-items:center; }
.community-tabs .active { color:var(--text); border-color:var(--accent); background:var(--panel-3); }
.community-content { display:grid; gap:16px; }
.community-panel { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); box-shadow:var(--shadow); }
.community-panel > header { padding:12px 14px; border-bottom:1px solid var(--line-soft); }
.community-body { padding:14px; }
.community-grid { display:grid; gap:16px; align-items:start; }
.community-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.community-feature-list { display:grid; gap:8px; padding-left:20px; margin:16px 0; }
.community-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:10px; margin:12px 0; }
.community-metric { min-width:0; padding:12px; border:1px solid var(--line-soft); border-radius:var(--radius-sm); background:var(--panel-2); }
.community-metric span { display:block; color:var(--muted); font-size:12px; }
.community-metric strong { display:block; margin-top:3px; overflow-wrap:anywhere; font-size:23px; font-variant-numeric:tabular-nums; }
.community-matches { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr)); gap:14px; }
.community-match { min-width:0; padding:15px; border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); }
.community-match-head { display:flex; justify-content:space-between; align-items:center; gap:8px; color:var(--muted); font-size:11px; }
.community-match h3 { margin:14px 0 4px; color:var(--text); font-size:16px; text-transform:none; letter-spacing:0; }
.community-scanner { margin-top:12px; padding:10px 12px; border:1px solid rgba(83,193,255,.28); border-radius:var(--radius-sm); background:rgba(83,193,255,.07); }
.community-scanner span { display:block; margin-top:4px; color:var(--muted); font-size:12px; }
.community-pick fieldset, .community-form fieldset { display:grid; gap:9px; min-width:0; margin:12px 0 0; padding:0; border:0; }
.community-pick legend, .community-form legend { margin-bottom:7px; color:var(--muted); font-weight:600; }
.community-team { position:relative; display:block; cursor:pointer; }
.community-team input { position:absolute; opacity:0; }
.community-team span { display:block; padding:10px 12px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--panel-2); }
.community-team input:checked + span { border-color:var(--accent); background:var(--toolbar-active-bg); color:var(--text); }
.community-team input:focus-visible + span { outline:2px solid var(--accent); outline-offset:2px; }
.community-range { display:flex; align-items:center; gap:10px; margin:5px 0 12px; }
.community-range input { width:100%; accent-color:var(--accent); }
.community-range output { min-width:3rem; text-align:right; font-variant-numeric:tabular-nums; }
.community-result { color:var(--good); }
.community-form { display:grid; gap:12px; }
.community-form label:not(.check), .community-filters label { display:grid; gap:5px; min-width:0; color:var(--muted); }
.community-form input, .community-form select, .community-form textarea, .community-filters input, .community-filters select, .community-copy input, .community-inline input { width:100%; min-width:0; padding:9px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--bg); color:var(--text); }
.community-form textarea { min-height:96px; resize:vertical; }
.community-form .btn { justify-self:start; }
.community-form .check { align-items:flex-start; }
.community-form .check input { width:auto; flex:none; margin-top:3px; padding:0; }
/* Wallet addresses, contracts and hashes wrap on phones instead of being cut off. */
.community-body code { overflow-wrap:anywhere; }
.community-message { min-height:1.2em; margin:4px 0 0; color:var(--bad); }
.community-message.good { color:var(--good); }
.community-league { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 4px; border-bottom:1px solid var(--line-soft); color:var(--text); }
.community-league:last-child { border-bottom:0; }
.community-league span:not(.badge) { display:block; color:var(--muted); font-size:12px; }
.community-members, .community-tiers, .community-missions { list-style:none; margin:12px 0; padding:0; }
.community-members li, .community-tiers li, .community-missions li { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 0; border-bottom:1px solid var(--line-soft); }
.community-tiers .earned { color:var(--good); }
.community-inline, .community-filters, .community-copy, .community-checks { display:flex; flex-wrap:wrap; align-items:end; gap:10px; margin:10px 0; }
.community-inline input, .community-copy input { flex:1 1 220px; }
.community-filters label { flex:1 1 150px; }
.community-checks { align-items:center; }
.community-empty { margin:0; padding:16px; color:var(--muted); text-align:center; border:1px dashed var(--line); border-radius:var(--radius-sm); }
.community-table-wrap { max-width:100%; overflow:auto; }
.community-table-wrap table { width:100%; }
.community-progress { height:9px; margin:12px 0 5px; overflow:hidden; border-radius:999px; background:var(--panel-3); }
.community-progress span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--accent),var(--good)); }
.community-pager { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; margin-top:12px; text-align:center; color:var(--muted); }
.community-pager .disabled { opacity:.5; pointer-events:none; }

@media (max-width:760px) {
  .community-grid.two { grid-template-columns:1fr; }
  .community-hero { align-items:flex-start; padding:16px; }
  .community-emblem { width:58px; height:58px; border-radius:16px; font-size:17px; }
  .community-profile { align-items:flex-start; }
  .community-tabs { position:sticky; top:52px; z-index:var(--z-sticky); margin-inline:-10px; padding:8px 10px; background:var(--bg); }
  .community-members li { align-items:flex-start; }
}

@media (max-width:420px) {
  .community-hero, .community-profile { gap:12px; }
  .community-avatar { width:48px; height:48px; }
  .community-emblem { display:none; }
  .community-metric strong { font-size:20px; }
}

@media (prefers-reduced-motion:reduce) { .community-progress span { transition:none; } }
