
/* Le Maître du Jeu — V0.6.0
   Direction: minimalisme éditorial. Aucun changement fonctionnel. */

:root{
  --mj-bg:#070707;
  --mj-panel:#0d0d0c;
  --mj-panel-soft:#11110f;
  --mj-line:#25231f;
  --mj-line-soft:#1a1917;
  --mj-text:#f1eee7;
  --mj-muted:#918d85;
  --mj-gold:#c9aa68;
  --mj-green:#89a95f;
  --mj-amber:#d0ac54;
  --mj-danger:#b56b6b;
}

body.page .entry-title,
body.page .wp-block-post-title{
  display:none;
}

.mj-wrap{
  max-width:780px;
  margin:0 auto;
  padding:54px 22px 90px;
  color:var(--mj-text);
}

.mj-card{
  background:transparent;
  color:var(--mj-text);
  border:0;
  border-radius:0;
  padding:0;
  box-shadow:none;
}

.mj-kicker{
  color:var(--mj-gold);
  font-size:11px;
  font-weight:600;
  letter-spacing:.32em;
  text-transform:uppercase;
  margin:0 0 14px;
}

.mj-card h2{
  margin:0 0 34px;
  font-size:clamp(34px,6vw,52px);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:650;
}

.mj-card h3{
  margin:0 0 14px;
  font-size:15px;
  line-height:1.3;
  font-weight:650;
  letter-spacing:.01em;
}

.mj-card p{
  line-height:1.55;
}

.mj-card small{
  display:block;
  color:var(--mj-muted);
  opacity:1;
  font-size:12px;
  line-height:1.5;
  margin-top:10px;
}

.mj-notice{
  margin:0 0 28px;
  padding:11px 0;
  border:0;
  border-bottom:1px solid var(--mj-line);
  border-radius:0;
  background:transparent;
  color:var(--mj-muted);
  font-size:13px;
}

.mj-player{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:20px;
  padding:0 0 18px;
  margin-bottom:8px;
  border-bottom:1px solid var(--mj-line-soft);
}

.mj-player span,
.mj-grid span,
.mj-box span{
  display:block;
  margin:0 0 5px;
  color:var(--mj-muted);
  opacity:1;
  font-size:10px;
  font-weight:600;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.mj-player strong{
  font-size:14px;
  letter-spacing:.02em;
}

.mj-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px;
  padding:18px 0;
  border:0;
  border-bottom:1px solid var(--mj-line-soft);
}

.mj-grid strong{
  font-size:14px;
}

.mj-status{
  display:flex;
  align-items:center;
  gap:8px;
}

.mj-status i{
  width:7px;
  height:7px;
  border-radius:50%;
  flex:0 0 auto;
}

.mj-status i.is-available{background:var(--mj-green)}
.mj-status i.is-busy{background:var(--mj-amber)}

.mj-box{
  margin:0;
  padding:22px 0;
  border:0;
  border-bottom:1px solid var(--mj-line-soft);
  border-radius:0;
  background:transparent;
}

.mj-couple-identity{
  padding:18px 0 20px;
}

.mj-couple-identity strong{
  display:block;
  font-size:18px;
  font-weight:600;
  margin-top:3px;
}

.mj-couple-identity small{
  margin-top:5px;
}

.mj-status-panel form{
  display:flex;
  gap:8px;
  margin-top:13px;
}

.mj-input{
  width:100%;
  box-sizing:border-box;
  padding:13px 0;
  border:0;
  border-bottom:1px solid #393630;
  border-radius:0;
  outline:none;
  background:transparent;
  color:var(--mj-text);
  margin:7px 0 18px;
  font:inherit;
}

.mj-input:focus{
  border-color:var(--mj-gold);
}

select.mj-input{
  background:var(--mj-bg);
}

.mj-btn,
.mj-choice{
  appearance:none;
  border:1px solid #35322d;
  background:transparent;
  color:var(--mj-text);
  border-radius:999px;
  padding:10px 16px;
  margin:0;
  cursor:pointer;
  font:inherit;
  font-size:13px;
  font-weight:600;
  line-height:1.2;
  transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;
}

