/* FIX JUGAR ONLINE: crear/unirse mismo tamaño, más grande, ordenado y scroll acorde */
.forja-play-modal{
  width:560px;
  max-height:850px;
  min-height:0;
  padding:20px;
  border-color:rgba(143,27,35,.46);
  outline:1px solid rgba(75,8,14,.72);
  box-shadow:0 20px 48px rgba(0,0,0,.82), inset 0 0 0 1px rgba(0,0,0,.75);
}
.forja-play-head{
  min-height:58px;
  margin:0 0 18px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(143,27,35,.38);
}
.forja-play-head h2{
  font-size:1.22rem;
  letter-spacing:.12em;
}
.forja-close-play{
  width:42px;
  min-height:42px;
  height:42px;
  border-color:rgba(143,27,35,.62);
}
.forja-actions{
  gap:12px;
}
#forjaCreateBox,
#forjaJoinBox{
  min-height:650px;
  max-height:650px;
  grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto;
  gap:13px;
  overflow:hidden;
}
#forjaCreateBox input,
#forjaJoinBox input,
#forjaJoinBox select{
  min-height:45px;
  height:45px;
  padding:10px 13px;
  font-size:1rem;
}
#forjaCreateBox .forja-small-btn,
#forjaJoinBox .forja-small-btn{
  min-height:46px;
  padding:10px 12px;
  font-size:.96rem;
  letter-spacing:.05em;
}
#forjaShowCreate,
#forjaShowJoin{
  min-height:48px;
  font-size:1rem;
}
#forjaCreateBox input[type="file"]{
  padding:9px 12px;
  line-height:1.2;
}
#forjaCreateBox input[type="file"]::file-selector-button{
  min-height:28px;
  margin-right:10px;
  border:1px solid rgba(143,27,35,.45);
  background:#e8e4df;
  color:#111;
  font-family:Georgia,"Times New Roman",serif;
}
.forja-character-select-panel{
  padding:12px;
  gap:11px;
  border-color:rgba(143,27,35,.34);
  background:rgba(0,0,0,.34);
}
.forja-character-select-panel label{
  font-size:.76rem;
  gap:8px;
}
.forja-character-select-panel .forja-actions{
  grid-template-columns:1fr 1fr;
  margin-top:0;
}
#forjaRoomsList{
  min-height:300px;
  max-height:300px;
  overflow-y:auto;
  padding-right:8px;
  border:1px solid rgba(143,27,35,.18);
  border-radius:3px;
  background:rgba(0,0,0,.16);
}
.forja-room-row{
  min-height:74px;
  padding:13px;
  border-color:rgba(143,27,35,.32);
}
.forja-room-row b{
  font-size:1.04rem;
  line-height:1.15;
}
.forja-room-row span{
  font-size:.82rem;
  line-height:1.25;
}
.forja-status{
  min-height:34px;
  font-size:.86rem;
  line-height:1.35;
  padding-top:3px;
}
.forja-form,
.forja-rooms,
.forja-hub-body,
.forja-character-list,
.forja-character-identity-grid,
.forja-character-photo-list{
  scrollbar-width:thin;
  scrollbar-color:#7b1119 #050505;
}
.forja-form::-webkit-scrollbar,
.forja-rooms::-webkit-scrollbar,
.forja-hub-body::-webkit-scrollbar,
.forja-character-list::-webkit-scrollbar,
.forja-character-identity-grid::-webkit-scrollbar,
.forja-character-photo-list::-webkit-scrollbar{
  width:10px;
  height:10px;
}
.forja-form::-webkit-scrollbar-track,
.forja-rooms::-webkit-scrollbar-track,
.forja-hub-body::-webkit-scrollbar-track,
.forja-character-list::-webkit-scrollbar-track,
.forja-character-identity-grid::-webkit-scrollbar-track,
.forja-character-photo-list::-webkit-scrollbar-track{
  background:#050505;
  border-left:1px solid rgba(143,27,35,.22);
}
.forja-form::-webkit-scrollbar-thumb,
.forja-rooms::-webkit-scrollbar-thumb,
.forja-hub-body::-webkit-scrollbar-thumb,
.forja-character-list::-webkit-scrollbar-thumb,
.forja-character-identity-grid::-webkit-scrollbar-thumb,
.forja-character-photo-list::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#8f1b23,#3b070c);
  border:1px solid rgba(0,0,0,.72);
  border-radius:0;
}
.forja-form::-webkit-scrollbar-thumb:hover,
.forja-rooms::-webkit-scrollbar-thumb:hover,
.forja-hub-body::-webkit-scrollbar-thumb:hover,
.forja-character-list::-webkit-scrollbar-thumb:hover,
.forja-character-identity-grid::-webkit-scrollbar-thumb:hover,
.forja-character-photo-list::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#b01d23,#5a0b12);
}


