/* Title artwork must remain fully visible before and on the main menu. */
.Logo_main,
[class*="_Logo_main_"],
.Logo_Back,
[class*="_Logo_Back_"] {
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  background-color: #fff !important;
}

.Title_main,
[class*="_Title_main_"] {
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-color: #101713 !important;
}
/* Maruva Bay runtime UI overrides.
 * This file is loaded directly by index.html because game/template SCSS is not
 * compiled into the exported WebGAL runtime. Keep these rules after the engine CSS.
 */

:root {
  --maruva-dialog-bg: rgba(0, 0, 0, 0.58);
  --maruva-dialog-border: rgba(255, 255, 255, 0.42);
  --maruva-white: #fff;
}

/* Dialogue panel: one flat translucent black surface behind all dialogue text. */
._TextBox_main_p1zxt_18,
._TextBox_main_miniavatarOff_p1zxt_39 {
  left: 7% !important;
  right: 7% !important;
  bottom: 68px !important;
  min-height: 176px !important;
  max-height: 238px !important;
  padding: 29px 46px 30px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  color: var(--maruva-white) !important;
  font-size: clamp(20px, 1.55vw, 31px) !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
  letter-spacing: 0.035em !important;
}

._TextBox_Background_p1zxt_43 {
  background: var(--maruva-dialog-bg) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: blur(1px);
}

._text_p1zxt_174 {
  width: 100% !important;
  max-height: 176px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.55) transparent;
}

/* WebGAL draws every glyph twice. Remove the outline layer and force the visible
 * layer to solid white so text never inherits the stock navy gradient/stroke. */
._outer_p1zxt_64,
._readTextOuter_p1zxt_178 {
  color: var(--maruva-white) !important;
  background: none !important;
  background-image: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  -webkit-text-fill-color: var(--maruva-white) !important;
  -webkit-text-stroke: 0 transparent !important;
  text-shadow: none !important;
}

._inner_p1zxt_78 {
  display: none !important;
  -webkit-text-stroke: 0 transparent !important;
  text-shadow: none !important;
}

/* Character name: restore the Figma-like plain label and divider, enlarged and
 * aligned with the dialogue copy instead of using the small blue pill. */
._TextBox_showName_p1zxt_104,
._TextBox_ShowName_Background_p1zxt_117 {
  left: 0 !important;
  top: -66px !important;
  width: min(420px, 42vw) !important;
  height: 58px !important;
  box-sizing: border-box !important;
  padding: 0 0 8px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.58) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--maruva-white) !important;
  font-size: clamp(25px, 2vw, 36px) !important;
  font-weight: 500 !important;
  line-height: 50px !important;
  letter-spacing: 0.04em !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.7) !important;
}

._nameContainer_p1zxt_150 {
  left: 0 !important;
  top: -66px !important;
  width: min(420px, 42vw) !important;
  height: 58px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.58) !important;
  color: var(--maruva-white) !important;
  font-size: clamp(25px, 2vw, 36px) !important;
  line-height: 50px !important;
}

._outerName_p1zxt_156,
._innerName_p1zxt_167 {
  color: var(--maruva-white) !important;
  background: none !important;
  background-image: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  -webkit-text-fill-color: var(--maruva-white) !important;
  -webkit-text-stroke: 0 transparent !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.7) !important;
}

/* Ordinary choices keep the requested translucent black style. */
._Choose_item_1kza1_13,
._Choose_item_disabled_1kza1_34 {
  min-width: min(680px, 66vw) !important;
  margin: 8px 0 !important;
  padding: 15px 28px !important;
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  border-radius: 0 !important;
  background: rgba(0, 0, 0, 0.58) !important;
  box-shadow: none !important;
  color: var(--maruva-white) !important;
  font-size: clamp(21px, 1.9vw, 34px) !important;
  font-weight: 400 !important;
}

._Choose_item_1kza1_13:hover {
  border-color: #fff !important;
  background: rgba(0, 0, 0, 0.76) !important;
  box-shadow: 0 0 16px rgba(255, 255, 255, 0.22) !important;
}

._Choose_item_outer_1kza1_50 {
  color: inherit !important;
}

/* Hotspot mode is activated by an invisible mini-avatar marker set by the
 * scene script. The actual clickable choices become pulsing points. */
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._miniAvatarContainer_p1zxt_132 {
  width: 1px !important;
  height: 1px !important;
  left: -9999px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_Main_1kza1_1 {
  display: block !important;
  background: transparent !important;
  pointer-events: none !important;
}

body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_1kza1_13,
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_disabled_1kza1_34 {
  position: absolute !important;
  z-index: 25 !important;
  display: block !important;
  min-width: 0 !important;
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  color: transparent !important;
  font-size: 0 !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: auto !important;
}

body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_1kza1_13::after,
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_disabled_1kza1_34::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 15px;
  height: 15px;
  border: 2px solid rgba(255, 255, 255, 0.98);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.8), 0 0 12px rgba(255, 255, 255, 0.95);
  transform: translate(-50%, -50%);
  animation: maruva-hotspot-pulse 1.45s ease-out infinite;
}

body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_disabled_1kza1_34::after {
  background: transparent;
  opacity: 0.58;
  animation: none;
}

