@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&display=swap";:root{--primary:#ff7eb3;--primary-shadow:#e85b94;--secondary:#ffc043;--secondary-shadow:#e3a325;--success:#67e369;--success-shadow:#46b948;--background:#e0f7fa;--background-dark:#b2ebf2;--text-dark:#333;--text-light:#fff;--slot-bg:#fff6;--slot-border:#fff9;--multiplier-x2:#a18ce5;--multiplier-x3:#ff6b6b}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg, var(--background), var(--background-dark));color:var(--text-dark);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;min-height:100vh;font-family:Fredoka,cursive,sans-serif;display:flex;overflow:hidden}#root{flex-direction:column;width:100%;max-width:1024px;height:100vh;display:flex}.btn{background-color:var(--primary);color:var(--text-light);cursor:pointer;box-shadow:0 6px 0 var(--primary-shadow);border:none;border-radius:20px;padding:1rem 2rem;font-family:Fredoka,cursive;font-size:1.5rem;font-weight:700;transition:all .1s;transform:translateY(0)}.btn:active{box-shadow:0 0 0 var(--primary-shadow);transform:translateY(6px)}.btn-secondary{background-color:var(--secondary);box-shadow:0 6px 0 var(--secondary-shadow)}.btn-secondary:active{box-shadow:0 0 0 var(--secondary-shadow)}.glass-panel{-webkit-backdrop-filter:blur(10px);background:#ffffffb3;border:4px solid #ffffffe6;border-radius:24px;padding:2rem;box-shadow:0 10px 30px #0000001a}@keyframes float{0%{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(1deg)}to{transform:translateY(0)rotate(0)}}.float-anim{animation:4s ease-in-out infinite float}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.pop-anim{animation:.4s cubic-bezier(.175,.885,.32,1.275) pop}.flashcard-container{flex-direction:column;align-items:center;gap:1.2rem;width:90%;max-width:500px;display:flex}.flashcard-title{color:var(--primary);margin:0;font-size:2rem}.flashcard-subtitle{color:var(--text-dark);opacity:.7;margin:0;font-size:1.1rem}.flashcard-progress{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.progress-dot{background:#ddd;border-radius:50%;width:12px;height:12px;transition:all .3s}.progress-dot.active{background:var(--primary);transform:scale(1.3);box-shadow:0 0 8px #ff6b9580}.progress-dot.done{background:var(--secondary)}.flashcard-wrapper{perspective:800px;cursor:pointer;width:280px;height:340px}.flashcard{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.flashcard.flipped{transform:rotateY(180deg)}.flashcard-face{backface-visibility:hidden;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;width:100%;height:100%;padding:1.5rem;display:flex;position:absolute;box-shadow:0 10px 30px #0000001f,0 4px #0000000f}.flashcard-front{border:4px solid var(--primary);background:linear-gradient(145deg,#fff,#f0f4ff)}.flashcard-back{border:4px solid var(--secondary);background:linear-gradient(145deg,#fff8f0,#fff0f5);transform:rotateY(180deg)}.flashcard-image-wrapper{background:#fff;border-radius:20px;justify-content:center;align-items:center;width:160px;height:160px;padding:.8rem;display:flex;box-shadow:inset 0 2px 8px #0000000f}.flashcard-image-wrapper.small{width:100px;height:100px;padding:.5rem}.flashcard-image-wrapper img{object-fit:contain;max-width:100%;max-height:100%}.flashcard-thai{color:var(--text-dark);font-size:2rem;font-weight:800}.flashcard-tap-hint{color:#aaa;font-size:.9rem;animation:2s infinite pulse-opacity}@keyframes pulse-opacity{0%,to{opacity:.4}50%{opacity:1}}.flashcard-word{color:var(--primary);letter-spacing:4px;font-size:2.8rem;font-weight:900}.flashcard-thai-small{color:var(--text-dark);opacity:.7;font-size:1.2rem}.flashcard-sound-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff9a56,#ff6b35);border:none;border-radius:14px;padding:.5rem 1.2rem;font-family:inherit;font-size:1rem;font-weight:700;transition:all .1s;box-shadow:0 4px #c74e1a}.flashcard-sound-btn:active{transform:translateY(4px);box-shadow:0 0 #c74e1a}.flashcard-counter{color:var(--text-dark);opacity:.5;font-size:1rem;font-weight:700}.flashcard-nav{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.flashcard-nav-btn{min-width:130px;padding:.8rem 1.5rem!important;font-size:1.2rem!important}.flashcard-nav-btn:disabled{opacity:.4;cursor:not-allowed}.flashcard-start-btn{background:linear-gradient(135deg, var(--secondary), #e8a025)!important;padding:.8rem 2rem!important;font-size:1.4rem!important;box-shadow:0 6px #b8841a!important}.flashcard-start-btn:active{transform:translateY(6px);box-shadow:0 0 #b8841a!important}.flashcard-skip-btn{color:var(--text-dark);opacity:.5;cursor:pointer;background:0 0;border:none;padding:.3rem 1rem;font-family:inherit;font-size:1rem;transition:opacity .2s}.flashcard-skip-btn:hover{opacity:.8;text-decoration:underline}.level-choice-container{flex-direction:column;align-items:center;gap:1.5rem;width:90%;max-width:500px;display:flex}.level-choice-title{color:var(--primary);margin:0;font-size:2.2rem}.level-choice-subtitle{color:var(--text-dark);opacity:.7;margin:0;font-size:1.1rem}.level-choice-buttons{flex-wrap:wrap;justify-content:center;gap:1.2rem;width:100%;display:flex}.choice-btn{cursor:pointer;border:none;border-radius:20px;flex-direction:column;flex:1;align-items:center;gap:.4rem;min-width:180px;padding:1.5rem 2rem;font-family:inherit;transition:all .2s;display:flex}.choice-btn-learn{color:#fff;background:linear-gradient(135deg,#a18ce5,#7c5fd6);box-shadow:0 6px #5a3fb0,0 10px 20px #7c5fd64d}.choice-btn-learn:active{transform:translateY(6px);box-shadow:0 0 #5a3fb0}.choice-btn-play{background:linear-gradient(135deg, var(--secondary), #e8a025);color:#fff;box-shadow:0 6px #b8841a,0 10px 20px #e8a0254d}.choice-btn-play:active{transform:translateY(6px);box-shadow:0 0 #b8841a}.choice-btn .choice-icon{font-size:2.5rem}.choice-btn .choice-label{font-size:1.3rem;font-weight:800}.choice-btn .choice-desc{opacity:.85;font-size:.85rem}.game-board{flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:900px;display:flex}.game-header{justify-content:space-between;align-items:center;width:100%;padding:0 1rem;display:flex}.back-btn{color:var(--primary);background-color:#fff;padding:.5rem 1rem;font-size:1.2rem;box-shadow:0 4px #ccc}.animal-image-container{border:4px solid var(--primary);background:#fff;border-radius:30px;justify-content:center;align-items:center;width:220px;height:220px;padding:1rem;animation:4s ease-in-out infinite float;display:flex;box-shadow:0 10px 20px #0000001a}.animal-image-container img{object-fit:contain;max-width:100%;max-height:100%}.hint-buttons-row{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.hint-btn{cursor:pointer;border:3px solid #0000;border-radius:18px;flex-direction:column;align-items:center;gap:.2rem;min-width:110px;padding:.6rem 1.2rem;font-family:inherit;transition:all .2s;display:flex}.hint-btn .hint-icon{font-size:1.8rem;line-height:1}.hint-btn .hint-label{letter-spacing:.5px;font-size:1rem;font-weight:800}.hint-btn .hint-desc{opacity:.8;font-size:.7rem}.hint-btn-1{color:#fff;background:linear-gradient(135deg,#ff9a56,#ff6b35);border-color:#ff7b42;box-shadow:0 5px #c74e1a,0 8px 15px #ff6b354d}.hint-btn-1:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px #c74e1a,0 12px 20px #ff6b3566}.hint-btn-1:active:not(:disabled){transform:translateY(5px);box-shadow:0 0 #c74e1a}.hint-btn-2{color:#fff;background:linear-gradient(135deg,#a18ce5,#7c5fd6);border-color:#9278dd;box-shadow:0 5px #5a3fb0,0 8px 15px #7c5fd64d}.hint-btn-2:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px #5a3fb0,0 12px 20px #7c5fd666}.hint-btn-2:active:not(:disabled){transform:translateY(5px);box-shadow:0 0 #5a3fb0}.hint-btn.hint-active{transform:translateY(2px);box-shadow:0 3px #00000026,0 0 12px #fff6}.hint-btn-1.hint-active{background:linear-gradient(135deg,#ffb07a,#ff8a55)}.hint-btn-2.hint-active{background:linear-gradient(135deg,#b9a5ee,#9580dc)}.slots-container{background:#fff6;border-radius:20px;gap:.8rem;padding:1.5rem;display:flex;box-shadow:inset 0 4px 6px #0000000d}.drop-slot{background:var(--slot-bg);border:3px dashed var(--slot-border);border-radius:15px;justify-content:center;align-items:center;width:65px;height:65px;transition:all .2s;display:flex;position:relative}.drop-slot.multi-x2{border-color:var(--multiplier-x2);background:#a18ce51a}.drop-slot.multi-x3{border-color:var(--multiplier-x3);background:#ff6b6b1a}.drop-slot.slot-hover{background:#fffc;border-style:solid;transform:scale(1.05)}.multiplier-badge{color:var(--text-dark);z-index:10;background:#fff;border-radius:10px;padding:2px 6px;font-size:.8rem;font-weight:700;position:absolute;top:-10px;right:-10px;box-shadow:0 2px 4px #0000001a}.multi-x2 .multiplier-badge{color:#fff;background:var(--multiplier-x2)}.multi-x3 .multiplier-badge{color:#fff;background:var(--multiplier-x3)}.phantom-letter{color:#00000026;pointer-events:none;font-size:2.5rem;font-weight:700;position:absolute}.letter-pool{flex-wrap:wrap;justify-content:center;gap:1rem;max-width:90%;margin-top:.5rem;display:flex}.letter-tile{width:60px;height:60px;color:var(--text-dark);cursor:grab;background:#fff;border-radius:12px;justify-content:center;align-items:center;font-size:2rem;font-weight:700;transition:transform .1s,box-shadow .1s;display:flex;position:relative;box-shadow:0 6px #ccc}.letter-tile:active{cursor:grabbing;transform:translateY(6px);box-shadow:0 0 #ccc}.letter-tile.dragging{opacity:.5}.letter-points{color:var(--secondary);font-size:.8rem;position:absolute;bottom:2px;right:4px}.placed-letter{width:100%;height:100%;color:var(--text-dark);background:#fff;border-radius:12px;justify-content:center;align-items:center;font-size:2rem;font-weight:700;animation:.4s cubic-bezier(.175,.885,.32,1.275) pop;display:flex;position:relative;box-shadow:0 4px #ccc}.submit-btn{margin-top:1rem;padding:1rem 3rem;font-size:1.8rem}.error-message{color:#ff4b4b;background:#ffe3e3;border:2px solid #ff4b4b;border-radius:15px;padding:.8rem 1.5rem;font-size:1.2rem;font-weight:700}.app-container{flex-direction:column;width:100%;height:100vh;display:flex}.header{justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.game-title{color:var(--primary);text-shadow:2px 2px #fff,-2px -2px #fff,2px -2px #fff,-2px 2px #fff;letter-spacing:2px;font-size:2.5rem;font-weight:700}
