html,body,#root{min-height:100%;margin:0;background:#000;color:#fff}
[data-recome-seo-snapshot]{display:none!important;visibility:hidden!important;pointer-events:none!important}

#recome-preboot,
.recome-startup-screen{
  position:fixed;
  inset:0;
  z-index:2147483000;
  width:100vw;
  height:100dvh;
  min-height:100dvh;
  overflow:hidden;
  color:#fff;
}

#recome-preboot{
  z-index:2147483600;
  pointer-events:none;
  background:#050608;
}

.recome-web-preboot{
  position:fixed;
  inset:0;
  width:100vw;
  height:100dvh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#050608;
}

.recome-web-preboot__content{
  width:min(300px,72vw);
  margin:auto;
  display:grid;
  justify-items:center;
  opacity:0;
  transform:translateY(8px) scale(.985);
  animation:recomeWebPrebootReveal .34s cubic-bezier(.22,.78,.22,1) .02s forwards;
}

.recome-web-preboot__mark{
  display:block;
  width:min(132px,31vw);
  height:auto;
  margin-bottom:30px;
  opacity:.16;
  filter:drop-shadow(0 0 16px rgba(255,255,255,.035));
  animation:recomeWebPrebootMark 2.8s cubic-bezier(.16,.84,.28,1) forwards;
}

.recome-web-preboot__track{
  width:min(240px,62vw);
  height:2px;
  overflow:hidden;
  background:rgba(255,255,255,.13);
}

.recome-web-preboot__track span{
  display:block;
  width:8%;
  height:100%;
  background:#fff;
  animation:recomeWebPrebootProgress 2.8s cubic-bezier(.16,.84,.28,1) forwards;
}

.recome-web-preboot__label{
  margin-top:11px;
  color:rgba(255,255,255,.56);
  font:500 11px/1.2 "DM Sans",Inter,ui-sans-serif,system-ui,sans-serif;
  letter-spacing:.01em;
}

.recome-native-preboot{display:none}

html[data-recome-runtime="native"][data-recome-native-cold-start="true"] #recome-preboot{
  background:#000;
}
html[data-recome-runtime="native"][data-recome-native-cold-start="true"] .recome-web-preboot{
  display:none;
}
html[data-recome-runtime="native"][data-recome-native-cold-start="true"] .recome-native-preboot{
  position:absolute;
  inset:0;
  display:block;
  background:#000;
}

.recome-startup-screen{
  pointer-events:auto;
  background:#000;
}

.recome-native-cold-start-artwork{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#000;
}

.recome-native-cold-start-artwork>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  user-select:none;
  pointer-events:none;
}

@media(min-width:761px){
  .recome-native-cold-start-artwork>img{
    object-fit:cover;
  }
}

#recome-preboot .recome-native-cold-start-artwork--preboot{
  opacity:0;
  animation:recomeNativeColdStartIn .34s ease-out forwards;
}

@keyframes recomeNativeColdStartIn{
  from{opacity:0}
  to{opacity:1}
}

@keyframes recomeWebPrebootReveal{
  to{opacity:1;transform:translateY(0) scale(1)}
}

@keyframes recomeWebPrebootMark{
  0%{opacity:.16}
  35%{opacity:.38}
  68%{opacity:.66}
  100%{opacity:.92}
}

@keyframes recomeWebPrebootProgress{
  0%{width:8%}
  35%{width:38%}
  68%{width:67%}
  100%{width:92%}
}

@media(prefers-reduced-motion:reduce){
  #recome-preboot,
  .recome-startup-screen,
  .recome-web-preboot__content,
  .recome-web-preboot__mark,
  .recome-web-preboot__track span,
  .recome-native-cold-start-artwork--preboot{
    animation:none!important;
    transition:none!important;
  }
  .recome-web-preboot__content{opacity:1;transform:none}
  .recome-web-preboot__mark{opacity:.72}
  .recome-web-preboot__track span{width:72%}
  .recome-native-cold-start-artwork--preboot{opacity:1}
}


/* 2026-09-24 · canonical preboot viewport centering */
#recome-preboot,
.recome-web-preboot{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  overflow:hidden!important;
}
.recome-web-preboot__content{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:min(300px,72vw)!important;
  margin:0!important;
  transform:translate(-50%,-50%) scale(.985)!important;
  transform-origin:center!important;
}
@keyframes recomeWebPrebootReveal{
  to{opacity:1;transform:translate(-50%,-50%) scale(1)}
}
@supports(height:100svh){
  #recome-preboot,.recome-web-preboot{height:100svh!important;min-height:100svh!important}
}
