/* Native phone UI layer. Loaded after mobile.css and owns the visible mobile screens. */
body.play-mobile.mobile-native-runtime {
  --mn-vw: var(--mobile-vw, 100vw);
  --mn-vh: var(--mobile-vh, 100vh);
  --mn-safe-l: max(10px, env(safe-area-inset-left));
  --mn-safe-r: max(10px, env(safe-area-inset-right));
  --mn-safe-t: max(7px, env(safe-area-inset-top));
  --mn-safe-b: max(8px, env(safe-area-inset-bottom));
  --mn-gold: #f8d878;
  --mn-cyan: #5ed7ff;
  --mn-green: #7bff9a;
  --mn-red: #ff6b7a;
  --mn-bg: rgba(2, 5, 12, 0.84);
  --mn-panel: rgba(6, 10, 22, 0.82);
  --mn-line: rgba(248, 216, 120, 0.32);
  --mn-line-cyan: rgba(94, 215, 255, 0.32);
  width: var(--mn-vw) !important;
  height: var(--mn-vh) !important;
  overflow: hidden !important;
}

body.play-mobile.mobile-native-runtime #hud,
body.play-mobile.mobile-native-runtime #hud-br-dock,
body.play-mobile.mobile-native-runtime #weapon-status {
  display: none !important;
}

/* Cockpit reference pass: phone HUD frame + large flight controls. */
body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #hud {
  position: fixed !important;
  inset: 0 !important;
  z-index: 92 !important;
  display: block !important;
  padding: 0 !important;
  pointer-events: none !important;
}

body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #hud .hud-panel {
  position: fixed !important;
  min-height: 34px !important;
  height: 34px !important;
  padding: 5px 12px !important;
  display: grid !important;
  align-content: center !important;
  border: 1px solid rgba(248, 216, 120, 0.46) !important;
  border-radius: 11px !important;
  background:
    linear-gradient(180deg, rgba(8, 13, 24, 0.78), rgba(3, 7, 14, 0.62)),
    radial-gradient(circle at 50% 0%, rgba(248, 216, 120, 0.12), transparent 72%) !important;
  box-shadow: 0 0 0 1px rgba(94, 215, 255, 0.08) inset, 0 0 22px rgba(248, 216, 120, 0.08) !important;
  color: var(--mn-gold) !important;
  pointer-events: none !important;
}

body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #hud .mobile-kaela-top {
  left: calc(var(--mn-safe-l) + 78px) !important;
  top: calc(var(--mn-safe-t) + 8px) !important;
  width: 144px !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  gap: 8px !important;
  pointer-events: auto !important;
}

body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #hud .mobile-kaela-face {
  width: 24px !important;
  height: 24px !important;
  font-size: 8px !important;
  background: linear-gradient(180deg, #89f1ff, #3e92ff) !important;
}

body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #hud .mobile-system-panel {
  left: 50% !important;
  top: calc(var(--mn-safe-t) + 8px) !important;
  transform: translateX(-50%) !important;
  width: clamp(220px, 27vw, 300px) !important;
  text-align: center !important;
}

body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #hud .mobile-xp-panel {
  right: calc(var(--mn-safe-r) + 92px) !important;
  top: calc(var(--mn-safe-t) + 8px) !important;
  width: min(200px, 46vw) !important;
  text-align: center !important;
}

body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #hud .hud-label {
  font-size: 7px !important;
  line-height: 1 !important;
  letter-spacing: 0.16em !important;
  color: rgba(94, 215, 255, 0.8) !important;
}

body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #hud .hud-value,
body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #hud .mobile-kaela-top span:last-child {
  font-size: 13px !important;
  line-height: 1 !important;
  color: var(--mn-gold) !important;
  letter-spacing: 0.12em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #hud-br-dock {
  position: fixed !important;
  inset: 0 !important;
  z-index: 92 !important;
  display: block !important;
  pointer-events: none !important;
}

body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #combat-hud {
  position: fixed !important;
  top: calc(var(--mn-safe-t) + 78px) !important;
  right: calc(var(--mn-safe-r) + 26px) !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  width: 104px !important;
  display: grid !important;
  gap: 5px !important;
  padding: 7px !important;
  border: 1px solid rgba(248, 216, 120, 0.34) !important;
  border-radius: 12px !important;
  background: rgba(4, 9, 18, 0.58) !important;
  box-shadow: 0 0 22px rgba(248, 216, 120, 0.08) !important;
}

