:root {
  --black: #000;
  --deep: #030303;
  --surface: #1a1a1a;
  --white: #fff;
  --border: #27272a;
  --border-sel: #fff;
  --border-foc: #767d88;
  --border-err: #a7a7a7;
  --slate: #828893;
  --mid-slate: #7d848e;
  --muted: #a7a7a7;
  --charcoal: #3f3f3f;
  --r-sm: 4px;
  --r-md: 8px;
  --r-lg: 16px;
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;
  --sp-12: 48px;
  --font: 'DM Sans', 'abcNormal', sans-serif;
  --nav-h: 56px;
  --bottom-nav-h: 60px;
}

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

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

body {
  background: var(--black);
  color: var(--white);
  font-family: var(--font);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  min-height: 100vh;
  overflow-x: hidden;
}

button, input, select, textarea {
  font-family: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

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

hr.divider {
  border: none;
  border-top: 1px solid var(--border);
  margin: var(--sp-6) 0;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: absolute;
  top: -999px;
  left: 0;
  z-index: 999;
  padding: 8px 16px;
  background: var(--white);
  color: var(--black);
  font-size: 13px;
}
.skip-link:focus {
  top: 0;
}

.t-display {
  font-size: clamp(28px, 8vw, 48px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -1.2px;
}

.t-heading {
  font-size: clamp(22px, 5vw, 36px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.9px;
}

.t-card {
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
}

.t-body {
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: -0.16px;
}

.t-label {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.35px;
  text-transform: uppercase;
  color: var(--slate);
}

.t-small {
  font-size: 13px;
  line-height: 1.3;
  letter-spacing: -0.16px;
}

.t-micro {
  font-size: 11px;
  font-weight: 450;
  letter-spacing: 0.35px;
  text-transform: uppercase;
}

.t-muted {
  color: var(--muted);
}

.t-slate {
  color: var(--slate);
}

.t-white {
  color: var(--white);
}

.top-nav {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--black);
  border-bottom: 1px solid var(--border);
  height: var(--nav-h);
  padding: 0 var(--sp-5);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.top-nav__logo {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.5px;
}
.top-nav__logo span {
  color: var(--slate);
  font-weight: 400;
}
.top-nav__right {
  display: flex;
  gap: var(--sp-2);
  align-items: center;
}
.top-nav__lang {
  font-size: 11px;
  font-weight: 450;
  letter-spacing: 0.35px;
  text-transform: uppercase;
  color: var(--slate);
  cursor: pointer;
  padding: 6px 10px;
  border: 1px solid var(--border);
  border-radius: var(--r-sm);
  background: transparent;
  transition: border-color 120ms, color 120ms;
}
.top-nav__lang:hover, .top-nav__lang.active {
  border-color: var(--white);
  color: var(--white);
}

.app-shell {
  display: flex;
  min-height: calc(100vh - var(--nav-h));
}

.sidebar {
  width: 220px;
  flex-shrink: 0;
  border-right: 1px solid var(--border);
  padding: var(--sp-5) 0;
  display: none;
  flex-direction: column;
  position: sticky;
  top: var(--nav-h);
  height: calc(100vh - var(--nav-h));
  overflow-y: auto;
}
@media (min-width: 768px) {
  .sidebar {
    display: flex;
  }
}
.sidebar__item {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: 10px var(--sp-5);
  font-size: 14px;
  font-weight: 400;
  color: var(--slate);
  cursor: pointer;
  transition: color 120ms, background 120ms;
  letter-spacing: -0.16px;
  border-left: 2px solid transparent;
}
.sidebar__item:hover {
  color: var(--white);
  background: rgba(255, 255, 255, 0.02);
}
.sidebar__item.active {
  color: var(--white);
  border-left-color: var(--white);
}
.sidebar__item svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.sidebar__section {
  font-size: 11px;
  font-weight: 450;
  letter-spacing: 0.35px;
  text-transform: uppercase;
  color: var(--charcoal);
  padding: var(--sp-5) var(--sp-5) var(--sp-2);
  margin-top: var(--sp-4);
}
.sidebar__section:first-child {
  margin-top: 0;
}
.sidebar__divider {
  border: none;
  border-top: 1px solid var(--border);
  margin: var(--sp-4) 0;
}

.main {
  flex: 1;
  min-width: 0;
  padding-bottom: calc(var(--bottom-nav-h) + var(--sp-4));
}
@media (min-width: 768px) {
  .main {
    padding-bottom: var(--sp-6);
  }
}

.bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: var(--deep);
  border-top: 1px solid var(--border);
  height: var(--bottom-nav-h);
  display: flex;
  align-items: stretch;
}
@media (min-width: 768px) {
  .bottom-nav {
    display: none;
  }
}
.bottom-nav__item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  cursor: pointer;
  color: var(--slate);
  transition: color 120ms;
  -webkit-tap-highlight-color: transparent;
  border: none;
  background: transparent;
  text-decoration: none;
}
.bottom-nav__item.active {
  color: var(--white);
}
.bottom-nav__item svg {
  width: 20px;
  height: 20px;
}
.bottom-nav__label {
  font-size: 10px;
  font-weight: 450;
  letter-spacing: 0.2px;
  text-transform: uppercase;
}

.page {
  padding: var(--sp-6) var(--sp-5) var(--sp-4);
  max-width: 600px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .page {
    padding: var(--sp-8) var(--sp-8);
  }
}

.page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  margin-bottom: var(--sp-6);
}
.page-header--tight {
  margin-bottom: var(--sp-4);
}
.page-header__titles .page-title {
  margin-bottom: var(--sp-1);
}

.page-title {
  font-size: clamp(24px, 7vw, 40px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -1px;
}

.page-subtitle {
  margin-top: var(--sp-1);
}

.q-group {
  margin-bottom: var(--sp-8);
}
.q-group:last-child {
  margin-bottom: 0;
}
.q-group--inline {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
}

.filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin-bottom: var(--sp-6);
}

.form-contents {
  display: contents;
}

.form-actions {
  margin-top: var(--sp-4);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.16px;
  border-radius: var(--r-sm);
  padding: 10px 20px;
  border: none;
  cursor: pointer;
  transition: opacity 150ms, border-color 150ms;
  white-space: nowrap;
  line-height: 1;
}
.btn--primary {
  background: var(--white);
  color: var(--black);
}
.btn--primary:hover {
  opacity: 0.85;
}
.btn--secondary {
  background: transparent;
  color: var(--white);
  border: 1px solid var(--border);
}
.btn--secondary:hover {
  border-color: var(--slate);
}
.btn--ghost {
  background: transparent;
  color: var(--slate);
  border: none;
}
.btn--ghost:hover {
  color: var(--white);
}
.btn--danger {
  background: transparent;
  color: var(--muted);
  border: 1px solid var(--border);
}
.btn--danger:hover {
  border-color: #9e5a5a;
  color: #9e5a5a;
}
.btn--sm {
  font-size: 13px;
  padding: 7px 14px;
}
.btn--lg {
  padding: 12px 24px;
}
.btn--full {
  width: 100%;
}
.btn:disabled, .btn[aria-disabled=true] {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}

.input {
  width: 100%;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-sm);
  padding: 12px 16px;
  font-size: 14px;
  color: var(--white);
  letter-spacing: -0.16px;
  transition: border-color 120ms;
  outline: none;
}
.input::placeholder {
  color: var(--charcoal);
}
.input:focus {
  border-color: var(--border-foc);
}
.input--error {
  border-color: var(--border-err);
}

select.input {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23767d88' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
}
select.input option {
  background: var(--surface);
}

textarea.input {
  resize: vertical;
  min-height: 80px;
  line-height: 1.5;
}

.input-group {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
  margin-bottom: var(--sp-4);
}

.input-label {
  font-size: 13px;
  color: var(--slate);
  letter-spacing: -0.16px;
}

.input-label--bright {
  color: var(--white);
}

.input-hint {
  font-size: 12px;
  color: var(--charcoal);
  letter-spacing: -0.1px;
}

.input-error-msg {
  font-size: 12px;
  color: var(--border-err);
  margin-top: var(--sp-1);
}

.option-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-2);
}
.option-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}
.option-grid--1 {
  grid-template-columns: 1fr;
}

.option-card {
  position: relative;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  padding: var(--sp-4);
  min-height: 68px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  cursor: pointer;
  transition: border-color 120ms, background 120ms;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.option-card:active {
  background: var(--black);
}
.option-card.selected, .option-card:has(input[type=radio]:checked), .option-card:has(input[type=checkbox]:checked) {
  background: var(--black);
  border-color: var(--border-sel);
}
.option-card.selected .option-card__icon, .option-card:has(input[type=radio]:checked) .option-card__icon, .option-card:has(input[type=checkbox]:checked) .option-card__icon {
  color: var(--white);
}
.option-card.selected .option-card__label, .option-card:has(input[type=radio]:checked) .option-card__label, .option-card:has(input[type=checkbox]:checked) .option-card__label {
  color: var(--white);
}
.option-card__icon {
  color: var(--slate);
  width: 20px;
  height: 20px;
  transition: color 120ms;
}
.option-card__label {
  font-size: 12px;
  color: var(--slate);
  text-align: center;
  line-height: 1.3;
  transition: color 120ms;
}
.option-card__sub {
  font-size: 10px;
  font-weight: 450;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  color: var(--muted);
  text-align: center;
}
.option-card--row {
  flex-direction: row;
  justify-content: space-between;
  min-height: 52px;
  padding: 12px 16px;
  gap: var(--sp-3);
}
.option-card--row .option-card__label {
  text-align: left;
}
.option-card--wide {
  grid-column: span 2;
}

.aspect-glyph {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
}
.aspect-glyph__box {
  flex: none;
  border: 1.5px solid var(--slate);
  border-radius: 3px;
  transition: border-color 120ms, background 120ms;
}

.option-card:has(input[type=radio]:checked) .aspect-glyph__box {
  border-color: var(--white);
  background: rgba(255, 255, 255, 0.12);
}

.audience-sublabel {
  font-size: 11px;
  font-weight: 450;
  letter-spacing: 0.35px;
  text-transform: uppercase;
  color: var(--charcoal);
  margin: var(--sp-4) 0 var(--sp-3);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--border);
}

.other-reveal {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height 250ms ease, opacity 200ms ease;
  margin-top: 0;
}
.other-reveal.open {
  max-height: 100px;
  opacity: 1;
  margin-top: var(--sp-2);
}

.q-group[data-goal-reveal]:has(input[value=other]:checked) .other-reveal {
  max-height: 100px;
  opacity: 1;
  margin-top: var(--sp-2);
}

.duration-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-2);
}

