/**
 * CHARACTER CARD & ROW STYLES (EMU Japan Style)
 */


/* 1. Main Row Grid Architecture */

.kana-row-grid {
    display: grid;
    gap: 0.75rem;
    /* Mobile: 3 Kolom memanjang (akan menghasilkan layout 3+3 untuk 6 box) */
    grid-template-columns: repeat(3, minmax(0, 1fr));
}


/* Desktop Breakpoint (≥ 992px): 6 Kolom Memanjang */

@media (min-width: 992px) {
    .kana-row-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}


/* 2. Unified Box Dimensions & Base Layout */

.kana-box {
    min-height: 110px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    user-select: none;
}


/* 3. Box Header (Identitas Baris) Styling */

.kana-box-header {
    background-color: #f8f9fa;
    border-color: #e9ecef !important;
    border-left: 4px solid #dc3545 !important;
    /* EMU Accent Red */
}

.kana-box-header .header-title {
    letter-spacing: 0.05em;
}

.kana-box-header .header-subtitle {
    font-size: 0.75rem;
}


/* 4. Interactive Character Card Styling */

.kana-card {
    background-color: #ffffff;
    border-color: #dee2e6 !important;
    transition: all 0.2s ease-in-out;
}

.kana-card .char-jp {
    font-size: 2.25rem;
    line-height: 1;
    transition: transform 0.2s ease;
}

.kana-card .char-romaji {
    font-size: 0.875rem;
    margin-top: 0.25rem;
}


/* Hover & Focus State */

.kana-card:hover,
.kana-card:focus-visible {
    border-color: #dc3545 !important;
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(220, 53, 69, 0.12);
    outline: none;
}

.kana-card:hover .char-jp {
    transform: scale(1.08);
    color: #dc3545 !important;
}

.kana-card:hover .char-hover-label {
    opacity: 1;
    transform: translate(-50%, -2px);
}


/* Learned State */

.kana-card.is-learned {
    background-color: rgba(220, 53, 69, 0.02);
    border-color: rgba(220, 53, 69, 0.3) !important;
}

.kana-card.is-learned .char-jp {
    color: #198754;
    /* Green indicator for completed or stay dark with checkmark */
}


/* 5. Empty/Filler Box */

.kana-box-empty {
    border-style: dashed !important;
    border-color: #dee2e6 !important;
    opacity: 0.4;
}


/* Utility Helpers */

.fs-8 {
    font-size: 0.725rem;
}

.py-0-5 {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}

.line-height-1 {
    line-height: 1;
}

.cursor-pointer {
    cursor: pointer;
}

.transition-all {
    transition: all 0.2s ease-in-out;
}