/* Rupture homepage — mobile composition. Not a stacked desktop. */

html[data-device="mobile"] {
  --rf-fault: 16px;
  --rf-gutter: 20px;
  --rf-nav: 52px;
}

html[data-device="mobile"] body {
  font-size: 16px;
}

html[data-device="mobile"] .rf-header-inner {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 0 16px;
}

html[data-device="mobile"] .rf-brand span {
  letter-spacing: 0.24em;
  font-size: 13px;
}

html[data-device="mobile"] .rf-header-end { gap: 10px; }

html[data-device="mobile"] .rf-play {
  min-height: 34px;
  padding: 0 14px;
  font-size: 11px;
}

.rf-ham {
  width: 40px;
  height: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  background: none;
  border: 0;
  padding: 0;
  color: var(--rf-bone);
  cursor: pointer;
}
.rf-ham span {
  display: block;
  width: 18px;
  height: 1px;
  background: currentColor;
}

.rf-drawer[hidden] { display: none !important; }

html[data-device="mobile"] .rf-header {
  z-index: 120;
}

.rf-drawer {
  position: fixed;
  inset: var(--rf-nav) 0 0 0;
  z-index: 110;
  background: var(--rf-void);
  padding: 28px 24px 48px;
  overflow: auto;
}
.rf-drawer nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.rf-drawer a {
  display: block;
  padding: 14px 0;
  text-decoration: none;
  color: var(--rf-bone);
  font-family: var(--rf-display);
  font-size: 28px;
  letter-spacing: 0.04em;
  border-bottom: 1px solid var(--rf-line);
}
.rf-drawer a[aria-current="page"] {
  color: var(--rf-fracture-hot);
}
.rf-drawer-quiet {
  font-family: var(--rf-body) !important;
  font-size: 14px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase;
  color: var(--rf-ash) !important;
  border-bottom: 0 !important;
  margin-top: 12px;
}

body.rf-menu-open { overflow: hidden; }

/* Fault as left rail */
html[data-device="mobile"] .rf-fault {
  left: var(--rf-fault);
  transform: none;
  opacity: 0.7;
}

html[data-device="mobile"] .rf-page-mobile {
  padding-left: 0;
}

/* Hero: landscape still on top, brand and Play below — not a tall crop */
html[data-device="mobile"] .rf-hero {
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 0;
}

html[data-device="mobile"] .rf-hero-art {
  position: relative;
  inset: auto;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}
html[data-device="mobile"] .rf-hero-art img {
  object-position: center 48%;
}
html[data-device="mobile"] .rf-hero-art::after {
  background: transparent;
}

html[data-device="mobile"] .rf-hud {
  top: 12px;
  right: 16px;
}
html[data-device="mobile"] .rf-hud b { font-size: 22px; }

html[data-device="mobile"] .rf-hero-copy {
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  width: auto;
  margin: 0;
  padding: 28px 20px 36px 36px;
  justify-content: flex-start;
}

html[data-device="mobile"] .rf-stone {
  width: 52px;
  height: 52px;
  margin-bottom: 16px;
}

html[data-device="mobile"] .rf-hero-copy h1 {
  font-size: 48px;
  letter-spacing: 0.12em;
}

html[data-device="mobile"] .rf-hero-copy p {
  margin: 12px 0 22px;
  font-size: 15px;
}

html[data-device="mobile"] .rf-hero-copy .rf-play {
  min-height: 44px;
  padding: 0 24px;
}

/* Sections: single column, left pad for the rail */
html[data-device="mobile"] .rf-intro,
html[data-device="mobile"] .rf-progress,
html[data-device="mobile"] .rf-live,
html[data-device="mobile"] .rf-split {
  display: block;
  width: auto;
  max-width: none;
  margin-left: 0;
  padding: 56px 20px 8px 36px;
}

html[data-device="mobile"] .rf-facts,
html[data-device="mobile"] .rf-play-dls {
  margin: 24px 0 8px;
  padding: 4px 20px 16px;
}

html[data-device="mobile"] .rf-play-page {
  min-height: 0;
  padding-bottom: 64px;
}
html[data-device="mobile"] .rf-dl b {
  font-size: 20px;
}

html[data-device="mobile"] .rf-block h2 {
  font-size: 30px;
}

html[data-device="mobile"] .rf-facts { margin-top: 24px; }

html[data-device="mobile"] .rf-spine {
  margin-top: 28px;
}

