/* ==========================================================================
   7000-bet.cyou - native surface stylesheet
   File    : css/native-92d9dc-surface.css
   Prefix  : mobile9dcbe-  (all classes and custom properties)
   Canvas  : 320-430px mobile-first, centered phone shell on wide screens
   Palette : #0A0A0A (bg) | #FFB347 (amber) | #FFCCCB (blush) | #999999 (mute)
   Feel    : near-square tool corners, outlined tile cards, compact
             metric rhythm, sliding focus indicators, dual CTA groups
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Tokens
   -------------------------------------------------------------------------- */
:root {
  --mobile9dcbe-bg: #0A0A0A;
  --mobile9dcbe-panel: #12100b;
  --mobile9dcbe-panel2: #17140e;
  --mobile9dcbe-line: #2b251a;
  --mobile9dcbe-line2: #3d3524;
  --mobile9dcbe-amber: #FFB347;
  --mobile9dcbe-amberdim: #b9872f;
  --mobile9dcbe-blush: #FFCCCB;
  --mobile9dcbe-mute: #999999;
  --mobile9dcbe-ink: #f4efe4;
  --mobile9dcbe-inkdim: #cfc7b8;
  --mobile9dcbe-dark: #040302;
  --mobile9dcbe-r: 3px;
  --mobile9dcbe-r-lg: 4px;
  --mobile9dcbe-topbar: 58px;
  --mobile9dcbe-dock: 62px;
  --mobile9dcbe-gap: 12px;
  --mobile9dcbe-fx: 'Chakra Petch', 'Noto Sans Bengali', system-ui, sans-serif;
  --mobile9dcbe-fb: 'Noto Sans Bengali', 'Segoe UI', system-ui, sans-serif;
}

/* --------------------------------------------------------------------------
   2. Base
   -------------------------------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--mobile9dcbe-dark);
  color: var(--mobile9dcbe-ink);
  font-family: var(--mobile9dcbe-fb);
  font-size: 15px;
  line-height: 1.65;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  display: block;
}

h1, h2, h3 {
  font-family: var(--mobile9dcbe-fx);
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 8px;
  color: var(--mobile9dcbe-ink);
}

p {
  margin: 0 0 10px;
}

a {
  color: var(--mobile9dcbe-blush);
  text-decoration: none;
  transition: color .18s ease;
}

a:hover {
  color: var(--mobile9dcbe-amber);
}

button {
  font-family: inherit;
  color: inherit;
}

:focus-visible {
  outline: 2px solid var(--mobile9dcbe-amber);
  outline-offset: 2px;
  border-radius: 2px;
}

::selection {
  background: var(--mobile9dcbe-amber);
  color: #1a1206;
}

/* Centered phone shell: 320-430px canvas, kept on wide screens */
.mobile9dcbe-shell {
  position: relative;
  width: 100%;
  max-width: 430px;
  margin-inline: auto;
  background: var(--mobile9dcbe-bg);
  min-height: 100vh;
  min-height: 100dvh;
  overflow-x: clip;
  box-shadow: 0 0 42px rgba(0, 0, 0, .9);
}

@media (min-width: 431px) {
  .mobile9dcbe-shell {
    border-inline: 1px solid #1e1a12;
  }
}

/* Screen-reader helper */
.mobile9dcbe-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* --------------------------------------------------------------------------
   3. Top bar (compact brand rack + action zone)
   -------------------------------------------------------------------------- */
.mobile9dcbe-topwrap {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 60;
  display: flex;
  justify-content: center;
  background: rgba(10, 10, 10, .94);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.mobile9dcbe-topbar {
  width: 100%;
  max-width: 430px;
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: var(--mobile9dcbe-topbar);
  padding: 7px 10px;
  border-bottom: 1px solid var(--mobile9dcbe-line);
}

/* Brand area: real logo image + site name only */
.mobile9dcbe-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 2px 4px 2px 0;
  color: var(--mobile9dcbe-ink);
}

.mobile9dcbe-brand:hover {
  color: var(--mobile9dcbe-ink);
}