/* FIX JUGAR ONLINE: Unirse sin recuperar código + explicación JSON en Crear servidor */
.forja-actions-single{
  grid-template-columns:1fr;
}
.forja-actions-single .forja-small-btn{
  width:100%;
}
.forja-json-help{
  min-height:128px;
  padding:13px 14px;
  border:1px solid rgba(143,27,35,.34);
  border-radius:4px;
  background:
    radial-gradient(circle at 10% 0%, rgba(143,27,35,.13), transparent 48%),
    rgba(0,0,0,.28);
  color:#c9bca0;
}
.forja-json-help b{
  display:block;
  margin-bottom:8px;
  color:#f3efea;
  font-size:.88rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.forja-json-help p{
  margin:0;
  color:#b8ad98;
  font-size:.80rem;
  line-height:1.42;
}
#forjaCreateBox{
  grid-template-rows:auto auto auto auto auto auto minmax(0,1fr) auto;
}
#forjaCreateBox .forja-json-help + input[type="file"]{
  min-height:45px;
  height:45px;
}



/* Recuperación de sesión/admin */
.forja-room-row-admin-recovery,
.forja-room-row-local-recovery{
  border-color:rgba(176,29,35,.62);
  background:linear-gradient(180deg,rgba(52,8,12,.42),rgba(7,7,7,.92));
}
.forja-room-admin-tag{
  display:inline-block;
  width:max-content;
  margin-top:6px;
  padding:3px 7px;
  border:1px solid rgba(176,29,35,.54);
  color:#e4c6a0;
  background:rgba(90,16,21,.38);
  font-size:.64rem;
  line-height:1;
  letter-spacing:.09em;
  text-transform:uppercase;
  font-style:normal;
}

