/* ===========================================================
   Character sheet — D&D-inspired stat block styling
=========================================================== */

.sheet-main{
  max-width:920px; margin:0 auto;
  padding:calc(var(--section-pad) + 3rem) 1.75rem var(--section-pad);
}
.sheet-main a.char-link{ color:var(--gold-soft); text-decoration:none; border-bottom:1px solid rgba(212,175,106,.4); }
.sheet-main a.char-link:hover{ color:var(--gold); border-color:var(--gold); }

.sheet-relations{ display:flex; flex-direction:column; gap:1rem; }
.relation-card{
  display:flex; gap:1.2rem; align-items:flex-start; text-decoration:none;
  padding:1.2rem; border-radius:14px; border:1px solid rgba(212,175,106,.2);
  background:rgba(255,255,255,.02);
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.relation-card:hover{
  transform:translateY(-4px); border-color:rgba(212,175,106,.45);
  box-shadow:0 20px 45px rgba(0,0,0,.4);
}
.relation-card-img{
  flex:none; width:72px; height:72px; border-radius:50%; object-fit:cover;
  box-shadow:0 0 0 2px rgba(212,175,106,.3);
}
.relation-card-text{ min-width:0; }
.relation-card-name{
  display:block; font-family:var(--font-display); font-weight:600;
  color:var(--gold-soft); font-size:1.05rem; margin-bottom:.4rem;
}
.relation-card-text p{ margin:0; color:var(--ink); font-size:.98rem; line-height:1.6; }

.chapter-back{
  color:var(--teal-soft); text-decoration:none;
  font-family:var(--font-display); font-size:.85rem; letter-spacing:.06em;
}
.chapter-back:hover{ color:var(--gold-soft); }

/* ---- Character grid (personnages.html) ---- */
.char-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem;
  margin:0 0 4rem;
}
.char-card{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:.6rem; aspect-ratio:3/4; border-radius:14px; padding:1rem;
  text-decoration:none; text-align:center;
}
a.char-card{
  border:1px solid rgba(212,175,106,.35);
  box-shadow:0 20px 45px rgba(0,0,0,.4);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
a.char-card:hover{
  transform:translateY(-6px);
  border-color:rgba(212,175,106,.6);
  box-shadow:0 30px 60px rgba(0,0,0,.5);
}
.char-card-img{
  width:100%; flex:1; min-height:0; object-fit:cover; border-radius:10px;
}
.char-card-name{
  font-family:var(--font-display); font-size:.85rem; letter-spacing:.03em; color:var(--parchment);
}
.char-card-soon{
  border:1.5px dashed rgba(212,175,106,.35); background:rgba(255,255,255,.02);
}
.char-card-soon .char-card-name{ color:var(--ink-dim); }
.char-card-placeholder{
  flex:1; display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-size:2rem; color:rgba(212,175,106,.3);
}
.char-card-status{
  font-family:var(--font-display); font-size:.62rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-dim); opacity:.7;
}
.char-card-empty{
  border:1.5px dashed rgba(212,175,106,.15); background:rgba(255,255,255,.01);
}