.mobile9dcbe-logo {
  width: 34px;
  height: 34px;
  object-fit: contain;
  border: 1px solid var(--mobile9dcbe-line2);
  border-radius: var(--mobile9dcbe-r);
  background: #0d0c09;
  flex: none;
}

.mobile9dcbe-brandname {
  font-family: var(--mobile9dcbe-fx);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .04em;
  white-space: nowrap;
}

.mobile9dcbe-brandname em {
  font-style: normal;
  color: var(--mobile9dcbe-amber);
}

/* Action zone: compact dual button group + menu toggle */
.mobile9dcbe-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
}

.mobile9dcbe-join {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 13px;
  border-radius: var(--mobile9dcbe-r);
  font-family: var(--mobile9dcbe-fx);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1;
  cursor: pointer;
  border: 1px solid transparent;
  transition: transform .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease;
}

.mobile9dcbe-join--solid {
  background: var(--mobile9dcbe-amber);
  color: #201505;
}

.mobile9dcbe-join--solid:active {
  background: #ffc46a;
  transform: translateY(1px);
}

.mobile9dcbe-join--ghost {
  background: transparent;
  border-color: var(--mobile9dcbe-line2);
  color: var(--mobile9dcbe-inkdim);
}

.mobile9dcbe-join--ghost:active {
  border-color: var(--mobile9dcbe-amber);
  color: var(--mobile9dcbe-amber);
  transform: translateY(1px);
}

/* Hamburger toggle that morphs into an X */
.mobile9dcbe-menubtn {
  width: 44px;
  height: 40px;
  flex: none;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  background: transparent;
  border: 1px solid var(--mobile9dcbe-line2);
  border-radius: var(--mobile9dcbe-r);
  cursor: pointer;
}

.mobile9dcbe-menubtn i {
  display: block;
  width: 17px;
  height: 2px;
  background: var(--mobile9dcbe-inkdim);
  border-radius: 1px;
  transition: transform .22s ease, opacity .18s ease, background-color .22s ease;
}

.mobile9dcbe-menubtn:hover i {
  background: var(--mobile9dcbe-amber);
}

.mobile9dcbe-menubtn.is-open i:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
  background: var(--mobile9dcbe-amber);
}

.mobile9dcbe-menubtn.is-open i:nth-child(2) {
  opacity: 0;
}

.mobile9dcbe-menubtn.is-open i:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
  background: var(--mobile9dcbe-amber);
}

/* --------------------------------------------------------------------------
   4. Expandable nav drawer (part of the fixed top block)
   -------------------------------------------------------------------------- */
.mobile9dcbe-drawer {
  width: 100%;
  max-width: 430px;
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .3s ease;
  border-bottom: 1px solid transparent;
}

.mobile9dcbe-drawer.is-open {
  grid-template-rows: 1fr;
  border-bottom-color: var(--mobile9dcbe-line);
}

.mobile9dcbe-drawerclip {
  overflow: hidden;
  min-height: 0;
}

.mobile9dcbe-drawerbody {
  background: #0d0c08;
  padding: 10px 12px 14px;
  display: grid;
  gap: 12px;
  max-height: 62vh;
  overflow-y: auto;
}

.mobile9dcbe-dgroup {
  border: 1px solid var(--mobile9dcbe-line);
  border-radius: var(--mobile9dcbe-r);
  padding: 8px 9px 9px;
}

.mobile9dcbe-dlabel {
  display: block;
  font-family: var(--mobile9dcbe-fx);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--mobile9dcbe-amberdim);
  margin: 0 0 6px;
}

.mobile9dcbe-dlinks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

.mobile9dcbe-dlinks--one {
  grid-template-columns: 1fr;
}

.mobile9dcbe-dlink {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 10px 8px 12px;
  border: 1px solid var(--mobile9dcbe-line);
  border-radius: var(--mobile9dcbe-r);
  background: #100e0a;
  color: var(--mobile9dcbe-inkdim);
  font-size: 13px;
  line-height: 1.3;
  transition: border-color .18s ease, color .18s ease;
}

