/* Modelador de Máquinas de Turing — estilos complementares ao Tailwind */

body {
    font-family: 'Inter', sans-serif;
}
.title-font {
    font-family: 'Outfit', sans-serif;
}
.code-font {
    font-family: 'Fira Code', monospace;
}
canvas {
    touch-action: none;
}
:focus-visible {
    outline: 3px solid #6366f1 !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 5px rgba(99, 102, 241, 0.4) !important;
}

/* Barra de ferramentas compacta (só ícones) */
.toolbar-compact .btn-text {
    display: none !important;
}
.toolbar-compact button {
    padding: 0.375rem 0.5rem !important;
    height: 1.875rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Animação de escrita na fita */
@keyframes tapeWriteAnim {
    from { opacity: 0; transform: translateY(-10px) scale(0.9); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}
.tape-cell-written {
    animation: tapeWriteAnim 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Pulso do cabeçote ativo */
@keyframes headPulseAnim {
    0%, 100% { box-shadow: 0 0 0 0 rgba(244, 63, 94, 0.45); }
    50%      { box-shadow: 0 0 0 6px rgba(244, 63, 94, 0.12); }
}
.tape-cell-head {
    animation: headPulseAnim 1.8s ease-in-out infinite;
}

/* Linha atual do rastreamento */
.trace-row-current {
    border-color: #6366f1 !important;
    background: rgba(99, 102, 241, 0.14) !important;
}
.trace-row-future {
    opacity: 0.55;
}

/* Scrollbar customizada */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.3);
    border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(148, 163, 184, 0.5);
}