body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_1kza1_13::before,
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_disabled_1kza1_34::before {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 7px);
  min-width: max-content;
  padding: 6px 11px;
  border: 1px solid rgba(255, 255, 255, 0.68);
  background: rgba(0, 0, 0, 0.78);
  color: #fff;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.04em;
  opacity: 0;
  transform: translate(-50%, 5px);
  transition: opacity 0.16s ease, transform 0.16s ease;
  pointer-events: none;
}

body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_1kza1_13:hover::before,
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_disabled_1kza1_34:hover::before {
  opacity: 1;
  transform: translate(-50%, 0);
}

@keyframes maruva-hotspot-pulse {
  0% { opacity: 1; box-shadow: 0 0 0 0 rgba(255,255,255,.75), 0 0 12px rgba(255,255,255,.95); }
  70% { opacity: .92; box-shadow: 0 0 0 15px rgba(255,255,255,0), 0 0 19px rgba(255,255,255,.85); }
  100% { opacity: 1; box-shadow: 0 0 0 0 rgba(255,255,255,0), 0 0 12px rgba(255,255,255,.95); }
}

/* Main village map. */
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_map_marker"]) ._Choose_item_1kza1_13:nth-child(1),
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_map_marker"]) ._Choose_item_disabled_1kza1_34:nth-child(1) { left: 29.5% !important; top: 22.5% !important; }
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_map_marker"]) ._Choose_item_1kza1_13:nth-child(2),
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_map_marker"]) ._Choose_item_disabled_1kza1_34:nth-child(2) { left: 48.2% !important; top: 55.5% !important; }
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_map_marker"]) ._Choose_item_1kza1_13:nth-child(3),
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_map_marker"]) ._Choose_item_disabled_1kza1_34:nth-child(3) { left: 49.2% !important; top: 24.2% !important; }
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_map_marker"]) ._Choose_item_1kza1_13:nth-child(1)::before,
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_map_marker"]) ._Choose_item_disabled_1kza1_34:nth-child(1)::before { content: "Church"; }
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_map_marker"]) ._Choose_item_1kza1_13:nth-child(2)::before,
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_map_marker"]) ._Choose_item_disabled_1kza1_34:nth-child(2)::before { content: "Chief’s House"; }
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_map_marker"]) ._Choose_item_1kza1_13:nth-child(3)::before,
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_map_marker"]) ._Choose_item_disabled_1kza1_34:nth-child(3)::before { content: "Landlord’s House"; }

/* Interior investigation hotspots used by both church and village-chief routes. */
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_chief_marker"]) ._Choose_item_1kza1_13:nth-child(1),
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_chief_marker"]) ._Choose_item_disabled_1kza1_34:nth-child(1) { left: 72.8% !important; top: 20.5% !important; }
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_chief_marker"]) ._Choose_item_1kza1_13:nth-child(2),
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_chief_marker"]) ._Choose_item_disabled_1kza1_34:nth-child(2) { left: 39.5% !important; top: 81.5% !important; }
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_church_marker"]) ._Choose_item_1kza1_13:nth-child(1),
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_church_marker"]) ._Choose_item_disabled_1kza1_34:nth-child(1) { left: 34.5% !important; top: 24% !important; }
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_church_marker"]) ._Choose_item_1kza1_13:nth-child(2),
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_church_marker"]) ._Choose_item_disabled_1kza1_34:nth-child(2) { left: 54% !important; top: 81.5% !important; }

body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_chief_marker"]) ._Choose_item_1kza1_13:nth-child(1)::before,
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_chief_marker"]) ._Choose_item_disabled_1kza1_34:nth-child(1)::before,
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_church_marker"]) ._Choose_item_1kza1_13:nth-child(1)::before,
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_church_marker"]) ._Choose_item_disabled_1kza1_34:nth-child(1)::before { content: "Mold on the Walls"; }
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_chief_marker"]) ._Choose_item_1kza1_13:nth-child(2)::before,
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_chief_marker"]) ._Choose_item_disabled_1kza1_34:nth-child(2)::before,
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_church_marker"]) ._Choose_item_1kza1_13:nth-child(2)::before,
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_church_marker"]) ._Choose_item_disabled_1kza1_34:nth-child(2)::before { content: "Water on the Floor"; }

@media (max-width: 900px) {
  ._TextBox_main_p1zxt_18,
  ._TextBox_main_miniavatarOff_p1zxt_39 {
    left: 3.5% !important;
    right: 3.5% !important;
    bottom: 54px !important;
    min-height: 148px !important;
    max-height: 205px !important;
    padding: 25px 28px 24px !important;
  }
  ._TextBox_showName_p1zxt_104,
  ._TextBox_ShowName_Background_p1zxt_117,
  ._nameContainer_p1zxt_150 {
    top: -55px !important;
    height: 49px !important;
    line-height: 42px !important;
  }
}


/* WebGAL renders choices as Main > outer wrapper > clickable item. Hotspot
 * coordinates belong to the outer wrapper so nth-child identifies each option. */
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_outer_1kza1_50 {
  position: absolute !important;
  z-index: 25 !important;
  display: block !important;
  min-width: 0 !important;
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  color: transparent !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: auto !important;
}

body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_outer_1kza1_50 > ._Choose_item_1kza1_13,
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_outer_1kza1_50 > ._Choose_item_disabled_1kza1_34 {
  position: relative !important;
  inset: auto !important;
  width: 48px !important;
  height: 48px !important;
  transform: none !important;
}