.dur-tab {
  position: relative;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-sm);
  padding: 10px;
  text-align: center;
  cursor: pointer;
  transition: border-color 120ms, background 120ms;
}
.dur-tab.selected, .dur-tab:has(input[type=radio]:checked) {
  background: var(--black);
  border-color: var(--white);
}
.dur-tab.selected .dur-tab__val, .dur-tab:has(input[type=radio]:checked) .dur-tab__val {
  color: var(--white);
}
.dur-tab.selected .dur-tab__unit, .dur-tab:has(input[type=radio]:checked) .dur-tab__unit {
  color: var(--slate);
}
.dur-tab__val {
  font-size: 20px;
  font-weight: 400;
  color: var(--slate);
  letter-spacing: -0.5px;
  transition: color 120ms;
}
.dur-tab__unit {
  font-size: 10px;
  font-weight: 450;
  letter-spacing: 0.35px;
  text-transform: uppercase;
  color: var(--charcoal);
  margin-top: 2px;
  transition: color 120ms;
}

.wizard-steps {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  margin-bottom: var(--sp-8);
}

.wizard-step {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  text-decoration: none;
}
.wizard-step__dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 450;
  color: var(--slate);
  flex-shrink: 0;
  transition: border-color 200ms, background 200ms, color 200ms;
}
.wizard-step__label {
  font-size: 11px;
  font-weight: 450;
  letter-spacing: 0.35px;
  text-transform: uppercase;
  color: var(--slate);
  transition: color 200ms;
}
.wizard-step--active .wizard-step__dot {
  border-color: var(--white);
  color: var(--white);
}
.wizard-step--active .wizard-step__label {
  color: var(--white);
}
.wizard-step--complete .wizard-step__dot {
  border-color: var(--border-foc);
  background: var(--border-foc);
  color: var(--white);
}
.wizard-step__conn {
  flex: 1;
  height: 1px;
  background: var(--border);
}

.wizard-nav {
  display: flex;
  gap: var(--sp-2);
  padding-top: var(--sp-6);
  margin-top: var(--sp-6);
  border-top: 1px solid var(--border);
}
.wizard-nav__back {
  flex: 0 0 auto;
}
.wizard-nav__next {
  flex: 1;
}
.wizard-nav__spacer {
  flex: 1;
}
.wizard-nav__actions {
  display: flex;
  gap: var(--sp-2);
}

.wizard-panel {
  display: none;
  padding: var(--sp-6) var(--sp-5);
}
.wizard-panel[data-project-wizard-target=step]:not([hidden]) {
  display: block;
}

.wizard-intro {
  margin-bottom: var(--sp-8);
}
.wizard-intro .t-heading {
  margin-bottom: var(--sp-2);
}

.wizard-mobile-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--sp-3) var(--sp-5);
  border-bottom: 1px solid var(--border);
  margin-bottom: var(--sp-6);
}
.wizard-mobile-header__cancel {
  font-size: 14px;
  color: var(--slate);
  display: flex;
  align-items: center;
  gap: 6px;
}
.wizard-mobile-header__title {
  font-size: 14px;
  font-weight: 500;
}
.wizard-mobile-header__counter {
  font-size: 13px;
  color: var(--slate);
}

.wizard-progress {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  margin-bottom: var(--sp-8);
  margin-top: var(--sp-6);
  padding: 0 var(--sp-5);
}
.wizard-progress .wizard-step {
  gap: var(--sp-2);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.wizard-progress .wizard-step__num {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 450;
  color: var(--slate);
  flex-shrink: 0;
  transition: border-color 200ms, background 200ms, color 200ms;
}
.wizard-progress .wizard-step--active .wizard-step__num {
  border-color: var(--white);
  color: var(--white);
}
.wizard-progress .wizard-step--active .wizard-step__label {
  color: var(--white);
}
.wizard-progress .wizard-step--complete .wizard-step__num {
  border-color: var(--border-foc);
  background: var(--border-foc);
  color: var(--white);
}
.wizard-progress .wizard-connector {
  flex: 1;
  height: 1px;
  background: var(--border);
}

.detail-list {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
  margin-bottom: var(--sp-3);
}

.detail-add {
  align-self: flex-start;
}

.detail-row {
  display: grid;
  grid-template-columns: 1fr 2fr auto;
  gap: var(--sp-2);
  align-items: center;
}
.detail-row__remove {
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--muted);
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-sm);
  transition: color 120ms;
  flex-shrink: 0;
}
.detail-row__remove:hover {
  color: var(--slate);
}

.upload-zone {
  border: 1px dashed var(--border);
  border-radius: var(--r-md);
  padding: var(--sp-8) var(--sp-5);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-3);
  cursor: pointer;
  transition: border-color 150ms;
  text-align: center;
}
.upload-zone:hover, .upload-zone:focus-within {
  border-color: var(--slate);
}
.upload-zone input[type=file] {
  display: none;
}
.upload-zone__icon {
  color: var(--charcoal);
  width: 28px;
  height: 28px;
}
.upload-zone__title {
  font-size: 14px;
  color: var(--muted);
}
.upload-zone__subtitle {
  font-size: 11px;
  color: var(--charcoal);
  letter-spacing: 0.2px;
}
.upload-zone__text {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.4;
}
.upload-zone__hint {
  font-size: 11px;
  color: var(--charcoal);
  letter-spacing: 0.2px;
}

.upload-divider {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  color: var(--charcoal);
  font-size: 11px;
  letter-spacing: 0.35px;
  text-transform: uppercase;
  margin: var(--sp-4) 0;
}
.upload-divider::before, .upload-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--border);
}

.upload-compact {
  border: 1px dashed var(--border);
  border-radius: var(--r-md);
  padding: var(--sp-5);
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  cursor: pointer;
  transition: border-color 150ms;
}
.upload-compact:hover {
  border-color: var(--slate);
}
.upload-compact__icon {
  color: var(--charcoal);
  flex-shrink: 0;
}

.upload-logo {
  margin-bottom: var(--sp-6);
}

.asset-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
  gap: var(--sp-2);
  margin-top: var(--sp-3);
}

.meter {
  font-size: 12px;
  color: var(--slate);
  margin-top: var(--sp-2);
}
.meter__msg {
  font-style: italic;
}

.filmstrip {
  display: flex;
  gap: var(--sp-2);
  overflow-x: auto;
  padding-bottom: var(--sp-2);
  scrollbar-width: none;
}
.filmstrip::-webkit-scrollbar {
  display: none;
}
.filmstrip--spaced {
  margin-top: var(--sp-3);
}
.filmstrip__item {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  border-radius: var(--r-md);
  background: var(--surface);
  border: 1px solid var(--border);
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--charcoal);
}
.filmstrip__item img,
.filmstrip__item video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.filmstrip__item--error {
  border-color: #4a2a2a;
}
.filmstrip__item--error::after {
  content: "!";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(100, 30, 30, 0.7);
  color: #e07070;
  font-size: 18px;
  font-weight: 600;
  border-radius: var(--r-md);
}
.filmstrip__badge {
  position: absolute;
  bottom: 4px;
  left: 4px;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 2px;
  padding: 1px 4px;
  font-size: 9px;
  font-weight: 450;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  color: var(--white);
  pointer-events: none;
}
.filmstrip__remove {
  position: absolute;
  top: 3px;
  right: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.75);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--white);
  padding: 0;
  z-index: 2;
  transition: background 120ms;
}
.filmstrip__remove:hover {
  background: rgba(0, 0, 0, 0.95);
}
.filmstrip__play-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.filmstrip__progress {
  position: absolute;
  inset: 0;
  z-index: 3;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-md);
}
.filmstrip__progress::after {
  content: "";
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-top-color: var(--white);
  animation: filmstrip-spin 0.8s linear infinite;
}
.filmstrip__progress[hidden] {
  display: none;
}

@keyframes filmstrip-spin {
  to {
    transform: rotate(360deg);
  }
}
.bgm-list {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
  scroll-snap-type: y mandatory;
  mask-image: linear-gradient(to bottom, transparent 0%, black 24px, black calc(100% - 32px), transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 24px, black calc(100% - 32px), transparent 100%);
  padding-top: var(--sp-1);
  padding-bottom: var(--sp-1);
}
.bgm-list > [data-bgm-wizard-target=group] {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}
.bgm-list {
  scrollbar-width: thin;
  scrollbar-color: var(--border) transparent;
}
.bgm-list::-webkit-scrollbar {
  width: 6px;
}
.bgm-list::-webkit-scrollbar-track {
  background: transparent;
}
.bgm-list::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 3px;
}
.bgm-list::-webkit-scrollbar-thumb:hover {
  background: var(--charcoal);
}

.bgm-row {
  position: relative;
  scroll-snap-align: start;
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  cursor: pointer;
  transition: border-color 120ms;
}
.bgm-row.selected, .bgm-row:has(input[type=radio]:checked) {
  border-color: var(--border-sel);
}
.bgm-row__play {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--slate);
  background: transparent;
  cursor: pointer;
  transition: border-color 120ms, color 120ms;
}
.bgm-row__play:hover {
  border-color: var(--white);
  color: var(--white);
}
.bgm-row__info {
  flex: 1;
  min-width: 0;
}
.bgm-row__name {
  font-size: 13px;
  color: var(--white);
  letter-spacing: -0.16px;
}
.bgm-row__meta {
  font-size: 11px;
  color: var(--slate);
  margin-top: 2px;
}
.bgm-row__dur {
  font-size: 12px;
  color: var(--muted);
  flex-shrink: 0;
}
.bgm-row__actions {
  display: flex;
  gap: var(--sp-1);
  flex-shrink: 0;
}

.bgm-manage-list {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}

.bgm-manage-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-4);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  cursor: pointer;
  transition: border-color 150ms, background 150ms;
}
.bgm-manage-row:hover {
  border-color: var(--border-foc);
  background: #1f1f1f;
}
.bgm-manage-row__info {
  flex: 1;
  min-width: 0;
}
.bgm-manage-row__name {
  font-size: 14px;
  color: var(--white);
  letter-spacing: -0.16px;
}
.bgm-manage-row__meta {
  font-size: 12px;
  color: var(--slate);
  margin-top: 3px;
}
.bgm-manage-row__actions {
  display: flex;
  gap: var(--sp-2);
  flex-shrink: 0;
  transition: opacity 150ms;
}
@media (hover: hover) {
  .bgm-manage-row__actions {
    opacity: 0;
  }
  .bgm-manage-row:hover .bgm-manage-row__actions, .bgm-manage-row:focus-within .bgm-manage-row__actions {
    opacity: 1;
  }
}

.waveform-scrubber {
  flex: 0 0 100%;
  margin-top: var(--sp-2);
  cursor: pointer;
}
.waveform-scrubber > div {
  width: 100% !important;
  border-radius: var(--r-sm);
  overflow: hidden;
}
.waveform-scrubber [part=cursor] {
  width: 2px !important;
  background: var(--white) !important;
  opacity: 0.8;
}

.upload-zone--drag {
  border-color: var(--white) !important;
  background: #1f1f1f;
}
.upload-zone--drag .upload-zone__icon {
  color: var(--white);
}