.mobile9dcbe-dlink::before {
  content: "";
  position: absolute;
  left: 0;
  top: 22%;
  bottom: 22%;
  width: 2px;
  background: var(--mobile9dcbe-amber);
  border-radius: 1px;
  transform: scaleY(0);
  transition: transform .22s ease;
}

.mobile9dcbe-dlink:hover {
  color: var(--mobile9dcbe-amber);
  border-color: var(--mobile9dcbe-line2);
}

.mobile9dcbe-dlink.is-on {
  color: var(--mobile9dcbe-amber);
  border-color: var(--mobile9dcbe-line2);
}

.mobile9dcbe-dlink.is-on::before {
  transform: scaleY(1);
}

/* --------------------------------------------------------------------------
   5. Main column
   -------------------------------------------------------------------------- */
.mobile9dcbe-main {
  padding: calc(var(--mobile9dcbe-topbar) + 12px) var(--mobile9dcbe-gap) calc(var(--mobile9dcbe-dock) + 34px);
  display: grid;
  gap: 22px;
}

.mobile9dcbe-sec {
  display: grid;
  gap: 10px;
}

/* --------------------------------------------------------------------------
   6. Promo carousel (3 real banners, sliding focus)
   -------------------------------------------------------------------------- */
.mobile9dcbe-hero {
  position: relative;
}

.mobile9dcbe-viewport {
  border: 1px solid var(--mobile9dcbe-line);
  border-radius: var(--mobile9dcbe-r-lg);
  overflow: hidden;
  background: #0e0d09;
}

.mobile9dcbe-track {
  display: flex;
  transition: transform .42s cubic-bezier(.22, .61, .36, 1);
  will-change: transform;
}

.mobile9dcbe-slide {
  position: relative;
  flex: 0 0 100%;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  border: 0;
  background: #0e0d09;
  cursor: pointer;
  text-align: left;
  -webkit-tap-highlight-color: rgba(255, 179, 71, .14);
}

.mobile9dcbe-slide img {
  width: 100%;
  aspect-ratio: 9 / 5;
  object-fit: cover;
}

.mobile9dcbe-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4, 3, 2, 0) 42%, rgba(4, 3, 2, .88) 100%);
  pointer-events: none;
}

.mobile9dcbe-slidecap {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 10px;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  pointer-events: none;
}

.mobile9dcbe-slidecap strong {
  display: block;
  font-family: var(--mobile9dcbe-fx);
  font-size: 15px;
  font-weight: 700;
  color: var(--mobile9dcbe-amber);
  line-height: 1.3;
}

.mobile9dcbe-slidecap small {
  display: block;
  margin-top: 2px;
  font-size: 11.5px;
  color: var(--mobile9dcbe-inkdim);
  line-height: 1.4;
}

.mobile9dcbe-slidekick {
  flex: none;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid var(--mobile9dcbe-amber);
  border-radius: var(--mobile9dcbe-r);
  color: var(--mobile9dcbe-amber);
  font-family: var(--mobile9dcbe-fx);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  background: rgba(10, 10, 10, .55);
}

.mobile9dcbe-slide:active .mobile9dcbe-slidekick {
  background: var(--mobile9dcbe-amber);
  color: #201505;
}

/* Dots: the active marker stretches like a sliding indicator */
.mobile9dcbe-dots {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin-top: 8px;
}

.mobile9dcbe-dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 1px solid var(--mobile9dcbe-line2);
  border-radius: 2px;
  background: #14120c;
  cursor: pointer;
  transition: width .26s ease, background-color .26s ease, border-color .26s ease;
}

.mobile9dcbe-dot.is-on {
  width: 26px;
  background: var(--mobile9dcbe-amber);
  border-color: var(--mobile9dcbe-amber);
}

/* --------------------------------------------------------------------------
   7. Quick metric strip
   -------------------------------------------------------------------------- */
