/*
 * Meuble communautaire V4.4
 * Les trois modules vivent après la scène principale : aucune règle de cette
 * feuille ne redimensionne main, .stage, .poster-wrap ou les affiches WebP.
 */
.community-deck {
  position:relative;
  z-index:2;
  width:min(calc(100% - 28px),1180px);
  margin:0 auto clamp(38px,7vw,82px);
  padding:clamp(16px,2.6vw,30px);
  border:1px solid rgba(220,175,97,.42);
  border-radius:32px;
  background:
    linear-gradient(105deg,transparent 8%,rgba(255,213,151,.045) 24%,transparent 41%),
    repeating-linear-gradient(7deg,rgba(255,205,137,.022) 0 2px,rgba(20,7,4,.025) 3px 8px),
    linear-gradient(145deg,#542818 0%,#24110d 34%,#4c2117 66%,#190b08 100%);
  box-shadow:
    0 28px 58px rgba(0,0,0,.58),
    inset 0 0 0 4px rgba(45,20,13,.78),
    inset 0 0 0 6px rgba(190,129,69,.16),
    inset 0 -24px 42px rgba(7,2,1,.48);
  color:#ead7b2;
}

.community-deck__header {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,1.55fr);
  align-items:end;
  column-gap:24px;
  margin:0 0 18px;
  padding:4px 8px 17px;
  border-bottom:1px solid rgba(211,165,91,.36);
}

.community-deck__header h2 {
  grid-column:1;
  margin:3px 0 0;
  color:#f0ddb8;
  font:700 clamp(1.18rem,2.3vw,1.72rem)/1.05 Georgia,"Times New Roman",serif;
  letter-spacing:.035em;
}

.community-deck__header > p:last-child {
  grid-column:2;
  grid-row:1 / span 2;
  margin:0;
  color:#cdbb9e;
  font-size:.78rem;
  line-height:1.55;
}