body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #combat-hud .combat-bar-wrap {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  gap: 4px !important;
  align-items: center !important;
  min-height: 12px !important;
}

body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #combat-hud .combat-bar-label,
body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #combat-hud .credits-label {
  font-size: 8px !important;
  color: var(--mn-gold) !important;
  letter-spacing: 0.08em !important;
}

body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #combat-hud .combat-bar {
  height: 5px !important;
  border-radius: 999px !important;
  background: rgba(94, 215, 255, 0.12) !important;
  overflow: hidden !important;
}

body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #combat-hud .combat-bar-value,
body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #combat-status {
  display: none !important;
}

body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #combat-hud .combat-credits {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  gap: 4px !important;
  align-items: center !important;
  font-size: 8px !important;
}

body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #combat-hud .credits-value {
  display: block !important;
  height: 5px !important;
  overflow: hidden !important;
  text-indent: -999px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--mn-cyan) 0 68%, rgba(94, 215, 255, 0.12) 68%) !important;
}

body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #hud-br-dock .hud-br-actions,
body.play-mobile.mobile-native-runtime.mobile-screen-cockpit #mobile-install-btn {
  display: none !important;
}

body.play-mobile.mobile-native-runtime #mobile-flight-ui {
  position: fixed !important;
  inset: 0 !important;
  z-index: 90 !important;
  pointer-events: none !important;
  font-family: system-ui, sans-serif !important;
}

body.play-mobile.mobile-native-runtime:not(.mobile-screen-cockpit) #mobile-flight-ui {
  opacity: 0 !important;
  pointer-events: none !important;
}

body.play-mobile.mobile-native-runtime .mobile-left-controls {
  position: fixed !important;
  left: calc(var(--mn-safe-l) + 22px) !important;
  bottom: calc(var(--mn-safe-b) + 22px) !important;
  display: grid !important;
  grid-template-columns: 116px 58px !important;
  gap: 12px !important;
  align-items: end !important;
  pointer-events: auto !important;
}

body.play-mobile.mobile-native-runtime #mobile-stick {
  width: 116px !important;
  height: 116px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(94, 215, 255, 0.46) !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(94, 215, 255, 0.2), rgba(0, 0, 0, 0.16) 34%, transparent 35%),
    radial-gradient(circle, transparent 55%, rgba(94, 215, 255, 0.13) 57%, transparent 59%),
    rgba(3, 10, 18, 0.18) !important;
  box-shadow: 0 0 34px rgba(94, 215, 255, 0.1), inset 0 0 28px rgba(94, 215, 255, 0.06) !important;
}

body.play-mobile.mobile-native-runtime #mobile-stick .stick-core {
  font-size: 8px !important;
  letter-spacing: 0.18em !important;
  color: rgba(220, 248, 255, 0.72) !important;
}

body.play-mobile.mobile-native-runtime #mobile-stick-knob {
  width: 28px !important;
  height: 28px !important;
  background: rgba(94, 215, 255, 0.28) !important;
  border: 1px solid rgba(94, 215, 255, 0.62) !important;
  box-shadow: 0 0 18px rgba(94, 215, 255, 0.22) !important;
}

body.play-mobile.mobile-native-runtime #mobile-boost {
  width: 62px !important;
  height: 62px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 5px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(123, 255, 154, 0.42) !important;
  background: rgba(0, 16, 12, 0.44) !important;
  color: var(--mn-green) !important;
  box-shadow: none !important;
}

body.play-mobile.mobile-native-runtime #mobile-boost span,
body.play-mobile.mobile-native-runtime #mobile-boost strong,
body.play-mobile.mobile-native-runtime #mobile-boost em {
  font-size: 8px !important;
  line-height: 1.05 !important;
}

body.play-mobile.mobile-native-runtime #mobile-throttle-zone {
  position: fixed !important;
  left: calc(var(--mn-safe-l) + 148px) !important;
  right: calc(var(--mn-safe-r) + 166px) !important;
  top: calc(var(--mn-safe-t) + 52px) !important;
  bottom: calc(var(--mn-safe-b) + 72px) !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  background: transparent !important;
  background-size: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  z-index: 91 !important;
}

body.play-mobile.mobile-native-runtime #mobile-throttle-zone > * {
  opacity: 0 !important;
  pointer-events: none !important;
}

