@import "https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap";
:root{--font:"Nunito", sans-serif;--mint:#b8f0d8;--peach:#ffd4b8;--lavender:#d4c5f9;--sky:#b8e4ff;--yellow:#fff3ae;--pink:#ffb8d4;--white:#fff;--cream:#fff9f0;--text-dark:#2d2d2d;--text-mid:#555;--text-light:#888;--btn-learn:#6bcb77;--btn-game:#4d96ff;--btn-practice:#ff6b6b;--radius-sm:12px;--radius-md:20px;--radius-lg:32px;--radius-xl:48px;--shadow-soft:0 4px 20px #0000001a;--shadow-card:0 8px 32px #0000001f;--shadow-btn:0 4px 14px #0000002e}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-tap-highlight-color:transparent;font-size:16px}body{font-family:var(--font);background:var(--cream);color:var(--text-dark);min-height:100dvh;overflow-x:hidden}img{max-width:100%;display:block}button{cursor:pointer;font-family:var(--font)}.app-bg{background:linear-gradient(135deg,#ffdde1 0%,#ee9ca7 0%,#ffdde1 30%,#d4e2fc 60%,#c9d6ff 100%);min-height:100dvh}.page-wrapper{flex-direction:column;align-items:center;max-width:480px;min-height:100dvh;margin:0 auto;padding:1.5rem 1rem 6rem;display:flex}.back-btn{color:var(--text-dark);box-shadow:var(--shadow-soft);background:#ffffffb3;border:none;border-radius:50px;align-self:flex-start;align-items:center;gap:.4rem;margin-bottom:1.2rem;padding:.5rem 1.1rem;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:flex}.back-btn:hover{box-shadow:var(--shadow-card);transform:scale(1.05)}.big-btn{border-radius:var(--radius-xl);color:#fff;width:100%;max-width:340px;box-shadow:var(--shadow-btn);letter-spacing:.02em;border:none;justify-content:center;align-items:center;gap:.7rem;padding:1.1rem 2rem;font-size:1.3rem;font-weight:800;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s;display:flex}.big-btn:hover{transform:scale(1.05)translateY(-2px);box-shadow:0 8px 24px #00000038}.big-btn:active{transform:scale(.97)}.big-btn.learn{background:linear-gradient(135deg,#6bcb77,#3dad5c)}.big-btn.game{background:linear-gradient(135deg,#4d96ff,#2563eb)}.big-btn.practice{background:linear-gradient(135deg,#ff6b6b,#ef4444)}.card{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:#fff;width:100%;padding:1.5rem}.tabs{background:#ffffff80;border-radius:50px;gap:.5rem;width:100%;margin-bottom:1.4rem;padding:.4rem;display:flex}.tab-btn{color:var(--text-mid);background:0 0;border:none;border-radius:50px;flex:1;padding:.6rem .5rem;font-size:.82rem;font-weight:700;transition:background .2s,color .2s,transform .15s}.tab-btn.active{color:var(--text-dark);box-shadow:var(--shadow-soft);background:#fff;transform:scale(1.02)}.option-btn{border-radius:var(--radius-xl);color:var(--text-dark);box-shadow:var(--shadow-soft);text-align:center;background:#fff;border:3px solid #0000;width:100%;padding:.85rem 1.2rem;font-size:1.05rem;font-weight:800;transition:all .18s cubic-bezier(.34,1.56,.64,1)}.option-btn:hover:not(:disabled){box-shadow:var(--shadow-card);transform:scale(1.04)}.option-btn:active:not(:disabled){transform:scale(.97)}.option-btn.correct{color:#2d7a3e;background:#e8f9ec;border-color:#6bcb77}.option-btn.wrong{color:#c22;background:#fee;border-color:#ff6b6b}.star{filter:drop-shadow(0 2px 4px #00000026);font-size:1.6rem}.star.lit{color:gold}.star.unlit{color:#ddd}.progress-bar-track{background:#fff9;border-radius:50px;width:100%;height:10px;margin-bottom:1rem;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#6bcb77,#3dad5c);border-radius:50px;height:100%;transition:width .4s}.emoji-cluster{letter-spacing:.15em;text-align:center;word-break:break-all;margin:.8rem 0;font-size:2.2rem;line-height:1.5}.img-card{border-radius:var(--radius-md);aspect-ratio:4/3;object-fit:cover;width:100%;box-shadow:var(--shadow-soft);overflow:hidden}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-18px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes pop-in{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-10px)rotate(2deg)}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.confetti-piece{z-index:9999;pointer-events:none;border-radius:2px;width:12px;height:12px;animation:linear forwards confetti-fall;position:fixed;top:-20px}.celebration-overlay{z-index:999;background:#00000080;justify-content:center;align-items:center;animation:.3s pop-in;display:flex;position:fixed;inset:0}.celebration-card{border-radius:var(--radius-xl);text-align:center;background:#fff;width:90%;max-width:340px;padding:2.5rem 2rem;animation:.4s cubic-bezier(.34,1.56,.64,1) pop-in;box-shadow:0 20px 60px #0000004d}.drop-zone{vertical-align:middle;border-bottom:3px dashed #aaa;border-radius:6px;min-width:90px;padding:2px 8px;transition:background .2s,border-color .2s;display:inline-block}.drop-zone.over{background:#e0f0ff;border-color:#4d96ff}.drop-zone.filled{background:#e8f9ec;border-style:solid;border-color:#6bcb77}.drag-chip{cursor:grab;box-shadow:var(--shadow-soft);-webkit-user-select:none;user-select:none;background:#fff;border:2px solid #ddd;border-radius:50px;align-items:center;padding:.4rem 1rem;font-size:.95rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex}.drag-chip:active{cursor:grabbing;transform:scale(1.08)}.drag-chip.used{opacity:.3;cursor:not-allowed}.match-grid{grid-template-columns:1fr 1fr;gap:.8rem;width:100%;display:grid}.match-card{border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-soft);cursor:pointer;background:#fff;border:3px solid #0000;justify-content:center;align-items:center;min-height:70px;padding:.9rem .5rem;font-size:1rem;font-weight:700;transition:all .18s cubic-bezier(.34,1.56,.64,1);display:flex}.match-card:hover:not(.matched):not(.wrong-match){transform:scale(1.05)}.match-card.selected{background:#ebf4ff;border-color:#4d96ff}.match-card.matched{opacity:.7;cursor:default;background:#e8f9ec;border-color:#6bcb77}.match-card.wrong-match{background:#fee;border-color:#ff6b6b;animation:.4s shake}.dice{border-radius:var(--radius-sm);width:72px;height:72px;box-shadow:var(--shadow-card);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;justify-content:center;align-items:center;font-size:2.5rem;transition:transform .2s;display:flex}.dice:hover{transform:scale(1.1)rotate(5deg)}.dice.rolling{animation:.5s infinite wiggle}.board-grid{grid-template-columns:repeat(5,1fr);gap:6px;width:100%;display:grid}.board-cell{aspect-ratio:1;color:#fff;border-radius:10px;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;transition:transform .2s;display:flex;position:relative;box-shadow:0 2px 6px #00000026}.board-cell.current{z-index:2;transform:scale(1.15);box-shadow:0 4px 12px #0000004d}.board-cell.finish{animation:1s infinite pulse}h1.page-title{text-align:center;background:linear-gradient(135deg,#6b4eff,#ff6b6b);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.3rem;font-size:1.8rem;font-weight:900}.page-subtitle{text-align:center;color:var(--text-mid);margin-bottom:1.4rem;font-size:.9rem;font-weight:600}.tts-btn{width:44px;height:44px;box-shadow:var(--shadow-soft);background:#ffffffb3;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.3rem;transition:transform .15s,background .15s;display:flex}.tts-btn:hover{background:#fff;transform:scale(1.12)}.center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.gap-2{gap:1rem}.flex-col{flex-direction:column;align-items:center;display:flex}.w-full{width:100%}.bold{font-weight:800}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}
