:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-gradient-start: #ffe8da;--bg-gradient-end: #ebe7ff;--text-primary: #273049;--text-secondary: #6f7a8a;--surface: #ffffff;--surface-muted: #f9f7fb;--surface-border: #e7e3ee;--surface-elevated-shadow: 0 10px 30px rgba(19, 16, 29, .08);--input-bg: #ffffff;--input-text: #233047;--input-border: #e1dff0;--navbar-gradient-start: #f7dcea;--navbar-gradient-end: #d7ddff;--navbar-alpha-start: rgba(247, 220, 234, .8);--navbar-alpha-end: rgba(215, 221, 255, .8);--bar-bg: #eef2f7;--accent-primary-start: #f7a8c8;--accent-primary-end: #a5b4ff}.theme-dark{color-scheme:dark;--bg-gradient-start: #16161a;--bg-gradient-end: #2a2734;--text-primary: #e6e1e8;--text-secondary: #b8b2bd;--surface: #1c1b22;--surface-muted: #1a191f;--surface-border: #3a3742;--surface-elevated-shadow: 0 10px 30px rgba(0, 0, 0, .6);--input-bg: #1f1e26;--input-text: #efeaf2;--input-border: #3a3742;--navbar-gradient-start: #1b1a20;--navbar-gradient-end: #23212b;--navbar-alpha-start: rgba(27, 26, 32, .7);--navbar-alpha-end: rgba(35, 33, 43, .7);--bar-bg: #2e2b36;--accent-primary-start: #a78bfa;--accent-primary-end: #22d3ee}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;overflow-x:hidden}#root{width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background:linear-gradient(135deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%);min-height:100vh;color:var(--text-primary);margin:0;padding:0}.app{min-height:100vh;display:flex;flex-direction:column}.app-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}@media (max-width: 768px){.word-card{padding:20px;border-radius:15px;margin:10px}.meaning-with-pos{flex-direction:column;gap:10px}.meaning{font-size:22px}.phonetic{flex-direction:row;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center}.us-phonetic,.uk-phonetic{width:auto;max-width:none;padding:6px 10px;font-size:12px}.speech-btn{width:28px;height:28px;font-size:14px;margin-left:6px}.difficulty{margin-top:8px;font-size:14px}.word-input{max-width:100%;font-size:16px;padding:15px 20px}.answer{font-size:20px}}@media (min-width: 769px) and (max-width: 1023px){.word-card{padding:30px;max-width:580px}.meaning{font-size:24px}.word-input{font-size:17px}}@media (min-width: 1024px){.app-content{flex-direction:row;align-items:flex-start;justify-content:stretch;gap:30px;padding:20px;width:100%;height:calc(100vh - 60px);margin:0}.app-left{flex:0 0 350px;display:flex;flex-direction:column;justify-content:flex-start;height:100%}.app-right{flex:1;display:flex;align-items:flex-start;justify-content:stretch;height:100%}.word-card{margin:0!important;max-width:none!important;width:100%;height:fit-content;flex:1}}@media (min-width: 1440px){.app-content{padding:30px;gap:40px}.app-left{flex:0 0 400px}.word-card{padding:40px}}.navbar{background:linear-gradient(135deg,var(--navbar-alpha-start) 0%,var(--navbar-alpha-end) 100%);-webkit-backdrop-filter:saturate(140%) blur(12px);backdrop-filter:saturate(140%) blur(12px);box-shadow:0 6px 20px #00000014;width:100vw;position:sticky;top:0;left:0;right:0;z-index:100;margin:0;padding:0}.navbar-container{padding:10px 30px;display:flex;justify-content:space-between;align-items:center}.navbar-left{display:flex;align-items:center;gap:15px}.navbar-left .navbar-logo{display:inline-block;vertical-align:middle;margin-right:8px;border-radius:6px}.navbar-back-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:var(--text-primary);width:40px;height:40px;border-radius:50%;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:20px;font-weight:700}.navbar-back-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.navbar-title{color:var(--text-primary);font-size:18px;font-weight:700;margin:0;text-shadow:0 1px 3px rgba(0,0,0,.06)}.navbar-right{display:flex;align-items:center;gap:15px}.navbar-settings-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:var(--text-primary);padding:6px 12px;border-radius:20px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:5px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:13px;font-weight:500}.navbar-settings-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.settings-icon{font-size:16px}.settings-text{font-size:13px}@media (max-width: 768px){.navbar-container{padding:12px 20px}.navbar-title{font-size:16px}.navbar-back-btn{width:35px;height:35px;font-size:18px}.navbar-settings-btn{padding:6px 12px;font-size:12px}.settings-text{display:none}.settings-icon{font-size:14px}}.progress-container{background:#fff;border-radius:15px;padding:20px;margin-bottom:30px;box-shadow:0 10px 30px #0003;width:100%;max-width:600px}@media (min-width: 1024px){.progress-container{margin-bottom:0;height:fit-content;padding:20px;max-width:100%}.progress-header{margin-bottom:10px}.progress-header h2{font-size:16px;margin-bottom:6px}.progress-text{font-size:12px;margin-bottom:3px}.word-count{font-size:11px}.boss-challenge-info{padding:4px 8px;margin:3px 0;font-size:11px}.boss-name{margin-bottom:1px}.boss-health-bar{padding:6px;margin:8px 0}.stats{margin-top:10px;gap:10px}.stat-item{font-size:12px;gap:4px}.stat-icon,.stat-count{font-size:14px}}.progress-header{text-align:center;margin-bottom:15px}.progress-header h2{color:#2c3e50;margin-bottom:8px;font-size:18px;font-weight:700}.progress-text{font-size:14px;color:#7f8c8d;font-weight:500;margin-bottom:4px}.word-count{font-size:12px;color:#95a5a6;font-style:italic}.progress-bar{width:100%;height:8px;background-color:#ecf0f1;border-radius:4px;overflow:hidden;margin-bottom:20px}.stats{display:flex;justify-content:space-around;gap:15px;margin-top:15px}.stat-item{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500}.stat-item.familiar{color:#27ae60}.stat-item.unfamiliar{color:#e74c3c}.stat-icon{font-size:16px}.stat-count{font-weight:700;font-size:16px}.word-card{background:#fff;border-radius:20px;padding:35px;box-shadow:0 15px 40px #00000026;width:100%;max-width:750px;text-align:center;margin:0 auto}.word-info{margin-bottom:35px;display:flex;flex-direction:column;gap:20px}.meaning-with-pos{display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap}.part-of-speech{display:inline-block;padding:4px 8px;border-radius:15px;font-size:12px;font-weight:700;text-align:center;min-width:35px;font-family:Courier New,monospace}.part-of-speech.n{background-color:#ecf3ff;color:#3b82f6;border:1px solid #dbe7ff}.part-of-speech.v{background-color:#f7ecff;color:#8b5cf6;border:1px solid #eadcff}.part-of-speech.adj{background-color:#ebfaef;color:#10b981;border:1px solid #d3f9df}.part-of-speech.adv{background-color:#fff3e6;color:#f59e0b;border:1px solid #ffe3c2}.meaning{font-size:26px;font-weight:700;color:#2c3e50;text-align:center;line-height:1.2}.phonetic{font-size:16px;color:#7f8c8d;font-style:italic;display:flex;gap:15px;justify-content:center;align-items:center;flex-wrap:wrap}.us-phonetic,.uk-phonetic{padding:8px 12px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef;font-size:14px;min-width:80px;text-align:center}.speech-btn{background:linear-gradient(135deg,var(--accent-primary-start),var(--accent-primary-end));color:#fff;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:all .3s ease;margin-left:10px;box-shadow:0 2px 8px #00000026}.speech-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.speech-btn:active{transform:translateY(0)}.speech-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.speech-btn.speaking{background:linear-gradient(135deg,#e74c3c,#c0392b);animation:pulse 1s infinite}@keyframes pulse{0%{box-shadow:0 2px 8px #e74c3c4d}50%{box-shadow:0 4px 16px #e74c3c99}to{box-shadow:0 2px 8px #e74c3c4d}}.speech-settings-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.speech-settings-modal{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.speech-settings-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px 12px 0 0}.speech-settings-header h2{margin:0;font-size:20px}.close-btn{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.close-btn:hover{background-color:#fff3}.speech-settings-content{padding:24px}.setting-section{margin-bottom:32px}.setting-section h3{margin:0 0 16px;font-size:18px;color:#2c3e50;border-bottom:2px solid #3498db;padding-bottom:8px}.setting-item{margin-bottom:20px}.setting-label{display:flex;flex-direction:column;gap:8px;font-weight:500;color:#34495e;cursor:pointer}.setting-label input[type=checkbox]{margin-right:8px;transform:scale(1.2)}.setting-description{font-size:14px;color:#7f8c8d;margin:4px 0 0;font-style:italic}.range-slider{width:100%;margin:8px 0;height:6px;border-radius:3px;background:#ddd;outline:none;opacity:.7;transition:opacity .2s}.range-slider:hover{opacity:1}.range-slider::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border-radius:50%;background:#3498db;cursor:pointer}.range-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#3498db;cursor:pointer;border:none}.voices-grid{display:grid;gap:12px}.voice-item{display:flex;justify-content:space-between;align-items:center;padding:16px;border:2px solid #e9ecef;border-radius:8px;transition:all .2s}.voice-item:hover{border-color:#3498db;background-color:#f8f9fa}.voice-item.selected{border-color:#3498db;background-color:#e3f2fd}.voice-info{flex:1}.voice-name{font-weight:500;color:#2c3e50;margin-bottom:4px}.voice-details{font-size:12px;color:#7f8c8d}.voice-actions{display:flex;gap:8px}.test-voice-btn,.select-voice-btn{padding:6px 12px;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.test-voice-btn{background:#f39c12;color:#fff}.test-voice-btn:hover:not(:disabled){background:#e67e22}.select-voice-btn{background:#3498db;color:#fff;min-width:50px}.select-voice-btn:hover:not(:disabled){background:#2980b9}.test-voice-btn:disabled,.select-voice-btn:disabled{opacity:.5;cursor:not-allowed}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px}.stat-item{text-align:center;padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.stat-number{font-size:24px;font-weight:700;color:#3498db;margin-bottom:4px}.speech-settings-footer{display:flex;justify-content:space-between;padding:20px 24px;border-top:1px solid #e9ecef;background-color:#f8f9fa;border-radius:0 0 12px 12px}.reset-btn,.save-btn{padding:10px 20px;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.reset-btn{background:#e74c3c;color:#fff}.reset-btn:hover{background:#c0392b}.save-btn{background:#27ae60;color:#fff}.save-btn:hover{background:#229954}.keyboard-hint{font-size:12px;color:#7f8c8d;text-align:center;margin-top:8px;opacity:.8}.keyboard-hint kbd{background:#f8f9fa;border:1px solid #dee2e6;border-radius:3px;padding:2px 6px;font-size:11px;font-family:monospace;color:#495057;box-shadow:0 1px 2px #0000001a;margin:0 2px}.boss-defeat-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease-out}.boss-defeat-popup{background:#fff;border-radius:16px;width:90%;max-width:500px;overflow:hidden;box-shadow:0 20px 60px #0006;animation:slideUp .4s ease-out}.boss-defeat-popup.victory{border:3px solid #27ae60}.boss-defeat-popup.defeat{border:3px solid #e74c3c}.boss-defeat-header{padding:20px;text-align:center;color:#fff}.victory-header{background:linear-gradient(135deg,#27ae60,#2ecc71)}.defeat-header{background:linear-gradient(135deg,#e74c3c,#c0392b)}.boss-defeated-icon,.boss-alive-icon{font-size:48px;margin-bottom:10px;animation:bounce 1s infinite}.boss-defeat-header h2{margin:0;font-size:24px;font-weight:700}.medal-display{margin-top:15px;display:flex;align-items:center;justify-content:center;gap:10px}.medal-icon{font-size:32px;animation:spin 2s linear infinite}.medal-text{font-size:18px;font-weight:700}.boss-defeat-content{padding:20px}.boss-info h3{text-align:center;color:#2c3e50;margin:0 0 20px;font-size:20px}.accuracy-display{margin:20px 0}.accuracy-bar{background:#ecf0f1;border-radius:10px;height:20px;position:relative;overflow:hidden;margin-bottom:10px}.accuracy-progress{width:100%;height:100%;position:relative}.accuracy-fill{height:100%;border-radius:10px;transition:width 1s ease-out;position:relative}.accuracy-fill.success{background:linear-gradient(90deg,#27ae60,#2ecc71)}.accuracy-fill.failed{background:linear-gradient(90deg,#e74c3c,#c0392b)}.required-marker{position:absolute;top:-5px;height:30px;width:2px;background:#34495e;transform:translate(-50%)}.required-marker:before{content:"";position:absolute;top:-5px;left:-4px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid #34495e}.required-text{position:absolute;top:-25px;left:50%;transform:translate(-50%);background:#34495e;color:#fff;padding:2px 6px;border-radius:4px;font-size:12px;white-space:nowrap}.accuracy-labels{display:flex;justify-content:space-between;font-size:14px;color:#7f8c8d}.reward-info{background:#f8f9fa;border-radius:8px;padding:15px;margin:15px 0;border-left:4px solid #27ae60}.exp-reward,.bonus-exp{display:flex;justify-content:space-between;align-items:center;margin:5px 0}.reward-label,.bonus-label{color:#2c3e50;font-weight:500}.exp-value{color:#27ae60;font-weight:700;font-size:16px}.bonus-value{color:#f39c12;font-weight:700;font-size:14px}.result-message{text-align:center;color:#2c3e50;line-height:1.6;margin:15px 0}.result-message p{margin:8px 0;font-size:16px}.boss-defeat-actions{padding:20px;text-align:center;background:#f8f9fa}.continue-btn{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;padding:12px 30px;border-radius:25px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #27ae604d}.continue-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #27ae6066}.defeat-actions{display:flex;gap:15px;justify-content:center}.retry-btn{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;padding:12px 25px;border-radius:25px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #e74c3c66}.back-btn{background:linear-gradient(135deg,#95a5a6,#7f8c8d);color:#fff;border:none;padding:12px 25px;border-radius:25px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease}.back-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #95a5a666}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.boss-challenge-info{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;padding:6px 10px;border-radius:6px;margin:5px 0;font-size:12px}.boss-name{font-weight:700;margin-bottom:2px}.boss-difficulty{font-size:12px;opacity:.9}.boss-health-bar{background:#2c3e50;border-radius:8px;padding:8px;margin:10px 0;color:#fff}.boss-health-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px;font-weight:700}.accuracy-display{color:#f39c12}.boss-health-container{background:#34495e;height:20px;border-radius:10px;position:relative;overflow:hidden;margin:8px 0}.boss-health-fill{height:100%;border-radius:10px;transition:width .8s ease-out;position:relative}.boss-health-fill.boss-fighting{background:linear-gradient(90deg,#e74c3c,#c0392b);animation:pulse-red 2s infinite}.boss-health-fill.boss-defeated{background:linear-gradient(90deg,#27ae60,#2ecc71);animation:pulse-green 2s infinite}.boss-threshold{position:absolute;top:0;bottom:0;width:3px;background:#f1c40f;box-shadow:0 0 10px #f1c40f;animation:glow 1.5s infinite alternate}.boss-status{text-align:center;margin-top:8px;font-size:13px}.boss-defeated-text{color:#2ecc71;font-weight:700;animation:victory-pulse 1s infinite}.boss-fighting-text{color:#e74c3c;animation:battle-pulse 1.5s infinite}@keyframes pulse-red{0%,to{box-shadow:0 0 5px #e74c3c80}50%{box-shadow:0 0 20px #e74c3ccc}}@keyframes pulse-green{0%,to{box-shadow:0 0 5px #2ecc7180}50%{box-shadow:0 0 20px #2ecc71cc}}@keyframes glow{0%{box-shadow:0 0 5px #f1c40f}to{box-shadow:0 0 15px #f1c40f,0 0 25px #f1c40f}}@keyframes victory-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes battle-pulse{0%,to{opacity:1}50%{opacity:.7}}.difficulty{font-size:16px;color:#f39c12;margin-top:10px;text-align:center}.details-toggle{background:linear-gradient(135deg,var(--accent-primary-start),var(--accent-primary-end));color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:14px;cursor:pointer;transition:all .3s ease;margin-top:10px}.details-toggle:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.word-details{margin-top:25px;padding:20px;background:#f8f9fa;border-radius:12px;text-align:left;border:1px solid #e9ecef}.detail-section{margin-bottom:20px}.detail-section:last-child{margin-bottom:0}.detail-section h4{color:#2c3e50;font-size:16px;margin-bottom:12px;border-bottom:2px solid #3498db;padding-bottom:4px;display:inline-block}.example-item{margin-bottom:12px;padding:10px;background:#fff;border-radius:6px;border-left:3px solid #3498db}.example-en{font-style:italic;color:#2c3e50;margin-bottom:4px;font-size:14px}.example-cn{color:#7f8c8d;font-size:13px;margin:0}.exam-sentence-item{margin-bottom:12px;padding:10px;background:#fff;border-radius:6px;border-left:3px solid #e74c3c}.exam-sentence-en{font-style:italic;color:#2c3e50;margin-bottom:4px;font-size:14px}.exam-source{color:#e74c3c;font-size:12px;margin:0;font-weight:700}.synonym-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;padding:8px;background:#fff;border-radius:6px}.synonym-pos{background:#3498db;color:#fff;padding:2px 6px;border-radius:4px;font-size:12px;font-weight:700}.synonym-trans{color:#2c3e50;font-weight:500;font-size:14px}.synonym-words{color:#7f8c8d;font-size:13px;font-style:italic}.phrase-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;padding:6px 8px;background:#fff;border-radius:6px;font-size:13px}.phrase-en{color:#2c3e50;font-weight:500}.phrase-cn{color:#7f8c8d}.memory-tip{background:#fff;padding:12px;border-radius:6px;color:#2c3e50;font-size:14px;line-height:1.4;border-left:3px solid #f39c12;margin:0}.theme-dark .memory-tip{background:var(--surface-muted);color:var(--text-primary);border-left-color:#f59e0b}.related-group{margin-bottom:12px}.related-pos{background:#27ae60;color:#fff;padding:2px 6px;border-radius:4px;font-size:12px;font-weight:700;margin-bottom:6px;display:inline-block}.related-words{display:flex;flex-wrap:wrap;gap:8px}.related-word-item{background:#fff;padding:4px 8px;border-radius:6px;font-size:12px;border:1px solid #bdc3c7}.related-word{color:#2c3e50;font-weight:700;margin-right:4px}.related-word-trans{color:#7f8c8d}.input-section{margin-bottom:25px;display:flex;flex-direction:column;align-items:center;gap:12px}.word-input{width:100%;max-width:450px;padding:18px 24px;font-size:18px;border:2px solid #e3f2fd;border-radius:15px;text-align:center;transition:all .3s ease;outline:none;background-color:#fafafa;color:#2c3e50;font-weight:500;box-shadow:0 4px 12px #00000014}.word-input:focus{border-color:#42a5f5;box-shadow:0 0 0 3px #42a5f526,0 6px 20px #0000001f;background-color:#fff;transform:translateY(-2px)}.word-input:hover{border-color:#90caf9;box-shadow:0 3px 10px #00000014}.word-input.incorrect{border-color:#f48fb1;background-color:#fce4ec;color:#000}.word-input.incorrect:focus{border-color:#e91e63;box-shadow:0 0 0 3px #e91e6326,0 4px 12px #0000001a}.word-input.needs-reinput{border-color:#ff9800;background-color:#fff3e0;color:#000;animation:pulse-reinput 1.5s ease-in-out infinite}.word-input.needs-reinput:focus{border-color:#f57c00;box-shadow:0 0 0 3px #f57c0026,0 4px 12px #0000001a;background-color:#fff;animation:none}@keyframes pulse-reinput{0%{box-shadow:0 2px 8px #0000000d}50%{box-shadow:0 4px 12px #ff980033}to{box-shadow:0 2px 8px #0000000d}}.word-input:disabled{background-color:#f5f5f5;color:#9e9e9e;border-color:#e0e0e0;cursor:not-allowed}.word-input::placeholder{color:#b0bec5;font-style:italic;font-weight:400}.word-input:focus::placeholder{color:#90a4ae}.answer-section{margin-top:25px;display:flex;flex-direction:column;gap:15px}.answer{font-size:24px;font-weight:700;margin-bottom:15px;padding:15px;border-radius:10px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.answer.correct{background:linear-gradient(135deg,#e8f5e8,#f1f8e9);color:#2e7d32;border:1px solid #81c784}.answer.incorrect{background:linear-gradient(135deg,#fce4ec,#f8bbd9);color:#c2185b;border:1px solid #f48fb1}.status{font-size:16px;font-weight:500}.correct-status{color:#27ae60}.incorrect-status{color:#e74c3c}.completion-screen{background:#fff;border-radius:15px;padding:50px;box-shadow:0 10px 30px #0003;text-align:center;width:100%;max-width:800px}.completion-screen h1{color:#2c3e50;margin-bottom:30px;font-size:32px}.final-stats{margin-bottom:30px}.final-stats .stat-item{justify-content:space-between;padding:15px 0;border-bottom:1px solid #ecf0f1;font-size:18px}.final-stats .stat-item:last-child{border-bottom:none}.stat-label{font-weight:500;color:#7f8c8d}.stat-value{font-weight:700;color:#2c3e50}.stat-value.familiar{color:#27ae60}.stat-value.unfamiliar{color:#e74c3c}.restart-btn{background:linear-gradient(135deg,var(--accent-primary-start),var(--accent-primary-end));color:#fff;border:none;padding:15px 30px;font-size:18px;font-weight:700;border-radius:10px;cursor:pointer;transition:all .3s ease}.restart-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea4d}.settings-screen{background:#fff;border-radius:15px;padding:40px;box-shadow:0 10px 30px #0003;text-align:center;width:100%;max-width:900px;margin:0 auto}.settings-screen h1{color:#2c3e50;margin-bottom:10px;font-size:28px}.settings-screen p{color:#7f8c8d;margin-bottom:30px;font-size:16px}.difficulty-selector{margin-bottom:30px}.difficulty-selector h3{color:#2c3e50;margin-bottom:20px;font-size:20px}.difficulty-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}.difficulty-btn{background:#fff;border:2px solid #ecf0f1;border-radius:10px;padding:20px;cursor:pointer;transition:all .3s ease;font-size:14px;color:#2c3e50;min-width:120px;text-align:center}.difficulty-btn:hover{border-color:#3498db;transform:translateY(-2px);box-shadow:0 4px 15px #3498db33}.difficulty-btn.active{border-color:#27ae60;background-color:#d5f5e3}.difficulty-btn small{display:block;margin-top:5px;color:#7f8c8d;font-size:12px}.selector-controls{display:flex;gap:10px;justify-content:center}.control-btn{background:#95a5a6;color:#fff;border:none;padding:8px 16px;border-radius:5px;cursor:pointer;font-size:14px;transition:all .3s ease}.control-btn:hover{background:#7f8c8d}.start-info{margin-top:20px}.start-info p{margin-bottom:15px;font-size:16px}.start-btn{background:linear-gradient(135deg,var(--accent-primary-start),var(--accent-primary-end));color:#fff;border:none;padding:15px 40px;font-size:18px;font-weight:700;border-radius:10px;cursor:pointer;transition:all .3s ease}.start-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea4d}@media (max-width: 768px){.app-content{padding:10px;flex-direction:column!important}.app-left,.app-right{flex:none!important;width:100%!important}.progress-container,.word-card,.completion-screen,.settings-screen{padding:20px;margin-bottom:20px}.progress-container{position:static!important}.meaning{font-size:24px}.meaning-with-pos{flex-direction:column;gap:8px}.part-of-speech{font-size:11px;padding:3px 6px}.phonetic{font-size:16px;flex-direction:row;flex-wrap:nowrap;gap:6px;justify-content:center;align-items:center}.word-input{font-size:18px;padding:12px 15px}.stats{flex-direction:column;gap:15px}.difficulty-buttons{flex-direction:column;align-items:center}.difficulty-btn{min-width:200px}}@media (min-width: 769px) and (max-width: 1023px){.app-content{flex-direction:column;gap:30px;padding:30px}.app-left,.app-right{flex:none;width:100%}.progress-container{position:static}}.level-map{padding:15px 30px;width:100%;display:flex;flex-direction:column;gap:20px}.stats-panel{background:#fff;border-radius:15px;padding:20px;box-shadow:0 5px 20px #0000001a;display:flex;flex-direction:column;gap:15px}.user-info{display:flex;flex-direction:column;gap:10px}.user-level{display:flex;align-items:center;gap:10px}.level-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8px 12px;border-radius:20px;font-weight:700;font-size:14px}.experience{color:#7f8c8d;font-size:14px}.progress-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px}.stat-card{text-align:center;background:#f8f9fa;border-radius:10px;padding:12px 10px;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-number{font-size:28px;font-weight:700;color:#2c3e50;margin-bottom:4px;line-height:1}.stat-label{font-size:12px;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px}.overall-progress{background:#fff;border-radius:15px;padding:20px;box-shadow:0 5px 20px #0000001a}.progress-info{display:flex;justify-content:space-between;margin-bottom:10px;font-size:14px;color:#2c3e50}.progress-bar{width:100%;height:8px;background-color:#ecf0f1;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary-start),var(--accent-primary-end));border-radius:4px;transition:width .3s ease}.level-filters{background:#fff;border-radius:15px;padding:20px;box-shadow:0 5px 20px #0000001a;display:flex;flex-direction:column;gap:20px}.filter-group{display:flex;flex-direction:column;gap:10px}@media (min-width: 768px){.filter-group{flex-direction:row;align-items:center}}.filter-group label{font-size:14px;font-weight:500;color:#2c3e50;white-space:nowrap}.difficulty-filters{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{padding:6px 12px;border:2px solid;border-radius:20px;background:transparent;cursor:pointer;font-size:12px;font-weight:500;transition:all .3s ease}.filter-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.search-input{padding:8px 12px;border:2px solid #e3f2fd;border-radius:20px;outline:none;font-size:14px;transition:border-color .3s ease}.search-input:focus{border-color:#42a5f5}.levels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.level-card{background:#fff;border-radius:15px;border:3px solid;padding:20px;transition:all .3s ease;position:relative;overflow:hidden}.level-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #00000026}.level-card.locked{opacity:.6;cursor:not-allowed}.level-card.completed{background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.level-card.available{background:linear-gradient(135deg,#fff,#f8f9fa)}.level-card.disabled{pointer-events:none;opacity:.5}.level-header{display:flex;align-items:center;gap:15px;margin-bottom:15px}.level-icon{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;box-shadow:0 4px 12px #0003}.level-number{font-size:14px;color:#7f8c8d;font-weight:500}.level-info{margin-bottom:15px}.level-name{font-size:18px;font-weight:700;color:#2c3e50;margin-bottom:5px}.level-description{font-size:14px;color:#7f8c8d;margin-bottom:15px;line-height:1.4}.level-stats{display:flex;flex-direction:column;gap:5px}.stat-item{display:flex;justify-content:space-between;font-size:13px}.stat-label{color:#7f8c8d}.stat-value{font-weight:500;color:#2c3e50}.stat-value.difficulty{font-weight:700}.level-progress{display:flex;flex-direction:column;gap:8px}.stars{display:flex;gap:2px}.star{font-size:16px;transition:color .3s ease}.best-score{font-size:12px;color:#27ae60;font-weight:700}.level-status{font-size:12px;padding:4px 8px;border-radius:10px;text-align:center;font-weight:500;background:#ecf0f1;color:#2c3e50}.unlock-condition{position:absolute;top:10px;right:10px;background:#000000b3;color:#fff;padding:4px 8px;border-radius:10px;font-size:10px}.attempts{font-size:11px;color:#95a5a6;text-align:right;margin-top:5px}.no-results{text-align:center;padding:60px 20px;color:#7f8c8d}.no-results-icon{font-size:48px;margin-bottom:15px}.no-results-text{font-size:18px;margin-bottom:20px}.reset-filters-btn{background:linear-gradient(135deg,var(--accent-primary-start),var(--accent-primary-end));color:#fff;border:none;padding:10px 20px;border-radius:20px;cursor:pointer;font-size:14px;transition:transform .3s ease}.reset-filters-btn:hover{transform:translateY(-2px)}.level-map-footer{background:#fff;border-radius:15px;padding:20px;box-shadow:0 5px 20px #0000001a}.tips h4{color:#2c3e50;margin-bottom:15px;display:flex;align-items:center;gap:8px}.tips ul{list-style:none;padding:0}.tips li{color:#7f8c8d;font-size:14px;position:relative;padding:5px 0 5px 20px}.tips li:before{content:"•";color:#3498db;font-weight:700;position:absolute;left:0}@media (max-width: 768px){.level-map{padding:10px;gap:15px}.stats-panel{padding:15px}.progress-stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:10px}.stat-number{font-size:20px}.level-filters{padding:15px;gap:15px}.levels-grid{grid-template-columns:1fr;gap:15px}.overall-progress,.level-map-footer{padding:15px}}@media (min-width: 769px) and (max-width: 1024px){.level-map{padding:20px}.levels-grid{grid-template-columns:repeat(2,1fr);gap:20px}.progress-stats{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1025px){.stats-panel{flex-direction:row;align-items:center;justify-content:space-between;gap:30px;padding:20px 25px}.user-info{flex-shrink:0;min-width:200px}.progress-stats{flex:1;max-width:none;grid-template-columns:repeat(4,1fr);gap:15px}}.level-filters{flex-direction:row;flex-wrap:wrap;align-items:center;gap:30px}.filter-group{flex-direction:row;align-items:center}.levels-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.level-map{padding:20px 40px}@media (min-width: 1600px){.level-map{padding:30px 50px}.levels-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}.experience-bar{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 15px #0000001a;margin:15px auto;position:relative;overflow:hidden;max-width:800px;width:100%}.experience-bar.level-up-animation{animation:levelUpPulse 1s ease-in-out}@keyframes levelUpPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.level-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.current-level{display:flex;align-items:center;gap:12px}.level-badge{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:20px;color:#fff;font-weight:700;box-shadow:0 2px 8px #0003}.level-icon{font-size:16px}.level-number{font-size:14px}.level-title{font-size:18px;font-weight:700;color:#2c3e50}.next-level{display:flex;align-items:center;gap:5px;font-size:14px;color:#7f8c8d}.next-level-name{color:#3498db;font-weight:500}.exp-bar-container{position:relative;margin-bottom:10px}.exp-bar-background{height:12px;background:#ecf0f1;border-radius:6px;overflow:hidden;position:relative}.exp-bar-fill{height:100%;border-radius:6px;transition:width .3s ease;position:relative;overflow:hidden}.exp-bar-fill.animating{animation:expGlow .5s ease-in-out infinite alternate}@keyframes expGlow{0%{box-shadow:0 0 5px #ffffff80}to{box-shadow:0 0 15px #fffc}}.exp-shine{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shine 1s ease-in-out infinite}@keyframes shine{0%{left:-100%}to{left:100%}}.exp-numbers{position:absolute;top:50%;right:10px;transform:translateY(-50%);font-size:12px;font-weight:700;color:#2c3e50;text-shadow:0 1px 2px rgba(255,255,255,.8)}.exp-separator{margin:0 3px}.progress-hint{text-align:center;font-size:12px;color:#95a5a6;font-style:italic}.level-up-notification{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-in-out}.level-up-content{background:#fff;border-radius:20px;padding:30px;box-shadow:0 10px 30px #0000004d;display:flex;align-items:center;gap:20px;max-width:400px;position:relative;animation:slideUp .5s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.level-up-icon{font-size:48px;animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.level-up-text{flex:1}.level-up-title{font-size:20px;font-weight:700;color:#2c3e50;margin-bottom:5px}.level-up-detail{font-size:16px;color:#7f8c8d}.level-up-close{position:absolute;top:10px;right:15px;background:none;border:none;font-size:24px;color:#95a5a6;cursor:pointer;transition:color .3s ease}.level-up-close:hover{color:#e74c3c}.achievement-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1001;opacity:0;transition:opacity .3s ease}.achievement-overlay.show{opacity:1}.achievement-popup{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:30px;box-shadow:0 15px 35px #0000004d;max-width:450px;width:90%;position:relative;transform:translateY(50px) scale(.9);transition:all .3s ease;overflow:hidden}.achievement-popup.animate{transform:translateY(0) scale(1)}.achievement-bg-effects{position:absolute;inset:0;pointer-events:none}.sparkle{position:absolute;font-size:20px;animation:sparkleFloat 3s ease-in-out infinite}.sparkle-1{top:10%;left:15%;animation-delay:0s}.sparkle-2{top:20%;right:20%;animation-delay:.5s}.sparkle-3{bottom:30%;left:25%;animation-delay:1s}.sparkle-4{bottom:20%;right:15%;animation-delay:1.5s}@keyframes sparkleFloat{0%,to{transform:translateY(0) rotate(0);opacity:.7}50%{transform:translateY(-10px) rotate(180deg);opacity:1}}.achievement-content{position:relative;z-index:1;color:#fff}.achievement-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.achievement-title{font-size:24px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3)}.close-btn{background:#fff3;border:none;color:#fff;font-size:24px;width:35px;height:35px;border-radius:50%;cursor:pointer;transition:background .3s ease}.close-btn:hover{background:#ffffff4d}.achievement-main{display:flex;align-items:center;gap:20px;margin-bottom:20px}.achievement-icon-container{position:relative;flex-shrink:0}.achievement-icon{font-size:64px;display:block;position:relative;z-index:2;animation:achievementPulse 2s ease-in-out infinite}@keyframes achievementPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.achievement-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.3),transparent);animation:glowPulse 2s ease-in-out infinite}@keyframes glowPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.5}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.8}}.achievement-info{flex:1}.achievement-name{font-size:22px;font-weight:700;margin-bottom:8px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.achievement-description{font-size:16px;opacity:.9;margin-bottom:15px;line-height:1.4}.achievement-reward{display:flex;align-items:center;gap:8px;font-size:14px}.reward-text{opacity:.8}.reward-points{background:#fff3;padding:4px 8px;border-radius:10px;font-weight:700}.achievement-footer{display:flex;justify-content:space-between;align-items:center}.achievement-type-badge,.achievement-rarity{padding:6px 12px;border-radius:15px;font-size:12px;font-weight:700;background:#fff3;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.experience-bar{padding:15px;margin:10px 0}.level-info{flex-direction:column;align-items:flex-start;gap:10px}.level-up-content{flex-direction:column;text-align:center;padding:25px}.level-up-icon{order:-1}.achievement-popup{padding:25px;margin:20px}.achievement-main{flex-direction:column;text-align:center}.achievement-footer{flex-direction:column;gap:10px}}.game-menu{width:100%;max-width:1200px;margin:0 auto;padding:40px 30px;text-align:center}.game-menu h1{font-size:36px;color:#2c3e50;margin-bottom:15px;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.game-menu>p{font-size:18px;color:#7f8c8d;margin-bottom:30px;line-height:1.6}.menu-options{display:flex;gap:30px;justify-content:center;margin:40px 0;flex-wrap:wrap}.menu-btn{background:#fff;border:3px solid;border-radius:20px;padding:30px 40px;cursor:pointer;transition:all .3s ease;width:100%;max-width:450px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:20px;font-weight:700;box-shadow:0 8px 25px #0000001a}.menu-btn.primary{border-color:#3498db;color:#3498db;background:linear-gradient(135deg,#f8f9fa,#e3f2fd)}.menu-btn.primary:hover{background:#3498db;color:#fff;transform:translateY(-5px);box-shadow:0 15px 35px #3498db4d}.menu-btn.secondary{border-color:#95a5a6;color:#95a5a6;background:linear-gradient(135deg,#f8f9fa,#ecf0f1)}.menu-btn.secondary:hover{background:#95a5a6;color:#fff;transform:translateY(-5px);box-shadow:0 15px 35px #95a5a64d}.btn-description{font-size:14px;font-weight:400;opacity:.8;line-height:1.4}.game-stats{display:flex;justify-content:center;gap:40px;margin:40px auto 0;padding:30px;background:#fff;border-radius:20px;box-shadow:0 8px 25px #0000001a;flex-wrap:wrap;max-width:800px;width:100%}.game-stats .stat-item{display:flex;flex-direction:column;align-items:center;gap:8px}.game-stats .stat-number{font-size:32px;font-weight:700;color:#2c3e50}.game-stats .stat-label{font-size:14px;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px}.level-progress-card{background:#fff;border-radius:15px;padding:25px;box-shadow:0 8px 25px #0000001a;margin-bottom:20px}.level-progress-card h3{font-size:22px;color:#2c3e50;margin-bottom:8px;font-weight:700}.level-progress-card p{font-size:16px;color:#7f8c8d;margin-bottom:20px;line-height:1.4}.session-stats{margin-top:20px;padding-top:20px;border-top:1px solid #ecf0f1;display:flex;flex-direction:column;gap:10px}.session-stats .stat{display:flex;justify-content:space-between;font-size:14px;color:#2c3e50}.session-stats .stat span{font-weight:500}@media (max-width: 768px){.game-menu{padding:20px 10px}.game-menu h1{font-size:28px}.menu-options{flex-direction:column;align-items:center;gap:20px}.menu-btn{max-width:350px;width:100%;padding:25px 30px;font-size:18px}.experience-bar{max-width:100%;margin:15px 0}.game-stats{max-width:100%;margin:40px 0 0;flex-direction:column;gap:20px;padding:20px}.level-progress-card{padding:20px}.word-details{padding:15px;margin-top:20px}.detail-section h4{font-size:14px}.example-item,.exam-sentence-item{padding:8px}.example-en,.exam-sentence-en{font-size:13px}.example-cn,.exam-source{font-size:12px}.phrase-item{flex-direction:column;align-items:flex-start;gap:4px;padding:8px}.related-words{gap:4px}.related-word-item{font-size:11px;padding:3px 6px}}.theme-dark body{color:var(--text-primary);background:linear-gradient(135deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%)}.theme-dark .progress-bar,.theme-dark .accuracy-bar,.theme-dark .boss-health-container,.theme-dark .exp-bar-background{background-color:var(--bar-bg)}.theme-dark .progress-container,.theme-dark .word-card,.theme-dark .completion-screen,.theme-dark .settings-screen,.theme-dark .stats-panel,.theme-dark .overall-progress,.theme-dark .level-filters,.theme-dark .level-map-footer,.theme-dark .experience-bar,.theme-dark .level-progress-card,.theme-dark .game-stats,.theme-dark .level-up-content,.theme-dark .level-card{background:var(--surface);color:var(--text-primary);box-shadow:var(--surface-elevated-shadow);border-color:var(--surface-border)}.theme-dark .us-phonetic,.theme-dark .uk-phonetic,.theme-dark .voice-item,.theme-dark .stat-card,.theme-dark .word-details,.theme-dark .example-item,.theme-dark .exam-sentence-item,.theme-dark .synonym-item,.theme-dark .phrase-item,.theme-dark .related-word-item{background:var(--surface-muted);border-color:var(--surface-border)}.theme-dark .word-input,.theme-dark .search-input{background:var(--input-bg);color:var(--input-text);border-color:var(--input-border)}.theme-dark .word-input:focus,.theme-dark .search-input:focus{background-color:var(--input-bg);color:var(--input-text);border-color:var(--input-border);box-shadow:0 0 0 3px #3a374259,0 6px 20px #0006}.theme-dark .word-input:hover,.theme-dark .search-input:hover{border-color:var(--input-border);box-shadow:0 3px 10px #0003}.theme-dark .word-input::placeholder,.theme-dark .search-input::placeholder{color:#b8b2bd}.theme-dark .progress-header h2,.theme-dark .level-title,.theme-dark .meaning,.theme-dark .game-menu h1,.theme-dark .boss-info h3,.theme-dark .result-message,.theme-dark .level-progress-card h3,.theme-dark .level-up-title,.theme-dark .voice-name{color:var(--text-primary)}.theme-dark .phonetic,.theme-dark .progress-text,.theme-dark .word-count,.theme-dark .voice-details,.theme-dark .stat-label,.theme-dark .level-description,.theme-dark .next-level,.theme-dark .progress-hint,.theme-dark .experience,.theme-dark .level-number,.theme-dark .attempts,.theme-dark .no-results-text{color:var(--text-secondary)}.theme-dark .example-en,.theme-dark .example-cn,.theme-dark .exam-sentence-en,.theme-dark .synonym-trans,.theme-dark .phrase-en,.theme-dark .phrase-cn,.theme-dark .related-word,.theme-dark .related-word-trans,.theme-dark .memory-tip,.theme-dark .keyboard-hint{color:var(--text-primary)}.correct-anim{animation:cardBounce .6s ease-out;position:relative}@keyframes cardBounce{0%{transform:translateY(0) scale(1)}20%{transform:translateY(-6px) scale(1.01)}40%{transform:translateY(0) scale(1)}60%{transform:translateY(-3px) scale(1.005)}to{transform:translateY(0) scale(1)}}.success-anim{pointer-events:none;position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.confetti{position:absolute;font-size:24px;opacity:0;animation:confettiFloat 1.1s ease-out forwards}.confetti.c1{top:18%;left:25%;animation-delay:0ms}.confetti.c2{top:12%;right:18%;animation-delay:80ms}.confetti.c3{bottom:12%;left:40%;animation-delay:.16s}.confetti.c4{top:30%;left:10%;animation-delay:.24s}.confetti.c5{bottom:20%;right:12%;animation-delay:.32s}@keyframes confettiFloat{0%{transform:translateY(12px) scale(.9);opacity:0}40%{opacity:1}to{transform:translateY(-26px) scale(1);opacity:0}}.float-plus{position:absolute;bottom:14px;right:16px;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.3px;box-shadow:0 6px 16px #27ae6059;animation:floatUpFade 1.3s ease-out forwards}@keyframes floatUpFade{0%{transform:translateY(0);opacity:0}20%{opacity:1}to{transform:translateY(-24px);opacity:0}}.theme-dark .float-plus{box-shadow:0 8px 20px #27ae6080}@media (prefers-reduced-motion: reduce){.confetti,.float-plus{animation:none!important}}.hero{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:10px}.hero-avatar{font-size:36px;line-height:1}.boss-battle{margin-top:10px;background:var(--surface);border:1px solid var(--surface-border);border-radius:10px;padding:12px}.battle-ground{position:relative;height:140px;background:linear-gradient(180deg,#00000012,#0000);border-radius:8px;overflow:hidden}.pixel-hero,.pixel-boss{position:absolute;bottom:6px}.pixel-hero{left:5%;transition:left .3s ease;animation:heroIdleBob 1.8s ease-in-out infinite}.pixel-boss{right:4%;bottom:0}.sprite{width:48px;height:48px;image-rendering:pixelated}.sprite-hero{width:128px;height:128px;transform-origin:50% 100%}.sprite-boss{width:112px;height:112px}@keyframes heroAttack{0%{transform:translate(0)}50%{transform:translate(6px)}to{transform:translate(0)}}.hero-attack{animation:heroAttack .3s ease-out}@keyframes bossHit{0%{transform:translate(0);filter:brightness(1)}30%{transform:translate(-4px);filter:brightness(1.2)}60%{transform:translate(2px)}to{transform:translate(0);filter:brightness(1)}}.boss-hit{animation:bossHit .35s ease-out}.boss-weak .sprite{filter:saturate(1.2) drop-shadow(0 0 6px rgba(255,215,0,.4))}.battle-hint{text-align:center;font-size:12px;color:var(--text-secondary);margin-top:6px}.hero-health-bar{background:var(--surface);border-radius:10px;padding:10px;border:1px solid var(--surface-border);margin-top:10px}.hero-health-header{display:flex;justify-content:space-between;font-size:14px;margin-bottom:6px}.hero-health-container{background:var(--bar-bg);height:12px;border-radius:6px;overflow:hidden}.hero-health-fill{height:100%;transition:width .25s ease}.hero-health-fill.hero-alive{background:linear-gradient(90deg,#27ae60,#2ecc71)}.hero-health-fill.hero-dead{background:linear-gradient(90deg,#c0392b,#e74c3c)}@keyframes heroAttack{0%{transform:translate(0)}40%{transform:translate(6px)}to{transform:translate(0)}}.hero-attack{animation:heroAttack .26s ease-out}@keyframes heroHit{0%{filter:brightness(1.2);transform:translate(-4px)}60%{filter:brightness(1);transform:translate(2px)}to{transform:translate(0)}}.hero-hit{animation:heroHit .32s ease-out}.fx-slash{position:absolute;left:54px;top:8px;color:#ecf0f1;font-weight:900;text-shadow:0 0 6px rgba(255,255,255,.8);animation:slashFly .3s ease-out forwards}@keyframes slashFly{0%{opacity:0;transform:translate(0) scale(.9)}to{opacity:1;transform:translate(14px,-6px) scale(1.2)}}.fx-hit{position:absolute;inset:0;border-radius:6px;background:#ffffff73;animation:hitFlash .22s ease-out forwards}@keyframes hitFlash{0%{opacity:.8}to{opacity:0}}.fx-spark{position:absolute;right:32px;top:6px;color:#f1c40f;text-shadow:0 0 8px rgba(241,196,15,.7);animation:spark .28s ease-out forwards}@keyframes spark{0%{transform:scale(.6);opacity:0}to{transform:scale(1.2);opacity:1}}.fx-ultimate{position:absolute;left:50px;top:14px;width:0;height:6px;border-radius:3px;background:linear-gradient(90deg,#67e8f9,#22d3ee,#22c55e);box-shadow:0 0 12px #22d3eecc;animation:beam .6s ease-out forwards}@keyframes beam{0%{width:0;opacity:.9}to{width:120px;opacity:0}}.proj{position:absolute;pointer-events:none}.hero-bolt{left:50px;top:16px;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle,#a7f3d0,#34d399);box-shadow:0 0 10px #34d399cc;animation:boltFly .6s cubic-bezier(.22,.61,.36,1) forwards}@keyframes boltFly{0%{transform:translate(0);opacity:.9}50%{transform:translate(70px,-8px)}to{transform:translate(140px,-2px);opacity:0}}.boss-orb{right:40px;top:18px;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle,#111827,#4b5563);box-shadow:0 0 10px #4b5563cc;animation:orbFly .7s cubic-bezier(.22,.61,.36,1) forwards,orbPulse .6s ease-in-out infinite}@keyframes orbFly{0%{transform:translate(0);opacity:.95}60%{transform:translate(-70px,-6px)}to{transform:translate(-150px,2px);opacity:0}}@keyframes orbPulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.fx-explosion{position:absolute;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle,#ffffffe6,#ffd700cc,#ff6b6bb3);box-shadow:0 0 16px #ffd700cc;animation:explode .42s ease-out forwards}.hero-exp{left:34px;top:10px}.boss-exp{right:28px;top:8px}@keyframes explode{0%{transform:scale(.6);opacity:.9}80%{transform:scale(1.4);opacity:.8}to{transform:scale(1.6);opacity:0}}.fx-ultimate.fire{position:absolute;left:46px;top:12px;height:10px;width:0;border-radius:6px;background:linear-gradient(90deg,#7c2d12,#ef4444,#f59e0b,#fde68a);box-shadow:0 0 18px #f59e0be6,0 0 36px #ef444499;animation:fireBeam .8s ease-out forwards}@keyframes fireBeam{0%{width:0;opacity:1}60%{width:140px;opacity:1}to{width:160px;opacity:0}}.fx-fire-spark{position:absolute;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle,#fff7ed,#fdba74,#ef4444);box-shadow:0 0 10px #ef4444cc;animation:fireSpark .9s ease-out forwards}.fx-fire-spark.s1{left:90px;top:4px}.fx-fire-spark.s2{left:110px;top:18px}.fx-fire-spark.s3{left:130px;top:10px}@keyframes fireSpark{0%{transform:translateY(0) scale(.7);opacity:1}to{transform:translateY(-18px) scale(1.2);opacity:0}}.proj.boss-orb{box-shadow:0 0 10px #00000040}.proj.boss-orb.fire{background:radial-gradient(circle,#fff1b1,#f59e0b,#ef4444);box-shadow:0 0 16px #ef4444cc}.proj.boss-orb.ice{background:radial-gradient(circle,#e0f2fe,#93c5fd,#38bdf8);box-shadow:0 0 16px #38bdf8cc}.proj.boss-orb.storm{background:radial-gradient(circle,#fef08a,#a78bfa,#6366f1);box-shadow:0 0 16px #6366f1cc}.proj.boss-orb.sand{background:radial-gradient(circle,#fff1b1,#f4a261,#e9c46a);box-shadow:0 0 16px #f4a261cc}.proj.boss-orb.nature{background:radial-gradient(circle,#d9f99d,#86efac,#22c55e);box-shadow:0 0 16px #22c55ecc}.proj.boss-orb.crystal{background:radial-gradient(circle,#ecfeff,#67e8f9,#22d3ee);box-shadow:0 0 16px #22d3eecc}.proj.boss-orb.shadow{background:radial-gradient(circle,#f3f4f6,#6b7280,#111827);box-shadow:0 0 16px #111827cc}.proj.boss-orb.iron{background:radial-gradient(circle,#e2e8f0,#94a3b8,#475569);box-shadow:0 0 16px #475569cc}.proj.boss-orb.thunder{background:radial-gradient(circle,#fef9c3,#fde047,#f59e0b);box-shadow:0 0 16px #f59e0bcc}.proj.boss-orb.kraken{background:radial-gradient(circle,#99f6e4,#2dd4bf,#0f766e);box-shadow:0 0 16px #2dd4bfcc}.proj.boss-orb.phoenix{background:radial-gradient(circle,#ffedd5,#fb923c,#ea580c);box-shadow:0 0 16px #ea580ccc}.fx-explosion.boss-exp.fire{background:radial-gradient(circle,#fff1b1f2,#f59e0be6,#ef4444b3)}.fx-explosion.boss-exp.ice{background:radial-gradient(circle,#e0f2fef2,#93c5fde6,#38bdf8b3)}.fx-explosion.boss-exp.storm{background:radial-gradient(circle,#fef08af2,#a78bfae6,#6366f1b3)}.fx-explosion.boss-exp.sand{background:radial-gradient(circle,#fff1b1f2,#f4a261e6,#e9c46ab3)}.fx-explosion.boss-exp.nature{background:radial-gradient(circle,#d9f99df2,#86eface6,#22c55eb3)}.fx-explosion.boss-exp.crystal{background:radial-gradient(circle,#ecfefff2,#67e8f9e6,#22d3eeb3)}.fx-explosion.boss-exp.shadow{background:radial-gradient(circle,#f3f4f6f2,#6b7280e6,#111827b3)}.fx-explosion.boss-exp.iron{background:radial-gradient(circle,#e2e8f0f2,#94a3b8e6,#475569b3)}.fx-explosion.boss-exp.thunder{background:radial-gradient(circle,#fef9c3f2,#fde047e6,#f59e0bb3)}.fx-explosion.boss-exp.kraken{background:radial-gradient(circle,#99f6e4f2,#2dd4bfe6,#0f766eb3)}.fx-explosion.boss-exp.phoenix{background:radial-gradient(circle,#ffedd5f2,#fb923ce6,#ea580cb3)}.global-modal-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000}.global-modal{width:min(540px,92vw);background:var(--surface);color:var(--text-primary);border:1px solid var(--surface-border);border-radius:14px;box-shadow:var(--surface-elevated-shadow);overflow:hidden}.global-modal-header{padding:16px 20px;font-weight:700;border-bottom:1px solid var(--surface-border)}.global-modal-body{padding:18px 20px;line-height:1.7}.global-modal-actions{display:flex;gap:12px;justify-content:flex-end;padding:14px 20px 18px;border-top:1px solid var(--surface-border)}@keyframes bossIdleFloat{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-1px) scale(1.02)}to{transform:translateY(0) scale(1)}}.boss-idle .sprite-boss{animation:bossIdleFloat 1.6s ease-in-out infinite;transform-origin:50% 100%}.theme-dark .navbar-title{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.3)}.menu-btn.trial{border-color:#e74c3c;color:#e74c3c;background:linear-gradient(135deg,#fff6f5,#ffe9e7)}.menu-btn.trial:hover{background:#e74c3c;color:#fff;transform:translateY(-5px);box-shadow:0 15px 35px #e74c3c59}@keyframes heroIdleBob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}