.mobile9dcbe-quick {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.mobile9dcbe-qcell {
  border: 1px solid var(--mobile9dcbe-line);
  border-radius: var(--mobile9dcbe-r);
  background: var(--mobile9dcbe-panel);
  padding: 8px 4px 7px;
  text-align: center;
}

.mobile9dcbe-qnum {
  display: block;
  font-family: var(--mobile9dcbe-fx);
  font-size: 16px;
  font-weight: 700;
  color: var(--mobile9dcbe-amber);
  line-height: 1.15;
}

.mobile9dcbe-qlbl {
  display: block;
  margin-top: 3px;
  font-size: 10px;
  color: var(--mobile9dcbe-mute);
  line-height: 1.3;
}

@media (max-width: 359px) {
  .mobile9dcbe-quick {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* --------------------------------------------------------------------------
   8. Intro / H1 block
   -------------------------------------------------------------------------- */
.mobile9dcbe-intro {
  border-left: 2px solid var(--mobile9dcbe-amber);
  padding: 2px 0 2px 12px;
}

.mobile9dcbe-intro h1 {
  font-size: 21px;
  letter-spacing: .01em;
}

@media (min-width: 375px) {
  .mobile9dcbe-intro h1 {
    font-size: 23px;
  }
}

.mobile9dcbe-lede {
  color: var(--mobile9dcbe-inkdim);
  font-size: 14px;
}

.mobile9dcbe-lede b {
  color: var(--mobile9dcbe-blush);
  font-weight: 600;
}

/* Dual CTA group (compact pair) */
.mobile9dcbe-duo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.mobile9dcbe-duobtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 46px;
  border-radius: var(--mobile9dcbe-r);
  font-family: var(--mobile9dcbe-fx);
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: .04em;
  cursor: pointer;
  border: 1px solid transparent;
  transition: transform .16s ease, background-color .16s ease, border-color .16s ease;
}

.mobile9dcbe-duobtn--amber {
  background: var(--mobile9dcbe-amber);
  color: #201505;
}

.mobile9dcbe-duobtn--amber:active {
  background: #ffc46a;
  transform: translateY(1px);
}

.mobile9dcbe-duobtn--line {
  background: transparent;
  border-color: var(--mobile9dcbe-line2);
  color: var(--mobile9dcbe-ink);
}

.mobile9dcbe-duobtn--line:active {
  border-color: var(--mobile9dcbe-amber);
  color: var(--mobile9dcbe-amber);
  transform: translateY(1px);
}

/* --------------------------------------------------------------------------
   9. Game category sections + outlined tile grid
   -------------------------------------------------------------------------- */
.mobile9dcbe-cat {
  display: grid;
  gap: 9px;
}

.mobile9dcbe-cathead {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid var(--mobile9dcbe-line);
  padding-bottom: 6px;
}

.mobile9dcbe-cathead h2 {
  font-size: 15.5px;
  margin: 0;
  letter-spacing: .01em;
}

.mobile9dcbe-catchip {
  flex: none;
  font-family: var(--mobile9dcbe-fx);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .08em;
  color: var(--mobile9dcbe-blush);
  border: 1px solid var(--mobile9dcbe-line2);
  border-radius: 2px;
  padding: 2px 7px;
  white-space: nowrap;
}

.mobile9dcbe-catblurb {
  margin: 0;
  font-size: 12.5px;
  color: var(--mobile9dcbe-mute);
  line-height: 1.55;
}

.mobile9dcbe-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 7px;
}

@media (min-width: 375px) {
  .mobile9dcbe-grid {
    gap: 10px 8px;
  }
}

@media (min-width: 430px) {
  .mobile9dcbe-grid {
    gap: 12px 10px;
  }
}

/* Outlined tile card: icon + Bengali name only */
.mobile9dcbe-tile {
  appearance: none;
  -webkit-tap-highlight-color: rgba(255, 179, 71, .12);
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 5px 5px 7px;
  background: var(--mobile9dcbe-panel);
  border: 1px solid var(--mobile9dcbe-line);
  border-radius: var(--mobile9dcbe-r);
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease;
}

.mobile9dcbe-tile:active {
  border-color: var(--mobile9dcbe-amber);
  background: var(--mobile9dcbe-panel2);
}

.mobile9dcbe-tile img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 2px;
  background: #0c0b08;
}

