/* ==========================================================================
   xking app download - xkingappdownload.click
   Mobile-first lobby stylesheet (320-430px phone canvas)
   Visual system: graphite tech-noir, mono display + open body text,
   small radii / high density, light floating game cards, lede-led sections.
   All classes and variables carry the view7d58e- prefix.
   ========================================================================== */

:root{
  --view7d58e-ink:#262626;          /* page base (palette dark) */
  --view7d58e-pit:#1e1e1e;          /* deepest wells */
  --view7d58e-raise:#2c2c2c;        /* raised surface */
  --view7d58e-panel:#343434;        /* brighter panel */
  --view7d58e-edge:#3e3e3e;         /* hairline borders */
  --view7d58e-mist:#696969;         /* palette light - muted text/rules */
  --view7d58e-fog:#a8a8a8;          /* secondary text */
  --view7d58e-paper:#ececec;        /* primary text */
  --view7d58e-white:#f7f7f7;        /* CTA fill */
  --view7d58e-black:#1b1b1b;        /* CTA text on white */
  --view7d58e-font-tech:"Roboto Mono","SFMono-Regular",ui-monospace,Menlo,Consolas,"Liberation Mono",monospace;
  --view7d58e-font-open:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --view7d58e-r1:4px;               /* small radius - dense rhythm */
  --view7d58e-r2:6px;
  --view7d58e-canvas:430px;         /* phone canvas cap */
}

/* --------------------------------------------------------------------------
   Reset + page shell
   -------------------------------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; }

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

html,body{
  margin:0;
  padding:0;
  overflow-x:hidden;
}

body{
  background:#151515;                 /* desktop gutter around the canvas */
  color:var(--view7d58e-paper);
  font-family:var(--view7d58e-font-open);
  -webkit-tap-highlight-color:transparent;
}

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

button{ font-family:inherit; cursor:pointer; }

a{ color:inherit; }

::selection{ background:var(--view7d58e-paper); color:var(--view7d58e-ink); }

:focus-visible{
  outline:2px solid #d6d6d6;
  outline-offset:2px;
  border-radius:var(--view7d58e-r1);
}

/* phone canvas: stays centered and capped on wide screens */
.view7d58e-page{
  position:relative;
  max-width:var(--view7d58e-canvas);
  min-height:100dvh;
  margin:0 auto;
  background:var(--view7d58e-ink);
  box-shadow:0 0 0 1px #333,0 26px 90px rgba(0,0,0,.6);
  /* keep content clear of the fixed bottom dock + home indicator */
  padding-bottom:calc(88px + env(safe-area-inset-bottom,0px));
}

/* --------------------------------------------------------------------------
   Top bar - asymmetric brand head (logo + stacked wordmark, offset rule)
   -------------------------------------------------------------------------- */
.view7d58e-topbar{
  position:fixed;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:100%;
  max-width:var(--view7d58e-canvas);
  z-index:50;
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 10px 7px 12px;
  background:rgba(38,38,38,.97);
  border-bottom:1px solid var(--view7d58e-edge);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}

.view7d58e-brand{
  display:flex;
  align-items:center;
  gap:9px;
  margin-right:auto;
  min-width:0;
  text-decoration:none;
}

.view7d58e-mark{
  width:40px;
  height:40px;
  flex:none;
  border-radius:var(--view7d58e-r2);
  border:1px solid var(--view7d58e-edge);
  background:#141414;
  object-fit:cover;
}

/* vertical hairline that fades downward - the asymmetric brand axis */
.view7d58e-wordbar{
  width:2px;
  align-self:stretch;
  background:linear-gradient(180deg,var(--view7d58e-paper) 0%,rgba(105,105,105,.15) 100%);
}

.view7d58e-word{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}

.view7d58e-word-a{
  font:700 13px/1 var(--view7d58e-font-tech);
  color:var(--view7d58e-paper);
  letter-spacing:.09em;
  text-transform:uppercase;
  white-space:nowrap;
}

