/* A static ocean is visible immediately, even before the background image loads. */
body { background-color: #063650; }
.site-background {
  inset: -3%;
  background-color: #063650;
  transform: translate3d(0, 0, 0) scale(1.04);
}
.actions-row { margin-top: 24px; }
.logo-container { position: relative; }
.octopus-expression { position: absolute; inset: 0; opacity: 0; pointer-events: none; }
.octopus-expression .brow { position: absolute; top: 44%; width: 10%; height: 3%; background: #064477; border-radius: 2px; }
.octopus-expression .brow:first-child { left: 38%; transform: rotate(22deg); }
.octopus-expression .brow:nth-child(2) { left: 55%; transform: rotate(-22deg); }
.octopus-expression .mouth { position: absolute; top: 54%; left: 47%; width: 9%; height: 5%; border: 3px solid #064477; border-bottom: 0; border-radius: 50% 50% 0 0; }
.logo-container[data-mood="angry"] .octopus-expression,
.logo-container[data-mood="happy"] .octopus-expression { opacity: 1; }
.logo-container[data-mood="happy"] .brow { background: transparent; border-top: 3px solid #fff; border-radius: 50%; transform: none; top: 43%; height: 5%; }
.logo-container[data-mood="happy"] .mouth { border: 0; background: #064477; border-radius: 0 0 60% 60%; height: 7%; }
.loading-screen {
  position: fixed; inset: 0; z-index: 1000; display: grid; place-content: center;
  justify-items: center; gap: 16px; background: radial-gradient(ellipse at top, #1275a0, #05263d 75%);
  color: #e0f2fe; font: 800 20px/1.4 system-ui, sans-serif; text-align: center;
  pointer-events: none; animation: loading-fallback .3s 3s forwards;
}
.loading-screen img { width: 130px; height: 130px; object-fit: contain; }
.loading-screen small { font-size: 12px; font-weight: 400; letter-spacing: .12em; }
.loading-screen.is-ready { display: none; }
@keyframes loading-fallback { to { opacity: 0; visibility: hidden; } }
@media (prefers-reduced-motion: reduce) {
  .site-background { transform: scale(1.04) !important; }
  .loading-screen { animation: loading-fallback 0s 3s forwards !important; }
}
