/* ==========================================================================
   22bet login · 22betlogin.click
   Mobile-first lounge stylesheet · class prefix: c766c2-
   Palette: #141414 (bg) · #20B2AA (teal) · #EEE8AA (gold) · #6A5ACD (violet)
            #E6E6FA (lavender text)
   Canvas: 320–430px phone frame, centered on wide screens
   Design cues: poster headings + narrow body · light card radius, compact
   buttons · image cards with bottom name bar · intro-then-section rhythm ·
   short-distance transitions · compact dual-button CTA groups
   ========================================================================== */

:root{
  --c766c2-bg:#141414;
  --c766c2-bg-raise:#1d1d23;
  --c766c2-bg-deep:#0d0d10;
  --c766c2-teal:#20B2AA;
  --c766c2-teal-soft:rgba(32,178,170,.16);
  --c766c2-teal-line:rgba(32,178,170,.42);
  --c766c2-gold:#EEE8AA;
  --c766c2-gold-soft:rgba(238,232,170,.12);
  --c766c2-violet:#6A5ACD;
  --c766c2-violet-soft:rgba(106,90,205,.20);
  --c766c2-violet-line:rgba(106,90,205,.46);
  --c766c2-lav:#E6E6FA;
  --c766c2-muted:#b9bad8;
  --c766c2-faint:#8d8fb2;
  --c766c2-ink:#141414;
  --c766c2-line:rgba(230,230,250,.14);
  --c766c2-radius-card:10px;
  --c766c2-radius-tile:12px;
  --c766c2-radius-btn:8px;
  --c766c2-font-head:'Baloo Da 2','Anek Bangla','Hind Siliguri','Noto Sans Bengali','SolaimanLipi',sans-serif;
  --c766c2-font-body:'Hind Siliguri','Noto Sans Bengali','SolaimanLipi','Segoe UI',sans-serif;
  --c766c2-topbar-h:60px;
  --c766c2-dock-h:64px;
  --c766c2-pad:14px;
  --c766c2-shadow:0 10px 26px rgba(0,0,0,.45);
}

/* ---------- base ------------------------------------------------------- */

*,*::before,*::after{box-sizing:border-box}

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

body{
  margin:0;
  background:#0a0a0d;
  color:var(--c766c2-lav);
  font-family:var(--c766c2-font-body);
  font-size:15px;
  line-height:1.75;
  display:flex;
  justify-content:center;
  overflow-x:hidden;
}

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

button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}

a{color:var(--c766c2-teal);text-decoration:none}
a:hover{color:var(--c766c2-gold)}

h1,h2,h3{
  font-family:var(--c766c2-font-head);
  font-weight:800;
  line-height:1.2;
  margin:0;
  letter-spacing:-.2px;
}

p{margin:0 0 10px}
p:last-child{margin-bottom:0}

ul,ol,dl{margin:0;padding:0}