/* second line indented right - deliberate asymmetry */
.view7d58e-word-b{
  font:500 10px/1 var(--view7d58e-font-tech);
  color:var(--view7d58e-mist);
  letter-spacing:.42em;
  text-transform:uppercase;
  margin-left:11px;
  white-space:nowrap;
}

.view7d58e-acts{
  display:flex;
  align-items:center;
  gap:6px;
  flex:none;
}

/* primary + secondary CTAs at staggered sizes */
.view7d58e-join{
  min-height:40px;
  padding:11px 15px;
  border:1px solid #fff;
  border-radius:var(--view7d58e-r1);
  background:var(--view7d58e-white);
  color:var(--view7d58e-black);
  font:800 12.5px/1 var(--view7d58e-font-open);
  letter-spacing:.01em;
  transition:transform .12s ease,brightness .12s ease;
}

.view7d58e-in{
  min-height:40px;
  padding:10px 11px;
  border:1px solid var(--view7d58e-edge);
  border-radius:var(--view7d58e-r1);
  background:transparent;
  color:var(--view7d58e-paper);
  font:700 12px/1 var(--view7d58e-font-open);
  transition:transform .12s ease,border-color .12s ease;
}

.view7d58e-burger{
  width:40px;
  min-height:40px;
  display:grid;
  place-items:center;
  border:1px solid var(--view7d58e-edge);
  border-radius:var(--view7d58e-r1);
  background:var(--view7d58e-raise);
  color:var(--view7d58e-fog);
  transition:transform .12s ease;
}

.view7d58e-join:active{
  transform:scale(.95);
  filter:brightness(.92);
}

.view7d58e-in:active,
.view7d58e-burger:active{
  transform:scale(.94);
  border-color:var(--view7d58e-mist);
}

/* --------------------------------------------------------------------------
   Slide-up route sheet + veil
   -------------------------------------------------------------------------- */
.view7d58e-veil{
  position:fixed;
  inset:0;
  z-index:70;
  background:rgba(0,0,0,.58);
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease;
}

.view7d58e-veil.view7d58e-on{
  opacity:1;
  pointer-events:auto;
}

.view7d58e-sheet{
  position:fixed;
  z-index:80;
  bottom:0;
  left:50%;
  transform:translate(-50%,104%);
  width:100%;
  max-width:var(--view7d58e-canvas);
  max-height:80dvh;
  overflow-y:auto;
  padding:8px 16px calc(18px + env(safe-area-inset-bottom,0px));
  background:var(--view7d58e-raise);
  border:1px solid var(--view7d58e-edge);
  border-bottom:0;
  border-radius:10px 10px 0 0;
  box-shadow:0 -18px 50px rgba(0,0,0,.55);
  transition:transform .3s cubic-bezier(.22,.9,.3,1);
}

.view7d58e-sheet.view7d58e-on{
  transform:translate(-50%,0);
}

.view7d58e-grip{
  width:38px;
  height:4px;
  margin:4px auto 10px;
  border-radius:2px;
  background:var(--view7d58e-mist);
}

.view7d58e-sheethead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:2px;
}

.view7d58e-sheetname{
  font:700 11px/1 var(--view7d58e-font-tech);
  color:var(--view7d58e-mist);
  letter-spacing:.18em;
  text-transform:uppercase;
}

.view7d58e-sheetshut{
  min-height:36px;
  padding:8px 12px;
  border:1px solid var(--view7d58e-edge);
  border-radius:var(--view7d58e-r1);
  background:transparent;
  color:var(--view7d58e-paper);
  font:700 11.5px/1 var(--view7d58e-font-open);
}

.view7d58e-sheetshut:active{ transform:scale(.94); }

.view7d58e-routegroup{
  margin:14px 0 0;
}