.mood-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-3);
}
@media (min-width: 600px) {
  .mood-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.mood-grid--entering {
  animation: grid-enter 260ms cubic-bezier(0.22, 0.68, 0, 1.2) forwards;
}

@keyframes grid-enter {
  from {
    opacity: 0;
    transform: translateX(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.mood-card {
  position: relative;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  cursor: pointer;
  padding: 0;
  text-align: left;
  transition: border-color 180ms, transform 160ms, background 180ms;
  animation: card-appear 360ms cubic-bezier(0.22, 0.68, 0, 1.2) both;
  animation-delay: calc(var(--card-index, 0) * 50ms);
}
.mood-card:hover {
  border-color: var(--muted);
  transform: translateY(-2px);
  background: #1f1f1f;
}
.mood-card:focus-visible {
  outline: 2px solid var(--border-foc);
  outline-offset: 2px;
}
.mood-card--active {
  border-color: var(--white) !important;
  background: #202020;
}
.mood-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--white);
  opacity: 0;
  transition: opacity 180ms;
}
.mood-card:hover::before, .mood-card--active::before {
  opacity: 0.15;
}
.mood-card__inner {
  padding: var(--sp-5) var(--sp-4) var(--sp-4);
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}
.mood-card__icon {
  width: 32px;
  height: 32px;
  color: var(--slate);
  transition: color 180ms;
}
.mood-card__icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
}
.mood-card:hover .mood-card__icon, .mood-card--active .mood-card__icon {
  color: var(--muted);
}
.mood-card__body {
  flex: 1;
}
.mood-card__name {
  font-size: 14px;
  font-weight: 500;
  color: var(--white);
  letter-spacing: -0.2px;
  line-height: 1.3;
}
.mood-card__count {
  font-size: 11px;
  color: var(--slate);
  margin-top: 2px;
  font-variant-numeric: tabular-nums;
}
.mood-card__waveform {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  height: 20px;
  opacity: 0.2;
  transition: opacity 200ms;
}
.mood-card:hover .mood-card__waveform, .mood-card--active .mood-card__waveform {
  opacity: 0.5;
}
.mood-card__bar {
  flex: 1;
  background: var(--muted);
  border-radius: 1px;
  height: var(--bar-h, 50%);
  min-height: 3px;
}
.mood-card:hover .mood-card__bar, .mood-card--active .mood-card__bar {
  animation: bar-dance 1.4s ease-in-out infinite alternate;
  animation-delay: calc(var(--bar-index, 0) * 90ms);
}

@keyframes card-appear {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes bar-dance {
  from {
    transform: scaleY(0.4);
  }
  to {
    transform: scaleY(1.1);
  }
}
.track-panel--visible {
  animation: panel-enter 260ms cubic-bezier(0.22, 0.68, 0, 1.2) forwards;
}
.track-panel--hidden {
  animation: panel-exit 240ms ease forwards;
}
.track-panel__header {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  margin-bottom: var(--sp-6);
}
.track-panel__back {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--slate);
  flex-shrink: 0;
  transition: border-color 150ms, color 150ms, background 150ms;
}
.track-panel__back:hover {
  border-color: var(--white);
  color: var(--white);
  background: #222;
}
.track-panel__back:focus-visible {
  outline: 2px solid var(--border-foc);
  outline-offset: 2px;
}
.track-panel__heading {
  flex: 1;
}
.track-panel__title {
  font-size: 20px;
  font-weight: 500;
  color: var(--white);
  letter-spacing: -0.3px;
  margin: 0;
}
.track-panel__subtitle {
  font-size: 12px;
  color: var(--slate);
  display: block;
  margin-top: 2px;
  font-variant-numeric: tabular-nums;
}
.track-panel__list {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}

.track-group {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}
.track-group[hidden] {
  display: none;
}

@keyframes panel-enter {
  from {
    opacity: 0;
    transform: translateX(16px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes panel-exit {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(16px);
  }
}
.bgm-player {
  margin-top: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
}
.bgm-player__row {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin-bottom: var(--sp-2);
}
.bgm-player__btn {
  background: none;
  border: 1px solid var(--border);
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--white);
  flex-shrink: 0;
}
.bgm-player__info {
  flex: 1;
  min-width: 0;
}
.bgm-player__name {
  font-size: 13px;
  color: var(--white);
}
.bgm-player__meta {
  font-size: 11px;
  color: var(--slate);
}
.bgm-player__time {
  font-size: 12px;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.bgm-player__scrubber {
  height: 3px;
  background: var(--border);
  border-radius: 2px;
  cursor: pointer;
}
.bgm-player__fill {
  height: 100%;
  background: var(--white);
  border-radius: 2px;
  width: 0;
}

.bgm-mobile-row {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  cursor: pointer;
  width: 100%;
}
.bgm-mobile-row__icon {
  color: var(--slate);
  flex-shrink: 0;
}
.bgm-mobile-row__content {
  flex: 1;
  text-align: left;
}
.bgm-mobile-row__label {
  font-size: 13px;
  color: var(--white);
  display: block;
}
.bgm-mobile-row__sub {
  font-size: 11px;
  color: var(--slate);
}

.bgm-bottom-sheet {
  position: fixed;
  inset: 0;
  z-index: 300;
}
.bgm-bottom-sheet__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}
.bgm-bottom-sheet__panel {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--surface);
  border-radius: var(--r-lg) var(--r-lg) 0 0;
  padding: var(--sp-5);
  max-height: 70vh;
  overflow-y: auto;
}
.bgm-bottom-sheet__handle {
  width: 36px;
  height: 4px;
  background: var(--border);
  border-radius: 2px;
  margin: 0 auto var(--sp-4);
}
.bgm-bottom-sheet__title {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: var(--sp-4);
}

.bgm-sheet-item {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  width: 100%;
  background: none;
  border: none;
  cursor: pointer;
  border-bottom: 1px solid var(--border);
  text-align: left;
}
.bgm-sheet-item:last-child {
  border-bottom: none;
}
.bgm-sheet-item__icon {
  color: var(--slate);
  flex-shrink: 0;
}
.bgm-sheet-item__info {
  flex: 1;
}
.bgm-sheet-item__name {
  font-size: 13px;
  color: var(--white);
  display: block;
}
.bgm-sheet-item__meta {
  font-size: 11px;
  color: var(--slate);
}

.bgm-row {
  position: relative;
  scroll-snap-align: start;
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  cursor: pointer;
  transition: border-color 120ms;
}
.bgm-row.selected, .bgm-row:has(input[type=radio]:checked) {
  border-color: var(--border-sel);
}
.bgm-row__play {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--slate);
  background: transparent;
  cursor: pointer;
  transition: border-color 120ms, color 120ms;
}
.bgm-row__play:hover {
  border-color: var(--white);
  color: var(--white);
}
.bgm-row__info {
  flex: 1;
  min-width: 0;
}
.bgm-row__name {
  font-size: 13px;
  color: var(--white);
  letter-spacing: -0.16px;
}
.bgm-row__meta {
  font-size: 11px;
  color: var(--slate);
  margin-top: 2px;
}
.bgm-row__dur {
  font-size: 12px;
  color: var(--muted);
  flex-shrink: 0;
}
.bgm-row__actions {
  display: flex;
  gap: var(--sp-1);
  flex-shrink: 0;
}

.bgm-manage-list {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}

.bgm-manage-row {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-4);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
}
.bgm-manage-row__info {
  flex: 1;
  min-width: 0;
}
.bgm-manage-row__name {
  font-size: 14px;
  color: var(--white);
  letter-spacing: -0.16px;
}
.bgm-manage-row__meta {
  font-size: 12px;
  color: var(--slate);
  margin-top: 3px;
}
.bgm-manage-row__mood {
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  font-weight: 450;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 2px;
  border: 1px solid var(--border);
  color: var(--slate);
  margin-top: 4px;
}

.bgm-player {
  margin-top: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
}
.bgm-player__row {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin-bottom: var(--sp-2);
}
.bgm-player__btn {
  background: none;
  border: 1px solid var(--border);
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--white);
  flex-shrink: 0;
}
.bgm-player__info {
  flex: 1;
  min-width: 0;
}
.bgm-player__name {
  font-size: 13px;
  color: var(--white);
}
.bgm-player__meta {
  font-size: 11px;
  color: var(--slate);
}
.bgm-player__time {
  font-size: 12px;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.bgm-player__scrubber {
  height: 3px;
  background: var(--border);
  border-radius: 2px;
  cursor: pointer;
}
.bgm-player__fill {
  height: 100%;
  background: var(--white);
  border-radius: 2px;
  width: 0;
}

.bgm-mobile-row {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  cursor: pointer;
  width: 100%;
}
.bgm-mobile-row__icon {
  color: var(--slate);
  flex-shrink: 0;
}
.bgm-mobile-row__content {
  flex: 1;
  text-align: left;
}
.bgm-mobile-row__label {
  font-size: 13px;
  color: var(--white);
  display: block;
}
.bgm-mobile-row__sub {
  font-size: 11px;
  color: var(--slate);
}

.bgm-bottom-sheet {
  position: fixed;
  inset: 0;
  z-index: 300;
}
.bgm-bottom-sheet__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}
.bgm-bottom-sheet__panel {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--surface);
  border-radius: var(--r-lg) var(--r-lg) 0 0;
  padding: var(--sp-5);
  max-height: 70vh;
  overflow-y: auto;
}
.bgm-bottom-sheet__handle {
  width: 36px;
  height: 4px;
  background: var(--border);
  border-radius: 2px;
  margin: 0 auto var(--sp-4);
}
.bgm-bottom-sheet__title {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: var(--sp-4);
}

.bgm-sheet-item {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  width: 100%;
  background: none;
  border: none;
  cursor: pointer;
  border-bottom: 1px solid var(--border);
  text-align: left;
}
.bgm-sheet-item:last-child {
  border-bottom: none;
}
.bgm-sheet-item__icon {
  color: var(--slate);
  flex-shrink: 0;
}
.bgm-sheet-item__info {
  flex: 1;
}
.bgm-sheet-item__name {
  font-size: 13px;
  color: var(--white);
  display: block;
}
.bgm-sheet-item__meta {
  font-size: 11px;
  color: var(--slate);
}

.bgm-chips {
  display: flex;
  gap: var(--sp-2);
  overflow-x: auto;
  padding-bottom: var(--sp-2);
  margin-bottom: var(--sp-3);
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.bgm-chips::-webkit-scrollbar {
  display: none;
}

.bgm-chip {
  flex-shrink: 0;
  scroll-snap-align: start;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 450;
  letter-spacing: 0.1px;
  color: var(--slate);
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 100px;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color 150ms, color 150ms, background 150ms;
}
.bgm-chip:hover {
  border-color: var(--muted);
  color: var(--muted);
}
.bgm-chip:focus-visible {
  outline: 2px solid var(--border-foc);
  outline-offset: 2px;
}
.bgm-chip--active {
  border-color: var(--white);
  color: var(--white);
  background: rgba(255, 255, 255, 0.06);
}

.bgm-selected {
  margin-bottom: var(--sp-3);
  animation: bgm-selected-in 200ms ease both;
}
.bgm-selected--empty .bgm-selected__inner {
  border-style: dashed;
  border-color: var(--border);
  background: transparent;
}
.bgm-selected--empty .bgm-selected__icon {
  color: var(--charcoal);
}
.bgm-selected--empty .bgm-selected__name {
  color: var(--slate);
  font-weight: 400;
}
.bgm-selected--empty .bgm-selected__clear {
  display: none;
}

@keyframes bgm-selected-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.bgm-selected__inner {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-sel);
  border-radius: var(--r-md);
}

