/* ==========================================================
   MENÚ - BESTIARIO VISUAL
   ========================================================== */
.forja-hub-window:has(.forja-menu-bestiary){
  width:min(1180px,94vw);
  height:min(740px,88vh);
  max-height:min(740px,88vh);
}
.forja-hub-body:has(.forja-menu-bestiary){
  overflow:hidden;
  padding:14px;
}
.forja-menu-bestiary{
  width:100%;
  height:100%;
  min-height:0;
  display:grid;
  grid-template-columns:310px minmax(0,1fr);
  gap:18px;
  overflow:hidden;
}
.forja-menu-bestiary-left{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:10px;
  overflow:hidden;
}
.forja-menu-bestiary-left h3,
.forja-menu-bestiary-right h3{
  margin:0;
  color:#eee2ce;
  font-size:1rem;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.forja-menu-bestiary-icons{
  min-height:0;
  overflow:auto;
  display:grid;
  grid-template-columns:1fr;
  align-content:start;
  gap:12px;
  padding:4px 4px 8px 0;
  scrollbar-width:none;
}
.forja-menu-bestiary-icons::-webkit-scrollbar{display:none;}
.forja-menu-enemy-icon{
  width:100%;
  height:118px;
  min-height:118px;
  padding:10px;
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  align-items:center;
  gap:13px;
  border:1px solid rgba(120,18,27,.78);
  border-radius:0;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(12,12,12,.98),rgba(2,2,2,.98));
  box-shadow:0 0 0 1px rgba(0,0,0,.92), inset 0 0 17px rgba(0,0,0,.74);
  cursor:pointer;
  color:#e9dfd0;
  text-align:left;
  letter-spacing:.055em;
  text-transform:uppercase;
  font-size:.78rem;
  line-height:1.16;
}
.forja-menu-enemy-icon.active{
  border-color:#d32738;
  box-shadow:0 0 0 2px rgba(0,0,0,.92),0 0 14px rgba(179,27,38,.55), inset 0 0 18px rgba(111,17,25,.32);
}
.forja-menu-enemy-icon img{
  display:block;
  width:96px;
  height:96px;
  object-fit:cover;
  border-radius:0;
  border:1px solid rgba(150,118,86,.22);
  background:#020202;
  pointer-events:none;
}
.forja-menu-enemy-icon span{
  min-width:0;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  text-shadow:0 1px 2px #000;
  pointer-events:none;
}
.forja-menu-bestiary-right{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:10px;
  overflow:hidden;
}
.forja-menu-bestiary-sheet{
  min-width:0;
  min-height:0;
  display:grid;
  place-items:center;
  background:#020202;
  overflow:hidden;
}
.forja-menu-bestiary-sheet img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:100%;
  height:100%;
  object-fit:contain;
  border:0;
  outline:0;
  background:transparent;
  box-shadow:none;
}
.forja-menu-bestiary-empty{
  color:#9d8d72;
  text-align:center;
  font-size:.86rem;
  letter-spacing:.05em;
  padding:22px;
}


/* ==========================================================
   MENÚ - MANUAL POR CLASES
   ========================================================== */
