# Card Thẻ nền `panel` viền 2px bo 14: thẻ "Mục tiêu ngày" với các dòng tiến độ, trạng thái hoàn thành và thẻ két tiền (`till`). ## Khi nào dùng - Gói một nhóm thông tin ngắn trong tab hoặc hộp thoại (mục tiêu ngày, két tiền). - Thẻ mục tiêu: tiêu đề + nhiều dòng "nhãn — giá trị" kèm thanh `tt-progress--goal`. - Khi cả thẻ đã đạt: dùng `is-done` để báo "hoàn thành". ## Biến thể | Biến thể | Lớp | Dùng khi | |---|---|---| | Thẻ | `tt-card` | Khung panel, viền 2px `line`, padding 10×12 | | Mục tiêu | `tt-card tt-card--goal` | Thẻ có dòng tiêu đề và các dòng tiến độ | | Két tiền | `tt-card tt-card--till` | Rộng tối đa 330px, bo 20, padding 14, xếp cột gap 10 | ## Cấu trúc ```html
Mục tiêu ngày 2 3 mục
Bán 20 ly12/20
``` Người dùng tự cung cấp nội dung các dòng và độ rộng `style="width:…%"` của thanh tiến độ. ## Trạng thái | Trạng thái | Hiệu ứng | |---|---| | `tt-card.is-done` | Viền và chữ `mint`, đậm, căn giữa (kèm chữ "✓" trong nội dung) | | `tt-card__row.is-done` | Nhãn của dòng đó chuyển `mint` (đặt thêm `is-done` cho thanh `tt-progress`) | ## Token sử dụng `panel`, `line`, `ink`, `soft`, `mint`, `radius-14`, `radius-20`, `space-4/6/10/12`. ## Khả năng tiếp cận - Dùng `
` hoặc có tiêu đề để screen reader đọc được tên thẻ. - "✓" là chữ trong nội dung nên trạng thái hoàn thành không chỉ dựa vào màu. - Thanh tiến độ có `role="progressbar"` đầy đủ (xem Progress). ## Nên / Không nên | Nên | Không nên | |---|---| | Ghi số "12/20" bằng chữ cạnh thanh | Chỉ báo tiến độ bằng màu thanh | | Dùng `tt-num` cho số để cột chữ số đều | Lồng thẻ trong thẻ | ## Nguồn `.goalc`, `.goalc.done`, `.gh`, `.gh span`, `.gr`, `.gt`, `.till` — css/style.css; markup trong js/game.js (`.goalc`). - `.till .stp` (min-height 48, .75rem) không có lớp riêng: đặt bằng `style` hoặc lớp của trang khi cần. - `.gr.ok .gt span:first-child` mint → `tt-card__row.is-done .tt-card__row-label`.