html[data-device="mobile"] .rf-spine li {
  display: block;
  padding: 0 0 32px;
}

html[data-device="mobile"] .rf-stage {
  text-align: left;
  padding: 0 0 8px;
}

html[data-device="mobile"] .rf-spine h3 { font-size: 24px; }

html[data-device="mobile"] .rf-kicker-late { margin-top: 36px; }

html[data-device="mobile"] .rf-live-count b { font-size: 32px; }

html[data-device="mobile"] .rf-news a {
  grid-template-columns: 1fr;
  gap: 4px;
}

html[data-device="mobile"] .rf-news span { font-size: 20px; }

html[data-device="mobile"] .rf-end {
  min-height: 60vh;
  padding: 80px 20px 80px 36px;
}

html[data-device="mobile"] .rf-vote-row {
  max-width: none;
}
html[data-device="mobile"] .rf-vote-form button {
  min-height: 44px;
  height: 44px;
}
html[data-device="mobile"] .rf-vote-form input {
  min-height: 44px;
  height: 44px;
}
html[data-device="mobile"] .rf-lb span {
  font-size: 20px;
}
html[data-device="mobile"] .rf-vote-board-page {
  min-height: 0;
  padding: 56px 20px 64px 36px;
}

html[data-device="mobile"] .rf-footer {
  padding: 24px 20px 32px 36px;
}

html[data-device="mobile"] .rf-footer-nav {
  flex-wrap: wrap;
  gap: 12px 16px;
}

/* ── Wiki / Pacts / Editor: phone composition, not a squeezed desktop ── */
.rf-wiki-m {
  padding: 20px 16px 48px 36px;
  max-width: 720px;
}
.rf-wiki-m-head {
  margin: 0 0 20px;
}
.rf-wiki-m-head h1 {
  font-family: var(--rf-display);
  font-size: 32px;
  letter-spacing: 0.04em;
  line-height: 1.15;
  margin: 0 0 8px;
  color: var(--rf-bone);
}
.rf-wiki-m-head p {
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--rf-ash);
}
.rf-wiki-m-head .rf-kicker { margin-bottom: 6px; }

.rf-wiki-m-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 4px;
}
.rf-wiki-m-chips a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid var(--rf-line);
  border-radius: 999px;
  text-decoration: none;
  color: var(--rf-ash);
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.rf-wiki-m-chips a[aria-current="page"] {
  color: var(--rf-bone);
  border-color: var(--rf-fracture-hot);
}
.rf-wiki-m-chips-edit {
  color: var(--rf-bone) !important;
  border-color: rgba(192, 132, 255, 0.45) !important;
  background: rgba(192, 132, 255, 0.12);
}

.rf-wiki-m .wiki-layout {
  display: block;
  max-width: none;
  margin: 0;
  padding: 0;
  gap: 0;
}
.rf-wiki-m .wiki-sidebar {
  position: static;
  max-height: none;
  overflow: visible;
  margin: 0 0 20px;
  padding: 0;
  background: rgba(10, 8, 18, 0.55);
  border: 1px solid var(--rf-line);
  border-radius: 10px;
  backdrop-filter: none;
}
.rf-wiki-m .wiki-sidebar-title {
  min-height: 48px;
  margin: 0;
  padding: 8px 8px 8px 14px;
  cursor: pointer;
}
.rf-wiki-m .wiki-sidebar-toggle {
  display: flex !important;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
}
.rf-wiki-m .wiki-sidebar .wiki-nav {
  display: none;
  margin: 0;
  padding: 0 8px 10px;
  max-height: min(70vh, 28rem);
  overflow-y: auto;
}
.rf-wiki-m .wiki-sidebar.expanded .wiki-nav {
  display: block;
}
.rf-wiki-m .wiki-nav a {
  min-height: 44px;
  padding: 12px 10px;
}
.rf-wiki-m .wiki-content { min-width: 0; }
.rf-wiki-m .wiki-section {
  margin-bottom: 32px;
  scroll-margin-top: calc(var(--rf-nav) + 12px);
}
.rf-wiki-m .wiki-section-header { margin-bottom: 14px; padding-bottom: 10px; }
.rf-wiki-m .wiki-section-icon { width: 36px; height: 36px; font-size: 15px; }
.rf-wiki-m .wiki-2col,
.rf-wiki-m .wiki-3col { grid-template-columns: 1fr; }
.rf-wiki-m .wiki-content > .pact-editor-jump:first-of-type { display: none; }
.rf-wiki-m .gg-scroll { margin-left: -16px; margin-right: -16px; padding: 0 16px; }

