/* Faithful approved image from the conversation. The image contains no
   pre-rendered loading caption/progress. The bar below remains live UI. */
.splash.splash-approved{
  background:#03192c;
  display:block;
  overflow:hidden;
}
.splash-approved .splash-approved-poster{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:5;
  overflow:hidden;
  isolation:isolate;
}
.splash-approved .splash-approved-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  pointer-events:none;
  user-select:none;
}
.splash-approved .splash-frame,
.splash-approved .splash-winter-sky,
.splash-approved .splash-winter-snowbank,
.splash-approved .splash-holiday-lights{display:none!important}
.splash-approved::before{display:none!important}
.splash:not(.splash-approved) .splash-approved-poster{display:none!important}
.splash-approved .splash-approved-status{
  position:absolute;
  top:75.1%;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:13px;
  width:min(60vw,250px);
  z-index:6;
  color:#d8ebff;
  text-shadow:0 2px 7px #082344;
  font-size:clamp(10px,1.25vh,13px);
  font-weight:700;
  letter-spacing:.23em;
  white-space:nowrap;
}
.splash-approved .splash-approved-status .splash-progress{
  position:relative;
  display:block;
  width:min(100%,188px);
  height:5px;
  border-radius:99px;
  border:1px solid #7bb4e866;
  background:#274a75b2;
  overflow:hidden;
  box-shadow:0 0 10px #237bc040;
}
.splash-approved .splash-approved-status .splash-progress::after{display:none!important}
.splash-approved .splash-approved-status .splash-progress-fill{
  display:block;
  height:100%;
  width:0%;
  border-radius:inherit;
  background:linear-gradient(90deg,#49a8fb,#cbf0ff);
  box-shadow:0 0 8px #c1efff;
  transition:width .3s ease;
}
@media (min-aspect-ratio: 2/3){
  /* Short screens would otherwise crop the header and the snow at the base. */
  .splash-approved .splash-approved-photo{object-fit:contain}
  .splash-approved .splash-approved-status{top:76.2%}
}
@media(prefers-reduced-motion:reduce){
  .splash-approved .splash-approved-status .splash-progress-fill{transition:none}
}

/* Responsive winter-poster extension, not a stretched mascot.
   The original artwork is always shown at its exact aspect ratio.
   A softened copy fills the excess viewport width/height. */
.splash.splash-approved{background:#041c32!important}
.splash-approved .splash-approved-poster::before{
  content:"";position:absolute;inset:-42px;z-index:0;
  background:url("/static/assets/crafter-approved-splash.webp") center/cover no-repeat;
  filter:blur(35px) brightness(.65) saturate(.95);
  transform:scale(1.05);pointer-events:none;
}
.splash-approved .splash-approved-poster::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,#03182c3b,transparent 13%,transparent 87%,#03182c3b);
}
.splash-approved .splash-approved-photo{
  z-index:2;width:100%;height:100%;
  object-fit:contain!important;object-position:50% 50%;
  background:transparent;
}
.splash-approved .splash-approved-status{z-index:4}
@media(max-aspect-ratio:640/1137){
  /* At tall aspect ratios the complete poster is vertically centered. */
  .splash-approved .splash-approved-status{top:calc(50% + 46.2vw)}
}
@media(min-aspect-ratio:1/1){
  /* Landscape: show the complete composition, keep typography clear. */
  .splash-approved .splash-approved-photo{max-height:100dvh}
  .splash-approved .splash-approved-status{top:76.1%}
}

/* 2026 device layouts: never use a blurred/enlarged copy as a filler.
   Portrait keeps the original full artwork; tablets/desktop landscape use
   the existing independent sprite layers as a real responsive composition. */
.splash.splash-approved {
  background:radial-gradient(ellipse at 50% 45%,#17456b 0%,#092942 65%,#041728 100%)!important;
}
.splash-approved .splash-approved-poster::before {
  display:none!important;filter:none!important;background:none!important;
}
.splash-approved .splash-approved-poster::after {
  background:linear-gradient(90deg,#07254145 0,transparent 18%,transparent 82%,#07254145 100%);
}
.splash-approved .splash-approved-photo {
  max-width:100%;max-height:100%;object-fit:contain!important;
  object-position:center!important;
}
@media(max-aspect-ratio: 2/3) and (max-height:720px){
  .splash-approved .splash-approved-status {
    top:auto!important;bottom:max(8%,calc(22px + env(safe-area-inset-bottom)));
    font-size:10px;gap:9px;
  }
}
@media(min-aspect-ratio:1/1){
  .splash.splash-approved {
    background:
      radial-gradient(ellipse 47% 78% at 50% 47%,#255b80 0%,#0c3151 60%,transparent 100%),
      linear-gradient(120deg,#071a32,#071b30 54%,#031322)!important;
  }
  .splash-approved .splash-approved-poster {display:none!important;}
  .splash-approved .splash-frame {
    display:flex!important;
    z-index:3;
    position:relative;
    flex-direction:column;
    justify-content:center;
    gap:clamp(3px,2vh,16px);
    height:min(96dvh,730px);
    width:min(94vw,740px);
    max-width:none;
    margin:auto;
    transform:none!important;
  }
  .splash-approved .splash-art {
    display:block!important;
    position:relative;
    width:min(48dvh,410px,40vw);
    max-width:100%;
    aspect-ratio:1;
    margin:0 auto;
  }
  .splash-approved .splash-brand {
    display:block!important;
    font-size:clamp(26px,5dvh,48px);
    line-height:1.05;
    text-align:center;
  }
  .splash-approved .splash-status {display:flex!important;z-index:5;}
  .splash-approved .splash-winter-sky,
  .splash-approved .splash-winter-snowbank,
  .splash-approved .splash-holiday-lights {display:block!important;}
  .splash-approved .splash-holiday-lights {
    top:0;width:min(84vw,700px);opacity:.65;
  }
}
@media(min-aspect-ratio:1/1) and (max-height:480px) {
  .splash-approved .splash-frame {
    gap:5px;height:95dvh;
    flex-direction:row;align-items:center;justify-content:space-evenly;
  }
  .splash-approved .splash-brand {font-size:clamp(23px,6vh,38px);}
  .splash-approved .splash-art {width:min(72vh,44vw);}
  .splash-approved .splash-status {font-size:10px;}
}
