/* ===== CHAT PHRASES (LESSON 4) ===== */
.chat-phrases-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    width: 100%;
    max-width: 820px;
}

.chat-phrase-card {
    background: rgba(0,0,0,0.04);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 16px;
    transition: transform 0.18s, border-color 0.18s;
}

.chat-phrase-card:hover {
    transform: translateY(-3px);
    border-color: rgba(var(--cn-rgb),0.3);
}

.chat-phrase-note {
    font-size: 10px;
    color: var(--muted);
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--border);
}

.chat-phrase-tag {
    display: inline-block;
    padding: 1px 7px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 600;
    margin-right: 4px;
}

/* ===== LESSON-BASED WORD COLORING ===== */
/* L1-2 (oldest) = teal, L3 = gold, L4 new = default amber */
.wl-l12 { color: var(--teal); }
.wl-l3 { color: var(--gold); }
.cp-new { color: var(--cn); }

/* Vocab table lesson borders */
.vrow-l12 { border-left: 3px solid var(--teal); }
.vrow-l12 td:last-child { color: var(--teal); }
.vrow-l3 { border-left: 3px solid var(--gold); }
.vrow-l3 td:last-child { color: var(--gold); }

/* Chat phrase tags per lesson */
.chat-phrase-tag.l12 {
    background: rgba(var(--teal-rgb),0.1);
    color: var(--teal);
}
.chat-phrase-tag.l3 {
    background: rgba(var(--gold-rgb),0.15);
    color: var(--gold);
}
.chat-phrase-tag.new {
    background: rgba(var(--cn-rgb),0.1);
    color: var(--cn);
}

/* ===== PINYIN TOOLTIPS ===== */
.py {
    position: relative;
    cursor: help;
    border-bottom: 1px dotted rgba(var(--cn-rgb),0.3);
}

.py::after {
    content: attr(data-pinyin);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-2px);
    padding: 3px 9px;
    border-radius: 6px;
    background: rgba(var(--dark-surface-rgb),0.92);
    color: var(--gold-accent);
    font-size: 12px;
    font-weight: 600;
    font-style: italic;
    font-family: system-ui, sans-serif;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.15s ease;
    z-index: 50;
    letter-spacing: 0.3px;
    line-height: 1.4;
}

.py:hover::after,
.py.py-show::after {
    opacity: 1;
}

@media (hover: none) {
    .py:active::after {
        opacity: 1;
    }
}

/* ===== MOBILE RESPONSIVE (lesson 4 additions) ===== */
@media (max-width: 768px) {
    .chat-phrases-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
    .chat-phrases-grid { grid-template-columns: 1fr; }
}