/* Pact editor — loadout first, then Pick / Details */
.ed-m { padding: 20px 16px 88px 36px; }
.ed-m .wiki-layout,
.ed-m .wiki-content { display: block; max-width: none; margin: 0; padding: 0; }
.ed-m .wiki-sidebar,
.ed-m .wiki-section-header { display: none; }
.ed-m .wiki-section { margin: 0; }
.ed-m .build-presets {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  grid-template-columns: none;
  margin: 0 0 18px;
  padding-bottom: 6px;
}
.ed-m .preset {
  flex: 0 0 82%;
  scroll-snap-align: start;
  min-height: 0;
}
.ed-m .preset:hover { transform: none; }
.ed-m .editor {
  display: flex;
  flex-direction: column;
  gap: 12px;
  grid-template-columns: none;
}
.ed-m .editor-panel.details { grid-column: auto; }
.ed-m .editor-panel.loadout {
  order: 0;
}
.ed-m-tabs {
  display: flex;
  gap: 8px;
  order: 1;
}
.ed-m-tabs [role="tab"] {
  flex: 1;
  min-height: 44px;
  border: 1px solid var(--rf-line);
  border-radius: 8px;
  background: transparent;
  color: var(--rf-ash);
  font-family: var(--rf-display);
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
}
.ed-m-tabs [role="tab"][aria-selected="true"] {
  color: var(--rf-bone);
  border-color: rgba(192, 132, 255, 0.5);
  background: rgba(192, 132, 255, 0.12);
}
.ed-m .editor-panel.picker { order: 2; }
.ed-m .editor-panel.details { order: 3; }
.ed-m .editor-panel[hidden] { display: none !important; }
.ed-m .picker-list,
.ed-m .editor-panel.details .details-scroll {
  max-height: none;
  min-height: 40vh;
}
.ed-m .pick { min-height: 48px; padding: 12px 11px; }
.ed-m .editor-actions {
  position: sticky;
  bottom: 0;
  z-index: 4;
  margin: 0 -4px -8px;
  padding: 10px 4px 12px;
  background: linear-gradient(to top, rgba(8, 6, 13, 0.98) 70%, transparent);
}
.ed-m .btn-sm { min-height: 44px; padding: 10px 16px; }
.ed-m .btn-x { min-height: 40px; padding: 8px 12px; }