::selection{background:var(--c766c2-violet);color:#fff}

:focus-visible{
  outline:2px solid var(--c766c2-gold);
  outline-offset:2px;
  border-radius:4px;
}

/* ---------- phone shell ------------------------------------------------ */

.c766c2-shell{
  position:relative;
  width:100%;
  max-width:430px;
  min-height:100vh;
  min-height:100dvh;
  background:
    radial-gradient(120% 42% at 50% -8%, rgba(106,90,205,.24), transparent 60%),
    radial-gradient(90% 30% at 90% 108%, rgba(32,178,170,.14), transparent 55%),
    var(--c766c2-bg);
  box-shadow:0 0 0 1px rgba(230,230,250,.08),0 0 60px rgba(0,0,0,.6);
  overflow-x:clip;
}

.c766c2-main{
  padding:calc(var(--c766c2-topbar-h) + 12px) var(--c766c2-pad)
          calc(var(--c766c2-dock-h) + 34px + env(safe-area-inset-bottom));
  overflow-wrap:break-word;
}

/* ---------- top bar (tab-style) ---------------------------------------- */

.c766c2-topbar{
  position:fixed;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:100%;
  max-width:430px;
  height:calc(var(--c766c2-topbar-h) + env(safe-area-inset-top));
  padding-top:env(safe-area-inset-top);
  z-index:60;
  background:linear-gradient(180deg,#191920,#141418 78%);
  border-bottom:1px solid var(--c766c2-line);
}

.c766c2-topbar-in{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  height:var(--c766c2-topbar-h);
  padding:0 10px;
}

/* brand zone: ONLY logo image + site name */
.c766c2-brand{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  color:var(--c766c2-lav);
  padding:4px 6px 4px 2px;
  border-radius:var(--c766c2-radius-btn);
}

.c766c2-brand-logo{
  width:36px;
  height:36px;
  border-radius:9px;
  object-fit:cover;
  box-shadow:0 0 0 1px var(--c766c2-teal-line),0 3px 10px rgba(0,0,0,.5);
  flex:none;
}

.c766c2-brand-name{
  font-family:var(--c766c2-font-head);
  font-weight:800;
  font-size:17px;
  line-height:1.1;
  letter-spacing:-.3px;
  white-space:nowrap;
}

.c766c2-brand-name em{
  font-style:normal;
  color:var(--c766c2-gold);
}

/* action zone */
.c766c2-topact{
  display:flex;
  align-items:center;
  gap:6px;
  flex:none;
}

.c766c2-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:44px;
  padding:8px 13px;
  border-radius:var(--c766c2-radius-btn);
  font-family:var(--c766c2-font-head);
  font-weight:700;
  font-size:13.5px;
  line-height:1;
  letter-spacing:.2px;
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
}

.c766c2-btn:active{transform:scale(.96)}

.c766c2-btn--register{
  background:linear-gradient(160deg,var(--c766c2-gold),#d8cf82);
  color:var(--c766c2-ink);
  box-shadow:0 4px 14px rgba(238,232,170,.22);
}
.c766c2-btn--register:hover{filter:brightness(1.06);color:var(--c766c2-ink)}

.c766c2-btn--login{
  background:var(--c766c2-teal-soft);
  color:var(--c766c2-teal);
  box-shadow:inset 0 0 0 1px var(--c766c2-teal-line);
}
.c766c2-btn--login:hover{color:var(--c766c2-gold);box-shadow:inset 0 0 0 1px var(--c766c2-gold)}

/* compact dual CTA variant used in hero */
.c766c2-ctaduo{
  display:flex;
  gap:8px;
  margin:14px 0 0;
}
.c766c2-ctaduo .c766c2-btn{flex:1;min-height:46px;font-size:14.5px}

/* hamburger */
.c766c2-menubtn{
  width:44px;
  height:44px;
  display:grid;
  place-content:center;
  gap:4px;
  border-radius:var(--c766c2-radius-btn);
  background:var(--c766c2-violet-soft);
  box-shadow:inset 0 0 0 1px var(--c766c2-violet-line);
  transition:background .15s ease;
}
.c766c2-menubtn:hover{background:rgba(106,90,205,.32)}

.c766c2-menubtn-bar{
  width:18px;
  height:2px;
  border-radius:2px;
  background:var(--c766c2-lav);
  transition:transform .2s ease,opacity .15s ease;
}
.c766c2-menubtn.c766c2-is-open .c766c2-menubtn-bar:nth-child(1){transform:translateY(6px) rotate(45deg)}
.c766c2-menubtn.c766c2-is-open .c766c2-menubtn-bar:nth-child(2){opacity:0}
.c766c2-menubtn.c766c2-is-open .c766c2-menubtn-bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ---------- compact route panel (menu) --------------------------------- */

.c766c2-scrim{
  position:fixed;
  inset:0;
  z-index:58;
  background:rgba(8,8,11,.66);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}
.c766c2-scrim.c766c2-is-open{opacity:1;pointer-events:auto}

.c766c2-menupanel{
  position:fixed;
  top:calc(var(--c766c2-topbar-h) + env(safe-area-inset-top));
  left:50%;
  width:calc(100% - 20px);
  max-width:410px;
  z-index:59;
  transform:translate(-50%,-10px);
  background:linear-gradient(180deg,#20202a,#17171d);
  border:1px solid var(--c766c2-line);
  border-top:2px solid var(--c766c2-teal);
  border-radius:0 0 14px 14px;
  box-shadow:var(--c766c2-shadow);
  padding:8px 10px 12px;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease;
}
.c766c2-menupanel.c766c2-is-open{
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,0);
}

.c766c2-menu-cap{
  margin:8px 4px 4px;
  font-size:11px;
  font-weight:700;
  letter-spacing:1.2px;
  color:var(--c766c2-faint);
  text-transform:uppercase;
}

.c766c2-menu-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px 8px;
}

.c766c2-menu-link{
  position:relative;
  display:flex;
  align-items:center;
  min-height:46px;
  padding:10px 12px;
  border-radius:8px;
  color:var(--c766c2-lav);
  font-weight:600;
  font-size:14px;
  transition:background .14s ease,color .14s ease;
}
.c766c2-menu-link::before{
  /* active indicator line sits on top edge */
  content:"";
  position:absolute;
  top:6px;
  left:10px;
  width:0;
  height:3px;
  border-radius:2px;
  background:var(--c766c2-teal);
  transition:width .18s ease;
}
.c766c2-menu-link:hover{background:var(--c766c2-teal-soft);color:var(--c766c2-gold)}
.c766c2-menu-link.c766c2-is-on{
  background:var(--c766c2-teal-soft);
  color:var(--c766c2-gold);
}
.c766c2-menu-link.c766c2-is-on::before{width:20px}

.c766c2-menu-rule{
  border:0;
  border-top:1px solid var(--c766c2-line);
  margin:10px 4px 2px;
}

/* ---------- hero -------------------------------------------------------- */

.c766c2-hero{
  position:relative;
  margin:2px 0 16px;
  padding:20px 16px 18px;
  border-radius:var(--c766c2-radius-tile);
  background:
    linear-gradient(155deg,rgba(106,90,205,.34),rgba(32,178,170,.12) 58%,rgba(20,20,20,.2)),
    var(--c766c2-bg-raise);
  border:1px solid var(--c766c2-violet-line);
  overflow:hidden;
}
.c766c2-hero::after{
  content:"";
  position:absolute;
  right:-38px;
  top:-38px;
  width:150px;
  height:150px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(238,232,170,.16),transparent 65%);
  pointer-events:none;
}