.mj-btn:hover,
.mj-choice:hover{
  border-color:#5b554b;
  background:#12110f;
}

.mj-btn:active,
.mj-choice:active{
  transform:translateY(1px);
}

.mj-gold{
  border-color:var(--mj-gold);
  background:var(--mj-gold);
  color:#111;
}

.mj-gold:hover{
  border-color:#d8bd82;
  background:#d8bd82;
}

.mj-muted{
  color:var(--mj-muted);
  opacity:1;
}

.mj-library-link{
  margin:14px 0 34px;
}

.mj-library-link .mj-btn{
  border:0;
  padding:7px 0;
  border-radius:0;
  color:var(--mj-muted);
  background:transparent;
  text-decoration:none;
}

.mj-library-link .mj-btn:after{
  content:" →";
}

.mj-master{
  margin-top:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}

.mj-master>h3{
  margin:0 0 14px;
  color:var(--mj-muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.mj-response{
  margin:0;
  padding:30px 0 28px;
  border:0;
  border-top:1px solid var(--mj-line);
  border-bottom:1px solid var(--mj-line);
  border-radius:0;
  background:transparent;
}

.mj-response>strong{
  display:block;
  margin-bottom:14px;
  color:var(--mj-gold);
  font-size:13px;
  font-weight:650;
  letter-spacing:.03em;
}

.mj-response p{
  margin:0;
  max-width:680px;
  color:var(--mj-text);
  font-size:clamp(20px,3vw,27px);
  line-height:1.42;
  letter-spacing:-.015em;
}

.mj-revelation,
.mj-scenario{
  border-color:var(--mj-line);
  background:transparent;
}

.mj-revelation strong,
.mj-scenario strong{
  color:var(--mj-gold);
}

.mj-choices{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:18px;
}

.mj-choices form{
  margin:0;
}

.mj-choice{
  width:100%;
  min-height:48px;
  border-radius:10px;
  text-align:left;
}

.mj-choice small{
  margin-top:4px;
}

.mj-solicitation{
  margin:0 0 28px;
  padding:20px 0 24px;
  border:0;
  border-top:1px solid #51452e;
  border-bottom:1px solid #51452e;
  border-radius:0;
  background:transparent;
}

.mj-solicitation h3{
  color:var(--mj-gold);
  margin-bottom:8px;
}

.mj-solicitation p{
  margin:0;
}

.mj-solicitation-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:16px;
}

.mj-solicitation-actions form{
  margin:0;
}

.mj-reaction-block{
  margin-top:22px;
}

.mj-reaction-block>small{
  margin-bottom:10px;
}

.mj-reactions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin:0;
}

.mj-reactions form{
  margin:0;
}

.mj-reaction{
  width:100%;
  min-height:44px;
  padding:9px 10px;
  text-align:center;
}

.mj-reaction-skip{
  margin-top:10px;
}

.mj-reaction-skip .mj-btn{
  border:0;
  padding-left:0;
  color:var(--mj-muted);
}

.mj-summary{
  cursor:pointer;
  font-weight:600;
  padding:10px 0;
}

.mj-private-form{
  margin-top:14px;
}

.mj-private-list{
  margin-top:20px;
}

.mj-private-item{
  display:flex;
  justify-content:space-between;
  gap:22px;
  padding:22px 0;
  border-top:1px solid var(--mj-line-soft);
}

.mj-private-content{
  flex:1;
}

.mj-private-head{
  display:flex;
  gap:7px;
  align-items:center;
  flex-wrap:wrap;
}

.mj-private-badge{
  font-size:10px;
  padding:3px 7px;
  border:1px solid #39362f;
  border-radius:999px;
  color:var(--mj-muted);
}

.mj-private-item h4{
  margin:10px 0 5px;
}

.mj-private-item p{
  margin:6px 0 0;
}

.mj-private-actions{
  display:flex;
  gap:6px;
  align-items:flex-start;
}

.mj-private-actions form{
  margin:0;
}

.mj-private-themes{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:8px 0;
}

.mj-choice-preview{
  margin:8px 0 8px 20px;
}

