/* Install banner / modal (install.js) */
.psl-install{position:fixed;left:0;right:0;bottom:0;z-index:1000;display:flex;justify-content:center;padding:0 .75rem calc(.75rem + env(safe-area-inset-bottom));pointer-events:none;transform:translateY(110%);transition:transform .3s ease}
.psl-install.in{transform:none}
.psl-card{position:relative;pointer-events:auto;width:100%;max-width:420px;background:var(--card,#121d36);color:var(--ink,#e9eef8);border:1px solid var(--line,#24345a);border-top:3px solid var(--beam,#ffd36b);border-radius:14px;padding:1rem 1.1rem;box-shadow:0 12px 40px rgba(0,0,0,.55)}
.psl-head{display:flex;gap:.8rem;align-items:center;padding-right:1.6rem}.psl-head img{border-radius:12px;flex:none}
.psl-head h2{margin:0;font-size:1.1rem;line-height:1.25}.psl-sub{margin:.15rem 0 0;color:var(--muted,#9aa8c2);font-size:.88rem}
.psl-x{position:absolute;top:.4rem;right:.5rem;background:transparent!important;color:var(--muted,#9aa8c2)!important;font-size:1.5rem!important;line-height:1;padding:.2rem .45rem!important;border:0}
.psl-x:hover{color:var(--ink,#e9eef8)!important}
.psl-why{list-style:none;margin:.8rem 0 .6rem;padding:0;font-size:.92rem}.psl-why li{padding:.18rem 0}
.psl-steps{list-style:none;margin:.4rem 0 .6rem;padding:.6rem .7rem;background:#0e1830;border:1px solid var(--line,#24345a);border-radius:10px;font-size:.92rem}
.psl-steps li{display:flex;gap:.6rem;align-items:flex-start;padding:.3rem 0}
.psl-steps .n{flex:none;width:1.45rem;height:1.45rem;border-radius:50%;background:var(--beam,#ffd36b);color:#1a1300;font-weight:700;font-size:.8rem;display:flex;align-items:center;justify-content:center}
.psl-steps .ico{width:1.1em;height:1.1em;vertical-align:-.2em;color:#4da3ff}
.psl-actions{display:flex;gap:.6rem;margin-top:.4rem}.psl-actions button{flex:1;padding:.6rem .8rem;font-size:1rem}
.psl-arrow{display:none}
@media (max-width:600px){.psl-install.ios .psl-arrow{display:block;position:absolute;left:50%;bottom:-1.15rem;transform:translateX(-50%);color:var(--beam,#ffd36b);font-size:1rem;animation:psl-bob 1.2s ease-in-out infinite}}
@media (min-width:900px){.psl-install{justify-content:flex-end;padding-right:1.5rem}}
@keyframes psl-bob{50%{transform:translate(-50%,4px)}}
.psl-toast{position:fixed;left:50%;bottom:calc(1.2rem + env(safe-area-inset-bottom));transform:translate(-50%,150%);z-index:1001;background:#1d2c1f;border:1px solid #2f6b44;color:var(--ink,#e9eef8);padding:.7rem 1rem;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.5);transition:transform .35s ease;max-width:92vw;font-size:.95rem}
.psl-toast.in{transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){.psl-install,.psl-toast{transition:none}.psl-arrow{animation:none!important}}