.view7d58e-routelabel{
  font:700 9.5px/1 var(--view7d58e-font-tech);
  color:var(--view7d58e-mist);
  letter-spacing:.22em;
  text-transform:uppercase;
  margin:0 0 4px;
}

.view7d58e-route{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:46px;
  padding:12px 10px;
  border-bottom:1px solid #313131;
  color:var(--view7d58e-paper);
  text-decoration:none;
  font:600 14px/1.2 var(--view7d58e-font-open);
}

.view7d58e-route span{
  color:var(--view7d58e-mist);
  font:700 12px/1 var(--view7d58e-font-tech);
}

.view7d58e-route:active{ color:#fff; background:#313131; }

.view7d58e-route[aria-current="page"]{
  color:#fff;
  box-shadow:inset 3px 0 0 var(--view7d58e-paper);
  padding-left:13px;
}

/* --------------------------------------------------------------------------
   Main column
   -------------------------------------------------------------------------- */
.view7d58e-main{
  padding-top:calc(58px + 12px);
}

/* --------------------------------------------------------------------------
   Hero - lede-led opening block
   -------------------------------------------------------------------------- */
.view7d58e-hero{
  padding:2px 16px 4px;
}

.view7d58e-kicker{
  margin:0 0 10px;
  font:700 9.5px/1.4 var(--view7d58e-font-tech);
  color:var(--view7d58e-mist);
  letter-spacing:.24em;
  text-transform:uppercase;
}

.view7d58e-hero h1{
  margin:0 0 12px;
  font:800 clamp(21px,6.2vw,26px)/1.18 var(--view7d58e-font-tech);
  letter-spacing:-.015em;
  color:#fff;
}

.view7d58e-herolede{
  margin:0 0 16px;
  font:400 14.5px/1.64 var(--view7d58e-font-open);
  color:var(--view7d58e-paper);
}

.view7d58e-ctarow{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
  margin:0 0 8px;
}

/* staggered CTA sizes: fat primary, slim secondary */
.view7d58e-ctabig{
  min-height:48px;
  padding:15px 24px;
  border:1px solid #fff;
  border-radius:5px;
  background:var(--view7d58e-white);
  color:var(--view7d58e-black);
  font:800 14px/1 var(--view7d58e-font-open);
  transition:transform .12s ease,brightness .12s ease;
}

.view7d58e-ctaslim{
  min-height:44px;
  padding:12px 16px;
  border:1px solid var(--view7d58e-edge);
  border-radius:5px;
  background:var(--view7d58e-raise);
  color:var(--view7d58e-paper);
  font:700 13px/1 var(--view7d58e-font-open);
  transition:transform .12s ease,border-color .12s ease;
}

.view7d58e-ctabig:active{
  transform:scale(.96);
  filter:brightness(.9);
}

.view7d58e-ctaslim:active{
  transform:scale(.96);
  border-color:var(--view7d58e-mist);
}

.view7d58e-ctanote{
  margin:0;
  font:500 10.5px/1.5 var(--view7d58e-font-tech);
  color:var(--view7d58e-mist);
  letter-spacing:.03em;
}

/* --------------------------------------------------------------------------
   Promo reel (carousel)
   -------------------------------------------------------------------------- */
.view7d58e-reel{
  margin:18px 16px 0;
}

.view7d58e-frame{
  position:relative;
  border:1px solid var(--view7d58e-edge);
  border-radius:8px;
  overflow:hidden;
  background:var(--view7d58e-raise);
}

.view7d58e-track{
  display:flex;
  transition:transform .38s ease;
}

.view7d58e-slidehit{
  display:block;
  flex:0 0 100%;
  width:100%;
  padding:0;
  border:0;
  background:none;
  text-align:left;
}

.view7d58e-slideimg{
  width:100%;
  aspect-ratio:2/1;
  object-fit:cover;
}

.view7d58e-cap{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:26px 12px 9px;
  background:linear-gradient(180deg,rgba(30,30,30,0) 0%,rgba(24,24,24,.92) 78%);
  font:600 12.5px/1.35 var(--view7d58e-font-open);
  color:#fff;
}

.view7d58e-dots{
  display:flex;
  justify-content:center;
  gap:6px;
  margin:9px 0 0;
}

.view7d58e-dot{
  width:22px;
  height:6px;
  padding:0;
  border:0;
  border-radius:3px;
  background:var(--view7d58e-edge);
  transition:background .15s ease;
}

.view7d58e-dot.view7d58e-on{
  background:var(--view7d58e-paper);
}

/* --------------------------------------------------------------------------
   Fact strip
   -------------------------------------------------------------------------- */
.view7d58e-facts{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin:16px 16px 0;
}

.view7d58e-fact{
  padding:10px 4px 9px;
  border:1px solid var(--view7d58e-edge);
  border-radius:var(--view7d58e-r2);
  background:var(--view7d58e-raise);
  text-align:center;
}

.view7d58e-fact b{
  display:block;
  font:800 16px/1.1 var(--view7d58e-font-tech);
  color:var(--view7d58e-paper);
}

.view7d58e-fact span{
  display:block;
  margin-top:3px;
  font:600 8.5px/1.25 var(--view7d58e-font-tech);
  color:var(--view7d58e-mist);
  text-transform:uppercase;
  letter-spacing:.05em;
}

/* --------------------------------------------------------------------------
   Lobby - category chip rail + floating game card grid
   -------------------------------------------------------------------------- */
.view7d58e-lobbyhead{
  padding:22px 16px 0;
}

.view7d58e-lobbyhead h2,
.view7d58e-sec h2{
  margin:0 0 10px;
  font:800 clamp(17px,5.4vw,21px)/1.28 var(--view7d58e-font-tech);
  letter-spacing:-.01em;
  color:#fff;
}

.view7d58e-lobbyhead p{
  margin:0;
  font:400 13.5px/1.66 var(--view7d58e-font-open);
  color:var(--view7d58e-fog);
}

.view7d58e-lobbyhead a,
.view7d58e-sec p a{
  color:var(--view7d58e-paper);
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:var(--view7d58e-mist);
  text-underline-offset:3px;
}

.view7d58e-catnav{
  display:flex;
  gap:6px;
  margin:14px 0 0;
  padding:2px 16px 4px;
  overflow-x:auto;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}

.view7d58e-catnav::-webkit-scrollbar{ display:none; }

.view7d58e-chip{
  flex:none;
  scroll-snap-align:start;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:9px 12px;
  border:1px solid var(--view7d58e-edge);
  border-radius:var(--view7d58e-r1);
  background:var(--view7d58e-raise);
  color:var(--view7d58e-fog);
  font:700 11px/1 var(--view7d58e-font-tech);
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none;
  transition:border-color .12s ease,transform .12s ease;
}

.view7d58e-chip b{
  color:var(--view7d58e-paper);
  font-weight:800;
}

.view7d58e-chip:active{
  transform:scale(.95);
  border-color:var(--view7d58e-mist);
}

.view7d58e-rail{
  margin-top:20px;
  scroll-margin-top:64px;
}

.view7d58e-railhead{
  display:flex;
  align-items:baseline;
  gap:8px;
  padding:0 16px 8px;
}

.view7d58e-railhead h3{
  margin:0;
  font:800 12.5px/1.25 var(--view7d58e-font-tech);
  color:var(--view7d58e-paper);
  letter-spacing:.06em;
  text-transform:uppercase;
}

.view7d58e-railn{
  flex:none;
  font:600 9.5px/1 var(--view7d58e-font-tech);
  color:var(--view7d58e-mist);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.view7d58e-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px 6px;
  padding:0 16px;
}

/* light floating layer card */
.view7d58e-gtile{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  padding:5px 4px 6px;
  border:1px solid var(--view7d58e-edge);
  border-radius:var(--view7d58e-r2);
  background:linear-gradient(180deg,var(--view7d58e-panel) 0%,var(--view7d58e-raise) 100%);
  box-shadow:0 4px 12px rgba(0,0,0,.3);
  transition:transform .12s ease,border-color .12s ease;
}

.view7d58e-gtile img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:var(--view7d58e-r1);
  background:#202020;
}