/* ── Hiscores: compact rank rows, sticky search ── */
.hs-m {
  padding: 20px 16px 48px 36px;
  max-width: 720px;
}
.hs-m #hs-main {
  padding: 0 0 24px;
  min-height: 0;
  background: transparent;
}
.hs-m #hs-main::before { display: none; }
.hs-m .wrap {
  max-width: none;
  padding: 0;
}
.hs-m .hs-toolbar {
  position: sticky;
  top: var(--rf-nav);
  z-index: 6;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0 -16px 14px;
  padding: 8px 16px 12px;
  background: rgba(8, 6, 13, 0.96);
  border-bottom: 1px solid var(--rf-line);
}
.hs-m .skill-tabs {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: 6px;
  margin: 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.hs-m .skill-tabs::-webkit-scrollbar { display: none; }
.hs-m .skill-tab {
  flex-shrink: 0;
  scroll-snap-align: start;
  min-height: 40px;
  padding: 8px 12px;
  font-size: 13px;
}
.hs-m .search-wrap {
  width: 100%;
  justify-content: stretch;
}
.hs-m .hs-search-input {
  width: 100%;
  min-height: 44px;
  font-size: 16px;
  font-family: var(--rf-body);
}
.hs-m .lb-wrap {
  overflow: visible;
  border-radius: 0;
}
.hs-m .lb-table {
  min-width: 0 !important;
  width: 100%;
  background: transparent;
  border: none;
  overflow: visible;
}
.hs-m .lb-table thead { display: none; }
.hs-m .lb-table,
.hs-m .lb-table tbody {
  display: block;
  width: 100%;
}
.hs-m .lb-table tbody tr {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  column-gap: 10px;
  row-gap: 2px;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 6px;
  padding: 10px 10px 10px 8px;
  background: var(--rf-basalt);
  border: 1px solid var(--rf-line);
  cursor: default;
}
.hs-m .lb-table tbody tr:first-child {
  animation: none;
  box-shadow: none;
}
.hs-m .lb-table td {
  display: block;
  width: auto;
  padding: 0 !important;
  font-size: 13px;
  line-height: 1.3;
  text-align: left !important;
}
.hs-m .lb-table td:nth-child(1) {
  grid-column: 1;
  grid-row: 1 / 3;
  text-align: center !important;
  font-size: 12px;
}
.hs-m .lb-table td:nth-child(1) .rank-cell,
.hs-m .lb-table td:nth-child(1) .rank-icon {
  font-size: 14px;
  line-height: 1;
}
.hs-m .lb-table td.td-player {
  grid-column: 2;
  grid-row: 1;
  font-size: 16px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.hs-m .lb-table td:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
}
.hs-m .lb-table .mode-badge {
  display: inline-block;
  font-size: 10px;
  letter-spacing: 0.4px;
  padding: 1px 6px;
  border: 1px solid;
  text-transform: uppercase;
}
.hs-m .lb-table td.td-score:nth-child(4) {
  grid-column: 3;
  grid-row: 1;
  text-align: right !important;
  font-size: 15px;
  font-weight: 700;
}
.hs-m .lb-table td.td-score:nth-child(5) {
  grid-column: 3;
  grid-row: 2;
  text-align: right !important;
  font-size: 12px;
  font-weight: 500;
  color: var(--rf-ash);
}
.hs-m .lb-table tr:has(td[colspan]) {
  display: block;
  padding: 18px 10px;
}
.hs-m .lb-table td[colspan] {
  display: block;
  width: 100%;
  padding: 8px 0 !important;
  text-align: center !important;
}
.hs-m .lb-pager {
  flex-wrap: wrap;
  gap: 10px;
  padding: 16px 0 0;
}
.hs-m .pg-btn {
  min-height: 44px;
  padding: 10px 16px;
}
.hs-m .pg-info {
  width: 100%;
  text-align: center;
  order: -1;
  font-size: 13px;
  color: var(--rf-ash);
}

/* ── Store: 1-up cards, sticky nav + cart/wallet dock ── */
.shop-m {
  padding: 20px 0 88px;
  max-width: 720px;
}
.shop-m .rf-wiki-m-head {
  padding: 0 16px 0 36px;
}
.shop-m #shop-nav,
.shop-m .policy-banner {
  top: var(--rf-nav);
  z-index: 5;
}
.shop-m .shop-nav-inner {
  padding: 0 16px;
  height: 48px;
}
.shop-m .snav-btn {
  min-height: 36px;
  font-size: 13px;
}
.shop-m #wallet-bar .wrap {
  flex-direction: column;
  align-items: flex-start;
  padding: 0 16px;
}
.shop-m .policy-banner {
  margin: 0 16px 12px 36px;
  padding: 10px 12px;
  flex-wrap: wrap;
}
.shop-m .policy-banner-icon:last-child { display: none; }
.shop-m .policy-banner-text { font-size: 13px; line-height: 1.45; }
.shop-m #most-popular { padding: 24px 0 12px !important; }
.shop-m .popular-grid {
  grid-template-columns: 1fr !important;
  max-width: none !important;
  margin: 16px 0 0 !important;
  gap: 12px !important;
}
.shop-m #most-popular .btn-blood {
  min-height: 44px;
  width: 100%;
}
.shop-m .shop-section { padding: 28px 0; }
.shop-m .wrap {
  max-width: none;
  padding: 0 16px 0 36px;
}
.shop-m .sec-title { font-size: 26px; }
.shop-m .item-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.shop-m .item-grid .item-card,
.shop-m .special-deals-grid .item-card {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}
.shop-m .item-card:hover { transform: none; }
.shop-m .qty-btn {
  width: 44px;
  height: 44px;
  font-size: 18px;
}
.shop-m .card-buy-btn,
.shop-m .card-wallet-btn {
  min-height: 44px;
  font-size: 14px;
}
.shop-m-dock {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 30;
  display: flex;
  gap: 8px;
  padding: 10px 16px calc(12px + env(safe-area-inset-bottom));
  background: linear-gradient(to top, rgba(8, 6, 13, 0.98) 72%, transparent);
}
.shop-m-dock a {
  flex: 1;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--rf-line);
  border-radius: 8px;
  background: rgba(192, 132, 255, 0.12);
  color: var(--rf-bone);
  font-family: var(--rf-display);
  font-size: 15px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
}