.community-deck__eyebrow {
  grid-column:1;
  margin:0;
  color:#c89b5b;
  font:800 .58rem/1.25 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.community-deck__grid {
  display:grid;
  grid-template-columns:minmax(210px,.82fr) minmax(300px,1.28fr) minmax(260px,1fr);
  align-items:stretch;
  gap:14px;
}

.community-deck .funding-corner,
.community-deck .triboulet-oracle,
.community-deck .ninja-irc {
  position:relative;
  inset:auto;
  top:auto;
  right:auto;
  width:auto;
  min-width:0;
  height:100%;
  margin:0;
  border:2px solid #160d0a;
  border-radius:24px;
  clip-path:none;
  background:
    linear-gradient(145deg,rgba(255,255,255,.045),transparent 31%),
    linear-gradient(160deg,#35211a,#150d0a 72%);
  box-shadow:
    inset 0 0 0 2px #6d4b32,
    inset 0 0 22px rgba(0,0,0,.72),
    5px 8px 17px rgba(0,0,0,.36);
  color:#ead7b2;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.community-deck .funding-corner::before,
.community-deck .triboulet-oracle::before,
.community-deck .ninja-irc::before {
  display:none;
}

/* Soutien PayPal : tous les liens d'origine sont conservés. */
.community-deck .funding-corner {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:16px;
}

.community-deck .funding-head {
  width:min(150px,78%);
  margin:0 auto 5px;
}

.community-deck .funding-title { color:#e4c78f; font-family:Georgia,"Times New Roman",serif; }
.community-deck .funding-note { color:#aa9477; }
.community-deck .funding-buttons { grid-template-columns:1fr; gap:7px; }

.community-deck .funding-btn {
  min-height:44px;
  border:1px solid #8a683f;
  border-radius:999px;
  background:linear-gradient(180deg,#d5b06d,#76502b);
  color:#25120d;
  box-shadow:inset 0 1px rgba(255,244,203,.6),0 3px 0 #321a11,0 6px 13px rgba(0,0,0,.4);
}

.community-deck .funding-btn:hover { filter:brightness(1.08); }

/* Oracle : moteur sonore et cinq formes de bouche inchangés. */
.community-deck .triboulet-oracle {
  display:grid;
  grid-template-columns:104px minmax(0,1fr);
  align-items:center;
  padding:12px;
}

.community-deck .triboulet-oracle__face-frame {
  width:104px;
  margin:0 -12px 0 0;
  z-index:3;
}

.community-deck .triboulet-oracle__face .t-line { stroke:#c88745; }
.community-deck .triboulet-oracle__face .t-hot,
.community-deck .triboulet-oracle__face .t-bell { stroke:#e0bb7c; }
.community-deck .triboulet-oracle__face .t-soft,
.community-deck .triboulet-oracle__face .t-mouth-shape { stroke:#f1dfb8; }

.community-deck .triboulet-oracle__box {
  min-width:0;
  padding:14px 12px 12px 20px;
  border:1px solid rgba(196,146,75,.38);
  border-radius:16px;
  clip-path:none;
  background:linear-gradient(155deg,rgba(91,19,35,.72),rgba(14,9,8,.96) 72%);
  box-shadow:inset 0 0 0 2px rgba(36,16,12,.72),inset 0 0 18px rgba(0,0,0,.4);
}

.community-deck .triboulet-oracle__box::before { border-radius:11px; border-color:rgba(232,195,126,.1); }
.community-deck .triboulet-oracle__title { color:#dcb873; }

.community-deck .triboulet-oracle__answer {
  min-height:76px;
  border-color:rgba(212,165,92,.26);
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.016) 0 1px,transparent 1px 4px),#090a08;
  color:#f0ddb8;
}

.community-deck .triboulet-oracle__phonemes { color:#bd9a64; }
.community-deck .triboulet-oracle.is-speaking .triboulet-oracle__phonemes { color:#f1d79c; }

.community-deck .triboulet-oracle__input {
  border-color:#765636;
  background:#090a08;
  color:#f2e1c0;
}

.community-deck .triboulet-oracle__send {
  border-color:#8e693e;
  background:linear-gradient(180deg,#c49a59,#604021);
  color:#21110c;
}

/* IRC : Libera interdit l'iframe hors libera.chat ; le lien ouvre donc le vrai client. */
.community-deck .ninja-irc {
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  align-items:center;
  padding:12px;
}

.community-deck .ninja-irc__face-frame {
  width:88px;
  margin:0 -10px 0 0;
  z-index:3;
}

.community-deck .ninja-irc__face .n-line { stroke:#b98b52; }
.community-deck .ninja-irc__face .n-hot,
.community-deck .ninja-irc__face .n-soft,
.community-deck .ninja-irc__face .n-mouth { stroke:#ecd6aa; }
.community-deck .ninja-irc__face .n-spark { stroke:#d8b36f; }

.community-deck .ninja-irc__box {
  min-width:0;
  padding:14px 12px 12px 18px;
  border:1px solid rgba(196,146,75,.38);
  border-radius:16px;
  clip-path:none;
  background:linear-gradient(155deg,rgba(72,32,24,.84),rgba(12,9,8,.97) 72%);
  box-shadow:inset 0 0 0 2px rgba(36,16,12,.72),inset 0 0 18px rgba(0,0,0,.4);
}

.community-deck .ninja-irc__box::before { border-radius:11px; border-color:rgba(232,195,126,.1); }
.community-deck .ninja-irc__title { color:#e2c387; font-family:Georgia,"Times New Roman",serif; }
.community-deck .ninja-irc__meta,
.community-deck .ninja-irc__admin,
.community-deck .ninja-irc__notice { color:#ad9879; }

.community-deck .ninja-irc__live {
  border-color:#7e603b;
  background:#2b1a13;
  color:#dfc48d;
  box-shadow:none;
}

.community-deck .ninja-irc__live::before { background:#b99150; box-shadow:0 0 8px #b99150; }

.ninja-irc__receiver {
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  align-items:center;
  gap:9px;
  margin:9px 0 10px;
  padding:10px;
  border:1px solid rgba(203,160,91,.27);
  border-radius:12px;
  background:#090a08;
}

.ninja-irc__dial {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:2px solid #a87b45;
  border-radius:50%;
  background:radial-gradient(circle at 36% 29%,#5b4233,#201511 62%,#090604 66%);
  color:#e2c17f;
  font:800 1rem/1 ui-monospace,monospace;
}

.ninja-irc__receiver strong,
.ninja-irc__receiver span { display:block; min-width:0; overflow-wrap:anywhere; }
.ninja-irc__receiver strong { color:#ead7b2; font-size:.72rem; }
.ninja-irc__receiver span { margin-top:3px; color:#9e8d72; font-size:.56rem; line-height:1.35; }

.ninja-irc__open {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:9px 12px;
  border:1px solid #8a683f;
  border-radius:999px;
  background:linear-gradient(180deg,#d5b06d,#76502b);
  color:#25120d;
  box-shadow:inset 0 1px rgba(255,244,203,.6),0 3px 0 #321a11,0 6px 13px rgba(0,0,0,.4);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.065em;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
}

.ninja-irc__open:hover { filter:brightness(1.08); }
.ninja-irc__open:focus-visible { outline:3px solid #f1ddb1; outline-offset:3px; }

@media (max-width:980px) {
  .community-deck__grid { grid-template-columns:minmax(190px,.75fr) minmax(320px,1.25fr); }
  .community-deck .ninja-irc { grid-column:1 / -1; }
  .community-deck .ninja-irc__face-frame { width:104px; }
}

@media (max-width:680px) {
  .community-deck { width:min(calc(100% - 16px),1180px); padding:12px; border-radius:24px; }
  .community-deck__header { grid-template-columns:1fr; padding:3px 4px 14px; }
  .community-deck__header > p:last-child { grid-column:1; grid-row:auto; margin-top:9px; }
  .community-deck__grid { grid-template-columns:1fr; gap:10px; }
  .community-deck .ninja-irc { grid-column:auto; }
  .community-deck .funding-corner { display:grid; grid-template-columns:88px minmax(0,1fr); align-items:center; }
  .community-deck .funding-head { width:88px; margin:0; }
  .community-deck .funding-copy { min-width:0; }
  .community-deck .triboulet-oracle,
  .community-deck .ninja-irc { grid-template-columns:76px minmax(0,1fr); padding:9px; }
  .community-deck .triboulet-oracle__face-frame,
  .community-deck .ninja-irc__face-frame { width:76px; margin-right:-8px; }
  .community-deck .triboulet-oracle__box,
  .community-deck .ninja-irc__box { padding-left:14px; }
}

@media (max-width:440px) {
  .community-deck .funding-corner,
  .community-deck .triboulet-oracle,
  .community-deck .ninja-irc { display:block; }
  .community-deck .funding-head,
  .community-deck .triboulet-oracle__face-frame,
  .community-deck .ninja-irc__face-frame { width:78px; margin:0 auto -14px; }
  .community-deck .triboulet-oracle__box,
  .community-deck .ninja-irc__box { padding:22px 10px 10px; }
}
