/* ==========================================================================
   tk1111.click - mobile canvas stylesheet
   Design voice: charcoal-coffee dark base, slate panels, sand accents.
   Poster-style headings (Anek Bangla) over narrow body text (Hind Siliguri).
   Small radii, dense square-icon game catalog, state-color-only motion.
   ========================================================================== */

:root {
  --view7aa51-canvas: #262626;
  --view7aa51-outer: #1c1a18;
  --view7aa51-slate: #34495E;
  --view7aa51-slate-up: #415b76;
  --view7aa51-coffee: #6F4E37;
  --view7aa51-saddle: #8B4513;
  --view7aa51-sand: #F4A460;
  --view7aa51-cream: #f6ead9;
  --view7aa51-mist: #cdbba4;
  --view7aa51-panel: #2f2b28;
  --view7aa51-panel-deep: #231f1d;
  --view7aa51-line: rgba(244, 164, 96, 0.22);
  --view7aa51-line-soft: rgba(244, 164, 96, 0.12);
  --view7aa51-radius: 6px;
  --view7aa51-radius-lg: 8px;
  --view7aa51-head-h: 104px;
  --view7aa51-dock-h: 60px;
  --view7aa51-font-body: 'Hind Siliguri', 'Anek Bangla', -apple-system, 'Segoe UI', sans-serif;
  --view7aa51-font-poster: 'Anek Bangla', 'Hind Siliguri', -apple-system, sans-serif;
}

* { box-sizing: border-box; }

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

body {
  margin: 0;
  background: var(--view7aa51-outer);
  color: var(--view7aa51-cream);
  font-family: var(--view7aa51-font-body);
  font-size: 14px;
  line-height: 1.7;
  min-height: 100vh;
}

/* Phone canvas: fixed 430px ceiling, centered on wide screens */
.view7aa51-app {
  position: relative;
  max-width: 430px;
  margin: 0 auto;
  min-height: 100vh;
  background:
    radial-gradient(120% 28% at 50% 0%, rgba(111, 78, 55, 0.35) 0%, rgba(38, 38, 38, 0) 62%),
    var(--view7aa51-canvas);
  box-shadow: 0 0 44px rgba(0, 0, 0, 0.55);
}

@media (min-width: 480px) {
  .view7aa51-app {
    border-left: 1px solid var(--view7aa51-line-soft);
    border-right: 1px solid var(--view7aa51-line-soft);
  }
}

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

a { color: var(--view7aa51-sand); text-decoration: none; }
a:hover { text-decoration: underline; }

button { font-family: inherit; }

:focus-visible {
  outline: 2px solid var(--view7aa51-sand);
  outline-offset: 2px;
  border-radius: 3px;
}

.view7aa51-skip {
  position: absolute;
  left: 8px;
  top: -48px;
  z-index: 90;
  background: var(--view7aa51-sand);
  color: #262626;
  padding: 8px 14px;
  border-radius: var(--view7aa51-radius);
  font-weight: 700;
}
.view7aa51-skip:focus { top: 8px; text-decoration: none; }

/* ==========================================================================
   Fixed top bar - asymmetric brand head + action row
   ========================================================================== */

.view7aa51-topbar {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 430px;
  z-index: 50;
  background: linear-gradient(180deg, rgba(38, 38, 38, 0.98) 0%, rgba(35, 31, 29, 0.98) 100%);
  border-bottom: 1px solid var(--view7aa51-line);
  padding: 6px 10px 8px;
  padding-top: calc(6px + env(safe-area-inset-top));
}

.view7aa51-row1 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
}

/* Brand cluster: logo plate slightly oversized, name pushed beside it */
.view7aa51-brand {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 46px;
  flex: 1 1 auto;
  min-width: 0;
}

.view7aa51-logo {
  width: 40px;
  height: 40px;
  border-radius: var(--view7aa51-radius);
  border: 1px solid var(--view7aa51-line);
  background: var(--view7aa51-panel);
  object-fit: cover;
  flex: 0 0 auto;
}

.view7aa51-brandname {
  font-family: var(--view7aa51-font-poster);
  font-weight: 800;
  font-size: 22px;
  letter-spacing: 0.04em;
  color: var(--view7aa51-cream);
  line-height: 1.1;
  white-space: nowrap;
}

.view7aa51-burger {
  flex: 0 0 auto;
  width: 46px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--view7aa51-slate);
  color: var(--view7aa51-cream);
  border: 1px solid rgba(244, 164, 96, 0.3);
  border-radius: var(--view7aa51-radius);
  cursor: pointer;
}
.view7aa51-burger:active { transform: scale(0.94); }
.view7aa51-burger svg { width: 20px; height: 20px; }

/* Action row: register + login side by side, compact icon-text buttons */
.view7aa51-row2 {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 8px;
  margin-top: 4px;
}

