/*
 * Furia Crystal Run 3.10.69
 * CORE / SHARED
 * Baza projektu: zmienne, typografia, ikony, przyciski, intro i elementy wspólne.
 * Menu: flappy-furia-menu.css
 * Gameplay: flappy-furia-game.css
 */
:root{
  --ff-gold:#ffd226;
  --ff-gold-2:#ffb71b;
  --ff-cyan:#58ddff;
  --ff-cyan-2:#1aa6d9;
  --ff-purple:#b98cff;
  --ff-pink:#ff5f91;
  --ff-green:#68ff87;
  --ff-red:#ff5f6d;
  --ff-bg:#020713;
  --ff-panel:rgba(5,14,34,.80);
  --ff-panel-strong:rgba(6,16,40,.92);
  --ff-panel-soft:rgba(8,22,50,.56);
  --ff-line:rgba(93,200,255,.22);
  --ff-line-soft:rgba(255,255,255,.08);
  --ff-text:#f2f7ff;
  --ff-muted:#a9b7d0;
  --ff-dim:#71809d;
  /*
   * v3.14.56: teksty gry zawierają polskie znaki (ĄĆĘŁŃÓŚŹŻ).
   * Rajdhani / Exo 2 są już używane w menu i poprawnie renderują polskie glify.
   * Orbitron pozostaje opcjonalnym fontem dekoracyjnym, nie dla treści HUD.
   */
  --ff-head:'Rajdhani','Exo 2',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ff-display:'Orbitron','Rajdhani','Exo 2',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ff-body:'Rajdhani','Exo 2',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ff-radius-xl:28px;
  --ff-radius-lg:22px;
  --ff-radius-md:16px;
  --ff-shadow:0 24px 70px rgba(0,0,0,.34);
}
html{
  scroll-behavior:auto
}
body.ff-direct-arcade-page{
  margin:0;
  background:#020713;
  overflow:hidden
}
body.ff-gameplay-viewport-lock{
  overflow:hidden
}
.furia-flappy-standalone{
  margin:0;
  background:var(--ff-bg);
  color:var(--ff-text);
  font-family:var(--ff-body);
  overflow-x:hidden
}
.ff-page,.ff-page *{
  box-sizing:border-box
}
.ff-page{
  min-height:100vh;
  color:var(--ff-text);
  font-family:var(--ff-body);
  font-size:18px;
  line-height:1.35;
  background:#020713;
  isolation:isolate
}
.ff-page::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:radial-gradient(circle at 74% 18%,rgba(88,221,255,.18),transparent 34%),radial-gradient(circle at 92% 70%,rgba(185,140,255,.12),transparent 30%),linear-gradient(90deg,rgba(1,4,12,.94) 0%,rgba(3,10,26,.58) 52%,rgba(2,7,19,.91) 100%),url('../img/ff-bg-minecraft-night.webp') center/cover no-repeat
}
.ff-page::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(2,7,19,.08),rgba(2,7,19,.42)),repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px)
}
.ff-page img{
  max-width:100%;
  display:block
}
.ff-page button,.ff-page input,.ff-page select{
  font:inherit
}
.ff-page button{
  cursor:pointer
}
.ff-page [hidden]{
  display:none
}
.ff-topbar,.ff-shell,.ff-hero,.ff-landing-troops{
  display:none
}
.ff-preboot .ff-shell{
  opacity:0
}
.ff-ui-ico{
  display:inline-block;
  width:1.05rem;
  height:1.05rem;
  flex:0 0 1.05rem;
  background:currentColor;
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-position:center;
  -webkit-mask-size:contain;
  mask-repeat:no-repeat;
  mask-position:center;
  mask-size:contain;
  vertical-align:-.16em
}
.ff-ui-play{
  -webkit-mask-image:url('../img/ui/play.svg');
  mask-image:url('../img/ui/play.svg')
}
.ff-ui-home{
  -webkit-mask-image:url('../img/ui/home.svg');
  mask-image:url('../img/ui/home.svg')
}
.ff-ui-map{
  -webkit-mask-image:url('../img/ui/map.svg');
  mask-image:url('../img/ui/map.svg')
}
.ff-ui-shop{
  -webkit-mask-image:url('../img/ui/shop.svg');
  mask-image:url('../img/ui/shop.svg')
}
.ff-ui-ranking{
  -webkit-mask-image:url('../img/ui/ranking.svg');
  mask-image:url('../img/ui/ranking.svg')
}
.ff-ui-user{
  -webkit-mask-image:url('../img/ui/user.svg');
  mask-image:url('../img/ui/user.svg')
}
.ff-ui-settings{
  -webkit-mask-image:url('../img/ui/settings.svg');
  mask-image:url('../img/ui/settings.svg')
}
.ff-ui-controller{
  -webkit-mask-image:url('../img/ui/controller.svg');
  mask-image:url('../img/ui/controller.svg')
}
.ff-ui-skins{
  -webkit-mask-image:url('../img/ui/skins.svg');
  mask-image:url('../img/ui/skins.svg')
}
.ff-ui-trophy{
  -webkit-mask-image:url('../img/ui/trophy.svg');
  mask-image:url('../img/ui/trophy.svg')
}
.ff-ui-refresh{
  -webkit-mask-image:url('../img/ui/refresh.svg');
  mask-image:url('../img/ui/refresh.svg')
}
.ff-ui-close{
  -webkit-mask-image:url('../img/ui/close.svg');
  mask-image:url('../img/ui/close.svg')
}
.ff-ui-fullscreen{
  -webkit-mask-image:url('../img/ui/fullscreen.svg');
  mask-image:url('../img/ui/fullscreen.svg')
}
.ff-ui-diamond{
  -webkit-mask-image:url('../img/ui/diamond.svg');
  mask-image:url('../img/ui/diamond.svg')
}
.ff-ui-bolt{
  -webkit-mask-image:url('../img/ui/bolt.svg');
  mask-image:url('../img/ui/bolt.svg')
}
.ff-ui-target{
  -webkit-mask-image:url('../img/ui/target.svg');
  mask-image:url('../img/ui/target.svg')
}
.ff-ui-gift{
  -webkit-mask-image:url('../img/ui/gift.svg');
  mask-image:url('../img/ui/gift.svg')
}
.ff-ui-check{
  -webkit-mask-image:url('../img/ui/check.svg');
  mask-image:url('../img/ui/check.svg')
}
.ff-ui-route{
  -webkit-mask-image:url('../img/ui/route.svg');
  mask-image:url('../img/ui/route.svg')
}
.ff-ui-crown{
  -webkit-mask-image:url('../img/ui/crown.svg');
  mask-image:url('../img/ui/crown.svg')
}
.ff-ui-shield{
  -webkit-mask-image:url('../img/ui/shield.svg');
  mask-image:url('../img/ui/shield.svg')
}
.ff-ui-sliders{
  -webkit-mask-image:url('../img/ui/sliders.svg');
  mask-image:url('../img/ui/sliders.svg')
}
.ff-ui-sound{
  -webkit-mask-image:url('../img/ui/sound.svg');
  mask-image:url('../img/ui/sound.svg')
}
.ff-ui-effects{
  -webkit-mask-image:url('../img/ui/effects.svg');
  mask-image:url('../img/ui/effects.svg')
}
.ff-ui-monitor{
  -webkit-mask-image:url('../img/ui/monitor.svg');
  mask-image:url('../img/ui/monitor.svg')
}
.ff-ui-keyboard{
  -webkit-mask-image:url('../img/ui/keyboard.svg');
  mask-image:url('../img/ui/keyboard.svg')
}
.ff-ui-eye{
  -webkit-mask-image:url('../img/ui/eye.svg');
  mask-image:url('../img/ui/eye.svg')
}
.ff-ui-reset{
  -webkit-mask-image:url('../img/ui/reset.svg');
  mask-image:url('../img/ui/reset.svg')
}
.ff-ui-toggle{
  -webkit-mask-image:url('../img/ui/toggle.svg');
  mask-image:url('../img/ui/toggle.svg')
}
.ff-ui-podium{
  -webkit-mask-image:url('../img/ui/podium.svg');
  mask-image:url('../img/ui/podium.svg')
}
.ff-ui-timer{
  -webkit-mask-image:url('../img/ui/timer.svg');
  mask-image:url('../img/ui/timer.svg')
}
.ff-ui-rankup{
  -webkit-mask-image:url('../img/ui/rankup.svg');
  mask-image:url('../img/ui/rankup.svg')
}
.ff-ui-globe{
  -webkit-mask-image:url('../img/ui/globe.svg');
  mask-image:url('../img/ui/globe.svg')
}
.ff-ui-flame{
  -webkit-mask-image:url('../img/ui/flame.svg');
  mask-image:url('../img/ui/flame.svg')
}
.ff-ui-medal{
  -webkit-mask-image:url('../img/ui/medal.svg');
  mask-image:url('../img/ui/medal.svg')
}
.ff-ui-wing{
  -webkit-mask-image:url('../img/ui/wing.svg');
  mask-image:url('../img/ui/wing.svg')
}
.ff-ui-filter{
  -webkit-mask-image:url('../img/ui/filter.svg');
  mask-image:url('../img/ui/filter.svg')
}
.ff-ui-sparkle{
  -webkit-mask-image:url('../img/ui/sparkle.svg');
  mask-image:url('../img/ui/sparkle.svg')
}
.ff-ui-discord{
  -webkit-mask-image:url('../img/ui/discord.svg');
  mask-image:url('../img/ui/discord.svg')
}
.ff-ui-youtube{
  -webkit-mask-image:url('../img/ui/youtube.svg');
  mask-image:url('../img/ui/youtube.svg')
}
.ff-ui-tiktok{
  -webkit-mask-image:url('../img/ui/tiktok.svg');
  mask-image:url('../img/ui/tiktok.svg')
}
.ff-ui-facebook{
  -webkit-mask-image:url('../img/ui/facebook.svg');
  mask-image:url('../img/ui/facebook.svg')
}
.ff-btn{
  border:0;
  min-height:54px;
  padding:0 24px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-family:var(--ff-head);
  font-size:.86rem;
  font-weight:950;
  letter-spacing:.05em;
  text-transform:uppercase;
  text-decoration:none;
  transition:transform .16s ease,filter .16s ease,border-color .16s ease,background .16s ease
}
.ff-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.06)
}
.ff-btn-primary{
  background:linear-gradient(180deg,#ffe763,#ffc31f 72%,#efa900);
  color:#061020;
  box-shadow:0 14px 34px rgba(255,210,38,.22)
}
.ff-btn-ghost{
  background:rgba(6,16,40,.70);
  border:1px solid rgba(88,221,255,.34);
  color:#7beaff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)
}
.ff-panel,.ff-control-card,.ff-game-wrap{
  border:1px solid var(--ff-line);
  border-radius:var(--ff-radius-lg);
  background:linear-gradient(180deg,rgba(8,19,45,.78),rgba(4,10,26,.86));
  box-shadow:var(--ff-shadow),inset 0 1px 0 rgba(255,255,255,.045);
  backdrop-filter:blur(10px)
}
.ff-card-head,.ff-section-eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font-family:var(--ff-head);
  text-transform:uppercase;
  letter-spacing:.055em
}
.ff-card-head .ff-ui-ico{
  color:var(--ff-gold)
}
.ff-card-head strong{
  font-size:1.05rem;
  line-height:1.15
}
.ff-chip,.ff-route-chip-row small,.ff-skin-badge,.ff-skin-game,.ff-route-status,.ff-lock-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(88,221,255,.26);
  background:rgba(88,221,255,.08);
  color:#bfeeff;
  font-family:var(--ff-head);
  font-size:.66rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.045em;
  text-transform:uppercase;
  white-space:nowrap
}
.ff-chip-gold,.ff-route-status,.ff-skin-badge{
  border-color:rgba(255,210,38,.42);
  background:rgba(255,210,38,.10);
  color:#ffe067
}
.ff-chip-green{
  border-color:rgba(104,255,135,.34);
  color:#a9ffc0
}
.ff-chip-pink{
  border-color:rgba(185,140,255,.34);
  color:#ddbfff
}
.ff-chip-cyan{
  color:#7feaff
}
.ff-intro-gate{
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  place-items:center;
  padding:24px;
  background:radial-gradient(circle at 50% 36%,rgba(88,221,255,.16),rgba(2,7,19,.96) 64%)
}
.ff-intro-gate:not(.is-active){
  display:none
}
.ff-intro-card{
  position:relative;
  width:min(560px,100%);
  padding:40px;
  border-radius:32px;
  text-align:center;
  border:1px solid rgba(88,221,255,.24);
  background:linear-gradient(180deg,rgba(7,17,42,.94),rgba(3,8,23,.98));
  box-shadow:0 30px 90px rgba(0,0,0,.55)
}
.ff-intro-logo{
  width:min(320px,80%);
  margin:0 auto 18px
}
.ff-intro-card strong{
  display:block;
  font-family:var(--ff-head);
  font-size:1.4rem;
  text-transform:uppercase;
  color:#fff
}
.ff-intro-card span[data-ff-intro-status]{
  display:block;
  margin-top:8px;
  color:var(--ff-muted)
}
.ff-intro-progress{
  height:10px;
  margin:24px 0 18px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden
}
.ff-intro-progress i{
  display:block;
  height:100%;
  width:20%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--ff-cyan),var(--ff-purple),var(--ff-gold))
}
.ff-intro-card button{
  border:1px solid rgba(88,221,255,.30);
  border-radius:999px;
  background:rgba(88,221,255,.08);
  color:#bceeff;
  padding:10px 18px;
  font-family:var(--ff-head);
  font-size:.72rem;
  text-transform:uppercase
}
.ff-auth-gate{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  background:rgba(1,4,12,.82);
  padding:20px
}
.ff-auth-panel{
  width:min(560px,100%);
  padding:26px;
  border-radius:26px;
  background:rgba(5,13,31,.96);
  border:1px solid var(--ff-line)
}
.ff-auth-gate-logo img{
  width:260px;
  margin:0 auto 14px
}
.ff-auth-panel strong{
  font-family:var(--ff-head);
  color:#fff
}
.ff-auth-panel p,.ff-auth-panel small{
  color:var(--ff-muted)
}
.ff-auth-tabs,.ff-auth-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap
}
.ff-auth-tabs button{
  flex:1;
  min-height:42px;
  border-radius:12px;
  border:1px solid var(--ff-line);
  background:rgba(88,221,255,.08);
  color:#eaf6ff;
  font-family:var(--ff-head)
}
.ff-auth-tabs button.is-active{
  background:rgba(255,210,38,.16);
  color:var(--ff-gold)
}
.ff-auth-grid{
  display:grid;
  gap:10px;
  margin:16px 0
}
.ff-auth-grid label{
  display:grid;
  gap:6px;
  color:#d9e7ff;
  font-weight:700
}
.ff-auth-grid input{
  height:46px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.24);
  color:#fff;
  padding:0 12px
}
.ff-toast{
  --ff-toast-accent:#73dfff;
  position:fixed;
  left:50%;
  bottom:max(20px,env(safe-area-inset-bottom,0px) + 16px);
  z-index:200000;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 34px;
  align-items:center;
  column-gap:14px;
  row-gap:2px;
  width:min(640px,calc(100vw - 28px));
  max-width:calc(100vw - 28px);
  transform:translateX(-50%) translateY(18px) scale(.985);
  padding:14px 16px 16px;
  border-radius:18px;
  border:1px solid rgba(120,170,255,.18);
  background:linear-gradient(180deg,rgba(8,18,44,.96),rgba(5,11,28,.94));
  color:#eff6ff;
  box-shadow:0 18px 48px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  font-family:var(--ff-head);
  line-height:1.35;
  letter-spacing:.01em;
  opacity:0;
  pointer-events:none;
  overflow:hidden;
  transition:opacity .32s ease, transform .32s ease, box-shadow .28s ease, border-color .28s ease;
}
.ff-toast::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  border-radius:18px 0 0 18px;
  background:linear-gradient(180deg,var(--ff-toast-accent),rgba(255,255,255,.18));
  opacity:.95;
}
.ff-toast::after{
  content:"";
  position:absolute;
  inset:-40% auto auto -5%;
  width:180px;
  height:180px;
  background:radial-gradient(circle, color-mix(in srgb, var(--ff-toast-accent) 28%, transparent), transparent 70%);
  opacity:.42;
  pointer-events:none;
}
.ff-toast.is-visible{
  opacity:1;
  transform:translateX(-50%) translateY(0) scale(1);
  pointer-events:auto;
}
.ff-toast.is-hiding{
  opacity:0;
  transform:translateX(-50%) translateY(10px) scale(.988);
}
.ff-toast-accent{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:14px;
  border:1px solid color-mix(in srgb, var(--ff-toast-accent) 45%, rgba(255,255,255,.12));
  background:color-mix(in srgb, var(--ff-toast-accent) 14%, rgba(255,255,255,.03));
  color:var(--ff-toast-accent);
  font-size:1.08rem;
  font-weight:900;
  line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 10px 22px rgba(0,0,0,.18);
}
.ff-toast-content{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.ff-toast-title{
  display:block;
  margin:0 0 2px;
  color:#ffffff;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ff-toast-body{
  display:block;
  min-width:0;
  color:#e9f1ff;
  font-size:clamp(.98rem,.96rem + .15vw,1.08rem);
  white-space:normal;
  overflow-wrap:anywhere;
  text-wrap:pretty;
}
.ff-toast-close{
  position:relative;
  z-index:1;
  appearance:none;
  border:0;
  outline:0;
  width:34px;
  height:34px;
  border-radius:12px;
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.78);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.25rem;
  line-height:1;
  cursor:pointer;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}
