:root {
  --sharp-start-gold: #d39a25;
  --sharp-start-gold-dark: #8c5a0d;
  --sharp-start-ink: #121214;
  --sharp-start-muted: #746b61;
  --sharp-start-cream: #fffaf0;
}

#splash,
.session-expired {
  background: #fbf6ec !important;
  color: var(--sharp-start-ink) !important;
}

#splash {
  position: fixed !important;
  inset: 0 !important;
  z-index: 40000 !important;
  display: block !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#splash.hidden {
  display: none !important;
}

#splash .splash-bg,
.session-expired__bg {
  position: absolute !important;
  inset: 0 !important;
  background: #fbf6ec !important;
  transform: none !important;
  opacity: 1 !important;
}

#splash .splash-bg__image,
.session-expired__bg-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  opacity: 1 !important;
  filter: none !important;
  transition: opacity 0.28s ease !important;
}

#splash .splash-bg::after,
.session-expired__bg::after {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 44% !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(251, 246, 236, 0) 0%, rgba(251, 246, 236, 0.7) 48%, rgba(251, 246, 236, 0.98) 100%) !important;
}

.splash-bottom {
  position: absolute !important;
  z-index: 2 !important;
  left: max(22px, env(safe-area-inset-left)) !important;
  right: max(22px, env(safe-area-inset-right)) !important;
  bottom: max(22px, env(safe-area-inset-bottom)) !important;
  width: auto !important;
  max-width: 430px !important;
  margin: 0 auto !important;
  display: grid !important;
  gap: 12px !important;
  justify-items: stretch !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: transform 0.26s ease, opacity 0.26s ease, filter 0.26s ease !important;
}

#splash.is-ready .splash-bottom {
  opacity: 0 !important;
  transform: translateY(20px) scale(0.985) !important;
  filter: blur(8px) !important;
}

.splash-session-copy {
  display: grid !important;
  justify-items: center !important;
  gap: 5px !important;
  text-align: center !important;
  text-transform: none !important;
}

.splash-session-copy span {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(93, 75, 48, 0.72) !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.74) !important;
}

.splash-session-copy strong {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 42px !important;
  font-weight: 900 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.04em !important;
  color: #111113 !important;
  text-shadow: 0 8px 24px rgba(166, 112, 24, 0.14) !important;
}

.splash-mini-divider,
.splash-status-grid,
.splash-secure {
  display: none !important;
}

#splash .splash-subtitle {
  max-width: 290px !important;
  margin: 0 auto 2px !important;
  text-align: center !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.28 !important;
  letter-spacing: 0 !important;
  color: rgba(83, 76, 68, 0.76) !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.74) !important;
}

#splash .splash-loader-wrap {
  order: 3 !important;
  width: 100% !important;
  display: grid !important;
  gap: 8px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#splash .splash-loader-wrap::before,
#splash .splash-loader__fill::after {
  display: none !important;
}

.splash-loader-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
}

#splash .splash-loader {
  height: 8px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(188, 148, 78, 0.22) !important;
  box-shadow: inset 0 1px 2px rgba(104, 70, 12, 0.12) !important;
  overflow: hidden !important;
}

#splash .splash-loader__fill {
  height: 100% !important;
  min-width: 22px !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, #9f640e 0%, #d9a536 46%, #f7df8a 100%) !important;
  box-shadow: 0 0 16px rgba(190, 128, 23, 0.3) !important;
}

#splash .splash-loader-value {
  min-width: 38px !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  color: #9a6816 !important;
  text-align: right !important;
  text-shadow: none !important;
}

#splash .splash-loader-meta {
  display: flex !important;
  justify-content: center !important;
  min-height: 16px !important;
}

#splash .splash-loader-step {
  display: block !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(123, 89, 34, 0.72) !important;
}

