:root{--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--bg-color: #f7f6f2;--bg-white: #ffffff;--bg-card: #ffffff;--border-color: #e2e8f0;--border-light: #f1f5f9;--primary-teal: #14b8a6;--primary-teal-hover: #0d9488;--primary-teal-light: rgba(20, 184, 166, .1);--teal-accent: #2dd4bf;--text-main: #1e293b;--text-muted: #64748b;--text-light: #94a3b8;--chinese-font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-pill: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 16px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .08);--shadow-teal: 0 10px 25px -5px rgba(20, 184, 166, .35);--transition-fast: .15s ease;--transition-normal: .25s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-main);line-height:1.6;min-height:100vh;width:100%;overflow-x:hidden;-webkit-font-smoothing:antialiased}.container{width:100%;max-width:1140px;margin:0 auto;padding:0 1.5rem}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;font-family:inherit;background:none}.navbar{position:sticky;top:0;z-index:50;background:var(--bg-color);border-bottom:1px solid var(--border-color);padding:.85rem 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar-container{display:flex;align-items:center;justify-content:space-between}.navbar-brand{display:flex;align-items:center;gap:.5rem;font-size:1.4rem;font-weight:800;color:var(--text-main);letter-spacing:-.02em}.brand-logo-q{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--primary-teal);border-radius:var(--radius-sm);color:#fff}.logo-q{font-size:1.4rem;font-weight:900;line-height:1}.brand-teal{color:var(--primary-teal)}.navbar-links{display:flex;align-items:center;gap:1.5rem}@media(max-width:768px){.navbar-links{display:none!important}}.mobile-bottom-nav{display:none}@media(max-width:768px){.mobile-bottom-nav{display:flex!important;position:fixed!important;bottom:0!important;top:auto!important;left:0!important;right:0!important;height:60px;background:#fff!important;border-top:1px solid var(--border-color);box-shadow:0 -4px 16px #00000014;z-index:9999!important;align-items:center;justify-content:space-around;padding:0 .25rem}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;font-size:.7rem;font-weight:600;color:var(--text-muted);transition:color var(--transition-fast);flex:1;text-align:center;padding:.3rem 0}.mobile-nav-item.active{color:var(--primary-teal);font-weight:800}body{padding-bottom:60px}}.nav-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.95rem;font-weight:500;color:var(--text-muted);transition:color var(--transition-fast)}.nav-link:hover,.nav-link.active{color:var(--primary-teal);font-weight:600}.navbar-actions{display:flex;align-items:center;gap:1.25rem}.btn-nav-login{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border-radius:var(--radius-pill);font-size:.85rem;font-weight:700;color:var(--primary-teal);border:1.5px solid var(--primary-teal);transition:all var(--transition-fast)}.btn-nav-login:hover{background:var(--primary-teal-light)}.btn-nav-register{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border-radius:var(--radius-pill);font-size:.85rem;font-weight:700;color:#fff;background:var(--primary-teal);transition:all var(--transition-fast);box-shadow:0 2px 8px #14b8a640}@media(max-width:640px){.btn-nav-register{display:none}.btn-nav-login{padding:.3rem .6rem;font-size:.78rem}}.btn-profile-logout{margin-top:1.25rem;width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1rem;border-radius:var(--radius-pill);border:1.5px solid #fee2e2;background:#fef2f2;color:#ef4444;font-weight:700;font-size:.9rem;cursor:pointer;transition:all var(--transition-fast)}.btn-profile-logout:hover{background:#fde8e8}@media(min-width:769px){.mobile-only-logout{display:none!important}}.user-menu-btn,.flag-btn{display:flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:500;color:var(--text-main);padding:.35rem .65rem;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.user-menu-btn:hover,.flag-btn:hover{background:#0000000a}.flag-icon{font-size:1.1rem}.user-dropdown-container,.flag-selector-container{position:relative}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.5rem 0;min-width:160px;z-index:100}.dropdown-item{padding:.6rem 1rem;font-size:.88rem;color:var(--text-main);cursor:pointer;transition:background var(--transition-fast)}.dropdown-item:hover,.dropdown-item.active{background:var(--primary-teal-light);color:var(--primary-teal)}.dropdown-divider{height:1px;background:var(--border-color);margin:.4rem 0}.text-danger{color:#ef4444}.page{padding-bottom:5rem}.hero-container{padding:3.5rem 0 2rem;text-align:center}.hero-content{max-width:820px;margin:0 auto}.hero-main-title{font-size:3.25rem;font-weight:700;color:var(--text-main);line-height:1.25;letter-spacing:-.02em;margin-bottom:1.25rem}@media(max-width:640px){.hero-main-title{font-size:2.25rem}}.text-teal-italic{color:var(--primary-teal);font-style:italic;font-weight:500}.hero-description{font-size:1.15rem;color:var(--text-muted);line-height:1.65;max-width:720px;margin:0 auto 2.25rem}.btn-start-hero{display:inline-flex;align-items:center;gap:.6rem;background:var(--primary-teal);color:#fff;font-size:1rem;font-weight:600;padding:.85rem 2.25rem;border-radius:var(--radius-pill);box-shadow:var(--shadow-teal);transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.btn-start-hero:hover{background:var(--primary-teal-hover);transform:translateY(-2px);box-shadow:0 14px 28px -6px #14b8a673}.hero-illustration-wrapper{margin-top:2.5rem;display:flex;justify-content:center}.hero-illustration-img{max-width:480px;width:100%;height:auto;object-fit:contain}.features-banner{background:var(--bg-white);border-y:1px solid var(--border-color);padding:2.5rem 0;margin:2.5rem 0 3.5rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.feature-item{display:flex;align-items:center;gap:1rem}.feature-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);flex-shrink:0}.bg-teal-soft{background:var(--primary-teal-light)}.text-teal{color:var(--primary-teal)}.feature-item h3{font-size:1rem;font-weight:700;color:var(--text-main);margin-bottom:.15rem}.feature-item p{font-size:.85rem;color:var(--text-muted)}.page-section{padding-top:1rem}.section-header{margin-bottom:2rem}.section-title-wrapper{display:flex;align-items:center;gap:.75rem;margin-bottom:.4rem}.section-title-wrapper h2{font-size:1.75rem;font-weight:800;color:var(--text-main)}.section-subtitle{color:var(--text-muted);font-size:1rem}.courses-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media(max-width:1024px){.courses-grid{grid-template-columns:1fr}}.course-card-modern{display:flex;background:var(--bg-white);border-radius:16px;border:1px solid var(--border-color);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;height:200px;text-decoration:none;color:inherit}.course-card-modern:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border-color:#cbd5e1}.course-card-illustration{width:220px;min-width:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;border-right:1px solid var(--border-color)}.course-card-modern.level-1 .course-card-illustration{background-color:#f5f0e6;color:#d4a373}.course-card-modern.level-2 .course-card-illustration{background-color:#e6f4ea;color:#52b788}.course-card-modern.level-3 .course-card-illustration{background-color:#e0f2fe;color:#38bdf8}.course-card-modern.level-4 .course-card-illustration{background-color:#fef08a;color:#eab308}.course-card-modern.level-5 .course-card-illustration{background-color:#ffedd5;color:#f97316}.course-card-modern.level-6 .course-card-illustration{background-color:#fce7f3;color:#ec4899}.hsk-pill{position:absolute;top:1.25rem;background:#ffffffb3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:700;color:#475569;box-shadow:0 1px 2px #0000000d}.course-card-content{flex:1;padding:1.75rem;display:flex;flex-direction:column;justify-content:space-between}.course-title{font-size:1.25rem;font-weight:700;color:#1e293b;margin-bottom:.5rem;line-height:1.3}.course-desc{font-size:.95rem;color:#64748b;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-stats{display:flex;gap:.75rem;margin-top:auto}.stat-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:6px;font-size:.8rem;font-weight:600}.lesson-pill{background-color:#dcfce7;color:#166534}.word-pill{background-color:#f1f5f9;color:#475569}.course-card-modern.level-1 .word-pill{background-color:#f3f4f6;color:#4b5563}.course-card-modern.level-2 .word-pill{background-color:#f0fdf4;color:#166534}.course-card-modern.level-3 .word-pill{background-color:#e0f2fe;color:#075985}.course-card-modern.level-4 .word-pill{background-color:#fef9c3;color:#854d0e}.course-card-modern.level-5 .word-pill{background-color:#ffedd5;color:#9a3412}.course-card-modern.level-6 .word-pill{background-color:#fce7f3;color:#9d174d}@media(max-width:640px){.course-card-modern{flex-direction:column;height:auto}.course-card-illustration{width:100%;height:160px;border-right:none;border-bottom:1px solid var(--border-color)}.course-stats{margin-top:1.25rem}}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.75rem;box-shadow:var(--shadow-sm);transition:transform var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}.card:hover{border-color:var(--primary-teal);transform:translateY(-4px);box-shadow:var(--shadow-md)}.course-card{display:flex;flex-direction:column}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.badge{padding:.25rem .75rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.level-badge{background:var(--primary-teal-light);color:var(--primary-teal);border:1px solid rgba(20,184,166,.3)}.card-icon{color:var(--primary-teal)}.card-title{font-size:1.5rem;font-weight:700;color:var(--text-main);margin-bottom:.5rem}.card-description{color:var(--text-muted);font-size:.95rem;margin-bottom:1.5rem;flex-grow:1}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--primary-teal);color:#fff;border-radius:var(--radius-sm);font-weight:600;font-size:.92rem;transition:background var(--transition-fast)}.btn-primary:hover{background:var(--primary-teal-hover)}.breadcrumb{display:flex;align-items:center;gap:.5rem;margin-top:1.5rem;margin-bottom:1.5rem;font-size:.92rem;color:var(--text-muted)}.crumb-item{color:var(--text-muted);font-weight:500}.crumb-link:hover{color:var(--primary-teal);text-decoration:underline}.crumb-sep{color:#cbd5e1;font-size:.85rem}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);font-weight:500;font-size:.95rem;transition:color var(--transition-fast)}.back-link:hover{color:var(--primary-teal)}.course-detail-header{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2.5rem 2rem;margin-bottom:2.5rem;box-shadow:var(--shadow-sm)}.course-detail-title{display:flex;align-items:center;gap:.75rem;font-size:2.25rem;font-weight:800;margin:.75rem 0}.course-detail-description{color:var(--text-muted);font-size:1.1rem}.lessons-list{display:flex;flex-direction:column;gap:1rem}.lesson-card{display:flex;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;background:var(--bg-white)}.lesson-order{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--primary-teal-light);border-radius:var(--radius-md);color:var(--primary-teal);font-weight:700;font-size:.95rem;flex-shrink:0}.lesson-info{flex-grow:1}.lesson-title{display:flex;align-items:center;gap:.5rem;font-size:1.2rem;font-weight:700;color:var(--text-main);margin-bottom:.25rem}.lesson-icon{color:var(--primary-teal)}.lesson-description{color:var(--text-muted);font-size:.9rem}.lesson-action{color:var(--text-light);transition:color var(--transition-fast),transform var(--transition-fast)}.lesson-card:hover .lesson-action{color:var(--primary-teal);transform:translate(4px)}.lesson-header-banner{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;margin-bottom:2.5rem;box-shadow:var(--shadow-sm)}.lesson-badge{display:inline-block;padding:.2rem .75rem;background:var(--primary-teal-light);color:var(--primary-teal);border-radius:var(--radius-pill);font-weight:700;font-size:.8rem;margin-bottom:.75rem}.lesson-detail-title{display:flex;align-items:center;gap:.75rem;font-size:2rem;font-weight:800;margin-bottom:.5rem}.lesson-detail-description{color:var(--text-muted);font-size:1.05rem}.lesson-content-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}@media(min-width:900px){.lesson-content-grid{grid-template-columns:1fr 1fr}}.vocab-grid,.sentences-grid{display:flex;flex-direction:column;gap:1.25rem}.vocab-card{padding:1.35rem;background:var(--bg-white)}.vocab-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.vocab-primary{display:flex;align-items:baseline;gap:.75rem}.vocab-hanzi{font-family:var(--chinese-font);font-size:1.85rem;font-weight:700;color:var(--text-main)}.vocab-pinyin{font-size:1.1rem;color:var(--primary-teal);font-weight:600}.vocab-actions{display:flex;align-items:center;gap:.5rem}.action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--text-muted);transition:color var(--transition-fast),background var(--transition-fast)}.action-btn:hover{background:#0000000d;color:var(--primary-teal)}.action-btn.saved{color:var(--primary-teal)}.action-btn.active{background:var(--primary-teal);color:#fff}.audio-button{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--primary-teal-light);color:var(--primary-teal);transition:background var(--transition-fast),transform var(--transition-fast)}.audio-button:hover,.audio-button.playing{background:var(--primary-teal);color:#fff;transform:scale(1.08)}.writing-practice-area{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:1.25rem 0 .5rem;width:100%}.writing-canvas-wrapper{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;width:100%;padding:.5rem 0}.hanzi-writer-box{background-color:#fff;background-image:linear-gradient(to right,rgba(20,184,166,.2) 1px,transparent 1px),linear-gradient(to bottom,rgba(20,184,166,.2) 1px,transparent 1px),linear-gradient(45deg,transparent 49.5%,rgba(20,184,166,.12) 49.5%,rgba(20,184,166,.12) 50.5%,transparent 50.5%),linear-gradient(-45deg,transparent 49.5%,rgba(20,184,166,.12) 49.5%,rgba(20,184,166,.12) 50.5%,transparent 50.5%);background-position:center center;background-size:100% 100%;border:2px solid var(--teal-accent);border-radius:var(--radius-md);box-shadow:0 4px 14px #14b8a61f;display:flex;align-items:center;justify-content:center;cursor:crosshair;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.hanzi-writer-box:hover{border-color:var(--primary-teal);transform:translateY(-2px);box-shadow:0 6px 18px #14b8a633}@media(max-width:640px){.writing-canvas-wrapper{gap:.5rem}}.writing-controls{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap}.control-btn{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;padding:.4rem .85rem;background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-pill);color:var(--text-main);transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.control-btn:hover{background:var(--primary-teal-light);border-color:var(--primary-teal);color:var(--primary-teal)}.mt-2{margin-top:.5rem}.vocab-meaning{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.part-of-speech{font-size:.8rem;color:var(--text-muted);font-style:italic}.meaning-text{font-size:1rem;font-weight:600;color:var(--text-main)}.vocab-example{background:#f8fafc;border-left:3px solid var(--primary-teal);padding:.75rem 1rem;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.example-sentence{font-family:var(--chinese-font);font-size:1rem;color:var(--text-main);margin-bottom:.2rem}.example-translation{font-size:.85rem;color:var(--text-muted)}.sentence-card{padding:1.35rem;background:var(--bg-white)}.sentence-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.sentence-index{font-size:.8rem;font-weight:700;color:var(--text-light)}.sentence-hanzi{font-family:var(--chinese-font);font-size:1.35rem;font-weight:700;color:var(--text-main);margin-bottom:.25rem}.sentence-pinyin{font-size:1rem;color:var(--primary-teal);font-weight:500;margin-bottom:.5rem}.sentence-translation{font-size:.95rem;color:var(--text-muted)}.sentence-dialogue-list{display:flex;flex-direction:column;gap:1.25rem}.dialogue-line-block{padding-bottom:1rem;border-bottom:1px dashed var(--border-color)}.dialogue-line-block:last-child{padding-bottom:0;border-bottom:none}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem}.spinner{width:44px;height:44px;border:3px solid var(--primary-teal-light);border-top-color:var(--primary-teal);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-message{color:var(--text-muted);font-size:.95rem}.vocab-page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.vocab-header-left{display:flex;align-items:center;gap:1rem;flex-grow:1}.select-input{padding:.6rem 1rem;border-radius:var(--radius-pill);border:1px solid var(--border-color);background:var(--bg-white);font-size:.9rem;font-weight:600;color:var(--text-main);outline:none;cursor:pointer}.search-box{position:relative;flex-grow:1;max-width:460px}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted)}.search-input{width:100%;padding:.65rem 1rem .65rem 2.75rem;border-radius:var(--radius-pill);border:1px solid var(--border-color);background:var(--bg-white);font-size:.92rem;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-input:focus{border-color:var(--primary-teal);box-shadow:0 0 0 3px #14b8a626}.vocab-header-right{display:flex;align-items:center;gap:.75rem}.btn-mode-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border-radius:var(--radius-pill);border:1px solid var(--border-color);background:var(--bg-white);font-size:.88rem;font-weight:600;color:var(--text-muted);transition:all var(--transition-fast)}.btn-mode-toggle:hover,.btn-mode-toggle.active{background:var(--primary-teal-light);border-color:var(--primary-teal);color:var(--primary-teal)}.btn-icon-filter{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-white);color:var(--primary-teal)}.vocab-status-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;font-size:.9rem;color:var(--text-muted)}.pagination-controls{display:flex;align-items:center;gap:.75rem}.page-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-white);color:var(--text-main)}.page-btn.disabled{opacity:.5;cursor:not-allowed}.vocab-table-wrapper{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow-x:auto;box-shadow:var(--shadow-sm)}.vocab-table{width:100%;border-collapse:collapse;text-align:left}.vocab-table th{background:#f8fafc;padding:1rem 1.25rem;font-size:.85rem;font-weight:700;color:var(--primary-teal);border-bottom:1px solid var(--border-color)}.vocab-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--border-light);font-size:.95rem;vertical-align:middle}.vocab-table tr:last-child td{border-bottom:none}.vocab-table tr:hover{background:#f8fafc}.row-selected{background:var(--primary-teal-light)!important}.th-checkbox,.td-checkbox{width:40px;text-align:center}.th-index,.td-index{width:50px;color:var(--text-muted);font-size:.88rem}.hanzi-cell{display:flex;align-items:center;gap:.75rem}.cell-quick-actions{display:flex;align-items:center;gap:.25rem}.cell-btn-audio,.cell-btn-brush{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:var(--primary-teal);background:transparent;transition:background var(--transition-fast),transform var(--transition-fast)}.cell-btn-audio:hover,.cell-btn-brush:hover{background:var(--primary-teal-light);transform:scale(1.1)}.hanzi-text{font-family:var(--chinese-font);font-size:1.5rem;font-weight:700;color:var(--text-main)}.td-pinyin{font-weight:600;color:var(--text-main)}.meaning-cell{color:var(--text-muted)}.part-tag{font-size:.8rem;font-style:italic}.btn-practice-write{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border-radius:var(--radius-pill);background:var(--primary-teal-light);color:var(--primary-teal);font-weight:600;font-size:.82rem;border:1px solid rgba(20,184,166,.3);transition:all var(--transition-fast)}.btn-practice-write:hover{background:var(--primary-teal);color:#fff}.vocab-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem}.modal-card{background:var(--bg-white);border-radius:var(--radius-lg);border:1px solid var(--border-color);width:100%;max-width:480px;box-shadow:var(--shadow-lg);padding:1.75rem;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.modal-title-info{display:flex;align-items:baseline;gap:.75rem}.modal-hanzi{font-family:var(--chinese-font);font-size:2rem;font-weight:800;color:var(--text-main)}.modal-pinyin{font-size:1.15rem;font-weight:600;color:var(--primary-teal)}.modal-close-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;color:var(--text-muted);transition:background var(--transition-fast),color var(--transition-fast)}.modal-close-btn:hover{background:#f1f5f9;color:var(--text-main)}.error-card{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md)}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;font-size:.85rem;color:var(--text-muted);margin-top:.5rem;margin-bottom:.5rem}.crumb-link{color:var(--text-muted);transition:color var(--transition-fast)}.crumb-link:hover{color:var(--primary-teal)}.crumb-sep{color:#cbd5e1;font-size:.75rem}.crumb-item.active{color:var(--text-main);font-weight:600}.lesson-workspace{display:grid;grid-template-columns:220px 1fr;gap:1.5rem;margin-top:.75rem;align-items:start}.lesson-sidebar{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.85rem .75rem;box-shadow:var(--shadow-sm)}.sidebar-title{font-size:.95rem;font-weight:700;color:var(--text-main);margin-bottom:.65rem;padding-left:.25rem}.sidebar-nav{display:flex;flex-direction:column;gap:.35rem}.sidebar-tab-btn{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .85rem;border-radius:var(--radius-pill);border:none;background:transparent;color:var(--text-muted);font-size:.88rem;font-weight:600;text-align:left;transition:all var(--transition-fast);cursor:pointer}.tab-radio{width:14px;height:14px;border-radius:50%;border:2px solid var(--border-color);transition:all var(--transition-fast)}.sidebar-tab-btn:hover{background:var(--bg-color);color:var(--text-main)}.sidebar-tab-btn.active{background:var(--primary-teal-light);color:var(--primary-teal);font-weight:700}.sidebar-tab-btn.active .tab-radio{border-color:var(--primary-teal);background:var(--primary-teal);box-shadow:inset 0 0 0 3px #fff}.tab-header{margin-bottom:1rem}.tab-header h2{font-size:1.35rem;font-weight:800;color:var(--text-main);margin-bottom:.25rem}.tab-subtitle{font-size:.88rem;color:var(--text-muted);margin:0}@media(max-width:860px){.container{padding:0 .5rem!important;width:100%!important;max-width:100vw!important;box-sizing:border-box!important}.breadcrumb{font-size:.78rem!important;margin-top:.25rem!important;margin-bottom:.35rem!important;gap:.25rem!important}.lesson-workspace{grid-template-columns:1fr;gap:.65rem!important;margin-top:.35rem!important;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}.lesson-main-content{min-height:auto;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}.lesson-sidebar{padding:.35rem .45rem!important;border-radius:var(--radius-sm)!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important;box-shadow:none!important;background:#f8fafc!important}.sidebar-title{display:none!important}.sidebar-nav{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;gap:.35rem!important;padding-bottom:.15rem!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-x!important;scrollbar-width:thin!important;scrollbar-color:var(--primary-teal) #f1f5f9!important}.sidebar-nav::-webkit-scrollbar{height:3px!important;display:block!important}.sidebar-nav::-webkit-scrollbar-track{background:#f1f5f9!important;border-radius:9999px!important}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--primary-teal)!important;border-radius:9999px!important}.sidebar-tab-btn{width:auto!important;flex-shrink:0!important;padding:.35rem .75rem!important;border:1px solid var(--border-color)!important;font-size:.8rem!important;white-space:nowrap!important;background:var(--bg-white);border-radius:var(--radius-pill)!important;gap:.4rem!important}.tab-radio{width:12px!important;height:12px!important}.sidebar-tab-btn.active{background:var(--primary-teal)!important;color:#fff!important;border-color:var(--primary-teal)!important}.sidebar-tab-btn.active .tab-radio{border-color:#fff!important;background:#fff!important;box-shadow:inset 0 0 0 2.5px var(--primary-teal)!important}.tab-header{margin-bottom:.65rem!important}.tab-header h2{font-size:1.15rem!important;margin-bottom:.15rem!important}.tab-subtitle{font-size:.8rem!important}.quiz-question-wrapper{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.quiz-top-progress{gap:.5rem;margin-bottom:1.25rem}.question-badge{padding:.25rem .65rem;font-size:.78rem;flex-shrink:0}.quiz-count-text{font-size:.82rem;flex-shrink:0}.quiz-question-box{padding:1.25rem .85rem!important;margin-bottom:1.25rem;border-radius:var(--radius-md);width:100%!important;max-width:100%!important;box-sizing:border-box!important}.quiz-meaning-text{font-size:1.35rem}.quiz-options-list{gap:.65rem;width:100%!important;max-width:100%!important;box-sizing:border-box!important}.quiz-option-btn{padding:.75rem .85rem!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}.option-hanzi{font-size:1.3rem}.passage-audio-player{padding:.65rem 1rem;gap:.75rem;border-radius:var(--radius-md);width:100%;box-sizing:border-box}.passage-toggles-bar{justify-content:center;gap:.5rem;margin-bottom:1.5rem}.toggle-pill{padding:.35rem .85rem;font-size:.78rem}.passage-line-item{gap:.75rem}.line-hanzi-text{font-size:1.25rem}.vocab-card{padding:1rem;width:100%;box-sizing:border-box}.vocab-header{flex-wrap:wrap;gap:.5rem}.vocab-hanzi{font-size:1.6rem}.vocab-actions{gap:.35rem}.action-btn,.audio-button{width:32px;height:32px}}.lesson-main-content{min-height:500px}.tab-header{margin-bottom:1.5rem}.tab-header h2{font-size:1.4rem;font-weight:800;color:var(--text-main)}.tab-subtitle{color:var(--text-muted);font-size:.9rem;margin-top:.25rem}.quiz-question-wrapper{max-width:680px;margin:0 auto}.quiz-top-progress{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.question-badge{padding:.35rem .85rem;border-radius:var(--radius-pill);border:1px solid var(--border-color);background:var(--bg-white);font-weight:600;font-size:.85rem}.progress-bar-track{flex-grow:1;height:10px;border-radius:var(--radius-pill);background:#e2e8f0;overflow:hidden}.progress-bar-fill{height:100%;background:var(--primary-teal);transition:width .3s ease}.quiz-count-text{font-weight:700;color:var(--text-muted);font-size:.9rem}.quiz-question-box{background:var(--primary-teal-light);border-radius:var(--radius-lg);padding:3rem 2rem;text-align:center;margin-bottom:2rem}.quiz-prompt-title{color:var(--primary-teal);font-size:.9rem;font-weight:600;margin-bottom:.75rem}.quiz-meaning-text{font-size:1.85rem;font-weight:800;color:var(--text-main)}.quiz-options-list{display:flex;flex-direction:column;gap:.85rem}.quiz-option-btn{width:100%;padding:1.1rem 1.5rem;border-radius:var(--radius-pill);border:1.5px solid var(--border-color);background:var(--bg-white);transition:all var(--transition-fast);cursor:pointer}.quiz-option-btn:hover:not(:disabled){border-color:var(--primary-teal);background:var(--primary-teal-light);transform:translateY(-1px)}.option-hanzi{font-family:var(--chinese-font);font-size:1.5rem;font-weight:700;color:var(--text-main)}.quiz-option-btn.correct{background:#dcfce7;border-color:#22c55e}.quiz-option-btn.correct .option-hanzi{color:#15803d}.quiz-option-btn.incorrect{background:#fee2e2;border-color:#ef4444}.quiz-option-btn.incorrect .option-hanzi{color:#b91c1c}.quiz-action-footer{margin-top:1.5rem;text-align:right}.btn-next-q{padding:.75rem 2rem;font-weight:700}.quiz-result-card{text-align:center;padding:3rem 2rem;max-width:480px;margin:2rem auto}.result-icon{color:var(--primary-teal);margin-bottom:1rem}.result-score{margin:1rem 0 2rem;font-size:1.1rem}.passage-audio-player{display:flex;align-items:center;gap:1.25rem;background:var(--primary-teal-light);padding:.85rem 1.5rem;border-radius:var(--radius-pill);margin-bottom:1.5rem}.audio-play-main-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--primary-teal);color:#fff}.audio-timer,.audio-timer-total{font-size:.85rem;font-weight:700;color:var(--primary-teal)}.audio-slider-track{flex-grow:1;height:6px;background:#14b8a640;border-radius:var(--radius-pill);position:relative;overflow:hidden}.audio-slider-fill{height:100%;background:var(--primary-teal)}.passage-toggles-bar{display:flex;justify-content:flex-end;gap:.75rem;margin-bottom:2rem}.toggle-pill{padding:.45rem 1.1rem;border-radius:var(--radius-pill);border:1px solid var(--border-color);background:var(--bg-white);font-size:.85rem;font-weight:600;color:var(--text-muted)}.toggle-pill.active{background:var(--primary-teal-light);border-color:var(--primary-teal);color:var(--primary-teal)}.passage-dialogue-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2.5rem}.passage-line-item{display:flex;align-items:flex-start;gap:1.25rem}.line-audio-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--primary-teal);color:#fff;margin-top:.2rem;flex-shrink:0}.line-content-block{display:flex;flex-direction:column;gap:.25rem}.line-primary{display:flex;align-items:baseline;gap:.85rem}.speaker-label{font-size:1.35rem;font-weight:800;color:var(--text-main)}.line-hanzi{font-family:var(--chinese-font);font-size:1.65rem;font-weight:700;color:var(--text-main)}.line-pinyin{font-size:1rem;color:var(--primary-teal);font-weight:600}.line-translation{font-size:.95rem;color:var(--text-muted)}.passage-footer{text-align:center}.btn-complete{padding:.75rem 2.5rem;border-radius:var(--radius-pill);font-weight:700}.writing-prompt-text{text-align:center;color:var(--text-muted);font-size:.95rem;margin-bottom:2rem}.writing-items-list{display:flex;flex-direction:column;gap:1.75rem;max-width:640px;margin:0 auto}.writing-sentence-card{display:flex;flex-direction:column;gap:.85rem}.writing-target-hanzi{font-family:var(--chinese-font);font-size:1.85rem;font-weight:700;color:var(--text-main)}.writing-speaker-tag{color:var(--primary-teal);font-weight:800;margin-right:.35rem}.writing-input-row{display:flex;align-items:center;gap:.75rem}.writing-input{flex-grow:1;padding:.85rem 1.25rem;border-radius:var(--radius-pill);border:1.5px solid var(--border-color);background:var(--bg-white);font-size:1rem;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.writing-input:focus{border-color:var(--primary-teal);box-shadow:0 0 0 3px #14b8a626}.writing-input.match{border-color:#22c55e;background:#f0fdf4}.btn-toggle-eye{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-white);color:var(--text-muted);transition:all var(--transition-fast)}.btn-toggle-eye:hover,.btn-toggle-eye.revealed{border-color:var(--primary-teal);color:var(--primary-teal);background:var(--primary-teal-light)}.icon-match-success{color:#22c55e}.revealed-answer-box{background:#f8fafc;padding:.75rem 1.25rem;border-radius:var(--radius-md);border-left:3px solid var(--primary-teal)}.answer-pinyin{font-weight:600;color:var(--primary-teal);font-size:.95rem}.answer-translation{color:var(--text-muted);font-size:.88rem}.error-icon{color:#ef4444;flex-shrink:0}.error-title{font-size:1.1rem;font-weight:700;color:#991b1b;margin-bottom:.25rem}.error-message{font-size:.95rem;color:#7f1d1d;margin-bottom:1rem}.retry-button{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:#ef4444;color:#fff;border-radius:var(--radius-sm);font-weight:600;font-size:.85rem}.empty-state{text-align:center;padding:3rem 1rem;background:var(--bg-white);border:1px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-muted)}.auth-page{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 140px);padding:2.5rem 1rem}.auth-card-container{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:440px;padding:2.25rem 2rem;animation:modalFadeIn .25s ease-out}.auth-brand-header{text-align:center;margin-bottom:1.75rem}.auth-logo-badge{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--primary-teal-light);color:var(--primary-teal);margin-bottom:.75rem}.auth-title{font-size:1.6rem;font-weight:800;color:var(--text-main)}.auth-subtitle{font-size:.88rem;color:var(--text-muted);margin-top:.25rem}.auth-tabs-switcher{display:flex;background:#f1f5f9;border-radius:var(--radius-pill);padding:4px;margin-bottom:1.5rem}.auth-tab-btn{flex:1;padding:.6rem .5rem;border-radius:var(--radius-pill);border:none;background:transparent;font-size:.88rem;font-weight:600;color:var(--text-muted);transition:all var(--transition-fast);cursor:pointer}.auth-tab-btn.active{background:var(--bg-white);color:var(--primary-teal);box-shadow:var(--shadow-sm);font-weight:700}.auth-error-alert{display:flex;align-items:center;gap:.6rem;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.88rem;margin-bottom:1.25rem}.auth-form{display:flex;flex-direction:column;gap:1.1rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-label{font-size:.85rem;font-weight:700;color:var(--text-main)}.input-icon-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;color:var(--text-muted);pointer-events:none}.form-input{width:100%;padding:.75rem 1rem .75rem 2.6rem;border-radius:var(--radius-pill);border:1px solid var(--border-color);background:var(--bg-white);font-size:.92rem;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus{border-color:var(--primary-teal);box-shadow:0 0 0 3px #14b8a626}.btn-toggle-password{position:absolute;right:1rem;border:none;background:transparent;color:var(--text-muted);cursor:pointer}.form-extra-row{display:flex;align-items:center;justify-content:space-between;font-size:.85rem}.checkbox-label{display:flex;align-items:center;gap:.4rem;color:var(--text-muted);cursor:pointer}.forgot-link{color:var(--primary-teal);font-weight:600;text-decoration:none}.forgot-link:hover{text-decoration:underline}.btn-auth-submit{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.85rem;border-radius:var(--radius-pill);font-size:.95rem;font-weight:700;margin-top:.5rem}.auth-divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:var(--text-muted);font-size:.8rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.auth-divider span{padding:0 .75rem}.social-auth-buttons{display:flex;gap:.75rem}.social-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem;border-radius:var(--radius-pill);border:1px solid var(--border-color);background:var(--bg-white);font-size:.88rem;font-weight:600;color:var(--text-main);transition:background var(--transition-fast),border-color var(--transition-fast);cursor:pointer}.social-btn:hover{background:#f8fafc;border-color:#cbd5e1}.auth-buttons-group{display:flex;align-items:center;gap:.5rem}.btn-nav-login{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .95rem;border-radius:var(--radius-pill);border:1px solid var(--border-color);background:var(--bg-white);color:var(--text-main);font-size:.85rem;font-weight:600;transition:all var(--transition-fast)}.btn-nav-login:hover{border-color:var(--primary-teal);color:var(--primary-teal)}.btn-nav-register{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .95rem;border-radius:var(--radius-pill);background:var(--primary-teal);color:#fff;font-size:.85rem;font-weight:600;transition:background var(--transition-fast)}.btn-nav-register:hover{background:var(--primary-teal-hover)}.user-logged-in-group{display:flex;align-items:center;gap:.75rem}.stat-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .75rem;border-radius:var(--radius-pill);font-size:.82rem;font-weight:700}.streak-badge{background:#fff7ed;border:1px solid #ffedd5;color:#ea580c}.streak-fire-icon{color:#f97316}.exp-badge{background:#f0fdf4;border:1px solid #dcfce7;color:#16a34a}.exp-zap-icon{color:#22c55e}.user-avatar-circle{width:26px;height:26px;border-radius:50%;background:var(--primary-teal);color:#fff;font-weight:800;font-size:.78rem;display:flex;align-items:center;justify-content:center}.user-menu-header{padding:.6rem 1rem;display:flex;flex-direction:column;gap:.25rem}.menu-user-email{font-size:.8rem;color:var(--text-muted);word-break:break-all}.hsk-badge-pill{align-self:flex-start;font-size:.72rem;font-weight:700;padding:.15rem .55rem;border-radius:var(--radius-pill);background:var(--primary-teal-light);color:var(--primary-teal)}@media(max-width:640px){.navbar{padding:.6rem 0}.navbar-actions{gap:.5rem}.user-logged-in-group{gap:.4rem}.user-display-name{display:none}.stat-badge{padding:.25rem .5rem;font-size:.75rem}.user-menu-btn,.flag-btn{padding:.25rem .4rem}}@media(max-width:440px){.container{padding:0 .85rem}.navbar-brand .brand-name{display:none}.streak-badge span{font-size:.75rem}.exp-badge{display:none}.vocab-card{padding:1rem}}.profile-page{padding-top:1.5rem;padding-bottom:3rem}.profile-layout-grid{display:grid;grid-template-columns:320px 1fr;gap:1.5rem;align-items:start}@media(max-width:880px){.profile-layout-grid{grid-template-columns:1fr}}.profile-card{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem;margin-bottom:1.25rem}.user-profile-top{display:flex;align-items:center;gap:1.25rem}.avatar-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;flex-shrink:0}.profile-avatar-img{width:88px;height:88px;border-radius:20px;object-fit:cover;background:#f1f5f9}.hsk-badge-pill-avatar{position:absolute;bottom:-8px;background:#0d9488;color:#fff;font-size:.72rem;font-weight:800;padding:.15rem .65rem;border-radius:var(--radius-pill);box-shadow:0 2px 6px #0d94884d}.user-details-right{display:flex;flex-direction:column;gap:.4rem;flex-grow:1}.profile-user-name{font-size:1.3rem;font-weight:800;color:var(--primary-teal);margin-bottom:.25rem}.user-stat-row{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--text-muted)}.stat-label-icon{display:flex;align-items:center;gap:.4rem;font-weight:500}.stat-value-num{font-weight:800;color:var(--text-main)}.user-stars-rating{display:flex;align-items:center;gap:.4rem;margin-top:1rem;padding-top:.75rem}.star-icon,.star-icon.filled{color:#cbd5e1}.pronunciation-card-title{font-size:.95rem;font-weight:700;color:var(--text-main);margin-bottom:1.25rem}.pronunciation-metrics{display:flex;flex-direction:column;gap:.85rem}.metric-row{display:flex;align-items:center;gap:.75rem;font-size:.85rem}.metric-name{width:95px;color:var(--text-muted);font-weight:500;flex-shrink:0}.metric-bar-track{flex-grow:1;height:8px;background:#e6f4f1;border-radius:var(--radius-pill);overflow:hidden}.metric-bar-fill{height:100%;background:var(--primary-teal);border-radius:var(--radius-pill)}.metric-percent{width:32px;text-align:right;font-size:.82rem;font-weight:700;color:var(--text-muted);flex-shrink:0}.main-tabs-card{min-height:480px;display:flex;flex-direction:column}.profile-nav-tabs{display:flex;align-items:center;gap:1.75rem;border-bottom:1px solid #f1f5f9;padding-bottom:.85rem;margin-bottom:1.5rem;overflow-x:auto}.profile-tab-btn{border:none;background:transparent;font-size:.98rem;font-weight:600;color:var(--text-muted);cursor:pointer;padding-bottom:.25rem;transition:color var(--transition-fast);white-space:nowrap}.profile-tab-btn.active{color:var(--text-main);font-weight:800;position:relative}.profile-tab-btn.active:after{content:"";position:absolute;bottom:-.9rem;left:0;right:0;height:3px;background:var(--primary-teal);border-radius:var(--radius-pill)}.profile-filters-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;gap:1rem}.filter-input-search input{padding:.55rem 1.1rem;border-radius:var(--radius-pill);border:1px solid var(--border-color);background:var(--bg-white);font-size:.88rem;outline:none;width:220px;transition:border-color var(--transition-fast)}.filter-input-search input:focus{border-color:var(--primary-teal)}.filter-select-dropdown{padding:.55rem 1.75rem .55rem 1.1rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-white);font-size:.88rem;font-weight:500;color:var(--text-main);outline:none;cursor:pointer}.profile-tab-content{flex-grow:1;display:flex;align-items:center;justify-content:center;padding:3rem 1rem}.profile-empty-state{text-align:center;color:var(--text-muted);font-size:.95rem}.vocab-page{padding-top:1rem;padding-bottom:5rem}.vocab-app-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding:.25rem 0}.custom-filter-dropdown-container{position:relative}.custom-filter-pill-btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--bg-white);border:1.5px solid var(--border-color);border-radius:var(--radius-pill);padding:.35rem .85rem;font-size:.88rem;font-weight:700;color:var(--text-main);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 1px 3px #0000000a}.custom-filter-pill-btn:hover{border-color:var(--primary-teal);color:var(--primary-teal)}.custom-filter-pill-btn .arrow-icon{transition:transform var(--transition-fast)}.custom-filter-pill-btn .arrow-icon.rotate{transform:rotate(180deg)}.custom-filter-menu{position:absolute;top:110%;left:0;min-width:150px;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 10px 25px -5px #0000001a;padding:.4rem 0;z-index:100}.filter-menu-item{padding:.55rem .95rem;font-size:.85rem;font-weight:600;color:var(--text-main);cursor:pointer;transition:background var(--transition-fast)}.filter-menu-item:hover,.filter-menu-item.active{background:#ccfbf1;color:var(--primary-teal)}.topbar-right{display:flex;align-items:center;gap:1.25rem}.btn-topbar-action{border:none;background:transparent;color:var(--text-main);padding:.35rem;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast)}.btn-topbar-action:hover,.btn-topbar-action.active{background:#0000000d;color:var(--primary-teal)}.vocab-search-expandable{display:flex;align-items:center;gap:.6rem;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-pill);padding:.55rem 1rem;margin-bottom:1.25rem}.vocab-search-expandable .search-input{border:none;outline:none;width:100%;font-size:.9rem}.vocab-toggle-eyes-bar{display:flex;align-items:center;justify-content:space-around;gap:.75rem;margin-bottom:1.5rem}.toggle-eye-pill{display:flex;align-items:center;justify-content:center;gap:.45rem;flex:1;padding:.55rem .75rem;border-radius:var(--radius-pill);border:1.5px solid #d1fae5;background:#f0fdf4;color:#0d9488;font-size:.88rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.toggle-eye-pill.active{background:#ccfbf1;border-color:var(--primary-teal);color:#0f766e;font-weight:700}.vocab-mobile-list{display:flex;flex-direction:column;gap:.85rem;margin-bottom:2rem}.vocab-mint-card{display:flex;align-items:center;justify-content:space-between;background:#e6f4f1;border-radius:18px;padding:1rem 1.25rem;transition:transform var(--transition-fast)}.vocab-mint-card:hover{transform:translateY(-1px)}.mint-card-left{min-width:70px;max-width:160px;flex-shrink:0;display:flex;align-items:center;margin-right:.75rem;white-space:nowrap}.mint-hanzi-text{font-family:var(--chinese-font);font-size:1.8rem;font-weight:700;color:#1e293b;line-height:1;white-space:nowrap;word-break:keep-all}.mint-hanzi-hidden{font-size:1.2rem;color:#94a3b8;letter-spacing:2px}.mint-card-center{flex-grow:1;display:flex;flex-direction:column;gap:.2rem;padding:0 .5rem}.mint-pinyin-text{font-size:.88rem;font-weight:600;color:#64748b}.mint-meaning-text{font-size:.92rem;font-weight:600;color:#334155}.mint-card-clickable{display:flex;align-items:center;flex-grow:1;cursor:pointer}.mint-card-right{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.mint-brush-btn,.mint-audio-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:none;background:transparent;color:#475569;cursor:pointer;transition:all var(--transition-fast)}.mint-brush-btn:hover,.mint-audio-btn:hover{background:#0d948826;color:var(--primary-teal)}.vocab-floating-pagination{display:flex;align-items:center;justify-content:center;gap:1.5rem;background:var(--bg-white);border:1.5px solid #d1fae5;border-radius:var(--radius-pill);padding:.5rem 1.25rem;width:fit-content;margin:1.5rem auto 2.5rem;box-shadow:0 4px 14px #0d94881a}.page-arrow-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1.5px solid #0d9488;background:transparent;color:#0d9488;cursor:pointer;transition:all var(--transition-fast)}.page-arrow-btn:disabled{opacity:.35;cursor:not-allowed;border-color:#cbd5e1;color:#cbd5e1}.page-arrow-btn:not(:disabled):hover{background:#0d9488;color:#fff}.page-counter-text{font-size:.95rem;font-weight:700;color:#334155}.grammar-points-list{display:flex;flex-direction:column;gap:1.75rem}.grammar-point-card{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1.25rem;transition:box-shadow var(--transition-fast)}.grammar-point-card:hover{box-shadow:var(--shadow-md)}.grammar-card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding-bottom:.85rem;border-bottom:1px solid var(--border-color)}.grammar-point-title{font-size:1.25rem;font-weight:800;color:var(--text-main);margin:0}.grammar-structure-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--primary-teal-light);border:1px solid rgba(13,148,136,.25);padding:.35rem .85rem;border-radius:var(--radius-pill);font-size:.88rem}.grammar-structure-badge .badge-label{font-weight:700;color:var(--primary-teal)}.grammar-structure-badge code{font-family:inherit;font-weight:800;color:#0f766e;font-size:.92rem}.grammar-explanation{font-size:.98rem;line-height:1.6;color:var(--text-main)}.grammar-sub-title{font-size:.95rem;font-weight:700;color:var(--primary-teal);margin-bottom:.75rem;display:flex;align-items:center;gap:.4rem}.grammar-matrix-container{margin-top:.25rem}.table-responsive{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border-color)}.grammar-matrix-table{width:100%;border-collapse:collapse;text-align:center;font-size:.95rem;background:var(--bg-white)}.grammar-matrix-table th{background:#f1f5f9;color:var(--text-main);font-weight:700;padding:.75rem 1rem;border-bottom:1.5px solid var(--border-color);border-right:1px solid var(--border-color);font-size:.88rem}.grammar-matrix-table th:last-child{border-right:none}.grammar-matrix-table td{padding:.85rem 1rem;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);font-weight:600;color:var(--text-main);font-family:var(--chinese-font),inherit}.grammar-matrix-table td:last-child{border-right:none}.grammar-matrix-table tbody tr:last-child td{border-bottom:none}.grammar-matrix-table tbody tr:hover{background:#f8fafc}.grammar-examples-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.85rem}.grammar-example-card{display:flex;align-items:center;justify-content:space-between;background:#f0fdf4;border-left:4px solid #0d9488;border-radius:var(--radius-md);padding:.85rem 1.1rem;transition:transform var(--transition-fast)}.grammar-example-card:hover{transform:translate(3px)}.grammar-example-content{display:flex;flex-direction:column;gap:.2rem}.example-hanzi-text{font-family:var(--chinese-font);font-size:1.2rem;font-weight:700;color:var(--text-main)}.example-pinyin-text{font-size:.85rem;font-weight:600;color:var(--primary-teal)}.example-translation-text{font-size:.88rem;color:var(--text-muted)}.example-audio-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:#0d94881f;color:#0d9488;cursor:pointer;flex-shrink:0;transition:all var(--transition-fast)}.example-audio-btn:hover{background:#0d9488;color:#fff}.grammar-note-box{display:flex;align-items:flex-start;gap:.6rem;background:#fffbeb;border:1px solid #fef3c7;border-radius:var(--radius-md);padding:.85rem 1.1rem;font-size:.9rem;color:#92400e}.note-icon{font-size:1.1rem;flex-shrink:0}.note-text{line-height:1.5}.pinyin-page-wrapper{max-width:1100px;margin:0 auto;padding:1.5rem 1rem}.pinyin-hero-header{background:linear-gradient(135deg,#0d9488,#059669);border-radius:var(--radius-lg);padding:2rem 2.25rem;color:#fff;margin-bottom:1.75rem;box-shadow:0 10px 25px -5px #0d948840}.pinyin-badge-pill{display:inline-flex;align-items:center;gap:.5rem;background:#fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.35rem .85rem;border-radius:var(--radius-pill);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.pinyin-hero-title{font-size:1.75rem;font-weight:900;color:#fff;margin-bottom:.5rem;line-height:1.2}.pinyin-hero-desc{color:#ccfbf1;font-size:.95rem;max-width:720px;line-height:1.5}.pinyin-tabs-filter{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}.pinyin-tab-btn{padding:.5rem 1.1rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:700;color:#ccfbf1;background:#0d948866;border:1px solid rgba(255,255,255,.25);transition:all var(--transition-fast);cursor:pointer}.pinyin-tab-btn:hover{background:#fff3;color:#fff}.pinyin-tab-btn.active{background:#fff!important;color:#0f766e!important;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.pinyin-matrix-card{background:var(--bg-white);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:1.25rem;overflow:hidden}.pinyin-scroll-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.pinyin-table-outer{min-width:760px;border:2px solid rgba(13,148,136,.4);border-radius:var(--radius-md);overflow:hidden;background:#fff}.pinyin-two-columns{display:grid;grid-template-columns:1fr 1fr}.pinyin-two-columns>div:first-child{border-right:2px solid rgba(13,148,136,.4)}.pinyin-column{display:flex;flex-direction:column}.pinyin-section-header{background:#d2ede9;color:#1e293b;font-weight:800;text-align:center;padding:.65rem .5rem;font-size:.95rem;letter-spacing:.03em;border-bottom:2px solid rgba(13,148,136,.4);border-top:2px solid rgba(13,148,136,.4)}.pinyin-column>.pinyin-section-header:first-child{border-top:none}.pinyin-grid-rows{display:flex;flex-direction:column}.pinyin-grid-row{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #e2e8f0}.pinyin-grid-rows>.pinyin-grid-row:last-child{border-bottom:none}.pinyin-cell-btn{height:46px;display:flex;align-items:center;justify-content:center;border:none;border-right:1px solid #e2e8f0;background:transparent;cursor:pointer;transition:all .15s ease}.pinyin-cell-btn:last-child{border-right:none}.pinyin-cell-btn:hover:not(:disabled){background:#f0fdf4}.pinyin-cell-btn:hover:not(:disabled) .pinyin-char{color:#0d9488}.pinyin-cell-btn.cell-active{background:#0d9488!important;transform:scale(.96);box-shadow:inset 0 2px 4px #0003}.pinyin-cell-btn.cell-active .pinyin-char{color:#fff!important;font-weight:900!important}.pinyin-cell-btn.cell-empty{background:#f8fafc;cursor:default}.pinyin-char{font-size:1.05rem;font-weight:700;color:#334155}.pinyin-tone-char{font-size:1.2rem;font-weight:800}.pinyin-guides-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:1.75rem}.pinyin-guide-card{padding:1.25rem;border-radius:var(--radius-md);border:1px solid}.guide-title{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:.95rem;margin-bottom:.4rem}.guide-desc{font-size:.85rem;line-height:1.5;margin:0}.guide-amber{background:#fffbeb;border-color:#fef3c7;color:#78350f}.guide-amber .guide-title{color:#92400e}.guide-blue{background:#eff6ff;border-color:#dbeafe;color:#1e3a8a}.guide-blue .guide-title{color:#1e40af}.guide-emerald{background:#ecfdf5;border-color:#d1fae5;color:#064e3b}.guide-emerald .guide-title{color:#065f46}.pinyin-starter-banner-link{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#0d9488,#059669);color:#fff;padding:1.25rem 1.75rem;border-radius:var(--radius-lg);margin-bottom:2rem;box-shadow:0 8px 20px -4px #0d94884d;text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.filter-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1100;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease-out}@media(min-width:640px){.filter-modal-overlay{align-items:center}}.filter-modal-content{background:#fff;width:100%;max-width:440px;max-height:90vh;border-radius:28px 28px 0 0;display:flex;flex-direction:column;box-shadow:0 -10px 40px #0003;overflow:hidden;animation:slideUp .25s cubic-bezier(.16,1,.3,1)}@media(min-width:640px){.filter-modal-content{border-radius:24px}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.filter-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem .5rem}.filter-modal-title{font-size:1.4rem;font-weight:800;color:#1f2937;margin:0}.filter-modal-close-btn{background:transparent;border:none;color:#9ca3af;cursor:pointer;padding:.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.filter-modal-close-btn:hover{background:#f3f4f6;color:#1f2937}.filter-modal-body{padding:.75rem 1.5rem 1rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.filter-section{display:flex;flex-direction:column;gap:.6rem}.filter-section-title{font-size:.95rem;font-weight:700;color:#374151;margin:0}.filter-grid-6{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}.filter-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.filter-pill-btn{background:#f0fdf9;color:#334155;border:1px solid #e2e8f0;border-radius:12px;padding:.6rem .2rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.filter-pill-btn:hover{background:#ccfbf1;border-color:#99f6e4;color:#0f766e}.filter-pill-btn.active{background:#14b8a6!important;border-color:#14b8a6!important;color:#fff!important;font-weight:800!important;box-shadow:0 4px 10px #14b8a659}.filter-modal-footer{padding:.75rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.65rem;background:#fff}.filter-btn-apply{width:100%;padding:.85rem;border-radius:9999px;background:#14b8a6;color:#fff;font-weight:700;font-size:1rem;border:none;cursor:pointer;transition:all .15s ease;box-shadow:0 4px 14px #14b8a659}.filter-btn-apply:hover{background:#0d9488;transform:translateY(-1px)}.filter-btn-apply:active{transform:translateY(0)}.filter-btn-reset{width:100%;padding:.85rem;border-radius:9999px;background:#ccfbf1;color:#0f766e;font-weight:700;font-size:1rem;border:none;cursor:pointer;transition:all .15s ease}@keyframes scaleUp{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes levitateSlow{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(.5deg)}}@keyframes levitateSlowAlt{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-11px) rotate(-.5deg)}}.animate-scaleUp{animation:scaleUp .18s cubic-bezier(.175,.885,.32,1.275)}.animate-levitate-1{animation:levitateSlow 4.2s ease-in-out infinite}.animate-levitate-2{animation:levitateSlowAlt 5.1s ease-in-out infinite .7s}.animate-levitate-3{animation:levitateSlow 4.6s ease-in-out infinite 1.4s}.sentence-reorder-container{font-family:var(--font-body, system-ui, sans-serif)}.sentence-reorder-container .word-token,.sentence-reorder-container .word-token-active{-webkit-user-select:none;user-select:none;font-family:var(--chinese-font),system-ui,-apple-system,sans-serif!important;font-size:2.2rem!important;font-weight:800!important;line-height:1.2!important;letter-spacing:.02em!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;transition:all .1s ease-out}@media(min-width:768px){.sentence-reorder-container .word-token,.sentence-reorder-container .word-token-active{font-size:2.8rem!important}}.sentence-reorder-container .translation-title{font-size:1.85rem!important;font-weight:900!important;color:#0f172a!important;line-height:1.4!important}@media(min-width:768px){.sentence-reorder-container .translation-title{font-size:2.4rem!important}}.ai-chat-bubble-button{position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;background:var(--primary-teal);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #14b8a666;cursor:pointer;z-index:9999;transition:all .3s cubic-bezier(.175,.885,.32,1.275);border:none;outline:none}.ai-chat-bubble-button:hover{transform:scale(1.1);box-shadow:0 6px 20px #14b8a680}.ai-chat-bubble-active{animation:floatPulse 2s infinite ease-in-out}.ai-chat-bubble-status-icon{font-size:1.5rem;animation:pulseOpacity 1.5s infinite}@keyframes floatPulse{0%,to{box-shadow:0 4px 15px #14b8a666}50%{box-shadow:0 4px 25px #14b8a6b3}}@keyframes pulseOpacity{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:768px){.ai-chat-bubble-button{bottom:80px;right:16px;width:54px;height:54px}}.ai-chat-container{display:flex;flex-direction:column;background:var(--bg-color);position:relative;overflow:hidden}.ai-chat-container.floating{position:fixed;bottom:90px;right:24px;width:380px;height:600px;max-height:calc(100vh - 120px);border-radius:20px;box-shadow:0 10px 40px #00000026;border:1px solid var(--border-color);z-index:9999;animation:popIn .3s cubic-bezier(.175,.885,.32,1.275) forwards;transform-origin:bottom right}.ai-chat-container.fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;max-height:100vh;border-radius:0;bottom:auto;right:auto;z-index:9999;animation:fadeIn .2s ease-out forwards}@keyframes popIn{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:768px){.ai-chat-container.floating{bottom:0;right:0;width:100%;height:calc(100vh - 60px);max-height:none;border-radius:20px 20px 0 0;transform-origin:bottom center}.ai-chat-container.fullscreen{height:100vh;z-index:10000}.d-none-mobile{display:none!important}}.ai-chat-header{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.25rem;background:var(--bg-white);border-bottom:1px solid var(--border-color);flex-shrink:0}.ai-chat-header-actions{display:flex;align-items:center;gap:.25rem}.ai-chat-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:var(--text-light);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast)}.ai-chat-icon-btn:hover{background:var(--bg-color);color:var(--text-main)}#ai-btn-clear:hover{background:#fef2f2;color:#ef4444}.ai-chat-header-info{display:flex;align-items:center;gap:.65rem;flex:1}.ai-chat-header-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#ef4444,#f97316);display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0}.ai-chat-header-name{font-size:1.1rem;font-weight:800;color:var(--text-main);font-family:var(--chinese-font);line-height:1.2;margin:0}.ai-chat-header-subtitle{font-size:.78rem;color:var(--text-muted);font-weight:500;margin:0}.ai-chat-clear-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--text-light);transition:all var(--transition-fast)}.ai-chat-clear-btn:hover{background:#fef2f2;color:#ef4444}.ai-voice-status{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.45rem 1rem;font-size:.8rem;font-weight:600;flex-shrink:0;transition:all var(--transition-fast)}.ai-voice-status-icon{font-size:.9rem}.status-connecting{background:#fef9c3;color:#854d0e}.status-ready{background:#dcfce7;color:#166534}.status-listening{background:var(--primary-teal-light);color:var(--primary-teal)}.status-speaking{background:linear-gradient(90deg,#14b8a614,#a855f714);color:#7c3aed}.status-error{background:#fef2f2;color:#ef4444}.ai-voice-pulse{display:flex;align-items:center;gap:3px}.pulse-dot{width:5px;height:5px;border-radius:50%;background:var(--primary-teal);animation:pulseDot 1.4s ease-in-out infinite}.pulse-dot:nth-child(2){animation-delay:.2s}.pulse-dot:nth-child(3){animation-delay:.4s}@keyframes pulseDot{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1.2);opacity:1}}.ai-voice-wave{display:flex;align-items:center;gap:2px;height:16px}.wave-bar{width:3px;height:8px;border-radius:2px;background:#7c3aed;animation:waveBar 1s ease-in-out infinite}.wave-bar:nth-child(1){animation-delay:0s}.wave-bar:nth-child(2){animation-delay:.15s}.wave-bar:nth-child(3){animation-delay:.3s}.wave-bar:nth-child(4){animation-delay:.45s}@keyframes waveBar{0%,to{height:4px}50%{height:16px}}.ai-chat-error{display:flex;align-items:center;gap:.75rem;padding:.65rem 1.25rem;background:#fef2f2;border-bottom:1px solid #fecaca;flex-shrink:0}.ai-chat-error-text{flex:1;font-size:.82rem;color:#b91c1c;font-weight:500}.ai-chat-error-dismiss{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:#b91c1c;transition:background var(--transition-fast);flex-shrink:0}.ai-chat-error-dismiss:hover{background:#fecaca}.ai-chat-messages{flex:1;overflow-y:auto;padding:1.25rem 1rem;display:flex;flex-direction:column;gap:.75rem;scroll-behavior:smooth}.ai-chat-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1rem;flex:1}.ai-chat-welcome-avatar{font-size:3rem;margin-bottom:1rem;width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#ef4444,#f97316);display:flex;align-items:center;justify-content:center}.ai-chat-welcome-name{font-size:1.75rem;font-weight:800;color:var(--text-main);font-family:var(--chinese-font);margin-bottom:.15rem}.ai-chat-welcome-subtitle{font-size:.95rem;color:var(--text-muted);font-weight:500;margin-bottom:1.25rem}.ai-chat-welcome-desc{font-size:.9rem;color:var(--text-muted);line-height:1.65;max-width:340px;margin-bottom:1.75rem}.ai-chat-welcome-hints{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.ai-chat-hint-btn{padding:.5rem 1rem;border-radius:var(--radius-pill);border:1.5px solid var(--border-color);background:var(--bg-white);font-family:var(--chinese-font);font-size:.88rem;font-weight:600;color:var(--text-main);transition:all var(--transition-fast);cursor:pointer}.ai-chat-hint-btn:hover{border-color:var(--primary-teal);background:var(--primary-teal-light);color:var(--primary-teal);transform:translateY(-1px)}.ai-chat-message{display:flex;gap:.5rem;max-width:85%;animation:messageSlideIn .25s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ai-chat-message-user{align-self:flex-end;flex-direction:row-reverse}.ai-chat-message-ai{align-self:flex-start}.ai-chat-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#ef4444,#f97316);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.ai-chat-avatar-text{font-size:.8rem;font-weight:800;color:#fff;font-family:var(--chinese-font)}.ai-chat-bubble{padding:.65rem 1rem;border-radius:16px;max-width:100%;word-break:break-word}.ai-chat-bubble-user{background:var(--primary-teal);color:#fff;border-bottom-right-radius:4px}.ai-chat-bubble-ai{background:var(--bg-white);color:var(--text-main);border:1px solid var(--border-color);border-bottom-left-radius:4px;box-shadow:0 1px 3px #0000000a}.ai-chat-sender{display:flex;align-items:center;gap:.35rem;margin-bottom:.2rem}.ai-chat-sender-name{font-size:.72rem;font-weight:700;color:var(--primary-teal);font-family:var(--chinese-font)}.ai-chat-text{font-size:.95rem;line-height:1.55;font-family:var(--chinese-font)}.ai-chat-bubble-user .ai-chat-text{font-family:var(--chinese-font)}.ai-chat-cursor{animation:cursorBlink .8s step-end infinite;opacity:.7;font-weight:300}@keyframes cursorBlink{0%,to{opacity:0}50%{opacity:.7}}.ai-chat-meta{display:flex;align-items:center;gap:.35rem;margin-top:.25rem}.ai-chat-input-icon{font-size:.65rem}.ai-chat-time{font-size:.65rem;opacity:.6}.ai-chat-bubble-user .ai-chat-meta{justify-content:flex-end}.ai-chat-bubble-user .ai-chat-time,.ai-chat-bubble-user .ai-chat-input-icon{color:#ffffffb3}.ai-chat-typing{display:flex;align-items:center;gap:4px;padding:.25rem .15rem}.typing-dot{width:7px;height:7px;border-radius:50%;background:var(--text-light);animation:typingBounce 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,80%,to{transform:scale(.7);opacity:.3}40%{transform:scale(1.1);opacity:.8}}.ai-chat-input-bar{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-white);border-top:1px solid var(--border-color);flex-shrink:0}.ai-chat-input-wrapper{flex:1}.ai-chat-text-input{width:100%;padding:.6rem 1rem;border:1.5px solid var(--border-color);border-radius:var(--radius-pill);font-size:.9rem;font-family:var(--chinese-font);color:var(--text-main);background:var(--bg-color);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.ai-chat-text-input:focus{border-color:var(--primary-teal);box-shadow:0 0 0 3px #14b8a61a}.ai-chat-text-input::placeholder{color:var(--text-light)}.ai-chat-text-input:disabled{opacity:.5;cursor:not-allowed}.ai-voice-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;flex-shrink:0;transition:all var(--transition-fast)}.ai-voice-btn-start{background:var(--primary-teal-light);color:var(--primary-teal)}.ai-voice-btn-start:hover{background:var(--primary-teal);color:#fff;box-shadow:0 4px 12px #14b8a659;transform:scale(1.05)}.ai-voice-btn-active{background:var(--primary-teal);color:#fff;animation:micPulse 2s ease-in-out infinite}@keyframes micPulse{0%,to{box-shadow:0 0 #14b8a666}50%{box-shadow:0 0 0 8px #14b8a600}}.ai-voice-btn-muted{background:#fef2f2;color:#ef4444}.ai-voice-btn-muted:hover{background:#fecaca}.ai-voice-btn-stop{background:#fef2f2;color:#ef4444}.ai-voice-btn-stop:hover{background:#ef4444;color:#fff}.ai-send-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--bg-color);color:var(--text-light);flex-shrink:0;transition:all var(--transition-fast)}.ai-send-btn-active{background:var(--primary-teal);color:#fff;cursor:pointer}.ai-send-btn-active:hover{background:var(--primary-teal-hover);transform:scale(1.05);box-shadow:0 4px 12px #14b8a64d}.ai-send-btn:disabled{cursor:not-allowed;opacity:.5}@media(max-width:768px){.ai-chat-header{padding:.65rem .75rem}.ai-chat-messages{padding:1rem .65rem}.ai-chat-message{max-width:90%}.ai-chat-input-bar{padding:.5rem .65rem}.ai-chat-welcome{padding:2rem 1rem}.ai-chat-welcome-avatar{width:60px;height:60px;font-size:2.5rem}.ai-chat-welcome-name{font-size:1.5rem}}