.view7d58e-gtile span{
  font:600 10.5px/1.25 var(--view7d58e-font-open);
  color:var(--view7d58e-fog);
  text-align:center;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  overflow-wrap:break-word;
  word-break:break-word;
  min-height:2.5em;
}

.view7d58e-gtile:active{
  transform:translateY(1px) scale(.955);
  border-color:var(--view7d58e-mist);
}

/* --------------------------------------------------------------------------
   Editorial sections (lede-led, dense small-radius blocks)
   -------------------------------------------------------------------------- */
.view7d58e-sec{
  margin-top:24px;
  padding:22px 16px 4px;
  border-top:1px solid #303030;
}

.view7d58e-lede{
  margin:0 0 12px;
  padding-left:11px;
  border-left:3px solid var(--view7d58e-mist);
  font:400 14.5px/1.62 var(--view7d58e-font-open);
  color:var(--view7d58e-paper);
}

.view7d58e-sec p{
  margin:0 0 12px;
  font:400 13.5px/1.68 var(--view7d58e-font-open);
  color:var(--view7d58e-fog);
}

.view7d58e-sec p strong{ color:var(--view7d58e-paper); font-weight:700; }

.view7d58e-sec h3{
  margin:18px 0 8px;
  font:700 13px/1.3 var(--view7d58e-font-tech);
  color:var(--view7d58e-paper);
  letter-spacing:.02em;
}