@media (max-width:820px){
  .char-grid{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:560px){
  .char-grid{ grid-template-columns:repeat(2,1fr); }
}

.sheet-head{
  display:grid; grid-template-columns:280px 1fr; gap:2.5rem;
  align-items:start; margin-bottom:3rem;
}
.sheet-portrait{ display:flex; flex-direction:column; gap:1rem; }
.sheet-portrait img{
  width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:14px;
  border:2px solid rgba(212,175,106,.4);
  box-shadow:0 30px 70px rgba(0,0,0,.55), 0 0 0 6px rgba(212,175,106,.08);
}
.sheet-spoiler{
  font-family:var(--font-display); font-size:.66rem; letter-spacing:.05em;
  color:var(--teal-soft); background:rgba(79,217,201,.08);
  border:1px solid rgba(79,217,201,.3); border-radius:999px;
  padding:.5rem .9rem; text-align:center;
}

.sheet-eyebrow{
  font-family:var(--font-display); font-size:.78rem; letter-spacing:.24em;
  text-transform:uppercase; color:var(--teal-soft); margin:0 0 .5rem;
}
.sheet-name{
  font-family:var(--font-display); font-weight:700; color:var(--parchment);
  font-size:clamp(2.2rem,5vw,3rem); margin:0 0 1rem; letter-spacing:.02em;
}
.sheet-quote{
  font-style:italic; color:var(--gold-soft); font-size:1.15rem;
  margin:0 0 1.6rem; padding-left:1rem; border-left:2px solid rgba(212,175,106,.4);
}
.sheet-infos{
  display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.6rem; margin:0;
}
.sheet-infos > div{ border-bottom:1px solid rgba(212,175,106,.15); padding-bottom:.5rem; }
.sheet-infos dt{
  font-family:var(--font-display); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-dim); margin:0 0 .25rem;
}
.sheet-infos dd{ margin:0; color:var(--parchment); font-size:1.02rem; }

.sheet-section{ margin-bottom:2.6rem; }
.sheet-section h2{
  font-family:var(--font-display); font-weight:600; color:var(--gold-soft);
  font-size:1.3rem; letter-spacing:.03em; margin:0 0 1.1rem;
  padding-bottom:.6rem; border-bottom:1px solid rgba(212,175,106,.25);
}
.sheet-portrait-text{ color:var(--ink); font-size:1.1rem; line-height:1.8; margin:0; }

.sheet-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; }

.sheet-tags{ display:flex; flex-wrap:wrap; gap:.7rem; }
.sheet-tag{
  font-family:var(--font-display); font-size:.72rem; letter-spacing:.06em;
  padding:.5rem 1.05rem; border-radius:999px; color:var(--gold-soft);
  border:1px solid rgba(212,175,106,.35); background:rgba(212,175,106,.06);
}
.sheet-tag.alt{ color:var(--teal-soft); border-color:rgba(79,217,201,.35); background:rgba(79,217,201,.06); }

.sheet-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.7rem; }
.sheet-list li{ color:var(--ink); font-size:1.02rem; line-height:1.55; padding-left:1.5rem; position:relative; }
.sheet-list-plus li::before{ content:'+'; position:absolute; left:0; color:var(--teal-soft); font-weight:700; }
.sheet-list-minus li::before{ content:'–'; position:absolute; left:0; color:var(--crimson-soft); font-weight:700; }
.sheet-list-item li::before{ content:'◆'; position:absolute; left:0; font-size:.6rem; top:.4rem; color:var(--gold-soft); }

.sheet-skills{ display:flex; flex-direction:column; gap:.9rem; }
.sheet-skill{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding-bottom:.7rem; border-bottom:1px dashed rgba(212,175,106,.15);
}
.sheet-skill-name{ color:var(--ink); font-size:1rem; }
.sheet-stars{ font-size:1.15rem; letter-spacing:.1em; white-space:nowrap; }
.sheet-stars .filled{ color:var(--gold); }
.sheet-stars .empty{ color:rgba(233,209,157,.2); }

.sheet-highlight-quote{
  text-align:center; font-style:italic; font-size:1.3rem; color:var(--parchment);
  max-width:600px; margin:3rem auto; padding:2rem; position:relative;
  border-top:1px solid rgba(212,175,106,.25); border-bottom:1px solid rgba(212,175,106,.25);
}

.sheet-callout{
  border:1px solid rgba(212,175,106,.25); border-radius:14px;
  padding:1.6rem 1.8rem; background:rgba(255,255,255,.02);
}
.sheet-callout h2{ border-bottom:none; padding-bottom:0; margin-bottom:.6rem; }
.sheet-callout p{ margin:0; color:var(--ink); }

@media (max-width:720px){
  .sheet-head{ grid-template-columns:1fr; }
  .sheet-portrait{ max-width:260px; margin:0 auto; }
  .sheet-grid-2{ grid-template-columns:1fr; gap:2rem; }
  .sheet-infos{ grid-template-columns:1fr; }
}
