.dm-pwa-prompt{position:fixed;left:50%;bottom:var(--space-4);transform:translateX(-50%);z-index:var(--z-modal);width:calc(100% - var(--space-4) * 2);max-width:420px;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-5) var(--space-5) var(--space-4);font-family:var(--font-sans);animation:dm-pwa-rise var(--motion-base) var(--ease-out)}@keyframes dm-pwa-rise{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.dm-pwa-grab{width:38px;height:4px;border-radius:var(--radius-full);background:var(--border-strong);margin:0 auto var(--space-4)}.dm-pwa-title{font-size:16px;font-weight:700;margin:0 0 var(--space-1);text-align:center}.dm-pwa-lead{font-size:13px;color:var(--text-secondary);text-align:center;margin:0 0 var(--space-4);line-height:1.45}.dm-pwa-actions{display:flex;flex-direction:column;gap:var(--space-1)}.dm-pwa-install-btn{display:flex;width:100%;align-items:center;justify-content:center;gap:7px;font-family:inherit;font-size:15px;font-weight:600;padding:12px 16px;border-radius:var(--radius-md);border:none;cursor:pointer;background:var(--accent);color:var(--text-on-accent);transition:background var(--motion-fast)}.dm-pwa-install-btn:hover{background:var(--accent-hover)}.dm-pwa-install-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dm-pwa-hint{font-size:12px;color:var(--text-muted);text-align:center;margin:var(--space-2) 0 0}.dm-pwa-dismiss{display:block;width:100%;text-align:center;background:transparent;border:none;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;color:var(--text-secondary);padding:10px;border-radius:var(--radius-md);transition:color var(--motion-fast)}.dm-pwa-dismiss:hover{color:var(--text-primary)}.dm-pwa-dismiss:focus-visible,.dm-pwa-install-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.dm-pwa-prompt{animation:none}}