/*
 * Cross-browser normalization for Safari/WebKit.
 * Product dimensions, colors, and composition remain owned by their modules.
 */
:root {
  --ms-viewport-height: 100vh;
  --ms-safe-area-bottom: env(safe-area-inset-bottom, 0px);
}

@supports (height: 100dvh) {
  :root {
    --ms-viewport-height: 100dvh;
  }
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  letter-spacing: inherit;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input[type="search"] {
  -webkit-appearance: none;
  appearance: none;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  -webkit-appearance: none;
}

input::-webkit-date-and-time-value {
  min-height: 1.2em;
  text-align: left;
}

input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="time"],
input[type="week"],
input,
textarea,
select {
  min-width: 0;
  max-width: 100%;
}

input[type="file"] {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

input[type="file"]::file-selector-button,
input[type="file"]::-webkit-file-upload-button {
  font: inherit;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill {
  -webkit-text-fill-color: currentColor;
  caret-color: currentColor;
  transition: background-color 9999s ease-out 0s;
}

@media (max-width: 991px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
  select,
  textarea,
  [contenteditable="true"],
  [role="textbox"],
  [role="searchbox"],
  [role="combobox"] {
    font-size: 16px;
  }
}

.ms-viewport-height {
  height: var(--ms-viewport-height);
}

.ms-viewport-min-height {
  min-height: var(--ms-viewport-height);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  box-sizing: border-box;
}

.ms-flex-shrink-safe,
.ms-grid-shrink-safe,
.ms-flex-shrink-safe > *,
.ms-grid-shrink-safe > * {
  min-width: 0;
  max-width: 100%;
}

img,
video {
  max-width: 100%;
}

video {
  display: block;
}

.ms-backdrop-blur {
  --ms-backdrop-blur: blur(12px);
  -webkit-backdrop-filter: var(--ms-backdrop-blur);
  backdrop-filter: var(--ms-backdrop-blur);
}

.timeline-story-viewer {
  height: var(--ms-viewport-height);
}