.mobile9dcbe-tilename {
  font-size: 11px;
  line-height: 1.3;
  color: var(--mobile9dcbe-inkdim);
  text-align: center;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.6em;
}

.mobile9dcbe-tile:active .mobile9dcbe-tilename {
  color: var(--mobile9dcbe-amber);
}

/* --------------------------------------------------------------------------
   10. Content modules (varied rhythm per module)
   -------------------------------------------------------------------------- */
.mobile9dcbe-mod h2 {
  font-size: 15.5px;
  margin: 0;
}

.mobile9dcbe-mod > p {
  font-size: 13.5px;
  color: var(--mobile9dcbe-inkdim);
}

/* 10a. Metric-explanation rows (payment conditions) */
.mobile9dcbe-payrows {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mobile9dcbe-payrow {
  display: grid;
  grid-template-columns: minmax(86px, auto) minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  border: 1px solid var(--mobile9dcbe-line);
  border-left: 2px solid var(--mobile9dcbe-amberdim);
  border-radius: var(--mobile9dcbe-r);
  background: var(--mobile9dcbe-panel);
  padding: 9px 10px;
}

.mobile9dcbe-paykey {
  font-family: var(--mobile9dcbe-fx);
  font-size: 12px;
  font-weight: 700;
  color: var(--mobile9dcbe-amber);
  line-height: 1.4;
}

.mobile9dcbe-paytxt {
  font-size: 12.5px;
  color: var(--mobile9dcbe-inkdim);
  line-height: 1.55;
}

/* 10b. Compare cards (play styles) */
.mobile9dcbe-stylegrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

@media (max-width: 359px) {
  .mobile9dcbe-stylegrid {
    grid-template-columns: 1fr;
  }
}

.mobile9dcbe-stylecard {
  border: 1px solid var(--mobile9dcbe-line);
  border-top: 2px solid var(--mobile9dcbe-blush);
  border-radius: var(--mobile9dcbe-r);
  background: var(--mobile9dcbe-panel);
  padding: 10px;
  display: grid;
  gap: 6px;
  align-content: start;
}

.mobile9dcbe-stylecard h3 {
  font-size: 13px;
  margin: 0;
  color: var(--mobile9dcbe-blush);
}

.mobile9dcbe-stylecard p {
  margin: 0;
  font-size: 12px;
  color: var(--mobile9dcbe-inkdim);
  line-height: 1.55;
}

.mobile9dcbe-stylecard p b {
  color: var(--mobile9dcbe-amber);
  font-weight: 600;
}

/* 10c. FAQ accordion */
.mobile9dcbe-faq {
  display: grid;
  gap: 7px;
}

.mobile9dcbe-faq details {
  border: 1px solid var(--mobile9dcbe-line);
  border-radius: var(--mobile9dcbe-r);
  background: var(--mobile9dcbe-panel);
  overflow: hidden;
}

.mobile9dcbe-faq summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 46px;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--mobile9dcbe-ink);
  transition: color .18s ease;
}

.mobile9dcbe-faq summary::-webkit-details-marker {
  display: none;
}

.mobile9dcbe-faq summary::after {
  content: "+";
  flex: none;
  font-family: var(--mobile9dcbe-fx);
  font-size: 16px;
  font-weight: 700;
  color: var(--mobile9dcbe-amber);
  transition: transform .22s ease;
}

.mobile9dcbe-faq details[open] summary::after {
  transform: rotate(45deg);
}

.mobile9dcbe-faq details[open] summary {
  color: var(--mobile9dcbe-amber);
}

.mobile9dcbe-faq details p {
  margin: 0;
  padding: 0 12px 12px;
  font-size: 12.5px;
  color: var(--mobile9dcbe-inkdim);
  line-height: 1.6;
}

