:root{--primary: #4F46E5;--primary-light: #818CF8;--primary-dark: #3730A3;--secondary: #10B981;--bg-color: #F3F4F6;--surface: #FFFFFF;--text-main: #1F2937;--text-muted: #6B7280;--danger: #EF4444;--warning: #F59E0B;--border: #E5E7EB;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}@media (prefers-color-scheme: dark){:root{--bg-color: #111827;--surface: #1F2937;--text-main: #F9FAFB;--text-muted: #9CA3AF;--border: #374151}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased}#root{max-width:600px;margin:0 auto;min-height:100vh;position:relative;overflow-x:hidden}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-5px)}}@keyframes pop{0%{transform:scale(.95)}50%{transform:scale(1.02)}to{transform:scale(1)}}.animate-slide-up{animation:slideInUp .4s ease-out forwards}.animate-fade-in{animation:fadeIn .3s ease-out forwards}.animate-shake{animation:shake .4s ease-in-out}.animate-pop{animation:pop .3s cubic-bezier(.175,.885,.32,1.275)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:var(--radius-md);font-weight:600;font-size:16px;border:none;cursor:pointer;transition:all .2s ease}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;box-shadow:0 4px 14px #4f46e563}.btn-outline{background:transparent;border:2px solid var(--border);color:var(--text-main)}.card{background:var(--surface);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-md);border:1px solid var(--border)}.dashboard-container{padding:16px 16px 80px}.header-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;position:sticky;top:0;background:var(--bg-color);z-index:10;padding:12px 0}.icon-btn{background:transparent;border:none;color:var(--text-main);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:8px;border-radius:50%;transition:background .2s}.icon-btn:hover{background:var(--border)}.header-title{font-size:20px;font-weight:700;margin:0}.exp-badge{display:flex;align-items:center;gap:6px;background:#f59e0b1a;color:var(--warning);padding:6px 12px;border-radius:20px;font-weight:700}.levels-list{display:flex;flex-direction:column;gap:24px}.level-card{background:var(--surface);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:all .3s}.level-card.locked{opacity:.6;filter:grayscale(1)}.level-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px dashed var(--border)}.level-header h3{font-size:18px;margin:0}.lessons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.lesson-node{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 8px;border-radius:var(--radius-md);border:2px solid var(--border);background:transparent;color:var(--text-main);font-weight:600;cursor:pointer;transition:all .2s}.lesson-node:active:not(:disabled){transform:scale(.95)}.lesson-node.current{border-color:var(--primary);background:#4f46e50d;color:var(--primary);box-shadow:0 4px 12px #4f46e526}.lesson-node.completed{border-color:var(--secondary);background:#10b9810d;color:var(--secondary)}.lesson-node.locked{background:var(--bg-color);color:var(--text-muted);cursor:not-allowed}.flex-center{display:flex;align-items:center;justify-content:center}.spinner{width:40px;height:40px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.quiz-container{display:flex;flex-direction:column;height:100vh;padding:16px;background:var(--bg-color)}.quiz-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.progress-bar{flex:1;height:12px;background:var(--border);border-radius:6px;margin:0 16px;overflow:hidden}.progress-fill{height:100%;background:var(--secondary);border-radius:6px;transition:width .3s ease}.lives-badge{display:flex;align-items:center;gap:4px;font-weight:700;font-size:18px;color:var(--danger)}.question-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin-bottom:32px}.question-prompt{font-size:18px;color:var(--text-muted);font-weight:600;margin-bottom:16px}.hanzi-large{font-size:80px;font-weight:700;line-height:1;color:var(--text-main)}.text-large{font-size:32px;font-weight:700;color:var(--text-main)}.pinyin-large{font-size:40px;font-weight:600;color:var(--text-main);letter-spacing:2px}.options-grid{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.option-btn{position:relative;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);font-size:18px;font-weight:600;color:var(--text-main);cursor:pointer;transition:all .2s;text-align:left}.option-btn:not(:disabled):hover{background:#00000005;border-color:var(--text-muted)}.option-btn:not(:disabled):active{transform:scale(.98)}.option-btn.correct{background:#10b9811a;border-color:var(--secondary);color:var(--secondary)}.option-btn.incorrect{background:#ef44441a;border-color:var(--danger);color:var(--danger)}.result-icon{width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg)}.result-icon-small{margin-left:10px}.preview-list{display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1;padding-bottom:24px}.preview-card{display:flex;align-items:center;padding:16px;background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);gap:16px}.preview-hanzi{font-size:32px;font-weight:700;width:60px;text-align:center}.preview-details{display:flex;flex-direction:column;flex:1}.preview-pinyin{font-size:16px;font-weight:600;color:var(--primary)}.preview-meaning{font-size:16px;color:var(--text-main)}.app-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(circle at center,#1a1b3c,#0a0a1a);color:#fff}.center-all{display:flex;flex-direction:column;justify-content:center;align-items:center}.security-box{text-align:center;animation:fadeIn .5s ease-out}.spinner{width:50px;height:50px;border:4px solid rgba(0,240,255,.1);border-left-color:#00f0ff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 2rem}.security-title{font-size:1.5rem;margin-bottom:.5rem;color:#fff}.security-desc{color:#8b9bb4;font-size:.9rem}.captcha-card{background:#fff;border-radius:8px;padding:1.5rem;width:100%;max-width:350px;box-shadow:0 10px 30px #00000080;animation:slideUp .4s ease-out}.captcha-header h3{color:#333;margin-bottom:.5rem;font-size:1.2rem}.captcha-header p{color:#666;font-size:.85rem;margin-bottom:1.5rem}.captcha-box{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;padding:1rem;display:flex;align-items:center;cursor:pointer;transition:background .3s}.captcha-box:hover{background:#f1f1f1}.captcha-box.SUCCESS{cursor:default}.captcha-checkbox{width:28px;height:28px;margin-right:15px;display:flex;align-items:center;justify-content:center}.checkbox-idle{width:24px;height:24px;border:2px solid #c1c1c1;border-radius:2px;background:#fff;transition:all .2s}.captcha-box:hover .checkbox-idle{border-color:#999}.spinner-small{width:20px;height:20px;border:2px solid rgba(0,0,0,.1);border-left-color:#333;border-radius:50%;animation:spin .8s linear infinite}.checkmark{color:#00c853;font-size:1.5rem;font-weight:700;animation:popIn .3s cubic-bezier(.175,.885,.32,1.275)}.captcha-text{color:#333;font-size:.95rem;flex-grow:1}.captcha-logo{display:flex;flex-direction:column;align-items:center;margin-left:10px}.logo-shield{font-size:1.2rem}.logo-text{font-size:.6rem;color:#999;margin-top:2px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.profile-card{background:#14142899;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(100,200,255,.2);border-radius:20px;padding:2rem;width:100%;max-width:450px;display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden;box-shadow:0 0 40px #0096ff26,inset 0 0 20px #0096ff0d;animation:fadeIn .8s ease-out}.avatar-container{width:120px;height:120px;border-radius:50%;padding:4px;background:linear-gradient(135deg,#00f0ff,#0057ff);margin-bottom:1.5rem;box-shadow:0 0 20px #00f0ff66}.avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid #1a1b3c}.avatar-placeholder{width:100%;height:100%;border-radius:50%;background:#2a2b4c;border:3px solid #1a1b3c;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;color:#00f0ff}.info-section{text-align:center;margin-bottom:2rem;width:100%}.greeting{font-size:1rem;color:#00f0ff;letter-spacing:4px;margin-bottom:.5rem;text-transform:uppercase}.user-name{font-size:2rem;font-weight:800;margin-bottom:.5rem;background:linear-gradient(to right,#fff,#a0d8ef);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-transform:uppercase}.user-id{font-size:1rem;color:#8b9bb4;background:#0000004d;padding:.4rem 1rem;border-radius:20px;display:inline-block;border:1px solid rgba(255,255,255,.05)}.stats-section{width:100%}.stat-card{background:linear-gradient(90deg,#00f0ff1a,#0057ff0d);border:1px solid rgba(0,240,255,.2);border-radius:15px;padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem}.stat-icon{font-size:2rem;filter:drop-shadow(0 0 5px rgba(255,100,0,.8))}.stat-info{display:flex;flex-direction:column;text-align:left}.stat-label{font-size:.9rem;color:#8b9bb4;text-transform:uppercase;letter-spacing:1px}.stat-value{font-size:1.5rem;font-weight:700;color:#fff}.deco-line{position:absolute;bottom:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,transparent,#00f0ff,transparent)}
