/* The launch scene is isolated from reels and never changes game state. */
.riot-intro{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:hidden;background:#10050f;color:#fff9ed;isolation:isolate;transition:opacity .45s ease; font-family:Arial,sans-serif}
.riot-intro::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#10050f 0%,#10050f22 65%,#10050f77),url('assets/bleeding-moon.png') center 24%/cover;animation:intro-night 8s ease-in-out infinite alternate}
.riot-intro::after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 40%,transparent 15%,#10050fbd 85%);pointer-events:none}
.intro-content{width:min(88vw,640px);height:min(850px,94svh);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}
.intro-kicker{font-size:10px;letter-spacing:.45em;font-weight:800;color:#f6cdb9;margin:18px 0 0}
.intro-wolf{width:min(45svh,320px);height:min(49svh,380px);object-fit:contain;filter:drop-shadow(0 10px 30px #dd073c55);transform-origin:50% 90%;margin-bottom:-64px;opacity:0;transition:opacity .6s ease}
.intro-wolf.loaded{opacity:1}
.intro-title{position:relative;margin:0;line-height:.94;font-family:Anton,Impact,sans-serif;font-size:clamp(62px,15vw,112px);font-weight:400;letter-spacing:-.035em;transform:rotate(-5deg);text-shadow:0 5px 0 #51162e,0 12px 35px #070308;z-index:1}
.intro-title span{display:block;color:#dfff64;text-shadow:0 5px 0 #61752c,0 12px 30px #090509;font-size:1.32em}
.intro-tag{font-size:10px;letter-spacing:.32em;font-weight:800;margin:27px 0 22px;color:#e8b9c4}
.intro-loading{width:min(330px,78vw)}
.intro-track{height:7px;background:#351221;border:1px solid #723044;border-radius:20px;overflow:hidden;box-shadow:0 0 24px #ef124433}
.intro-track i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#b40828,#ff264d,#ffb4a3);transform:scaleX(0);transform-origin:left;transition:transform .35s ease;box-shadow:0 0 16px #ff214a}
.intro-status{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;color:#c9a6b2;margin-top:10px;min-height:15px}
.intro-start{margin-top:22px;min-height:54px;min-width:240px;border:1px solid #ff7a84;border-radius:5px;background:linear-gradient(#f3304e,#b90930);box-shadow:0 5px 0 #600b29,0 0 30px #ee133c33;color:white;font:20px Anton,Impact,sans-serif;letter-spacing:.09em;cursor:pointer}
.intro-start:disabled{opacity:.5;cursor:wait}.intro-start:focus-visible,.intro-sound:focus-visible,.intro-skip:focus-visible{outline:3px solid #dfff64;outline-offset:5px}
.intro-sound{margin-top:17px;border:0;background:transparent;color:#deb9c4;font-size:11px;letter-spacing:.12em;cursor:pointer;min-height:34px}
.intro-skip{position:absolute;right:max(18px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));border:1px solid #a2667980;border-radius:30px;padding:12px 18px;color:#f7d8e2;background:#160913aa;font-size:11px;letter-spacing:.08em;cursor:pointer}
.riot-intro.playing .intro-title{animation:intro-pump .55s cubic-bezier(.16,.8,.3,1) 6}
.riot-intro.playing .intro-wolf{animation:intro-arrive 1.2s cubic-bezier(.16,1,.3,1) both}
.riot-intro.playing .intro-loading,.riot-intro.playing .intro-start,.riot-intro.playing .intro-sound{visibility:hidden}
.riot-intro.leaving{opacity:0;pointer-events:none}
@keyframes intro-pump{0%,100%{transform:rotate(-5deg) scale(1)}18%{transform:rotate(-5deg) scale(1.065);filter:brightness(1.22)}55%{transform:rotate(-5deg) scale(.99)}}
@keyframes intro-arrive{0%{transform:translateY(28px) rotate(-4deg);filter:drop-shadow(0 0 45px #ff164d)}100%{transform:translateY(0) rotate(0);filter:drop-shadow(0 10px 30px #dd073c55)}}
@keyframes intro-night{from{transform:scale(1);opacity:.7}to{transform:scale(1.035);opacity:1}}
@media(max-height:650px){.intro-wolf{height:30svh;width:25svh;margin-bottom:-30px}.intro-title{font-size:clamp(42px,10svh,72px)}.intro-tag{margin:17px 0 12px}.intro-start{margin-top:14px;min-height:44px}.intro-kicker{margin-top:0}}
@media(prefers-reduced-motion:reduce){.riot-intro::before,.riot-intro.playing .intro-title,.riot-intro.playing .intro-wolf{animation:none}.riot-intro,.intro-track i{transition:none}}