body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_outer_1kza1_50 > div::before {
  display: none !important;
}

body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_outer_1kza1_50::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(255, 255, 255, 0.88);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: maruva-hotspot-ring 1.45s ease-out infinite;
  pointer-events: none;
}

body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_outer_1kza1_50::after {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 7px);
  min-width: max-content;
  padding: 6px 11px;
  border: 1px solid rgba(255, 255, 255, 0.68);
  background: rgba(0, 0, 0, 0.78);
  color: #fff;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.04em;
  opacity: 0;
  transform: translate(-50%, 5px);
  transition: opacity 0.16s ease, transform 0.16s ease;
  pointer-events: none;
}

body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_outer_1kza1_50:hover::after {
  opacity: 1;
  transform: translate(-50%, 0);
}

@keyframes maruva-hotspot-ring {
  0% { opacity: 0.88; transform: translate(-50%, -50%) scale(0.55); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1.85); }
}

body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_map_marker"]) ._Choose_item_outer_1kza1_50:nth-child(1) { left: 29.5% !important; top: 22.5% !important; }
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_map_marker"]) ._Choose_item_outer_1kza1_50:nth-child(2) { left: 48.2% !important; top: 55.5% !important; }
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_map_marker"]) ._Choose_item_outer_1kza1_50:nth-child(3) { left: 49.2% !important; top: 24.2% !important; }
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_map_marker"]) ._Choose_item_outer_1kza1_50:nth-child(1)::after { content: "Church"; }
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_map_marker"]) ._Choose_item_outer_1kza1_50:nth-child(2)::after { content: "Chief’s House"; }
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_map_marker"]) ._Choose_item_outer_1kza1_50:nth-child(3)::after { content: "Landlord’s House"; }

body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_chief_marker"]) ._Choose_item_outer_1kza1_50:nth-child(1) { left: 72.8% !important; top: 20.5% !important; }
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_chief_marker"]) ._Choose_item_outer_1kza1_50:nth-child(2) { left: 39.5% !important; top: 81.5% !important; }
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_church_marker"]) ._Choose_item_outer_1kza1_50:nth-child(1) { left: 34.5% !important; top: 24% !important; }
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_church_marker"]) ._Choose_item_outer_1kza1_50:nth-child(2) { left: 54% !important; top: 81.5% !important; }

body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_chief_marker"]) ._Choose_item_outer_1kza1_50:nth-child(1)::after,
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_church_marker"]) ._Choose_item_outer_1kza1_50:nth-child(1)::after { content: "Mold on the Walls"; }
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_chief_marker"]) ._Choose_item_outer_1kza1_50:nth-child(2)::after,
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_church_marker"]) ._Choose_item_outer_1kza1_50:nth-child(2)::after { content: "Water on the Floor"; }


/* Requested sizing pass: 14pt labels and 50% more dialogue capacity. */
._TextBox_main_p1zxt_18,
._TextBox_main_miniavatarOff_p1zxt_39 {
  min-height: 264px !important;
  max-height: 357px !important;
}

._text_p1zxt_174 {
  max-height: 264px !important;
}

._TextBox_showName_p1zxt_104,
._TextBox_ShowName_Background_p1zxt_117,
._nameContainer_p1zxt_150 {
  font-size: 14pt !important;
}

body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_outer_1kza1_50::after {
  font-size: 14pt !important;
}

@media (max-width: 900px) {
  ._TextBox_main_p1zxt_18,
  ._TextBox_main_miniavatarOff_p1zxt_39 {
    min-height: 222px !important;
    max-height: 308px !important;
  }

  ._text_p1zxt_174 {
    max-height: 222px !important;
  }
}


