/* COOL ETHAN'S GEOCITIES STYLE CSS */

body {
    font-family: "Comic Sans MS", cursive, sans-serif;
    background: #000040 url('data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==') repeat;
    margin: 0;
    padding: 10px;
    overflow-x: auto;
}

/* Animated starfield background */
.stars {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: 
        radial-gradient(2px 2px at 20px 30px, #eee, transparent),
        radial-gradient(2px 2px at 40px 70px, rgba(255,255,255,0.8), transparent),
        radial-gradient(1px 1px at 90px 40px, #fff, transparent),
        radial-gradient(1px 1px at 130px 80px, rgba(255,255,255,0.6), transparent),
        radial-gradient(2px 2px at 160px 30px, #ddd, transparent);
    background-repeat: repeat;
    background-size: 200px 100px;
    animation: sparkle 3s linear infinite;
}

@keyframes sparkle {
    from { transform: translateY(0px); }
    to { transform: translateY(-100px); }
}

/* Classic Geocities styling */
h1 {
    color: #FF0000;
    text-shadow: 2px 2px 4px #000000;
    font-size: 24px;
    text-align: center;
    margin: 20px 0;
    animation: rainbow 3s linear infinite;
}

@keyframes rainbow {
    0% { color: #FF0000; }
    16% { color: #FF8000; }
    33% { color: #FFFF00; }
    50% { color: #00FF00; }
    66% { color: #0080FF; }
    83% { color: #8000FF; }
    100% { color: #FF0000; }
}

/* Blink animation for old school effect */
@keyframes blink {
    0%, 50% { opacity: 1; }
    51%, 100% { opacity: 0; }
}

blink, .blink {
    animation: blink 1s linear infinite;
}

/* Tables with Geocities styling */
table {
    border-collapse: separate;
    border-spacing: 2px;
    font-family: "Comic Sans MS", cursive, sans-serif;
}

td {
    padding: 8px;
    vertical-align: top;
}

/* Button styling */
button, .big-button {
    background: linear-gradient(to bottom, #FFD700 0%, #FFA500 100%);
    border: 3px outset #FFD700;
    color: #000080;
    font-family: "Comic Sans MS", cursive, sans-serif;
    font-weight: bold;
    font-size: 14px;
    padding: 8px 16px;
    cursor: pointer;
    text-transform: uppercase;
    box-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

.big-button {
    font-size: 18px;
    padding: 12px 24px;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

button:hover {
    background: linear-gradient(to bottom, #FFFF00 0%, #FFD700 100%);
    border-color: #FFFF00;
    transform: translateY(-1px);
}

button:active {
    border: 3px inset #FFD700;
    transform: translateY(1px);
    box-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}

button:disabled {
    background: #CCCCCC;
    border-color: #999999;
    color: #666666;
    cursor: not-allowed;
    transform: none;
    animation: none;
}

/* Achievement styling */
.achievement {
    border: 2px solid;
    margin: 5px 0;
    padding: 8px;
    font-size: 11px;
    text-align: center;
    border-radius: 0; /* Keep it boxy for Geocities feel */
}

.achievement.locked {
    background: #808080;
    border-color: #404040;
    color: #C0C0C0;
}

.achievement.unlocked {
    background: #FFD700;
    border-color: #FF8000;
    color: #800000;
    animation: achievement-unlock 2s ease-in-out;
    box-shadow: 0 0 10px #FFD700;
}

@keyframes achievement-unlock {
    0% { transform: scale(1); box-shadow: 0 0 10px #FFD700; }
    50% { transform: scale(1.1); box-shadow: 0 0 20px #FFFF00; }
    100% { transform: scale(1); box-shadow: 0 0 10px #FFD700; }
}

/* Marquee alternative for modern browsers */
marquee {
    display: block;
    width: 100%;
    height: 30px;
    overflow: hidden;
    position: relative;
    border: 2px solid #FF0000;
}

marquee font {
    display: inline-block;
    padding-left: 100%;
    animation: marquee 10s linear infinite;
}

@keyframes marquee {
    0% { transform: translateX(0%); }
    100% { transform: translateX(-100%); }
}

/* Links with classic styling */
a {
    color: #00FFFF;
    text-decoration: underline;
    font-weight: bold;
}

a:visited {
    color: #FF00FF;
}

a:hover {
    color: #FFFF00;
    text-shadow: 1px 1px 2px #000000;
}

/* Number displays */
#widgets, #widgets-per-sec {
    font-family: "Courier New", monospace;
    font-weight: bold;
    font-size: 20px;
    text-shadow: 1px 1px 2px #000000;
}

/* Stats table */
#total-clicks, #total-widgets, #play-time {
    font-family: "Courier New", monospace;
    font-weight: bold;
}

/* Visitor counter styling */
#visitor-count {
    font-family: "Courier New", monospace;
    font-weight: bold;
    color: #00FF00;
    background: #000000;
    padding: 2px 4px;
    border: 1px solid #00FF00;
}

/* Generator table row hover effects */
table tr:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

/* Classic HR styling */
hr {
    border: none;
    height: 4px;
    background: linear-gradient(to right, transparent, currentColor, transparent);
    margin: 10px 0;
}

/* Web ring table */
table[bgcolor="#FFFF00"] {
    animation: glow 2s ease-in-out infinite alternate;
}

@keyframes glow {
    from { box-shadow: 0 0 5px #FFFF00; }
    to { box-shadow: 0 0 20px #FFFF00, 0 0 30px #FFFF00; }
}

/* Under construction gif animation */
img[width="20"] {
    animation: construction 1s linear infinite;
}

@keyframes construction {
    0%, 100% { filter: hue-rotate(0deg); }
    25% { filter: hue-rotate(90deg); }
    50% { filter: hue-rotate(180deg); }
    75% { filter: hue-rotate(270deg); }
}

/* Mobile responsiveness (while keeping the Geocities feel) */
@media (max-width: 768px) {
    body {
        padding: 5px;
        font-size: 14px;
    }
    
    table[width="100%"] {
        width: 100% !important;
    }
    
    td[width="70%"], td[width="30%"] {
        width: 100% !important;
        display: block;
    }
    
    h1 {
        font-size: 18px;
    }
    
    .big-button {
        font-size: 16px;
        padding: 10px 20px;
    }
    
    marquee {
        width: 150px;
    }
}

@media (max-width: 480px) {
    h1 {
        font-size: 16px;
    }
    
    table {
        font-size: 12px;
    }
    
    button {
        font-size: 12px;
        padding: 6px 12px;
    }
    
    .big-button {
        font-size: 14px;
        padding: 8px 16px;
    }
}

/* Special effects for true Geocities nostalgia */
.geocities-special {
    background: linear-gradient(45deg, #FF0000, #FFFF00, #00FF00, #00FFFF, #0000FF, #FF00FF);
    background-size: 600% 600%;
    animation: rainbow-bg 3s ease infinite;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

@keyframes rainbow-bg {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Particle effects for clicking */
.click-particle {
    position: absolute;
    font-size: 20px;
    font-weight: bold;
    color: #FFD700;
    text-shadow: 2px 2px 4px #000000;
    pointer-events: none;
    z-index: 1000;
    animation: floatUp 1.5s ease-out forwards;
}

@keyframes floatUp {
    0% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    100% {
        opacity: 0;
        transform: translateY(-50px) scale(1.2);
    }
}

/* Auto-clicker visual indicator */
.auto-click-indicator {
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    background: #00FF00;
    color: #000000;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
    animation: bounce 0.5s ease-in-out;
    z-index: 999;
}

@keyframes bounce {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50% { transform: translateX(-50%) translateY(-10px); }
}

/* Notification system */
.notification {
    position: fixed;
    top: 20px;
    right: 20px;
    background: #FFD700;
    border: 3px solid #FF8000;
    color: #800000;
    padding: 12px 16px;
    border-radius: 8px;
    font-weight: bold;
    box-shadow: 0 4px 8px rgba(0,0,0,0.3);
    z-index: 10000;
    animation: slideIn 0.5s ease-out, fadeOut 0.5s ease-in 3.5s forwards;
    max-width: 300px;
}

@keyframes slideIn {
    from { transform: translateX(100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

@keyframes fadeOut {
    from { opacity: 1; }
    to { opacity: 0; }
}

/* Prestige glow effect */
.prestige-glow {
    animation: prestige-shine 3s linear infinite;
    box-shadow: 0 0 20px #FF00FF;
    border-color: #FF00FF !important;
}

@keyframes prestige-shine {
    0% { box-shadow: 0 0 20px #FF00FF; }
    50% { box-shadow: 0 0 40px #FFFF00, 0 0 60px #FF00FF; }
    100% { box-shadow: 0 0 20px #FF00FF; }
}

/* Settings panel */
.settings-panel {
    position: fixed;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
    background: #000080;
    border: 3px solid #FFD700;
    color: #FFFFFF;
    padding: 20px;
    border-radius: 8px;
    z-index: 9999;
    box-shadow: 0 8px 16px rgba(0,0,0,0.5);
    display: none;
}

.settings-panel h3 {
    color: #FFD700;
    margin-top: 0;
    text-align: center;
}

.settings-panel label {
    display: block;
    margin: 10px 0;
    cursor: pointer;
}

.settings-panel input[type="checkbox"] {
    margin-right: 8px;
}

/* Export/Import controls */
.save-controls {
    margin: 15px 0;
    text-align: center;
}

.save-controls textarea {
    width: 100%;
    height: 100px;
    margin: 10px 0;
    padding: 8px;
    border: 2px solid #FFD700;
    background: #000040;
    color: #FFFFFF;
    font-family: "Courier New", monospace;
    font-size: 12px;
}

/* Milestone celebration */
.milestone-celebration {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, rgba(255,215,0,0.3) 0%, transparent 70%);
    z-index: 9998;
    pointer-events: none;
    animation: celebrate 2s ease-out forwards;
}

@keyframes celebrate {
    0% { opacity: 0; transform: scale(0.5); }
    50% { opacity: 1; transform: scale(1.1); }
    100% { opacity: 0; transform: scale(1); }
}

/* Auto-clicker status */
.auto-clicker-status {
    position: relative;
    display: inline-block;
}

.auto-clicker-active::after {
    content: "AUTO";
    position: absolute;
    top: -8px;
    right: -8px;
    background: #00FF00;
    color: #000000;
    font-size: 8px;
    padding: 2px 4px;
    border-radius: 2px;
    font-weight: bold;
}

/* NEW EXCITING GEOCITIES ANIMATIONS! */

/* Matrix-style falling numbers background */
.matrix-rain {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    overflow: hidden;
    pointer-events: none;
}

.matrix-column {
    position: absolute;
    top: -100px;
    font-family: "Courier New", monospace;
    font-size: 14px;
    color: #00FF00;
    text-shadow: 0 0 5px #00FF00;
    animation: matrix-fall linear infinite;
    opacity: 0.6;
}

@keyframes matrix-fall {
    0% { transform: translateY(-100px); opacity: 0; }
    10% { opacity: 0.8; }
    90% { opacity: 0.8; }
    100% { transform: translateY(calc(100vh + 100px)); opacity: 0; }
}

/* Screen shake effect for major clicks */
.screen-shake {
    animation: screen-shake 0.5s ease-in-out;
}

@keyframes screen-shake {
    0%, 100% { transform: translateX(0); }
    10% { transform: translateX(-10px); }
    20% { transform: translateX(10px); }
    30% { transform: translateX(-8px); }
    40% { transform: translateX(8px); }
    50% { transform: translateX(-6px); }
    60% { transform: translateX(6px); }
    70% { transform: translateX(-4px); }
    80% { transform: translateX(4px); }
    90% { transform: translateX(-2px); }
}

/* Spinning retro elements */
.retro-spin {
    display: inline-block;
    animation: retro-spin 3s linear infinite;
}

@keyframes retro-spin {
    from { transform: rotate(0deg) scale(1); }
    25% { transform: rotate(90deg) scale(1.1); }
    50% { transform: rotate(180deg) scale(0.9); }
    75% { transform: rotate(270deg) scale(1.1); }
    to { transform: rotate(360deg) scale(1); }
}

/* Neon sign flickering for generators */
.neon-flicker {
    animation: neon-flicker 4s infinite;
    text-shadow: 
        0 0 5px currentColor,
        0 0 10px currentColor,
        0 0 15px currentColor,
        0 0 20px #ff00ff,
        0 0 30px #ff00ff;
}

@keyframes neon-flicker {
    0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% {
        text-shadow: 
            0 0 5px currentColor,
            0 0 10px currentColor,
            0 0 15px currentColor,
            0 0 20px #ff00ff,
            0 0 30px #ff00ff;
    }
    20%, 24%, 55% {
        text-shadow: none;
    }
}

/* Retro computer terminal scan lines */
.terminal-effect::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        transparent 50%,
        rgba(0, 255, 0, 0.05) 50%,
        rgba(0, 255, 0, 0.1) 51%,
        transparent 52%
    );
    background-size: 100% 4px;
    animation: scan-lines 0.1s linear infinite;
    pointer-events: none;
    z-index: 1000;
}

@keyframes scan-lines {
    0% { transform: translateY(0); }
    100% { transform: translateY(4px); }
}

/* Explosion effect for milestones */
.explosion {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 200px;
    height: 200px;
    margin: -100px 0 0 -100px;
    background: radial-gradient(
        circle,
        #FFD700 0%,
        #FF8000 20%,
        #FF0000 40%,
        #FF00FF 60%,
        transparent 80%
    );
    border-radius: 50%;
    animation: explosion 1s ease-out forwards;
    z-index: 9999;
    pointer-events: none;
}

@keyframes explosion {
    0% {
        transform: scale(0) rotate(0deg);
        opacity: 1;
    }
    50% {
        transform: scale(1.5) rotate(180deg);
        opacity: 0.8;
    }
    100% {
        transform: scale(3) rotate(360deg);
        opacity: 0;
    }
}

/* Retro TV static effect */
.tv-static {
    position: relative;
    overflow: hidden;
}

.tv-static::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 80%, transparent 20%, rgba(255,255,255,0.1) 21%, rgba(255,255,255,0.1) 25%, transparent 26%),
        radial-gradient(circle at 80% 20%, transparent 20%, rgba(255,255,255,0.1) 21%, rgba(255,255,255,0.1) 25%, transparent 26%),
        radial-gradient(circle at 40% 40%, transparent 20%, rgba(255,255,255,0.05) 21%, rgba(255,255,255,0.05) 25%, transparent 26%);
    animation: tv-static 0.5s infinite;
    pointer-events: none;
    opacity: 0.3;
}

@keyframes tv-static {
    0% { transform: translate(0, 0); }
    10% { transform: translate(-5px, -10px); }
    20% { transform: translate(-10px, 5px); }
    30% { transform: translate(5px, -5px); }
    40% { transform: translate(-5px, 15px); }
    50% { transform: translate(-10px, 5px); }
    60% { transform: translate(15px, 0px); }
    70% { transform: translate(0px, 10px); }
    80% { transform: translate(-15px, 0px); }
    90% { transform: translate(10px, 5px); }
    100% { transform: translate(5px, 0px); }
}

/* Retro pixelated zoom effect */
.pixel-zoom {
    animation: pixel-zoom 2s ease-in-out infinite;
    image-rendering: pixelated;
    image-rendering: -moz-crisp-edges;
    image-rendering: crisp-edges;
}

@keyframes pixel-zoom {
    0%, 100% { transform: scale(1); filter: contrast(1); }
    50% { transform: scale(1.2); filter: contrast(1.5); }
}

/* Disco ball effect for achievements */
.disco-ball {
    position: relative;
    background: linear-gradient(45deg, #FFD700, #FFA500, #FFD700, #FFA500);
    background-size: 20px 20px;
    animation: disco-spin 3s linear infinite;
}

@keyframes disco-spin {
    0% { 
        background-position: 0 0;
        filter: hue-rotate(0deg);
    }
    100% { 
        background-position: 20px 20px;
        filter: hue-rotate(360deg);
    }
}

/* Retro laser beam effect */
.laser-beam {
    position: relative;
    overflow: hidden;
}

.laser-beam::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -100%;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, 
        transparent, 
        #FF0000, 
        #FFFF00, 
        #00FF00, 
        #00FFFF, 
        #FF00FF, 
        transparent
    );
    animation: laser-sweep 2s ease-in-out infinite;
    z-index: 1;
}

@keyframes laser-sweep {
    0% { left: -100%; }
    100% { left: 100%; }
}

/* Retro computer boot-up text effect */
.boot-text {
    font-family: "Courier New", monospace;
    color: #00FF00;
    background: #000000;
    padding: 2px 4px;
    border: 1px solid #00FF00;
    animation: boot-type 3s steps(40, end) infinite;
    overflow: hidden;
    white-space: nowrap;
}

@keyframes boot-type {
    0% { width: 0; }
    100% { width: 100%; }
}

/* Classic Geocities rainbow border */
.rainbow-border {
    border: 4px solid;
    border-image: linear-gradient(45deg, 
        #FF0000, #FF8000, #FFFF00, #00FF00, 
        #00FFFF, #0080FF, #8000FF, #FF00FF
    ) 1;
    animation: rainbow-border-spin 3s linear infinite;
}

@keyframes rainbow-border-spin {
    0% { border-image-source: linear-gradient(0deg, #FF0000, #FF8000, #FFFF00, #00FF00, #00FFFF, #0080FF, #8000FF, #FF00FF); }
    25% { border-image-source: linear-gradient(90deg, #FF0000, #FF8000, #FFFF00, #00FF00, #00FFFF, #0080FF, #8000FF, #FF00FF); }
    50% { border-image-source: linear-gradient(180deg, #FF0000, #FF8000, #FFFF00, #00FF00, #00FFFF, #0080FF, #8000FF, #FF00FF); }
    75% { border-image-source: linear-gradient(270deg, #FF0000, #FF8000, #FFFF00, #00FF00, #00FFFF, #0080FF, #8000FF, #FF00FF); }
    100% { border-image-source: linear-gradient(360deg, #FF0000, #FF8000, #FFFF00, #00FF00, #00FFFF, #0080FF, #8000FF, #FF00FF); }
}

/* Enhanced widget number display with effects */
#widgets {
    position: relative;
    display: inline-block;
}

.widget-counter-glow {
    animation: widget-glow 2s ease-in-out infinite alternate;
    text-shadow: 
        2px 2px 4px #000000,
        0 0 10px #FFD700,
        0 0 20px #FFD700,
        0 0 30px #FFD700;
}

@keyframes widget-glow {
    0% { text-shadow: 2px 2px 4px #000000, 0 0 10px #FFD700; }
    100% { text-shadow: 2px 2px 4px #000000, 0 0 20px #FFFF00, 0 0 30px #FFFF00, 0 0 40px #FFFF00; }
}

/* OFFLINE PROGRESS MODAL STYLES */

.offline-progress-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: fadeIn 0.5s ease-out;
}

.offline-progress-content {
    background: linear-gradient(135deg, #000066 0%, #330099 100%);
    border: 5px solid #FFD700;
    border-radius: 15px;
    width: 90%;
    max-width: 500px;
    box-shadow: 0 0 50px #FFD700;
    position: relative;
    animation: slideInScale 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@keyframes slideInScale {
    0% {
        transform: scale(0.7) translateY(-50px);
        opacity: 0;
    }
    100% {
        transform: scale(1) translateY(0);
        opacity: 1;
    }
}

.offline-progress-header {
    background: linear-gradient(90deg, #FFD700, #FF8000, #FFD700);
    padding: 20px;
    border-bottom: 3px solid #FFFFFF;
    text-align: center;
    border-radius: 10px 10px 0 0;
}

.offline-progress-header h2 {
    color: #000080;
    margin: 0;
    text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.5);
    font-size: 28px;
    animation: bounce 2s infinite;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
    40% { transform: translateY(-10px); }
    60% { transform: translateY(-5px); }
}

.offline-progress-body {
    padding: 25px;
    text-align: center;
    color: #FFFFFF;
}

.offline-time {
    margin-bottom: 20px;
}

.offline-time h3 {
    color: #FFFF99;
    margin: 10px 0;
    text-shadow: 2px 2px 4px #000000;
}

.time-display {
    font-size: 32px;
    font-weight: bold;
    color: #00FFFF;
    text-shadow: 3px 3px 6px #000000;
    margin: 15px 0;
    animation: pulse 2s infinite;
    font-family: "Courier New", monospace;
}

.offline-widgets {
    margin-bottom: 25px;
}

.offline-widgets h3 {
    color: #FFFF99;
    margin: 10px 0;
    text-shadow: 2px 2px 4px #000000;
}

.widget-display {
    font-size: 36px;
    font-weight: bold;
    color: #FFD700;
    text-shadow: 3px 3px 6px #000000;
    margin: 15px 0;
    animation: glow 2s ease-in-out infinite alternate;
    font-family: "Courier New", monospace;
}

@keyframes glow {
    0% { 
        color: #FFD700; 
        text-shadow: 3px 3px 6px #000000, 0 0 20px #FFD700;
    }
    100% { 
        color: #FFFF00; 
        text-shadow: 3px 3px 6px #000000, 0 0 30px #FFFF00, 0 0 40px #FFD700;
    }
}

.offline-note {
    color: #CCCCCC;
    font-style: italic;
    margin-top: 10px;
}

.collect-btn {
    background: linear-gradient(45deg, #00FF00, #00CC00);
    color: #FFFFFF;
    border: 4px solid #FFFF00;
    padding: 15px 30px;
    font-size: 20px;
    font-weight: bold;
    border-radius: 10px;
    cursor: pointer;
    text-transform: uppercase;
    text-shadow: 2px 2px 4px #000000;
    animation: collectPulse 1.5s infinite;
    transition: all 0.3s;
}

@keyframes collectPulse {
    0% { 
        transform: scale(1);
        box-shadow: 0 0 20px rgba(0, 255, 0, 0.5);
    }
    50% { 
        transform: scale(1.05);
        box-shadow: 0 0 30px rgba(0, 255, 0, 0.8), 0 0 40px rgba(255, 255, 0, 0.4);
    }
    100% { 
        transform: scale(1);
        box-shadow: 0 0 20px rgba(0, 255, 0, 0.5);
    }
}

.collect-btn:hover {
    background: linear-gradient(45deg, #00DD00, #00AA00);
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0, 255, 0, 0.4);
}

.collect-btn:active {
    transform: translateY(0);
}

/* Offline reward particle animation */
.offline-reward-particle {
    font-family: "Courier New", monospace;
    animation: floatUp 3s ease-out forwards;
}

@keyframes floatUp {
    0% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    100% {
        opacity: 0;
        transform: translateY(-80px) scale(1.3);
    }
}

/* Flash fade animation for collection effect */
@keyframes flashFade {
    0% { opacity: 0.5; }
    50% { opacity: 0.8; }
    100% { opacity: 0; }
}

/* Mobile responsiveness for offline progress */
@media (max-width: 768px) {
    .offline-progress-content {
        width: 95%;
        margin: 20px;
    }
    
    .offline-progress-header h2 {
        font-size: 24px;
    }
    
    .time-display {
        font-size: 28px;
    }
    
    .widget-display {
        font-size: 30px;
    }
    
    .collect-btn {
        font-size: 18px;
        padding: 12px 25px;
    }
    
    .offline-progress-body {
        padding: 20px;
    }
}

