body { 
    margin: 0; 
    overflow: hidden; 
    background-color: #f0f0f0;
    font-family: 'Onest', sans-serif;
}
#canvas-container {
    width: 100%;
    height: 100svh;
    position: relative;
}
#zoom-control-container {
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 150px;
    z-index: 100;
    background: white;
    padding: 2px 12px;
    border-radius: 60px;
    display: flex;
    align-items: center;
    gap: 8px;
    
    svg {
        width: 18px;
        height: 18px;
        opacity: 0.3;
    }
}
.zoom-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 4px;
    border-radius: 4px;
    background: #ddd;
    outline: none;
    margin: 15px 0;
}
.zoom-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #343B29;
    cursor: pointer;
}
.zoom-slider::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #343B29;
    cursor: pointer;
}

.logo {
    position: absolute;
    top: 24px;
    right: 24px;
    filter: drop-shadow(1px 1px black);
    opacity: 1;
    user-select: none;
    z-index: 2;
    
    img {
        filter: brightness(0);
        opacity: 0.2;
        height: 28px;
    }
}
#loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255,255,255,0.95);
    padding: 12px;
    border-radius: 8px;
    box-shadow: 0 0 25px rgba(0,0,0,0.3);
    border-radius: 60px;
    
    &:before {
        content: '';
        display: block;
        width: 64px;
        height: 64px;
        background: url(https://mindive.com.br/wp-content/uploads/2025/06/cropped-favicon-1-180x180.webp) center center / cover;
    }
    
    &:after {
        content: '';
        display: block;
        width: 72px;
        height: 72px;
        position: absolute;
        top: 4px;
        left: 4px;
        border: 4px solid rgba(0,0,0,0.2);
        border-top-color: transparent;
        border-radius: 50%;
        animation: spin 2s infinite linear;
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

#loading {
    transition: .27s ease !important;
}

#loading.error {
    text-align: center;
    padding: 12px 24px !important;
    cursor: pointer;
    user-select: none;
    
    &:before, &:after {
        display: none;
    }
}