/* Custom styles for SVG Blob Generator */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

body {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
}

/* Checkerboard Background Pattern */
.bg-pattern {
    background-color: #f8fafc; /* Slate 50 */
    background-image: linear-gradient(45deg, #e2e8f0 25%, transparent 25%, transparent 75%, #e2e8f0 75%, #e2e8f0), 
                      linear-gradient(45deg, #e2e8f0 25%, transparent 25%, transparent 75%, #e2e8f0 75%, #e2e8f0);
    background-size: 20px 20px;
    background-position: 0 0, 10px 10px;
}

.dark .bg-pattern {
    background-color: #0f172a; /* Slate 900 */
    background-image: linear-gradient(45deg, #1e293b 25%, transparent 25%, transparent 75%, #1e293b 75%, #1e293b), 
                      linear-gradient(45deg, #1e293b 25%, transparent 25%, transparent 75%, #1e293b 75%, #1e293b);
}

/* Custom Range Slider styling */
input[type=range] {
    -webkit-appearance: none;
    width: 100%;
}
input[type=range]:focus {
    outline: none;
}
input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #3B82F6;
    cursor: pointer;
    border: 3px solid white;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    margin-top: -6px; /* center thumb */
}
.dark input[type=range]::-webkit-slider-thumb {
    border-color: #1f2937;
}

input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px;
    cursor: pointer;
    border-radius: 999px;
}

/* Form inputs reset */
input[type="color"]::-webkit-color-swatch-wrapper {
    padding: 0;
}
input[type="color"]::-webkit-color-swatch {
    border: 2px solid rgba(0,0,0,0.1);
    border-radius: 8px;
}
.dark input[type="color"]::-webkit-color-swatch {
    border-color: rgba(255,255,255,0.1);
}

/* Animations */
@keyframes showToast {
    0% { opacity: 0; transform: translateY(20px); }
    10% { opacity: 1; transform: translateY(0); }
    90% { opacity: 1; transform: translateY(0); }
    100% { opacity: 0; transform: translateY(20px); }
}

.toast-animate {
    animation: showToast 3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

#blob-render svg {
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 20px 25px rgba(0, 0, 0, 0.15));
    transition: filter 0.3s ease;
}
.dark #blob-render svg {
    filter: drop-shadow(0 20px 25px rgba(0, 0, 0, 0.5));
}
