.osevaro-splash {
  --osevaro-splash-ready: 1;
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  min-height: 100dvh;
  overflow: hidden;
  background: var(--osevaro-page, #fff);
  color: var(--osevaro-text, #203c38);
  visibility: hidden;
  pointer-events: none;
  overscroll-behavior: none;
  touch-action: none;
  isolation: isolate;
}
.osevaro-splash[hidden],.osevaro-splash-replay[hidden] { display: none !important; }
.osevaro-splash.is-running {
  visibility: visible;
  pointer-events: auto;
  animation: osevaro-splash-exit 2.36s ease both, osevaro-splash-fail-open 2.8s step-end forwards;
}
.osevaro-splash-content { text-align: center; padding: 28px; max-width: min(100%, 420px); transform: translateY(-14px); }
.osevaro-splash-emblem { position: relative; isolation: isolate; width: clamp(148px, 34vw, 205px); height: clamp(148px, 34vw, 205px); margin: 0 auto 18px; }
.osevaro-splash-parts,.osevaro-splash-still { display: block; position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: contain; }
.osevaro-splash-halo { position: absolute; inset: 5%; z-index: -1; border-radius: 46% 54% 50% 47%; background: radial-gradient(ellipse at 30% 30%, #f7dac66b, #dce9d94a 60%, transparent 72%); filter: blur(16px); }
.osevaro-splash-still { opacity: 0; }
.osevaro-splash-cat { transform-box: view-box; transform-origin: 43% 79%; }
.osevaro-splash-dog { transform-box: view-box; transform-origin: 54% 82%; }
.is-running .osevaro-splash-cat { animation: osevaro-splash-cat 1.5s cubic-bezier(.3,0,.22,1) both; }
.is-running .osevaro-splash-dog { animation: osevaro-splash-dog 1.5s cubic-bezier(.3,0,.22,1) both; }
.is-running .osevaro-splash-parts { animation: osevaro-splash-parts 1.7s ease both; }
.is-running .osevaro-splash-still { animation: osevaro-splash-still 1.7s ease both; }
.osevaro-splash-name { color: var(--osevaro-text, #203c38) !important; margin: 0 0 9px !important; font: 650 29px/1.15 var(--theme-font-family, system-ui, sans-serif); letter-spacing: 2.3px; }
.osevaro-splash-tagline { color: var(--osevaro-muted, #617267) !important; margin: 0 auto !important; font: 400 13px/1.5 var(--theme-font-family, system-ui, sans-serif); max-width: 260px; }
.is-running :is(.osevaro-splash-name,.osevaro-splash-tagline) { animation: osevaro-splash-type .8s ease both; }
.is-running .osevaro-splash-tagline { animation-delay: .1s; }
.osevaro-splash-skip { position: absolute; bottom: max(28px, env(safe-area-inset-bottom)); right: max(24px, env(safe-area-inset-right)); padding: 10px 15px !important; min-height: 44px !important; font: 500 12px/1.4 var(--theme-font-family, system-ui, sans-serif); border: 1px solid var(--osevaro-border, #e1e8de) !important; border-radius: 12px !important; background: var(--osevaro-surface, #fff) !important; color: var(--osevaro-muted, #617267) !important; cursor: pointer; box-shadow: none !important; }
.osevaro-splash-skip:focus-visible,.osevaro-splash-replay:focus-visible { outline: 2px solid var(--osevaro-focus, #527b70); outline-offset: 3px; }
.osevaro-splash-replay { min-height: 44px !important; padding: 8px 0 !important; border: 0 !important; border-radius: 10px !important; background: transparent !important; color: var(--osevaro-link, #42674f) !important; font: 500 12px/1.4 var(--theme-font-family, system-ui, sans-serif); cursor: pointer; box-shadow: none !important; }
@keyframes osevaro-splash-cat {
  0% { transform: translate(-1px, 2px) rotate(-1.4deg) scale(.985, .975); }
  36% { transform: translate(-2px, -2px) rotate(-.75deg) scale(1.008, 1.018); }
  67% { transform: translate(1px, .5px) rotate(.4deg) scale(1.002, 1.004); }
  100% { transform: none; }
}
@keyframes osevaro-splash-dog {
  0% { transform: translate(1px, 1px) rotate(1.1deg) scale(.99, .98); }
  42% { transform: translate(2px, -1px) rotate(.65deg) scale(1.012, 1.009); }
  73% { transform: translate(-.6px, .6px) rotate(-.3deg) scale(1.003, 1.003); }
  100% { transform: none; }
}
@keyframes osevaro-splash-parts { 0%,74% { opacity: 1; } 100% { opacity: 0; } }
@keyframes osevaro-splash-still { 0%,74% { opacity: 0; } 100% { opacity: 1; } }
@keyframes osevaro-splash-type { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
@keyframes osevaro-splash-exit { 0%,82% { opacity: 1; } 100% { opacity: 0; } }
/* No inert body or modal top layer: this independent cutoff always releases clicks. */
@keyframes osevaro-splash-fail-open { to { visibility: hidden; pointer-events: none; } }
@media(prefers-reduced-motion: reduce) { .osevaro-splash,.osevaro-splash-replay { display: none !important; } }
