/*
   TRH tablet touch affordances — tablet-only owner.
   Scope: coarse-pointer TRH devices that are NOT handled by the isolated
   phone implementation. This file only enlarges interaction targets; it does
   not own stage geometry, portrait sizing, or desktop/mobile composition.
*/
@media (hover:none) and (pointer:coarse){
  /* Keep the antique-gold speaker visually centred in its original 28px slot,
     but make the real button box larger for touch. The slot preserves nav
     geometry; no pseudo-element hit-testing is required. */
  html:not(.trh-phone-mode) body.trh-page .trh-audio-slot .trh-audio-toggle--nav{
    position:absolute;
    top:-18px;
    left:-22px;
    width:60px;
    height:64px;
    touch-action:manipulation;
  }

  html:not(.trh-phone-mode) body.trh-page .trh-audio-slot .trh-audio-toggle--nav svg{
    transform:translateX(6px);
  }

  /* The original dots are 12×12 design pixels and become too small after the
     2048px TRH stage is scaled onto a tablet. The button owns a larger target;
     ::before preserves the approved 12×12 visible ornament. */
  html:not(.trh-phone-mode) body.trh-page .trh-character-pagination{
    gap:0;
    padding:9px 12px;
  }

  html:not(.trh-phone-mode) body.trh-page .trh-character-dot{
    position:relative;
    width:48px;
    height:48px;
    min-width:48px;
    min-height:48px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    transform:none;
    touch-action:manipulation;
  }

  html:not(.trh-phone-mode) body.trh-page .trh-character-dot::before{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:12px;
    height:12px;
    box-sizing:border-box;
    border:1px solid rgba(222,181,91,.82);
    border-radius:50%;
    background:transparent;
    transform:translate(-50%,-50%);
    transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;
  }

  html:not(.trh-phone-mode) body.trh-page .trh-character-dot:hover,
  html:not(.trh-phone-mode) body.trh-page .trh-character-dot:focus-visible{
    border-color:transparent;
    outline:none;
    transform:none;
  }

  html:not(.trh-phone-mode) body.trh-page .trh-character-dot:hover::before,
  html:not(.trh-phone-mode) body.trh-page .trh-character-dot:focus-visible::before{
    border-color:#efd28b;
  }

  html:not(.trh-phone-mode) body.trh-page .trh-character-dot:focus-visible::before{
    box-shadow:0 0 0 2px rgba(239,210,139,.28);
  }

  html:not(.trh-phone-mode) body.trh-page .trh-character-dot.is-active{
    background:transparent;
    box-shadow:none;
  }

  html:not(.trh-phone-mode) body.trh-page .trh-character-dot.is-active::before{
    background:#edcb78;
    box-shadow:0 0 10px rgba(236,202,118,.24);
  }
}