body.play-mobile.mobile-native-runtime #mobile-throttle-zone.active .mobile-throttle-readout,
body.play-mobile.mobile-native-runtime #mobile-throttle-zone.active .mobile-throttle-bar {
  opacity: 0 !important;
}

body.play-mobile.mobile-native-runtime .mobile-throttle-title {
  position: absolute !important;
  top: 12px !important;
  left: 44px !important;
  max-width: calc(100% - 72px) !important;
  color: rgba(248, 216, 120, 0.86) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.play-mobile.mobile-native-runtime .mobile-throttle-title::before {
  content: '⌖';
  position: absolute;
  left: -28px;
  color: rgba(233, 228, 216, 0.82);
}

body.play-mobile.mobile-native-runtime .mobile-throttle-arrow {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  color: rgba(248, 216, 120, 0.78) !important;
  font-size: 44px !important;
  line-height: 1 !important;
  text-shadow: 0 0 22px rgba(248, 216, 120, 0.52) !important;
}

body.play-mobile.mobile-native-runtime .mobile-throttle-readout {
  position: absolute !important;
  right: 18px !important;
  top: 82px !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  display: grid !important;
  gap: 4px !important;
  color: rgba(94, 215, 255, 0.9) !important;
  font-size: 10px !important;
  text-align: left !important;
}

body.play-mobile.mobile-native-runtime .mobile-throttle-bar {
  position: absolute !important;
  right: 42px !important;
  top: 92px !important;
  bottom: 42px !important;
  left: auto !important;
  width: 9px !important;
  height: auto !important;
  transform: none !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(233, 228, 216, 0.44) !important;
  padding: 2px !important;
}

body.play-mobile.mobile-native-runtime .mobile-throttle-bar i {
  background: linear-gradient(180deg, #8ff2ff, #31d8ff) !important;
  border-radius: inherit !important;
}

body.play-mobile.mobile-native-runtime .mobile-throttle-help {
  position: absolute !important;
  left: 18px !important;
  display: block !important;
  color: rgba(233, 228, 216, 0.78) !important;
  font-size: 9px !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
}

body.play-mobile.mobile-native-runtime .mobile-throttle-help.top {
  bottom: 38px !important;
}

body.play-mobile.mobile-native-runtime .mobile-throttle-help.bottom {
  bottom: 18px !important;
}

body.play-mobile.mobile-native-runtime .mobile-right-controls {
  position: fixed !important;
  right: calc(var(--mn-safe-r) + 26px) !important;
  bottom: calc(var(--mn-safe-b) + 22px) !important;
  width: 266px !important;
  height: 142px !important;
  display: block !important;
  pointer-events: auto !important;
}

body.play-mobile.mobile-native-runtime .mobile-action {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border-radius: 50% !important;
  border: 1px solid var(--mn-line-cyan) !important;
  background: rgba(4, 12, 22, 0.48) !important;
  color: var(--mn-cyan) !important;
  box-shadow: none !important;
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
}

body.play-mobile.mobile-native-runtime #mobile-fire {
  position: absolute !important;
  right: 0 !important;
  bottom: 18px !important;
  grid-row: auto !important;
  grid-column: auto !important;
  width: 98px !important;
  height: 98px !important;
  border-color: rgba(255, 107, 122, 0.55) !important;
  color: #ffdbe0 !important;
  background: rgba(32, 4, 10, 0.54) !important;
  font-size: 19px !important;
  box-shadow: 0 0 38px rgba(248, 216, 120, 0.12), inset 0 0 28px rgba(248, 216, 120, 0.08) !important;
}

body.play-mobile.mobile-native-runtime #mobile-missile {
  position: absolute !important;
  right: 110px !important;
  bottom: 42px !important;
  grid-column: auto !important;
  grid-row: auto !important;
  align-self: auto !important;
  width: 76px !important;
  height: 76px !important;
  border-color: rgba(248, 216, 120, 0.4) !important;
  color: var(--mn-gold) !important;
}

body.play-mobile.mobile-native-runtime #mobile-scan {
  position: absolute !important;
  left: 28px !important;
  bottom: 0 !important;
  grid-column: auto !important;
  grid-row: auto !important;
  width: 58px !important;
  height: 58px !important;
}

