/* v69 Player Pages */
body.player-mode{
  min-height:100vh;
  background:linear-gradient(135deg,#0b0d13,#121a2b 50%,#0b0d13);
}
.player-page-shell{
  max-width:1180px;
  margin:0 auto;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.player-page-hero{
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  padding:22px;
  background:linear-gradient(135deg,rgba(241,177,64,.15),rgba(111,150,255,.08));
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}
.player-page-hero h1{
  font-size:clamp(2rem,6vw,4rem);
  margin:0 0 8px;
}
.player-page-hero p{
  margin:0;
  color:var(--muted,#b7bdca);
  font-size:1.05rem;
}
.player-link-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
.player-link-row a,
.player-card{
  color:inherit;
  text-decoration:none;
}
.player-link-row a{
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.06);
}
.player-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:14px;
}
.player-card{
  display:block;
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  padding:18px;
  background:rgba(255,255,255,.045);
  transition:transform .15s ease, background .15s ease;
}
.player-card:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.08);
}
.player-card.big{
  border-left:5px solid rgba(241,177,64,.75);
}
.player-card .avatar{
  width:68px;
  height:68px;
  border-radius:18px;
  margin-bottom:10px;
}
.player-panel{
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  padding:18px;
  background:rgba(255,255,255,.045);
}
.player-two-column{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:16px;
}
.player-form,
.player-sheet-form{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.player-form-grid,
.roll-resolver-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:12px;
}
.player-form label,
.player-sheet-form label{
  display:flex;
  flex-direction:column;
  gap:5px;
  font-weight:700;
}
.player-form input,
.player-form select,
.player-form textarea,
.player-sheet-form input,
.player-sheet-form select,
.player-sheet-form textarea{
  width:100%;
  min-height:42px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:12px;
  padding:9px 10px;
  background:rgba(0,0,0,.22);
  color:inherit;
}
.player-form textarea,
.player-sheet-form textarea{
  min-height:90px;
}
.player-form .wide,
.player-sheet-form .wide{
  grid-column:1/-1;
}
.inline-check{
  flex-direction:row!important;
  align-items:center;
}
.player-qr{
  width:220px;
  height:220px;
  border-radius:18px;
  background:#fff;
  padding:10px;
}
.qr-help-panel{
  text-align:center;
}
.knowledge-edit-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:12px;
}
.knowledge-edit-card{
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  padding:12px;
  background:rgba(0,0,0,.16);
}
.knowledge-edit-card.pinned{
  border-color:rgba(241,177,64,.55);
  background:rgba(241,177,64,.08);
}
.knowledge-edit-card form.compact{
  gap:8px;
}
.player-save-bar{
  position:sticky;
  bottom:0;
  z-index:20;
  display:flex;
  justify-content:center;
  padding:12px;
  background:rgba(10,12,18,.86);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
}
.ability-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(100px,1fr));
  gap:10px;
}
.slot-edit-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:8px;
}
.slot-edit-row{
  display:grid;
  grid-template-columns:auto 1fr 1fr;
  gap:8px;
  align-items:end;
  padding:8px;
  border-radius:14px;
  background:rgba(255,255,255,.035);
}
.attack-edit-row,
.spell-edit-row{
  display:grid;
  grid-template-columns:1.3fr .6fr 1fr 1.4fr;
  gap:8px;
  margin-bottom:8px;
}
.spell-edit-row{
  grid-template-columns:1.4fr .45fr .8fr 1.4fr;
}
.tv42-knowledge-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.tv42-player-qr{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  font-size:.85rem;
  color:var(--muted,#b7bdca);
}
.tv42-player-qr img{
  width:118px;
  height:118px;
  padding:6px;
  background:#fff;
  border-radius:14px;
}
@media(max-width:850px){
  .player-two-column{grid-template-columns:1fr}
  .ability-grid{grid-template-columns:repeat(3,1fr)}
  .attack-edit-row,.spell-edit-row{grid-template-columns:1fr}
  .slot-edit-row{grid-template-columns:1fr}
}
