/* ============================================================
   bd 111 — bd-111.homes — visuals stylesheet
   Mobile-first dark canvas, gold accent, compact high-density tiles.
   Every class and CSS variable carries the surfacee0c65- prefix.
   ============================================================ */

/* ---------- Design tokens ---------- */
:root{
  --surfacee0c65-ink:#2C2C2C;          /* primary dark background */
  --surfacee0c65-ink-800:#232323;      /* card / section body */
  --surfacee0c65-ink-700:#1c1c1c;      /* deeper panel */
  --surfacee0c65-line:#3a3a3a;         /* hairline divider */
  --surfacee0c65-line-soft:#333333;
  --surfacee0c65-paper:#FAFAFA;        /* primary light text */
  --surfacee0c65-paper-dim:#bdbdbd;    /* secondary text */
  --surfacee0c65-paper-mute:#8c8c8c;   /* tertiary / caption */
  --surfacee0c65-gold:#FFEF94;         /* accent / CTA */
  --surfacee0c65-gold-deep:#f4d35a;    /* hover / pressed */
  --surfacee0c65-gold-ink:#3a2f00;     /* text on gold */
  --surfacee0c65-danger:#ff6b6b;

  --surfacee0c65-radius-xs:5px;
  --surfacee0c65-radius-s:7px;
  --surfacee0c65-radius-m:10px;
  --surfacee0c65-radius-l:14px;

  --surfacee0c65-gap-xs:6px;
  --surfacee0c65-gap-s:10px;
  --surfacee0c65-gap-m:14px;
  --surfacee0c65-gap-l:20px;

  --surfacee0c65-touch:44px;
  --surfacee0c65-edge:14px;

  --surfacee0c65-font-tech:"Segoe UI","Noto Sans Bengali",system-ui,-apple-system,sans-serif;
  --surfacee0c65-font-body:"Noto Sans Bengali","Hind Siliguri","Segoe UI",system-ui,sans-serif;

  --surfacee0c65-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset / base ---------- */
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{ -webkit-text-size-adjust:100%; }
body{
  background:#151515;
  color:var(--surfacee0c65-paper);
  font-family:var(--surfacee0c65-font-body);
  font-size:15px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto;}
a{color:var(--surfacee0c65-gold);text-decoration:none;}
a:hover{color:var(--surfacee0c65-gold-deep);}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit;}
:focus-visible{outline:2px solid var(--surfacee0c65-gold);outline-offset:2px;border-radius:4px;}

/* ---------- Page canvas (centered phone frame on wide screens) ---------- */
.surfacee0c65-page{
  max-width:430px;
  margin:0 auto;
  background:var(--surfacee0c65-ink);
  min-height:100vh;
  position:relative;
  box-shadow:0 0 0 1px var(--surfacee0c65-line-soft);
}
.surfacee0c65-main{
  padding-top:60px;     /* fixed header height */
  padding-bottom:128px; /* dock + safe area */
}

/* ---------- Top brand bar ---------- */
.surfacee0c65-header{
  position:fixed;
  top:0;left:0;right:0;
  max-width:430px;
  margin:0 auto;
  height:60px;
  background:rgba(28,28,28,.96);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--surfacee0c65-line);
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 var(--surfacee0c65-edge);
  z-index:50;
}
.surfacee0c65-brand{
  display:flex;align-items:center;gap:9px;min-width:0;flex:1;
}
.surfacee0c65-brand-logo{
  width:34px;height:34px;border-radius:8px;object-fit:cover;
  border:1px solid var(--surfacee0c65-gold);
  flex:0 0 auto;
}
.surfacee0c65-brand-name{
  font-family:var(--surfacee0c65-font-tech);
  font-weight:800;
  font-size:18px;
  letter-spacing:.4px;
  color:var(--surfacee0c65-paper);
  white-space:nowrap;
}
.surfacee0c65-brand-name b{color:var(--surfacee0c65-gold);}

