/* SEJM KOMBAT R25R23 — discreet settings entry and complete couch-mode states. */
#r25r23CouchHub[aria-hidden="true"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#r25r23CouchHub [hidden] { display: none !important; }

.r25r23-couch-tab {
  order: 20;
  opacity: .84;
  border-style: dashed;
}

.r25r23-couch-tab::before {
  content: "TV";
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  height: 17px;
  margin-right: 7px;
  border: 1px solid currentColor;
  border-radius: 3px;
  font: 900 8px/1 system-ui, sans-serif;
  letter-spacing: .05em;
  vertical-align: 1px;
}

.r25r23-couch-empty {
  min-height: clamp(330px, 53vh, 500px);
  display: grid;
  place-items: center;
  align-content: center;
  gap: 15px;
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(22px, 5vw, 58px);
  text-align: center;
  border: 1px solid rgba(105, 218, 248, .2);
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 8%, rgba(70, 210, 250, .11), transparent 42%),
    rgba(2, 8, 20, .48);
}

.r25r23-couch-empty-icon {
  width: 156px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-around;
  border: 1px solid rgba(93, 231, 255, .46);
  border-radius: 19px;
  background: linear-gradient(145deg, rgba(11, 36, 62, .9), rgba(4, 13, 29, .95));
  color: var(--r25r23-couch-cyan);
  box-shadow: 0 16px 38px rgba(0, 0, 0, .32), inset 0 1px rgba(255, 255, 255, .05);
  font: 950 21px/1 system-ui, sans-serif;
  letter-spacing: .06em;
}

.r25r23-couch-empty-icon span { color: var(--r25r23-couch-gold); font-size: 28px; }
.r25r23-couch-empty h3 { margin: 0; color: #fff; font-size: clamp(21px, 3vw, 30px); }
.r25r23-couch-empty p { max-width: 660px; margin: 0; color: #b9cad9; font-size: 14px; line-height: 1.55; }
.r25r23-couch-empty ol {
  max-width: 620px;
  margin: 1px 0 4px;
  padding-left: 24px;
  color: #d8e8f4;
  text-align: left;
  font-size: 13px;
  line-height: 1.7;
}

.r25r23-couch-mode-picker {
  width: min(650px, 100%);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.r25r23-couch-mode-picker button {
  appearance: none;
  min-height: 72px;
  display: grid;
  align-content: center;
  gap: 6px;
  padding: 12px 16px;
  border: 1px solid rgba(112, 201, 229, .25);
  border-radius: 12px;
  background: rgba(3, 12, 28, .74);
  color: #c7d8e5;
  cursor: pointer;
}

.r25r23-couch-mode-picker button[aria-pressed="true"] {
  border-color: rgba(93, 231, 255, .78);
  background: linear-gradient(145deg, rgba(9, 94, 129, .62), rgba(4, 35, 64, .82));
  color: #fff;
  box-shadow: inset 0 0 22px rgba(93, 231, 255, .08);
}

.r25r23-couch-mode-picker strong { font: 900 13px/1 system-ui, sans-serif; letter-spacing: .07em; }
.r25r23-couch-mode-picker span { color: #9fb8c9; font: 650 11px/1.25 system-ui, sans-serif; }

.r25r23-couch-slots[data-single-seat="true"] { grid-template-columns: minmax(0, 590px); justify-content: center; }

.r25r23-couch-room-code span {
  color: #89a6b9;
  font: 850 9px/1 system-ui, sans-serif;
  letter-spacing: .12em;
}

.r25r23-couch-qr-wait {
  position: absolute;
  inset: 12px;
  display: grid;
  place-items: center;
  color: #334155;
  text-align: center;
  font: 900 10px/1.3 system-ui, sans-serif;
  letter-spacing: .08em;
}

.r25r23-couch-log {
  margin-top: 13px;
  border: 1px solid rgba(111, 200, 227, .17);
  border-radius: 11px;
  background: rgba(1, 6, 15, .45);
  color: #8da6b8;
}

.r25r23-couch-log summary {
  min-height: 39px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  cursor: pointer;
  color: #adc0cf;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.r25r23-couch-log pre {
  max-height: 98px;
  margin: 0;
  padding: 10px 12px 12px;
  overflow: auto;
  border-top: 1px solid rgba(111, 200, 227, .12);
  color: #95afc1;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font: 500 11px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace;
}

.r25r23-couch-slot[data-status="connected"],
.r25r23-couch-slot[data-status="connecting"] {
  border-color: rgba(255, 211, 90, .52);
}

.r25r23-couch-slot[data-status="connected"] .r25r23-couch-status,
.r25r23-couch-slot[data-status="connecting"] .r25r23-couch-status { color: var(--r25r23-couch-gold); }

body.r25r23-couch-open #pack185MenuSurface,
body.r25r23-couch-open #pack185SelectSurface,
body.r25r23-couch-open #mobileControls {
  pointer-events: none !important;
}

/* A phone running the game normally should never be invited to host this mode.
   The standalone controller page does not load this stylesheet or entry. */
@media (pointer: coarse) and (max-width: 1100px),
       (hover: none) and (max-width: 900px),
       (max-width: 720px) {
  .r25r23-couch-tab { display: none !important; }
}

@media (orientation: landscape) and (max-height: 620px) {
  .r25r23-couch-empty { min-height: 280px; padding: 13px 22px; gap: 8px; }
  .r25r23-couch-empty-icon { width: 126px; height: 54px; font-size: 17px; }
  .r25r23-couch-empty h3 { font-size: 20px; }
  .r25r23-couch-empty p, .r25r23-couch-empty ol { font-size: 11px; line-height: 1.42; }
  .r25r23-couch-mode-picker button { min-height: 54px; padding: 8px 12px; }
  .r25r23-couch-log { margin-top: 8px; }
}

@media (max-width: 650px) {
  .r25r23-couch-mode-picker { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .r25r23-couch-empty-icon { box-shadow: none; }
}
