.font-brand {
    font-family: 'Audiowide', display;
}

.font-tech {
    font-family: 'Rajdhani', sans-serif;
}

.font-body {
    font-family: 'Quicksand', sans-serif;
}

.electric-bg {
    background: linear-gradient(45deg, #111827 25%, #1f2937 25%, #1f2937 50%, #111827 50%, #111827 75%, #1f2937 75%, #1f2937 100%);
    background-size: 40px 40px;
}

.digit-card {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.spark {
    position: absolute;
    width: 4px;
    height: 4px;
    background: #fbbf24;
    border-radius: 50%;
    pointer-events: none;
    animation: spark-fly 0.5s linear forwards;
}

@keyframes spark-fly {
    0% {
        opacity: 1;
        transform: scale(1);
    }

    100% {
        opacity: 0;
        transform: translate(var(--dx), var(--dy)) scale(0);
    }
}

.gauge-needle {
    transform-origin: bottom center;
    transition: transform 1s ease-out;
}

/* Place Value Grid Lines */
.pv-column {
    border-right: 1px dashed rgba(75, 85, 99, 0.5);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 60px;
}

.pv-column.decimal-point {
    border-right: none;
    width: 20px;
    min-width: 20px;
}