/* R8.2: contain the loading artwork within the same 16:9 stage as the PC game.
   Original loading DOM proportions and star SVG come from the supplied HTML.
   All rules scoped to avoid leaking the vendor loading classes into the game. */
html, body { margin: 0; background: #000; }
#pb-startup { position: fixed; inset: 0; z-index: 1000000; display: flex; align-items: center; justify-content: center; overflow: hidden; background: #000; color: #fff; opacity: 1; isolation: isolate; font-family: "Segoe UI", Helvetica, Arial, sans-serif; }
#pb-startup *, #pb-startup *::before, #pb-startup *::after { box-sizing: border-box; }
#pb-startup.UWPafI { opacity: 0; transition: opacity .5s; }
#pb-startup .ZkvUuC { display: none; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: blur(8px); transform: scale(1.03); }
/* CSS fallback also applies before React boots. Once running, share the exact
   stage dimensions computed by the game's viewport scaler. Never use cover/max. */
#pb-startup .EKZ8M8 { position: relative; flex: 0 0 auto; overflow: hidden; width: var(--pb-stage-width, min(100vw, 177.777778vh)); height: var(--pb-stage-height, min(56.25vw, 100vh)); font-size: min(6.25vw, 11.111111vh); }
#pb-startup .zfcmHk { display: block; width: 100%; height: 100%; object-fit: contain; }
#pb-startup ._1ALiE5 { width: 2.75em; height: .88em; margin: 0 auto; position: absolute; top: 66.1%; left: 0; right: 0; }
#pb-startup .-CrV-o { width: 100%; height: 100%; display: block; }
#pb-startup ._485lI_ { background: radial-gradient(#ffffff4d 15%, #ffffff1a 60%, #fff0 70%) 50% 0 no-repeat; width: 100%; height: 11.765%; position: absolute; top: 11.765%; }
#pb-startup ._485lI_::after { content: ""; background: radial-gradient(#fff 15%, #fff0 70%) 50% no-repeat; width: 100%; height: 18.234%; position: absolute; top: 44%; }
#pb-startup .TvykPl { background: radial-gradient(#ffffff80 15%, #ffffff4d 65%, #fff0 71%) 50% no-repeat; width: 100%; height: 1.967%; position: absolute; top: 17%; overflow: hidden; }
#pb-startup ._5CEkEM { width: 90%; height: 100%; transition: transform .2s; position: absolute; top: -4.96%; left: 12.5%; transform: translateX(-100%); }
#pb-startup .fGo1Wp { float:right;background-image:url("data:image/svg+xml,%3Csvg width='48' height='48' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3CradialGradient fx='50%25' fy='50%25' r='49.1%25' id='c'%3E%3Cstop stop-color='white' offset='30%25'/%3E%3Cstop stop-color='white' stop-opacity='.5' offset='100%25'/%3E%3C/radialGradient%3E%3Cpath d='M17.4 14H19l11 1-11 1h-1.6l1.1 1.1 7.1 8.5-8.5-7-1.1-1.2V19l-1 11-1-11v-1.6l-1.1 1.1-8.5 7.1 7-8.5 1.2-1.1H11L0 15l11-1h1.6l-1.1-1.1-7.1-8.5 8.5 7 1.1 1.2V11l1-11 1 11v1.6l1.1-1.1 8.5-7.1-7 8.5-1.2 1.1z' id='b'/%3E%3Cfilter x='-84%25' y='-84%25' width='268%25' height='268%25' filterUnits='objectBoundingBox' id='a'%3E%3CfeMorphology radius='.1' operator='dilate' in='SourceAlpha' result='d'/%3E%3CfeOffset in='d' result='e'/%3E%3CfeGaussianBlur stdDeviation='2' in='e' result='f'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.7 0' in='f' result='g'/%3E%3CfeOffset in='SourceAlpha' result='h'/%3E%3CfeGaussianBlur stdDeviation='7' in='h' result='i'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.5 0' in='i' result='j'/%3E%3CfeMerge%3E%3CfeMergeNode in='g'/%3E%3CfeMergeNode in='j'/%3E%3C/feMerge%3E%3C/filter%3E%3C/defs%3E%3Cg transform='translate%288.8 8.8%29' fill='none' fill-rule='evenodd'%3E%3Cuse fill='black' filter='url%28%23a%29' xlink:href='%23b'/%3E%3Cuse fill='url%28%23c%29' xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E");background-position:100%;background-repeat:no-repeat;background-size:100% 100%;width:16.73%;height:47.059%;animation:2s linear infinite pb-loading-star }
@keyframes pb-loading-star { to { transform: rotate(360deg); } }
#pb-startup .ubcvoO { text-align: center; width: 100%; height: 65%; position: absolute; bottom: 0; }
#pb-startup ._1_N5LI { display: block; opacity: .65; width: 100%; font: 300 .14em "Segoe UI", Helvetica, Arial, sans-serif; line-height: 1.2; }
#pb-startup .pb-loading-provider { display: block; width: 57%; height: auto; margin: -.015em auto 0; }
#pb-startup .pb-loading-assistance { position: absolute; bottom: max(20px, env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); width: max-content; max-width: min(92%, 600px); padding: 12px 18px; border: 1px solid #ffffff35; border-radius: 8px; background: #080a0bdf; color: #fff; text-align: center; font: 14px/1.5 "Segoe UI", Helvetica, Arial, sans-serif; }
#pb-startup .pb-loading-assistance p { margin: 0 0 10px; }
#pb-startup .pb-loading-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
#pb-startup .pb-loading-actions button, #pb-startup .pb-loading-actions a { display: inline-block; color: #fff; background: #ffffff16; border: 1px solid #ffffff65; border-radius: 5px; padding: 8px 16px; min-height: 40px; font: inherit; cursor: pointer; text-decoration: none; }
#pb-startup .pb-loading-actions :focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
#pb-startup .pb-loading-accessible { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#pb-startup .pb-loading-bootstrap-help { visibility: hidden; animation: pb-loading-help 0s 8s forwards; }
@keyframes pb-loading-help { to { visibility: visible; } }
/* Match App's mobile breakpoint. A portrait desktop/tablet still uses the PC
   16:9 stage; mobile portrait retains the supplied landscape-art adaptation. */
@media (max-width: 767px) and (max-aspect-ratio: 1/1), (max-height: 500px) and (max-width: 1000px) and (max-aspect-ratio: 1/1) {
  /* Only landscape artwork was supplied: keep the whole title visible in portrait. */
  #pb-startup .ZkvUuC { display: block; filter: blur(60px) brightness(.6); transform: scale(1.3); }
  #pb-startup .EKZ8M8 { width: 180vw; height: 101.25vw; font-size: 15vw; }
  #pb-startup .zfcmHk { -webkit-mask-image: linear-gradient(transparent, #000 24%, #000 70%, transparent); mask-image: linear-gradient(transparent, #000 24%, #000 70%, transparent); }
  #pb-startup ._1ALiE5 { top: 71%; }
  #pb-startup .pb-loading-assistance { position: fixed; max-width: min(92vw, 600px); }
}
@media (prefers-reduced-motion: reduce) {
  #pb-startup .fGo1Wp { animation: none; }
  #pb-startup ._5CEkEM { transition: none; }
}