.surfacee0c65-headacts{display:flex;align-items:center;gap:8px;}
.surfacee0c65-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:var(--surfacee0c65-touch);
  padding:0 14px;
  border-radius:var(--surfacee0c65-radius-s);
  font-family:var(--surfacee0c65-font-tech);
  font-weight:700;
  font-size:13.5px;
  letter-spacing:.2px;
  transition:transform .12s var(--surfacee0c65-ease),background-color .15s var(--surfacee0c65-ease),box-shadow .15s var(--surfacee0c65-ease);
  white-space:nowrap;
}
.surfacee0c65-btn:active{transform:translateY(1px) scale(.98);}
.surfacee0c65-btn--register{
  background:var(--surfacee0c65-gold);
  color:var(--surfacee0c65-gold-ink);
  box-shadow:0 1px 0 rgba(255,255,255,.35) inset;
}
.surfacee0c65-btn--register:hover{background:var(--surfacee0c65-gold-deep);color:var(--surfacee0c65-gold-ink);}
.surfacee0c65-btn--login{
  background:transparent;
  color:var(--surfacee0c65-paper);
  border:1px solid var(--surfacee0c65-line);
}
.surfacee0c65-btn--login:hover{border-color:var(--surfacee0c65-gold);color:var(--surfacee0c65-gold);}
.surfacee0c65-menubtn{
  width:40px;height:40px;border-radius:8px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--surfacee0c65-line);
  color:var(--surfacee0c65-paper);
  transition:background-color .15s var(--surfacee0c65-ease),border-color .15s var(--surfacee0c65-ease);
}
.surfacee0c65-menubtn:hover{border-color:var(--surfacee0c65-gold);color:var(--surfacee0c65-gold);}
.surfacee0c65-menubtn svg{width:20px;height:20px;}

/* ---------- Side drawer menu ---------- */
.surfacee0c65-scrim{
  position:fixed;inset:0;
  background:rgba(0,0,0,.55);
  opacity:0;visibility:hidden;
  transition:opacity .25s var(--surfacee0c65-ease),visibility .25s;
  z-index:60;
}
.surfacee0c65-drawer-open .surfacee0c65-scrim{opacity:1;visibility:visible;}
.surfacee0c65-drawer{
  position:fixed;top:0;right:0;bottom:0;
  width:min(82vw,330px);
  background:var(--surfacee0c65-ink-700);
  border-left:1px solid var(--surfacee0c65-line);
  transform:translateX(100%);
  transition:transform .28s var(--surfacee0c65-ease);
  z-index:61;
  display:flex;flex-direction:column;
  padding:14px 0 22px;
  overflow-y:auto;
}
.surfacee0c65-drawer-open .surfacee0c65-drawer{transform:translateX(0);}
.surfacee0c65-drawer-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:6px 16px 14px;border-bottom:1px solid var(--surfacee0c65-line);
}
.surfacee0c65-drawer-title{
  font-family:var(--surfacee0c65-font-tech);font-weight:800;font-size:15px;
  letter-spacing:.5px;color:var(--surfacee0c65-gold);text-transform:uppercase;
}
.surfacee0c65-drawer-close{
  width:36px;height:36px;border-radius:8px;
  border:1px solid var(--surfacee0c65-line);
  display:inline-flex;align-items:center;justify-content:center;color:var(--surfacee0c65-paper);
}
.surfacee0c65-drawer-close:hover{border-color:var(--surfacee0c65-gold);color:var(--surfacee0c65-gold);}
.surfacee0c65-drawer-nav{display:flex;flex-direction:column;padding:8px 10px;}
.surfacee0c65-drawer-section{
  font-size:11px;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--surfacee0c65-paper-mute);padding:14px 8px 6px;
}
.surfacee0c65-drawer-link{
  display:flex;align-items:center;gap:11px;
  padding:12px 10px;border-radius:9px;
  color:var(--surfacee0c65-paper);
  font-size:14.5px;font-weight:500;
  transition:background-color .14s var(--surfacee0c65-ease),color .14s;
}
.surfacee0c65-drawer-link:hover{background:var(--surfacee0c65-ink-800);color:var(--surfacee0c65-gold);}
.surfacee0c65-drawer-link svg{width:18px;height:18px;color:var(--surfacee0c65-gold);flex:0 0 auto;}
.surfacee0c65-drawer-cta{
  margin:14px 12px 4px;
  background:var(--surfacee0c65-gold);color:var(--surfacee0c65-gold-ink);
  text-align:center;padding:13px;border-radius:10px;
  font-weight:800;font-family:var(--surfacee0c65-font-tech);letter-spacing:.3px;
}
.surfacee0c65-drawer-cta:hover{background:var(--surfacee0c65-gold-deep);}

