:root {
  --sat: var(--safe-area-inset-top, env(safe-area-inset-top, 0px));
  --sab: var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));
  --sal: var(--safe-area-inset-left, env(safe-area-inset-left, 0px));
  --sar: var(--safe-area-inset-right, env(safe-area-inset-right, 0px));
  --header-height: 4rem;
  --titlebar-height: 0px;
}

@media (display-mode: window-controls-overlay) {
  :root {
    --titlebar-height: env(titlebar-area-height, 3.5rem);
  }
}

html {
  background: linear-gradient(180deg, #2d1b4e 0%, #1e1b3a 30%, #F5F3FF 100%);
  min-height: 100%;
  height: 100%;
}

html,
body,
#root {
  height: 100vh;
  /* fallback for older Safari */
  height: 100dvh;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  overscroll-behavior-y: none;
}

/* iOS PWA standalone: avoid 100dvh jump when Safari UI shows/hides; use large viewport. */
@media (display-mode: standalone) {

  html,
  body,
  #root {
    height: 100lvh;
    min-height: 100lvh;
  }
}

body {
  overflow: hidden;
  -webkit-user-select: none;
  user-select: none;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background: linear-gradient(180deg, #2d1b4e 0%, #1e1b3a 30%, #F5F3FF 100%);
}

#root {
  min-height: 100%;
  background: linear-gradient(180deg, #2d1b4e 0%, #1e1b3a 30%, #F5F3FF 100%);
}

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

@media screen and (max-width: 768px) {

  input,
  select,
  textarea,
  .mobile-text-base {
    font-size: 16px !important;
  }
}

input:not([type="checkbox"]):not([type="radio"]),
textarea,
select {
  -webkit-appearance: none;
  appearance: none;
}

.no-scrollbar::-webkit-scrollbar {
  display: none;
}

.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Enhanced iOS Scrolling */
.overflow-y-auto,
.overflow-x-auto,
.custom-scrollbar {
  -webkit-overflow-scrolling: touch;
}

.draggable {
  -webkit-app-region: drag;
}

.non-draggable {
  -webkit-app-region: no-drag;
}