.c766c2-hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0 0 8px;
  padding:4px 10px;
  border-radius:999px;
  background:var(--c766c2-gold-soft);
  box-shadow:inset 0 0 0 1px rgba(238,232,170,.35);
  color:var(--c766c2-gold);
  font-size:11px;
  font-weight:700;
  letter-spacing:.8px;
}

.c766c2-hero-title{
  font-size:27px;
  line-height:1.22;
  color:#fff;
  text-wrap:balance;
}
.c766c2-hero-title b{
  font-weight:800;
  background:linear-gradient(92deg,var(--c766c2-gold),var(--c766c2-teal));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.c766c2-hero-lead{
  margin:10px 0 0;
  color:var(--c766c2-muted);
  font-size:14px;
}

.c766c2-hero-note{
  margin-top:10px;
  font-size:11.5px;
  color:var(--c766c2-faint);
}

/* ---------- carousel ---------------------------------------------------- */

.c766c2-carousel{
  position:relative;
  margin:0 0 14px;
  border-radius:var(--c766c2-radius-tile);
  overflow:hidden;
  box-shadow:var(--c766c2-shadow);
  border:1px solid var(--c766c2-line);
  touch-action:pan-y;
}

.c766c2-caro-track{
  display:flex;
  transition:transform .34s cubic-bezier(.25,.7,.3,1);
}

.c766c2-caro-slide{
  position:relative;
  flex:0 0 100%;
  width:100%;
  display:block;
  min-height:0;
}
.c766c2-caro-slide img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}

.c766c2-caro-cap{
  position:absolute;
  left:10px;
  bottom:10px;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(13,13,16,.74);
  color:var(--c766c2-gold);
  font-family:var(--c766c2-font-head);
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.3px;
  backdrop-filter:blur(4px);
  box-shadow:0 2px 10px rgba(0,0,0,.4);
}

.c766c2-caro-dots{
  position:absolute;
  right:10px;
  bottom:10px;
  display:flex;
  gap:6px;
}

.c766c2-caro-dot{
  width:22px;
  height:22px;
  display:grid;
  place-content:center;
  border-radius:50%;
}
.c766c2-caro-dot::after{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:rgba(230,230,250,.4);
  transition:transform .18s ease,background .18s ease;
}
.c766c2-caro-dot.c766c2-is-on::after{
  background:var(--c766c2-teal);
  transform:scale(1.35);
}

