body { display: flex; flex-direction: column; align-items: center; background-color: #f0f0f0; font-family: sans-serif; margin: 0; }
#info { text-align: center; margin-top: 20px; }
#grid-container { display: grid; grid-template-columns: repeat(8, 50px); grid-template-rows: repeat(8, 50px); gap: 2px; background-color: #ccc; border: 4px solid #333; margin-top: 20px; }
.cell { width: 50px; height: 50px; background-color: white; display: flex; align-items: center; justify-content: center; font-size: 24px; }
.start { background-color: #e8f5e9; }
.end { background-color: #ffebee; }
#message { margin-top: 20px; font-size: 1.2rem; font-weight: bold; height: 30px; }

/* Botões de Controle */
#controls { position: fixed; bottom: 20px; right: 20px; display: flex; gap: 15px; }
.btn-wrapper { position: relative; width: 80px; height: 80px; display: flex; align-items: center; justify-content: center; }
.control-btn { width: 64px; height: 64px; border-radius: 50%; border: none; color: white; font-weight: bold; font-size: 9px; cursor: pointer; z-index: 2; box-shadow: 0 3px 6px rgba(0,0,0,0.2); }
#btn-reiniciar { background-color: #2196F3; }
#btn-novo { background-color: #4CAF50; }
.progress-ring { position: absolute; transform: rotate(-90deg); z-index: 1; }
.ring-circle { transition: stroke-dashoffset 0.1s linear; stroke-dasharray: 219.9; stroke-dashoffset: 219.9; }

@media print {
    #controls, #message, p { display: none; }
    body { background-color: white; }
    .path-true { background-color: #ddd !important; border: 1px solid #999; }
    #grid-container { border: 2px solid #000; }
}