.bgm-selected__icon {
  color: var(--white);
  flex-shrink: 0;
}

.bgm-selected__name {
  flex: 1;
  font-size: 13px;
  font-weight: 450;
  color: var(--white);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bgm-selected__clear {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: var(--slate);
  cursor: pointer;
  border-radius: 50%;
  transition: color 150ms, background 150ms;
}
.bgm-selected__clear:hover {
  color: var(--white);
  background: rgba(255, 255, 255, 0.08);
}
.bgm-selected__clear:focus-visible {
  outline: 2px solid var(--border-foc);
  outline-offset: 2px;
}

.icon-pause {
  display: none;
}

.is-playing .icon-play {
  display: none;
}
.is-playing .icon-pause {
  display: inline-block;
}

.is-loading .icon-play,
.is-loading .icon-pause {
  display: none;
}
.is-loading .bgm-row__play {
  cursor: wait;
}
.is-loading .bgm-row__play::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border: 1.5px solid var(--border);
  border-top-color: var(--white);
  border-radius: 50%;
  animation: spin 600ms linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.bgm-list--scroll {
  overflow-y: auto;
  max-height: 280px;
}
.bgm-list--scroll.bgm-list--compact {
  max-height: 240px;
}

.bgm-row__info {
  cursor: pointer;
}

.bgm-row__play--muted,
.bgm-row__play--muted:hover {
  color: var(--charcoal);
}

.bgm-manage-row--preview {
  margin-top: var(--sp-3);
  cursor: pointer;
}

.project-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-3);
}
@media (min-width: 480px) {
  .project-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.project-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  overflow: hidden;
  cursor: pointer;
  transition: border-color 150ms;
  text-decoration: none;
  color: inherit;
  display: block;
}
.project-card:hover {
  border-color: var(--charcoal);
}
.project-card__thumb {
  width: 100%;
  aspect-ratio: 16/9;
  background: var(--black);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--charcoal);
  overflow: hidden;
}
.project-card__thumb img, .project-card__thumb video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.project-card__body {
  padding: var(--sp-3) var(--sp-4);
}
.project-card__name {
  font-size: 14px;
  color: var(--white);
  margin-bottom: var(--sp-1);
}
.project-card__meta {
  font-size: 12px;
  color: var(--slate);
}
.project-card__footer {
  padding: var(--sp-2) var(--sp-4) var(--sp-3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--border);
}

.video-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  background: var(--surface);
  border-radius: var(--r-md);
  min-height: 180px;
}

.badge {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 450;
  letter-spacing: 0.35px;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: var(--r-sm);
  border: 1px solid var(--border);
  color: var(--slate);
}
.badge--success {
  color: #5a9e6f;
  border-color: #2a4a36;
}
.badge--warning {
  color: #a0854a;
  border-color: #4a3a1a;
}
.badge--error {
  color: #9e5a5a;
  border-color: #4a2a2a;
}
.badge--info {
  color: var(--slate);
  border-color: var(--border-foc);
}
.badge--filter {
  padding: 5px 12px;
  font-size: 12px;
  cursor: pointer;
}

.toggle {
  width: 44px;
  height: 24px;
  border-radius: 12px;
  background: var(--border);
  border: none;
  cursor: pointer;
  position: relative;
  transition: background 200ms;
  flex-shrink: 0;
}
.toggle::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--white);
  transition: transform 200ms;
}
.toggle.on, .toggle:has(input:checked) {
  background: var(--border-foc);
}
.toggle.on::after, .toggle:has(input:checked)::after {
  transform: translateX(20px);
}

.video-wrap {
  border-radius: var(--r-md);
  overflow: hidden;
  background: var(--black);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.video-wrap--portrait {
  aspect-ratio: 9/16;
  width: 100%;
  max-height: 70vh;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .video-wrap--portrait {
    width: auto;
    max-width: 100%;
    height: calc(100svh - var(--nav-h) - var(--bottom-nav-h) - 11rem);
    max-height: none;
  }
}
.video-wrap--landscape {
  aspect-ratio: 16/9;
}
.video-wrap--square {
  aspect-ratio: 1/1;
}
.video-wrap--spaced {
  margin-bottom: var(--sp-5);
}

.section-label {
  font-size: 11px;
  font-weight: 450;
  letter-spacing: 0.35px;
  text-transform: uppercase;
  color: var(--slate);
  margin-bottom: var(--sp-3);
}
.section-label--sm {
  margin-bottom: var(--sp-2);
}
.section-label--lg {
  margin-bottom: var(--sp-4);
}

.optional-tag {
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: var(--charcoal);
}

.caption-block {
  border-left: 1px solid var(--border);
  padding-left: var(--sp-3);
  margin-bottom: var(--sp-3);
}

.caption-text {
  font-size: 14px;
  color: var(--white);
  line-height: 1.5;
  letter-spacing: -0.16px;
  white-space: pre-wrap;
}

.hashtag-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin-bottom: var(--sp-3);
}

.hashtag-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border: 1px solid var(--border);
  border-radius: var(--r-sm);
  font-size: 12px;
  color: var(--slate);
  white-space: nowrap;
}

.empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--sp-12) var(--sp-5);
  text-align: center;
  gap: var(--sp-3);
}
.empty__icon {
  color: var(--charcoal);
}

.toast {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  border-radius: var(--r-md);
  background: var(--surface);
  border: 1px solid var(--border);
  font-size: 13px;
  max-width: 360px;
}
.toast--success {
  border-color: #2a4a36;
}
.toast--error {
  border-color: #4a2a2a;
}
.toast--warning {
  border-color: #4a3a1a;
}
.toast__icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--slate);
  margin-top: 1px;
}
.toast__message {
  color: var(--white);
  line-height: 1.4;
  flex: 1;
}
.toast__close {
  flex-shrink: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--slate);
  padding: 0;
  display: flex;
  align-items: center;
  margin-left: auto;
  transition: color 150ms;
}
.toast__close:hover {
  color: var(--white);
}
.toast__progress {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 0 0 var(--r-md) var(--r-md);
  overflow: hidden;
}
.toast__progress-bar {
  height: 100%;
  width: 100%;
  background: rgba(255, 255, 255, 0.4);
}

#toast-container,
.toast-container {
  position: fixed;
  top: calc(var(--nav-h) + var(--sp-4));
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - var(--sp-10));
  max-width: 560px;
  z-index: 400;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--sp-2);
  pointer-events: none;
}
@media (min-width: 768px) {
  #toast-container,
  .toast-container {
    left: calc(50% + 110px);
  }
}
#toast-container .toast,
.toast-container .toast {
  pointer-events: auto;
  max-width: none;
  text-align: center;
  justify-content: center;
}

.confirm-dialog {
  position: fixed;
  inset: 0;
  z-index: 400;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--sp-5);
}
.confirm-dialog[hidden] {
  display: none;
}
.confirm-dialog__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
}
.confirm-dialog__panel {
  position: relative;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: var(--sp-6);
  width: 100%;
  max-width: 360px;
  z-index: 1;
}
.confirm-dialog__title {
  font-size: 16px;
  font-weight: 400;
  margin-bottom: var(--sp-2);
}
.confirm-dialog__body {
  font-size: 13px;
  color: var(--slate);
  margin-bottom: var(--sp-5);
}
.confirm-dialog__actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--sp-2);
}

.preview-modal {
  position: fixed;
  inset: 0;
  z-index: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--sp-5);
  background: rgba(0, 0, 0, 0.9);
}
.preview-modal[hidden] {
  display: none;
}
.preview-modal__close {
  position: absolute;
  top: var(--sp-4);
  right: var(--sp-4);
  background: rgba(255, 255, 255, 0.1);
  border: none;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--white);
}
.preview-modal__image {
  max-width: 90vw;
  max-height: 85vh;
  object-fit: contain;
}
.preview-modal .player {
  width: min(90vw, 47.8125vh);
  height: auto;
  background: transparent;
}

.vjs-svg-icon {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  fill: currentColor;
  height: 1.8em;
  width: 1.8em;
}

.vjs-svg-icon:before {
  content: none !important;
}

