html[data-app]{-webkit-touch-callout:none}html[data-app] body{-webkit-user-select:none;-moz-user-select:none;user-select:none}html[data-app] img{-webkit-user-drag:none}html[data-app] .app-selectable,html[data-app] .app-selectable *,html[data-app] [contenteditable],html[data-app] input,html[data-app] select,html[data-app] textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text;-webkit-touch-callout:default}html[data-app] :focus:not(:focus-visible){outline:none}html:not([data-app]) [data-app-only],html[data-app] [data-web-only]{display:none!important}.app-ptr{position:fixed;left:50%;top:calc(env(safe-area-inset-top, 0px) + 8px);z-index:9999;width:32px;height:32px;margin-top:-40px;border-radius:9999px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.18);border:3px solid #e2e8f0;border-top:3px solid var(--brand-600,#4f46e5);opacity:0;transform:translate(-50%);pointer-events:none}.app-ptr-busy{animation:app-ptr-spin .7s linear infinite;opacity:1!important;transform:translate(-50%,56px)!important}@keyframes app-ptr-spin{to{transform:translate(-50%,56px) rotate(1turn)}}.app-offline{position:fixed;left:0;right:0;top:0;z-index:9998;padding:calc(env(safe-area-inset-top, 0px) + 6px) 12px 6px;background:#0f172a;color:#f8fafc;font-size:13px;font-weight:600;text-align:center;transform:translateY(-100%);transition:transform .2s ease}.app-offline-on{transform:translateY(0)}