/* ── Cart: line items as cards, sticky pay ── */
html[data-device="mobile"] .cart-wrap {
  max-width: none;
  padding: 20px 16px 48px 36px;
}
html[data-device="mobile"] .cart-wrap:has(.cart-footer) {
  padding-bottom: 180px;
}
html[data-device="mobile"] .cart-hero { margin-bottom: 18px; text-align: left; }
html[data-device="mobile"] .cart-hero h1 { font-size: 28px; }
html[data-device="mobile"] .cart-hero p { font-size: 15px; }
html[data-device="mobile"] .cart-empty-state { padding: 48px 12px; }
html[data-device="mobile"] .cart-table thead { display: none; }
html[data-device="mobile"] .cart-table,
html[data-device="mobile"] .cart-table tbody {
  display: block;
  width: 100%;
}
html[data-device="mobile"] .cart-table tbody tr {
  display: grid;
  grid-template-columns: 1fr auto auto;
  grid-template-areas:
    "name name remove"
    "price qty sub";
  gap: 8px 12px;
  align-items: center;
  margin: 0 0 8px;
  padding: 14px 12px;
  background: var(--rf-basalt);
  border: 1px solid var(--rf-line);
}
html[data-device="mobile"] .cart-table td {
  padding: 0;
  border: none;
  font-size: 15px;
}
html[data-device="mobile"] .cart-table td:nth-child(1) { grid-area: name; }
html[data-device="mobile"] .cart-table td:nth-child(2) { grid-area: price; }
html[data-device="mobile"] .cart-table td:nth-child(3) { grid-area: qty; }
html[data-device="mobile"] .cart-table td:nth-child(4) {
  grid-area: sub;
  text-align: right;
  font-weight: 700;
}
html[data-device="mobile"] .cart-table td:nth-child(5) { grid-area: remove; }
html[data-device="mobile"] .cart-qty {
  width: 56px;
  min-height: 44px;
  font-size: 16px;
  background: var(--rf-void);
  color: var(--rf-bone);
  border: 1px solid var(--rf-line);
}
html[data-device="mobile"] .cart-remove {
  min-width: 44px;
  min-height: 44px;
  font-size: 22px;
}
html[data-device="mobile"] .cart-promo {
  flex-direction: column;
  align-items: stretch;
}
html[data-device="mobile"] .cart-promo-input,
html[data-device="mobile"] .cart-promo-btn {
  min-height: 44px;
  width: 100%;
}
html[data-device="mobile"] .cart-upsell > div {
  grid-template-columns: 1fr !important;
}
html[data-device="mobile"] .cart-footer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 30;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  margin: 0;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  background: rgba(8, 6, 13, 0.96);
  border-top: 1px solid var(--rf-line);
}
html[data-device="mobile"] .cart-total { font-size: 18px; }
html[data-device="mobile"] .cart-actions {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 8px !important;
}
html[data-device="mobile"] .cart-btn {
  width: 100%;
  min-height: 44px;
  text-align: center;
  box-sizing: border-box;
}

/* ── Wallet: short form, not a dashboard ── */
html[data-device="mobile"] .wallet-hero {
  padding: 24px 16px 28px 36px;
  text-align: left;
}
html[data-device="mobile"] .wallet-hero .wrap { text-align: left !important; padding: 0; }
html[data-device="mobile"] .wallet-hero h1 { font-size: 28px; }
html[data-device="mobile"] .wallet-balance-badge {
  padding: 14px 18px;
  margin-top: 16px;
}
html[data-device="mobile"] .wallet-balance-badge .wbal-amount { font-size: 28px; }
html[data-device="mobile"] .wallet-wrap {
  max-width: none;
  padding: 20px 16px 48px 36px;
}
html[data-device="mobile"] .topup-panel { padding: 18px 16px; }
html[data-device="mobile"] .topup-preset { min-height: 44px; }
html[data-device="mobile"] .topup-custom-row {
  flex-direction: column;
  align-items: stretch;
}
html[data-device="mobile"] .topup-custom-row input[type="number"] {
  width: 100%;
  min-height: 44px;
  font-size: 16px;
}
html[data-device="mobile"] .topup-custom-row .btn-blood,
html[data-device="mobile"] .topup-custom-row .btn-coming-soon {
  width: 100%;
  min-height: 44px;
}
html[data-device="mobile"] .tx-table thead { display: none; }
html[data-device="mobile"] .tx-table,
html[data-device="mobile"] .tx-table tbody {
  display: block;
  width: 100%;
}
html[data-device="mobile"] .tx-table tbody tr {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 12px;
  margin: 0 0 8px;
  padding: 12px;
  background: var(--rf-basalt);
  border: 1px solid var(--rf-line);
  border-bottom: 1px solid var(--rf-line);
}
html[data-device="mobile"] .tx-table tbody td {
  padding: 0;
  font-size: 13px;
}
html[data-device="mobile"] .tx-table td:nth-child(1) { grid-column: 1; grid-row: 1; white-space: normal !important; }
html[data-device="mobile"] .tx-table td:nth-child(2) { grid-column: 1; grid-row: 2; }
html[data-device="mobile"] .tx-table td:nth-child(3) { grid-column: 1 / -1; grid-row: 3; }
html[data-device="mobile"] .tx-table td:nth-child(4) {
  grid-column: 2;
  grid-row: 1;
  text-align: right !important;
  font-size: 16px;
}
html[data-device="mobile"] .tx-table td:nth-child(5) {
  grid-column: 2;
  grid-row: 2;
  text-align: right !important;
}

