/* shell.css — phần khung do main.js dựng. Chỉ BỔ SUNG app.css, không sửa/nhân bản class có sẵn. */

/* ---------- Bản đồ: đảo đang làm / đảo vừa mở ---------- */
.island .tag { position: absolute; top: -12px; right: 4%; z-index: 2; background: #FFF3CC; border: 3px solid var(--left); border-radius: 999px; padding: 3px 14px; font: 700 clamp(14px, 1.8vw, 20px)/1.3 var(--f); color: #6B4E00; white-space: nowrap; }
.island .tag.newtag { background: #E2F3E5; border-color: var(--right); color: #1B5E2A; }
.island.wip .disk { filter: saturate(.45) opacity(.75); }
.island.new .disk { box-shadow: 0 9px 0 var(--wood), 0 0 0 16px #FFE27A, 0 0 42px #FFB300; animation: pulse 2s ease-in-out infinite; }

/* ---------- Thẻ từ: thêm nghĩa tiếng Việt nhỏ dưới từ Anh ---------- */
.wordcard .col { display: grid; gap: 2px; }
.wordcard .vi { font-size: clamp(16px, 2vw, 22px); font-weight: 600; color: var(--ink-2); }

/* ---------- Màn thưởng: nhãn dưới nút lớn ---------- */
.bigwrap { display: grid; justify-items: center; gap: 10px; }
.bigwrap .cap { font-size: clamp(18px, 2.4vw, 26px); font-weight: 700; color: var(--wood); }

/* ---------- Cổng phụ huynh ---------- */
.gate .card { display: grid; gap: 20px; justify-items: center; background: #FFF; border: 2px solid #B9C3BD; border-radius: 24px; padding: 30px 40px; max-width: 480px; }
.gate .fb { min-height: 1.3em; font-size: 15px; color: #A3191E; margin: 0; }

/* ---------- Màn nghỉ/ngủ: góc nút phụ huynh ---------- */
.rest .gate-corner { position: absolute; top: 2vmin; right: 2vmin; z-index: 6; }