/* ---------- Hero carousel ---------- */
.surfacee0c65-hero{padding:14px var(--surfacee0c65-edge) 4px;}
.surfacee0c65-carousel{
  position:relative;
  border-radius:var(--surfacee0c65-radius-l);
  overflow:hidden;
  border:1px solid var(--surfacee0c65-line);
  background:var(--surfacee0c65-ink-700);
}
.surfacee0c65-viewport{position:relative;aspect-ratio:16/9;overflow:hidden;}
.surfacee0c65-slide{
  position:absolute;inset:0;
  opacity:0;transition:opacity .45s var(--surfacee0c65-ease);
  display:block;
}
.surfacee0c65-slide.is-active{opacity:1;position:relative;}
.surfacee0c65-slide img{width:100%;height:100%;object-fit:cover;}
.surfacee0c65-slide-overlay{
  position:absolute;left:0;right:0;bottom:0;
  padding:14px 14px 12px;
  background:linear-gradient(180deg,rgba(20,20,20,0) 0%,rgba(20,20,20,.78) 70%,rgba(20,20,20,.9) 100%);
  display:flex;flex-direction:column;gap:6px;
  pointer-events:none;
}
.surfacee0c65-slide-eyebrow{
  align-self:flex-start;
  font-family:var(--surfacee0c65-font-tech);font-size:10.5px;font-weight:800;
  letter-spacing:1.2px;text-transform:uppercase;
  color:var(--surfacee0c65-gold-ink);background:var(--surfacee0c65-gold);
  padding:3px 8px;border-radius:99px;
}
.surfacee0c65-slide-title{
  font-family:var(--surfacee0c65-font-tech);font-weight:800;font-size:18px;line-height:1.25;
  color:#fff;margin:0;
}
.surfacee0c65-carousel-dots{
  display:flex;justify-content:center;gap:7px;padding:9px 0 11px;
  background:rgba(0,0,0,.18);
}
.surfacee0c65-dot{
  width:8px;height:8px;border-radius:50%;
  background:rgba(250,250,250,.32);
  transition:background-color .15s var(--surfacee0c65-ease),width .2s var(--surfacee0c65-ease);
  padding:0;border:0;
}
.surfacee0c65-dot.is-active{background:var(--surfacee0c65-gold);width:22px;border-radius:5px;}

/* ---------- Section shell ---------- */
.surfacee0c65-section{padding:18px var(--surfacee0c65-edge) 6px;}
.surfacee0c65-section-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:10px;
  margin-bottom:11px;
}
.surfacee0c65-section-title{
  font-family:var(--surfacee0c65-font-tech);font-weight:800;font-size:17px;
  letter-spacing:.2px;margin:0;color:var(--surfacee0c65-paper);
  display:flex;align-items:center;gap:8px;
}
.surfacee0c65-section-title::before{
  content:"";width:4px;height:18px;border-radius:2px;background:var(--surfacee0c65-gold);display:inline-block;
}
.surfacee0c65-cat-badge{
  font-family:var(--surfacee0c65-font-tech);font-size:10.5px;font-weight:800;
  letter-spacing:1.1px;text-transform:uppercase;
  color:var(--surfacee0c65-gold);border:1px solid var(--surfacee0c65-line);
  padding:4px 9px;border-radius:99px;white-space:nowrap;
}
.surfacee0c65-cat-intro{
  font-size:13px;color:var(--surfacee0c65-paper-dim);line-height:1.6;
  margin:0 0 12px;
}
.surfacee0c65-cat-intro a{font-weight:600;}

/* ---------- Game grid + tiles (compact icon + name bar) ---------- */
.surfacee0c65-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
}
.surfacee0c65-tile{
  display:flex;flex-direction:column;
  background:var(--surfacee0c65-ink-800);
  border:1px solid var(--surfacee0c65-line);
  border-radius:var(--surfacee0c65-radius-s);
  overflow:hidden;
  text-align:center;
  transition:transform .12s var(--surfacee0c65-ease),border-color .15s var(--surfacee0c65-ease),box-shadow .15s;
  min-height:44px;
  padding:0;
  color:var(--surfacee0c65-paper);
}
.surfacee0c65-tile:hover{
  border-color:var(--surfacee0c65-gold);
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(0,0,0,.35);
}
.surfacee0c65-tile:active{transform:translateY(0) scale(.99);}
.surfacee0c65-tile-img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  background:var(--surfacee0c65-ink-700);
  border-bottom:1px solid var(--surfacee0c65-line);
}
.surfacee0c65-tile-name{
  font-size:11px;line-height:1.25;
  padding:5px 4px 6px;
  color:var(--surfacee0c65-paper);
  word-break:break-word;
  min-height:30px;
  display:flex;align-items:center;justify-content:center;
}