/* ── Bitcoin pay: stack QR, copy, status ── */
html[data-device="mobile"] .btc-wrap {
  max-width: none;
  padding: 24px 16px 48px 36px;
}
html[data-device="mobile"] .btc-wrap h1 { font-size: 26px; text-align: left; }
html[data-device="mobile"] .btc-sub { text-align: left; }
html[data-device="mobile"] .btc-value {
  flex-direction: column;
  align-items: stretch;
}
html[data-device="mobile"] .btc-copy {
  width: 100%;
  min-height: 44px;
}
html[data-device="mobile"] .btc-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
html[data-device="mobile"] .btc-link {
  display: block;
  margin: 0;
  min-height: 44px;
  line-height: 44px;
}

/* ── Hiscore lookup / compare: header + skill list ── */
html[data-device="mobile"] .content-section {
  max-width: none;
  padding: 0;
}
html[data-device="mobile"] .content-wrapper {
  max-width: none;
  padding: 20px 16px 48px 36px;
}
html[data-device="mobile"] .player-header {
  flex-direction: column;
  align-items: flex-start;
  margin: 16px 0 20px;
}
html[data-device="mobile"] .player-name { font-size: 26px; }
html[data-device="mobile"] .stats-grid {
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
}
html[data-device="mobile"] .stat-card { padding: 10px 8px; }
html[data-device="mobile"] .stat-number { font-size: 18px; }
html[data-device="mobile"] .skill-row {
  grid-template-columns: 28px 1fr auto;
  grid-template-rows: auto auto;
  gap: 2px 10px;
}
html[data-device="mobile"] .skill-row .skill-icon { grid-row: 1 / 3; }
html[data-device="mobile"] .skill-row .skill-name { grid-column: 2; grid-row: 1; }
html[data-device="mobile"] .skill-row .skill-level { grid-column: 3; grid-row: 1; }
html[data-device="mobile"] .skill-row .skill-xp {
  grid-column: 2 / 4;
  grid-row: 2;
  font-size: 12px;
  color: var(--rf-ash);
}
html[data-device="mobile"] .compare-grid { grid-template-columns: 1fr !important; }
html[data-device="mobile"] .hs-compare-row {
  grid-template-columns: 1fr;
  text-align: center;
  gap: 6px;
}
html[data-device="mobile"] .hs-form-row {
  display: flex;
  flex-direction: column;
}
html[data-device="mobile"] .rf-page-narrow {
  padding: 24px 16px 48px 36px;
}

