/* LHM-MOBILE-002.2 — shared stone/ring/core coordinate system. */
@media (max-width:1023px){
  .lhos-sanctuary-stage{
    --stone-center-x:50%;
    --stone-center-y:44.7%;
    --stone-visible-diameter:min(92vw,360px);
    --lhos-orbit-size:min(82vw,336px);
    --lhos-core-size:52%;
    position:relative!important;
    min-height:600px!important;
    padding:0!important;
    overflow:hidden!important;
    isolation:isolate!important;
  }
  .lhos-sanctuary-stage>.lhos-forest{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;transform:none!important}
  .lhos-sanctuary-stage .lhos-layout{position:absolute!important;z-index:4!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;margin:0!important;transform:none!important;pointer-events:none!important}
  .lhos-sanctuary-stage .assignment-map,.lhos-sanctuary-stage .lhos-notes{display:none!important}
  .lhos-sanctuary-stage .orbit{
    position:absolute!important;
    z-index:4!important;
    left:var(--stone-center-x)!important;
    top:var(--stone-center-y)!important;
    width:var(--lhos-orbit-size)!important;
    height:var(--lhos-orbit-size)!important;
    aspect-ratio:1!important;
    margin:0!important;
    transform:translate(-50%,-50%)!important;
    transform-origin:center!important;
    pointer-events:auto!important;
  }
  .lhos-sanctuary-stage .seal-stage{position:absolute!important;z-index:2!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important}
  .lhos-sanctuary-stage .orbit button{z-index:5!important}
  .lhos-sanctuary-stage .orbit-copy{
    position:absolute!important;
    z-index:4!important;
    left:50%!important;
    top:50%!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    width:var(--lhos-core-size)!important;
    height:var(--lhos-core-size)!important;
    min-width:0!important;
    aspect-ratio:1/1!important;
    min-height:0!important;
    padding:12%!important;
    transform:translate(-50%,-50%) scale(.94)!important;
    border:1px solid rgba(224,187,104,.48)!important;
    border-radius:50%!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    background:radial-gradient(circle,rgba(20,57,43,.95),rgba(9,37,28,.9) 72%,rgba(9,37,28,.74))!important;
    box-shadow:inset 0 0 24px rgba(226,192,112,.08),0 8px 24px rgba(4,22,16,.24)!important;
    text-align:center!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s!important;
  }
  .lhos-sanctuary-stage .orbit-copy[hidden]{display:none!important}
  .lhos-sanctuary-stage .orbit-copy[data-open="true"]{visibility:visible!important;opacity:1!important;transform:translate(-50%,-50%) scale(1)!important;transition:opacity .24s ease,transform .24s ease!important}
  .lhos-sanctuary-stage .orbit-copy small{display:block!important;margin:0 0 3px!important;color:#d9b760!important;font-size:8px!important;line-height:1.2!important;letter-spacing:.2em!important}
  .lhos-sanctuary-stage .orbit-copy strong{display:block!important;margin:0 0 5px!important;color:#f0ddad!important;font-size:clamp(16px,4.4vw,20px)!important;line-height:1.05!important}
  .lhos-sanctuary-stage .orbit-copy p{margin:0!important;color:#eee4d2!important;font-size:clamp(13px,3.45vw,15px)!important;line-height:1.35!important;overflow-wrap:anywhere}
  .lhos-sanctuary-stage .orbit-copy>span{display:none!important}
  .lhos-mobile-cue[hidden]{display:none!important}
  .lhos-mobile-cue{position:absolute!important;z-index:6!important;left:50%!important;top:calc(var(--stone-center-y) - (var(--lhos-orbit-size) / 2) - 30px)!important;width:max-content!important;max-width:90%!important;margin:0!important;transform:translateX(-50%)!important}

  body.lhos-hitbox-debug .lhos-sanctuary-stage::before{
    content:"";position:absolute;z-index:7;left:var(--stone-center-x);top:var(--stone-center-y);width:var(--stone-visible-diameter);height:var(--stone-visible-diameter);border:2px dashed rgba(255,229,110,.9);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none
  }
  body.lhos-hitbox-debug .lhos-sanctuary-stage::after{
    content:"";position:absolute;z-index:10;left:var(--stone-center-x);top:var(--stone-center-y);width:18px;height:18px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(circle,#fff 0 2px,#41d7ff 2px 4px,transparent 4px 6px,#ff557d 6px 8px,transparent 8px);box-shadow:0 0 0 1px #fff
  }
  body.lhos-hitbox-debug .lhos-sanctuary-stage .orbit{outline:2px solid rgba(65,215,255,.9)!important;outline-offset:0!important}
  body.lhos-hitbox-debug .lhos-sanctuary-stage .orbit-copy{box-shadow:0 0 0 2px #ff557d,inset 0 0 24px rgba(226,192,112,.08)!important}
  body.lhos-hitbox-debug .lhos-sanctuary-stage .orbit::after,
  body.lhos-hitbox-debug .lhos-sanctuary-stage .orbit-copy::after{content:"";position:absolute;z-index:12;left:50%;top:50%;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;background:#41d7ff;box-shadow:0 0 0 2px #071c15}
  body.lhos-hitbox-debug .lhos-sanctuary-stage .orbit-copy::after{background:#ff557d;width:4px;height:4px;box-shadow:0 0 0 1px #fff}
}

@media (max-width:359px){
  .lhos-sanctuary-stage{--lhos-orbit-size:min(82vw,264px);--lhos-core-size:52%;min-height:560px!important}
  .lhos-sanctuary-stage .orbit-copy{padding:5%!important}
  .lhos-sanctuary-stage .orbit-copy small{display:none!important}
  .lhos-sanctuary-stage .orbit-copy strong{font-size:16px!important}.lhos-sanctuary-stage .orbit-copy p{font-size:13px!important;line-height:1.2!important}
}

@media (min-width:768px) and (max-width:1023px){
  .lhos-sanctuary-stage{--stone-visible-diameter:min(58vw,470px);--lhos-orbit-size:min(58vw,460px);--lhos-core-size:50%;min-height:650px!important}
  .lhos-sanctuary-stage .orbit-copy{padding:14%!important}
  .lhos-sanctuary-stage .orbit-copy p{font-size:14px!important}
}

@media (min-width:768px) and (max-width:1023px) and (orientation:landscape){
  .lhos-sanctuary-stage{--stone-visible-diameter:min(70vh,430px);--lhos-orbit-size:min(82vw,78vh,430px);min-height:520px!important}
  .lhos-sanctuary-stage .orbit-copy{padding:8%!important}
  .lhos-sanctuary-stage .orbit-copy strong{font-size:16px!important}
  .lhos-sanctuary-stage .orbit-copy p{font-size:13px!important;line-height:1.25!important}
}

@media (max-width:767px) and (prefers-reduced-motion:reduce){
  .lhos-sanctuary-stage .orbit-copy{transition:none!important}
}