/* 10d. RTP callout */
.mobile9dcbe-rtpcall {
  border: 1px solid var(--mobile9dcbe-line2);
  border-radius: var(--mobile9dcbe-r);
  background: linear-gradient(135deg, #16120a 0%, #0e0c08 100%);
  padding: 12px;
  display: grid;
  gap: 4px;
}

.mobile9dcbe-rtpnum {
  font-family: var(--mobile9dcbe-fx);
  font-size: 26px;
  font-weight: 700;
  color: var(--mobile9dcbe-amber);
  line-height: 1.1;
}

.mobile9dcbe-rtplbl {
  font-size: 12px;
  color: var(--mobile9dcbe-mute);
}

.mobile9dcbe-keylist {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 7px;
}

.mobile9dcbe-keylist li {
  position: relative;
  padding-left: 16px;
  font-size: 12.5px;
  color: var(--mobile9dcbe-inkdim);
  line-height: 1.55;
}

.mobile9dcbe-keylist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .58em;
  width: 7px;
  height: 2px;
  background: var(--mobile9dcbe-amber);
}

/* 10e. Feature tiles */
.mobile9dcbe-featgrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

@media (max-width: 359px) {
  .mobile9dcbe-featgrid {
    grid-template-columns: 1fr;
  }
}

.mobile9dcbe-feat {
  border: 1px solid var(--mobile9dcbe-line);
  border-radius: var(--mobile9dcbe-r);
  background: var(--mobile9dcbe-panel);
  padding: 10px;
}

.mobile9dcbe-feat h3 {
  font-size: 12.5px;
  margin: 0 0 4px;
  color: var(--mobile9dcbe-amber);
}

.mobile9dcbe-feat p {
  margin: 0;
  font-size: 11.5px;
  color: var(--mobile9dcbe-mute);
  line-height: 1.5;
}

/* 10f. Numbered steps */
.mobile9dcbe-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: mobile9dcbestep;
  display: grid;
  gap: 7px;
}

.mobile9dcbe-steps li {
  counter-increment: mobile9dcbestep;
  position: relative;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  border: 1px solid var(--mobile9dcbe-line);
  border-radius: var(--mobile9dcbe-r);
  background: var(--mobile9dcbe-panel);
  padding: 9px 10px;
  font-size: 12.5px;
  color: var(--mobile9dcbe-inkdim);
  line-height: 1.55;
}

.mobile9dcbe-steps li::before {
  content: counter(mobile9dcbestep, decimal-leading-zero);
  font-family: var(--mobile9dcbe-fx);
  font-size: 13px;
  font-weight: 700;
  color: var(--mobile9dcbe-amber);
  border: 1px solid var(--mobile9dcbe-line2);
  border-radius: 2px;
  text-align: center;
  line-height: 24px;
}

/* --------------------------------------------------------------------------
   11. Extended homepage footer (shortcuts > brand > directory > disclaimer)
   -------------------------------------------------------------------------- */
.mobile9dcbe-ext {
  border: 1px solid var(--mobile9dcbe-line);
  border-radius: var(--mobile9dcbe-r-lg);
  background: var(--mobile9dcbe-panel);
  padding: 14px 12px;
  display: grid;
  gap: 14px;
}

.mobile9dcbe-ext h2 {
  font-size: 14.5px;
  margin: 0;
}

/* Horizontal shortcut chips */
.mobile9dcbe-promorow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

@media (max-width: 359px) {
  .mobile9dcbe-promorow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.mobile9dcbe-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 44px;
  padding: 0 4px;
  border-radius: var(--mobile9dcbe-r);
  border: 1px solid var(--mobile9dcbe-amberdim);
  background: #191408;
  color: var(--mobile9dcbe-amber);
  font-family: var(--mobile9dcbe-fx);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .03em;
  cursor: pointer;
  transition: background-color .16s ease, color .16s ease, transform .16s ease;
}

.mobile9dcbe-chip svg {
  width: 13px;
  height: 13px;
  flex: none;
}

.mobile9dcbe-chip:active {
  background: var(--mobile9dcbe-amber);
  color: #201505;
  transform: translateY(1px);
}

.mobile9dcbe-extbrand {
  margin: 0;
  font-size: 12.5px;
  color: var(--mobile9dcbe-inkdim);
  line-height: 1.6;
  border-left: 2px solid var(--mobile9dcbe-line2);
  padding-left: 10px;
}

