/* R256: one app-owned arrow family. Exact aliases intentionally exclude compound
 * actions such as download, share, sign-out, undo, refresh and playback.
 * This is presentation-only: no observation, DOM replacement, event rebinding,
 * label changes, input selection changes or provider iframe access. */
:root {
  --hg-arrow-left-r256: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15%205%208%2012%2015%2019%22%2F%3E%3C%2Fsvg%3E");
  --hg-arrow-right-r256: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%205%2016%2012%209%2019%22%2F%3E%3C%2Fsvg%3E");
  --hg-arrow-up-r256: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2015%2012%208%2019%2015%22%2F%3E%3C%2Fsvg%3E");
  --hg-arrow-down-r256: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%209%2012%2016%2019%209%22%2F%3E%3C%2Fsvg%3E");
  --hg-arrow-up-right-r256: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%207h10v10%22%2F%3E%3C%2Fsvg%3E");
  --hg-arrow-down-left-r256: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%207v10h10%22%2F%3E%3C%2Fsvg%3E");
  --hg-arrow-up-left-r256: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%2017V7h10%22%2F%3E%3C%2Fsvg%3E");
  --hg-arrow-down-right-r256: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%2017h10V7%22%2F%3E%3C%2Fsvg%3E");
  --hg-arrow-left-right-r256: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%206%202%2012%208%2018M16%206%2022%2012%2016%2018%22%2F%3E%3C%2Fsvg%3E");
  --hg-arrow-up-down-r256: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%208%2012%202%2018%208M6%2016%2012%2022%2018%2016%22%2F%3E%3C%2Fsvg%3E");
}
/* The icon box and stroke stay identical at every size of surrounding text. */
:root :is(.fa-arrow-left,
  .fa-chevron-left,
  .fa-angle-left,
  [data-hg-arrow-r256="left"],
  .fa-arrow-right,
  .fa-chevron-right,
  .fa-angle-right,
  [data-hg-arrow-r256="right"],
  .fa-arrow-up,
  .fa-chevron-up,
  .fa-angle-up,
  [data-hg-arrow-r256="up"],
  .fa-arrow-down,
  .fa-chevron-down,
  .fa-angle-down,
  [data-hg-arrow-r256="down"],
  [data-hg-arrow-r256="up-right"],
  [data-hg-arrow-r256="down-left"],
  [data-hg-arrow-r256="up-left"],
  [data-hg-arrow-r256="down-right"],
  .fa-arrows-left-right,
  [data-hg-arrow-r256="left-right"],
  .fa-arrows-up-down,
  [data-hg-arrow-r256="up-down"]) {
  display:inline-block!important;width:22px!important;height:22px!important;
  min-width:22px!important;max-width:22px!important;flex:0 0 22px!important;
  padding:0!important;border:0!important;font-size:22px!important;line-height:1!important;
  vertical-align:middle;font-style:normal;box-sizing:border-box;pointer-events:none;
}
:root :is(.fa-arrow-left,
  .fa-chevron-left,
  .fa-angle-left,
  [data-hg-arrow-r256="left"],
  .fa-arrow-right,
  .fa-chevron-right,
  .fa-angle-right,
  [data-hg-arrow-r256="right"],
  .fa-arrow-up,
  .fa-chevron-up,
  .fa-angle-up,
  [data-hg-arrow-r256="up"],
  .fa-arrow-down,
  .fa-chevron-down,
  .fa-angle-down,
  [data-hg-arrow-r256="down"],
  [data-hg-arrow-r256="up-right"],
  [data-hg-arrow-r256="down-left"],
  [data-hg-arrow-r256="up-left"],
  [data-hg-arrow-r256="down-right"],
  .fa-arrows-left-right,
  [data-hg-arrow-r256="left-right"],
  .fa-arrows-up-down,
  [data-hg-arrow-r256="up-down"])::before {
  content:""!important;display:block!important;width:100%!important;height:100%!important;
  background:currentColor!important;-webkit-mask:var(--hg-arrow-mask-r256) center/contain no-repeat;
  mask:var(--hg-arrow-mask-r256) center/contain no-repeat;
}
:root :is(.fa-arrow-left,.fa-chevron-left,.fa-angle-left,[data-hg-arrow-r256="left"]) { --hg-arrow-mask-r256:var(--hg-arrow-left-r256); }
:root :is(.fa-arrow-right,.fa-chevron-right,.fa-angle-right,[data-hg-arrow-r256="right"]) { --hg-arrow-mask-r256:var(--hg-arrow-right-r256); }
:root :is(.fa-arrow-up,.fa-chevron-up,.fa-angle-up,[data-hg-arrow-r256="up"]) { --hg-arrow-mask-r256:var(--hg-arrow-up-r256); }
:root :is(.fa-arrow-down,.fa-chevron-down,.fa-angle-down,[data-hg-arrow-r256="down"]) { --hg-arrow-mask-r256:var(--hg-arrow-down-r256); }
:root :is([data-hg-arrow-r256="up-right"]) { --hg-arrow-mask-r256:var(--hg-arrow-up-right-r256); }
:root :is([data-hg-arrow-r256="down-left"]) { --hg-arrow-mask-r256:var(--hg-arrow-down-left-r256); }
:root :is([data-hg-arrow-r256="up-left"]) { --hg-arrow-mask-r256:var(--hg-arrow-up-left-r256); }
:root :is([data-hg-arrow-r256="down-right"]) { --hg-arrow-mask-r256:var(--hg-arrow-down-right-r256); }
:root :is(.fa-arrows-left-right,[data-hg-arrow-r256="left-right"]) { --hg-arrow-mask-r256:var(--hg-arrow-left-right-r256); }
:root :is(.fa-arrows-up-down,[data-hg-arrow-r256="up-down"]) { --hg-arrow-mask-r256:var(--hg-arrow-up-down-r256); }