/* Compact ordinary choices without changing hotspot hit areas. */
body:not(:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"])) ._Choose_item_1kza1_13,
body:not(:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"])) ._Choose_item_disabled_1kza1_34 {
  min-width: min(500px, 48vw) !important;
  max-width: min(720px, 68vw) !important;
  margin: 5px 0 !important;
  padding: 9px 18px !important;
  font-size: 14pt !important;
  line-height: 1.35 !important;
}

body:not(:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"])) ._Choose_item_outer_1kza1_50 {
  min-width: 0 !important;
  width: auto !important;
  max-width: min(720px, 68vw) !important;
}

@media (max-width: 900px) {
  body:not(:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"])) ._Choose_item_1kza1_13,
  body:not(:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"])) ._Choose_item_disabled_1kza1_34 {
    min-width: min(420px, 72vw) !important;
    max-width: 82vw !important;
    padding: 8px 14px !important;
  }
}


/* Keep all formerly-14pt UI labels exactly aligned with dialogue type size. */
:root {
  --maruva-dialog-font-size: clamp(20px, 1.55vw, 31px);
}

._TextBox_main_p1zxt_18,
._TextBox_main_miniavatarOff_p1zxt_39,
._TextBox_showName_p1zxt_104,
._TextBox_ShowName_Background_p1zxt_117,
._nameContainer_p1zxt_150 {
  font-size: var(--maruva-dialog-font-size) !important;
}

body:not(:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"])) ._Choose_item_1kza1_13,
body:not(:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"])) ._Choose_item_disabled_1kza1_34,
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_outer_1kza1_50::after {
  font-size: var(--maruva-dialog-font-size) !important;
}


/* Enlarge UI labels while keeping dialogue body copy unchanged. */
:root {
  --maruva-ui-label-font-size: clamp(24px, 1.9vw, 38px);
}

._TextBox_showName_p1zxt_104,
._TextBox_ShowName_Background_p1zxt_117,
._nameContainer_p1zxt_150,
body:not(:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"])) ._Choose_item_1kza1_13,
body:not(:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"])) ._Choose_item_disabled_1kza1_34,
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_outer_1kza1_50::after {
  font-size: var(--maruva-ui-label-font-size) !important;
}

/* Allow the larger hotspot label to remain compact and readable. */
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_outer_1kza1_50::after {
  padding: 7px 13px !important;
}


/* Fixed-stage label sizing and non-interactive narration points. */
._TextBox_showName_p1zxt_104,
._TextBox_ShowName_Background_p1zxt_117,
._nameContainer_p1zxt_150,
body:not(:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"])) ._Choose_item_1kza1_13,
body:not(:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"])) ._Choose_item_disabled_1kza1_34,
body:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"]) ._Choose_item_outer_1kza1_50::after {
  font-size: 52px !important;
}

._TextBox_showName_p1zxt_104,
._TextBox_ShowName_Background_p1zxt_117,
._nameContainer_p1zxt_150 {
  top: -82px !important;
  width: min(520px, 46vw) !important;
  height: 72px !important;
  line-height: 64px !important;
}

body:not(:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"])) ._Choose_item_1kza1_13,
body:not(:has(._miniAvatarImg_p1zxt_142[src*="hotspot_"])) ._Choose_item_disabled_1kza1_34 {
  min-width: min(560px, 52vw) !important;
  max-width: min(860px, 72vw) !important;
  padding: 10px 20px !important;
}

/* The marker image is only state; the visible point is drawn over the stage. */
body:has(._miniAvatarImg_p1zxt_142[src*="narration_point_"]) ._miniAvatarContainer_p1zxt_132 {
  width: 1px !important;
  height: 1px !important;
  left: -9999px !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

#root {
  position: relative;
}

#root:has(._miniAvatarImg_p1zxt_142[src*="narration_point_"])::after {
  content: "";
  position: absolute;
  z-index: 12;
  width: 30px;
  height: 30px;
  border: 3px solid rgba(255, 255, 255, 0.98);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.78), 0 0 22px rgba(255, 255, 255, 1);
  transform: translate(-50%, -50%);
  animation: maruva-narration-point-pulse 1.35s ease-out infinite;
  pointer-events: none;
}

#root:has(._miniAvatarImg_p1zxt_142[src*="narration_point_top_left"])::after {
  left: 29.5%;
  top: 22.5%;
}

#root:has(._miniAvatarImg_p1zxt_142[src*="narration_point_top_right"])::after {
  left: 49.2%;
  top: 24.2%;
}

#root:has(._miniAvatarImg_p1zxt_142[src*="narration_point_bottom_right"])::after {
  left: 48.2%;
  top: 55.5%;
}

@keyframes maruva-narration-point-pulse {
  0% {
    opacity: 1;
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.78), 0 0 22px rgba(255, 255, 255, 1);
  }
  72% {
    opacity: 0.94;
    box-shadow: 0 0 0 25px rgba(255, 255, 255, 0), 0 0 34px rgba(255, 255, 255, 0.95);
  }
  100% {
    opacity: 1;
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0), 0 0 22px rgba(255, 255, 255, 1);
  }
}


/* Full note presentation matching the Figma reference. */
#root:has(._miniAvatarImg_p1zxt_142[src*="note_paper.webp"])::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  background: rgba(0, 0, 0, 0.26);
  pointer-events: none;
}

body:has(._miniAvatarImg_p1zxt_142[src*="note_paper.webp"]) ._TextBox_Background_p1zxt_43 {
  opacity: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  pointer-events: none !important;
}

body:has(._miniAvatarImg_p1zxt_142[src*="note_paper.webp"]) ._TextBox_main_p1zxt_18 {
  left: 16% !important;
  right: 16% !important;
  bottom: 31.5% !important;
  width: auto !important;
  height: 59% !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 8.5% 7.5% 7% !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #373737 !important;
  font-family: KaiTi, STKaiti, "FangSong SC", FangSong, serif !important;
  font-size: 58px !important;
  font-weight: 500 !important;
  line-height: 1.42 !important;
  letter-spacing: 0.035em !important;
}

