/* Predict2U v202 — native install, lightweight status and update surfaces */
:root{--p2u-app-green:#77C41C;--p2u-app-ink:#f7f8f5;--p2u-app-bg:#090b0f;--p2u-app-panel:#10141a;--p2u-app-line:#25303a}
.p2u-app-banner{position:fixed;left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));z-index:2147483000;display:flex;align-items:center;gap:12px;max-width:760px;margin:auto;padding:12px 13px;border:1px solid var(--p2u-app-line);border-radius:16px;background:rgba(10,13,17,.98);box-shadow:0 18px 60px rgba(0,0,0,.48);color:var(--p2u-app-ink);transform:translateY(24px);opacity:0;pointer-events:none;transition:transform .18s ease,opacity .18s ease}
.p2u-app-banner.is-show{transform:none;opacity:1;pointer-events:auto}.p2u-app-banner__icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:12px;background:rgba(119,196,28,.14);color:var(--p2u-app-green);font-weight:900}.p2u-app-banner__copy{flex:1;min-width:0}.p2u-app-banner__copy strong{display:block;font-size:14px;line-height:1.2}.p2u-app-banner__copy span{display:block;margin-top:3px;color:#aab2bb;font-size:12px;line-height:1.35}.p2u-app-banner__actions{display:flex;gap:8px;flex-wrap:wrap}.p2u-app-banner button{min-height:40px;padding:0 14px;border-radius:10px;border:1px solid #34404b;background:#141a21;color:#fff;font:800 12px/1 system-ui;cursor:pointer}.p2u-app-banner button[data-primary]{border-color:var(--p2u-app-green);background:var(--p2u-app-green);color:#0a1104}.p2u-app-banner button:focus-visible{outline:2px solid var(--p2u-app-green);outline-offset:2px}
.p2u-network-state{position:fixed;top:calc(8px + env(safe-area-inset-top));left:50%;z-index:2147482999;transform:translate(-50%,-20px);opacity:0;pointer-events:none;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#12171d;color:#fff;font:800 11px/1 system-ui;letter-spacing:.04em;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .16s ease,opacity .16s ease}.p2u-network-state.is-show{transform:translate(-50%,0);opacity:1}.p2u-network-state.is-offline{border-color:rgba(255,98,112,.42);color:#ff8b96}.p2u-network-state.is-online{border-color:rgba(119,196,28,.4);color:var(--p2u-app-green)}
.p2u-install-guide{position:fixed;inset:0;z-index:2147483001;display:none;place-items:end center;padding:18px max(18px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:rgba(0,0,0,.68)}.p2u-install-guide.is-open{display:grid}.p2u-install-guide__card{width:min(520px,100%);border:1px solid var(--p2u-app-line);border-radius:22px;background:var(--p2u-app-panel);padding:20px;color:#fff;box-shadow:0 30px 80px rgba(0,0,0,.6)}.p2u-install-guide__card h2{margin:0 0 8px;font:900 24px/1.1 system-ui}.p2u-install-guide__card p,.p2u-install-guide__card li{color:#aeb7c1;font:500 14px/1.55 system-ui}.p2u-install-guide__card ol{padding-left:20px}.p2u-install-guide__card button{width:100%;min-height:46px;border:0;border-radius:12px;background:var(--p2u-app-green);color:#091004;font:900 14px/1 system-ui;cursor:pointer}
.p2u-install-chip{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:calc(86px + env(safe-area-inset-bottom));z-index:2147482500;display:none;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid var(--p2u-app-green);border-radius:999px;background:var(--p2u-app-green);color:#091004;font:900 13px/1 system-ui;box-shadow:0 12px 36px rgba(0,0,0,.4);cursor:pointer}.p2u-install-chip.is-ready{display:inline-flex}.p2u-install-chip:focus-visible{outline:3px solid rgba(119,196,28,.35);outline-offset:3px}
html.p2u-standalone .p2u-install-chip{display:none!important}
@media(min-width:900px){.p2u-install-chip{bottom:24px}}
@media(max-width:640px){.p2u-app-banner{align-items:flex-start;flex-wrap:wrap}.p2u-app-banner__copy{width:calc(100% - 50px)}.p2u-app-banner__actions{width:100%}.p2u-app-banner__actions button{flex:1}.p2u-network-state{max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media(prefers-reduced-motion:reduce){.p2u-app-banner,.p2u-network-state{transition:none}}
