:root{--pink:#ff1e8e;--light-pink:#ffd9e8;--light-purple:#e8d8ff;--purple:#7056b3;--yellow:#ffde59;--blue:#3d7cb9;--light-blue:#c0e6ff;--gradient:linear-gradient(135deg,var(--blue),var(--purple))}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{color:#333;font-family:Montserrat,sans-serif;line-height:1.6;overflow-x:hidden}
.pwa-banner{z-index:9999;border:2px solid var(--light-pink);background:#fffffff7;border-radius:15px;align-items:center;gap:12px;padding:14px 16px;font-family:Montserrat,sans-serif;animation:.4s ease-out pwa-slide-up;display:flex;position:fixed;bottom:70px;left:10px;right:10px;box-shadow:0 -4px 20px #00000026,0 4px 10px #0000001a}@keyframes pwa-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.pwa-app-icon{border-radius:12px;box-shadow:0 2px 8px #00000026}.pwa-bell-icon{color:var(--pink);font-size:1.8rem;animation:2s ease-in-out 1s pwa-bell-ring}@keyframes pwa-bell-ring{0%,60%,to{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-12deg)}30%{transform:rotate(10deg)}40%{transform:rotate(-8deg)}50%{transform:rotate(4deg)}}.pwa-update-icon{color:var(--blue);font-size:1.6rem}.pwa-banner-icon{flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.pwa-banner-content{flex:1;min-width:0}.pwa-banner-title{color:var(--purple);margin-bottom:2px;font-family:Bungee,cursive;font-size:.85rem;line-height:1.2}.pwa-banner-text{color:#666;font-size:.8rem;line-height:1.3}.pwa-banner-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.pwa-btn-primary{background:var(--gradient);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:25px;padding:8px 18px;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:700;transition:transform .2s,box-shadow .2s;box-shadow:0 3px 8px #4169e14d}.pwa-btn-primary:active{transform:translateY(2px);box-shadow:0 1px 4px #4169e14d}.pwa-btn-dismiss{color:#aaa;cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:1.1rem;line-height:1;transition:color .2s}.pwa-btn-dismiss:hover,.pwa-btn-dismiss:focus{color:#666}.pwa-toast{z-index:10001;background:linear-gradient(135deg,var(--light-purple),var(--light-pink));border:2px solid var(--pink);cursor:pointer;border-radius:15px;align-items:center;gap:12px;padding:14px 16px;font-family:Montserrat,sans-serif;animation:.4s ease-out pwa-slide-down;display:flex;position:fixed;top:16px;left:16px;right:16px;box-shadow:0 6px 20px #0003}@keyframes pwa-slide-down{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.pwa-toast-icon{flex-shrink:0}.pwa-toast-icon img{border-radius:8px}.pwa-toast-content{flex:1;min-width:0}.pwa-toast-title{color:var(--purple);margin-bottom:2px;font-family:Bungee,cursive;font-size:.85rem}.pwa-toast-body{color:#555;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;line-height:1.3;overflow:hidden}.pwa-toast-close{color:var(--purple);cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;padding:4px;font-size:1rem;transition:opacity .2s}.pwa-toast-close:hover{opacity:1}@media (max-width:360px){.pwa-banner{flex-wrap:wrap;gap:10px;padding:12px}.pwa-banner-icon{display:none}.pwa-banner-actions{justify-content:flex-end;width:100%}}@media (min-width:768px){.pwa-banner{max-width:500px;bottom:80px;left:auto;right:20px}.pwa-toast{max-width:450px;left:auto;right:20px}}
.install-overlay{z-index:10000;-webkit-backdrop-filter:blur(6px);background:#0009;justify-content:center;align-items:center;padding:16px;animation:.3s ease-out install-fade-in;display:flex;position:fixed;inset:0}@keyframes install-fade-in{0%{opacity:0}to{opacity:1}}.install-modal{border:3px solid var(--light-pink);-webkit-overflow-scrolling:touch;background:#fff;border-radius:24px;width:100%;max-width:420px;max-height:90vh;padding:32px 24px 24px;animation:.4s ease-out install-slide-up;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}@keyframes install-slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.install-close{color:#aaa;cursor:pointer;z-index:1;background:0 0;border:none;border-radius:50%;padding:6px 8px;font-size:1.3rem;line-height:1;transition:color .2s,background .2s;position:absolute;top:12px;right:12px}.install-close:hover,.install-close:focus{color:#666;background:#0000000d}.install-hero{text-align:center;margin-bottom:20px}.install-app-icon{border-radius:20px;margin-bottom:16px;box-shadow:0 4px 16px #7056b340}.install-title{color:var(--purple);margin-bottom:10px;font-family:Bungee,cursive;font-size:1.25rem;line-height:1.3}.install-subtitle{color:#555;font-family:Montserrat,sans-serif;font-size:.9rem;line-height:1.5}.install-benefits{flex-direction:column;gap:10px;margin:0 0 20px;padding:0;list-style:none;display:flex}.install-benefit{color:#444;align-items:center;gap:12px;font-family:Montserrat,sans-serif;font-size:.85rem;line-height:1.4;display:flex}.benefit-icon{background:linear-gradient(135deg,var(--light-purple),var(--light-pink));width:36px;height:36px;color:var(--purple);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;display:flex}.install-instructions{border:1px solid var(--light-pink);background:linear-gradient(135deg,#faf5ff,#fff5f9);border-radius:16px;margin-bottom:20px;padding:18px 16px}.install-how-label{color:var(--pink);text-transform:uppercase;letter-spacing:.05em;text-align:center;margin-bottom:14px;font-family:Bungee,cursive;font-size:.8rem}.install-browser-note{color:#555;border-left:3px solid var(--pink);background:#ffffffb3;border-radius:10px;margin-bottom:14px;padding:10px 12px;font-family:Montserrat,sans-serif;font-size:.82rem;line-height:1.5}.install-steps{counter-reset:none;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.install-steps li{color:#444;align-items:center;gap:10px;font-family:Montserrat,sans-serif;font-size:.85rem;line-height:1.4;display:flex}.step-num{background:var(--gradient);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.8rem;font-weight:700;display:flex}.step-icon{width:28px;color:var(--purple);flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.step-hint{color:#888;font-size:.78rem}.install-alt-hint{text-align:center;margin-top:10px;line-height:1.5}.install-actions{flex-direction:column;align-items:center;gap:10px;display:flex}.install-cta{background:var(--gradient);color:#fff;cursor:pointer;border:none;border-radius:30px;width:100%;padding:14px 24px;font-family:Bungee,cursive;font-size:1rem;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #3d7cb959}.install-cta:active{transform:translateY(2px);box-shadow:0 2px 8px #3d7cb94d}.install-later{color:#999;cursor:pointer;background:0 0;border:none;padding:6px 12px;font-family:Montserrat,sans-serif;font-size:.82rem;transition:color .2s}.install-later:hover,.install-later:focus{color:#666}@media (max-width:360px){.install-modal{border-radius:20px;padding:24px 16px 18px}.install-title{font-size:1.1rem}.install-subtitle{font-size:.82rem}.install-benefit{font-size:.8rem}.benefit-icon{width:30px;height:30px;font-size:.85rem}}@media (min-width:768px){.install-modal{max-width:460px;padding:36px 32px 28px}.install-title{font-size:1.4rem}}