/* ── Account: summary + one section at a time ── */
.acct-m { padding: 20px 0 48px; max-width: 720px; }
.acct-m .rf-wiki-m-head { padding: 0 16px 0 36px; }
.acct-m .acct-hero { display: none; }
.acct-m .acct-wrap {
  max-width: none;
  padding: 0 16px 0 36px;
}
.acct-m .acct-profile {
  text-align: left;
  padding: 18px 16px;
  margin-bottom: 12px;
}
.acct-m .acct-profile-name { font-size: 28px; }
.acct-m .acct-profile-meta { justify-content: flex-start; gap: 12px; }
.acct-m .acct-card { padding: 12px 14px; margin-bottom: 10px; }
.acct-m .acct-input {
  min-height: 44px;
  font-size: 16px;
}
.acct-m .acct-btn,
.acct-m .acct-btn-sm {
  width: 100%;
  min-height: 44px;
}
.acct-m .acct-logout a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
}
.acct-m .acct-purchases-table thead { display: none; }
.acct-m .acct-purchases-table,
.acct-m .acct-purchases-table tbody { display: block; width: 100%; }
.acct-m .acct-purchases-table tbody tr {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 12px;
  margin: 0 0 8px;
  padding: 10px 0;
  border-bottom: 1px solid var(--rf-line);
}
.acct-m .acct-purchases-table td {
  display: block;
  width: auto !important;
  padding: 0;
  white-space: normal !important;
  overflow: visible;
  text-overflow: unset;
}
.acct-m .acct-purchases-table td:nth-child(1) { grid-column: 1; grid-row: 1; }
.acct-m .acct-purchases-table td:nth-child(2) { grid-column: 1; grid-row: 2; font-weight: 600; }
.acct-m .acct-purchases-table td:nth-child(3) { grid-column: 2; grid-row: 1; text-align: right !important; }
.acct-m .acct-purchases-table td:nth-child(4) { grid-column: 2; grid-row: 2; text-align: right !important; }

/* ── News feed + article ── */
.news-m.rf-page-narrow {
  padding: 20px 16px 48px 36px;
  max-width: none !important;
}
.news-m .rf-wiki-m-head { padding: 0; margin-bottom: 8px; }
.news-m .rf-news-list a {
  display: block;
  padding: 16px 0;
  min-height: 56px;
}
.news-m .rf-news-list h2 { font-size: 22px; }
.article-m.rf-prose {
  max-width: none;
  padding: 20px 16px 48px 36px;
}
.article-m .rf-prose h1,
.article-m h1 { font-size: 28px; }
.article-m .rf-article-body { font-size: 16px; }
.article-m .rf-article-body img { height: auto; }

/* ── Auth forms: 44px targets ── */
html[data-device="mobile"] .rf-input,
html[data-device="mobile"] .rf-form input[type="text"],
html[data-device="mobile"] .rf-form input[type="email"],
html[data-device="mobile"] .rf-form input[type="password"] {
  height: 44px;
  font-size: 16px;
}
html[data-device="mobile"] .rf-pw button { height: 44px; min-width: 44px; }
html[data-device="mobile"] .rf-btn { min-height: 44px; }

/* ── Market: search + list rows ── */
.ge-m .ge-wrap {
  max-width: none;
  padding: 20px 16px 48px 36px;
}
.ge-m .ge-hero { text-align: left; margin-bottom: 14px; }
.ge-m .ge-hero h1 { font-size: 28px; }
.ge-m .ge-hero p { margin: 0; }
.ge-m .ge-note { margin-bottom: 16px; padding: 12px; }
.ge-m .ge-toolbar {
  position: sticky;
  top: var(--rf-nav);
  z-index: 6;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  margin: 0 -16px 16px;
  padding: 8px 16px 12px;
  background: rgba(8, 6, 13, 0.96);
  border-bottom: 1px solid var(--rf-line);
}
.ge-m .ge-tabs { flex-wrap: nowrap; overflow-x: auto; }
.ge-m .ge-tab {
  flex-shrink: 0;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
}
.ge-m .ge-search input,
.ge-m .ge-search button {
  min-height: 44px;
}
.ge-m .ge-layout { grid-template-columns: 1fr; gap: 20px; }
.ge-m .ge-grid { grid-template-columns: 1fr; gap: 8px; }
.ge-m .ge-card:hover { transform: none; }
.ge-m .ge-pager a,
.ge-m .ge-pager span { min-height: 44px; display: inline-flex; align-items: center; }