.view7aa51-btn {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-radius: var(--view7aa51-radius);
  font-weight: 700;
  font-size: 14.5px;
  cursor: pointer;
  border: 1px solid transparent;
  padding: 0 12px;
}
.view7aa51-btn:active { transform: scale(0.97); }

.view7aa51-btn-reg {
  background: var(--view7aa51-sand);
  color: #2b2113;
  border-color: var(--view7aa51-sand);
}

.view7aa51-btn-log {
  background: rgba(52, 73, 94, 0.55);
  color: var(--view7aa51-cream);
  border-color: var(--view7aa51-line);
}

.view7aa51-btn svg { width: 15px; height: 15px; flex: 0 0 auto; }

/* ==========================================================================
   Sectioned menu page (overlay)
   ========================================================================== */

.view7aa51-menu {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 430px;
  z-index: 70;
  background: linear-gradient(180deg, #241f1c 0%, #211d1a 100%);
  border-left: 1px solid var(--view7aa51-line-soft);
  border-right: 1px solid var(--view7aa51-line-soft);
  overflow-y: auto;
  padding: 14px 14px calc(24px + var(--view7aa51-dock-h));
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.18s ease, visibility 0.18s ease;
}
.view7aa51-menu.view7aa51-open { opacity: 1; visibility: visible; }

.view7aa51-menu-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--view7aa51-line-soft);
  margin-bottom: 12px;
}

.view7aa51-menu-title {
  font-family: var(--view7aa51-font-poster);
  font-weight: 800;
  font-size: 18px;
  color: var(--view7aa51-sand);
  margin: 0;
}

.view7aa51-menu-close {
  width: 44px;
  height: 44px;
  border-radius: var(--view7aa51-radius);
  border: 1px solid var(--view7aa51-line);
  background: var(--view7aa51-slate);
  color: var(--view7aa51-cream);
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.view7aa51-menu-close:active { transform: scale(0.94); }

.view7aa51-menu-sec { margin-bottom: 14px; }

.view7aa51-menu-cap {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--view7aa51-mist);
  text-transform: uppercase;
  margin: 0 0 6px 2px;
}

.view7aa51-menu-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.view7aa51-menu-link {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 10px;
  background: var(--view7aa51-panel);
  border: 1px solid var(--view7aa51-line-soft);
  border-left: 3px solid var(--view7aa51-coffee);
  border-radius: var(--view7aa51-radius);
  color: var(--view7aa51-cream);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
}
.view7aa51-menu-link:hover { border-left-color: var(--view7aa51-sand); text-decoration: none; }
.view7aa51-menu-link:active { background: var(--view7aa51-slate); }
.view7aa51-menu-link svg { width: 16px; height: 16px; color: var(--view7aa51-sand); flex: 0 0 auto; }

.view7aa51-menu-cta {
  margin-top: 4px;
  width: 100%;
  min-height: 46px;
  border: none;
  border-radius: var(--view7aa51-radius);
  background: var(--view7aa51-saddle);
  color: #ffe9d2;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}
.view7aa51-menu-cta:active { transform: scale(0.98); }

/* ==========================================================================
   Main column
   ========================================================================== */

.view7aa51-main {
  padding: calc(var(--view7aa51-head-h) + 10px) 12px
           calc(var(--view7aa51-dock-h) + 26px + env(safe-area-inset-bottom));
}

.view7aa51-h1 {
  font-family: var(--view7aa51-font-poster);
  font-size: clamp(21px, 6.2vw, 26px);
  font-weight: 800;
  line-height: 1.32;
  color: var(--view7aa51-cream);
  margin: 14px 0 8px;
}

.view7aa51-intro {
  margin: 0 0 12px;
  color: var(--view7aa51-cream);
  border-left: 3px solid var(--view7aa51-sand);
  padding: 8px 0 8px 10px;
  background: linear-gradient(90deg, rgba(244, 164, 96, 0.08), rgba(244, 164, 96, 0));
  border-radius: 0 var(--view7aa51-radius) var(--view7aa51-radius) 0;
}

/* Fact chip strip */
.view7aa51-facts {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(148px, 1fr);
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  padding: 2px 0 6px;
  margin-bottom: 12px;
}
.view7aa51-facts::-webkit-scrollbar { display: none; }

.view7aa51-fact {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 8px 10px;
  background: var(--view7aa51-panel);
  border: 1px solid var(--view7aa51-line-soft);
  border-radius: var(--view7aa51-radius);
  font-size: 12px;
  font-weight: 600;
  color: var(--view7aa51-cream);
  line-height: 1.45;
}
.view7aa51-fact svg { width: 16px; height: 16px; color: var(--view7aa51-sand); flex: 0 0 auto; }

/* ==========================================================================
   Hero carousel
   ========================================================================== */

.view7aa51-hero {
  position: relative;
  border-radius: var(--view7aa51-radius-lg);
  overflow: hidden;
  border: 1px solid var(--view7aa51-line);
  background: var(--view7aa51-panel-deep);
}

.view7aa51-window { overflow: hidden; }

.view7aa51-track {
  display: flex;
  transition: transform 0.32s ease;
}

.view7aa51-slide { flex: 0 0 100%; position: relative; margin: 0; }

.view7aa51-slide-btn {
  display: block;
  width: 100%;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
}
.view7aa51-slide-btn:active { opacity: 0.92; }

.view7aa51-slide-img {
  width: 100%;
  aspect-ratio: 2 / 1;
  object-fit: cover;
}

.view7aa51-slide-cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 26px 12px 10px;
  background: linear-gradient(180deg, rgba(30, 26, 24, 0) 0%, rgba(28, 22, 18, 0.92) 78%);
  text-align: left;
}