.ff-toast-close:hover,
.ff-toast-close:focus-visible{
  background:rgba(255,255,255,.1);
  color:#fff;
  transform:scale(1.04);
}
.ff-toast-progress{
  position:absolute;
  left:10px;
  right:10px;
  bottom:8px;
  height:3px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
}
.ff-toast-progress::after{
  content:"";
  position:absolute;
  inset:0;
  transform-origin:left center;
  background:linear-gradient(90deg,var(--ff-toast-accent),rgba(255,255,255,.85));
  animation:ffToastProgress var(--ff-toast-duration,4200ms) linear forwards;
}
.ff-toast-info{ --ff-toast-accent:#78ddff; }
.ff-toast-success{ --ff-toast-accent:#7df0bf; }
.ff-toast-warning{ --ff-toast-accent:#ffd469; }
.ff-toast-warning .ff-toast-body{ color:#fff5d6; }
body.ff-map-cta-active .ff-toast{
  bottom:calc(max(20px,env(safe-area-inset-bottom,0px) + 16px) + 112px);
}
@keyframes ffToastProgress{
  from{transform:scaleX(1)}
  to{transform:scaleX(0)}
}
@media(max-width:900px){
  .ff-toast{
    grid-template-columns:40px minmax(0,1fr) 30px;
    column-gap:12px;
    width:min(calc(100vw - 18px),560px);
    padding:13px 14px 15px;
    border-radius:16px;
  }
  body.ff-map-cta-active .ff-toast{
    bottom:calc(max(16px,env(safe-area-inset-bottom,0px) + 10px) + 126px);
  }
  .ff-toast-accent{
    width:40px;
    height:40px;
    border-radius:12px;
    font-size:1rem;
  }
  .ff-toast-title{font-size:.76rem}
  .ff-toast-body{font-size:clamp(.93rem,.92rem + .16vw,1rem)}
  .ff-toast-close{
    width:30px;
    height:30px;
    border-radius:10px;
    font-size:1.12rem;
  }
}
@media(max-width:900px){
  .ff-btn{
    min-height:48px;
    padding:0 18px
  }
  .ff-page{
    font-size:16px
  }
}


/* v3.13.89 map-locked shop + map daily missions */
.ff-skins-grid [data-ff-skin].is-map-locked,
.ff-shop-card.is-map-locked{
  border-color:rgba(255,181,94,.32);
  filter:saturate(.82) brightness(.88);
}
.ff-shop-card.is-map-locked::after{
  content:'MAPA';
  position:absolute;
  right:12px;
  top:12px;
  z-index:2;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(255,181,94,.35);
  background:rgba(23,13,8,.82);
  color:#ffd9a8;
  font:800 .62rem var(--ff-head);
  letter-spacing:.12em;
}
.ff-shop-map-lock{
  display:inline-flex;
  width:max-content;
  margin-top:4px;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(255,181,94,.12);
  color:#ffd9a8;
  border:1px solid rgba(255,181,94,.24);
  font-size:.68rem;
}
.ff-mission[data-ff-mission-map="minecraft"]{--ff-mission-accent:#ffb15e}
.ff-mission[data-ff-mission-map="ark"]{--ff-mission-accent:#7dffba}
.ff-mission[data-ff-mission-map="conan"]{--ff-mission-accent:#ff8a4a}
.ff-mission[data-ff-mission-map="crystal"]{--ff-mission-accent:#58ddff}
.ff-mission[data-ff-mission-map] i b{background:linear-gradient(90deg,var(--ff-mission-accent,#58ddff),#fff0b6)}


/* v3.13.89 — auth modal refresh for the rebuilt menu shell */
.ff-page.ff-menu-clean .ff-auth-gate{
  padding:clamp(14px,3vw,34px);
  background:
    radial-gradient(circle at 50% 26%,rgba(79,195,247,.16),transparent 34%),
    linear-gradient(180deg,rgba(1,4,12,.72),rgba(1,4,12,.90));
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.ff-page.ff-menu-clean .ff-auth-panel{
  position:relative;
  width:min(590px,calc(100vw - 28px));
  max-height:calc(100dvh - 28px);
  overflow:auto;
  padding:clamp(22px,3vw,34px);
  border-radius:24px;
  border:1px solid rgba(126,193,255,.22);
  background:
    linear-gradient(180deg,rgba(10,22,50,.985),rgba(5,12,30,.985)),
    rgba(5,13,31,.98);
  box-shadow:0 30px 90px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.06);
}
.ff-page.ff-menu-clean .ff-auth-close{
  position:absolute;
  top:14px;
  right:14px;
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(126,193,255,.18);
  background:rgba(255,255,255,.045);
  color:#cde9ff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .16s ease, background .16s ease, border-color .16s ease;
}
.ff-page.ff-menu-clean .ff-auth-close:hover,
.ff-page.ff-menu-clean .ff-auth-close:focus-visible{
  transform:translateY(-1px);
  background:rgba(79,195,247,.12);
  border-color:rgba(79,195,247,.34);
  outline:none;
}
.ff-page.ff-menu-clean .ff-auth-gate-logo{
  display:flex;
  justify-content:center;
  padding:2px 42px 6px;
}
.ff-page.ff-menu-clean .ff-auth-gate-logo img{
  width:min(260px,66vw);
  margin:0 auto 10px;
  filter:drop-shadow(0 18px 32px rgba(0,0,0,.44));
}
.ff-page.ff-menu-clean .ff-auth-panel strong[data-ff-auth-heading]{
  display:block;
  margin-top:4px;
  font-size:clamp(1.35rem,1.08rem + 1.2vw,2.05rem);
  line-height:1.02;
  letter-spacing:.01em;
}
.ff-page.ff-menu-clean .ff-auth-panel p[data-ff-auth-copy]{
  margin:8px 0 14px;
  max-width:48ch;
  color:#aebcde;
  font-size:clamp(.92rem,.88rem + .18vw,1.04rem);
  line-height:1.45;
}
.ff-page.ff-menu-clean .ff-auth-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:14px 0 18px;
}
.ff-page.ff-menu-clean .ff-auth-tabs button{
  min-height:50px;
  border-radius:14px;
  border:1px solid rgba(126,193,255,.20);
  background:rgba(79,195,247,.08);
  color:#eaf6ff;
  font-size:clamp(.9rem,.86rem + .22vw,1.08rem);
  font-weight:900;
  letter-spacing:.02em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.ff-page.ff-menu-clean .ff-auth-tabs button.is-active{
  border-color:rgba(245,197,24,.40);
  background:linear-gradient(180deg,rgba(245,197,24,.22),rgba(245,197,24,.12));
  color:#ffe36f;
}
.ff-page.ff-menu-clean .ff-auth-grid{
  display:grid;
  gap:14px;
  margin:18px 0 20px;
}
.ff-page.ff-menu-clean .ff-auth-grid label{
  display:grid;
  gap:8px;
  color:#dfe8ff;
  font-family:var(--ff-head);
  font-size:clamp(.92rem,.86rem + .28vw,1.12rem);
  font-weight:900;
  letter-spacing:.01em;
}
.ff-page.ff-menu-clean .ff-auth-grid input{
  width:100%;
  height:56px;
  border-radius:15px;
  border:1px solid rgba(126,193,255,.18);
  background:rgba(3,8,22,.72);
  color:#fff;
  padding:0 16px;
  font:900 clamp(.9rem,.86rem + .22vw,1.06rem) var(--ff-head);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.ff-page.ff-menu-clean .ff-auth-grid input:focus{
  border-color:rgba(245,197,24,.70);
  outline:3px solid rgba(245,197,24,.15);
  outline-offset:2px;
}
.ff-page.ff-menu-clean .ff-auth-grid input::placeholder{
  color:rgba(210,222,255,.52);
}
.ff-page.ff-menu-clean .ff-auth-actions{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:12px;
  margin-top:4px;
}
.ff-page.ff-menu-clean .ff-auth-actions .ff-btn{
  min-height:56px;
  border-radius:14px;
  font-size:clamp(.82rem,.78rem + .16vw,.96rem);
  justify-content:center;
}
.ff-page.ff-menu-clean .ff-auth-panel small[data-ff-auth-message]{
  display:block;
  margin-top:12px;
  color:#aebcde;
  font-size:.88rem;
  line-height:1.4;
}
@media(max-width:720px){
  .ff-page.ff-menu-clean .ff-auth-panel{
    border-radius:20px;
    padding:20px;
  }
  .ff-page.ff-menu-clean .ff-auth-close{
    top:10px;
    right:10px;
    width:38px;
    height:38px;
    border-radius:12px;
  }
  .ff-page.ff-menu-clean .ff-auth-gate-logo{
    padding-right:36px;
    padding-left:36px;
  }
  .ff-page.ff-menu-clean .ff-auth-tabs,
  .ff-page.ff-menu-clean .ff-auth-actions{
    grid-template-columns:1fr;
  }
  .ff-page.ff-menu-clean .ff-auth-grid input,
  .ff-page.ff-menu-clean .ff-auth-actions .ff-btn{
    min-height:52px;
  }
}


/* v3.13.89 — compact auth modal: no bright native scrollbar, better fit on 900px laptops. */
.ff-page.ff-menu-clean .ff-auth-gate{
  align-items:center;
  justify-items:center;
  padding:clamp(10px,2.2vw,24px);
}
.ff-page.ff-menu-clean .ff-auth-panel{
  width:min(620px,calc(100vw - 28px));
  max-height:min(760px,calc(100dvh - 24px));
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(126,193,255,.42) rgba(5,12,30,.18);
  padding:clamp(18px,2.2vw,26px) clamp(20px,2.7vw,30px);
}
.ff-page.ff-menu-clean .ff-auth-panel::-webkit-scrollbar{
  width:8px;
}
.ff-page.ff-menu-clean .ff-auth-panel::-webkit-scrollbar-track{
  background:rgba(5,12,30,.36);
  border-radius:999px;
}
.ff-page.ff-menu-clean .ff-auth-panel::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(126,193,255,.55),rgba(79,195,247,.25));
  border-radius:999px;
  border:2px solid rgba(5,12,30,.76);
}
.ff-page.ff-menu-clean .ff-auth-gate-logo{
  padding:0 42px 2px;
}
.ff-page.ff-menu-clean .ff-auth-gate-logo img{
  width:min(218px,54vw);
  margin:0 auto 6px;
}
.ff-page.ff-menu-clean .ff-auth-panel strong[data-ff-auth-heading]{
  margin-top:2px;
  font-size:clamp(1.34rem,1.1rem + .8vw,1.86rem);
}
.ff-page.ff-menu-clean .ff-auth-panel p[data-ff-auth-copy]{
  margin:7px 0 10px;
  font-size:clamp(.84rem,.8rem + .12vw,.96rem);
  line-height:1.32;
}
.ff-page.ff-menu-clean .ff-auth-tabs{
  gap:8px;
  margin:10px 0 12px;
}
.ff-page.ff-menu-clean .ff-auth-tabs button{
  min-height:42px;
  border-radius:13px;
  font-size:clamp(.82rem,.78rem + .14vw,.96rem);
}
.ff-page.ff-menu-clean .ff-auth-grid{
  gap:10px;
  margin:12px 0 14px;
}
.ff-page.ff-menu-clean .ff-auth-grid label{
  gap:6px;
  font-size:clamp(.82rem,.78rem + .14vw,.96rem);
}
.ff-page.ff-menu-clean .ff-auth-grid input{
  height:48px;
  border-radius:14px;
  padding:0 14px;
  font-size:clamp(.84rem,.8rem + .14vw,.98rem);
}
.ff-page.ff-menu-clean .ff-auth-actions{
  gap:10px;
  margin-top:2px;
}
.ff-page.ff-menu-clean .ff-auth-actions .ff-btn{
  min-height:48px;
  border-radius:13px;
  font-size:clamp(.76rem,.72rem + .14vw,.9rem);
}
.ff-page.ff-menu-clean .ff-auth-panel small[data-ff-auth-message]{
  margin-top:8px;
  font-size:.78rem;
  line-height:1.3;
}
@media (max-height:820px) and (min-width:721px){
  .ff-page.ff-menu-clean .ff-auth-panel{
    width:min(680px,calc(100vw - 28px));
    padding:16px 24px;
  }
  .ff-page.ff-menu-clean .ff-auth-gate-logo img{
    width:178px;
    margin-bottom:2px;
  }
  .ff-page.ff-menu-clean .ff-auth-panel p[data-ff-auth-copy]{
    margin-bottom:8px;
  }
  .ff-page.ff-menu-clean .ff-auth-tabs{
    margin:8px 0 10px;
  }
  .ff-page.ff-menu-clean .ff-auth-grid{
    gap:8px;
    margin:10px 0 12px;
  }
  .ff-page.ff-menu-clean .ff-auth-grid input,
  .ff-page.ff-menu-clean .ff-auth-actions .ff-btn{
    height:44px;
    min-height:44px;
  }
}
@media (max-width:720px){
  .ff-page.ff-menu-clean .ff-auth-panel{
    max-height:calc(100dvh - 18px);
    width:calc(100vw - 18px);
    padding:18px;
  }
  .ff-page.ff-menu-clean .ff-auth-gate-logo img{
    width:min(190px,52vw);
  }
}

/* v3.13.89 — auth modal login/register mode hardening */
.ff-page.ff-menu-clean .ff-auth-panel[data-ff-auth-view="login"] [data-ff-auth-repeat-wrap],
.ff-page.ff-menu-clean .ff-auth-panel[data-ff-auth-view="login"] [data-ff-auth-email-wrap],
.ff-page.ff-menu-clean .ff-auth-panel.is-login [data-ff-auth-repeat-wrap],
.ff-page.ff-menu-clean .ff-auth-panel.is-login [data-ff-auth-email-wrap]{
  display:none;
}

.ff-page.ff-menu-clean .ff-auth-panel[data-ff-auth-view="register"] [data-ff-auth-repeat-wrap],
.ff-page.ff-menu-clean .ff-auth-panel[data-ff-auth-view="register"] [data-ff-auth-email-wrap],
.ff-page.ff-menu-clean .ff-auth-panel.is-register [data-ff-auth-repeat-wrap],
.ff-page.ff-menu-clean .ff-auth-panel.is-register [data-ff-auth-email-wrap]{
  display:grid;
}

.ff-page.ff-menu-clean .ff-auth-panel .ff-auth-row-register{
  transition:opacity .16s ease, transform .16s ease;
}

.ff-page.ff-menu-clean .ff-auth-panel.is-login{
  width:min(680px,calc(100vw - 28px));
}

.ff-page.ff-menu-clean .ff-auth-panel.is-login .ff-auth-grid{
  margin-bottom:12px;
}

.ff-page.ff-menu-clean .ff-auth-panel.is-login .ff-auth-actions{
  margin-top:8px;
}

.ff-page.ff-menu-clean .ff-auth-panel.is-register{
  width:min(720px,calc(100vw - 28px));
}

.ff-page.ff-menu-clean .ff-auth-tabs button[aria-pressed="true"]{
  box-shadow:0 0 0 1px rgba(245,197,24,.20), inset 0 1px 0 rgba(255,255,255,.06);
}

.ff-page.ff-menu-clean .ff-auth-tabs button:not(.is-active){
  opacity:.88;
}

/* v3.13.92 — no legacy map-lock overlay on premium shop cards */
.ff-page.ff-menu-clean .ff-shop-premium-card.is-map-locked::after{content:none;display:none}