/* ---------- Content modules ---------- */
.surfacee0c65-module{
  background:var(--surfacee0c65-ink-800);
  border:1px solid var(--surfacee0c65-line);
  border-radius:var(--surfacee0c65-radius-m);
  padding:15px var(--surfacee0c65-gap-m) 17px;
  margin:0 var(--surfacee0c65-edge) 12px;
}
.surfacee0c65-module + .surfacee0c65-module{margin-top:0;}
.surfacee0c65-module-title{
  font-family:var(--surfacee0c65-font-tech);font-weight:800;font-size:16px;
  margin:0 0 8px;color:var(--surfacee0c65-paper);
  display:flex;align-items:center;gap:8px;
}
.surfacee0c65-module-title svg{width:18px;height:18px;color:var(--surfacee0c65-gold);}
.surfacee0c65-module p{
  margin:0 0 9px;font-size:13.5px;color:var(--surfacee0c65-paper-dim);line-height:1.65;
}
.surfacee0c65-module p:last-child{margin-bottom:0;}
.surfacee0c65-module a{font-weight:600;}
.surfacee0c65-module strong{color:var(--surfacee0c65-paper);font-weight:700;}

/* compact metric-explanation tiles */
.surfacee0c65-metrics{
  display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:10px 0 12px;
}
.surfacee0c65-metric{
  background:var(--surfacee0c65-ink-700);
  border:1px solid var(--surfacee0c65-line);
  border-radius:var(--surfacee0c65-radius-s);
  padding:11px 10px;text-align:left;
}
.surfacee0c65-metric-num{
  font-family:var(--surfacee0c65-font-tech);font-weight:800;font-size:19px;color:var(--surfacee0c65-gold);
  line-height:1;
}
.surfacee0c65-metric-label{font-size:11.5px;color:var(--surfacee0c65-paper-dim);margin-top:4px;line-height:1.35;}

/* direct answer Q&A rows */
.surfacee0c65-qa{display:flex;flex-direction:column;gap:9px;margin-top:4px;}
.surfacee0c65-qa-row{
  border-left:3px solid var(--surfacee0c65-gold);
  padding:3px 0 3px 11px;
}
.surfacee0c65-qa-q{font-size:13px;font-weight:700;color:var(--surfacee0c65-paper);margin:0 0 2px;}
.surfacee0c65-qa-a{font-size:13px;color:var(--surfacee0c65-paper-dim);margin:0;line-height:1.55;}

/* ---------- Achievements progress rows ---------- */
.surfacee0c65-progress{display:flex;flex-direction:column;gap:10px;margin-top:10px;}
.surfacee0c65-progress-row{
  display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;
}
.surfacee0c65-progress-ic{
  width:42px;height:42px;border-radius:9px;
  background:var(--surfacee0c65-ink-700);border:1px solid var(--surfacee0c65-line);
  display:flex;align-items:center;justify-content:center;color:var(--surfacee0c65-gold);
}
.surfacee0c65-progress-ic svg{width:20px;height:20px;}
.surfacee0c65-progress-body{min-width:0;}
.surfacee0c65-progress-name{font-size:13px;font-weight:700;color:var(--surfacee0c65-paper);margin:0 0 3px;line-height:1.3;}
.surfacee0c65-progress-track{height:5px;border-radius:3px;background:var(--surfacee0c65-line);overflow:hidden;}
.surfacee0c65-progress-fill{display:block;height:100%;background:linear-gradient(90deg,var(--surfacee0c65-gold),var(--surfacee0c65-gold-deep));border-radius:3px;}
.surfacee0c65-progress-pct{font-family:var(--surfacee0c65-font-tech);font-weight:800;font-size:12px;color:var(--surfacee0c65-gold);}

/* ---------- Extended footer ---------- */
.surfacee0c65-extfooter{
  margin:18px var(--surfacee0c65-edge) 8px;
  background:var(--surfacee0c65-ink-800);
  border:1px solid var(--surfacee0c65-line);
  border-radius:var(--surfacee0c65-radius-l);
  overflow:hidden;
}
.surfacee0c65-extfooter-brand{padding:15px var(--surfacee0c65-gap-m) 13px;border-bottom:1px solid var(--surfacee0c65-line);}
.surfacee0c65-extfooter-brand p{margin:0;font-size:12.5px;color:var(--surfacee0c65-paper-dim);line-height:1.6;}
.surfacee0c65-extfooter-promos{
  display:grid;grid-template-columns:repeat(2,1fr);gap:8px;
  padding:13px var(--surfacee0c65-gap-m);
  border-bottom:1px solid var(--surfacee0c65-line);
}
.surfacee0c65-extfooter-promos .surfacee0c65-btn{
  width:100%;font-size:12px;padding:0 8px;min-height:40px;
}
.surfacee0c65-extfooter-promos .surfacee0c65-btn:first-child{grid-column:1 / -1;}
.surfacee0c65-extfooter-promos .surfacee0c65-btn--register{background:var(--surfacee0c65-gold);color:var(--surfacee0c65-gold-ink);}
.surfacee0c65-extfooter-promos .surfacee0c65-btn--ghost{
  background:transparent;border:1px solid var(--surfacee0c65-line);color:var(--surfacee0c65-paper);
}
.surfacee0c65-extfooter-promos .surfacee0c65-btn--ghost:hover{border-color:var(--surfacee0c65-gold);color:var(--surfacee0c65-gold);}