body.play-mobile.mobile-native-runtime #mobile-pause {
  position: absolute !important;
  left: 92px !important;
  bottom: 0 !important;
  grid-column: auto !important;
  grid-row: auto !important;
  width: 58px !important;
  height: 58px !important;
}

body.play-mobile.mobile-native-runtime #mobile-missile,
body.play-mobile.mobile-native-runtime #mobile-scan,
body.play-mobile.mobile-native-runtime #mobile-pause {
  font-size: 9px !important;
}

body.play-mobile.mobile-native-runtime #mobile-missile span,
body.play-mobile.mobile-native-runtime #mobile-fire span,
body.play-mobile.mobile-native-runtime #mobile-pause span {
  display: block !important;
  margin-top: 3px !important;
  font-size: 7px !important;
  opacity: 0.68 !important;
}

body.play-mobile.mobile-native-runtime .mobile-missile-menu {
  right: 186px !important;
  bottom: 46px !important;
  width: 104px !important;
  gap: 5px !important;
}

body.play-mobile.mobile-native-runtime .mobile-missile-menu button {
  height: 34px !important;
  min-height: 34px !important;
  padding: 4px 7px !important;
  border-radius: 10px !important;
  font-size: 8px !important;
}

body.play-mobile.mobile-native-runtime .mobile-bottom-nav {
  position: fixed !important;
  left: 50% !important;
  bottom: calc(var(--mn-safe-b) + 18px) !important;
  transform: translateX(-50%) !important;
  width: min(300px, calc(var(--mn-vw) - 420px)) !important;
  min-width: 240px !important;
  height: 44px !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 6px !important;
  pointer-events: auto !important;
}

body.play-mobile.mobile-native-runtime .mobile-bottom-nav button {
  width: auto !important;
  height: 44px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border-radius: 12px !important;
  font-size: 12px !important;
  background: rgba(3, 9, 18, 0.52) !important;
  border: 1px solid rgba(248, 216, 120, 0.28) !important;
  color: var(--mn-gold) !important;
}