body:has(._miniAvatarImg_p1zxt_142[src*="note_paper.webp"]) ._miniAvatarContainer_p1zxt_132 {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  overflow: visible !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

body:has(._miniAvatarImg_p1zxt_142[src*="note_paper.webp"]) ._miniAvatarImg_p1zxt_142 {
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: fill !important;
  filter: none !important;
}

body:has(._miniAvatarImg_p1zxt_142[src*="note_paper.webp"]) ._text_p1zxt_174 {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  padding: 0 18px 0 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  color: #373737 !important;
  font-family: KaiTi, STKaiti, "FangSong SC", FangSong, serif !important;
  font-size: 58px !important;
  font-weight: 500 !important;
  line-height: 1.42 !important;
  letter-spacing: 0.035em !important;
  white-space: pre-line !important;
  text-shadow: none !important;
  scrollbar-color: rgba(55, 55, 55, 0.5) transparent !important;
}

body:has(._miniAvatarImg_p1zxt_142[src*="note_paper.webp"]) ._outer_p1zxt_64,
body:has(._miniAvatarImg_p1zxt_142[src*="note_paper.webp"]) ._readTextOuter_p1zxt_178,
body:has(._miniAvatarImg_p1zxt_142[src*="note_paper.webp"]) ._zhanwei_p1zxt_89 {
  color: #373737 !important;
  background: none !important;
  background-image: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  -webkit-text-fill-color: #373737 !important;
  -webkit-text-stroke: 0 transparent !important;
  text-shadow: none !important;
}

body:has(._miniAvatarImg_p1zxt_142[src*="note_paper.webp"]) ._inner_p1zxt_78,
body:has(._miniAvatarImg_p1zxt_142[src*="note_paper.webp"]) ._TextBox_showName_p1zxt_104,
body:has(._miniAvatarImg_p1zxt_142[src*="note_paper.webp"]) ._TextBox_ShowName_Background_p1zxt_117,
body:has(._miniAvatarImg_p1zxt_142[src*="note_paper.webp"]) ._nameContainer_p1zxt_150 {
  display: none !important;
}

@media (max-width: 900px) {
  body:has(._miniAvatarImg_p1zxt_142[src*="note_paper.webp"]) ._TextBox_main_p1zxt_18 {
    left: 12% !important;
    right: 12% !important;
    bottom: 30% !important;
    height: 61% !important;
    padding: 9% 7% 7% !important;
    font-size: 50px !important;
  }

  body:has(._miniAvatarImg_p1zxt_142[src*="note_paper.webp"]) ._text_p1zxt_174 {
    font-size: 50px !important;
  }
}


/* Hash-independent, fixed-stage note layout shared by export and Terre. */
body:has(img[class*="miniAvatarImg"][src*="note_paper.webp"]) [class*="TextBox_Background"] {
  opacity: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  pointer-events: none !important;
}

body:has(img[class*="miniAvatarImg"][src*="note_paper.webp"]) :is(#textBoxMain, [class*="TextBox_main"]):not([class*="TextBox_Background"]) {
  position: absolute !important;
  left: 410px !important;
  right: 410px !important;
  bottom: 450px !important;
  width: auto !important;
  height: 850px !important;
  min-height: 850px !important;
  max-height: 850px !important;
  padding: 118px 128px 92px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #373737 !important;
  font-family: KaiTi, STKaiti, "FangSong SC", FangSong, serif !important;
  font-size: 52px !important;
  font-weight: 500 !important;
  line-height: 1.34 !important;
  letter-spacing: 0.025em !important;
}

body:has(img[class*="miniAvatarImg"][src*="note_paper.webp"]) [class*="miniAvatarContainer"] {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  overflow: visible !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

body:has(img[class*="miniAvatarImg"][src*="note_paper.webp"]) img[class*="miniAvatarImg"] {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: fill !important;
  filter: none !important;
}

body:has(img[class*="miniAvatarImg"][src*="note_paper.webp"]) :is(#textBoxMain, [class*="TextBox_main"]):not([class*="TextBox_Background"]) > :is(.text, [class*="_text_"]) {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  padding: 0 16px 0 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  color: #373737 !important;
  font-family: KaiTi, STKaiti, "FangSong SC", FangSong, serif !important;
  font-size: 52px !important;
  font-weight: 500 !important;
  line-height: 1.34 !important;
  letter-spacing: 0.025em !important;
  white-space: pre-line !important;
  text-shadow: none !important;
  scrollbar-color: rgba(55, 55, 55, 0.5) transparent !important;
}

body:has(img[class*="miniAvatarImg"][src*="note_paper.webp"]) :is(#textBoxMain, [class*="TextBox_main"]):not([class*="TextBox_Background"]) :is([class*="_outer_"], [class*="_readTextOuter_"], [class*="_zhanwei_"]) {
  color: #373737 !important;
  background: none !important;
  background-image: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  -webkit-text-fill-color: #373737 !important;
  -webkit-text-stroke: 0 transparent !important;
  text-shadow: none !important;
  filter: none !important;
}

body:has(img[class*="miniAvatarImg"][src*="note_paper.webp"]) :is(#textBoxMain, [class*="TextBox_main"]):not([class*="TextBox_Background"]) [class*="_inner_"],
body:has(img[class*="miniAvatarImg"][src*="note_paper.webp"]) :is([class*="TextBox_showName"], [class*="TextBox_ShowName_Background"], [class*="nameContainer"]) {
  display: none !important;
}

/* Note scenes show their complete text at once. */
body:has(img[class*="miniAvatarImg"][src*="note_paper.webp"])
  :is(.Textelement_start, [class*="TextBox_textElement_start"]) {
  animation: none !important;
  animation-delay: 0ms !important;
  opacity: 1 !important;
}

/* Wider ordinary choices: long labels should generally fit within two lines. */
body:not(:has(img[class*="miniAvatarImg"][src*="hotspot_"])):not(:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"]))
  :is(.Choose_item_outer, [class*="Choose_item_outer"]) {
  width: min(82vw, 1240px) !important;
  max-width: min(82vw, 1240px) !important;
}

body:not(:has(img[class*="miniAvatarImg"][src*="hotspot_"])):not(:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"]))
  :is(.Choose_item, [class*="Choose_item_"]:not([class*="Choose_item_disabled"]):not([class*="Choose_item_outer"])),
body:not(:has(img[class*="miniAvatarImg"][src*="hotspot_"])):not(:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"]))
  :is(.Choose_item_disabled, [class*="Choose_item_disabled"]) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
  padding-inline: 24px !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 900px) {
  body:not(:has(img[class*="miniAvatarImg"][src*="hotspot_"])):not(:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"]))
    :is(.Choose_item_outer, [class*="Choose_item_outer"]) {
    width: 90vw !important;
    max-width: 90vw !important;
  }
}

/* Note paper and narration are separate visual layers. */
:where(
  body:has(img[class*="miniAvatarImg"][src*="note_asthma_paper.webp"]),
  body:has(img[class*="miniAvatarImg"][src*="note_bronchitis_paper.webp"])
) [class*="TextBox_Background"] {
  display: none !important;
  opacity: 0 !important;
}

:where(
  body:has(img[class*="miniAvatarImg"][src*="note_asthma_paper.webp"]),
  body:has(img[class*="miniAvatarImg"][src*="note_bronchitis_paper.webp"])
) :is(#textBoxMain, [class*="TextBox_main"]):not([class*="TextBox_Background"]) {
  position: absolute !important;
  left: 11.5% !important;
  right: 11.5% !important;
  top: auto !important;
  bottom: 7.5% !important;
  width: auto !important;
  height: 238px !important;
  min-height: 238px !important;
  max-height: 238px !important;
  box-sizing: border-box !important;
  padding: 34px 50px 42px !important;
  overflow: visible !important;
  color: #fff !important;
  background: rgba(0, 0, 0, 0.58) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: "Noto Sans SC", "Microsoft YaHei", sans-serif !important;
  font-size: 40px !important;
  line-height: 1.45 !important;
  text-shadow: none !important;
}

:where(
  body:has(img[class*="miniAvatarImg"][src*="note_asthma_paper.webp"]),
  body:has(img[class*="miniAvatarImg"][src*="note_bronchitis_paper.webp"])
) :is(#textBoxMain, [class*="TextBox_main"]):not([class*="TextBox_Background"]) > :is(.text, [class*="_text_"]) {
  position: relative !important;
  z-index: 3 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  color: #fff !important;
  background: transparent !important;
  font-family: "Noto Sans SC", "Microsoft YaHei", sans-serif !important;
  font-size: 40px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.015em !important;
  white-space: pre-line !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 transparent !important;
}

:where(
  body:has(img[class*="miniAvatarImg"][src*="note_asthma_paper.webp"]),
  body:has(img[class*="miniAvatarImg"][src*="note_bronchitis_paper.webp"])
) :is(#textBoxMain, [class*="TextBox_main"]):not([class*="TextBox_Background"]) :is([class*="_outer_"], [class*="_readTextOuter_"], [class*="_zhanwei_"]) {
  color: #fff !important;
  opacity: 1 !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 transparent !important;
}

:where(
  body:has(img[class*="miniAvatarImg"][src*="note_asthma_paper.webp"]),
  body:has(img[class*="miniAvatarImg"][src*="note_bronchitis_paper.webp"])
) :is(#textBoxMain, [class*="TextBox_main"]):not([class*="TextBox_Background"]) [class*="_inner_"],
:where(
  body:has(img[class*="miniAvatarImg"][src*="note_asthma_paper.webp"]),
  body:has(img[class*="miniAvatarImg"][src*="note_bronchitis_paper.webp"])
) :is([class*="TextBox_showName"], [class*="TextBox_ShowName_Background"], [class*="nameContainer"]) {
  display: none !important;
}

:where(
  body:has(img[class*="miniAvatarImg"][src*="note_asthma_paper.webp"]),
  body:has(img[class*="miniAvatarImg"][src*="note_bronchitis_paper.webp"])
) [class*="miniAvatarContainer"] {
  position: fixed !important;
  left: 16.5% !important;
  right: auto !important;
  top: 7.5% !important;
  bottom: auto !important;
  z-index: 10 !important;
  display: block !important;
  width: 67% !important;
  height: 62% !important;
  margin: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  isolation: isolate !important;
  pointer-events: none !important;
}

:where(
  body:has(img[class*="miniAvatarImg"][src*="note_asthma_paper.webp"]),
  body:has(img[class*="miniAvatarImg"][src*="note_bronchitis_paper.webp"])
) [class*="miniAvatarContainer"] img[class*="miniAvatarImg"] {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: fill !important;
  border-radius: 0 !important;
  filter: none !important;
  opacity: 1 !important;
}

:where(
  body:has(img[class*="miniAvatarImg"][src*="note_asthma_paper.webp"]),
  body:has(img[class*="miniAvatarImg"][src*="note_bronchitis_paper.webp"])
) [class*="miniAvatarContainer"]::before,
:where(
  body:has(img[class*="miniAvatarImg"][src*="note_asthma_paper.webp"]),
  body:has(img[class*="miniAvatarImg"][src*="note_bronchitis_paper.webp"])
) [class*="miniAvatarContainer"]::after {
  position: absolute;
  z-index: 2;
  display: block;
  color: #3b3b3b;
  font-family: KaiTi, STKaiti, "FangSong SC", FangSong, serif;
  font-weight: 600;
  text-align: left;
  text-shadow: none;
  white-space: pre-wrap;
  pointer-events: none;
}

:where(
  body:has(img[class*="miniAvatarImg"][src*="note_asthma_paper.webp"]),
  body:has(img[class*="miniAvatarImg"][src*="note_bronchitis_paper.webp"])
) [class*="miniAvatarContainer"]::before {
  left: 8.5%;
  top: 10.5%;
  font-size: 62px;
  line-height: 1.2;
}

:where(
  body:has(img[class*="miniAvatarImg"][src*="note_asthma_paper.webp"]),
  body:has(img[class*="miniAvatarImg"][src*="note_bronchitis_paper.webp"])
) [class*="miniAvatarContainer"]::after {
  left: 8.5%;
  right: 8.5%;
  top: 25%;
  bottom: 8%;
  overflow: hidden;
  font-size: 45px;
  line-height: 1.4;
  letter-spacing: 0.025em;
}

body:has(img[class*="miniAvatarImg"][src*="note_asthma_paper.webp"]) [class*="miniAvatarContainer"]::before {
  content: "Asthma and Airway Inflammation";
}

body:has(img[class*="miniAvatarImg"][src*="note_asthma_paper.webp"]) [class*="miniAvatarContainer"]::after {
  content: "Long-term exposure to mold spores may trigger or worsen asthma, especially in children or people with weakened immune systems.\A\A Symptoms:\A 1. Coughing, especially at night or early morning\A 2. Shortness of breath or chest tightness\A 3. Wheezing\A 4. Fatigue";
}

body:has(img[class*="miniAvatarImg"][src*="note_bronchitis_paper.webp"]) [class*="miniAvatarContainer"]::before {
  content: "Airway Inflammation / Bronchitis";
}

body:has(img[class*="miniAvatarImg"][src*="note_bronchitis_paper.webp"]) [class*="miniAvatarContainer"]::after {
  content: "Key features:\A 1. Airways become infected or irritated by bacteria, viruses or mold spores.\A 2. The airway lining becomes inflamed and remains irritated, usually causing a persistent cough rather than occasional attacks.\A 3. A common symptom is excess phlegm, which may be yellow or clear.";
  top: 26%;
  font-size: 43px;
  line-height: 1.45;
}

:where(
  body:has(img[class*="miniAvatarImg"][src*="note_asthma_paper.webp"]),
  body:has(img[class*="miniAvatarImg"][src*="note_bronchitis_paper.webp"])
) :is(.Textelement_start, [class*="TextBox_textElement_start"]) {
  animation: none !important;
  animation-delay: 0ms !important;
  opacity: 1 !important;
}
/* Ending mode: a large, static Figma-style title card above the dialogue area. */
body:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"])
  [class*="miniAvatarContainer"],
body:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"])
  [class*="TextBox_Background"],
body:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"])
  :is([class*="TextBox_showName"], [class*="TextBox_ShowName_Background"], [class*="nameContainer"]) {
  display: none !important;
}

body:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"])
  :is(#textBoxMain, [class*="TextBox_main"]):not([class*="TextBox_Background"]) {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  width: 1556px !important;
  height: 255px !important;
  min-height: 255px !important;
  max-height: none !important;
  box-sizing: border-box !important;
  padding: 34px 64px !important;
  border: 3px solid #fff !important;
  border-radius: 0 !important;
  background: rgba(0, 0, 0, 0.58) !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: translate(-50%, -50%) !important;
  z-index: 30 !important;
}

body:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"])
  :is(#textBoxMain, [class*="TextBox_main"]):not([class*="TextBox_Background"]) > :is(.text, [class*="_text_"]) {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: 76px !important;
  line-height: 1.25 !important;
  letter-spacing: 0.04em !important;
}

body:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"])
  :is(#textBoxMain, [class*="TextBox_main"]):not([class*="TextBox_Background"])
  :is([class*="_outer_"], [class*="_readTextOuter_"], [class*="_zhanwei_"]) {
  width: 100% !important;
  text-align: center !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  -webkit-text-stroke: 0 transparent !important;
  text-shadow: none !important;
}

body:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"])
  :is(#textBoxMain, [class*="TextBox_main"]):not([class*="TextBox_Background"])
  [class*="next"],
body:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"])
  :is(#textBoxMain, [class*="TextBox_main"]):not([class*="TextBox_Background"])
  [class*="Next"] {
  display: none !important;
}

body:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"])
  :is(.Textelement_start, [class*="TextBox_textElement_start"]) {
  animation: none !important;
  animation-delay: 0ms !important;
  opacity: 1 !important;
}
/* Ending mode choice: fixed below the centered title card. */
body:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"]) [class*="Choose_Main"] {
  position: fixed !important;
  inset: 0 !important;
  width: 1920px !important;
  height: 1080px !important;
  box-sizing: border-box !important;
  padding-top: 765px !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  background: transparent !important;
  z-index: 40 !important;
}

body:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"]) [class*="Choose_item_outer"] {
  width: 277px !important;
  min-width: 277px !important;
  max-width: 277px !important;
  box-sizing: border-box !important;
}

body:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"])
  :is([class*="Choose_item_"]:not([class*="Choose_item_outer"]):not([class*="Choose_item_disabled"]), [class*="Choose_item_disabled"]) {
  width: 277px !important;
  min-width: 277px !important;
  max-width: 277px !important;
  box-sizing: border-box !important;
  padding: 24px 20px !important;
  border: 1px solid rgba(255, 255, 255, 0.9) !important;
  background: rgba(0, 0, 0, 0.58) !important;
  font-size: 40px !important;
  line-height: 1.25 !important;
}
/* Dialogue scroll interaction guard. */
:is(#textBoxMain, [class*="TextBox_main"]):not([class*="TextBox_Background"])
  > :is(.text, [class*="_text_"]) {
  position: relative !important;
  z-index: 4 !important;
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
  pointer-events: auto !important;
  scrollbar-gutter: stable !important;
}
/* Final alignment and compact dialogue body pass. */
body:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"]) [class*="Choose_item_outer"] {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  top: 71% !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
  z-index: 41 !important;
}

body:not(:has(img[class*="miniAvatarImg"][src*="note_"])):not(:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"]))
  :is(#textBoxMain, [class*="TextBox_main"]):not([class*="TextBox_Background"])
  > :is(.text, [class*="_text_"]) {
  font-size: 32px !important;
  line-height: 1.42 !important;
}

/* 2026-08-28 Figma alignment and reviewer fixes. */
:root {
  --maruva-stage-dialog-left: 182px;
  --maruva-stage-dialog-right: 182px;
  --maruva-stage-dialog-bottom: 144px;
  --maruva-body-size: 32px;
  --maruva-name-size: 40px;
  --maruva-choice-size: 30px;
}

/* Figma dialogue cards stop at y=984, leaving a clear 96px toolbar lane. */
body:not(:has(img[class*="miniAvatarImg"][src*="note_"])):not(:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"]))
  :is(#textBoxMain, [class*="TextBox_main"]):not([class*="TextBox_Background"]) {
  left: var(--maruva-stage-dialog-left) !important;
  right: var(--maruva-stage-dialog-right) !important;
  top: auto !important;
  bottom: var(--maruva-stage-dialog-bottom) !important;
  width: auto !important;
  height: auto !important;
  min-height: 163px !important;
  max-height: 405px !important;
  box-sizing: border-box !important;
  padding: 29px 42px 36px !important;
  background: rgba(0, 0, 0, 0.58) !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #fff !important;
  font-size: var(--maruva-body-size) !important;
  line-height: 1.42 !important;
}

body:not(:has(img[class*="miniAvatarImg"][src*="note_"])):not(:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"]))
  [class*="TextBox_Background"] {
  display: none !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body:not(:has(img[class*="miniAvatarImg"][src*="note_"])):not(:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"]))
  :is(#textBoxMain, [class*="TextBox_main"]):not([class*="TextBox_Background"])
  > :is(.text, [class*="_text_"]) {
  width: 100% !important;
  height: auto !important;
  max-height: 305px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  font-size: var(--maruva-body-size) !important;
  line-height: 1.42 !important;
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
  pointer-events: auto !important;
}

:is([class*="TextBox_showName"], [class*="TextBox_ShowName_Background"], [class*="nameContainer"]) {
  font-size: var(--maruva-name-size) !important;
}

/* Ordinary options follow Figma's 30px label scale. */
body:not(:has(img[class*="miniAvatarImg"][src*="hotspot_"])):not(:has(img[class*="miniAvatarImg"][src*="ending_mode_marker"]))
  :is([class*="Choose_item_"]:not([class*="Choose_item_outer"]):not([class*="Choose_item_disabled"]), [class*="Choose_item_disabled"]) {
  font-size: var(--maruva-choice-size) !important;
  line-height: 1.32 !important;
}

/* The first map is a visual introduction: retain the three pulsing targets but
   suppress place-name hover spoilers. Click destinations are unchanged. */
body:has(img[class*="miniAvatarImg"][src*="hotspot_map_marker"])
  :is([class*="Choose_item_"]:not([class*="Choose_item_outer"]):not([class*="Choose_item_disabled"]), [class*="Choose_item_disabled"])::before,
body:has(img[class*="miniAvatarImg"][src*="hotspot_map_marker"]) [class*="Choose_item_outer"]::after {
  content: "" !important;
  display: none !important;
}
/* English edition: fit longer note headings and allow all note text to wrap. */
/* This game only exposes master and background music volume controls. */
/* The English edition does not expose the engine language picker. */
[class*="Options_main_content_half"] > :has([class*="Option_select"]) {
  display: none !important;
}

[class*="Options_main_content_half"]:has(input[id="BGM Volume"]) > :not(:has(input[id="Main Volume"], input[id="BGM Volume"])) {
  display: none !important;
}

body:has(img[class*="miniAvatarImg"][src*="note_"]) [class*="miniAvatarContainer"]::before {
  right: 8.5%; font-family: Georgia, serif; font-size: 43px; line-height: 1.15;
}
body:has(img[class*="miniAvatarImg"][src*="note_"]) [class*="miniAvatarContainer"]::after {
  font-family: Georgia, serif; font-size: 32px; line-height: 1.3; letter-spacing: 0;
}
