@import url("https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;700;900&display=swap");:root{--primary:#FF6B6B;--primary-hover:#FF5252;--primary-light:#FFE3E3;--secondary:#4ECDC4;--secondary-hover:#3DB8B0;--secondary-light:#E0F7F5;--accent-yellow:#FFD166;--accent-yellow-light:#FFF4D6;--accent-purple:#9B51E0;--accent-purple-light:#F3E8FF;--accent-blue:#4A90E2;--accent-blue-light:#E8F2FF;--accent-green:#06D6A0;--accent-green-light:#E6FBF5;--bg-main:#F7F9FC;--bg-card:#FFFFFF;--bg-card-hover:#FAFCFF;--text-main:#2D3748;--text-muted:#718096;--text-light:#A0AEC0;--border-radius-sm:12px;--border-radius-md:20px;--border-radius-lg:28px;--border-radius-full:9999px;--shadow-sm:0 4px 12px rgba(0,0,0,0.04);--shadow-md:0 8px 24px rgba(0,0,0,0.07);--shadow-lg:0 16px 36px rgba(0,0,0,0.1);--font-family:"Noto Sans SC","Fredoka",-apple-system,BlinkMacSystemFont,sans-serif;--font-heading:"Fredoka","Noto Sans SC",sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);background-color:var(--bg-main);color:var(--text-main);min-height:100vh;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit;border:none;outline:none;cursor:pointer}.perspective-1000{perspective:1000px}.flip-card-inner{position:relative;width:100%;height:100%;transition:transform .6s cubic-bezier(.4,.2,.2,1);transform-style:preserve-3d}.flip-card-inner.is-flipped{transform:rotateY(180deg)}.flip-card-back,.flip-card-front{position:absolute;inset:0;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:var(--border-radius-lg);box-sizing:border-box}.flip-card-back{transform:rotateY(180deg)}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--border-radius-full);font-size:.85rem;font-weight:600}.badge-primary{background:var(--primary-light);color:var(--primary)}.badge-secondary{background:var(--secondary-light);color:var(--secondary-hover)}.badge-yellow{background:var(--accent-yellow-light);color:#D97706}.badge-purple{background:var(--accent-purple-light);color:var(--accent-purple)}.badge-blue{background:var(--accent-blue-light);color:var(--accent-blue)}.btn-fun{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:var(--border-radius-full);font-size:1.05rem;font-weight:700;transition:all .25s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 6px 16px rgba(0,0,0,.1)}.btn-fun:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 10px 22px rgba(0,0,0,.15)}.btn-fun:active{transform:translateY(1px) scale(.98)}.btn-primary{background:var(--primary);color:white}.btn-secondary{background:var(--secondary);color:white}.btn-yellow{background:var(--accent-yellow);color:#78350F}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#EDF2F7;border-radius:10px}::-webkit-scrollbar-thumb{background:#CBD5E0;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#A0AEC0}@keyframes cardBounceIn{0%{opacity:0;transform:scale(.3) translateY(20px)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.95)}to{transform:scale(1) translateY(0)}}@keyframes emojiPulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}@keyframes emojiWiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes floatBreath{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes correctPop{0%{transform:scale(1)}30%{transform:scale(1.2)}60%{transform:scale(.9)}to{transform:scale(1)}}@keyframes wrongShake{0%,to{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.anim-bounce-in{animation:cardBounceIn .5s cubic-bezier(.175,.885,.32,1.275) both}.anim-emoji-pulse{display:inline-block;animation:emojiPulse 2s ease-in-out infinite}.anim-emoji-wiggle:hover{animation:emojiWiggle .4s ease-in-out}.anim-twinkle{animation:twinkle 2s ease-in-out infinite}.anim-float{animation:floatBreath 3s ease-in-out infinite}.anim-correct{animation:correctPop .5s ease-out}.anim-wrong{animation:wrongShake .4s ease-out}.anim-fade-in-up,.stagger-item{animation:fadeInUp .4s ease-out both}.word-card:hover .card-emoji{transform:scale(1.4);transition:transform .25s cubic-bezier(.175,.885,.32,1.275)}.word-card .card-emoji{transition:transform .25s ease}@keyframes modalOverlayFade{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@keyframes poetryPaperPop{0%{opacity:0;transform:scale(.85) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes inkGlow{0%,to{box-shadow:0 0 12px rgba(155,81,224,.2)}50%{box-shadow:0 0 24px rgba(155,81,224,.5)}}.poetry-modal-overlay{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.65);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;animation:modalOverlayFade .3s ease-out forwards}.poetry-modal-container{width:100%;max-width:900px;max-height:90vh;background:linear-gradient(135deg,#FFFDF8,#FFF9EB);border:3px solid #e9d5ff;border-radius:32px;box-shadow:0 24px 60px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden;animation:poetryPaperPop .4s cubic-bezier(.175,.885,.32,1.275) forwards}.poetry-sentence-card{transition:all .25s ease}.poetry-sentence-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(155,81,224,.15)}.poetry-seal{display:inline-block;border:2px solid #c53030;color:#C53030;padding:2px 8px;border-radius:6px;font-weight:900;font-size:.8rem;letter-spacing:2px}@keyframes floatEmoji{0%,to{transform:translateY(0) rotate(0deg) scale(1)}25%{transform:translateY(-8px) rotate(-4deg) scale(1.05)}50%{transform:translateY(-12px) rotate(0deg) scale(1.08)}75%{transform:translateY(-4px) rotate(4deg) scale(1.03)}}@keyframes popEmoji{0%{transform:scale(.3) rotate(-15deg);opacity:0}60%{transform:scale(1.25) rotate(5deg);opacity:1}80%{transform:scale(.95) rotate(-2deg)}to{transform:scale(1) rotate(0deg)}}.anim-emoji-float{display:inline-block;animation:floatEmoji 4s ease-in-out infinite;transition:transform .25s cubic-bezier(.175,.885,.32,1.275)}.anim-emoji-float:hover{transform:scale(1.35) rotate(10deg)!important;cursor:pointer}.anim-emoji-pop{display:inline-block;animation:popEmoji .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes cardSlideNext{0%{opacity:.2;transform:translateX(80px) rotate(6deg) scale(.92)}60%{opacity:1;transform:translateX(-8px) rotate(-1deg) scale(1.02)}to{opacity:1;transform:translateX(0) rotate(0deg) scale(1)}}@keyframes cardSlidePrev{0%{opacity:.2;transform:translateX(-80px) rotate(-6deg) scale(.92)}60%{opacity:1;transform:translateX(8px) rotate(1deg) scale(1.02)}to{opacity:1;transform:translateX(0) rotate(0deg) scale(1)}}.anim-card-next{animation:cardSlideNext .45s cubic-bezier(.34,1.56,.64,1) forwards}.anim-card-prev{animation:cardSlidePrev .45s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes micPulseWave{0%{box-shadow:0 0 0 0 rgba(244,63,94,.6)}70%{box-shadow:0 0 0 22px rgba(244,63,94,0)}to{box-shadow:0 0 0 0 rgba(244,63,94,0)}}.anim-mic-recording{animation:micPulseWave 1.4s infinite}@media (max-width:768px){html{font-size:13.5px}.mobile-poetry-header{flex-direction:column!important;align-items:flex-start!important;padding:16px!important;gap:16px!important}.mobile-poetry-header-title,.mobile-poetry-tabs{flex-wrap:wrap!important}.mobile-poetry-tabs{padding:0 12px!important;justify-content:center!important}.mobile-poetry-tab-btn{padding:10px 12px!important;font-size:.95rem!important}.mobile-poetry-sentence-text{font-size:1.3rem!important;letter-spacing:1px!important}.mobile-hide{display:none!important}.mobile-show{display:block!important}.pinyin-learning-card-wrapper{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;background:rgba(0,0,0,.65)!important;z-index:9999!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important}.pinyin-learning-card-content{width:100%!important;max-width:400px!important;max-height:90vh!important;overflow-y:auto!important;position:relative!important;margin:0!important}.pinyin-modal-close-btn{display:flex!important;align-items:center!important;justify-content:center!important;position:absolute!important;top:16px!important;right:16px!important;background:#FEE2E2!important;color:#EF4444!important;border:none!important;border-radius:50%!important;width:36px!important;height:36px!important;font-size:1.2rem!important;font-weight:900!important;cursor:pointer!important;z-index:10!important}.responsive-container{padding-left:16px!important;padding-right:16px!important}.responsive-title{font-size:1.8rem!important}.mobile-grid-1{grid-template-columns:1fr!important}.mobile-flashcard-btn-left{left:4px!important}.mobile-flashcard-btn-left,.mobile-flashcard-btn-right{width:44px!important;height:44px!important;z-index:20!important}.mobile-flashcard-btn-right{right:4px!important}.mobile-flashcard-container{min-height:460px!important;padding:16px 12px!important}.mobile-flashcard-wrapper{min-height:500px!important}.mobile-flex-wrap{flex-wrap:wrap!important;gap:12px!important;padding:16px!important}.mobile-huge-text{font-size:2.5rem!important;padding:8px 16px!important}.mobile-huge-text-medium{font-size:2rem!important}.login-card{padding:24px!important}.login-background-emoji{font-size:3rem!important}}