.view7d58e-steps{
  list-style:none;
  margin:2px 0 14px;
  padding:0;
  display:grid;
  gap:8px;
  counter-reset:view7d58estep;
}

.view7d58e-steps li{
  counter-increment:view7d58estep;
  position:relative;
  padding:11px 10px 11px 46px;
  border:1px solid var(--view7d58e-edge);
  border-radius:var(--view7d58e-r2);
  background:var(--view7d58e-raise);
  font:400 13px/1.58 var(--view7d58e-font-open);
  color:var(--view7d58e-fog);
}

.view7d58e-steps li b{ color:var(--view7d58e-paper); }

.view7d58e-steps li::before{
  content:counter(view7d58estep,decimal-leading-zero);
  position:absolute;
  left:10px;
  top:11px;
  padding:5px 4px;
  border:1px solid var(--view7d58e-edge);
  border-radius:var(--view7d58e-r1);
  background:var(--view7d58e-pit);
  font:800 12px/1 var(--view7d58e-font-tech);
  color:var(--view7d58e-paper);
}

.view7d58e-bullets{
  list-style:none;
  margin:2px 0 14px;
  padding:0;
  display:grid;
  gap:6px;
}

.view7d58e-bullets li{
  position:relative;
  padding:9px 10px 9px 24px;
  border:1px solid #313131;
  border-radius:5px;
  background:var(--view7d58e-pit);
  font:400 12.5px/1.6 var(--view7d58e-font-open);
  color:var(--view7d58e-fog);
}

.view7d58e-bullets li::before{
  content:"";
  position:absolute;
  left:10px;
  top:15px;
  width:7px;
  height:7px;
  border:2px solid var(--view7d58e-mist);
  border-radius:2px;
}

.view7d58e-check{
  list-style:none;
  margin:2px 0 14px;
  padding:0;
  display:grid;
  gap:6px;
}

.view7d58e-check li{
  position:relative;
  padding:10px 10px 10px 32px;
  border:1px solid #313131;
  border-radius:5px;
  background:var(--view7d58e-pit);
  font:400 12.5px/1.6 var(--view7d58e-font-open);
  color:var(--view7d58e-fog);
}