/* ---------- chips strip -------------------------------------------------- */

.c766c2-chips{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:2px 2px 10px;
  margin:0 0 6px;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.c766c2-chips::-webkit-scrollbar{display:none}

.c766c2-chip{
  flex:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:6px 12px;
  border-radius:999px;
  background:var(--c766c2-bg-raise);
  border:1px solid var(--c766c2-line);
  color:var(--c766c2-muted);
  font-size:12px;
  font-weight:600;
  white-space:nowrap;
}
.c766c2-chip-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--c766c2-teal);
  flex:none;
}
.c766c2-chip:nth-child(2n) .c766c2-chip-dot{background:var(--c766c2-gold)}
.c766c2-chip:nth-child(3n) .c766c2-chip-dot{background:var(--c766c2-violet)}

/* ---------- section frame (intro-then-section rhythm) ------------------- */

.c766c2-section{margin:22px 0}

.c766c2-sec-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
}

.c766c2-sec-mark{
  flex:none;
  width:8px;
  height:26px;
  border-radius:4px;
  background:linear-gradient(180deg,var(--c766c2-gold),var(--c766c2-teal));
}

.c766c2-sec-head h2{
  font-size:18.5px;
  color:#fff;
  text-wrap:balance;
}

.c766c2-sec-count{
  flex:none;
  margin-left:auto;
  padding:3px 9px;
  border-radius:999px;
  background:var(--c766c2-violet-soft);
  box-shadow:inset 0 0 0 1px var(--c766c2-violet-line);
  color:var(--c766c2-lav);
  font-size:11px;
  font-weight:700;
}

.c766c2-sec-lead{
  color:var(--c766c2-muted);
  font-size:13.8px;
  margin:0 0 12px;
}
.c766c2-sec-lead a{
  color:var(--c766c2-teal);
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:rgba(32,178,170,.5);
  text-underline-offset:3px;
}
.c766c2-sec-lead a:hover{color:var(--c766c2-gold)}

@media (prefers-reduced-motion:no-preference){
  .c766c2-section{animation:c766c2-rise .38s ease both}
  @keyframes c766c2-rise{
    from{opacity:0;transform:translateY(8px)}
    to{opacity:1;transform:translateY(0)}
  }
}

/* ---------- game grid: image card with bottom name bar ------------------ */

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

.c766c2-gamecard{
  display:flex;
  flex-direction:column;
  border-radius:var(--c766c2-radius-card);
  background:var(--c766c2-bg-raise);
  border:1px solid var(--c766c2-line);
  overflow:hidden;
  text-align:center;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.c766c2-gamecard:hover{
  transform:translateY(-2px);
  border-color:var(--c766c2-teal-line);
  box-shadow:0 8px 18px rgba(0,0,0,.4);
}
.c766c2-gamecard:active{transform:scale(.95)}

.c766c2-gamecard-frame{
  display:block;
  position:relative;
  background:#101014;
}
.c766c2-gamecard-frame img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
}

.c766c2-gamecard-name{
  display:block;
  padding:4px 4px 5px;
  min-height:30px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:10.6px;
  line-height:1.35;
  font-weight:600;
  color:var(--c766c2-lav);
  background:linear-gradient(180deg,rgba(32,178,170,.10),rgba(32,178,170,.02));
  border-top:1px solid rgba(32,178,170,.18);
}

/* ---------- milestones (two-column tiles) -------------------------------- */

