/* GoCorte — premium app launch transition
   Shared by landing auth and customer/public profile auth. */
:root{
  --gc-launch-bg:#ffffff;
  --gc-launch-ink:#172033;
  --gc-launch-muted:#7b8799;
  --gc-launch-blue:#285dde;
  --gc-launch-track:#e9edf4;
}

.gc-app-launch{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  background:var(--gc-launch-bg);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s ease, visibility 0s linear .16s;
  isolation:isolate;
}

.gc-app-launch.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .16s ease;
}

.gc-app-launch__content{
  width:min(300px, 76vw);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  transform:translateY(-2vh);
}

.gc-app-launch__logo-wrap{
  position:relative;
  width:min(220px, 58vw);
  height:74px;
  display:grid;
  place-items:center;
}

.gc-app-launch__logo-base,
.gc-app-launch__logo-reveal img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  filter:brightness(0) saturate(100%);
  user-select:none;
  -webkit-user-drag:none;
}

.gc-app-launch__logo-base{
  opacity:.075;
}

.gc-app-launch__logo-reveal{
  position:absolute;
  inset:0;
  overflow:hidden;
  clip-path:inset(0 100% 0 0);
  will-change:clip-path;
}

.gc-app-launch.is-running .gc-app-launch__logo-reveal{
  animation:gc-launch-reveal .66s cubic-bezier(.2,.78,.18,1) .08s forwards;
}

.gc-app-launch__logo-wrap::after{
  content:"";
  position:absolute;
  top:11px;
  bottom:11px;
  left:0;
  width:2px;
  border-radius:99px;
  background:linear-gradient(180deg, rgba(40,93,222,0), rgba(40,93,222,.9), rgba(40,93,222,0));
  opacity:0;
  transform:translateX(0);
  will-change:transform, opacity;
}

.gc-app-launch.is-running .gc-app-launch__logo-wrap::after{
  animation:gc-launch-sweep .66s cubic-bezier(.2,.78,.18,1) .08s forwards;
}

.gc-app-launch__progress{
  width:88px;
  height:2px;
  margin-top:15px;
  overflow:hidden;
  border-radius:99px;
  background:var(--gc-launch-track);
}

.gc-app-launch__progress > span{
  display:block;
  width:100%;
  height:100%;
  border-radius:inherit;
  background:var(--gc-launch-blue);
  transform:scaleX(0);
  transform-origin:left center;
  will-change:transform;
}

.gc-app-launch.is-running .gc-app-launch__progress > span{
  animation:gc-launch-progress .78s cubic-bezier(.2,.75,.18,1) .02s forwards;
}

.gc-app-launch__label{
  min-height:17px;
  margin:12px 0 0;
  color:var(--gc-launch-muted);
  font:600 12px/1.4 Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing:.01em;
  opacity:0;
  transform:translateY(4px);
}

.gc-app-launch.is-running .gc-app-launch__label{
  animation:gc-launch-label .28s ease .4s forwards;
}

.gc-app-launch.is-finishing .gc-app-launch__content{
  animation:gc-launch-finish .22s ease both;
}

html.gc-launch-lock,
html.gc-launch-lock body{
  overflow:hidden !important;
}

@keyframes gc-launch-reveal{
  0%{ clip-path:inset(0 100% 0 0); }
  100%{ clip-path:inset(0 0 0 0); }
}

@keyframes gc-launch-sweep{
  0%{ opacity:0; transform:translateX(0); }
  12%{ opacity:.88; }
  82%{ opacity:.75; }
  100%{ opacity:0; transform:translateX(calc(min(220px, 58vw) - 2px)); }
}

@keyframes gc-launch-progress{
  0%{ transform:scaleX(0); }
  72%{ transform:scaleX(.84); }
  100%{ transform:scaleX(1); }
}

@keyframes gc-launch-label{
  to{ opacity:1; transform:translateY(0); }
}

@keyframes gc-launch-finish{
  to{ opacity:.96; transform:translateY(-2vh) scale(.985); }
}

@media (max-width:640px){
  .gc-app-launch__content{ transform:translateY(-4vh); }
  .gc-app-launch__logo-wrap{ width:min(196px, 62vw); height:68px; }
  .gc-app-launch.is-finishing .gc-app-launch__content{ transform:translateY(-4vh) scale(.985); }
}

@media (prefers-reduced-motion:reduce){
  .gc-app-launch,
  .gc-app-launch *{
    animation-duration:.01ms !important;
    animation-delay:0ms !important;
    transition-duration:.01ms !important;
  }
  .gc-app-launch__logo-reveal{ clip-path:inset(0 0 0 0); }
  .gc-app-launch__logo-wrap::after{ display:none; }
  .gc-app-launch__progress > span{ transform:scaleX(1); }
  .gc-app-launch__label{ opacity:1; transform:none; }
}