.view7d58e-check li::before{
  content:"\2713";
  position:absolute;
  left:10px;
  top:10px;
  width:14px;
  height:14px;
  display:grid;
  place-items:center;
  border:1px solid var(--view7d58e-mist);
  border-radius:3px;
  color:var(--view7d58e-paper);
  font:800 10px/1 var(--view7d58e-font-tech);
}

.view7d58e-check li b,
.view7d58e-bullets li b{ color:var(--view7d58e-paper); }

.view7d58e-pays{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin:2px 0 14px;
}

.view7d58e-pay{
  padding:11px 10px;
  border:1px solid var(--view7d58e-edge);
  border-radius:var(--view7d58e-r2);
  background:var(--view7d58e-raise);
}

.view7d58e-pay b{
  display:block;
  margin:0 0 4px;
  font:700 12px/1.25 var(--view7d58e-font-tech);
  color:var(--view7d58e-paper);
}

.view7d58e-pay span{
  font:400 11.5px/1.55 var(--view7d58e-font-open);
  color:var(--view7d58e-fog);
}

.view7d58e-qa{
  margin:16px 0 0;
  padding:12px 12px 2px;
  border-left:3px solid var(--view7d58e-edge);
}

/* --------------------------------------------------------------------------
   Extended footer (home only): brand > directory > promotions > disclaimer
   -------------------------------------------------------------------------- */
.view7d58e-xfoot{
  margin-top:26px;
  padding:20px 16px 6px;
  border-top:1px solid #303030;
  background:var(--view7d58e-pit);
}

.view7d58e-xfoot h2{
  margin:0 0 10px;
  font:800 16px/1.3 var(--view7d58e-font-tech);
  color:var(--view7d58e-paper);
}

.view7d58e-xbrand p{
  margin:0;
  font:400 12.5px/1.66 var(--view7d58e-font-open);
  color:var(--view7d58e-fog);
}

.view7d58e-xlabel{
  margin:20px 0 8px;
  font:700 9.5px/1 var(--view7d58e-font-tech);
  color:var(--view7d58e-mist);
  letter-spacing:.22em;
  text-transform:uppercase;
}

.view7d58e-dir{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:2px 18px;
}

.view7d58e-dir a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  min-height:40px;
  padding:8px 2px;
  border-bottom:1px dashed #2d2d2d;
  color:var(--view7d58e-fog);
  text-decoration:none;
  font:500 12.5px/1.4 var(--view7d58e-font-open);
}

.view7d58e-dir a i{
  flex:none;
  font:700 11px/1 var(--view7d58e-font-tech);
  font-style:normal;
  color:var(--view7d58e-mist);
}

.view7d58e-dir a:active{ color:var(--view7d58e-paper); }

.view7d58e-xpromo{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}

.view7d58e-xjoin{
  min-height:46px;
  padding:14px 20px;
  border:1px solid #fff;
  border-radius:5px;
  background:var(--view7d58e-white);
  color:var(--view7d58e-black);
  font:800 13px/1 var(--view7d58e-font-open);
  transition:transform .12s ease,brightness .12s ease;
}

.view7d58e-xact{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  padding:11px 13px;
  border:1px solid var(--view7d58e-edge);
  border-radius:var(--view7d58e-r1);
  background:transparent;
  color:var(--view7d58e-paper);
  font:600 12px/1 var(--view7d58e-font-open);
  text-decoration:none;
  transition:transform .12s ease,border-color .12s ease;
}

.view7d58e-xjoin:active{
  transform:scale(.95);
  filter:brightness(.9);
}

.view7d58e-xact:active{
  transform:scale(.95);
  border-color:var(--view7d58e-mist);
}

.view7d58e-xnote{
  margin:16px 0 0;
  padding:10px 0 4px;
  border-top:1px solid #2c2c2c;
  font:400 11px/1.6 var(--view7d58e-font-open);
  color:var(--view7d58e-mist);
}

