Harshasnade's picture
Initialize clean space deployment
ee00155
/* ==================== PWA STYLES ==================== */
/* PWA Install Button */
.pwa-install-button {
position: fixed;
bottom: 30px;
right: 30px;
z-index: 1000;
display: flex;
align-items: center;
gap: 10px;
padding: 14px 24px;
background: var(--accent-yellow);
color: #000;
border: none;
border-radius: 50px;
font-size: 15px;
font-weight: 600;
cursor: pointer;
box-shadow: 0 10px 40px rgba(227, 245, 20, 0.3);
transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
opacity: 0;
transform: translateY(20px) scale(0.9);
pointer-events: none;
}
.pwa-install-button.visible {
opacity: 1;
transform: translateY(0) scale(1);
pointer-events: all;
}
.pwa-install-button:hover {
transform: translateY(-2px) scale(1.05);
box-shadow: 0 15px 50px rgba(227, 245, 20, 0.4);
}
.pwa-install-button:active {
transform: translateY(0) scale(0.98);
}
.pwa-install-button svg {
width: 20px;
height: 20px;
}
/* PWA Update Notification */
.pwa-update-notification {
position: fixed;
top: 20px;
left: 50%;
transform: translateX(-50%) translateY(-120%);
z-index: 10000;
background: rgba(0, 0, 0, 0.95);
backdrop-filter: blur(20px);
border: 1px solid rgba(227, 245, 20, 0.3);
border-radius: 16px;
padding: 0;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
max-width: 500px;
width: 90%;
}
.pwa-update-notification.visible {
transform: translateX(-50%) translateY(0);
}
.update-content {
display: flex;
align-items: center;
gap: 16px;
padding: 20px;
position: relative;
}
.update-icon {
font-size: 40px;
flex-shrink: 0;
}
.update-text {
flex: 1;
}
.update-text strong {
color: var(--accent-yellow);
font-size: 16px;
display: block;
margin-bottom: 4px;
}
.update-text p {
color: #888;
font-size: 13px;
margin: 0;
}
.update-btn {
padding: 10px 20px;
background: var(--accent-yellow);
color: #000;
border: none;
border-radius: 8px;
font-size: 14px;
font-weight: 600;
cursor: pointer;
transition: all 0.2s ease;
flex-shrink: 0;
}
.update-btn:hover {
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(227, 245, 20, 0.3);
}
.update-dismiss {
position: absolute;
top: 10px;
right: 10px;
background: transparent;
border: none;
color: #666;
font-size: 18px;
cursor: pointer;
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
transition: all 0.2s ease;
}
.update-dismiss:hover {
background: rgba(255, 255, 255, 0.1);
color: #fff;
}
/* iOS Install Prompt */
.ios-install-prompt {
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 10000;
background: rgba(0, 0, 0, 0.98);
backdrop-filter: blur(20px);
border-top: 1px solid rgba(255, 255, 255, 0.1);
padding: 30px 20px;
transform: translateY(100%);
transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.ios-install-prompt.visible {
transform: translateY(0);
}
.ios-prompt-content {
max-width: 500px;
margin: 0 auto;
position: relative;
}
.ios-prompt-close {
position: absolute;
top: -10px;
right: 0;
background: transparent;
border: none;
color: #666;
font-size: 24px;
cursor: pointer;
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
}
.ios-prompt-icon {
text-align: center;
margin-bottom: 15px;
}
.ios-prompt-content h3 {
color: var(--accent-yellow);
text-align: center;
font-size: 20px;
margin-bottom: 10px;
}
.ios-prompt-content p {
color: #888;
text-align: center;
margin-bottom: 15px;
}
.ios-prompt-content ol {
color: #fff;
padding-left: 20px;
font-size: 14px;
line-height: 1.8;
}
.ios-prompt-content ol li {
margin-bottom: 8px;
}
.ios-prompt-content ol strong {
color: var(--accent-yellow);
}
/* PWA Mode Adjustments */
body.pwa-mode {
/* Add any PWA-specific styles */
}
/* iOS PWA Status Bar Spacing */
body.ios-pwa {
padding-top: env(safe-area-inset-top);
padding-bottom: env(safe-area-inset-bottom);
}
body.ios-pwa .navbar {
padding-top: calc(env(safe-area-inset-top) + 20px);
}
/* Hide install button on mobile when already in PWA mode */
body.pwa-mode .pwa-install-button {
display: none;
}
/* Mobile-specific adjustments */
@media (max-width: 768px) {
.pwa-install-button {
bottom: 20px;
right: 20px;
padding: 12px 20px;
font-size: 14px;
}
.pwa-update-notification {
top: 10px;
width: 95%;
}
.update-content {
flex-wrap: wrap;
padding: 15px;
}
.update-btn {
width: 100%;
margin-top: 10px;
}
}
/* Slideup animation for simple toast */
@keyframes slideUp {
from {
opacity: 0;
transform: translate(-50%, 20px);
}
to {
opacity: 1;
transform: translate(-50%, 0);
}
}