/* Directory of real inner pages */
.mobile9dcbe-dir {
  display: grid;
  gap: 10px;
}

.mobile9dcbe-dirgroup {
  display: grid;
  gap: 5px;
}

.mobile9dcbe-dirlabel {
  font-family: var(--mobile9dcbe-fx);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--mobile9dcbe-amberdim);
}

.mobile9dcbe-dirlinks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

.mobile9dcbe-dirlink {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 4px 8px;
  border: 1px solid var(--mobile9dcbe-line);
  border-radius: var(--mobile9dcbe-r);
  background: #100e0a;
  color: var(--mobile9dcbe-inkdim);
  font-size: 12px;
  line-height: 1.3;
  transition: color .16s ease, border-color .16s ease;
}

.mobile9dcbe-dirlink:hover {
  color: var(--mobile9dcbe-amber);
  border-color: var(--mobile9dcbe-line2);
}

/* Responsible-entertainment note */
.mobile9dcbe-disc {
  margin: 0;
  border: 1px dashed var(--mobile9dcbe-line2);
  border-radius: var(--mobile9dcbe-r);
  padding: 9px 10px;
  font-size: 11px;
  color: var(--mobile9dcbe-mute);
  line-height: 1.55;
}

/* --------------------------------------------------------------------------
   12. Common footer (copyright only)
   -------------------------------------------------------------------------- */
.mobile9dcbe-foot {
  border-top: 1px solid var(--mobile9dcbe-line);
  padding: 12px 14px calc(var(--mobile9dcbe-dock) + 20px);
  text-align: center;
}

.mobile9dcbe-foot p {
  margin: 0;
  font-size: 11px;
  color: var(--mobile9dcbe-mute);
  letter-spacing: .02em;
}

/* --------------------------------------------------------------------------
   13. Mobile bottom dock (5 roles, compact icon rack)
   -------------------------------------------------------------------------- */
.mobile9dcbe-dockwrap {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 70;
  display: flex;
  justify-content: center;
  background: rgba(8, 8, 8, .96);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.mobile9dcbe-dock {
  width: 100%;
  max-width: 430px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  min-height: var(--mobile9dcbe-dock);
  padding: 5px 2px calc(5px + env(safe-area-inset-bottom, 0px));
}

.mobile9dcbe-dockbtn {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: 50px;
  padding: 2px 1px;
  background: transparent;
  border: 0;
  cursor: pointer;
  color: var(--mobile9dcbe-mute);
  -webkit-tap-highlight-color: transparent;
}

.mobile9dcbe-dockbtn svg {
  width: 22px;
  height: 22px;
  transition: transform .22s cubic-bezier(.34, 1.4, .44, 1), color .2s ease;
}

.mobile9dcbe-docklb {
  font-size: 9.5px;
  line-height: 1;
  letter-spacing: .01em;
  color: inherit;
  transition: color .2s ease;
}

/* Sliding underline marker for the current page */
.mobile9dcbe-dockbtn::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 1px;
  width: 0;
  height: 2px;
  border-radius: 1px;
  background: var(--mobile9dcbe-amber);
  transform: translateX(-50%);
  transition: width .26s ease;
}

.mobile9dcbe-dockbtn:hover {
  color: var(--mobile9dcbe-inkdim);
}

.mobile9dcbe-dockbtn:active svg {
  transform: translateY(-2px) scale(1.12);
}

.mobile9dcbe-dockbtn.is-on {
  color: var(--mobile9dcbe-amber);
}

.mobile9dcbe-dockbtn.is-on svg {
  transform: translateY(-1px);
  color: var(--mobile9dcbe-amber);
}

.mobile9dcbe-dockbtn.is-on::after {
  width: 22px;
}

/* Promo dock entries keep an amber hint even when inactive */
.mobile9dcbe-dockbtn--promo {
  color: var(--mobile9dcbe-blush);
}

/* --------------------------------------------------------------------------
   14. Motion budget: keep it to focus indicators, honor reduced motion
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }

  .mobile9dcbe-track {
    transition: none;
  }
}