/* ── Market item: sheet, not two tables ── */
.gi-m .gi-wrap {
  max-width: none;
  padding: 20px 16px 48px 36px;
}
.gi-m .gi-head h1 { font-size: 26px; }
.gi-m .gi-stats { grid-template-columns: 1fr; }
.gi-m .gi-cols { grid-template-columns: 1fr; }
.gi-m .gi-tbl thead { display: none; }
.gi-m .gi-tbl,
.gi-m .gi-tbl tbody { display: block; width: 100%; }
.gi-m .gi-col .gi-tbl tbody tr {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--rf-line);
}
.gi-m .gi-col .gi-tbl td { padding: 0; border: none; }
.gi-m .gi-col .gi-tbl td:nth-child(1) { grid-column: 1; grid-row: 1; }
.gi-m .gi-col .gi-tbl td:nth-child(2) { grid-column: 2; grid-row: 1; }
.gi-m .gi-col .gi-tbl td:nth-child(3) { grid-column: 1; grid-row: 2; }
.gi-m .gi-col .gi-tbl td:nth-child(4) { grid-column: 2; grid-row: 2; }
.gi-m .gi-history .gi-tbl tbody tr {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--rf-line);
}
.gi-m .gi-history .gi-tbl td { padding: 0; border: none; }
.gi-m .gi-history .gi-tbl td:nth-child(1) { grid-column: 1; grid-row: 1; }
.gi-m .gi-history .gi-tbl td:nth-child(2) { grid-column: 2; grid-row: 1; text-align: right; }
.gi-m .gi-history .gi-tbl td:nth-child(3) { grid-column: 1; grid-row: 2; }
.gi-m .gi-history .gi-tbl td:nth-child(4) { grid-column: 2; grid-row: 2; text-align: right; }
.gi-m .gi-history .gi-tbl td:nth-child(5) { grid-column: 1; grid-row: 3; }
.gi-m .gi-history .gi-tbl td:nth-child(6) { grid-column: 2; grid-row: 3; text-align: right; }

/* ── Bestiary: sticky search, one-column drops ── */
.bst-m .bst-wrap {
  max-width: none;
  padding: 20px 16px 48px 36px;
}
.bst-m .bst-hero { text-align: left; }
.bst-m .bst-hero h1 { font-size: 28px; }
.bst-m .bst-lead { text-align: left; }
.bst-m .bst-toolbar {
  top: var(--rf-nav);
  margin: 0 -16px 12px;
  padding: 8px 16px 12px;
}
.bst-m .bst-search input,
.bst-m .bst-search .clr {
  min-height: 44px;
}
.bst-m .bst-chips {
  flex-wrap: nowrap;
  justify-content: flex-start;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.bst-m .bst-chip { flex-shrink: 0; min-height: 36px; }
.bst-m .bst-drops,
.bst-m .bst-calc .grid { grid-template-columns: 1fr; }
.bst-m .bst-calc > summary { min-height: 48px; }

/* ── Legal prose: readable type, no extra chrome ── */
.legal-m .rf-prose {
  max-width: none;
  padding: 24px 16px 48px 36px;
}
.legal-m h1 { font-size: 28px; }
.legal-m .rf-prose p,
.legal-m .rf-prose li {
  font-size: 16px;
  line-height: 1.65;
}

/* ── Unsubscribe ── */
.unsub-m .rf-page-narrow {
  max-width: none !important;
  padding: 24px 16px 48px 36px !important;
  margin: 0 !important;
}
.unsub-m .rf-btn {
  width: 100%;
  min-height: 44px;
  margin-top: 8px;
}

/* ── Support FAQ + Community (views exist; routes currently redirect to Discord) ── */
.support-m .rf-page-narrow,
.comm-m .rf-page-narrow {
  max-width: none !important;
  padding: 24px 16px 48px 36px;
}
.support-m .rf-faq-q {
  min-height: 48px;
  font-size: 20px;
  padding: 14px 0;
}
.support-m .rf-btn,
.comm-m .rf-btn {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
}
.comm-m p[style] {
  align-items: stretch !important;
}

/* ── Customs: 1-up cards, thumb-sized form ── */
.cx-m .cx-wrap {
  max-width: none;
  padding: 20px 16px 48px 36px;
}
.cx-m .cx-hero { text-align: left; }
.cx-m .cx-hero h1 { font-size: 32px; }
.cx-m .cx-hero p { margin-left: 0; }
.cx-m .cx-section-h { text-align: left; margin: 28px 0 14px; font-size: 22px; }
.cx-m .cx-grid { grid-template-columns: 1fr; }
.cx-m .cx-card:hover { transform: none; }
.cx-m .cx-form-wrap { padding: 18px 16px; }
.cx-m .cx-form input[type=text],
.cx-m .cx-form select,
.cx-m .cx-form textarea {
  min-height: 44px;
  font-size: 16px;
}
.cx-m .cx-form textarea { min-height: 140px; }
.cx-m .cx-submit { min-height: 48px; }

/* ── Tower Defense: link out, full-width Play ── */
.td-m .rf-page-narrow {
  padding: 24px 16px 48px 36px;
}
.td-m .rf-btn {
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
}
.td-m p[style] {
  flex-direction: column;
  align-items: stretch !important;
}
