/* Universal install experience inspired by the CULINARAX PWA flow. */
:root{--pwa-safe-top:env(safe-area-inset-top,0px);--pwa-safe-right:env(safe-area-inset-right,0px);--pwa-safe-bottom:env(safe-area-inset-bottom,0px);--pwa-safe-left:env(safe-area-inset-left,0px);--pwa-accent:#22d3ee;--pwa-accent-2:#6366f1;--pwa-panel:#07111f;--pwa-text:#f8fafc;--pwa-muted:#b7c7d8;--pwa-border:rgba(125,211,252,.32)}
.pwa-install-trigger{position:fixed;z-index:2147482800;display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 15px;border:1px solid var(--pwa-border);border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--pwa-panel) 92%,transparent),color-mix(in srgb,var(--pwa-panel) 82%,var(--pwa-accent) 18%));color:var(--pwa-text);font:800 12px/1.1 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.05em;box-shadow:0 15px 42px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.09);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);cursor:pointer;touch-action:manipulation;transition:transform .2s ease,opacity .2s ease,border-color .2s ease,filter .2s ease}
.pwa-install-trigger:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--pwa-accent) 70%,white 12%);filter:brightness(1.08)}
.pwa-install-trigger:active{transform:scale(.97)}
.pwa-install-trigger svg{width:18px;height:18px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pwa-install-trigger[data-position="top-right"]{top:calc(74px + var(--pwa-safe-top));right:calc(14px + var(--pwa-safe-right))}
.pwa-install-trigger[data-position="bottom-left"]{left:calc(14px + var(--pwa-safe-left));bottom:calc(14px + var(--pwa-safe-bottom))}
.pwa-install-trigger[data-position="bottom-center"]{left:50%;bottom:calc(14px + var(--pwa-safe-bottom));transform:translateX(-50%)}
.pwa-install-trigger[data-position="bottom-center"]:hover{transform:translateX(-50%) translateY(-2px)}
.pwa-install-trigger[data-position="bottom-center"]:active{transform:translateX(-50%) scale(.97)}
.pwa-install-trigger[hidden]{display:none!important}
.pwa-install-dialog{width:min(560px,calc(100vw - 24px));max-height:min(760px,calc(100dvh - 24px));padding:0;border:1px solid var(--pwa-border);border-radius:26px;background:linear-gradient(155deg,color-mix(in srgb,var(--pwa-panel) 98%,black 2%),color-mix(in srgb,var(--pwa-panel) 88%,var(--pwa-accent-2) 12%));color:var(--pwa-text);box-shadow:0 34px 100px rgba(0,0,0,.58);overflow:hidden;overscroll-behavior:contain}
.pwa-install-dialog::backdrop{background:rgba(2,6,15,.70);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.pwa-install-dialog__body{position:relative;display:grid;gap:18px;padding:clamp(25px,6vw,42px);overflow:auto;max-height:min(760px,calc(100dvh - 24px))}
.pwa-install-dialog__close{position:absolute;top:14px;right:14px;width:40px;height:40px;border:1px solid var(--pwa-border);border-radius:13px;background:rgba(255,255,255,.06);color:var(--pwa-text);font:700 24px/1 system-ui;cursor:pointer}
.pwa-install-dialog__badge{display:inline-flex;width:max-content;align-items:center;gap:8px;padding:7px 11px;border:1px solid color-mix(in srgb,var(--pwa-accent) 45%,transparent);border-radius:999px;background:color-mix(in srgb,var(--pwa-accent) 12%,transparent);color:color-mix(in srgb,var(--pwa-accent) 80%,white 20%);font:800 10px/1.1 Inter,system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.pwa-install-dialog h2{margin:0;padding-right:36px;font:800 clamp(27px,7vw,42px)/1.02 Inter,system-ui,sans-serif;letter-spacing:-.035em}
.pwa-install-dialog p{margin:0;color:var(--pwa-muted);font:500 14px/1.65 Inter,system-ui,sans-serif}
.pwa-install-steps{display:grid;gap:10px;margin:0;padding:0;list-style:none;counter-reset:pwa-step}
.pwa-install-steps li{counter-increment:pwa-step;display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:start;padding:13px;border:1px solid color-mix(in srgb,var(--pwa-border) 74%,transparent);border-radius:16px;background:rgba(255,255,255,.045);color:var(--pwa-text);font:600 13px/1.48 Inter,system-ui,sans-serif}
.pwa-install-steps li::before{content:counter(pwa-step);display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:linear-gradient(135deg,var(--pwa-accent),var(--pwa-accent-2));color:#04111d;font-weight:900}
.pwa-install-actions{display:flex;flex-wrap:wrap;gap:10px}
.pwa-install-primary,.pwa-install-secondary{min-height:48px;padding:0 18px;border-radius:14px;font:800 12px/1 Inter,system-ui,sans-serif;letter-spacing:.045em;cursor:pointer}
.pwa-install-primary{flex:1 1 210px;border:0;background:linear-gradient(135deg,var(--pwa-accent),var(--pwa-accent-2));color:#04111d;box-shadow:0 12px 30px color-mix(in srgb,var(--pwa-accent-2) 30%,transparent)}
.pwa-install-secondary{flex:0 1 auto;border:1px solid var(--pwa-border);background:rgba(255,255,255,.055);color:var(--pwa-text)}
.pwa-install-note{display:flex;gap:9px;align-items:flex-start;padding:11px 12px;border-radius:14px;background:color-mix(in srgb,var(--pwa-accent) 8%,transparent);color:var(--pwa-muted)!important;font-size:12px!important}
.pwa-install-toast{position:fixed;z-index:2147483646;left:50%;bottom:calc(20px + var(--pwa-safe-bottom));max-width:calc(100vw - 28px);transform:translate(-50%,22px);padding:12px 16px;border:1px solid var(--pwa-border);border-radius:999px;background:color-mix(in srgb,var(--pwa-panel) 94%,transparent);color:var(--pwa-text);font:700 12px/1.25 Inter,system-ui,sans-serif;box-shadow:0 18px 50px rgba(0,0,0,.42);opacity:0;pointer-events:none;transition:.25s;white-space:normal;text-align:center}
.pwa-install-toast.is-visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:640px){.pwa-install-trigger{min-height:42px;padding:9px 12px;font-size:10px}.pwa-install-dialog__body{padding:28px 20px 22px}.pwa-install-actions{display:grid}.pwa-install-primary,.pwa-install-secondary{width:100%}}
@media(prefers-reduced-motion:reduce){.pwa-install-trigger,.pwa-install-toast{transition:none!important}}

:root{--pwa-accent:#ffd45c;--pwa-accent-2:#2e8fc2;--pwa-panel:#0b1d31;--pwa-border:rgba(255,212,92,.38)}
