/* Code-drawn artwork is visible without waiting for an image download. */
#adventure-boot,#run-loading.adventure-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding: max(28px,env(safe-area-inset-top)) 24px max(28px,env(safe-area-inset-bottom));box-sizing:border-box;color:#fff0b9;background:radial-gradient(ellipse at 75% 20%,#254d66 0%,transparent 55%),radial-gradient(ellipse at 12% 85%,#403346,transparent 60%),#081827;font-family:system-ui,sans-serif;overflow:auto}
#adventure-boot{position:fixed;inset:0;z-index:10000}
#run-loading.adventure-loader{position:absolute;inset:0;z-index:7}
.adventure-loader-art{width:min(320px,78vw);flex-shrink:0;filter:drop-shadow(0 10px 22px #0005)}
.adventure-loader-art svg{display:block;width:100%;height:auto}
.adventure-loader .loader-kicker{font-size:10px;font-weight:800;letter-spacing:3px;color:#91d4dd}
.adventure-loader h2{margin:0;font:900 clamp(25px,6vw,38px)/1.1 system-ui,sans-serif;letter-spacing:-1px;color:#ffe291;text-shadow:0 3px 0 #704f24}
.adventure-loader h2 span{display:block;font-size:.52em;letter-spacing:3px;line-height:1.9;color:#fff3cf;text-shadow:none}
#adventure-boot p,#run-loading.adventure-loader p{margin:10px 0 0;color:#d5e6ef;font:500 14px/1.5 system-ui,sans-serif;max-width:300px}
.adventure-loader progress{appearance:none;border:0;border-radius:20px;width:min(250px,70vw);height:7px;background:#ffffff1c;overflow:hidden;accent-color:#ffdd75}
.adventure-loader progress::-webkit-progress-bar{background:#ffffff1c;border-radius:20px}
.adventure-loader progress::-webkit-progress-value{background:linear-gradient(90deg,#d99943,#ffe998);border-radius:20px;transition:width .18s}
.adventure-loader progress::-moz-progress-bar{background:#ffe38b;border-radius:20px}
.adventure-loader progress:indeterminate{background:linear-gradient(90deg,#ffffff12 20%,#ffe38b 50%,#ffffff12 80%);background-size:220% 100%;animation:adventure-track 1.6s linear infinite}
.adventure-loader small{font-size:11px;letter-spacing:1px;color:#9cb9c9}
.loader-bull{transform-origin:180px 150px;animation:adventure-breathe 1.5s ease-in-out infinite}
.loader-flight{animation:adventure-dash 2s linear infinite}
.loader-recovery{max-width:290px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:15px}
.loader-recovery[hidden]{display:none}
.loader-recovery button{padding:12px 14px;border:1px solid #ffe29170;border-radius:12px;background:#244657;color:#fff1c3;font:700 12px system-ui;min-height:44px;cursor:pointer}
.loader-recovery button:focus-visible{outline:3px solid #fff;outline-offset:3px}
@keyframes adventure-breathe{50%{transform:translateY(-5px) rotate(-2deg)}}
@keyframes adventure-dash{to{stroke-dashoffset:-44}}
@keyframes adventure-track{to{background-position:-220% 0}}
@media(max-height:550px){.adventure-loader-art{width:160px}.adventure-loader{gap:7px!important}.adventure-loader h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.loader-bull,.loader-flight,.adventure-loader progress:indeterminate{animation:none}}

/* Comic showdown, shared by initial boot and course loading. */
#adventure-boot,#run-loading.adventure-loader{background:#070d17;position:fixed;justify-content:flex-end;padding-bottom:max(35px,env(safe-area-inset-bottom));gap:9px;isolation:isolate}
#run-loading.adventure-loader{position:absolute}
.adventure-loader-art{position:absolute;inset:0;width:100%;height:100%;z-index:-2;filter:none;overflow:hidden}
.adventure-loader-art img{width:100%;height:100%;object-fit:cover;object-position:center 36%;display:block}
.adventure-loader-art::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#060b14 0%,#060b14ed 11%,#060b1480 30%,transparent 56%)}
.adventure-loader .loader-kicker{font-size:12px;letter-spacing:3px;color:#edcf72}
.adventure-loader h2{font:900 clamp(28px,7vw,44px)/.98 'Barlow Condensed',system-ui,sans-serif;letter-spacing:.5px;color:#fff4d2;text-shadow:none}
.adventure-loader h2 span{font-size:.52em;letter-spacing:4px;line-height:1.6}
.adventure-loader small{font-size:12px;letter-spacing:.3px}
.adventure-loader progress{height:5px;border-radius:0;width:min(280px,75vw)}
#adventure-boot p,#run-loading.adventure-loader p{margin:4px 0;font-size:14px}
@media(min-width:700px){.adventure-loader-art img{object-fit:contain}.adventure-loader-art{background:#070d17}}
@media(max-height:550px){.adventure-loader-art{width:100%}.adventure-loader h2{font-size:26px}.adventure-loader .loader-kicker,.adventure-loader small{display:none}}
