/* Gamburry's guest authentication pages only. The Sngine footer is deliberately unchanged. */
body:has(.gamburry-auth) { background: #fff; padding-top: 0 !important; }
body:has(.gamburry-auth) .main-wrapper { background: #fff; min-height: 100dvh; padding-top: 0 !important; }
body:has(.gamburry-auth) .main-header { display: none; }
body:has(.gamburry-auth) .main-wrapper > .footer,
body:has(.gamburry-auth) .main-wrapper > .container { background: #fff; }
body:has(.gamburry-auth) .footer { margin-top: 8px; margin-bottom: 8px; padding-top: 5px; padding-bottom: 5px; font-size: 12px; line-height: 1.4; }
.gamburry-auth, .gamburry-auth * { box-sizing: border-box; }
.gamburry-auth {
  --gb-display: "Plus Jakarta Sans", "Poppins", sans-serif;
  position: relative; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(440px, .92fr);
  min-height: calc(100dvh - 44px); color: #17162d; font-family: "DM Sans", "Poppins", sans-serif;
}
.gamburry-auth .gb-promo {
  position: relative; isolation: isolate; display: flex; flex-direction: column; min-width: 0;
  min-height: calc(100dvh - 44px); overflow: hidden; padding: 30px clamp(34px, 5.3vw, 82px) 18px;
  background: radial-gradient(ellipse 47% 50% at 104% 54%,rgba(99,101,255,.42),transparent 72%),
    radial-gradient(ellipse 55% 39% at 91% 93%,rgba(41,117,255,.4),transparent 69%),
    radial-gradient(ellipse 49% 41% at -8% 99%,rgba(144,72,246,.34),transparent 74%),
    radial-gradient(ellipse 44% 27% at 49% 77%,rgba(177,154,255,.17),transparent 78%),
    radial-gradient(ellipse at 78% 5%,rgba(180,158,255,.28),transparent 28%),
    linear-gradient(140deg,#fbfaff 0%,#f0ebff 49%,#dfe8ff 100%);
}
.gamburry-auth .gb-icon-sprite { position:absolute; width:0; height:0; overflow:hidden; }
.gamburry-auth .gb-promo::before, .gamburry-auth .gb-promo::after { content: ""; position:absolute; border-radius:50%; pointer-events:none; }
.gamburry-auth .gb-promo::before { z-index:-1; width:500px; height:570px; right:-302px; top:15%; border-radius:48% 0 0 54%; background:radial-gradient(circle at 19% 39%,rgba(255,255,255,.3),transparent 29%),linear-gradient(145deg,rgba(150,73,246,.89),rgba(101,93,251,.88) 48%,rgba(32,139,255,.93)); filter:blur(15px); box-shadow:0 0 100px rgba(88,96,255,.42); transform:rotate(-12deg); }
.gamburry-auth .gb-promo::after { z-index:-1; width:460px; height:295px; left:-168px; bottom:-145px; background:linear-gradient(125deg,rgba(128,80,231,.48),rgba(84,128,255,.4)); filter:blur(18px); }
.gamburry-auth .gb-dot-grid { position:absolute; z-index:0; width:116px; height:116px; top:22%; right:6%; opacity:.55; background-image:radial-gradient(circle,rgba(119,126,239,.48) 1.8px,transparent 2px); background-size:18px 18px; mask-image:linear-gradient(135deg,#000 15%,transparent 92%); pointer-events:none; }
.gamburry-auth .gb-logo-link { position:relative; z-index:2; align-self:flex-start; }
.gamburry-auth .gb-logo { display:block; width:min(335px,78vw); max-height:90px; object-fit:contain; object-position:left; }
.gamburry-auth .gb-message { position:relative; z-index:2; max-width:590px; margin-top:clamp(13px,2.3vh,27px); }
.gamburry-auth .gb-eyebrow { margin:0 0 13px; color:#6b46d7; text-transform:uppercase; letter-spacing:.18em; font:700 11px var(--gb-display); }
.gamburry-auth .gb-message .gb-eyebrow { margin:12px 0 0; max-width:470px; color:#5f5d75; font-size:15px; line-height:1.58; }
.gamburry-auth .gb-message h1 { max-width:470px; margin:0; font:800 clamp(42px,4.7vw,62px)/.98 var(--gb-display); letter-spacing:-.058em; }
.gamburry-auth .gb-message h1 span, .gamburry-auth .gb-card-intro h2 span { background:linear-gradient(95deg,#7437e8,#1688f8); -webkit-background-clip:text; background-clip:text; color:transparent; }
.gamburry-auth .gb-message > p:last-child { max-width:470px; margin:12px 0 0; color:#5f5d75; font-size:15px; line-height:1.58; }
.gamburry-auth .gb-perks { position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; max-width:540px; margin-top:19px; }
.gamburry-auth .gb-perks > div { display:flex; flex-direction:column; align-items:center; gap:8px; min-width:0; font-size:12px; font-weight:700; line-height:1.25; text-align:center; }
.gamburry-auth .gb-perks b { display:grid; place-items:center; width:56px; height:56px; border:1px solid #fff; border-radius:18px; color:#7139e8; background:radial-gradient(circle at 75% 80%,rgba(157,120,255,.17),transparent 63%),linear-gradient(145deg,#fff,#f8f5ff); box-shadow:0 14px 27px rgba(78,59,158,.18),inset 0 1px 0 #fff; transition:transform .25s ease,box-shadow .25s ease; }
.gamburry-auth .gb-perks b svg { width:27px; height:27px; filter:drop-shadow(0 2px 3px rgba(112,58,220,.14)); }
.gamburry-auth .gb-perks > div:hover b { transform:translateY(-4px); box-shadow:0 19px 31px rgba(78,59,158,.23),inset 0 1px 0 #fff; }
.gamburry-auth .gb-perks > div:nth-child(3) b { color:#3375f4; }
.gamburry-auth .gb-collage { --gb-lift:24px; position:relative; z-index:1; flex:1; min-height:350px; margin:24px -20px 0; background:radial-gradient(ellipse 49% 60% at 77% 50%,rgba(69,111,255,.2),transparent 78%),radial-gradient(ellipse 50% 52% at 13% 82%,rgba(141,63,244,.24),transparent 79%); }
.gamburry-auth .gb-collage::before { content:""; position:absolute; left:-15%; top:11%; width:130%; height:80%; border:1px solid rgba(255,255,255,.42); border-radius:50%; box-shadow:0 0 0 27px rgba(255,255,255,.045),0 0 0 69px rgba(119,107,255,.035); transform:rotate(-13deg); pointer-events:none; }
.gamburry-auth .gb-collage::after { content:""; position:absolute; left:18%; top:20%; width:7px; height:7px; border-radius:50%; background:#fff; box-shadow:0 0 0 5px rgba(255,255,255,.2),128px -30px 0 -2px rgba(255,255,255,.82),264px 46px 0 -1px rgba(255,255,255,.8),406px -17px 0 -2px rgba(255,255,255,.9); pointer-events:none; }
.gamburry-auth .gb-blur-feed { position:absolute; z-index:0; left:-45px; top:53px; width:214px; height:145px; padding:12px; overflow:hidden; border:1px solid rgba(255,255,255,.78); border-radius:20px; background:rgba(255,255,255,.79); box-shadow:0 17px 39px rgba(82,69,172,.17),inset 0 1px 0 rgba(255,255,255,.7); filter:blur(1.15px); opacity:.82; transform:rotate(-8deg); }
.gamburry-auth .gb-blur-feed-visual { position:relative; display:flex; justify-content:space-between; height:48px; margin:-12px -12px 9px; padding:7px; color:#fff; font-size:23px; background:radial-gradient(circle at 18% 84%,rgba(180,113,255,.83),transparent 65%),linear-gradient(105deg,#8174eb,#5ea9f5); }
.gamburry-auth .gb-blur-feed-visual::before { content:""; position:absolute; left:24px; top:16px; width:160px; height:56px; border:1px solid rgba(255,255,255,.55); border-radius:50%; transform:rotate(-14deg); }
.gamburry-auth .gb-blur-feed-visual small { position:relative; z-index:1; align-self:flex-start; padding:4px 6px; border:1px solid rgba(255,255,255,.45); border-radius:5px; background:rgba(51,42,140,.27); font-size:8px; font-weight:800; letter-spacing:.08em; }
.gamburry-auth .gb-blur-feed-visual span { position:relative; z-index:1; }
.gamburry-auth .gb-blur-feed strong { display:block; color:#302962; font:800 13px/1.15 var(--gb-display); }
.gamburry-auth .gb-blur-feed > small { display:block; margin-top:3px; color:#777396; font-size:9px; }
.gamburry-auth .gb-feed-foot { display:flex; align-items:center; gap:7px; margin-top:9px; color:#665aa2; font-size:8px; font-weight:700; }
.gamburry-auth .gb-feed-avatars { display:flex; padding-left:6px; }
.gamburry-auth .gb-feed-avatars i { display:block; width:17px; height:17px; margin-left:-6px; border:2px solid #fff; border-radius:50%; background:linear-gradient(145deg,#fac2a8,#9954ce); }
.gamburry-auth .gb-feed-avatars i:nth-child(2) { background:linear-gradient(145deg,#aedffe,#416dd8); }
.gamburry-auth .gb-feed-avatars i:nth-child(3) { background:linear-gradient(145deg,#ffe0af,#ee799a); }
.gamburry-auth .gb-post { position:absolute; z-index:2; left:33%; bottom:var(--gb-lift); width:min(316px,54%); padding:13px; border-radius:22px; border:1px solid #fff; background:rgba(255,255,255,.96); box-shadow:0 29px 55px rgba(60,40,145,.26),0 4px 12px rgba(50,35,124,.09); transform:rotate(-7deg); transition:transform .32s ease,box-shadow .32s ease; }
.gamburry-auth .gb-collage:hover .gb-post { transform:rotate(-5deg) translateY(-4px); box-shadow:0 33px 60px rgba(60,40,145,.29),0 5px 15px rgba(50,35,124,.1); }
.gamburry-auth .gb-post-head { display:flex; align-items:center; gap:8px; margin-bottom:9px; font-size:10px; line-height:1.3; }
.gamburry-auth .gb-post-head img { width:31px; height:31px; border:2px solid #fff; border-radius:50%; object-fit:cover; }
.gamburry-auth .gb-post-head small { display:block; color:#9997a8; font-size:9px; }
.gamburry-auth .gb-post-image { display:block; width:100%; height:138px; border-radius:12px; object-fit:cover; filter:saturate(1.08) contrast(1.03); }
.gamburry-auth .gb-post-actions { display:flex; align-items:center; gap:19px; padding:8px 3px 0; color:#77758b; font-size:9px; font-weight:650; }
.gamburry-auth .gb-post-actions span { display:inline-flex; align-items:center; gap:5px; }
.gamburry-auth .gb-post-actions svg { width:14px; height:14px; }
.gamburry-auth .gb-post-actions .gb-post-like b { color:#ed5270; font-size:14px; line-height:1; }
.gamburry-auth .gb-photo { position:absolute; z-index:3; padding:4px; overflow:hidden; border:1px solid white; border-radius:19px; background:white; box-shadow:0 20px 38px rgba(50,35,130,.22),0 3px 8px rgba(60,42,130,.1); transition:transform .3s ease,box-shadow .3s ease; }
.gamburry-auth .gb-photo img { display:block; width:100%; height:100%; border-radius:13px; object-fit:cover; filter:saturate(1.08) contrast(1.04); }
.gamburry-auth .gb-woman { width:112px; height:140px; right:-5%; top:9px; transform:rotate(8deg); }
.gamburry-auth .gb-woman:hover { transform:rotate(5deg) translateY(-5px); box-shadow:0 25px 44px rgba(50,35,130,.28); }
.gamburry-auth .gb-man { width:110px; height:140px; right:1%; bottom:calc(var(--gb-lift) - 6px); transform:rotate(5deg); }
.gamburry-auth .gb-man:hover { transform:rotate(2deg) translateY(-5px); box-shadow:0 25px 44px rgba(50,35,130,.28); }
.gamburry-auth .gb-man::after { content:""; position:absolute; top:6px; right:6px; width:11px; height:11px; border:2px solid #fff; border-radius:50%; background:#28d78c; box-shadow:0 1px 4px rgba(13,109,70,.24); }
.gamburry-auth .gb-friend { width:104px; height:122px; left:21%; bottom:calc(var(--gb-lift) - 12px); transform:rotate(-7deg); }
.gamburry-auth .gb-friend:hover { transform:rotate(-4deg) translateY(-5px); box-shadow:0 25px 44px rgba(50,35,130,.28); }
.gamburry-auth .gb-float { position:absolute; z-index:4; display:grid; place-items:center; width:50px; height:50px; border:1px solid #fff; border-radius:14px; color:#7445dc; background:linear-gradient(145deg,#fff,#f8f4ff); box-shadow:0 12px 27px rgba(71,54,148,.2); font-size:21px; }
.gamburry-auth .gb-float svg { width:20px; height:20px; }
.gamburry-auth .gb-float-heart { right:12%; top:17%; width:45px; height:45px; color:#e15384; background:linear-gradient(145deg,#fff,#fff0f6); transform:rotate(9deg); }
.gamburry-auth .gb-float-chat { width:56px; height:56px; left:15%; top:36%; transform:rotate(-8deg); }
.gamburry-auth .gb-float-game { left:6%; bottom:calc(var(--gb-lift) - 7px); transform:rotate(-9deg); }
.gamburry-auth .gb-float-media { width:52px; height:52px; right:-5%; bottom:calc(var(--gb-lift) - 14px); transform:rotate(8deg); }
@media (prefers-reduced-motion:reduce) {
  .gamburry-auth .gb-perks b, .gamburry-auth .gb-post, .gamburry-auth .gb-photo { transition:none; }
  .gamburry-auth .gb-perks > div:hover b { transform:none; }
  .gamburry-auth .gb-collage:hover .gb-post { transform:rotate(-7deg); }
  .gamburry-auth .gb-woman:hover { transform:rotate(8deg); }
  .gamburry-auth .gb-man:hover { transform:rotate(5deg); }
  .gamburry-auth .gb-friend:hover { transform:rotate(-7deg); }
}
.gamburry-auth .gb-form-side { display:grid; place-items:center; min-width:0; padding:32px clamp(24px,4.6vw,66px); background:linear-gradient(135deg,#fbfaff,#f5f5ff); }
.gamburry-auth .gb-original-sign, .gamburry-auth .gb-original-reset { width:min(100%,526px); font-family:var(--body-font-family); }
.gamburry-auth .gb-signin-intro { text-align:left; }
.gamburry-auth .gb-signin-intro .gb-eyebrow { margin:0 0 8px; color:#6b46d7; font:700 11px var(--gb-display); letter-spacing:.18em; text-transform:uppercase; }
.gamburry-auth .gb-signup-intro .gb-eyebrow { color:#77758a; }
.gamburry-auth .gb-signin-intro h2 { margin:0; color:#17162d; font:800 clamp(29px,2.5vw,38px)/1.15 var(--gb-display); letter-spacing:-.05em; }
.gamburry-auth .gb-signin-intro h2 span { color:#6941e9; background:linear-gradient(95deg,#7437e8,#1688f8); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.gamburry-auth .gb-signin-intro > p:last-child { margin:8px 0 0; color:#77758a; font:400 14px/1.5 "DM Sans","Poppins",sans-serif; }
.gamburry-auth .gb-original-reset .card { margin:0; }
.gamburry-reset .gb-reset-intro { text-align:left; background:transparent; border-bottom:0; padding-bottom:20px; }
.gamburry-reset .gb-reset-icon { display:grid; place-items:center; width:60px; height:60px; margin-bottom:24px; border:1px solid #ede7f6; border-radius:18px; color:#7537e7; background:linear-gradient(145deg,#fff,#f8f5ff); box-shadow:0 12px 28px rgba(98,66,177,.12); }
.gamburry-reset .gb-reset-icon svg { width:28px; height:28px; }
.gamburry-reset .gb-reset-eyebrow { margin:0 0 12px; color:#77758a; font:700 11px var(--gb-display); letter-spacing:.18em; text-transform:uppercase; }
.gamburry-reset .gb-reset-title { margin:0; color:#17162d; font:800 clamp(36px,3.3vw,48px)/1.12 var(--gb-display); letter-spacing:-.055em; }
.gamburry-reset .gb-reset-title span { background:linear-gradient(95deg,#7437e8,#1688f8); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.gamburry-reset .gb-reset-description { margin:14px 0 0; color:#77758a; font:400 15px/1.6 "DM Sans","Poppins",sans-serif; }
.gamburry-reset .gb-message { margin-top:clamp(24px,6vh,66px); }
.gamburry-reset .gb-message h1 { max-width:530px; font-size:clamp(43px,5.3vw,70px); }
.gamburry-reset .gb-collage { margin-top:25px; }
.gamburry-reset .gb-perks { display:none; }
/* Use a compact composition when desktop browser chrome leaves little vertical room.
   Photos and post shrink together so the collage never climbs into feature labels. */
@media (min-width:861px) and (max-height:960px) {
  .gamburry-auth .gb-promo { padding-top:24px; padding-bottom:12px; }
  .gamburry-auth .gb-logo { width:min(310px,78vw); }
  .gamburry-auth .gb-message { margin-top:12px; }
  .gamburry-auth .gb-message h1 { font-size:clamp(40px,4.4vw,55px); }
  .gamburry-auth .gb-message > p:last-child { font-size:14px; line-height:1.5; }
  .gamburry-auth .gb-perks { margin-top:14px; }
  .gamburry-auth .gb-perks b { width:50px; height:50px; }
  .gamburry-auth .gb-perks b svg { width:24px; height:24px; }
  .gamburry-auth .gb-collage { min-height:300px; margin-top:12px; }
  .gamburry-auth .gb-post { width:min(285px,54%); padding:11px; }
  .gamburry-auth .gb-post-image { height:116px; }
  .gamburry-auth .gb-woman { width:100px; height:125px; }
  .gamburry-auth .gb-man { width:100px; height:125px; }
  .gamburry-auth .gb-friend { width:96px; height:110px; }
  .gamburry-reset .gb-message { margin-top:24px; }
  .gamburry-reset .gb-message h1 { font-size:clamp(40px,4.6vw,60px); }
  .gamburry-reset .gb-collage { margin-top:18px; }
}
@media (min-width:861px) and (max-height:760px) {
  .gamburry-auth .gb-promo { padding-top:17px; padding-bottom:10px; }
  .gamburry-auth .gb-logo { width:min(275px,75vw); }
  .gamburry-auth .gb-message { margin-top:7px; }
  .gamburry-auth .gb-message .gb-eyebrow { margin-top:6px; font-size:12px; }
  .gamburry-auth .gb-message h1 { font-size:clamp(35px,4vw,46px); }
  .gamburry-auth .gb-message > p:last-child { margin-top:7px; font-size:13px; line-height:1.4; }
  .gamburry-auth .gb-perks { margin-top:10px; }
  .gamburry-auth .gb-perks > div { gap:5px; }
  .gamburry-auth .gb-perks b { width:44px; height:44px; border-radius:14px; }
  .gamburry-auth .gb-perks b svg { width:23px; height:23px; }
  .gamburry-auth .gb-collage { min-height:260px; margin-top:12px; --gb-lift:16px; }
  .gamburry-auth .gb-post { width:min(255px,50%); padding:9px; }
  .gamburry-auth .gb-post-head { margin-bottom:5px; }
  .gamburry-auth .gb-post-image { height:102px; }
  .gamburry-auth .gb-woman, .gamburry-auth .gb-man { width:88px; height:105px; }
  .gamburry-auth .gb-friend { width:86px; height:94px; }
  .gamburry-reset .gb-message { margin-top:12px; }
  .gamburry-reset .gb-message h1 { font-size:clamp(36px,4.2vw,52px); }
  .gamburry-reset .gb-collage { margin-top:12px; }
}
@media (min-width:861px) and (max-height:700px) {
  .gamburry-auth .gb-promo { padding-top:12px; padding-bottom:7px; }
  .gamburry-auth .gb-logo { width:min(240px,75vw); }
  .gamburry-auth .gb-message { margin-top:4px; }
  .gamburry-auth .gb-message h1 { font-size:clamp(34px,3.9vw,43px); }
  .gamburry-auth .gb-perks { margin-top:7px; }
  .gamburry-auth .gb-perks b { width:38px; height:38px; }
  .gamburry-auth .gb-perks b svg { width:21px; height:21px; }
  .gamburry-auth .gb-collage { min-height:210px; margin-top:7px; --gb-lift:14px; }
  .gamburry-auth .gb-post { width:min(230px,50%); padding:8px; }
  .gamburry-auth .gb-post-image { height:88px; }
  .gamburry-auth .gb-woman, .gamburry-auth .gb-man { width:76px; height:92px; }
  .gamburry-auth .gb-friend { width:75px; height:84px; }
}
/* A second registration step is taller than short desktop viewports.
   Scroll only the form pane so the promo and footer stay in place. */
@media (min-width:861px) {
  .gamburry-auth { height:calc(100dvh - 44px); min-height:0; }
  .gamburry-auth .gb-promo { height:100%; min-height:0; }
  .gamburry-auth .gb-form-side {
    display:flex; flex-direction:column; align-items:center; min-height:0;
    overflow-x:hidden; overflow-y:auto; overscroll-behavior-y:contain;
    scrollbar-gutter:stable;
  }
  .gamburry-auth .gb-original-sign, .gamburry-auth .gb-original-reset { flex:0 0 auto; margin:auto 0; }
}
@media (max-width:940px) {
  .gamburry-auth { grid-template-columns:minmax(0,1fr) minmax(390px,.92fr); }
  .gamburry-auth .gb-promo { padding-left:34px; padding-right:28px; }
  .gamburry-auth .gb-perks { gap:8px; }
  .gamburry-auth .gb-perks > div { font-size:10px; }
}
@media (max-width:860px) {
  .gamburry-auth { display:flex; flex-direction:column; min-height:0; }
  .gamburry-auth .gb-promo { flex:none; min-height:0; height:204px; padding:18px 24px 17px; }
  .gamburry-auth .gb-logo { width:225px; max-width:68vw; max-height:64px; }
  .gamburry-auth .gb-message { margin-top:8px; }
  .gamburry-auth .gb-message .gb-eyebrow, .gamburry-auth .gb-message > p:last-child, .gamburry-auth .gb-perks, .gamburry-auth .gb-collage, .gamburry-auth .gb-dot-grid { display:none; }
  .gamburry-auth .gb-message h1, .gamburry-reset .gb-message h1 { max-width:100%; font-size:28px; line-height:1.02; }
  .gamburry-auth .gb-promo::before { width:240px; height:240px; right:-118px; top:-168px; }
  .gamburry-auth .gb-form-side { min-height:calc(100dvh - 285px); align-items:start; padding:20px 18px 28px; }
  .gamburry-reset .gb-reset-icon { width:54px; height:54px; margin-bottom:18px; }
  .gamburry-reset .gb-reset-title { font-size:clamp(30px,7.2vw,40px); }
}
@media (max-width:400px) {
  .gamburry-auth .gb-form-side { padding-left:17px; padding-right:17px; }
}