.splash-start-button {
  order: 2 !important;
  width: 100% !important;
  height: 58px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(112, 72, 8, 0.18) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, #f7d978 0%, #d09a25 48%, #9f650f 100%) !important;
  color: #fffaf0 !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.58),
    0 16px 30px rgba(155, 94, 8, 0.22),
    0 2px 0 rgba(99, 61, 6, 0.22) !important;
  transition: transform 0.18s ease, opacity 0.18s ease, filter 0.18s ease !important;
}

.splash-start-button span {
  display: block !important;
  transform: translateY(-1px) !important;
}

.splash-start-button:disabled {
  opacity: 0.68 !important;
  filter: saturate(0.82) brightness(1.03) !important;
}

#splash.is-ready-to-start .splash-start-button {
  opacity: 1 !important;
  filter: none !important;
}

.splash-start-button:not(:disabled):active {
  transform: translateY(1px) scale(0.992) !important;
}

.session-expired {
  place-items: end center !important;
  padding: max(18px, env(safe-area-inset-top)) 22px max(22px, env(safe-area-inset-bottom)) !important;
}

.session-expired.hidden {
  display: none !important;
}

.session-expired__bg-image {
  filter: saturate(0.98) brightness(0.98) !important;
}

.session-expired__bg::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(255, 251, 243, 0.18) !important;
  backdrop-filter: blur(1.5px) !important;
}

.session-expired__panel {
  position: relative !important;
  z-index: 2 !important;
  width: min(100%, 430px) !important;
  display: grid !important;
  justify-items: center !important;
  gap: 13px !important;
  padding: 22px 18px 18px !important;
  border: 1px solid rgba(198, 145, 44, 0.25) !important;
  border-radius: 26px !important;
  background: rgba(255, 252, 246, 0.84) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.76),
    0 18px 44px rgba(124, 86, 22, 0.2) !important;
  backdrop-filter: blur(18px) !important;
}

.session-expired__badge {
  width: 54px !important;
  height: 54px !important;
  border-radius: 18px !important;
  color: #a57418 !important;
  border: 1px solid rgba(190, 134, 26, 0.24) !important;
  background: linear-gradient(180deg, rgba(255, 249, 235, 0.94), rgba(245, 231, 202, 0.82)) !important;
  box-shadow: 0 12px 24px rgba(154, 103, 18, 0.14) !important;
}

.session-expired__badge svg {
  width: 27px !important;
  height: 27px !important;
  filter: none !important;
}

.session-expired__copy {
  gap: 7px !important;
}

.session-expired__copy span {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(112, 81, 34, 0.66) !important;
}

.session-expired__copy strong {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 31px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
  text-transform: none !important;
  color: #111113 !important;
  text-shadow: none !important;
}

.session-expired__copy p {
  max-width: 300px !important;
  margin: 0 !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  color: rgba(83, 76, 68, 0.74) !important;
}

.session-expired__divider {
  display: none !important;
}

.session-expired__button {
  width: 100% !important;
  height: 56px !important;
  border: 1px solid rgba(112, 72, 8, 0.18) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #f7d978 0%, #d09a25 48%, #9f650f 100%) !important;
  color: #fffaf0 !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.58),
    0 16px 30px rgba(155, 94, 8, 0.22) !important;
}

@media (max-width: 420px) {
  .splash-bottom {
    left: 18px !important;
    right: 18px !important;
    bottom: max(18px, env(safe-area-inset-bottom)) !important;
    gap: 10px !important;
  }

  .splash-session-copy strong {
    font-size: 38px !important;
  }

  #splash .splash-subtitle {
    font-size: 15px !important;
  }

  .splash-start-button {
    height: 56px !important;
    border-radius: 17px !important;
    font-size: 19px !important;
  }

  .session-expired {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

@media (max-height: 740px) {
  .splash-bottom {
    gap: 9px !important;
  }

  .splash-session-copy strong {
    font-size: 34px !important;
  }

  #splash .splash-subtitle {
    font-size: 14px !important;
  }

  .splash-start-button,
  .session-expired__button {
    height: 52px !important;
  }
}
