.fa-arcade {
  --arc-accent: #5ef0c0;
  background: #0b1423;
  color: #edf4ff;
  border: 1px solid #30445c;
  border-radius: 20px;
  overflow: hidden;
  font-family: Inter, system-ui, sans-serif;
  padding: 26px;
  box-shadow: 0 24px 64px #08111e25;
  color-scheme: dark;
}
.fa-arcade * {
  box-sizing: border-box;
}
.arc-hunter {
  --arc-accent: #77f4d6;
  background: radial-gradient(ellipse at 25% 0, #192740, #080f1d 65%);
}
.arc-hunter .arc-play-layout {
  grid-template-columns: minmax(0, 2.5fr) minmax(220px, 1fr);
  gap: 16px;
}
.arc-hunter .arc-arena {
  aspect-ratio: 3 / 2;
  touch-action: none;
  cursor: crosshair;
}
.arc-hunter .arc-arena:focus-visible {
  outline: 2px solid #77f4d6;
  outline-offset: -3px;
}
.arc-hunter .arc-arena-wrap {
  border-color: #3f727d;
  background: #081322;
  box-shadow: 0 15px 65px #0006, 0 0 30px #72efc90d;
}
.arc-hunter .arc-heading h1 {
  font-size: var(--text-4xl);
}
.arc-hunter .arc-stations button {
  font-size: var(--text-xs);
  padding: 10px 8px;
  min-height: 80px;
}
.arc-field-status {
  min-height: 58px;
  padding: 12px 16px;
  font-size: var(--text-sm);
  line-height: 1.55;
  color: #a9d9d7;
  border-top: 1px solid #224650;
  border-bottom: 1px solid #224650;
  background: #0b1b27;
}
.arc-field-telemetry {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px 12px;
  padding: 9px 14px;
  font: 12px ui-monospace, monospace;
  color: #a3d8d5;
  background: #0b1b27;
}
.arc-circuit-controls, .arc-road-controls, .arc-phase-controls {
  display: grid;
  gap: 5px;
  padding: 0 12px 12px;
}
.arc-circuit-controls { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.arc-road-controls { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.arc-phase-controls { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.arc-circuit-controls button, .arc-road-controls button, .arc-phase-controls button {
  min-height: 44px;
  padding: 8px 4px;
  border: 1px solid #4c6378;
  border-radius: 6px;
  background: #172c3d;
  color: #d9e8f3;
  cursor: pointer;
  font-size: var(--text-xs);
}
.arc-circuit-controls button.is-powered { background: #503266; color: #f1d9ff; border-color: #caa3ed; }
.arc-circuit-controls button[aria-pressed="true"], .arc-road-controls button.is-here { border: 2px solid #96e7d2; }
.arc-phase-controls button:disabled { color: #86e6ca; background: #173931; }
.arc-factor-note { color: #9dc9d3 !important; font-size: var(--text-xs); margin: 0; padding: 0 14px 14px; }
.arc-career { padding: 18px 20px; margin: 22px 0; background: #11263a; border: 1px solid #3e5a6d; border-radius: 12px; }
.arc-career > div:first-child { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.arc-career strong { color: #ddf6ee; font-size: var(--text-2xl); }
.arc-career small { color: #a5c4d3; font-size: var(--text-xs); }
.arc-career-track { background: #253c51; height: 5px; border-radius: 4px; margin-top: 14px; }
.arc-career-track span { display: block; height: 100%; background: #70e5c3; border-radius: 4px; }
.arc-career p { font-size: var(--text-xs); color: #a9c7d3; margin: 10px 0; }
.arc-badges { display: flex; gap: 6px; flex-wrap: wrap; }
.arc-badges span { font-size: var(--text-xs); color: #dcc3ff; border: 1px solid #695887; background: #282443; padding: 5px 9px; border-radius: 14px; }
.ix-room-tools { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 16px 0; }
.ix-room-tools button { background: #182d43; color: #d5eff0; border: 1px solid #507487; border-radius: 7px; padding: 10px 14px; min-height: 44px; cursor: pointer; }
.ix-room-tools span { color: #9fb8ce; font-size: var(--text-xs); }
.ix-room-scene { position: relative; border: 1px solid #598898; border-radius: 14px; overflow: hidden; background: #071323; }
.ix-room-scene svg { display: block; width: 100%; height: auto; }
.ix-room-door { transition: transform .6s ease; }
.ix-room-open .ix-room-door { transform: translateX(100px); }
.ix-hotspot { position: absolute; min-height: 44px; padding: 9px 13px; border: 1px solid #78b5bf; background: #0c2635ed; color: #dcfbf6; border-radius: 9px; box-shadow: 0 4px 16px #0005; font-size: var(--text-sm); cursor: pointer; }
.ix-hotspot span { display: block; font-size: var(--text-xs); color: #9bc5d0; margin-top: 4px; }
.ix-hotspot-case { left: 13%; top: 51%; }
.ix-hotspot-console { left: 39%; top: 58%; }
.ix-hotspot-door { left: 68%; top: 66%; }
.ix-hotspot.is-inspected { border-color: #9ee7ba; background: #17392ce8; }
.ix-room-readout { padding: 14px 16px; border: 1px solid #446276; border-top: 0; border-radius: 0 0 10px 10px; color: #bad7e0; background: #102034; font-size: var(--text-sm); line-height: 1.65; min-height: 68px; }
.ix-room-inventory { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 18px 0; }
.ix-inventory-item { padding: 7px 11px; border: 1px dashed #5e738e; color: #9fb2c7; border-radius: 7px; font-size: var(--text-xs); }
.ix-inventory-item.is-found { border-style: solid; border-color: #6aac92; color: #beead4; background: #163126; }
.ix-own-result { padding: 12px; border: 1px solid #5b94a5; border-radius: 9px; background: #173c4b; }
.ix-submit:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 600px) {
  .ix-hotspot { font-size: var(--text-xs); padding: 7px 8px; }
  .ix-hotspot span { display: none; }
  .ix-hotspot-case { left: 7%; top: 48%; }
  .ix-hotspot-console { left: 37%; top: 58%; }
  .ix-hotspot-door { left: 68%; top: 69%; }
}
@media (prefers-reduced-motion: reduce) { .ix-room-door { transition: none; } }
@media (max-width: 600px) {
  .arc-phase-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .arc-road-controls button { min-height: 44px; }
}
.arc-specimen-ready .arc-field-status {
  color: #b9ffe9;
  background: #123331;
}
.arc-flight-controls {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;
}
.arc-flight-controls button {
  min-height: 44px;
  border: 1px solid #48727a;
  background: #172d3c;
  color: #d9f4ef;
  border-radius: 8px;
  padding: 9px 13px;
  font-size: var(--text-xs);
  cursor: pointer;
  touch-action: none;
  user-select: none;
}
.arc-flight-controls button:active {
  background: #2b545f;
}
.arc-flight-controls [data-flight-action="scan"] {
  background: #71e6c9;
  border-color: #71e6c9;
  color: #061d24;
  font-weight: 700;
}
.arc-flight-pad {
  display: grid;
  grid-template-columns: repeat(3, 44px);
  grid-template-rows: repeat(2, 44px);
  gap: 3px;
}
.arc-flight-pad button {
  padding: 0;
  min-height: 44px;
  font-size: var(--text-lg);
}
.arc-flight-pad [data-flight="up"] { grid-column: 2; }
.arc-flight-pad [data-flight="left"] { grid-column: 1; grid-row: 2; }
.arc-flight-pad [data-flight="down"] { grid-column: 2; grid-row: 2; }
.arc-flight-pad [data-flight="right"] { grid-column: 3; grid-row: 2; }
.arc-flight-controls [data-flight-action="guided"] {
  border-color: #3b4d61;
  background: transparent;
  color: #a8bfce;
}
.fa-arcade:fullscreen {
  overflow-y: auto;
  width: 100vw;
  height: 100vh;
  border-radius: 0;
  padding: 20px max(20px, calc((100vw - 1600px) / 2));
}
@media (max-width: 1050px) {
  .arc-hunter .arc-play-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .arc-hunter .arc-stations { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .arc-hunter .arc-arena-toolbar { flex-wrap: wrap; }
  .arc-hunter .arc-flight-controls { gap: 6px; }
  .arc-hunter .arc-field-status { padding: 10px 12px; font-size: var(--text-xs); }
}
.fa-arcade h1,
.fa-arcade h2,
.fa-arcade p {
  color: inherit;
}
.fa-arcade h1,
.ix-escape.fa-arcade > h2 {
  font-size: var(--text-4xl);
  line-height: 1.08;
  letter-spacing: -1.5px;
  margin: 12px 0 18px;
}
.fa-arcade h2 {
  font-size: var(--text-2xl);
  line-height: 1.35;
}
.fa-arcade p {
  line-height: 1.65;
}
.arc-eyebrow {
  font:
    700 11px/1.5 ui-monospace,
    monospace;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--arc-accent) !important;
}
.arc-review {
  font-size: var(--text-xs);
  color: #c2d0e1;
  border: 1px solid #53657c;
  border-radius: 30px;
  padding: 7px 11px;
  white-space: normal;
}
.arc-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 24px;
}
.arc-back {
  color: #c8d6e7 !important;
  text-decoration: none;
  font-size: var(--text-sm);
}
.arc-back:hover {
  text-decoration: underline;
}
.arc-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.arc-heading h1 {
  font-size: var(--text-4xl);
  margin: 4px 0 16px;
}
.arc-hud {
  display: flex;
  gap: 24px;
}
.arc-hud span {
  display: flex;
  flex-direction: column;
  min-width: 48px;
}
.arc-hud small {
  color: #acbfd7;
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 1px;
}
.arc-hud b {
  font:
    700 25px ui-monospace,
    monospace;
  margin-top: 4px;
}
.arc-progress {
  height: 4px;
  background: #25354a;
  margin: 6px 0 24px;
  border-radius: 4px;
}
.arc-progress span {
  display: block;
  height: 100%;
  background: var(--arc-accent);
  border-radius: 4px;
}
.arc-play-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(240px, 1fr);
  gap: 22px;
  align-items: start;
}
.arc-arena-wrap {
  background: #101e30;
  border: 1px solid #334760;
  border-radius: 12px;
  overflow: hidden;
}
.arc-arena-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 14px;
  gap: 8px;
  font:
    11px ui-monospace,
    monospace;
  letter-spacing: 1px;
  color: #b6cee7;
}
.arc-arena-toolbar button {
  background: #182b42;
  border: 1px solid #48627f;
  color: #e7f2ff;
  padding: 8px 10px;
  border-radius: 6px;
  cursor: pointer;
  min-height: 36px;
}
.arc-arena-toolbar div {
  display: flex;
  gap: 6px;
}
.arc-arena {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 12/5;
}
.arc-stations {
  display: grid;
  grid-template-columns: repeat(var(--arc-lanes), minmax(0, 1fr));
  gap: 8px;
  padding: 12px;
}
.arc-stations:empty {
  display: none;
}
.arc-stations button {
  display: flex;
  flex-direction: column;
  text-align: left;
  gap: 7px;
  background: #15253b;
  color: #eef4ff;
  border: 1px solid #445a76;
  border-radius: 8px;
  padding: 12px 10px;
  min-height: 100px;
  font-size: var(--text-sm);
  line-height: 1.45;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.arc-stations button[aria-pressed="true"] {
  border-color: var(--arc-accent);
  background: #23384c;
  box-shadow: inset 0 3px var(--arc-accent);
}
.arc-stations button small {
  font-size: var(--text-xs);
  color: #c0d1e5;
}
.arc-station-number {
  font:
    700 13px ui-monospace,
    monospace;
  color: var(--arc-accent);
}
.arc-control-strip {
  color: #adbed3 !important;
  font-size: var(--text-xs);
  text-align: center;
  margin: 0;
  padding: 0 12px 12px;
}
.arc-mission-panel {
  background: #132238;
  border: 1px solid #354b66;
  border-radius: 12px;
  padding: 22px;
}
.arc-clue {
  font-size: var(--text-xl) !important;
  font-weight: 600;
  margin: 12px 0 22px;
}
.arc-primary,
.arc-secondary {
  font:
    700 14px/1.4 system-ui,
    sans-serif;
  border-radius: 8px;
  min-height: 46px;
  padding: 12px 18px;
  cursor: pointer;
  width: 100%;
  margin: 6px 0;
}
.arc-primary {
  color: #08131e !important;
  background: var(--arc-accent);
  border: 1px solid var(--arc-accent);
}
.arc-secondary {
  color: #dbe8f6;
  background: #192c43;
  border: 1px solid #48627f;
}
.arc-primary:hover {
  filter: brightness(1.1);
}
.arc-secondary:hover {
  background: #28405b;
}
.fa-arcade button:disabled {
  opacity: 0.45;
  cursor: default;
}
.fa-arcade :focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}
.arc-feedback {
  margin-top: 14px;
  font-size: var(--text-sm);
  line-height: 1.6;
}
.arc-feedback strong {
  display: block;
}
.arc-good strong {
  color: #8bf3c4;
}
.arc-miss strong {
  color: #ffbf95;
}
.arc-feedback p {
  margin: 7px 0;
}
.arc-teach {
  border-top: 1px solid #3b4e66;
  margin-top: 22px;
  padding-top: 18px;
}
.arc-teach p,
.arc-bank-note {
  font-size: var(--text-xs);
  color: #afc1d8 !important;
}
.arc-water,
.arc-modes {
  border: 0;
  margin: 0 0 14px;
  padding: 0;
}
.arc-water legend,
.arc-modes legend {
  font-size: var(--text-xs);
  color: #bacde2;
  margin-bottom: 10px;
}
.arc-water label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: var(--text-sm);
  padding: 8px 0;
}
.fa-arcade input[type="radio"] {
  accent-color: var(--arc-accent);
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.arc-number-label {
  display: block;
  font-size: var(--text-sm);
  color: #c3d4e8;
}
.arc-number-label input {
  display: block;
  width: 100%;
  border: 1px solid #66809c;
  background: #0c1727;
  color: #fff;
  padding: 14px;
  border-radius: 8px;
  font:
    20px ui-monospace,
    monospace;
  margin: 10px 0;
}
.arc-lobby-head {
  padding: 24px 10px 36px;
  max-width: 740px;
}
.arc-lobby-head h1 {
  font-size: var(--text-4xl);
}
.arc-lobby-head p {
  color: #b6c8de;
}
.arc-game-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.arc-game-card {
  color: #edf4ff !important;
  border: 1px solid #354a65;
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none !important;
  background: #132136;
  transition:
    transform 0.2s,
    border-color 0.2s;
  display: block;
}
.arc-game-card:hover {
  transform: translateY(-5px);
  border-color: var(--arc-accent);
}
.arc-poster {
  height: 185px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #122738;
  overflow: hidden;
}
.arc-poster:before,
.arc-launch-art:before {
  content: "";
  position: absolute;
  width: 140px;
  height: 140px;
  border: 1px solid var(--arc-accent);
  border-radius: 50%;
  opacity: 0.35;
  box-shadow:
    0 0 0 22px #ffffff05,
    0 0 0 45px #ffffff04;
}
.arc-poster-membrane {
  background: radial-gradient(ellipse at center, #235d5f, #0e2530 75%);
}
.arc-poster-cell {
  background: radial-gradient(ellipse at center, #513375, #1c1736 75%);
}
.arc-poster-ward {
  background: linear-gradient(145deg, #205367, #111f38);
}
.arc-poster-microbe {
  background: radial-gradient(ellipse at center, #765232, #231f25 75%);
}
.arc-poster-dispatch {
  background: linear-gradient(145deg, #593746, #152038);
}
.arc-poster-reactor {
  background: radial-gradient(ellipse at center, #295d75, #14243e 75%);
}
.arc-number {
  position: absolute;
  left: 16px;
  top: 14px;
  font:
    12px ui-monospace,
    monospace;
  color: #c6d4e4;
}
.arc-emblem {
  font:
    88px/1 system-ui,
    sans-serif;
  color: var(--arc-accent);
  z-index: 1;
  text-shadow: 0 0 30px #ffffff30;
}
.arc-role {
  position: absolute;
  bottom: 16px;
  left: 16px;
  font:
    10px ui-monospace,
    monospace;
  color: #d3e3f4;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}
.arc-card-copy {
  padding: 22px;
}
.arc-card-copy h2 {
  margin: 0 0 8px;
}
.arc-card-copy p {
  font-size: var(--text-sm);
  margin: 0 0 15px;
  color: #bbcee3;
}
.arc-card-copy small {
  font-size: var(--text-xs);
  color: #b5c5d8;
  display: block;
}
.arc-play-link {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #354a65;
  margin-top: 20px;
  padding-top: 16px;
  color: var(--arc-accent);
  font-size: var(--text-sm);
  font-weight: 700;
}
.arc-launch {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 40px;
  align-items: center;
}
.arc-launch-art {
  position: relative;
  min-height: 480px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.arc-launch-art .arc-emblem {
  font-size: var(--text-4xl);
}
.arc-launch-art:before {
  width: 230px;
  height: 230px;
}
.arc-launch-copy {
  padding: 10px 0;
}
.arc-launch-copy > p {
  color: #bccce1;
}
.arc-modes {
  margin-top: 24px;
}
.arc-modes label {
  position: relative;
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 4px 12px;
  padding: 13px;
  border: 1px solid #3b526f;
  border-radius: 8px;
  margin: 8px 0;
  font-size: var(--text-sm);
  font-weight: 700;
  cursor: pointer;
}
.arc-modes input {
  grid-row: span 2;
}
.arc-modes small {
  font-weight: 400;
  color: #b4c7df;
  line-height: 1.5;
}
.arc-controls {
  font-size: var(--text-xs);
  line-height: 1.8;
}
.arc-summary {
  text-align: center;
  max-width: 760px;
  margin: 26px auto;
}
.arc-medal {
  font-size: var(--text-4xl);
  color: var(--arc-accent);
  text-shadow: 0 0 55px #68dfcb33;
}
.arc-summary-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 30px 0;
}
.arc-summary-stats div {
  display: flex;
  flex-direction: column;
  background: #192b43;
  padding: 24px 8px;
  border-radius: 10px;
}
.arc-summary-stats b {
  font:
    700 34px ui-monospace,
    monospace;
}
.arc-summary-stats span {
  font-size: var(--text-xs);
  color: #bfd0e4;
  margin-top: 8px;
}
.arc-debrief {
  padding: 18px;
  background: #182940;
  border-radius: 10px;
  margin-bottom: 20px;
  text-align: left;
}
.arc-debrief h2 {
  font-size: var(--text-lg);
}
.arc-summary-actions {
  max-width: 400px;
  margin: 20px auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.arc-paused .arc-stations {
  opacity: 0.5;
  pointer-events: none;
}
@media (max-width: 1050px) {
  .arc-play-layout {
    grid-template-columns: 1fr;
  }
  .arc-mission-panel {
    padding: 20px;
  }
  .arc-game-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .arc-launch {
    gap: 24px;
  }
  .arc-launch-art {
    min-height: 430px;
  }
}
@media (max-width: 600px) {
  .fa-arcade {
    padding: 14px;
    border-radius: 12px;
  }
  .arc-top {
    flex-wrap: wrap;
    margin-bottom: 16px;
  }
  .arc-top .arc-eyebrow {
    display: none;
  }
  .arc-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  .arc-hud {
    gap: 28px;
    margin-bottom: 16px;
  }
  .arc-heading h1 {
    font-size: var(--text-3xl);
  }
  .arc-game-grid {
    grid-template-columns: 1fr;
  }
  .arc-poster {
    height: 180px;
  }
  .arc-launch {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .arc-launch-art {
    min-height: 200px;
  }
  .arc-launch-art .arc-emblem {
    font-size: var(--text-4xl);
  }
  .arc-stations {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 8px;
    gap: 6px;
  }
  .arc-stations button {
    min-height: 100px;
    padding: 10px;
    font-size: var(--text-xs);
  }
  .arc-arena-toolbar {
    padding: 10px;
    letter-spacing: 0;
    font-size: var(--text-xs);
  }
  .arc-summary-stats {
    gap: 6px;
  }
  .arc-summary-stats div {
    padding: 18px 6px;
  }
  .arc-summary-stats b {
    font-size: var(--text-2xl);
  }
  .arc-summary-stats span {
    font-size: var(--text-xs);
  }
  .arc-lobby-head {
    padding: 12px 4px 24px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .arc-game-card {
    transition: none;
  }
  .arc-game-card:hover {
    transform: none;
  }
}
.arc-bank-mode {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 4px 12px;
  padding: 14px;
  border: 1px solid #6284a8;
  border-radius: 8px;
  font-weight: 700;
  margin: 12px 0;
}
.arc-bank-mode input {
  grid-row: span 2;
}
.arc-bank-mode small {
  font-weight: 400;
  color: #c3d5e8;
  font-size: var(--text-xs);
}
.arc-bank-scope {
  display: block;
  font-size: var(--text-xs);
  color: #bed0e7;
}
.arc-bank-scope select,
.arc-structured select {
  display: block;
  background: #0b182a;
  color: #eef5ff;
  border: 1px solid #627c99;
  border-radius: 6px;
  width: 100%;
  padding: 12px;
  margin: 8px 0 14px;
  font:
    14px system-ui,
    sans-serif;
}
.arc-bank-status,
.arc-item-format {
  font-size: var(--text-xs);
  color: #bfd2e8 !important;
}
.arc-structured fieldset {
  border: 1px solid #546b87;
  padding: 12px;
  margin: 14px 0;
  border-radius: 8px;
}
.arc-structured legend {
  font-size: var(--text-sm);
  color: #d2e1f2;
}
.arc-structured label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: var(--text-sm);
  padding: 8px 0;
  line-height: 1.5;
}
.arc-structured label:has(select) {
  display: block;
}
.arc-structured input[type="checkbox"] {
  accent-color: var(--arc-accent);
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.arc-order-row {
  display: flex;
  gap: 6px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #3b4e69;
  font-size: var(--text-sm);
}
.arc-order-row span {
  flex: 1;
}
.arc-order-row button {
  background: #253a52;
  border: 1px solid #536b89;
  color: #fff;
  border-radius: 5px;
  min-width: 36px;
  min-height: 40px;
  cursor: pointer;
}

.arc-mobile-objective {
  display: none;
}
@media (max-width: 1050px) {
  .arc-mobile-objective {
    display: block;
    padding: 16px;
    background: #132238;
    border: 1px solid #354b66;
    border-radius: 10px;
  }
  .arc-mobile-objective p {
    font-size: var(--text-lg);
    line-height: 1.5;
    margin: 8px 0 0;
  }
}

.ix-escape.fa-arcade {
  --arc-accent: #81ddfd;
  margin-top: 14px;
}
.ix-escape.fa-arcade .ix-escape-corridor {
  display: flex;
  justify-content: center;
  gap: 28px;
  padding: 28px 12px;
  background: linear-gradient(180deg, #172a42, #091525);
  border: 1px solid #3c526e;
  border-radius: 12px;
  margin: 24px 0;
}
.ix-door {
  width: 110px;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #5a6f89;
  gap: 10px;
  font:
    12px ui-monospace,
    monospace;
}
.ix-door svg {
  width: 80px;
  height: 110px;
}
.ix-door-current {
  color: #81ddfd;
  filter: drop-shadow(0 0 10px #81ddfd40);
}
.ix-door-open {
  color: #8bf3c4;
}
.ix-door small {
  font-size: var(--text-xs);
  letter-spacing: 1px;
}
.ix-escape.fa-arcade .ix-escape-map {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  padding-left: 20px;
  color: #bed1e7;
}
.ix-escape.fa-arcade .ix-card {
  background: #14263d;
  border: 1px solid #4b627f;
  border-radius: 12px;
  padding: 24px;
}
.ix-escape.fa-arcade h4 {
  font-size: var(--text-2xl);
  margin: 0 0 18px;
  color: #f0f6ff;
}
.ix-escape.fa-arcade .ix-prompt {
  color: #c9d9ed;
  line-height: 1.65;
}
.ix-escape.fa-arcade .ix-label {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  text-align: left;
  background: #21364e;
  color: #edf5ff;
  border: 2px solid #586f8d;
  border-radius: 8px;
  padding: 14px;
  min-height: 48px;
}
.ix-escape.fa-arcade .ix-label.is-on {
  border-color: #9ff1da;
  background: #9ff1da;
  color: #071d29;
  box-shadow: inset 0 0 0 2px #071d29;
}
.ix-escape.fa-arcade .ix-selection-mark { font-size: var(--text-2xl); font-weight: 700; }
.ix-escape.fa-arcade .ix-label > span:nth-child(2) { min-width: 0; overflow-wrap: anywhere; }
.ix-escape.fa-arcade .ix-selection-state { margin-left: auto; font-size: var(--text-xs); font-weight: 700; }
.ix-escape.fa-arcade .ix-label.is-on:disabled { opacity: 1; }
.ix-escape.fa-arcade .ix-submit {
  background: #81ddfd;
  color: #0b1724;
  border: 0;
  border-radius: 8px;
  padding: 14px 24px;
  font-weight: 700;
  min-height: 48px;
}
.ix-escape.fa-arcade .ix-field input {
  background: #0d1c2e;
  color: #f1f7ff;
  border: 1px solid #6e86a1;
  border-radius: 6px;
  padding: 12px;
  min-height: 46px;
}
.ix-escape.fa-arcade .ix-score {
  color: #d9e9f9;
  line-height: 1.6;
}
@media (max-width: 600px) {
  .ix-escape.fa-arcade .ix-escape-corridor {
    gap: 10px;
  }
  .ix-door {
    width: 80px;
  }
  .ix-door svg {
    width: 60px;
    height: 90px;
  }
  .ix-escape.fa-arcade .ix-card {
    padding: 16px;
  }
}

/* Original miniature worlds identify the actual mechanics in the lobby. */
.arc-world-poster{width:100%;height:100%;color:var(--arc-accent);filter:drop-shadow(0 0 12px #ffffff15)}
.arc-game-card .arc-poster:before{display:none}.arc-number,.arc-role{z-index:2;text-shadow:0 2px 5px #000}
.arc-poster-pattern{background:radial-gradient(ellipse at center,#4a3f33,#131e33 75%)}
.ix-escape.fa-arcade .ix-field{display:block;margin:16px 0;color:#dce9f5}
.ix-escape.fa-arcade .ix-field input,.ix-escape.fa-arcade .ix-field select{display:block;width:100%;box-sizing:border-box;margin-top:6px;background:#0d1c2e;color:#f1f7ff;border:1px solid #6e86a1;border-radius:6px;padding:12px;min-height:46px}
.ix-escape.fa-arcade .ix-picks{display:flex;flex-wrap:wrap;gap:10px}.ix-escape.fa-arcade button:disabled{opacity:.5;cursor:default}

.arc-text-map{margin:12px;border:1px solid #456070;border-radius:8px;background:#102234}.arc-text-map summary{cursor:pointer;padding:13px;color:#bed4df;font-size:var(--text-xs);min-height:44px;box-sizing:border-box}.arc-text-map summary:focus-visible{outline:2px solid #86e9d1;outline-offset:3px}

.ix-escape.fa-arcade .ix-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:12px 0}.ix-escape.fa-arcade .ix-pill{padding:6px 10px;background:#1b3b4a;border-radius:20px;font-size:var(--text-xs);text-transform:uppercase;color:#a9dedb;letter-spacing:1px}.ix-escape.fa-arcade .ix-ids,.ix-room-subtitle{font-size:var(--text-sm);color:#9cb7ca}.ix-escape.fa-arcade h1{font-size:var(--text-4xl);margin:16px 0 8px}
