/* Approved warm-violet cream-brick Taiwan; native breathing lights and dissolving objects. */
#vows.vow-world .vows-heading { display: block; margin-bottom: 34px; }
#vows.vow-world .vows-heading .section-kicker { margin-bottom: 18px; }
#vows .vow-world-grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(28px, 3.2vw, 48px); }
#vows .vow-world-visual { position: relative; top: auto; margin: 0; width: auto; box-shadow: none; }
#vows .vow-world-stage { height: clamp(420px, 41vw, 610px); min-height: 0; background: #26224f; box-shadow: none; }
#vows .vow-world-fallback { background: #26224f; opacity: 1; }
#vows .vow-terrain { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
#vows .vow-world-stage::after { background: linear-gradient(180deg, rgb(21 15 49 / 27%), transparent 13% 84%, rgb(21 15 49 / 38%)); }
#vows[data-vow-ready="canvas"] .vow-world-canvas { opacity: 1; }
#vows .vow-world-stage-top, #vows .vow-world-stage-bottom { font-size: 14px; letter-spacing: .04em; }
#vows .vow-world-stage-top, #vows .vow-world-stage-bottom { color: #fff3d5; text-shadow: 0 1px 2px #251740, 0 0 6px #251740; }
#vows .vow-world-stage-bottom { right: 18px; left: 18px; }
#vows .vow-world-stage-bottom span:last-child { letter-spacing: .02em; }
#vows .vow-world-transport { border-bottom: 0; padding: 8px 0; min-height: 52px; gap: 12px; }
#vows .vow-world-play { font-size: 14px; min-height: 44px; padding: 8px 14px; }
#vows .vow-world-controls { gap: 0; border-bottom: 1px solid rgb(37 44 40 / 32%); }
#vows .vow-world-controls button { min-height: 52px; font-weight: 500; font-size: 16px; line-height: 1.6; padding: 12px 6px 10px; letter-spacing: 0; }
#vows .vow-world-controls button span { margin-right: 7px; font-size: 14px; }
#vows .vow-world-controls button.is-current { border-bottom-width: 3px; background: transparent; color: #51452d; }
#vows .vow-world-copy { min-width: 0; }
#vows .vow-world-chapter { min-height: 0; justify-content: flex-start; padding: 26px 0 28px; border-bottom: 0; scroll-margin-top: 100px; }
#vows .vow-world-chapter[hidden] { display: none; }
#vows .vow-world-chapter .vow-number { margin: 0 0 24px; font-size: 14px; }
#vows .vow-world-chapter h3 { font-size: clamp(29px, 2.7vw, 39px); margin-bottom: 24px; }
#vows .vow-world-chapter > p:not(.vow-number):not(.vow-practice) { font-size: 17px; line-height: 1.9; margin-bottom: 26px; }
#vows .vow-world-chapter .vow-practice { grid-template-columns: 80px minmax(0, 1fr); gap: 14px; font-size: 17px; line-height: 1.8; }
#vows .vow-world-close { max-width: none; margin: 28px 0 0; }
#vows .vow-world-play:active { transform: scale(.96); }
@media (max-width: 960px) {
  #vows .vow-world-grid { display: block; }
  #vows .vow-world-stage { height: clamp(320px, 58vw, 520px); min-height: 0; }
  #vows .vow-world-visual { position: relative; top: auto; background: transparent; }
  #vows .vow-world-copy { margin-top: 24px; }
  #vows .vow-world-chapter { padding-top: 22px; }
  #vows .vow-world-chapter h3 { font-size: clamp(29px, 4.7vw, 36px); }
  #vows .vow-world-transport { padding-inline: 0; }
  #vows .vow-world-controls button { font-size: 16px; padding-inline: 4px; }
  #vows .vow-world-controls button span { display: block; margin-right: 0; }
}
@media (max-width: 500px) {
  #vows .vow-world-stage { height: 340px; }
  #vows .vow-terrain { object-position: 40% center; }
  #vows .vow-world-stage-top { left: 12px; right: 12px; top: 14px; }
  #vows .vow-world-stage-bottom { left: 12px; right: 12px; bottom: 12px; }
  #vows .vow-world-stage-bottom span:last-child { display: none; }
  #vows .vow-world-controls button { font-size: 16px; }
  #vows .vow-world-play { padding-inline: 10px; }
  #vows .vow-world-chapter .vow-practice { grid-template-columns: 1fr; gap: 6px; }
}
@media (max-width: 360px) {
  #vows .vow-terrain { object-position: 33% center; }
}
@media (prefers-reduced-motion: reduce) {
  #vows .vow-world-canvas, #vows .vow-world-play { transition: none; }
  #vows .vow-world-play:active { transform: none; }
}