.surfacee0c65-directory-title{
  font-family:var(--surfacee0c65-font-tech);font-size:11px;font-weight:800;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--surfacee0c65-paper-mute);
  padding:14px var(--surfacee0c65-gap-m) 7px;
}
.surfacee0c65-directory{
  display:grid;grid-template-columns:1fr 1fr;gap:3px 14px;
  padding:0 var(--surfacee0c65-gap-m) 13px;
}
.surfacee0c65-directory a{
  font-size:12.5px;color:var(--surfacee0c65-paper-dim);
  padding:6px 0;border-bottom:1px dashed var(--surfacee0c65-line-soft);
  display:flex;align-items:center;gap:6px;line-height:1.3;
}
.surfacee0c65-directory a:hover{color:var(--surfacee0c65-gold);}
.surfacee0c65-directory a::before{content:"›";color:var(--surfacee0c65-gold);font-weight:800;}

.surfacee0c65-disclaimer{
  padding:11px var(--surfacee0c65-gap-m) 14px;
  font-size:11px;color:var(--surfacee0c65-paper-mute);line-height:1.55;
  border-top:1px solid var(--surfacee0c65-line);
}

/* ---------- Base foot (copyright) ---------- */
.surfacee0c65-footbase{
  padding:6px var(--surfacee0c65-edge) 14px;
  text-align:center;font-size:11.5px;color:var(--surfacee0c65-paper-mute);
}

/* ---------- Bottom dock nav ---------- */
.surfacee0c65-dock{
  position:fixed;
  left:0;right:0;bottom:0;
  max-width:430px;
  margin:0 auto;
  background:rgba(20,20,20,.97);
  backdrop-filter:saturate(140%) blur(8px);
  border-top:1px solid var(--surfacee0c65-line);
  display:grid;
  grid-template-columns:repeat(5,1fr);
  padding:7px 4px calc(7px + env(safe-area-inset-bottom));
  z-index:55;
}
.surfacee0c65-dock-item{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  min-height:48px;padding:4px 2px;border-radius:9px;
  color:var(--surfacee0c65-paper-dim);
  transition:color .14s var(--surfacee0c65-ease),background-color .14s var(--surfacee0c65-ease),transform .12s;
  font-size:10px;font-weight:600;letter-spacing:.2px;
}
.surfacee0c65-dock-item:active{transform:translateY(1px) scale(.97);}
.surfacee0c65-dock-item:hover{color:var(--surfacee0c65-paper);}
.surfacee0c65-dock-icon{width:23px;height:23px;display:flex;align-items:center;justify-content:center;}
.surfacee0c65-dock-icon svg{width:23px;height:23px;}
.surfacee0c65-dock-item.is-active{color:var(--surfacee0c65-gold);}
.surfacee0c65-dock-item.is-active .surfacee0c65-dock-icon svg{fill:var(--surfacee0c65-gold);}
.surfacee0c65-dock-item--promo{color:var(--surfacee0c65-gold);}
.surfacee0c65-dock-item--promo .surfacee0c65-dock-icon svg{fill:none;}

/* ---------- Responsive: widen grid at larger phone canvas ---------- */
@media (min-width:380px){
  .surfacee0c65-grid{gap:10px;}
  .surfacee0c65-tile-name{font-size:11.5px;}
}
@media (min-width:430px){
  .surfacee0c65-grid{grid-template-columns:repeat(5,1fr);gap:11px;}
  .surfacee0c65-hero{padding-top:16px;}
  .surfacee0c65-section-title{font-size:18px;}
  .surfacee0c65-slide-title{font-size:20px;}
}

/* ---------- Small helpers ---------- */
.surfacee0c65-sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.surfacee0c65-eyebrow{
  font-family:var(--surfacee0c65-font-tech);font-size:10.5px;font-weight:800;letter-spacing:1.3px;
  text-transform:uppercase;color:var(--surfacee0c65-gold);display:inline-block;margin-bottom:5px;
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}