.mj-choice-preview li{
  margin:3px 0;
}

@media(max-width:700px){
  .mj-wrap{
    padding:34px 18px 70px;
  }

  .mj-card h2{
    margin-bottom:28px;
  }

  .mj-grid{
    grid-template-columns:1fr 1fr;
    gap:18px;
  }

  .mj-response p{
    font-size:22px;
  }

  .mj-reactions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:480px){
  .mj-wrap{
    padding-left:16px;
    padding-right:16px;
  }

  .mj-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .mj-player{
    align-items:flex-start;
  }

  .mj-status-panel form,
  .mj-solicitation-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .mj-choices,
  .mj-reactions{
    grid-template-columns:1fr;
  }

  .mj-choice,
  .mj-reaction,
  .mj-status-panel .mj-btn,
  .mj-solicitation-actions .mj-btn{
    width:100%;
  }

  .mj-private-item{
    flex-direction:column;
  }

  .mj-private-actions{
    flex-wrap:wrap;
  }
}


/* V0.6.1 — bandeau identité ultra-minimal */
body.page .entry-title,
body.page .wp-block-post-title,
body.page h1.entry-title,
body.page .page-title,
body.page .entry-header{
  display:none !important;
}

body.page .entry-content,
body.page .wp-block-post-content{
  margin-top:0;
}

.mj-identity-bar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:18px;
  min-height:40px;
  padding:9px 0 11px;
  margin:-14px 0 28px;
  border-top:1px solid var(--mj-line-soft);
  border-bottom:1px solid var(--mj-line-soft);
  font-size:12px;
  color:var(--mj-muted);
}

.mj-identity-person{
  display:flex;
  align-items:center;
  min-width:0;
  gap:7px;
}
.mj-identity-me{justify-content:flex-start}
.mj-identity-partner{justify-content:flex-end}

.mj-identity-name{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#b7b3ab;
  font-weight:500;
  letter-spacing:.01em;
}

.mj-couple-name{
  max-width:260px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--mj-gold);
  font-size:11px;
  font-weight:600;
  letter-spacing:.09em;
  text-transform:uppercase;
  text-align:center;
}

.mj-status-toggle-form{
  display:flex;
  margin:0;
  line-height:0;
}

.mj-status-dot-button{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  padding:0;
  margin:0;
  border:0;
  border-radius:50%;
  background:transparent;
  cursor:pointer;
}

.mj-status-dot{
  display:inline-block;
  width:6px;
  height:6px;
  flex:0 0 auto;
  border-radius:50%;
  box-shadow:0 0 0 2px rgba(255,255,255,.025);
}
.mj-status-dot.is-available{
  background:#79a66c;
  box-shadow:0 0 7px rgba(121,166,108,.22);
}
.mj-status-dot.is-busy{
  background:#a85f5f;
  box-shadow:0 0 7px rgba(168,95,95,.20);
}
.mj-status-dot-button:hover .mj-status-dot{transform:scale(1.25)}

[data-tooltip]{position:relative}
[data-tooltip]::after{
  content:attr(data-tooltip);
  position:absolute;
  z-index:30;
  left:50%;
  bottom:calc(100% + 8px);
  transform:translate(-50%,3px);
  width:max-content;
  max-width:220px;
  padding:6px 8px;
  border:1px solid #2b2925;
  border-radius:6px;
  background:#11110f;
  color:#d7d3cb;
  box-shadow:0 8px 26px rgba(0,0,0,.3);
  font-size:10px;
  font-weight:500;
  line-height:1.25;
  letter-spacing:0;
  text-transform:none;
  white-space:normal;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .14s ease,transform .14s ease,visibility .14s ease;
}
[data-tooltip]:hover::after,
[data-tooltip]:focus-visible::after{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}

@media(max-width:600px){
  .mj-identity-bar{gap:10px;font-size:11px}
  .mj-couple-name{max-width:120px;font-size:9px;letter-spacing:.06em}
  .mj-identity-name{max-width:95px}
}
@media(max-width:390px){
  .mj-identity-bar{gap:6px}
  .mj-couple-name{max-width:86px}
  .mj-identity-name{max-width:76px}
}