.vjs-svg-icon:hover,
.vjs-control:focus .vjs-svg-icon {
  filter: drop-shadow(0 0 0.25em #fff);
}

.vjs-modal-dialog .vjs-modal-dialog-content, .video-js .vjs-modal-dialog, .vjs-button > .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.vjs-button > .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {
  text-align: center;
}

@font-face {
  font-family: VideoJS;
  src: url(data:application/font-woff;charset=utf-8;base64,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) format("woff");
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-play, .video-js .vjs-play-control .vjs-icon-placeholder, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {
  content: "\f101";
}

.vjs-icon-play-circle {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-play-circle:before {
  content: "\f102";
}

.vjs-icon-pause, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-pause:before, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before {
  content: "\f103";
}

.vjs-icon-volume-mute, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-volume-mute:before, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before {
  content: "\f104";
}

.vjs-icon-volume-low, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-volume-low:before, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before {
  content: "\f105";
}

.vjs-icon-volume-mid, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-volume-mid:before, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before {
  content: "\f106";
}

.vjs-icon-volume-high, .video-js .vjs-mute-control .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-volume-high:before, .video-js .vjs-mute-control .vjs-icon-placeholder:before {
  content: "\f107";
}

.vjs-icon-fullscreen-enter, .video-js .vjs-fullscreen-control .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-fullscreen-enter:before, .video-js .vjs-fullscreen-control .vjs-icon-placeholder:before {
  content: "\f108";
}

.vjs-icon-fullscreen-exit, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-fullscreen-exit:before, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before {
  content: "\f109";
}

.vjs-icon-spinner {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-spinner:before {
  content: "\f10a";
}

.vjs-icon-subtitles, .video-js .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js .vjs-subtitles-button .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-subtitles:before, .video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js .vjs-subtitles-button .vjs-icon-placeholder:before {
  content: "\f10b";
}

.vjs-icon-captions, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js .vjs-captions-button .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-captions:before, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js .vjs-captions-button .vjs-icon-placeholder:before {
  content: "\f10c";
}

.vjs-icon-hd {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-hd:before {
  content: "\f10d";
}

.vjs-icon-chapters, .video-js .vjs-chapters-button .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-chapters:before, .video-js .vjs-chapters-button .vjs-icon-placeholder:before {
  content: "\f10e";
}

.vjs-icon-downloading {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-downloading:before {
  content: "\f10f";
}

.vjs-icon-file-download {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-file-download:before {
  content: "\f110";
}

.vjs-icon-file-download-done {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-file-download-done:before {
  content: "\f111";
}

.vjs-icon-file-download-off {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-file-download-off:before {
  content: "\f112";
}

.vjs-icon-share {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-share:before {
  content: "\f113";
}

.vjs-icon-cog {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-cog:before {
  content: "\f114";
}

.vjs-icon-square {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-square:before {
  content: "\f115";
}

.vjs-icon-circle, .vjs-seek-to-live-control .vjs-icon-placeholder, .video-js .vjs-volume-level, .video-js .vjs-play-progress {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-circle:before, .vjs-seek-to-live-control .vjs-icon-placeholder:before, .video-js .vjs-volume-level:before, .video-js .vjs-play-progress:before {
  content: "\f116";
}

.vjs-icon-circle-outline {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-circle-outline:before {
  content: "\f117";
}

.vjs-icon-circle-inner-circle {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-circle-inner-circle:before {
  content: "\f118";
}

.vjs-icon-cancel, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-cancel:before, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before {
  content: "\f119";
}

.vjs-icon-repeat {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-repeat:before {
  content: "\f11a";
}

.vjs-icon-replay, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before {
  content: "\f11b";
}

.vjs-icon-replay-5, .video-js .vjs-skip-backward-5 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-replay-5:before, .video-js .vjs-skip-backward-5 .vjs-icon-placeholder:before {
  content: "\f11c";
}

.vjs-icon-replay-10, .video-js .vjs-skip-backward-10 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-replay-10:before, .video-js .vjs-skip-backward-10 .vjs-icon-placeholder:before {
  content: "\f11d";
}

.vjs-icon-replay-30, .video-js .vjs-skip-backward-30 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-replay-30:before, .video-js .vjs-skip-backward-30 .vjs-icon-placeholder:before {
  content: "\f11e";
}

.vjs-icon-forward-5, .video-js .vjs-skip-forward-5 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-forward-5:before, .video-js .vjs-skip-forward-5 .vjs-icon-placeholder:before {
  content: "\f11f";
}

.vjs-icon-forward-10, .video-js .vjs-skip-forward-10 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-forward-10:before, .video-js .vjs-skip-forward-10 .vjs-icon-placeholder:before {
  content: "\f120";
}

.vjs-icon-forward-30, .video-js .vjs-skip-forward-30 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-forward-30:before, .video-js .vjs-skip-forward-30 .vjs-icon-placeholder:before {
  content: "\f121";
}

.vjs-icon-audio, .video-js .vjs-audio-button .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-audio:before, .video-js .vjs-audio-button .vjs-icon-placeholder:before {
  content: "\f122";
}

.vjs-icon-next-item {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-next-item:before {
  content: "\f123";
}

.vjs-icon-previous-item {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-previous-item:before {
  content: "\f124";
}

.vjs-icon-shuffle {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-shuffle:before {
  content: "\f125";
}

.vjs-icon-cast {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-cast:before {
  content: "\f126";
}

.vjs-icon-picture-in-picture-enter, .video-js .vjs-picture-in-picture-control .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-picture-in-picture-enter:before, .video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before {
  content: "\f127";
}

.vjs-icon-picture-in-picture-exit, .video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-picture-in-picture-exit:before, .video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before {
  content: "\f128";
}

.vjs-icon-facebook {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-facebook:before {
  content: "\f129";
}

.vjs-icon-linkedin {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-linkedin:before {
  content: "\f12a";
}

.vjs-icon-twitter {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-twitter:before {
  content: "\f12b";
}

.vjs-icon-tumblr {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-tumblr:before {
  content: "\f12c";
}

.vjs-icon-pinterest {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-pinterest:before {
  content: "\f12d";
}

.vjs-icon-audio-description, .video-js .vjs-descriptions-button .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}

.vjs-icon-audio-description:before, .video-js .vjs-descriptions-button .vjs-icon-placeholder:before {
  content: "\f12e";
}

.video-js {
  display: inline-block;
  vertical-align: top;
  box-sizing: border-box;
  color: #fff;
  background-color: #000;
  position: relative;
  padding: 0;
  font-size: 10px;
  line-height: 1;
  font-weight: normal;
  font-style: normal;
  font-family: Arial, Helvetica, sans-serif;
  word-break: initial;
}

.video-js:-moz-full-screen {
  position: absolute;
}

.video-js:-webkit-full-screen {
  width: 100% !important;
  height: 100% !important;
}

.video-js[tabindex="-1"] {
  outline: none;
}

.video-js *,
.video-js *:before,
.video-js *:after {
  box-sizing: inherit;
}

.video-js ul {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  list-style-position: outside;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  margin-bottom: 0;
}

.video-js.vjs-fluid,
.video-js.vjs-16-9,
.video-js.vjs-4-3,
.video-js.vjs-9-16,
.video-js.vjs-1-1 {
  width: 100%;
  max-width: 100%;
}

.video-js.vjs-fluid:not(.vjs-audio-only-mode),
.video-js.vjs-16-9:not(.vjs-audio-only-mode),
.video-js.vjs-4-3:not(.vjs-audio-only-mode),
.video-js.vjs-9-16:not(.vjs-audio-only-mode),
.video-js.vjs-1-1:not(.vjs-audio-only-mode) {
  height: 0;
}

.video-js.vjs-16-9:not(.vjs-audio-only-mode) {
  padding-top: 56.25%;
}

.video-js.vjs-4-3:not(.vjs-audio-only-mode) {
  padding-top: 75%;
}

.video-js.vjs-9-16:not(.vjs-audio-only-mode) {
  padding-top: 177.7777777778%;
}

.video-js.vjs-1-1:not(.vjs-audio-only-mode) {
  padding-top: 100%;
}

.video-js.vjs-fill:not(.vjs-audio-only-mode) {
  width: 100%;
  height: 100%;
}

.video-js .vjs-tech {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.video-js.vjs-audio-only-mode .vjs-tech {
  display: none;
}

body.vjs-full-window,
body.vjs-pip-window {
  padding: 0;
  margin: 0;
  height: 100%;
}

.vjs-full-window .video-js.vjs-fullscreen,
body.vjs-pip-window .video-js {
  position: fixed;
  overflow: hidden;
  z-index: 1000;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
}

.video-js.vjs-fullscreen:not(.vjs-ios-native-fs),
body.vjs-pip-window .video-js {
  width: 100% !important;
  height: 100% !important;
  padding-top: 0 !important;
  display: block;
}

.video-js.vjs-fullscreen.vjs-user-inactive {
  cursor: none;
}

.vjs-pip-container .vjs-pip-text {
  position: absolute;
  bottom: 10%;
  font-size: 2em;
  background-color: rgba(0, 0, 0, 0.7);
  padding: 0.5em;
  text-align: center;
  width: 100%;
}

.vjs-layout-tiny.vjs-pip-container .vjs-pip-text,
.vjs-layout-x-small.vjs-pip-container .vjs-pip-text,
.vjs-layout-small.vjs-pip-container .vjs-pip-text {
  bottom: 0;
  font-size: 1.4em;
}

.vjs-hidden {
  display: none !important;
}

.vjs-disabled {
  opacity: 0.5;
  cursor: default;
}

.video-js .vjs-offscreen {
  height: 1px;
  left: -9999px;
  position: absolute;
  top: 0;
  width: 1px;
}

.vjs-lock-showing {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.vjs-no-js {
  padding: 20px;
  color: #fff;
  background-color: #000;
  font-size: 18px;
  font-family: Arial, Helvetica, sans-serif;
  text-align: center;
  width: 300px;
  height: 150px;
  margin: 0px auto;
}

.vjs-no-js a,
.vjs-no-js a:visited {
  color: #66A8CC;
}

.video-js .vjs-big-play-button {
  font-size: 3em;
  line-height: 1.5em;
  height: 1.63332em;
  width: 3em;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  padding: 0;
  margin-top: -0.81666em;
  margin-left: -1.5em;
  cursor: pointer;
  opacity: 1;
  border: 0.06666em solid #fff;
  background-color: #2B333F;
  background-color: rgba(43, 51, 63, 0.7);
  border-radius: 0.3em;
  transition: all 0.4s;
}

.vjs-big-play-button .vjs-svg-icon {
  width: 1em;
  height: 1em;
  position: absolute;
  top: 50%;
  left: 50%;
  line-height: 1;
  transform: translate(-50%, -50%);
}

.video-js:hover .vjs-big-play-button,
.video-js .vjs-big-play-button:focus {
  border-color: #fff;
  background-color: rgb(114.9141509434, 132.7028301887, 159.3858490566);
  background-color: rgba(114.9141509434, 132.7028301887, 159.3858490566, 0.5);
  transition: all 0s;
}

.vjs-controls-disabled .vjs-big-play-button,
.vjs-has-started .vjs-big-play-button,
.vjs-using-native-controls .vjs-big-play-button,
.vjs-error .vjs-big-play-button {
  display: none;
}

.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause:not(.vjs-seeking, .vjs-scrubbing, .vjs-error) .vjs-big-play-button {
  display: block;
}

.video-js button {
  background: none;
  border: none;
  color: inherit;
  display: inline-block;
  font-size: inherit;
  line-height: inherit;
  text-transform: none;
  text-decoration: none;
  transition: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.video-js.vjs-spatial-navigation-enabled .vjs-button:focus {
  outline: 0.0625em solid white;
  box-shadow: none;
}

.vjs-control .vjs-button {
  width: 100%;
  height: 100%;
}

.video-js .vjs-control.vjs-close-button {
  cursor: pointer;
  height: 3em;
  position: absolute;
  right: 0;
  top: 0.5em;
  z-index: 2;
}

.video-js .vjs-modal-dialog {
  background: rgba(0, 0, 0, 0.8);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 0));
  overflow: auto;
}

.video-js .vjs-modal-dialog > * {
  box-sizing: border-box;
}

.vjs-modal-dialog .vjs-modal-dialog-content {
  font-size: 1.2em;
  line-height: 1.5;
  padding: 20px 24px;
  z-index: 1;
}

.vjs-menu-button {
  cursor: pointer;
}

.vjs-menu-button.vjs-disabled {
  cursor: default;
}

.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu {
  display: none;
}

.vjs-menu .vjs-menu-content {
  display: block;
  padding: 0;
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  overflow: auto;
}

.vjs-menu .vjs-menu-content > * {
  box-sizing: border-box;
}

.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu {
  display: none;
}

.vjs-menu li {
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0.2em 0;
  line-height: 1.4em;
  font-size: 1.2em;
  text-align: center;
  text-transform: lowercase;
}

.vjs-menu li.vjs-menu-item:focus,
.vjs-menu li.vjs-menu-item:hover,
.js-focus-visible .vjs-menu li.vjs-menu-item:hover {
  background-color: rgb(114.9141509434, 132.7028301887, 159.3858490566);
  background-color: rgba(114.9141509434, 132.7028301887, 159.3858490566, 0.5);
}

.vjs-menu li.vjs-selected,
.vjs-menu li.vjs-selected:focus,
.vjs-menu li.vjs-selected:hover,
.js-focus-visible .vjs-menu li.vjs-selected:hover {
  background-color: #fff;
  color: #2B333F;
}

.vjs-menu li.vjs-selected .vjs-svg-icon,
.vjs-menu li.vjs-selected:focus .vjs-svg-icon,
.vjs-menu li.vjs-selected:hover .vjs-svg-icon,
.js-focus-visible .vjs-menu li.vjs-selected:hover .vjs-svg-icon {
  fill: #000000;
}

.video-js .vjs-menu *:not(.vjs-selected):focus:not(:focus-visible),
.js-focus-visible .vjs-menu *:not(.vjs-selected):focus:not(.focus-visible) {
  background: none;
}

.vjs-menu li.vjs-menu-title {
  text-align: center;
  text-transform: uppercase;
  font-size: 1em;
  line-height: 2em;
  padding: 0;
  margin: 0 0 0.3em 0;
  font-weight: bold;
  cursor: default;
}

.vjs-menu-button-popup .vjs-menu {
  display: none;
  position: absolute;
  bottom: 0;
  width: 10em;
  left: -3em;
  height: 0em;
  margin-bottom: 1.5em;
  border-top-color: rgba(43, 51, 63, 0.7);
}

.vjs-pip-window .vjs-menu-button-popup .vjs-menu {
  left: unset;
  right: 1em;
}

.vjs-menu-button-popup .vjs-menu .vjs-menu-content {
  background-color: #2B333F;
  background-color: rgba(43, 51, 63, 0.7);
  position: absolute;
  width: 100%;
  bottom: 1.5em;
  max-height: 15em;
}

.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,
.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
  max-height: 5em;
}

.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
  max-height: 10em;
}

.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
  max-height: 14em;
}

.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,
.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,
.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
  max-height: 25em;
}

.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu,
.vjs-menu-button-popup .vjs-menu.vjs-lock-showing {
  display: block;
}

.video-js .vjs-menu-button-inline {
  transition: all 0.4s;
  overflow: hidden;
}

.video-js .vjs-menu-button-inline:before {
  width: 2.222222222em;
}

.video-js .vjs-menu-button-inline:hover,
.video-js .vjs-menu-button-inline:focus,
.video-js .vjs-menu-button-inline.vjs-slider-active {
  width: 12em;
}

.vjs-menu-button-inline .vjs-menu {
  opacity: 0;
  height: 100%;
  width: auto;
  position: absolute;
  left: 4em;
  top: 0;
  padding: 0;
  margin: 0;
  transition: all 0.4s;
}

.vjs-menu-button-inline:hover .vjs-menu,
.vjs-menu-button-inline:focus .vjs-menu,
.vjs-menu-button-inline.vjs-slider-active .vjs-menu {
  display: block;
  opacity: 1;
}

.vjs-menu-button-inline .vjs-menu-content {
  width: auto;
  height: 100%;
  margin: 0;
  overflow: hidden;
}

.video-js .vjs-control-bar {
  display: none;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3em;
  background-color: #2B333F;
  background-color: rgba(43, 51, 63, 0.7);
}

.video-js.vjs-spatial-navigation-enabled .vjs-control-bar {
  gap: 1px;
}

.video-js:not(.vjs-controls-disabled, .vjs-using-native-controls, .vjs-error) .vjs-control-bar.vjs-lock-showing {
  display: flex !important;
}

.vjs-has-started .vjs-control-bar,
.vjs-audio-only-mode .vjs-control-bar {
  display: flex;
  visibility: visible;
  opacity: 1;
  transition: visibility 0.1s, opacity 0.1s;
}

.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {
  visibility: visible;
  opacity: 0;
  pointer-events: none;
  transition: visibility 1s, opacity 1s;
}

.vjs-controls-disabled .vjs-control-bar,
.vjs-using-native-controls .vjs-control-bar,
.vjs-error .vjs-control-bar {
  display: none !important;
}

.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar,
.vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.video-js .vjs-control {
  position: relative;
  text-align: center;
  margin: 0;
  padding: 0;
  height: 100%;
  width: 4em;
  flex: none;
}

.video-js .vjs-control.vjs-visible-text {
  width: auto;
  padding-left: 1em;
  padding-right: 1em;
}

.vjs-button > .vjs-icon-placeholder:before {
  font-size: 1.8em;
  line-height: 1.67;
}

.vjs-button > .vjs-icon-placeholder {
  display: block;
}

.vjs-button > .vjs-svg-icon {
  display: inline-block;
}

.video-js .vjs-control:focus:before,
.video-js .vjs-control:hover:before,
.video-js .vjs-control:focus {
  text-shadow: 0em 0em 1em white;
}

.video-js *:not(.vjs-visible-text) > .vjs-control-text {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.video-js .vjs-custom-control-spacer {
  display: none;
}

.video-js .vjs-progress-control {
  cursor: pointer;
  flex: auto;
  display: flex;
  align-items: center;
  min-width: 4em;
  touch-action: none;
}

.video-js .vjs-progress-control.disabled {
  cursor: default;
}

.vjs-live .vjs-progress-control {
  display: none;
}

.vjs-liveui .vjs-progress-control {
  display: flex;
  align-items: center;
}

.video-js .vjs-progress-holder {
  flex: auto;
  transition: all 0.2s;
  height: 0.3em;
}

.video-js .vjs-progress-control .vjs-progress-holder {
  margin: 0 10px;
}

.video-js .vjs-progress-control:hover .vjs-progress-holder,
.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-progress-holder {
  font-size: 1.6666666667em;
}

.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled {
  font-size: 1em;
}

.video-js .vjs-progress-holder .vjs-play-progress,
.video-js .vjs-progress-holder .vjs-load-progress,
.video-js .vjs-progress-holder .vjs-load-progress div {
  position: absolute;
  display: block;
  height: 100%;
  margin: 0;
  padding: 0;
  width: 0;
}

.video-js .vjs-play-progress {
  background-color: #fff;
}

.video-js .vjs-play-progress:before {
  font-size: 0.9em;
  position: absolute;
  right: -0.5em;
  line-height: 0.35em;
  z-index: 1;
}

.vjs-svg-icons-enabled .vjs-play-progress:before {
  content: none !important;
}

.vjs-play-progress .vjs-svg-icon {
  position: absolute;
  top: -0.35em;
  right: -0.4em;
  width: 0.9em;
  height: 0.9em;
  pointer-events: none;
  line-height: 0.15em;
  z-index: 1;
}

.video-js .vjs-load-progress {
  background: rgba(114.9141509434, 132.7028301887, 159.3858490566, 0.5);
}

.video-js .vjs-load-progress div {
  background: rgba(114.9141509434, 132.7028301887, 159.3858490566, 0.75);
}

.video-js .vjs-time-tooltip {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 0.3em;
  color: #000;
  float: right;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
  padding: 6px 8px 8px 8px;
  pointer-events: none;
  position: absolute;
  top: -3.4em;
  visibility: hidden;
  z-index: 1;
}

.video-js .vjs-progress-holder:focus .vjs-time-tooltip {
  display: none;
}

.video-js .vjs-progress-control:hover .vjs-time-tooltip,
.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip,
.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-time-tooltip {
  display: block;
  font-size: 0.6em;
  visibility: visible;
}

.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip {
  font-size: 1em;
}

.video-js .vjs-progress-control .vjs-mouse-display {
  display: none;
  position: absolute;
  width: 1px;
  height: 100%;
  background-color: #000;
  z-index: 1;
}

.video-js .vjs-progress-control:hover .vjs-mouse-display {
  display: block;
}

.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-mouse-display {
  display: block;
}

.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display,
.video-js.vjs-touch-enabled:not(.vjs-scrubbing) .vjs-progress-control .vjs-mouse-display {
  visibility: hidden;
  opacity: 0;
  transition: visibility 1s, opacity 1s;
}

.vjs-mouse-display .vjs-time-tooltip {
  color: #fff;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.8);
}

.video-js .vjs-slider {
  position: relative;
  cursor: pointer;
  padding: 0;
  margin: 0 0.45em 0 0.45em;
  /* iOS Safari */
  -webkit-touch-callout: none;
  /* Safari, and Chrome 53 */
  -webkit-user-select: none;
  /* Non-prefixed version, currently supported by Chrome and Opera */
  -moz-user-select: none;
  user-select: none;
  background-color: rgb(114.9141509434, 132.7028301887, 159.3858490566);
  background-color: rgba(114.9141509434, 132.7028301887, 159.3858490566, 0.5);
}

.video-js .vjs-slider.disabled {
  cursor: default;
}

.video-js .vjs-slider:focus {
  text-shadow: 0em 0em 1em white;
  box-shadow: 0 0 1em #fff;
}

.video-js.vjs-spatial-navigation-enabled .vjs-slider:focus {
  outline: 0.0625em solid white;
}

.video-js .vjs-mute-control {
  cursor: pointer;
  flex: none;
}

.video-js .vjs-volume-control {
  cursor: pointer;
  margin-right: 1em;
  display: flex;
}

.video-js .vjs-volume-control.vjs-volume-horizontal {
  width: 5em;
}

.video-js .vjs-volume-panel .vjs-volume-control {
  visibility: visible;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin-left: -1px;
}

.video-js .vjs-volume-panel {
  transition: width 1s;
}

.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control, .video-js .vjs-volume-panel:active .vjs-volume-control, .video-js .vjs-volume-panel:focus .vjs-volume-control, .video-js .vjs-volume-panel .vjs-volume-control:active, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active {
  visibility: visible;
  opacity: 1;
  position: relative;
  transition: visibility 0.1s, opacity 0.1s, height 0.1s, width 0.1s, left 0s, top 0s;
}

.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal {
  width: 5em;
  height: 3em;
  margin-right: 0;
}

.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical {
  left: -3.5em;
  transition: left 0s;
}

.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active {
  width: 10em;
  transition: width 0.1s;
}

.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only {
  width: 4em;
}

.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical {
  height: 8em;
  width: 3em;
  left: -3000em;
  transition: visibility 1s, opacity 1s, height 1s 1s, width 1s 1s, left 1s 1s, top 1s 1s;
}

.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {
  transition: visibility 1s, opacity 1s, height 1s 1s, width 1s, left 1s 1s, top 1s 1s;
}

.video-js .vjs-volume-panel {
  display: flex;
}

.video-js .vjs-volume-bar {
  margin: 1.35em 0.45em;
}

.vjs-volume-bar.vjs-slider-horizontal {
  width: 5em;
  height: 0.3em;
}

.vjs-volume-bar.vjs-slider-vertical {
  width: 0.3em;
  height: 5em;
  margin: 1.35em auto;
}

.video-js .vjs-volume-level {
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #fff;
}

.video-js .vjs-volume-level:before {
  position: absolute;
  font-size: 0.9em;
  z-index: 1;
}

.vjs-slider-vertical .vjs-volume-level {
  width: 0.3em;
}

.vjs-slider-vertical .vjs-volume-level:before {
  top: -0.5em;
  left: -0.3em;
  z-index: 1;
}

.vjs-svg-icons-enabled .vjs-volume-level:before {
  content: none;
}

.vjs-volume-level .vjs-svg-icon {
  position: absolute;
  width: 0.9em;
  height: 0.9em;
  pointer-events: none;
  z-index: 1;
}

.vjs-slider-horizontal .vjs-volume-level {
  height: 0.3em;
}

.vjs-slider-horizontal .vjs-volume-level:before {
  line-height: 0.35em;
  right: -0.5em;
}

.vjs-slider-horizontal .vjs-volume-level .vjs-svg-icon {
  right: -0.3em;
  transform: translateY(-50%);
}

.vjs-slider-vertical .vjs-volume-level .vjs-svg-icon {
  top: -0.55em;
  transform: translateX(-50%);
}

.video-js .vjs-volume-panel.vjs-volume-panel-vertical {
  width: 4em;
}

.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level {
  height: 100%;
}

.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level {
  width: 100%;
}

.video-js .vjs-volume-vertical {
  width: 3em;
  height: 8em;
  bottom: 8em;
  background-color: #2B333F;
  background-color: rgba(43, 51, 63, 0.7);
}

.video-js .vjs-volume-horizontal .vjs-menu {
  left: -2em;
}

.video-js .vjs-volume-tooltip {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 0.3em;
  color: #000;
  float: right;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
  padding: 6px 8px 8px 8px;
  pointer-events: none;
  position: absolute;
  top: -3.4em;
  visibility: hidden;
  z-index: 1;
}

.video-js .vjs-volume-control:hover .vjs-volume-tooltip,
.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip {
  display: block;
  font-size: 1em;
  visibility: visible;
}

.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip,
.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip {
  left: 1em;
  top: -12px;
}

.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip {
  font-size: 1em;
}

.video-js .vjs-volume-control .vjs-mouse-display {
  display: none;
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #000;
  z-index: 1;
}

.video-js .vjs-volume-horizontal .vjs-mouse-display {
  width: 1px;
  height: 100%;
}

.video-js .vjs-volume-control:hover .vjs-mouse-display {
  display: block;
}

.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display {
  visibility: hidden;
  opacity: 0;
  transition: visibility 1s, opacity 1s;
}

.vjs-mouse-display .vjs-volume-tooltip {
  color: #fff;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.8);
}

.vjs-poster {
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
}

.vjs-has-started .vjs-poster,
.vjs-using-native-controls .vjs-poster {
  display: none;
}

.vjs-audio.vjs-has-started .vjs-poster,
.vjs-has-started.vjs-audio-poster-mode .vjs-poster,
.vjs-pip-container.vjs-has-started .vjs-poster {
  display: block;
}

.vjs-poster img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.video-js .vjs-live-control {
  display: flex;
  align-items: flex-start;
  flex: auto;
  font-size: 1em;
  line-height: 3em;
}

.video-js:not(.vjs-live) .vjs-live-control,
.video-js.vjs-liveui .vjs-live-control {
  display: none;
}

.video-js .vjs-seek-to-live-control {
  align-items: center;
  cursor: pointer;
  flex: none;
  display: inline-flex;
  height: 100%;
  padding-left: 0.5em;
  padding-right: 0.5em;
  font-size: 1em;
  line-height: 3em;
  width: auto;
  min-width: 4em;
}

.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,
.video-js:not(.vjs-live) .vjs-seek-to-live-control {
  display: none;
}

.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge {
  cursor: auto;
}

.vjs-seek-to-live-control .vjs-icon-placeholder {
  margin-right: 0.5em;
  color: #888;
}

.vjs-svg-icons-enabled .vjs-seek-to-live-control {
  line-height: 0;
}

.vjs-seek-to-live-control .vjs-svg-icon {
  width: 1em;
  height: 1em;
  pointer-events: none;
  fill: #888888;
}

.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder {
  color: red;
}

.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-svg-icon {
  fill: red;
}

.video-js .vjs-time-control {
  flex: none;
  font-size: 1em;
  line-height: 3em;
  min-width: 2em;
  width: auto;
  padding-left: 1em;
  padding-right: 1em;
}

.vjs-live .vjs-time-control,
.vjs-live .vjs-time-divider,
.video-js .vjs-current-time,
.video-js .vjs-duration {
  display: none;
}

.vjs-time-divider {
  display: none;
  line-height: 3em;
}

.vjs-normalise-time-controls:not(.vjs-live) .vjs-time-control {
  display: flex;
}

.video-js .vjs-play-control {
  cursor: pointer;
}

.video-js .vjs-play-control .vjs-icon-placeholder {
  flex: none;
}

.vjs-text-track-display {
  position: absolute;
  bottom: 3em;
  left: 0;
  right: 0;
  top: 0;
  pointer-events: none;
}

.vjs-error .vjs-text-track-display {
  display: none;
}

.video-js.vjs-controls-disabled .vjs-text-track-display,
.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display {
  bottom: 1em;
}

.video-js .vjs-text-track {
  font-size: 1.4em;
  text-align: center;
  margin-bottom: 0.1em;
}

.vjs-subtitles {
  color: #fff;
}

.vjs-captions {
  color: #fc6;
}

.vjs-tt-cue {
  display: block;
}

video::-webkit-media-text-track-display {
  transform: translateY(-3em);
}

.video-js.vjs-controls-disabled video::-webkit-media-text-track-display,
.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display {
  transform: translateY(-1.5em);
}

.video-js.vjs-force-center-align-cues .vjs-text-track-cue {
  text-align: center !important;
  width: 80% !important;
}

@supports not (inset: 10px) {
  .video-js .vjs-text-track-display > div {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}
.video-js .vjs-picture-in-picture-control {
  cursor: pointer;
  flex: none;
}

.video-js.vjs-audio-only-mode .vjs-picture-in-picture-control,
.vjs-pip-window .vjs-picture-in-picture-control {
  display: none;
}

.video-js .vjs-fullscreen-control {
  cursor: pointer;
  flex: none;
}

.video-js.vjs-audio-only-mode .vjs-fullscreen-control,
.vjs-pip-window .vjs-fullscreen-control {
  display: none;
}

.vjs-playback-rate > .vjs-menu-button,
.vjs-playback-rate .vjs-playback-rate-value {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.vjs-playback-rate .vjs-playback-rate-value {
  pointer-events: none;
  font-size: 1.5em;
  line-height: 2;
  text-align: center;
}

.vjs-playback-rate .vjs-menu {
  width: 4em;
  left: 0em;
}

.vjs-error .vjs-error-display .vjs-modal-dialog-content {
  font-size: 1.4em;
  text-align: center;
}

.vjs-loading-spinner {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.85;
  text-align: left;
  border: 0.6em solid rgba(43, 51, 63, 0.7);
  box-sizing: border-box;
  background-clip: padding-box;
  width: 5em;
  height: 5em;
  border-radius: 50%;
  visibility: hidden;
}

.vjs-seeking .vjs-loading-spinner,
.vjs-waiting .vjs-loading-spinner {
  display: flex;
  justify-content: center;
  align-items: center;
  animation: vjs-spinner-show 0s linear 0.3s forwards;
}

.vjs-error .vjs-loading-spinner {
  display: none;
}

.vjs-loading-spinner:before,
.vjs-loading-spinner:after {
  content: "";
  position: absolute;
  box-sizing: inherit;
  width: inherit;
  height: inherit;
  border-radius: inherit;
  opacity: 1;
  border: inherit;
  border-color: transparent;
  border-top-color: white;
}

.vjs-seeking .vjs-loading-spinner:before,
.vjs-seeking .vjs-loading-spinner:after,
.vjs-waiting .vjs-loading-spinner:before,
.vjs-waiting .vjs-loading-spinner:after {
  animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite, vjs-spinner-fade 1.1s linear infinite;
}

.vjs-seeking .vjs-loading-spinner:before,
.vjs-waiting .vjs-loading-spinner:before {
  border-top-color: rgb(255, 255, 255);
}

.vjs-seeking .vjs-loading-spinner:after,
.vjs-waiting .vjs-loading-spinner:after {
  border-top-color: rgb(255, 255, 255);
  animation-delay: 0.44s;
}

@keyframes vjs-spinner-show {
  to {
    visibility: visible;
  }
}
@keyframes vjs-spinner-spin {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes vjs-spinner-fade {
  0% {
    border-top-color: rgb(114.9141509434, 132.7028301887, 159.3858490566);
  }
  20% {
    border-top-color: rgb(114.9141509434, 132.7028301887, 159.3858490566);
  }
  35% {
    border-top-color: white;
  }
  60% {
    border-top-color: rgb(114.9141509434, 132.7028301887, 159.3858490566);
  }
  100% {
    border-top-color: rgb(114.9141509434, 132.7028301887, 159.3858490566);
  }
}
.video-js.vjs-audio-only-mode .vjs-captions-button {
  display: none;
}

.vjs-chapters-button .vjs-menu ul {
  width: 24em;
}

.video-js.vjs-audio-only-mode .vjs-descriptions-button {
  display: none;
}

.vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-svg-icon {
  width: 1.5em;
  height: 1.5em;
}

.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder {
  vertical-align: middle;
  display: inline-block;
  margin-bottom: -0.1em;
}

.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {
  font-family: VideoJS;
  content: "\f10c";
  font-size: 1.5em;
  line-height: inherit;
}

.video-js.vjs-audio-only-mode .vjs-subs-caps-button {
  display: none;
}

.video-js .vjs-audio-button + .vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder,
.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder {
  vertical-align: middle;
  display: inline-block;
  margin-bottom: -0.1em;
}

.video-js .vjs-audio-button + .vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before,
.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {
  font-family: VideoJS;
  content: " \f12e";
  font-size: 1.5em;
  line-height: inherit;
}

.video-js.vjs-layout-small .vjs-current-time,
.video-js.vjs-layout-small .vjs-time-divider,
.video-js.vjs-layout-small .vjs-duration,
.video-js.vjs-layout-small .vjs-remaining-time,
.video-js.vjs-layout-small .vjs-playback-rate,
.video-js.vjs-layout-small .vjs-volume-control, .video-js.vjs-layout-x-small .vjs-current-time,
.video-js.vjs-layout-x-small .vjs-time-divider,
.video-js.vjs-layout-x-small .vjs-duration,
.video-js.vjs-layout-x-small .vjs-remaining-time,
.video-js.vjs-layout-x-small .vjs-playback-rate,
.video-js.vjs-layout-x-small .vjs-volume-control, .video-js.vjs-layout-tiny .vjs-current-time,
.video-js.vjs-layout-tiny .vjs-time-divider,
.video-js.vjs-layout-tiny .vjs-duration,
.video-js.vjs-layout-tiny .vjs-remaining-time,
.video-js.vjs-layout-tiny .vjs-playback-rate,
.video-js.vjs-layout-tiny .vjs-volume-control {
  display: none;
}

.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover {
  width: auto;
  width: initial;
}

.video-js.vjs-layout-x-small .vjs-progress-control, .video-js.vjs-layout-tiny .vjs-progress-control {
  display: none;
}

.video-js.vjs-layout-x-small .vjs-custom-control-spacer {
  flex: auto;
  display: block;
}

.vjs-modal-dialog.vjs-text-track-settings {
  background-color: #2B333F;
  background-color: rgba(43, 51, 63, 0.75);
  color: #fff;
  height: 70%;
}

.vjs-spatial-navigation-enabled .vjs-modal-dialog.vjs-text-track-settings {
  height: 80%;
}

.vjs-error .vjs-text-track-settings {
  display: none;
}

.vjs-text-track-settings .vjs-modal-dialog-content {
  display: table;
}

.vjs-text-track-settings .vjs-track-settings-colors,
.vjs-text-track-settings .vjs-track-settings-font,
.vjs-text-track-settings .vjs-track-settings-controls {
  display: table-cell;
}

.vjs-text-track-settings .vjs-track-settings-controls {
  text-align: right;
  vertical-align: bottom;
}

@supports (display: grid) {
  .vjs-text-track-settings .vjs-modal-dialog-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    padding: 20px 24px 0px 24px;
  }
  .vjs-track-settings-controls .vjs-default-button {
    margin-bottom: 20px;
  }
  .vjs-text-track-settings .vjs-track-settings-controls {
    grid-column: 1/-1;
  }
  .vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,
  .vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,
  .vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content {
    grid-template-columns: 1fr;
  }
}
.vjs-text-track-settings select {
  font-size: inherit;
}

.vjs-track-setting > select {
  margin-right: 1em;
  margin-bottom: 0.5em;
}

.vjs-text-track-settings fieldset {
  margin: 10px;
  border: none;
}

.vjs-text-track-settings fieldset span {
  display: inline-block;
  padding: 0 0.6em 0.8em;
}

.vjs-text-track-settings fieldset span > select {
  max-width: 7.3em;
}

.vjs-text-track-settings legend {
  color: #fff;
  font-weight: bold;
  font-size: 1.2em;
}

.vjs-text-track-settings .vjs-label {
  margin: 0 0.5em 0.5em 0;
}

.vjs-track-settings-controls button:focus,
.vjs-track-settings-controls button:active {
  outline-style: solid;
  outline-width: medium;
  background-image: linear-gradient(0deg, #fff 88%, rgb(114.9141509434, 132.7028301887, 159.3858490566) 100%);
}

.vjs-track-settings-controls button:hover {
  color: rgba(43, 51, 63, 0.75);
}

.vjs-track-settings-controls button {
  background-color: #fff;
  background-image: linear-gradient(-180deg, #fff 88%, rgb(114.9141509434, 132.7028301887, 159.3858490566) 100%);
  color: #2B333F;
  cursor: pointer;
  border-radius: 2px;
}

.vjs-track-settings-controls .vjs-default-button {
  margin-right: 1em;
}

.vjs-title-bar {
  background: rgba(0, 0, 0, 0.9);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.7) 60%, rgba(0, 0, 0, 0) 100%);
  font-size: 1.2em;
  line-height: 1.5;
  transition: opacity 0.1s;
  padding: 0.666em 1.333em 4em;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
}

.vjs-error .vjs-title-bar {
  display: none;
}

.vjs-title-bar-title,
.vjs-title-bar-description {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vjs-title-bar-title {
  font-weight: bold;
  margin-bottom: 0.333em;
}

.vjs-playing.vjs-user-inactive .vjs-title-bar {
  opacity: 0;
  transition: opacity 1s;
}

.video-js .vjs-skip-forward-5 {
  cursor: pointer;
}

.video-js .vjs-skip-forward-10 {
  cursor: pointer;
}

.video-js .vjs-skip-forward-30 {
  cursor: pointer;
}

.video-js .vjs-skip-backward-5 {
  cursor: pointer;
}

.video-js .vjs-skip-backward-10 {
  cursor: pointer;
}

.video-js .vjs-skip-backward-30 {
  cursor: pointer;
}

.video-js .vjs-transient-button {
  position: absolute;
  height: 3em;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(50, 50, 50, 0.5);
  cursor: pointer;
  opacity: 1;
  transition: opacity 1s;
}

.video-js:not(.vjs-has-started) .vjs-transient-button {
  display: none;
}

.video-js.not-hover .vjs-transient-button:not(.force-display),
.video-js.vjs-user-inactive .vjs-transient-button:not(.force-display) {
  opacity: 0;
}

.video-js .vjs-transient-button span {
  padding: 0 0.5em;
}

.video-js .vjs-transient-button.vjs-left {
  left: 1em;
}

.video-js .vjs-transient-button.vjs-right {
  right: 1em;
}

.video-js .vjs-transient-button.vjs-top {
  top: 1em;
}

.video-js .vjs-transient-button.vjs-near-top {
  top: 4em;
}

.video-js .vjs-transient-button.vjs-bottom {
  bottom: 4em;
}

.video-js .vjs-transient-button:hover {
  background-color: rgba(50, 50, 50, 0.9);
}

@media print {
  .video-js > *:not(.vjs-tech):not(.vjs-poster) {
    visibility: hidden;
  }
}
.vjs-resize-manager {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  z-index: -1000;
}

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

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

body:has(.render-screen) {
  overflow: hidden;
}

.render-screen {
  height: calc(100vh - var(--nav-h) - var(--bottom-nav-h));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--sp-8) var(--sp-5);
  text-align: center;
  overflow: hidden;
}
@media (min-width: 768px) {
  .render-screen {
    height: calc(100vh - var(--nav-h));
  }
}

.render-step-track {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin-bottom: var(--sp-10);
}

.render-step {
  font-size: 11px;
  font-weight: 450;
  letter-spacing: 0.35px;
  text-transform: uppercase;
  color: var(--border);
  transition: color 300ms;
}
.render-step.active {
  color: var(--white);
}
.render-step.done {
  color: var(--border-foc);
}

.render-sep {
  color: var(--border);
  font-size: 11px;
}

.render-label {
  font-size: clamp(22px, 6vw, 36px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.9px;
  margin-bottom: var(--sp-2);
}

.render-sub {
  font-size: 13px;
  color: var(--slate);
  letter-spacing: -0.16px;
  margin-bottom: var(--sp-3);
}

.render-tips {
  font-size: 12px;
  color: var(--charcoal);
  letter-spacing: -0.1px;
  max-width: 360px;
  margin-bottom: var(--sp-8);
  transition: opacity 300ms ease;
}

.render-actions {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  width: 100%;
  max-width: 280px;
  opacity: 0;
  transition: opacity 300ms;
  pointer-events: none;
}
.render-actions.visible {
  opacity: 1;
  pointer-events: auto;
}

@keyframes cpulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.35;
  }
}
.pulsing {
  animation: cpulse 2.4s ease-in-out infinite;
}

.output-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-2);
  margin-bottom: var(--sp-6);
}

.output-section {
  margin-bottom: var(--sp-6);
}

.output-meta {
  margin-bottom: var(--sp-2);
}

.danger-zone {
  margin-top: var(--sp-2);
  padding-bottom: var(--sp-6);
}

.adjust-row {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) 0;
  border-bottom: 1px solid var(--border);
}
.adjust-row:last-child {
  border-bottom: none;
}
.adjust-row__label {
  font-size: 13px;
  color: var(--slate);
  flex: 0 0 72px;
}

.meta-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--sp-2) 0;
  border-bottom: 1px solid var(--border);
  font-size: 13px;
}
.meta-row:last-child {
  border-bottom: none;
}
.meta-row__key {
  color: var(--slate);
}

.show-layout {
  display: flex;
  flex-direction: column;
  gap: var(--sp-6);
  padding: var(--sp-6) var(--sp-5);
  max-width: 960px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .show-layout {
    flex-direction: row;
    align-items: flex-start;
    padding: var(--sp-8);
  }
}

@media (min-width: 768px) {
  .video-block {
    flex: 1;
    min-width: 0;
  }
}

.video-preview {
  width: 100%;
  aspect-ratio: 16/9;
  background: var(--surface);
  border-radius: var(--r-md);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.video-preview--rendering {
  background: var(--surface);
}
.video-preview__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-8);
}
.video-preview__label {
  font-size: 13px;
  color: var(--slate);
}

.player {
  width: 100%;
  height: 100%;
  background: var(--black);
}

.video-js {
  width: 100%;
  height: 100%;
  font-family: var(--font);
  --vjs-theme-primary: var(--white);
}
.video-js .vjs-control-bar {
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.85));
}
.video-js .vjs-play-progress {
  background: var(--white);
}
.video-js .vjs-slider-bar {
  background: var(--white);
}

@media (min-width: 768px) {
  .show-sidebar {
    width: 280px;
    flex-shrink: 0;
    position: sticky;
    top: calc(var(--nav-h) + var(--sp-4));
  }
}
.show-sidebar__section {
  padding: var(--sp-4);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  background: var(--surface);
  margin-bottom: var(--sp-3);
}

.render-panel {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}
.render-panel__step {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
  font-size: 13px;
}
.render-panel__step-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 1px;
}
.render-panel__step-icon--pending {
  color: var(--border);
}
.render-panel__step-icon--active {
  color: var(--white);
}
.render-panel__step-icon--completed {
  color: var(--border-foc);
}
.render-panel__step-icon--failed {
  color: #9e5a5a;
}
.render-panel__step-title {
  color: var(--white);
  margin-bottom: 2px;
}
.render-panel__step-detail {
  font-size: 12px;
  color: var(--slate);
}
.render-panel__step-bar {
  height: 2px;
  background: var(--border);
  border-radius: 1px;
  margin-top: var(--sp-2);
}
.render-panel__step-bar-fill {
  height: 100%;
  background: var(--border-foc);
  border-radius: 1px;
  transition: width 300ms;
}

.progress {
  width: 100%;
  max-width: 240px;
  height: 3px;
  background: var(--border);
  border-radius: 2px;
  overflow: hidden;
}
.progress__bar {
  height: 100%;
  background: var(--white);
  border-radius: 2px;
  transition: width 500ms;
}
.progress--indeterminate .progress__bar {
  width: 40% !important;
  animation: progress-slide 1.6s ease-in-out infinite;
}

@keyframes progress-slide {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(350%);
  }
}
.assets-used__label {
  font-size: 11px;
  font-weight: 450;
  letter-spacing: 0.35px;
  text-transform: uppercase;
  color: var(--slate);
  margin-bottom: var(--sp-2);
  margin-top: var(--sp-4);
}

.assets-used__row {
  display: flex;
  gap: var(--sp-2);
  flex-wrap: wrap;
}

.asset-thumb {
  position: relative;
  width: 64px;
  height: 64px;
  border-radius: var(--r-md);
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--border);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.asset-thumb--logo {
  background: var(--surface);
}
.asset-thumb__inner {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.asset-thumb img, .asset-thumb video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.asset-thumb__play-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.3);
}
.asset-thumb__tag {
  position: absolute;
  bottom: 3px;
  right: 3px;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 2px;
  padding: 1px 4px;
  font-size: 8px;
  color: var(--white);
  letter-spacing: 0.3px;
  text-transform: uppercase;
}