body.play-mobile.mobile-native-runtime .mobile-bottom-nav span {
  display: block !important;
  font-size: 7px !important;
  line-height: 1 !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu.visible {
  position: fixed !important;
  inset: 0 !important;
  z-index: 12000 !important;
  width: var(--mn-vw) !important;
  height: var(--mn-vh) !important;
  display: block !important;
  overflow: hidden !important;
  pointer-events: auto !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-bg {
  background:
    radial-gradient(circle at 50% 12%, rgba(94, 215, 255, 0.14), transparent 36%),
    radial-gradient(circle at 10% 52%, rgba(248, 216, 120, 0.08), transparent 26%),
    radial-gradient(circle at 88% 48%, rgba(94, 215, 255, 0.1), transparent 28%),
    rgba(0, 0, 0, 0.82) !important;
  backdrop-filter: blur(10px) saturate(1.18) !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-shell {
  position: fixed !important;
  inset: calc(var(--mn-safe-t) + 8px) calc(var(--mn-safe-r) + 34px) calc(var(--mn-safe-b) + 8px) calc(var(--mn-safe-l) + 34px) !important;
  display: grid !important;
  grid-template-rows: 48px minmax(0, 1fr) 38px !important;
  gap: 9px !important;
  overflow: hidden !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-header {
  display: grid !important;
  grid-template-columns: 168px minmax(0, 1fr) 132px 48px !important;
  gap: 10px !important;
  min-height: 0 !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-footer {
  display: grid !important;
  grid-template-columns: minmax(0, 420px) minmax(180px, 1fr) 150px !important;
  gap: 10px !important;
  min-height: 0 !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  min-height: 0 !important;
  padding: 0 92px !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu button,
body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-title,
body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-footer > div {
  min-width: 0 !important;
  min-height: 0 !important;
  border-radius: 12px !important;
  border: 1px solid rgba(248, 216, 120, 0.42) !important;
  background:
    linear-gradient(180deg, rgba(6, 14, 24, 0.84), rgba(2, 6, 13, 0.74)),
    radial-gradient(circle at 50% 0%, rgba(248, 216, 120, 0.1), transparent 68%) !important;
  color: var(--mn-gold) !important;
  box-shadow: 0 0 0 1px rgba(94, 215, 255, 0.08) inset, 0 0 24px rgba(248, 216, 120, 0.08) !important;
  overflow: hidden !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-grid button {
  display: grid !important;
  grid-template-rows: minmax(34px, 1fr) auto auto !important;
  place-items: center !important;
  padding: 9px 10px !important;
  position: relative !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-grid button.selected {
  border-color: rgba(94, 215, 255, 0.9) !important;
  background:
    linear-gradient(180deg, rgba(6, 22, 32, 0.92), rgba(2, 9, 18, 0.82)),
    radial-gradient(circle at 50% 28%, rgba(94, 215, 255, 0.24), transparent 58%) !important;
  box-shadow: 0 0 0 2px rgba(94, 215, 255, 0.22) inset, 0 0 30px rgba(94, 215, 255, 0.28) !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-grid i {
  font-size: clamp(28px, 4.3vw, 54px) !important;
  line-height: 1 !important;
  color: rgba(94, 215, 255, 0.88) !important;
  font-style: normal !important;
  text-shadow: 0 0 22px rgba(94, 215, 255, 0.28) !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-grid strong {
  margin-top: 3px !important;
  font-size: clamp(12px, 1.65vw, 17px) !important;
  line-height: 1 !important;
  color: var(--mn-gold) !important;
  letter-spacing: 0.05em !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-grid span {
  max-width: 100% !important;
  margin-top: 5px !important;
  font-size: clamp(8px, 1vw, 11px) !important;
  line-height: 1.08 !important;
  color: rgba(94, 215, 255, 0.82) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-title {
  display: grid !important;
  place-items: center !important;
  height: 48px !important;
  border-radius: 14px !important;
  background:
    linear-gradient(180deg, rgba(5, 12, 22, 0.86), rgba(1, 5, 12, 0.78)),
    linear-gradient(90deg, transparent, rgba(248, 216, 120, 0.1), transparent) !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-title strong {
  font-size: clamp(22px, 3vw, 32px) !important;
  line-height: 1 !important;
  letter-spacing: 0.07em !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-title span,
body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-status span,
body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-hint,
body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-saved {
  font-size: 10px !important;
  line-height: 1 !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-continue,
body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-kaela,
body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-settings {
  height: 48px !important;
  width: auto !important;
  padding: 0 12px !important;
  font-size: 14px !important;
  letter-spacing: 0.08em !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-settings {
  padding: 0 !important;
  font-size: 22px !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-kaela {
  color: #dff9ff !important;
  border-color: rgba(94, 215, 255, 0.42) !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-status {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 6px 9px !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-status span {
  padding: 5px 8px !important;
  border-radius: 8px !important;
  background: rgba(0, 0, 0, 0.22) !important;
  color: #dff9ff !important;
  white-space: nowrap !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-hint,
body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-saved {
  display: grid !important;
  place-items: center !important;
  height: 38px !important;
  padding: 0 12px !important;
}

body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-saved {
  color: var(--mn-green) !important;
  border-color: rgba(123, 255, 154, 0.46) !important;
  background: rgba(2, 22, 12, 0.58) !important;
}

@media (max-width: 860px), (max-height: 430px) {
  body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-shell {
    inset: var(--mn-safe-t) var(--mn-safe-r) var(--mn-safe-b) var(--mn-safe-l) !important;
    grid-template-rows: 40px minmax(0, 1fr) 30px !important;
    gap: 7px !important;
  }

  body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-header {
    grid-template-columns: 118px minmax(0, 1fr) 88px 38px !important;
    gap: 7px !important;
  }

  body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-grid {
    gap: 7px !important;
    padding: 0 52px !important;
  }

  body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-grid button {
    padding: 7px !important;
  }

  body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-title,
  body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-continue,
  body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-kaela,
  body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-settings {
    height: 40px !important;
  }

  body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-continue,
  body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-kaela {
    font-size: 11px !important;
  }

  body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-title strong {
    font-size: clamp(18px, 2.6vw, 25px) !important;
  }

  body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-grid i {
    font-size: clamp(24px, 3.6vw, 42px) !important;
  }

  body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-grid strong {
    font-size: clamp(10px, 1.4vw, 14px) !important;
  }

  body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-grid span {
    font-size: 8px !important;
  }

  body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-footer {
    grid-template-columns: minmax(0, 330px) minmax(140px, 1fr) 112px !important;
    gap: 7px !important;
  }

  body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-hint,
  body.play-mobile.mobile-native-runtime #mobile-command-menu .mcm-saved {
    height: 30px !important;
    font-size: 8px !important;
  }
}

#mobile-native-hub {
  position: fixed;
  inset: 0;
  z-index: 11000;
  display: none;
  width: var(--mn-vw, 100vw);
  height: var(--mn-vh, 100vh);
  overflow: hidden;
  background: radial-gradient(circle at 16% 0%, rgba(94, 215, 255, 0.13), transparent 35%), rgba(1, 3, 8, 0.94);
  color: #e9e4d8;
  font-family: system-ui, sans-serif;
  pointer-events: auto;
}

#mobile-native-hub.visible {
  display: grid;
  grid-template-rows: 42px 34px minmax(0, 1fr);
}

.mn-hub-top {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 38px;
  gap: 7px;
  align-items: stretch;
  padding: var(--mn-safe-t, 7px) var(--mn-safe-r, 10px) 0 var(--mn-safe-l, 10px);
}

.mn-hub-back,
.mn-hub-close {
  border: 1px solid var(--mn-line, rgba(248, 216, 120, 0.32));
  border-radius: 10px;
  background: rgba(5, 10, 20, 0.7);
  color: var(--mn-gold, #f8d878);
  font-size: 13px;
}

.mn-hub-title {
  min-width: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(94, 215, 255, 0.24);
  border-radius: 10px;
  background: rgba(3, 8, 18, 0.62);
  overflow: hidden;
}

.mn-hub-title strong {
  font-size: 13px;
  line-height: 1;
  color: var(--mn-gold, #f8d878);
  letter-spacing: 0.12em;
}

.mn-hub-title span {
  margin-top: 2px;
  max-width: 100%;
  font-size: 7px;
  line-height: 1;
  color: var(--mn-cyan, #5ed7ff);
  letter-spacing: 0.12em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mn-hub-tabs {
  display: flex;
  gap: 5px;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 5px var(--mn-safe-r, 10px) 3px var(--mn-safe-l, 10px);
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
}

.mn-hub-tabs::-webkit-scrollbar {
  display: none;
}

.mn-hub-tabs button {
  flex: 0 0 auto;
  min-width: 62px;
  height: 26px;
  padding: 0 8px;
  border: 1px solid rgba(248, 216, 120, 0.24);
  border-radius: 9px;
  background: rgba(5, 10, 20, 0.58);
  color: rgba(248, 216, 120, 0.74);
  font-size: 8px;
  letter-spacing: 0.09em;
}

.mn-hub-tabs button.active {
  border-color: rgba(94, 215, 255, 0.56);
  color: #dff8ff;
  background: rgba(94, 215, 255, 0.13);
}

#mobile-native-hub-body {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 6px var(--mn-safe-r, 10px) var(--mn-safe-b, 8px) var(--mn-safe-l, 10px);
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}

.mn-panel {
  min-height: 100%;
}

.mn-hero {
  display: grid;
  gap: 3px;
  padding: 8px 10px;
  border: 1px solid rgba(94, 215, 255, 0.26);
  border-radius: 12px;
  background: rgba(4, 10, 20, 0.64);
}

.mn-hero span,
.mn-section-kicker,
.mn-list-row span {
  color: var(--mn-cyan, #5ed7ff);
  font-size: 8px;
  line-height: 1;
  letter-spacing: 0.16em;
}

.mn-hero strong {
  color: var(--mn-gold, #f8d878);
  font-size: clamp(16px, 2.2vw, 22px);
  line-height: 1;
}

.mn-hero small,
.mn-list-row small {
  color: rgba(233, 228, 216, 0.68);
  font-size: 10px;
  line-height: 1.15;
}

.mn-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: 7px;
}

.mn-stat-card,
.mn-list-row {
  border: 1px solid rgba(248, 216, 120, 0.22);
  border-radius: 12px;
  background: rgba(5, 10, 20, 0.62);
}

.mn-stat-card {
  min-height: 58px;
  display: grid;
  gap: 2px;
  align-content: center;
  padding: 7px 8px;
}

.mn-stat-card span {
  color: var(--mn-cyan, #5ed7ff);
  font-size: 8px;
  letter-spacing: 0.14em;
}

.mn-stat-card strong {
  color: #fff;
  font-size: clamp(15px, 2vw, 20px);
  line-height: 1;
}

.mn-stat-card small {
  color: rgba(233, 228, 216, 0.58);
  font-size: 8px;
}

.mn-list {
  display: grid;
  gap: 7px;
}

.mn-list-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
}

.mn-list-row.is-tracked {
  border-color: rgba(123, 255, 154, 0.48);
}

.mn-list-row strong {
  display: block;
  margin: 3px 0;
  color: var(--mn-gold, #f8d878);
  font-size: 12px;
  line-height: 1;
}

.mn-list-row em {
  color: var(--mn-green, #7bff9a);
  font-size: 10px;
  font-style: normal;
  white-space: nowrap;
}

.mn-empty {
  min-height: calc(var(--mn-vh, 100vh) - 96px);
  display: grid;
  place-items: center;
  gap: 6px;
  text-align: center;
  color: var(--mn-gold, #f8d878);
  border: 1px dashed rgba(248, 216, 120, 0.22);
  border-radius: 14px;
  background: rgba(5, 10, 20, 0.42);
  font-size: 12px;
  letter-spacing: 0.14em;
}

.mn-empty span {
  width: min(420px, 80vw);
  color: rgba(233, 228, 216, 0.68);
  font-size: 10px;
  line-height: 1.35;
  letter-spacing: 0;
}

.mn-map-panel {
  position: relative;
  height: calc(var(--mn-vh, 100vh) - 88px);
  overflow: hidden;
  border-radius: 14px;
  background: radial-gradient(circle at 50% 50%, rgba(94, 215, 255, 0.08), transparent 58%), #02040a;
  touch-action: none;
}

.mn-map {
  width: 100%;
  height: 100%;
  touch-action: none;
}

.mn-map-controls {
  position: absolute;
  left: 8px;
  top: 8px;
  z-index: 3;
  display: flex;
  gap: 5px;
}

.mn-map-controls button,
.mn-map-detail button {
  min-width: 34px;
  height: 30px;
  padding: 0 9px;
  border: 1px solid rgba(248, 216, 120, 0.34);
  border-radius: 9px;
  background: rgba(3, 8, 16, 0.72);
  color: var(--mn-gold, #f8d878);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.mn-map line {
  stroke: rgba(94, 215, 255, 0.22);
  stroke-width: 1.2;
}

.mn-map circle {
  fill: rgba(248, 216, 120, 0.76);
  stroke: rgba(255, 255, 255, 0.65);
  stroke-width: 1;
}

.mn-map-node.is-current circle {
  fill: var(--mn-green, #7bff9a);
  filter: drop-shadow(0 0 8px rgba(123, 255, 154, 0.8));
}

.mn-map-node.is-selected circle {
  fill: var(--mn-cyan, #5ed7ff);
  stroke: #fff;
  stroke-width: 2;
  filter: drop-shadow(0 0 10px rgba(94, 215, 255, 0.9));
}

.mn-map-node.is-reachable:not(.is-current):not(.is-selected) circle {
  fill: rgba(94, 215, 255, 0.86);
}

.mn-map text {
  fill: rgba(233, 228, 216, 0.72);
  font-size: 10px;
  paint-order: stroke;
  stroke: rgba(0, 0, 0, 0.8);
  stroke-width: 3px;
}

.mn-map-note {
  position: absolute;
  left: 8px;
  bottom: 8px;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.54);
  color: rgba(233, 228, 216, 0.72);
  font-size: 8px;
}

.mn-map-detail {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 3;
  width: min(270px, 38vw);
  padding: 10px;
  border: 1px solid rgba(248, 216, 120, 0.34);
  border-radius: 13px;
  background: rgba(2, 6, 14, 0.82);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.36);
}

.mn-map-kicker {
  color: var(--mn-cyan, #5ed7ff);
  font-size: 8px;
  line-height: 1;
  letter-spacing: 0.18em;
}

.mn-map-detail strong {
  display: block;
  margin-top: 5px;
  color: var(--mn-gold, #f8d878);
  font-size: 15px;
  line-height: 1;
}

.mn-map-detail span,
.mn-map-detail p {
  display: block;
  color: rgba(233, 228, 216, 0.72);
  font-size: 9px;
  line-height: 1.25;
}

.mn-map-detail p {
  margin: 7px 0 9px;
  max-height: 44px;
  overflow: hidden;
}

.mn-map-action-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.mn-map-detail button:not(:disabled) {
  border-color: rgba(94, 215, 255, 0.54);
  color: #dff9ff;
  background: rgba(94, 215, 255, 0.14);
}

.mn-map-detail button:disabled {
  opacity: 0.45;
}

body.play-mobile #story-panel.visible {
  position: fixed !important;
  left: 50% !important;
  top: auto !important;
  bottom: max(10px, env(safe-area-inset-bottom)) !important;
  transform: translateX(-50%) !important;
  width: min(760px, calc(var(--mobile-vw, 100vw) - 28px)) !important;
  height: min(168px, calc(var(--mobile-vh, 100vh) - 24px)) !important;
  max-width: calc(var(--mobile-vw, 100vw) - 28px) !important;
  max-height: calc(var(--mobile-vh, 100vh) - 24px) !important;
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) minmax(42px, 62px) !important;
  gap: 7px 10px !important;
  padding: 8px !important;
  border-radius: 13px !important;
  overflow: hidden !important;
  pointer-events: auto !important;
  font-family: system-ui, sans-serif !important;
}

body.play-mobile #story-panel .story-speaker-header {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: 48px !important;
  gap: 0 !important;
  align-items: start !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.play-mobile #story-panel .story-speaker-header::after {
  display: none !important;
}

body.play-mobile #story-panel .story-avatar {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
  border-radius: 9px !important;
}

body.play-mobile #story-panel .story-speaker-meta {
  display: none !important;
}

body.play-mobile #story-panel .story-transmission-tag {
  height: auto !important;
  margin: 0 0 2px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 7px !important;
  line-height: 1 !important;
  letter-spacing: 0.12em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.play-mobile #story-panel .story-character,
body.play-mobile #story-panel .story-speaker-name {
  max-width: 100% !important;
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  letter-spacing: 0.04em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.play-mobile #story-panel .story-role,
body.play-mobile #story-panel .story-location,
body.play-mobile #story-panel .story-speaker-role,
body.play-mobile #story-panel .story-speaker-status {
  max-width: 100% !important;
  margin: 2px 0 0 !important;
  font-size: 8px !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.play-mobile #story-panel .story-dialogue {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 3px 8px 3px 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: none !important;
  color: #fff !important;
  font-family: system-ui, sans-serif !important;
  font-style: normal !important;
  font-size: clamp(12px, 1.45vw, 15px) !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  touch-action: pan-y !important;
  -webkit-overflow-scrolling: touch !important;
}

body.play-mobile #story-panel .story-skip-hint,
body.play-mobile #story-panel .story-directive {
  display: none !important;
}

body.play-mobile #story-panel .story-choices {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  display: grid !important;
  grid-auto-rows: minmax(38px, auto) !important;
  gap: 5px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 2px !important;
  touch-action: pan-y !important;
  -webkit-overflow-scrolling: touch !important;
}

body.play-mobile #story-panel .story-choice,
body.play-mobile #story-panel .story-advance {
  min-height: 38px !important;
  height: auto !important;
  padding: 6px 10px !important;
  border-radius: 9px !important;
  text-align: left !important;
  overflow: hidden !important;
}

body.play-mobile #story-panel .story-choice-label,
body.play-mobile #story-panel .story-choice-title {
  display: block !important;
  max-width: 100% !important;
  font-size: clamp(12px, 1.45vw, 15px) !important;
  line-height: 1.05 !important;
  letter-spacing: 0.06em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.play-mobile #story-panel .story-choice-flavor {
  display: block !important;
  max-width: 100% !important;
  margin-top: 3px !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.play-mobile.mobile-compact-height #story-panel.visible {
  height: min(148px, calc(var(--mobile-vh, 100vh) - 16px)) !important;
  grid-template-columns: 46px minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) minmax(38px, 54px) !important;
  padding: 7px !important;
}

body.play-mobile.mobile-compact-height #story-panel .story-speaker-header {
  grid-template-columns: 1fr !important;
  grid-template-rows: 40px !important;
}

body.play-mobile.mobile-compact-height #story-panel .story-avatar {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
}

body.play-mobile.mobile-compact-height #story-panel .story-dialogue {
  font-size: 11px !important;
  line-height: 1.18 !important;
}

body.play-mobile.mobile-screen-story div[role="status"][style*="position:fixed"] {
  display: none !important;
}