/* Keep text-bearing controls flexible; every arrow control has a 44px target. */
:root :is(button,a,[role="button"]):has(> :is(.fa-arrow-left,
  .fa-chevron-left,
  .fa-angle-left,
  [data-hg-arrow-r256="left"],
  .fa-arrow-right,
  .fa-chevron-right,
  .fa-angle-right,
  [data-hg-arrow-r256="right"],
  .fa-arrow-up,
  .fa-chevron-up,
  .fa-angle-up,
  [data-hg-arrow-r256="up"],
  .fa-arrow-down,
  .fa-chevron-down,
  .fa-angle-down,
  [data-hg-arrow-r256="down"],
  [data-hg-arrow-r256="up-right"],
  [data-hg-arrow-r256="down-left"],
  [data-hg-arrow-r256="up-left"],
  [data-hg-arrow-r256="down-right"],
  .fa-arrows-left-right,
  [data-hg-arrow-r256="left-right"],
  .fa-arrows-up-down,
  [data-hg-arrow-r256="up-down"])) {
  min-height:44px!important;min-width:44px!important;touch-action:manipulation;
}
/* Icon-only Back controls use a centered, consistent touch box. Existing
 * positioning, color, borders, focus treatment and click handlers remain. */
:root :is(button,a,[role="button"]):has(> :is(.fa-arrow-left,.fa-chevron-left,.fa-angle-left,[data-hg-arrow-r256="left"]):only-child) {
  width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;
  min-height:44px!important;max-height:44px!important;flex:0 0 44px!important;
  padding:0!important;box-sizing:border-box!important;align-items:center!important;justify-content:center!important;
  text-align:center!important;
}
/* Pseudo-element arrows use the exact same vector, including app-created
 * disclosure indicators and gesture hints. */
:root .hg-flow-hint-r233::before,
:root #hgNightSetupR232 .hg-rest-swipe-zone-r243::before,
:root .hg-dw-r233 .hg-dw-swipe-cue span {
  content:""!important;display:block;width:22px;height:22px;margin-inline:auto;
  border:0!important;transform:none!important;background:currentColor;
  -webkit-mask:var(--hg-arrow-up-r256) center/contain no-repeat;
  mask:var(--hg-arrow-up-r256) center/contain no-repeat;
}
:root .hg-dw-r233 .hg-dw-swipe-cue {color:#dfc286;gap:0;}
:root .hg-dw-r233 .hg-dw-swipe-cue span+span {margin-top:-12px;}
:root .hg-narrator-picker-r209 summary::after,
:root .hg-narrator-picker-r209[open] summary::after {
  content:""!important;display:block;width:22px;height:22px;flex:0 0 22px;
  background:currentColor;-webkit-mask:var(--hg-arrow-down-r256) center/contain no-repeat;
  mask:var(--hg-arrow-down-r256) center/contain no-repeat;
}
:root .hg-narrator-picker-r209[open] summary::after {
  -webkit-mask-image:var(--hg-arrow-up-r256);mask-image:var(--hg-arrow-up-r256);
}
/* R253's active narrator selector is a waveform, not a directional arrow.
 * Keep its existing background artwork and remove the default-picker mask. */
:root #hg-bible-reader-transport.hg-audio-controls-r252 #hg-reader-narrator-r211 summary::after,
:root #hg-bible-reader-transport.hg-audio-controls-r252 #hg-reader-narrator-r211 .hg-narrator-picker-r209[open] summary::after {
  -webkit-mask:none;mask:none;
}
/* Wide centered narrator minimize remains the requested exception to width. */
:root #hg-bible-reader-collapse-r227 svg path {stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;fill:none;vector-effect:non-scaling-stroke;}
/* Study Room's custom select adornment no longer uses a filled triangle.
 * The native select and its labels/keyboard behavior remain intact. */
.hg-select-wrap-r256 {position:relative;display:block;flex:1;min-width:0;width:100%;color:#ffd700;}
:root .sr-modal-content .hg-select-wrap-r256 select {background-image:none!important;padding-right:48px;}
.hg-select-wrap-r256::after {content:"";position:absolute;right:15px;top:50%;transform:translateY(-50%);width:22px;height:22px;pointer-events:none;background:currentColor;-webkit-mask:var(--hg-arrow-down-r256) center/contain no-repeat;mask:var(--hg-arrow-down-r256) center/contain no-repeat;}
/* Explicitly marked native disclosures retain details/summary semantics. */
:root summary[data-hg-disclosure-r256] {list-style:none;min-height:44px;cursor:pointer;}
:root summary[data-hg-disclosure-r256]::-webkit-details-marker {display:none;}
:root summary[data-hg-disclosure-r256]::before {content:"";display:inline-block;width:22px;height:22px;margin-right:6px;vertical-align:middle;background:currentColor;-webkit-mask:var(--hg-arrow-right-r256) center/contain no-repeat;mask:var(--hg-arrow-right-r256) center/contain no-repeat;}
:root details[open]>summary[data-hg-disclosure-r256]::before {-webkit-mask-image:var(--hg-arrow-down-r256);mask-image:var(--hg-arrow-down-r256);}
