#chapelShortcut,#pilgrimUnavailable button,#chapel button{
  appearance:none;border:1px solid #e6cf9d66;background:#254239;color:#fff2d5;
  border-radius:12px;font:700 15px/1.25 "Gowun Dodum",sans-serif;min-height:44px;
  padding:8px 14px;cursor:pointer
}
#chapelShortcut{position:fixed;z-index:5;left:10px;bottom:calc(env(safe-area-inset-bottom) + 14px)}
#chapelShortcut:hover,#pilgrimUnavailable button:hover,#chapel button:hover{background:#33564a}
#chapelShortcut:focus-visible,#pilgrimUnavailable button:focus-visible,#chapel button:focus-visible{
  outline:2px solid #ffe0a5;outline-offset:3px
}
#pilgrimUnavailable:not([hidden]){
  display:grid;place-items:end start;position:fixed;inset:0;padding:clamp(24px,7vw,90px);
  background:linear-gradient(20deg,#172520 0%,#172520a1 34%,transparent 68%),url('./chapel-preview.webp') center/cover no-repeat;
  color:#fff2d5
}
#pilgrimUnavailable h1{font-family:Jua,sans-serif;font-size:clamp(32px,7vw,68px);font-weight:400}
#pilgrimUnavailable p{margin:8px 0 18px;font-size:17px}
.pilgrim-no-webgl :is(#hud,#joy,#tools,#chapelShortcut){display:none}
#chapel{
  position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;
  padding:0;border:0;overflow:hidden;background:#322821 url('./chapel-preview.webp') center/cover no-repeat;
  color:#fff3db
}
#chapel::backdrop{background:#322821}
#chapelCanvas,.chapelSurface{position:absolute;inset:0;width:100%;height:100%;visibility:hidden}
#chapel.live :is(#chapelCanvas,.chapelSurface){visibility:visible}
#chapel:has(.chapelSurface) #chapelCanvas{display:none}
.chapelHeader,.chapelFooter{position:absolute;left:0;right:0;display:flex;justify-content:space-between;gap:12px;pointer-events:none}
.chapelHeader{
  top:0;align-items:flex-start;padding:calc(env(safe-area-inset-top) + 18px) max(18px,env(safe-area-inset-right)) 30px max(18px,env(safe-area-inset-left));
  background:linear-gradient(#1f2b23d9,transparent)
}
.chapelHeader h2{font:400 clamp(27px,5vw,45px)/1.15 Jua,sans-serif;text-shadow:0 2px 8px #26160d}
.chapelFooter{bottom:0;align-items:flex-end;padding:50px 18px calc(env(safe-area-inset-bottom) + 18px);background:linear-gradient(transparent,#1c2923ec)}
#chapel button{pointer-events:auto}
#chapelStatus{font-size:16px;line-height:1.45;margin:0 0 8px;text-shadow:0 1px 4px #231911}
#chapel:not(.live) :is(#chapelMove,#chapelSeat){display:none}
#chapelMove{display:grid;grid-template-columns:repeat(3,44px);gap:4px;touch-action:none}
#chapelMove button{padding:0;font-size:20px;background:#254239e6;touch-action:none}
#chapelMove button:first-child{grid-column:2}
#chapelMove button:nth-child(2){grid-column:1}
@media(max-width:450px){
  .chapelFooter{padding-left:12px;padding-right:12px}
  #chapelStatus{font-size:14px}
}

#joy.walkStick,#chapelMove.walkStick {
  position:fixed;left:max(20px,env(safe-area-inset-left));right:auto;
  bottom:calc(env(safe-area-inset-bottom) + 22px);z-index:6;
  display:grid;place-items:center;width:clamp(92px,21vw,112px);height:auto;aspect-ratio:1;
  border:1px solid #f9e9c875;border-radius:50%;background:#273b3288;
  box-shadow:inset 0 0 0 7px #fff7df12,0 6px 18px #14231936;
  touch-action:none;pointer-events:auto;cursor:grab
}
.walkStick span {
  display:block;width:47%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 36% 32%,#fff0cf,#d3bb87);
  box-shadow:0 2px 8px #0006,inset 0 0 0 1px #fff7de;
  pointer-events:none
}
.orbitTools {
  position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(env(safe-area-inset-bottom) + 18px);
  z-index:6;display:flex;gap:6px;pointer-events:auto
}
.orbitTools button {
  background:#243b32e8;color:#fff4d9;border:1px solid #e6cf9d80;border-radius:12px;
  padding:7px 10px;min-height:40px;font:700 13px "Gowun Dodum",sans-serif;cursor:pointer
}
#chapelShortcut {left:max(20px,env(safe-area-inset-left));bottom:calc(env(safe-area-inset-bottom) + 146px)}
#chapel .chapelFooter {padding-left:155px;padding-right:16px}
#chapel .chapelControls {padding-bottom:53px}
#chapel:not(.live) :is(#chapelMove,#chapelOrbitTools),.pilgrim-no-webgl #mainOrbitTools {display:none}
#chapel:not(.live) .chapelFooter {padding-left:18px}
#chapel:not(.live) .chapelControls {padding-bottom:0}
@media(max-width:480px){
  #chapel .chapelFooter {padding-left:120px}
  #chapelShortcut {bottom:calc(env(safe-area-inset-bottom) + 125px)}
}
.pilgrim-no-webgl #joy.walkStick {display:none}
#portrait.portraitStill {background:#543e2d url('./pilgrim-portrait.webp') center/contain no-repeat}
#portrait.portraitStill::before {display:none}
