/* Screen-level playback controls share the site's bronze button treatment. */
.animation-toolbar {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: calc(18px + env(safe-area-inset-bottom));
  z-index: var(--lorbo-layer-overlay);
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 5px;
  border: 1px solid #b69663b3;
  border-radius: 14px;
  background: #20172ef5;
  box-shadow:
    inset 0 1px 0 #f6e7c614,
    0 6px 20px #08040c66;
  color: #f6e7c6;
}
.animation-toolbar .section-pause-control,
.animation-toolbar .motion-settings summary {
  display: grid;
  place-items: center;
  position: static;
  width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #f6e7c6;
  opacity: 1;
  line-height: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition:
    background-color 0.15s,
    color 0.15s;
}
.animation-toolbar .section-pause-control[hidden] {
  display: none;
}
.animation-toolbar .section-pause-control svg,
.animation-toolbar .motion-settings summary svg {
  display: block;
  width: 20px;
  height: 20px;
}
.animation-toolbar .section-pause-control .icon-play {
  transform: translateX(1px);
}
.animation-toolbar .section-pause-control .icon-play,
.animation-toolbar .section-pause-control[aria-pressed="true"] .icon-pause {
  display: none;
}
.animation-toolbar .section-pause-control[aria-pressed="true"] .icon-play {
  display: block;
}
.animation-toolbar .section-pause-control[aria-pressed="true"] {
  background: #b6966329;
  color: var(--lorbo-candle);
}
@media (hover: hover) {
  .animation-toolbar .section-pause-control:not(:disabled):hover,
  .animation-toolbar .motion-settings summary:hover {
    background: #70573c66;
  }
}
.animation-toolbar .motion-settings[open] summary {
  background: #70573c66;
}
.animation-toolbar .section-pause-control:not(:disabled):active,
.animation-toolbar .motion-settings summary:active {
  background: #70573c99;
}
.animation-toolbar .section-pause-control:focus-visible,
.animation-toolbar .motion-settings summary:focus-visible {
  outline: var(--lorbo-focus-ring) !important;
  outline-offset: -2px;
  box-shadow: none !important;
}
.animation-toolbar .section-pause-control:disabled {
  opacity: 0.45;
  cursor: default;
}
.animation-toolbar .motion-settings {
  position: relative;
}
.animation-toolbar .motion-settings-panel {
  top: auto;
  right: -6px;
  bottom: calc(100% + 14px);
  width: min(280px, calc(100vw - 36px));
  padding: 18px 20px 20px;
  border-color: #b69663b3;
  border-radius: 14px;
  background: #20172e;
  box-shadow:
    inset 0 1px 0 #f6e7c614,
    0 12px 35px #0c071a80;
}
.animation-toolbar .motion-settings-panel p {
  margin-bottom: 8px;
}
.animation-toolbar .motion-settings-panel :is(#motion-control, #mobile-motion-control) {
  isolation: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  height: auto;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent !important;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: #f6e7c6;
  text-shadow: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.animation-toolbar .motion-settings-panel :is(#motion-control, #mobile-motion-control)::before,
.animation-toolbar .motion-settings-panel :is(#motion-control, #mobile-motion-control)::after {
  display: none !important;
}
.animation-toolbar
  .motion-settings-panel
  :is(#motion-control, #mobile-motion-control):focus-visible {
  outline: var(--lorbo-focus-ring) !important;
  outline-offset: 4px;
  box-shadow: none !important;
}
.animation-toolbar .motion-settings-panel :is(#motion-control, #mobile-motion-control):disabled {
  opacity: 0.5;
  cursor: default;
}
.animation-toolbar
  .motion-settings-panel
  :is(#motion-control, #mobile-motion-control)
  > span:first-child {
  color: #f6e7c6;
  font:
    600 14px / 1.4 "Plus Jakarta Sans",
    sans-serif;
  letter-spacing: 0;
  text-transform: none;
  text-shadow: none;
}
.animation-toolbar
  .motion-settings-panel
  :is(#motion-control, #mobile-motion-control)
  .switch-track {
  position: relative;
  flex: none;
  box-sizing: border-box;
  width: 40px;
  height: 24px;
  padding: 0;
  border: 1px solid #b69663;
  border-radius: 12px;
  background: #4f6b47;
  box-shadow: inset 0 1px 3px #0c071a66;
  transition: background-color 0.15s;
}
.animation-toolbar
  .motion-settings-panel
  :is(#motion-control, #mobile-motion-control)
  .switch-track::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #f6e7c6;
  box-shadow: 0 1px 3px #0c071a80;
  filter: none;
  transform: translateX(16px);
  transition: transform 0.15s ease;
}
.animation-toolbar
  .motion-settings-panel
  :is(#motion-control, #mobile-motion-control)[aria-checked="false"]
  .switch-track {
  background: #3a3043;
}
.animation-toolbar
  .motion-settings-panel
  :is(#motion-control, #mobile-motion-control)[aria-checked="false"]
  .switch-track::after {
  background: #b5a8bd;
  transform: translateX(0);
}
.parchment-interstitial {
  position: relative;
}
[data-animation-paused="true"] *,
[data-animation-paused="true"] *::before,
[data-animation-paused="true"] *::after {
  animation-play-state: paused !important;
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
body[data-motion="off"] *,
body[data-motion="off"] *::before,
body[data-motion="off"] *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
.motion-settings {
  position: relative;
  pointer-events: auto;
}
.motion-settings summary {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  list-style: none;
  border-radius: 50%;
  color: #f6e7c6;
  opacity: 0.72;
  cursor: pointer;
}
.motion-settings summary::-webkit-details-marker {
  display: none;
}
.motion-settings summary:hover,
.motion-settings summary:focus-visible,
.motion-settings[open] summary {
  opacity: 1;
  background: rgba(24, 18, 35, 0.3);
}
.motion-settings-panel {
  position: absolute;
  right: 0;
  top: 50px;
  width: 270px;
  padding: 20px;
  background: #241c30;
  border: 1px solid #766044;
  border-radius: 12px;
  box-shadow: 0 12px 35px #0c071a55;
  color: #f6e7c6;
}
.motion-settings-panel p {
  margin: 0 0 12px;
  font:
    600 21px / 1.2 "Cormorant Garamond",
    Georgia,
    serif;
  color: inherit;
}
.motion-settings-panel small {
  display: block;
  margin-top: 12px;
  font:
    400 12px / 1.6 "Plus Jakarta Sans",
    sans-serif;
  color: #c7bbd0;
}
.motion-settings-panel #motion-control {
  position: static;
  width: 100%;
  min-height: 44px;
  padding: 0;
  justify-content: space-between;
  border: 0;
  background: transparent !important;
}
.motion-settings-panel #motion-control::before,
.motion-settings-panel #motion-control::after {
  content: none !important;
  display: none !important;
}
.motion-settings-panel #motion-control > span:first-child {
  font:
    600 13px / 1.4 "Plus Jakarta Sans",
    sans-serif;
  text-transform: none;
  color: #f6e7c6;
  text-shadow: none;
}
.alpha-status:empty {
  margin: 0;
}
.alpha-submit[aria-disabled="true"] {
  cursor: wait;
  opacity: 0.7;
}

/* A lighter page says so beside the controls, without covering anything it cannot dismiss. */
.lorbo-lite-notice {
  position: fixed;
  left: max(18px, env(safe-area-inset-left));
  bottom: calc(18px + env(safe-area-inset-bottom));
  z-index: var(--lorbo-layer-overlay);
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: min(460px, calc(100vw - 150px));
  padding: 8px 6px 8px 16px;
  border: 1px solid #b69663b3;
  border-radius: 14px;
  background: #20172ef5;
  box-shadow:
    inset 0 1px 0 #f6e7c614,
    0 6px 20px #08040c66;
  color: #f6e7c6;
}
.lorbo-lite-notice[hidden] {
  display: none;
}
.lorbo-lite-notice p {
  margin: 0;
  font:
    400 12px / 1.45 "Plus Jakarta Sans",
    system-ui,
    sans-serif;
  color: #e6dbe9;
}
.lorbo-lite-notice button {
  flex: none;
  min-height: 44px;
  margin: 0;
  border-radius: 9px;
  color: #fff3da;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition:
    background-color 0.15s,
    border-color 0.15s;
}
.lorbo-lite-notice .lorbo-lite-on {
  padding: 8px 14px;
  border: 1px solid #e2bf848c;
  border-radius: 999px;
  background: #2c203cc7;
  font:
    600 12px / 1.2 "Plus Jakarta Sans",
    system-ui,
    sans-serif;
  letter-spacing: 0.02em;
}
.lorbo-lite-notice .lorbo-lite-close {
  display: grid;
  place-items: center;
  width: 44px;
  padding: 0;
  border: 0;
  background: transparent;
}
.lorbo-lite-notice .lorbo-lite-close svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
}
.lorbo-lite-notice .lorbo-lite-on:hover {
  border-color: #f3d59f;
  background: #44325ce6;
}
.lorbo-lite-notice .lorbo-lite-close:hover {
  background: #f6e7c614;
}
.lorbo-lite-notice button:focus-visible {
  outline: 2px solid #fff0ce;
  outline-offset: 2px;
}
@media (max-width: 600px) {
  .lorbo-lite-notice {
    right: max(16px, env(safe-area-inset-right));
    left: max(16px, env(safe-area-inset-left));
    bottom: calc(84px + env(safe-area-inset-bottom));
    max-width: none;
  }
}
