@font-face {
  font-family: "Lavishe";
  font-style: normal;
  font-weight: 500;
  font-display: block;
  src: url("../../app/assets/fonts/Lavishe-Regular.woff2") format("woff2");
  ascent-override: 98%;
  descent-override: 22%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Futura Light";
  font-style: normal;
  font-weight: 500;
  font-display: block;
  src: url("../../app/assets/fonts/Futura-Light.woff2") format("woff2");
}
@font-face {
  font-family: "Futura Medium";
  font-style: normal;
  font-weight: 500;
  font-display: block;
  src: url("../../app/assets/fonts/Futura-Medium.woff2") format("woff2");
}
@font-face {
  font-family: "PV Sans Serif";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/wp-content/themes/plumvillage/dist/fonts/pv-sans-serif-light-text.woff2") format("woff2"), url("/wp-content/themes/plumvillage/dist/fonts/pv-sans-serif-light-text.woff") format("woff");
}
@font-face {
  font-family: "PV Sans Serif";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/wp-content/themes/plumvillage/dist/fonts/pv-sans-serif-medium.woff2") format("woff2"), url("/wp-content/themes/plumvillage/dist/fonts/pv-sans-serif-medium.woff") format("woff");
}
.om-media {
  margin: 0 0 2rem;
}
.om-media--video .frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9;
  border-radius: 1rem;
  background: rgba(0, 0, 0, 0.35);
}
.om-media--video .frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.om-media--audio .track {
  display: grid;
  gap: 0.5rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  border-radius: 1rem;
}
.om-media--audio .track + .track {
  margin-top: 1rem;
}
.om-media--audio .track .title {
  margin: 0;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.3rem;
  line-height: 1.25;
}
.om-media--audio .track .description {
  margin: 0;
  font-size: 0.95em;
  opacity: 0.75;
}
.om-media--audio .track .player {
  width: 100%;
  margin-top: 0.5rem;
}
.om-media--audio .track .download {
  justify-self: start;
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  opacity: 0.7;
}
.om-media--audio .track .download:hover, .om-media--audio .track .download:focus-visible {
  opacity: 1;
}
.om-media figcaption {
  margin-top: 0.6em;
  font-size: 0.85em;
  opacity: 0.7;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

*:focus-visible {
  outline: 2px solid #ffd22a;
  outline-offset: 4px;
}

*:focus:not(:focus-visible) {
  outline: none;
}

img {
  border: none;
  display: block;
}

ul,
li {
  list-style: none;
  padding: 0;
  margin: 0;
}

fieldset {
  border: none;
}

.notrans {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  -ms-transition: none !important;
  transition: none !important;
}
.notrans * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  -ms-transition: none !important;
  transition: none !important;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  border: 0;
  word-wrap: normal !important;
}
.screen-reader-text:focus, .screen-reader-text:focus-visible {
  top: 1rem;
  left: 1rem;
  z-index: 100000;
  width: auto;
  height: auto;
  padding: 0.5rem 0.8rem;
  overflow: visible;
  clip: auto;
  clip-path: none;
  background: #384b48;
  color: #faf1eb;
}

.mfp-hide {
  display: none !important;
}

:root {
  --om-transition-enter: 1300ms;
  --om-transition-exit: 900ms;
  --om-community-nav-bg-width: 0rem;
}

html {
  font-size: 92%;
}

html.om-fonts-loading {
  background: #384b48;
}
html.om-fonts-loading body.om-app {
  opacity: 0;
  animation: om-font-gate-fallback 0s 5s forwards;
}

@keyframes om-font-gate-fallback {
  to {
    opacity: 1;
  }
}
body {
  padding: 0;
  margin: 0 auto;
  font-size: 1rem;
  line-height: 1.5;
  min-width: 20rem;
  min-height: 100vh;
  overflow-x: hidden;
  overflow-y: scroll;
  background: #384b48;
  transition: background-color var(--om-transition-enter) cubic-bezier(0.16, 1, 0.3, 1);
}
@media (prefers-reduced-motion: reduce) {
  body {
    transition: none;
  }
}

body.om-app {
  color: #faf1eb;
  font-family: "Lavishe", sans-serif;
}

.om-layout {
  --om-shell-max: 120rem;
  --om-content-max: 60rem;
  --om-content-wide: 82rem;
  --om-content-left: max(2rem, calc((min(100vw, var(--om-shell-max)) - var(--om-content-wide)) / 2));
  --om-content-right: var(--om-content-left);
  --om-content-top: 10rem;
  --om-content-bottom: 2.5rem;
  position: relative;
  width: min(100%, var(--om-shell-max));
  min-height: 100vh;
  margin: 0 auto;
}
.om-layout::before {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 2;
  width: var(--om-community-nav-bg-width);
  background: rgba(56, 75, 72, 0.72);
  content: "";
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--om-transition-exit) cubic-bezier(0.55, 0.055, 0.675, 0.19), visibility 0s var(--om-transition-exit);
  -webkit-backdrop-filter: blur(1rem);
  backdrop-filter: blur(1rem);
}
.om-layout .om-main {
  padding: var(--om-content-top) var(--om-content-right) var(--om-content-bottom) var(--om-content-left);
}
.om-layout .om-main > :not(.om-hero-title):not(.om-video-hero):not(.pv-dialog):not(.om-community-map):not(.om-course-detail):not(.om-course-step):not(.om-reflections):not(.om-meditation-page):not(.om-home-background) {
  max-width: var(--om-content-wide);
}
.om-layout .om-main h1 {
  margin: 0 0 1.5rem;
  font-size: 3.4rem;
  line-height: 1.2;
}

body.om-route-map .om-layout::before {
  visibility: visible;
  opacity: 1;
  transition: opacity var(--om-transition-enter) cubic-bezier(0.16, 1, 0.3, 1), visibility 0s;
}

body.om-route-map .om-community-map::before {
  content: none;
}

@media (min-width: 64.1rem) {
  .om-layout .om-horizontal-scroller {
    --om-scroller-gutter: calc(var(--om-content-left) + max(0px, (100vw - var(--om-shell-max)) / 2));
    width: 100vw;
    margin-left: calc(-1 * var(--om-scroller-gutter));
    padding-left: var(--om-scroller-gutter);
    scroll-padding-left: var(--om-scroller-gutter);
    max-width: none;
  }
}
@media (max-width: 64rem) {
  html {
    overflow-x: hidden;
    overflow-y: auto;
  }
  body {
    width: 100%;
    max-width: 100%;
    overflow: visible;
  }
  .om-layout {
    --om-content-left: 1.2rem;
    --om-content-right: 1.2rem;
    --om-content-top: 2rem;
    --om-content-bottom: 2.5rem;
    max-width: 100%;
    overflow-x: clip;
  }
  .om-layout::before {
    content: none;
  }
  .om-layout .om-main {
    padding: var(--om-content-top) var(--om-content-right) var(--om-content-bottom) var(--om-content-left);
  }
}
@media (prefers-reduced-motion: reduce) {
  .om-layout::before {
    transition: none;
  }
}
.om-calendar-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: rgba(250, 241, 235, 0.85);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.om-calendar-link:hover, .om-calendar-link:focus-visible {
  color: #faf1eb;
}
.om-calendar-link .om-icon {
  width: 1.15em;
  height: 1.15em;
}

.om-icon {
  display: block;
  flex: 0 0 auto;
  width: 1.5em;
  height: 1.5em;
  background: currentColor;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}
.om-icon--home {
  -webkit-mask-image: url("../../app/assets/img/icon-home.svg");
  mask-image: url("../../app/assets/img/icon-home.svg");
}
.om-icon--courses {
  -webkit-mask-image: url("../../app/assets/img/icon-playcircle.svg");
  mask-image: url("../../app/assets/img/icon-playcircle.svg");
}
.om-icon--question {
  -webkit-mask-image: url("../../app/assets/img/icon-question.svg");
  mask-image: url("../../app/assets/img/icon-question.svg");
}
.om-icon--reply {
  -webkit-mask-image: url("../../app/assets/img/icon-reply.svg");
  mask-image: url("../../app/assets/img/icon-reply.svg");
}
.om-icon--bell {
  -webkit-mask-image: url("../../app/assets/img/icon-bell.svg");
  mask-image: url("../../app/assets/img/icon-bell.svg");
}
.om-icon--talk {
  -webkit-mask-image: url("../../app/assets/img/icon-playcircle.svg");
  mask-image: url("../../app/assets/img/icon-playcircle.svg");
}
.om-icon--reflection {
  -webkit-mask-image: url("../../app/assets/img/icon-reflection.svg");
  mask-image: url("../../app/assets/img/icon-reflection.svg");
}
.om-icon--podcast {
  -webkit-mask-image: url("../../app/assets/img/icon-play-podcast.svg");
  mask-image: url("../../app/assets/img/icon-play-podcast.svg");
}
.om-icon--tea-house {
  -webkit-mask-image: url("../../app/assets/img/icon-events.svg");
  mask-image: url("../../app/assets/img/icon-events.svg");
}
.om-icon--live-events, .om-icon--sangha-sessions, .om-icon--calendar {
  -webkit-mask-image: url("../../app/assets/img/icon-events.svg");
  mask-image: url("../../app/assets/img/icon-events.svg");
}
.om-icon--meditation-hall, .om-icon--meditate-cushion {
  -webkit-mask-image: url("../../app/assets/img/icon-meditate.svg");
  mask-image: url("../../app/assets/img/icon-meditate.svg");
}
.om-icon--community {
  -webkit-mask-image: url("../../app/assets/img/icon-community.svg");
  mask-image: url("../../app/assets/img/icon-community.svg");
}
.om-icon--community-map {
  -webkit-mask-image: url("../../app/assets/img/icon-globe.svg");
  mask-image: url("../../app/assets/img/icon-globe.svg");
}
.om-icon--current-location {
  -webkit-mask-image: url("../../app/assets/img/icon-current-location.svg");
  mask-image: url("../../app/assets/img/icon-current-location.svg");
}
.om-icon--close {
  -webkit-mask-image: url("../../app/assets/img/icon-close.svg");
  mask-image: url("../../app/assets/img/icon-close.svg");
}
.om-icon--clock {
  -webkit-mask-image: url("../../app/assets/img/icon-clock.svg");
  mask-image: url("../../app/assets/img/icon-clock.svg");
}
.om-icon--sound-off {
  -webkit-mask-image: url("../../app/assets/img/icon-soundoff.svg");
  mask-image: url("../../app/assets/img/icon-soundoff.svg");
}
.om-icon--sound {
  -webkit-mask-image: url("../../app/assets/img/icon-sound.svg");
  mask-image: url("../../app/assets/img/icon-sound.svg");
}
.om-icon--time {
  -webkit-mask-image: url("../../app/assets/img/icon-time.svg");
  mask-image: url("../../app/assets/img/icon-time.svg");
}
.om-icon--lesson {
  -webkit-mask-image: url("../../app/assets/img/icon-lesson.svg");
  mask-image: url("../../app/assets/img/icon-lesson.svg");
}
.om-icon--play {
  -webkit-mask-image: url("../../app/assets/img/icon-play.svg");
  mask-image: url("../../app/assets/img/icon-play.svg");
}
.om-icon--play-outline {
  -webkit-mask-image: url("../../app/assets/img/icon-play-outline.svg");
  mask-image: url("../../app/assets/img/icon-play-outline.svg");
}
.om-icon--stop {
  -webkit-mask-image: url("../../app/assets/img/icon-stop.svg");
  mask-image: url("../../app/assets/img/icon-stop.svg");
}
.om-icon--skip {
  -webkit-mask-image: url("../../app/assets/img/icon-dropdown.svg");
  mask-image: url("../../app/assets/img/icon-dropdown.svg");
  transform: rotate(-90deg);
}
.om-icon--send {
  -webkit-mask-image: url("../../app/assets/img/icon-send.svg");
  mask-image: url("../../app/assets/img/icon-send.svg");
}
.om-icon--envelop {
  -webkit-mask-image: url("../../app/assets/img/icon-envelop.svg");
  mask-image: url("../../app/assets/img/icon-envelop.svg");
}
.om-icon--plus {
  -webkit-mask-image: url("../../app/assets/img/icon-plus.svg");
  mask-image: url("../../app/assets/img/icon-plus.svg");
}
.om-icon--tree {
  -webkit-mask-image: url("../../app/assets/img/icon-tree.svg");
  mask-image: url("../../app/assets/img/icon-tree.svg");
}
.om-icon--bench {
  -webkit-mask-image: url("../../app/assets/img/icon-bench.svg");
  mask-image: url("../../app/assets/img/icon-bench.svg");
}
.om-icon--tick {
  -webkit-mask-image: url("../../app/assets/img/icon-tick.svg");
  mask-image: url("../../app/assets/img/icon-tick.svg");
}
.om-icon--bowl {
  -webkit-mask-image: url("../../app/assets/img/icon-bowl.svg");
  mask-image: url("../../app/assets/img/icon-bowl.svg");
}
.om-icon--sitting {
  -webkit-mask-image: url("../../app/assets/img/icon-sitting.svg");
  mask-image: url("../../app/assets/img/icon-sitting.svg");
}
.om-icon--reflections {
  -webkit-mask-image: url("../../app/assets/img/icon-reflections.svg");
  mask-image: url("../../app/assets/img/icon-reflections.svg");
}
.om-icon--letter {
  -webkit-mask-image: url("../../app/assets/img/icon-letter.svg");
  mask-image: url("../../app/assets/img/icon-letter.svg");
}
.om-icon--mic {
  -webkit-mask-image: url("../../app/assets/img/icon-mic.svg");
  mask-image: url("../../app/assets/img/icon-mic.svg");
}
.om-icon--pen {
  -webkit-mask-image: url("../../app/assets/img/icon-pen.svg");
  mask-image: url("../../app/assets/img/icon-pen.svg");
}
.om-icon--fullscreen {
  -webkit-mask-image: url("../../app/assets/img/icon-fullscreen.svg");
  mask-image: url("../../app/assets/img/icon-fullscreen.svg");
}
.om-icon--fullscreen::after {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  content: "";
  -webkit-mask-image: url("../../app/assets/img/icon-fullscreen-close.svg");
  mask-image: url("../../app/assets/img/icon-fullscreen-close.svg");
}
.om-icon--fullscreen-close {
  -webkit-mask-image: url("../../app/assets/img/icon-fullscreen-close.svg");
  mask-image: url("../../app/assets/img/icon-fullscreen-close.svg");
}

.om-has-tooltip {
  position: relative;
}

.om-tooltip {
  --om-tooltip-bg: #556d69;
  --om-tooltip-ink: #faf1eb;
  position: absolute;
  z-index: 20;
  display: inline-flex;
  align-items: center;
  min-height: 2em;
  padding: 0.7em 0.8em 0.65em;
  border-radius: 0.3rem;
  background: var(--om-tooltip-bg);
  box-shadow: 0 0.1rem 0.6rem rgba(0, 0, 0, 0.08);
  color: var(--om-tooltip-ink);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  line-height: 1;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 160ms ease, transform 160ms ease;
}
.om-tooltip::before {
  position: absolute;
  width: 0;
  height: 0;
  content: "";
}
.om-tooltip--right {
  top: 50%;
  left: calc(100% + 0.5rem);
  transform: translate(-0.2rem, -50%);
}
.om-tooltip--right::before {
  top: 50%;
  left: calc(-0.4rem + 1px);
  border-top: 0.4em solid transparent;
  border-right: 0.5em solid var(--om-tooltip-bg);
  border-bottom: 0.4em solid transparent;
  transform: translateY(-50%);
}

.om-has-course-palette .om-tooltip {
  --om-tooltip-bg: var(--om-course-accent, #556d69);
}

.om-has-course-palette.om-theme-light .om-tooltip {
  --om-tooltip-ink: #000;
}

.om-has-course-palette.om-theme-dark .om-tooltip {
  --om-tooltip-ink: #fff;
}

@media (min-width: 64.1rem) {
  .om-has-tooltip:hover .om-tooltip, .om-has-tooltip:focus .om-tooltip, .om-has-tooltip:focus-visible .om-tooltip, .om-has-tooltip:focus-within .om-tooltip {
    opacity: 1;
  }
  .om-has-tooltip:hover .om-tooltip--right, .om-has-tooltip:focus .om-tooltip--right, .om-has-tooltip:focus-visible .om-tooltip--right, .om-has-tooltip:focus-within .om-tooltip--right {
    transform: translate(0, -50%);
  }
}
@media (max-width: 64rem) {
  .om-tooltip {
    display: none;
  }
}
.om-tooltip-popover {
  position: fixed;
  z-index: 1100;
  display: block;
  width: max-content;
  max-width: calc(100vw - 1.5rem);
  margin: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-0.4rem);
  transition: opacity 160ms ease, transform 160ms ease, visibility 0s linear 160ms;
}
.om-tooltip-popover::before {
  position: absolute;
  top: calc(-0.4rem + 1px);
  left: var(--om-tooltip-tip-x, 50%);
  z-index: 1;
  width: 0;
  height: 0;
  border-right: 0.38rem solid transparent;
  border-bottom: 0.4rem solid #273532;
  border-left: 0.38rem solid transparent;
  content: "";
  transform: translateX(-50%);
}
.om-tooltip-popover.is-open, .om-tooltip-popover.is-loading {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition: opacity 160ms ease, transform 160ms ease;
}
.om-tooltip-popover [data-om-tooltip-stagger-item] {
  opacity: 0;
}
.om-tooltip-popover.is-open [data-om-tooltip-stagger-item] {
  animation: om-tooltip-stagger-in 220ms ease-out both;
  animation-delay: calc(var(--om-tooltip-stagger-index, 0) * 30ms);
}
.om-tooltip-popover.opens-up {
  transform: translateY(0.4rem);
}
.om-tooltip-popover.opens-up::before {
  top: auto;
  bottom: calc(-0.4rem + 1px);
  border-top: 0.4rem solid #273532;
  border-bottom: 0;
}
.om-tooltip-popover.opens-up.is-open {
  transform: translateY(0);
}
.om-tooltip-popover .om-tooltip-popover__surface {
  position: relative;
  display: block;
  box-sizing: border-box;
  min-width: 0;
  max-height: min(34dvh, 18rem);
  padding: 1.1rem 1.2rem;
  overflow-y: auto;
  border-radius: 0.5rem;
  background: #273532;
  box-shadow: 0 0.6rem 2.4rem rgba(0, 0, 0, 0.4);
  color: #faf1eb;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
.om-tooltip-popover.is-loading .om-tooltip-popover__surface {
  width: min(5.12rem, 100vw - 1.5rem);
  height: 3.52rem;
  overflow: hidden;
  visibility: visible;
}
.om-tooltip-popover.is-loading .om-tooltip-popover__surface::before,
.om-tooltip-popover.is-loading .om-tooltip-popover__surface::after {
  position: absolute;
  top: 50%;
  left: 50%;
  box-sizing: border-box;
  width: 1rem;
  height: 1rem;
  border: 2px solid rgba(250, 241, 235, 0.3);
  border-radius: 50%;
  content: "";
  transform: translate(-50%, -50%);
}
.om-tooltip-popover.is-loading .om-tooltip-popover__surface::after {
  border-top-color: #faf1eb;
  animation: om-tooltip-popover-spin 700ms linear infinite;
}
.om-tooltip-popover.is-loading .om-tooltip-popover__scroll {
  visibility: hidden;
}
.om-tooltip-popover .om-tooltip-popover__scroll {
  max-height: none;
  overflow: visible;
}

@keyframes om-tooltip-popover-spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes om-tooltip-stagger-in {
  from {
    opacity: 0;
    transform: translateY(0.3rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .om-tooltip-popover {
    transition: none;
  }
  .om-tooltip-popover [data-om-tooltip-stagger-item], .om-tooltip-popover.is-open [data-om-tooltip-stagger-item] {
    opacity: 1;
    animation: none;
  }
}
.om-active-users-cluster {
  display: inline-flex;
  align-items: center;
}
.om-active-users-cluster[hidden] {
  display: none;
}

.om-active-users {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.7rem;
  color: #faf1eb;
  font-family: "PV Sans Serif", sans-serif;
  transition: opacity 280ms ease;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  user-select: none;
}
.om-active-users[data-presence-scope].is-connecting {
  opacity: 0;
  pointer-events: none;
}
.om-active-users .trigger {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0;
  border: 0;
  -webkit-appearance: none;
  appearance: none;
  background: none;
  color: inherit;
  font: inherit;
  text-align: inherit;
  cursor: pointer;
  pointer-events: auto;
}
.om-active-users .trigger:focus-visible {
  outline: 2px solid rgba(250, 241, 235, 0.6);
  outline-offset: 0.3rem;
  border-radius: 0.4rem;
}
.om-active-users .copy {
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.3;
  white-space: nowrap;
}
.om-active-users .profiles {
  -webkit-user-drag: none;
  -webkit-user-select: none;
  user-select: none;
  display: flex;
  align-items: center;
}
.om-active-users .avatar {
  -webkit-user-drag: none;
  -webkit-user-select: none;
  user-select: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2.3rem;
  height: 2.3rem;
  margin-left: -0.7rem;
  overflow: hidden;
  border: 1px solid var(--om-avatar-border, #789691);
  border-radius: 50%;
  box-shadow: 0 0 0.3rem rgba(0, 0, 0, 0.2);
}
.om-active-users .avatar:first-child {
  margin-left: 0;
}
.om-active-users .avatar-image {
  -webkit-user-drag: none;
  -webkit-user-select: none;
  user-select: none;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-active-users .avatar--placeholder {
  background-color: var(--om-avatar-placeholder-bg, #49625e);
  -webkit-backdrop-filter: var(--om-avatar-placeholder-backdrop, none);
  backdrop-filter: var(--om-avatar-placeholder-backdrop, none);
}
.om-active-users .avatar--placeholder::before {
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  background: var(--om-avatar-placeholder-icon, rgba(250, 241, 235, 0.8));
  content: "";
  -webkit-mask: url("../../app/assets/img/icon-avatar-placeholder.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-avatar-placeholder.svg") center/contain no-repeat;
}
.om-active-users--stack-count .avatar--count {
  position: relative;
}
.om-active-users--stack-count .avatar--count::after {
  position: absolute;
  inset: 0;
  background: rgba(12, 17, 16, 0.6);
  content: "";
}
.om-active-users--stack-count .avatar-count {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  color: #faf1eb;
  font-family: "Futura Medium", sans-serif;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1;
}
.om-active-users--small {
  gap: 0.5rem;
}
.om-active-users--small .avatar {
  width: 1.8rem;
  height: 1.8rem;
  margin-left: -0.5rem;
}
.om-active-users--small .avatar--placeholder {
  background-color: var(--om-avatar-placeholder-bg, #49625e);
  -webkit-backdrop-filter: var(--om-avatar-placeholder-backdrop, none);
  backdrop-filter: var(--om-avatar-placeholder-backdrop, none);
}
.om-active-users--small .avatar--placeholder::before {
  display: block;
  width: 0.7rem;
  height: 0.7rem;
  background: var(--om-avatar-placeholder-icon, rgba(250, 241, 235, 0.8));
  content: "";
  -webkit-mask: url("../../app/assets/img/icon-avatar-placeholder.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-avatar-placeholder.svg") center/contain no-repeat;
}
.om-active-users--small .avatar-count {
  font-size: 0.8rem;
}

.om-active-users[data-om-active-users-trigger] {
  cursor: pointer;
  transition: transform 160ms ease;
}
.om-active-users[data-om-active-users-trigger]:hover {
  transform: none;
}
.om-active-users[data-om-active-users-trigger]:active {
  transform: scale(0.996);
}
.om-active-users[data-om-active-users-trigger]:focus-visible {
  border-radius: 999px;
  outline: 2px solid #ffd22a;
  outline-offset: 4px;
}

.om-active-users .avatar[hidden] {
  display: none;
}

.om-presence-list {
  cursor: default;
}
.om-presence-list .om-tooltip-popover__surface {
  min-width: 15rem;
  max-width: 19rem;
}
.om-presence-list .om-tooltip-popover__surface, .om-presence-list .om-tooltip-popover__surface * {
  cursor: default;
}
.om-presence-list .om-tooltip-popover__surface .om-message-button, .om-presence-list .om-tooltip-popover__surface .om-message-button *, .om-presence-list .om-tooltip-popover__surface .join, .om-presence-list .om-tooltip-popover__surface .join * {
  cursor: pointer;
}
.om-presence-list:has(.section) .om-tooltip-popover__surface {
  padding-top: 0.8rem;
}
.om-presence-list.has-columns .om-tooltip-popover__surface {
  width: 33rem;
  max-width: calc(100vw - 1.5rem);
}
.om-presence-list .list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.om-presence-list .list:has(> .section) {
  row-gap: 1.4rem;
}
.om-presence-list .list.is-columns {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 1.4rem;
}
.om-presence-list .section {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  min-width: 0;
}
.om-presence-list .section--elsewhere {
  grid-column: 1/-1;
}
.om-presence-list .list.is-columns .section--elsewhere .members {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 1.4rem;
}
.om-presence-list .list.is-columns .section--elsewhere .more {
  grid-column: 1/-1;
}
.om-presence-list .members {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.om-presence-list .group {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
}
.om-presence-list .group .title {
  overflow: hidden;
  min-width: 0;
  color: rgba(250, 241, 235, 0.6);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.om-presence-list .group .join {
  flex: 0 0 auto;
}
.om-presence-list .more {
  color: rgba(250, 241, 235, 0.35);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.8rem;
}
.om-presence-list .member {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-width: 0;
  color: #faf1eb;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
}
.om-presence-list .member .avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1.8rem;
  height: 1.8rem;
  overflow: hidden;
  border: 1px solid #789691;
  border-radius: 50%;
}
.om-presence-list .member .avatar img,
.om-presence-list .member .avatar .avatar-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-presence-list .member .avatar--placeholder {
  background-color: var(--om-avatar-placeholder-bg, #49625e);
  -webkit-backdrop-filter: var(--om-avatar-placeholder-backdrop, none);
  backdrop-filter: var(--om-avatar-placeholder-backdrop, none);
}
.om-presence-list .member .avatar--placeholder::before {
  display: block;
  width: 0.7rem;
  height: 0.7rem;
  background: var(--om-avatar-placeholder-icon, rgba(250, 241, 235, 0.8));
  content: "";
  -webkit-mask: url("../../app/assets/img/icon-avatar-placeholder.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-avatar-placeholder.svg") center/contain no-repeat;
}
.om-presence-list .member .name {
  overflow: hidden;
  min-width: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.om-presence-list .member .self-label {
  flex: 0 0 auto;
  padding: 0.3rem 0.4rem;
  border-radius: 0.3rem;
  background: rgba(255, 210, 42, 0.2);
  color: #ffd22a;
  font-size: 0.8rem;
  line-height: 1;
}
.om-presence-list .member .om-message-button {
  margin-left: auto;
}
.om-presence-list.is-settled [data-om-tooltip-stagger-item] {
  animation: none;
  opacity: 1;
}
.om-presence-list .member.is-leaving {
  animation: om-member-leaving 3.5s ease forwards;
}

@keyframes om-member-leaving {
  from {
    opacity: 1;
  }
  to {
    opacity: 0.25;
  }
}
@media (prefers-reduced-motion: reduce) {
  .om-presence-list .member.is-leaving {
    animation: none;
    opacity: 0.25;
  }
}
@media (max-width: 64rem) {
  .om-presence-list.has-columns .om-tooltip-popover__surface {
    width: auto;
  }
  .om-presence-list .list.is-columns,
  .om-presence-list .list.is-columns .section--elsewhere .members {
    grid-template-columns: minmax(0, 1fr);
  }
  .om-active-users {
    gap: 1rem;
  }
  .om-active-users .avatar {
    width: 2rem;
    height: 2rem;
    margin-left: -0.7rem;
  }
  .om-active-users .avatar--placeholder::before {
    width: 1.1rem;
    height: 1.1rem;
  }
  .om-active-users--stack-count .avatar--placeholder::before {
    width: 0.9rem;
    height: 0.9rem;
  }
  .om-active-users--stack-count .avatar-count {
    font-size: 0.8rem;
  }
  .om-active-users--small .avatar {
    width: 1.8rem;
    height: 1.8rem;
    margin-left: -0.5rem;
  }
  .om-active-users--small .avatar--placeholder::before {
    width: 0.7rem;
    height: 0.7rem;
  }
}
.om-attendee-list {
  display: grid;
  grid-template-rows: 0fr;
  margin-top: var(--om-attendee-collapse, 0);
  transition: grid-template-rows 320ms cubic-bezier(0.22, 1, 0.36, 1), margin-top 320ms cubic-bezier(0.22, 1, 0.36, 1);
}
.om-attendee-list.is-open, .om-attendee-list.is-loading {
  grid-template-rows: 1fr;
  margin-top: 0;
}
.om-attendee-list .inner {
  position: relative;
  min-height: 0;
  overflow: hidden;
  visibility: hidden;
  transition: visibility 0s linear 320ms;
}
.om-attendee-list.is-open .inner, .om-attendee-list.is-loading .inner {
  visibility: visible;
  transition: none;
}
.om-attendee-list .collapse,
.om-attendee-list .scroll {
  opacity: 0;
  transition: opacity 200ms ease;
}
.om-attendee-list.is-open .collapse,
.om-attendee-list.is-open .scroll {
  opacity: 1;
  transition: opacity 260ms ease 280ms;
}
.om-attendee-list .collapse {
  position: absolute;
  top: var(--om-attendee-list-caret-top, 0);
  right: var(--om-attendee-list-caret-right, 0);
  z-index: 1;
  width: 1.8rem;
  height: 1.8rem;
  padding: 0;
  border: 0;
  -webkit-appearance: none;
  appearance: none;
  background: currentColor;
  color: #faf1eb;
  cursor: pointer;
  -webkit-mask: url("../../app/assets/img/icon-dropdown.svg") center/1rem 0.7rem no-repeat;
  mask: url("../../app/assets/img/icon-dropdown.svg") center/1rem 0.7rem no-repeat;
  transform: rotate(180deg);
}
.om-attendee-list .collapse:hover, .om-attendee-list .collapse:focus-visible {
  opacity: 0.8;
}
.om-attendee-list .scroll {
  max-height: 14rem;
  overflow-y: auto;
}
.om-attendee-list .list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
  gap: 0.55rem 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.om-attendee-list .attendee {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-width: 0;
  color: #faf1eb;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
}
.om-attendee-list .attendee .avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1.8rem;
  height: 1.8rem;
  overflow: hidden;
  border: 1px solid #789691;
  border-radius: 50%;
}
.om-attendee-list .attendee .avatar img,
.om-attendee-list .attendee .avatar .avatar-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-attendee-list .attendee .avatar--placeholder {
  background-color: var(--om-avatar-placeholder-bg, #49625e);
  -webkit-backdrop-filter: var(--om-avatar-placeholder-backdrop, none);
  backdrop-filter: var(--om-avatar-placeholder-backdrop, none);
}
.om-attendee-list .attendee .avatar--placeholder::before {
  display: block;
  width: 0.7rem;
  height: 0.7rem;
  background: var(--om-avatar-placeholder-icon, rgba(250, 241, 235, 0.8));
  content: "";
  -webkit-mask: url("../../app/assets/img/icon-avatar-placeholder.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-avatar-placeholder.svg") center/contain no-repeat;
}
.om-attendee-list .attendee .name {
  overflow: hidden;
  min-width: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.om-attendee-list .attendee .self-label {
  flex: 0 0 auto;
  padding: 0.3rem 0.4rem;
  border-radius: 0.3rem;
  background: rgba(255, 210, 42, 0.2);
  color: #ffd22a;
  font-size: 0.8rem;
  line-height: 1;
}
.om-attendee-list .attendee .om-message-button {
  margin-left: auto;
}
.om-attendee-list .status {
  margin: 0;
  color: rgba(250, 241, 235, 0.7);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
}
.om-attendee-list .status[hidden] {
  display: none;
}

.om-attendee-list--popover .inner {
  overflow-x: hidden;
  overflow-y: auto;
}
.om-attendee-list--popover .scroll, .om-attendee-list--popover.is-open .scroll {
  max-height: none;
  overflow: visible;
  opacity: 1;
  transition: none;
}
.om-attendee-list--popover .list {
  display: flex;
  flex-direction: column;
  width: max-content;
  max-width: calc(100vw - 3.9rem);
}
.om-attendee-list--popover .attendee {
  max-width: 100%;
}

@media (prefers-reduced-motion: reduce) {
  .om-attendee-list {
    transition: none;
  }
  .om-attendee-list .inner,
  .om-attendee-list .collapse,
  .om-attendee-list .scroll, .om-attendee-list.is-open .collapse, .om-attendee-list.is-open .scroll {
    transition: none;
  }
}
.om-button, .magic-login-modal .btn-submit {
  -webkit-user-drag: none;
  -webkit-user-select: none;
  user-select: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  height: 2.9rem;
  min-height: 2.9rem;
  max-height: 2.9rem;
  padding: 0.8em 1.05em 0.7em;
  border: 1px solid #ffd22a;
  border-radius: 0.5rem;
  background: #ffd22a;
  color: #000000;
  font-family: "Futura Medium", sans-serif;
  font-size: 1.1rem;
  line-height: 1;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
  opacity: 0.9;
  cursor: pointer;
  -webkit-backdrop-filter: blur(1em);
  backdrop-filter: blur(1em);
  transition: background-color 160ms ease, opacity 160ms ease, transform 120ms ease;
  will-change: transform;
}
.om-button.is-width-transitioning, .magic-login-modal .is-width-transitioning.btn-submit {
  transition: width 260ms ease, background-color 160ms ease, opacity 160ms ease, transform 120ms ease;
}
.om-button:disabled, .magic-login-modal .btn-submit:disabled {
  cursor: default;
}
.om-button:hover, .magic-login-modal .btn-submit:hover, .om-button:focus, .magic-login-modal .btn-submit:focus {
  opacity: 1;
}
.om-button:active, .magic-login-modal .btn-submit:active {
  transform: scale(0.996);
}
.om-button--secondary {
  background: rgba(255, 210, 42, 0.15);
  color: #faf1eb;
  opacity: 1;
  -webkit-backdrop-filter: blur(0.5rem);
  backdrop-filter: blur(0.5rem);
}
.om-button--secondary:hover, .om-button--secondary:focus {
  background: rgba(255, 210, 42, 0.2);
}
.om-button--secondary:active {
  background: rgba(255, 210, 42, 0.25);
}
.om-button--secondary.om-button--light {
  border-color: #faf1eb;
  background: rgba(250, 241, 235, 0.15);
  color: #faf1eb;
}
.om-button--secondary.om-button--light:hover, .om-button--secondary.om-button--light:focus {
  background: rgba(250, 241, 235, 0.2);
}
.om-button--secondary.om-button--light:active {
  background: rgba(250, 241, 235, 0.25);
}
.om-button--secondary.om-button--danger {
  border-color: rgba(234, 67, 52, 0.6);
  background: rgba(234, 67, 52, 0.08);
  color: #ea4334;
}
.om-button--secondary.om-button--danger:hover, .om-button--secondary.om-button--danger:focus {
  border-color: #ea4334;
  background: rgba(234, 67, 52, 0.14);
}
.om-button--secondary.om-button--danger:active {
  background: rgba(234, 67, 52, 0.2);
}
.om-button--pill {
  border-radius: 999px;
}
.om-button--attend-toggle {
  width: auto;
}
.om-button--attend-toggle .label {
  white-space: nowrap;
}
.om-button--attend-toggle[aria-pressed=true] .tick {
  width: 0.8em;
  height: 0.55em;
  -webkit-mask-image: url("../../app/assets/img/icon-dropdown.svg");
  mask-image: url("../../app/assets/img/icon-dropdown.svg");
}
.om-button--has-icon {
  gap: 0.8em;
}
.om-button--direct-icon {
  gap: 0.5em;
}
.om-button--direct-icon > .icon {
  width: 1.2em;
  height: 1.2em;
}
.om-button--small {
  height: 2.3rem;
  min-height: 2.3rem;
  max-height: 2.3rem;
  padding: 0.65em 0.9em 0.55em;
  font-size: 0.8rem;
}
.om-button--small.om-button--direct-icon > .icon {
  width: 1em;
  height: 1em;
}
.om-button--tall {
  height: 3.6rem;
  min-height: 3.6rem;
  max-height: 3.6rem;
}
.om-button--full-width-loader, .magic-login-modal .btn-submit {
  position: relative;
  width: 100%;
  padding-right: 2.8rem;
  padding-left: 2.8rem;
}
.om-button--full-width-loader.loading::before, .magic-login-modal .loading.btn-submit::before, .om-button--full-width-loader.loading::after, .magic-login-modal .loading.btn-submit::after, .om-button--full-width-loader.is-loading::before, .magic-login-modal .is-loading.btn-submit::before, .om-button--full-width-loader.is-loading::after, .magic-login-modal .is-loading.btn-submit::after {
  position: absolute;
  top: calc(50% - 0.5rem);
  right: 0.9rem;
  width: 0.8rem;
  height: 0.8rem;
  border: 2px solid currentColor;
  border-radius: 50%;
  content: "";
  transform: rotate(0deg);
}
.om-button--full-width-loader.loading::before, .magic-login-modal .loading.btn-submit::before, .om-button--full-width-loader.is-loading::before, .magic-login-modal .is-loading.btn-submit::before {
  opacity: 0.28;
}
.om-button--full-width-loader.loading::after, .magic-login-modal .loading.btn-submit::after, .om-button--full-width-loader.is-loading::after, .magic-login-modal .is-loading.btn-submit::after {
  border-top-color: transparent;
  opacity: 0.7;
  animation: om-button-spin 700ms linear infinite;
}
.om-button--feedback {
  position: relative;
  overflow: hidden;
}
.om-button--feedback .feedback {
  position: relative;
  flex: 0 0 auto;
  width: 0;
  height: 1rem;
  opacity: 0;
  transition: none;
}
.om-button--feedback .feedback .spinner {
  left: 1.3em;
  transition: none;
}
.om-button--feedback .tick {
  position: absolute;
  top: calc(50% - 1px);
  left: 1.3em;
  width: 1em;
  height: 0.8em;
  background: currentColor;
  -webkit-mask: url("../../app/assets/img/icon-tick.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-tick.svg") center/contain no-repeat;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -50%) scale(0.4);
  transition: opacity 200ms ease, transform 300ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
.om-button--feedback.is-working .feedback, .om-button--feedback.is-done .feedback {
  width: 1.9em;
  opacity: 1;
  transition: width 260ms ease, opacity 200ms ease;
}
.om-button--feedback.is-working .feedback .spinner {
  opacity: 0.7;
  transition: opacity 520ms ease;
}
.om-button--feedback.is-working .feedback .spinner::after {
  animation: om-button-spin 700ms linear infinite;
}
.om-button--feedback.is-done .feedback .spinner {
  opacity: 0;
  transition: opacity 200ms ease;
}
.om-button--feedback.is-done .tick {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);
}
.om-button.is-loading .icon, .magic-login-modal .is-loading.btn-submit .icon {
  opacity: 0;
}
.om-button.is-loading .spinner, .magic-login-modal .is-loading.btn-submit .spinner {
  opacity: 0.7;
}
.om-button.is-loading .spinner::after, .magic-login-modal .is-loading.btn-submit .spinner::after {
  animation: om-button-spin 700ms linear infinite;
}
.om-button .icon-slot, .magic-login-modal .btn-submit .icon-slot {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1.5em;
  height: 1.5em;
  margin-top: -0.1em;
}
.om-button .icon, .magic-login-modal .btn-submit .icon {
  flex: 0 0 auto;
  max-height: 1.2em;
  transition: opacity 160ms ease;
}
.om-button .spinner, .magic-login-modal .btn-submit .spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%);
  transition: opacity 520ms ease;
}
.om-button .spinner::before, .magic-login-modal .btn-submit .spinner::before, .om-button .spinner::after, .magic-login-modal .btn-submit .spinner::after {
  position: absolute;
  inset: 0;
  border: 2px solid currentColor;
  border-radius: 50%;
  content: "";
  transform: rotate(0deg);
}
.om-button .spinner::before, .magic-login-modal .btn-submit .spinner::before {
  opacity: 0.28;
}
.om-button .spinner::after, .magic-login-modal .btn-submit .spinner::after {
  border-top-color: transparent;
}

.om-attend-control {
  position: relative;
  display: inline-flex;
  pointer-events: auto;
}

.om-attend-menu {
  color: #faf1eb;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  line-height: 1.35;
}
.om-attend-menu[hidden] {
  display: none;
}
.om-attend-menu .om-tooltip-popover__surface {
  padding: 0;
}
.om-attend-menu .owner-message {
  display: flex;
  align-items: center;
  height: 2.9rem;
  padding: 0 1.1rem;
  white-space: nowrap;
}
.om-attend-menu .owner-message[hidden] {
  display: none;
}
.om-attend-menu .cancel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  width: auto;
  height: 2.9rem;
  padding: 0 1.1rem;
  border: 0;
  background: transparent;
  color: #faf1eb;
  font: inherit;
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
}
.om-attend-menu .cancel .icon {
  width: 0.8em;
  height: 0.8em;
}
.om-attend-menu .cancel > span {
  opacity: 1;
  transition: opacity 160ms ease;
}
.om-attend-menu .cancel[hidden] {
  display: none;
}
.om-attend-menu .cancel:hover, .om-attend-menu .cancel:focus-visible {
  background: transparent;
}
.om-attend-menu .cancel:hover > span, .om-attend-menu .cancel:focus-visible > span {
  opacity: 0.9;
}

@media (max-width: 64rem) {
  .om-button.om-button--responded-icon-plain, .magic-login-modal .om-button--responded-icon-plain.btn-submit {
    border-color: rgba(250, 241, 235, 0);
    background: rgba(250, 241, 235, 0);
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .om-button.om-button--responded-icon-plain:hover, .magic-login-modal .om-button--responded-icon-plain.btn-submit:hover, .om-button.om-button--responded-icon-plain:focus, .magic-login-modal .om-button--responded-icon-plain.btn-submit:focus, .om-button.om-button--responded-icon-plain:active, .magic-login-modal .om-button--responded-icon-plain.btn-submit:active {
    border-color: rgba(250, 241, 235, 0);
    background: rgba(250, 241, 235, 0);
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .om-button.om-button--responded-icon-plain .icon, .magic-login-modal .om-button--responded-icon-plain.btn-submit .icon {
    width: 1.25rem;
    height: 1.25rem;
  }
}
@keyframes om-button-spin {
  to {
    transform: rotate(360deg);
  }
}
.om-carousel-viewport {
  margin-right: calc(-1 * var(--om-content-right));
  margin-left: calc(-1 * var(--om-content-left));
  padding-left: var(--om-content-left);
  scroll-padding-left: var(--om-content-left);
  padding-bottom: 1rem;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}
.om-carousel-viewport::-webkit-scrollbar {
  display: none;
}

@media (min-width: 64.1rem) {
  .om-carousel-viewport--to-screen-edge {
    --om-carousel-gutter: calc(var(--om-content-left) + max(0px, (100vw - var(--om-shell-max)) / 2));
    width: 100vw;
    margin-left: calc(-1 * var(--om-carousel-gutter));
    padding-left: var(--om-carousel-gutter);
    scroll-padding-left: var(--om-carousel-gutter);
    margin-right: 0;
  }
}
.om-carousel-track {
  display: grid;
  grid-auto-flow: column;
  gap: var(--om-carousel-gap, 2rem);
  padding-right: var(--om-content-right);
}

.om-carousel-track--landscape-cards {
  grid-auto-columns: minmax(18rem, 24rem);
  width: max-content;
}

.om-carousel-controls {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
  margin-top: 3rem;
  padding-right: 3rem;
}
.om-carousel-controls[hidden] {
  display: none;
}

@media (min-width: 64.1rem) {
  .om-carousel-controls--main-width {
    width: calc(min(100vw, var(--om-shell-max)) - var(--om-content-left) - var(--om-content-right));
  }
}
.om-carousel-arrow {
  width: 4rem;
  height: 4rem;
  padding: 0;
  border: 0;
  background: #b9c4be;
  cursor: pointer;
  opacity: 0.8;
  -webkit-mask: url("../../app/assets/img/icon-circlearrow.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-circlearrow.svg") center/contain no-repeat;
  transition: opacity 100ms;
}
.om-carousel-arrow:disabled {
  cursor: default;
  opacity: 0.1;
}
.om-carousel-arrow:first-child {
  transform: scaleX(-1);
}
.om-carousel-arrow:not(:disabled):hover, .om-carousel-arrow:not(:disabled):focus-visible {
  opacity: 1;
}

@media (max-width: 64rem) {
  .om-carousel-viewport {
    margin-left: calc(-1 * var(--om-content-left));
    padding-left: var(--om-content-left);
    scroll-padding-left: var(--om-content-left);
  }
}
@media (max-width: 45rem) {
  .om-carousel-controls {
    margin-top: 2rem;
    padding-right: 0;
  }
  .om-carousel-arrow {
    width: 3.2rem;
    height: 3.2rem;
  }
}
.om-course-nav {
  --nav-fg: var(--step-fg, #faf1eb);
  --nav-veil: var(--step-veil, rgba(255, 255, 255, 0.16));
  --nav-line: var(--step-line, rgba(255, 255, 255, 0.25));
  --nav-accent: var(--step-accent, #ffd22a);
  --nav-accent-rgb: var(--step-accent-rgb, 255, 210, 42);
  --nav-row-radius: 0.5rem;
  color: var(--nav-fg);
  font-family: "PV Sans Serif", sans-serif;
}
.om-course-nav .toggle {
  display: none;
}
.om-course-nav .heading {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding-bottom: 1.25rem;
  background: var(--step-bg, #384b48);
}
.om-course-nav .heading::after {
  display: block;
  width: 100%;
  height: 0.22rem;
  border: 0;
  background: var(--nav-line);
  -webkit-mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}
.om-course-nav .heading .om-progress-icon {
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  color: var(--nav-accent);
}
.om-course-nav .heading .heading-text {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.om-course-nav .heading .course-title {
  color: var(--nav-fg);
  font-family: "Lavishe", sans-serif;
  font-size: 1.3rem;
  line-height: 1.15;
  text-decoration: none;
}
.om-course-nav .heading .course-title:hover, .om-course-nav .heading .course-title:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.om-course-nav .heading .progress-label {
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.6;
}
.om-course-nav .tree {
  padding-top: 0.75rem;
}
.om-course-nav .section::after {
  display: block;
  width: 100%;
  height: 0.22rem;
  border: 0;
  background: var(--nav-line);
  -webkit-mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  margin: 0.4rem 0 0;
  content: "";
}
.om-course-nav .section + .section {
  margin-top: 1rem;
}
.om-course-nav .section-title {
  margin: 0.5rem 0 0.4rem;
  padding: 0 0.6rem;
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.55;
}
.om-course-nav .lessons,
.om-course-nav .topics {
  margin: 0;
  padding: 0;
  list-style: none;
}
.om-course-nav .lesson + .lesson::before {
  display: block;
  width: 100%;
  height: 0.2rem;
  border: 0;
  background: var(--nav-line);
  -webkit-mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  margin: 0.15rem 0;
  content: "";
}
.om-course-nav .topic + .topic,
.om-course-nav .row + .topics {
  margin-top: 0.2rem;
}
.om-course-nav .row {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  border-radius: var(--nav-row-radius);
  transition: background-color 160ms ease;
}
.om-course-nav .row:hover {
  background: var(--nav-veil);
}
.om-course-nav .row:has(> [aria-current=page]) {
  background: rgba(var(--nav-accent-rgb), 0.22);
}
.om-course-nav .lesson-link,
.om-course-nav .topic-link {
  display: flex;
  align-items: flex-start;
  flex: 1 1 auto;
  gap: 0.7rem;
  min-width: 0;
  padding: 0.6rem 0.4rem 0.6rem 0.6rem;
  color: var(--nav-fg);
  font-size: 1.1rem;
  line-height: 1.3;
  text-decoration: none;
}
.om-course-nav .lesson-link .text,
.om-course-nav .topic-link .text {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
}
.om-course-nav .lesson-link .name,
.om-course-nav .topic-link .name {
  text-wrap: pretty;
}
.om-course-nav .lesson-link .meta,
.om-course-nav .topic-link .meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem 0.8rem;
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.6;
}
.om-course-nav .lesson-link .type,
.om-course-nav .topic-link .type {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
}
.om-course-nav .lesson-link .type .om-icon,
.om-course-nav .topic-link .type .om-icon {
  width: 1.1em;
  height: 1.1em;
  margin-top: -0.1em;
}
.om-course-nav .is-completed > .row .name {
  opacity: 0.6;
}
.om-course-nav .check {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  min-height: 2.6rem;
  margin: 0.25rem 0.2rem 0 0;
  cursor: pointer;
}
.om-course-nav .check input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.om-course-nav .check .box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  height: 1.15rem;
  border: 1.5px solid var(--nav-accent);
  border-radius: 0.3rem;
  opacity: 0.8;
  transition: background-color 160ms ease, opacity 160ms ease;
}
.om-course-nav .check .box::after {
  width: 60%;
  height: 60%;
  background: var(--nav-fg);
  content: "";
  opacity: 0;
  -webkit-mask: url("../../app/assets/img/icon-check.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-check.svg") center/contain no-repeat;
}
.om-course-nav .check:hover .box,
.om-course-nav .check input:focus-visible ~ .box {
  opacity: 1;
}
.om-course-nav .check input:checked ~ .box {
  background: var(--nav-accent);
  opacity: 1;
}
.om-course-nav .check input:checked ~ .box::after {
  opacity: 1;
}
.om-course-nav .check.is-busy {
  opacity: 0.5;
  pointer-events: none;
}
.om-course-nav .expand {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  min-height: 2.6rem;
  margin: 0.25rem 0.2rem 0 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--nav-fg);
  cursor: pointer;
}
.om-course-nav .expand .chevron {
  width: 0.7rem;
  height: 0.7rem;
  background: currentColor;
  opacity: 0.6;
  -webkit-mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
  transition: transform 200ms ease, opacity 160ms ease;
}
.om-course-nav .expand:hover .chevron, .om-course-nav .expand:focus-visible .chevron {
  opacity: 1;
}
.om-course-nav .expand[aria-expanded=true] .chevron {
  transform: scaleY(-1);
}
.om-course-nav .topics {
  position: relative;
  display: none;
  margin: 0 0 0.6rem 0.6rem;
  padding-left: 0.7rem;
}
.om-course-nav .topics::before {
  display: block;
  width: 0.2rem;
  height: 100%;
  border: 0;
  background: var(--nav-line);
  -webkit-mask: url("../../app/assets/img/separator-nav.svg") center/100% 100% no-repeat;
  mask: url("../../app/assets/img/separator-nav.svg") center/100% 100% no-repeat;
  position: absolute;
  top: 0.3rem;
  bottom: 0.3rem;
  left: 0;
  height: auto;
  content: "";
}
.om-course-nav .lesson.is-open > .topics {
  display: block;
}
.om-course-nav .topic-link {
  padding: 0.5rem 0.4rem 0.5rem 0.6rem;
  font-size: 0.92rem;
}
.om-course-nav .topic .check {
  min-height: 2.2rem;
  margin-top: 0.15rem;
}
.om-course-nav .links {
  margin-top: 1rem;
  padding-top: 0.75rem;
}
.om-course-nav .links::before {
  display: block;
  width: 100%;
  height: 0.22rem;
  border: 0;
  background: var(--nav-line);
  -webkit-mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  margin-bottom: 0.6rem;
  content: "";
}
.om-course-nav .link {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.7rem 0.6rem;
  border-radius: var(--nav-row-radius);
  color: var(--nav-fg);
  font-size: 1.1rem;
  line-height: 1.3;
  text-decoration: none;
  transition: background-color 160ms ease;
}
.om-course-nav .link .om-icon {
  width: 1.1rem;
  height: 1.1rem;
  opacity: 0.75;
}
.om-course-nav .link .count {
  margin-left: auto;
  padding: 0.2em 0.55em;
  border-radius: 100rem;
  background: rgba(var(--nav-accent-rgb), 0.25);
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  line-height: 1;
}
.om-course-nav .link:hover, .om-course-nav .link:focus-visible {
  background: var(--nav-veil);
}
.om-course-nav .link[aria-current=page] {
  background: rgba(var(--nav-accent-rgb), 0.22);
}
.om-course-nav.is-refreshing .tree {
  opacity: 0.6;
  transition: opacity 160ms ease;
}

@media (max-width: 64rem) {
  .om-course-nav .toggle {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    width: 100%;
    padding: 1rem 1.25rem;
    border: 0;
    background: none;
    color: var(--nav-fg);
    font-family: "Futura Medium", sans-serif;
    font-size: 0.8rem;
    letter-spacing: 0.14em;
    text-align: left;
    text-transform: uppercase;
    cursor: pointer;
  }
  .om-course-nav .toggle .om-icon {
    width: 1.2rem;
    height: 1.2rem;
  }
  .om-course-nav .toggle .chevron {
    width: 0.7rem;
    height: 0.7rem;
    margin-left: auto;
    background: currentColor;
    -webkit-mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
    mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
    transition: transform 200ms ease;
  }
  .om-course-nav .toggle[aria-expanded=true] .chevron {
    transform: scaleY(-1);
  }
  .om-course-nav .panel {
    display: none;
    padding: 0 1rem 1rem;
  }
  .om-course-nav.is-open .panel {
    display: block;
  }
  .om-course-nav .heading {
    padding: 1rem 0;
  }
}
.om-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.6em;
  margin: 0 0 1.25rem;
  color: #789691;
  font-family: "Futura Medium", sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-transform: uppercase;
}
.om-eyebrow .icon {
  width: 1.3em;
  height: 1.3em;
}

.om-event-date {
  display: grid;
  gap: 0.4em;
  padding: 0.4em 0 0.6em;
  place-items: center;
  color: #384b48;
  font-family: "Futura Medium", sans-serif;
  font-size: 1.1rem;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
.om-event-date strong {
  font-family: "PV Sans Serif", sans-serif;
  font-size: 2.1rem;
}
.om-event-date span {
  font-size: 1.1rem;
}
.om-event-date--padded {
  padding-right: 1em;
  padding-left: 1em;
}

.om-event-time {
  color: rgba(250, 241, 235, 0.7);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.3rem;
  font-weight: 300;
  letter-spacing: normal;
  text-transform: none;
}

.om-hero-title {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 36rem) minmax(20rem, 1fr);
  align-items: start;
  gap: 2rem;
  margin-right: calc(-1 * var(--om-content-right));
  margin-bottom: 6rem;
  min-height: 27rem;
  padding: 2rem 0;
  overflow: visible;
}
.om-hero-title .content {
  position: relative;
  z-index: 1;
  max-width: 38rem;
}
.om-hero-title h1,
.om-hero-title h2 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 4rem;
  font-weight: 400;
  line-height: 1;
  text-wrap: balance;
}
.om-hero-title .intro {
  max-width: 38rem;
  margin-top: 1.6rem;
  color: #b2b8b3;
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 1.3rem;
  line-height: 1.5;
}
.om-hero-title .intro > :last-child {
  margin-bottom: 0;
}
.om-hero-title .intro a {
  color: #ffd22a;
}
.om-hero-title .om-notice {
  margin-top: 1.6rem;
}
.om-hero-title .hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2rem;
}
.om-hero-title--no-image {
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
  margin-right: 0;
}
.om-hero-title--flush {
  margin-bottom: 0;
}
.om-hero-title .artwork {
  align-self: center;
  min-width: 0;
  min-height: 0;
  height: 0;
}
.om-hero-title .image {
  display: block;
  width: 100%;
  margin-right: -3rem;
  transform: translateY(-50%);
}

@media (max-width: 64rem) {
  .om-hero-title {
    grid-template-columns: 55% minmax(0, 1fr);
    gap: 2rem;
    width: 100%;
  }
  .om-hero-title h1,
  .om-hero-title h2 {
    font-size: 2.7rem;
  }
  .om-hero-title--no-image {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 45rem) {
  .om-hero-title {
    grid-template-columns: 1fr;
    margin-bottom: 3rem;
    min-height: 0;
  }
  .om-hero-title .artwork {
    display: none;
  }
}
.om-info-button {
  --om-info-button-size: 2.3rem;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  user-select: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--om-info-button-size);
  min-width: var(--om-info-button-size);
  max-width: var(--om-info-button-size);
  height: var(--om-info-button-size);
  min-height: var(--om-info-button-size);
  max-height: var(--om-info-button-size);
  padding: 0;
  border: 1px solid rgba(250, 241, 235, 0.65);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.4);
  -webkit-backdrop-filter: blur(1rem);
  backdrop-filter: blur(1rem);
  color: #faf1eb;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease, transform 120ms ease;
}
.om-info-button:hover {
  border-color: rgba(250, 241, 235, 0.85);
  background: rgba(0, 0, 0, 0.4);
}
.om-info-button:active {
  transform: scale(0.987);
}
.om-info-button .glyph {
  display: block;
  margin-top: -0.08em;
  font-family: "Lavishe", sans-serif;
  font-size: 1.1rem;
  line-height: 1;
}
@media (max-width: 64rem) {
  .om-info-button {
    --om-info-button-size: 2rem;
  }
}

.om-live-card {
  color: #faf1eb;
  text-decoration: none;
}
.om-live-card .media {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 1rem;
  color: #faf1eb;
  text-decoration: none;
  aspect-ratio: 1/1;
  background: #263a35;
}
.om-live-card .media::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  content: "";
  background: linear-gradient(180deg, rgba(56, 75, 72, 0) 45%, rgba(56, 75, 72, 0.55) 100%);
}
.om-live-card .image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-live-card .image.is-fallback {
  background: linear-gradient(145deg, rgba(255, 210, 42, 0.32), rgba(250, 241, 235, 0.08)), linear-gradient(35deg, #1f342f 0%, #78896a 50%, #b48263 100%);
}
.om-live-card .date {
  position: absolute;
  bottom: 1em;
  left: 1em;
  z-index: 2;
  border-radius: 0.5em;
  background: #fff;
}
.om-live-card h3 {
  color: #faf1eb;
}

.om-meditation-session {
  position: relative;
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  grid-template-areas: "date details";
  column-gap: 1.3rem;
  row-gap: 0.7rem;
  align-items: center;
  align-content: center;
  min-height: 7rem;
  padding: 0.65rem 0.75rem 0.65rem 0.65rem;
  border-radius: 0.9rem;
  background: rgba(120, 150, 145, 0.4);
  font-family: "PV Sans Serif", sans-serif;
  transition: background-color 160ms ease;
}
.om-meditation-session:hover {
  background: rgba(120, 150, 145, 0.45);
}
.om-meditation-session.is-upcoming, .om-meditation-session.is-ongoing {
  box-shadow: inset 0 0 0 1px rgba(255, 210, 42, 0.4);
}
.om-meditation-session[hidden] {
  display: none;
}
.om-meditation-session .session-status {
  display: inline;
  color: #ffd22a;
  font-family: "PV Sans Serif", sans-serif;
  font-size: inherit;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
  pointer-events: none;
}
.om-meditation-session .session-status[hidden] {
  display: none;
}
.om-meditation-session .session-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  color: #faf1eb;
  text-decoration: none;
}
.om-meditation-session .session-link:hover, .om-meditation-session .session-link:focus-visible {
  color: #faf1eb;
}
.om-meditation-session .date {
  grid-area: date;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  gap: 0.65rem;
  align-self: stretch;
  box-sizing: border-box;
  width: 100%;
  min-height: 100%;
  padding: 0.7rem 0.35rem;
  border-radius: 0.35rem;
  background: rgba(56, 75, 72, 0.3);
}
.om-meditation-session .date .om-event-date {
  display: flex;
  align-items: baseline;
  justify-content: center;
  width: 100%;
  gap: 0.3em;
  padding: 0;
  color: #faf1eb;
  font-family: "PV Sans Serif", sans-serif;
  transform: translateY(-0.44rem);
  white-space: nowrap;
}
.om-meditation-session .date .om-event-date strong,
.om-meditation-session .date .om-event-date span {
  font-size: 1.1rem;
  font-weight: 700;
}
.om-meditation-session .session-host-avatar {
  position: relative;
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  overflow: hidden;
  border-radius: 50%;
}
.om-meditation-session .session-host-avatar::after {
  position: absolute;
  inset: 0;
  border: 1px solid #faf1eb;
  border-radius: inherit;
  content: "";
  pointer-events: none;
}
.om-meditation-session .session-host-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-meditation-session .session-host-avatar.is-placeholder {
  background-color: var(--om-avatar-placeholder-bg, #49625e);
  -webkit-backdrop-filter: var(--om-avatar-placeholder-backdrop, none);
  backdrop-filter: var(--om-avatar-placeholder-backdrop, none);
  display: flex;
  align-items: center;
  justify-content: center;
}
.om-meditation-session .session-host-avatar.is-placeholder::before {
  display: block;
  width: 1rem;
  height: 1rem;
  background: var(--om-avatar-placeholder-icon, rgba(250, 241, 235, 0.8));
  content: "";
  -webkit-mask: url("../../app/assets/img/icon-avatar-placeholder.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-avatar-placeholder.svg") center/contain no-repeat;
}
.om-meditation-session .details {
  grid-area: details;
  display: grid;
  align-self: center;
  gap: 1.7rem;
  min-width: 0;
  padding: 0.85rem 0;
}
.om-meditation-session .session-heading {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  min-width: 0;
  padding-right: 0.75rem;
}
.om-meditation-session .title {
  display: block;
  width: 100%;
  max-width: none;
  overflow: visible;
  font-family: "Lavishe", sans-serif;
  font-size: 1.65rem;
  font-weight: 400;
  line-height: 1.2;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
}
.om-meditation-session .session-meta {
  display: block;
  min-width: 0;
  padding-right: 9rem;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  line-height: 1.6;
}
.om-meditation-session .session-meta > span {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.35;
}
.om-meditation-session .session-meta > span:not([hidden]) {
  margin-inline-end: 0.9rem;
}
.om-meditation-session .time {
  min-width: 0;
  color: #faf1eb;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1;
}
.om-meditation-session .session-owner-label {
  color: #ffd22a;
  font-weight: 700;
  white-space: nowrap;
}
.om-meditation-session .session-capacity {
  color: rgba(250, 241, 235, 0.62);
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  white-space: nowrap;
}
.om-meditation-session .session-host {
  overflow: hidden;
  min-width: 0;
  color: rgba(250, 241, 235, 0.62);
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.om-meditation-session > .om-active-users-cluster {
  position: absolute;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 2;
  margin: 0;
  transform: none;
}
.om-meditation-session > .om-active-users-cluster > .attendees {
  position: static;
}
.om-meditation-session .session-card-controls {
  position: relative;
  z-index: 2;
  display: grid;
  align-self: center;
  justify-self: end;
  place-items: center;
  pointer-events: none;
}
.om-meditation-session .session-attending-label {
  display: none;
}
.om-meditation-session .session-owner-avatar {
  display: none;
}
.om-meditation-session .session-card-control {
  display: none;
}
.om-meditation-session.is-attendance-exiting {
  opacity: 0;
  pointer-events: none;
  transform: scale(0.92);
  transition: opacity 280ms ease-out, transform 360ms cubic-bezier(0.4, 0, 1, 1);
}
.om-meditation-session[data-session-attending=true]:not(.om-meditation-session--modal) .session-attending-label {
  display: inline-flex;
}
.om-meditation-session[data-session-attending=true]:not(.om-meditation-session--modal) .session-card-control {
  display: none;
}
.om-meditation-session[data-session-attending=true][data-session-is-owner=true]:not(.om-meditation-session--modal) .session-owner-avatar {
  position: absolute;
  top: 50%;
  right: 70%;
  z-index: 3;
  display: block;
  box-sizing: border-box;
  width: 1.8rem;
  height: 1.8rem;
  overflow: hidden;
  border: 1px solid #ffd22a;
  border-radius: 50%;
  background: #384b48;
  transform: translateY(-50%);
}
.om-meditation-session[data-session-attending=true][data-session-is-owner=true]:not(.om-meditation-session--modal) .session-owner-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-meditation-session[data-session-column=planned] .session-meta {
  transform: translateY(0.3rem);
}
.om-meditation-session[data-session-column=planned] .om-event-date {
  transform: translateY(-0.14rem);
}

@media (min-width: 80.0625rem) {
  .om-meditation-gather .om-meditation-session[data-session-column=planned][data-session-attending=true].is-upcoming, .om-meditation-gather .om-meditation-session[data-session-column=planned][data-session-attending=true].is-ongoing {
    box-shadow: none;
  }
  .om-meditation-gather .om-meditation-session[data-session-column=planned][data-session-attending=true]:not([data-session-key=demo-demo-session-0]) .session-status {
    display: none;
  }
}
.om-meditation-session.om-meditation-session--modal {
  background: linear-gradient(rgba(120, 150, 145, 0.4), rgba(120, 150, 145, 0.4)), #384b48;
  box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, 0.3);
  transition: background-color 160ms ease, border-radius 320ms cubic-bezier(0.22, 1, 0.36, 1);
}
.om-meditation-session.om-meditation-session--modal.is-upcoming, .om-meditation-session.om-meditation-session--modal.is-ongoing {
  box-shadow: inset 0 0 0 1px rgba(255, 210, 42, 0.4), 0 1.25rem 3rem rgba(0, 0, 0, 0.3);
}
.om-meditation-session.om-meditation-session--modal:hover {
  background: linear-gradient(rgba(120, 150, 145, 0.4), rgba(120, 150, 145, 0.4)), #384b48;
}
.om-meditation-session.om-meditation-session--modal .details {
  gap: 0.4rem;
}
.om-meditation-session.om-meditation-session--modal.is-upcoming .session-status {
  display: none;
}
.om-meditation-session.om-meditation-session--modal .session-link {
  cursor: default;
  pointer-events: none;
}
.om-meditation-session.om-meditation-session--modal .session-card-controls {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.om-meditation-session.om-meditation-session--modal .session-edit {
  pointer-events: auto;
}
.om-meditation-session.om-meditation-session--modal .session-edit[hidden] {
  display: none;
}
.om-meditation-session.om-meditation-session--modal .session-card-control {
  width: 1.5rem;
  height: 1.5rem;
  background: #faf1eb;
  color: #faf1eb;
  cursor: pointer;
  pointer-events: auto;
  -webkit-mask: url("../../app/assets/img/icon-close.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-close.svg") center/contain no-repeat;
  transform: none;
}
.om-meditation-session.om-meditation-session--modal .session-card-control:hover, .om-meditation-session.om-meditation-session--modal .session-card-control:focus-visible {
  opacity: 0.8;
}
.om-meditation-session.om-meditation-session--modal .session-card-control:active {
  opacity: 1;
  transform: scale(0.96);
}
.om-meditation-session.om-meditation-session--modal .session-description {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin-bottom: 1.1rem;
  padding-right: 0.75rem;
  color: rgba(250, 241, 235, 0.68);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  font-weight: 300;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.om-meditation-session.om-meditation-session--modal .session-description p {
  margin: 0;
}
.om-meditation-session.om-meditation-session--modal .session-description p + p {
  margin-top: 0.8em;
}
.om-meditation-session.om-meditation-session--modal.is-attendees-open {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.om-sessions-page .session-column--attending .om-meditation-session .om-event-date {
  transform: translateY(-0.14rem);
}
.om-sessions-page .session-column--attending .om-meditation-session .session-host-avatar {
  width: 1.8rem;
  height: 1.8rem;
}
.om-sessions-page .session-column--attending .om-meditation-session .details {
  padding-top: 0.65rem;
}
.om-sessions-page .session-column--attending .om-meditation-session .session-meta {
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding-right: 0;
}
.om-sessions-page .session-column--attending .om-meditation-session .session-status {
  margin-left: auto;
  margin-right: 0.75rem;
  transform: translateY(-0.25rem);
}
.om-sessions-page .session-column--attending .om-meditation-session .title {
  font-size: 1.45rem;
}
.om-sessions-page .session-column--attending .om-meditation-session .session-host {
  display: none;
}

@media (max-width: 45rem) {
  .om-meditation-session {
    grid-template-columns: 5rem minmax(0, 1fr);
    column-gap: 0.85rem;
  }
  .om-meditation-session .title {
    font-size: 1.1rem;
  }
  .om-meditation-session[data-session-column=planned] .title {
    font-size: 1.45rem;
  }
  .om-meditation-session .attendees {
    display: none;
  }
  .om-meditation-session[data-session-column=planned] .attendees {
    display: flex;
  }
  .om-sessions-page .session-column--attending .om-meditation-session {
    column-gap: 1.3rem;
  }
  .om-meditation-session--modal .session-meta {
    padding-right: 0;
  }
}
.om-meditation-session .date.has-image {
  position: relative;
  overflow: hidden;
  justify-content: flex-end;
}
.om-meditation-session .date.has-image .date-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-meditation-session .date.has-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent 25%, rgba(0, 0, 0, 0.8));
}
.om-meditation-session .date.has-image .om-event-date {
  position: relative;
  z-index: 1;
}

.om-meditation-session .session-host-avatar--on-image {
  display: none;
}

.om-message-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 100rem;
  color: rgba(250, 241, 235, 0.8);
  text-decoration: none;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease;
}
.om-message-button .om-icon {
  width: 1.1em;
  height: 1.1em;
}
.om-message-button:hover, .om-message-button:focus-visible {
  color: #ffd22a;
}
.om-message-button:focus-visible {
  outline: 2px solid #ffd22a;
  outline-offset: 2px;
}

.om-pill-text {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 1em;
  padding: 0.5em 0.85em;
  border: 1px solid rgba(250, 241, 235, 0.24);
  border-radius: 100rem;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  line-height: 1;
  color: #faf1eb;
  background: rgba(250, 241, 235, 0.08);
}

.om-pill-text--live,
.om-pill-text--opening {
  color: #000000;
  border-color: transparent;
  background: #ffd22a;
}

.om-pill-text--attending {
  gap: 0.5em;
  margin-bottom: 0;
  color: #384b48;
  border-color: transparent;
  background: #ffd22a;
  white-space: nowrap;
}
.om-pill-text--attending::before {
  display: block;
  width: 1em;
  height: 0.8em;
  background: currentColor;
  content: "";
  -webkit-mask: url("../../app/assets/img/icon-tick.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-tick.svg") center/contain no-repeat;
}

.om-pill-text[hidden] {
  display: none;
}

.om-notice {
  max-width: 32rem;
  overflow: hidden;
  border: 1px solid rgba(250, 241, 235, 0.18);
  border-radius: 0.5rem;
  background: rgba(250, 241, 235, 0.06);
  -webkit-backdrop-filter: blur(0.4rem);
  backdrop-filter: blur(0.4rem);
  font-family: "PV Sans Serif", sans-serif;
}
.om-notice .body {
  padding: 0.9rem 1.1rem;
}
.om-notice .icon {
  flex: 0 0 1.12rem;
  width: 1.12rem;
  height: 1.12rem;
  background: currentColor;
  -webkit-mask: url("../../app/assets/img/icon-sun.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-sun.svg") center/contain no-repeat;
}
.om-notice .title {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin: 0 0 0.35rem;
  font-size: 1.1rem;
  font-weight: 700;
  color: #faf1eb;
}
.om-notice .text {
  margin: 0;
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 1.1rem;
  line-height: 1.45;
  color: rgba(250, 241, 235, 0.8);
}
.om-notice .extension {
  border-top: 1px solid rgba(250, 241, 235, 0.18);
}
.om-notice .extension .action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  box-sizing: border-box;
  width: 100%;
  min-height: 3.2rem;
  padding: 0.85rem 1.1rem;
  background: rgba(255, 210, 42, 0.05);
  color: #ffd22a;
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  opacity: 0.9;
  transition: background-color 160ms ease, opacity 160ms ease;
}
.om-notice .extension .action:hover, .om-notice .extension .action:focus-visible {
  background: rgba(255, 210, 42, 0.06);
  opacity: 1;
}
.om-notice .extension .action .action-icon {
  width: 1.2em;
  height: 1.2em;
}

.om-pill-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6em 1.1em 0.5em;
  border: 1px solid rgba(250, 241, 235, 0.24);
  border-radius: 100rem;
  background: none;
  color: rgba(250, 241, 235, 0.85);
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  line-height: 1;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease;
}
.om-pill-button:hover, .om-pill-button:focus-visible {
  background: rgba(250, 241, 235, 0.08);
  color: #faf1eb;
}
.om-pill-button .label + .om-icon {
  width: 1.3em;
  height: 1.3em;
  margin-left: 0.45em;
  margin-top: -0.1em;
}
.om-pill-button .loader {
  position: relative;
  flex: 0 0 auto;
  width: 0;
  height: 1em;
  opacity: 0;
  transition: none;
}
.om-pill-button .spinner {
  position: absolute;
  top: 50%;
  left: 1.1em;
  width: 1.1em;
  height: 1.1em;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%);
  transition: none;
}
.om-pill-button .spinner::before, .om-pill-button .spinner::after {
  position: absolute;
  inset: 0;
  border: 2px solid currentColor;
  border-radius: 50%;
  content: "";
  transform: rotate(0deg);
}
.om-pill-button .spinner::before {
  opacity: 0.28;
}
.om-pill-button .spinner::after {
  border-top-color: transparent;
}
.om-pill-button.is-loading .loader {
  width: 1.6em;
  opacity: 1;
  transition: width 260ms ease, opacity 200ms ease;
}
.om-pill-button.is-loading .spinner {
  opacity: 0.7;
  transition: opacity 520ms ease;
}
.om-pill-button.is-loading .spinner::after {
  animation: om-button-spin 700ms linear infinite;
}
.om-pill-button--small {
  padding: 0.45em 0.8em 0.35em;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
}

.om-share {
  font-family: "PV Sans Serif", sans-serif;
}
.om-share .title {
  margin: 0 0 0.75rem;
  font-size: 1.1rem;
  font-weight: 700;
  color: #faf1eb;
}
.om-share .links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.om-video-hero {
  --om-video-hero-bg: #384b48;
  --om-video-hero-fg: #faf1eb;
  --om-video-hero-content-bottom: 7.5rem;
  --om-video-hero-gutter: calc(var(--om-content-left) + max(0px, (100vw - var(--om-shell-max)) / 2));
  --om-video-hero-bleed: var(--om-video-hero-gutter);
  position: relative;
  display: flex;
  align-items: flex-end;
  isolation: isolate;
  container-type: size;
  width: calc(100vw - 2rem);
  height: 75vh;
  height: 75svh;
  min-height: 22rem;
  margin: calc(1rem - var(--om-content-top)) 0 2rem calc(1rem - var(--om-video-hero-bleed));
  padding: 0;
  overflow: hidden;
  border-radius: 2rem 2rem 0 0;
  background: var(--om-video-hero-bg);
}
.om-video-hero .video,
.om-video-hero .poster img,
.om-video-hero .embed, .om-video-hero::after {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.om-video-hero .video,
.om-video-hero .poster img {
  z-index: 0;
  object-fit: cover;
}
.om-video-hero .embed {
  z-index: 1;
  inset: 50% auto auto 50%;
  width: max(100%, 177.7777777778cqh);
  height: max(100%, 75cqw);
  border: 0;
  background: transparent;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 1.2s ease;
}
.om-video-hero.is-playing .embed {
  opacity: 1;
}
.om-video-hero::after {
  z-index: 2;
  content: "";
  background: linear-gradient(180deg, transparent 15%, var(--om-video-hero-bg) 100%);
}
.om-video-hero .content {
  position: relative;
  z-index: 3;
  width: 100%;
  padding: 2.5rem calc(var(--om-video-hero-gutter) - 1rem) var(--om-video-hero-content-bottom);
}
.om-video-hero .om-eyebrow {
  color: var(--om-video-hero-fg);
}
@media (prefers-reduced-motion: reduce) {
  .om-video-hero .embed {
    transition: none;
  }
}

.om-layout .om-main .om-video-hero h1 {
  margin: 0;
  color: var(--om-video-hero-fg);
  font-size: clamp(2.5rem, 5vw, 5rem);
  font-weight: 400;
  line-height: 1;
  text-wrap: balance;
}

@media (max-width: 64rem) {
  .om-video-hero .content {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .om-layout .om-main .om-video-hero h1 {
    font-size: 3.4rem;
  }
}
@media (max-width: 45rem) {
  .om-layout .om-main .om-video-hero h1 {
    font-size: 2.7rem;
  }
}
.pv-dialog {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: rgba(30, 40, 38, 0.72);
  -webkit-backdrop-filter: blur(0.6rem);
  backdrop-filter: blur(0.6rem);
  opacity: 0;
  visibility: hidden;
  transition: opacity 180ms ease, visibility 0s linear 180ms;
}

.pv-dialog.is-open {
  opacity: 1;
  visibility: visible;
  transition: opacity 180ms ease;
}

.pv-dialog__backdrop {
  position: absolute;
  inset: 0;
}

.pv-dialog__panel {
  position: relative;
  z-index: 1;
  width: min(100%, 30rem);
  max-height: calc(100vh - 3rem);
  overflow-y: auto;
  padding: 2.4rem;
  border-radius: 1rem;
  background: #faf1eb;
  color: #384b48;
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.18);
  transform: translateY(0.6rem);
  transition: transform 180ms ease;
}

.pv-dialog.is-open .pv-dialog__panel {
  transform: none;
}

@media (min-width: 64.1rem) {
  .pv-dialog__panel {
    min-width: 40rem;
  }
}
.pv-dialog__close {
  position: absolute;
  top: 1rem;
  right: 0.8rem;
  width: 2.5rem;
  height: 2.5rem;
  border: 0;
  background: currentColor;
  color: #384b48;
  cursor: pointer;
  opacity: 1;
  -webkit-mask: url("../../app/assets/img/icon-close.svg") center/1.5rem 1.5rem no-repeat;
  mask: url("../../app/assets/img/icon-close.svg") center/1.5rem 1.5rem no-repeat;
  transition: opacity 140ms ease;
  will-change: transform;
}
.pv-dialog__close:hover, .pv-dialog__close:focus {
  opacity: 0.8;
}
.pv-dialog__close:active {
  opacity: 1;
  transform: scale(0.96);
}
.pv-dialog__close span {
  display: none;
}

input.has-error,
select.has-error,
textarea.has-error,
.has-error:focus {
  border-color: #ea4334;
  box-shadow: 0 0 0 0.18rem rgba(234, 67, 52, 0.2);
}

input[type=checkbox].has-error,
input[type=radio].has-error {
  box-shadow: none;
  outline: 2px solid #ea4334;
  outline-offset: 1px;
}

.field-error {
  margin-top: 0.4rem;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  color: #ea4334;
}

.magic-login-modal .magic-login-title {
  margin: 0 2.5rem 1.5rem 0;
  font-family: "Lavishe", sans-serif;
  font-weight: 500;
  font-size: 2.1rem;
  line-height: 1.2;
  color: #384b48;
}
.magic-login-modal .title-register,
.magic-login-modal .label-register,
.magic-login-modal .register-fields,
.magic-login-modal .edit-email {
  display: none;
}
.magic-login-modal[data-step=register] .title-default,
.magic-login-modal[data-step=register] .label-default {
  display: none;
}
.magic-login-modal[data-step=register] .title-register,
.magic-login-modal[data-step=register] .label-register {
  display: inline;
}
.magic-login-modal[data-step=register] .register-fields {
  display: block;
}
.magic-login-modal[data-step=register] .edit-email {
  display: inline-flex;
}
.magic-login-modal[data-step=sent] .edit-email {
  display: inline-flex;
}
.magic-login-modal[data-step=sent] .btn-submit {
  display: none;
}
.magic-login-modal .magic-field {
  margin-bottom: 1.1rem;
}
.magic-login-modal .form-floating {
  position: relative;
}
.magic-login-modal .form-floating > input,
.magic-login-modal .form-floating > select,
.magic-login-modal .form-floating > textarea {
  box-sizing: border-box;
  width: 100%;
  height: calc(3.5rem + 2px);
  padding: 1rem;
  border: 1px solid rgba(56, 75, 72, 0.2);
  border-radius: 0.5rem;
  background: #fff;
  color: #384b48;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1rem;
  line-height: 1.25;
}
.magic-login-modal .form-floating > input::placeholder,
.magic-login-modal .form-floating > select::placeholder,
.magic-login-modal .form-floating > textarea::placeholder {
  color: transparent;
}
.magic-login-modal .form-floating > input:focus,
.magic-login-modal .form-floating > select:focus,
.magic-login-modal .form-floating > textarea:focus {
  outline: none;
  border-color: #ffd22a;
  box-shadow: 0 0 0 0.18rem rgba(255, 210, 42, 0.35);
}
.magic-login-modal .form-floating > input:read-only,
.magic-login-modal .form-floating > textarea:read-only {
  background: rgba(56, 75, 72, 0.06);
  cursor: default;
}
.magic-login-modal .form-floating > textarea {
  height: auto;
  min-height: 6.5rem;
  resize: vertical;
}
.magic-login-modal .form-floating > textarea ~ label {
  align-items: flex-start;
  height: auto;
  padding-top: 1rem;
}
.magic-login-modal .form-floating > input:not(:placeholder-shown),
.magic-login-modal .form-floating > textarea:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.magic-login-modal .form-floating > input[type=date]::-webkit-datetime-edit, .magic-login-modal .form-floating > input[type=date]::-webkit-datetime-edit-fields-wrapper, .magic-login-modal .form-floating > input[type=date]::-webkit-date-and-time-value,
.magic-login-modal .form-floating > input[type=time]::-webkit-datetime-edit,
.magic-login-modal .form-floating > input[type=time]::-webkit-datetime-edit-fields-wrapper,
.magic-login-modal .form-floating > input[type=time]::-webkit-date-and-time-value {
  margin: 0;
  padding: 0;
  text-align: left;
}
@supports (-moz-appearance: none) {
  .magic-login-modal .form-floating > input,
  .magic-login-modal .form-floating > textarea {
    padding-left: calc(1rem - 1px);
  }
  .magic-login-modal .form-floating > input[type=date],
  .magic-login-modal .form-floating > input[type=time] {
    padding-left: calc(1rem - 4px);
  }
  .magic-login-modal .form-floating > select {
    padding-left: calc(1rem - 2px) !important;
  }
}
.magic-login-modal .form-floating > select {
  -webkit-appearance: none;
  appearance: none;
  padding: 1.625rem 2.5rem 0.5rem 1rem;
  background-image: url("../../app/assets/img/icon-dropdown.svg");
  background-position: right 1rem center;
  background-repeat: no-repeat;
  background-size: 0.75rem auto;
}
.magic-login-modal .form-floating > label {
  position: absolute;
  inset: 0 0 auto;
  display: flex;
  align-items: center;
  height: calc(3.5rem + 2px);
  margin: 0;
  padding: 0 1rem;
  color: rgba(56, 75, 72, 0.65);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.25;
  pointer-events: none;
  transform-origin: left center;
  transition: transform 0.12s ease, color 0.12s ease;
}
.magic-login-modal .form-floating > input:not(:placeholder-shown) ~ label,
.magic-login-modal .form-floating > select ~ label,
.magic-login-modal .form-floating > textarea:not(:placeholder-shown) ~ label {
  color: rgba(56, 75, 72, 0.65);
  transform: scale(0.85) translateY(-0.8rem) translateX(0.15rem);
}
.magic-login-modal .magic-field-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-start;
}
.magic-login-modal .magic-field-row .magic-field {
  flex: 1 1 45%;
  min-width: 8.5rem;
}
.magic-login-modal .form-floating > input.has-error,
.magic-login-modal .form-floating > input.has-error:focus {
  border-color: #ea4334;
  box-shadow: 0 0 0 0.18rem rgba(234, 67, 52, 0.2);
}
.magic-login-modal .edit-email {
  position: absolute;
  top: 50%;
  right: 0.9rem;
  z-index: 2;
  align-items: center;
  transform: translateY(-50%);
  border: 0;
  padding: 0;
  background: none;
  color: rgba(56, 75, 72, 0.6);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  font-weight: 500;
  cursor: pointer;
}
.magic-login-modal .edit-email:hover, .magic-login-modal .edit-email:focus {
  color: #384b48;
}
.magic-login-modal[data-step=register] .email-field input, .magic-login-modal[data-step=sent] .email-field input {
  padding-right: 3.5rem;
}
.magic-login-modal[data-step=sent] .email-field input {
  background: rgba(255, 210, 42, 0.18);
  border-color: rgba(255, 210, 42, 0.5);
}
.magic-login-modal .terms-check {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.6rem;
  margin-bottom: 1.3rem;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.8rem;
  line-height: 1.5;
  color: rgba(56, 75, 72, 0.85);
}
.magic-login-modal .terms-check input[type=checkbox] {
  flex: 0 0 auto;
  width: 1.05rem;
  height: 1.05rem;
  margin-top: 0.1rem;
  accent-color: #ffd22a;
}
.magic-login-modal .terms-check a {
  color: #384b48;
  text-decoration: underline;
}
.magic-login-modal .terms-check .field-error {
  flex-basis: 100%;
  margin-top: 0;
}
.magic-login-modal .response-message:not(:empty) {
  margin-bottom: 1.1rem;
}
.magic-login-modal .response-message p {
  margin: 0;
  padding: 0.8rem 1rem;
  border-radius: 0.5rem;
  background: #eef6ee;
  border: 1px solid #cfe3cf;
  color: #2f6b4f;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  line-height: 1.4;
}
.magic-login-modal .response-message.error p {
  background: #fdecea;
  border-color: #f3c4bf;
  color: #ea4334;
}
.magic-login-modal .intro-message:not(:empty) {
  margin-bottom: 1rem;
}
.magic-login-modal .intro-message p {
  margin: 0;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  line-height: 1.45;
  color: rgba(56, 75, 72, 0.85);
}

.om-map-popup .member-content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.om-map-popup .member-content .row {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.om-map-popup .member-content img.avatar {
  display: block;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  object-fit: cover;
}
.om-map-popup .member-content h4 {
  margin: 0;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.3;
}
.om-map-popup .member-content h4 .location {
  display: block;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.8rem;
  font-weight: 300;
  color: rgba(250, 241, 235, 0.6);
}
.om-map-popup .member-content a {
  color: #faf1eb;
  text-decoration: none;
}
.om-map-popup .member-content a:hover, .om-map-popup .member-content a:focus-visible {
  color: #ffd22a;
}
.om-map-popup .member-content .btn {
  display: inline-flex;
  align-items: center;
  padding: 0.45em 1.1em 0.35em;
  border: 1px solid rgba(250, 241, 235, 0.24);
  border-radius: 100rem;
  background: none;
  color: rgba(250, 241, 235, 0.85);
  font-family: "Futura Medium", sans-serif;
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.om-map-popup .member-content .btn:hover, .om-map-popup .member-content .btn:focus-visible {
  background: rgba(250, 241, 235, 0.08);
  color: #faf1eb;
}
.om-map-popup .member-content .send-direct-message {
  display: none;
}
.om-map-popup .member-content [data-om-message-user] {
  margin-left: auto;
}
.om-map-popup .member-content .member-content-content {
  font-size: 0.8rem;
  color: rgba(250, 241, 235, 0.75);
}
.om-map-popup .member-content .member-content-content::before {
  display: block;
  width: 100%;
  height: 0.15rem;
  margin: 0 0 0.5rem;
  background: rgba(250, 241, 235, 0.18);
  content: "";
  -webkit-mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
}
.om-map-popup .member-content .member-content-content p {
  margin: 0 0 0.5rem;
}
.om-map-popup .member-content .member-content-content p:last-child {
  margin-bottom: 0;
}
.om-map-popup .member-content .member-content-content .om-map-popup__member-links::before {
  display: block;
  width: 100%;
  height: 0.15rem;
  margin: 0.5rem 0;
  background: rgba(250, 241, 235, 0.18);
  content: "";
  -webkit-mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
}

body.om-app {
  --bm-font-family: PV Sans Serif, sans-serif;
  --bm-message-font-size: 0.95rem;
  --bm-message-line-height: 1.45;
  --main-bm-color: 250, 241, 235;
  --bm-button-bg: 255, 210, 42;
  --bm-button-color: 56, 75, 72;
  --bm-button-hover: rgba(250, 241, 235, 0.1);
  --bm-button-active: rgba(250, 241, 235, 0.18);
  --bm-bg-color: 47, 63, 60;
  --bm-bg-secondary: 39, 53, 50;
  --bm-hover-bg: 44, 58, 55;
  --bm-text-color: 250, 241, 235;
  --bm-placeholder: 250, 241, 235;
  --bm-border-color: 63, 77, 74;
  --bm-border-secondary-color: 59, 74, 71;
  --bm-border-active: 120, 150, 145;
  --left-message-bg-color: 65, 79, 76;
  --left-message-text-color: 250, 241, 235;
  --left-message-nickname-color: 250, 241, 235;
  --right-message-bg-color: 250, 241, 235;
  --right-message-text-color: 56, 75, 72;
  --right-message-nickname-color: 250, 241, 235;
  --bm-mention-bg: 255, 210, 42;
  --bm-mention-color: 56, 75, 72;
  --bm-sticky-date-bg: transparent;
  --bm-sticky-date-color: rgba(250, 241, 235, 0.42);
  --bm-tooltip-bg: 85, 109, 105;
  --bm-tooltip-color: 250, 241, 235;
  --bm-scrollbar: rgba(250, 241, 235, 0.12);
  --bm-scrollbar-active: rgba(250, 241, 235, 0.4);
  --bm-scrollbar-focus: rgba(250, 241, 235, 0.55);
  --bm-border-radius: 0.5rem;
  --bm-message-border-radius: 1rem;
  --bm-avatar-radius: 50%;
  --bm-date-radius: 0.3rem;
  --bm-widgets-button-radius: 0.5rem;
  --contexify-zIndex: 10000001;
  --contexify-menu-minWidth: 13rem;
  --contexify-menu-padding: 0.4rem;
  --contexify-menu-bgColor: #273532;
  --contexify-menu-radius: 0.5rem;
  --contexify-menu-shadow: 0 0.3rem 0.9rem rgba(0, 0, 0, 0.22);
  --contexify-itemContent-padding: 0 0.7rem;
  --contexify-activeItem-radius: 0.3rem;
  --contexify-activeItem-bgColor: rgba(250, 241, 235, 0.08);
  --contexify-activeItem-color: #faf1eb;
  --contexify-item-color: #faf1eb;
  --contexify-separator-color: rgba(250, 241, 235, 0.08);
  --toastify-font-family: PV Sans Serif, sans-serif;
  --toastify-z-index: 10000002;
  --toastify-toast-width: 22rem;
  --toastify-toast-min-height: 3.4rem;
  --toastify-color-dark: #273532;
  --toastify-color-light: #273532;
  --toastify-text-color-dark: #faf1eb;
  --toastify-text-color-light: #faf1eb;
  --toastify-color-progress-dark: #789691;
  --toastify-color-progress-light: #789691;
  --toastify-icon-color-info: #789691;
  --toastify-icon-color-success: #8ac176;
  --toastify-icon-color-warning: #ffd22a;
  --toastify-icon-color-error: #ea4334;
  --bm-side-width: 25rem;
}

.om-app .bp-messages-wrap,
.om-app #bp-better-messages-mini-mobile-container,
.om-app #better-messages-modals-container,
.om-app #floating-ui-root,
.om-app .bm-toasts-container,
.om-app .contexify,
.om-app .bm-tooltip,
.om-app [class^=bm-],
.om-app [class^=bpbm-] {
  font-family: var(--bm-font-family);
}

@media (min-width: 64.1rem) {
  .om-app #bp-messages-full-screen-wrap {
    position: fixed;
    inset: 0;
    z-index: 9999999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(30, 40, 38, 0.72);
    -webkit-backdrop-filter: blur(0.6rem);
    backdrop-filter: blur(0.6rem);
    animation: om-bm-backdrop-in 240ms ease both;
  }
  .om-app #bp-messages-full-screen-wrap:focus {
    outline: none;
  }
  .om-app .bp-messages-wrap.bp-messages-full-screen {
    position: relative !important;
    inset: auto !important;
    width: min(65rem, 100vw - 4rem);
    height: min(44rem, 100vh - 5rem) !important;
    overflow: hidden;
    border: 1px solid rgba(250, 241, 235, 0.08) !important;
    border-radius: 1.6rem !important;
    background: #2f3f3c;
    box-shadow: 0 2.4rem 5rem rgba(0, 0, 0, 0.35), 0 0.2rem 0.6rem rgba(0, 0, 0, 0.2);
    transform-origin: 50% 40%;
    animation: om-bm-dialog-in 360ms cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  body.om-app.bp-messages-full-screen {
    overflow: hidden;
  }
  .om-app .bp-messages-wrap.bp-messages-full-screen .bp-messages-column .chat-header:has(.thread-info) .back {
    display: none;
  }
}
.om-app .bp-messages-wrap {
  --bm-side-width: 25rem !important;
  color: #faf1eb;
}
.om-app .bp-messages-wrap .bp-messages-threads-wrapper {
  background: #2f3f3c;
}
.om-app .bp-messages-wrap .bp-messages-side-threads {
  border-right: 1px solid rgba(250, 241, 235, 0.08);
  background: #273532;
}
.om-app .bp-messages-wrap .bp-messages-side-threads > * {
  border-right: 0;
}
.om-app .bp-messages-wrap .bm-sidebar-toggle {
  display: none !important;
}
.om-app .bp-messages-wrap .chat-header.side-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 4.2rem;
  min-height: 4.2rem;
  padding: 0 0.8rem 0 1.4rem;
  border: 0;
  border-bottom: 1px solid rgba(250, 241, 235, 0.08);
  background: transparent;
}
.om-app .bp-messages-wrap .chat-header .om-bm-title {
  margin: 0;
  font-family: "Lavishe", sans-serif;
  font-weight: 500;
  font-size: 1.65rem;
  line-height: 1;
  color: #faf1eb;
}
.om-app .bp-messages-wrap .chat-header .om-bm-settings {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2.1rem;
  min-width: 2.1rem;
  max-width: 2.1rem;
  height: 2.1rem;
  min-height: 2.1rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: rgba(250, 241, 235, 0.62) !important;
  line-height: 1;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease;
  margin-left: 0.3rem;
}
.om-app .bp-messages-wrap .chat-header .om-bm-settings svg {
  position: static;
  width: 1.05rem;
  height: 1.05rem;
  margin: 0;
  font-size: 1.05rem;
}
.om-app .bp-messages-wrap .chat-header .om-bm-settings:hover, .om-app .bp-messages-wrap .chat-header .om-bm-settings:focus-visible {
  background: rgba(250, 241, 235, 0.08);
  color: #faf1eb !important;
}
.om-app .bp-messages-wrap .chat-header .om-bm-settings:focus-visible {
  outline: 2px solid #ffd22a;
  outline-offset: 2px;
}
.om-app .bp-messages-wrap .chat-header .new-message {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2.3rem;
  min-width: 2.3rem;
  max-width: 2.3rem;
  height: 2.3rem;
  min-height: 2.3rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: rgba(250, 241, 235, 0.62) !important;
  line-height: 1;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease;
  position: relative;
  margin: 0 0 0 auto;
}
.om-app .bp-messages-wrap .chat-header .new-message svg {
  position: static;
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
  font-size: 1.15rem;
}
.om-app .bp-messages-wrap .chat-header .new-message:hover, .om-app .bp-messages-wrap .chat-header .new-message:focus-visible {
  background: rgba(250, 241, 235, 0.08);
  color: #faf1eb !important;
}
.om-app .bp-messages-wrap .chat-header .new-message:focus-visible {
  outline: 2px solid #ffd22a;
  outline-offset: 2px;
}
.om-app .bp-messages-wrap .threads-list-wrapper {
  position: relative;
}
.om-app .bp-messages-wrap .threads-list .thread {
  animation: om-bm-fade-in 360ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
.om-app .bp-messages-wrap .threads-list .thread:nth-child(1) {
  animation-delay: 12ms;
}
.om-app .bp-messages-wrap .threads-list .thread:nth-child(2) {
  animation-delay: 24ms;
}
.om-app .bp-messages-wrap .threads-list .thread:nth-child(3) {
  animation-delay: 36ms;
}
.om-app .bp-messages-wrap .threads-list .thread:nth-child(4) {
  animation-delay: 48ms;
}
.om-app .bp-messages-wrap .threads-list .thread:nth-child(5) {
  animation-delay: 60ms;
}
.om-app .bp-messages-wrap .threads-list .thread:nth-child(6) {
  animation-delay: 72ms;
}
.om-app .bp-messages-wrap .threads-list .thread:nth-child(7) {
  animation-delay: 84ms;
}
.om-app .bp-messages-wrap .threads-list .thread:nth-child(8) {
  animation-delay: 96ms;
}
.om-app .bp-messages-wrap .threads-list .thread:nth-child(9) {
  animation-delay: 108ms;
}
.om-app .bp-messages-wrap .threads-list .thread:nth-child(10) {
  animation-delay: 120ms;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread > *,
.om-app .bp-messages-wrap .threads-list .thread > * {
  padding-top: 0.8rem;
  padding-bottom: 0.8rem;
  border: 0 !important;
  vertical-align: middle;
  transition: background-color 140ms ease;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread > .pic,
.om-app .bp-messages-wrap .threads-list .thread > .pic {
  padding-left: 1.4rem;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread > .time,
.om-app .bp-messages-wrap .threads-list .thread > .time {
  padding-right: 1rem;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread.bp-messages-active-thread > *,
.om-app .bp-messages-wrap .threads-list .thread.bp-messages-active-thread > * {
  background: rgba(250, 241, 235, 0.07) !important;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .pic .avatar img,
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .pic .avatar,
.om-app .bp-messages-wrap .threads-list .thread .pic .avatar img,
.om-app .bp-messages-wrap .threads-list .thread .pic .avatar {
  border-radius: 50%;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .pic .avatar img,
.om-app .bp-messages-wrap .threads-list .thread .pic .avatar img {
  width: 2.5rem;
  height: 2.5rem;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info,
.om-app .bp-messages-wrap .threads-list .thread .bm-info {
  max-width: 0;
  height: 4.1rem;
  vertical-align: top;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info h4,
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info h4.name,
.om-app .bp-messages-wrap .threads-list .thread .bm-info h4,
.om-app .bp-messages-wrap .threads-list .thread .bm-info h4.name {
  position: relative;
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 0.15rem;
  overflow: hidden;
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 400;
  font-size: 1.05rem;
  line-height: 1.25;
  color: #faf1eb;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info h4:has(.bm-thread-icon),
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info h4.name:has(.bm-thread-icon),
.om-app .bp-messages-wrap .threads-list .thread .bm-info h4:has(.bm-thread-icon),
.om-app .bp-messages-wrap .threads-list .thread .bm-info h4.name:has(.bm-thread-icon) {
  padding-right: 1.25rem;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info h4:has(.bm-thread-icon:nth-of-type(2)),
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info h4.name:has(.bm-thread-icon:nth-of-type(2)),
.om-app .bp-messages-wrap .threads-list .thread .bm-info h4:has(.bm-thread-icon:nth-of-type(2)),
.om-app .bp-messages-wrap .threads-list .thread .bm-info h4.name:has(.bm-thread-icon:nth-of-type(2)) {
  padding-right: 2.5rem;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info h4:has(.bm-thread-icon:nth-of-type(3)),
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info h4.name:has(.bm-thread-icon:nth-of-type(3)),
.om-app .bp-messages-wrap .threads-list .thread .bm-info h4:has(.bm-thread-icon:nth-of-type(3)),
.om-app .bp-messages-wrap .threads-list .thread .bm-info h4.name:has(.bm-thread-icon:nth-of-type(3)) {
  padding-right: 3.75rem;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info h4 .bm-thread-icon,
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info h4.name .bm-thread-icon,
.om-app .bp-messages-wrap .threads-list .thread .bm-info h4 .bm-thread-icon,
.om-app .bp-messages-wrap .threads-list .thread .bm-info h4.name .bm-thread-icon {
  position: absolute;
  top: 50%;
  right: 0;
  margin: 0;
  transform: translateY(-50%);
  color: rgba(250, 241, 235, 0.42);
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info h4 .bm-thread-icon:nth-of-type(2),
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info h4.name .bm-thread-icon:nth-of-type(2),
.om-app .bp-messages-wrap .threads-list .thread .bm-info h4 .bm-thread-icon:nth-of-type(2),
.om-app .bp-messages-wrap .threads-list .thread .bm-info h4.name .bm-thread-icon:nth-of-type(2) {
  right: 1.25rem;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info h4 .bm-thread-icon:nth-of-type(3),
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info h4.name .bm-thread-icon:nth-of-type(3),
.om-app .bp-messages-wrap .threads-list .thread .bm-info h4 .bm-thread-icon:nth-of-type(3),
.om-app .bp-messages-wrap .threads-list .thread .bm-info h4.name .bm-thread-icon:nth-of-type(3) {
  right: 2.5rem;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info h4 .bm-thread-icon svg,
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info h4.name .bm-thread-icon svg,
.om-app .bp-messages-wrap .threads-list .thread .bm-info h4 .bm-thread-icon svg,
.om-app .bp-messages-wrap .threads-list .thread .bm-info h4.name .bm-thread-icon svg {
  display: block;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info .last-message,
.om-app .bp-messages-wrap .threads-list .thread .bm-info .last-message {
  display: block;
  overflow: hidden;
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 0.9rem;
  line-height: 1.3;
  color: rgba(250, 241, 235, 0.42);
  hyphens: none;
  word-break: normal;
  transition: opacity 240ms ease;
}
@starting-style {
  .om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info .last-message,
  .om-app .bp-messages-wrap .threads-list .thread .bm-info .last-message {
    opacity: 0;
  }
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info .last-message .bm-last-message-avatar,
.om-app .bp-messages-wrap .threads-list .thread .bm-info .last-message .bm-last-message-avatar {
  display: none;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info .last-message .bm-last-message-content,
.om-app .bp-messages-wrap .threads-list .thread .bm-info .last-message .bm-last-message-content {
  min-height: 1.105rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: opacity 240ms ease;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info .last-message .bm-last-message-content:empty,
.om-app .bp-messages-wrap .threads-list .thread .bm-info .last-message .bm-last-message-content:empty {
  opacity: 0;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .bm-info .bm-typing-container .bm-typing-text,
.om-app .bp-messages-wrap .threads-list .thread .bm-info .bm-typing-container .bm-typing-text {
  font-size: 0.85rem;
  color: rgba(250, 241, 235, 0.62);
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .time,
.om-app .bp-messages-wrap .threads-list .thread .time {
  vertical-align: top;
  text-align: right;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .time .time-wrapper,
.om-app .bp-messages-wrap .threads-list .thread .time .time-wrapper {
  font-family: "Futura Medium", sans-serif;
  font-size: 0.58rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  display: block;
  line-height: 1.1875rem;
  color: rgba(250, 241, 235, 0.42);
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .time .bpbm-counter-row,
.om-app .bp-messages-wrap .threads-list .thread .time .bpbm-counter-row {
  justify-content: flex-end;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread.unread .bm-info h4, .om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread.unread .bm-info .last-message,
.om-app .bp-messages-wrap .threads-list .thread.unread .bm-info h4,
.om-app .bp-messages-wrap .threads-list .thread.unread .bm-info .last-message {
  color: #faf1eb;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .unread-count,
.om-app .bp-messages-wrap .threads-list .thread .unread-count {
  background: #ffd22a;
  color: #000000;
  font-family: "Futura Medium", sans-serif;
}
.om-app .bp-messages-wrap .bm-thread-icon.om-bm-pin-hidden {
  display: none !important;
}
.om-app .bp-messages-wrap .chat-footer {
  display: none !important;
}
.om-app .bp-messages-wrap .bp-messages-column {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #2f3f3c;
}
.om-app .bp-messages-wrap .bp-messages-column > .thread-not-selected {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  min-height: 0;
  height: auto;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header,
.om-app .bp-messages-wrap .chat-header {
  height: 4.2rem;
  min-height: 4.2rem;
  padding: 0 0.8rem 0 1.2rem;
  border: 0;
  border-bottom: 1px solid rgba(250, 241, 235, 0.08);
  background: transparent;
  font-family: "PV Sans Serif", sans-serif;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .back,
.om-app .bp-messages-wrap .chat-header .back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2.1rem;
  min-width: 2.1rem;
  max-width: 2.1rem;
  height: 2.1rem;
  min-height: 2.1rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: rgba(250, 241, 235, 0.62) !important;
  line-height: 1;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease;
  margin-right: 0.2rem;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .back svg,
.om-app .bp-messages-wrap .chat-header .back svg {
  position: static;
  width: 1.1rem;
  height: 1.1rem;
  margin: 0;
  font-size: 1.1rem;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .back:hover, .om-app .bp-messages-wrap .bp-messages-column .chat-header .back:focus-visible,
.om-app .bp-messages-wrap .chat-header .back:hover,
.om-app .bp-messages-wrap .chat-header .back:focus-visible {
  background: rgba(250, 241, 235, 0.08);
  color: #faf1eb !important;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .back:focus-visible,
.om-app .bp-messages-wrap .chat-header .back:focus-visible {
  outline: 2px solid #ffd22a;
  outline-offset: 2px;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-info,
.om-app .bp-messages-wrap .chat-header .thread-info {
  gap: 0.7rem;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-info > .avatar,
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-info > .avatar img,
.om-app .bp-messages-wrap .chat-header .thread-info > .avatar,
.om-app .bp-messages-wrap .chat-header .thread-info > .avatar img {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 50%;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-info .avatar-group,
.om-app .bp-messages-wrap .chat-header .thread-info .avatar-group {
  display: flex;
  align-items: center;
  gap: 0;
  width: 2.1rem;
  height: 2.1rem;
  margin: 0;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-info .avatar-group .avatar,
.om-app .bp-messages-wrap .chat-header .thread-info .avatar-group .avatar {
  width: 1.2rem;
  min-width: 1.2rem;
  height: 1.2rem;
  margin: 0;
  border-radius: 50%;
  box-shadow: 0 0 0 2px #2f3f3c;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-info .avatar-group .avatar + .avatar,
.om-app .bp-messages-wrap .chat-header .thread-info .avatar-group .avatar + .avatar {
  margin-left: -0.75rem;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-info .avatar-group .avatar:nth-child(n+4),
.om-app .bp-messages-wrap .chat-header .thread-info .avatar-group .avatar:nth-child(n+4) {
  display: none;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-info .avatar-group .avatar img,
.om-app .bp-messages-wrap .chat-header .thread-info .avatar-group .avatar img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-info .avatar-group:has(> :nth-child(2):last-child) .avatar,
.om-app .bp-messages-wrap .chat-header .thread-info .avatar-group:has(> :nth-child(2):last-child) .avatar {
  width: 1.4rem;
  min-width: 1.4rem;
  height: 1.4rem;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-info .avatar-group:has(> :nth-child(2):last-child) .avatar + .avatar,
.om-app .bp-messages-wrap .chat-header .thread-info .avatar-group:has(> :nth-child(2):last-child) .avatar + .avatar {
  margin-left: -0.7rem;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-info-data .name,
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-info-data .bm-name,
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-info-data .bm-user,
.om-app .bp-messages-wrap .chat-header .thread-info-data .name,
.om-app .bp-messages-wrap .chat-header .thread-info-data .bm-name,
.om-app .bp-messages-wrap .chat-header .thread-info-data .bm-user {
  font-weight: 400;
  font-size: 0.95rem;
  line-height: 1.2;
  color: #faf1eb;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-info-data .sub-name,
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-info-data .last-online,
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-info-data .group-online,
.om-app .bp-messages-wrap .chat-header .thread-info-data .sub-name,
.om-app .bp-messages-wrap .chat-header .thread-info-data .last-online,
.om-app .bp-messages-wrap .chat-header .thread-info-data .group-online {
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 0.75rem;
  color: rgba(250, 241, 235, 0.42);
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-info-data .last-online.online-now,
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-info-data .group-online.online-now,
.om-app .bp-messages-wrap .chat-header .thread-info-data .last-online.online-now,
.om-app .bp-messages-wrap .chat-header .thread-info-data .group-online.online-now {
  color: #8ac176;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-actions,
.om-app .bp-messages-wrap .chat-header .thread-actions {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  margin-left: auto;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-actions > *,
.om-app .bp-messages-wrap .chat-header .thread-actions > * {
  margin: 0;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-actions .expandingButtons,
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-actions .participants,
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-actions .bm-close,
.om-app .bp-messages-wrap .chat-header .thread-actions .expandingButtons,
.om-app .bp-messages-wrap .chat-header .thread-actions .participants,
.om-app .bp-messages-wrap .chat-header .thread-actions .bm-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2.1rem;
  min-width: 2.1rem;
  max-width: 2.1rem;
  height: 2.1rem;
  min-height: 2.1rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: rgba(250, 241, 235, 0.62) !important;
  line-height: 1;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-actions .expandingButtons svg,
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-actions .participants svg,
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-actions .bm-close svg,
.om-app .bp-messages-wrap .chat-header .thread-actions .expandingButtons svg,
.om-app .bp-messages-wrap .chat-header .thread-actions .participants svg,
.om-app .bp-messages-wrap .chat-header .thread-actions .bm-close svg {
  position: static;
  width: 1.1rem;
  height: 1.1rem;
  margin: 0;
  font-size: 1.1rem;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-actions .expandingButtons:hover, .om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-actions .expandingButtons:focus-visible,
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-actions .participants:hover,
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-actions .participants:focus-visible,
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-actions .bm-close:hover,
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-actions .bm-close:focus-visible,
.om-app .bp-messages-wrap .chat-header .thread-actions .expandingButtons:hover,
.om-app .bp-messages-wrap .chat-header .thread-actions .expandingButtons:focus-visible,
.om-app .bp-messages-wrap .chat-header .thread-actions .participants:hover,
.om-app .bp-messages-wrap .chat-header .thread-actions .participants:focus-visible,
.om-app .bp-messages-wrap .chat-header .thread-actions .bm-close:hover,
.om-app .bp-messages-wrap .chat-header .thread-actions .bm-close:focus-visible {
  background: rgba(250, 241, 235, 0.08);
  color: #faf1eb !important;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-actions .expandingButtons:focus-visible,
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-actions .participants:focus-visible,
.om-app .bp-messages-wrap .bp-messages-column .chat-header .thread-actions .bm-close:focus-visible,
.om-app .bp-messages-wrap .chat-header .thread-actions .expandingButtons:focus-visible,
.om-app .bp-messages-wrap .chat-header .thread-actions .participants:focus-visible,
.om-app .bp-messages-wrap .chat-header .thread-actions .bm-close:focus-visible {
  outline: 2px solid #ffd22a;
  outline-offset: 2px;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header > .bm-close,
.om-app .bp-messages-wrap .bp-messages-column .chat-header > span:last-child > .bm-close,
.om-app .bp-messages-wrap .chat-header > .bm-close,
.om-app .bp-messages-wrap .chat-header > span:last-child > .bm-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2.1rem;
  min-width: 2.1rem;
  max-width: 2.1rem;
  height: 2.1rem;
  min-height: 2.1rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: rgba(250, 241, 235, 0.62) !important;
  line-height: 1;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease;
  margin-left: auto;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header > .bm-close svg,
.om-app .bp-messages-wrap .bp-messages-column .chat-header > span:last-child > .bm-close svg,
.om-app .bp-messages-wrap .chat-header > .bm-close svg,
.om-app .bp-messages-wrap .chat-header > span:last-child > .bm-close svg {
  position: static;
  width: 1.1rem;
  height: 1.1rem;
  margin: 0;
  font-size: 1.1rem;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header > .bm-close:hover, .om-app .bp-messages-wrap .bp-messages-column .chat-header > .bm-close:focus-visible,
.om-app .bp-messages-wrap .bp-messages-column .chat-header > span:last-child > .bm-close:hover,
.om-app .bp-messages-wrap .bp-messages-column .chat-header > span:last-child > .bm-close:focus-visible,
.om-app .bp-messages-wrap .chat-header > .bm-close:hover,
.om-app .bp-messages-wrap .chat-header > .bm-close:focus-visible,
.om-app .bp-messages-wrap .chat-header > span:last-child > .bm-close:hover,
.om-app .bp-messages-wrap .chat-header > span:last-child > .bm-close:focus-visible {
  background: rgba(250, 241, 235, 0.08);
  color: #faf1eb !important;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header > .bm-close:focus-visible,
.om-app .bp-messages-wrap .bp-messages-column .chat-header > span:last-child > .bm-close:focus-visible,
.om-app .bp-messages-wrap .chat-header > .bm-close:focus-visible,
.om-app .bp-messages-wrap .chat-header > span:last-child > .bm-close:focus-visible {
  outline: 2px solid #ffd22a;
  outline-offset: 2px;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header:has(> .bm-btn) > span:empty,
.om-app .bp-messages-wrap .chat-header:has(> .bm-btn) > span:empty {
  display: none;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header:has(> .bm-btn) > .bm-btn,
.om-app .bp-messages-wrap .chat-header:has(> .bm-btn) > .bm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2.1rem;
  min-width: 2.1rem;
  max-width: 2.1rem;
  height: 2.1rem;
  min-height: 2.1rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: rgba(250, 241, 235, 0.62) !important;
  line-height: 1;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease;
  margin-right: auto;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header:has(> .bm-btn) > .bm-btn svg,
.om-app .bp-messages-wrap .chat-header:has(> .bm-btn) > .bm-btn svg {
  position: static;
  width: 1.1rem;
  height: 1.1rem;
  margin: 0;
  font-size: 1.1rem;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header:has(> .bm-btn) > .bm-btn:hover, .om-app .bp-messages-wrap .bp-messages-column .chat-header:has(> .bm-btn) > .bm-btn:focus-visible,
.om-app .bp-messages-wrap .chat-header:has(> .bm-btn) > .bm-btn:hover,
.om-app .bp-messages-wrap .chat-header:has(> .bm-btn) > .bm-btn:focus-visible {
  background: rgba(250, 241, 235, 0.08);
  color: #faf1eb !important;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header:has(> .bm-btn) > .bm-btn:focus-visible,
.om-app .bp-messages-wrap .chat-header:has(> .bm-btn) > .bm-btn:focus-visible {
  outline: 2px solid #ffd22a;
  outline-offset: 2px;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header:has(> .new-message) > .bm-close, .om-app .bp-messages-wrap .bp-messages-column .chat-header:has(> .new-message) > span:last-child > .bm-close,
.om-app .bp-messages-wrap .chat-header:has(> .new-message) > .bm-close,
.om-app .bp-messages-wrap .chat-header:has(> .new-message) > span:last-child > .bm-close {
  margin-left: 0.2rem;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header:has(> .new-message) > span:empty,
.om-app .bp-messages-wrap .chat-header:has(> .new-message) > span:empty {
  display: none;
}
.om-app .bp-messages-wrap .bp-messages-column .chat-header:has(> .new-message) > .bm-close,
.om-app .bp-messages-wrap .bp-messages-column .chat-header:has(> .new-message) > span:last-child > .bm-close,
.om-app .bp-messages-wrap .chat-header:has(> .new-message) > .bm-close,
.om-app .bp-messages-wrap .chat-header:has(> .new-message) > span:last-child > .bm-close {
  margin-left: 0.25rem;
}
.om-app .bp-messages-wrap.bm-side-compact .bp-messages-side-threads {
  display: none !important;
}
.om-app .bp-messages-wrap .mass-message {
  display: none !important;
}
.om-app .bp-messages-wrap .thread-not-selected .empty,
.om-app .bp-messages-wrap .threads-list .empty,
.om-app .bp-messages-wrap .bm-messages-list .empty {
  padding: 2rem;
}
.om-app .bp-messages-wrap .thread-not-selected .empty .bpbm-empty-icon,
.om-app .bp-messages-wrap .threads-list .empty .bpbm-empty-icon,
.om-app .bp-messages-wrap .bm-messages-list .empty .bpbm-empty-icon {
  display: none;
}
.om-app .bp-messages-wrap .thread-not-selected .empty .bpbm-empty-message,
.om-app .bp-messages-wrap .thread-not-selected .empty p,
.om-app .bp-messages-wrap .threads-list .empty .bpbm-empty-message,
.om-app .bp-messages-wrap .threads-list .empty p,
.om-app .bp-messages-wrap .bm-messages-list .empty .bpbm-empty-message,
.om-app .bp-messages-wrap .bm-messages-list .empty p {
  margin: 0;
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.5;
  color: rgba(250, 241, 235, 0.42);
}
.om-app .bp-messages-wrap .thread-not-selected .empty .bpbm-empty-or,
.om-app .bp-messages-wrap .threads-list .empty .bpbm-empty-or,
.om-app .bp-messages-wrap .bm-messages-list .empty .bpbm-empty-or {
  display: none;
}
.om-app .bp-messages-wrap .thread-not-selected .empty .bpbm-empty-link,
.om-app .bp-messages-wrap .threads-list .empty .bpbm-empty-link,
.om-app .bp-messages-wrap .bm-messages-list .empty .bpbm-empty-link {
  margin: 1.2rem 0 0;
}
.om-app .bp-messages-wrap .thread-not-selected .empty .bpbm-empty-link a,
.om-app .bp-messages-wrap .threads-list .empty .bpbm-empty-link a,
.om-app .bp-messages-wrap .bm-messages-list .empty .bpbm-empty-link a {
  font-family: "Futura Medium", sans-serif;
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  height: 2.2rem;
  padding: 0.15rem 1.1rem 0;
  border: 1px solid rgba(250, 241, 235, 0.3);
  border-radius: 100rem;
  color: #faf1eb !important;
  text-decoration: none;
  transition: border-color 160ms ease, background-color 160ms ease;
}
.om-app .bp-messages-wrap .thread-not-selected .empty .bpbm-empty-link a:hover, .om-app .bp-messages-wrap .thread-not-selected .empty .bpbm-empty-link a:focus-visible,
.om-app .bp-messages-wrap .threads-list .empty .bpbm-empty-link a:hover,
.om-app .bp-messages-wrap .threads-list .empty .bpbm-empty-link a:focus-visible,
.om-app .bp-messages-wrap .bm-messages-list .empty .bpbm-empty-link a:hover,
.om-app .bp-messages-wrap .bm-messages-list .empty .bpbm-empty-link a:focus-visible {
  border-color: #faf1eb;
  background: rgba(250, 241, 235, 0.06);
}
.om-app .bp-messages-wrap .bm-messages-list .bm-list .bm-list-content:has(> .empty-thread) {
  display: flex;
  box-sizing: border-box;
  height: 100%;
  padding: 0;
}
.om-app .bp-messages-wrap .bm-messages-list .empty-thread {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 2rem;
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.5;
  color: rgba(250, 241, 235, 0.42);
  text-align: center;
}
.om-app .bp-messages-wrap .bm-messages-list .empty-thread svg {
  display: none;
}
.om-app .bp-messages-wrap .bm-messages-list .bm-list .bm-list-content {
  padding: 1.2rem 1.4rem 0.6rem;
}
.om-app .bp-messages-wrap .bp-messages-column:has(#bm-new-thread-title):not(:has(.bm_user_selector__multi-value)) .empty-thread > span {
  display: none;
}
.om-app .bp-messages-wrap .bp-messages-column:has(#bm-new-thread-title):not(:has(.bm_user_selector__multi-value)) .empty-thread::before {
  content: var(--om-bm-recipient-prompt, "Choose who to write to");
}
.om-app .bp-messages-wrap .bp-messages-column:has(#bm-new-thread-title):has(.bm_user_selector__multi-value):not(:has(.bm-reply .bm-editor)) .empty-thread {
  visibility: hidden;
}
.om-app .bp-messages-wrap .bp-messages-column:has(#bm-new-thread-title):has(.bm_user_selector__multi-value):not(:has(.bm-reply .bm-editor)) .bm-messages-list::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.4rem;
  height: 1.4rem;
  margin: -0.7rem 0 0 -0.7rem;
  border: 2px solid rgba(250, 241, 235, 0.14);
  border-top-color: rgba(250, 241, 235, 0.7);
  border-radius: 50%;
  opacity: 0;
  content: "";
  pointer-events: none;
  animation: om-bm-spin 800ms linear infinite, om-bm-appear 240ms ease 120ms forwards;
}
.om-app .bp-messages-wrap .bm-messages-list .bm-conversation-start,
.om-app .bp-messages-wrap .bm-messages-list .bm-sticky-date,
.om-app .bp-messages-wrap .bm-messages-list .bm-sticky-date > * {
  font-family: "Futura Medium", sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 0.4rem 0;
  border: 0;
  background: transparent !important;
  box-shadow: none;
  color: rgba(250, 241, 235, 0.42) !important;
}
.om-app .bp-messages-wrap .bm-messages-list .bm-list .bm-messages-stack {
  display: flow-root;
}
.om-app .bp-messages-wrap .bm-messages-list .bm-list .bm-messages-stack .bm-pic {
  width: 1.9rem;
  height: 1.9rem;
  margin-top: 1.7rem;
}
.om-app .bp-messages-wrap .bm-messages-list .bm-list .bm-messages-stack .bm-content {
  margin-top: -3.6rem;
  padding-left: 2.5rem;
}
.om-app .bp-messages-wrap .bm-messages-list .bm-list .bm-messages-stack.bm-right-side .bm-pic {
  left: calc(100% - 1.9rem);
}
.om-app .bp-messages-wrap .bm-messages-list .bm-list .bm-messages-stack.bm-right-side .bm-content {
  margin-top: -3.6rem;
  padding-right: 2.5rem;
  padding-left: 0;
}
.om-app .bp-messages-wrap .bm-messages-list .bm-messages-stack {
  margin-bottom: 1rem;
}
.om-app .bp-messages-wrap .bm-messages-list .bm-messages-stack .bm-pic .avatar,
.om-app .bp-messages-wrap .bm-messages-list .bm-messages-stack .bm-pic .avatar img {
  width: 1.9rem;
  height: 1.9rem;
  border-radius: 50%;
}
.om-app .bp-messages-wrap .bm-messages-list .bm-messages-stack .bm-info .name,
.om-app .bp-messages-wrap .bm-messages-list .bm-messages-stack .bm-info .bm-name,
.om-app .bp-messages-wrap .bm-messages-list .bm-messages-stack .bm-info .bm-user {
  font-weight: 400;
  font-size: 0.78rem;
  color: rgba(250, 241, 235, 0.62) !important;
}
.om-app .bp-messages-wrap .bm-messages-list .bm-messages-stack .bm-info .bm-time {
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 0.72rem;
  color: rgba(250, 241, 235, 0.42);
}
.om-app .bp-messages-wrap .bm-messages-list .bm-messages-stack .bm-message-content {
  padding: 0.55rem 0.9rem;
  border-radius: 1rem;
  font-size: 0.95rem;
  line-height: 1.45;
}
.om-app .bp-messages-wrap .bm-messages-list .bm-messages-stack .bm-message-content p {
  margin: 0;
}
.om-app .bp-messages-wrap .bm-messages-list .bm-messages-stack.bm-left-side .bm-message:first-child .bm-message-content {
  border-top-left-radius: 0.35rem;
}
.om-app .bp-messages-wrap .bm-messages-list .bm-messages-stack.bm-right-side .bm-message:first-child .bm-message-content {
  border-top-right-radius: 0.35rem;
}
.om-app .bp-messages-wrap .bm-reply {
  align-items: flex-end;
  gap: 0.3rem;
  padding: 0.7rem 0.8rem 0.8rem;
  border-top: 1px solid rgba(250, 241, 235, 0.08);
  background: #2f3f3c;
}
.om-app .bp-messages-wrap .bm-reply > * {
  background: transparent;
}
.om-app .bp-messages-wrap .bm-reply:empty {
  display: none;
}
.om-app .bp-messages-wrap .bm-reply .bm-editor {
  flex: 1 1 auto;
  box-sizing: border-box;
  min-width: 0;
  min-height: 2.6rem;
  margin: 0 0.15rem;
  padding: 0.55rem 0.95rem !important;
  border: 1px solid rgba(250, 241, 235, 0.14);
  border-radius: 1.3rem;
  background: #273532;
  transition: border-color 160ms ease;
}
.om-app .bp-messages-wrap .bm-reply .bm-editor:focus-within {
  border-color: rgba(250, 241, 235, 0.4);
}
.om-app .bp-messages-wrap .bm-reply .bm-editor .bm-editor-content {
  min-height: 1.35rem;
  background: transparent !important;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.95rem;
  line-height: 1.4;
  color: #faf1eb;
}
.om-app .bp-messages-wrap .bm-reply .bm-editor .bm-editor-content:empty::before, .om-app .bp-messages-wrap .bm-reply .bm-editor .bm-editor-content:empty:focus::before {
  content: attr(placeholder);
  color: rgba(250, 241, 235, 0.42);
}
.om-app .bp-messages-wrap .bm-reply .bm-attachment,
.om-app .bp-messages-wrap .bm-reply .bm-emojies,
.om-app .bp-messages-wrap .bm-reply .bm-gif,
.om-app .bp-messages-wrap .bm-reply .bm-stickers,
.om-app .bp-messages-wrap .bm-reply .bm-voice-message,
.om-app .bp-messages-wrap .bm-reply .bm-video-message {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2.6rem;
  min-width: 2.6rem;
  max-width: 2.6rem;
  height: 2.6rem;
  min-height: 2.6rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: rgba(250, 241, 235, 0.62) !important;
  line-height: 1;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease;
  color: rgba(250, 241, 235, 0.42) !important;
}
.om-app .bp-messages-wrap .bm-reply .bm-attachment svg,
.om-app .bp-messages-wrap .bm-reply .bm-emojies svg,
.om-app .bp-messages-wrap .bm-reply .bm-gif svg,
.om-app .bp-messages-wrap .bm-reply .bm-stickers svg,
.om-app .bp-messages-wrap .bm-reply .bm-voice-message svg,
.om-app .bp-messages-wrap .bm-reply .bm-video-message svg {
  position: static;
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
  font-size: 1.15rem;
}
.om-app .bp-messages-wrap .bm-reply .bm-attachment:hover, .om-app .bp-messages-wrap .bm-reply .bm-attachment:focus-visible,
.om-app .bp-messages-wrap .bm-reply .bm-emojies:hover,
.om-app .bp-messages-wrap .bm-reply .bm-emojies:focus-visible,
.om-app .bp-messages-wrap .bm-reply .bm-gif:hover,
.om-app .bp-messages-wrap .bm-reply .bm-gif:focus-visible,
.om-app .bp-messages-wrap .bm-reply .bm-stickers:hover,
.om-app .bp-messages-wrap .bm-reply .bm-stickers:focus-visible,
.om-app .bp-messages-wrap .bm-reply .bm-voice-message:hover,
.om-app .bp-messages-wrap .bm-reply .bm-voice-message:focus-visible,
.om-app .bp-messages-wrap .bm-reply .bm-video-message:hover,
.om-app .bp-messages-wrap .bm-reply .bm-video-message:focus-visible {
  background: rgba(250, 241, 235, 0.08);
  color: #faf1eb !important;
}
.om-app .bp-messages-wrap .bm-reply .bm-attachment:focus-visible,
.om-app .bp-messages-wrap .bm-reply .bm-emojies:focus-visible,
.om-app .bp-messages-wrap .bm-reply .bm-gif:focus-visible,
.om-app .bp-messages-wrap .bm-reply .bm-stickers:focus-visible,
.om-app .bp-messages-wrap .bm-reply .bm-voice-message:focus-visible,
.om-app .bp-messages-wrap .bm-reply .bm-video-message:focus-visible {
  outline: 2px solid #ffd22a;
  outline-offset: 2px;
}
.om-app .bp-messages-wrap .bm-reply .bm-send-message {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2.6rem;
  min-width: 2.6rem;
  max-width: 2.6rem;
  height: 2.6rem;
  min-height: 2.6rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: rgba(250, 241, 235, 0.62) !important;
  line-height: 1;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease;
  background: #ffd22a !important;
  color: #000000 !important;
  opacity: 0.92;
  transition: opacity 160ms ease, transform 120ms ease;
}
.om-app .bp-messages-wrap .bm-reply .bm-send-message svg {
  position: static;
  width: 1rem;
  height: 1rem;
  margin: 0;
  font-size: 1rem;
}
.om-app .bp-messages-wrap .bm-reply .bm-send-message:hover, .om-app .bp-messages-wrap .bm-reply .bm-send-message:focus-visible {
  background: rgba(250, 241, 235, 0.08);
  color: #faf1eb !important;
}
.om-app .bp-messages-wrap .bm-reply .bm-send-message:focus-visible {
  outline: 2px solid #ffd22a;
  outline-offset: 2px;
}
.om-app .bp-messages-wrap .bm-reply .bm-send-message svg {
  display: none;
}
.om-app .bp-messages-wrap .bm-reply .bm-send-message::before {
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: currentColor;
  margin-left: 3px;
  content: "";
  -webkit-mask: url("../../app/assets/img/icon-send.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-send.svg") center/contain no-repeat;
}
.om-app .bp-messages-wrap .bm-reply .bm-send-message:hover, .om-app .bp-messages-wrap .bm-reply .bm-send-message:focus-visible {
  background: #ffd22a !important;
  color: #000000 !important;
  opacity: 1;
}
.om-app .bp-messages-wrap .bm-reply .bm-send-message.bm-send-message-disabled {
  opacity: 0.35;
}
.om-app .bp-messages-wrap .bm-reply .bm-send-message:active {
  transform: scale(0.96);
}
.om-app .bp-messages-wrap .bm-reply .bm-send-message:focus-visible {
  outline: 2px solid #ffd22a;
  outline-offset: 2px;
}
.om-app .bp-messages-wrap .bm-placeholder-wrapper,
.om-app .bp-messages-wrap .threads-list .thread.loading,
.om-app .bp-messages-wrap .threads-list .thread:has(.bm-placeholder-wrapper),
.om-app .bp-messages-wrap .bm-messages-stack:has(.bm-placeholder-wrapper) {
  display: none !important;
}
.om-app .bp-messages-wrap .threads-list-wrapper:has(.thread .bm-placeholder-wrapper)::after,
.om-app .bp-messages-wrap .bm-messages-list:has(.bm-placeholder-wrapper)::after,
.om-app .bp-messages-wrap .bp-messages-column > :not(.bpbm-chat-content):has(.bm-placeholder-wrapper)::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.4rem;
  height: 1.4rem;
  margin: -0.7rem 0 0 -0.7rem;
  border: 2px solid rgba(250, 241, 235, 0.14);
  border-top-color: rgba(250, 241, 235, 0.7);
  border-radius: 50%;
  opacity: 0;
  content: "";
  pointer-events: none;
  animation: om-bm-spin 800ms linear infinite, om-bm-appear 240ms ease 350ms forwards;
}
.om-app .bp-messages-wrap .bp-messages-column > :not(.bpbm-chat-content):has(.bm-placeholder-wrapper) {
  position: relative;
  flex: 1 1 auto;
}
.om-app .bp-messages-wrap .bp-messages-column > :not(.bpbm-chat-content):has(.bm-placeholder-wrapper) > * {
  visibility: hidden;
}
.om-app .bp-messages-wrap .bm-messages-list {
  position: relative;
}

.om-app .bm-editor-format-tooltip {
  display: flex;
  align-items: center;
  gap: 0.1rem;
  padding: 0.2rem;
  border: 1px solid rgba(250, 241, 235, 0.14);
  border-radius: 0.5rem;
  background-color: #273532;
  box-shadow: 0 0.6rem 2rem rgba(0, 0, 0, 0.35);
  font-size: 1rem;
  transition: opacity 160ms ease;
}
.om-app .bm-editor-format-tooltip > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.9rem;
  height: 1.9rem;
  border-radius: 0.3rem;
  color: rgba(250, 241, 235, 0.62);
  transition: background-color 160ms ease, color 160ms ease;
}
.om-app .bm-editor-format-tooltip > span + span {
  margin-left: 0;
}
.om-app .bm-editor-format-tooltip > span:hover, .om-app .bm-editor-format-tooltip > span.bm-active {
  background: rgba(250, 241, 235, 0.1);
  color: #faf1eb;
}

.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .pic.pic.group {
  width: 2.5rem;
  min-width: 2.5rem;
  height: 2.5rem;
  overflow: visible;
  font-size: 0;
  line-height: 0;
  white-space: nowrap;
  vertical-align: middle;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .pic.pic.group > * {
  display: inline-block;
  width: 1.4rem !important;
  height: 1.4rem !important;
  margin: 0 !important;
  border-radius: 50%;
  box-shadow: 0 0 0 2px #273532;
  vertical-align: top;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .pic.pic.group > * + * {
  margin-left: -0.85rem !important;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .pic.pic.group > *:nth-child(n+4) {
  display: none;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .pic.pic.group > * a,
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .pic.pic.group > * .avatar,
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .pic.pic.group > * img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  border-radius: 50%;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .pic.pic.group:has(> :nth-child(2):last-child) > * {
  width: 1.6rem !important;
  height: 1.6rem !important;
}
.om-app .bp-messages-wrap .bp-messages-side-threads .threads-list .thread .pic.pic.group:has(> :nth-child(2):last-child) > * + * {
  margin-left: -0.7rem !important;
}

.om-app .om-bm-routing .bp-messages-column > * {
  opacity: 0 !important;
  visibility: hidden;
  pointer-events: none;
}
.om-app .om-bm-routing .bp-messages-column::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.4rem;
  height: 1.4rem;
  margin: -0.7rem 0 0 -0.7rem;
  border: 2px solid rgba(250, 241, 235, 0.14);
  border-top-color: rgba(250, 241, 235, 0.7);
  border-radius: 50%;
  opacity: 0;
  content: "";
  pointer-events: none;
  animation: om-bm-spin 800ms linear infinite, om-bm-appear 240ms ease 350ms forwards;
}

.om-app .bm-tooltip {
  padding: 0.55em 0.75em 0.5em;
  border-radius: 0.3rem;
  background: #556d69;
  box-shadow: 0 0.1rem 0.6rem rgba(0, 0, 0, 0.15);
  color: #faf1eb;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.85rem;
  line-height: 1;
  opacity: 1;
  animation: om-bm-tip-in 160ms ease 300ms both;
}

@keyframes om-bm-tip-in {
  from {
    opacity: 0;
    margin-top: 0.3rem;
  }
  to {
    opacity: 1;
    margin-top: 0;
  }
}
body.om-app:has(.expandingButtonsOpen) .bm-tooltip,
body.om-app:has(.contexify) .bm-tooltip,
body.om-app:has(.bm-thread-info-actions :is(:hover, :focus-visible)) .bm-tooltip,
body.om-app:has(.bp-messages-wrap :is(.bbpm-avatar a, .bm-name a):is(:hover, :focus-visible)) .bm-tooltip {
  display: none !important;
}

.om-app .bp-messages-wrap .expandingButtons .bpbm-dropdown-menu {
  min-width: 13rem;
  padding: 0.4rem;
  border: 1px solid rgba(250, 241, 235, 0.08);
  border-radius: 0.5rem;
  background: #273532;
  box-shadow: 0 0.3rem 0.9rem rgba(0, 0, 0, 0.22);
  margin: 0.35rem 0 0;
}
.om-app .bp-messages-wrap .expandingButtons .bpbm-dropdown-menu .bpbm-dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  height: 2.5rem;
  padding: 0 0.7rem;
  border-radius: 0.3rem;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.9rem;
  line-height: 1;
  color: #faf1eb;
  cursor: pointer;
}
.om-app .bp-messages-wrap .expandingButtons .bpbm-dropdown-menu .bpbm-dropdown-item:hover, .om-app .bp-messages-wrap .expandingButtons .bpbm-dropdown-menu .bpbm-dropdown-item:focus-visible {
  background: rgba(250, 241, 235, 0.08);
}
.om-app .bp-messages-wrap .expandingButtons .bpbm-dropdown-menu .bpbm-dropdown-item .bpbm-dropdown-item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  font-size: 1rem;
  color: rgba(250, 241, 235, 0.62);
}
.om-app .bp-messages-wrap .expandingButtons .bpbm-dropdown-menu .bpbm-dropdown-item .bpbm-dropdown-item-icon svg {
  position: static;
  width: 1rem;
  height: 1rem;
  margin: 0;
}
.om-app .bp-messages-wrap .expandingButtons .bpbm-dropdown-menu .bpbm-dropdown-item .bpbm-dropdown-item-label {
  padding-top: 0.08em;
}

.om-app .contexify,
.om-app .bm_user_selector__menu {
  animation: om-bm-fade-in 200ms ease both;
}

.om-app .contexify {
  min-width: 13rem;
  padding: 0.4rem;
  border: 1px solid rgba(250, 241, 235, 0.08);
  border-radius: 0.5rem;
  background: #273532;
  box-shadow: 0 0.3rem 0.9rem rgba(0, 0, 0, 0.22);
}
.om-app .contexify .contexify_item {
  padding: 0;
}
.om-app .contexify .contexify_item > .contexify_itemContent {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  height: 2.5rem;
  padding: 0 0.7rem;
  border-radius: 0.3rem;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.9rem;
  line-height: 1;
  color: #faf1eb;
  cursor: pointer;
}
.om-app .contexify .contexify_item > .contexify_itemContent > svg {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  font-size: 1rem;
  color: rgba(250, 241, 235, 0.62);
  width: 1rem;
  height: 1rem;
}
.om-app .contexify .contexify_item > .contexify_itemContent > span {
  margin-left: 0 !important;
  padding-top: 0.08em;
}
.om-app .contexify .contexify_item:not(.contexify_item-disabled):hover > .contexify_itemContent, .om-app .contexify .contexify_item:not(.contexify_item-disabled):focus > .contexify_itemContent, .om-app .contexify .contexify_item:not(.contexify_item-disabled).contexify_submenu-isOpen > .contexify_itemContent {
  background-color: rgba(250, 241, 235, 0.08);
  color: #faf1eb;
}
.om-app .contexify .contexify_item:not(.contexify_item-disabled):hover > .contexify_itemContent > svg, .om-app .contexify .contexify_item:not(.contexify_item-disabled):focus > .contexify_itemContent > svg, .om-app .contexify .contexify_item:not(.contexify_item-disabled).contexify_submenu-isOpen > .contexify_itemContent > svg {
  color: #faf1eb;
}
.om-app .contexify .contexify_separator {
  margin: 0.3rem 0.4rem;
}

.om-app .bp-messages-wrap .bm-thread-info-container .bm-thread-info-actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0.5rem;
  margin: 0.6rem 1.4rem 1rem;
}

.om-app .bp-messages-wrap .bm-thread-info-container .bm-thread-info-actions .bm-thread-info-action {
  flex: 1 1 0;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.35rem;
  min-width: 0;
  margin: 0;
  padding: 0.7rem 0.6rem;
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: anywhere;
  border: 1px solid rgba(250, 241, 235, 0.08);
  border-radius: 0.5rem;
  background: #273532;
  color: rgba(250, 241, 235, 0.62);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.8rem;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 120ms ease;
}
.om-app .bp-messages-wrap .bm-thread-info-container .bm-thread-info-actions .bm-thread-info-action svg {
  color: rgba(250, 241, 235, 0.62);
  transition: color 160ms ease;
}
.om-app .bp-messages-wrap .bm-thread-info-container .bm-thread-info-actions .bm-thread-info-action:hover, .om-app .bp-messages-wrap .bm-thread-info-container .bm-thread-info-actions .bm-thread-info-action:focus-visible {
  border-color: rgba(250, 241, 235, 0.22);
  background: #323e3b;
  color: #faf1eb;
}
.om-app .bp-messages-wrap .bm-thread-info-container .bm-thread-info-actions .bm-thread-info-action:hover svg, .om-app .bp-messages-wrap .bm-thread-info-container .bm-thread-info-actions .bm-thread-info-action:focus-visible svg {
  color: #faf1eb;
}
.om-app .bp-messages-wrap .bm-thread-info-container .bm-thread-info-actions .bm-thread-info-action:focus-visible {
  outline: 2px solid #ffd22a;
  outline-offset: 2px;
}
.om-app .bp-messages-wrap .bm-thread-info-container .bm-thread-info-actions .bm-thread-info-action:active {
  transform: scale(0.98);
}

.om-app .bp-messages-wrap .bm-more-actions:focus-visible,
.om-app .bp-messages-wrap .expandingButtons:focus-visible,
.om-app .bp-messages-wrap .bpbm-more:focus-visible {
  outline: none;
  background: rgba(250, 241, 235, 0.08);
}

.om-app .bp-messages-wrap .bm-messages-list .bm-list .bm-message,
.om-app .bp-messages-wrap .bm-messages-list .bm-list .bm-messages-stack:not(.bm-stack-hidden) {
  height: auto !important;
  opacity: 1 !important;
  overflow: visible !important;
}

.om-app .bp-messages-wrap .threads-list .thread .unread-count,
.om-app .bp-messages-wrap.bp-better-messages-list .tabs > div .unread-count,
.om-app .bp-messages-wrap.bp-better-messages-list .chat .head .unread-count {
  color: #000000;
}

.om-app .bp-messages-wrap .bm-thread-info-container .bm-thread-info-tabs .bm-thread-info-tabs-head .bm-thread-info-tab {
  border-bottom-color: rgba(250, 241, 235, 0.08);
  color: rgba(250, 241, 235, 0.62);
}
.om-app .bp-messages-wrap .bm-thread-info-container .bm-thread-info-tabs .bm-thread-info-tabs-head .bm-thread-info-tab.bm-thread-info-tab-active {
  border-bottom-color: rgba(250, 241, 235, 0.32);
  color: #faf1eb;
}

.om-app .bm-loading {
  position: relative;
  min-height: 6rem;
}
.om-app .bm-loading .bm-loading-icon,
.om-app .bm-loading .bm-loading-text {
  display: none;
}
.om-app .bm-loading::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.4rem;
  height: 1.4rem;
  margin: -0.7rem 0 0 -0.7rem;
  border: 2px solid rgba(250, 241, 235, 0.14);
  border-top-color: rgba(250, 241, 235, 0.7);
  border-radius: 50%;
  opacity: 0;
  content: "";
  pointer-events: none;
  animation: om-bm-spin 800ms linear infinite, om-bm-appear 240ms ease 350ms forwards;
}

.om-app #bp-messages-full-screen-wrap .threads-list .thread > .actions {
  display: none !important;
}

.om-app .bp-messages-wrap img.avatar,
.om-app .bp-messages-wrap .bbpm-avatar img {
  opacity: 1;
}

.om-app #bp-messages-full-screen-wrap > .om-bm-tip {
  z-index: 10000001;
  padding: 0.55em 0.75em 0.5em;
  font-size: 0.85rem;
  transform: translate(-50%, calc(-100% - 0.15rem));
}
.om-app #bp-messages-full-screen-wrap > .om-bm-tip.is-open {
  opacity: 1;
  transform: translate(-50%, calc(-100% - 0.35rem));
  transition-delay: 300ms;
}

.om-app .bm-toasts-container {
  z-index: 10000002;
}

.om-app .Toastify__toast {
  background: #273532 !important;
  border: 1px solid rgba(250, 241, 235, 0.08);
  border-radius: 0.5rem;
  box-shadow: 0 0.3rem 0.9rem rgba(0, 0, 0, 0.22);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.9rem;
  line-height: 1.4;
  color: #faf1eb;
}

.om-app .Toastify__toast-body a {
  color: #faf1eb !important;
  text-decoration: underline !important;
  text-underline-offset: 0.15em;
}

.om-app .Toastify__progress-bar {
  background: #789691 !important;
}

.om-app .Toastify__close-button {
  align-self: center;
  color: rgba(250, 241, 235, 0.62);
  opacity: 1;
  transition: color 160ms ease;
}
.om-app .Toastify__close-button:hover, .om-app .Toastify__close-button:focus-visible {
  color: #faf1eb;
}

.om-app .om-bm-notice {
  position: fixed;
  bottom: 1.5rem;
  left: 50%;
  z-index: 2;
  max-width: min(28rem, 100vw - 3rem);
  padding: 0.8rem 1.2rem;
  border: 1px solid rgba(250, 241, 235, 0.18);
  border-radius: 0.5rem;
  background: rgba(39, 53, 50, 0.92);
  -webkit-backdrop-filter: blur(0.4rem);
  backdrop-filter: blur(0.4rem);
  box-shadow: 0 0.6rem 2rem rgba(0, 0, 0, 0.3);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.9rem;
  line-height: 1.4;
  color: #faf1eb;
  transform: translateX(-50%);
  animation: om-bm-rise 240ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
.om-app .om-bm-notice.is-leaving {
  opacity: 0;
  transition: opacity 300ms ease;
}

@media (max-width: 64rem) {
  .om-app .bp-messages-wrap .bm-thread-info-container .bm-thread-info-actions {
    flex-direction: column;
    margin: 0.6rem 1rem 1rem;
  }
  .om-app .bp-messages-wrap .bm-thread-info-container .bm-thread-info-actions .bm-thread-info-action {
    flex-direction: row;
    justify-content: flex-start;
    gap: 0.7rem;
    padding: 0.7rem 0.9rem;
    text-align: left;
  }
  .om-app .bp-messages-wrap .bp-messages-side-threads {
    flex-basis: auto;
    width: auto;
    max-width: none;
    border-right: 0;
  }
  .om-app .bp-messages-wrap .chat-header.side-header {
    padding-left: 1.2rem;
  }
  .om-app .bp-messages-wrap .threads-list .thread > .pic {
    padding-left: 1.2rem;
  }
  .om-app .bp-messages-wrap .bm-messages-list .bm-list .bm-list-content {
    padding: 1rem 1rem 0.5rem;
  }
}
.om-app #bp-messages-full-screen-wrap.om-bm-closing {
  pointer-events: none;
  animation: om-bm-backdrop-out 240ms ease both;
}

@media (min-width: 64.1rem) {
  .om-app #bp-messages-full-screen-wrap.om-bm-closing .bp-messages-wrap.bp-messages-full-screen {
    animation: om-bm-dialog-out 240ms ease-in both;
  }
}
@keyframes om-bm-backdrop-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes om-bm-dialog-out {
  from {
    opacity: 1;
    transform: none;
  }
  to {
    opacity: 0;
    transform: translateY(0.9rem) scale(0.975);
  }
}
@keyframes om-bm-backdrop-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes om-bm-dialog-in {
  from {
    opacity: 0;
    transform: translateY(0.9rem) scale(0.975);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes om-bm-rise {
  from {
    opacity: 0;
    transform: translate(-50%, 0.4rem);
  }
  to {
    opacity: 1;
    transform: translateX(-50%);
  }
}
@keyframes om-bm-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes om-bm-spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes om-bm-appear {
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .om-app #bp-messages-full-screen-wrap,
  .om-app #bp-messages-full-screen-wrap.om-bm-closing,
  .om-app #bp-messages-full-screen-wrap.om-bm-closing .bp-messages-wrap.bp-messages-full-screen,
  .om-app .bp-messages-wrap.bp-messages-full-screen,
  .om-app .bp-messages-wrap .threads-list .thread,
  .om-app .bm-tooltip,
  .om-app .contexify,
  .om-app .bm_user_selector__menu,
  .om-app .om-bm-notice {
    animation: none;
  }
}
.om-app #bp-messages-full-screen-wrap .threads-list .thread.om-bm-opened-thread {
  display: table-header-group;
  animation-delay: 0ms;
}

.om-app #bp-messages-full-screen-wrap.om-bm-list-preparing .bp-messages-side-threads > * {
  visibility: hidden;
}
.om-app #bp-messages-full-screen-wrap.om-bm-list-preparing .bp-messages-side-threads .threads-list .thread {
  animation: none;
}

.om-header {
  --om-header-page-offset: 1.1rem;
  --om-header-inline-padding: 1.5rem;
  --om-header-ink: #faf1eb;
  --om-header-ink-rgb: 250, 241, 235;
  --om-header-accent: #ffd22a;
  position: fixed;
  top: 1.1rem;
  left: max(1.1rem, (100vw - var(--om-shell-max)) / 2 + 1.1rem);
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(100vw - 2.2rem, var(--om-shell-max) - 2.2rem);
  min-height: 5.4rem;
  padding: 0.8rem var(--om-header-inline-padding);
  color: var(--om-header-ink);
  border-radius: 1rem;
  pointer-events: none;
}

html[data-om-page-transition] .om-header {
  transition: left var(--om-transition-enter) cubic-bezier(0.16, 1, 0.3, 1), width var(--om-transition-enter) cubic-bezier(0.16, 1, 0.3, 1);
}

@media (min-width: 56.1rem) {
  .om-route-map .om-header,
  .om-chrome-community .om-header {
    left: var(--om-header-page-offset);
    width: calc(100vw - 2 * var(--om-header-page-offset));
  }
}
@media (prefers-reduced-motion: reduce) {
  html[data-om-page-transition] .om-header {
    transition: none;
  }
}
.om-site-title {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  color: var(--om-header-accent);
  text-decoration: none;
  transition: color 150ms ease;
}

.om-site-logo {
  color: #ffd22a;
  display: block;
  width: 4.3rem;
  height: 2.5rem;
  background: currentColor;
  -webkit-mask: url("../../app/assets/img/icon-om.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-om.svg") center/contain no-repeat;
  pointer-events: all;
}

.om-header-cluster {
  position: absolute;
  top: 50%;
  right: var(--om-header-inline-padding);
  left: calc(var(--om-content-left) - var(--om-header-page-offset));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4.5rem;
  transform: translateY(-50%);
}

.om-header-secondary {
  display: inline-flex;
  align-items: center;
  margin-left: auto;
  gap: 1rem;
  font-family: "PV Sans Serif", sans-serif;
  pointer-events: all;
}

.om-header-action {
  --om-header-action-size: 2.9rem;
  height: 2.9rem;
  min-height: 2.9rem;
  max-height: 2.9rem;
  font-size: 1.1rem;
}
.om-header-action .label--short {
  display: none;
}

.om-has-course-palette .om-header .om-button--secondary {
  border-color: var(--om-header-ink);
  background: transparent;
  color: var(--om-header-ink);
}
.om-has-course-palette .om-header .om-button--secondary:hover, .om-has-course-palette .om-header .om-button--secondary:focus {
  background: rgba(var(--om-header-ink-rgb), 0.1);
}
.om-has-course-palette .om-header .om-button--secondary:active {
  background: rgba(var(--om-header-ink-rgb), 0.15);
}

.om-has-course-palette.om-theme-light .om-header {
  --om-header-ink: #fff;
  --om-header-ink-rgb: 255, 255, 255;
  --om-header-accent: var(--om-header-ink);
  --om-header-tint: color-mix(in srgb, var(--om-course-bg, #faf1eb) 82%, var(--om-header-ink));
  --om-header-tint-strong: color-mix(in srgb, var(--om-course-bg, #faf1eb) 70%, var(--om-header-ink));
}
.om-has-course-palette.om-theme-light .om-header.is-past-hero {
  --om-header-ink: #000;
  --om-header-ink-rgb: 0, 0, 0;
}
.om-has-course-palette.om-theme-light .om-header .om-active-users {
  color: var(--om-header-ink);
  transition: color 300ms ease;
}
.om-has-course-palette.om-theme-light .om-header .om-active-users .avatar {
  border-color: rgba(var(--om-header-ink-rgb), 0.4);
  transition: border-color 300ms ease;
}
.om-has-course-palette.om-theme-light .om-header .om-account-menu .trigger,
.om-has-course-palette.om-theme-light .om-header .om-account-menu .messages {
  color: var(--om-header-ink);
}
.om-has-course-palette.om-theme-light .om-header .om-account-menu.has-messages {
  border-color: rgba(var(--om-header-ink-rgb), 0.3);
  transition: border-color 300ms ease;
}
.om-has-course-palette.om-theme-light .om-header .om-account-menu .avatar {
  border-color: var(--om-header-ink);
  color: var(--om-header-ink);
  transition: border-color 300ms ease;
}
.om-has-course-palette.om-theme-light .om-header .om-active-users .avatar--placeholder,
.om-has-course-palette.om-theme-light .om-header .om-account-menu .avatar--placeholder {
  background-color: var(--om-header-tint);
  transition: background-color 300ms ease;
}
.om-has-course-palette.om-theme-light .om-header .om-active-users .avatar--placeholder::before,
.om-has-course-palette.om-theme-light .om-header .om-account-menu .avatar--placeholder::before {
  background: rgba(var(--om-header-ink-rgb), 0.85);
}
.om-has-course-palette.om-theme-light .om-header .om-active-users .avatar--count::after {
  background: rgba(var(--om-header-ink-rgb), 0.45);
}
.om-has-course-palette.om-theme-light .om-header .om-account-menu.has-messages .messages {
  border-color: rgba(var(--om-header-ink-rgb), 0.3);
  background: var(--om-header-tint);
  color: var(--om-header-ink);
}
.om-has-course-palette.om-theme-light .om-header .om-account-menu.has-messages .messages:hover, .om-has-course-palette.om-theme-light .om-header .om-account-menu.has-messages .messages:focus-visible {
  border-color: var(--om-header-ink);
  background: var(--om-header-tint-strong);
  box-shadow: 0 0 0 2px rgba(var(--om-header-ink-rgb), 0.15);
  color: var(--om-header-ink);
}
.om-has-course-palette.om-theme-light .om-header .om-account-menu.has-messages .messages .unread {
  background: var(--om-course-accent, var(--om-header-ink));
  color: var(--om-header-ink);
}
.om-has-course-palette.om-theme-light .om-header .om-account-menu .trigger:hover .avatar,
.om-has-course-palette.om-theme-light .om-header .om-account-menu .trigger:focus-visible .avatar,
.om-has-course-palette.om-theme-light .om-header .om-account-menu.is-open .avatar {
  border-color: var(--om-header-ink);
  box-shadow: 0 0 0 2px rgba(var(--om-header-ink-rgb), 0.2);
}

@media (max-width: 56rem) {
  .om-header {
    position: relative;
    top: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    min-height: auto;
    padding: 1.4rem var(--om-content-right) 1.2rem var(--om-content-left);
    border-radius: 0;
  }
  .om-site-logo {
    width: 3.2rem;
    height: 1.9rem;
  }
  .om-header-cluster {
    position: static;
    width: auto;
    gap: 1rem;
    transform: none;
  }
  .om-header .om-active-users {
    display: none;
  }
  .om-header-action {
    --om-header-action-size: 2.3rem;
    height: 2.3rem;
    min-height: 2.3rem;
    max-height: 2.3rem;
    font-size: 0.8rem;
  }
  .om-header-action .label--full {
    display: none;
  }
  .om-header-action .label--short {
    display: inline;
  }
}
.om-header,
.om-route-map .om-header,
.om-chrome-community .om-header {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  top: 2rem;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  max-width: calc(100vw - 3rem);
  min-height: 4.4rem;
  --om-header-block-padding: 0.55rem;
  padding: var(--om-header-block-padding) 1.2rem;
  gap: 1.3rem;
  border-radius: 1.7rem;
  pointer-events: auto;
  background: rgba(48, 64, 61, 0.8);
  -webkit-backdrop-filter: blur(1rem);
  backdrop-filter: blur(1rem);
  box-shadow: 0 0.4rem 1.4rem rgba(0, 0, 0, 0.1), 0 0.1rem 0.3rem rgba(0, 0, 0, 0.04);
}
.om-header .om-site-logo,
.om-route-map .om-header .om-site-logo,
.om-chrome-community .om-header .om-site-logo {
  width: 2.8rem;
  height: 1.84rem;
}
.om-header .om-site-title,
.om-route-map .om-header .om-site-title,
.om-chrome-community .om-header .om-site-title {
  margin-right: 0.3rem;
}
.om-header > .om-nav,
.om-route-map .om-header > .om-nav,
.om-chrome-community .om-header > .om-nav {
  order: 0;
  width: auto;
  min-width: 0;
  overflow: visible;
}
.om-header .om-header-cluster,
.om-route-map .om-header .om-header-cluster,
.om-chrome-community .om-header .om-header-cluster {
  position: static;
  transform: none;
  width: auto;
  margin: 0;
  gap: 0;
  flex-shrink: 0;
}
.om-header .om-header-secondary,
.om-route-map .om-header .om-header-secondary,
.om-chrome-community .om-header .om-header-secondary {
  margin: 0;
}
.om-header .om-account-menu > .trigger,
.om-route-map .om-header .om-account-menu > .trigger,
.om-chrome-community .om-header .om-account-menu > .trigger {
  width: 2.2rem;
  height: 2.2rem;
  transition-duration: 150ms;
}
.om-header .om-account-menu > .trigger .avatar,
.om-route-map .om-header .om-account-menu > .trigger .avatar,
.om-chrome-community .om-header .om-account-menu > .trigger .avatar {
  width: 2.2rem;
  height: 2.2rem;
}
.om-header .om-header-secondary > .om-button, .om-header .magic-login-modal .om-header-secondary > .btn-submit, .magic-login-modal .om-header .om-header-secondary > .btn-submit,
.om-route-map .om-header .om-header-secondary > .om-button,
.om-chrome-community .om-header .om-header-secondary > .om-button {
  background: #ffd22a;
  color: #384b48;
  border-color: #ffd22a;
  border-radius: 1.2rem;
  font: 1.1rem/1.2 "Lavishe", sans-serif;
  padding: 0.8rem 1.3rem;
}

.om-has-course-palette .om-header {
  background: color-mix(in srgb, color-mix(in srgb, #000 15%, var(--om-course-bg, #384b48)) 80%, transparent);
}

.om-has-course-palette.om-theme-light .om-header {
  --om-header-ink: #000;
  --om-header-ink-rgb: 0, 0, 0;
}
.om-has-course-palette.om-theme-light .om-header .om-site-logo {
  color: var(--om-course-accent, #ffd22a);
}

.om-layout {
  --om-content-top: 11rem;
}

@media (max-width: 56rem) {
  .om-header, .om-route-map .om-header, .om-chrome-community .om-header {
    position: relative;
    top: 0;
    left: auto;
    transform: none;
    margin: 0.75rem auto;
    max-width: calc(100% - 1.5rem);
    min-height: auto;
    padding: 0.75rem;
    gap: 0.6rem;
    border-radius: 1.5rem;
  }
  .om-header .om-site-logo, .om-route-map .om-header .om-site-logo, .om-chrome-community .om-header .om-site-logo {
    width: 2rem;
    height: 1.44rem;
  }
  .om-header .om-nav a, .om-route-map .om-header .om-nav a, .om-chrome-community .om-header .om-nav a {
    padding: 0.65rem 0.75rem;
    font-size: 0.72rem;
    flex-shrink: 0;
  }
  .om-layout {
    --om-content-top: 2rem;
  }
}
.om-layout > .om-header .om-site-title {
  color: #ffd22a;
}

body.om-route-home:not(.om-meditation-scroll-locked) .om-layout > .om-header .om-site-title {
  color: #ffd22a;
}

.om-layout > .om-header {
  position: fixed;
  z-index: 1001;
}

@media (max-width: 56rem) {
  .om-layout > .om-header,
  body.om-route-map .om-layout > .om-header {
    top: 0.75rem;
    left: 50%;
    right: auto;
    margin: 0;
    transform: translateX(-50%);
  }
  .om-layout {
    --om-content-top: 7rem;
  }
}
.om-layout > .header-presence {
  position: fixed;
  bottom: max(2.5rem, env(safe-area-inset-bottom));
  right: max(2.5rem, env(safe-area-inset-right));
  z-index: 1001;
  opacity: 1;
  visibility: visible;
  transition: opacity 150ms ease, visibility 0s;
}
.om-layout > .header-presence .om-active-users:not([hidden]) {
  display: flex;
}
.om-layout > .header-presence .om-active-users .avatar {
  width: 2.76rem;
  height: 2.76rem;
}
.om-layout > .header-presence .om-active-users .avatar + .avatar {
  margin-left: -1rem;
}

@media (max-width: 56rem) {
  .om-layout > .header-presence {
    bottom: max(1.2rem, env(safe-area-inset-bottom));
    right: max(1.2rem, env(safe-area-inset-right));
  }
  .om-layout > .header-presence .om-active-users .avatar {
    width: 2.4rem;
    height: 2.4rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .om-layout > .header-presence {
    transition: none;
  }
}
.om-layout--meditate > .om-header,
.om-layout--meditate > .header-presence {
  opacity: 1;
  transition: opacity 2s ease, visibility 0s;
}

.om-meditation-running .om-layout--meditate > .om-header,
.om-meditation-running .om-layout--meditate > .header-presence {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: opacity 4s ease, visibility 0s 4s;
}

@media (prefers-reduced-motion: reduce) {
  .om-layout--meditate > .om-header,
  .om-layout--meditate > .header-presence {
    transition: none;
  }
}
@media (min-width: 56.1rem) {
  .om-header .om-account-menu {
    position: static;
  }
  .om-header .om-account-menu.has-messages::before {
    content: none;
  }
  .om-header .om-account-menu .panel {
    right: 0;
    top: calc(100% + var(--om-header-block-padding));
  }
}
@media (max-width: 56rem) {
  .om-chrome-community .om-header .om-account-menu.has-messages > .trigger,
  .om-chrome-community .om-header .om-account-menu.has-messages > .trigger .avatar {
    width: 1.85rem;
    height: 1.85rem;
    flex-shrink: 0;
  }
}
.om-account-menu {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.om-account-menu .trigger {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 4.5rem;
  height: 2.9rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #faf1eb;
  cursor: pointer;
  transition: background-color 160ms ease, opacity 160ms ease, transform 120ms ease;
  will-change: transform;
}
.om-account-menu .trigger:active {
  transform: scale(0.987);
}
.om-account-menu .avatar {
  flex-shrink: 0;
  aspect-ratio: 1;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  user-select: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.9rem;
  height: 2.9rem;
  overflow: hidden;
  border: 1px solid #faf1eb;
  border-radius: 50%;
  box-shadow: 0 0 0.3rem rgba(0, 0, 0, 0.2);
  color: #faf1eb;
}
.om-account-menu.has-messages {
  gap: 0.3rem;
  height: 2.9rem;
  padding: 0 0.25rem;
  border: 1px solid rgba(250, 241, 235, 0.3);
  border-radius: 100rem;
  background: rgba(250, 241, 235, 0.06);
  isolation: isolate;
}
.om-account-menu.has-messages::before {
  position: absolute;
  inset: -1px;
  z-index: -1;
  border-radius: inherit;
  content: "";
  -webkit-backdrop-filter: blur(0.5rem);
  backdrop-filter: blur(0.5rem);
}
.om-account-menu.has-messages .trigger {
  position: relative;
  justify-content: center;
  gap: 0;
  width: 2.3rem;
  height: 2.3rem;
  border-radius: 50%;
}
.om-account-menu.has-messages .trigger::after {
  position: absolute;
  inset: -0.4rem calc(-0.15rem - 1px);
  left: calc(-0.25rem - 2px);
  content: "";
}
.om-account-menu.has-messages .dropdown-icon {
  display: none;
}
.om-account-menu.has-messages .avatar {
  width: 2.3rem;
  height: 2.3rem;
  border-color: rgba(250, 241, 235, 0.45);
  box-shadow: none;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
.om-account-menu.has-messages .trigger:hover .avatar,
.om-account-menu.has-messages .trigger:focus-visible .avatar, .om-account-menu.has-messages.is-open .avatar {
  border-color: #ffd22a;
  box-shadow: 0 0 0 2px rgba(255, 210, 42, 0.25);
}
.om-account-menu.has-messages .avatar--placeholder {
  background-color: var(--om-avatar-placeholder-bg, #49625e);
  -webkit-backdrop-filter: var(--om-avatar-placeholder-backdrop, none);
  backdrop-filter: var(--om-avatar-placeholder-backdrop, none);
}
.om-account-menu.has-messages .avatar--placeholder::before {
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  background: var(--om-avatar-placeholder-icon, rgba(250, 241, 235, 0.8));
  content: "";
  -webkit-mask: url("../../app/assets/img/icon-avatar-placeholder.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-avatar-placeholder.svg") center/contain no-repeat;
}
.om-account-menu.has-messages .messages {
  position: relative;
  z-index: 1;
  width: 2.3rem;
  height: 2.3rem;
  border: 1px solid rgba(250, 241, 235, 0.45);
  border-radius: 50%;
  background: #576662;
  transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease, color 160ms ease, transform 120ms ease;
}
.om-account-menu.has-messages .messages::after {
  position: absolute;
  inset: -0.4rem calc(-0.15rem - 1px);
  right: calc(-0.25rem - 2px);
  content: "";
}
.om-account-menu.has-messages .messages:hover, .om-account-menu.has-messages .messages:focus-visible {
  border-color: #ffd22a;
  background: rgba(255, 210, 42, 0.2);
  box-shadow: 0 0 0 2px rgba(255, 210, 42, 0.25);
  color: #faf1eb;
}
.om-account-menu.has-messages .messages:active {
  background: rgba(255, 210, 42, 0.25);
}
.om-account-menu .messages {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: #faf1eb;
  cursor: pointer;
  will-change: transform;
}
.om-account-menu .messages:active {
  transform: scale(0.987);
}
.om-account-menu .messages .om-icon {
  width: 1.45rem;
  height: 1.45rem;
}
.om-account-menu .messages .unread {
  position: absolute;
  top: -0.15rem;
  right: -0.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 1.1rem;
  height: 1.1rem;
  padding: 0 0.3rem;
  border-radius: 100rem;
  background: #ffd22a;
  box-shadow: 0 0.1rem 0.3rem rgba(0, 0, 0, 0.35);
  color: #000000;
  font-family: "Futura Medium", sans-serif;
  font-weight: 500;
  font-size: 0.6rem;
  line-height: 1;
  padding-top: 0.16rem;
  text-align: center;
}
.om-account-menu .messages .unread.no-count {
  display: none;
}
.om-account-menu .avatar--placeholder {
  background-color: var(--om-avatar-placeholder-bg, #49625e);
  -webkit-backdrop-filter: var(--om-avatar-placeholder-backdrop, none);
  backdrop-filter: var(--om-avatar-placeholder-backdrop, none);
  border-color: #789691;
}
.om-account-menu .avatar--placeholder::before {
  display: block;
  width: 1.1rem;
  height: 1.1rem;
  background: var(--om-avatar-placeholder-icon, rgba(250, 241, 235, 0.8));
  content: "";
  -webkit-mask: url("../../app/assets/img/icon-avatar-placeholder.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-avatar-placeholder.svg") center/contain no-repeat;
}
.om-account-menu .avatar-image {
  -webkit-user-drag: none;
  -webkit-user-select: none;
  user-select: none;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-account-menu .dropdown-icon {
  display: block;
  flex: 0 0 auto;
  width: 0.9rem;
  height: 0.6rem;
  background: currentColor;
  -webkit-mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
}
.om-account-menu .panel {
  position: absolute;
  top: calc(100% + 1.3rem);
  right: 0;
  z-index: 30;
  box-sizing: border-box;
  width: max-content;
  max-width: calc(100vw - 3rem);
  padding: 2.4rem 2.4rem 1.9rem;
  border-radius: 1rem;
  background: #faf1eb;
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.14);
  color: #000000;
  font-family: "Lavishe", sans-serif;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-0.4rem);
  transform-origin: top right;
  transition: opacity 120ms ease, transform 120ms ease;
}
.om-account-menu .panel[hidden] {
  display: none;
}
.om-account-menu.is-open .dropdown-icon {
  transform: rotate(180deg);
}
.om-account-menu.is-open .panel {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.om-account-menu .mobile-head {
  display: none;
}
.om-account-menu .section + .section {
  margin-top: 2.5rem;
}
.om-account-menu .section-title {
  margin: 0 0 0.8rem;
  color: #b59b8d;
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
  cursor: default;
}
.om-account-menu .list {
  display: grid;
  gap: 0;
}
.om-account-menu a {
  color: inherit;
  text-decoration: none;
}
.om-account-menu .list a,
.om-account-menu .switch-back,
.om-account-menu .sign-out {
  display: flex;
  width: 100%;
  padding: 0.4rem 0;
  font-size: 1.3rem;
  line-height: 1.1;
  transition: opacity 120ms ease;
  white-space: nowrap;
}
.om-account-menu .switch-back,
.om-account-menu .sign-out {
  margin-top: 2.5rem;
}
.om-account-menu .switch-back + .sign-out {
  margin-top: 0;
}
.om-account-menu .mobile-action {
  display: none;
}

@media (min-width: 56.1rem) {
  .om-account-menu .section:has(.list a:hover, .list a:focus-visible) .list a:not(:hover, :focus-visible) {
    opacity: 0.6;
  }
}
@media (max-width: 56rem) {
  html.om-account-menu-open,
  body.om-account-menu-open {
    height: 100%;
    overflow: hidden;
    overscroll-behavior: none;
  }
  html.om-account-menu-open .om-header,
  body.om-account-menu-open .om-header {
    z-index: 1001;
  }
  .om-account-menu .trigger {
    gap: 0;
    width: 2.3rem;
    height: 2.3rem;
  }
  .om-account-menu .avatar {
    width: 2.3rem;
    height: 2.3rem;
  }
  .om-account-menu .dropdown-icon {
    display: none;
  }
  .om-account-menu.has-messages {
    gap: 0.25rem;
    height: 2.3rem;
    padding: 0 0.2rem;
  }
  .om-account-menu.has-messages .trigger {
    position: relative;
  }
  .om-account-menu.has-messages .trigger::after {
    position: absolute;
    inset: -0.4rem calc(-0.125rem - 1px);
    left: calc(-0.2rem - 2px);
    content: "";
  }
  .om-account-menu.has-messages .messages {
    position: relative;
  }
  .om-account-menu.has-messages .messages::after {
    position: absolute;
    inset: -0.4rem calc(-0.125rem - 1px);
    right: calc(-0.2rem - 2px);
    content: "";
  }
  .om-account-menu.has-messages .trigger,
  .om-account-menu.has-messages .messages {
    width: 1.85rem;
    height: 1.85rem;
  }
  .om-account-menu.has-messages .avatar {
    width: 1.85rem;
    height: 1.85rem;
  }
  .om-account-menu.has-messages .messages .om-icon {
    width: 1rem;
    height: 1rem;
  }
  .om-account-menu.has-messages .messages .unread {
    top: -0.25rem;
    right: -0.3rem;
  }
  .om-account-menu .panel {
    position: fixed;
    inset: 0;
    display: flex;
    flex-direction: column;
    width: auto;
    height: 100%;
    max-width: none;
    padding: 1.4rem var(--om-content-right) 1.6rem var(--om-content-left);
    overflow-y: auto;
    overscroll-behavior: none;
    border-radius: 0;
    transform: none;
    transition: opacity 180ms ease;
    -webkit-overflow-scrolling: touch;
  }
  .om-account-menu .mobile-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 auto;
    margin-bottom: 3.5rem;
  }
  .om-account-menu .mobile-head + .section {
    margin-top: auto;
  }
  .om-account-menu .brand {
    display: inline-flex;
    align-items: center;
  }
  .om-account-menu .close {
    width: 2.3rem;
    height: 2.3rem;
    border: 0;
    background: currentColor;
    color: #000000;
    cursor: pointer;
    -webkit-mask: url("../../app/assets/img/icon-close.svg") center/1.9rem 1.9rem no-repeat;
    mask: url("../../app/assets/img/icon-close.svg") center/1.9rem 1.9rem no-repeat;
  }
  .om-account-menu .list {
    gap: 0;
  }
  .om-account-menu .list a,
  .om-account-menu .switch-back,
  .om-account-menu .sign-out {
    padding: 0.5rem 0;
    font-size: 1.65rem;
    white-space: normal;
  }
  .om-account-menu .mobile-action {
    display: inline-flex;
    width: 100%;
    height: 3.7rem;
    min-height: 3.7rem;
    max-height: 3.7rem;
    margin-top: 3rem;
    font-size: 1.3rem;
  }
  .om-account-menu .section-title {
    font-size: 1.1rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .om-account-menu .panel {
    transition: none;
  }
}
.om-nav {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
  pointer-events: auto;
}
.om-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.8rem 0.9rem;
  border-radius: 0.84rem;
  color: var(--om-header-ink);
  text-decoration: none;
  white-space: nowrap;
  font: 0.99rem/1.2 "Lavishe", sans-serif;
  transition: background-color 150ms ease, color 150ms ease;
}
.om-nav a::after {
  content: "";
  position: absolute;
  inset: 0 -0.175rem;
}
.om-nav a:hover, .om-nav a:focus-visible, .om-nav a.is-current {
  background: rgba(120, 150, 145, 0.25);
}
.om-nav a.is-current {
  color: #ffd22a;
}
.om-nav a.is-loading .om-icon {
  opacity: 0;
}
.om-nav a.is-loading .spinner {
  opacity: 0.7;
}
.om-nav a.is-loading .spinner::after {
  animation: om-nav-spin 700ms linear infinite;
}
.om-nav .control {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 1.26rem;
  width: 1.26rem;
  height: 1.26rem;
}
.om-nav .om-icon {
  display: block;
  width: 1.215rem;
  height: 1.215rem;
  transition: opacity 150ms ease;
}
.om-nav .spinner {
  position: absolute;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  opacity: 0;
  transition: opacity 520ms ease;
}
.om-nav .spinner::before, .om-nav .spinner::after {
  position: absolute;
  inset: 0;
  border: 2px solid currentColor;
  border-radius: 50%;
  content: "";
  transform: rotate(0deg);
}
.om-nav .spinner::before {
  opacity: 0.28;
}
.om-nav .spinner::after {
  border-top-color: transparent;
}

@keyframes om-nav-spin {
  to {
    transform: rotate(360deg);
  }
}
.om-has-course-palette.om-theme-light .om-nav a:hover, .om-has-course-palette.om-theme-light .om-nav a:focus-visible {
  background: rgba(var(--om-course-accent-rgb, 120, 150, 145), 0.3);
}
.om-has-course-palette.om-theme-light .om-nav a.is-current {
  background: var(--om-course-accent, rgba(120, 150, 145, 0.25));
  color: var(--om-header-ink);
}

body.om-meditation-scroll-locked .om-nav a.is-current:not(.meditate-nav) {
  background: transparent;
  color: var(--om-header-ink);
}
body.om-meditation-scroll-locked .om-nav a.is-current:not(.meditate-nav):hover, body.om-meditation-scroll-locked .om-nav a.is-current:not(.meditate-nav):focus-visible {
  background: rgba(120, 150, 145, 0.25);
}
body.om-meditation-scroll-locked .om-nav .meditate-nav {
  background: rgba(120, 150, 145, 0.25);
  color: var(--om-header-ink);
}

.om-nav-toggle {
  display: none;
}

@media (max-width: 56rem) {
  .om-layout > .om-header {
    width: calc(100% - 1.5rem);
    box-sizing: border-box;
    justify-content: flex-start;
    cursor: pointer;
  }
  .om-layout > .om-header .om-nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.75rem;
    padding: 0.65rem;
    width: 2.75rem;
    min-height: 2.75rem;
    border: 0;
    border-radius: 0.84rem;
    background: transparent;
    color: var(--om-header-ink);
    font: 1.1rem/1.2 "PV Sans Serif", sans-serif;
    cursor: pointer;
  }
  .om-layout > .om-header .om-nav-toggle .icon {
    width: 1.1rem;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    box-shadow: 0 -0.35rem 0 currentColor, 0 0.35rem 0 currentColor;
  }
  .om-layout > .om-header > .om-site-title {
    flex-shrink: 0;
    margin-right: 0;
  }
  .om-layout > .om-header > .om-site-title .om-site-logo {
    width: 3.0556rem;
    height: 2.2rem;
  }
  .om-layout > .om-header > .om-header-cluster {
    margin-left: auto;
  }
  .om-layout > .om-header > .om-nav {
    --menu-fade: 220ms;
    position: absolute;
    top: calc(100% + 0.6rem);
    left: 0;
    right: 0;
    display: grid;
    gap: 0.25rem;
    width: auto;
    max-height: calc(100dvh - 7rem);
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.65rem;
    border-radius: 1.2rem;
    isolation: isolate;
    background: transparent;
    color: #faf1eb;
    --om-header-ink: #faf1eb;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-0.4rem);
    transition: transform var(--menu-fade) ease, visibility 0s linear var(--menu-fade);
  }
  .om-layout > .om-header > .om-nav::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: rgba(48, 64, 61, 0.97);
    box-shadow: 0 0.4rem 1.4rem rgba(0, 0, 0, 0.15);
    opacity: 0;
    transition: opacity var(--menu-fade) ease;
  }
  .om-layout > .om-header > .om-nav a {
    display: flex;
    padding: 0.9rem 1rem;
    font-size: 1.1rem;
    opacity: 0;
    transition: background-color 150ms ease, color 150ms ease, opacity var(--menu-fade) ease;
  }
  .om-layout > .om-header.is-menu-open > .om-nav {
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition: transform var(--menu-fade) ease, visibility 0s;
  }
  .om-layout > .om-header.is-menu-open > .om-nav::before, .om-layout > .om-header.is-menu-open > .om-nav a {
    opacity: 1;
  }
  .om-layout > .om-header.is-menu-open .om-nav-toggle {
    color: #ffd22a;
  }
}
@media (max-width: 56rem) {
  .om-layout > .om-header > .om-header-cluster {
    display: none;
    order: 1;
    margin-left: 0;
  }
  .om-layout > .om-header > .om-header-cluster:has([data-om-messages-open]) {
    display: flex;
  }
  .om-layout > .om-header > .om-header-cluster .om-account-menu.has-messages {
    height: auto;
    padding: 0;
    border: 0;
    background: none;
  }
  .om-layout > .om-header > .om-header-cluster .om-account-menu.has-messages::before {
    content: none;
  }
  .om-layout > .om-header > .om-header-cluster .om-account-menu.has-messages > .trigger {
    display: none;
  }
  .om-layout > .om-header > .om-header-cluster .om-account-menu.has-messages > .messages {
    width: 2.2rem;
    height: 2.2rem;
  }
  .om-layout > .om-header > .om-header-cluster .om-account-menu.has-messages > .messages .om-icon {
    width: 1.39rem;
    height: 1.39rem;
  }
  .om-layout > .om-header > .om-header-cluster .om-account-menu.has-messages > .messages::after {
    inset: 0;
  }
  .om-layout > .om-header > .header-presence {
    display: flex;
    align-items: center;
    margin-left: auto;
    min-width: 0;
  }
  .om-layout > .om-header > .header-presence .om-active-users:not([hidden]) {
    display: flex;
  }
  .om-layout > .om-header > .header-presence .om-active-users .avatar {
    width: 2.2rem;
    height: 2.2rem;
  }
  .om-layout > .om-header > .header-presence .om-active-users .avatar + .avatar {
    margin-left: -0.85rem;
  }
}
@media (min-width: 56.01rem) and (max-width: 64rem) {
  .om-header > .om-nav {
    gap: 0.15rem;
  }
  .om-header > .om-nav a {
    padding-right: 0.6rem;
    padding-left: 0.6rem;
  }
}
.om-layout {
  --om-course-sidebar-width: 24rem;
  --om-course-sidebar-inset: calc(1.1rem + 1.5rem);
  --om-course-sidebar-top: var(--om-content-top);
}
@media (max-width: 96rem) {
  .om-layout {
    --om-course-sidebar-width: 19rem;
  }
}

.om-course-sidebar {
  position: fixed;
  top: var(--om-course-sidebar-top);
  right: max(var(--om-course-sidebar-inset), (100vw - var(--om-shell-max)) / 2 + var(--om-course-sidebar-inset));
  z-index: 5;
  --om-course-sidebar-fade: 4rem;
  width: var(--om-course-sidebar-width);
  max-height: calc(100vh - var(--om-course-sidebar-top));
  overflow-y: auto;
  scrollbar-width: thin;
  -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - var(--om-course-sidebar-fade)), transparent);
  mask-image: linear-gradient(to bottom, #000 calc(100% - var(--om-course-sidebar-fade)), transparent);
}
.om-course-sidebar .om-course-nav .panel {
  padding-bottom: 50vh;
}

@media (max-width: 64rem) {
  .om-course-sidebar {
    --om-course-sheet-surface:
        linear-gradient(rgba(var(--step-fg-rgb, 255, 255, 255), 0.06), rgba(var(--step-fg-rgb, 255, 255, 255), 0.06)),
        var(--step-bg, #384b48);
    --om-course-sheet-bottom: 5.9rem;
    position: sticky;
    top: 0.5rem;
    right: auto;
    bottom: auto;
    left: auto;
    width: auto;
    max-height: none;
    margin: 0 var(--om-content-right) 0 var(--om-content-left);
    padding: 0;
    overflow: visible;
    -webkit-mask-image: none;
    mask-image: none;
    border-radius: 0.5rem;
    background: var(--om-course-sheet-surface);
    border: 1px solid var(--step-line, rgba(255, 255, 255, 0.25));
    color: var(--step-fg, #faf1eb);
    transition: box-shadow 200ms ease;
  }
  .om-course-sidebar.is-stuck {
    box-shadow: 0 0.6rem 2rem rgba(0, 0, 0, 0.18);
  }
  .om-course-sidebar .om-course-nav {
    display: block;
    margin: 0;
    border: 0;
    border-radius: 0;
  }
  .om-course-sidebar .om-course-nav .panel {
    position: fixed;
    top: var(--om-course-sheet-panel-top, 4rem);
    right: var(--om-content-right);
    bottom: var(--om-course-sheet-bottom);
    left: var(--om-content-left);
    z-index: 5;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    padding-bottom: 1rem;
    border: 1px solid var(--step-line, rgba(255, 255, 255, 0.25));
    border-top: 0;
    border-radius: 0 0 0.5rem 0.5rem;
    background: var(--om-course-sheet-surface);
    box-shadow: 0 0.6rem 2rem rgba(0, 0, 0, 0.18);
  }
  .om-course-sidebar .om-course-nav.is-open {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }
  .om-course-sidebar .om-course-nav .heading {
    position: relative;
    background: none;
    box-shadow: none;
  }
  .om-course-sidebar:has(.om-course-nav.is-open) {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }
  body:has([data-om-course-sidebar])::after {
    position: fixed;
    inset: 0;
    z-index: 4;
    background: rgba(0, 0, 0, 0.35);
    content: "";
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 320ms ease, visibility 0s 320ms;
    -webkit-backdrop-filter: blur(0.4rem);
    backdrop-filter: blur(0.4rem);
  }
  body.om-course-sheet-open::after {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 320ms ease, visibility 0s;
  }
}
.om-edit-link {
  position: fixed;
  bottom: max(2.5rem, env(safe-area-inset-bottom));
  left: max(2.5rem, env(safe-area-inset-left));
  z-index: 6;
}
.om-edit-link .om-button, .om-edit-link .magic-login-modal .btn-submit, .magic-login-modal .om-edit-link .btn-submit {
  box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.18);
}
body.om-view-course-step .om-edit-link .om-button, body.om-view-course-step .om-edit-link .magic-login-modal .btn-submit, .magic-login-modal body.om-view-course-step .om-edit-link .btn-submit, body.om-view-course-detail .om-edit-link .om-button, body.om-view-course-detail .om-edit-link .magic-login-modal .btn-submit, .magic-login-modal body.om-view-course-detail .om-edit-link .btn-submit, body.om-view-course-reflections .om-edit-link .om-button, body.om-view-course-reflections .om-edit-link .magic-login-modal .btn-submit, .magic-login-modal body.om-view-course-reflections .om-edit-link .btn-submit, body.om-view-course-reflection .om-edit-link .om-button, body.om-view-course-reflection .om-edit-link .magic-login-modal .btn-submit, .magic-login-modal body.om-view-course-reflection .om-edit-link .btn-submit {
  border-color: var(--om-course-accent, #ffd22a);
  background: var(--om-course-accent, #ffd22a);
  color: #000;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
body.om-view-course-step .om-edit-link .om-button:hover, body.om-view-course-step .om-edit-link .magic-login-modal .btn-submit:hover, .magic-login-modal body.om-view-course-step .om-edit-link .btn-submit:hover, body.om-view-course-step .om-edit-link .om-button:focus, body.om-view-course-step .om-edit-link .magic-login-modal .btn-submit:focus, .magic-login-modal body.om-view-course-step .om-edit-link .btn-submit:focus, body.om-view-course-detail .om-edit-link .om-button:hover, body.om-view-course-detail .om-edit-link .magic-login-modal .btn-submit:hover, .magic-login-modal body.om-view-course-detail .om-edit-link .btn-submit:hover, body.om-view-course-detail .om-edit-link .om-button:focus, body.om-view-course-detail .om-edit-link .magic-login-modal .btn-submit:focus, .magic-login-modal body.om-view-course-detail .om-edit-link .btn-submit:focus, body.om-view-course-reflections .om-edit-link .om-button:hover, body.om-view-course-reflections .om-edit-link .magic-login-modal .btn-submit:hover, .magic-login-modal body.om-view-course-reflections .om-edit-link .btn-submit:hover, body.om-view-course-reflections .om-edit-link .om-button:focus, body.om-view-course-reflections .om-edit-link .magic-login-modal .btn-submit:focus, .magic-login-modal body.om-view-course-reflections .om-edit-link .btn-submit:focus, body.om-view-course-reflection .om-edit-link .om-button:hover, body.om-view-course-reflection .om-edit-link .magic-login-modal .btn-submit:hover, .magic-login-modal body.om-view-course-reflection .om-edit-link .btn-submit:hover, body.om-view-course-reflection .om-edit-link .om-button:focus, body.om-view-course-reflection .om-edit-link .magic-login-modal .btn-submit:focus, .magic-login-modal body.om-view-course-reflection .om-edit-link .btn-submit:focus {
  background: var(--om-course-accent, #ffd22a);
  box-shadow: inset 0 0 0 10rem rgba(0, 0, 0, 0.08);
}
body.om-theme-dark .om-edit-link .om-button, body.om-theme-dark .om-edit-link .magic-login-modal .btn-submit, .magic-login-modal body.om-theme-dark .om-edit-link .btn-submit {
  color: #fff;
}
body.om-theme-dark .om-edit-link .om-button:hover, body.om-theme-dark .om-edit-link .magic-login-modal .btn-submit:hover, .magic-login-modal body.om-theme-dark .om-edit-link .btn-submit:hover, body.om-theme-dark .om-edit-link .om-button:focus, body.om-theme-dark .om-edit-link .magic-login-modal .btn-submit:focus, .magic-login-modal body.om-theme-dark .om-edit-link .btn-submit:focus {
  box-shadow: inset 0 0 0 10rem rgba(255, 255, 255, 0.16);
}
.om-main[data-om-transition-outgoing] .om-edit-link {
  display: none;
}
@media (max-width: 64rem) {
  .om-edit-link {
    display: none;
  }
}

.om-edit-link {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.om-demo-course-looks {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.om-demo-course-looks .group {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.om-demo-course-looks .toggle,
.om-demo-course-looks .swatch,
.om-demo-course-looks .poster-option {
  position: relative;
  overflow: hidden;
  padding: 0;
  border: 2px solid rgba(255, 255, 255, 0.9);
  border-radius: 0.6rem;
  background: var(--swatch-bg);
  box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.18);
  cursor: pointer;
}
.group--looks .om-demo-course-looks .toggle::after,
.group--looks .om-demo-course-looks .swatch::after,
.group--looks .om-demo-course-looks .poster-option::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 55%;
  height: 55%;
  background: var(--swatch-accent);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.om-demo-course-looks .toggle {
  width: 2.3rem;
  height: 2.3rem;
}
.om-demo-course-looks .group--posters .toggle {
  width: 1.6698rem;
  border-radius: 0.4rem;
  background: rgba(255, 255, 255, 0.85);
}
.om-demo-course-looks .toggle img,
.om-demo-course-looks .poster-option img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-demo-course-looks .posters {
  position: absolute;
  bottom: calc(100% + 0.6rem);
  left: 0;
  display: flex;
  gap: 0.5rem;
  padding: 0.5rem;
  border-radius: 0.9rem;
  background: rgba(255, 255, 255, 0.85);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.18);
}
.om-demo-course-looks .posters[hidden] {
  display: none;
}
.om-demo-course-looks .poster-option {
  flex: none;
  width: 5.808rem;
  height: 8rem;
  border: 0;
  border-radius: 0.5rem;
  background: rgba(0, 0, 0, 0.08);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12);
  transition: transform 0.15s ease;
}
.om-demo-course-looks .poster-option:hover, .om-demo-course-looks .poster-option:focus-visible {
  transform: scale(1.04);
}
.om-demo-course-looks .poster-option.is-active {
  outline: 3px solid #000000;
  outline-offset: -3px;
}
.om-demo-course-looks .poster-option .caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.2rem 0.3rem 0.3rem;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.6));
  color: #fff;
  font-size: 0.7rem;
  line-height: 1;
  text-align: center;
}
.om-demo-course-looks.is-loading .toggle {
  opacity: 0.6;
  cursor: progress;
}
.om-demo-course-looks .swatches {
  display: flex;
  gap: 0.3rem;
  box-sizing: border-box;
  height: 2.3rem;
  padding: 0.25rem;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.85);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.18);
}
.om-demo-course-looks .swatches[hidden] {
  display: none;
}
.om-demo-course-looks .swatch {
  width: 1.8rem;
  height: 1.8rem;
  border: 0;
  border-radius: 0.5rem;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12);
  transition: transform 0.15s ease;
}
.om-demo-course-looks .swatch:hover, .om-demo-course-looks .swatch:focus-visible {
  transform: scale(1.08);
}
.om-demo-course-looks .swatch.is-active {
  outline: 2px solid #000000;
  outline-offset: -2px;
}

body.om-demo-course-looks-on .om-edit-link .om-button, body.om-demo-course-looks-on .om-edit-link .magic-login-modal .btn-submit, .magic-login-modal body.om-demo-course-looks-on .om-edit-link .btn-submit,
body.om-demo-course-looks-on .om-course-detail--has-accent .hero-actions .om-button:not(.om-button--secondary),
body.om-demo-course-looks-on .om-course-detail--has-accent .hero-actions .magic-login-modal .btn-submit:not(.om-button--secondary),
.magic-login-modal body.om-demo-course-looks-on .om-course-detail--has-accent .hero-actions .btn-submit:not(.om-button--secondary),
body.om-demo-course-looks-on .om-course-card--has-accent .om-button:not(.om-button--secondary),
body.om-demo-course-looks-on .om-course-card--has-accent .magic-login-modal .btn-submit:not(.om-button--secondary),
.magic-login-modal body.om-demo-course-looks-on .om-course-card--has-accent .btn-submit:not(.om-button--secondary),
body.om-demo-course-looks-on .om-course-step .next,
body.om-demo-course-looks-on .om-course-step .context-controls .om-button[type=submit],
body.om-demo-course-looks-on .om-course-step .context-controls .magic-login-modal [type=submit].btn-submit,
.magic-login-modal body.om-demo-course-looks-on .om-course-step .context-controls [type=submit].btn-submit {
  color: oklch(from var(--om-course-accent) clamp(0, (0.68 - l) * 1000, 1) 0 0);
}

body.om-demo-look-om-green .om-course-card {
  --card-bg: #455a57;
}

html:has(body.om-app),
body.om-app {
  background-color: #384b48;
  transition: background-color var(--om-transition-exit) ease;
}

html:has(body.om-route-home),
body.om-route-home {
  background-color: #273532;
  transition-duration: var(--om-transition-enter);
}

@media (prefers-reduced-motion: reduce) {
  html:has(body.om-app), body.om-app {
    transition: none;
  }
}
.om-layout .om-main > .om-home-background {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  max-width: none;
  height: 100%;
  transform: translateX(-50%);
  pointer-events: none;
  background: linear-gradient(180deg, #273532 0%, #384b48 50vh);
}
.om-layout .om-main > .om-home-background::before {
  content: "";
  position: absolute;
  inset: auto 0 100%;
  height: 100vh;
  background: #273532;
}

.om-home {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--om-content-wide, 82rem);
  padding-bottom: 5rem;
}
.om-home .home-section {
  position: relative;
  z-index: 1;
  margin-top: 6.5rem;
}
.om-home .home-section.om-meditation-gather {
  padding-bottom: 0;
}
.om-home > .home-section:first-child {
  margin-top: 0;
}
.om-home .section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 1.8rem;
}
.om-home .section-header h2 {
  margin: 0;
  color: rgba(250, 241, 235, 0.64);
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-transform: uppercase;
}
.om-home .section-header--large {
  justify-content: flex-start;
  margin-bottom: 2rem;
}
.om-home .section-header--large .section-title,
.om-home .section-header--large .section-title-link {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  color: rgba(250, 241, 235, 0.95);
  text-decoration: none;
  transition: color 100ms ease;
}
.om-home .section-header--large .section-title:hover, .om-home .section-header--large .section-title:focus-visible,
.om-home .section-header--large .section-title-link:hover,
.om-home .section-header--large .section-title-link:focus-visible {
  color: #faf1eb;
}
.om-home .section-header--large .section-title:hover .section-title-arrow, .om-home .section-header--large .section-title:focus-visible .section-title-arrow,
.om-home .section-header--large .section-title-link:hover .section-title-arrow,
.om-home .section-header--large .section-title-link:focus-visible .section-title-arrow {
  opacity: 1;
  transform: rotate(-90deg);
}
.om-home .section-header--large .om-icon {
  width: 1.35rem;
  height: 1.35rem;
  color: #ffd22a;
}
.om-home .section-header--large h2 {
  color: inherit;
  font-family: "Lavishe", sans-serif;
  font-size: 1.65rem;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}
.om-home .section-header--large .section-title-arrow {
  width: 1rem;
  height: 1rem;
  margin-left: -0.3rem;
  background: currentColor;
  opacity: 0;
  transform: rotate(-90deg);
  transition: opacity 120ms ease;
  -webkit-mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
}
.om-home .section-link {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  color: #faf1eb;
  font-family: "Futura Medium", sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.13em;
  text-decoration: none;
  text-transform: uppercase;
}
.om-home .section-link span {
  font-family: sans-serif;
  font-size: 1.5em;
  line-height: 0.8;
}
.om-home .section-link:hover, .om-home .section-link:focus-visible {
  color: #ffd22a;
}
.om-home .home-carousel {
  min-width: 0;
  --om-carousel-gap: 1.5rem;
}
.om-home .home-continue .om-step-card .thumb {
  aspect-ratio: 16/10;
}
.om-home .home-continue .om-step-card .title {
  font-size: 1.65rem;
}
.om-home .home-live-card {
  display: block;
  min-width: 0;
  color: #faf1eb;
  text-decoration: none;
}
.om-home .home-live-card .attendees {
  position: absolute;
  right: 1em;
  bottom: 1em;
  z-index: 2;
  margin-top: 0;
}
.om-home .home-live-card .attending-pill {
  position: absolute;
  top: 1em;
  right: 1em;
  z-index: 2;
}
.om-home .home-live-card h3 {
  margin: 0;
  font-size: 1.65rem;
  font-weight: 400;
  line-height: 1.2;
}
.om-home .home-live-card .time {
  margin: 1rem 0 0.35rem;
  color: rgba(250, 241, 235, 0.75);
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.om-home .home-live-card:hover .image, .om-home .home-live-card:focus-visible .image {
  transform: scale(1.035);
}
.om-home .home-courses .om-poster-card {
  scroll-snap-align: start;
}
.om-home .home-courses .om-poster-card .thumb {
  aspect-ratio: 4/5.6;
  border-radius: 1rem;
}
.om-home .home-courses .om-poster-card .title {
  margin-top: 1rem;
  color: #faf1eb;
  font-size: 1.65rem;
  line-height: 1.2;
}
.om-home .session-list {
  display: grid;
  gap: 1rem;
}
.om-home .home-podcast {
  max-width: none;
}
.om-home .home-podcast .episode-list {
  display: grid;
  gap: 1rem;
}
.om-home .home-podcast .episode {
  display: flex;
  align-items: center;
  gap: 1.3rem;
  padding: 0.65rem 0.75rem 0.65rem 0.65rem;
  border-radius: 1rem;
  background: rgba(250, 241, 235, 0.05);
  color: #faf1eb;
  text-decoration: none;
  transition: background-color 160ms ease;
}
.om-home .home-podcast .episode:hover, .om-home .home-podcast .episode:focus-visible {
  background: rgba(250, 241, 235, 0.08);
}
.om-home .home-podcast .episode:hover .play, .om-home .home-podcast .episode:focus-visible .play {
  background: rgba(250, 241, 235, 0.32);
}
.om-home .home-podcast .episode:active .play {
  background: rgba(250, 241, 235, 0.38);
}
.om-home .home-podcast .thumb {
  position: relative;
  flex: 0 0 auto;
  width: 6rem;
  height: 6rem;
  border-radius: 0.5rem;
  overflow: hidden;
}
.om-home .home-podcast .thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-home .home-podcast .body {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
}
.om-home .home-podcast .title {
  margin: 0;
  color: #faf1eb;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.25;
}
.om-home .home-podcast .meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  margin-top: 0.55rem;
  color: rgba(250, 241, 235, 0.5);
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  column-gap: 1rem;
}
.om-home .home-podcast .meta .duration {
  color: rgba(250, 241, 235, 0.75);
}
.om-home .home-podcast .play {
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.7rem;
  height: 2.7rem;
  border-radius: 50%;
  background: rgba(250, 241, 235, 0.22);
  box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.28);
  color: #faf1eb;
  transform: translate(-50%, -50%);
  -webkit-backdrop-filter: blur(0.65rem);
  backdrop-filter: blur(0.65rem);
  transition: background-color 160ms ease;
}
.om-home .home-podcast .play .om-icon {
  width: 1.062rem;
  height: 1.062rem;
}
.om-home .home-empty {
  margin: 0;
  padding: 1.4rem;
  border: 1px solid rgba(250, 241, 235, 0.14);
  border-radius: 1rem;
  color: rgba(250, 241, 235, 0.68);
  font-family: "PV Sans Serif", sans-serif;
}
.om-home .om-step-card:hover .thumb > img,
.om-home .om-step-card:focus-visible .thumb > img,
.om-home .home-live-card:hover .image,
.om-home .home-live-card:focus-visible .image,
.om-home .om-poster-card:hover .thumb img,
.om-home .om-poster-card:focus-visible .thumb img {
  transform: none;
}

@media (min-width: 64.1rem) {
  .om-home .home-continue .continue-track,
  .om-home .home-live-events .live-track {
    grid-auto-columns: 24.3rem;
  }
  .om-home .home-courses .course-track {
    grid-auto-columns: min(24rem, (100vw - max(0px, (100vw - var(--om-shell-max)) / 2) - var(--om-content-left) - 2 * var(--om-carousel-gap)) / 2.5);
  }
}
@media (min-width: 80.1rem) {
  .om-home .home-group-sessions .session-list,
  .om-home .home-podcast .episode-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 64rem) {
  .om-home {
    padding-bottom: 2rem;
  }
  .om-home .home-section {
    margin-top: 4.5rem;
  }
  .om-home .home-continue .om-step-card {
    min-width: 0;
  }
  .om-home .home-live-card {
    scroll-snap-align: start;
  }
  .om-home .section-header--large .section-title-arrow {
    opacity: 1;
    transform: rotate(-90deg);
  }
}
@media (min-width: 45.1rem) and (max-width: 64rem) {
  .om-home .home-section {
    margin-top: 3.5rem;
  }
  .om-home .continue-track,
  .om-home .live-track,
  .om-home .course-track {
    grid-auto-columns: 18rem;
  }
  .om-home .section-header--large {
    margin-bottom: 1.5rem;
  }
  .om-home .section-header--large h2 {
    font-size: 1.3rem;
  }
  .om-home .section-header--large .om-icon {
    width: 1.15rem;
    height: 1.15rem;
  }
  .om-home .home-continue .om-step-card .title,
  .om-home .home-live-card h3,
  .om-home .home-courses .om-poster-card .title {
    font-size: 1.3rem;
  }
  .om-home .om-carousel-controls {
    margin-top: 2rem;
    padding-right: 1.5rem;
  }
  .om-home .om-carousel-arrow {
    width: 3.2rem;
    height: 3.2rem;
  }
}
@media (max-width: 45rem) {
  .om-home .continue-track,
  .om-home .live-track,
  .om-home .course-track {
    grid-auto-columns: minmax(17rem, 72vw);
  }
  .om-home .section-header {
    align-items: flex-start;
  }
  .om-home .section-header--large h2 {
    font-size: 1.3rem;
  }
  .om-home .section-header--large .section-title-arrow {
    display: none;
  }
  .om-home .home-podcast .episode {
    gap: 0.85rem;
    padding: 0.65rem 0.75rem 0.65rem 0.65rem;
  }
  .om-home .home-podcast .thumb {
    width: 4rem;
    height: 4rem;
  }
  .om-home .home-podcast .play {
    width: 2.4rem;
    height: 2.4rem;
  }
  .om-home .home-podcast .play .om-icon {
    width: 0.871rem;
    height: 0.871rem;
  }
}
.om-practice-summary .eyebrow {
  margin: 0 0 0.6rem;
  color: #789691;
  font: 0.8rem "Futura Medium", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.om-practice-summary .demo-label {
  padding: 0.4rem 0.7rem;
  border: 1px solid rgba(250, 241, 235, 0.2);
  border-radius: 100rem;
  color: rgba(250, 241, 235, 0.65);
  font: 0.8rem "PV Sans Serif", sans-serif;
}
.om-practice-summary .practice-grid {
  --practice-spacing: 1.8rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--practice-spacing);
}
.om-practice-summary .practice-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: var(--practice-spacing);
  border-radius: 1rem;
  background: rgba(120, 150, 145, 0.1);
}
.om-practice-summary .practice-card > .section-header {
  margin-bottom: var(--practice-spacing);
}
.om-practice-summary .practice-card > .section-header h2 {
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.om-practice-summary .reflections > .om-button, .om-practice-summary .magic-login-modal .reflections > .btn-submit, .magic-login-modal .om-practice-summary .reflections > .btn-submit {
  align-self: flex-start;
  width: auto;
  max-width: 100%;
}
.om-practice-summary .card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.om-practice-summary h3 {
  margin: 0;
  font: 1.65rem/1.2 "Lavishe", sans-serif;
  color: #faf1eb;
}
.om-practice-summary .card-top .om-icon {
  color: #b59b8d;
  font-size: 1rem;
}
.om-practice-summary .learning {
  grid-column: auto;
}
.om-practice-summary .practice-link {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  align-self: start;
  margin-top: auto;
  color: #faf1eb;
  font: 0.8rem "Futura Medium", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-decoration: none;
}
.om-practice-summary .practice-link:hover, .om-practice-summary .practice-link:focus-visible {
  color: #ffd22a;
}
.om-practice-summary .next-gatherings {
  display: grid;
  gap: 1.2rem;
  margin: 0.5rem 0 1.7rem;
  padding: 0;
  list-style: none;
}
.om-practice-summary .next-gatherings li {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}
.om-practice-summary .day-stamp {
  display: grid;
  place-items: center;
  flex: 0 0 2.8rem;
  height: 3.1rem;
  border: 1px solid rgba(250, 241, 235, 0.2);
  border-radius: 0.5rem;
  color: #b59b8d;
  font: 0.8rem "Futura Medium", sans-serif;
  text-transform: uppercase;
}
.om-practice-summary .next-gatherings h4 {
  margin: 0 0 0.3rem;
  font: 1.1rem/1.2 "PV Sans Serif", sans-serif;
}
.om-practice-summary .next-gatherings p, .om-practice-summary .learning-copy > p:not(.eyebrow), .om-practice-summary .reflection-prompt {
  color: rgba(250, 241, 235, 0.65);
  font: 0.8rem/1.5 "PV Sans Serif", sans-serif;
  margin: 0;
}
.om-practice-summary .learning {
  flex-direction: row;
  align-items: center;
  gap: 1.8rem;
}
.om-practice-summary .learning-ring {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 7rem;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  background: conic-gradient(#b59b8d 0 50%, rgba(250, 241, 235, 0.1) 50% 100%);
}
.om-practice-summary .learning-ring::before {
  content: "";
  position: absolute;
  inset: 0.3rem;
  border-radius: inherit;
  background: #3e534f;
}
.om-practice-summary .learning-ring > span {
  position: relative;
  font: 2.7rem "Lavishe", sans-serif;
}
.om-practice-summary .learning-ring > span small {
  margin-left: 0.25rem;
  color: rgba(250, 241, 235, 0.6);
  font: 1.1rem "PV Sans Serif", sans-serif;
}
.om-practice-summary .learning-copy > p:not(.eyebrow) {
  margin: 0.65rem 0 1.1rem;
  font-size: 1.1rem;
}
.om-practice-summary .reflection-prompt {
  margin: 0 0 1.2rem;
  font-size: 1.1rem;
}
.om-practice-summary .announcement {
  grid-column: 1/-1;
  border-color: rgba(181, 155, 141, 0.4);
  background: rgba(181, 155, 141, 0.08);
}
@media (max-width: 75rem) {
  .om-practice-summary .practice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .om-practice-summary .learning {
    grid-column: auto;
    flex-direction: column;
    align-items: start;
  }
}
@media (max-width: 45rem) {
  .om-practice-summary .practice-grid {
    --practice-spacing: 1.3rem;
    grid-template-columns: minmax(0, 1fr);
  }
  .om-practice-summary .learning {
    flex-direction: row;
    gap: 1rem;
  }
  .om-practice-summary .learning-ring {
    flex-basis: 5rem;
    width: 5rem;
    height: 5rem;
  }
}

.om-practice-summary .announcement {
  position: relative;
  min-height: 38.4rem;
  justify-content: flex-end;
  overflow: hidden;
  isolation: isolate;
}
.om-practice-summary .announcement .announcement-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
}
.om-practice-summary .announcement::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(56, 75, 72, 0.8), rgba(56, 75, 72, 0.2));
  z-index: -1;
}
.om-practice-summary .announcement .announcement-content {
  max-width: 35rem;
  padding: 0;
}
.om-practice-summary .announcement .eyebrow {
  color: #faf1eb;
}
.om-practice-summary .announcement h3 {
  font-size: 2.7rem;
  margin-bottom: 1.8rem;
}

.om-home-hero .hero-space-cta {
  margin-top: 1.5rem;
}

.om-practice-summary .om-upcoming-sessions .session-list {
  margin-bottom: 1.2rem;
}
.om-practice-summary .om-upcoming-sessions .session-host, .om-practice-summary .om-upcoming-sessions .session-attendees {
  display: none;
}

.om-practice-summary .reflection-question {
  text-align: center;
  margin: 0;
  color: #ffd22a;
  font: 1.65rem/1.35 "Lavishe", sans-serif;
}

.om-practice-summary .card-actions {
  display: flex;
  align-items: center;
  justify-content: start;
  padding-top: 1.5rem;
  margin-top: auto;
}
.om-practice-summary .card-actions > .om-button, .om-practice-summary .magic-login-modal .card-actions > .btn-submit, .magic-login-modal .om-practice-summary .card-actions > .btn-submit {
  width: auto;
  max-width: 100%;
}

.om-practice-summary .practice-inset {
  padding: 1.2rem;
  border-radius: 0.5rem;
  background: rgba(250, 241, 235, 0.035);
}

.om-practice-summary .reflections .practice-inset {
  display: block;
  padding: 4rem;
}
.om-practice-summary .reflections .practice-inset, .om-practice-summary .reflections .practice-inset:hover, .om-practice-summary .reflections .practice-inset:active {
  color: inherit;
  text-decoration: none;
}

.om-home .home-recommended-sessions .session-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  max-width: 64rem;
  margin-inline: 0;
}

.om-practice-summary .practice-card .session-host img, .om-practice-summary .practice-card .session-attendees img {
  border-color: transparent;
}

.om-courses {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  max-width: var(--om-content-wide, 82rem);
}
.om-courses > :not(.om-courses-continue) {
  max-width: var(--om-content-max, 60rem);
}

.om-home.om-courses-continue {
  padding-bottom: 0;
}

.om-step-card {
  display: flex;
  flex-direction: column;
  scroll-snap-align: start;
  color: #faf1eb;
  text-decoration: none;
}
.om-step-card .thumb {
  position: relative;
  display: block;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 1rem;
  background: #455d59;
}
.om-step-card .thumb > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 360ms ease;
}
.om-step-card .overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 1rem 1rem 1.25rem;
  pointer-events: none;
}
.om-step-card .play,
.om-step-card .duration {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.7rem;
  background: rgba(250, 241, 235, 0.22);
  -webkit-backdrop-filter: blur(0.65rem);
  backdrop-filter: blur(0.65rem);
  color: #faf1eb;
}
.om-step-card .play {
  width: 2.7rem;
  border-radius: 50%;
  transition: background-color 160ms ease;
}
.om-step-card .play .icon {
  width: 1.05rem;
  height: 1.2rem;
}
.om-step-card .duration {
  padding: 0 0.7rem;
  border-radius: 0.5rem;
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.om-step-card .completed {
  display: none;
}
.om-step-card.is-completed .play,
.om-step-card.is-completed .duration {
  display: none;
}
.om-step-card.is-completed .completed {
  display: inline-flex;
}
.om-step-card.is-in-progress .play {
  display: none;
}
.om-step-card .in-progress {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  height: 2.2rem;
  padding: 0 0.9rem 0 0.75rem;
  border-radius: 0.5rem;
  background: rgba(250, 241, 235, 0.22);
  -webkit-backdrop-filter: blur(0.65rem);
  backdrop-filter: blur(0.65rem);
  color: #faf1eb;
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  white-space: nowrap;
}
.om-step-card .in-progress .om-progress-icon {
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
}
.om-step-card .completed {
  align-items: center;
  gap: 0.45rem;
  height: 2.2rem;
  padding: 0 0.9rem;
  border-radius: 0.5rem;
  background: #faf1eb;
  color: #384b48;
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.om-step-card .eyebrow {
  margin: 1rem 0 0.35rem;
  color: #789691;
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.om-step-card .eyebrow--split {
  display: block;
}
.om-step-card .eyebrow--split .eyebrow-primary {
  display: block;
  color: rgba(250, 241, 235, 0.75);
}
.om-step-card .eyebrow--split .eyebrow-secondary {
  display: block;
  margin-bottom: 0.35rem;
  color: rgba(250, 241, 235, 0.5);
  white-space: nowrap;
}
.om-step-card .title {
  font-size: 1.3rem;
  line-height: 1.25;
}
.om-step-card .description {
  margin-top: 0.6rem;
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 1.1rem;
  line-height: 1.5;
  opacity: 0.8;
}
.om-step-card:hover .thumb > img, .om-step-card:focus-visible .thumb > img {
  transform: scale(1.04);
}
.om-step-card:hover .play, .om-step-card:focus-visible .play {
  background: rgba(250, 241, 235, 0.32);
}
.om-step-card.is-completed .thumb > img,
.om-step-card.is-completed .eyebrow,
.om-step-card.is-completed .title,
.om-step-card.is-completed .description {
  opacity: 0.45;
}
.om-step-card.is-completed:hover .thumb > img, .om-step-card.is-completed:focus-visible .thumb > img {
  transform: none;
}

.om-course-section > .heading {
  margin: 0;
  font-size: 2.7rem;
  font-weight: 500;
  line-height: 1.15;
}
@media (max-width: 64rem) {
  .om-course-section > .heading {
    font-size: 2.1rem;
  }
}
.om-course-section > .description {
  --rich-ink: #faf1eb;
  --rich-accent: #ffd22a;
  --rich-body: color-mix(in srgb, #faf1eb 85%, transparent);
  --rich-soft: color-mix(in srgb, #faf1eb 55%, transparent);
  --rich-marker: color-mix(in srgb, #faf1eb 50%, transparent);
  --rich-line: color-mix(in srgb, #faf1eb 18%, transparent);
  font-size: 1.3rem;
  max-width: 34rem;
  margin: 0.75rem 0 0;
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
}
.om-course-section > .description p {
  margin-bottom: 1.25em;
  color: var(--rich-body);
}
.om-course-section > .description > :last-child {
  margin-bottom: 0;
}
.om-course-section > .description a {
  color: var(--rich-accent);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.om-course-section > .description strong,
.om-course-section > .description b {
  font-weight: 400;
  color: var(--rich-ink);
}
.om-course-section > .description h2,
.om-course-section > .description h3,
.om-course-section > .description h4,
.om-course-section > .description h5,
.om-course-section > .description h6 {
  margin: 1.75em 0 0.6em;
  font-family: "Lavishe", sans-serif;
  font-weight: 400;
  line-height: 1.15;
  color: var(--rich-ink);
}
.om-course-section > .description h2:first-child,
.om-course-section > .description h3:first-child,
.om-course-section > .description h4:first-child,
.om-course-section > .description h5:first-child,
.om-course-section > .description h6:first-child {
  margin-top: 0;
}
.om-course-section > .description h2 {
  font-size: 1.6em;
}
.om-course-section > .description h3 {
  font-size: 1.27em;
}
.om-course-section > .description h4,
.om-course-section > .description h5,
.om-course-section > .description h6 {
  font-size: 1em;
}
.om-course-section > .description ul,
.om-course-section > .description ol {
  margin: 0 0 1.25em;
  padding-left: 1.4em;
  color: var(--rich-body);
}
.om-course-section > .description ul li,
.om-course-section > .description ol li {
  list-style: inherit;
  margin-bottom: 0.5em;
}
.om-course-section > .description ul li::marker,
.om-course-section > .description ol li::marker {
  color: var(--rich-marker);
}
.om-course-section > .description ul ul,
.om-course-section > .description ul ol,
.om-course-section > .description ol ul,
.om-course-section > .description ol ol {
  margin: 0.5em 0 0;
}
.om-course-section > .description ul {
  list-style: disc outside;
}
.om-course-section > .description ul ul {
  list-style: circle outside;
}
.om-course-section > .description ol {
  list-style: decimal outside;
}
.om-course-section > .description ol ol {
  list-style: lower-alpha outside;
}
.om-course-section > .description blockquote {
  margin: 1.75em 0;
  padding-left: 1.5em;
  border-left: 3px solid color-mix(in srgb, var(--rich-accent) 60%, transparent);
}
.om-course-section > .description blockquote p {
  color: color-mix(in srgb, var(--rich-ink) 85%, transparent);
}
.om-course-section > .description blockquote cite {
  font-size: 0.85em;
  font-style: normal;
  color: var(--rich-soft);
}
.om-course-section > .description figure {
  margin: 1.75em 0;
}
.om-course-section > .description figure figcaption {
  margin-top: 0.6em;
  font-size: 0.85em;
  color: var(--rich-soft);
}
.om-course-section > .description img {
  max-width: 100%;
  height: auto;
  border-radius: 1rem;
}
.om-course-section > .description hr {
  height: 0.2rem;
  margin: 2.5em 0;
  border: 0;
  background: var(--rich-line);
  -webkit-mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
}
.om-course-section > .description table {
  width: 100%;
  margin: 0 0 1.25em;
  border-collapse: collapse;
  color: var(--rich-body);
}
.om-course-section > .description table th,
.om-course-section > .description table td {
  padding: 0.5em 0.8em 0.5em 0;
  border-bottom: 1px solid var(--rich-line);
  text-align: left;
}
.om-course-section > .description table th {
  font-weight: 400;
  color: var(--rich-ink);
}
.om-course-section > .description p {
  margin: 0 0 0.5em;
}
.om-course-section .course-list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  margin-top: 1.75rem;
}
.om-course-section .empty {
  margin-top: 1.25rem;
  color: rgba(250, 241, 235, 0.75);
}
.om-course-section--posters .course-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
  gap: 1.5rem;
}

.om-poster-card {
  display: block;
  color: inherit;
  text-decoration: none;
}
.om-poster-card .thumb {
  display: block;
  overflow: hidden;
  border-radius: 1rem;
}
.om-poster-card .thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 717/1024;
  object-fit: cover;
  transition: transform 360ms ease;
}
.om-poster-card .title {
  display: block;
  margin-top: 1rem;
  font-size: 1.3rem;
  line-height: 1.25;
}
.om-poster-card .subtitle {
  display: block;
  margin-top: 0.35rem;
  font-size: 1.1rem;
  line-height: 1.3;
  opacity: 0.7;
  text-wrap: balance;
}
.om-poster-card:hover img, .om-poster-card:focus-visible img {
  transform: scale(1.03);
}

.om-course-card {
  --card-bg: var(--om-course-bg, #faf1eb);
  --card-fg: #000;
  --card-veil: rgba(0, 0, 0, 0.08);
  --card-line: rgba(0, 0, 0, 0.35);
  display: grid;
  grid-template-columns: 1fr minmax(14rem, 21rem);
  column-gap: clamp(0.5rem, 8% - 2.5rem, 2.25rem);
  min-height: 24rem;
  overflow: hidden;
  border-radius: 1.6rem;
  background: var(--card-bg);
  color: var(--card-fg);
}
.om-course-card--on-dark {
  --card-fg: #fff;
  --card-veil: rgba(255, 255, 255, 0.16);
  --card-line: rgba(255, 255, 255, 0.4);
}
@media (max-width: 70rem) {
  .om-course-card {
    column-gap: 0;
  }
}
.om-course-card .body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 2rem 2.25rem;
}
.om-course-card .eyebrow {
  margin: 0 0 1rem;
  color: var(--card-fg);
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.65;
}
.om-course-card .title {
  margin: 0;
  font-size: 3.4rem;
  font-weight: 500;
  line-height: 1.05;
}
.om-course-card .subtitle {
  max-width: 28rem;
  margin: 0.5rem 0 0;
  font-size: 1.65rem;
  font-weight: 400;
  line-height: 1.25;
  text-wrap: balance;
}
.om-course-card .description {
  max-width: 28rem;
  margin: 1rem 0 0;
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 1.1rem;
  line-height: 1.5;
  opacity: 0.85;
}
.om-course-card .facts {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  padding: 0;
  list-style: none;
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 1.5rem 0 0;
  color: var(--card-fg);
}
.om-course-card .facts li {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  opacity: 0.75;
}
.om-course-card .facts .status {
  opacity: 1;
}
.om-course-card .facts .om-icon,
.om-course-card .facts .om-progress-icon {
  width: 1.1rem;
  height: 1.1rem;
}
.om-course-card .facts .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background: var(--card-fg);
  color: var(--card-bg);
}
.om-course-card .actions {
  display: flex;
  gap: 1rem;
  align-self: stretch;
  margin-top: auto;
  padding-top: 1.75rem;
}
.om-course-card .actions .om-button, .om-course-card .actions .magic-login-modal .btn-submit, .magic-login-modal .om-course-card .actions .btn-submit {
  flex: 1;
}
.om-course-card .cover {
  display: flex;
  align-items: center;
  padding: 2rem 2rem 2rem 0;
}
.om-course-card .cover img {
  display: block;
  width: 100%;
  object-fit: cover;
  border-radius: 1rem;
  box-shadow: 0 0.6rem 1.6rem rgba(0, 0, 0, 0.18);
}
.om-course-card .cover .cover-portrait {
  aspect-ratio: 717/1024;
}
.om-course-card .cover .cover-landscape {
  display: none;
}
.om-course-card .om-button, .om-course-card .magic-login-modal .btn-submit, .magic-login-modal .om-course-card .btn-submit {
  border-color: var(--card-fg);
  background: var(--card-fg);
  color: var(--card-bg);
  opacity: 1;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.om-course-card .om-button:hover, .om-course-card .magic-login-modal .btn-submit:hover, .magic-login-modal .om-course-card .btn-submit:hover, .om-course-card .om-button:focus, .om-course-card .magic-login-modal .btn-submit:focus, .magic-login-modal .om-course-card .btn-submit:focus {
  opacity: 0.88;
}
.om-course-card .om-button--secondary {
  border-color: var(--card-line);
  background: transparent;
  color: var(--card-fg);
}
.om-course-card .om-button--secondary:hover, .om-course-card .om-button--secondary:focus {
  background: var(--card-veil);
}
.om-course-card--has-accent .om-button, .om-course-card--has-accent .magic-login-modal .btn-submit, .magic-login-modal .om-course-card--has-accent .btn-submit {
  border-color: var(--om-course-accent);
  background: var(--om-course-accent);
  color: var(--card-fg);
  transition: background-color 160ms ease, box-shadow 160ms ease, opacity 160ms ease, transform 120ms ease;
}
.om-course-card--has-accent .om-button:hover, .om-course-card--has-accent .magic-login-modal .btn-submit:hover, .magic-login-modal .om-course-card--has-accent .btn-submit:hover, .om-course-card--has-accent .om-button:focus, .om-course-card--has-accent .magic-login-modal .btn-submit:focus, .magic-login-modal .om-course-card--has-accent .btn-submit:focus {
  opacity: 1;
  box-shadow: inset 0 0 0 10rem var(--card-veil);
}
.om-course-card--has-accent .om-button--secondary {
  border-color: var(--om-course-accent);
  background: transparent;
  color: var(--card-fg);
}
.om-course-card--has-accent .om-button--secondary:hover, .om-course-card--has-accent .om-button--secondary:focus {
  background: rgba(var(--om-course-accent-rgb), 0.18);
}

@media (max-width: 64rem) {
  .om-courses {
    gap: 3rem;
  }
  .om-course-section .course-list {
    gap: 3rem;
  }
  .om-course-card {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .om-course-card .body {
    order: 2;
    padding: 1.5rem;
  }
  .om-course-card .cover {
    order: 1;
    padding: 1.5rem 1.5rem 0;
  }
  .om-course-card .cover .cover-portrait {
    display: none;
  }
  .om-course-card .cover .cover-landscape {
    display: block;
    height: auto;
    aspect-ratio: 325/291;
  }
  .om-course-card .title {
    font-size: 2.7rem;
  }
}
.om-course-detail {
  --detail-bg: var(--om-course-bg, #faf1eb);
  --detail-fg: #000;
  --detail-veil: rgba(0, 0, 0, 0.08);
  --detail-line: rgba(0, 0, 0, 0.35);
  min-height: 100vh;
  margin: calc(var(--om-content-top) * -1) calc(var(--om-content-right) * -1) calc(var(--om-content-bottom) * -1) calc(var(--om-content-left) * -1);
  padding-bottom: var(--om-content-bottom);
  color: var(--detail-fg);
}
.om-course-detail--on-dark {
  --detail-fg: #fff;
  --detail-veil: rgba(255, 255, 255, 0.16);
  --detail-line: rgba(255, 255, 255, 0.4);
}
.om-course-detail .hero {
  position: relative;
}
.om-course-detail .hero img {
  display: block;
  width: 100%;
  aspect-ratio: 21/9;
  object-fit: cover;
}
@media (min-width: 64.1rem) {
  .om-course-detail .hero::before {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.45), transparent 35%);
    content: "";
    pointer-events: none;
  }
}
.om-course-detail .hero .content {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: 5rem var(--om-content-right) 2.5rem var(--om-content-left);
  background: linear-gradient(180deg, transparent, var(--detail-bg));
}
.om-course-detail .hero-subtitle {
  max-width: 36rem;
  margin: 0.75rem 0 0;
  color: var(--detail-fg);
  font-family: "Lavishe", sans-serif;
  font-size: 1.65rem;
  font-weight: 400;
  line-height: 1.25;
  text-wrap: balance;
}
.om-course-detail .hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2rem;
}
.om-course-detail .hero-actions .om-button, .om-course-detail .hero-actions .magic-login-modal .btn-submit, .magic-login-modal .om-course-detail .hero-actions .btn-submit {
  border-color: var(--detail-fg);
  background: var(--detail-fg);
  color: var(--detail-bg);
  opacity: 1;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.om-course-detail .hero-actions .om-button:hover, .om-course-detail .hero-actions .magic-login-modal .btn-submit:hover, .magic-login-modal .om-course-detail .hero-actions .btn-submit:hover, .om-course-detail .hero-actions .om-button:focus, .om-course-detail .hero-actions .magic-login-modal .btn-submit:focus, .magic-login-modal .om-course-detail .hero-actions .btn-submit:focus {
  opacity: 0.88;
}
.om-course-detail .hero-actions .om-button--secondary {
  border-color: var(--detail-line);
  background: transparent;
  color: var(--detail-fg);
}
.om-course-detail .hero-actions .om-button--secondary:hover, .om-course-detail .hero-actions .om-button--secondary:focus {
  background: var(--detail-veil);
  opacity: 1;
}
.om-course-detail--has-accent .hero-actions .om-button, .om-course-detail--has-accent .hero-actions .magic-login-modal .btn-submit, .magic-login-modal .om-course-detail--has-accent .hero-actions .btn-submit {
  border-color: var(--om-course-accent);
  background: var(--om-course-accent);
  color: var(--detail-fg);
  transition: background-color 160ms ease, box-shadow 160ms ease, opacity 160ms ease, transform 120ms ease;
}
.om-course-detail--has-accent .hero-actions .om-button:hover, .om-course-detail--has-accent .hero-actions .magic-login-modal .btn-submit:hover, .magic-login-modal .om-course-detail--has-accent .hero-actions .btn-submit:hover, .om-course-detail--has-accent .hero-actions .om-button:focus, .om-course-detail--has-accent .hero-actions .magic-login-modal .btn-submit:focus, .magic-login-modal .om-course-detail--has-accent .hero-actions .btn-submit:focus {
  opacity: 1;
  box-shadow: inset 0 0 0 10rem var(--detail-veil);
}
.om-course-detail--has-accent .hero-actions .om-button--secondary {
  border-color: var(--om-course-accent);
  background: transparent;
  color: var(--detail-fg);
}
.om-course-detail--has-accent .hero-actions .om-button--secondary:hover, .om-course-detail--has-accent .hero-actions .om-button--secondary:focus {
  background: rgba(var(--om-course-accent-rgb), 0.18);
  box-shadow: none;
}
.om-course-detail .om-video-hero {
  --om-video-hero-bg: var(--detail-bg);
  --om-video-hero-fg: var(--detail-fg);
  --om-video-hero-content-bottom: 2rem;
  --om-video-hero-bleed: max(0px, (100vw - var(--om-shell-max)) / 2);
  margin-top: 1rem;
  margin-bottom: 0;
}
.om-course-detail .om-video-hero::after {
  background: linear-gradient(180deg, transparent 20%, color-mix(in srgb, var(--detail-bg) 55%, transparent) 50%, color-mix(in srgb, var(--detail-bg) 90%, transparent) 72%, var(--detail-bg) 100%);
}
.om-course-detail .om-video-hero + .intro {
  padding-top: 2rem;
}
@media (min-width: 64.1rem) {
  .om-course-detail .om-video-hero {
    height: 85vh;
    height: 85svh;
  }
}
.om-course-detail .intro,
.om-course-detail .lessons,
.om-course-detail .other-courses {
  max-width: calc(var(--om-content-left) + var(--om-content-wide) + var(--om-content-right));
  padding-right: var(--om-content-right);
  padding-left: var(--om-content-left);
}
.om-course-detail .intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(21rem, 24rem);
  gap: 2rem 4rem;
  padding-top: 4rem;
}
.om-course-detail .intro .description {
  --rich-ink: var(--detail-fg);
  --rich-accent: var(--detail-fg);
  --rich-body: color-mix(in srgb, var(--detail-fg) 85%, transparent);
  --rich-soft: color-mix(in srgb, var(--detail-fg) 55%, transparent);
  --rich-marker: color-mix(in srgb, var(--detail-fg) 50%, transparent);
  --rich-line: color-mix(in srgb, var(--detail-fg) 18%, transparent);
  max-width: 46rem;
  margin: 0;
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 1.1rem;
  line-height: 1.6;
}
.om-course-detail .intro .description p {
  margin-bottom: 1.25em;
  color: var(--rich-body);
}
.om-course-detail .intro .description > :last-child {
  margin-bottom: 0;
}
.om-course-detail .intro .description a {
  color: var(--rich-accent);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.om-course-detail .intro .description strong,
.om-course-detail .intro .description b {
  font-weight: 400;
  color: var(--rich-ink);
}
.om-course-detail .intro .description h2,
.om-course-detail .intro .description h3,
.om-course-detail .intro .description h4,
.om-course-detail .intro .description h5,
.om-course-detail .intro .description h6 {
  margin: 1.75em 0 0.6em;
  font-family: "Lavishe", sans-serif;
  font-weight: 400;
  line-height: 1.15;
  color: var(--rich-ink);
}
.om-course-detail .intro .description h2:first-child,
.om-course-detail .intro .description h3:first-child,
.om-course-detail .intro .description h4:first-child,
.om-course-detail .intro .description h5:first-child,
.om-course-detail .intro .description h6:first-child {
  margin-top: 0;
}
.om-course-detail .intro .description h2 {
  font-size: 1.6em;
}
.om-course-detail .intro .description h3 {
  font-size: 1.27em;
}
.om-course-detail .intro .description h4,
.om-course-detail .intro .description h5,
.om-course-detail .intro .description h6 {
  font-size: 1em;
}
.om-course-detail .intro .description ul,
.om-course-detail .intro .description ol {
  margin: 0 0 1.25em;
  padding-left: 1.4em;
  color: var(--rich-body);
}
.om-course-detail .intro .description ul li,
.om-course-detail .intro .description ol li {
  list-style: inherit;
  margin-bottom: 0.5em;
}
.om-course-detail .intro .description ul li::marker,
.om-course-detail .intro .description ol li::marker {
  color: var(--rich-marker);
}
.om-course-detail .intro .description ul ul,
.om-course-detail .intro .description ul ol,
.om-course-detail .intro .description ol ul,
.om-course-detail .intro .description ol ol {
  margin: 0.5em 0 0;
}
.om-course-detail .intro .description ul {
  list-style: disc outside;
}
.om-course-detail .intro .description ul ul {
  list-style: circle outside;
}
.om-course-detail .intro .description ol {
  list-style: decimal outside;
}
.om-course-detail .intro .description ol ol {
  list-style: lower-alpha outside;
}
.om-course-detail .intro .description blockquote {
  margin: 1.75em 0;
  padding-left: 1.5em;
  border-left: 3px solid color-mix(in srgb, var(--rich-accent) 60%, transparent);
}
.om-course-detail .intro .description blockquote p {
  color: color-mix(in srgb, var(--rich-ink) 85%, transparent);
}
.om-course-detail .intro .description blockquote cite {
  font-size: 0.85em;
  font-style: normal;
  color: var(--rich-soft);
}
.om-course-detail .intro .description figure {
  margin: 1.75em 0;
}
.om-course-detail .intro .description figure figcaption {
  margin-top: 0.6em;
  font-size: 0.85em;
  color: var(--rich-soft);
}
.om-course-detail .intro .description img {
  max-width: 100%;
  height: auto;
  border-radius: 1rem;
}
.om-course-detail .intro .description hr {
  height: 0.2rem;
  margin: 2.5em 0;
  border: 0;
  background: var(--rich-line);
  -webkit-mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
}
.om-course-detail .intro .description table {
  width: 100%;
  margin: 0 0 1.25em;
  border-collapse: collapse;
  color: var(--rich-body);
}
.om-course-detail .intro .description table th,
.om-course-detail .intro .description table td {
  padding: 0.5em 0.8em 0.5em 0;
  border-bottom: 1px solid var(--rich-line);
  text-align: left;
}
.om-course-detail .intro .description table th {
  font-weight: 400;
  color: var(--rich-ink);
}
.om-course-detail .intro .description p {
  margin: 0 0 0.75em;
}
.om-course-detail .intro .poster img {
  display: block;
  width: 100%;
  aspect-ratio: 717/1024;
  object-fit: cover;
  border-radius: 1rem;
  box-shadow: 0 0.6rem 1.6rem rgba(0, 0, 0, 0.18);
}
.om-course-detail .intro .facts {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  padding: 0;
  list-style: none;
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
  gap: 0.85rem 0.75rem;
  margin: 0.5rem 0 0;
}
.om-course-detail .intro .facts li {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  opacity: 0.75;
}
.om-course-detail .intro .facts .status {
  opacity: 1;
}
.om-course-detail .intro .facts .om-icon,
.om-course-detail .intro .facts .om-progress-icon {
  width: 1.1rem;
  height: 1.1rem;
}
.om-course-detail .intro .facts li {
  align-items: flex-start;
  line-height: 1.35;
}
.om-course-detail .intro .facts .status {
  grid-column: 1/-1;
}
.om-course-detail .intro .facts .om-icon,
.om-course-detail .intro .facts .om-progress-icon {
  flex-shrink: 0;
}
.om-course-detail .intro .poster + .facts {
  margin-top: 1.5rem;
}
.om-course-detail .lessons {
  padding-top: 3.5rem;
}
.om-course-detail .lessons .lesson-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(23rem, 1fr));
  gap: 2.75rem 2rem;
}
.om-course-detail .om-step-card {
  color: var(--detail-fg);
}
.om-course-detail .om-step-card .thumb {
  background: var(--detail-veil);
}
.om-course-detail .om-step-card .eyebrow {
  color: var(--detail-fg);
  opacity: 0.55;
}
.om-course-detail .om-step-card .description {
  color: var(--detail-fg);
}
.om-course-detail .other-courses {
  padding-top: 5rem;
}
.om-course-detail .other-courses .om-course-section > .heading {
  margin: 0;
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.7;
}

@media (max-width: 64rem) {
  .om-course-detail .hero img {
    aspect-ratio: 3/4;
  }
  .om-course-detail .om-video-hero + .intro {
    padding-top: 1.5rem;
  }
  .om-course-detail .hero-actions .om-button, .om-course-detail .hero-actions .magic-login-modal .btn-submit, .magic-login-modal .om-course-detail .hero-actions .btn-submit {
    flex: 1 1 auto;
  }
  .om-course-detail .hero-subtitle {
    font-size: 1.3rem;
  }
  .om-course-detail .intro {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding-top: 2.5rem;
  }
  .om-course-detail .meta {
    display: flex;
    align-items: center;
    gap: 1.75rem;
    order: -1;
  }
  .om-course-detail .meta .poster {
    flex: 0 0 14rem;
  }
  .om-course-detail .meta .facts,
  .om-course-detail .meta .poster + .facts {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
  }
}
@media (max-width: 45rem) {
  .om-course-detail .meta {
    gap: 1.25rem;
  }
  .om-course-detail .meta .poster {
    flex-basis: 10.5rem;
  }
  .om-course-detail .meta .facts {
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }
}
body.om-view-course-detail {
  background-color: var(--om-course-bg, #faf1eb);
}

.om-course-trailer-dialog .pv-dialog__panel {
  width: min(100%, 72rem, (100vh - 6rem) * 16 / 9);
  min-width: 0;
  max-height: none;
  overflow: visible;
  padding: 0;
  border-radius: 1rem;
  background: #000000;
  box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.5);
}
.om-course-trailer-dialog .pv-dialog__close {
  top: -3rem;
  right: -0.5rem;
  color: #faf1eb;
}
.om-course-trailer-dialog .frame {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: inherit;
}
.om-course-trailer-dialog .player {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

body.om-view-course-step,
body.om-view-course-reflections,
body.om-view-course-reflection {
  --step-bg: var(--om-course-bg, #faf1eb);
  background-color: var(--step-bg);
  --step-fg: #000;
  --step-fg-rgb: 0, 0, 0;
  --step-veil: rgba(0, 0, 0, 0.08);
  --step-line: rgba(0, 0, 0, 0.18);
  --step-accent: var(--om-course-accent, var(--step-fg));
  --step-accent-rgb: var(--om-course-accent-rgb, var(--step-fg-rgb));
}
body.om-view-course-step.om-theme-dark,
body.om-view-course-reflections.om-theme-dark,
body.om-view-course-reflection.om-theme-dark {
  --step-fg: #fff;
  --step-fg-rgb: 255, 255, 255;
  --step-veil: rgba(255, 255, 255, 0.16);
  --step-line: rgba(255, 255, 255, 0.25);
}

.om-course-step {
  margin: calc(var(--om-content-top) * -1) calc(var(--om-content-right) * -1) calc(var(--om-content-bottom) * -1) calc(var(--om-content-left) * -1);
  color: var(--step-fg);
}
.om-course-step .inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--om-course-sidebar-width);
  gap: 2.5rem 4rem;
  padding: var(--om-content-top) var(--om-course-sidebar-inset) 6rem var(--om-content-left);
}
.om-course-step .column {
  grid-column: 1;
  min-width: 0;
}
.om-course-step .feature {
  margin-bottom: 2.5rem;
}
.om-course-step .feature .frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9;
  border-radius: 1rem;
  background: rgba(0, 0, 0, 0.35);
}
.om-course-step .feature--audio .frame {
  aspect-ratio: auto;
  height: 299px;
  border-radius: 0;
  background: none;
}
.om-course-step .feature .frame .player {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.om-course-step .body {
  min-width: 0;
  max-width: 46rem;
  container-type: inline-size;
}
.om-course-step--lesson .body {
  max-width: none;
}
.om-course-step--lesson .header {
  max-width: 46rem;
}
.om-course-step .back {
  margin-bottom: 1.75rem;
}
.om-course-step .back a {
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
  color: var(--step-fg);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  text-decoration: none;
  opacity: 0.7;
}
.om-course-step .back a .arrow {
  width: 0.7em;
  height: 0.7em;
  background: currentColor;
  -webkit-mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
  transform: rotate(90deg);
}
.om-course-step .back a:hover, .om-course-step .back a:focus-visible {
  opacity: 1;
}
.om-course-step .header {
  margin-bottom: 2.5rem;
}
.om-course-step .header .eyebrow a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.om-course-step .header .eyebrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 1.2rem;
  margin: 0 0 1rem;
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.65;
}
.om-course-step .header .fact {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
}
.om-course-step .header .fact .om-icon {
  width: 1.1rem;
  height: 1.1rem;
}
.om-course-step .header .title {
  margin: 0;
  font-size: 3.4rem;
  font-weight: 400;
  line-height: 1.05;
  text-wrap: balance;
}
.om-course-step .om-reflection-links {
  max-width: 46rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.om-course-step .om-reflection-links .question-link {
  display: flex;
  gap: 0.9rem;
  align-items: flex-start;
  padding: 1.25rem 0;
  border-top: 1px solid var(--step-line);
}
.om-course-step .om-reflection-links .question-link:last-child {
  border-bottom: 1px solid var(--step-line);
}
.om-course-step .om-reflection-links .question-link .icon {
  flex-shrink: 0;
  margin-top: 0.2rem;
  color: var(--step-accent);
}
.om-course-step .om-reflection-links .question-link .text {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
}
.om-course-step .om-reflection-links .question-link .title {
  color: var(--step-fg);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.3rem;
  line-height: 1.35;
  text-decoration: none;
}
.om-course-step .om-reflection-links .question-link a.title:hover,
.om-course-step .om-reflection-links .question-link a.title:focus-visible {
  text-decoration: underline;
}
.om-course-step .om-reflection-links .question-link .note {
  color: var(--step-fg);
  opacity: 0.6;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
}
.om-course-step .content {
  --rich-ink: var(--step-fg);
  --rich-accent: var(--step-accent);
  --rich-body: color-mix(in srgb, var(--step-fg) 85%, transparent);
  --rich-soft: color-mix(in srgb, var(--step-fg) 55%, transparent);
  --rich-marker: color-mix(in srgb, var(--step-fg) 50%, transparent);
  --rich-line: color-mix(in srgb, var(--step-fg) 18%, transparent);
  max-width: 46rem;
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 1.1rem;
  line-height: 1.6;
}
.om-course-step .content p {
  margin-bottom: 1.25em;
  color: var(--rich-body);
}
.om-course-step .content > :last-child {
  margin-bottom: 0;
}
.om-course-step .content a {
  color: var(--rich-accent);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.om-course-step .content strong,
.om-course-step .content b {
  font-weight: 400;
  color: var(--rich-ink);
}
.om-course-step .content h2,
.om-course-step .content h3,
.om-course-step .content h4,
.om-course-step .content h5,
.om-course-step .content h6 {
  margin: 1.75em 0 0.6em;
  font-family: "Lavishe", sans-serif;
  font-weight: 400;
  line-height: 1.15;
  color: var(--rich-ink);
}
.om-course-step .content h2:first-child,
.om-course-step .content h3:first-child,
.om-course-step .content h4:first-child,
.om-course-step .content h5:first-child,
.om-course-step .content h6:first-child {
  margin-top: 0;
}
.om-course-step .content h2 {
  font-size: 1.6em;
}
.om-course-step .content h3 {
  font-size: 1.27em;
}
.om-course-step .content h4,
.om-course-step .content h5,
.om-course-step .content h6 {
  font-size: 1em;
}
.om-course-step .content ul,
.om-course-step .content ol {
  margin: 0 0 1.25em;
  padding-left: 1.4em;
  color: var(--rich-body);
}
.om-course-step .content ul li,
.om-course-step .content ol li {
  list-style: inherit;
  margin-bottom: 0.5em;
}
.om-course-step .content ul li::marker,
.om-course-step .content ol li::marker {
  color: var(--rich-marker);
}
.om-course-step .content ul ul,
.om-course-step .content ul ol,
.om-course-step .content ol ul,
.om-course-step .content ol ol {
  margin: 0.5em 0 0;
}
.om-course-step .content ul {
  list-style: disc outside;
}
.om-course-step .content ul ul {
  list-style: circle outside;
}
.om-course-step .content ol {
  list-style: decimal outside;
}
.om-course-step .content ol ol {
  list-style: lower-alpha outside;
}
.om-course-step .content blockquote {
  margin: 1.75em 0;
  padding-left: 1.5em;
  border-left: 3px solid color-mix(in srgb, var(--rich-accent) 60%, transparent);
}
.om-course-step .content blockquote p {
  color: color-mix(in srgb, var(--rich-ink) 85%, transparent);
}
.om-course-step .content blockquote cite {
  font-size: 0.85em;
  font-style: normal;
  color: var(--rich-soft);
}
.om-course-step .content figure {
  margin: 1.75em 0;
}
.om-course-step .content figure figcaption {
  margin-top: 0.6em;
  font-size: 0.85em;
  color: var(--rich-soft);
}
.om-course-step .content img {
  max-width: 100%;
  height: auto;
  border-radius: 1rem;
}
.om-course-step .content hr {
  height: 0.2rem;
  margin: 2.5em 0;
  border: 0;
  background: var(--rich-line);
  -webkit-mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
}
.om-course-step .content table {
  width: 100%;
  margin: 0 0 1.25em;
  border-collapse: collapse;
  color: var(--rich-body);
}
.om-course-step .content table th,
.om-course-step .content table td {
  padding: 0.5em 0.8em 0.5em 0;
  border-bottom: 1px solid var(--rich-line);
  text-align: left;
}
.om-course-step .content table th {
  font-weight: 400;
  color: var(--rich-ink);
}
.om-course-step .topics {
  margin-top: 3rem;
}
.om-course-step .topics .topic-grid {
  --topic-grid-gap: 1.5rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(max(17rem, (100% - 2 * var(--topic-grid-gap)) / 3), 1fr));
  gap: 2.25rem var(--topic-grid-gap);
}
.om-course-step .om-step-card {
  color: var(--step-fg);
}
.om-course-step .om-step-card .thumb {
  background: var(--step-veil);
}
.om-course-step .om-step-card .eyebrow {
  color: var(--step-fg);
  opacity: 0.55;
}
.om-course-step .om-step-card .progress::before {
  background: var(--step-accent);
}
.om-course-step .actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 3.5rem;
  padding-top: 1.75rem;
  position: relative;
}
.om-course-step .actions::before {
  display: block;
  width: 100%;
  height: 0.22rem;
  border: 0;
  background: var(--step-line);
  -webkit-mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
}
.om-course-step .advance {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-left: auto;
  min-width: 0;
}
.om-course-step .actions .arrow {
  flex: 0 0 auto;
  width: 0.8rem;
  height: 0.8rem;
  background: currentColor;
  -webkit-mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
}
.om-course-step .previous {
  display: inline-flex;
  align-items: center;
  flex: 0 1 auto;
  gap: 0.9rem;
  min-width: 0;
  max-width: 45%;
  height: 2.9rem;
  padding: 0 1.2rem 0 1rem;
  border: 1px solid rgba(var(--step-accent-rgb), 0.7);
  border-radius: 0.5rem;
  color: var(--step-fg);
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease;
}
.om-course-step .previous .arrow {
  transform: rotate(90deg);
}
.om-course-step .previous .text {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  min-width: 0;
}
.om-course-step .previous .direction {
  flex: 0 0 auto;
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.7;
}
.om-course-step .previous .name {
  overflow: hidden;
  min-width: 0;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.om-course-step .previous:hover, .om-course-step .previous:focus-visible {
  border-color: var(--step-accent);
  background: rgba(var(--step-accent-rgb), 0.18);
}
.om-course-step .complete {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  gap: 0.7rem;
  height: 2.9rem;
  padding: 0 0.9rem 0 0.6rem;
  border: 1px solid rgba(var(--step-accent-rgb), 0.7);
  border-radius: 0.5rem;
  background: none;
  color: var(--step-fg);
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease;
}
.om-course-step .complete .box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border: 1.5px solid var(--step-accent);
  border-radius: 0.35rem;
  transition: background-color 160ms ease, border-color 160ms ease;
}
.om-course-step .complete .box .tick {
  width: 1.15rem;
  height: 1.15rem;
  background: var(--step-fg);
  opacity: 0;
  -webkit-mask: url("../../app/assets/img/icon-check.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-check.svg") center/contain no-repeat;
  transition: opacity 160ms ease;
}
.om-course-step .complete .label {
  position: relative;
  top: 0.1em;
  line-height: 1;
  white-space: nowrap;
}
.om-course-step .complete:hover, .om-course-step .complete:focus-visible {
  border-color: var(--step-accent);
  background: rgba(var(--step-accent-rgb), 0.18);
}
.om-course-step .complete.is-completed {
  gap: 0;
  width: 2.9rem;
  padding: 0;
  border-color: var(--step-accent);
  background: var(--step-accent);
}
.om-course-step .complete.is-completed .box {
  border-color: transparent;
  background: transparent;
}
.om-course-step .complete.is-completed .box .tick {
  opacity: 1;
}
.om-course-step .complete.is-completed .label {
  display: none;
}
.om-course-step .complete.is-completed:hover, .om-course-step .complete.is-completed:focus-visible {
  background: var(--step-accent);
  box-shadow: inset 0 0 0 10rem var(--step-veil);
}
.om-course-step .complete.is-busy {
  opacity: 0.5;
  pointer-events: none;
}
.om-course-step .next {
  display: inline-flex;
  align-items: center;
  gap: 0;
  min-width: 0;
  height: 2.9rem;
  padding: 0 0.9rem;
  border: 1px solid var(--step-accent);
  border-radius: 0.5rem;
  background: var(--step-accent);
  color: var(--step-fg);
  text-decoration: none;
  transition: gap 260ms ease, padding 260ms ease, box-shadow 160ms ease;
}
.om-course-step .next .text {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  overflow: hidden;
  max-width: 0;
  white-space: nowrap;
  opacity: 0;
  transition: max-width 320ms ease, opacity 220ms ease;
}
.om-course-step .next .direction {
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.7;
}
.om-course-step .next .name {
  overflow: hidden;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  text-overflow: ellipsis;
}
.om-course-step .next .arrow {
  transform: rotate(-90deg);
}
.om-course-step .next:hover, .om-course-step .next:focus-visible {
  box-shadow: inset 0 0 0 10rem var(--step-veil);
}
.om-course-step .next.is-expanded {
  gap: 0.9rem;
  padding: 0 1rem 0 1.2rem;
}
.om-course-step .next.is-expanded .text {
  max-width: 24rem;
  opacity: 1;
}

@media (max-width: 64rem) {
  .om-course-step .inner {
    grid-template-columns: 1fr;
    padding-right: var(--om-content-right);
    padding-bottom: 4rem;
  }
  .om-course-step .feature {
    order: -2;
  }
  .om-course-step .header .title {
    font-size: 2.7rem;
  }
  .om-course-step .previous {
    max-width: 100%;
  }
  .om-course-step .next.is-expanded .text {
    max-width: 12rem;
  }
}
@container (max-width: 40rem) {
  .om-course-step .previous .name,
  .om-course-step .next .name {
    display: none;
  }
}
@container (max-width: 28rem) {
  .om-course-step .previous {
    gap: 0;
    padding: 0 0.9rem;
  }
  .om-course-step .previous .direction {
    display: none;
  }
}
.om-live-recordings {
  margin: 6rem 0 0;
  padding: 5rem 0 8rem;
}
.om-live-recordings .om-hero-title {
  margin-bottom: 3rem;
}
.om-live-recordings::before {
  display: block;
  max-width: 96rem;
  height: 0.2rem;
  margin-bottom: 7rem;
  background: rgba(250, 241, 235, 0.18);
  -webkit-mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  content: "";
}
.om-live-recordings .empty {
  max-width: 34rem;
  margin: 0;
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 1.3rem;
  line-height: 1.5;
  color: rgba(250, 241, 235, 0.72);
}

@media (max-width: 64rem) {
  .om-live-recordings {
    --om-carousel-gap: 1.5rem;
  }
  .om-live-recordings .om-carousel-track {
    grid-auto-columns: minmax(15rem, 37vw);
  }
}
@media (max-width: 45rem) {
  .om-live-recordings {
    margin-top: 4rem;
    padding: 4rem 0 6rem;
  }
  .om-live-recordings::before {
    margin-bottom: 6rem;
  }
  .om-live-recordings .om-carousel-track {
    grid-auto-columns: minmax(18rem, 50vw);
  }
}
.om-live-recording-card {
  display: block;
  min-width: 0;
  scroll-snap-align: start;
  color: #faf1eb;
  text-decoration: none;
}
.om-live-recording-card:hover .play, .om-live-recording-card:focus-visible .play {
  background: rgba(250, 241, 235, 0.32);
}
.om-live-recording-card .media {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 1rem;
  aspect-ratio: 16/10;
  background: #455d59;
}
.om-live-recording-card .image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-live-recording-card .image.is-fallback {
  background: linear-gradient(145deg, rgba(255, 210, 42, 0.32), rgba(250, 241, 235, 0.08)), linear-gradient(35deg, #1f342f 0%, #78896a 50%, #b48263 100%);
}
.om-live-recording-card .overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 1rem;
  pointer-events: none;
}
.om-live-recording-card .play,
.om-live-recording-card .duration {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.7rem;
  background: rgba(250, 241, 235, 0.22);
  -webkit-backdrop-filter: blur(0.65rem);
  backdrop-filter: blur(0.65rem);
  color: #faf1eb;
}
.om-live-recording-card .play {
  width: 2.7rem;
  border-radius: 50%;
  transition: background-color 160ms ease;
}
.om-live-recording-card .play .icon {
  width: 1.05rem;
  height: 1.2rem;
}
.om-live-recording-card .duration {
  padding: 0 0.7rem;
  border-radius: 0.5rem;
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.om-live-recording-card .date {
  margin: 1.8rem 0 1rem;
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 1.3rem;
  color: rgba(250, 241, 235, 0.6);
}
.om-live-recording-card h3 {
  margin: 0;
  font-weight: 400;
  font-size: 2.1rem;
  line-height: 1.1;
  color: #faf1eb;
}

.om-home.om-sessions-pv-events {
  padding-top: 4rem;
  padding-bottom: 7rem;
}

.om-home.om-community-sessions-heading {
  width: min(100%, 64rem);
  margin-inline: auto;
  padding-bottom: 0;
}

.om-meditation-gather .create-session--responsive {
  display: none;
}

.om-meditation-gather {
  scroll-margin-top: 7rem;
  padding-bottom: 7rem;
}

.om-sessions-page .om-live-recordings {
  margin-top: 0;
  padding-top: 2rem;
}

.om-meditation-gather .session-filters {
  position: sticky;
  top: 7.4rem;
  z-index: 5;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 1rem;
  min-height: 5.4rem;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
  background: transparent;
  visibility: visible;
  transition: visibility 0s linear 0s;
}
.om-meditation-gather .session-filters .session-filter {
  padding-right: 1.2rem;
  padding-left: 1.2rem;
  font-size: 0.8rem;
  -webkit-backdrop-filter: blur(0.5rem);
  backdrop-filter: blur(0.5rem);
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, -webkit-backdrop-filter 180ms ease, backdrop-filter 180ms ease, transform 120ms ease;
}
.om-meditation-gather .session-filters .session-filter.is-active {
  border-color: #faf1eb;
  background: rgba(250, 241, 235, 0.85);
  opacity: 1;
}
.om-meditation-gather .session-filters .session-filter.is-active:hover, .om-meditation-gather .session-filters .session-filter.is-active:focus {
  background: rgba(250, 241, 235, 0.9);
}
.om-meditation-gather .session-filters .session-filter.is-active:active {
  background: rgba(250, 241, 235, 0.95);
}
.om-meditation-gather .session-filters .session-filter .label--short {
  display: none;
}
.om-meditation-gather .session-filters.use-short-labels .session-filter .label--full {
  display: none;
}
.om-meditation-gather .session-filters.use-short-labels .session-filter .label--short {
  display: inline;
}
.om-meditation-gather .session-filters .create-session {
  flex: 0 0 auto;
  margin-left: auto;
}
.om-meditation-gather .session-filters .create-session .label--short {
  display: none;
}
.om-meditation-gather .session-results {
  display: flow-root;
}
.om-meditation-gather .session-results {
  max-width: 64rem;
  margin-inline: auto;
}
.om-meditation-gather .session-columns {
  margin-top: 2.5rem;
}
.om-meditation-gather .session-column-title {
  max-width: none;
  margin: 0 0 1.8rem;
  color: #faf1eb;
  font-family: "Lavishe", sans-serif;
  font-size: 2.7rem;
  font-weight: 400;
  line-height: 1;
}
.om-meditation-gather .session-column-header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.om-meditation-gather .session-column--planned.has-month-headings .session-column-header {
  display: none;
}
.om-meditation-gather .session-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  margin: 0;
}
.om-meditation-gather .session-month-heading {
  max-width: none;
  margin: 3.5rem 0 0.8rem;
  color: #faf1eb;
  font-family: "Lavishe", sans-serif;
  font-size: 2.7rem;
  font-weight: 400;
  line-height: 1;
}
.om-meditation-gather .session-month-heading:first-of-type {
  margin-top: 0;
}
.om-meditation-gather .session-month-heading .session-month-prefix {
  opacity: 0.7;
}
.om-meditation-gather .session-column-empty {
  margin: 1.25rem 0 0;
  color: rgba(250, 241, 235, 0.7);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
}
.om-meditation-gather .load-more {
  display: flex;
  width: fit-content;
  margin: 2rem auto 0;
}
.om-meditation-gather .load-more[hidden] {
  display: none;
}
.om-meditation-gather .empty {
  margin: 2rem 0 0;
  color: rgba(250, 241, 235, 0.7);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
}

.om-sessions-page .om-hero-title .hero-attending {
  width: 80%;
  margin-top: 4rem;
}

.om-sessions-page .om-hero-title .hero-attending,
.om-practice-summary .om-upcoming-sessions {
  scroll-margin-top: 7rem;
}
.om-sessions-page .om-hero-title .hero-attending .attending-heading-tick,
.om-practice-summary .om-upcoming-sessions .attending-heading-tick {
  display: grid;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 50%;
  background: #ffd22a;
  flex: 0 0 1.35rem;
}
.om-sessions-page .om-hero-title .hero-attending .attending-heading-tick::before,
.om-practice-summary .om-upcoming-sessions .attending-heading-tick::before {
  display: block;
  width: 0.7rem;
  height: 0.56rem;
  background: #384b48;
  content: "";
  -webkit-mask: url("../../app/assets/img/icon-tick.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-tick.svg") center/contain no-repeat;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .session-card-control,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .session-card-control {
  display: none;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session[data-session-attending=true] .session-heading,
.om-practice-summary .om-upcoming-sessions .om-meditation-session[data-session-attending=true] .session-heading {
  padding-right: 2.3rem;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session[data-session-attending=true] .session-card-control,
.om-practice-summary .om-upcoming-sessions .om-meditation-session[data-session-attending=true] .session-card-control {
  display: grid;
  place-items: center;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  background: #ffd22a;
  border: 0;
  -webkit-mask: none;
  mask: none;
  transform: none;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session[data-session-attending=true] .session-card-control::before,
.om-practice-summary .om-upcoming-sessions .om-meditation-session[data-session-attending=true] .session-card-control::before {
  display: block;
  width: 0.75rem;
  height: 0.6rem;
  background: #384b48;
  content: "";
  -webkit-mask: url("../../app/assets/img/icon-tick.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-tick.svg") center/contain no-repeat;
}
.om-sessions-page .om-hero-title .hero-attending .session-column-header,
.om-practice-summary .om-upcoming-sessions .session-column-header {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 1rem;
  color: rgba(250, 241, 235, 0.95);
}
.om-sessions-page .om-hero-title .hero-attending .session-column-header .om-icon,
.om-practice-summary .om-upcoming-sessions .session-column-header .om-icon {
  width: 1.35rem;
  height: 1.35rem;
  color: #ffd22a;
}
.om-sessions-page .om-hero-title .hero-attending .session-column-title,
.om-practice-summary .om-upcoming-sessions .session-column-title {
  margin: 0;
  color: inherit;
  font-family: "Lavishe", sans-serif;
  font-size: 1.65rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
}
.om-sessions-page .om-hero-title .hero-attending .attending-calendar,
.om-practice-summary .om-upcoming-sessions .attending-calendar {
  display: flex;
  justify-content: center;
  margin-top: 1rem;
}
.om-sessions-page .om-hero-title .hero-attending .attending-calendar[hidden],
.om-practice-summary .om-upcoming-sessions .attending-calendar[hidden] {
  display: none;
}
.om-sessions-page .om-hero-title .hero-attending .session-list,
.om-practice-summary .om-upcoming-sessions .session-list {
  display: grid;
  gap: 0.6rem;
  box-sizing: border-box;
  margin: 0;
  padding: 0.6rem;
  border-radius: 1.3rem;
  background: #2d3c3a;
}
.om-sessions-page .om-hero-title .hero-attending .session-column-empty,
.om-practice-summary .om-upcoming-sessions .session-column-empty {
  margin: 0;
  padding: 0.8rem 1rem;
  border-radius: 0.7rem;
  background: rgba(120, 150, 145, 0.2);
  color: rgba(250, 241, 235, 0.7);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
}
.om-sessions-page .om-hero-title .hero-attending .session-column-empty[hidden],
.om-practice-summary .om-upcoming-sessions .session-column-empty[hidden] {
  display: none;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session,
.om-practice-summary .om-upcoming-sessions .om-meditation-session {
  grid-template-columns: 3.6rem minmax(0, 1fr);
  column-gap: 0.9rem;
  grid-template-areas: none;
  grid-template-rows: minmax(0, 1fr) auto;
  align-content: stretch;
  row-gap: 0.55rem;
  min-height: 4.4rem;
  padding: 0.4rem;
  border-radius: 0.7rem;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .date,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .date {
  display: grid;
  grid-column: 1;
  grid-row: 1/3;
  grid-template-rows: subgrid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: stretch;
  align-self: stretch;
  aspect-ratio: auto;
  min-height: 3.6rem;
  padding: 0;
  row-gap: 0.55rem;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .date .om-event-date,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .date .om-event-date {
  grid-row: 2;
  align-self: start;
  padding-top: 0.1rem;
  font-size: 0.8rem;
  line-height: 1.35;
  transform: none;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .date .om-event-date strong,
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .date .om-event-date span,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .date .om-event-date strong,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .date .om-event-date span {
  font-size: 0.8rem;
  line-height: inherit;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .date.has-image::after,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .date.has-image::after {
  background: linear-gradient(rgba(56, 75, 72, 0.5), rgba(56, 75, 72, 0.5)), linear-gradient(transparent 25%, rgba(0, 0, 0, 0.8));
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .session-host,
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .session-capacity,
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .session-attending-label,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .session-host,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .session-capacity,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .session-attending-label {
  display: none;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session > .om-active-users-cluster,
.om-practice-summary .om-upcoming-sessions .om-meditation-session > .om-active-users-cluster {
  right: 0.7rem;
  bottom: 0.6rem;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .attendees .avatar,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .attendees .avatar {
  width: 1.3rem;
  height: 1.3rem;
  margin-left: -0.35rem;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .attendees .avatar-count,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .attendees .avatar-count {
  font-size: 0.6rem;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .attendees .avatar:not(.avatar--count):nth-child(n+4),
.om-practice-summary .om-upcoming-sessions .om-meditation-session .attendees .avatar:not(.avatar--count):nth-child(n+4) {
  display: none;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .date .session-host-avatar,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .date .session-host-avatar {
  display: flex;
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  justify-self: center;
  width: 1.3rem;
  height: 1.3rem;
  margin-top: 0.4rem;
  z-index: 1;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .date .session-host-avatar.is-placeholder::before,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .date .session-host-avatar.is-placeholder::before {
  width: 0.7rem;
  height: 0.7rem;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .details,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .details {
  display: contents;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .session-heading,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .session-heading {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  gap: 0.6rem;
  padding: 0.25rem 0 0;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .session-card-controls,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .session-card-controls {
  position: absolute;
  top: 0.7rem;
  right: 0.7rem;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .title,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .title {
  font-size: 1.15rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .session-meta,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .session-meta {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  padding: 0.1rem 4.5rem 0.3rem 0;
  transform: none;
  line-height: 1.35;
  font-size: 0.8rem;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .time,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .time {
  font-size: 0.8rem;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .session-status,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .session-status {
  margin: 0;
  padding: 0;
  background: none;
  color: #ffd22a;
  font-weight: 700;
  letter-spacing: 0;
  transform: none;
}
.om-sessions-page .om-hero-title .hero-attending .om-meditation-session .session-status::before,
.om-practice-summary .om-upcoming-sessions .om-meditation-session .session-status::before {
  display: none;
}

.om-meditation-session.is-revealing,
.om-meditation-gather .load-more.is-revealing {
  animation: omMeditationSessionReveal 1s ease-out both;
  animation-delay: calc(var(--om-session-reveal-index, 0) * 40ms);
}

.om-create-session-dialog .pv-dialog__panel, .om-session-reflection .pv-dialog__panel {
  width: min(100%, 42rem);
}
.om-create-session-dialog h2, .om-session-reflection h2 {
  margin: 0 3rem 0.6rem 0;
  color: #384b48;
  font-family: "Lavishe", sans-serif;
  font-size: 2.1rem;
  font-weight: 400;
  line-height: 1.15;
}
.om-create-session-dialog .intro, .om-session-reflection .intro {
  margin: 0 0 1.6rem;
  color: rgba(56, 75, 72, 0.72);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  line-height: 1.5;
}
.om-create-session-dialog .om-create-session-form, .om-session-reflection .om-create-session-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.om-create-session-dialog .field, .om-session-reflection .field {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
}
.om-create-session-dialog .field--full, .om-create-session-dialog .field.field--full, .om-session-reflection .field--full, .om-session-reflection .field.field--full {
  grid-column: 1/-1;
}
.om-create-session-dialog .form-floating, .om-session-reflection .form-floating {
  position: relative;
  gap: 0;
}
.om-create-session-dialog .form-floating > input,
.om-create-session-dialog .form-floating > select,
.om-create-session-dialog .form-floating > textarea, .om-session-reflection .form-floating > input,
.om-session-reflection .form-floating > select,
.om-session-reflection .form-floating > textarea {
  box-sizing: border-box;
  width: 100%;
  height: calc(3.5rem + 2px);
  padding: 1rem;
  border: 1px solid rgba(56, 75, 72, 0.2);
  border-radius: 0.5rem;
  background: #fff;
  color: #384b48;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1rem;
  line-height: 1.25;
}
.om-create-session-dialog .form-floating > input::placeholder,
.om-create-session-dialog .form-floating > select::placeholder,
.om-create-session-dialog .form-floating > textarea::placeholder, .om-session-reflection .form-floating > input::placeholder,
.om-session-reflection .form-floating > select::placeholder,
.om-session-reflection .form-floating > textarea::placeholder {
  color: transparent;
}
.om-create-session-dialog .form-floating > input:focus,
.om-create-session-dialog .form-floating > select:focus,
.om-create-session-dialog .form-floating > textarea:focus, .om-session-reflection .form-floating > input:focus,
.om-session-reflection .form-floating > select:focus,
.om-session-reflection .form-floating > textarea:focus {
  outline: none;
  border-color: #ffd22a;
  box-shadow: 0 0 0 0.18rem rgba(255, 210, 42, 0.35);
}
.om-create-session-dialog .form-floating > input:read-only,
.om-create-session-dialog .form-floating > textarea:read-only, .om-session-reflection .form-floating > input:read-only,
.om-session-reflection .form-floating > textarea:read-only {
  background: rgba(56, 75, 72, 0.06);
  cursor: default;
}
.om-create-session-dialog .form-floating > textarea, .om-session-reflection .form-floating > textarea {
  height: auto;
  min-height: 6.5rem;
  resize: vertical;
}
.om-create-session-dialog .form-floating > textarea ~ label, .om-session-reflection .form-floating > textarea ~ label {
  align-items: flex-start;
  height: auto;
  padding-top: 1rem;
}
.om-create-session-dialog .form-floating > input:not(:placeholder-shown),
.om-create-session-dialog .form-floating > textarea:not(:placeholder-shown), .om-session-reflection .form-floating > input:not(:placeholder-shown),
.om-session-reflection .form-floating > textarea:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.om-create-session-dialog .form-floating > input[type=date]::-webkit-datetime-edit, .om-create-session-dialog .form-floating > input[type=date]::-webkit-datetime-edit-fields-wrapper, .om-create-session-dialog .form-floating > input[type=date]::-webkit-date-and-time-value,
.om-create-session-dialog .form-floating > input[type=time]::-webkit-datetime-edit,
.om-create-session-dialog .form-floating > input[type=time]::-webkit-datetime-edit-fields-wrapper,
.om-create-session-dialog .form-floating > input[type=time]::-webkit-date-and-time-value, .om-session-reflection .form-floating > input[type=date]::-webkit-datetime-edit, .om-session-reflection .form-floating > input[type=date]::-webkit-datetime-edit-fields-wrapper, .om-session-reflection .form-floating > input[type=date]::-webkit-date-and-time-value,
.om-session-reflection .form-floating > input[type=time]::-webkit-datetime-edit,
.om-session-reflection .form-floating > input[type=time]::-webkit-datetime-edit-fields-wrapper,
.om-session-reflection .form-floating > input[type=time]::-webkit-date-and-time-value {
  margin: 0;
  padding: 0;
  text-align: left;
}
@supports (-moz-appearance: none) {
  .om-create-session-dialog .form-floating > input,
  .om-create-session-dialog .form-floating > textarea, .om-session-reflection .form-floating > input,
  .om-session-reflection .form-floating > textarea {
    padding-left: calc(1rem - 1px);
  }
  .om-create-session-dialog .form-floating > input[type=date],
  .om-create-session-dialog .form-floating > input[type=time], .om-session-reflection .form-floating > input[type=date],
  .om-session-reflection .form-floating > input[type=time] {
    padding-left: calc(1rem - 4px);
  }
  .om-create-session-dialog .form-floating > select, .om-session-reflection .form-floating > select {
    padding-left: calc(1rem - 2px) !important;
  }
}
.om-create-session-dialog .form-floating > select, .om-session-reflection .form-floating > select {
  -webkit-appearance: none;
  appearance: none;
  padding: 1.625rem 2.5rem 0.5rem 1rem;
  background-image: url("../../app/assets/img/icon-dropdown.svg");
  background-position: right 1rem center;
  background-repeat: no-repeat;
  background-size: 0.75rem auto;
}
.om-create-session-dialog .form-floating > label, .om-session-reflection .form-floating > label {
  position: absolute;
  inset: 0 0 auto;
  display: flex;
  align-items: center;
  height: calc(3.5rem + 2px);
  margin: 0;
  padding: 0 1rem;
  color: rgba(56, 75, 72, 0.65);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.25;
  pointer-events: none;
  transform-origin: left center;
  transition: transform 0.12s ease, color 0.12s ease;
}
.om-create-session-dialog .form-floating > input:not(:placeholder-shown) ~ label,
.om-create-session-dialog .form-floating > select ~ label,
.om-create-session-dialog .form-floating > textarea:not(:placeholder-shown) ~ label, .om-session-reflection .form-floating > input:not(:placeholder-shown) ~ label,
.om-session-reflection .form-floating > select ~ label,
.om-session-reflection .form-floating > textarea:not(:placeholder-shown) ~ label {
  color: rgba(56, 75, 72, 0.65);
  transform: scale(0.85) translateY(-0.8rem) translateX(0.15rem);
}
.om-create-session-dialog .field-counter, .om-session-reflection .field-counter {
  align-self: flex-end;
  margin-top: 0.35rem;
  color: rgba(56, 75, 72, 0.58);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.72rem;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.om-create-session-dialog .response-message, .om-session-reflection .response-message {
  grid-column: 1/-1;
  margin: 0;
  padding: 0.75rem 0.9rem;
  border-radius: 0.5rem;
  background: rgba(120, 150, 145, 0.22);
  color: #384b48;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.8rem;
}
.om-create-session-dialog .response-message.error, .om-session-reflection .response-message.error {
  background: rgba(234, 67, 52, 0.12);
  color: #ea4334;
}
.om-create-session-dialog .response-message[hidden], .om-session-reflection .response-message[hidden] {
  display: none;
}
.om-create-session-dialog .form-actions, .om-session-reflection .form-actions {
  display: flex;
  grid-column: 1/-1;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  margin-top: 0.25rem;
}
.om-create-session-dialog .delete-session:not([hidden]), .om-session-reflection .delete-session:not([hidden]) {
  margin-right: auto;
}
.om-create-session-dialog .submit-session, .om-session-reflection .submit-session {
  margin-left: auto;
}

.om-session-detail-dialog {
  align-items: flex-start;
  overflow-y: auto;
}
.om-session-detail-dialog .pv-dialog__panel {
  width: min(100%, var(--om-session-detail-width, 52rem));
  max-height: none;
  overflow: visible;
  margin-top: auto;
  margin-bottom: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #faf1eb;
  box-shadow: none;
  pointer-events: none;
}

body.om-session-dialog-open .session-filters {
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0s linear 180ms;
}
body.om-session-dialog-open .session-filters .session-filter[data-om-session-filter] {
  border-color: transparent;
  background: transparent;
  color: transparent;
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
}
body.om-session-dialog-open .om-header {
  z-index: 1001;
}
body.om-session-dialog-open .om-header-cluster {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.om-session-detail-dialog [data-om-session-card-slot] {
  width: 100%;
  pointer-events: auto;
}
.om-session-detail-dialog .om-meditation-session--modal {
  z-index: 1;
}
.om-session-detail-dialog .session-attendees {
  pointer-events: auto;
}
.om-session-detail-dialog .session-attendees .inner {
  box-sizing: border-box;
  padding: 0 1.4rem;
  border-radius: 0 0 0.9rem 0.9rem;
  background: linear-gradient(rgba(120, 150, 145, 0.4), rgba(120, 150, 145, 0.4)), #384b48;
  box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, 0.3);
}
.om-session-detail-dialog .session-attendees .inner .list:not(:empty),
.om-session-detail-dialog .session-attendees .inner .status:not([hidden]) {
  margin-bottom: 1.4rem;
}
.om-session-detail-dialog .session-attendees .title {
  margin-top: 1.4rem;
}
.om-session-detail-dialog .session-attendees .scroll {
  margin-right: -1.4rem;
  padding-right: 1.4rem;
}
.om-session-detail-dialog .session-attendees .collapse {
  --om-attendee-list-caret-top: 1.1rem;
  --om-attendee-list-caret-right: 1.35rem;
}
.om-session-detail-dialog .om-meditation-session--modal.is-attendees-open.is-upcoming, .om-session-detail-dialog .om-meditation-session--modal.is-attendees-open.is-ongoing {
  box-shadow: inset 1px 0 0 rgba(255, 210, 42, 0.4), inset -1px 0 0 rgba(255, 210, 42, 0.4), inset 0 1px 0 rgba(255, 210, 42, 0.4), 0 1.25rem 3rem rgba(0, 0, 0, 0.3);
}
.om-session-detail-dialog [data-om-session-card-slot]:has(.om-meditation-session--modal.is-upcoming, .om-meditation-session--modal.is-ongoing) + .session-attendees .inner {
  box-shadow: inset 1px 0 0 rgba(255, 210, 42, 0.4), inset -1px 0 0 rgba(255, 210, 42, 0.4), inset 0 -1px 0 rgba(255, 210, 42, 0.4), 0 1.25rem 3rem rgba(0, 0, 0, 0.3);
}
.om-session-detail-dialog .session-detail-action {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  margin-top: 2rem;
  pointer-events: none;
}
.om-session-detail-dialog .session-edit,
.om-session-detail-dialog .session-attend,
.om-session-detail-dialog .session-join {
  opacity: 1;
  pointer-events: auto;
}
.om-session-detail-dialog .session-edit[hidden],
.om-session-detail-dialog .session-attend[hidden],
.om-session-detail-dialog .session-join[hidden] {
  display: none;
}
.om-session-detail-dialog .session-attend.is-feedback-instant .feedback,
.om-session-detail-dialog .session-attend.is-feedback-instant .feedback .spinner,
.om-session-detail-dialog .session-attend.is-feedback-instant .tick {
  transition: none !important;
}
.om-session-detail-dialog .session-edit[hidden] {
  display: none;
}
.om-session-detail-dialog .session-attend-notice {
  margin: 2rem auto 0;
  pointer-events: auto;
}
.om-session-detail-dialog .session-share {
  width: 100%;
  max-width: 36rem;
  margin: 2rem auto 0;
  pointer-events: auto;
}
.om-session-detail-dialog .session-share::before {
  display: block;
  height: 0.2rem;
  margin-bottom: 2rem;
  background: rgba(250, 241, 235, 0.18);
  -webkit-mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  content: "";
}
.om-session-detail-dialog .session-share .title {
  text-align: center;
}
.om-session-detail-dialog .session-share .links {
  justify-content: center;
}
.om-session-detail-dialog .session-attend-message {
  display: block;
  margin-top: 0.75rem;
  color: #faf1eb;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.8rem;
  text-align: center;
  pointer-events: auto;
}
.om-session-detail-dialog .session-attend-message[hidden] {
  display: none;
}
.om-session-detail-dialog .session-calendar {
  margin: 0;
  text-align: center;
  pointer-events: auto;
}
.om-session-detail-dialog .session-calendar[hidden] {
  display: none;
}

.om-create-session-dialog .delete-session[hidden] {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .om-meditation-session.is-revealing,
  .om-meditation-gather .load-more.is-revealing {
    animation: none;
  }
}
@keyframes omMeditationSessionReveal {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (max-width: 45rem) {
  .om-meditation-gather .create-session--responsive {
    display: flex;
    width: 100%;
    margin-bottom: 1rem;
  }
  .om-meditation-gather .session-filters {
    top: 6rem;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--om-content-left);
    min-height: 0;
    padding: 1rem 0;
  }
  .om-meditation-gather .session-filters .session-filter {
    width: 100%;
    min-width: 0;
    padding-right: 0.35rem;
    padding-left: 0.35rem;
    letter-spacing: 0.06em;
  }
  .om-meditation-gather .session-filters .session-filter .label--full {
    display: none;
  }
  .om-meditation-gather .session-filters .session-filter .label--short {
    display: inline;
  }
  .om-meditation-gather .session-filters .create-session {
    display: none;
  }
  .om-sessions-page .om-hero-title .hero-attending {
    width: 100%;
    margin-top: 1.6rem;
  }
  .om-sessions-page .om-hero-title .hero-attending .session-column-header {
    flex-wrap: wrap;
  }
  .om-session-detail-dialog {
    padding: 0.75rem;
  }
  .om-session-detail-dialog .pv-dialog__panel {
    padding-top: 0;
  }
  .om-create-session-dialog, .om-session-reflection {
    padding: 0.75rem;
  }
  .om-create-session-dialog .pv-dialog__panel, .om-session-reflection .pv-dialog__panel {
    max-height: calc(100vh - 1.5rem);
    padding: 1.5rem;
  }
  .om-create-session-dialog .om-create-session-form, .om-session-reflection .om-create-session-form {
    grid-template-columns: minmax(0, 1fr);
  }
  .om-create-session-dialog .field--full,
  .om-create-session-dialog .field.field--full,
  .om-create-session-dialog .response-message,
  .om-create-session-dialog .form-actions, .om-session-reflection .field--full,
  .om-session-reflection .field.field--full,
  .om-session-reflection .response-message,
  .om-session-reflection .form-actions {
    grid-column: 1;
  }
}
@media (min-width: 45.01rem) and (max-width: 64rem) {
  .om-meditation-gather .session-filters {
    top: 6rem;
  }
}
.om-create-session-form .session-people[hidden] {
  display: none;
}
.om-create-session-form .session-people .selected-people,
.om-create-session-form .session-people .people-results {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.om-create-session-form .session-people .person-choice {
  border: 1px solid rgba(56, 75, 72, 0.25);
  border-radius: 100rem;
  padding: 0.5rem 0.8rem;
  background: white;
  color: #384b48;
  cursor: pointer;
}
.om-create-session-form .session-people .selected-people .person-choice {
  background: rgba(120, 150, 145, 0.2);
}
.om-create-session-form .session-people .person-choice:disabled {
  opacity: 0.5;
  cursor: default;
}
.om-create-session-form .session-people [role=status] {
  margin: 0;
  font-size: 0.8rem;
}

.om-create-session-form [data-session-location-field][hidden] {
  display: none;
}

body.om-meditation-scroll-locked {
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  overflow: hidden;
}

.om-layout[aria-hidden=true] {
  pointer-events: none;
  user-select: none;
}

.om-meditation-overlay {
  --om-shell-max: 120rem;
  --om-content-left: 16.2rem;
  --om-meditation-video-scale: 1.02;
  position: fixed;
  inset: 0;
  z-index: 1000;
  min-width: 20rem;
  overflow: hidden;
  color: #faf1eb;
  background: #384b48;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1.2s ease, visibility 0ms linear 1.2s;
}
.om-meditation-overlay.is-open {
  opacity: 1;
  visibility: visible;
  transition-delay: 0ms;
}
.om-meditation-overlay:focus, .om-meditation-overlay:focus-visible {
  outline: none;
}
.om-meditation-overlay.is-closing {
  pointer-events: auto;
}
.om-meditation-overlay.is-closing * {
  pointer-events: none;
}

.om-meditation-footer {
  position: absolute;
  z-index: 3;
}

.om-meditation-top-controls {
  --top-controls-gutter: 2.75;
  --top-controls-compact: 0;
  position: absolute;
  top: 2.75rem;
  right: 2.75rem;
  z-index: 3;
  display: flex;
  gap: 0.7rem;
}
.om-meditation-top-controls .om-meditation-fullscreen {
  display: inline-flex;
}

@media (max-width: 64rem) {
  .om-meditation-top-controls {
    --top-controls-gutter: 1;
    --top-controls-compact: 1;
    right: 1rem;
  }
}
.om-meditation-page {
  position: absolute;
  min-height: 100dvh;
  opacity: 1;
  visibility: visible;
  transition: none;
}

.om-layout.om-layout--meditate {
  width: 100%;
  max-width: none;
  height: 100dvh;
  min-height: 100dvh;
}
.om-layout.om-layout--meditate .om-main--meditate {
  position: absolute;
  inset: 0;
  padding: 0;
  min-height: 100dvh;
}

.om-meditation-overlay {
  --space-video-fade: 2s;
}

.om-meditation-stage,
.om-meditation-fallback,
.om-meditation-layer {
  position: absolute;
  inset: 0;
}

.om-meditation-stage {
  z-index: 0;
  background: #384b48;
}

.om-meditation-fallback {
  z-index: 0;
  transform: scale(1.02);
  transition: background 650ms ease;
  background: #384b48;
}

.om-meditation-layer {
  z-index: 1;
  overflow: hidden;
  opacity: 0;
  transform: scale(1);
  filter: blur(0);
  transition: opacity var(--space-video-fade) ease, transform 2s ease, filter 2s ease;
}
.om-meditation-layer.is-active {
  opacity: 1;
  transform: scale(var(--om-meditation-video-scale));
}
.om-meditation-layer.is-blurred {
  filter: blur(0.5rem);
  transition-duration: 2s, 2s, 5s;
}
.om-meditation-layer.is-entering {
  z-index: 2;
}
.om-meditation-layer.is-leaving {
  z-index: 1;
  transform: scale(1);
}
.om-meditation-overlay.is-arriving .om-meditation-layer.is-active {
  transform: scale(1);
  transition: none;
}
.om-meditation-layer.is-cut {
  transition: none;
}
.om-meditation-layer [hidden] {
  display: none;
}

.om-meditation-video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.om-meditation-embed {
  --om-embed-wide-w: 16;
  --om-embed-wide-h: 9;
  --om-embed-tall-w: 4;
  --om-embed-tall-h: 3;
  position: absolute;
  top: 50%;
  left: 50%;
  width: max(100%, 100vh * var(--om-embed-wide-w) / var(--om-embed-wide-h));
  height: max(100%, 100vw * var(--om-embed-tall-h) / var(--om-embed-tall-w));
  border: 0;
  background: transparent;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.om-meditation-header {
  display: none;
  z-index: 3;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  pointer-events: none;
}
.om-meditation-header .om-site-title {
  color: #faf1eb;
  pointer-events: auto;
}

.om-meditation-space-toggle {
  display: none;
}
.om-meditation-space-toggle .thumb {
  position: relative;
  display: block;
  flex: 0 0 2rem;
  width: 2rem;
  min-width: 2rem;
  max-width: 2rem;
  height: 2rem;
  min-height: 2rem;
  max-height: 2rem;
  overflow: hidden;
  border: 1px solid rgba(250, 241, 235, 0.72);
  border-radius: 50%;
  background: rgba(250, 241, 235, 0.25);
}
.om-meditation-space-toggle .thumb img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transition: opacity 1s ease;
}
.om-meditation-space-toggle .thumb img.is-entering, .om-meditation-space-toggle .thumb img.is-leaving {
  opacity: 0;
}
.om-meditation-space-toggle .spinner {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 1rem;
  height: 1rem;
  color: #faf1eb;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  opacity: 0;
  transition: opacity 520ms ease;
}
.om-meditation-space-toggle .spinner::before, .om-meditation-space-toggle .spinner::after {
  position: absolute;
  inset: 0;
  border: 2px solid currentColor;
  border-radius: 50%;
  content: "";
  transform: rotate(0deg);
}
.om-meditation-space-toggle .spinner::before {
  opacity: 0.28;
}
.om-meditation-space-toggle .spinner::after {
  border-top-color: transparent;
}

.om-meditation-header-cluster {
  pointer-events: none;
}
.om-meditation-header-cluster .om-header-secondary {
  pointer-events: auto;
}

.om-meditation-active-users {
  justify-content: center;
}

.om-meditation-active-users-frame {
  display: grid;
  grid-row: 1;
  justify-content: center;
  min-height: 2.3rem;
}

.om-meditation-active-users-frame > * {
  grid-area: 1/1;
}

.om-meditation-mobile-active-users {
  display: none;
  opacity: 1;
  transition: opacity 300ms ease;
}

.om-meditation-close {
  pointer-events: auto;
}
.om-meditation-close .om-icon--close {
  width: 1.2em;
  height: 1.2em;
}
.om-meditation-close--icon.om-button, .magic-login-modal .om-meditation-close--icon.btn-submit {
  position: absolute;
  top: 50%;
  right: 0.3rem;
  width: 2.9rem;
  min-width: 2.9rem;
  max-width: 2.9rem;
  height: 2.9rem;
  min-height: 2.9rem;
  max-height: 2.9rem;
  padding: 0;
  border-color: rgba(250, 241, 235, 0);
  color: rgba(250, 241, 235, 0);
  background: rgba(250, 241, 235, 0);
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50%);
}
.om-meditation-close--icon.om-button:hover, .magic-login-modal .om-meditation-close--icon.btn-submit:hover, .om-meditation-close--icon.om-button:focus, .magic-login-modal .om-meditation-close--icon.btn-submit:focus, .om-meditation-close--icon.om-button:active, .magic-login-modal .om-meditation-close--icon.btn-submit:active {
  border-color: rgba(250, 241, 235, 0);
  background: rgba(250, 241, 235, 0);
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.om-meditation-close--icon.om-button:active, .magic-login-modal .om-meditation-close--icon.btn-submit:active {
  transform: translateY(-50%) scale(0.996);
}

.om-meditation-fullscreen.om-button, .magic-login-modal .om-meditation-fullscreen.btn-submit,
.om-meditation-audio-master.om-button,
.magic-login-modal .om-meditation-audio-master.btn-submit {
  width: 2.9rem;
  padding-right: 0;
  padding-left: 0;
  border: 0;
  color: #1d2622;
  background: rgba(250, 241, 235, 0.8);
  box-shadow: inset 0 0 0 1px #faf1eb;
  -webkit-backdrop-filter: blur(1rem);
  backdrop-filter: blur(1rem);
  pointer-events: auto;
}
.om-meditation-fullscreen.om-button:hover, .magic-login-modal .om-meditation-fullscreen.btn-submit:hover, .om-meditation-fullscreen.om-button:focus, .magic-login-modal .om-meditation-fullscreen.btn-submit:focus, .om-meditation-fullscreen.om-button:focus-visible, .magic-login-modal .om-meditation-fullscreen.btn-submit:focus-visible, .om-meditation-fullscreen.om-button:active, .magic-login-modal .om-meditation-fullscreen.btn-submit:active,
.om-meditation-audio-master.om-button:hover,
.magic-login-modal .om-meditation-audio-master.btn-submit:hover,
.om-meditation-audio-master.om-button:focus,
.magic-login-modal .om-meditation-audio-master.btn-submit:focus,
.om-meditation-audio-master.om-button:focus-visible,
.magic-login-modal .om-meditation-audio-master.btn-submit:focus-visible,
.om-meditation-audio-master.om-button:active,
.magic-login-modal .om-meditation-audio-master.btn-submit:active {
  color: #1d2622;
  background: rgba(250, 241, 235, 0.8);
}
.om-meditation-fullscreen.om-button .om-icon--fullscreen, .magic-login-modal .om-meditation-fullscreen.btn-submit .om-icon--fullscreen,
.om-meditation-audio-master.om-button .om-icon--fullscreen,
.magic-login-modal .om-meditation-audio-master.btn-submit .om-icon--fullscreen {
  width: 1.2em;
  height: 1.2em;
}

.om-meditation-footer {
  left: max(2.5rem, env(safe-area-inset-left));
  bottom: max(2.5rem, env(safe-area-inset-bottom));
  display: grid;
  justify-items: start;
  gap: 2rem;
}

.om-meditation-audio-master .om-icon {
  position: relative;
  background: none;
  -webkit-mask-image: none;
  mask-image: none;
}
.om-meditation-audio-master .om-icon > span {
  position: absolute;
  inset: 0;
}
.om-meditation-audio-master .om-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}
.om-meditation-audio-master .om-icon svg path {
  fill: currentColor !important;
}
.om-meditation-audio-master .om-icon .sound-off {
  opacity: 0;
}

.om-meditation-audio-master[aria-pressed=true] .om-icon .sound-on {
  opacity: 0;
}
.om-meditation-audio-master[aria-pressed=true] .om-icon .sound-off {
  opacity: 1;
}

.om-meditation-overlay .om-meditation-top-controls .om-button, .om-meditation-overlay .om-meditation-top-controls .magic-login-modal .btn-submit, .magic-login-modal .om-meditation-overlay .om-meditation-top-controls .btn-submit {
  box-sizing: border-box;
  flex: 0 0 2.9rem;
  width: 2.9rem;
  min-width: 2.9rem;
  max-width: 2.9rem;
  height: 2.9rem;
  min-height: 2.9rem;
  max-height: 2.9rem;
  padding: 0;
}

.om-meditation-overlay .om-meditation-top-controls .om-meditation-audio-master .om-icon {
  flex: 0 0 1.32rem;
  width: 1.32rem;
  height: 1.32rem;
}

@media (hover: hover) and (pointer: fine) {
  .om-meditation-logo .om-site-logo,
  .om-meditation-close--full,
  .om-meditation-close--icon,
  .om-meditation-active-users-frame .avatar,
  .om-meditation-active-users-frame .avatar::before,
  .om-meditation-active-users-frame .avatar-image,
  .om-meditation-active-users-frame .copy,
  .om-meditation-spaces .space {
    transition-duration: 2s;
    transition-timing-function: ease;
  }
  .om-meditation-active-users-frame .avatar {
    transition-property: background-color, border-color, box-shadow, -webkit-backdrop-filter, backdrop-filter, visibility;
  }
  .om-meditation-active-users-frame .avatar::before {
    transition-property: background-color;
  }
  .om-meditation-close--full,
  .om-meditation-close--icon {
    transition-property: border-color, color, background-color, opacity, -webkit-backdrop-filter, backdrop-filter;
  }
  .om-meditation-logo .om-site-logo {
    -webkit-backdrop-filter: blur(0);
    backdrop-filter: blur(0);
    transition-property: background-color, -webkit-backdrop-filter, backdrop-filter;
  }
  .om-meditation-close--full {
    transition-delay: 0.5s;
  }
  .om-meditation-active-users-frame .avatar-image,
  .om-meditation-active-users-frame .copy,
  .om-meditation-spaces .space {
    transition-property: opacity;
  }
  .om-meditation-close--full:active {
    transition-property: background-color, transform;
    transition-duration: 120ms;
    transition-delay: 0s;
    transition-timing-function: ease;
  }
  .om-meditation-close--icon.om-button:active, .magic-login-modal .om-meditation-close--icon.btn-submit:active {
    transition-property: background-color, transform;
    transition-duration: 120ms;
    transition-delay: 0s;
    transition-timing-function: ease;
  }
  .om-meditation-overlay.is-ui-idle {
    --om-avatar-placeholder-bg: rgba(250, 241, 235, 0);
    --om-avatar-placeholder-icon: rgba(29, 38, 34, 0);
    --om-avatar-border: rgba(250, 241, 235, 0);
    --om-avatar-placeholder-backdrop: blur(0);
  }
  .om-meditation-overlay.is-ui-idle,
  .om-meditation-overlay.is-ui-idle * {
    cursor: none !important;
  }
  .om-meditation-overlay.is-ui-idle .om-meditation-active-users-frame .copy,
  .om-meditation-overlay.is-ui-idle .om-meditation-spaces .space {
    opacity: 0;
    transition-duration: 4s;
  }
  .om-meditation-overlay.is-ui-idle .om-meditation-active-users-frame .avatar {
    box-shadow: 0 0 0.3rem rgba(0, 0, 0, 0);
    visibility: hidden;
    transition-duration: 4s, 4s, 4s, 4s, 4s, 0s;
    transition-delay: 0s, 0s, 0s, 0s, 0s, 4s;
  }
  .om-meditation-overlay.is-ui-idle .om-meditation-active-users-frame .avatar::before {
    transition-duration: 4s;
  }
  .om-meditation-overlay.is-ui-idle .om-meditation-active-users-frame .avatar-image {
    opacity: 0;
    transition-duration: 4s;
  }
  .om-meditation-overlay.is-ui-idle .om-meditation-close--full {
    border-color: rgba(250, 241, 235, 0);
    color: rgba(250, 241, 235, 0);
    background: rgba(250, 241, 235, 0);
    -webkit-backdrop-filter: blur(0);
    backdrop-filter: blur(0);
    transition-duration: 4s;
    transition-delay: 0s;
  }
  .om-meditation-overlay.is-ui-idle .om-meditation-logo .om-site-logo {
    background-color: rgba(250, 241, 235, 0.35);
    -webkit-backdrop-filter: blur(1rem);
    backdrop-filter: blur(1rem);
    transition-duration: 4s;
  }
  .om-meditation-overlay.is-ui-idle .om-meditation-close--icon {
    border-color: rgba(250, 241, 235, 0);
    color: #faf1eb;
    background: rgba(250, 241, 235, 0);
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    opacity: 0.5;
    pointer-events: auto;
    transition-duration: 4s;
    transition-delay: 1s;
  }
}
.om-meditation-overlay .om-meditation-header,
.om-meditation-overlay .om-meditation-mobile-active-users {
  transition: opacity 2s ease, visibility 0s;
}
.om-meditation-overlay.is-session-started .om-meditation-header,
.om-meditation-overlay.is-session-started .om-meditation-mobile-active-users {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 4s ease, visibility 0s 4s;
}

@media (prefers-reduced-motion: reduce) {
  .om-meditation-overlay .om-meditation-header,
  .om-meditation-overlay .om-meditation-mobile-active-users {
    transition: none !important;
  }
}
.om-meditation-overlay .om-meditation-footer {
  transition: visibility 0s;
}

.om-meditation-overlay.is-session-started .om-meditation-footer {
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0s 4s;
}

@media (prefers-reduced-motion: reduce) {
  .om-meditation-overlay .om-meditation-footer {
    transition: none;
  }
}
.om-meditation-top-controls.is-under-navigation .om-meditation-fullscreen {
  display: none;
}

@media (max-width: 64rem) {
  .om-meditation-space-toggle {
    position: relative;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    padding: 0.6rem 1.1rem 0.6rem 0.6rem;
    border: 0;
    border-radius: 0.5rem;
    color: #faf1eb;
    font-size: 1.3rem;
    line-height: 1;
    background: rgba(250, 241, 235, 0.14);
    -webkit-backdrop-filter: blur(1rem);
    backdrop-filter: blur(1rem);
    box-shadow: none;
    cursor: pointer;
    pointer-events: auto;
    transform: none;
    transition: 0.1s;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    user-select: none;
  }
  .om-meditation-space-toggle:active {
    background: rgba(250, 241, 235, 0.1);
    transform: scale(0.999);
    will-change: transform;
  }
  .om-meditation-space-toggle .label {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    align-self: auto;
    flex: 0 1 auto;
    min-width: 0;
    max-width: none;
    color: #faf1eb;
    font-family: "Lavishe", sans-serif;
    font-size: 1.1rem;
    line-height: 1;
    text-align: left;
    white-space: nowrap;
    transition: none;
  }
  .om-meditation-space-toggle .icon {
    display: block;
    flex: 0 0 1rem;
    width: 0.9rem;
    min-width: 0.9rem;
    max-width: 0.9rem;
    height: 0.9rem;
    min-height: 0.9rem;
    max-height: 0.9rem;
    background: currentColor;
    -webkit-mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
    mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
    transform: none;
    transition: none;
  }
  .om-meditation-space-toggle[aria-expanded=true] .icon {
    transform: rotate(180deg);
  }
  .om-meditation-overlay.is-space-switcher-open .om-meditation-mobile-active-users {
    opacity: 0;
  }
  .om-meditation-header-cluster {
    display: flex;
  }
  .om-meditation-mobile-active-users {
    position: absolute;
    top: 6rem;
    left: 50%;
    z-index: 3;
    display: flex;
    justify-content: center;
    width: calc(100% - 2.4rem);
    pointer-events: none;
    transform: translateX(-50%);
  }
  .om-meditation-active-users-frame,
  .om-meditation-close--icon {
    display: none;
  }
  .om-meditation-close--full {
    width: var(--om-header-action-size);
    min-width: var(--om-header-action-size);
    max-width: var(--om-header-action-size);
    padding: 0;
  }
  .om-meditation-close--full .label {
    display: none;
  }
  .om-meditation-footer {
    top: 6rem;
    right: 0;
    bottom: auto;
    left: 0;
    justify-items: center;
    width: 100%;
    pointer-events: none;
  }
}
@media (max-width: 45rem) {
  .om-meditation-footer {
    right: 0;
    bottom: auto;
    left: 0;
    gap: 1.8rem;
  }
  .om-meditation-active-users-frame {
    min-height: 2rem;
  }
  .om-meditation-space-toggle {
    font-size: 1.1rem;
  }
  .om-meditation-space-toggle .label {
    font-size: 1.1rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .om-meditation-overlay,
  .om-meditation-layer,
  .om-meditation-fallback,
  .om-meditation-stage {
    transition-duration: 1ms;
  }
}
.om-meditation-overlay {
  --control-fade: 2s;
  --om-avatar-placeholder-bg: rgba(250, 241, 235, 0.8);
  --om-avatar-placeholder-backdrop: blur(1rem);
  --om-avatar-placeholder-icon: #1d2622;
  --om-avatar-border: rgba(250, 241, 235, 0.8);
}

.om-meditation-sit {
  --space-gap: .7rem;
  --control-font-size: 1.3rem;
  --control-block-padding: 1rem;
  --control-content-gap: .8rem;
  --control-icon-size: 1.21rem;
  --control-tile-height: calc(2 * var(--control-block-padding) + 1.2 * var(--control-font-size));
  --control-icon-gutter: calc((var(--control-tile-height) - var(--control-icon-size)) / 2);
  --timer-controls-height: calc(var(--control-tile-height) + 2 * var(--space-gap));
  --menu-fade: 220ms;
  position: absolute;
  left: 50%;
  bottom: max(2.5rem, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  z-index: 3;
  display: none;
  width: max-content;
  color: #1d2622;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  user-select: none;
}
.om-meditation-sit .timer, .om-meditation-sit .menu {
  border-radius: 1rem;
}
.om-meditation-sit .timer::before, .om-meditation-sit .menu::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: rgba(250, 241, 235, var(--idle-background-opacity, 0.32));
  box-shadow: 0 0.4rem 2.5rem rgba(0, 0, 0, 0.15);
  -webkit-backdrop-filter: blur(1rem);
  backdrop-filter: blur(1rem);
  transition: opacity var(--menu-fade) ease;
}
.om-meditation-sit .timer {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, max-content);
  gap: var(--space-gap);
  padding: var(--space-gap);
}
.om-meditation-sit .play, .om-meditation-sit .toggle, .om-meditation-sit .preset {
  display: block;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #1d2622;
  font: var(--control-font-size)/1.2 "PV Sans Serif", sans-serif;
  white-space: nowrap;
  cursor: pointer;
}
.om-meditation-sit .play:focus-visible, .om-meditation-sit .toggle:focus-visible, .om-meditation-sit .preset:focus-visible {
  outline: none;
}
.om-meditation-sit .play:focus-visible > .inner, .om-meditation-sit .toggle:focus-visible > .inner, .om-meditation-sit .preset:focus-visible > .inner {
  outline: 2px solid #ffd22a;
  outline-offset: 4px;
}
.om-meditation-sit .play > .inner, .om-meditation-sit .toggle > .inner, .om-meditation-sit .preset > .inner {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--control-content-gap);
  height: var(--control-tile-height);
  padding: 0 var(--control-content-gap);
  border-radius: 0.5rem;
  color: #1d2622;
  background: rgba(250, 241, 235, 0.8);
  -webkit-backdrop-filter: blur(1rem);
  backdrop-filter: blur(1rem);
  transition: background-color 300ms ease, box-shadow 300ms ease, opacity var(--menu-fade) ease;
}
.om-meditation-sit .label {
  font: inherit;
}
.om-meditation-sit .play > .inner, .om-meditation-sit .toggle > .inner {
  box-shadow: inset 0 0 0 1px #faf1eb;
  padding-left: var(--control-icon-gutter);
  padding-right: calc(var(--control-content-gap) + 0.345em);
}
.om-meditation-sit .play .om-icon, .om-meditation-sit .toggle .om-icon {
  flex: 0 0 var(--control-icon-size);
  width: var(--control-icon-size);
  height: var(--control-icon-size);
}
.om-meditation-sit .toggle {
  font-variant-numeric: tabular-nums;
}
.om-meditation-sit .toggle .remaining {
  text-align: left;
}
.om-meditation-sit .toggle .om-icon--time {
  transform: translateY(1px);
}
.om-meditation-sit .toggle .sound-icon {
  position: relative;
  background: none;
  -webkit-mask-image: none;
  mask-image: none;
  transform: translateY(1px);
}
.om-meditation-sit .toggle .sound-icon > span {
  position: absolute;
  inset: 0;
}
.om-meditation-sit .toggle .sound-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}
.om-meditation-sit .toggle .sound-icon svg path {
  fill: currentColor !important;
}
.om-meditation-sit .toggle .sound-icon .sound-off {
  visibility: hidden;
}
.om-meditation-sit .toggle .sound-icon.om-icon--sound-off .sound-on {
  visibility: hidden;
}
.om-meditation-sit .toggle .sound-icon.om-icon--sound-off .sound-off {
  visibility: visible;
}
.om-meditation-sit .toggle .duration-chevron, .om-meditation-sit .timer-setting .duration-chevron {
  flex: 0 0 0.85rem;
  width: 0.85rem;
  height: 0.85rem;
  -webkit-mask-image: url("../../app/assets/img/icon-dropdown.svg");
  mask-image: url("../../app/assets/img/icon-dropdown.svg");
}
.om-meditation-sit .play > .inner {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.om-meditation-sit .play .play-variant {
  display: none;
  align-items: center;
  justify-content: center;
  gap: var(--control-content-gap);
}
.om-meditation-sit .play .progress {
  position: absolute;
  z-index: -1;
  inset: 0;
  display: none;
}
.om-meditation-sit .play .bar {
  display: block;
  width: calc(var(--om-intro-progress, 0) * 100%);
  height: 100%;
  background: rgba(255, 210, 42, 0.4);
  transition: width 300ms linear;
}
.om-meditation-sit[data-phase=idle] .play-variant--intro, .om-meditation-sit[data-phase=intro]:not(.is-intro-started) .play-variant--intro, .om-meditation-sit[data-phase=loop]:not(.is-timer-running) .play-variant--intro, .om-meditation-sit[data-phase=complete] .play-variant--intro, .om-meditation-sit[data-phase=intro].is-intro-started .play-variant--loop, .om-meditation-sit[data-phase=loop].is-timer-running .play-variant--loop, .om-meditation-sit[data-phase=outro] .play-variant--outro {
  display: flex;
}
.om-meditation-sit[data-phase=intro]:not(.is-intro-started) .play .progress {
  display: block;
}
.om-meditation-overlay.is-awaiting-start .om-meditation-sit:not(.is-reflection-offered) .timer:not(.reflection-prompt):not(.restart-prompt):not(.stop-prompt) .play > .inner {
  background: #ffd22a;
}
.om-meditation-sit .menu {
  position: absolute;
  bottom: calc(var(--timer-menu-bottom, 100%) + var(--space-nav-gap, 0.6rem));
  left: var(--timer-menu-left, 0);
  width: 100%;
  box-sizing: border-box;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(0.4rem);
  transition: transform var(--menu-fade) ease, visibility 0s linear var(--menu-fade);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-gap);
  padding: var(--space-gap);
  z-index: 4;
}
.om-meditation-sit .menu::before, .om-meditation-sit .menu .inner, .om-meditation-sit .menu .setting-label {
  opacity: 0;
}
.om-meditation-sit .preset > .inner {
  background: rgba(250, 241, 235, 0.2);
  box-shadow: inset 0 0 0 1px rgba(250, 241, 235, 0.15);
}
.om-meditation-sit .preset:not(.is-active):hover > .inner, .om-meditation-sit .preset:not(.is-active):focus-visible > .inner {
  background: rgba(250, 241, 235, 0.3);
}
.om-meditation-sit .preset.is-active > .inner, .om-meditation-sit .preset[aria-pressed=true] > .inner {
  background: rgba(250, 241, 235, 0.8);
  box-shadow: none;
}
.om-meditation-sit.is-menu-open .menu.is-open {
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition: transform var(--menu-fade) ease, visibility 0s;
}
.om-meditation-sit.is-menu-open .menu.is-open::before, .om-meditation-sit.is-menu-open .menu.is-open .inner, .om-meditation-sit.is-menu-open .menu.is-open .setting-label {
  opacity: 1;
}
.om-meditation-sit .audio-menu {
  grid-template-columns: 1fr;
  gap: 0;
}
.om-meditation-sit .audio-menu .preset.is-active > .inner,
.om-meditation-sit .audio-menu .preset[aria-pressed=true] > .inner {
  background: #ffd22a;
  box-shadow: inset 0 0 0 1px #faf1eb;
}
.om-meditation-sit .audio-menu > .audio-setting + .audio-setting,
.om-meditation-sit .audio-menu > .menu-content > .audio-setting + .audio-setting {
  margin-top: var(--space-gap);
}
.om-meditation-sit .audio-menu .audio-setting {
  display: grid;
  grid-template-columns: minmax(0, 1fr) repeat(2, clamp(5rem, 20%, 6.5rem));
  align-items: center;
  gap: var(--space-gap);
}
.om-meditation-sit .audio-menu [data-audio-row] {
  grid-template-columns: minmax(0, 1fr) auto;
}
.om-meditation-sit .audio-menu .setting-button {
  width: 100%;
  box-sizing: border-box;
  min-height: var(--control-tile-height);
  padding: 0 calc(var(--control-content-gap) + 0.345em) 0 var(--control-icon-gutter);
  color: #1d2622;
  text-align: left;
  border: 0;
  border-radius: 0.5rem;
  background: rgba(250, 241, 235, 0.8);
  box-shadow: inset 0 0 0 1px #faf1eb;
  -webkit-backdrop-filter: blur(1rem);
  backdrop-filter: blur(1rem);
  cursor: pointer;
  transition: background-color 300ms ease, box-shadow 300ms ease, opacity var(--menu-fade) ease;
}
.om-meditation-sit .audio-menu .setting-button:disabled {
  cursor: default;
}
.om-meditation-sit .audio-menu .setting-button.is-active .audio-switch {
  background: #ffd22a;
  border-color: #faf1eb;
}
.om-meditation-sit .audio-menu .setting-button.is-active .audio-switch .switch-thumb {
  background: #1d2622;
  transform: translateX(1.6rem);
}
.om-meditation-sit .audio-menu .timer-setting {
  position: relative;
  display: block;
  padding: 0;
}
.om-meditation-sit .audio-menu .timer-setting select {
  height: var(--control-tile-height);
  padding-left: calc(var(--control-icon-gutter) + var(--control-icon-size) + var(--control-content-gap));
  padding-right: calc(2 * var(--control-content-gap) + 0.345em + 0.85rem);
  background: transparent;
  cursor: pointer;
}
.om-meditation-sit .audio-menu .timer-setting > .om-icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: var(--control-icon-size);
  height: var(--control-icon-size);
  pointer-events: none;
}
.om-meditation-sit .audio-menu .timer-setting > .om-icon--time {
  left: var(--control-icon-gutter);
}
.om-meditation-sit .audio-menu .timer-setting > .duration-chevron {
  right: calc(var(--control-content-gap) + 0.345em);
  width: 0.85rem;
  height: 0.85rem;
}
.om-meditation-sit .audio-menu .audio-switch {
  width: 3.6rem;
  height: 2rem;
  padding: 0.2rem;
  border: 1px solid #faf1eb;
  border-radius: 2rem;
  background: rgba(29, 38, 34, 0.45);
  cursor: pointer;
  transition: background-color 220ms ease, border-color 220ms ease;
}
.om-meditation-sit .audio-menu .audio-switch .switch-thumb {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background: #faf1eb;
  transition: transform 220ms ease, background-color 220ms ease;
}
.om-meditation-sit .audio-menu .setting-label {
  display: flex;
  align-items: center;
  gap: var(--control-content-gap);
  transition: opacity var(--menu-fade) ease;
  padding: 0;
  font: var(--control-font-size)/1.2 "PV Sans Serif", sans-serif;
}
.om-meditation-sit .audio-menu .setting-label .om-icon {
  width: var(--control-icon-size);
  height: var(--control-icon-size);
}
.om-meditation-sit .audio-menu select {
  -webkit-appearance: none;
  appearance: none;
  min-width: 0;
  width: 100%;
  height: var(--control-tile-height);
  padding: 0 calc(2 * var(--control-content-gap) + 0.345em + 0.85rem) 0 var(--control-icon-gutter);
  border: 0;
  border-radius: 0.5rem;
  color: #1d2622;
  background: rgba(250, 241, 235, 0.8);
  font: var(--control-font-size)/1.2 "PV Sans Serif", sans-serif;
}
.om-meditation-sit .audio-menu select:focus, .om-meditation-sit .audio-menu select:focus-visible {
  outline: none;
  box-shadow: none;
}
.om-meditation-sit .audio-menu .is-disabled {
  opacity: 0.4;
}
.om-meditation-sit .audio-menu button:disabled {
  cursor: default;
}
.om-meditation-sit.is-menu-closing-slowly {
  --menu-fade: 4s;
}

.om-meditation-overlay.is-meditation-space .om-meditation-sit {
  display: block;
}

@media (max-width: 56rem) {
  .om-meditation-sit {
    bottom: max(20px, env(safe-area-inset-bottom));
  }
}
@media (max-width: 45rem) {
  .om-meditation-sit {
    --space-gap: .5rem;
    --control-block-padding: .8rem;
  }
}
.om-meditation-overlay .om-meditation-sit {
  transition: visibility 0s;
}
.om-meditation-overlay .om-meditation-sit .timer::before,
.om-meditation-overlay .om-meditation-sit .timer .inner {
  transition: background-color var(--timer-fade-duration, var(--control-fade)) ease, color var(--timer-fade-duration, var(--control-fade)) ease, box-shadow var(--timer-fade-duration, var(--control-fade)) ease, backdrop-filter var(--timer-fade-duration, var(--control-fade)) ease, -webkit-backdrop-filter var(--timer-fade-duration, var(--control-fade)) ease;
}
.om-meditation-overlay .om-meditation-sit .timer .inner > * {
  transition: opacity var(--timer-fade-duration, var(--control-fade)) ease;
}
.om-meditation-overlay .om-meditation-sit .timer::before, .om-meditation-overlay .om-meditation-sit .timer .inner, .om-meditation-overlay .om-meditation-sit .timer .inner > * {
  transition-delay: var(--timer-fade-delay, 0s);
}

.om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) {
  --control-fade: 4s;
}

.om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-sit {
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0s 4s;
}
.om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-sit .timer::before, .om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-sit .timer .inner {
  background-color: rgba(250, 241, 235, 0);
  color: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
}
.om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-sit .timer .inner > * {
  opacity: 0;
}
.om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-sit .menu {
  visibility: hidden;
  pointer-events: none;
  transition: transform var(--menu-fade) ease, visibility 0s 4s;
}
.om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-sit .menu::before, .om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-sit .menu .inner, .om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-sit .menu .setting-label {
  opacity: 0;
  transition-duration: 4s;
}

.om-meditation-overlay .om-meditation-idle-logo,
.om-meditation-overlay .om-meditation-idle-countdown {
  display: block;
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  padding: 0.4rem 0.65rem;
  border-radius: 1rem;
  color: #384b48;
  background: rgba(250, 241, 235, 0);
  box-shadow: 0 0.4rem 2.5rem rgba(0, 0, 0, 0);
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  text-align: center;
  white-space: nowrap;
  visibility: hidden;
  pointer-events: none;
  transition: background-color 1s ease, box-shadow 1s ease, backdrop-filter 1s ease, -webkit-backdrop-filter 1s ease, visibility 0s 1s;
}
.om-meditation-overlay .om-meditation-idle-logo > span,
.om-meditation-overlay .om-meditation-idle-countdown > span {
  opacity: 0;
  transition: opacity 1s ease;
}

.om-meditation-overlay .om-meditation-idle-countdown {
  color: #1d2622;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(1.2em + 0.8rem);
  padding: 0 0.65rem;
  border-radius: 0.5rem;
  box-shadow: none;
}
.om-meditation-overlay .om-meditation-idle-countdown > span {
  display: block;
  line-height: 1;
  transform: translateY(-0.06em);
}

.om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-idle-countdown {
  background: rgba(250, 241, 235, 0.32);
  box-shadow: none;
  -webkit-backdrop-filter: blur(var(--idle-blur, 1rem));
  backdrop-filter: blur(var(--idle-blur, 1rem));
  visibility: visible;
  transition-duration: 4s, 4s, 4s, 4s, 0s;
  transition-delay: 2s, 2s, 2s, 2s, 0s;
}
.om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-idle-countdown > span {
  opacity: 1;
  transition-duration: 4s;
  transition-delay: 2s;
}

.om-meditation-overlay .om-meditation-idle-logo {
  top: 3rem;
  left: 3rem;
  bottom: auto;
  transform: none;
  padding: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition: visibility 0s 1s;
}
.om-meditation-overlay .om-meditation-idle-logo .om-site-logo {
  width: 4.8384rem;
  height: 3.17952rem;
  opacity: 1;
  background-color: rgba(250, 241, 235, 0);
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
  pointer-events: none;
  transition: background-color 1s ease, backdrop-filter 1s ease, -webkit-backdrop-filter 1s ease;
}

.om-meditation-running .om-meditation-overlay .om-meditation-idle-logo {
  visibility: visible;
  transition-delay: 0s;
}
.om-meditation-running .om-meditation-overlay .om-meditation-idle-logo .om-site-logo {
  background-color: rgba(250, 241, 235, 0.4);
  -webkit-backdrop-filter: blur(2rem);
  backdrop-filter: blur(2rem);
  transition-duration: 4s;
  transition-delay: 0s;
}

@media (prefers-reduced-motion: reduce) {
  .om-meditation-overlay .om-meditation-idle-logo,
  .om-meditation-overlay .om-meditation-idle-logo > span,
  .om-meditation-overlay .om-meditation-idle-countdown,
  .om-meditation-overlay .om-meditation-idle-countdown > span,
  .om-meditation-overlay .om-meditation-sit {
    transition: none !important;
  }
}
.om-meditation-overlay .om-meditation-top-controls {
  transition: visibility 0s;
}
.om-meditation-overlay .om-meditation-top-controls .om-meditation-fullscreen, .om-meditation-overlay .om-meditation-top-controls .om-meditation-audio-master {
  transition: background-color var(--control-fade) ease, color var(--control-fade) ease, border-color var(--control-fade) ease, box-shadow var(--control-fade) ease, backdrop-filter var(--control-fade) ease, -webkit-backdrop-filter var(--control-fade) ease;
}
.om-meditation-overlay .om-meditation-top-controls .om-meditation-fullscreen > *, .om-meditation-overlay .om-meditation-top-controls .om-meditation-audio-master > * {
  transition: opacity var(--control-fade) ease;
}

.om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-top-controls {
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0s var(--control-fade);
}
.om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-top-controls .om-meditation-fullscreen, .om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-top-controls .om-meditation-audio-master {
  background-color: rgba(250, 241, 235, 0);
  border-color: rgba(250, 241, 235, 0);
  color: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
}
.om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-top-controls .om-meditation-fullscreen > *, .om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-top-controls .om-meditation-audio-master > * {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  .om-meditation-overlay .om-meditation-top-controls, .om-meditation-overlay .om-meditation-top-controls .om-meditation-fullscreen, .om-meditation-overlay .om-meditation-top-controls .om-meditation-fullscreen > *, .om-meditation-overlay .om-meditation-top-controls .om-meditation-audio-master, .om-meditation-overlay .om-meditation-top-controls .om-meditation-audio-master > * {
    transition: none;
  }
}
.om-meditation-overlay.is-controls-stacked .om-meditation-sit {
  width: min(30rem, 100% - 2.4rem);
  max-width: calc(100% - 2.4rem);
  display: flex;
  flex-direction: column;
  --space-nav-gap: .7rem;
  gap: var(--space-nav-gap);
  --control-font-size: 1.1rem;
  --control-content-gap: .5rem;
}
.om-meditation-overlay.is-controls-stacked .om-meditation-sit .timer:not(.reflection-prompt):not(.restart-prompt):not(.stop-prompt) {
  grid-template-columns: repeat(3, max-content);
}
.om-meditation-overlay.is-controls-stacked .om-meditation-sit > .reflection-prompt {
  box-sizing: border-box;
  width: 100%;
  grid-template-columns: minmax(0, 1fr);
}
.om-meditation-overlay.is-controls-stacked .om-meditation-sit .om-meditation-footer {
  display: block;
  position: static;
  width: 100%;
}
.om-meditation-overlay.is-controls-stacked .om-meditation-sit .om-meditation-spaces {
  --space-gap: var(--space-nav-gap);
  width: 100%;
  max-width: 100%;
  max-height: calc(100dvh - 23rem);
  overflow: auto;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
}
.om-meditation-overlay.is-controls-stacked .om-meditation-sit .om-meditation-spaces .group {
  flex: var(--space-count, 1) 1 0;
}
.om-meditation-overlay.is-controls-stacked .om-meditation-sit .om-meditation-spaces .group--meditate {
  flex-grow: min(var(--space-count, 1), 2.5);
}
.om-meditation-overlay.is-controls-stacked .om-meditation-sit .om-meditation-spaces .group--meditate .space {
  flex: 0 0 calc(100% / min(var(--space-count, 1), 2.5));
}
.om-meditation-overlay.is-controls-stacked .om-meditation-sit .om-meditation-spaces .options {
  display: flex;
  width: 100%;
}
.om-meditation-overlay.is-controls-stacked .om-meditation-sit .om-meditation-spaces .space {
  width: 100%;
}
.om-meditation-overlay.is-controls-stacked .om-meditation-sit .om-meditation-spaces .inner {
  min-width: 0;
}

.om-meditation-overlay.is-controls-stacked:not(.is-meditation-space):not(.is-tea-house) .om-meditation-sit .timer {
  display: none;
}
.om-meditation-overlay.is-controls-stacked:not(.is-meditation-space):not(.is-tea-house) .om-meditation-sit .om-meditation-footer {
  bottom: 0;
}

.om-meditation-sit > .timer {
  --timer-visibility-delay: 0s;
  transition: visibility 0s linear var(--timer-visibility-delay);
}
.om-meditation-sit.has-reflection-prompt > .timer {
  --timer-fade-duration: 600ms;
  --timer-fade-delay: 300ms;
}
.om-meditation-sit > .reflection-prompt {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  grid-template-columns: max-content;
  visibility: hidden;
  pointer-events: none;
  --timer-visibility-delay: 600ms;
}
.om-meditation-sit > .reflection-prompt .play .progress {
  display: block;
}
.om-meditation-sit > .reflection-prompt .play .bar {
  width: 0;
  transition: none;
}
.om-meditation-sit.is-reflection-offered > .timer:not(.reflection-prompt):not(.restart-prompt):not(.stop-prompt) {
  --timer-visibility-delay: 600ms;
  visibility: hidden;
  pointer-events: none;
}
.om-meditation-sit.is-reflection-offered > .reflection-prompt {
  visibility: visible;
  pointer-events: auto;
  --timer-visibility-delay: 0s;
}
.om-meditation-sit.is-reflection-offered > .reflection-prompt .bar {
  animation: om-reflection-countdown 10s linear forwards;
}

.om-meditation-sit.has-reflection-prompt:not(.is-reflection-offered) > .reflection-prompt,
.om-meditation-sit.has-reflection-prompt.is-reflection-offered > .timer:not(.reflection-prompt):not(.restart-prompt):not(.stop-prompt) {
  --timer-fade-delay: 0s;
}

.om-meditation-overlay .om-meditation-sit:not(.is-reflection-offered) > .reflection-prompt::before, .om-meditation-overlay .om-meditation-sit:not(.is-reflection-offered) > .reflection-prompt .inner,
.om-meditation-overlay .om-meditation-sit.is-reflection-offered > .timer:not(.reflection-prompt):not(.restart-prompt):not(.stop-prompt)::before,
.om-meditation-overlay .om-meditation-sit.is-reflection-offered > .timer:not(.reflection-prompt):not(.restart-prompt):not(.stop-prompt) .inner {
  background-color: rgba(250, 241, 235, 0);
  color: transparent;
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
}
.om-meditation-overlay .om-meditation-sit:not(.is-reflection-offered) > .reflection-prompt::before,
.om-meditation-overlay .om-meditation-sit.is-reflection-offered > .timer:not(.reflection-prompt):not(.restart-prompt):not(.stop-prompt)::before {
  box-shadow: 0 0.4rem 2.5rem rgba(0, 0, 0, 0);
}
.om-meditation-overlay .om-meditation-sit:not(.is-reflection-offered) > .reflection-prompt .inner,
.om-meditation-overlay .om-meditation-sit.is-reflection-offered > .timer:not(.reflection-prompt):not(.restart-prompt):not(.stop-prompt) .inner {
  box-shadow: inset 0 0 0 1px rgba(250, 241, 235, 0);
}
.om-meditation-overlay .om-meditation-sit:not(.is-reflection-offered) > .reflection-prompt .inner > *,
.om-meditation-overlay .om-meditation-sit.is-reflection-offered > .timer:not(.reflection-prompt):not(.restart-prompt):not(.stop-prompt) .inner > * {
  opacity: 0;
}

@keyframes om-reflection-countdown {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .om-meditation-overlay .om-meditation-sit > .timer, .om-meditation-overlay .om-meditation-sit > .timer::before, .om-meditation-overlay .om-meditation-sit > .timer .inner, .om-meditation-overlay .om-meditation-sit > .timer .inner > * {
    transition: none;
  }
}
@media (max-width: 35rem) {
  .om-meditation-overlay.is-controls-stacked .om-meditation-sit {
    width: calc(100% - 2.4rem);
    --timer-controls-height: calc(2 * var(--control-tile-height) + 3 * var(--space-gap));
  }
  .om-meditation-overlay.is-controls-stacked .om-meditation-sit .timer:not(.reflection-prompt):not(.restart-prompt):not(.stop-prompt) {
    grid-template-columns: 1fr 1fr;
  }
  .om-meditation-overlay.is-controls-stacked .om-meditation-sit .play {
    grid-column: 1/-1;
  }
  .om-meditation-overlay.is-controls-stacked .om-meditation-sit .duration-label {
    display: none;
  }
}
.om-meditation-sit.has-start-popout .audio-menu {
  width: 100%;
  max-width: 100%;
  left: auto;
  right: auto;
  max-height: calc(100dvh - 10rem);
  overflow-y: auto;
}

.om-meditation-overlay .om-meditation-sit.has-start-popout > .timer:not(.reflection-prompt):not(.restart-prompt):not(.stop-prompt) {
  grid-template-columns: minmax(0, 1fr);
}
.om-meditation-overlay .om-meditation-sit.has-start-popout > .timer:not(.reflection-prompt):not(.restart-prompt):not(.stop-prompt) > .toggle {
  display: none;
}

.om-meditation-overlay:not(.is-session-started) .om-meditation-sit.has-start-popout:not([data-phase=outro]) > .timer:not(.reflection-prompt):not(.restart-prompt):not(.stop-prompt) .play-variant {
  display: none;
}
.om-meditation-overlay:not(.is-session-started) .om-meditation-sit.has-start-popout:not([data-phase=outro]) > .timer:not(.reflection-prompt):not(.restart-prompt):not(.stop-prompt) .play-variant--intro {
  display: flex;
}

.om-meditation-overlay:not(.is-controls-stacked) .om-meditation-sit.has-start-popout .audio-menu {
  width: 100%;
  max-width: 100%;
}
.om-meditation-overlay:not(.is-controls-stacked) .om-meditation-sit.has-start-popout .audio-menu .setting-label {
  padding: 0;
  white-space: nowrap;
}
.om-meditation-overlay:not(.is-controls-stacked) .om-meditation-sit.has-start-popout .audio-menu .audio-setting {
  grid-template-columns: max-content 11rem;
}
.om-meditation-overlay:not(.is-controls-stacked) .om-meditation-sit.has-start-popout .audio-menu .audio-setting[data-audio-row] {
  grid-template-columns: 1fr auto;
}

.om-meditation-overlay.is-controls-stacked .om-meditation-sit.has-start-popout .audio-menu {
  width: 100%;
  max-width: 100%;
}

.om-meditation-sit.has-start-popout .audio-menu .meditation-types {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-gap);
  margin-bottom: var(--space-gap);
}
.om-meditation-sit.has-start-popout .audio-menu .meditation-types button {
  min-height: var(--control-tile-height);
  text-align: center;
  font: var(--control-font-size)/1.2 "PV Sans Serif", sans-serif;
}
.om-meditation-sit.has-start-popout .audio-menu .meditation-types button[aria-pressed=true] {
  background: #ffd22a;
  border-color: #faf1eb;
}

.om-meditation-overlay .om-meditation-sit.has-start-popout {
  max-width: calc(100vw - 2.4rem);
}
.om-meditation-overlay .om-meditation-sit.has-start-popout > .timer:not(.reflection-prompt):not(.restart-prompt):not(.stop-prompt) {
  grid-template-columns: minmax(0, 1fr);
}
.om-meditation-overlay .om-meditation-sit.has-start-popout > .timer:not(.reflection-prompt):not(.restart-prompt):not(.stop-prompt) > .session-summary {
  display: block;
}
.om-meditation-overlay .om-meditation-sit.has-start-popout > .timer:not(.reflection-prompt):not(.restart-prompt):not(.stop-prompt) .session-summary > .inner {
  text-align: left;
  justify-content: flex-start;
}
.om-meditation-overlay .om-meditation-sit.has-start-popout > .timer:not(.reflection-prompt):not(.restart-prompt):not(.stop-prompt) .session-summary .om-icon {
  flex-shrink: 0;
}

.om-meditation-overlay.is-controls-stacked .om-meditation-sit.has-start-popout > .timer:not(.reflection-prompt):not(.restart-prompt):not(.stop-prompt) .session-summary > .inner {
  height: auto;
  min-height: var(--control-tile-height);
}

.om-meditation-sit .session-summary [data-om-session-summary] {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}
.om-meditation-sit .session-summary .setting-chip {
  display: inline-block;
  padding: 0.2rem 0.5rem;
  border-radius: 0.45rem;
  background: rgba(29, 38, 34, 0.1);
  font-size: 0.85em;
  line-height: 1.25;
  white-space: nowrap;
}
.om-meditation-sit .session-summary .summary-content {
  display: grid;
  flex: 1;
  min-width: 0;
}
.om-meditation-sit .session-summary .summary-content > * {
  grid-area: 1/1;
}
.om-meditation-sit .session-summary .summary-sizer {
  display: flex;
  gap: 0.35rem;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
}
.om-meditation-sit .session-summary .summary-sizer .sizing-group {
  display: grid;
}
.om-meditation-sit .session-summary .summary-sizer .sizing-group .setting-chip {
  grid-area: 1/1;
}

.om-meditation-overlay .om-meditation-sit .audio-menu > .menu-content {
  opacity: 0;
  transition: opacity var(--menu-fade) ease;
}
.om-meditation-overlay .om-meditation-sit .audio-menu > .menu-content .inner, .om-meditation-overlay .om-meditation-sit .audio-menu > .menu-content .setting-label {
  opacity: 1;
}
.om-meditation-overlay .om-meditation-sit .audio-menu > .menu-content .inner.is-disabled {
  opacity: 0.4;
}
.om-meditation-overlay .om-meditation-sit .audio-menu > .menu-content .setting-label, .om-meditation-overlay .om-meditation-sit .audio-menu > .menu-content .meditation-types {
  transition: none;
}
.om-meditation-overlay .om-meditation-sit .audio-menu > .menu-content .setting-button {
  transition: background-color 220ms ease, color 220ms ease, box-shadow 220ms ease;
}

.om-meditation-overlay .om-meditation-sit.is-menu-open .audio-menu.is-open > .menu-content {
  opacity: 1;
}

.om-meditation-sit.has-start-popout .timer .play > .inner {
  padding-left: calc(var(--control-icon-gutter) + var(--control-icon-size) + var(--control-content-gap));
  padding-right: calc(var(--control-icon-gutter) + var(--control-icon-size) + var(--control-content-gap));
}
.om-meditation-sit.has-start-popout .timer .play .play-variant {
  width: 100%;
}
.om-meditation-sit.has-start-popout .timer .play .label {
  text-align: center;
}
.om-meditation-sit.has-start-popout .timer .play .om-icon {
  position: absolute;
  left: var(--control-icon-gutter);
  top: 50%;
  transform: translateY(-50%);
}

.om-meditation-sit.has-start-popout .timer .play .om-icon--skip {
  transform: translateY(-50%) rotate(-90deg);
}

.om-meditation-sit .audio-menu .bell-setting > .om-icon--bowl {
  left: var(--control-icon-gutter);
}
.om-meditation-sit .audio-menu .bell-setting select {
  padding-right: calc(3.6rem + 3 * var(--control-content-gap) + 0.85rem);
}
.om-meditation-sit .audio-menu .bell-setting .bell-toggle {
  position: absolute;
  top: 50%;
  right: calc(2 * var(--control-content-gap) + 0.345em + 0.85rem);
  transform: translateY(-50%);
  display: flex;
  padding: 0;
  border: 0;
  border-radius: 2rem;
  background: transparent;
  cursor: pointer;
}
.om-meditation-sit .audio-menu .bell-setting .bell-toggle:focus-visible {
  outline: 2px solid #1d2622;
  outline-offset: 3px;
}

.om-meditation-overlay .om-meditation-sit .audio-menu > .menu-content .bell-setting {
  transition: opacity 220ms ease;
}

@media (prefers-reduced-motion: reduce) {
  .om-meditation-overlay .om-meditation-sit .audio-menu > .menu-content .bell-setting {
    transition: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .om-meditation-overlay .om-meditation-sit .audio-menu > .menu-content .setting-button, .om-meditation-overlay .om-meditation-sit .audio-menu > .menu-content .audio-switch, .om-meditation-overlay .om-meditation-sit .audio-menu > .menu-content .switch-thumb {
    transition: none;
  }
}
.om-meditation-overlay .om-meditation-sit .audio-menu::before, .om-meditation-overlay .om-meditation-sit .audio-menu .setting-button {
  transition-property: background-color, color, box-shadow, backdrop-filter, -webkit-backdrop-filter, opacity;
  transition-duration: var(--menu-fade);
  transition-timing-function: ease;
}
.om-meditation-overlay .om-meditation-sit .audio-menu .setting-button > * {
  transition: opacity var(--menu-fade) ease;
}

.om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-sit .audio-menu::before, .om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-sit .audio-menu .menu-content, .om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-sit .audio-menu .meditation-types, .om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-sit .audio-menu .setting-button {
  opacity: 1;
}
.om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-sit .audio-menu .menu-content .setting-button.is-disabled {
  opacity: 0.4;
}
.om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-sit .audio-menu::before, .om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-sit .audio-menu .setting-button {
  background-color: rgba(250, 241, 235, 0);
  color: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
  transition-duration: var(--control-fade);
}
.om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-sit .audio-menu > .menu-content {
  transition: none;
}
.om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-sit .audio-menu .menu-content .setting-button {
  transition: background-color var(--control-fade) ease, color var(--control-fade) ease, box-shadow var(--control-fade) ease, backdrop-filter var(--control-fade) ease, -webkit-backdrop-filter var(--control-fade) ease;
}
.om-meditation-overlay.is-session-started.is-ui-idle:not(.is-sit-complete) .om-meditation-sit .audio-menu .menu-content .setting-button > * {
  opacity: 0;
  transition: opacity var(--control-fade) ease;
}

@media (prefers-reduced-motion: reduce) {
  .om-meditation-overlay .om-meditation-sit .audio-menu::before, .om-meditation-overlay .om-meditation-sit .audio-menu .menu-content, .om-meditation-overlay .om-meditation-sit .audio-menu .setting-button, .om-meditation-overlay .om-meditation-sit .audio-menu .setting-button > * {
    transition: none !important;
  }
}
.om-meditation-sit.has-start-popout > .restart-prompt, .om-meditation-sit.has-start-popout > .stop-prompt {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: max-content;
  max-width: 100%;
  grid-template-columns: max-content;
  visibility: hidden;
  pointer-events: none;
  --timer-visibility-delay: 600ms;
}
.om-meditation-sit.has-start-popout > .restart-prompt {
  --timer-fade-duration: 600ms;
}
.om-meditation-sit.has-start-popout[data-phase=outro] > [data-om-meditation-timer] {
  visibility: hidden;
  pointer-events: none;
  --timer-visibility-delay: 600ms;
}
.om-meditation-sit.has-start-popout[data-phase=outro]:not(.is-reflection-offered):not(.is-restarting) > .restart-prompt {
  visibility: visible;
  pointer-events: auto;
  --timer-visibility-delay: 0s;
}

.om-meditation-overlay .om-meditation-sit.has-start-popout[data-phase=outro] > [data-om-meditation-timer]::before, .om-meditation-overlay .om-meditation-sit.has-start-popout[data-phase=outro] > [data-om-meditation-timer] .inner, .om-meditation-overlay .om-meditation-sit.has-start-popout:not([data-phase=outro]) > .restart-prompt::before, .om-meditation-overlay .om-meditation-sit.has-start-popout:not([data-phase=outro]) > .restart-prompt .inner, .om-meditation-overlay .om-meditation-sit.has-start-popout.is-reflection-offered > .restart-prompt::before, .om-meditation-overlay .om-meditation-sit.has-start-popout.is-reflection-offered > .restart-prompt .inner, .om-meditation-overlay .om-meditation-sit.has-start-popout.is-restarting > .restart-prompt::before, .om-meditation-overlay .om-meditation-sit.has-start-popout.is-restarting > .restart-prompt .inner {
  background-color: rgba(250, 241, 235, 0);
  color: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
}
.om-meditation-overlay .om-meditation-sit.has-start-popout[data-phase=outro] > [data-om-meditation-timer] .inner > *, .om-meditation-overlay .om-meditation-sit.has-start-popout:not([data-phase=outro]) > .restart-prompt .inner > *, .om-meditation-overlay .om-meditation-sit.has-start-popout.is-reflection-offered > .restart-prompt .inner > *, .om-meditation-overlay .om-meditation-sit.has-start-popout.is-restarting > .restart-prompt .inner > * {
  opacity: 0;
}

.om-meditation-sit .audio-menu .timer-setting select {
  color: inherit;
}
.om-meditation-sit .audio-menu .timer-setting select option {
  color: #1d2622;
}

.om-meditation-sit.has-start-popout > [data-om-meditation-timer], .om-meditation-sit.has-start-popout > .stop-prompt {
  --timer-fade-duration: 600ms;
  --timer-fade-delay: 0s;
}

.om-meditation-overlay.is-session-started .om-meditation-sit.has-start-popout > [data-om-meditation-timer] {
  visibility: hidden;
  pointer-events: none;
  --timer-visibility-delay: 600ms;
}
.om-meditation-overlay.is-session-started .om-meditation-sit.has-start-popout > .stop-prompt {
  visibility: visible;
  pointer-events: auto;
  --timer-visibility-delay: 0s;
  --timer-fade-delay: 300ms;
}

.om-meditation-overlay.is-session-started .om-meditation-sit.has-start-popout > [data-om-meditation-timer]::before, .om-meditation-overlay.is-session-started .om-meditation-sit.has-start-popout > [data-om-meditation-timer] .inner,
.om-meditation-overlay:not(.is-session-started) .om-meditation-sit.has-start-popout > .stop-prompt::before,
.om-meditation-overlay:not(.is-session-started) .om-meditation-sit.has-start-popout > .stop-prompt .inner {
  background-color: rgba(250, 241, 235, 0);
  color: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
}
.om-meditation-overlay.is-session-started .om-meditation-sit.has-start-popout > [data-om-meditation-timer] .inner > *,
.om-meditation-overlay:not(.is-session-started) .om-meditation-sit.has-start-popout > .stop-prompt .inner > * {
  opacity: 0;
}

.om-meditation-overlay.is-session-started.is-ui-idle .om-meditation-sit.has-start-popout > .stop-prompt {
  --timer-fade-duration: 4s;
  --timer-fade-delay: 0s;
  pointer-events: none;
}

.om-meditation-sit.has-start-popout > .reflection-prompt .play > .inner, .om-meditation-sit.has-start-popout > .restart-prompt .play > .inner, .om-meditation-sit.has-start-popout > .stop-prompt .play > .inner {
  padding-right: calc(var(--control-content-gap) + 0.345em);
}

.om-meditation-overlay .om-meditation-sit.has-start-popout > [data-om-meditation-timer] .play-variant {
  display: none;
}
.om-meditation-overlay .om-meditation-sit.has-start-popout > [data-om-meditation-timer] .play-variant--intro {
  display: flex;
}

.om-meditation-overlay.is-controls-stacked .om-meditation-sit.has-start-popout > .stop-prompt, .om-meditation-overlay.is-controls-stacked .om-meditation-sit.has-start-popout > .restart-prompt, .om-meditation-overlay.is-controls-stacked .om-meditation-sit.has-start-popout > .reflection-prompt {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  grid-template-columns: minmax(0, 1fr);
}
.om-meditation-overlay.is-controls-stacked .om-meditation-sit.has-start-popout > .stop-prompt .play > .inner, .om-meditation-overlay.is-controls-stacked .om-meditation-sit.has-start-popout > .restart-prompt .play > .inner, .om-meditation-overlay.is-controls-stacked .om-meditation-sit.has-start-popout > .reflection-prompt .play > .inner {
  padding-right: calc(var(--control-icon-gutter) + var(--control-icon-size) + var(--control-content-gap));
}

.om-meditation-overlay.is-controls-stacked.is-meditation-space .om-meditation-sit.has-start-popout .om-meditation-footer {
  translate: 0 var(--spaces-stack-offset, 0px);
}

.om-meditation-overlay .om-meditation-sit.has-start-popout.is-changing-space > [data-om-meditation-timer] {
  visibility: hidden;
  pointer-events: none;
}
.om-meditation-overlay .om-meditation-sit.has-start-popout.is-changing-space > [data-om-meditation-timer]::before, .om-meditation-overlay .om-meditation-sit.has-start-popout.is-changing-space > [data-om-meditation-timer] .inner {
  background-color: rgba(250, 241, 235, 0);
  color: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
}
.om-meditation-overlay .om-meditation-sit.has-start-popout.is-changing-space > [data-om-meditation-timer] .inner > * {
  opacity: 0;
}

.om-meditation-overlay.is-controls-stacked .om-meditation-sit > [data-om-meditation-timer], .om-meditation-overlay.is-controls-stacked .om-meditation-sit > .om-tea-composer,
.om-meditation-overlay.is-controls-stacked .om-meditation-sit > .reflection-prompt, .om-meditation-overlay.is-controls-stacked .om-meditation-sit > .restart-prompt, .om-meditation-overlay.is-controls-stacked .om-meditation-sit > .stop-prompt,
.om-meditation-overlay.is-controls-stacked .om-meditation-sit > .om-meditation-footer, .om-meditation-overlay.is-controls-stacked .om-meditation-sit .om-meditation-spaces, .om-meditation-overlay.is-controls-stacked .om-meditation-sit .audio-menu {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.om-meditation-overlay .om-meditation-sit.has-start-popout {
  width: min(30rem, 100% - 2.4rem);
}
.om-meditation-overlay .om-meditation-sit.has-start-popout > [data-om-meditation-timer], .om-meditation-overlay .om-meditation-sit.has-start-popout > .om-tea-composer {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
}

.om-tea-lanterns {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 4;
}

.om-meditation-overlay .om-tea-composer {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  min-height: calc(var(--control-tile-height) + 2 * var(--space-gap));
  box-sizing: border-box;
  display: flex;
  visibility: hidden;
  pointer-events: none;
  transition: background-color var(--control-fade) ease, box-shadow var(--control-fade) ease, backdrop-filter var(--control-fade) ease, -webkit-backdrop-filter var(--control-fade) ease, visibility 0s var(--control-fade);
  gap: var(--space-gap);
  padding: var(--space-gap);
  border-radius: 1rem;
  background: rgba(250, 241, 235, 0);
  box-shadow: 0 0.4rem 2.5rem rgba(0, 0, 0, 0);
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
}
.om-meditation-overlay .om-tea-composer input, .om-meditation-overlay .om-tea-composer button {
  opacity: 0;
  transition: opacity var(--control-fade) ease;
  border: 0;
  border-radius: 0.5rem;
  color: #1d2622;
  box-shadow: inset 0 0 0 1px #faf1eb;
  font: 1.1rem/1.3 "PV Sans Serif", sans-serif;
}
.om-meditation-overlay .om-tea-composer input:focus-visible, .om-meditation-overlay .om-tea-composer button:focus-visible {
  outline: 2px solid #ffd22a;
  outline-offset: 3px;
}
.om-meditation-overlay .om-tea-composer input {
  flex: 1;
  min-width: 0;
  padding: 0.7rem 1rem;
  background: rgba(250, 241, 235, 0.8);
}
.om-meditation-overlay .om-tea-composer input:focus-visible {
  outline: none;
}
.om-meditation-overlay .om-tea-composer input::placeholder {
  color: transparent;
  opacity: 0;
}
.om-meditation-overlay .om-tea-composer button {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 var(--control-tile-height);
  background: #ffd22a;
  cursor: pointer;
}
.om-meditation-overlay .om-tea-composer button .om-icon {
  width: 1.3rem;
  height: 1.3rem;
}
.om-meditation-overlay .om-tea-composer button .spinner {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 1rem;
  height: 1rem;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  opacity: 0;
  transition: opacity 520ms ease;
}
.om-meditation-overlay .om-tea-composer button .spinner::before, .om-meditation-overlay .om-tea-composer button .spinner::after {
  position: absolute;
  inset: 0;
  border: 2px solid currentColor;
  border-radius: 50%;
  content: "";
  transform: rotate(0deg);
}
.om-meditation-overlay .om-tea-composer button .spinner::before {
  opacity: 0.28;
}
.om-meditation-overlay .om-tea-composer button .spinner::after {
  border-top-color: transparent;
}
.om-meditation-overlay .om-tea-composer button:hover {
  background: #ffdb55;
}
.om-meditation-overlay .om-tea-composer.is-sending input, .om-meditation-overlay .om-tea-composer.is-sending button {
  cursor: wait;
}
.om-meditation-overlay .om-tea-composer.is-sending .placeholder-copy .greeting {
  opacity: 0;
}
.om-meditation-overlay .om-tea-composer.is-sending .placeholder-copy .waiting {
  opacity: 1;
}
.om-meditation-overlay .om-tea-composer.is-sending button .om-icon {
  opacity: 0;
}
.om-meditation-overlay .om-tea-composer.is-sending button .spinner {
  opacity: 0.7;
}
.om-meditation-overlay .om-tea-composer.is-sending button .spinner::after {
  animation: om-nav-spin 700ms linear infinite;
}

.om-meditation-overlay.is-tea-house .om-meditation-sit {
  display: block;
  width: min(30rem, 100% - 2.4rem);
}
.om-meditation-overlay.is-tea-house.is-controls-stacked .om-meditation-sit {
  display: flex;
}
.om-meditation-overlay.is-tea-house .om-meditation-sit .timer {
  pointer-events: none;
}
.om-meditation-overlay.is-tea-house .om-meditation-sit .timer::before, .om-meditation-overlay.is-tea-house .om-meditation-sit .timer .inner {
  background-color: rgba(250, 241, 235, 0);
  color: transparent;
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
}
.om-meditation-overlay.is-tea-house .om-meditation-sit .timer::before {
  box-shadow: 0 0.4rem 2.5rem rgba(0, 0, 0, 0);
}
.om-meditation-overlay.is-tea-house .om-meditation-sit .timer .inner {
  box-shadow: inset 0 0 0 1px rgba(250, 241, 235, 0);
}
.om-meditation-overlay.is-tea-house .om-meditation-sit .timer .inner > * {
  opacity: 0;
}
.om-meditation-overlay.is-tea-house .om-tea-composer {
  visibility: visible;
  pointer-events: auto;
  background-color: rgba(250, 241, 235, 0.32);
  box-shadow: 0 0.4rem 2.5rem rgba(0, 0, 0, 0.15);
  -webkit-backdrop-filter: blur(1rem);
  backdrop-filter: blur(1rem);
  transition-delay: 0s;
}
.om-meditation-overlay.is-tea-house .om-tea-composer input, .om-meditation-overlay.is-tea-house .om-tea-composer button {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .om-meditation-overlay .om-tea-composer,
  .om-meditation-overlay .om-tea-composer > *,
  .om-meditation-overlay .om-meditation-sit .timer {
    transition: none;
  }
}
.om-tea-lantern {
  position: absolute;
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  box-sizing: border-box;
  padding: 1rem;
  border-radius: 1rem;
  background: rgba(250, 241, 235, 0.84);
  -webkit-backdrop-filter: blur(1rem);
  backdrop-filter: blur(1rem);
  box-shadow: 0 0.3rem 1.6rem rgba(0, 0, 0, 0.1);
  color: #1d2622;
  font: 1.1rem/1.4 "PV Sans Serif", sans-serif;
  transform-origin: center bottom;
}
.om-tea-lantern .avatar {
  flex: 0 0 2.75rem;
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid #faf1eb;
  background: #819481;
  color: white;
  overflow: hidden;
}
.om-tea-lantern .avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-tea-lantern .copy {
  min-width: 0;
}
.om-tea-lantern .message {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.om-tea-lantern .author {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.8rem;
  opacity: 0.65;
}
.om-tea-lantern.is-own {
  background: rgba(250, 241, 235, 0.96);
}

.om-meditation-overlay.is-controls-stacked .om-meditation-sit {
  --stack-transition: 900ms;
  --stack-easing: ease-in-out;
}
.om-meditation-overlay.is-controls-stacked .om-meditation-sit .om-tea-composer {
  top: 0;
  bottom: auto;
  translate: 0 0.6rem;
}
.om-meditation-overlay.is-controls-stacked .om-meditation-sit .timer {
  translate: 0 0;
  transition: translate var(--stack-transition) var(--stack-easing), visibility 0s linear var(--timer-visibility-delay, 0s);
}
.om-meditation-overlay.is-controls-stacked .om-meditation-sit .om-meditation-footer {
  translate: 0 0;
  transition: translate var(--stack-transition) cubic-bezier(0.65, 0, 0.35, 1), visibility 0s;
}

.om-meditation-overlay.is-controls-stacked.is-tea-house .om-meditation-sit .om-meditation-footer {
  translate: 0 calc(var(--setup-controls-height, var(--timer-controls-height)) + var(--space-nav-gap));
}

.om-meditation-overlay.is-controls-stacked.is-session-started .om-meditation-sit .om-meditation-footer {
  transition: translate var(--stack-transition) cubic-bezier(0.65, 0, 0.35, 1), visibility 0s 4s;
}

.om-meditation-overlay.is-controls-stacked:not(.is-session-started) .om-meditation-sit .om-tea-composer {
  transition-property: background-color, box-shadow, backdrop-filter, -webkit-backdrop-filter, translate, visibility;
  transition-duration: var(--stack-transition), var(--stack-transition), var(--stack-transition), var(--stack-transition), var(--stack-transition), 0s;
  transition-timing-function: var(--stack-easing);
  transition-delay: 0s, 0s, 0s, 0s, 0s, var(--stack-transition);
}
.om-meditation-overlay.is-controls-stacked:not(.is-session-started) .om-meditation-sit .om-tea-composer input, .om-meditation-overlay.is-controls-stacked:not(.is-session-started) .om-meditation-sit .om-tea-composer button {
  transition: opacity var(--stack-transition) var(--stack-easing);
}
.om-meditation-overlay.is-controls-stacked:not(.is-session-started) .om-meditation-sit .timer::before, .om-meditation-overlay.is-controls-stacked:not(.is-session-started) .om-meditation-sit .timer .inner, .om-meditation-overlay.is-controls-stacked:not(.is-session-started) .om-meditation-sit .timer .inner > * {
  transition-duration: var(--timer-fade-duration, var(--control-fade));
  transition-timing-function: var(--stack-easing);
  transition-delay: var(--timer-fade-delay, 0s);
}

.om-meditation-overlay.is-controls-stacked.is-tea-house .om-meditation-sit .timer {
  translate: 0 -0.6rem;
}
.om-meditation-overlay.is-controls-stacked.is-tea-house .om-meditation-sit .om-tea-composer {
  translate: 0 calc(var(--setup-controls-height, var(--timer-controls-height)) - var(--control-tile-height) - 2 * var(--space-gap));
  transition-delay: 0s;
}

@media (prefers-reduced-motion: reduce) {
  .om-meditation-overlay.is-controls-stacked .om-meditation-sit .om-meditation-footer, .om-meditation-overlay.is-controls-stacked .om-meditation-sit .om-tea-composer, .om-meditation-overlay.is-controls-stacked .om-meditation-sit .om-tea-composer > *,
  .om-meditation-overlay.is-controls-stacked .om-meditation-sit .timer, .om-meditation-overlay.is-controls-stacked .om-meditation-sit .timer::before, .om-meditation-overlay.is-controls-stacked .om-meditation-sit .timer .inner, .om-meditation-overlay.is-controls-stacked .om-meditation-sit .timer .inner > * {
    transition: none !important;
  }
}
@keyframes om-tea-waiting-pulse {
  0%, 100% {
    opacity: 0.75;
  }
  50% {
    opacity: 0.3;
  }
}
.om-meditation-overlay .om-tea-composer .placeholder-copy {
  position: absolute;
  top: 50%;
  left: calc(var(--space-gap) + 1rem);
  right: calc(2 * var(--space-gap) + var(--control-tile-height) + 1rem);
  transform: translateY(-50%);
  display: grid;
  pointer-events: none;
  color: #1d2622;
  font: 1.1rem/1.3 "PV Sans Serif", sans-serif;
  opacity: 0;
  transition: opacity var(--control-fade) ease;
  font-variant-ligatures: none;
}
.om-meditation-overlay .om-tea-composer .placeholder-copy > span {
  grid-area: 1/1;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  transition: opacity 300ms ease;
}
.om-meditation-overlay .om-tea-composer .placeholder-copy .greeting {
  opacity: 0.75;
}
.om-meditation-overlay .om-tea-composer .placeholder-copy .waiting {
  opacity: 0;
}
.om-meditation-overlay .om-tea-composer .placeholder-copy .waiting > span {
  animation: om-tea-waiting-pulse 1.8s ease-in-out infinite;
}

.om-meditation-overlay .om-tea-composer input:not(:placeholder-shown) + .placeholder-copy {
  visibility: hidden;
}

.om-meditation-overlay.is-tea-house .om-tea-composer .placeholder-copy {
  opacity: 1;
}

.om-meditation-overlay.is-controls-stacked .om-tea-composer .placeholder-copy {
  transition-duration: var(--stack-transition);
  transition-timing-function: var(--stack-easing);
}

@media (prefers-reduced-motion: reduce) {
  .om-meditation-overlay .om-tea-composer .placeholder-copy, .om-meditation-overlay .om-tea-composer .placeholder-copy > span {
    transition: none;
  }
  .om-meditation-overlay .om-tea-composer .placeholder-copy .waiting > span {
    animation: none;
    opacity: 0.75;
  }
}
.om-meditation-overlay .om-meditation-sit.has-start-popout .om-tea-composer {
  transition-duration: 600ms, 600ms, 600ms, 600ms, 0s;
  transition-delay: 0s, 0s, 0s, 0s, 600ms;
}
.om-meditation-overlay .om-meditation-sit.has-start-popout .om-tea-composer input, .om-meditation-overlay .om-meditation-sit.has-start-popout .om-tea-composer button, .om-meditation-overlay .om-meditation-sit.has-start-popout .om-tea-composer .placeholder-copy {
  transition: opacity 600ms var(--stack-easing, ease);
}

.om-meditation-overlay.is-controls-stacked .om-meditation-sit.has-start-popout .om-tea-composer {
  transition-duration: 600ms, 600ms, 600ms, 600ms, var(--stack-transition), 0s;
  transition-delay: 0s, 0s, 0s, 0s, 0s, 600ms;
}

.om-meditation-overlay.is-tea-house .om-meditation-sit.has-start-popout .om-tea-composer {
  transition-delay: 300ms, 300ms, 300ms, 300ms, 0s;
}
.om-meditation-overlay.is-tea-house .om-meditation-sit.has-start-popout .om-tea-composer input, .om-meditation-overlay.is-tea-house .om-meditation-sit.has-start-popout .om-tea-composer button, .om-meditation-overlay.is-tea-house .om-meditation-sit.has-start-popout .om-tea-composer .placeholder-copy {
  transition-delay: 300ms;
}

.om-meditation-overlay.is-controls-stacked.is-tea-house .om-meditation-sit.has-start-popout .om-tea-composer {
  transition-delay: 300ms, 300ms, 300ms, 300ms, 0s, 0s;
}

.om-meditation-overlay:not(.is-tea-house):not(.is-session-started) .om-meditation-sit.has-start-popout:not(.is-reflection-offered):not(.is-changing-space):not([data-phase=outro]) > [data-om-meditation-timer] {
  --timer-fade-delay: 300ms;
}

.om-meditation-overlay.is-tea-house .om-meditation-sit.has-start-popout > [data-om-meditation-timer] {
  --timer-fade-delay: 0s;
}

@media (prefers-reduced-motion: reduce) {
  .om-meditation-overlay .om-meditation-sit.has-start-popout .om-tea-composer, .om-meditation-overlay .om-meditation-sit.has-start-popout .om-tea-composer input, .om-meditation-overlay .om-meditation-sit.has-start-popout .om-tea-composer button, .om-meditation-overlay .om-meditation-sit.has-start-popout .om-tea-composer .placeholder-copy {
    transition: none !important;
  }
}
.om-meditation-spaces {
  --space-gap: 0.7rem;
  --space-slot: 8.5rem;
  grid-row: 2;
  grid-column: 1;
  display: flex;
  align-items: stretch;
  gap: 0;
  width: fit-content;
  max-width: calc(100vw - 5.25rem);
  padding: 0;
  overflow: hidden;
  border-radius: 1rem;
  background: rgba(250, 241, 235, 0.32);
  box-shadow: 0 0.4rem 2.5rem rgba(0, 0, 0, 0.15);
  -webkit-backdrop-filter: blur(1rem);
  backdrop-filter: blur(1rem);
  transition: background-color var(--spaces-fade, 2s) ease, box-shadow var(--spaces-fade, 2s) ease, -webkit-backdrop-filter var(--spaces-fade, 2s) ease, backdrop-filter var(--spaces-fade, 2s) ease;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  user-select: none;
}
.om-meditation-spaces .group {
  display: grid;
  grid-template-rows: 1fr auto;
  align-items: stretch;
  min-width: 0;
  padding: 0;
  transition: background-color var(--spaces-fade, 2s) ease;
}
.om-meditation-spaces .group--connect {
  position: relative;
  flex: 0 0 auto;
  background: rgba(250, 241, 235, 0.2);
}
.om-meditation-spaces .group--connect::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
  width: 1rem;
  z-index: 1;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.09), transparent);
  pointer-events: none;
  transition: opacity var(--spaces-fade, 2s) ease;
}
.om-meditation-spaces .group--connect .space {
  padding-right: var(--space-gap);
  padding-left: var(--space-gap);
}
.om-meditation-spaces .group--connect .group-label {
  background: rgba(25, 62, 14, 0.2);
}
.om-meditation-spaces .group--meditate {
  flex: 0 1 auto;
  width: calc(var(--space-slot) * min(var(--space-count), 2.5));
}
.om-meditation-spaces .group--meditate .options {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.om-meditation-spaces .group--meditate .options::-webkit-scrollbar {
  display: none;
}
.om-meditation-spaces .group--meditate .space {
  flex: 0 0 var(--space-slot);
}
.om-meditation-spaces .group--meditate .group-label {
  background: rgba(90, 60, 7, 0.2);
}
.om-meditation-spaces .options {
  display: flex;
  align-items: center;
  justify-content: stretch;
  gap: 0;
  min-width: 0;
}
.om-meditation-spaces .space {
  display: block;
  flex: 1 1 auto;
  width: var(--space-slot);
  min-width: 0;
  padding: var(--space-gap) calc(var(--space-gap) / 2);
  border: 0;
  color: #faf1eb;
  font: inherit;
  line-height: 1.15;
  background: transparent;
  cursor: pointer;
}
.om-meditation-spaces .space:hover, .om-meditation-spaces .space:focus-visible {
  background: transparent;
}
.om-meditation-spaces .space[aria-disabled=true] {
  cursor: default;
}
.om-meditation-spaces .space.is-active {
  color: #1d2622;
  background: transparent;
}
.om-meditation-spaces .space.is-active .inner {
  background: rgba(250, 241, 235, 0.8);
}
.om-meditation-spaces .space:first-child {
  padding-left: var(--space-gap);
}
.om-meditation-spaces .space:last-child {
  padding-right: var(--space-gap);
}
.om-meditation-spaces .space:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.9);
  outline-offset: 0.25rem;
}
.om-meditation-spaces .space:not(.is-active):hover .inner, .om-meditation-spaces .space:not(.is-active):focus-visible .inner {
  background: rgba(250, 241, 235, 0.22);
}
.om-meditation-spaces .space.is-loading .thumb img {
  opacity: 0.2;
}
.om-meditation-spaces .space.is-loading .spinner {
  opacity: 0.7;
}
.om-meditation-spaces .space.is-loading .spinner::after {
  animation: om-nav-spin 700ms linear infinite;
}
.om-meditation-spaces .inner {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  justify-items: center;
  min-width: 7rem;
  width: 100%;
  height: 100%;
  padding: 1rem 0.75rem;
  border-radius: 0.5rem;
  background: transparent;
  gap: 0.9rem;
  transition: background-color 0.3s ease;
}
.om-meditation-spaces .thumb {
  position: relative;
  display: block;
  width: min(4.2rem, 100%);
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid rgba(250, 241, 235, 0.6);
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
  background: #faf1eb;
}
.om-meditation-spaces .thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 1s ease;
}
.om-meditation-spaces .spinner {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 1rem;
  height: 1rem;
  color: #1d2622;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  opacity: 0;
  transition: opacity 520ms ease;
}
.om-meditation-spaces .spinner::before, .om-meditation-spaces .spinner::after {
  position: absolute;
  inset: 0;
  border: 2px solid currentColor;
  border-radius: 50%;
  content: "";
  transform: rotate(0deg);
}
.om-meditation-spaces .spinner::before {
  opacity: 0.28;
}
.om-meditation-spaces .spinner::after {
  border-top-color: transparent;
}
.om-meditation-spaces .label {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.4em;
  width: 100%;
  max-width: 100%;
  font-size: 1.1rem;
  line-height: 1.2;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  transition: 1s;
}
.om-meditation-spaces .group-label {
  box-sizing: border-box;
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - var(--space-gap) * 2);
  margin: 0 var(--space-gap) var(--space-gap);
  padding: 0.7rem;
  border: 0;
  border-radius: 0.5rem;
  color: #faf1eb;
  font: inherit;
  font-size: 0.8rem;
  line-height: 1;
  background: transparent;
  text-align: center;
  transition: opacity var(--spaces-fade, 2s) ease;
}

.om-meditation-space-toggle .spinner {
  color: #faf1eb;
}
.om-meditation-space-toggle.is-loading .thumb img {
  opacity: 0.2;
}
.om-meditation-space-toggle.is-loading .thumb img.is-entering,
.om-meditation-space-toggle.is-loading .thumb img.is-leaving {
  opacity: 0;
}
.om-meditation-space-toggle.is-loading .spinner {
  opacity: 0.7;
}
.om-meditation-space-toggle.is-loading .spinner::after {
  animation: om-nav-spin 700ms linear infinite;
}

.om-meditation-spaces .space {
  transition: opacity var(--spaces-fade, 2s) ease;
}

.om-meditation-overlay.is-timer-menu-open.is-controls-stacked .om-meditation-spaces {
  background: rgba(250, 241, 235, 0);
  box-shadow: 0 0.4rem 2.5rem rgba(0, 0, 0, 0);
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
}
.om-meditation-overlay.is-timer-menu-open.is-controls-stacked .om-meditation-spaces .group--connect {
  background: rgba(250, 241, 235, 0);
}
.om-meditation-overlay.is-timer-menu-open.is-controls-stacked .om-meditation-spaces .group--connect::before {
  opacity: 0;
}
.om-meditation-overlay.is-timer-menu-open.is-controls-stacked .om-meditation-spaces .space, .om-meditation-overlay.is-timer-menu-open.is-controls-stacked .om-meditation-spaces .group-label {
  opacity: 0;
}

.om-meditation-overlay.is-session-started .om-meditation-spaces {
  background: rgba(250, 241, 235, 0);
  box-shadow: 0 0.4rem 2.5rem rgba(0, 0, 0, 0);
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
  transition-duration: 4s;
}
.om-meditation-overlay.is-session-started .om-meditation-spaces .group--connect {
  background: rgba(250, 241, 235, 0);
  transition-duration: 4s;
}
.om-meditation-overlay.is-session-started .om-meditation-spaces .group--connect::before {
  opacity: 0;
  transition-duration: 4s;
}
.om-meditation-overlay.is-session-started .om-meditation-spaces .space,
.om-meditation-overlay.is-session-started .om-meditation-spaces .group-label {
  opacity: 0;
  transition-duration: 4s;
}

@media (prefers-reduced-motion: reduce) {
  .om-meditation-overlay .om-meditation-spaces, .om-meditation-overlay .om-meditation-spaces .group, .om-meditation-overlay .om-meditation-spaces .space, .om-meditation-overlay .om-meditation-spaces .group-label {
    transition: none;
  }
}
@media (max-width: 64rem) {
  .om-meditation-spaces {
    max-height: calc(100dvh - 17rem);
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-0.75rem);
    transition: opacity 0.35s ease, visibility 0ms linear 0.35s, transform 0.35s ease, background-color var(--spaces-fade, 2s) ease, box-shadow var(--spaces-fade, 2s) ease, -webkit-backdrop-filter var(--spaces-fade, 2s) ease, backdrop-filter var(--spaces-fade, 2s) ease;
  }
  .om-meditation-overlay.is-space-switcher-open .om-meditation-spaces {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0ms;
  }
  .om-meditation-overlay.is-space-switcher-open .om-meditation-footer {
    pointer-events: auto;
  }
}
@media (max-width: 45rem) {
  .om-meditation-spaces {
    --space-slot: calc((100vw - 1.75rem) / 4);
    max-width: calc(100vw - 1.75rem);
    padding: 0;
    overflow-x: visible;
    font-size: 0.8rem;
  }
  .om-meditation-spaces .group {
    padding: 0;
  }
  .om-meditation-spaces .options {
    gap: 0;
  }
  .om-meditation-spaces .space {
    min-width: 0;
    padding: var(--space-gap) calc(var(--space-gap) / 2);
  }
  .om-meditation-spaces .inner {
    grid-template-rows: auto minmax(0, 1fr);
    min-width: 0;
    padding: 1rem 0.5rem;
    border-radius: 0.5rem;
    gap: 0.9rem;
  }
  .om-meditation-spaces .thumb {
    width: min(3.4rem, 100%);
  }
  .om-meditation-spaces .label {
    width: 100%;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
  }
  .om-meditation-spaces .group-label {
    min-height: 2.3rem;
    border-radius: 0.5rem;
    font-size: 0.8rem;
  }
}
.om-kicker {
  margin: 0 0 1rem;
  font-family: "Futura Medium", sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.25;
  color: #ffd22a;
  text-transform: uppercase;
  letter-spacing: 0;
}

.om-live-events-empty {
  max-width: 38rem;
  padding: 2rem;
  border: 1px solid rgba(250, 241, 235, 0.18);
  border-radius: 0.5rem;
  background: rgba(250, 241, 235, 0.06);
}
.om-live-events-empty h1,
.om-live-events-empty h2 {
  margin-top: 0;
  font-weight: 400;
}
.om-live-events-empty p {
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  color: rgba(250, 241, 235, 0.8);
}

@media (max-width: 45rem) {
  .om-live-events-empty {
    padding: 1.5rem;
  }
}
.om-live-back {
  margin-bottom: 2.5rem;
}
.om-live-back a {
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
  width: fit-content;
  color: rgba(250, 241, 235, 0.85);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.3rem;
  line-height: 1.2;
  text-decoration: none;
}
.om-live-back a::before {
  width: 0.7em;
  height: 0.7em;
  background: currentColor;
  -webkit-mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
  transform: scaleY(-1) rotate(90deg);
  content: "";
}
.om-live-back a:hover, .om-live-back a:focus-visible {
  color: #faf1eb;
}

.om-live-detail {
  max-width: 76rem;
  padding-bottom: 6rem;
}
.om-live-detail .details {
  min-width: 0;
}
.om-live-detail .details .om-live-back {
  margin-bottom: 1.5rem;
}
.om-live-detail .header {
  margin-bottom: 2rem;
}
.om-live-detail .header h1 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 3.4rem;
  font-weight: 400;
  line-height: 1.05;
}
.om-live-detail .om-live-meta {
  margin: 1.5rem 0 0;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.3rem;
  line-height: 1.2;
  color: rgba(250, 241, 235, 0.72);
}
.om-live-detail .media {
  margin-bottom: 3rem;
  overflow: hidden;
  border-radius: 1rem;
  aspect-ratio: 16/7;
  background: #455d59;
}
.om-live-detail .media .image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-live-detail .media .image.is-fallback {
  background: linear-gradient(145deg, rgba(255, 210, 42, 0.32), rgba(250, 241, 235, 0.08)), linear-gradient(35deg, #1f342f 0%, #78896a 50%, #b48263 100%);
}
.om-live-detail .media--player {
  border-radius: 1.6rem;
  aspect-ratio: 16/9;
}
.om-live-detail .media--player .player {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.om-live-detail .footer {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(16rem, 0.85fr);
  gap: 4rem;
  align-items: start;
}
.om-live-detail .content {
  --rich-ink: #faf1eb;
  --rich-accent: #ffd22a;
  --rich-body: color-mix(in srgb, #faf1eb 70%, transparent);
  --rich-soft: color-mix(in srgb, #faf1eb 55%, transparent);
  --rich-marker: color-mix(in srgb, #faf1eb 50%, transparent);
  --rich-line: color-mix(in srgb, #faf1eb 18%, transparent);
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 1.3rem;
  color: #faf1eb;
}
.om-live-detail .content p {
  margin-bottom: 1.25em;
  color: var(--rich-body);
}
.om-live-detail .content > :last-child {
  margin-bottom: 0;
}
.om-live-detail .content a {
  color: var(--rich-accent);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.om-live-detail .content strong,
.om-live-detail .content b {
  font-weight: 400;
  color: var(--rich-ink);
}
.om-live-detail .content h2,
.om-live-detail .content h3,
.om-live-detail .content h4,
.om-live-detail .content h5,
.om-live-detail .content h6 {
  margin: 1.75em 0 0.6em;
  font-family: "Lavishe", sans-serif;
  font-weight: 400;
  line-height: 1.15;
  color: var(--rich-ink);
}
.om-live-detail .content h2:first-child,
.om-live-detail .content h3:first-child,
.om-live-detail .content h4:first-child,
.om-live-detail .content h5:first-child,
.om-live-detail .content h6:first-child {
  margin-top: 0;
}
.om-live-detail .content h2 {
  font-size: 1.6em;
}
.om-live-detail .content h3 {
  font-size: 1.27em;
}
.om-live-detail .content h4,
.om-live-detail .content h5,
.om-live-detail .content h6 {
  font-size: 1em;
}
.om-live-detail .content ul,
.om-live-detail .content ol {
  margin: 0 0 1.25em;
  padding-left: 1.4em;
  color: var(--rich-body);
}
.om-live-detail .content ul li,
.om-live-detail .content ol li {
  list-style: inherit;
  margin-bottom: 0.5em;
}
.om-live-detail .content ul li::marker,
.om-live-detail .content ol li::marker {
  color: var(--rich-marker);
}
.om-live-detail .content ul ul,
.om-live-detail .content ul ol,
.om-live-detail .content ol ul,
.om-live-detail .content ol ol {
  margin: 0.5em 0 0;
}
.om-live-detail .content ul {
  list-style: disc outside;
}
.om-live-detail .content ul ul {
  list-style: circle outside;
}
.om-live-detail .content ol {
  list-style: decimal outside;
}
.om-live-detail .content ol ol {
  list-style: lower-alpha outside;
}
.om-live-detail .content blockquote {
  margin: 1.75em 0;
  padding-left: 1.5em;
  border-left: 3px solid color-mix(in srgb, var(--rich-accent) 60%, transparent);
}
.om-live-detail .content blockquote p {
  color: color-mix(in srgb, var(--rich-ink) 85%, transparent);
}
.om-live-detail .content blockquote cite {
  font-size: 0.85em;
  font-style: normal;
  color: var(--rich-soft);
}
.om-live-detail .content figure {
  margin: 1.75em 0;
}
.om-live-detail .content figure figcaption {
  margin-top: 0.6em;
  font-size: 0.85em;
  color: var(--rich-soft);
}
.om-live-detail .content img {
  max-width: 100%;
  height: auto;
  border-radius: 1rem;
}
.om-live-detail .content hr {
  height: 0.2rem;
  margin: 2.5em 0;
  border: 0;
  background: var(--rich-line);
  -webkit-mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
}
.om-live-detail .content table {
  width: 100%;
  margin: 0 0 1.25em;
  border-collapse: collapse;
  color: var(--rich-body);
}
.om-live-detail .content table th,
.om-live-detail .content table td {
  padding: 0.5em 0.8em 0.5em 0;
  border-bottom: 1px solid var(--rich-line);
  text-align: left;
}
.om-live-detail .content table th {
  font-weight: 400;
  color: var(--rich-ink);
}
.om-live-detail .actions {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: flex-start;
}
.om-live-detail .actions > .attendees {
  display: flex;
  align-items: center;
}
.om-live-detail .actions .om-share {
  align-self: stretch;
  margin-top: 1.5rem;
}
.om-live-detail .actions .om-share:first-child {
  margin-top: 0;
}
.om-live-detail .actions .om-share:first-child::before {
  display: none;
}
.om-live-detail .actions .om-share::before {
  display: block;
  height: 0.2rem;
  margin-bottom: 2.25rem;
  background: rgba(250, 241, 235, 0.18);
  -webkit-mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  content: "";
}
.om-live-detail .actions [hidden] {
  display: none !important;
}
.om-live-detail .actions [data-om-attendees] .om-active-users.is-list-open {
  display: none;
}
.om-live-detail .actions .event-attendee-list {
  --om-attendee-collapse: -1.5rem;
  align-self: stretch;
}
.om-live-detail .actions .event-attendee-list .title {
  margin-top: 0;
}
.om-live-detail .actions .event-attendee-list .collapse {
  --om-attendee-list-caret-right: 1rem;
}
.om-live-detail .actions .om-notice {
  align-self: stretch;
  max-width: none;
}
.om-live-detail .actions .event-calendar {
  margin: 0;
}
.om-live-detail .actions .message {
  margin: 0;
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 1.1rem;
  color: rgba(250, 241, 235, 0.85);
}
.om-live-detail .actions .message a {
  color: #ffd22a;
}
.om-live-detail .actions .message[hidden] {
  display: none;
}

@media (max-width: 64rem) {
  .om-live-detail .media {
    aspect-ratio: 16/9;
  }
  .om-live-detail .footer {
    gap: 2.5rem;
  }
}
@media (max-width: 45rem) {
  .om-live-detail .header h1 {
    font-size: 2.7rem;
  }
  .om-live-detail .footer {
    grid-template-columns: 1fr;
  }
}
body.om-route-map {
  overflow-y: hidden;
}
body.om-route-map .om-layout {
  --om-shell-max: 100vw;
}
body.om-route-map .om-main {
  padding: 0;
}
body.om-route-map .om-header::before {
  display: none;
}
body.om-route-map .om-site-title {
  color: #fff;
}
body.om-route-map .om-header-action.om-button--secondary {
  border: 0;
  border-radius: 0.5rem;
  -webkit-backdrop-filter: blur(2rem);
  backdrop-filter: blur(2rem);
  background: rgba(0, 0, 0, 0.3);
  color: #faf1eb;
}
body.om-route-map .om-header-action.om-button--secondary:hover, body.om-route-map .om-header-action.om-button--secondary:focus {
  background: rgba(0, 0, 0, 0.45);
  color: #ffd22a;
}
body.om-route-map .om-account-menu.has-messages {
  border-color: transparent;
  background: rgba(0, 0, 0, 0.3);
}
body.om-route-map .om-account-menu.has-messages::before {
  -webkit-backdrop-filter: blur(2rem);
  backdrop-filter: blur(2rem);
}
body.om-route-map .om-account-menu.has-messages .messages:hover,
body.om-route-map .om-account-menu.has-messages .messages:focus-visible {
  background: rgba(0, 0, 0, 0.45);
  color: #ffd22a;
}
body.om-route-map .om-active-users {
  display: none;
}
body.om-route-map .om-tooltip {
  --om-tooltip-bg: #fff;
  --om-tooltip-ink: #000;
}
body.om-route-map .om-nav {
  --om-nav-separator: rgba(255, 255, 255, 0.7);
}
body.om-route-map .om-nav a {
  --om-nav-resting: rgba(255, 255, 255, 0.82);
  --om-nav-ink: #000;
  --om-nav-chip: rgba(255, 255, 255, 0.85);
  --om-nav-chip-hover: #fff;
}

.om-community-map {
  --om-map-rail-width: 0rem;
  position: relative;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  background: hsl(170, 26%, 85%);
  font-family: "PV Sans Serif", sans-serif;
}
.om-community-map__canvas {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: hsl(170, 26%, 85%);
  opacity: 0;
  transform: translateZ(0) scale(0.97);
  transform-origin: center;
  transition: opacity 800ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 1200ms cubic-bezier(0.22, 0.61, 0.36, 1);
  backface-visibility: hidden;
  will-change: opacity, transform;
}
.om-community-map.is-map-ready .om-community-map__canvas {
  opacity: 1;
  transform: translateZ(0) scale(1);
}
@media (min-width: 64.1rem) {
  .om-community-map::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 2;
    width: 0rem;
    -webkit-backdrop-filter: blur(1rem);
    backdrop-filter: blur(1rem);
    background: rgba(56, 75, 72, 0.72);
    pointer-events: none;
  }
}
@media (max-width: 64rem) {
  .om-community-map::before {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    height: 4.9rem;
    -webkit-backdrop-filter: blur(1rem);
    backdrop-filter: blur(1rem);
    background: rgba(56, 75, 72, 0.72);
    content: "";
    pointer-events: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .om-community-map__canvas {
    transform: none;
    transition: none;
  }
}
.om-community-map__panel {
  position: absolute;
  z-index: 5;
  top: 8rem;
  max-height: calc(100dvh - 10rem);
  left: calc(0rem + 2.35rem);
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  width: var(--om-map-panel-width, 34rem);
  max-width: calc(100vw - 0rem - 2.35rem - var(--om-content-right));
  color: #faf1eb;
  opacity: 0;
  visibility: hidden;
  transition: opacity 220ms ease-out;
  pointer-events: none;
}
.om-community-map__panel.is-content-ready {
  opacity: 1;
  visibility: visible;
}

.om-community-map__card {
  padding: 1.2rem;
  border-radius: 1.6rem;
  background: rgba(56, 75, 72, 0.96);
  box-shadow: 0 0.6rem 2.4rem rgba(0, 0, 0, 0.35);
  pointer-events: auto;
}

.om-community-map__bar {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 0.9rem;
  padding: 1.08rem;
  min-height: 0;
  overflow: hidden;
  border-radius: 1rem;
  -webkit-backdrop-filter: blur(2rem);
  backdrop-filter: blur(2rem);
  background: rgba(56, 75, 72, 0.84);
}
.om-community-map__bar.is-open {
  flex-shrink: 1;
}

.om-community-map__controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem;
  width: max-content;
  max-width: 100%;
}
.om-community-map__controls .om-community-map__search {
  flex: 0 0 100%;
  width: 100%;
}

.om-community-map__nearby {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 0;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 1rem;
  -webkit-backdrop-filter: blur(2rem);
  backdrop-filter: blur(2rem);
  background: rgba(56, 75, 72, 0.84);
  box-shadow: 0 0.6rem 2.4rem rgba(0, 0, 0, 0.35);
  transition: height 200ms ease;
}
.om-community-map__nearby.is-open {
  flex-shrink: 1;
}
.om-community-map__nearby.is-open .om-community-map__nearby-popout {
  pointer-events: auto;
}
.om-community-map__nearby.is-resizing {
  flex-shrink: 0;
}
.om-community-map__nearby.is-closing .om-community-map__nearby-popout {
  pointer-events: none;
}
.om-community-map__nearby[hidden] {
  display: none;
}

.om-community-map__nearby-summary {
  position: relative;
  z-index: 1;
  flex: none;
  padding: 0;
}

.om-community-map__nearby.is-search-mode .om-community-map__card-toggle {
  position: absolute;
  inset: 0;
  z-index: 0;
  padding-right: 1.2rem;
}

.om-community-map__nearby.is-search-mode .om-community-map__nearby-summary {
  display: flex;
  align-items: center;
  padding: 1.08rem;
}

.om-community-map__results-summary {
  position: relative;
  z-index: 1;
  flex: none;
  color: #faf1eb;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  pointer-events: none;
}
.om-community-map__results-summary[hidden] {
  display: none;
}

.om-community-map__summary-clear {
  position: absolute;
  top: 50%;
  right: 4.2rem;
  z-index: 1;
  gap: 0.4rem;
  padding-left: 0.75em;
  transform: translateY(-50%);
}
.om-community-map__summary-clear::before {
  display: block;
  flex: none;
  width: 0.75rem;
  height: 0.75rem;
  background: #ffd22a;
  content: "";
  -webkit-mask: url("../../app/assets/img/icon-close.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-close.svg") center/contain no-repeat;
}
.om-community-map__summary-clear[hidden] {
  display: none;
}

.om-community-map__nearby.is-search-mode .om-community-map__summary-clear {
  position: relative;
  top: auto;
  right: auto;
  z-index: 2;
  flex: none;
  margin-left: 0.8rem;
  transform: none;
}

.om-community-map__nearby-popout {
  display: flex;
  flex-direction: column;
  flex-shrink: 1;
  min-height: 0;
  margin-top: 0;
  padding: 1.08rem;
  overflow: hidden;
  pointer-events: none;
}
.om-community-map__nearby-popout[hidden] {
  display: none;
}
.om-community-map__nearby-popout .om-community-map__scroll {
  margin: -1.08rem;
  padding: 1.08rem;
}

.om-community-map__scroll {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  min-height: 0;
  margin: -1.2rem;
  padding: 1.2rem;
  overflow-y: auto;
}
.om-community-map__scroll[hidden] {
  display: none;
}

.om-community-map__card-toggle {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex: none;
  width: 100%;
  padding: 1.08rem;
  border: 0;
  background: none;
  color: #faf1eb;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  text-align: left;
  cursor: pointer;
}
.om-community-map__card-toggle[hidden] {
  display: none;
}

.om-community-map__chevron {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  flex: none;
  height: 100%;
  aspect-ratio: 1;
}
.om-community-map__chevron::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.9rem;
  height: 0.6rem;
  background: currentColor;
  content: "";
  transform: translate(-50%, -50%) rotate(180deg);
  -webkit-mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
}

.om-community-map__card-toggle[aria-expanded=true] .om-community-map__chevron::before {
  transform: translate(-50%, -50%);
}

.om-community-map__summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.8rem;
  opacity: 0;
  transition: opacity 160ms ease-out;
}
.om-community-map__summary.is-ready {
  opacity: 1;
}
.om-community-map__summary[hidden] {
  display: none;
}

.om-community-map__summary-count {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  overflow: hidden;
  white-space: nowrap;
  transition: width 180ms ease-out;
}
.om-community-map__summary-count.is-sizing {
  transition: none;
}
.om-community-map__summary-count .om-community-map__summary-pin {
  flex: none;
  width: 0.6rem;
  height: 0.6rem;
  border: 1px solid rgba(250, 241, 235, 0.35);
  border-radius: 50% 50% 50% 0;
  transform: translateY(-0.05em) rotate(-45deg);
}
.om-community-map__summary-count--sanghas .om-community-map__summary-pin {
  background: #ffd22a;
}
.om-community-map__summary-count--people .om-community-map__summary-pin {
  background: #556d69;
  border-color: #faf1eb;
}
.om-community-map__summary-count.is-loading > span,
.om-community-map__summary-count.is-loading .om-community-map__summary-pin {
  visibility: hidden;
}
.om-community-map__summary-count.is-loading::before, .om-community-map__summary-count.is-loading::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.6rem;
  height: 0.6rem;
  border: 1.35px solid currentColor;
  border-radius: 50%;
  content: "";
  opacity: 1;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.om-community-map__summary-count.is-loading::before {
  opacity: 0.196;
}
.om-community-map__summary-count.is-loading::after {
  border-top-color: transparent;
  opacity: 0.7;
  animation: om-community-map-summary-spin 700ms linear infinite;
}

@keyframes om-community-map-summary-spin {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.om-community-map__search {
  position: relative;
}
.om-community-map__search::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 1rem;
  height: 1rem;
  box-sizing: border-box;
  border: 2px solid rgba(250, 241, 235, 0.25);
  border-top-color: #faf1eb;
  border-radius: 50%;
  opacity: 0;
  transform: translateY(-50%);
  transition: opacity 150ms ease;
  pointer-events: none;
}

.om-community-map--searching .om-community-map__search::after {
  opacity: 1;
  animation: om-community-map-search-spin 700ms linear infinite;
}

@keyframes om-community-map-search-spin {
  from {
    transform: translateY(-50%) rotate(0deg);
  }
  to {
    transform: translateY(-50%) rotate(360deg);
  }
}
.om-community-map__empty.is-searching {
  animation: om-map-search-pulse 1.2s ease-in-out infinite;
}

@keyframes om-map-search-pulse {
  0%, 100% {
    opacity: 0.7;
  }
  50% {
    opacity: 0.3;
  }
}
.om-community-map__search input {
  width: 100%;
  padding: 0.7rem 2.8rem 0.7rem 0.9rem;
  border: 1px solid rgba(250, 241, 235, 0.24);
  border-radius: 0.5rem;
  background: rgba(250, 241, 235, 0.06);
  color: #faf1eb;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  font-weight: 300;
  transition: background-color 100ms ease, border-color 100ms ease, color 100ms ease;
}
.om-community-map__search input::placeholder {
  color: rgba(250, 241, 235, 0.55);
}
.om-community-map__search input:focus {
  outline: none;
  border-color: rgba(250, 241, 235, 0.6);
}
.om-community-map__search input::-webkit-search-cancel-button {
  display: none;
}

.om-community-map__clear {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0 0.5rem 0.5rem 0;
  background: none;
  color: rgba(250, 241, 235, 0.7);
  cursor: pointer;
}
.om-community-map__clear .om-icon {
  width: 0.92rem;
  height: 0.92rem;
}
.om-community-map__clear:hover, .om-community-map__clear:focus-visible {
  color: #faf1eb;
}
.om-community-map__clear:active {
  color: rgba(250, 241, 235, 0.7);
  opacity: 1;
}
.om-community-map__clear[hidden] {
  display: none;
}

.om-community-map--searching .om-community-map__clear {
  display: none;
}

.om-community-map__types {
  display: flex;
  flex: none;
  flex-wrap: nowrap;
  gap: 0.5rem;
  width: max-content;
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
}
.om-community-map__types::-webkit-scrollbar {
  display: none;
}
.om-community-map__types .om-pill-button {
  position: relative;
  flex: none;
  align-items: center;
  justify-content: center;
  padding: 0.65rem;
  border-radius: 0.5rem;
  text-align: center;
  white-space: nowrap;
}
.om-community-map__types .om-pill-button > span {
  display: block;
  transform: translateY(0.05em);
}
.om-community-map__types .om-pill-button.is-active {
  border-color: #faf1eb;
  background: #faf1eb;
  color: #384b48;
}

.om-community-map__list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-bottom: 2.667rem;
}
.om-community-map__list[hidden] {
  display: none;
}
.om-community-map__list h2 {
  margin: 0;
  font-family: "Futura Medium", sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(250, 241, 235, 0.65);
}
.om-community-map__list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.om-community-map__list li + li {
  position: relative;
}
.om-community-map__list li + li::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0.15rem;
  background: rgba(250, 241, 235, 0.18);
  content: "";
  -webkit-mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
}
.om-community-map__list .om-community-map__more {
  align-self: flex-start;
  margin-top: 0.6rem;
}
.om-community-map__list .om-community-map__more[hidden] {
  display: none;
}

.om-community-map__list[data-om-map-list=sanghas] h2,
.om-community-map__list[data-om-map-list=people] h2 {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.om-community-map__list[data-om-map-list=sanghas] h2::before,
.om-community-map__list[data-om-map-list=people] h2::before {
  content: "";
  flex: none;
  width: 0.6rem;
  height: 0.6rem;
  border: 1px solid rgba(250, 241, 235, 0.35);
  border-radius: 50% 50% 50% 0;
  transform: translateY(-0.05em) rotate(-45deg);
}

.om-community-map__list[data-om-map-list=sanghas] h2::before {
  background: #ffd22a;
}

.om-community-map__list[data-om-map-list=people] h2::before {
  background: #556d69;
  border-color: #faf1eb;
}

.om-community-map__row {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  width: 100%;
  padding: 0.7rem 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.om-community-map__row:hover .om-community-map__row-title, .om-community-map__row:focus-visible .om-community-map__row-title {
  color: #ffd22a;
}
.om-community-map__row.is-active .om-community-map__row-title {
  color: #ffd22a;
}

.om-community-map__row--person {
  flex: 1 1 auto;
  flex-direction: row;
  align-items: center;
  gap: 0.8rem;
  min-width: 0;
}

.om-community-map__person {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.om-community-map__row-body {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.om-community-map__row-title {
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  line-height: 1.3;
  color: #faf1eb;
  transition: color 160ms ease;
}

.om-community-map__row-meta {
  font-size: 0.8rem;
  color: rgba(250, 241, 235, 0.6);
}

.om-community-map__avatar {
  background-color: var(--om-avatar-placeholder-bg, #49625e);
  -webkit-backdrop-filter: var(--om-avatar-placeholder-backdrop, none);
  backdrop-filter: var(--om-avatar-placeholder-backdrop, none);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  overflow: hidden;
}
.om-community-map__avatar::before {
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  background: var(--om-avatar-placeholder-icon, rgba(250, 241, 235, 0.8));
  content: "";
  -webkit-mask: url("../../app/assets/img/icon-avatar-placeholder.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-avatar-placeholder.svg") center/contain no-repeat;
}
.om-community-map__avatar img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.om-community-map__empty,
.om-community-map__hidden-note {
  margin: 0;
  font-size: 0.8rem;
  color: rgba(250, 241, 235, 0.65);
}

.om-community-map__hidden-note a {
  color: #faf1eb;
}

.om-community-map__feed-error[hidden] {
  display: none;
}

.om-map-marker {
  background: none;
  border: 0;
}
.om-map-marker i {
  position: absolute;
  top: 6px;
  left: 6px;
  display: block;
  box-sizing: border-box;
  width: 26px;
  height: 26px;
  border: 2px solid rgba(0, 0, 0, 0.35);
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
  animation: om-map-pin-in 160ms ease-out both;
}

.om-map-marker--sangha i {
  background: #ffd22a;
}

.om-map-marker--person i {
  background: #556d69;
  border-color: #384b48;
}

.om-map-marker--photo {
  overflow: visible;
}
.om-map-marker--photo i {
  border-color: #384b48;
  background: #556d69;
  overflow: hidden;
}
.om-map-marker--photo img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 142%;
  height: 142%;
  object-fit: cover;
  object-position: center;
  transform: translate(-50%, -50%) rotate(45deg);
}

.om-map-cluster {
  font-family: "Futura Medium", sans-serif;
  font-size: 0.9rem;
}
.om-map-cluster > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 2px solid rgba(250, 241, 235, 0.85);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  animation: om-map-cluster-in 160ms ease-out both;
  transition: border-color 160ms ease;
}
.om-map-cluster:hover > span {
  border-color: #ffd22a;
}

.om-map-cluster--sangha > span {
  background: #ffd22a;
  color: #000000;
}

.om-map-cluster--people > span {
  background: #556d69;
  color: #faf1eb;
}

.om-map-cluster--people:hover > span {
  border-color: #789691;
}

@keyframes om-map-cluster-in {
  from {
    opacity: 0;
    transform: scale(0.94);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes om-map-pin-in {
  from {
    opacity: 0;
    transform: rotate(-45deg) scale(0.94);
  }
  to {
    opacity: 1;
    transform: rotate(-45deg) scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .om-community-map__panel {
    transition: none;
  }
  .om-map-cluster > span,
  .om-map-marker i {
    animation: none;
  }
  .om-community-map__summary-count.is-loading::after {
    animation: none;
  }
  .om-community-map__summary {
    transition: none;
  }
  .om-map-leaflet-popup.is-profile-revealing .leaflet-popup-content-wrapper,
  .om-map-leaflet-popup.is-profile-revealing .leaflet-popup-tip-container,
  .om-map-leaflet-popup.is-profile-loader-clone .leaflet-popup-content-wrapper,
  .om-map-leaflet-popup.is-profile-loader-clone .leaflet-popup-tip-container {
    opacity: 1;
    transition: none;
  }
  .om-map-leaflet-popup.is-profile-dismissing .leaflet-popup-content-wrapper,
  .om-map-leaflet-popup.is-profile-dismissing .leaflet-popup-tip-container {
    opacity: 0;
    transition: none;
  }
  .om-map-popup__spinner::after {
    animation: none;
  }
}
.om-map-self {
  background: none;
  border: 0;
}
.om-map-self i {
  position: absolute;
  inset: 0;
  display: block;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #4285f4;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  animation: om-map-self-pulse 2s ease-out infinite;
}

@keyframes om-map-self-pulse {
  0% {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 0 0 rgba(66, 133, 244, 0.35);
  }
  70%, 100% {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 0 14px rgba(66, 133, 244, 0);
  }
}
.om-route-map .om-map-locate {
  display: flex;
  align-items: center;
  gap: 0.69rem;
  padding: 0.86rem;
  border: 0;
  border-radius: 0.5rem;
  -webkit-backdrop-filter: blur(2rem);
  backdrop-filter: blur(2rem);
  background: rgba(0, 0, 0, 0.3);
  color: #faf1eb;
  font-family: "Futura Medium", sans-serif;
  font-size: 0.92rem;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 100ms ease, color 100ms ease;
}
.om-route-map .om-map-locate .om-icon {
  display: block;
  width: 1.15rem;
  height: 1.15rem;
}
.om-route-map .om-map-locate > span {
  display: block;
  transform: translateY(0.05em);
}
.om-route-map .om-map-locate:hover, .om-route-map .om-map-locate:focus-visible {
  background: rgba(0, 0, 0, 0.45);
  color: #ffd22a;
}
.om-route-map .leaflet-bar {
  border: 0;
  border-radius: 0.5rem;
  overflow: hidden;
  -webkit-backdrop-filter: blur(2rem);
  backdrop-filter: blur(2rem);
}
.om-route-map .leaflet-bar a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  font-size: 25px;
  line-height: 1;
  background: rgba(0, 0, 0, 0.3);
  color: #faf1eb;
  border-color: rgba(250, 241, 235, 0.15);
  transition: background-color 100ms ease, border-color 100ms ease, color 100ms ease;
}
.om-route-map .leaflet-bar a span {
  display: none;
}
.om-route-map .leaflet-bar a::before, .om-route-map .leaflet-bar a::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.92rem;
  height: 2.76px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform: translate(-50%, -50%);
}
.om-route-map .leaflet-bar a.leaflet-control-zoom-in::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.om-route-map .leaflet-bar a.leaflet-control-zoom-out::after {
  display: none;
}
.om-route-map .leaflet-bar a:first-child {
  border-radius: 0.5rem 0.5rem 0 0;
}
.om-route-map .leaflet-bar a:last-child {
  border-radius: 0 0 0.5rem 0.5rem;
}
.om-route-map .leaflet-bar a:hover, .om-route-map .leaflet-bar a:focus-visible {
  background: rgba(0, 0, 0, 0.45);
  color: #ffd22a;
}
.om-route-map .leaflet-control-attribution {
  background: transparent;
  color: rgba(56, 75, 72, 0.78);
  text-shadow: 0 1px 3px rgba(255, 255, 255, 0.85);
}
.om-route-map .leaflet-control-attribution a {
  color: inherit;
}
.om-route-map .leaflet-right .om-map-locate,
.om-route-map .leaflet-right .leaflet-control-zoom {
  margin-right: 1.75rem;
}
.om-route-map .leaflet-right .leaflet-control-zoom {
  margin-bottom: 0.875rem;
}

@keyframes om-map-profile-card-in {
  from {
    opacity: 0;
    translate: 0 -0.65rem;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes om-map-profile-loader-in {
  from {
    opacity: 0;
    translate: 0 -0.4rem;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
.om-map-leaflet-popup.om-map-leaflet-popup--person-loading .leaflet-popup-content-wrapper,
.om-map-leaflet-popup.om-map-leaflet-popup--person-loading .leaflet-popup-tip-container {
  animation: om-map-profile-loader-in 180ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
.om-map-leaflet-popup.om-map-leaflet-popup--person-loading .leaflet-popup-content-wrapper {
  border-radius: 0.5rem;
}
.om-map-leaflet-popup.om-map-leaflet-popup--person-loading .leaflet-popup-content {
  width: 1rem !important;
  margin: 0.8rem;
}
.om-map-leaflet-popup.om-map-leaflet-popup--person-loading .leaflet-popup-tip-container {
  width: 24px;
  height: 12px;
  margin-left: -12px;
}
.om-map-leaflet-popup.om-map-leaflet-popup--person-loading .leaflet-popup-tip {
  width: 12px;
  height: 12px;
  margin: -7px auto 0;
}
.om-map-leaflet-popup.om-map-leaflet-popup--person-loading a.leaflet-popup-close-button {
  display: none;
}
.om-map-leaflet-popup.is-profile-revealing .leaflet-popup-content-wrapper, .om-map-leaflet-popup.is-profile-revealing .leaflet-popup-tip-container {
  opacity: 0;
  translate: 0 -0.65rem;
}
.om-map-leaflet-popup.is-profile-revealing.is-profile-ready .leaflet-popup-content-wrapper, .om-map-leaflet-popup.is-profile-revealing.is-profile-ready .leaflet-popup-tip-container {
  animation: om-map-profile-card-in 240ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
.om-map-leaflet-popup.is-profile-loader-clone {
  pointer-events: none;
}
.om-map-leaflet-popup.is-profile-loader-clone .leaflet-popup-content-wrapper,
.om-map-leaflet-popup.is-profile-loader-clone .leaflet-popup-tip-container {
  opacity: 1;
  translate: 0 0;
  animation: none;
  transition: opacity 200ms linear, translate 200ms ease;
}
.om-map-leaflet-popup.is-profile-loader-clone.is-profile-loader-exiting .leaflet-popup-content-wrapper,
.om-map-leaflet-popup.is-profile-loader-clone.is-profile-loader-exiting .leaflet-popup-tip-container {
  opacity: 0;
  translate: 0 -0.4rem;
}
.om-map-leaflet-popup.is-profile-dismissing .leaflet-popup-content-wrapper,
.om-map-leaflet-popup.is-profile-dismissing .leaflet-popup-tip-container {
  opacity: 0;
  transition: opacity 200ms linear;
}
.om-map-leaflet-popup.om-map-leaflet-popup--below {
  margin-top: 0;
  margin-bottom: 0;
}
.om-map-leaflet-popup.om-map-leaflet-popup--below .leaflet-popup-tip-container {
  top: -20px;
  margin-top: 0;
  transform: rotate(180deg);
}
.om-map-leaflet-popup.om-map-leaflet-popup--below.om-map-leaflet-popup--person-loading .leaflet-popup-tip-container {
  top: -12px;
}
.om-map-leaflet-popup .leaflet-popup-content-wrapper {
  border-radius: 1rem;
  background: #384b48;
  color: #faf1eb;
  box-shadow: 0 0.6rem 2.4rem rgba(0, 0, 0, 0.4);
}
.om-map-leaflet-popup .leaflet-popup-tip {
  background: #384b48;
}
.om-map-leaflet-popup a.leaflet-popup-close-button {
  top: 0.8rem;
  right: 0.8rem;
  width: 1.8rem;
  height: 1.8rem;
  color: rgba(250, 241, 235, 0.7);
}
.om-map-leaflet-popup a.leaflet-popup-close-button span {
  display: none;
}
.om-map-leaflet-popup a.leaflet-popup-close-button::before {
  content: "";
  position: absolute;
  inset: 0.4rem;
  background: currentColor;
  -webkit-mask: url("../../app/assets/img/icon-close.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-close.svg") center/contain no-repeat;
}
.om-map-leaflet-popup a.leaflet-popup-close-button:hover, .om-map-leaflet-popup a.leaflet-popup-close-button:focus-visible {
  color: #faf1eb;
}
.om-map-leaflet-popup .leaflet-popup-content {
  margin: 1.1rem 1.2rem;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.8rem;
  line-height: 1.5;
}
.om-map-leaflet-popup:not(.om-map-leaflet-popup--person-loading) .leaflet-popup-content {
  max-height: min(34dvh, 18rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

.om-map-popup {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 13rem;
}
.om-map-popup--loading {
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  min-width: 0;
  gap: 0;
  margin: 0 auto;
}
.om-map-popup__spinner {
  position: relative;
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  opacity: 0.7;
}
.om-map-popup__spinner::before, .om-map-popup__spinner::after {
  position: absolute;
  inset: 0;
  border: 2px solid currentColor;
  border-radius: 50%;
  content: "";
}
.om-map-popup__spinner::before {
  opacity: 0.28;
}
.om-map-popup__spinner::after {
  border-top-color: transparent;
  animation: om-nav-spin 700ms linear infinite;
}
.om-map-popup p {
  margin: 0;
}
.om-map-popup__title {
  margin: 0;
  padding-right: 2rem;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.3;
}
.om-map-popup__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.om-map-popup__tag {
  padding: 0.25em 0.8em 0.15em;
  border: 1px solid rgba(250, 241, 235, 0.24);
  border-radius: 100rem;
  font-family: "Futura Medium", sans-serif;
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(250, 241, 235, 0.85);
}
.om-map-popup__address, .om-map-popup__contact {
  color: rgba(250, 241, 235, 0.75);
}
.om-map-popup__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1rem;
}
.om-map-popup a {
  color: #ffd22a;
}
.om-map-popup button.om-map-popup__email {
  padding: 0;
  border: 0;
  background: none;
  color: #ffd22a;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}
.om-map-popup button.om-map-popup__email:disabled {
  color: rgba(250, 241, 235, 0.6);
  text-decoration: none;
  cursor: default;
}
.om-map-popup__email-error {
  color: rgba(250, 241, 235, 0.6);
}

@media all {
  .om-community-map__panel {
    top: auto;
    left: calc(50% + 0rem);
    right: auto;
    bottom: 2.35rem;
    width: var(--om-map-panel-width, 34rem);
    max-width: calc(100vw - 0rem - 1.2rem);
    max-height: 55dvh;
    transform: translateX(-50%);
  }
  .om-community-map__types {
    width: calc(100% + 2.16rem);
    max-width: none;
    margin-right: -1.08rem;
    margin-left: -1.08rem;
    padding-right: 1.08rem;
    padding-left: 1.08rem;
    scroll-padding-right: 1.08rem;
    scroll-padding-left: 1.08rem;
  }
  .om-route-map .leaflet-bottom.leaflet-right {
    right: auto;
    bottom: 0;
    left: calc(50% + 0rem);
    transform: translateX(-50%);
  }
  .om-route-map .leaflet-control-attribution {
    margin: 0 0 0.5rem;
  }
  .om-route-map .om-map-locate,
  .om-route-map .leaflet-control-zoom {
    display: none;
  }
  .om-community-map.has-map-zoom-room {
    --om-map-controls-bottom: calc(2.5rem + 2.76rem + 0.875rem);
  }
  .om-community-map.has-map-zoom-room .leaflet-control-zoom,
  .om-community-map.has-map-zoom-room .om-map-locate {
    position: fixed;
    right: 2.5rem;
    margin: 0;
  }
  .om-community-map.has-map-zoom-room .om-map-locate {
    display: flex;
    bottom: var(--om-map-controls-bottom);
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
  }
  .om-community-map.has-map-zoom-room .om-map-locate > span {
    display: none;
  }
  .om-community-map.has-map-zoom-room .leaflet-control-zoom {
    display: block;
    bottom: calc(var(--om-map-controls-bottom) + 34px + 0.875rem);
  }
}
@media (min-width: 64.01rem) {
  .om-route-map .leaflet-bottom.leaflet-right {
    right: 0;
    left: 0;
    width: 100%;
    transform: none;
    pointer-events: none;
  }
  .om-route-map .leaflet-control-attribution {
    position: absolute;
    bottom: 0.5rem;
    left: calc(50% + 0rem);
    margin: 0;
    transform: translateX(-50%);
    pointer-events: auto;
  }
  .om-community-map.has-map-zoom-room .leaflet-control-zoom,
  .om-community-map.has-map-zoom-room .om-map-locate {
    position: absolute;
    pointer-events: auto;
  }
}
@media (max-width: 64rem) {
  body.om-route-map .om-header {
    position: fixed;
    top: 0.6rem;
    left: 0.6rem;
    right: 0.6rem;
    z-index: 10;
    border-radius: 1rem;
  }
  .om-community-map__panel {
    left: 50%;
    bottom: calc(2rem + env(safe-area-inset-bottom, 0px));
    max-width: calc(100vw - 1.2rem);
  }
  .om-community-map__bar,
  .om-community-map__card-toggle,
  .om-community-map__nearby.is-search-mode .om-community-map__nearby-summary {
    padding: 0.75rem;
  }
  .om-community-map__nearby-popout {
    padding: 0.75rem;
  }
  .om-community-map__nearby-popout .om-community-map__scroll {
    margin: -0.75rem;
    padding: 0.75rem;
  }
  .om-community-map__types {
    width: calc(100% + 1.5rem);
    margin-right: -0.75rem;
    margin-left: -0.75rem;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
    scroll-padding-right: 0.75rem;
    scroll-padding-left: 0.75rem;
  }
  .om-community-map__types .om-pill-button {
    padding: 0.5rem;
    border-radius: 0.3rem;
    line-height: 1;
  }
  .om-community-map__search input {
    padding: 0.55rem 2.8rem 0.55rem 0.55rem;
  }
  .om-route-map .leaflet-top.leaflet-right {
    top: 6.1rem;
    right: 0.6rem;
  }
  .om-route-map .leaflet-top.leaflet-right .leaflet-control-zoom,
  .om-route-map .leaflet-top.leaflet-right .om-map-locate {
    margin: 0 0 0.5rem;
  }
  .om-route-map .leaflet-top.leaflet-right .leaflet-control-zoom {
    display: block;
  }
  .om-route-map .leaflet-top.leaflet-right .om-map-locate {
    display: flex;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
  }
  .om-route-map .leaflet-top.leaflet-right .om-map-locate > span {
    display: none;
  }
  .om-community-map.has-map-zoom-room .leaflet-control-zoom,
  .om-community-map.has-map-zoom-room .om-map-locate {
    position: relative;
    right: auto;
    bottom: auto;
  }
  .om-route-map .leaflet-bottom.leaflet-right {
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    transform: none;
    pointer-events: none;
  }
  .om-route-map .leaflet-control-attribution {
    position: absolute;
    bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px));
    left: 50%;
    margin: 0;
    line-height: 1rem;
    transform: translateX(-50%);
    pointer-events: auto;
  }
}
.om-reflections .om-hero-title {
  margin-bottom: 2rem;
}
.om-reflections .layout {
  width: 100%;
  max-width: var(--om-content-wide);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) minmax(0, 44rem) minmax(12rem, 1fr);
  gap: 2.5rem;
  align-items: start;
}
.om-reflections .sidebar {
  position: sticky;
  top: 8.4rem;
  grid-column: 1;
  grid-row: 1;
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
}
.om-reflections .sidebar nav {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
}
.om-reflections .sidebar [data-view] {
  padding-right: 1.2rem;
  padding-left: 1.2rem;
  font-size: 0.8rem;
  -webkit-backdrop-filter: blur(0.5rem);
  backdrop-filter: blur(0.5rem);
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, -webkit-backdrop-filter 180ms ease, backdrop-filter 180ms ease, transform 120ms ease;
}
.om-reflections .sidebar [data-view].is-active {
  border-color: #faf1eb;
  background: rgba(250, 241, 235, 0.85);
  opacity: 1;
}
.om-reflections .sidebar [data-view].is-active:hover, .om-reflections .sidebar [data-view].is-active:focus {
  background: rgba(250, 241, 235, 0.9);
}
.om-reflections .sidebar [data-view].is-active:active {
  background: rgba(250, 241, 235, 0.95);
}
.om-reflections .sidebar > p {
  margin: 1rem 0 0;
  color: rgba(250, 241, 235, 0.7);
  font-size: 1.1rem;
  line-height: 1.5;
}
.om-reflections .stream {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  min-height: 100vh;
}
.om-reflections [hidden] {
  display: none !important;
}
.om-reflections button:disabled {
  cursor: default;
  opacity: 0.55;
}
.om-reflections button:focus-visible, .om-reflections a:focus-visible, .om-reflections select:focus-visible {
  outline: 2px solid #ffd22a;
  outline-offset: 4px;
}
.om-reflections .composer, .om-reflections .card {
  padding: 1.8rem;
  border: 1px solid rgba(250, 241, 235, 0.15);
  border-radius: 1rem;
  background: rgba(250, 241, 235, 0.045);
}
.om-reflections .composer {
  margin: 0 0 2rem;
}
.om-reflections .composer > label {
  display: block;
  margin-bottom: 1rem;
  font-size: 1.65rem;
}
.om-reflections .composer:not(:focus-within):not(.is-with-photos):has(textarea:placeholder-shown) .photo-tools, .om-reflections .composer:not(:focus-within):not(.is-with-photos):has(textarea:placeholder-shown) .compose-bottom, .om-reflections .composer:not(:focus-within):not(.is-with-photos):has(textarea:placeholder-shown) .privacy {
  display: none;
}
.om-reflections textarea {
  width: 100%;
  min-height: 8rem;
  padding: 1rem;
  resize: vertical;
  border: 1px solid rgba(250, 241, 235, 0.15);
  border-radius: 0.5rem;
  background: rgba(0, 0, 0, 0.08);
  color: #faf1eb;
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 1.3rem;
  line-height: 1.55;
}
.om-reflections textarea:focus, .om-reflections textarea:focus-visible {
  outline: none;
}
.om-reflections textarea::placeholder {
  color: rgba(250, 241, 235, 0.5);
}
.om-reflections .photo-tools {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 0.8rem;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.8rem;
  color: rgba(250, 241, 235, 0.65);
}
.om-reflections .photo-previews, .om-reflections .photos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
  margin-top: 1rem;
}
.om-reflections .photo-previews:empty {
  display: none;
}
.om-reflections .photo-preview {
  display: grid;
  gap: 0.6rem;
  min-width: 0;
}
.om-reflections .photo-preview img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 0.5rem;
}
.om-reflections .photo-preview input {
  width: 100%;
  padding: 0.5rem;
  border: 1px solid rgba(250, 241, 235, 0.24);
  border-radius: 0.5rem;
  background: #384b48;
  color: #faf1eb;
  font: 0.8rem "PV Sans Serif", sans-serif;
}
.om-reflections .photo-preview button {
  justify-self: start;
}
.om-reflections .photos a {
  display: block;
  overflow: hidden;
  border-radius: 0.5rem;
  background: rgba(0, 0, 0, 0.08);
}
.om-reflections .photos img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.om-reflections .photos:has(> :only-child) {
  grid-template-columns: 1fr;
}
.om-reflections .photos:has(> :only-child) img {
  height: auto;
  max-height: 40rem;
  aspect-ratio: auto;
  object-fit: contain;
}
.om-reflections .compose-bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  align-items: center;
  margin-top: 1rem;
}
.om-reflections select:not(.om-button) {
  min-width: 0;
  max-width: 100%;
  border: 1px solid rgba(250, 241, 235, 0.24);
  border-radius: 0.5rem;
  padding: 0.5rem 0.7rem;
  background: #384b48;
  color: #faf1eb;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
}
.om-reflections [data-reflection-count] {
  margin-left: auto;
  color: rgba(250, 241, 235, 0.65);
  font-family: "Futura Light", sans-serif;
  font-size: 0.8rem;
}
.om-reflections .privacy {
  margin: 1rem 0 0;
  color: rgba(250, 241, 235, 0.65);
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 0.8rem;
  line-height: 1.5;
}
.om-reflections .signin p {
  margin: 0 0 0.7rem;
  font-size: 1.65rem;
}
.om-reflections .signin a {
  color: #ffd22a;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
}
.om-reflections .feed-heading {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}
.om-reflections .feed-heading h2 {
  margin: 0;
  font-size: 2.1rem;
  font-weight: 400;
}
.om-reflections [data-reflection-status] {
  color: rgba(250, 241, 235, 0.75);
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 1.1rem;
}
.om-reflections [data-reflection-status]:empty {
  display: none;
}
.om-reflections .card {
  margin-bottom: 1rem;
}
.om-reflections .card.is-revealing {
  animation: om-reflection-reveal 680ms cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: var(--reveal-delay, 0ms);
}
@media (prefers-reduced-motion: reduce) {
  .om-reflections .card.is-revealing {
    animation: none;
  }
}
.om-reflections .card-header {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  align-items: center;
}
.om-reflections .card-actions {
  display: flex;
  gap: 0.5rem;
  margin-left: auto;
  flex-shrink: 0;
}
.om-reflections .upcoming-session {
  display: block;
  margin-top: 1.5rem;
  padding: 1rem 1.2rem;
  border: 1px solid rgba(250, 241, 235, 0.25);
  border-radius: 0.5rem;
  background: rgba(120, 150, 145, 0.18);
  color: #faf1eb;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  text-decoration: none;
}
.om-reflections .upcoming-session:hover, .om-reflections .upcoming-session:focus-visible {
  border-color: #ffd22a;
  color: #ffd22a;
}
.om-reflections .upcoming-session .session-notice {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 1rem;
  color: rgba(250, 241, 235, 0.65);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.8rem;
}
.om-reflections .upcoming-session .session-notice .om-icon {
  flex-shrink: 0;
  color: #ffd22a;
}
.om-reflections .upcoming-session .session-row {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}
.om-reflections .upcoming-session .session-day {
  display: grid;
  place-items: center;
  flex: 0 0 2.8rem;
  height: 3.1rem;
  border: 1px solid rgba(250, 241, 235, 0.2);
  border-radius: 0.5rem;
  color: #b59b8d;
  font: 0.8rem "Futura Medium", sans-serif;
  text-transform: uppercase;
}
.om-reflections .upcoming-session .session-details {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
}
.om-reflections .upcoming-session .session-title {
  font: 1.1rem/1.2 "PV Sans Serif", sans-serif;
}
.om-reflections .upcoming-session .session-time {
  color: rgba(250, 241, 235, 0.65);
  font: 0.8rem/1.5 "PV Sans Serif", sans-serif;
}
.om-reflections .avatar {
  display: grid;
  place-items: center;
  flex: 0 0 2.8rem;
  height: 2.8rem;
  border-radius: 100rem;
  background: rgba(120, 150, 145, 0.25);
  color: #faf1eb;
  font-family: "Futura Light", sans-serif;
  font-size: 1.3rem;
  overflow: hidden;
}
.om-reflections .avatar.is-placeholder {
  background-color: var(--om-avatar-placeholder-bg, #49625e);
  -webkit-backdrop-filter: var(--om-avatar-placeholder-backdrop, none);
  backdrop-filter: var(--om-avatar-placeholder-backdrop, none);
}
.om-reflections .avatar.is-placeholder::before {
  display: block;
  width: 1.1rem;
  height: 1.1rem;
  background: var(--om-avatar-placeholder-icon, rgba(250, 241, 235, 0.8));
  content: "";
  -webkit-mask: url("../../app/assets/img/icon-avatar-placeholder.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-avatar-placeholder.svg") center/contain no-repeat;
}
.om-reflections .avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-reflections .byline {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}
.om-reflections .visibility {
  justify-self: start;
  padding: 0.15rem 0.55rem;
  border: 1px solid rgba(250, 241, 235, 0.3);
  border-radius: 100rem;
  color: #faf1eb;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.8rem;
}
.om-reflections .byline strong {
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  font-weight: 400;
  overflow-wrap: anywhere;
}
.om-reflections time {
  color: rgba(250, 241, 235, 0.55);
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.8rem;
}
.om-reflections .follow {
  flex-shrink: 0;
}
.om-reflections .follow[aria-pressed=true] {
  border-color: rgba(255, 210, 42, 0.5);
  color: #ffd22a;
}
.om-reflections .body {
  margin: 1.6rem 0 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 1.3rem;
  line-height: 1.65;
}
.om-reflections .save[aria-pressed=true] {
  border-color: rgba(255, 210, 42, 0.5);
  color: #ffd22a;
}
.om-reflections .guidance {
  grid-column: 3;
  grid-row: 1;
  padding: 0;
  color: rgba(250, 241, 235, 0.65);
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 1.1rem;
  line-height: 1.6;
}
.om-reflections .guidance h2, .om-reflections .guidance h3 {
  color: #faf1eb;
  font-family: "Lavishe", sans-serif;
  font-weight: 400;
}
.om-reflections .guidance h2 {
  font-size: 2.1rem;
  margin: 0 0 1rem;
}
.om-reflections .guidance h3 {
  font-size: 1.65rem;
  margin: 0 0 1rem;
}
.om-reflections .guidance hr {
  border: 0;
  border-top: 1px solid rgba(250, 241, 235, 0.15);
  margin: 2rem 0;
}
.om-reflections .guidance .prompt {
  margin-top: 1.5rem;
  color: #b59b8d;
  font-family: "Lavishe", sans-serif;
  font-size: 1.65rem;
}
.om-reflections [data-reflection-more] {
  width: 100%;
}
.om-reflections .sentinel {
  height: 1px;
}
.om-reflections .feed-loading {
  position: absolute;
  inset: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.om-reflections .feed-loading .spinner {
  border-radius: 50%;
  opacity: 0;
  transition: opacity 520ms ease;
  position: relative;
  display: block;
  width: 1rem;
  height: 1rem;
  opacity: 0.7;
}
.om-reflections .feed-loading .spinner::before, .om-reflections .feed-loading .spinner::after {
  position: absolute;
  inset: 0;
  border: 2px solid currentColor;
  border-radius: 50%;
  content: "";
  transform: rotate(0deg);
}
.om-reflections .feed-loading .spinner::before {
  opacity: 0.28;
}
.om-reflections .feed-loading .spinner::after {
  border-top-color: transparent;
}
.om-reflections .feed-loading .spinner::after {
  animation: om-nav-spin 700ms linear infinite;
}
@media (max-width: 64rem) {
  .om-reflections .layout {
    max-width: 44rem;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.8rem;
  }
  .om-reflections .sidebar, .om-reflections .stream {
    grid-column: 1;
    grid-row: auto;
  }
  .om-reflections .sidebar {
    position: static;
  }
  .om-reflections .sidebar nav {
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
  }
  .om-reflections .guidance {
    display: none;
  }
  .om-reflections .om-hero-title {
    padding-top: 0;
    margin-bottom: 1rem;
  }
}
@media (max-width: 30rem) {
  .om-reflections .card, .om-reflections .composer {
    padding: 1.2rem;
  }
  .om-reflections .compose-bottom {
    gap: 0.7rem;
  }
  .om-reflections .compose-bottom .om-button, .om-reflections .compose-bottom .magic-login-modal .btn-submit, .magic-login-modal .om-reflections .compose-bottom .btn-submit {
    width: 100%;
  }
  .om-reflections .feed-heading h2 {
    font-size: 1.65rem;
  }
  .om-reflections .sidebar nav {
    gap: 0.5rem;
  }
}

@keyframes om-reflection-reveal {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.om-reflections .question-picker {
  margin-bottom: 1.5rem;
}
.om-reflections .question-picker label {
  display: block;
  margin-bottom: 0.5rem;
}
.om-reflections .question-picker select {
  width: 100%;
  padding: 1rem;
  border-radius: 0.5rem;
  color: #384b48;
  background: #faf1eb;
}
.om-reflections .locked-notes {
  height: 8rem;
  position: relative;
  margin: 1rem;
}
.om-reflections .locked-notes .note {
  position: absolute;
  inset: 0;
  height: 4rem;
  background: rgba(250, 241, 235, 0.08);
  border: 1px solid rgba(250, 241, 235, 0.2);
  border-radius: 1rem;
}
.om-reflections .locked-notes .note:nth-child(1) {
  top: 0rem;
  margin-inline: 1.75rem;
}
.om-reflections .locked-notes .note:nth-child(2) {
  top: 0.6rem;
  margin-inline: 1.4rem;
}
.om-reflections .locked-notes .note:nth-child(3) {
  top: 1.2rem;
  margin-inline: 1.05rem;
}
.om-reflections .locked-notes .note:nth-child(4) {
  top: 1.8rem;
  margin-inline: 0.7rem;
}
.om-reflections .locked-notes .note:nth-child(5) {
  top: 2.4rem;
  margin-inline: 0.35rem;
}
.om-reflections .locked-notes .note:nth-child(6) {
  top: 3rem;
  margin-inline: 0rem;
}
.om-reflections [hidden] {
  display: none !important;
}

.om-reflections .reflection-stack {
  position: relative;
  isolation: isolate;
  margin: 3rem 0.8rem 4.5rem;
}
.om-reflections .paper-edges {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
}
.om-reflections .paper-edges .sheet {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(56, 75, 72, 0.09);
  border-radius: 0.7rem;
  background: #eeeae3;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.045);
  transform-origin: 50% 12%;
  transform: translate(var(--paper-x, 0px), var(--paper-y, 4px)) rotate(var(--paper-angle, 0.3deg));
}
.om-reflections .paper-edges .sheet:nth-child(1) {
  z-index: 7;
  --paper-y: 3px;
}
.om-reflections .paper-edges .sheet:nth-child(2) {
  z-index: 6;
  --paper-y: 6px;
}
.om-reflections .paper-edges .sheet:nth-child(3) {
  z-index: 5;
  --paper-y: 9px;
}
.om-reflections .paper-edges .sheet:nth-child(4) {
  z-index: 4;
  --paper-y: 12px;
}
.om-reflections .paper-edges .sheet:nth-child(5) {
  z-index: 3;
  --paper-y: 15px;
}
.om-reflections .paper-edges .sheet:nth-child(6) {
  z-index: 2;
  --paper-y: 18px;
}
.om-reflections .paper-edges .sheet:nth-child(7) {
  z-index: 1;
  --paper-y: 21px;
}
.om-reflections .reflection-stack .composer, .om-reflections .reflection-stack .card {
  box-sizing: border-box;
  position: relative;
  margin: 0;
  width: 100%;
  min-height: 36rem;
  aspect-ratio: 1;
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid rgba(56, 75, 72, 0.12);
  border-radius: 0.7rem;
  background: #fffdf8;
  color: #384b48;
  box-shadow: 0 0.6rem 2rem rgba(0, 0, 0, 0.12);
}
.om-reflections .reflection-stack .composer {
  display: flex;
  flex-direction: column;
}
.om-reflections .reflection-stack .composer > label {
  font-family: "Lavishe", sans-serif;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1.2;
}
.om-reflections .reflection-stack .composer .photo-tools, .om-reflections .reflection-stack .composer .compose-bottom, .om-reflections .reflection-stack .composer .privacy {
  display: flex !important;
}
.om-reflections .reflection-stack .composer .privacy {
  display: block !important;
}
.om-reflections .reflection-stack .composer textarea {
  flex: 1;
  min-height: 9rem;
  padding: 0.7rem 0;
  border: 0;
  border-bottom: 1px solid rgba(56, 75, 72, 0.2);
  border-radius: 0;
  background: transparent;
  color: #384b48;
}
.om-reflections .reflection-stack .composer textarea::placeholder {
  color: rgba(56, 75, 72, 0.5);
}
.om-reflections .reflection-stack .composer textarea:focus, .om-reflections .reflection-stack .composer textarea:focus-visible {
  outline: none;
  box-shadow: none;
}
.om-reflections .reflection-stack .composer select:not(.om-button) {
  color: #384b48;
  background: transparent;
  border-color: rgba(56, 75, 72, 0.25);
}
.om-reflections .reflection-kicker, .om-reflections .sample-stamp {
  font: 0.7rem "Futura Medium", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.om-reflections .reflection-kicker {
  margin-bottom: 1.8rem;
  color: rgba(56, 75, 72, 0.6);
}
.om-reflections .sample-stamp {
  margin-left: auto;
  color: rgba(56, 75, 72, 0.6);
  border: 1px solid rgba(56, 75, 72, 0.25);
  padding: 0.35rem 0.5rem;
}
.om-reflections .reflection-stack .photo-tools, .om-reflections .reflection-stack .privacy, .om-reflections .reflection-stack [data-reflection-count], .om-reflections .reflection-stack time {
  color: rgba(56, 75, 72, 0.65);
}
.om-reflections .reflection-stack .visibility {
  color: #384b48;
  border-color: rgba(56, 75, 72, 0.25);
}
.om-reflections .reflection-stack .om-pill-button {
  color: #384b48;
  border-color: rgba(56, 75, 72, 0.3);
}
.om-reflections .reflection-stack .card {
  display: flex;
  flex-direction: column;
}
.om-reflections .reflection-stack .card .body {
  flex: 1;
  font-size: clamp(1.1rem, 2vw, 1.4rem);
}
.om-reflections .reflection-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  margin: 0 0.8rem 1rem;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 0.85rem;
}
.om-reflections .is-revealing {
  animation-duration: 420ms;
  animation-delay: 0ms !important;
}
.om-reflections .question-panel.is-journal .reflection-stack {
  margin-top: 1rem;
}
.om-reflections .question-panel.is-journal .reflection-stack .card {
  aspect-ratio: auto;
  min-height: 0;
  margin-bottom: 1rem;
}
@media (max-width: 45rem) {
  .om-reflections .reflection-stack {
    margin-inline: 0.35rem;
  }
  .om-reflections .reflection-stack .composer, .om-reflections .reflection-stack .card {
    min-height: 28rem;
    aspect-ratio: auto;
    padding: 1.4rem;
  }
  .om-reflections .reflection-controls {
    flex-wrap: wrap;
    justify-content: center;
  }
  .om-reflections .reflection-controls button {
    padding: 0.6rem;
  }
}

.om-reflections .question-panel {
  min-width: 0;
}
.om-reflections .question-panel:focus, .om-reflections .question-panel:focus-visible {
  outline: none;
}

.om-reflections .reflection-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: auto;
  padding-top: 2rem;
}
.om-reflections .reflection-footer .reflection-position {
  color: rgba(56, 75, 72, 0.65);
  font: 0.8rem "PV Sans Serif", sans-serif;
}
.om-reflections .reflection-footer .om-button, .om-reflections .reflection-footer .magic-login-modal .btn-submit, .magic-login-modal .om-reflections .reflection-footer .btn-submit {
  color: #384b48;
  width: auto;
}

.om-reflections .reflection-stack .composer .compose-bottom .om-button, .om-reflections .reflection-stack .composer .compose-bottom .magic-login-modal .btn-submit, .magic-login-modal .om-reflections .reflection-stack .composer .compose-bottom .btn-submit {
  color: #384b48;
}
.om-reflections .reflection-stack .composer .compose-bottom .om-button .spinner, .om-reflections .reflection-stack .composer .compose-bottom .magic-login-modal .btn-submit .spinner, .magic-login-modal .om-reflections .reflection-stack .composer .compose-bottom .btn-submit .spinner {
  transition: none;
}

.om-reflections .question-panel {
  position: relative;
}

.om-reflections .reflection-stack .card {
  --paper-padding: clamp(1.5rem, 4vw, 3rem);
  padding: var(--paper-padding);
  display: grid;
  grid-template-rows: auto minmax(min-content, 1fr) auto;
  gap: 1.5rem;
}
@media (max-width: 45rem) {
  .om-reflections .reflection-stack .card {
    --paper-padding: 1.4rem;
  }
}
.om-reflections .reflection-stack .card .card-header {
  align-self: start;
  row-gap: 0;
}
.om-reflections .reflection-stack .card .card-header .reflection-author {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  min-width: 0;
  flex: 1;
}
.om-reflections .reflection-stack .card .card-header .reflection-position {
  margin-left: auto;
  text-align: right;
  color: rgba(56, 75, 72, 0.65);
  font: 0.8rem "PV Sans Serif", sans-serif;
}
.om-reflections .reflection-stack .card .card-header::after {
  content: "";
  margin-top: var(--paper-padding);
}
.om-reflections .reflection-stack .card .reflection-content {
  min-width: 0;
  align-self: center;
  text-align: center;
}
.om-reflections .reflection-stack .card .reflection-content .body {
  margin: 0;
  padding-inline: clamp(0.5rem, 2vw, 1.5rem);
  font-weight: 400;
}
.om-reflections .reflection-stack .card .reflection-footer {
  align-self: end;
  justify-content: center;
  margin-top: 0;
  padding-top: 0;
  gap: 0;
}
.om-reflections .reflection-stack .card .reflection-footer::before {
  content: "";
  margin-bottom: var(--paper-padding);
}
.om-reflections .reflection-stack .card .card-header::after, .om-reflections .reflection-stack .card .reflection-footer::before {
  flex: 0 0 100%;
  height: 3px;
  background: rgba(56, 75, 72, 0.35);
  -webkit-mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
}

.om-reflections .reflection-archive .has-own-answer .reflection-stack [data-reflection-cards] > .reflection-entry {
  grid-template-columns: minmax(0, 1fr) 16rem;
}
@media (max-width: 45rem) {
  .om-reflections .reflection-archive .has-own-answer .reflection-stack {
    padding-bottom: 4rem;
  }
  .om-reflections .reflection-archive .has-own-answer .reflection-stack [data-reflection-cards] > .reflection-entry {
    grid-template-columns: minmax(0, 1fr);
  }
  .om-reflections .reflection-archive .has-own-answer .reflection-stack .archive-actions {
    top: auto;
    bottom: 0;
  }
}

.om-reflections .question-title {
  margin: 1.5rem 0.8rem;
  font-family: "Lavishe", sans-serif;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1.35;
  text-align: center;
}
.om-reflections .question-panel {
  --writing-height: 20.7rem;
  --paper-padding: clamp(1.5rem, 4vw, 3rem);
}
.om-reflections .question-panel:not(.is-unlocked) .paper-edges {
  height: var(--writing-height);
  bottom: auto;
}
.om-reflections .reflection-stack form.composer {
  padding: 0;
  min-height: 0;
  aspect-ratio: auto;
  border: 0;
  background: none;
  box-shadow: none;
  color: #faf1eb;
}
.om-reflections .reflection-stack form.composer .composer-paper {
  position: relative;
  display: flex;
  height: var(--writing-height);
  padding: var(--paper-padding) 0;
  box-sizing: border-box;
  border: 1px solid rgba(56, 75, 72, 0.12);
  border-radius: 0.7rem;
  background: #fffdf8;
  box-shadow: 0 0.6rem 2rem rgba(0, 0, 0, 0.12);
}
.om-reflections .reflection-stack form.composer .composer-paper.is-overflowing {
  padding-block: 0;
}
.om-reflections .reflection-stack form.composer textarea {
  min-height: 0;
  border: 0;
  padding: 0 calc(var(--paper-padding) + clamp(0.5rem, 2vw, 1.5rem));
  box-sizing: border-box;
  resize: none;
}
.om-reflections .reflection-stack form.composer .photo-tools {
  margin-top: 5rem;
}
.om-reflections .reflection-stack form.composer .photo-tools, .om-reflections .reflection-stack form.composer .privacy, .om-reflections .reflection-stack form.composer [data-reflection-count] {
  color: rgba(250, 241, 235, 0.65);
}
.om-reflections .reflection-stack form.composer .om-pill-button, .om-reflections .reflection-stack form.composer .compose-bottom .om-button, .om-reflections .reflection-stack form.composer .compose-bottom .magic-login-modal .btn-submit, .magic-login-modal .om-reflections .reflection-stack form.composer .compose-bottom .btn-submit {
  color: #faf1eb;
}
.om-reflections .reflection-stack form.composer .om-pill-button, .om-reflections .reflection-stack form.composer select:not(.om-button) {
  border-color: rgba(250, 241, 235, 0.3);
}
.om-reflections .reflection-stack form.composer select:not(.om-button) {
  background: #384b48;
  color: #faf1eb;
}
.om-reflections .reflection-stack .card {
  min-height: 29.9rem;
  aspect-ratio: auto;
}
@media (max-width: 45rem) {
  .om-reflections .question-panel {
    --writing-height: 16.1rem;
    --paper-padding: 1.4rem;
  }
  .om-reflections .reflection-stack .card {
    min-height: 25.3rem;
  }
}

.om-reflections .question-title {
  color: #ffd22a;
}

.om-reflections .reflection-archive .has-own-answer .reflection-stack [data-reflection-cards] > .reflection-entry {
  grid-template-columns: minmax(0, 1fr) 16rem;
}
@media (max-width: 45rem) {
  .om-reflections .reflection-archive .has-own-answer .reflection-stack {
    padding-bottom: 4rem;
  }
  .om-reflections .reflection-archive .has-own-answer .reflection-stack [data-reflection-cards] > .reflection-entry {
    grid-template-columns: minmax(0, 1fr);
  }
  .om-reflections .reflection-archive .has-own-answer .reflection-stack .archive-actions {
    top: auto;
    bottom: 0;
  }
}

.om-reflections .question-title {
  margin-bottom: 0;
  text-box-trim: trim-end;
  text-box-edge: cap alphabetic;
}
.om-reflections .question-date {
  margin: 0 0.8rem;
  padding-block: 1.8rem;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
  text-align: center;
  font: 0.8rem "Futura Medium", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(250, 241, 235, 0.65);
}

.om-reflections .reflection-stack form.composer .composer-paper {
  align-items: center;
  justify-content: center;
}
.om-reflections .reflection-stack form.composer textarea {
  flex: none;
  text-align: center;
}

.om-reflections .reflection-stack .card .reflection-content .body, .om-reflections .reflection-stack form.composer textarea {
  font-family: "PV Sans Serif", sans-serif;
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  font-weight: 400;
  line-height: 1.65;
  color: #384b48;
  text-align: center;
}
.om-reflections .reflection-stack form.composer textarea:placeholder-shown {
  text-wrap: pretty;
}
.om-reflections .reflection-stack form.composer textarea::placeholder {
  color: inherit;
  opacity: 0.3;
  text-wrap: pretty;
}

@media (min-width: 45.001rem) {
  .om-reflections .reflection-stack .composer-paper, .om-reflections .reflection-stack .card {
    width: 80%;
    margin-inline: auto;
  }
  .om-reflections .reflection-stack .paper-edges {
    width: 80%;
    left: 10%;
    right: auto;
  }
}
.om-reflections .reflection-stack {
  margin-bottom: 2rem;
}
.om-reflections .writing-controls {
  width: min(44rem, 100%);
  margin: 1rem auto 3rem;
  padding-inline: 0.8rem;
  box-sizing: border-box;
}
.om-reflections .writing-controls .photo-tools {
  margin-top: 0;
}
.om-reflections .writing-controls .compose-bottom {
  justify-content: space-between;
}
.om-reflections .writing-controls .photo-tools, .om-reflections .writing-controls .privacy, .om-reflections .writing-controls [data-reflection-count] {
  color: rgba(250, 241, 235, 0.65);
}
.om-reflections .writing-controls .spinner {
  transition: none;
}

.om-reflections .highlighted-notes {
  margin-top: 6rem;
  padding-bottom: 4rem;
}
.om-reflections .highlighted-notes .notes-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  margin-bottom: 2.5rem;
}
.om-reflections .highlighted-notes .notes-heading .om-icon {
  color: #ffd22a;
}
.om-reflections .highlighted-notes .notes-heading h2 {
  margin: 0;
  font: 2.1rem/1.2 "Lavishe", sans-serif;
}
.om-reflections .highlighted-notes .notes-rows {
  width: 100vw;
  margin-left: calc(-1 * (var(--om-content-left) + max(0px, (100vw - var(--om-shell-max)) / 2)));
}
.om-reflections .highlighted-notes .notes-row {
  --row-offset: 2rem;
  display: flex;
  gap: 1.4rem;
  overflow-x: auto;
  padding: 1rem 2rem 1.4rem var(--row-offset);
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.om-reflections .highlighted-notes .notes-row::-webkit-scrollbar {
  display: none;
}
.om-reflections .highlighted-notes .notes-row:nth-child(2) {
  --row-offset: 7rem;
}
.om-reflections .highlighted-notes .notes-row:nth-child(3) {
  --row-offset: 3.8rem;
}
.om-reflections .highlighted-notes .notes-row:nth-child(4) {
  --row-offset: 9rem;
}
.om-reflections .highlighted-notes .notes-row:nth-child(5) {
  --row-offset: 1rem;
}
.om-reflections .highlighted-notes .highlighted-note {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 0 0 clamp(16rem, 26vw, 24rem);
  min-height: 14rem;
  box-sizing: border-box;
  margin: 0;
  padding: 2rem;
  border: 1px solid rgba(56, 75, 72, 0.1);
  border-radius: 0.7rem;
  background: #fffdf8 url("../../app/assets/img/repeat-paper.png") repeat;
  box-shadow: 0 0.3rem 0.9rem rgba(0, 0, 0, 0.1);
  color: #384b48;
  text-align: center;
  transform: rotate(-0.4deg);
}
.om-reflections .highlighted-notes .highlighted-note:nth-child(2n) {
  transform: rotate(0.55deg);
  background-color: #f5f1e8;
}
.om-reflections .highlighted-notes .highlighted-note:nth-child(3n) {
  transform: rotate(-0.2deg);
}
.om-reflections .highlighted-notes .highlighted-note blockquote {
  margin: auto 0;
  padding: 0;
  border: 0;
  font: 400 1.1rem/1.6 "PV Sans Serif", sans-serif;
}
.om-reflections .highlighted-notes .highlighted-note figcaption {
  margin-top: 1.4rem;
  color: rgba(56, 75, 72, 0.65);
  font: 0.8rem "PV Sans Serif", sans-serif;
}
@media (max-width: 45rem) {
  .om-reflections .highlighted-notes {
    margin-top: 4rem;
  }
  .om-reflections .highlighted-notes .notes-row {
    padding-left: calc(var(--row-offset) * 0.35);
    gap: 1rem;
  }
  .om-reflections .highlighted-notes .highlighted-note {
    flex-basis: 72vw;
    padding: 1.5rem;
  }
}

.om-reflections .reflection-stack .card {
  --paper-padding: 1.25rem;
  padding-inline: clamp(1.5rem, 4vw, 3rem);
  height: var(--writing-height);
  min-height: 0;
  grid-template-rows: auto minmax(0, 1fr) auto;
}
@media (max-width: 45rem) {
  .om-reflections .reflection-stack .card {
    padding-inline: 1.4rem;
    --paper-padding: .8rem;
  }
}
.om-reflections .reflection-stack .card .reflection-content {
  align-self: stretch;
  min-height: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
.om-reflections .reflection-stack .card .reflection-content .body {
  flex: 0 0 auto;
  margin-block: auto;
}
.om-reflections .reflection-stack .card .reflection-content .photos {
  flex-shrink: 0;
}

.om-reflections [data-reflection-cards] {
  display: grid;
}
.om-reflections [data-reflection-cards] > .reflection-entry {
  grid-area: 1/1;
  min-width: 0;
}
.om-reflections .question-panel.is-sending [data-reflection-cards] {
  position: absolute;
  inset: 0;
}
.om-reflections .question-panel.is-editing [data-reflection-cards] {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}
.om-reflections .reflection-archive .question-panel .context-controls {
  width: 100%;
  min-height: 0;
  margin: 3.25rem 0 0;
}
.om-reflections .reflection-archive .question-panel.is-editing .reflection-stack {
  min-height: var(--writing-height);
}
.om-reflections .reflection-archive .question-panel.is-editing .archive-actions {
  display: none;
}
.om-reflections .reflection-archive .question-panel .context-controls .compose-bottom {
  gap: 0.7rem;
}
.om-reflections .reflection-archive .question-panel .context-controls .om-button, .om-reflections .reflection-archive .question-panel .context-controls .magic-login-modal .btn-submit, .magic-login-modal .om-reflections .reflection-archive .question-panel .context-controls .btn-submit, .om-reflections .reflection-archive .question-panel .context-controls .visibility-select__sizer {
  height: 2.3rem;
  min-height: 2.3rem;
  max-height: 2.3rem;
  padding: 0.6em 0.9em 0.5em;
  font-size: 0.8rem;
}
.om-reflections .reflection-archive .question-panel .context-controls .visibility-select select, .om-reflections .reflection-archive .question-panel .context-controls .visibility-select__sizer {
  padding-right: 2.3rem;
}
.om-reflections .reflection-archive .question-panel .context-controls .visibility-select::after {
  right: 0.8rem;
  width: 0.7rem;
  height: 0.5rem;
}
.om-reflections .reflection-archive .question-panel .context-controls .privacy {
  margin-top: 1rem;
}

.om-reflections .question-panel .paper-edges {
  height: var(--writing-height);
  bottom: auto;
}
.om-reflections .reflection-stack .reflection-entry > .card {
  --paper-padding: clamp(1.5rem, 4vw, 3rem);
  padding: 0;
  display: flex;
  gap: 0;
}
.om-reflections .reflection-stack .reflection-entry > .card .reflection-content {
  flex: 1;
  padding-inline: calc(var(--paper-padding) + clamp(0.5rem, 2vw, 1.5rem));
}
.om-reflections .reflection-stack .reflection-entry > .card .reflection-content .body {
  padding: 0;
}
@media (max-width: 45rem) {
  .om-reflections .reflection-stack .reflection-entry > .card {
    --paper-padding: 1.4rem;
  }
}
.om-reflections .reflection-entry {
  outline: none;
}
.om-reflections .reflection-entry > .card-header, .om-reflections .reflection-entry > .reflection-footer {
  transition: opacity 180ms ease;
}
.om-reflections .reflection-entry > .card-header {
  margin-top: 3rem;
  color: #faf1eb;
}
.om-reflections .reflection-entry > .card-header .reflection-author {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  min-width: 0;
  flex: 1;
}
.om-reflections .reflection-entry > .card-header time {
  color: rgba(250, 241, 235, 0.65);
}
.om-reflections .reflection-entry > .card-header .reflection-position {
  margin-left: auto;
  color: rgba(250, 241, 235, 0.65);
  font: 0.8rem "PV Sans Serif", sans-serif;
}
.om-reflections .reflection-entry > .reflection-footer {
  justify-content: center;
  padding-top: 1.5rem;
}
.om-reflections .reflection-entry > .reflection-footer .om-button, .om-reflections .reflection-entry > .reflection-footer .magic-login-modal .btn-submit, .magic-login-modal .om-reflections .reflection-entry > .reflection-footer .btn-submit {
  color: #faf1eb;
}
.om-reflections .reflection-entry.is-leaving > .card-header, .om-reflections .reflection-entry.is-leaving > .reflection-footer, .om-reflections .reflection-entry.is-underneath > .card-header, .om-reflections .reflection-entry.is-underneath > .reflection-footer {
  opacity: 0;
  pointer-events: none;
}
.om-reflections .question-panel.is-sending .reflection-entry > .card-header, .om-reflections .question-panel.is-sending .reflection-entry > .reflection-footer {
  opacity: 0;
}

.om-reflections .context-controls {
  display: grid;
  width: min(44rem, 100%);
  margin: 1rem auto 3rem;
  min-height: 13rem;
}
.om-reflections .context-controls .writing-controls, .om-reflections .context-controls .reading-controls {
  grid-area: 1/1;
  width: 100%;
  margin: 0;
  padding-inline: 0.8rem;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 450ms ease-in-out, visibility 450ms;
}
.om-reflections .context-controls .writing-controls.is-active, .om-reflections .context-controls .reading-controls.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.om-reflections .context-controls .reading-controls {
  display: grid;
  align-content: start;
}
.om-reflections .context-controls .reading-controls .reading-current, .om-reflections .context-controls .reading-controls .reading-outgoing {
  grid-area: 1/1;
}
.om-reflections .context-controls .reading-controls .card-header {
  min-height: 2.8rem;
  color: #faf1eb;
}
.om-reflections .context-controls .reading-controls .reflection-author {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  flex: 1;
  min-width: 0;
}
.om-reflections .context-controls .reading-controls .reflection-position {
  margin-left: auto;
  color: rgba(250, 241, 235, 0.65);
  font: 0.8rem "PV Sans Serif", sans-serif;
}
.om-reflections .context-controls .reading-controls time {
  color: rgba(250, 241, 235, 0.65);
}
.om-reflections .context-controls .reading-controls .reflection-footer {
  padding-top: 1.5rem;
  justify-content: center;
}
.om-reflections .context-controls .reading-controls .reflection-footer .om-button, .om-reflections .context-controls .reading-controls .reflection-footer .magic-login-modal .btn-submit, .magic-login-modal .om-reflections .context-controls .reading-controls .reflection-footer .btn-submit {
  color: #faf1eb;
}

.om-reflections .reflection-stack .card .reflection-position {
  position: absolute;
  bottom: 0.8rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  padding: 0.4rem 0.65rem;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
  border-radius: 999px;
  background: rgba(56, 75, 72, 0.09);
  color: #384b48;
  font: 0.8rem "PV Sans Serif", sans-serif;
  pointer-events: none;
}

.om-reflections .context-controls .reading-controls .reading-current, .om-reflections .context-controls .reading-controls .reading-outgoing {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  margin-inline: auto;
}
.om-reflections .context-controls .reading-controls .card-header {
  flex: 1;
  min-width: 0;
}
.om-reflections .context-controls .reading-controls .reflection-footer {
  padding: 0;
  margin: 0;
  flex-shrink: 0;
}
@media (min-width: 45.001rem) {
  .om-reflections .context-controls .reading-controls .reading-current, .om-reflections .context-controls .reading-controls .reading-outgoing {
    width: 80%;
  }
}
@media (max-width: 45rem) {
  .om-reflections .context-controls .reading-controls {
    padding-inline: 0.35rem;
  }
  .om-reflections .context-controls .reading-controls .reading-current, .om-reflections .context-controls .reading-controls .reading-outgoing {
    gap: 0.6rem;
  }
  .om-reflections .context-controls .reading-controls .reflection-author {
    gap: 0.5rem;
  }
  .om-reflections .context-controls .reading-controls .avatar {
    flex-basis: 2rem;
    height: 2rem;
  }
  .om-reflections .context-controls .reading-controls .reflection-footer .om-button, .om-reflections .context-controls .reading-controls .reflection-footer .magic-login-modal .btn-submit, .magic-login-modal .om-reflections .context-controls .reading-controls .reflection-footer .btn-submit {
    padding-inline: 0.65rem;
  }
}

.om-reflections {
  --reflection-width: min(35.2rem, calc((100vw - 2 * (var(--om-content-left) + max(0px, (100vw - var(--om-shell-max)) / 2))) * .8));
}
.om-reflections .reflection-stack .composer-paper, .om-reflections .reflection-stack .card {
  width: 100%;
}
.om-reflections .reflection-stack .paper-edges {
  width: 100%;
  left: 0;
  right: 0;
}
.om-reflections .context-controls {
  width: var(--reflection-width);
}
.om-reflections .context-controls .reading-controls .reading-current, .om-reflections .context-controls .reading-controls .reading-outgoing {
  width: 100%;
}
@media (max-width: 45rem) {
  .om-reflections {
    --reflection-width: 80vw;
  }
}

.om-reflections .reflection-stack [data-reflection-cards] > .reflection-entry {
  position: relative;
  transform: translate(var(--deck-x, 0px), var(--deck-y, 0px)) rotate(var(--deck-angle, 0deg));
  transform-origin: 50% 12%;
  transition: transform 350ms ease;
}
.om-reflections .reflection-stack [data-reflection-cards] > .reflection-entry.is-backed-reflection {
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .om-reflections .reflection-stack [data-reflection-cards] > .reflection-entry {
    transition: none;
  }
}
.om-reflections .reflection-stack form.composer .composer-paper, .om-reflections .reflection-stack .card, .om-reflections .reflection-stack .paper-edges .sheet {
  background-image: linear-gradient(rgba(255, 210, 42, 0.1), rgba(255, 210, 42, 0.1)), url("../../app/assets/img/repeat-paper.png");
  background-repeat: repeat;
}

.om-reflections .reflection-stack form.composer .composer-paper {
  transform-origin: 50% 12%;
}
.om-reflections .reflection-stack .reflection-entry.is-awaiting-landing {
  visibility: hidden;
}
.om-reflections .reflection-stack .reflection-entry > .card {
  background-color: #eeeae3;
  border-color: rgba(56, 75, 72, 0.09);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.045);
}

.om-reflections .question-panel .reflection-stack {
  margin-top: 0;
  min-height: var(--writing-height);
}

.om-reflections {
  --reflection-width: min(56rem, 100%);
}
.om-reflections .featured-question {
  width: var(--reflection-width);
  margin-inline: auto;
}
.om-reflections .featured-question .question-panel {
  opacity: 1;
  --writing-height: 34rem;
}
.om-reflections .featured-question .question-date {
  padding-block: 2.8rem;
}
.om-reflections .context-controls {
  min-height: 6rem;
  margin-bottom: 0;
}
.om-reflections .reflection-stack .reflection-entry > .card .save {
  position: absolute;
  right: 1rem;
  top: 1rem;
  z-index: 2;
  color: #384b48;
  border-color: rgba(56, 75, 72, 0.25);
}
.om-reflections .reflection-stack .reflection-entry > .card .save[aria-pressed=true] {
  background: rgba(56, 75, 72, 0.1);
}
.om-reflections .reflection-stack .reflection-entry > .card .reflection-content {
  padding-block: 3.5rem;
}
.om-reflections .reflection-archive {
  margin: 7rem auto 4rem;
  width: min(38rem, 100%);
}
.om-reflections .reflection-archive::before {
  content: "";
  display: block;
  height: 0.2rem;
  margin-bottom: 7rem;
  background: rgba(250, 241, 235, 0.18);
  -webkit-mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
  mask: url("../../app/assets/img/separator.svg") center/100% 100% no-repeat;
}
.om-reflections .reflection-archive .archive-heading {
  justify-content: center;
  margin-bottom: 4rem;
}
.om-reflections .reflection-archive .archive-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 4rem;
}
.om-reflections .reflection-archive .archive-filters .archive-filter {
  padding-right: 1.2rem;
  padding-left: 1.2rem;
  font-size: 0.8rem;
  -webkit-backdrop-filter: blur(0.5rem);
  backdrop-filter: blur(0.5rem);
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, -webkit-backdrop-filter 180ms ease, backdrop-filter 180ms ease, transform 120ms ease;
}
.om-reflections .reflection-archive .archive-filters .archive-filter.is-active {
  border-color: #faf1eb;
  background: rgba(250, 241, 235, 0.85);
  opacity: 1;
}
.om-reflections .reflection-archive .archive-filters .archive-filter.is-active:hover, .om-reflections .reflection-archive .archive-filters .archive-filter.is-active:focus {
  background: rgba(250, 241, 235, 0.9);
}
.om-reflections .reflection-archive .archive-filters .archive-filter.is-active:active {
  background: rgba(250, 241, 235, 0.95);
}
.om-reflections .reflection-archive .archive-filters .archive-filter .feedback {
  transition: width 260ms ease, opacity 200ms ease;
}
.om-reflections .reflection-archive .archive-filters .archive-filter .feedback .spinner {
  opacity: 0.7;
}
.om-reflections .reflection-archive .archive-filters .archive-filter .feedback .spinner::after {
  animation: om-button-spin 700ms linear infinite;
}
.om-reflections .reflection-archive .archive-filters .archive-filter:disabled {
  cursor: default;
}
@media (prefers-reduced-motion: reduce) {
  .om-reflections .reflection-archive .archive-filters .archive-filter .feedback {
    transition: none;
  }
}
.om-reflections .reflection-archive .archive-results {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  overflow-anchor: none;
}
.om-reflections .reflection-archive .archive-loading {
  display: flex;
  justify-content: center;
  padding-block: 5rem;
}
.om-reflections .reflection-archive .archive-loading .spinner {
  border-radius: 50%;
  opacity: 0;
  transition: opacity 520ms ease;
  position: relative;
  display: block;
  width: 1.4rem;
  height: 1.4rem;
}
.om-reflections .reflection-archive .archive-loading .spinner::before, .om-reflections .reflection-archive .archive-loading .spinner::after {
  position: absolute;
  inset: 0;
  border: 2px solid currentColor;
  border-radius: 50%;
  content: "";
  transform: rotate(0deg);
}
.om-reflections .reflection-archive .archive-loading .spinner::before {
  opacity: 0.28;
}
.om-reflections .reflection-archive .archive-loading .spinner::after {
  border-top-color: transparent;
}
.om-reflections .reflection-archive .archive-loading .spinner::after {
  animation: om-nav-spin 700ms linear infinite;
}
.om-reflections .reflection-archive .archive-status {
  text-align: center;
}
.om-reflections .reflection-archive .question-panel {
  opacity: 1;
  margin-bottom: 6rem;
  --writing-height: 21rem;
}
.om-reflections .reflection-archive .question-title {
  font-size: clamp(1.5rem, 3vw, 2rem);
}
.om-reflections .reflection-archive .question-panel.is-empty .reflection-stack {
  display: none;
}
.om-reflections .reflection-archive .question-date {
  padding-block: 1.75rem;
}
.om-reflections .reflection-archive .reflection-stack {
  margin-inline: 1.25rem;
}
.om-reflections .reflection-archive .reflection-entry > .card-header {
  margin-top: 1.5rem;
}
.om-reflections .reflection-archive .reflection-entry.is-backed-reflection > .card {
  box-shadow: none;
}
.om-reflections .reflection-archive .reflection-footer {
  padding-top: 1rem;
}
.om-reflections .reflection-archive .reflection-entry .card .reflection-content .body {
  font-size: 1.38rem;
}
.om-reflections .reflection-archive [data-reflection-status] {
  text-align: center;
}
@media (max-width: 45rem) {
  .om-reflections .featured-question .question-panel {
    --writing-height: 28rem;
  }
  .om-reflections .context-controls .reading-current {
    flex-wrap: wrap;
  }
  .om-reflections .reflection-archive {
    margin-top: 4rem;
  }
  .om-reflections .reflection-archive::before {
    margin-bottom: 4rem;
  }
  .om-reflections .reflection-archive .question-panel {
    --writing-height: 20rem;
  }
  .om-reflections .reflection-archive .archive-filters {
    gap: 0.5rem;
  }
}

@keyframes om-reflection-stack-enter {
  from {
    transform: translateY(4rem) rotate(-0.7deg);
  }
  to {
    transform: translateY(0) rotate(0deg);
  }
}
@keyframes om-reflection-stack-shadow {
  from {
    box-shadow: 0 2rem 4rem rgba(0, 0, 0, 0.24);
  }
  to {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.045);
  }
}
[data-om-content-enter] .om-reflections .featured-question .reflection-stack,
.om-reflections[data-om-content-enter] .featured-question .reflection-stack {
  animation: om-reflection-stack-enter 2s cubic-bezier(0.22, 1, 0.36, 1) var(--om-content-enter-delay, 0ms) backwards;
}
[data-om-content-enter] .om-reflections .featured-question .reflection-stack .paper-edges .sheet:last-child,
.om-reflections[data-om-content-enter] .featured-question .reflection-stack .paper-edges .sheet:last-child {
  animation: om-reflection-stack-shadow 2s cubic-bezier(0.22, 1, 0.36, 1) var(--om-content-enter-delay, 0ms) backwards;
}
@media (prefers-reduced-motion: reduce) {
  [data-om-content-enter] .om-reflections .featured-question .reflection-stack, [data-om-content-enter] .om-reflections .featured-question .reflection-stack .paper-edges .sheet:last-child,
  .om-reflections[data-om-content-enter] .featured-question .reflection-stack,
  .om-reflections[data-om-content-enter] .featured-question .reflection-stack .paper-edges .sheet:last-child {
    animation: none;
  }
}

.om-reflections .featured-question .question-title {
  margin-top: 5rem;
  font-size: 3.4rem;
  font-weight: 400;
  line-height: 1.2;
}

.om-reflections .featured-question .reflection-stack .card .reflection-content .body, .om-reflections .featured-question .reflection-stack form.composer textarea {
  font-size: clamp(1.68rem, 3vw, 2.28rem);
  line-height: 1.6;
}
.om-reflections .context-controls select:not(.om-button) {
  min-height: 3.6rem;
  padding: 0.8rem 1rem;
  font-size: 1.1rem;
}
.om-reflections .context-controls .compose-bottom {
  gap: 1rem;
}
.om-reflections .context-controls .reading-controls .reading-current {
  flex-wrap: wrap;
}
@media (max-width: 45rem) {
  .om-reflections .featured-question .question-title {
    margin-top: 4rem;
  }
  .om-reflections .context-controls .compose-bottom > .om-button, .om-reflections .context-controls .magic-login-modal .compose-bottom > .btn-submit, .magic-login-modal .om-reflections .context-controls .compose-bottom > .btn-submit {
    width: 100%;
  }
  .om-reflections .context-controls .reading-controls .reflection-footer .om-button, .om-reflections .context-controls .reading-controls .reflection-footer .magic-login-modal .btn-submit, .magic-login-modal .om-reflections .context-controls .reading-controls .reflection-footer .btn-submit {
    padding-inline: 1.05em;
  }
}

.om-reflections .reflection-stack .composer-paper, .om-reflections .reflection-stack .reflection-entry > .card, .om-reflections .reflection-stack .signin {
  isolation: isolate;
}
.om-reflections .reflection-stack .composer-paper::before, .om-reflections .reflection-stack .reflection-entry > .card::before, .om-reflections .reflection-stack .signin::before {
  content: "";
  position: absolute;
  top: 1.1rem;
  left: 1.2rem;
  width: 3.64rem;
  height: 2.38rem;
  background: #384b48;
  -webkit-mask: url("../../app/assets/img/icon-om.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-om.svg") center/contain no-repeat;
  mix-blend-mode: color-burn;
  pointer-events: none;
}
.om-reflections .reflection-stack form.composer .composer-paper,
.om-reflections .reflection-stack form.composer .composer-paper.is-overflowing {
  padding-block: 4rem;
}

.om-reflections .reflection-stack .reflection-entry > .card .reflection-content {
  padding-block: 4rem;
}

.om-reflections .reflection-stack .reflection-content .body, .om-reflections .reflection-stack form.composer textarea {
  text-wrap: pretty;
}

.om-reflections .reflection-archive .reflection-stack {
  position: relative;
  box-sizing: border-box;
}
.om-reflections .reflection-archive .reflection-stack .reflection-entry > .card::before {
  width: 2.912rem;
  height: 1.904rem;
}
.om-reflections .reflection-archive .reflection-stack .archive-actions {
  display: flex;
  gap: 0.7rem;
  position: absolute;
  top: calc(var(--writing-height) + 2.1rem);
  right: 0;
  z-index: 30;
}

.om-reflections .reflection-archive .reflection-stack [data-reflection-cards] > .reflection-entry {
  transform: none;
  transition: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 9rem;
  grid-template-rows: var(--writing-height) auto;
  column-gap: 1rem;
  row-gap: 2.1rem;
  align-items: center;
}
.om-reflections .reflection-archive .reflection-stack [data-reflection-cards] > .reflection-entry > .card-header, .om-reflections .reflection-archive .reflection-stack [data-reflection-cards] > .reflection-entry > .reflection-footer {
  transition: none;
}
.om-reflections .reflection-archive .reflection-stack [data-reflection-cards] > .reflection-entry.is-leaving > .card-header, .om-reflections .reflection-archive .reflection-stack [data-reflection-cards] > .reflection-entry.is-leaving > .reflection-footer, .om-reflections .reflection-archive .reflection-stack [data-reflection-cards] > .reflection-entry.is-underneath > .card-header, .om-reflections .reflection-archive .reflection-stack [data-reflection-cards] > .reflection-entry.is-underneath > .reflection-footer {
  opacity: 1;
}
.om-reflections .reflection-archive .reflection-stack [data-reflection-cards] > .reflection-entry > .card {
  grid-area: 1/1/2/-1;
  align-self: start;
  transform: translate(var(--deck-x, 0px), var(--deck-y, 0px)) rotate(var(--deck-angle, 0deg));
  transform-origin: 50% 12%;
}
.om-reflections .reflection-archive .reflection-stack [data-reflection-cards] > .reflection-entry > .card-header {
  grid-area: 2/1;
  align-self: start;
  margin-top: 0;
  min-width: 0;
}
.om-reflections .reflection-archive .reflection-stack [data-reflection-cards] > .reflection-entry > .reflection-footer {
  grid-area: 2/2;
  align-self: start;
  margin: 0;
  padding: 0;
  justify-content: flex-end;
}

.om-reflections .reflection-archive .has-own-answer .reflection-stack [data-reflection-cards] > .reflection-entry {
  grid-template-columns: minmax(0, 1fr) 16rem;
}
@media (max-width: 45rem) {
  .om-reflections .reflection-archive .has-own-answer .reflection-stack {
    padding-bottom: 4rem;
  }
  .om-reflections .reflection-archive .has-own-answer .reflection-stack [data-reflection-cards] > .reflection-entry {
    grid-template-columns: minmax(0, 1fr);
  }
  .om-reflections .reflection-archive .has-own-answer .reflection-stack .archive-actions {
    top: auto;
    bottom: 0;
  }
}

.om-reflections .question-title {
  width: calc(80% - 1.28rem);
  margin-inline: auto;
  text-wrap: pretty;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
@media (max-width: 45rem) {
  .om-reflections .question-title {
    width: calc(80% - 0.56rem);
  }
}
.om-reflections .reflection-archive .question-title {
  width: calc(80% - 2rem);
}

.om-reflections .context-controls .writing-controls .compose-bottom .photo-tools {
  margin: 0;
  flex-shrink: 0;
}

.om-reflections .context-controls .privacy {
  max-width: 40rem;
  margin-inline: auto;
  text-align: center;
}

.om-reflections {
  --reflection-control-gap: 2rem;
}
.om-reflections .featured-question .reflection-stack {
  margin-bottom: 0;
  padding-bottom: 3rem;
  box-sizing: border-box;
}
.om-reflections .featured-question .sentinel {
  display: none;
}
.om-reflections .context-controls {
  margin-top: var(--reflection-control-gap);
}
.om-reflections .context-controls .compose-bottom {
  margin-top: 0;
}
.om-reflections .context-controls .privacy {
  margin-top: var(--reflection-control-gap);
}
.om-reflections .reflection-stack form.composer .composer-paper [data-reflection-count] {
  position: absolute;
  right: 1.2rem;
  bottom: 1rem;
  margin: 0;
  color: rgba(56, 75, 72, 0.65);
  pointer-events: none;
}

.om-reflections .context-controls .compose-bottom .compose-options {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}
.om-reflections .context-controls .compose-bottom [data-add-photos] {
  background: #384b48;
  border-color: rgba(250, 241, 235, 0.24);
  color: #faf1eb;
  border-radius: 0.5rem;
  padding: 0.8rem 1rem;
  font-family: "PV Sans Serif", sans-serif;
  font-size: 1.1rem;
  font-weight: 400;
  letter-spacing: normal;
  text-transform: none;
  opacity: 1;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.om-reflections .context-controls .compose-bottom [data-add-photos]:hover {
  border-color: rgba(250, 241, 235, 0.5);
}
.om-reflections .context-controls .compose-bottom [data-add-photos]:disabled {
  opacity: 0.55;
}
.om-reflections .context-controls .compose-bottom .visibility-select {
  position: relative;
  display: inline-flex;
  min-width: 0;
  color: #faf1eb;
}
.om-reflections .context-controls .compose-bottom .visibility-select select, .om-reflections .context-controls .compose-bottom .visibility-select__sizer {
  padding-right: 2.8rem;
  white-space: nowrap;
}
.om-reflections .context-controls .compose-bottom .visibility-select__sizer {
  visibility: hidden;
  pointer-events: none;
}
.om-reflections .context-controls .compose-bottom .visibility-select select {
  appearance: none;
  -webkit-appearance: none;
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
}
.om-reflections .context-controls .compose-bottom .visibility-select::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.9rem;
  height: 0.65rem;
  background: currentColor;
  -webkit-mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
  pointer-events: none;
}
@media (max-width: 45rem) {
  .om-reflections .context-controls .compose-bottom .compose-options {
    width: 100%;
  }
  .om-reflections .context-controls .compose-bottom .visibility-select {
    flex: 1;
  }
}

.om-reflections .context-controls .visibility-select select {
  border-width: 1px;
}
.om-reflections .context-controls .visibility-select select:focus, .om-reflections .context-controls .visibility-select select:focus-visible {
  outline: none;
  box-shadow: none;
  border-width: 1px;
}
.om-reflections .context-controls .visibility-select select option {
  background: #384b48;
  color: #faf1eb;
}

.om-reflections .context-controls .writing-controls .compose-bottom {
  justify-content: center;
  gap: 1rem;
}

.om-course-step .om-reflections {
  --reflection-width: min(35.2rem, 100%);
  --reflection-control-gap: 1.5rem;
  color: var(--step-fg);
}
.om-course-step .om-reflections .featured-question .question-title {
  margin-top: 2rem;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
}
.om-course-step .om-reflections .question-title {
  color: var(--step-accent);
}
.om-course-step .om-reflections .question-date, .om-course-step .om-reflections .featured-question .question-date {
  padding-block: 1.6rem;
  color: rgba(var(--step-fg-rgb), 0.65);
}
.om-course-step .om-reflections .question-prompt {
  margin: 0 0.8rem;
  padding-block: 1.4rem;
  color: rgba(var(--step-fg-rgb), 0.75);
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 1.1rem;
  line-height: 1.6;
  text-align: center;
}
.om-course-step .om-reflections .question-prompt p {
  margin: 0 0 0.6em;
  color: inherit;
}
.om-course-step .om-reflections .question-prompt p:last-child {
  margin-bottom: 0;
}
.om-course-step .om-reflections .reflection-entry > .card-header, .om-course-step .om-reflections .context-controls .reading-controls .card-header {
  color: var(--step-fg);
}
.om-course-step .om-reflections .reflection-entry > .card-header time, .om-course-step .om-reflections .reflection-entry > .card-header .reflection-position,
.om-course-step .om-reflections .context-controls .reading-controls time, .om-course-step .om-reflections .context-controls .reading-controls .reflection-position,
.om-course-step .om-reflections .context-controls .privacy, .om-course-step .om-reflections .writing-controls .privacy, .om-course-step .om-reflections [data-reflection-status], .om-course-step .om-reflections .archive-status {
  color: rgba(var(--step-fg-rgb), 0.65);
}
.om-course-step .om-reflections .reflection-entry > .reflection-footer .om-button, .om-course-step .om-reflections .reflection-entry > .reflection-footer .magic-login-modal .btn-submit, .magic-login-modal .om-course-step .om-reflections .reflection-entry > .reflection-footer .btn-submit, .om-course-step .om-reflections .context-controls .reading-controls .reflection-footer .om-button, .om-course-step .om-reflections .context-controls .reading-controls .reflection-footer .magic-login-modal .btn-submit, .magic-login-modal .om-course-step .om-reflections .context-controls .reading-controls .reflection-footer .btn-submit,
.om-course-step .om-reflections .reflection-stack form.composer .compose-bottom .om-button,
.om-course-step .om-reflections .reflection-stack form.composer .compose-bottom .magic-login-modal .btn-submit,
.magic-login-modal .om-course-step .om-reflections .reflection-stack form.composer .compose-bottom .btn-submit, .om-course-step .om-reflections .context-controls .visibility-select {
  color: var(--step-fg);
}
.om-course-step .om-reflections .om-button.om-button--secondary, .om-course-step .om-reflections .magic-login-modal .om-button--secondary.btn-submit, .magic-login-modal .om-course-step .om-reflections .om-button--secondary.btn-submit, .om-course-step .om-reflections .om-button.om-button--secondary.om-button--light {
  border-color: rgba(var(--step-fg-rgb), 0.35);
  background: rgba(var(--step-fg-rgb), 0.06);
  color: var(--step-fg);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.om-course-step .om-reflections .om-button.om-button--secondary:hover, .om-course-step .om-reflections .magic-login-modal .om-button--secondary.btn-submit:hover, .magic-login-modal .om-course-step .om-reflections .om-button--secondary.btn-submit:hover, .om-course-step .om-reflections .om-button.om-button--secondary:focus, .om-course-step .om-reflections .magic-login-modal .om-button--secondary.btn-submit:focus, .magic-login-modal .om-course-step .om-reflections .om-button--secondary.btn-submit:focus, .om-course-step .om-reflections .om-button.om-button--secondary.om-button--light:hover, .om-course-step .om-reflections .om-button.om-button--secondary.om-button--light:focus {
  background: rgba(var(--step-fg-rgb), 0.12);
}
.om-course-step .om-reflections .om-button.om-button--secondary:active, .om-course-step .om-reflections .magic-login-modal .om-button--secondary.btn-submit:active, .magic-login-modal .om-course-step .om-reflections .om-button--secondary.btn-submit:active, .om-course-step .om-reflections .om-button.om-button--secondary.om-button--light:active {
  background: rgba(var(--step-fg-rgb), 0.16);
}
.om-course-step .om-reflections .context-controls .visibility-select select option {
  background: var(--step-bg);
  color: var(--step-fg);
}
.om-course-step .om-reflections .om-pill-button {
  color: var(--step-fg);
  border-color: rgba(var(--step-fg-rgb), 0.3);
}
.om-course-step .om-reflections .reflection-stack .om-pill-button {
  color: #384b48;
  border-color: rgba(56, 75, 72, 0.3);
}
.om-course-step .om-reflections .signin p {
  color: var(--step-fg);
}
.om-course-step .om-reflections .signin a {
  color: var(--step-accent);
}
.om-course-step .om-reflections .reflection-archive {
  width: min(38rem, 100%);
  margin: 0 0 2rem;
}
.om-course-step .om-reflections .reflection-archive::before {
  display: none;
}
.om-course-step .om-reflections .reflection-archive .archive-filters {
  justify-content: flex-start;
  margin-bottom: 2.5rem;
}
.om-course-step .om-reflections .reflection-archive .archive-results {
  min-height: 0;
}
.om-course-step .om-reflections .reflection-archive .question-panel {
  margin-bottom: 4rem;
}
.om-course-step .om-reflections .archive-filter {
  border-color: rgba(var(--step-fg-rgb), 0.35);
  background: transparent;
  color: var(--step-fg);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.om-course-step .om-reflections .archive-filter:hover, .om-course-step .om-reflections .archive-filter:focus {
  background: rgba(var(--step-fg-rgb), 0.08);
}
.om-course-step .om-reflections .archive-filter.is-active {
  border-color: var(--step-fg);
  background: var(--step-fg);
  color: var(--step-bg);
}
.om-course-step .om-reflections .archive-filter.is-active:hover, .om-course-step .om-reflections .archive-filter.is-active:focus {
  background: var(--step-fg);
}
.om-course-step .om-reflections .question-pending {
  margin: 0 0 3rem;
}
.om-course-step .om-reflections .feed-loading .spinner, .om-course-step .om-reflections .archive-loading .spinner {
  color: var(--step-fg);
}
.om-course-step .om-reflections button:focus-visible, .om-course-step .om-reflections a:focus-visible, .om-course-step .om-reflections select:focus-visible {
  outline-color: var(--step-accent);
}

.om-course-step .om-reflections--embed {
  --reflection-width: 100%;
  --reflection-control-gap: 1.25rem;
  margin: 0 0 2.5rem;
  max-width: 46rem;
}
.om-course-step .om-reflections--embed .featured-question {
  width: 100%;
  margin-inline: 0;
}
.om-course-step .om-reflections--embed .question-title {
  color: var(--step-fg);
}
.om-course-step .om-reflections--embed .featured-question .question-title {
  width: 100%;
  margin: 0 0 0.9rem;
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  line-height: 1.2;
  text-align: left;
  text-wrap: balance;
}
.om-course-step .om-reflections--embed .question-date, .om-course-step .om-reflections--embed .question-prompt, .om-course-step .om-reflections--embed .question-context, .om-course-step .om-reflections--embed .featured-question .question-date {
  margin: 0;
  padding: 0 0 1.5rem;
  text-align: left;
}
.om-course-step .om-reflections--embed .question-date--empty {
  padding-bottom: 0.75rem;
}
.om-course-step .om-reflections--embed .featured-question .reflection-stack {
  margin: 0;
  padding-bottom: 0;
}
.om-course-step .om-reflections--embed .featured-question .question-panel {
  --writing-height: 26rem;
}
.om-course-step .om-reflections--embed .context-controls {
  width: 100%;
  margin: 2.5rem 0 0;
  min-height: 0;
}
.om-course-step .om-reflections--embed .context-controls .writing-controls, .om-course-step .om-reflections--embed .context-controls .reading-controls {
  padding-inline: 0;
}
.om-course-step .om-reflections--embed .context-controls .writing-controls .compose-bottom {
  justify-content: flex-end;
  gap: 0.7rem;
}
.om-course-step .om-reflections--embed .context-controls .privacy {
  margin: 1.25rem 0 0;
  max-width: none;
  text-align: right;
}
.om-course-step .om-reflections--embed .context-controls .reading-controls .reading-current, .om-course-step .om-reflections--embed .context-controls .reading-controls .reading-outgoing {
  width: 100%;
  justify-content: space-between;
}
.om-course-step .om-reflections--embed .context-controls .om-button, .om-course-step .om-reflections--embed .context-controls .magic-login-modal .btn-submit, .magic-login-modal .om-course-step .om-reflections--embed .context-controls .btn-submit, .om-course-step .om-reflections--embed .context-controls .visibility-select__sizer {
  height: 2.3rem;
  min-height: 2.3rem;
  max-height: 2.3rem;
  padding: 0.6em 0.9em 0.5em;
  font-size: 0.8rem;
}
.om-course-step .om-reflections--embed .context-controls .visibility-select select, .om-course-step .om-reflections--embed .context-controls .visibility-select__sizer {
  padding-right: 2.3rem;
}
.om-course-step .om-reflections--embed .context-controls .visibility-select::after {
  right: 0.8rem;
  width: 0.7rem;
  height: 0.5rem;
}
.om-course-step .om-reflections--embed .context-controls .reading-controls .reflection-footer .om-button, .om-course-step .om-reflections--embed .context-controls .reading-controls .reflection-footer .magic-login-modal .btn-submit, .magic-login-modal .om-course-step .om-reflections--embed .context-controls .reading-controls .reflection-footer .btn-submit, .om-course-step .om-reflections--embed .context-controls .reading-controls .card-actions .om-button, .om-course-step .om-reflections--embed .context-controls .reading-controls .card-actions .magic-login-modal .btn-submit, .magic-login-modal .om-course-step .om-reflections--embed .context-controls .reading-controls .card-actions .btn-submit {
  padding-inline: 0.9em;
}
.om-course-step .om-reflections--embed .context-controls .om-button[type=submit], .om-course-step .om-reflections--embed .context-controls .magic-login-modal [type=submit].btn-submit, .magic-login-modal .om-course-step .om-reflections--embed .context-controls [type=submit].btn-submit, .om-course-step .om-reflections--embed .context-controls .om-button[type=submit].om-button--secondary {
  border-color: var(--step-accent);
  background: var(--step-accent);
  color: var(--step-fg);
}
.om-course-step .om-reflections--embed .context-controls .om-button[type=submit]:hover, .om-course-step .om-reflections--embed .context-controls .magic-login-modal [type=submit].btn-submit:hover, .magic-login-modal .om-course-step .om-reflections--embed .context-controls [type=submit].btn-submit:hover, .om-course-step .om-reflections--embed .context-controls .om-button[type=submit]:focus, .om-course-step .om-reflections--embed .context-controls .magic-login-modal [type=submit].btn-submit:focus, .magic-login-modal .om-course-step .om-reflections--embed .context-controls [type=submit].btn-submit:focus, .om-course-step .om-reflections--embed .context-controls .om-button[type=submit].om-button--secondary:hover, .om-course-step .om-reflections--embed .context-controls .om-button[type=submit].om-button--secondary:focus {
  background: var(--step-accent);
  opacity: 0.9;
}
@media (max-width: 45rem) {
  .om-course-step .om-reflections--embed .featured-question .question-panel {
    --writing-height: 22rem;
  }
}

.om-course-step .om-reflections--heading .featured-question .question-title {
  margin-bottom: 1.25rem;
  font-size: 3.4rem;
  line-height: 1.05;
}

.om-course-step .header--eyebrow-only {
  margin-bottom: 1.25rem;
}

.om-course-step .content .om-reflections .question-date, .om-course-step .content .om-reflections .privacy, .om-course-step .content .om-reflections [data-reflection-status], .om-course-step .content .om-reflections .question-prompt p:last-child {
  margin-bottom: 0;
}
.om-course-step .content .om-reflections .privacy {
  margin-top: var(--reflection-control-gap);
}
.om-course-step .content .om-reflections .reflection-stack .card .reflection-content .body, .om-course-step .content .om-reflections .reflection-stack form.composer textarea {
  color: #384b48;
}

.om-reflections .question-context a, .om-reflections .question-context strong {
  color: inherit;
  font-weight: inherit;
}
.om-reflections .question-context a {
  text-decoration: underline;
  text-underline-offset: 0.25em;
  text-decoration-color: rgba(250, 241, 235, 0.45);
}
.om-reflections .question-context a:hover, .om-reflections .question-context a:focus-visible {
  color: #ffd22a;
  text-decoration-color: currentColor;
}

.om-course-step .om-reflections .question-context {
  color: rgba(var(--step-fg-rgb), 0.75);
}
.om-course-step .om-reflections .question-context a, .om-course-step .om-reflections .question-context strong {
  color: var(--step-fg);
}

.om-reflections .no-question {
  margin: 4rem auto;
  max-width: 30rem;
  text-align: center;
  color: rgba(250, 241, 235, 0.75);
  font-family: "PV Sans Serif", sans-serif;
  font-weight: 300;
  font-size: 1.3rem;
}

.om-course-step:not(.om-course-step--on-dark) .om-reflections--embed .reflection-stack form.composer .composer-paper, .om-course-step:not(.om-course-step--on-dark) .om-reflections--embed .reflection-stack .reflection-entry > .card, .om-course-step:not(.om-course-step--on-dark) .om-reflections--embed .reflection-stack .signin {
  background-color: #384b48;
  background-image: none;
  border-color: rgba(250, 241, 235, 0.12);
  color: #faf1eb;
}
.om-course-step:not(.om-course-step--on-dark) .om-reflections--embed .reflection-stack .paper-edges .sheet {
  background-color: #314240;
  background-image: none;
  border-color: rgba(250, 241, 235, 0.1);
}
.om-course-step:not(.om-course-step--on-dark) .om-reflections--embed .reflection-stack .card .reflection-content .body, .om-course-step:not(.om-course-step--on-dark) .om-reflections--embed .reflection-stack form.composer textarea {
  color: #faf1eb;
}
.om-course-step:not(.om-course-step--on-dark) .om-reflections--embed .reflection-stack form.composer textarea::placeholder {
  color: inherit;
  opacity: 0.45;
}
.om-course-step:not(.om-course-step--on-dark) .om-reflections--embed .reflection-stack form.composer .composer-paper [data-reflection-count] {
  color: rgba(250, 241, 235, 0.6);
}
.om-course-step:not(.om-course-step--on-dark) .om-reflections--embed .reflection-stack .card .reflection-position {
  background: rgba(250, 241, 235, 0.14);
  color: #faf1eb;
}
.om-course-step:not(.om-course-step--on-dark) .om-reflections--embed .reflection-stack .reflection-entry > .card .save {
  color: #faf1eb;
  border-color: rgba(250, 241, 235, 0.35);
}
.om-course-step:not(.om-course-step--on-dark) .om-reflections--embed .reflection-stack .reflection-entry > .card .save[aria-pressed=true] {
  background: rgba(250, 241, 235, 0.14);
  border-color: rgba(255, 210, 42, 0.6);
  color: #ffd22a;
}
.om-course-step:not(.om-course-step--on-dark) .om-reflections--embed .reflection-stack .composer-paper::before, .om-course-step:not(.om-course-step--on-dark) .om-reflections--embed .reflection-stack .reflection-entry > .card::before, .om-course-step:not(.om-course-step--on-dark) .om-reflections--embed .reflection-stack .signin::before {
  background: #ffd22a;
  mix-blend-mode: normal;
}
.om-course-step:not(.om-course-step--on-dark) .om-reflections--embed .reflection-stack .signin p {
  color: #faf1eb;
}
.om-course-step:not(.om-course-step--on-dark) .om-reflections--embed .reflection-stack .signin a {
  color: #ffd22a;
}

.om-session-reflection {
  width: 100%;
  max-width: none;
  max-height: 100dvh;
  margin: auto;
  padding: 1.5rem;
  border: 0;
  background: transparent;
  color: #faf1eb;
  font: 1.1rem/1.5 "PV Sans Serif", sans-serif;
}
.om-session-reflection:focus, .om-session-reflection:focus-visible {
  outline: none;
}
.om-session-reflection .pv-dialog__panel {
  margin: auto;
  background: #384b48;
  color: #faf1eb;
  opacity: 0;
  transition: none;
}
.om-session-reflection h2, .om-session-reflection .pv-dialog__close {
  color: #faf1eb;
}
.om-session-reflection .intro {
  color: rgba(250, 241, 235, 0.72);
}
.om-session-reflection.is-visible .pv-dialog__panel {
  opacity: 1;
  transform: none;
}
.om-session-reflection::backdrop {
  background: rgba(30, 40, 38, 0.72);
  -webkit-backdrop-filter: blur(0.6rem);
  backdrop-filter: blur(0.6rem);
  opacity: 0;
  transition: opacity 180ms ease;
}
.om-session-reflection.is-visible::backdrop {
  opacity: 1;
}
.om-session-reflection [hidden] {
  display: none !important;
}
.om-session-reflection .privacy {
  color: rgba(250, 241, 235, 0.65);
  margin: 0.75rem 0 1rem;
  font-size: 0.8rem;
}
.om-session-reflection .form-actions {
  flex-wrap: wrap;
}

@media (max-width: 45rem) {
  .om-session-reflection {
    padding: 0.75rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .om-session-reflection, .om-session-reflection::backdrop,
  .om-session-reflection .pv-dialog__panel {
    transition: none;
  }
  .om-session-reflection .pv-dialog__panel {
    transform: none;
  }
}
.om-session-reflection .form-actions {
  justify-content: flex-start;
}
.om-session-reflection .om-button--secondary {
  color: #faf1eb;
}
.om-session-reflection .visibility-select {
  position: relative;
  display: inline-flex;
  min-width: 0;
  max-width: 100%;
  margin-right: auto;
  color: #faf1eb;
}
.om-session-reflection .visibility-select select, .om-session-reflection .visibility-select__sizer {
  padding-right: 2.8rem;
  white-space: nowrap;
}
.om-session-reflection .visibility-select__sizer {
  visibility: hidden;
  pointer-events: none;
}
.om-session-reflection .visibility-select select {
  appearance: none;
  -webkit-appearance: none;
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
  border-width: 1px;
}
.om-session-reflection .visibility-select select:focus, .om-session-reflection .visibility-select select:focus-visible {
  outline: none;
  box-shadow: none;
  border-width: 1px;
}
.om-session-reflection .visibility-select select option {
  background: #384b48;
  color: #faf1eb;
}
.om-session-reflection .visibility-select::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.9rem;
  height: 0.65rem;
  background: currentColor;
  -webkit-mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-dropdown.svg") center/contain no-repeat;
  pointer-events: none;
}
@media (max-width: 45rem) {
  .om-session-reflection .visibility-select {
    width: 100%;
  }
}

.om-session-reflection .composer-paper {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 20.7rem;
  padding: 4rem 0;
  border: 1px solid rgba(56, 75, 72, 0.12);
  border-radius: 0.7rem;
  background-color: #fffdf8;
  background-image: linear-gradient(rgba(255, 210, 42, 0.1), rgba(255, 210, 42, 0.1)), url("../../app/assets/img/repeat-paper.png");
  background-repeat: repeat;
  box-shadow: 0 0.6rem 2rem rgba(0, 0, 0, 0.12);
}
.om-session-reflection .composer-paper::before {
  content: "";
  position: absolute;
  top: 1.1rem;
  left: 1.2rem;
  width: 3.64rem;
  height: 2.38rem;
  background: #384b48;
  -webkit-mask: url("../../app/assets/img/icon-om.svg") center/contain no-repeat;
  mask: url("../../app/assets/img/icon-om.svg") center/contain no-repeat;
  mix-blend-mode: color-burn;
  pointer-events: none;
}
.om-session-reflection .composer-paper textarea {
  width: 100%;
  min-height: 0;
  max-height: 100%;
  padding: 0 clamp(1.4rem, 4vw, 3rem);
  border: 0;
  border-radius: 0;
  outline: none;
  box-shadow: none;
  resize: none;
  background: transparent;
  color: #384b48;
  font: 400 clamp(1.68rem, 3vw, 2.28rem)/1.6 "PV Sans Serif", sans-serif;
  text-align: center;
  text-wrap: pretty;
}
.om-session-reflection .composer-paper textarea::placeholder {
  color: inherit;
  opacity: 0.3;
}
.om-session-reflection .composer-paper .character-count {
  position: absolute;
  right: 1.2rem;
  bottom: 1rem;
  color: rgba(56, 75, 72, 0.65);
  font: 0.8rem "Futura Medium", sans-serif;
  pointer-events: none;
}

.om-session-reflection .reflection-thanks {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2rem 0 0.5rem;
  text-align: center;
}
.om-session-reflection .reflection-thanks .om-icon {
  width: 2.4rem;
  height: 2.4rem;
  margin-bottom: 1.25rem;
  color: #ffd22a;
}
.om-session-reflection .reflection-thanks h2 {
  margin: 0 0 0.75rem;
}
.om-session-reflection .reflection-thanks h2:focus, .om-session-reflection .reflection-thanks h2:focus-visible {
  outline: none;
}
.om-session-reflection .reflection-thanks p {
  max-width: 28rem;
  margin: 0 0 2rem;
  color: rgba(250, 241, 235, 0.72);
}
.om-session-reflection .reflection-thanks .form-actions {
  justify-content: center;
  gap: 1rem;
}
/*# sourceMappingURL=online-monastery.css.map */
