
/* --- Canvas Wrapper STRICT FLAT --- */
.canvas-container {
    /* Fundo xadrez sutil apenas para indicar transparência, sem sombras */
    background-image: linear-gradient(45deg, #f0f0f0 25%, transparent 25%), linear-gradient(-45deg, #f0f0f0 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #f0f0f0 75%), linear-gradient(-45deg, transparent 75%, #f0f0f0 75%);
    background-size: 20px 20px;
    background-color: #ffffff;
    border: 1px solid var(--border); /* Borda simples sólida */
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 600px; 
    height: auto; /* Responsivo baseado no conteúdo */
    overflow: hidden;
    position: relative;
    box-shadow: none !important; /* Força bruta para remover qualquer sombra */
}

canvas {
    width: 100%;
    height: auto;
    max-height: 100%;
    box-shadow: none !important; /* Remove sombra do elemento canvas */
}

/* Botões de download responsivos */
#downloadSection .row {
    flex-wrap: wrap;
}

#downloadSection .btn {
    margin-bottom: 0.5rem;
}

.icon-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(40px, 1fr)); gap: 5px;
    max-height: 150px; overflow-y: auto; padding: 2px; border: 1px solid var(--border);
}

.icon-option-label {
    display: flex; align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    cursor: pointer;
    transition: all 0.1s;
}
.icon-option-label svg {
    width: 1.5rem;
    height: 1.5rem;
    fill: currentColor;
}
.icon-option-input:checked + .icon-option-label {
    border-color: var(--primary);
    background-color: var(--primary-light);
}