/* --------------------------------------------------------------------------
   Common footer (copyright only)
   -------------------------------------------------------------------------- */
.view7d58e-foot{
  padding:14px 16px 6px;
  text-align:center;
}

.view7d58e-foot p{
  margin:0;
  font:500 10.5px/1.55 var(--view7d58e-font-tech);
  color:var(--view7d58e-mist);
  letter-spacing:.05em;
}

/* --------------------------------------------------------------------------
   Bottom dock - center-raised five-role navigation
   -------------------------------------------------------------------------- */
.view7d58e-dock{
  position:fixed;
  z-index:60;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:100%;
  max-width:var(--view7d58e-canvas);
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  padding-bottom:env(safe-area-inset-bottom,0px);
  background:rgba(30,30,30,.98);
  border-top:1px solid var(--view7d58e-edge);
}

.view7d58e-dockitem{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:58px;
  padding:6px 2px 8px;
  border:0;
  background:none;
  color:var(--view7d58e-mist);
  text-decoration:none;
  font:700 9px/1 var(--view7d58e-font-tech);
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:transform .12s ease,color .12s ease;
}

.view7d58e-dockitem svg{
  width:21px;
  height:21px;
  flex:none;
}

.view7d58e-dockitem:active{
  transform:scale(.92);
  color:var(--view7d58e-paper);
}

/* active role marker: top indicator line */
.view7d58e-docklive{
  color:var(--view7d58e-paper);
}

.view7d58e-docklive::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:44%;
  height:2px;
  background:var(--view7d58e-paper);
}

/* raised centre hub */
.view7d58e-hubkey{
  width:48px;
  height:48px;
  margin-top:-22px;
  display:grid;
  place-items:center;
  border:1px solid #fff;
  border-radius:9px;
  background:var(--view7d58e-white);
  color:#161616;
  box-shadow:0 8px 18px rgba(0,0,0,.55);
  transition:transform .12s ease;
}

.view7d58e-hubkey svg{
  width:22px;
  height:22px;
}

.view7d58e-dockitem:active .view7d58e-hubkey{
  transform:translateY(2px) scale(.94);
}

/* --------------------------------------------------------------------------
   Responsive ladder (320 base / 375 / 430 canvas cap)
   -------------------------------------------------------------------------- */

/* very narrow phones: drop the indented wordmark line to save width */
@media (max-width:339px){
  .view7d58e-word-b{ display:none; }
  .view7d58e-join{ padding:11px 11px; }
  .view7d58e-in{ padding:10px 8px; }
}

/* comfortable phones: slightly airier gutters */
@media (min-width:375px){
  .view7d58e-hero,
  .view7d58e-reel,
  .view7d58e-facts,
  .view7d58e-lobbyhead,
  .view7d58e-catnav,
  .view7d58e-grid,
  .view7d58e-sec,
  .view7d58e-xfoot{
    padding-left:18px;
    padding-right:18px;
  }
  .view7d58e-reel,
  .view7d58e-facts{
    margin-left:18px;
    margin-right:18px;
  }
  .view7d58e-grid{ gap:9px 8px; }
}

/* upper phone band: game grid breathes to five columns */
@media (min-width:402px){
  .view7d58e-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  .view7d58e-gtile span{
    font-size:11px;
  }
}

/* desktop: keep the single centred phone canvas, refine the frame */
@media (min-width:520px){
  body{
    background:#111;
  }
  .view7d58e-page{
    margin-top:0;
    border-radius:0;
  }
  .view7d58e-topbar{
    border-left:1px solid #333;
    border-right:1px solid #333;
  }
  .view7d58e-dock{
    border-left:1px solid #333;
    border-right:1px solid #333;
  }
}

/* respect users who prefer stillness */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    transition-duration:.01ms !important;
    animation:none !important;
  }
}