.view7aa51-slide-cap strong {
  display: block;
  font-family: var(--view7aa51-font-poster);
  font-size: 16.5px;
  font-weight: 800;
  color: #fff;
  line-height: 1.35;
}

.view7aa51-slide-cap span {
  display: block;
  font-size: 12px;
  color: var(--view7aa51-mist);
  line-height: 1.5;
  margin-top: 2px;
}

.view7aa51-herofoot {
  position: absolute;
  right: 10px;
  bottom: 8px;
  display: flex;
  gap: 6px;
  align-items: center;
}

.view7aa51-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border-radius: 99px;
  border: none;
  background: rgba(244, 164, 96, 0.4);
  cursor: pointer;
}
.view7aa51-dot.view7aa51-dot-cur {
  width: 20px;
  background: var(--view7aa51-sand);
}

/* ==========================================================================
   Category chip rail
   ========================================================================== */

.view7aa51-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(96px, 1fr);
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  padding: 2px 0 8px;
  margin: 4px 0 10px;
}
.view7aa51-rail::-webkit-scrollbar { display: none; }

.view7aa51-railbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  padding: 6px 10px;
  border-radius: var(--view7aa51-radius);
  border: 1px solid var(--view7aa51-line);
  background: rgba(52, 73, 94, 0.4);
  color: var(--view7aa51-cream);
  font-size: 12.5px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}
.view7aa51-railbtn:hover { background: var(--view7aa51-slate); text-decoration: none; }
.view7aa51-railbtn:active { transform: scale(0.96); }
.view7aa51-railbtn svg { width: 14px; height: 14px; color: var(--view7aa51-sand); }

/* ==========================================================================
   Game catalog sections - dense square-icon directory
   ========================================================================== */

.view7aa51-sec {
  margin: 18px 0 22px;
  scroll-margin-top: calc(var(--view7aa51-head-h) + 8px);
}

.view7aa51-h2 {
  font-family: var(--view7aa51-font-poster);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.4;
  color: var(--view7aa51-cream);
  margin: 0 0 4px;
  padding-left: 10px;
  border-left: 4px solid var(--view7aa51-sand);
}

.view7aa51-lead {
  margin: 0 0 10px;
  font-size: 12.5px;
  color: var(--view7aa51-mist);
  line-height: 1.65;
}

.view7aa51-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px 6px;
}

@media (min-width: 400px) {
  .view7aa51-grid { grid-template-columns: repeat(5, 1fr); }
}

.view7aa51-gcard {
  width: 100%;
  padding: 5px 4px 6px;
  background: var(--view7aa51-panel);
  border: 1px solid var(--view7aa51-line-soft);
  border-radius: var(--view7aa51-radius);
  cursor: pointer;
  text-align: center;
}
.view7aa51-gcard:hover { border-color: var(--view7aa51-line); }
.view7aa51-gcard:active { transform: scale(0.95); }

.view7aa51-gimg {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 4px;
  background: var(--view7aa51-panel-deep);
}

.view7aa51-gname {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 10.5px;
  line-height: 1.4;
  font-weight: 600;
  color: var(--view7aa51-cream);
  margin-top: 4px;
  min-height: 29px;
}

/* ==========================================================================
   Advisory content blocks
   ========================================================================== */

.view7aa51-block {
  background: var(--view7aa51-panel);
  border: 1px solid var(--view7aa51-line-soft);
  border-radius: var(--view7aa51-radius-lg);
  padding: 12px 12px 14px;
  margin: 0 0 14px;
}

.view7aa51-block > .view7aa51-h2 { padding-left: 0; border-left: none; }

.view7aa51-sum {
  margin: 0 0 10px;
  padding: 8px 10px;
  background: rgba(244, 164, 96, 0.1);
  border-radius: var(--view7aa51-radius);
  color: var(--view7aa51-cream);
  font-size: 13px;
  line-height: 1.65;
}

