/* v0.7.1 launch splash: the real bull logo breathing smoke (cold start only) */
#splash{position:fixed;inset:0;z-index:2147483000;background:#120c0b;display:flex;align-items:center;justify-content:center;overflow:hidden;
 -webkit-tap-highlight-color:transparent;cursor:pointer;transition:opacity .5s cubic-bezier(.4,0,.2,1)}
#splash .sp-glow{position:absolute;inset:0;opacity:0;transition:opacity .6s ease-out;
 background:radial-gradient(120% 70% at 50% 44%,rgba(92,38,24,.55) 0%,rgba(40,20,16,.5) 38%,rgba(14,10,9,0) 72%),radial-gradient(160% 100% at 50% 50%,#1a1110 0%,#0d0908 100%)}
#splash.sp-on .sp-glow{opacity:1}
#splash .sp-stage{position:relative;width:min(88vw,50vh,400px);aspect-ratio:780/723;margin-top:-6vh;transform:scale(.965);opacity:0;
 transition:transform 1.9s cubic-bezier(.2,.7,.2,1),opacity .45s ease-out}
#splash.sp-on .sp-stage{opacity:1;transform:scale(1)}
#splash .sp-stage img{position:absolute;inset:0;width:100%;height:100%;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}
#splash .sp-smk{opacity:0;transition:opacity .7s ease-in-out}
#splash.sp-settle .sp-smk{opacity:.92}
#splash .sp-ember{position:absolute;left:63.7%;top:44.4%;width:46%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
 background:radial-gradient(circle,rgba(255,128,64,.30) 0%,rgba(214,82,40,.14) 32%,rgba(120,40,20,0) 68%);mix-blend-mode:screen;opacity:.25;will-change:opacity}
#splash canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#splash .sp-skip{position:absolute;left:0;right:0;bottom:calc(28px + env(safe-area-inset-bottom));text-align:center;
 font:500 11px/1 Inter,system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:rgba(236,226,214,.32);opacity:0;transition:opacity .6s .5s}
#splash.sp-on .sp-skip{opacity:1}
#splash.sp-out{opacity:0;pointer-events:none}
#splash.sp-out .sp-stage{transform:scale(1.035);transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .5s}
html.sp-lock,html.sp-lock body{overflow:hidden}
@media (prefers-reduced-motion:reduce){#splash .sp-stage{transition:opacity .25s;transform:none}#splash .sp-smk{opacity:.92;transition:none}#splash .sp-ember{display:none}}

/* v2.4.1 theme isolation: the splash never takes the shop's theme (dark-mode invert filters, palette variables, the
   no-transitions rule). It has its own fixed colours above, and these rules keep page-wide rules out of it. */
#splash{color-scheme:only light;color:#ece2d6;box-sizing:border-box;margin:0;border:0;padding:0;width:auto;height:auto;max-width:none;max-height:none;font-family:Inter,system-ui,sans-serif}
#splash[popover]{position:fixed;inset:0;margin:0;border:0;padding:0;width:100%;height:100%;max-width:none;max-height:none;overflow:hidden;background:#120c0b;color:#ece2d6}
#splash *{box-sizing:border-box}
/* in the top layer the page's dark-mode filter does not reach the splash, so it must not apply its own counter-invert */
#splash.sp-top,#splash.sp-top *{filter:none!important}
/* fallback (no top layer, old WebView): the splash is counter-inverted by styles.css; the smoke canvas must not be inverted a third time */
html.dk20 #splash:not(.sp-top) canvas,html.dk20 #splash:not(.sp-top) img{filter:none!important}
dialog.sp-host{position:fixed!important;inset:0!important;margin:0!important;padding:0!important;border:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;background:transparent!important;overflow:hidden!important;filter:none!important;outline:none}
dialog.sp-host::backdrop{background:transparent}
