/* =========================================
   PANEL: Ventana de juego (HUD window)
   Cristal oscuro + borde neón + esquinas cortadas
   Soporta <details> para paneles desplegables
   ========================================= */

.panel {
  /* Acento por defecto: cian. Las variantes solo cambian --pa */
  --pa: var(--rgb-cyan);

  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background-color: var(--panel-bg);
  border: 2px solid rgb(var(--pa));
  clip-path: var(--clip-panel);
  filter: drop-shadow(0 0 8px rgba(var(--pa), 0.35));
  margin-bottom: 24px;
}

.panel--pink   { --pa: var(--rgb-pink); }
.panel--purple { --pa: var(--rgb-purple); }
.panel--blue   { --pa: var(--rgb-blue); }
.panel--yellow { --pa: var(--rgb-yellow); }
.panel--red    { --pa: var(--rgb-red); }

.panel-header {
  align-items: center;
  background: linear-gradient(90deg, rgba(var(--pa), 0.3), rgba(var(--pa), 0.05) 70%, transparent);
  border-bottom: 2px solid rgb(var(--pa));
  color: var(--text);
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding: 8px 24px 8px 12px;
}

.panel-title {
  font-family: var(--font-hud);
  font-size: 0.6rem;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.panel-title::before {
  color: rgb(var(--pa));
  content: "▮ ";
}

/* Paneles desplegables: <details class="panel"><summary class="panel-header"> */
summary.panel-header {
  cursor: pointer;
  list-style: none;
  user-select: none;
}

summary.panel-header::-webkit-details-marker {
  display: none;
}

.panel-caret {
  color: rgb(var(--pa));
  font-size: 0.7rem;
  transition: transform 0.2s ease;
}

details.panel:not([open]) .panel-caret {
  transform: rotate(-90deg);
}

details.panel:not([open]) summary.panel-header {
  border-bottom: none;
}

summary.panel-header:hover {
  background: linear-gradient(90deg, rgba(var(--pa), 0.45), rgba(var(--pa), 0.1) 70%, transparent);
}

/* Controles de ventana */
.panel-controls {
  display: flex;
  gap: 6px;
}

.panel-controls .control-btn {
  border: 2px solid rgba(var(--pa), 0.8);
  height: 9px;
  width: 9px;
}

.panel-controls .control-btn.close {
  background-color: rgb(var(--pa));
}

.panel-body {
  padding: 16px;
}

.panel-body p {
  line-height: 1.5;
  margin: 0 0 10px;
}

.panel-body p:last-child {
  margin-bottom: 0;
}

/* Pie de ficha: datos de sistema + barcode */
.panel-footer {
  align-items: center;
  border-top: 1px dashed rgba(var(--pa), 0.5);
  color: var(--text-dim);
  display: flex;
  font-size: 0.6rem;
  gap: 10px;
  justify-content: space-between;
  letter-spacing: 1px;
  margin: 0 16px;
  padding: 8px 0 12px;
  text-transform: uppercase;
}

.panel-footer a {
  color: var(--pastel-cyan);
}

.barcode {
  background: repeating-linear-gradient(90deg,
    rgba(var(--pa), 0.8) 0 2px, transparent 2px 5px,
    rgba(var(--pa), 0.8) 5px 6px, transparent 6px 8px,
    rgba(var(--pa), 0.8) 8px 11px, transparent 11px 14px);
  height: 16px;
  width: 70px;
}

/* --- HOJA DE STATS (bio de jugadora) --- */
.stat-sheet {
  font-family: var(--font-pixel);
  font-size: 1.3rem;
  line-height: 1.3;
  margin: 0;
}

.stat-row {
  align-items: baseline;
  border-bottom: 1px dashed rgba(var(--pa), 0.35);
  display: flex;
  gap: 8px;
  justify-content: space-between;
  padding: 5px 0;
}

.stat-row dt {
  color: var(--text-dim);
  text-transform: uppercase;
}

.stat-row dd {
  color: var(--pastel-pink);
  margin: 0;
  text-align: right;
}

/* Barras de recurso estilo RPG (HP/MP/XP) */
.stat-bar-label {
  color: var(--text-dim);
  display: flex;
  font-family: var(--font-hud);
  font-size: 0.5rem;
  justify-content: space-between;
  letter-spacing: 1px;
  margin-top: 14px;
  text-transform: uppercase;
}

.stat-bar {
  --bar: var(--rgb-cyan);
  background-color: var(--panel-bg-deep);
  border: 2px solid rgba(var(--bar), 0.7);
  clip-path: var(--clip-chip);
  height: 12px;
  margin: 5px 0;
}

.stat-bar i {
  background-color: rgb(var(--bar));
  background-image: repeating-linear-gradient(90deg, transparent 0 10px, rgba(0, 0, 0, 0.35) 10px 12px);
  box-shadow: 0 0 8px rgba(var(--bar), 0.8);
  display: block;
  height: 100%;
}

.stat-bar.bar--pink   { --bar: var(--rgb-pink); }
.stat-bar.bar--purple { --bar: var(--rgb-purple); }
.stat-bar.bar--yellow { --bar: var(--rgb-yellow); }
