/* Evil Logician Arcade Local ROM Module V2C1 */
.arcade-source-manager { display:none !important; }
.arcade-local-cartridge .arcade-cartridge-actions,
.arcade-cartridge-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:10px; }
.arcade-play-button { cursor:pointer; border:1px solid rgba(255,216,96,.72); color:#120715; background:linear-gradient(90deg,#ffd760,#ff5ddb,#36ecff); border-radius:12px 4px 12px 4px; padding:10px 14px; text-transform:uppercase; letter-spacing:2px; font-weight:bold; box-shadow:0 0 24px rgba(255,93,219,.25), inset 0 0 14px rgba(255,255,255,.18); }
.arcade-play-button:hover { filter:brightness(1.12); box-shadow:0 0 32px rgba(54,236,255,.34), 0 0 22px rgba(255,93,219,.26); }
.arcade-emulator-wrap { display:none; margin-top:18px; border:1px solid rgba(54,236,255,.40); border-radius:20px 6px 20px 6px; overflow:hidden; background:#020203; box-shadow:0 0 42px rgba(54,236,255,.16), inset 0 0 22px rgba(57,255,136,.05); }
.arcade-emulator-wrap.active { display:block; }
.arcade-emulator-head { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 12px; color:#9cffb3; background:linear-gradient(90deg, rgba(6,16,20,.96), rgba(25,8,35,.92)); font:12px/1.3 "Courier New", monospace; letter-spacing:1px; text-transform:uppercase; border-bottom:1px solid rgba(54,236,255,.28); }
.arcade-stop-button { cursor:pointer; border:1px solid rgba(255,92,124,.55); background:rgba(255,92,124,.12); color:#ffd3dc; border-radius:10px 4px 10px 4px; padding:7px 10px; font-weight:bold; }
.arcade-emulator-frame { display:block; width:100%; height:min(68vh,640px); min-height:420px; border:0; background:#020203; }
@media (max-width:760px){ .arcade-emulator-frame{height:58vh; min-height:320px;} .arcade-emulator-head{align-items:flex-start; flex-direction:column;} }


/* V2C3 Console cartridge selector */
.arcade-console-selector {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  align-items:center;
  margin:0 0 16px;
  padding:12px;
  border:1px solid rgba(255,216,96,.28);
  border-radius:18px 6px 18px 6px;
  background:linear-gradient(145deg, rgba(0,0,0,.36), rgba(20,5,30,.34));
  box-shadow:inset 0 0 24px rgba(54,236,255,.045);
}
.arcade-console-button {
  cursor:pointer;
  border:1px solid rgba(54,236,255,.36);
  border-radius:13px 4px 13px 4px;
  color:#bdfaff;
  background:rgba(0,0,0,.40);
  padding:9px 11px;
  font:12px/1.2 "Courier New", monospace;
  letter-spacing:1px;
  text-transform:uppercase;
  box-shadow:inset 0 0 14px rgba(54,236,255,.055);
}
.arcade-console-button span {
  display:inline-block;
  min-width:20px;
  margin-left:6px;
  padding:1px 5px;
  border-radius:999px;
  color:#140713;
  background:#ffd760;
  font-weight:bold;
}
.arcade-console-button:hover,
.arcade-console-button.active {
  color:#120715;
  background:linear-gradient(90deg,#ffd760,#ff5ddb,#36ecff);
  border-color:rgba(255,255,255,.55);
  box-shadow:0 0 24px rgba(255,93,219,.20), inset 0 0 14px rgba(255,255,255,.15);
}
.arcade-console-group {
  margin:14px 0 20px;
}
.arcade-console-group h3 {
  margin:0 0 10px;
  color:#ffe38d;
  font:14px/1.25 "Courier New", monospace;
  letter-spacing:2px;
  text-transform:uppercase;
  border-bottom:1px solid rgba(255,216,96,.24);
  padding-bottom:8px;
}
.arcade-console-group h3 span {
  color:#36ecff;
  font-weight:normal;
  letter-spacing:1px;
}
@media (max-width:760px){
  .arcade-console-button{flex:1 1 calc(50% - 8px); text-align:center;}
}


/* V2C5 Arcade Fullscreen Performance Mode */
body.arcade-playing {
  overflow:hidden !important;
}
body.arcade-playing .page-panel:not(#arcadePage),
body.arcade-playing .room-background,
body.arcade-playing .centerpiece,
body.arcade-playing .fun-room,
body.arcade-playing .software-room {
  animation-play-state: paused !important;
}
body.arcade-playing #arcadePage {
  background:#020203 !important;
}
body.arcade-playing #arcadePage::before,
body.arcade-playing #arcadePage::after {
  display:none !important;
}
.arcade-emulator-wrap {
  position:fixed !important;
  inset:0 !important;
  z-index:99999 !important;
  display:none;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:#020203 !important;
  box-shadow:none !important;
}
.arcade-emulator-wrap.active {
  display:flex !important;
  flex-direction:column !important;
}
.arcade-emulator-wrap.fullscreen-native {
  width:100vw !important;
  height:100vh !important;
}
.arcade-emulator-head {
  flex:0 0 auto;
  min-height:46px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:8px 12px;
  color:#9cffb3;
  background:linear-gradient(90deg, rgba(2,3,6,.98), rgba(9,12,18,.94));
  font:12px/1.3 "Courier New", monospace;
  letter-spacing:1px;
  text-transform:uppercase;
  border-bottom:1px solid rgba(54,236,255,.28);
  transition:opacity .22s ease;
}
.arcade-emulator-wrap.hide-chrome .arcade-emulator-head {
  opacity:.16;
}
.arcade-emulator-wrap.hide-chrome .arcade-emulator-head:hover,
.arcade-emulator-wrap.hide-chrome .arcade-emulator-head:focus-within {
  opacity:1;
}
.arcade-emulator-title {
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.arcade-emulator-actions {
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.arcade-stop-button,
.arcade-fullscreen-button {
  cursor:pointer;
  border:1px solid rgba(54,236,255,.45);
  background:rgba(54,236,255,.12);
  color:#d9fbff;
  border-radius:10px 4px 10px 4px;
  padding:7px 10px;
  font:700 11px/1 "Courier New", monospace;
  letter-spacing:1px;
  text-transform:uppercase;
}
.arcade-stop-button {
  border-color:rgba(255,92,124,.60);
  background:rgba(255,92,124,.14);
  color:#ffd3dc;
}
.arcade-emulator-frame {
  flex:1 1 auto !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  border:0 !important;
  background:#020203 !important;
}
.arcade-loading-overlay {
  position:absolute;
  inset:46px 0 0;
  display:grid;
  place-items:center;
  color:#9cffb3;
  background:radial-gradient(circle at center, rgba(54,236,255,.08), transparent 45%), #020203;
  font:14px/1.6 "Courier New", monospace;
  text-align:center;
  letter-spacing:1px;
  z-index:2;
  pointer-events:none;
}
.arcade-loading-overlay.hidden {
  display:none;
}
.arcade-performance-note {
  color:#ffd760;
  font-size:11px;
  opacity:.85;
}
@media (max-width:760px){
  .arcade-emulator-head {
    align-items:flex-start;
    flex-direction:column;
    min-height:72px;
  }
  .arcade-emulator-actions {
    width:100%;
  }
  .arcade-stop-button,
  .arcade-fullscreen-button {
    flex:1 1 auto;
    padding:10px;
  }
  .arcade-loading-overlay {
    inset:72px 0 0;
    padding:18px;
  }
}