/* V0.6.6 — attente vivante */
.mj-waiting strong{
  color:var(--mj-gold);
  text-transform:none;
  letter-spacing:.01em;
  font-size:14px;
}
.mj-waiting p{
  font-style:italic;
}
.mj-didyouknow{
  margin:18px 0 22px;
  padding:16px 0 2px;
  border-top:1px solid var(--mj-line-soft);
  color:var(--mj-muted);
}
.mj-didyouknow>span{
  display:block;
  margin-bottom:7px;
  color:var(--mj-gold);
  font-size:10px;
  font-weight:650;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.mj-didyouknow p{
  margin:0;
  max-width:650px;
  color:#aaa69e;
  font-size:13px;
  line-height:1.55;
}


/* V0.6.7 — profil joueur */
.mj-identity-avatar{
  width:20px;
  height:20px;
  border-radius:50%;
  object-fit:cover;
  opacity:.88;
}
.mj-profile-head{
  display:flex;
  align-items:center;
  gap:20px;
  margin-bottom:30px;
}
.mj-profile-avatar{
  width:92px;
  height:92px;
  border-radius:50%;
  object-fit:cover;
  border:1px solid var(--mj-line);
}
.mj-profile-head h2{
  margin-bottom:8px;
}
.mj-profile-head p{
  margin:0;
  color:var(--mj-muted);
}
.mj-profile-form>label{
  display:block;
  margin-top:20px;
  color:#c9c5bd;
  font-size:12px;
  font-weight:600;
}
.mj-profile-ranks{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.mj-profile-themes{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:10px 0 18px;
}
.mj-profile-themes label{
  display:flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border:1px solid var(--mj-line);
  border-radius:999px;
  color:var(--mj-muted);
  font-size:12px;
}
@media(max-width:600px){
  .mj-profile-head{align-items:flex-start}
  .mj-profile-avatar{width:72px;height:72px}
  .mj-profile-ranks{grid-template-columns:1fr}
}


/* V0.6.8 — couverture du couple */
.mj-couple-cover-settings{
  margin:0 0 34px;
  padding:24px 0 28px;
  border-top:1px solid var(--mj-line);
  border-bottom:1px solid var(--mj-line);
}
.mj-section-kicker{
  margin-bottom:8px;
  color:var(--mj-gold);
  font-size:10px;
  font-weight:650;
  letter-spacing:.14em;
}
.mj-couple-cover-settings h3{margin:0 0 7px;font-size:20px}
.mj-couple-cover-settings p{margin:0 0 16px;color:var(--mj-muted)}
.mj-cover-preview{
  width:100%;
  aspect-ratio:16/5;
  margin:14px 0 18px;
  border:1px solid var(--mj-line);
  border-radius:10px;
  background-size:cover;
  background-position:center center;
}
.mj-cover-form>label{
  display:block;
  margin-top:12px;
  color:#c9c5bd;
  font-size:12px;
  font-weight:600;
}
.mj-cover-delete{
  display:flex !important;
  align-items:center;
  gap:8px;
  margin:8px 0 12px;
  color:var(--mj-muted) !important;
  font-weight:500 !important;
}


/* V0.6.9 — bannière par défaut sans titre WordPress */
.ishtar-wp-page-title-zone .entry-title,
.ishtar-wp-page-title-zone .page-title,
.ishtar-wp-page-title-zone h1,
.ishtar-wp-page-title-zone h2{
  display:none !important;
}

/* V0.7.0 — confidentialité des contributions */
.mj-private-intro{margin:0 0 22px;padding:0 0 18px;border-bottom:1px solid var(--mj-line-soft)}
.mj-private-intro p{max-width:700px;margin:7px 0 0;color:var(--mj-muted);font-size:13px;line-height:1.6}
.mj-private-intro strong{color:#c9c5bd}
.mj-anonymous-note{margin:18px 0 12px;color:#8f8b84;font-size:11px;line-height:1.55}
.mj-anonymous-note strong{color:#b8b3aa;font-weight:600}