.view7aa51-h3 {
  font-family: var(--view7aa51-font-poster);
  font-size: 14.5px;
  font-weight: 700;
  color: var(--view7aa51-sand);
  margin: 12px 0 4px;
}

.view7aa51-p { margin: 0 0 8px; font-size: 13px; line-height: 1.75; }

.view7aa51-check,
.view7aa51-pick,
.view7aa51-pl,
.view7aa51-dims {
  list-style: none;
  margin: 8px 0 4px;
  padding: 0;
  display: grid;
  gap: 6px;
}

.view7aa51-checkitem,
.view7aa51-pick li,
.view7aa51-pl li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 10px;
  background: var(--view7aa51-panel-deep);
  border: 1px solid var(--view7aa51-line-soft);
  border-radius: var(--view7aa51-radius);
  font-size: 12.5px;
  line-height: 1.6;
}

.view7aa51-checkitem svg,
.view7aa51-pick svg,
.view7aa51-pl svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  margin-top: 3px;
  color: var(--view7aa51-sand);
}

.view7aa51-dims { grid-template-columns: 1fr; }

.view7aa51-dim {
  padding: 9px 10px;
  background: var(--view7aa51-panel-deep);
  border: 1px solid var(--view7aa51-line-soft);
  border-radius: var(--view7aa51-radius);
  font-size: 12.5px;
  line-height: 1.65;
}
.view7aa51-dim strong {
  display: block;
  color: var(--view7aa51-sand);
  font-size: 13px;
  margin-bottom: 2px;
}

/* ==========================================================================
   Extended footer (homepage only) - sectioned list
   ========================================================================== */

.view7aa51-xfoot {
  margin: 22px 12px 0;
  border-top: 1px dashed var(--view7aa51-line);
  padding-top: 14px;
}

.view7aa51-xsec { margin-bottom: 16px; }

.view7aa51-foot { margin: 0 12px; }

.view7aa51-promogrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 8px;
}

.view7aa51-promo {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 8px;
  border: 1px solid rgba(244, 164, 96, 0.35);
  border-radius: var(--view7aa51-radius);
  background: var(--view7aa51-saddle);
  color: #ffe9d2;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
  text-align: center;
}
.view7aa51-promo:hover { filter: brightness(1.08); }
.view7aa51-promo:active { transform: scale(0.97); }
.view7aa51-promo svg { width: 14px; height: 14px; flex: 0 0 auto; }

.view7aa51-dirlist {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.view7aa51-dirlist a {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 6px 9px;
  background: var(--view7aa51-panel);
  border: 1px solid var(--view7aa51-line-soft);
  border-radius: var(--view7aa51-radius);
  color: var(--view7aa51-cream);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
}
.view7aa51-dirlist a:hover { border-color: var(--view7aa51-line); text-decoration: none; }
.view7aa51-dirlist svg { width: 13px; height: 13px; color: var(--view7aa51-sand); flex: 0 0 auto; }

.view7aa51-note {
  font-size: 12px;
  color: var(--view7aa51-mist);
  line-height: 1.7;
  background: rgba(52, 73, 94, 0.28);
  border-radius: var(--view7aa51-radius);
  padding: 10px;
}

/* ==========================================================================
   Common footer + fixed dock
   ========================================================================== */

.view7aa51-foot {
  text-align: center;
  font-size: 11.5px;
  color: var(--view7aa51-mist);
  padding: 12px 0 4px;
  border-top: 1px solid var(--view7aa51-line-soft);
}

.view7aa51-dock {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 430px;
  z-index: 55;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  height: calc(var(--view7aa51-dock-h) + env(safe-area-inset-bottom));
  padding-bottom: env(safe-area-inset-bottom);
  background: linear-gradient(180deg, rgba(35, 31, 29, 0.97), rgba(28, 24, 22, 0.99));
  border-top: 1px solid var(--view7aa51-line);
}

.view7aa51-dock-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: 44px;
  color: var(--view7aa51-mist);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px 2px;
}
.view7aa51-dock-item:active { transform: scale(0.93); }
.view7aa51-dock-item svg { width: 21px; height: 21px; }
.view7aa51-dock-item:hover { color: var(--view7aa51-cream); text-decoration: none; }

.view7aa51-dock-item.view7aa51-cur {
  color: var(--view7aa51-sand);
  box-shadow: inset 0 3px 0 var(--view7aa51-sand);
}

/* ==========================================================================
   Motion budget: state colors only, plus the single carousel slide
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  .view7aa51-track { transition: none; }
  .view7aa51-menu { transition: none; }
  .view7aa51-gcard:active,
  .view7aa51-btn:active,
  .view7aa51-promo:active,
  .view7aa51-dock-item:active { transform: none; }
}
