.game-startup {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  padding: 24px;
  background: #334e3e;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  opacity: 1;
  transition: opacity 250ms ease;
}
.game-startup.is-leaving { opacity: 0; }
.game-startup::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: radial-gradient(ellipse at 50% 38%, #fff9dc19, #29463819 58%, #152a36a6),
    linear-gradient(180deg, #1c38231a, #1c382360);
}
.game-startup__landscape {
  position: absolute;
  inset: -3%;
  z-index: -2;
  width: 106%;
  height: 106%;
  max-width: none;
  object-fit: cover;
  object-position: center 58%;
  filter: blur(2.5px) saturate(.92) brightness(.89);
  animation: game-startup-landscape 5000ms ease-out both;
}
.game-startup__panel {
  position: relative;
  width: min(100%, 470px);
  padding: clamp(20px, 5vw, 34px) clamp(14px, 4vw, 30px) 18px;
  box-sizing: border-box;
  border: 1px solid #fff8dcaa;
  border-radius: 35px;
  background: radial-gradient(ellipse at 42% 12%, #fffdf2f7, #f5eed8f7 66%, #e9dfc4f5),
    repeating-linear-gradient(112deg, #f5e9cd05 0 2px, #b6a8870a 2px 3px);
  box-shadow: 0 22px 60px #10281c64, 0 7px 19px #14281c36,
    inset 0 2px 0 #fffef5, inset 0 -3px 0 #d8cbac99, 0 0 32px #fff2bc1a;
  text-align: center;
  animation: game-startup-panel 520ms cubic-bezier(.2, .72, .25, 1) both;
}
.game-startup__panel::before {
  position: absolute;
  inset: 8px;
  content: "";
  border: 1px solid #c6ae7180;
  border-radius: 28px;
  pointer-events: none;
}
.game-startup__logo {
  display: block;
  width: 100%;
  max-height: min(42vh, 300px);
  object-fit: contain;
  margin: 0 auto;
  filter: drop-shadow(0 6px 5px #9d813f28);
  transform-origin: center;
  animation: game-startup-logo-pulse 1700ms ease-in-out infinite;
}
.game-startup__byline {
  position: relative;
  margin: 15px 0 9px;
  color: #516548;
  font: 700 11px/1.4 ui-sans-serif, system-ui, sans-serif;
  letter-spacing: .23em;
}
.game-startup__trail { display: block; width: 72%; height: 30px; margin: 0 auto; overflow: visible; }
.game-startup__trail-base, .game-startup__trail-progress {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}
.game-startup__trail-base { stroke: #c9ba974d; }
.game-startup__trail-progress {
  stroke: #c6a24e;
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  filter: drop-shadow(0 1px 1px #fff5c5);
  animation: game-startup-trail 5000ms linear both;
}
@keyframes game-startup-landscape { from { transform: scale(1.035); } to { transform: scale(1); } }
@keyframes game-startup-panel { from { transform: translateY(8px) scale(.975); } to { transform: translateY(0) scale(1); } }
@keyframes game-startup-logo-pulse { 0%,100% { transform: scale(.97); } 50% { transform: scale(1.025); } }
@keyframes game-startup-trail { 0% { stroke-dashoffset: 100; } 92%, 100% { stroke-dashoffset: 0; } }
@media (max-height: 420px) {
  .game-startup__panel { width: min(100%, 360px); padding-top: 13px; padding-bottom: 10px; }
  .game-startup__logo { max-height: 54vh; }
  .game-startup__byline { margin-top: 7px; margin-bottom: 3px; }
}
@media (prefers-reduced-motion: reduce) {
  .game-startup, .game-startup__landscape, .game-startup__panel, .game-startup__logo, .game-startup__trail-progress {
    animation: none;
    transition: none;
  }
  .game-startup.is-leaving { opacity: 1; }
  .game-startup__trail-progress { stroke-dashoffset: 0; }
}

.game-startup__panel{background-image:linear-gradient(145deg,#fff9eadc,#f4e9cebb),url("assets/interface/parchment.webp");background-size:auto,380px;border-color:#d3b87f}
