html.gu-page-loading:not(.gu-feed-page)::before { content:''; position:fixed; inset:0; background:rgba(255,255,255,.65); z-index:2147483000; pointer-events:none; }
html.gu-page-loading:not(.gu-feed-page)::after { content:''; position:fixed; top:45%; left:calc(50% - 20px); width:40px; height:40px; border:4px solid #b6d9c5; border-top-color:#157347; border-radius:50%; animation:gu-loading-spin .8s linear infinite; z-index:2147483001; pointer-events:none; }
.gu-loading-label { position:fixed; top:calc(45% + 56px); left:50%; transform:translateX(-50%); z-index:2147483002; padding:.7rem 1rem; border-radius:12px; background:#fff; box-shadow:0 3px 20px #0002; color:#12231a; text-align:center; max-width:90vw; font:500 15px/1.5 system-ui,sans-serif; }
.gu-loading-label[hidden],.gu-pull-hint[hidden] { display:none!important; }
.gu-loading-label button { display:block; margin:.5rem auto 0; padding:.5rem; }
.gu-feed-page .gu-loading-label { position:static; transform:none; margin:1rem auto; width:fit-content; max-width:100%; box-shadow:none; background:transparent; }
.gu-feed-page .gu-loading-label::before { content:''; display:inline-block; width:22px; height:22px; margin-right:.6rem; vertical-align:middle; border:3px solid #b6d9c5; border-top-color:#157347; border-radius:50%; animation:gu-loading-spin .8s linear infinite; }
.gu-pull-hint { position:fixed; top:max(12px,env(safe-area-inset-top)); left:50%; transform:translateX(-50%); z-index:2147482999; background:#fff; color:#157347; padding:.65rem 1rem; border-radius:24px; box-shadow:0 2px 12px #0003; font:600 14px system-ui,sans-serif; pointer-events:none; }
html.gu-pull-enabled { overscroll-behavior-y:contain; }
@keyframes gu-loading-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce){ html.gu-page-loading::after,.gu-feed-page .gu-loading-label::before { animation:none; } }
@media print { html.gu-page-loading::before,html.gu-page-loading::after,.gu-loading-label,.gu-pull-hint { display:none!important; } }
