
/* ==============================
   NETFLIX-LIKE STAGE
============================== */
:root{
  --bg:#141414;
  --text:#ffffff;
  --muted:rgba(255,255,255,.65);
  --muted2:rgba(255,255,255,.45);
  --tileBorder:rgba(255,255,255,.18);
  --tileBorderHover:rgba(255,255,255,.85);
  --tileShadow:0 18px 45px rgba(0,0,0,.55);
  --ctaBorder:rgba(255,255,255,.35);
  --ctaHoverBg:#ffffff;
  --ctaHoverText:#111111;
}

.tb-gate{
  min-height:100vh;
  background:var(--bg);
  color:var(--text);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:72px 18px;
}

/* subtle premium color “film light” (controlled) */
.tb-gate::before{
  content:"";
  position:fixed;
  inset:-20%;
  pointer-events:none;
  background:
    radial-gradient(700px 420px at 18% 34%, rgba(229,9,20,.18), transparent 62%),
    radial-gradient(760px 480px at 82% 58%, rgba(0,170,255,.14), transparent 64%);
  filter:blur(22px);
  opacity:.75;
  z-index:0;
}

.tb-gate-inner{
  position:relative;
  z-index:1;
  width:100%;
  max-width:980px;
  text-align:center;
}

.tb-gate-title{
  font-size:clamp(38px, 5vw, 64px);
  font-weight:700;            /* Netflix is not ultra-900 */
  letter-spacing:-0.6px;
  margin:0 0 14px 0;
}

.tb-gate-sub{
  margin:0 0 54px 0;
  font-size:16px;
  color:var(--muted2);
}

/* ==============================
   PROFILE ROW (Netflix proportion)
============================== */
.tb-profiles{
  display:flex;
  justify-content:center;
  gap:44px;
  flex-wrap:wrap;
  margin:0 0 46px 0;
}

.tb-profile{
  width:152px; /* Netflix default tile size feeling */
  user-select:none;
  cursor:pointer;
}

.tb-avatar{
  width:152px;
  height:152px;
  border:2px solid transparent; /* border appears on hover */
  overflow:hidden;
  box-shadow:none;
  transform:translateZ(0);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  background:#222;
  position:relative;
}

/* hover like Netflix */
.tb-profile:hover .tb-avatar{
  transform:scale(1.06);
  border-color:var(--tileBorderHover);
  box-shadow:var(--tileShadow);
}

.tb-profile.selected .tb-avatar{
  transform:scale(1.06);
  border-color:var(--tileBorderHover);
  box-shadow:var(--tileShadow);
}

/* name label like Netflix */
.tb-name{
  margin-top:14px;
  font-size:14px;
  letter-spacing:.2px;
  color:var(--muted);
  transition:color .18s ease;
}
.tb-profile:hover .tb-name,
.tb-profile.selected .tb-name{
  color:#fff;
}

/* ==============================
   AVATAR ART (premium, simple, iconic)
   No childish gradients, but Netflix-like bold colors.
============================== */
.tb-art{
  width:100%;
  height:100%;
  display:block;
}

/* Junior badge (subtle, not kiddish) */
.tb-badge{
  position:absolute;
  right:10px;
  bottom:10px;
  font-size:11px;
  padding:4px 8px;
  background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.85);
  backdrop-filter: blur(6px);
}

/* ==============================
   CTA (Manage Profiles -> Google)
============================== */
.tb-cta-wrap{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}

.tb-cta-hint{
  font-size:13px;
  color:var(--muted2);
}

.tb-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 26px;
  border-radius:4px;
  border:1px solid var(--ctaBorder);
  background:transparent;
  color:#fff;
  font-weight:600;
  font-size:14px;
  letter-spacing:.25px;
  cursor:pointer;
  transition:background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}

.tb-cta:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.tb-cta:not(:disabled):hover{
  background:var(--ctaHoverBg);
  color:var(--ctaHoverText);
  border-color:#fff;
  transform:translateY(-1px);
}

.tb-cta .gmark{
  width:16px;
  height:16px;
  display:inline-block;
}

/* ==============================
   MOBILE
============================== */
@media(max-width:520px){
  .tb-profiles{ gap:26px; margin-bottom:36px; }
  .tb-profile{ width:132px; }
  .tb-avatar{ width:132px; height:132px; border-radius:10px; }
}
