.loading-screen{min-height:65vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:40px 24px;color:var(--green);text-align:center}.loading-screen p{font:13px Arial,'Khmer OS Battambang',sans-serif;letter-spacing:1px}.loading-cup{position:relative;display:inline-block;width:38px;height:46px;flex-shrink:0}.loading-cup>span{position:absolute;left:3px;bottom:1px;width:27px;height:24px;border:2px solid currentColor;border-radius:2px 2px 12px 12px;overflow:hidden}.loading-cup>span:before{content:'';position:absolute;left:0;right:0;bottom:0;height:11px;background:currentColor;opacity:.2;animation:tea-fill 2.4s ease-in-out infinite}.loading-cup:after{content:'';position:absolute;right:1px;bottom:9px;width:9px;height:10px;border:2px solid currentColor;border-left:0;border-radius:0 8px 8px 0}.loading-cup>i{position:absolute;left:9px;top:5px;width:3px;height:10px;border-radius:5px;background:currentColor;opacity:0;animation:tea-steam 1.8s ease-out infinite}.loading-cup>i:nth-child(2){left:17px;animation-delay:.35s}.loading-cup>i:nth-child(3){left:25px;animation-delay:.7s}.request-loading{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:30;display:flex;align-items:center;gap:16px;width:max-content;max-width:calc(100% - 32px);padding:14px 22px;background:#fffdf8;color:#263f32;border:1px solid #d8ddcf;border-radius:9px;box-shadow:0 8px 35px #263f3220;font:13px Arial,'Khmer OS Battambang',sans-serif;animation:loading-appear .2s ease-out}.request-loading[hidden],.qr-loader[hidden]{display:none}.request-loading .loading-cup{transform:scale(.8);margin:-4px}.is-loading{cursor:progress}.is-loading #app{opacity:.7;transition:opacity .15s}.is-busy:before,.mini-spinner{content:'';display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:tea-spin .8s linear infinite;vertical-align:middle}.is-busy:before{margin-right:9px}.qr-preview{position:relative;min-height:130px;aspect-ratio:1}.qr-preview img{opacity:0;transition:opacity .2s}.qr-preview.is-ready img{opacity:1}.qr-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:14px;text-align:center;font:12px Arial,sans-serif;color:#78836f}.qr-loader .mini-spinner{width:24px;height:24px}@keyframes tea-steam{0%{opacity:0;transform:translateY(4px) scaleY(.7)}40%{opacity:.55}100%{opacity:0;transform:translateY(-7px) scaleY(1.2)}}@keyframes tea-fill{0%,100%{transform:translateY(3px)}50%{transform:translateY(-3px)}}@keyframes tea-spin{to{transform:rotate(360deg)}}@keyframes loading-appear{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.loading-cup>i,.loading-cup>span:before,.mini-spinner,.is-busy:before,.request-loading{animation:none}.loading-cup>i{opacity:.4}.is-loading #app,.qr-preview img{transition:none}}