/* Gestión de copias locales / admin guardado */
.forja-local-cleanup-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  margin:0 0 8px;
  padding:8px 9px;
  border:1px solid rgba(150,135,105,.18);
  background:linear-gradient(180deg,rgba(12,12,12,.78),rgba(2,2,2,.88));
  color:#a9987b;
  font-size:.72rem;
  line-height:1.15;
}
.forja-local-clear-all-btn,
.forja-room-delete-btn{
  min-height:22px;
  padding:4px 8px;
  border:1px solid rgba(176,29,35,.58);
  border-radius:0;
  color:#ead7ad;
  background:linear-gradient(180deg,rgba(86,12,18,.92),rgba(22,2,4,.96));
  font-size:.58rem;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.forja-local-clear-all-btn:hover,
.forja-room-delete-btn:hover,
.forja-local-clear-all-btn:focus-visible,
.forja-room-delete-btn:focus-visible{
  filter:brightness(1.14);
  outline:1px solid rgba(234,215,173,.28);
  outline-offset:2px;
}
.forja-room-tools{
  display:flex;
  justify-content:flex-end;
  margin-top:7px;
}
.forja-room-row .forja-room-delete-btn{
  position:relative;
  z-index:2;
}
.forja-confirm-overlay{
  position:fixed;
  inset:0;
  z-index:2147483500;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(0,0,0,.74);
}
.forja-confirm-box{
  position:relative;
  width:min(440px,92vw);
  padding:18px;
  border:1px solid rgba(176,29,35,.68);
  border-radius:4px;
  background:
    radial-gradient(circle at 50% 0%,rgba(143,27,35,.18),transparent 46%),
    linear-gradient(180deg,#070707,#000);
  box-shadow:0 18px 42px rgba(0,0,0,.86), inset 0 0 0 1px rgba(255,255,255,.035);
  color:#ead7ad;
}
.forja-confirm-box::before{
  content:"";
  position:absolute;
  inset:5px;
  pointer-events:none;
  border:1px solid rgba(150,135,105,.14);
}
.forja-confirm-head,
.forja-confirm-message,
.forja-confirm-actions{
  position:relative;
  z-index:1;
}
.forja-confirm-head h3{
  margin:0;
  color:#f3efea;
  font-size:.95rem;
  line-height:1.15;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.forja-confirm-message{
  margin:12px 0 16px;
  color:#c9bca0;
  font-size:.84rem;
  line-height:1.45;
}
.forja-confirm-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.forja-confirm-btn{
  min-height:34px;
  padding:7px 12px;
  border:1px solid rgba(150,135,105,.30);
  border-radius:3px;
  color:#f3efea;
  background:linear-gradient(180deg,#1a1a1a,#050505);
  font-size:.68rem;
  line-height:1;
  letter-spacing:.10em;
  text-transform:uppercase;
  cursor:pointer;
}
.forja-confirm-btn.danger{
  border-color:rgba(176,29,35,.72);
  background:linear-gradient(180deg,#781118,#210305);
}
.forja-confirm-btn:hover,
.forja-confirm-btn:focus-visible{
  filter:brightness(1.15);
  outline:1px solid rgba(234,215,173,.25);
  outline-offset:2px;
}

/* Selección clara de salas locales/admin guardado */
#forjaRoomsList .forja-room-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "title tools"
    "sub tools"
    "tag tools";
  align-items:center;
  column-gap:14px;
  row-gap:4px;
  min-height:86px;
  border-color:rgba(143,27,35,.30);
  background:linear-gradient(180deg,rgba(6,6,6,.94),rgba(0,0,0,.96));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.012);
}
#forjaRoomsList .forja-room-row:hover{
  border-color:rgba(176,29,35,.58);
  background:linear-gradient(180deg,rgba(18,7,8,.94),rgba(0,0,0,.96));
}
#forjaRoomsList .forja-room-row.active{
  border-color:#b01d23;
  background:linear-gradient(180deg,rgba(82,10,16,.72),rgba(16,1,4,.96));
  box-shadow:inset 0 0 0 1px rgba(234,215,173,.08), 0 0 14px rgba(176,29,35,.22);
}
#forjaRoomsList .forja-room-row-admin-recovery,
#forjaRoomsList .forja-room-row-local-recovery{
  border-color:rgba(143,27,35,.34);
  background:linear-gradient(180deg,rgba(6,6,6,.94),rgba(0,0,0,.96));
}
#forjaRoomsList .forja-room-row-admin-recovery:hover,
#forjaRoomsList .forja-room-row-local-recovery:hover{
  border-color:rgba(176,29,35,.58);
  background:linear-gradient(180deg,rgba(18,7,8,.94),rgba(0,0,0,.96));
}
#forjaRoomsList .forja-room-row-admin-recovery.active,
#forjaRoomsList .forja-room-row-local-recovery.active{
  border-color:#b01d23;
  background:linear-gradient(180deg,rgba(82,10,16,.72),rgba(16,1,4,.96));
}
#forjaRoomsList .forja-room-row > b{
  grid-area:title;
  min-width:0;
}
#forjaRoomsList .forja-room-row > span{
  grid-area:sub;
  min-width:0;
}
#forjaRoomsList .forja-room-admin-tag{
  grid-area:tag;
  margin-top:2px;
}
#forjaRoomsList .forja-room-tools{
  grid-area:tools;
  align-self:center;
  justify-self:end;
  margin:0;
}
#forjaRoomsList .forja-room-delete-btn{
  min-width:104px;
  min-height:28px;
  padding:6px 10px;
  white-space:nowrap;
}
