/* Soft, compact speech shapes; keep the reader's selected font size. */
html body :is(.angel-speech,.floating-prayer,#mobilePrayer,#angelWhisper,#visitorHugNotice,#riverNotice){
 --bubble-fill:rgba(255,249,236,.82);
 width:max-content!important;min-width:0!important;min-height:0!important;height:auto;
 max-width:min(240px,calc(100vw - 28px));
 padding:8px 12px!important;border-radius:999px!important;text-align:center!important;
 background:var(--bubble-fill)!important;color:#514756;
 border:1px solid rgba(255,255,255,.64)!important;
 box-shadow:0 4px 16px #4c527414,inset 0 1px 0 #ffffff70;
 backdrop-filter:blur(5px);overflow-wrap:anywhere;
}
html body .private-prayer{--bubble-fill:rgba(244,238,251,.84)}
html body :is(.angel-speech,.floating-prayer,#mobilePrayer,#angelWhisper,#visitorHugNotice,#riverNotice):after{
 content:'';position:absolute;left:calc(50% - 5px);bottom:-5px;width:10px;height:10px;
 border:0;border-radius:2px 2px 6px 2px;background:var(--bubble-fill);transform:rotate(45deg);pointer-events:none;
}
html body :is(.angel-speech,#mobilePrayer,#angelWhisper) p,
html body .floating-prayer .float-text{
 margin:0!important;padding:0!important;line-height:1.28!important;text-align:center;
 white-space:normal;word-break:keep-all;overflow-wrap:anywhere;text-wrap:pretty;
}
html body :is(.angel-speech,#mobilePrayer,#angelWhisper) small,
html body .floating-prayer .float-tag{
 display:block;margin:0 0 3px!important;padding:0;line-height:1.2;letter-spacing:0;
 color:#88788e;font-size:max(12px,.85em);
}
html body .floating-prayer .float-bottom{margin:4px 0 0;line-height:1.2;font-size:max(12px,.85em)}
html body :is(.angel-speech span,.floating-prayer .float-bottom):empty{display:none}
html body .angel-speech small:empty{display:none}
html body #worldTime{display:none!important}
@media(max-width:700px){
 html body #mobilePrayer{right:auto}
 html body #angelWhisper{max-width:min(260px,calc(100vw - 28px))!important}
 html:not(.mobile-hud-open) body :is(#mobilePrayer,#angelWhisper){max-width:min(240px,calc(100% - 150px))!important}
 html:not(.mobile-hud-open) body :is(#mobilePrayer,#angelWhisper) small{display:none}
}
#loading{
 z-index:40;padding:28px;color:#405d60;
 background:radial-gradient(ellipse at 50% 40%,#fffaf0 0%,#e6efdf 42%,#cde5e9 100%);
}
#loading .loading-title{font-size:clamp(24px,5.5vw,32px);font-weight:500;letter-spacing:-.7px;margin:0 0 10px;line-height:1.35}
#loading .loading-message{font-size:16px;line-height:1.5;margin:0;word-break:keep-all;overflow-wrap:anywhere;color:#657b7b}
#loading .loading-glow{display:block;width:42px;height:42px;margin:0 auto 24px;border-radius:50%;background:#fff9e2;box-shadow:0 0 36px 12px #fff6d4a0;animation:loading-breathe 2.8s ease-in-out infinite}
#loading a{color:#365d63}
@keyframes loading-breathe{50%{opacity:.55;transform:scale(.86)}}
@media(prefers-reduced-motion:reduce){#loading .loading-glow{animation:none}}


html body #mobilePrayer{display:none!important}
html body:not(.in-sanctuary):not(.writing-at-desk):not(.garden-overview) #angelSpeechLayer{display:block!important}
html body #angelSpeechLayer .angel-speech{
 max-width:min(11em,calc(100vw - 24px))!important;
 border-radius:48% / 36%!important;
 padding:.38em .88em!important;
}
#angelSpeechLayer .angel-speech:after{left:clamp(12px,calc(50% - 5px + var(--tail-offset,0px)),calc(100% - 20px))}

.opening-prayer #arrivalGuide{visibility:hidden}

html body :is(#angelSpeechLayer .angel-speech,#angelWhisper,#mobilePrayer) p{
 font-family:ForestPen,'Malgun Gothic',sans-serif;
 font-size:calc(22px * var(--garden-text-scale,1))!important;
 font-weight:400;
 line-height:1.12!important;
}

/* Give the first prayer a quiet stage before bringing the controls back. */
body.opening-prayer .top,body.opening-prayer #presenceStatus,body.opening-prayer #visitorLabels,
body.opening-prayer #forestGateLabel,body.opening-prayer #prayerDeskLabel{visibility:hidden}
#angelSpeechLayer .angel-speech small:empty{display:none!important}