.forja-hub-window:has(.forja-menu-manual){
  width:min(760px,96vw);
  height:min(1040px,96vh);
  max-height:96vh;
  background:
    radial-gradient(circle at 50% 0%, rgba(111,17,25,.10), transparent 34%),
    linear-gradient(180deg,#070707 0%,#000 100%);
}
.forja-hub-body:has(.forja-menu-manual){
  overflow:hidden;
  padding:10px 12px 12px;
}
.forja-menu-manual{
  width:100%;
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) 24px;
  gap:8px;
  overflow:hidden;
  color:#eadfca;
}
.forja-menu-manual-classes{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
  min-height:34px;
}
.forja-menu-manual-class{
  height:34px;
  min-height:34px;
  padding:0 6px;
  border:1px solid rgba(120,18,27,.60);
  border-radius:0;
  color:#bfb4aa;
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),transparent 44%),
    linear-gradient(180deg,rgba(11,11,11,.98),rgba(2,2,2,.98));
  box-shadow:0 0 0 1px rgba(0,0,0,.92), inset 0 0 14px rgba(0,0,0,.78);
  text-transform:uppercase;
  letter-spacing:.075em;
  font-weight:900;
  font-size:.68rem;
}
.forja-menu-manual-class.active{
  color:#fff;
  border-color:rgba(211,39,56,.88);
  background:
    linear-gradient(180deg,rgba(111,17,25,.45),rgba(5,5,5,.98));
  box-shadow:0 0 0 1px rgba(0,0,0,.92),0 0 12px rgba(179,27,38,.38), inset 0 0 18px rgba(111,17,25,.30);
}
.forja-menu-manual-stage{
  position:relative;
  min-width:0;
  min-height:0;
  width:100%;
  height:100%;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 28px;
  align-items:center;
  justify-items:center;
  gap:6px;
  overflow:hidden;
}
.forja-menu-manual-viewer{
  grid-column:2;
  min-width:0;
  min-height:0;
  position:relative;
  justify-self:center;
  align-self:center;
  height:100%;
  width:auto;
  max-width:100%;
  aspect-ratio:1024 / 1447;
  overflow:hidden;
  border:1px solid rgba(120,18,27,.48);
  outline:1px solid rgba(0,0,0,.92);
  background:
    radial-gradient(circle at 50% 40%, rgba(111,17,25,.07), transparent 55%),
    linear-gradient(180deg,#050505 0%,#000 100%);
  box-shadow:0 16px 34px rgba(0,0,0,.55), inset 0 0 28px rgba(0,0,0,.82);
  touch-action:none;
  cursor:zoom-in;
}
.forja-menu-manual-viewer.zoomed{cursor:grab;}
.forja-menu-manual-viewer.dragging{cursor:grabbing;}
.forja-menu-manual-image{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:contain;
  object-position:center center;
  background:#020202;
  border:0;
  outline:0;
  box-shadow:none;
  user-select:none;
  -webkit-user-drag:none;
  transform-origin:center center;
  transition:transform .10s ease;
  will-change:transform;
}
.forja-menu-manual-viewer.dragging .forja-menu-manual-image{transition:none;}
.forja-menu-manual-empty{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  padding:22px;
  text-align:center;
  color:#9d8d72;
  font-size:.86rem;
  letter-spacing:.05em;
  line-height:1.35;
}
.forja-menu-manual-side{
  position:relative;
  z-index:3;
  width:28px;
  height:74px;
  min-height:74px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(120,18,27,.28);
  border-radius:999px;
  color:rgba(234,223,202,.48);
  background:rgba(0,0,0,.22);
  box-shadow:none;
  font-size:1.45rem;
  font-weight:400;
  line-height:1;
  text-shadow:0 1px 4px #000;
  opacity:.72;
  transition:opacity .14s ease, color .14s ease, border-color .14s ease, background .14s ease;
}
.forja-menu-manual-side:hover:not(:disabled){
  opacity:1;
  color:rgba(255,255,255,.82);
  border-color:rgba(157,29,39,.55);
  background:rgba(40,4,8,.42);
  filter:none;
}
.forja-menu-manual-side:disabled{
  opacity:.16;
  cursor:default;
  filter:none;
}
.forja-menu-manual-prev{grid-column:1;}
.forja-menu-manual-next{grid-column:3;}
.forja-menu-manual-page{
  min-width:0;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#a89c91;
  text-transform:uppercase;
  letter-spacing:.105em;
  font-size:.70rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-shadow:0 1px 2px #000;
}
@media (max-width:760px){
  .forja-menu-manual-classes{grid-template-columns:repeat(2,minmax(0,1fr));}
  .forja-hub-window:has(.forja-menu-manual){width:96vw;}
  .forja-menu-manual-stage{grid-template-columns:24px minmax(0,1fr) 24px;gap:4px;}
  .forja-menu-manual-side{width:24px;height:58px;min-height:58px;font-size:1.18rem;}
}
