#mm-root .container{max-width:1000px;margin:0 auto;padding:2rem}#mm-root h1{text-align:center;color:#333;margin-bottom:.5rem}#mm-root .subtitle{text-align:center;color:#666;font-size:1.1rem;margin-bottom:2rem}#mm-root .game-section{background:#f9f9f9;padding:2rem;border-radius:12px;margin-bottom:2rem}#mm-root .category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}#mm-root .category-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;text-align:left;position:relative}#mm-root .category-card:hover{border-color:#4caf50;transform:translateY(-2px);box-shadow:0 4px 12px #4caf5026}#mm-root .category-card[data-difficulty=beginner]:before{content:"🟢";position:absolute;top:12px;right:12px}#mm-root .category-card[data-difficulty=intermediate]:before{content:"🟡";position:absolute;top:12px;right:12px}#mm-root .category-card[data-difficulty=advanced]:before{content:"🟠";position:absolute;top:12px;right:12px}#mm-root .category-title{font-size:1.3rem;font-weight:700;color:#333;margin-bottom:.5rem}#mm-root .category-preview{font-size:1.2rem;color:#4caf50;font-weight:700;margin:1rem 0;letter-spacing:1px}#mm-root .category-description{color:#666;font-size:.95rem;margin-bottom:.5rem}#mm-root .category-count{color:#888;font-size:.9rem;font-weight:500}#mm-root .game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem;background:#e8e8e8;border-radius:8px;flex-wrap:wrap;gap:1rem}#mm-root .game-controls{display:flex;gap:.5rem}#mm-root .control-btn{background:#fff;border:2px solid #ddd;border-radius:8px;padding:.5rem;cursor:pointer;font-size:1.2rem;transition:all .3s;min-width:40px;height:40px;display:flex;align-items:center;justify-content:center}#mm-root .control-btn:hover{border-color:#4caf50;background:#f0f8f0}#mm-root .game-info{display:flex;gap:2rem;font-weight:700;font-size:1rem}#mm-root .instructions{text-align:center;background:#fff3cd;padding:1rem;border-radius:8px;margin-bottom:1.5rem;border-left:4px solid #ffc107}#mm-root .instructions p{margin:.25rem 0;color:#856404}#mm-root .matching-game-area{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1rem 0}#mm-root .chinese-column,#mm-root .english-column{background:#fff;border-radius:12px;padding:1rem;min-height:350px;box-shadow:0 2px 12px #0000000f;border:1px solid #f0f0f0;position:relative;overflow:hidden}#mm-root .chinese-column:before,#mm-root .english-column:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#4caf50,#66bb6a);border-radius:16px 16px 0 0}#mm-root .chinese-column h3,#mm-root .english-column h3{text-align:center;margin-bottom:1rem;color:#333;font-size:1.1rem;border-bottom:2px solid #e8f5e8;padding-bottom:.5rem;font-weight:700;position:relative}#mm-root .chinese-column h3{color:#2e7d32}#mm-root .chinese-column h3:after{content:"🇨🇳";position:absolute;right:0;top:0;font-size:1.2rem}#mm-root .english-column h3:after{content:"🇺🇸";position:absolute;right:0;top:0;font-size:1.2rem}#mm-root .phrases-container{display:flex;flex-direction:column;gap:.6rem}#mm-root .matching-game-area .phrase-item{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;padding:.8rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;font-size:.95rem;position:relative;min-height:45px;display:flex;align-items:center;justify-content:center;user-select:none;box-shadow:0 1px 3px #0000001a;line-height:1.3}#mm-root .matching-game-area .phrase-item.chinese{font-size:1.1rem;font-weight:700;color:#333;background:#fff;border-color:#ddd}#mm-root .matching-game-area .phrase-item.english{color:#555;background:#f8f9fa;font-size:.9rem}#mm-root .matching-game-area .phrase-item:hover:not(.matched){border-color:#4caf50;background:#f0f8f0;transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #4caf5033}#mm-root .matching-game-area .phrase-item.chinese:hover:not(.matched){background:#f0f8f0;color:#2e7d32}#mm-root .matching-game-area .phrase-item.english:hover:not(.matched){color:#2e7d32}#mm-root .matching-game-area .phrase-item.selected{border-color:#2196f3;background:#e3f2fd;box-shadow:0 4px 15px #2196f366;transform:translateY(-1px) scale(1.03);animation:pulse-selection 1.5s ease-in-out infinite}#mm-root .matching-game-area .phrase-item.chinese.selected{color:#1565c0;font-weight:900}#mm-root .matching-game-area .phrase-item.english.selected{color:#1565c0;font-weight:700}@keyframes pulse-selection{0%,to{box-shadow:0 4px 15px #2196f366}50%{box-shadow:0 4px 25px #2196f399}}#mm-root .matching-game-area .phrase-item.matched{border-color:#4caf50;background:linear-gradient(135deg,#e8f5e8,#c8e6c8);opacity:.8;position:relative;text-decoration:line-through;text-decoration-color:#4caf50;text-decoration-thickness:3px;color:#2e7d32;transform:scale(.95);box-shadow:0 2px 8px #4caf504d}#mm-root .matching-game-area .phrase-item.matched.chinese{cursor:pointer;pointer-events:auto}#mm-root .matching-game-area .phrase-item.matched.english{cursor:not-allowed;pointer-events:none}#mm-root .matching-game-area .phrase-item.matched.chinese:hover{opacity:.9;box-shadow:0 3px 12px #4caf5066}#mm-root .matching-game-area .phrase-item.matched:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 30%,rgba(76,175,80,.1) 50%,transparent 70%);border-radius:12px;animation:success-sweep .8s ease-out}#mm-root .matching-game-area .phrase-item.matched:after{content:"✓";position:absolute;top:-8px;right:-8px;background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;box-shadow:0 2px 8px #4caf5066;animation:success-pop .6s cubic-bezier(.68,-.55,.265,1.55);border:2px solid white}#mm-root .matching-game-area .phrase-item.matched.chinese:before{content:"🔊";position:absolute;top:-5px;left:-5px;background:#2e7d32e6;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.7rem;z-index:2;opacity:.8;animation:none}#mm-root .matched-phrase-info{position:absolute;bottom:-8px;left:-8px;background:linear-gradient(135deg,#2196f3,#42a5f5);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;cursor:pointer;z-index:3;border:2px solid white;box-shadow:0 2px 6px #2196f366;transition:all .3s ease}#mm-root .matched-phrase-info:hover{transform:scale(1.1);box-shadow:0 3px 10px #2196f399}@keyframes success-sweep{0%{transform:translate(-100%);opacity:0}50%{opacity:1}to{transform:translate(100%);opacity:0}}@keyframes success-pop{0%{transform:scale(0) rotate(-180deg);opacity:0}70%{transform:scale(1.2) rotate(10deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}#mm-root .matching-game-area .phrase-item.incorrect{border-color:#f44336;background:linear-gradient(135deg,#ffebee,#ffcdd2);color:#c62828;animation:shake-enhanced .6s ease-in-out;box-shadow:0 4px 15px #f443364d}@keyframes shake-enhanced{0%,to{transform:translate(0) scale(1)}10%,30%,50%,70%,90%{transform:translate(-8px) scale(1.02);box-shadow:0 6px 20px #f4433666}20%,40%,60%,80%{transform:translate(8px) scale(1.02);box-shadow:0 6px 20px #f4433666}}#mm-root .matching-game-area .phrase-item:active:not(.matched){transform:translateY(0) scale(.98);transition:all .1s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}#mm-root .round-feedback{text-align:center;background:#d4edda;border:2px solid #c3e6cb;border-radius:12px;padding:2rem;margin:2rem 0}#mm-root .feedback-content h3{color:#155724;margin-bottom:1rem}#mm-root #round-score-text{color:#155724;font-size:1.1rem;margin-bottom:1.5rem}#mm-root .start-btn,#mm-root .next-btn{background:#4caf50;color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;border-radius:8px;cursor:pointer;transition:background .3s;font-weight:700}#mm-root .start-btn:hover,#mm-root .next-btn:hover{background:#45a049}#mm-root .results{text-align:center;font-size:1.2rem;margin:2rem 0}#mm-root .results>div{margin:1rem 0}#mm-root .final-score{font-size:2rem;font-weight:700;color:#4caf50}@media (max-width: 768px){#mm-root .container{padding:.8rem}#mm-root .matching-game-area{grid-template-columns:1fr;gap:1rem;margin:.5rem 0}#mm-root .chinese-column,#mm-root .english-column{padding:.8rem;min-height:280px}#mm-root .chinese-column h3,#mm-root .english-column h3{font-size:1rem;margin-bottom:.8rem;padding-bottom:.4rem}#mm-root .phrases-container{gap:.5rem}#mm-root .matching-game-area .phrase-item{padding:.6rem;min-height:38px;font-size:.85rem}#mm-root .matching-game-area .phrase-item.chinese{font-size:1rem}#mm-root .matching-game-area .phrase-item.english{font-size:.8rem}#mm-root .game-header{flex-direction:column;text-align:center;padding:.8rem}#mm-root .game-info{flex-direction:column;gap:.3rem;font-size:.9rem}#mm-root .category-grid{grid-template-columns:1fr;gap:1rem}#mm-root .instructions{padding:.8rem;margin-bottom:1rem}#mm-root .instructions p{font-size:.9rem}}@media (max-width: 480px){#mm-root .container{padding:.5rem}#mm-root .chinese-column,#mm-root .english-column{padding:.6rem;min-height:250px}#mm-root .matching-game-area .phrase-item{padding:.5rem;min-height:35px;font-size:.8rem}#mm-root .matching-game-area .phrase-item.chinese{font-size:.95rem}#mm-root .matching-game-area .phrase-item.english{font-size:.75rem}#mm-root .phrases-container{gap:.4rem}}#mm-root .modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease}#mm-root .modal-content{background:#fff;border-radius:12px;width:95%;max-width:1100px;max-height:95vh;overflow-y:auto;animation:slideIn .3s ease;box-shadow:0 10px 40px #0000004d}#mm-root .modal-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #eee;background:#f8f9fa;border-radius:12px 12px 0 0}#mm-root .modal-header h3{margin:0;color:#333;font-size:1.3rem}#mm-root .modal-close{background:none;border:none;font-size:2rem;cursor:pointer;color:#999;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s}#mm-root .modal-close:hover{background:#f5f5f5;color:#666}#mm-root .modal-body{padding:8px}#mm-root .modal-two-column{display:grid;grid-template-columns:320px 1fr;gap:12px;height:100%}#mm-root .modal-left-column{display:flex;flex-direction:column;gap:8px}#mm-root .modal-right-column{display:flex;flex-direction:column;gap:8px;overflow-y:auto}#mm-root .modal-single-column{display:flex;flex-direction:column;gap:8px}#mm-root .overview-image-large{width:100%}#mm-root .overview-image-large img{width:100%;height:auto;max-height:280px;border-radius:8px;box-shadow:0 4px 12px #00000026;cursor:pointer;transition:transform .2s ease}#mm-root .overview-image-large img:hover{transform:scale(1.02)}#mm-root .mnemonic-section-left{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:8px}#mm-root .mnemonic-section-left .mnemonic-title{margin:0 0 4px;font-size:12px;font-weight:600;color:#0c4a6e;display:flex;align-items:center;gap:4px}#mm-root .mnemonic-section-left .mnemonic-text{color:#0369a1;font-size:11px;line-height:1.4;margin:0}#mm-root .character-overview-compact{padding:8px;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}#mm-root .character-overview-compact .overview-text{display:flex;flex-direction:column;gap:4px}#mm-root .character-overview-compact .overview-pinyin{font-size:16px;font-weight:600;color:#2d3748}#mm-root .character-overview-compact .overview-meaning{font-size:14px;color:#4a5568;margin-bottom:4px}#mm-root .character-overview-compact .overview-pronounce{display:flex;align-items:center;gap:4px;margin-top:4px}#mm-root .character-overview-compact .overview-pronounce-btn{background:#4299e1;color:#fff;border:none;border-radius:4px;padding:4px 8px;cursor:pointer;font-weight:500;font-size:12px;display:flex;align-items:center;gap:4px;transition:all .2s ease}#mm-root .character-overview-compact .overview-pronounce-btn:hover{background:#3182ce;transform:translateY(-1px)}#mm-root .character-sections-compact{display:flex;flex-direction:column;gap:6px;flex:1;overflow-y:auto}#mm-root .character-sections-compact .character-section{border:1px solid #e2e8f0;border-radius:6px;overflow:hidden;background:#fff}#mm-root .character-sections-compact .section-header{background:#f8fafc;padding:6px 8px;border-bottom:1px solid #e2e8f0}#mm-root .character-sections-compact .section-title{margin:0;font-size:14px;font-weight:600;color:#2d3748;display:flex;align-items:center;gap:4px}#mm-root .character-sections-compact .section-content{padding:8px}#mm-root .character-sections-compact .history-text{line-height:1.4;color:#4a5568;font-size:13px;margin:0}#mm-root .character-sections-compact .examples-list{display:flex;flex-direction:column;gap:4px}#mm-root .character-sections-compact .example-item{padding:6px;border:1px solid #f1f5f9;border-radius:4px;background:#fff;transition:all .2s ease}#mm-root .character-sections-compact .example-item:hover{border-color:#cbd5e0;box-shadow:0 1px 2px #0000000d}#mm-root .character-sections-compact .example-chinese{font-size:14px;font-weight:600;color:#1a202c;margin-bottom:2px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:color .2s ease}#mm-root .character-sections-compact .example-chinese:hover{color:#4299e1}#mm-root .character-sections-compact .example-play-btn{background:transparent;border:none;cursor:pointer;font-size:12px;color:#718096;padding:2px;border-radius:2px;transition:all .2s ease}#mm-root .character-sections-compact .example-play-btn:hover{color:#4299e1;background:#f7fafc}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}#mm-root .character-modal-content{max-width:600px;max-height:80vh}#mm-root .character-breakdown{display:flex;flex-direction:column;gap:1rem}#mm-root .phrase-info{background:#f8f9fa;padding:1rem;border-radius:8px;border-left:4px solid #4caf50;margin-bottom:1rem}#mm-root .phrase-info h4{margin:0 0 .5rem;color:#2e7d32;font-size:1.2rem}#mm-root .phrase-meaning{color:#555;font-style:italic;margin-bottom:.5rem}#mm-root .phrase-pinyin{color:#666;font-family:monospace;background:#e9ecef;padding:.2rem .5rem;border-radius:4px;display:inline-block}#mm-root .characters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}#mm-root .character-card{background:#fff;border:2px solid #e9ecef;border-radius:8px;padding:1rem;text-align:center;transition:all .3s ease;cursor:pointer}#mm-root .character-card:hover{border-color:#4caf50;box-shadow:0 2px 8px #4caf5033}#mm-root .character-hanzi{font-size:2rem;font-weight:700;color:#333;margin-bottom:.5rem}#mm-root .character-pinyin{color:#2196f3;font-family:monospace;font-weight:700;margin-bottom:.3rem}#mm-root .character-meaning{color:#666;font-size:.9rem;line-height:1.3}#mm-root .no-breakdown{text-align:center;padding:2rem;color:#666;font-style:italic}#mm-root .detailed-modal-content{max-width:900px;max-height:80vh}#mm-root .character-overview{display:grid;grid-template-columns:1fr 180px;gap:16px;margin-bottom:20px;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}#mm-root .overview-text{display:flex;flex-direction:column;gap:8px}#mm-root .overview-pinyin{font-size:20px;font-weight:600;color:#2d3748}#mm-root .overview-meaning{font-size:16px;color:#4a5568;margin-bottom:8px}#mm-root .overview-pronounce{display:flex;align-items:center;gap:8px;margin-top:8px}#mm-root .overview-pronounce-btn{background:#4299e1;color:#fff;border:none;border-radius:8px;padding:8px 16px;cursor:pointer;font-weight:500;display:flex;align-items:center;gap:6px;transition:all .2s ease}#mm-root .overview-pronounce-btn:hover{background:#3182ce;transform:translateY(-1px)}#mm-root .overview-image{display:flex;align-items:center;justify-content:center}#mm-root .overview-image img{max-width:100%;max-height:180px;border-radius:8px;box-shadow:0 4px 8px #0000001a;cursor:pointer;transition:transform .2s ease}#mm-root .overview-image img:hover{transform:scale(1.05)}#mm-root .overview-placeholder{width:180px;height:180px;background:#edf2f7;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#718096;font-size:14px;text-align:center;padding:16px}#mm-root .character-sections{display:flex;flex-direction:column;gap:8px}#mm-root .character-section{border:1px solid #e2e8f0;border-radius:6px;overflow:hidden}#mm-root .section-header{background:#f8fafc;padding:8px 12px;border-bottom:1px solid #e2e8f0}#mm-root .section-title{margin:0;font-size:14px;font-weight:600;color:#2d3748;display:flex;align-items:center;gap:6px}#mm-root .section-content{padding:8px}#mm-root .history-text{line-height:1.4;color:#4a5568;font-size:13px;margin:0}#mm-root .examples-list{display:flex;flex-direction:column;gap:6px}#mm-root .modal-character{font-size:42px}#mm-root .example-item{padding:8px;border:1px solid #f1f5f9;border-radius:4px;background:#fff;transition:all .2s ease}#mm-root .example-item:hover{border-color:#cbd5e0;box-shadow:0 2px 4px #0000000d}#mm-root .example-chinese{font-size:16px;font-weight:600;color:#1a202c;margin-bottom:4px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:color .2s ease}#mm-root .example-chinese:hover{color:#4299e1}#mm-root .example-play-btn{background:transparent;border:none;cursor:pointer;font-size:14px;color:#718096;padding:3px;border-radius:3px;transition:all .2s ease}#mm-root .example-play-btn:hover{color:#4299e1;background:#f7fafc}#mm-root .mnemonic-section{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:16px;margin-top:12px}#mm-root .mnemonic-title{margin:0 0 8px;font-size:15px;font-weight:600;color:#0c4a6e;display:flex;align-items:center;gap:8px}#mm-root .mnemonic-text{color:#0369a1;font-size:14px;line-height:1.5;margin:0}@media (max-width: 480px){#mm-root .character-modal-content{margin:1rem;max-width:calc(100% - 2rem)}#mm-root .characters-grid{grid-template-columns:1fr 1fr;gap:.8rem}#mm-root .character-hanzi{font-size:1.5rem}#mm-root .detailed-modal-content{margin:1rem;max-width:calc(100% - 2rem)}#mm-root .character-overview{grid-template-columns:1fr;gap:12px;padding:12px}#mm-root .overview-image{justify-content:center}#mm-root .overview-placeholder{width:140px;height:140px}#mm-root .section-content{padding:12px}#mm-root .example-item{padding:10px}}
