:root {
  color-scheme: dark;
  --rounded-gradient-button-bg: var(--color-cta-bg);
  --rounded-gradient-button-color: #ffffff;
}

* {
  box-sizing: border-box;
  user-select: none;
  -webkit-user-select: none;
}

input,
textarea,
[contenteditable='true'] {
  user-select: text;
  -webkit-user-select: text;
}

html {
  height: 100%;
  min-height: 100dvh;
  overscroll-behavior: none;
}

body {
  margin: 0;
  width: 100%;
  height: 100%;
  min-height: 100dvh;
  overflow: hidden;
  font-family: var(--font-family-base);
  color: var(--color-text);
  position: relative;
  overscroll-behavior: none;
  display: flex;
  flex-direction: column;
  background-color: var(--color-bg);
}

/* Dark kiosk backdrop — navy field, white dot grid, bottom spectrum glows */
.kiosk-backdrop {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.kiosk-backdrop__fill {
  position: absolute;
  inset: 0;
  background-color: var(--color-bg);
}

.kiosk-backdrop__grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.18) 1px, transparent 1px);
  background-size: 2.5rem 2.5rem;
}

/* Primary glows — same SVG as gsx26-power AppBackground (Figma 199:270). */
.kiosk-backdrop__glows {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.kiosk-backdrop__glows-frame {
  position: absolute;
  left: 22.625rem;
  top: 64.9375rem;
  width: 104.67975rem;
  height: 25.0249375rem;
}

.kiosk-backdrop__glows-rotate {
  position: relative;
  width: 100%;
  height: 100%;
  transform: rotate(180deg);
}

.kiosk-backdrop__glows-bleed {
  position: absolute;
  top: -82.92%;
  right: -19.82%;
  bottom: -82.92%;
  left: -19.82%;
}

.kiosk-backdrop__glows-bleed svg {
  display: block;
}

run-kiosk-app {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  overflow: hidden;
}

landing-screen,
intro-screen,
final-screen,
recommendations-screen {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  overflow: hidden;
}