.c766c2-milestones{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.c766c2-mile-tile{
  padding:12px 12px 10px;
  border-radius:var(--c766c2-radius-card);
  background:var(--c766c2-bg-raise);
  border:1px solid var(--c766c2-line);
  border-top:2px solid var(--c766c2-teal);
}
.c766c2-mile-tile:nth-child(2n){border-top-color:var(--c766c2-violet)}
.c766c2-mile-tile:nth-child(3n){border-top-color:var(--c766c2-gold)}

.c766c2-mile-num{
  display:inline-grid;
  place-content:center;
  width:26px;
  height:26px;
  margin-bottom:6px;
  border-radius:8px;
  background:var(--c766c2-teal-soft);
  color:var(--c766c2-teal);
  font-family:var(--c766c2-font-head);
  font-size:13px;
  font-weight:800;
}
.c766c2-mile-tile:nth-child(2n) .c766c2-mile-num{color:var(--c766c2-violet);background:var(--c766c2-violet-soft)}

.c766c2-mile-tile h3{
  font-size:14px;
  color:var(--c766c2-gold);
  margin:0 0 4px;
}

.c766c2-mile-tile p{
  margin:0;
  font-size:12.3px;
  line-height:1.6;
  color:var(--c766c2-muted);
}

/* ---------- numbered steps ------------------------------------------------ */

.c766c2-steps{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.c766c2-step{
  display:flex;
  gap:10px;
  padding:12px;
  border-radius:var(--c766c2-radius-card);
  background:var(--c766c2-bg-raise);
  border:1px solid var(--c766c2-line);
}

.c766c2-step-num{
  flex:none;
  width:30px;
  height:30px;
  display:grid;
  place-content:center;
  border-radius:10px;
  background:linear-gradient(150deg,var(--c766c2-violet),#5346a5);
  color:#fff;
  font-family:var(--c766c2-font-head);
  font-size:14px;
  font-weight:800;
  box-shadow:0 3px 10px rgba(106,90,205,.35);
}

.c766c2-step-body h3{
  font-size:14.5px;
  color:var(--c766c2-gold);
  margin:0 0 4px;
}
.c766c2-step-body p{
  margin:0;
  font-size:13px;
  line-height:1.68;
  color:var(--c766c2-muted);
}
.c766c2-step-body a{
  color:var(--c766c2-teal);
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:rgba(32,178,170,.5);
  text-underline-offset:3px;
}
.c766c2-step-body a:hover{color:var(--c766c2-gold)}

/* ---------- glossary ------------------------------------------------------ */

.c766c2-glossary{
  border-radius:var(--c766c2-radius-tile);
  background:var(--c766c2-bg-raise);
  border:1px solid var(--c766c2-line);
  padding:4px 14px;
}

.c766c2-term{
  padding:12px 0;
  border-bottom:1px dashed var(--c766c2-line);
}
.c766c2-term:last-child{border-bottom:0}

.c766c2-term dt{
  font-family:var(--c766c2-font-head);
  font-weight:700;
  font-size:14.5px;
  color:var(--c766c2-teal);
}
.c766c2-term dd{
  margin:3px 0 0;
  font-size:13px;
  line-height:1.66;
  color:var(--c766c2-muted);
}

/* ---------- scenario cards ------------------------------------------------ */

.c766c2-scenarios{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.c766c2-scen{
  display:flex;
  gap:11px;
  padding:13px 12px;
  border-radius:var(--c766c2-radius-card);
  background:linear-gradient(120deg,rgba(106,90,205,.12),var(--c766c2-bg-raise) 62%);
  border:1px solid var(--c766c2-violet-line);
}

.c766c2-scen-ic{
  flex:none;
  width:38px;
  height:38px;
  display:grid;
  place-content:center;
  border-radius:11px;
  background:var(--c766c2-violet-soft);
  color:var(--c766c2-lav);
}
.c766c2-scen-ic svg{width:20px;height:20px}

.c766c2-scen h3{
  font-size:14.5px;
  color:var(--c766c2-gold);
  margin:1px 0 4px;
}
.c766c2-scen p{
  margin:0;
  font-size:13px;
  line-height:1.66;
  color:var(--c766c2-muted);
}
.c766c2-scen a{
  color:var(--c766c2-teal);
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:rgba(32,178,170,.5);
  text-underline-offset:3px;
}
.c766c2-scen a:hover{color:var(--c766c2-gold)}

/* ---------- extended footer ------------------------------------------------
   order: promo actions > brand > page directory > disclaimer
   layout: two-column directory, icon+text labels, conditional note            */

.c766c2-xfooter{
  margin-top:26px;
  padding:16px 14px 14px;
  border-radius:var(--c766c2-radius-tile);
  background:linear-gradient(180deg,#1b1b22,#151519);
  border:1px solid var(--c766c2-line);
  border-top:2px solid var(--c766c2-gold);
}

.c766c2-xf-title{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:16.5px;
  color:#fff;
  margin:0 0 4px;
}
.c766c2-xf-title::before{
  content:"";
  width:7px;
  height:20px;
  border-radius:4px;
  background:linear-gradient(180deg,var(--c766c2-gold),var(--c766c2-teal));
}

.c766c2-xf-promos{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:10px 0 14px;
}

.c766c2-xf-promo{
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px 11px;
  min-height:56px;
  border-radius:var(--c766c2-radius-card);
  background:var(--c766c2-bg-deep);
  border:1px solid var(--c766c2-line);
  text-align:left;
  transition:border-color .15s ease,transform .15s ease;
}
.c766c2-xf-promo:hover{border-color:var(--c766c2-gold);transform:translateY(-1px)}
.c766c2-xf-promo:active{transform:scale(.97)}

.c766c2-xf-promo-ic{
  flex:none;
  width:34px;
  height:34px;
  display:grid;
  place-content:center;
  border-radius:10px;
  background:var(--c766c2-gold-soft);
  color:var(--c766c2-gold);
}
.c766c2-xf-promo:nth-child(2n) .c766c2-xf-promo-ic{
  background:var(--c766c2-teal-soft);
  color:var(--c766c2-teal);
}
.c766c2-xf-promo-ic svg{width:18px;height:18px}

.c766c2-xf-promo strong{
  display:block;
  font-family:var(--c766c2-font-head);
  font-size:13.4px;
  color:var(--c766c2-lav);
  line-height:1.25;
}
.c766c2-xf-promo small{
  display:block;
  font-size:11px;
  color:var(--c766c2-faint);
  line-height:1.4;
}

.c766c2-xf-brand{
  font-size:12.8px;
  line-height:1.7;
  color:var(--c766c2-muted);
  padding:0 2px 14px;
  border-bottom:1px solid var(--c766c2-line);
}

.c766c2-xf-dir{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:12px 0 4px;
}

.c766c2-xf-dir h3{
  font-size:12px;
  letter-spacing:.8px;
  color:var(--c766c2-gold);
  margin:0 0 6px;
}

.c766c2-xf-dir ul{list-style:none}

.c766c2-xf-dir li{
  min-height:44px;
  display:flex;
  align-items:center;
}
.c766c2-xf-dir a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--c766c2-muted);
  font-size:12.6px;
  font-weight:600;
  line-height:1.3;
  padding:4px 0;
}
.c766c2-xf-dir a::before{
  content:"";
  width:5px;
  height:5px;
  border-radius:2px;
  background:var(--c766c2-teal);
  transform:rotate(45deg);
  flex:none;
}
.c766c2-xf-dir a:hover{color:var(--c766c2-gold)}

.c766c2-xf-disclaim{
  margin-top:10px;
  padding:10px 12px;
  border-radius:var(--c766c2-radius-card);
  background:rgba(238,232,170,.06);
  border:1px dashed rgba(238,232,170,.28);
  font-size:11.8px;
  line-height:1.65;
  color:var(--c766c2-faint);
}

/* ---------- common footer ------------------------------------------------- */

.c766c2-footer{
  padding:14px 4px 4px;
  text-align:center;
  font-size:12px;
  color:var(--c766c2-faint);
}
.c766c2-footer b{color:var(--c766c2-muted);font-weight:600}

/* ---------- floating dock (bottom nav) -------------------------------------
   5 roles: home / promo / promo / function page / help page
   containerized icon tiles · top indicator line for the active item        */

.c766c2-dock{
  position:fixed;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:100%;
  max-width:430px;
  z-index:55;
  display:flex;
  padding:6px 6px calc(6px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(23,23,29,.9),#101015);
  border-top:1px solid var(--c766c2-line);
  backdrop-filter:blur(10px);
}

.c766c2-dock-item{
  position:relative;
  flex:1;
  min-height:52px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  border-radius:12px;
  color:var(--c766c2-faint);
  transition:color .15s ease;
}
.c766c2-dock-item::before{
  /* top indicator line */
  content:"";
  position:absolute;
  top:-6px;
  left:50%;
  width:0;
  height:3px;
  border-radius:0 0 3px 3px;
  background:var(--c766c2-teal);
  transform:translateX(-50%);
  transition:width .2s ease;
}
.c766c2-dock-item.c766c2-is-active{color:var(--c766c2-gold)}
.c766c2-dock-item.c766c2-is-active::before{width:26px}

.c766c2-dock-tile{
  width:36px;
  height:26px;
  display:grid;
  place-content:center;
  border-radius:8px;
  transition:transform .18s cubic-bezier(.34,1.56,.64,1),background .18s ease;
}
.c766c2-dock-tile svg{width:20px;height:20px}

.c766c2-dock-item:active .c766c2-dock-tile{transform:scale(.82) translateY(1px)}
.c766c2-dock-item.c766c2-is-active .c766c2-dock-tile{
  background:var(--c766c2-teal-soft);
  transform:translateY(-1px);
}

.c766c2-dock-tile--gold{color:var(--c766c2-gold)}
.c766c2-dock-tile--teal{color:var(--c766c2-teal)}

.c766c2-dock-label{
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.2px;
  line-height:1;
}

/* ---------- small utilities ----------------------------------------------- */

.c766c2-note{
  font-size:11.5px;
  color:var(--c766c2-faint);
}

/* ---------- breakpoints ---------------------------------------------------- */

@media (min-width:375px){
  .c766c2-hero-title{font-size:29px}
  .c766c2-sec-head h2{font-size:19.5px}
  .c766c2-gamegrid{gap:10px 8px}
}

/* 430px: five game columns keep names on one tight bar */
@media (min-width:430px){
  .c766c2-gamegrid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .c766c2-hero-title{font-size:31px}
  .c766c2-xf-promos{gap:10px}
}

/* ---------- support page tools --------------------------------------------- */
.c766c2-support-hero{padding:18px 15px;margin-bottom:14px;background:linear-gradient(135deg,rgba(32,178,170,.18),rgba(106,90,205,.28)),var(--c766c2-bg-raise);border-color:var(--c766c2-teal-line)}
.c766c2-support-hero h1{font-size:26px;color:#fff}
.c766c2-support-hero p{margin-top:9px;color:var(--c766c2-muted);font-size:14px}
.c766c2-answer-list{display:flex;flex-direction:column;gap:9px}
.c766c2-answer{padding:13px 13px 12px;border-left:3px solid var(--c766c2-teal);border-radius:0 var(--c766c2-radius-card) var(--c766c2-radius-card) 0;background:var(--c766c2-bg-raise);box-shadow:0 5px 14px rgba(0,0,0,.22)}
.c766c2-answer:nth-child(2n){border-left-color:var(--c766c2-gold)}
.c766c2-answer h3{font-size:15px;color:var(--c766c2-gold);margin:0 0 5px}
.c766c2-answer p{font-size:13px;line-height:1.7;color:var(--c766c2-muted);margin:0}
.c766c2-answer p a,.c766c2-prose a{color:var(--c766c2-teal);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.c766c2-prose{padding:14px;border:1px solid var(--c766c2-line);border-radius:var(--c766c2-radius-tile);background:rgba(29,29,35,.84)}
.c766c2-prose h3{font-size:15px;color:var(--c766c2-gold);margin:0 0 6px}
.c766c2-prose p{font-size:13px;line-height:1.72;color:var(--c766c2-muted);margin:0 0 10px}
.c766c2-prose p:last-child{margin-bottom:0}
.c766c2-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.c766c2-review-cell{padding:11px;border-top:2px solid var(--c766c2-violet);border-radius:var(--c766c2-radius-card);background:var(--c766c2-bg-raise);min-width:0}
.c766c2-review-cell:nth-child(2n){border-top-color:var(--c766c2-teal)}
.c766c2-review-cell h3{font-size:13.5px;color:#fff;margin:0 0 5px}
.c766c2-review-cell p{font-size:12.3px;line-height:1.62;color:var(--c766c2-muted);margin:0}
.c766c2-signal{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid var(--c766c2-line);border-radius:var(--c766c2-radius-card);background:linear-gradient(110deg,var(--c766c2-violet-soft),var(--c766c2-bg-raise));margin-bottom:8px}
.c766c2-signal:last-child{margin-bottom:0}
.c766c2-signal b{display:block;color:var(--c766c2-gold);font-size:13px}
.c766c2-signal span{display:block;color:var(--c766c2-muted);font-size:12.5px;line-height:1.62}
.c766c2-dotmark{flex:none;width:9px;height:9px;margin-top:7px;border-radius:50%;background:var(--c766c2-teal);box-shadow:0 0 0 4px var(--c766c2-teal-soft)}

/* ---------- reduced motion ------------------------------------------------- */

/* ---------- reduced motion ------------------------------------------------- */

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}
