/* VergeOn app (PWA): install banner under the header, welcome screen, iPhone help sheet */
.pwa-bar{background:linear-gradient(90deg,#0f1b15,#18251D 55%,#1d2f24);color:#fff;border-bottom:1px solid #b7ff7224;overflow:hidden;max-height:0;opacity:0;transition:max-height .35s ease,opacity .3s ease}
.pwa-bar.show{max-height:120px;opacity:1}
.pwa-bar-in{display:flex;align-items:center;gap:12px;min-height:64px;padding-top:10px;padding-bottom:10px}
.pwa-bar-ic{width:44px;height:44px;border-radius:12px;flex:none;box-shadow:0 6px 16px -8px #000c}
.pwa-bar-tx{flex:1;min-width:0;line-height:1.3}
.pwa-bar-tx b{display:block;font-size:.95rem}
.pwa-bar-tx span{display:block;font-size:.8rem;color:#c5cec7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pwa-bar-go{flex:none;min-height:40px;padding:9px 20px;border-radius:99px;border:0;background:#B7FF72;color:#10230f;font:inherit;font-size:.88rem;font-weight:800;cursor:pointer;transition:transform .15s,box-shadow .15s}
.pwa-bar-go:hover{transform:translateY(-1px);box-shadow:0 8px 18px -10px #b7ff72}
.pwa-bar-x{flex:none;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#c5cec7;cursor:pointer;margin-right:-8px}
.pwa-bar-x:hover{background:#ffffff14;color:#fff}
@media(max-width:420px){.pwa-bar-tx span{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pwa-bar-go{padding:9px 16px}}

html.pwa-lock,html.pwa-lock body{overflow:hidden}
.pwa-welcome{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));background:radial-gradient(120% 75% at 50% 0%,#29402f 0%,#12201a 52%,#0b130e 100%);color:#f3efe8;opacity:0;transition:opacity .35s ease;overflow-y:auto}
.pwa-welcome:before{content:"";position:absolute;inset:auto -20% -30% -20%;height:60%;background:radial-gradient(closest-side,#94000033,transparent);pointer-events:none}
.pwa-welcome.show{opacity:1}
.pwa-welcome.hide{opacity:0}
.pwa-w-card{position:relative;width:100%;max-width:440px;text-align:center;transform:translateY(18px) scale(.98);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.pwa-welcome.show .pwa-w-card{transform:none}
.pwa-w-top{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:26px}
.pwa-w-ic{width:76px;height:76px;border-radius:22px;box-shadow:0 22px 44px -18px #000,0 0 0 1px #ffffff14}
.pwa-w-logo{width:150px;height:auto;opacity:.95}
.pwa-w-card h2{font-size:clamp(1.6rem,6vw,2.1rem);line-height:1.15;margin:0 0 12px;color:#fff}
.pwa-w-tx{margin:0 auto 22px;max-width:360px;color:#c9cfca;font-size:1rem;line-height:1.55}
.pwa-w-pts{list-style:none;margin:0 auto 28px;padding:0;max-width:340px;display:grid;gap:10px;text-align:left}
.pwa-w-pts li{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:#ffffff0d;border:1px solid #ffffff12;font-size:.94rem;opacity:0;transform:translateY(8px);animation:pwaIn .45s ease forwards}
.pwa-w-pts svg{flex:none;width:28px;height:28px;padding:5px;border-radius:50%;background:#B7FF72;color:#10230f}
@keyframes pwaIn{to{opacity:1;transform:none}}
.pwa-w-act{display:flex;flex-direction:column;gap:10px;max-width:340px;margin:0 auto}
.pwa-btn{display:block;width:100%;min-height:52px;padding:14px 22px;border-radius:99px;border:2px solid #B7FF72;background:#B7FF72;color:#10230f;font:inherit;font-weight:800;font-size:1rem;cursor:pointer;transition:transform .15s,box-shadow .15s}
.pwa-btn:hover{transform:translateY(-1px);box-shadow:0 12px 26px -14px #b7ff72}
.pwa-btn.ghost{background:transparent;color:#fff;border-color:#ffffff38}
.pwa-btn.ghost:hover{border-color:#B7FF72;box-shadow:none}
.pwa-btn[hidden]{display:none}
.pwa-w-skip{position:absolute;top:max(14px,env(safe-area-inset-top));right:14px;min-height:40px;padding:8px 16px;border-radius:99px;border:0;background:#ffffff12;color:#dfe5e0;font:inherit;font-size:.86rem;font-weight:600;cursor:pointer}
.pwa-w-skip:hover{background:#ffffff22;color:#fff}
@media(max-height:620px){.pwa-w-top{margin-bottom:16px;gap:10px}.pwa-w-ic{width:60px;height:60px}.pwa-w-pts{margin-bottom:18px}.pwa-w-pts li{padding:9px 12px}}

.pwa-ios{position:fixed;inset:0;z-index:310;display:flex;align-items:flex-end;justify-content:center;background:#0009;opacity:0;transition:opacity .25s}
.pwa-ios.show{opacity:1}
.pwa-ios-sheet{width:100%;max-width:480px;background:var(--card,#fff);color:var(--ink,#151515);border-radius:22px 22px 0 0;padding:24px 22px max(22px,env(safe-area-inset-bottom));transform:translateY(30px);transition:transform .3s}
.pwa-ios.show .pwa-ios-sheet{transform:none}
.pwa-ios h2{font-size:1.25rem;margin:0 0 12px}
.pwa-ios ol{margin:0 0 20px;padding-left:22px;display:grid;gap:10px;line-height:1.5}
.pwa-ios ol svg{vertical-align:-4px;color:#007aff}

@media(prefers-reduced-motion:reduce){.pwa-bar,.pwa-welcome,.pwa-w-card,.pwa-ios,.pwa-ios-sheet{transition:none}.pwa-w-pts li{animation:none;opacity:1;transform:none}}
/* inside the installed app: no "install" prompts */
html.is-app .pwa-bar{display:none}
.pwa-welcome :focus-visible{outline:3px solid #fff;outline-offset:3px}
