.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.dialog-content{background-color:var(--background-light);border-radius:var(--radius-lg);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);max-width:480px;width:100%;position:relative;padding:2rem;animation:slideUp .3s ease}.dialog-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:var(--radius-md);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.dialog-close:hover{background-color:transparent;color:var(--text-primary)}.dialog-close:disabled{opacity:.5;cursor:not-allowed}.dialog-header{text-align:center;margin-bottom:2rem}.dialog-header svg{margin:0 auto 1rem}.dialog-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.dialog-subtitle{font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.5}.dialog-form{display:flex;flex-direction:column;gap:1rem}.dialog-form .form-group{display:flex;flex-direction:column;gap:.5rem}.dialog-form .form-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--text-primary)}.dialog-form .form-input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--background);color:var(--text-primary);font-size:.875rem;transition:all .2s ease}.dialog-form .form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(241,90,34,.1)}.dialog-form .form-input:disabled{opacity:.6;cursor:not-allowed}.dialog-form .error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);color:#ef4444;font-size:.875rem}.dialog-submit-btn{width:100%;padding:.875rem 1.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.dialog-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(241,90,34,.3)}.dialog-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.dialog-footer-text{text-align:center;font-size:.875rem;color:var(--text-secondary);margin:0}.dialog-link-btn{background:none;border:none;color:var(--primary-color);font-weight:500;cursor:pointer;padding:0;text-decoration:none;transition:color .2s ease}.dialog-link-btn:hover:not(:disabled){text-decoration:underline}.dialog-link-btn:disabled{opacity:.6;cursor:not-allowed}.dialog-success{text-align:center;padding:2rem 1rem}@media (max-width: 480px){.dialog-content{padding:1.5rem}.dialog-title{font-size:1.25rem}.dialog-subtitle{font-size:.8rem}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md) var(--spacing-md) 2rem;background:var(--background)}.auth-card{background-color:var(--background-light);padding:var(--spacing-lg);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:0 4px 6px rgba(0,0,0,.1)}@media (min-width: 768px){.auth-card:not(.profile-complete){max-width:500px;padding:2.5rem}}@media (min-width: 1024px){.auth-card:not(.profile-complete){max-width:600px;padding:3rem}}.auth-card.profile-complete{max-width:600px}@media (min-width: 768px){.auth-card.profile-complete{max-width:700px;padding:3rem}}@media (min-width: 1024px){.auth-card.profile-complete{max-width:800px;padding:3.5rem}}.progress-indicator{display:flex;align-items:center;justify-content:center;margin-bottom:3rem;gap:.75rem}.progress-step{width:1.75rem;height:1.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--text-muted);background-color:var(--background);border:2px solid var(--border-color);transition:all .2s ease}.progress-step.active,.progress-step.completed{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.progress-line{width:3rem;height:2px;background-color:var(--border-color);transition:all .2s ease}.progress-line.completed{background-color:var(--primary-color)}.form-navigation{display:flex;gap:.75rem;margin-top:2rem}.auth-container .auth-card .auth-button,.auth-container .auth-card .auth-button.btn,.auth-container .auth-card .auth-button.btn-primary,.auth-container .auth-card .auth-button.btn-secondary{padding:.75rem 1.5rem;border:1px solid transparent;border-radius:var(--radius-md);font-weight:500;font-size:.875rem;cursor:pointer;transition:opacity .2s ease;text-decoration:none;outline:none;min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;background-image:none;box-shadow:none;transform:none;position:static;overflow:visible}.auth-container .auth-card .auth-button:not(.secondary),.auth-container .auth-card .auth-button.btn-primary{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.auth-container .auth-card .auth-button:not(.secondary):hover,.auth-container .auth-card .auth-button.btn-primary:hover{background-color:var(--primary-color);opacity:.9;transform:none;box-shadow:none}.auth-container .auth-card .auth-button.secondary,.auth-container .auth-card .auth-button.btn-secondary{background-color:transparent;color:var(--text-secondary);border-color:var(--border-color)}.auth-container .auth-card .auth-button.secondary:hover,.auth-container .auth-card .auth-button.btn-secondary:hover{background-color:var(--background);color:var(--text-primary);border-color:var(--text-muted);transform:none;box-shadow:none}.auth-container .auth-card .auth-button:active,.auth-container .auth-card .auth-button:focus,.auth-container .auth-card .auth-button.btn:active,.auth-container .auth-card .auth-button.btn:focus{transform:none;box-shadow:none;background-image:none}.form-navigation .auth-button{flex:1}.auth-card.profile-complete .auth-title{font-size:1.5rem;font-weight:600;margin-bottom:2rem;text-align:center;color:var(--text-primary)}.auth-card.profile-complete .form-group{margin-bottom:1.5rem}.auth-card.profile-complete .form-label{font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.auth-card.profile-complete .form-input{padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--background);color:var(--text-primary);font-size:.875rem;transition:border-color .2s ease}.auth-card.profile-complete .form-input:focus{border-color:var(--primary-color);outline:none}.language-option{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--background);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:space-between;font-size:.875rem}.language-option:hover{border-color:var(--primary-color);background-color:var(--background-light)}.language-option.selected{border-color:var(--primary-color);background-color:var(--background-soft);color:var(--primary-color)}.language-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.error-message{background-color:#fff5f0;border:2px solid var(--orange-terracotta, #f15a22);color:var(--orange-terracotta, #f15a22);padding:.875rem 1rem;border-radius:var(--radius-md);margin:1rem 0;font-size:.875rem;font-weight:500;line-height:1.5;display:flex;align-items:center;gap:.5rem}.info-message{background:var(--background-light);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1rem;margin-bottom:1rem;display:flex;align-items:flex-start;gap:.75rem;font-size:.875rem}.info-icon{width:1.25rem;height:1.25rem;border-radius:50%;background:var(--primary-color);color:#fff;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.125rem}.toggle-languages-btn{color:var(--primary-color);background:none;border:none;cursor:pointer;font-size:.875rem;padding:.5rem 0;margin-top:.5rem;text-decoration:none;transition:opacity .2s ease}.toggle-languages-btn:hover{opacity:.8}.custom-language-input{margin-top:1rem;padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--background-light)}.custom-language-label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.875rem;color:var(--text-primary)}.custom-language-input-group{display:flex;gap:.5rem}.custom-language-text-input{flex:1;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;background-color:var(--background);color:var(--text-primary);transition:border-color .2s ease}.custom-language-text-input:focus{border-color:var(--primary-color);outline:none}.custom-language-add-btn{padding:.5rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;cursor:pointer;transition:opacity .2s ease}.custom-language-add-btn:hover:not(.disabled){opacity:.9}.custom-language-add-btn.disabled{background-color:var(--text-muted);cursor:not-allowed;opacity:.6}.remove-custom-language{background:none;border:none;color:#ef4444;cursor:pointer;font-size:1rem;margin-left:.5rem;padding:0;line-height:1;transition:opacity .2s ease}.remove-custom-language:hover{opacity:.7}.auth-card h1{margin-bottom:var(--spacing-sm);color:var(--text-primary);font-size:2rem;font-weight:700}.auth-subtitle{color:var(--text-muted);margin-bottom:var(--spacing-md)}.auth-error{background-color:#fff5f0;color:var(--orange-terracotta, #f15a22);padding:var(--spacing-md);border:2px solid var(--orange-terracotta, #f15a22);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-weight:500}.auth-container .auth-card .auth-form{display:flex;flex-direction:column;gap:.5rem}.auth-container .auth-card .auth-form .form-group{display:flex;flex-direction:column;gap:.25rem}.auth-form label{color:var(--text-primary);font-weight:500}.auth-form .input{background-color:var(--background)}.auth-form .btn{margin-top:var(--spacing-md)}.auth-footer{margin-top:var(--spacing-md);text-align:center;color:var(--text-muted)}.auth-footer a{color:var(--primary-color);text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.oauth-info{background:var(--background);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.oauth-user-info{display:flex;align-items:center;gap:var(--spacing-sm)}.oauth-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.oauth-name{font-weight:600;color:var(--text-primary);margin:0}.oauth-email{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.auth-loading{text-align:center;padding:var(--spacing-xl)}.auth-spinner{width:32px;height:32px;border:3px solid var(--border-light);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--spacing-md)}.auth-error{text-align:center;padding:var(--spacing-xl)}.auth-error h2{color:var(--text-primary);margin-bottom:var(--spacing-sm)}.auth-error p{color:var(--text-secondary);margin-bottom:var(--spacing-md)}.auth-help{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color);font-size:.9rem;color:var(--text-secondary)}.auth-help p{margin:0 0 8px;font-weight:500}.auth-help ul{margin:0;padding-left:20px}.auth-help li{margin:4px 0}@media (max-width: 480px){.auth-card{padding:var(--spacing-lg);padding-bottom:120px}.auth-button{margin-bottom:2rem}.auth-card h1{font-size:1.75rem}}.auth-divider{margin:1rem 0;border-top:1px solid var(--border-color);position:relative}.auth-divider span{color:var(--text-secondary);background:var(--background-light);padding:0 1rem;position:absolute;top:-10px;left:50%;transform:translate(-50%);font-size:.875rem}.coming-soon-message{background:var(--background);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-lg);margin:var(--spacing-lg) 0}.coming-soon-message p{color:var(--text-primary);font-weight:500;margin-bottom:var(--spacing-md)}.coming-soon-message ul{color:var(--text-secondary);margin:0;padding-left:var(--spacing-lg)}.coming-soon-message li{margin:var(--spacing-xs) 0;color:var(--text-primary)}.auth-logo{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.auth-logo-main{height:200px;width:auto;object-fit:contain}.auth-logo-text{height:100px;width:auto;object-fit:contain}.auth-title{text-align:center;font-size:1.75rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.beta-badge{display:flex;justify-content:center;margin-bottom:.75rem}.beta-text{background-color:var(--primary-color);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.auth-subtitle{text-align:center;font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem}@media (min-width: 768px){.auth-title{font-size:2.25rem;margin-bottom:.75rem}.auth-subtitle{font-size:1rem;margin-bottom:2.5rem}.form-label{font-size:1rem;margin-bottom:.75rem;line-height:1.5rem}.form-label-icon{width:1.5rem;height:1.5rem}.form-hint{font-size:.875rem;margin-bottom:1rem}}.auth-container .auth-card .form-group{margin-bottom:.625rem}@media (min-width: 768px){.form-group{margin-bottom:2rem}.auth-card.profile-complete .form-group:last-of-type{margin-bottom:2.5rem}}.form-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.25rem;line-height:1.25rem}.form-label-icon{width:1.25rem;height:1.25rem;flex-shrink:0;display:flex;align-items:center;justify-content:center}.form-hint{font-size:.75rem;color:var(--text-secondary);margin-bottom:.75rem;margin-top:-.25rem}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:.75rem;width:1.25rem;height:1.25rem;color:var(--text-secondary);z-index:1}.form-input{width:100%;padding:.75rem .75rem .75rem 2.75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--background);color:var(--text-primary);font-size:.875rem;transition:all .2s ease}@media (min-width: 768px){.form-input{padding:1rem 1rem 1rem 3rem;font-size:1rem}.input-icon{left:1rem;width:1.5rem;height:1.5rem}.password-toggle{right:1rem}.password-toggle svg{width:1.5rem;height:1.5rem}}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(139,105,20,.1)}.form-input::placeholder{color:var(--text-muted)}.password-toggle{position:absolute;right:.75rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center}.password-toggle svg{width:1.25rem;height:1.25rem}.password-toggle:hover{color:var(--text-primary)}.language-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;max-height:200px;overflow-y:auto;padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--background)}@media (min-width: 640px){.language-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;max-height:250px;padding:1rem}}@media (min-width: 768px){.language-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;max-height:300px;padding:1.25rem}}@media (min-width: 1024px){.language-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;max-height:350px;padding:1.5rem}}.language-option{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border:2px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--background-light);cursor:pointer;transition:all .3s ease;font-size:.75rem;min-height:40px;box-shadow:0 1px 3px rgba(0,0,0,.1);position:relative;overflow:hidden}@media (min-width: 640px){.language-option{padding:.75rem 1rem;font-size:.875rem;min-height:44px}}@media (min-width: 768px){.language-option{padding:.875rem 1.25rem;font-size:.875rem;min-height:48px}}.language-option:hover{border-color:var(--primary-color);background-color:rgba(139,105,20,.08);transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.15)}.language-option.selected{border-color:var(--primary-color);background-color:var(--background-soft);color:var(--primary-color);font-weight:500}.language-option.main-language.selected{border:2px solid var(--primary-color);background-color:var(--background-hover);font-weight:600;color:var(--primary-color)}.language-option.main-language{border:1px solid var(--primary-color);background-color:var(--background-light);font-weight:500}.language-option.main-language:hover{border-color:var(--primary-color);background-color:var(--background-soft)}.language-name{font-weight:500}.language-check{width:1.25rem;height:1.25rem;color:var(--primary-color);background-color:rgba(255,255,255,.9);border-radius:50%;padding:.125rem;box-shadow:0 1px 3px rgba(0,0,0,.2);z-index:2}.error-message{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;background-color:#fff5f0;border:2px solid var(--orange-terracotta, #f15a22);border-radius:var(--radius-md, 8px);color:var(--orange-terracotta, #f15a22);font-size:.875rem;margin-bottom:1rem;line-height:1.5;font-weight:500}.error-icon{width:1.25rem;height:1.25rem;flex-shrink:0;color:var(--orange-terracotta, #f15a22)}.success-message{padding:.875rem 1rem;background-color:var(--green-received, #d8e69c);border:2px solid var(--green-accent, #9cb847);border-radius:var(--radius-md, 8px);color:var(--text-primary, #1a1a1a);font-size:.875rem;margin-bottom:.75rem;line-height:1.5;display:flex;align-items:center;gap:.5rem;font-weight:500}.success-icon{color:var(--green-accent, #9cb847);flex-shrink:0;width:1.25rem;height:1.25rem}.auth-button{width:100%;padding:.875rem 1.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:1rem}@media (min-width: 768px){.auth-button{padding:1.125rem 2rem;font-size:1rem;margin-top:1.5rem}}.auth-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(139,105,20,.3)}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.profile-complete-info{margin-top:1.5rem;padding:1rem;background-color:rgba(139,105,20,.05);border:1px solid rgba(139,105,20,.1);border-radius:var(--radius-md);text-align:center}.profile-complete-info p{margin:0;font-size:.75rem;color:var(--text-secondary)}@media (max-width: 768px){.auth-card{padding-bottom:100px}.auth-button{margin-bottom:1.5rem}}@media (max-width: 480px){.auth-card{max-width:100%;margin:1rem}.auth-logo{flex-direction:column;gap:.5rem}.auth-logo-main{height:160px;width:auto;object-fit:contain}.auth-logo-text{height:80px;width:auto;object-fit:contain}.language-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));max-height:150px}.language-option{font-size:.7rem;padding:.4rem .6rem}}.proficiency-grid{display:flex;flex-direction:column;gap:1.5rem;max-height:400px;overflow-y:auto;padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--background)}.proficiency-language-section{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--background-light)}.proficiency-language-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.proficiency-levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}.proficiency-option{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--background);cursor:pointer;transition:all .2s ease;font-size:.875rem;min-height:48px}.proficiency-option:hover{border-color:var(--primary-color);background-color:rgba(139,105,20,.05);transform:translateY(-1px)}.proficiency-option.selected{border-color:var(--primary-color);background-color:rgba(139,105,20,.1);color:var(--primary-color);font-weight:600;box-shadow:0 2px 4px rgba(139,105,20,.2)}.proficiency-input{width:1rem;height:1rem;accent-color:var(--primary-color);cursor:pointer}.proficiency-label{font-weight:500;cursor:pointer;flex:1}@media (min-width: 640px){.proficiency-levels{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.proficiency-option{padding:1rem 1.25rem;font-size:.875rem}}@media (min-width: 768px){.proficiency-levels{grid-template-columns:repeat(2,1fr);gap:1rem}.proficiency-option{padding:1rem 1.5rem;font-size:.875rem}.proficiency-grid{max-height:500px;padding:1.5rem}.proficiency-language-section{padding:1.5rem}}@media (max-width: 480px){.proficiency-grid{gap:1rem;padding:.75rem}.proficiency-language-section{padding:.75rem}.proficiency-language-name{font-size:.875rem}.proficiency-levels{grid-template-columns:1fr;gap:.5rem}.proficiency-option{padding:.75rem;font-size:.8rem;min-height:40px}.proficiency-input{width:.875rem;height:.875rem}}.language-section{margin-bottom:1.5rem}.language-section-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem;padding:.5rem;background-color:var(--background);border-radius:var(--radius-sm);border:1px solid var(--border-color)}.proficiency-select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--background);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s ease}.proficiency-select:hover{border-color:var(--primary-color)}.proficiency-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(139,105,20,.2)}@media (min-width: 640px){.proficiency-select{padding:.875rem 1rem;font-size:.875rem}}@media (max-width: 480px){.language-section-title{font-size:.875rem;padding:.4rem}.proficiency-select{padding:.65rem;font-size:.8rem}}.proficiency-controls{display:flex;gap:.5rem;align-items:center;width:100%}.proficiency-select{flex:1}.quiz-button-inline{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--radius-sm);color:var(--primary-700);font-size:.813rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.quiz-button-inline:hover{background:var(--primary-100);border-color:var(--primary-300);transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.quiz-icon-inline{width:16px;height:16px}.quiz-hint{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem;background:var(--primary-50);border-radius:var(--radius-sm);color:var(--primary-800);font-size:.875rem;border:1px solid var(--primary-200)}.hint-icon{width:20px;height:20px;flex-shrink:0;color:var(--primary-600)}.auth-container .auth-card .consent-section{margin-top:.5rem;margin-bottom:.5rem;padding-top:.5rem;border-top:1px solid var(--border-light)}.auth-container .auth-card .consent-title{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.375rem}.auth-container .auth-card .consent-item{margin-bottom:.25rem}.auth-container .auth-card .consent-notice{background-color:var(--background-light);border:1px solid var(--primary-300);border-radius:var(--radius-md);padding:.5rem;margin-bottom:.25rem}.auth-container .auth-card .consent-notice p{margin:0;line-height:1.3}.auth-container .auth-card .consent-label{display:flex;align-items:start;gap:.375rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-bottom:0}.auth-container .auth-card .consent-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:1.25rem;height:1.25rem;border:2px solid var(--border-color);border-radius:.25rem;background-color:var(--background);cursor:pointer;position:relative;flex-shrink:0;transition:all .2s ease;margin-top:.125rem}.auth-container .auth-card .consent-checkbox:hover{border-color:var(--primary-color);background-color:var(--background-light)}.auth-container .auth-card .consent-checkbox:checked{background-color:var(--primary-color);border-color:var(--primary-color)}.auth-container .auth-card .consent-checkbox:checked:after{content:"";position:absolute;left:.3rem;top:.1rem;width:.375rem;height:.625rem;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.auth-container .auth-card .consent-text{font-size:.875rem;color:var(--text-secondary);line-height:1.3;margin:0}.auth-container .auth-card .consent-text a{color:var(--primary-color);text-decoration:underline;font-weight:500}.auth-container .auth-card .consent-text a:hover{color:var(--primary-dark)}.oauth-section{margin:.75rem 0 .5rem}.oauth-button{width:100%;padding:.6rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;display:flex;align-items:center;justify-content:center;transition:all .2s ease;background-color:var(--background);margin-bottom:.25rem}.oauth-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}.oauth-loading-spinner{position:absolute;right:1rem;width:16px;height:16px;border:2px solid rgba(0,0,0,.1);border-top-color:var(--primary-600);border-radius:50%;animation:spin .6s linear infinite}.quiz-container{max-width:600px;width:100%;margin:0 auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1);max-height:100%;overflow-y:auto;box-sizing:border-box;position:relative;z-index:1}:fullscreen .quiz-container{max-width:min(600px,90vw);max-height:90vh;max-height:90dvh}:-webkit-full-screen .quiz-container{max-width:min(600px,90vw);max-height:90vh;max-height:90dvh}:-moz-full-screen .quiz-container{max-width:min(600px,90vw);max-height:90vh;max-height:90dvh}:-ms-fullscreen .quiz-container{max-width:min(600px,90vw);max-height:90vh;max-height:90dvh}.quiz-header{text-align:center;margin-bottom:2rem}.quiz-icon{width:48px;height:48px;color:var(--primary-600);margin:0 auto 1rem}.quiz-header h2{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.quiz-subtitle{color:var(--text-secondary);font-size:1rem}.quiz-progress{margin-bottom:2rem}.progress-bar{height:8px;background-color:var(--background-light);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-text{font-size:.875rem;color:var(--text-secondary)}.question-container{margin-bottom:2rem}.question-text{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem;line-height:1.5}.options-container{display:flex;flex-direction:column;gap:.75rem;position:relative;z-index:1}.option-button{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--background-light);border:2px solid transparent;border-radius:8px;text-align:left;cursor:pointer;transition:all .2s;pointer-events:auto;position:relative;z-index:2}.option-button:hover{background:var(--background-hover);border-color:var(--primary-300)}.option-button.selected{background:var(--primary-50);border-color:var(--primary-500)}.option-letter{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fff;border-radius:50%;font-weight:600;color:var(--primary-600);flex-shrink:0}.option-button.selected .option-letter{background:var(--primary-600);color:#fff}.option-text{flex:1;color:var(--text-primary);font-size:1rem}.quiz-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:2rem}.quiz-container .nav-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;background-color:#fff;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s;transform:none}.quiz-container .nav-button:hover:not(:disabled){background:var(--background-hover);background-color:var(--background-hover);color:var(--text-primary);transform:translateY(-1px)}.quiz-container .nav-button:active:not(:disabled){transform:translateY(0)}.quiz-container .nav-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.quiz-container .nav-button.primary{background:var(--primary-600);background-color:var(--primary-600);border-color:var(--primary-600);color:#fff}.quiz-container .nav-button.primary:hover:not(:disabled){background:var(--primary-700);background-color:var(--primary-700);border-color:var(--primary-700)}.nav-icon{width:20px;height:20px;flex-shrink:0}.quiz-container .quiz-cancel{display:block;margin:2rem auto 0;padding:.5rem 1rem;background:transparent;background-color:transparent;border:none;color:var(--text-secondary);font-size:.875rem;font-weight:400;text-decoration:underline;cursor:pointer;transition:color .2s;transform:none}.quiz-container .quiz-cancel:hover{background:transparent;background-color:transparent;color:var(--text-primary);transform:none}.quiz-container .quiz-cancel:active{transform:none}.quiz-results{text-align:center;padding:2rem 0 3rem;overflow:visible}.score-circle{width:120px;height:120px;margin:0 auto 2rem;background:var(--primary-500);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(185,204,129,.2)}.score-text{display:flex;align-items:baseline;gap:.25rem;color:#fff}.score-number{font-size:2.5rem;font-weight:700}.score-total{font-size:1.25rem;opacity:.9}.proficiency-result{font-size:1.125rem;color:var(--text-secondary);margin-bottom:1rem}.proficiency-level{display:block;font-size:2rem;font-weight:700;color:var(--primary-600);margin-top:.5rem}.level-description{max-width:400px;margin:0 auto 2rem;padding:1rem;background:var(--background-light);border-radius:8px;color:var(--text-secondary);font-size:.875rem;line-height:1.5}.quiz-actions{display:flex;gap:1rem;justify-content:center}.quiz-button{padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.quiz-button.primary{background:var(--primary-600);color:#fff}.quiz-button.primary:hover{background:var(--primary-700);transform:translateY(-1px)}.quiz-button.secondary{background:#fff;color:var(--text-primary);border:1px solid var(--border-color)}.quiz-button.secondary:hover{background:var(--background-hover)}.quiz-nav-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;background-color:#fff;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s;transform:none}.quiz-nav-button:hover:not(:disabled){background:var(--background-hover);background-color:var(--background-hover);color:var(--text-primary);transform:translateY(-1px)}.quiz-nav-button:active:not(:disabled){transform:translateY(0)}.quiz-nav-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.quiz-nav-button.quiz-nav-primary{background:var(--primary-600);background-color:var(--primary-600);border-color:var(--primary-600);color:#fff}.quiz-nav-button.quiz-nav-primary:hover:not(:disabled){background:var(--primary-700);background-color:var(--primary-700);border-color:var(--primary-700)}.quiz-cancel-button{display:block;margin:2rem auto 0;padding:.5rem 1rem;background:transparent;background-color:transparent;border:none;color:var(--text-secondary);font-size:.875rem;font-weight:400;text-decoration:underline;cursor:pointer;transition:color .2s;transform:none}.quiz-cancel-button:hover{background:transparent;background-color:transparent;color:var(--text-primary);transform:none}.quiz-cancel-button:active{transform:none}.question-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.question-icon{width:32px;height:32px;color:var(--primary-600)}.question-type-label{background:var(--primary-100);color:var(--primary-700);padding:.25rem .75rem;border-radius:16px;font-size:.75rem;font-weight:500}.adaptive-results-summary{margin-bottom:2rem;padding:1.5rem 1.5rem 2rem;background:var(--background-light);border-radius:12px;overflow:visible}.adaptive-results-summary h3{font-size:1rem;font-weight:600;color:var(--text-secondary);margin-bottom:1rem}.level-progression{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;position:relative}.level-step{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;border-radius:8px;background:#fff;border:2px solid var(--border-color);min-width:50px;font-size:.875rem;position:relative;cursor:pointer;transition:all .2s ease}.level-step:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1);z-index:10}.level-step.correct{border-color:var(--success-color, #22c55e);background:rgba(34,197,94,.05)}.level-step.incorrect{border-color:var(--error-color, #ef4444);background:rgba(239,68,68,.05)}.level-step.self-assessment{border-color:var(--primary-400, #9cb847);background:rgba(156,184,71,.05)}.step-level{font-weight:600;color:var(--text-primary)}.question-tooltip{display:none;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:1rem;box-shadow:0 4px 12px rgba(0,0,0,.15);min-width:300px;max-width:400px;z-index:1000;text-align:left}.level-step:hover .question-tooltip{display:block}.question-tooltip:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid white}.tooltip-header{font-size:.75rem;font-weight:600;color:var(--primary-600);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.tooltip-question{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;line-height:1.4}.tooltip-answers{display:flex;flex-direction:column;gap:.5rem}.tooltip-your-answer,.tooltip-correct-answer{font-size:.8125rem;padding:.5rem;border-radius:6px;background:var(--background-light)}.tooltip-your-answer strong,.tooltip-correct-answer strong{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem}.tooltip-correct-answer.was-correct{background:rgba(34,197,94,.1);border-left:3px solid var(--success-color, #22c55e)}.tooltip-correct-answer.was-wrong{background:rgba(239,68,68,.1);border-left:3px solid var(--error-color, #ef4444)}.quiz-loading{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--text-secondary);font-size:1rem}@media (max-width: 640px){.quiz-container{padding:1.5rem;margin:0 auto}.question-text{font-size:1.125rem}.option-button{padding:.875rem}.quiz-container .nav-button{padding:.625rem 1rem;font-size:.875rem}.quiz-actions{flex-direction:column;width:100%}.quiz-button{width:100%}.level-progression{max-width:100%;overflow-x:auto}.level-step{min-width:45px;padding:.375rem;font-size:.75rem}.question-tooltip{min-width:280px;max-width:calc(100vw - 2rem);left:auto;right:auto;transform:translate(-50%)}.tooltip-question{font-size:.8125rem}.tooltip-your-answer,.tooltip-correct-answer{font-size:.75rem}}.quiz-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.5);z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.quiz-dialog-wrapper{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1001;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.quiz-dialog-content{max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);max-width:min(600px,calc(100vw - 40px));width:100%;margin:auto}@media (max-height: 700px){.quiz-dialog-wrapper{padding:10px}.quiz-dialog-content{max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px)}}@media (max-width: 640px){.quiz-dialog-wrapper{padding:10px;align-items:center;justify-content:center}.quiz-dialog-content{max-width:calc(100vw - 20px);max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);display:flex;align-items:center;justify-content:center}}.quiz-dialog::-webkit-scrollbar{width:8px}.quiz-dialog::-webkit-scrollbar-track{background:rgba(0,0,0,.05);border-radius:4px}.quiz-dialog::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:4px}.quiz-dialog::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.3)}.home-container{min-height:100vh;min-height:100dvh;background:linear-gradient(180deg,#fffbf5 0%,var(--background-cream) 100%);overflow-x:hidden}.home-language-selector{position:fixed;top:20px;right:20px;z-index:100}.section-content{max-width:1280px;margin:0 auto;padding:0 40px}.section-title{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;color:var(--text-primary);text-align:center;margin:0 0 1.5rem;letter-spacing:-.02em}.section-subtitle{font-size:clamp(1rem,2vw,1.25rem);color:var(--text-secondary);text-align:center;max-width:700px;margin:0 auto 3rem;line-height:1.6}.hero-section{padding:100px 40px 80px;min-height:auto;display:flex;align-items:center}.hero-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.hero-text{z-index:2}.hero-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--text-primary);margin:0 0 1.5rem}.hero-title .highlight{color:var(--orange-primary)}.hero-subtitle{font-size:clamp(1rem,2vw,1.25rem);color:var(--text-secondary);line-height:1.5;margin:0 0 2rem;max-width:560px}.language-badges{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:2rem}.language-badge{background:var(--orange-light);color:var(--text-primary);padding:.625rem 1.25rem;border-radius:8px;font-size:1.0625rem;font-weight:600;border:1.5px solid rgba(241,90,34,.2);transition:all .2s ease}.language-badge:hover{background:rgba(241,90,34,.15);border-color:rgba(241,90,34,.3);transform:translateY(-1px)}.hero-cta-group{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;align-items:flex-start}.cta-primary-group{display:flex;gap:1rem;flex-wrap:wrap}.btn-outline{background:transparent;color:var(--text-primary);border:2px solid var(--border-light);font-weight:600;padding:.875rem 1.75rem;border-radius:8px;text-decoration:none;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-outline:hover{border-color:var(--orange-primary);color:var(--orange-primary);background:rgba(241,90,34,.05)}.hero-image{display:flex;align-items:center;justify-content:center;position:relative}.teababe-hero{width:100%;max-width:500px;height:auto;filter:drop-shadow(0 20px 40px rgba(241,90,34,.15))}.hero-logos{width:100%;max-width:500px;display:flex;flex-direction:column;align-items:center;gap:0}.hero-logo-text{width:100%;height:auto;filter:drop-shadow(0 20px 40px rgba(156,184,71,.2));object-fit:contain;object-position:center;margin:0;padding:0}.hero-logo-teabag{width:35%;height:auto;filter:drop-shadow(0 10px 20px rgba(156,184,71,.3));margin-top:.5rem}.languages-section{padding:80px 40px;background:var(--background-white)}.languages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1.5rem;max-width:900px;margin:0 auto 2rem}.language-card{background:var(--orange-light);padding:2rem 1rem;border-radius:16px;text-align:center;transition:all .3s ease;border:2px solid transparent}.language-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--orange-primary)}.language-flag{font-size:3rem;display:block;margin-bottom:.75rem}.language-name{font-size:1rem;font-weight:600;color:var(--text-primary)}.coming-soon{text-align:center;color:var(--text-tertiary);font-size:.9rem;font-style:italic}.features-section{padding:80px 40px;background:linear-gradient(180deg,var(--background-white) 0%,var(--background-cream) 100%);overflow:hidden}.features-container{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:250px 1fr 250px;gap:4rem;align-items:center}.teababe-left,.teababe-right{display:flex;align-items:center;justify-content:center}.teababe-side{width:100%;max-width:220px;height:auto;filter:drop-shadow(0 10px 30px rgba(241,90,34,.15));opacity:0;transition:opacity .6s ease}.teababe-side.visible{opacity:1;animation:slideInLeft .8s ease forwards}.teababe-right .teababe-side.visible{animation:slideInRight .8s ease forwards}.features-content{max-width:800px;margin:0 auto}.features-list{display:flex;flex-direction:column;gap:2rem;margin-top:3rem}.feature-card{background:var(--background-white);padding:2.5rem 2rem;border-radius:16px;text-align:center;transition:all .3s ease;border:2px solid var(--border-light);position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center}.feature-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl)}.feature-card.accent-orange:hover{border-color:var(--orange-primary)}.feature-card.accent-blue:hover{border-color:var(--blue-learning)}.feature-card.accent-green:hover{border-color:var(--green-accent)}.feature-icon-wrapper{width:64px;height:64px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;background:var(--background-light);border-radius:16px}.accent-orange .feature-icon-wrapper{background:rgba(241,90,34,.1);color:var(--orange-primary)}.accent-blue .feature-icon-wrapper{background:rgba(80,86,165,.1);color:var(--blue-learning)}.accent-green .feature-icon-wrapper{background:rgba(156,184,71,.1);color:var(--green-accent)}.feature-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 1rem}.feature-description{font-size:1.125rem;color:var(--text-secondary);line-height:1.6;margin:0;max-width:600px}.steps-section{padding:80px 40px;background:var(--background-light)}.steps-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;margin-top:3rem;position:relative}.step-card{background:var(--background-white);padding:2.5rem 2rem;border-radius:20px;text-align:center;position:relative;border:2px solid var(--border-light);transition:all .3s ease}.step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--orange-primary)}.step-number{position:absolute;top:-20px;left:50%;transform:translate(-50%);width:56px;height:56px;background:var(--orange-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;box-shadow:0 4px 12px rgba(241,90,34,.3)}.step-image{width:80px;height:80px;margin:1.5rem auto 1rem;display:flex;align-items:center;justify-content:center}.step-image img{max-width:100%;max-height:100%;object-fit:contain}.step-icon{color:var(--blue-learning);margin:0 auto 1rem;display:flex;align-items:center;justify-content:center}.step-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 .75rem}.step-description{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin:0}.community-section{padding:80px 40px;background:linear-gradient(135deg,rgba(251,193,132,.2),rgba(216,230,156,.2))}.community-section .section-content{text-align:center}.community-image{max-width:400px;margin:0 auto 2rem}.community-image img{width:100%;height:auto;filter:drop-shadow(0 10px 30px rgba(0,0,0,.1))}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;max-width:800px;margin:2rem auto 0}.stat-card{background:var(--background-white);padding:2rem 1.5rem;border-radius:16px;box-shadow:var(--shadow-md);transition:all .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.stat-number{font-size:2.5rem;font-weight:800;color:var(--orange-primary);margin:0 0 .5rem;line-height:1}.stat-label{font-size:.95rem;color:var(--text-secondary);font-weight:500}.screenshots-section{padding:80px 40px;background:var(--background-white)}.screenshots-container{max-width:1400px;margin:0 auto}.screenshots-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem}.screenshot-card{background:var(--background-cream);border-radius:16px;overflow:hidden;transition:all .3s ease;border:2px solid var(--border-light);display:flex;flex-direction:column}.screenshot-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--orange-primary)}.screenshot-image-wrapper{width:100%;aspect-ratio:16 / 9;overflow:hidden;background:var(--background-light);display:flex;align-items:center;justify-content:center}.screenshot-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.screenshot-card:hover .screenshot-image{transform:scale(1.05)}.screenshot-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:1.5rem 1.5rem .75rem;line-height:1.3}.screenshot-description{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin:0 1.5rem 1.5rem;flex-grow:1}.screenshots-grid.visible .screenshot-card{animation:scaleIn .6s ease forwards}.testimonials-section{padding:80px 40px;background:linear-gradient(135deg,var(--background-cream) 0%,rgba(156,184,71,.1) 100%)}.testimonials-container{max-width:1200px;margin:0 auto}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-top:3rem}.testimonial-card{background:var(--background-white);padding:2rem;border-radius:16px;border:2px solid var(--border-light);transition:all .3s ease;display:flex;flex-direction:column;gap:1.5rem;position:relative}.testimonial-card:before{content:'"';position:absolute;top:1rem;left:1.5rem;font-size:4rem;font-weight:800;color:rgba(156,184,71,.15);line-height:1;font-family:Georgia,serif}.testimonial-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--green-accent)}.testimonial-content{flex-grow:1;position:relative;z-index:1}.testimonial-quote{font-size:1.125rem;color:var(--text-primary);line-height:1.7;margin:0;font-style:italic}.testimonial-original{font-size:.9375rem;color:var(--text-tertiary);line-height:1.6;margin:1rem 0 0;padding-top:1rem;border-top:1px solid rgba(0,0,0,.05)}.testimonial-author{display:flex;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid var(--border-light)}.testimonial-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--green-accent) 0%,var(--orange-primary) 100%);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 2px 8px rgba(156,184,71,.3)}.testimonial-avatar-img{width:60px;height:60px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 2px 8px rgba(156,184,71,.3);border:2px solid var(--background-white)}.testimonial-info{display:flex;flex-direction:column;gap:.25rem}.testimonial-name{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.testimonial-role{font-size:.9375rem;color:var(--text-secondary);line-height:1.4}.testimonials-grid.visible .testimonial-card{animation:scaleIn .6s ease forwards}.final-cta-section{padding:80px 40px;background:linear-gradient(135deg,var(--background-cream) 0%,var(--orange-light) 100%)}.cta-content{max-width:700px;margin:0 auto;text-align:center}.cta-image{max-width:350px;margin:0 auto 2rem}.cta-image img{width:100%;height:auto;filter:drop-shadow(0 10px 30px rgba(241,90,34,.2))}.cta-title{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--text-primary);margin:0 0 1rem;letter-spacing:-.02em}.cta-subtitle{font-size:1.25rem;color:var(--text-secondary);margin:0 0 2rem;line-height:1.5}.cta-button{font-size:1.125rem;padding:1rem 2.5rem;box-shadow:0 4px 16px rgba(241,90,34,.3)}.cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(241,90,34,.4)}.cta-notice{margin-top:1rem;font-size:.9rem;color:var(--text-tertiary);font-style:italic}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in-up{opacity:0;animation:fadeInUp .8s ease forwards}.animate-fade-in-up.delay-100{animation-delay:.1s}.animate-fade-in-up.delay-150{animation-delay:.15s}.animate-fade-in-up.delay-200{animation-delay:.2s}.animate-slide-in-right{opacity:0;animation:slideInRight .8s ease forwards}.animate-slide-in-left{opacity:0;animation:slideInLeft .8s ease forwards}.section-title.visible,.section-subtitle.visible,.coming-soon.visible{animation:fadeInUp .6s ease forwards}.languages-grid.visible .language-card,.features-list.visible .feature-card,.steps-container.visible .step-card{animation:scaleIn .6s ease forwards}.community-section .section-content.visible,.cta-content.visible{animation:fadeInUp .8s ease forwards}@media (max-width: 1280px){.features-container{grid-template-columns:180px 1fr 180px;gap:2rem}.teababe-side{max-width:160px}}@media (max-width: 1024px){.hero-content{grid-template-columns:1fr;gap:40px;text-align:center}.hero-text{order:2}.hero-image{order:1}.hero-subtitle{max-width:100%;margin-left:auto;margin-right:auto}.hero-cta-group{justify-content:center}.features-container{grid-template-columns:1fr;gap:2rem}.teababe-left,.teababe-right{display:none}.features-list,.steps-container{gap:2rem}.stats-grid{grid-template-columns:1fr}}@media (max-width: 768px){.home-language-selector{top:16px;right:16px}.hero-section{padding:80px 24px 60px;min-height:auto}.section-content{padding:0 24px}.languages-section,.features-section,.steps-section,.community-section,.screenshots-section,.testimonials-section,.final-cta-section{padding:60px 24px}.screenshots-grid,.testimonials-grid{grid-template-columns:1fr;gap:1.5rem}.testimonial-card{padding:1.5rem}.hero-title{font-size:2.25rem}.hero-subtitle{font-size:1.125rem}.language-badges{justify-content:center}.language-badge{font-size:1rem;padding:.5625rem 1.125rem}.hero-cta-group{align-items:center}.cta-primary-group{flex-direction:column;align-items:center;width:100%}.btn-large{width:100%;max-width:280px}.btn-outline{width:100%;max-width:280px;justify-content:center}.teababe-hero{max-width:320px}.hero-logos{max-width:300px}.hero-logo-teabag{width:32%;margin-top:.375rem}.languages-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.language-card{padding:1.5rem .75rem}.language-flag{font-size:2.5rem}.features-list{gap:1.5rem}.steps-container{gap:2rem}.community-image,.cta-image{max-width:280px}.cta-title{font-size:2rem}.cta-subtitle{font-size:1.125rem}}@media (max-width: 480px){.section-title{font-size:1.75rem}.hero-title{font-size:2rem}.teababe-hero{max-width:260px}.hero-logos{max-width:240px}.hero-logo-teabag{width:30%;margin-top:.25rem}.languages-grid{grid-template-columns:repeat(2,1fr)}}.language-selector-v2{position:relative}.lang-btn{display:flex;align-items:center;justify-content:center;padding:6px 14px;background:var(--white);border:1px solid var(--gray-300);border-radius:6px;cursor:pointer;transition:all .15s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-width:60px;height:32px;font-size:13px;font-weight:500;color:var(--gray-700);letter-spacing:.3px}.lang-btn:hover{background:var(--gray-50);border-color:var(--gray-400);color:var(--gray-900)}.lang-btn:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 2px rgba(59,130,246,.15)}.lang-btn.active{background:var(--gray-50);border-color:var(--gray-400)}.lang-btn.navbar{height:30px;padding:5px 12px;font-size:12px;min-width:54px}.lang-btn.homepage{height:36px;padding:8px 16px;font-size:14px;min-width:72px}.lang-btn.mobile{height:32px;padding:6px 12px;font-size:12px;min-width:50px;background:var(--white);border:1px solid var(--gray-300);color:var(--gray-700)}.lang-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--white);border:1px solid var(--gray-200);border-radius:8px;box-shadow:var(--shadow-sm);padding:4px;min-width:180px;z-index:1000;animation:slideDown .12s ease-out}.lang-item{display:flex;align-items:center;gap:12px;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:background .1s ease;font-family:inherit;text-align:left}.lang-item:hover{background:var(--gray-50)}.lang-item.selected{background:var(--blue-50)}.lang-item-code{font-weight:600;font-size:12px;color:var(--gray-700);min-width:24px;letter-spacing:.3px}.lang-item.selected .lang-item-code{color:var(--blue-700)}.lang-item-name{font-size:13px;color:var(--gray-600);flex:1}.lang-item.selected .lang-item-name{color:var(--blue-600)}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.lang-btn{height:30px;padding:5px 12px;font-size:12px;min-width:52px}.lang-menu{min-width:160px}.lang-item{padding:7px 10px}.lang-item-code{font-size:11px}.lang-item-name{font-size:12px}}.close-icon{width:1.25rem;height:1.25rem}.placeholder-icon{width:2rem;height:2rem}.badge-icon,.meta-icon{width:1rem;height:1rem}.rating-star{color:#facc15}.action-icon{width:1.25rem;height:1.25rem}.section-icon{color:var(--primary-color);flex-shrink:0;width:1.25rem;height:1.25rem}.profile-view-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.profile-view-modal{background:var(--background-light);border-radius:20px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);border:1px solid var(--border-color);position:relative}.profile-view-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:var(--primary-500);color:var(--text-on-primary);border-radius:20px 20px 0 0}.header-content h2{margin:0;font-size:1.5rem;font-weight:700;line-height:1.2}.header-subtitle{margin:.25rem 0 0;font-size:.875rem;opacity:.9;font-weight:400}.profile-close-btn{background:rgba(255,255,255,.1);border:none;color:var(--text-on-primary);cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.profile-close-btn:hover{background:rgba(255,255,255,.2);transform:scale(1.1)}.profile-view-content{padding:2rem}.profile-hero{display:flex;gap:1.5rem;margin-bottom:2rem;align-items:flex-start}.profile-picture-container{position:relative;flex-shrink:0}.profile-picture{width:100px;height:100px;border-radius:50%;object-fit:cover;border:4px solid var(--primary-color);box-shadow:0 8px 25px rgba(156,180,113,.3)}.profile-picture-placeholder{width:100px;height:100px;border-radius:50%;background:var(--primary-500);display:flex;align-items:center;justify-content:center;color:#fff;border:4px solid var(--primary-color);box-shadow:0 8px 25px rgba(156,180,113,.3)}.status-badge{position:absolute;bottom:0;right:0;display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;border:2px solid var(--background-light);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:60px;height:auto;transition:all .3s ease}.status-badge.online{background:var(--green-100);color:var(--green-700);border:1px solid var(--green-200)}.status-badge.recent{background:var(--yellow-100);color:var(--yellow-700);border:1px solid var(--yellow-200)}.status-badge.offline{background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-200)}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.status-badge.online .status-dot{animation:pulse 2s infinite}.indicator-text{font-size:.7rem;font-weight:600;color:inherit;white-space:nowrap}.profile-info{flex:1;min-width:0}.name-section{margin-bottom:1rem}.name-section h3{margin:0 0 .5rem;font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1.2}.badges{display:flex;gap:.5rem;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.tutor-badge{background:var(--green-500);color:#fff}.friend-badge{background:var(--orange-600);color:#fff}.profile-meta{display:flex;flex-direction:column;gap:.5rem}.meta-item.rating{color:var(--text-primary);font-weight:500}.meta-item.clickable-rating{cursor:pointer;transition:all .2s ease;border-radius:6px;padding:.375rem;margin:-.375rem}.meta-item.clickable-rating:hover{background:rgba(var(--primary-rgb),.1);color:var(--primary-color);transform:translateY(-1px)}.meta-item.clickable-rating:hover .rating-star{color:var(--primary-color);transform:scale(1.1)}.meta-item.clickable-rating:active{transform:translateY(0)}.review-count{color:var(--text-muted);font-size:.75rem;font-weight:400}.profile-sections{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.profile-section{background:var(--background-soft);border-radius:16px;padding:1.5rem;border:1px solid var(--border-color);transition:all .2s ease}.profile-section:hover{border-color:var(--primary-color);box-shadow:0 4px 12px rgba(156,180,113,.1)}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.profile-section h4{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.language-list{display:flex;flex-wrap:wrap;gap:.75rem}.language-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--background-light);border-radius:12px;border:1px solid var(--border-color);transition:all .2s ease}.language-item:hover{border-color:var(--primary-color);transform:translateY(-1px)}.language-name{font-weight:600;color:var(--text-primary)}.proficiency-badge{background:var(--primary-color);color:#fff;padding:.25rem .5rem;border-radius:8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background:var(--primary-light);color:var(--primary-color);padding:.375rem .875rem;border-radius:20px;font-size:.875rem;font-weight:500;border:1px solid var(--primary-color);transition:all .2s ease}.tag:hover{background:var(--primary-color);color:#fff;transform:translateY(-1px)}.profile-text{margin:0;color:var(--text-secondary);line-height:1.6;font-size:.95rem}.profile-actions{display:flex;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;font-size:.95rem;text-decoration:none}.action-btn.primary{background:var(--primary-500);color:#fff;box-shadow:0 4px 12px rgba(156,180,113,.3)}.action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(156,180,113,.4)}.action-btn.secondary{background:var(--background-soft);color:var(--text-primary);border:2px solid var(--border-color)}.action-btn.secondary:hover{background:var(--background-light);border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}@media (max-width: 768px){.profile-view-modal{max-width:100%;margin:1rem;max-height:calc(100vh - 2rem);border-radius:16px}.profile-view-header{padding:1.25rem 1.5rem;border-radius:16px 16px 0 0}.header-content h2{font-size:1.25rem}.header-subtitle{font-size:.8rem}.profile-view-content{padding:1.5rem}.profile-hero{flex-direction:column;align-items:center;text-align:center;gap:1rem}.profile-picture,.profile-picture-placeholder{width:80px;height:80px}.name-section h3{font-size:1.5rem}.badges{justify-content:center}.profile-meta{align-items:center}.profile-actions{flex-direction:column;gap:.75rem}.action-btn{width:100%;padding:1rem 1.5rem}.language-list,.tag-list{justify-content:center}}@media (max-width: 480px){.profile-view-overlay{padding:.5rem}.profile-view-modal{margin:.5rem;border-radius:12px}.profile-view-header{padding:1rem;border-radius:12px 12px 0 0}.profile-view-content{padding:1rem}.profile-picture,.profile-picture-placeholder{width:70px;height:70px}.name-section h3{font-size:1.25rem}.profile-section{padding:1rem;border-radius:12px}.section-header{gap:.5rem}.profile-section h4{font-size:1rem}.language-item{padding:.375rem .75rem;font-size:.875rem}.tag{padding:.25rem .75rem;font-size:.8rem}}.chat-list-skeleton{padding:10px}.chat-list-item-skeleton{display:flex;align-items:center;padding:15px;background:rgba(255,255,255,.05);border-radius:8px;margin-bottom:8px;animation:skeleton-pulse 1.5s ease-in-out infinite}.chat-list-item-skeleton .skeleton-avatar{width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.1);margin-right:15px;flex-shrink:0}.skeleton-content{flex:1}.skeleton-header{display:flex;justify-content:space-between;margin-bottom:8px}.skeleton-name{height:16px;width:120px;background:rgba(255,255,255,.1);border-radius:4px}.skeleton-time{height:12px;width:50px;background:rgba(255,255,255,.08);border-radius:4px}.skeleton-message{height:14px;width:80%;background:rgba(255,255,255,.08);border-radius:4px}.chat-list{width:280px;min-width:280px;max-width:280px;height:100%;background:var(--background-cream);border-radius:0;padding:1rem;overflow-y:auto;overflow-x:visible;border-right:none;display:flex;flex-direction:column;flex-shrink:0;box-sizing:border-box;position:relative}.chat-list svg{width:20px;height:20px;flex-shrink:0}.chat-list h2{color:var(--text-primary);font-size:1.1rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:none;margin-top:1.5rem}.chat-list h2:first-child{margin-top:0}.chat-list-header{padding:1rem;border-bottom:none;background:var(--primary-500)}.chat-list-header h2{margin:0;color:var(--text-on-primary);font-size:1.25rem}.chat-list-search{padding:1rem;border-bottom:none;background:var(--background-light)}.search-input{width:100%;padding:.75rem;border:none;border-radius:0;background:var(--background);color:var(--text-primary);font-size:.9rem}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--border-focus)}.chat-list-items{flex:1;overflow-y:auto;padding:.5rem;overflow-x:visible}.chat-list-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:12px;cursor:pointer;transition:all .2s ease;margin-bottom:.5rem;background:transparent;border:none;position:relative;overflow:visible;opacity:.6}.chat-list-item.selected{opacity:1}.chat-list-item:hover{background:rgba(255,255,255,.5);box-shadow:none;opacity:1}.chat-list-item.unread{background:transparent;border:none;font-weight:600;box-shadow:none}.chat-list-item.unread .chat-list-item-info h3{font-weight:700;color:var(--text-primary)}.chat-list-item.unread .chat-list-item-info p{font-weight:500;color:var(--text-primary)}.chat-list-item.unread:hover{background:rgba(255,255,255,.5);box-shadow:none}.chat-list-item-avatar-container{position:relative;width:40px;height:40px;flex-shrink:0;overflow:visible}.chat-list-item-avatar,.chat-list-item-avatar-placeholder{width:40px;height:40px;border-radius:50%;background:var(--primary-color);color:var(--text-on-primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex-shrink:0;position:absolute;top:0;left:0;cursor:pointer;transition:all .2s ease}.chat-list-item-avatar:hover{transform:scale(1.1);box-shadow:0 4px 12px rgba(156,180,113,.3);border:none;object-fit:cover;border-radius:50%}.chat-list-avatar-image{width:100%;height:100%;object-fit:cover;border-radius:50%}.chat-list-item-avatar-container .status-dot{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:none;z-index:4;box-shadow:0 2px 8px rgba(0,0,0,.3)}.chat-list-item-avatar-container .status-dot.online{background-color:#10b981;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.chat-list-item-avatar-container .status-dot.recent{background-color:#f59e0b}.chat-list-item-avatar-container .status-dot.offline{background-color:#6b7280}.chat-list-item-info{flex:1;min-width:0}.chat-list-item-info h3{margin:0;font-size:.9rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-list-item-info h3.unread-name{color:var(--text-primary);font-weight:700}.chat-list-item.unread:hover h3.unread-name{color:var(--primary-color)}.chat-list-item-info p{margin:0;font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.last-message.unread-message{color:var(--text-primary);font-weight:500}.last-message-time{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.chat-list-item.unread .last-message-time{color:var(--primary-color);font-weight:500}.chat-list-item.unread:hover .last-message.unread-message,.chat-list-item.unread:hover .last-message-time{color:var(--primary-color)}.chat-list-item-actions{display:flex;gap:.5rem;opacity:0;transition:opacity .2s ease}.chat-list-item:hover .chat-list-item-actions{opacity:1}.chat-list .profile-view-btn{background:var(--background-white);color:var(--text-secondary);border:1px solid var(--border-light);border-radius:4px;padding:.25rem .5rem;font-size:.75rem;cursor:pointer;transition:all .2s ease;text-decoration:none;display:flex;align-items:center;gap:.25rem}.chat-list .profile-view-btn svg{width:16px;height:16px;flex-shrink:0}.chat-list .action-icon,.chat-list .section-icon,.chat-list .meta-icon,.chat-list svg[className*=icon],.profile-view-modal .action-icon,.profile-view-modal .section-icon,.profile-view-modal .meta-icon,.profile-view-modal svg[className*=icon]{width:20px;height:20px;flex-shrink:0}.chat-list .close-icon,.profile-view-modal .close-icon{width:20px;height:20px}.chat-list .badge-icon,.profile-view-modal .badge-icon{width:16px;height:16px}.chat-list .profile-view-btn:hover{background:var(--orange-primary);color:#fff;border-color:var(--orange-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.chat-list .chat-list-item.unread:hover .profile-view-btn{background:var(--orange-primary);color:#fff;border-color:var(--orange-primary)}.chat-list-item-badge{position:absolute;top:-8px;right:-8px;background:var(--primary-color);color:var(--text-on-primary);border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;z-index:5;box-shadow:0 2px 6px rgba(156,180,113,.3)}.chat-list-loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--text-muted);font-style:italic}.chat-list-error{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--red-500);text-align:center;background:rgba(220,38,38,.1);border:1px solid rgba(220,38,38,.3);border-radius:8px;margin:1rem}.chat-list::-webkit-scrollbar{width:6px}.chat-list::-webkit-scrollbar-track{background:var(--background)}.chat-list::-webkit-scrollbar-thumb{background:var(--orange-primary);border-radius:3px}.chat-list::-webkit-scrollbar-thumb:hover{background:var(--orange-primary);opacity:.8}.tutor-badge,.partner-badge,.ai-badge{position:absolute;bottom:-2px;right:-2px;width:16px;height:16px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:600;z-index:3}.tutor-badge{background:var(--green-500);color:var(--text-on-primary)}.partner-badge{background:var(--blue-500);color:var(--text-on-primary)}.ai-badge{background:var(--purple-500);color:var(--text-on-primary)}.welcome-notification-badge{position:absolute;top:-4px;left:-4px;width:20px;height:20px;border-radius:50%;background:var(--primary-500);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;z-index:4;border:none;box-shadow:0 2px 8px rgba(251,191,36,.4);animation:welcomePulse 2s infinite ease-in-out}@keyframes welcomePulse{0%,to{transform:scale(1);box-shadow:0 2px 8px rgba(251,191,36,.4)}50%{transform:scale(1.1);box-shadow:0 4px 12px rgba(251,191,36,.6)}}.chat-list-item.ai-tutor{background:var(--background-white);border:none;opacity:.85}.chat-list-item.ai-tutor .chat-list-item-avatar-container .ai-badge{background:var(--orange-primary);color:#fff;border:none;box-shadow:0 2px 6px rgba(241,90,34,.4);bottom:-4px;right:-4px}.chat-list-item.ai-tutor:hover{background:var(--background-white);box-shadow:var(--shadow-md);opacity:1}.ai-languages,.tutor-languages,.partner-languages{display:flex;gap:.25rem;margin-top:.25rem;flex-wrap:wrap}.partner-languages{margin-top:.25rem}.discovery-languages{display:flex;gap:.25rem;margin-top:.25rem;flex-wrap:wrap}.chat-list-item.available-tutor{background:var(--background-white);border:none;opacity:.85}.chat-list-item.available-tutor:hover{background:var(--background-white);box-shadow:var(--shadow-md);opacity:1}.chat-list-item.available-user{background:var(--background-white);border:none;opacity:.85}.chat-list-item.available-user:hover{background:var(--background-white);box-shadow:var(--shadow-md);opacity:1}.chat-list .start-conversation{background:var(--orange-primary);color:#fff;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.chat-list .start-conversation svg{width:16px;height:16px;flex-shrink:0}.chat-list .chat-list-item.available-tutor:hover .start-conversation,.chat-list .chat-list-item.available-user:hover .start-conversation{background:var(--orange-primary);box-shadow:var(--shadow-md)}@media (max-width: 768px){.chat-list{width:100%;min-width:100%;max-width:100%;border-radius:0;border-right:none;border-bottom:none;height:100%;max-height:none;overflow-y:auto}.chat-list h2{font-size:1rem;margin-top:1rem}.chat-list-header{padding:.75rem}.chat-list-header h2{font-size:1.1rem}.chat-list.open{display:flex}.chat-list-items{padding:.25rem}.partner-languages,.tutor-languages{font-size:.7rem}.tutor-badge,.partner-badge,.ai-badge,.chat-list-item.ai-tutor .chat-list-item-avatar-container .ai-badge{width:14px;height:14px;font-size:.5rem}}.chat-list-items::-webkit-scrollbar{width:4px}.chat-list-items::-webkit-scrollbar-track{background:var(--background)}.chat-list-items::-webkit-scrollbar-thumb{background:var(--orange-primary);border-radius:2px}.chat-list-items::-webkit-scrollbar-thumb:hover{background:var(--orange-primary);opacity:.8}.ai-badge{z-index:15;position:absolute;bottom:-4px;right:-4px;width:18px;height:18px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;background:var(--purple-500, #9333ea);color:#fff;font-size:.5rem;font-weight:700;box-shadow:0 2px 4px rgba(0,0,0,.2)}.friend-badge{display:inline-flex;align-items:center;gap:.25rem;background:var(--orange-primary);color:#fff;font-size:.7rem;padding:.2rem .5rem;border-radius:.75rem;margin-left:.5rem;font-weight:600;box-shadow:0 1px 3px rgba(241,90,34,.3)}.friend-badge-icon{width:14px;height:14px;flex-shrink:0}.friend-badge-icon-small{width:14px;height:14px;color:var(--orange-primary);margin-left:.375rem;flex-shrink:0;vertical-align:middle}.friend-badge-icon-corner{position:absolute;top:8px;right:8px;width:18px;height:18px;color:var(--orange-primary);flex-shrink:0;z-index:5}.chat-list-item.friend-item,.chat-list-item.active-conversation{background:var(--background-white);border:none}.chat-list-item.friend-item:hover,.chat-list-item.active-conversation:hover{background:var(--background-white);box-shadow:var(--shadow-md)}.chat-list-item.friend-request-item{background:var(--orange-light);border:none;animation:none}@keyframes friendRequestGlow{0%,to{box-shadow:0 2px 8px rgba(241,90,34,.3)}50%{box-shadow:0 4px 14px rgba(241,90,34,.5)}}.chat-list-item.friend-request-item:hover{background:var(--orange-light);box-shadow:var(--shadow-md)}.friend-request-message{color:var(--text-secondary);font-size:.9rem;margin:.25rem 0;font-style:italic}.friend-request-actions{display:flex;gap:.5rem;margin-top:.5rem}.accept-btn,.reject-btn{padding:.3rem .8rem;border:none;border-radius:.5rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;flex:1}.accept-btn{background:var(--green-500);color:#fff}.accept-btn:hover{background:var(--green-600);transform:translateY(-1px);box-shadow:0 2px 8px rgba(34,197,94,.3)}.reject-btn{background:var(--red-500);color:#fff}.reject-btn:hover{background:var(--red-600);transform:translateY(-1px);box-shadow:0 2px 8px rgba(239,68,68,.3)}.empty-state{padding:2rem 1rem;text-align:center;color:var(--text-secondary);background:var(--background-cream)}.empty-state p{margin:0;font-size:.9rem;line-height:1.5}.chat-list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;gap:.75rem}.chat-list-loading p{color:var(--text-secondary);font-size:.875rem;margin:0}.loading-spinner{width:24px;height:24px;border:3px solid var(--border-light);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite}.message{display:flex;align-items:flex-start;margin:0;padding:0;animation:none;justify-content:flex-start}.message.sent{justify-content:flex-end}.message-bubble{max-width:75%;margin:0;padding:.5rem .75rem;border-radius:16px;position:relative;white-space:pre-wrap;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;line-height:1.4;font-size:.95rem;box-shadow:var(--shadow-sm);transition:none;overflow:visible;display:inline-block}.message-bubble.own{background:var(--message-sent-bg);color:var(--text-primary);border-bottom-right-radius:4px;box-shadow:var(--shadow-md);border:none}.message-bubble.other{background:var(--message-received-bg);color:var(--text-primary);border-bottom-left-radius:4px;border:none;box-shadow:var(--shadow-sm)}.message-bubble.ai{background:var(--tea-green-600);color:#f0f4e6;border-bottom-left-radius:4px;box-shadow:var(--shadow-md)}.message-bubble.system{background:var(--primary-500);color:#fff;margin:0;text-align:center;border-radius:16px;font-style:italic;font-size:.85rem;max-width:95%;border:1px solid var(--orange-400)}.message-bubble.error{background:var(--red-500);color:#f0f4e6;margin:0;text-align:center;border-radius:16px;font-size:.85rem;max-width:95%}.message-bubble:hover{box-shadow:var(--shadow-sm)}.message-bubble.own:hover{box-shadow:var(--shadow-md);border-color:var(--primary-700)}.message-content{margin:0;white-space:pre-wrap;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;word-spacing:normal;line-height:1.5;position:relative;z-index:1;display:inline}.message-time{font-size:.85rem;color:#4a5568;font-weight:500;margin-top:0;text-align:left;opacity:1;letter-spacing:.02em;flex-shrink:0;white-space:nowrap}.message-bubble.other .message-time{color:var(--text-secondary);text-align:left;opacity:1;font-weight:500}.message-bubble.system .message-time,.message-bubble.error .message-time{color:#e8f0d8;text-align:center;opacity:1;font-weight:500}.message-actions{display:flex;gap:.5rem;margin-top:0;justify-content:flex-end;opacity:1;transition:opacity .2s ease;flex-shrink:0}.message-bubble.other .message-actions{justify-content:flex-start}.message-bubble .action-btn{background:#fff;color:var(--text-primary);border:none;border-radius:8px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.25rem;opacity:1;box-shadow:0 2px 4px rgba(0,0,0,.1);position:relative;z-index:10}.message-bubble .action-btn:hover{background:#fff;box-shadow:0 4px 8px rgba(0,0,0,.15);transform:translateY(-2px)}.action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.message-bubble .action-btn.translate{background:#fff;color:var(--green-accent);border:none;font-weight:600}.message-bubble .action-btn.translate:hover{background:#fff;color:var(--green-700);box-shadow:0 4px 8px rgba(0,0,0,.15);transform:translateY(-2px)}.message-bubble .action-btn.suggestions{background:#fff;color:var(--orange-primary);border:none;font-weight:600}.message-bubble .action-btn.suggestions:hover{background:#fff;color:var(--orange-700);box-shadow:0 4px 8px rgba(0,0,0,.15);transform:translateY(-2px)}.action-btn.voice{background:var(--red-500);color:var(--text-on-primary);border-color:var(--red-500)}.action-btn.voice:hover{background:var(--red-600);border-color:var(--red-600)}.action-btn.loading{position:relative;color:transparent}.action-btn.loading:after{content:"";position:absolute;top:50%;left:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.message-bubble.error .message-content,.message-bubble.error .message-time,.message-bubble.error .action-btn{color:var(--red-500)}.message-bubble.ai .message-actions{justify-content:flex-start}.message-bubble.ai .action-btn{background:rgba(255,255,255,.1);color:var(--text-on-primary);border-color:rgba(255,255,255,.2)}.message-bubble.ai .action-btn:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.3)}@media (max-width: 768px){.message-bubble{max-width:92%;font-size:.9rem;padding:.4rem .6rem}.message-actions{opacity:1;gap:.25rem}.action-btn{padding:.2rem .4rem;font-size:.7rem}.message-bubble.system,.message-bubble.error{max-width:95%;font-size:.8rem}}.action-btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}@media (prefers-contrast: high){.message-bubble,.action-btn{border:2px solid var(--border-dark)}}.message-meta{display:inline-flex;align-items:center;gap:.5rem;margin-top:.125rem;font-size:.75rem;color:var(--text-secondary);float:right;clear:both}.message.sent .message-meta{justify-content:flex-end}.message-status{display:flex;align-items:center;gap:.25rem;opacity:1}.message-status .icon{font-size:.875rem}.message-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary-500);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:500;font-size:.875rem;margin:0 .5rem}.message-user{margin-left:auto;margin-right:0}.message-ai{margin-right:auto;margin-left:0}.message-ai-tutor{max-width:95%;padding:.75rem 1rem;position:relative;color:#fff;line-height:1.4;background:rgba(45,45,55,.95);border:1px solid rgba(255,255,255,.1);margin-right:2rem;border-radius:1rem 1rem 1rem .25rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none}.message-ai-tutor .message-content{font-size:.95rem;white-space:pre-wrap;word-break:break-word;color:#fff}.message-timestamp{font-size:.75rem;color:rgba(255,255,255,.6);margin-top:4px;text-align:left;white-space:nowrap;display:block;width:100%}.message-user .message-timestamp{color:rgba(255,255,255,.8);text-align:right;white-space:nowrap}.typing-indicator{display:flex;align-items:center;gap:4px;padding:8px 0}.typing-indicator span{width:8px;height:8px;background-color:#4a90e2;border-radius:50%;display:inline-block;animation:bounce 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.message.streaming .message-content{position:relative;overflow:visible}.message.streaming .message-content:after{content:"";position:absolute;top:0;right:0;bottom:0;width:2px;background:var(--primary-500);animation:streamingCursor 1s ease-in-out infinite}.message.streaming{animation:streamingPulse 2s ease-in-out infinite}@keyframes streamingPulse{0%,to{opacity:.9}50%{opacity:1}}.message-bubble .message-meta .message-actions .translate-btn,.message-bubble .message-meta .message-actions .suggestions-btn{background:#fff;background-color:#fff;border:none;border-radius:8px;padding:0;margin:0;cursor:pointer;opacity:1;transition:all .2s ease;flex-shrink:0;color:var(--orange-600);box-shadow:0 2px 4px rgba(0,0,0,.1);width:32px;height:32px;min-width:32px;max-width:32px;min-height:32px;max-height:32px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1;font-size:0;gap:0;position:relative;z-index:10;visibility:visible}.message-bubble .message-meta .message-actions .translate-btn{margin-left:.5rem;background:#fff;border:none;color:var(--green-accent, #98b344);box-shadow:0 2px 4px rgba(0,0,0,.1);font-weight:600}.message-bubble .message-meta .message-actions .suggestions-btn{margin-left:.25rem}.message-bubble .message-meta .message-actions .translate-btn .icon,.message-bubble .message-meta .message-actions .suggestions-btn .icon{width:20px;height:20px;flex-shrink:0}.message-bubble .message-meta .message-actions .translate-btn svg,.message-bubble .message-meta .message-actions .suggestions-btn svg{color:inherit}.message-bubble .message-meta .message-actions .translate-btn:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.message-bubble .message-meta .message-actions .suggestions-btn:hover{background:#fff;color:var(--orange-700);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.message-bubble .message-meta .message-actions .translate-btn:active,.message-bubble .message-meta .message-actions .suggestions-btn:active{transform:translateY(0);box-shadow:0 1px 2px rgba(249,115,22,.3)}.message-bubble .message-meta .message-actions .translate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 1px 2px rgba(0,0,0,.1);background:#fff;color:var(--green-accent, #98b344);animation:pulse 1.5s ease-in-out infinite}.message-bubble .message-meta .message-actions .suggestions-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 1px 2px rgba(0,0,0,.1);background:#fff;color:var(--orange-600);animation:pulse 1.5s ease-in-out infinite}.message-bubble .message-meta .message-actions .translate-btn:disabled:hover{transform:none;box-shadow:0 1px 2px rgba(0,0,0,.1);background:#fff;color:var(--green-accent, #98b344)}.message-bubble .message-meta .message-actions .suggestions-btn:disabled:hover{transform:none;box-shadow:0 1px 2px rgba(0,0,0,.1);background:#fff;color:var(--orange-600)}.message-sender{font-size:.75rem;color:rgba(255,255,255,.7);margin-bottom:.25rem;font-weight:500}.voice-note-info{margin-top:.5rem;font-size:.75rem;color:rgba(255,255,255,.7);font-style:italic}.translation-content{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.2)}.translation-header{display:flex;align-items:center;gap:.25rem;margin-bottom:.5rem;font-size:.75rem;color:rgba(255,255,255,.7)}.translation-text{font-size:.875rem;color:rgba(255,255,255,.9)}.message-error{margin-top:.5rem;padding:.5rem;background:rgba(255,77,77,.2);border:1px solid rgba(255,77,77,.3);border-radius:.5rem}.error-content{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#ff4d4d}.retry-btn{background:none;border:none;color:#ff4d4d;text-decoration:underline;cursor:pointer;font-size:.75rem}.retry-btn:hover{color:#f66}.ai-indicator,.streaming-indicator{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.75rem;color:rgba(255,255,255,.7)}.ai-pulse,.streaming-pulse{width:8px;height:8px;background-color:var(--primary-600);border-radius:50%;animation:pulse 2s infinite}.streaming-pulse{background-color:#3b82f6}.loading-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite}.streaming-cursor{display:inline-block;width:2px;height:1em;background-color:currentColor;animation:blink 1s infinite;margin-left:2px}.icon{width:16px;height:16px}.call-summary-indicator{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;background:rgba(156,180,113,.1);border:1px solid rgba(156,180,113,.2);border-radius:.5rem;font-size:.75rem;color:var(--primary-color);font-weight:500;cursor:pointer;transition:all .2s ease}.message-bubble.sent .call-summary-indicator{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.3);color:var(--text-on-primary)}.message-bubble.sent .call-summary-indicator:hover{background:rgba(255,255,255,.3);border-color:rgba(255,255,255,.5)}.message-bubble .message-meta .message-actions .improve-btn{background:#fff;background-color:#fff;border:none;border-radius:8px;padding:0;margin:0;margin-left:.25rem;cursor:pointer;opacity:1;transition:all .2s ease;flex-shrink:0;color:#fbbf24;box-shadow:0 2px 4px rgba(0,0,0,.1);width:32px;height:32px;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center}.message-bubble .message-meta .message-actions .improve-btn:hover{background:#fff;color:#f59e0b;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.message-bubble .message-meta .message-actions .improve-btn:active{transform:translateY(0);box-shadow:0 1px 2px rgba(251,191,36,.3)}.message-bubble .message-meta .message-actions .improve-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 1px 2px rgba(0,0,0,.1);background:#fff;color:#fbbf24;animation:pulse 1.5s ease-in-out infinite}.message-bubble .message-meta .message-actions .improve-btn:disabled:hover{transform:none;box-shadow:0 1px 2px rgba(0,0,0,.1);background:#fff;color:#fbbf24}.message-bubble .message-meta .message-actions .improve-btn .icon{width:20px;height:20px;flex-shrink:0}.message-bubble .message-meta .message-actions .improve-btn svg{color:inherit}.improvement-content{margin-top:.75rem;padding:1rem;background:rgba(255,255,255,.9);border:2px solid #f59e0b;border-radius:.5rem;font-size:.875rem;box-shadow:0 2px 8px rgba(0,0,0,.15)}.improvement-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.8rem;font-weight:700;color:#d97706}.improvement-header .icon{width:1.1rem;height:1.1rem;color:#d97706}.close-improvement-btn{margin-left:auto;background:none;border:none;cursor:pointer;color:#6b7280;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s}.close-improvement-btn:hover{background:rgba(0,0,0,.05);color:#1f2937}.improved-text{margin-bottom:.75rem}.improved-text-label{font-size:.75rem;font-weight:700;color:#b45309;margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.5px}.improved-text-content{padding:.625rem .875rem;background:#fef3c7;border-radius:.375rem;color:#1f2937;line-height:1.5;font-weight:500}.improvement-explanation{margin-bottom:.75rem}.explanation-label{font-size:.75rem;font-weight:700;color:#b45309;margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.5px}.explanation-text{color:#374151;line-height:1.5;font-size:.8125rem}.improvement-suggestions{margin-top:.75rem}.suggestions-label{font-size:.75rem;font-weight:700;color:#b45309;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.suggestions-list{display:flex;flex-direction:column;gap:.375rem}.suggestion-item{color:#1f2937;line-height:1.4;font-size:.8125rem;padding-left:.25rem}.call-transcript-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.call-transcript-popup{background:var(--background-light);border-radius:var(--radius-xl);width:100%;max-width:800px;max-height:90vh;box-shadow:var(--shadow-xl);border:1px solid var(--border-color);overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:center;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-light);position:relative;flex-shrink:0}.modal-close{position:absolute;right:1.5rem;background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--background-hover);color:var(--text-primary)}.call-details-bar{display:flex;align-items:center;justify-content:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-6);font-size:var(--text-sm);color:var(--text-secondary);background:var(--background-secondary);border-bottom:1px solid var(--border-light);flex-shrink:0}.call-type{background:var(--primary-color);color:var(--text-on-primary);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-weight:500}.duration{display:flex;align-items:center;gap:var(--spacing-1)}.entries-count{color:var(--text-muted)}.popup-content{padding:var(--spacing-6);background:var(--background-light);overflow-y:auto;flex:1}.transcript-entries{display:flex;flex-direction:column;gap:var(--spacing-6);height:100%;overflow-y:auto;overflow-x:hidden}.participant-section{background:var(--background);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden}.participant-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4);background:var(--background-secondary);border-bottom:1px solid var(--border-light)}.participant-info{display:flex;align-items:center;gap:var(--spacing-2);color:var(--text-primary);font-weight:600}.participant-name{font-size:var(--text-base)}.entry-count{font-size:var(--text-sm);color:var(--text-secondary);background:var(--background-light);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm)}.participant-entries{padding:var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-3)}.transcript-entry{background:var(--background-light);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-3);transition:all .2s ease}.transcript-entry:hover{border-color:var(--primary-color);box-shadow:var(--shadow-sm)}.entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2);font-size:var(--text-xs);color:var(--text-secondary)}.entry-time{font-weight:500}.confidence{background:var(--primary-color);color:var(--text-on-primary);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-weight:500}.entry-content{color:var(--text-primary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.no-transcript{text-align:center;padding:var(--spacing-8);color:var(--text-secondary)}.no-transcript p{margin:var(--spacing-2) 0}.text-muted{color:var(--text-muted);font-size:var(--text-sm)}.call-summary-indicator{display:flex;align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:rgba(156,180,113,.1);border:1px solid rgba(156,180,113,.2);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--primary-color);font-weight:500;cursor:pointer;transition:all .2s ease}.call-summary-indicator:hover{background:rgba(156,180,113,.2);border-color:rgba(156,180,113,.4);transform:translateY(-1px)}@media (max-width: 768px){.call-transcript-popup-overlay{padding:.5rem}.call-transcript-popup{max-width:100%;max-height:95vh;width:95vw;height:90vh}.modal-header{padding:1rem}.modal-header h3{font-size:var(--text-lg)}.modal-close{right:1rem}.popup-content{padding:var(--spacing-4)}.call-details-bar{flex-direction:column;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3)}.participant-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.entry-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-1)}.popup-content{overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--primary-color) transparent}.popup-content::-webkit-scrollbar{width:4px}.popup-content::-webkit-scrollbar-track{background:var(--background-soft);border-radius:2px}.popup-content::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:2px}.popup-content::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}.modal-close{min-width:44px;min-height:44px}}.icon-md{width:1.5rem;height:1.5rem}.word-hover-container{position:relative;display:inline-block;cursor:pointer;z-index:10000;padding:0;vertical-align:top}.word-hover-container ruby{ruby-position:over;line-height:2.2}.word-hover-container rt{font-size:.65em;color:#64748b;line-height:1.2}.word-hover-container rb{line-height:1}.word-hover-container:hover{text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-underline-offset:2px}.word-hover-container:before{content:"";position:absolute;top:-30px;left:-10px;right:-10px;bottom:-10px;z-index:-1}.word-hover-actions{position:absolute;bottom:100%;left:50%;transform:translate(-50%);display:flex;gap:4px;padding:4px;background:rgba(0,0,0,.9);border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.2);white-space:nowrap;z-index:9999;margin-bottom:2px}.word-hover-actions:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(0,0,0,.9)}.word-action-btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;width:32px;height:32px;flex-shrink:0}.word-action-btn:hover{background-color:rgba(255,255,255,.2)}.word-action-btn:active{background-color:rgba(255,255,255,.3)}.word-hover-actions .word-hover-icon{width:20px;height:20px;flex-shrink:0}.word-hover-actions svg{display:block;width:20px;height:20px;color:inherit}.word-translation{position:absolute;top:100%;left:50%;transform:translate(-50%);background:var(--primary-600);color:var(--text-white);padding:4px 8px;border-radius:4px;font-size:.875rem;margin-top:1px;white-space:nowrap;z-index:9999;box-shadow:0 2px 6px rgba(0,0,0,.15)}@keyframes fadeInScale{0%{opacity:0;transform:translate(-50%) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}.word-translation{animation:fadeInScale .2s ease-out}.word-synonyms{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--olive-600);color:var(--text-white);padding:6px 12px;border-radius:6px;font-size:.875rem;max-width:300px;z-index:9999;box-shadow:0 2px 8px rgba(0,0,0,.2);animation:fadeInScale .2s ease-out;line-height:1.4}.synonym-label{font-weight:600;margin-right:6px;opacity:.95}.synonym-list{font-weight:400;word-wrap:break-word}.synonym-loading,.no-synonyms{font-style:italic;opacity:.9}.word-hover-container:has(.word-translation):has(.word-synonyms) .word-synonyms{top:calc(100% + 34px)}.word-grammatical-info{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--orange-600);color:var(--text-white);padding:6px 12px;border-radius:6px;font-size:.875rem;max-width:320px;z-index:9999;box-shadow:0 2px 8px rgba(0,0,0,.2);animation:fadeInScale .2s ease-out;line-height:1.4;display:flex;flex-direction:column;gap:4px}.grammatical-item{display:block;font-weight:400}.grammatical-label{font-weight:600;margin-right:4px;opacity:.95}.grammatical-loading,.no-grammatical-info{font-style:italic;opacity:.9}.word-hover-container:has(.word-translation):has(.word-synonyms) .word-grammatical-info{top:calc(100% + 60px)}.word-hover-container:has(.word-translation):has(.word-grammatical-info):not(:has(.word-synonyms)) .word-grammatical-info{top:calc(100% + 34px)}.word-hover-container:has(.word-synonyms):has(.word-grammatical-info):not(:has(.word-translation)) .word-grammatical-info{top:calc(100% + 34px)}.word-action-btn .loading-dots{font-size:18px;color:#fff;animation:word-hover-pulse 1.5s ease-in-out infinite}@keyframes word-hover-pulse{0%,to{opacity:1}50%{opacity:.4}}.word-action-btn:disabled{opacity:.7;cursor:not-allowed}.word-action-btn.added-to-deck{background:rgba(16,185,129,.3);border-color:rgba(16,185,129,.5)}.word-action-btn .check-mark{color:#10b981;font-size:18px;font-weight:700}.chinese-pinyin{display:inline-block;vertical-align:top;white-space:normal;word-wrap:break-word}.chinese-pinyin ruby{ruby-position:over;line-height:2.2}.chinese-pinyin rt{font-size:.65em;color:var(--text-secondary, #6b7280);font-weight:400;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1.2}.chinese-pinyin rb{font-weight:400;font-size:1em;line-height:1}.chinese-pinyin ruby+ruby{margin-left:.15em}@media (prefers-color-scheme: dark){.chinese-pinyin rt{color:var(--text-secondary, #9ca3af)}}.icebreaker-bubble{background:linear-gradient(135deg,#fef3c7,#fef9e7);border:2px solid #f59e0b;border-radius:12px;padding:1rem;max-width:520px;box-shadow:0 4px 6px -1px rgba(245,158,11,.1),0 2px 4px -1px rgba(245,158,11,.06)}.icebreaker-bubble.own{background:linear-gradient(135deg,#dbeafe,#eff6ff);border-color:#3b82f6;box-shadow:0 4px 6px -1px rgba(59,130,246,.1),0 2px 4px -1px rgba(59,130,246,.06)}.icebreaker-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.icebreaker-icon{color:#f59e0b}.icebreaker-bubble.own .icebreaker-icon{color:#3b82f6}.icebreaker-label{font-size:.875rem;font-weight:600;color:#92400e;text-transform:uppercase;letter-spacing:.05em}.icebreaker-bubble.own .icebreaker-label{color:#1e40af}.icebreaker-question{font-size:1rem;font-weight:500;color:#78350f;line-height:1.5;margin-bottom:1rem;padding:.5rem;background:rgba(255,255,255,.5);border-radius:6px}.icebreaker-bubble.own .icebreaker-question{color:#1e3a8a;background:rgba(255,255,255,.6)}.icebreaker-divider{height:1px;background:linear-gradient(90deg,transparent,#f59e0b,transparent);margin:1rem 0}.icebreaker-bubble.own .icebreaker-divider{background:linear-gradient(90deg,transparent,#3b82f6,transparent)}.icebreaker-answer-section{margin-bottom:1rem}.icebreaker-answer-label{font-size:.875rem;color:#92400e;margin-bottom:.5rem}.icebreaker-bubble.own .icebreaker-answer-label{color:#1e40af}.icebreaker-answer{font-size:1rem;color:#1f2937;line-height:1.6;padding:.75rem;background:#fff;border-radius:6px;border-left:3px solid #f59e0b}.icebreaker-bubble.own .icebreaker-answer{border-left-color:#3b82f6}.icebreaker-footer{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:#6b7280}.icebreaker-encouragement{font-weight:500;color:#92400e}.icebreaker-bubble.own .icebreaker-encouragement{color:#1e40af}.icebreaker-time{font-size:.75rem;color:#9ca3af}@media (max-width: 768px){.icebreaker-bubble{max-width:100%;padding:.875rem}.icebreaker-question,.icebreaker-answer{font-size:.95rem}.icebreaker-footer{flex-direction:column;align-items:flex-start;gap:.5rem}}.voice-message-bubble{display:flex;flex-direction:column;max-width:70%;margin:.5rem 0;position:relative;transition:all .2s ease;border-radius:18px;padding:.7rem .85rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.voice-message-bubble.own{align-self:flex-end;background:var(--orange-600);color:#fff;box-shadow:0 4px 20px rgba(249,115,22,.3);border-bottom-right-radius:6px}.voice-message-bubble.other{align-self:flex-start;background:var(--background-secondary);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:0 2px 12px rgba(0,0,0,.1);border-bottom-left-radius:6px}.voice-message-bubble.own:hover{transform:translateY(-2px);box-shadow:0 6px 25px rgba(249,115,22,.4)}.voice-message-bubble:hover{transform:translateY(-2px)}.voice-message-bubble.other:hover{box-shadow:0 4px 16px rgba(0,0,0,.15)}.voice-message-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;font-size:.75rem}.sender-name{font-weight:600;opacity:.9}.voice-icon{width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:currentColor}.voice-message-bubble.other .voice-icon{background:rgba(0,0,0,.1)}.voice-message-content{display:flex;flex-direction:column;gap:.75rem}.voice-controls{display:flex;align-items:center;gap:1rem;padding:.5rem;background:rgba(255,255,255,.1);border-radius:12px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.voice-message-bubble.other .voice-controls{background:rgba(0,0,0,.05)}.play-btn{width:32px;height:32px;border-radius:50%;border:none;background:#fff;color:var(--orange-600);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.2);flex-shrink:0}.voice-message-bubble.other .play-btn{background:var(--tea-green-500);box-shadow:0 2px 8px rgba(52,199,89,.3)}.voice-message-bubble.own .play-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(255,255,255,.4);background:rgba(255,255,255,.95)}.play-btn:hover{transform:scale(1.05)}.voice-message-bubble.other .play-btn:hover{box-shadow:0 4px 12px rgba(52,199,89,.4)}.play-btn:active{transform:scale(.95)}.play-btn.playing{background:var(--red-500);animation:pulse 1.5s infinite}.voice-message-bubble.other .play-btn.playing{background:var(--red-500)}@keyframes pulse{0%{box-shadow:0 0 rgba(220,38,38,.7)}70%{box-shadow:0 0 0 12px rgba(220,38,38,0)}to{box-shadow:0 0 rgba(220,38,38,0)}}.voice-info{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:0}.duration{font-size:.875rem;font-weight:600;color:currentColor;opacity:.9}.waveform-container{position:relative;height:24px;background:rgba(255,255,255,.1);border-radius:8px;overflow:hidden;display:flex;align-items:center;padding:0 .5rem}.voice-message-bubble.other .waveform-container{background:rgba(0,0,0,.05)}.waveform-canvas{width:100%;height:100%;border-radius:4px}.download-btn{width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,.2);color:currentColor;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.voice-message-bubble.other .download-btn{background:rgba(0,0,0,.1)}.download-btn:hover{transform:scale(1.05);background:rgba(255,255,255,.3)}.voice-message-bubble.other .download-btn:hover{background:rgba(0,0,0,.15)}.voice-transcription-section{margin-top:.5rem}.transcription-toggle{background:none;border:none;color:currentColor;font-size:.75rem;text-decoration:underline;cursor:pointer;opacity:.8;transition:opacity .2s ease}.transcription-toggle:hover{opacity:1}.transcription-text{margin-top:.5rem;padding:.75rem;background:rgba(255,255,255,.1);border-radius:8px;font-size:.875rem;line-height:1.4;font-style:italic}.voice-message-bubble.other .transcription-text{background:rgba(0,0,0,.05)}.voice-action-buttons{display:flex;gap:.5rem;margin-top:.5rem}.voice-action-translate-btn{background:#fff;border:2px solid var(--green-accent);border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--green-accent);flex-shrink:0;box-shadow:0 2px 4px rgba(0,0,0,.15)}.voice-action-suggest-btn{background:#fff;border:2px solid var(--orange-primary);border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--orange-primary);flex-shrink:0;box-shadow:0 2px 4px rgba(0,0,0,.15)}.voice-action-translate-btn svg,.voice-action-suggest-btn svg{width:14px;height:14px;flex-shrink:0}.voice-action-translate-btn:hover{background:var(--green-accent);color:#fff;transform:scale(1.05);box-shadow:0 4px 8px rgba(152,179,68,.3)}.voice-action-suggest-btn:hover{background:var(--orange-primary);color:#fff;transform:scale(1.05);box-shadow:0 4px 8px rgba(249,115,22,.4)}.voice-action-translate-btn:disabled{background:rgba(156,180,113,.3);cursor:not-allowed;transform:none;box-shadow:none}.voice-action-suggest-btn:disabled{background:rgba(249,115,22,.3);cursor:not-allowed;transform:none;box-shadow:none}.voice-message-footer{display:flex;justify-content:flex-end;margin-top:.5rem}.timestamp{font-size:.7rem;opacity:.7;font-weight:500}.voice-error{color:var(--red-500);font-size:.75rem;margin-top:.5rem;padding:.5rem;background:rgba(220,38,38,.1);border-radius:6px;border:1px solid rgba(220,38,38,.2)}.voice-message-bubble.other .voice-error{background:rgba(220,38,38,.05);border-color:rgba(220,38,38,.1)}@media (max-width: 768px){.voice-message-bubble{max-width:70%;padding:.7rem .85rem}.voice-controls{gap:1rem}.play-btn,.download-btn{width:40px;height:40px}.waveform-container{height:28px}.duration{font-size:.875rem}}@media (max-width: 480px){.voice-message-bubble{max-width:95%;padding:.6rem}.voice-controls{gap:.5rem;padding:.3rem}.play-btn,.download-btn{width:40px;height:40px}.waveform-container{height:32px}.duration{font-size:.75rem}}.download-btn svg{width:24px;height:24px}.play-btn:focus,.download-btn:focus,.transcription-toggle:focus,.voice-action-translate-btn:focus,.voice-action-suggest-btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}.voice-message-bubble.other .play-btn:focus,.voice-message-bubble.other .download-btn:focus,.voice-message-bubble.other .transcription-toggle:focus,.voice-message-bubble.other .voice-action-translate-btn:focus,.voice-message-bubble.other .voice-action-suggest-btn:focus{outline-color:var(--tea-green-500)}@media (prefers-contrast: high){.voice-message-bubble{border:2px solid var(--border-dark)}.waveform-container{border:1px solid var(--border-color)}}.animate-spin{animation:spin 1s linear infinite}.message-translation{background:var(--primary-500);border:1px solid rgba(156,180,113,.3);border-radius:12px;padding:16px;margin:8px 0;width:100%;max-width:100%;box-sizing:border-box;animation:slideInUp .3s ease-out;box-shadow:0 2px 8px rgba(76,84,13,.1);display:block;opacity:1}.translation-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(156,180,113,.2)}.translation-icon{background:var(--primary-500);color:#fff;width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px rgba(76,84,13,.2)}.translation-title{font-size:14px;font-weight:600;color:var(--text-primary, #5c6840);color:#5c6840;text-transform:uppercase;letter-spacing:.5px}.language-info{margin-left:auto;font-size:12px;color:var(--text-secondary, #666);color:#666;background:rgba(156,180,113,.2);padding:4px 8px;border-radius:6px;font-weight:500}.translation-text{font-size:15px;line-height:1.5;color:var(--text-primary, #333);word-wrap:break-word;white-space:pre-wrap;font-weight:400;padding:8px 0;min-height:24px}.message-translation:hover{border-color:rgba(156,180,113,.5);box-shadow:0 4px 12px rgba(76,84,13,.15);transform:translateY(-1px);transition:all .2s ease}@media (max-width: 768px){.message-translation{padding:14px;margin:6px 0}.translation-header{gap:8px;margin-bottom:10px}.translation-icon{width:20px;height:20px;font-size:10px}.translation-title{font-size:13px}.language-info{font-size:11px;padding:3px 6px}.translation-text{font-size:14px}}.message-suggestions{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px;margin:8px 0;width:100%;max-width:100%;box-sizing:border-box;animation:slideInUp .3s ease-out;box-shadow:0 2px 8px rgba(0,0,0,.08);display:block;opacity:1;position:relative;z-index:var(--z-call-suggestions, 50200)}.suggestions-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(156,180,113,.2)}.suggestions-title{font-size:14px;font-weight:600;color:var(--text-primary, #333);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:8px}.suggestions-title svg{color:var(--primary-600, #9cb471);width:16px;height:16px;flex-shrink:0}.suggestions-close{margin-left:auto;background:rgba(156,180,113,.2);border:none;border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--text-secondary, #666)}.suggestions-close svg{width:16px;height:16px;flex-shrink:0}.suggestions-close:hover{background:rgba(156,180,113,.3);color:var(--text-primary, #333);transform:scale(1.05)}.suggestions-refresh{background:rgba(156,180,113,.2);border:none;border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--text-secondary, #666)}.suggestions-refresh svg{width:16px;height:16px;flex-shrink:0}.suggestions-refresh:hover{background:rgba(156,180,113,.3);color:var(--text-primary, #333);transform:scale(1.05)}.suggestions-refresh:hover svg{transform:rotate(180deg);transition:transform .3s ease}.suggestions-list{display:flex;flex-direction:column;gap:12px}.suggestion-item-container{position:relative}.suggestion-item{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px;transition:all .2s ease;position:relative;min-height:44px}.suggestion-item:hover{border-color:rgba(0,0,0,.2);box-shadow:0 2px 6px rgba(0,0,0,.1);transform:translateY(-1px)}.suggestion-button{position:static;flex:1 1 0;min-width:0;background:none;border:none;text-align:left;font-size:14px;line-height:1.4;color:var(--text-primary, #333);cursor:pointer;padding:4px 0;margin:0;word-wrap:break-word;white-space:pre-wrap;font-family:inherit;transition:color .2s ease;min-height:20px}.suggestion-button .chinese-pinyin{display:inline-block;vertical-align:top}.suggestion-button .chinese-pinyin ruby{ruby-position:over;line-height:2.2}.suggestion-button .chinese-pinyin rt{font-size:.65em;color:#64748b;font-weight:400;line-height:1.2}.suggestion-button .chinese-pinyin rb{font-weight:400;font-size:1em;line-height:1}.suggestion-button:hover{color:var(--text-primary, #333);opacity:.8}div.message-suggestions div.suggestion-item button.translate-suggestion-button{position:static;background:#fff;border:none;border-radius:6px;width:36px;height:36px;min-width:36px;max-width:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--green-accent, #98b344);flex:0 0 36px;box-shadow:0 2px 4px rgba(0,0,0,.1);margin:0;padding:0;box-sizing:border-box}div.message-suggestions div.suggestion-item button.translate-suggestion-button svg{width:20px;height:20px;flex-shrink:0;color:inherit}div.message-suggestions div.suggestion-item button.translate-suggestion-button:hover{background:#fff;color:var(--green-700);transform:scale(1.05);box-shadow:0 4px 8px rgba(0,0,0,.15)}div.message-suggestions div.suggestion-item button.translate-suggestion-button:disabled{background:rgba(152,179,68,.3);border-color:rgba(152,179,68,.3);cursor:not-allowed;transform:none;box-shadow:none}div.message-suggestions div.suggestion-item button.translate-suggestion-button:disabled svg{animation:spin 1s linear infinite}div.message-suggestions div.suggestion-item button.add-to-deck-button{position:static;background:#fff;border:none;border-radius:6px;width:36px;height:36px;min-width:36px;max-width:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--orange-primary);flex:0 0 36px;box-shadow:0 2px 4px rgba(0,0,0,.1);margin:0;padding:0;box-sizing:border-box}div.message-suggestions div.suggestion-item button.add-to-deck-button svg{width:20px;height:20px;flex-shrink:0;stroke-width:2.5;color:inherit}div.message-suggestions div.suggestion-item button.add-to-deck-button:hover{background:#fff;color:var(--orange-700);transform:scale(1.05);box-shadow:0 4px 8px rgba(0,0,0,.15)}div.message-suggestions div.suggestion-item button.add-to-deck-button:disabled{background:rgba(152,179,68,.3);border-color:rgba(152,179,68,.3);cursor:not-allowed;transform:none;box-shadow:none}div.message-suggestions div.suggestion-item button.add-to-deck-button:disabled svg{animation:spin 1s linear infinite}div.message-suggestions div.suggestion-item button.add-to-deck-button.added{background:rgba(16,185,129,.5);border:1px solid rgba(16,185,129,.7)}div.message-suggestions div.suggestion-item button.add-to-deck-button.added span{color:#10b981}.suggestion-translation{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:10px;margin-top:8px;display:flex;align-items:flex-start;gap:8px;position:relative;min-height:32px}.translation-label{font-size:12px;font-weight:600;color:var(--primary-700, #88a458);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;margin-top:2px}.translation-text{flex:1;font-size:13px;line-height:1.4;color:var(--text-primary, #333);word-wrap:break-word;white-space:pre-wrap;padding:0;min-height:18px}.hide-translation-button{background:rgba(156,180,113,.2);border:none;border-radius:4px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--text-secondary, #666);flex-shrink:0;margin-top:2px}.hide-translation-button svg{width:12px;height:12px;flex-shrink:0}.hide-translation-button:hover{background:rgba(156,180,113,.3);color:var(--text-primary, #333);transform:scale(1.1)}.message-suggestions:hover{border-color:rgba(0,0,0,.3);box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-1px);transition:all .2s ease}@media (max-width: 768px){.message-suggestions{padding:14px;margin:6px 0}.suggestions-header{gap:8px;margin-bottom:10px}.suggestions-title{font-size:13px}.suggestions-title svg{width:14px;height:14px}.suggestions-close{width:24px;height:24px}.suggestions-list{gap:10px}.suggestion-item{padding:10px;min-height:40px}.suggestion-button{font-size:13px}.translate-suggestion-button{width:24px;height:24px}.translate-suggestion-button svg{width:10px;height:10px}.suggestion-translation{padding:8px;margin-top:6px;min-height:28px}.translation-label{font-size:11px}.translation-text{font-size:12px}.hide-translation-button{width:18px;height:18px}.hide-translation-button svg{width:10px;height:10px}}.suggestion-button:focus,.translate-suggestion-button:focus,.suggestions-close:focus,.hide-translation-button:focus{outline:2px solid var(--primary-500, #9cb471);outline-offset:2px}@media (prefers-contrast: high){.message-suggestions{border:2px solid var(--primary-700, #88a458)}.suggestion-item,.suggestion-translation{border:2px solid var(--primary-600, #9cb471)}}.suggestion-loading{display:flex;align-items:center;gap:8px;padding:8px 0;color:var(--text-secondary, #666);font-size:13px;font-style:italic}.suggestion-loading svg{animation:spin 1s linear infinite;color:var(--primary-500, #9cb471);flex-shrink:0}@keyframes hintAppear{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.suggestion-item-container:not(.suggestion-loading){animation:hintAppear .3s ease-out}.call-summary-bubble{max-width:80%;margin:.5rem 0;padding:.75rem 1rem;border-radius:16px;background:var(--background-secondary);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:0 2px 8px rgba(0,0,0,.05);font-size:.875rem;line-height:1.4;display:flex;align-items:center;gap:.5rem}.call-summary-bubble.own{align-self:flex-end;background:var(--primary-500);color:var(--text-on-primary)}.summary-content{display:flex;flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);width:100%}.summary-content .icon{width:16px;height:16px;flex-shrink:0}.summary-details{display:flex;flex-direction:column;gap:var(--spacing-1);flex:1;min-width:0}.summary-text{font-size:.875rem;font-weight:500;color:inherit}.call-timestamp{display:flex;align-items:center;gap:var(--spacing-1);font-size:.75rem;color:var(--text-secondary);opacity:.8}.timestamp-icon{width:12px;height:12px}.call-actions{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.call-summary-bubble .view-transcript{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--blue-600);font-weight:600;cursor:pointer;padding:.375rem .75rem;border-radius:4px;background:#fff;border:none;transition:all .2s ease;box-shadow:0 2px 4px rgba(0,0,0,.1);min-width:110px;height:32px;justify-content:center}.call-summary-bubble .view-transcript:hover{background:#fff;color:var(--blue-700);transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.call-summary-bubble .view-transcript .eye-icon{width:12px;height:12px}.call-summary-bubble .analytics-button{display:flex;align-items:center;gap:.25rem;background:#fff;color:var(--green-600);border:none;border-radius:4px;padding:.375rem .75rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;flex-shrink:0;box-shadow:0 2px 4px rgba(0,0,0,.1);min-width:110px;height:32px;justify-content:center}.call-summary-bubble .analytics-button:hover{background:#fff;color:var(--green-700);transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.analytics-icon{width:12px;height:12px}.analytics-text{font-size:.75rem}@media (max-width: 768px){.summary-content{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.call-actions{width:100%;justify-content:space-between;margin-left:0}.view-transcript{flex:1;justify-content:center}.analytics-button{flex-shrink:0}}.message-date-separator{display:flex;align-items:center;justify-content:center;margin:1rem 0;position:relative;width:100%}.message-date-separator:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(156,184,71,.2)}.date-line{display:flex;align-items:center;background:var(--cream-50);border-radius:16px;padding:.5rem 1rem;position:relative;z-index:1;border:1px solid rgba(156,184,71,.15);box-shadow:0 1px 3px rgba(0,0,0,.05)}.date-text{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}@media (max-width: 768px){.message-date-separator{margin:.375rem 0}.date-line{padding:.375rem .75rem}.date-text{font-size:.7rem}.date-line:before{left:-30px;right:-30px}}.custom-tooltip{background:rgba(0,0,0,.9);color:#fff;padding:.5rem .75rem;border-radius:4px;font-size:.875rem;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.2);animation:tooltipFadeIn .2s ease}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.info-popup-content{position:relative;background:var(--background, #ffffff);border-radius:16px;padding:1.5rem;max-width:360px;width:auto;min-width:280px;box-shadow:0 12px 32px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.05);display:flex;flex-direction:column;align-items:center;gap:1rem}.info-popup-positioned:before{content:"";position:absolute;width:0;height:0;border-style:solid;left:50%;transform:translate(-50%)}.info-popup-positioned.arrow-top:before{top:-10px;border-width:0 10px 10px 10px;border-color:transparent transparent var(--background, #ffffff) transparent;filter:drop-shadow(0 -2px 2px rgba(0,0,0,.1))}.info-popup-positioned.arrow-bottom:before{bottom:-10px;border-width:10px 10px 0 10px;border-color:var(--background, #ffffff) transparent transparent transparent;filter:drop-shadow(0 2px 2px rgba(0,0,0,.1))}.info-popup-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-secondary, #666);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s ease;border-radius:4px}.info-popup-close:hover{color:var(--text-primary, #333);background:var(--surface-secondary, #f5f5f5)}.info-popup-icon{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#6d28d9);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.info-popup-body{text-align:center;display:flex;flex-direction:column;gap:.5rem}.info-popup-title{font-size:1.125rem;font-weight:600;color:var(--text-primary, #1f2937);margin:0}.info-popup-message{font-size:.9375rem;color:var(--text-secondary, #6b7280);line-height:1.5;margin:0}.info-popup-button{background:linear-gradient(135deg,#9cb847,#7d9538);color:#fff;border:none;border-radius:8px;padding:.75rem 2rem;font-size:1rem;font-weight:500;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 2px 8px rgba(156,184,71,.3)}.info-popup-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(156,184,71,.4)}.info-popup-button:active{transform:translateY(0)}@media (max-width: 640px){.info-popup-content{padding:1.25rem;max-width:calc(100vw - 2rem);min-width:260px}.info-popup-icon{width:40px;height:40px}.info-popup-title{font-size:1rem}.info-popup-message{font-size:.875rem}.info-popup-button{padding:.625rem 1.5rem;font-size:.9375rem}}.chat-main-area{display:flex;flex-direction:column;height:100%;width:100%;background:var(--background);flex:1;min-width:0;overflow:visible;position:relative}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#f1f8ee;border-bottom:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chat-user-info{display:flex;align-items:center;gap:1rem}.chat-header .user-avatar{position:relative;width:48px;height:48px}.chat-header .user-avatar img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--primary-color);box-sizing:border-box}.chat-header .avatar-placeholder{width:48px;height:48px;border-radius:50%;background:var(--primary-color);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;font-weight:600;border:2px solid var(--primary-color);box-sizing:border-box}.user-details h3{margin:0;font-size:1.2rem;font-weight:600;color:var(--text-primary)}.connection-status{font-size:.9rem;color:var(--text-secondary)}.last-seen-status{font-size:.85rem;color:var(--text-secondary);font-weight:400}.chat-actions{display:flex;align-items:center;gap:.5rem}.chat-main-area .chat-header .chat-actions .call-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:40px;border:none;border-radius:50%;background:#fff;color:var(--text-primary);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px rgba(0,0,0,.1);flex-shrink:0}.chat-main-area .chat-header .chat-actions .call-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.chat-main-area .chat-header .call-btn svg{width:20px;height:20px;display:block;flex-shrink:0}.chat-header .chat-actions .call-btn.audio-call{background:#fff;color:var(--green-accent);border:none}.chat-header .chat-actions .call-btn.audio-call:hover:not(:disabled){background:#fff;color:var(--green-600)}.chat-header .chat-actions .call-btn.video-call{background:#fff;color:var(--blue-500);border:none}.chat-header .chat-actions .call-btn.video-call:hover:not(:disabled){background:#fff;color:var(--blue-600)}.chat-header .chat-actions .call-btn.report{background:#fff;color:#d32f2f;border:none}.chat-header .chat-actions .call-btn.report:hover:not(:disabled){background:#fff;color:#c62828}.chat-header .chat-actions .call-btn.ai-voice-call{background:#fff;color:var(--purple-500);border:none}.chat-header .chat-actions .call-btn.ai-voice-call:hover:not(:disabled){background:#fff;color:var(--purple-600)}.chat-header .chat-actions .call-btn.friend-request{background:#fff;color:var(--orange-primary);border:none}.chat-header .chat-actions .call-btn.friend-request:hover:not(:disabled){background:#fff;color:var(--orange-600)}.chat-header .chat-actions .call-btn.block-btn{background:#fff;color:#d32f2f;border:none;position:relative}.chat-header .chat-actions .call-btn.block-btn:hover:not(:disabled){background:#fff;color:#c62828}.chat-header .chat-actions .call-btn.block-btn.is-blocked{background:#fff;color:var(--green-600);border:none}.chat-header .chat-actions .call-btn.block-btn.is-blocked:hover:not(:disabled){background:#fff;color:var(--green-700)}.block-icon{width:20px;height:20px;display:block;margin:0 auto}.chat-header .chat-actions .call-btn.profile-btn{background:#fff;color:var(--text-secondary);border:none}.chat-header .chat-actions .call-btn.profile-btn:hover:not(:disabled){background:#fff;color:var(--orange-primary)}.call-btn:disabled{opacity:.6;cursor:not-allowed}.call-btn:disabled:hover{transform:none}.call-btn.audio-call:disabled,.call-btn.video-call:disabled{background:var(--background-white);color:var(--text-muted);opacity:.8;position:relative}.call-btn.audio-call:disabled:hover,.call-btn.video-call:disabled:hover{background:var(--background-white);color:var(--text-muted);opacity:1;transform:none}.call-btn[title]{position:relative}.call-btn[title]:hover:after,.call-btn:disabled[title]:hover:after{content:attr(title);position:absolute;top:100%;left:50%;transform:translate(-50%) translateY(8px);background:var(--background-dark);color:var(--text-on-primary);padding:.5rem .75rem;border-radius:6px;font-size:.875rem;white-space:nowrap;z-index:var(--z-tooltip);box-shadow:var(--shadow-md);pointer-events:none;opacity:1;animation:fadeIn .2s ease}.call-btn[title]:hover:before,.call-btn:disabled[title]:hover:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%) translateY(3px);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid var(--background-dark);z-index:var(--z-tooltip);pointer-events:none;opacity:1;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(-15px)}to{opacity:1;transform:translate(-50%) translateY(-8px)}}.chat-main-area .chat-header .feedback-btn,.chat-main-area .chat-header .settings-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:40px;border:none;border-radius:50%;background:var(--white);border:2px solid var(--olive-500);color:var(--olive-700);cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);flex-shrink:0}.chat-main-area .chat-header .feedback-btn svg,.chat-main-area .chat-header .settings-btn svg{width:20px;height:20px;display:block;flex-shrink:0}.chat-main-area .chat-header .feedback-btn:hover,.chat-main-area .chat-header .settings-btn:hover{background:var(--background-white);border-color:var(--orange-primary);color:var(--orange-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.error-message{background:var(--red-500);color:#fff;padding:1rem;margin:1rem;border-radius:8px;text-align:center;font-weight:500}.messages-container{flex:1;overflow-y:auto;overflow-x:visible;padding:1rem;display:flex;flex-direction:column;gap:.5rem;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;position:relative;height:100%;min-height:0;z-index:100;background:var(--background-white)}.message-form{padding:1rem 1.5rem;background:var(--green-input);border-top:none;box-shadow:none;position:relative;z-index:100}.input-container{display:flex;align-items:flex-end;gap:1rem;background:var(--background-white);border:none;border-radius:12px;padding:.5rem;transition:border-color .2s ease;min-height:52px;box-shadow:none}.input-container:focus-within{border-color:var(--primary-color)}.message-input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:1rem;outline:none;padding:.5rem;line-height:1.4;font-family:inherit;min-height:40px;max-height:120px;resize:none;overflow-y:auto;transition:height .1s ease}.message-input::placeholder{color:var(--text-muted)}.input-actions{display:flex;align-items:center;gap:.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 500)}body.video-call-active .loading-overlay,body:has(.video-call-overlay) .loading-overlay,body:has(.video-call-interface) .loading-overlay{z-index:var(--z-below-video);padding:1rem}.modal-content{background:var(--background-light);border-radius:16px;border:1px solid var(--border-light);max-width:500px;width:100%;max-height:90vh;max-height:90dvh;overflow-y:auto;box-shadow:var(--shadow-xl)}.modal-header{display:flex;justify-content:center;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-light);position:relative}.modal-header h3{margin:0;font-size:1.3rem;font-weight:600;color:var(--text-primary);text-align:center}.modal-close{position:absolute;right:1.5rem;background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease}.modal-close:hover{background:var(--green-input);color:var(--text-primary)}.modal-body{padding:1.5rem}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid var(--border-light)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary);font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid var(--border-light);border-radius:8px;background:var(--background-white);color:var(--text-primary);font-size:1rem;transition:border-color .2s ease;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.form-group textarea{resize:vertical;min-height:100px}@media (max-width: 1024px) and (min-width: 769px){.input-actions{gap:.5rem;flex-shrink:0}.input-actions button{width:44px;height:44px;min-width:44px;min-height:44px}.input-container{gap:.75rem}.chat-actions{gap:.4rem}.call-btn,.feedback-btn,.settings-btn{width:38px;height:38px;min-width:38px;min-height:38px}}@media (max-width: 768px){.chat-main-area{height:100%;max-height:100%;overflow:visible;display:flex;flex-direction:column;min-height:0}.messages-container{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;height:auto}.chat-header{padding:1rem;flex-shrink:0;flex-wrap:wrap;gap:.5rem}.chat-actions{gap:.5rem;flex-wrap:wrap;max-width:200px;justify-content:flex-end}.call-btn,.feedback-btn,.settings-btn{width:36px;height:36px}.message-form{padding:1rem;flex-shrink:0}.input-actions{gap:.5rem;flex-shrink:0}.input-actions button{width:40px;height:40px;min-width:40px;min-height:40px}.modal-content{margin:1rem;max-width:none}.modal-footer{flex-direction:column}}.ai-thinking{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:rgba(156,180,113,.1);border:1px solid rgba(156,180,113,.2);border-radius:15px;margin:.5rem 1rem;max-width:70%;align-self:flex-start;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.thinking-dot{width:8px;height:8px;border-radius:50%;background:var(--olive-700);animation:thinkingPulse 1.4s ease-in-out infinite both}@media (max-width: 480px){.chat-header{padding:.75rem;flex-wrap:wrap;gap:.5rem}.chat-actions{flex-wrap:wrap;max-width:150px;gap:.4rem;justify-content:flex-end}.chat-header .user-avatar img,.chat-header .avatar-placeholder{width:40px;height:40px}.user-details h3{font-size:1.1rem}.call-btn,.feedback-btn,.settings-btn{width:32px;height:32px}.message-form{padding:.75rem}.ai-thinking{max-width:85%;padding:.75rem 1rem}.thinking-text{font-size:.8rem}.thinking-dot{width:6px;height:6px}}.recording-consent-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:80000}.recording-consent-modal{background:#fff;border-radius:.5rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);max-width:32rem;width:100%;max-height:90vh;overflow-y:auto;position:relative;z-index:1}.recording-consent-content{padding:1.5rem}.recording-consent-header{display:flex;align-items:center;margin-bottom:1rem}.recording-consent-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background-color:#dbeafe;border-radius:50%;margin-right:1rem}.recording-consent-icon svg{width:1.5rem;height:1.5rem;color:#2563eb}.recording-consent-title{font-size:1.5rem;font-weight:700;color:#111827}.recording-consent-description{color:#374151;margin-bottom:1rem}.recording-consent-info-box{background-color:#eff6ff;border:1px solid rgb(191,219,254);border-radius:.5rem;padding:1rem;margin-bottom:1rem}.recording-consent-info-header{display:flex;align-items:flex-start}.recording-consent-info-icon{width:1.25rem;height:1.25rem;color:#2563eb;margin-top:.125rem;margin-right:.5rem;flex-shrink:0}.recording-consent-info-content{font-size:.875rem;color:#1e3a8a}.recording-consent-info-title{font-weight:600;margin-bottom:.25rem}.recording-consent-info-list{list-style-type:disc;list-style-position:inside;margin-left:.5rem}.recording-consent-info-list li{margin-bottom:.25rem}.recording-consent-details-toggle{color:#2563eb;font-size:.875rem;font-weight:500;background:none;border:none;cursor:pointer;margin-bottom:1rem;transition:color .2s}.recording-consent-details-toggle:hover{color:#1d4ed8}.recording-consent-details{background-color:#f9fafb;border-radius:.5rem;padding:1rem;margin-bottom:1rem;font-size:.875rem;color:#374151}.recording-consent-details h4{font-weight:600;color:#111827;margin-bottom:.25rem}.recording-consent-details ul{list-style-type:disc;list-style-position:inside;margin-left:1rem;margin-bottom:.75rem}.recording-consent-details li{margin-bottom:.25rem}.recording-consent-checkboxes{margin-bottom:1.5rem}.recording-consent-checkbox-item{display:flex;align-items:flex-start;cursor:pointer;margin-bottom:.75rem}.recording-consent-checkbox{margin-top:.25rem;margin-right:.75rem}.recording-consent-checkbox-label{color:#374151}.recording-consent-buttons{display:flex;justify-content:flex-end;gap:.75rem}.recording-consent-btn{padding:.5rem 1rem;border-radius:.5rem;font-weight:500;transition:all .2s;display:flex;align-items:center;border:none;cursor:pointer}.recording-consent-btn svg{width:1rem;height:1rem;margin-right:.5rem}.recording-consent-btn-decline{color:#374151;background-color:#f3f4f6}.recording-consent-btn-decline:hover{background-color:#e5e7eb}.recording-consent-btn-accept{color:#fff;background-color:var(--olive-600)}.recording-consent-btn-accept:hover{background-color:var(--olive-700)}.recording-consent-btn-disabled{color:#9ca3af;background-color:#e5e7eb;cursor:not-allowed}.recording-consent-footer{font-size:.75rem;color:#6b7280;margin-top:1rem;text-align:center}.recording-consent-footer a{color:#2563eb;text-decoration:none}.recording-consent-footer a:hover{text-decoration:underline}.voice-recorder-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:var(--z-voice-recorder, 99998);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.voice-recorder-modal{background:#fff;border-radius:16px;padding:0;max-width:450px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,.3);border:none;overflow:hidden;position:relative;color:#1f2937}.voice-recorder-header{text-align:center;padding:1.5rem 2rem;position:relative;border-bottom:none}.voice-recorder-header h3{font-size:2.25rem;font-weight:800;color:var(--text-primary);margin:0 0 .5rem;line-height:1.2;letter-spacing:-.02em;padding-bottom:1rem;position:relative}.voice-recorder-header h3:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100px;height:4px;background:var(--orange-600);border-radius:2px}.voice-close-btn{position:absolute;top:16px;right:16px;background:none;border:none;color:#6b7280;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease;width:auto;height:auto;z-index:10}.voice-close-btn:hover{background:#f3f4f6;color:#374151;transform:none}.voice-recorder-content{padding:2rem;position:relative}.error-message{background:var(--color-danger-500);border:1px solid rgba(220,38,38,.3);color:var(--red-500);padding:1rem 1.25rem;border-radius:12px;margin-bottom:1.5rem;font-size:.875rem;text-align:center;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.recording-controls{display:flex;flex-direction:column;align-items:center;gap:2rem}.record-btn{display:flex;align-items:center;gap:.875rem;padding:1.25rem 2.5rem;border:none;border-radius:50px;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:200px;justify-content:center;position:relative;overflow:hidden;letter-spacing:-.025em}.record-btn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--primary-500);opacity:0;transition:opacity .3s ease}.record-btn:hover:before{opacity:1}.record-btn.start{background:var(--orange-600);color:#fff;box-shadow:0 4px 12px rgba(249,115,22,.2);border:none}.record-btn.start:before{display:none}.record-btn.start:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(249,115,22,.3);background:var(--orange-700)}.record-btn.stop{background:var(--red-500);color:var(--text-on-primary);box-shadow:0 4px 12px rgba(220,38,38,.2);border:1px solid var(--red-600);animation:recordingPulse 1.5s ease-in-out infinite}.record-btn.stop:before{display:none}.record-btn.stop:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(220,38,38,.3);background:var(--red-600)}@keyframes recordingPulse{0%,to{transform:scale(1);box-shadow:0 4px 12px rgba(220,38,38,.2)}50%{transform:scale(1.01);box-shadow:0 6px 16px rgba(220,38,38,.3)}}.recording-active{display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center}.recording-time{font-size:2.5rem;font-weight:800;color:var(--red-500);font-family:Courier New,monospace;letter-spacing:.1em}.recording-indicator{display:flex;align-items:center;gap:.75rem;color:var(--text-secondary);font-size:1rem;font-weight:500}.pulse{width:12px;height:12px;background:var(--red-500);border-radius:50%;animation:pulse 1s ease-in-out infinite;box-shadow:0 0 10px rgba(220,38,38,.6)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.3)}}.recording-complete{display:flex;flex-direction:column;gap:2rem;width:100%}.audio-preview{display:flex;align-items:center;gap:1.25rem;padding:1.5rem;background:#f9fafb;border-radius:12px;border:1px solid #e5e7eb}.play-btn{width:60px;height:60px;border-radius:50%;border:none;background:var(--orange-600);color:#fff;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 2px 8px rgba(249,115,22,.2)}.play-btn:hover:not(:disabled){background:var(--orange-700);transform:scale(1.03);box-shadow:0 4px 12px rgba(249,115,22,.3)}.play-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.audio-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.duration{font-size:1.25rem;font-weight:700;color:var(--text-primary);font-family:Courier New,monospace;letter-spacing:.05em}.transcription{color:var(--text-secondary);font-size:.95rem;font-style:italic;line-height:1.5;font-weight:400}.transcribing{color:var(--orange-600);font-size:.95rem;font-style:italic;animation:transcribingPulse 1.5s ease-in-out infinite;font-weight:500}@keyframes transcribingPulse{0%,to{opacity:1}50%{opacity:.7}}.action-buttons{display:flex;gap:1rem;justify-content:center}.voice-recorder-modal .btn-secondary{background:transparent;color:var(--text-primary);border:2px solid var(--border-color);padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;border-radius:12px}.voice-recorder-modal .btn-secondary:hover{background:var(--surface-hover);border-color:var(--primary-500);color:var(--text-primary);transform:translateY(-1px)}.voice-recorder-modal .btn-primary{background:var(--orange-600);color:#fff;border:none;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;border-radius:12px;box-shadow:0 2px 8px rgba(249,115,22,.2)}.voice-recorder-modal .btn-primary:hover{background:var(--orange-700);transform:translateY(-1px);box-shadow:0 4px 12px rgba(249,115,22,.3)}@media (max-width: 480px){.voice-recorder-modal{width:95%;margin:1rem;max-width:none}.voice-recorder-header{padding:1.5rem}.voice-recorder-header h3{font-size:1.25rem}.voice-recorder-content{padding:2rem 1.5rem}.record-btn{min-width:180px;padding:1rem 2rem;font-size:1rem}.recording-time{font-size:2rem}.action-buttons{flex-direction:column;width:100%}.btn-secondary,.btn-primary{width:100%;min-width:auto}.audio-preview{padding:1.25rem;gap:1rem}.play-btn{width:50px;height:50px;font-size:1.25rem}}.record-btn:focus,.play-btn:focus,.voice-close-btn:focus{outline:2px solid var(--orange-600);outline-offset:2px}@media (prefers-contrast: high){.voice-recorder-modal,.record-btn,.play-btn,.btn-primary{border:2px solid var(--text-on-primary)}}.welcome-message{text-align:center;padding:60px 30px;color:var(--text-primary)}.welcome-message h4{margin:0 0 12px;font-size:20px;color:var(--text-primary)}.welcome-message p{margin:0;font-size:14px;line-height:1.5;color:var(--text-secondary)}.settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:flex-start;justify-content:center;z-index:var(--z-modal-backdrop, 400);padding:1rem;overflow:visible;-webkit-overflow-scrolling:touch;padding-top:max(5rem,calc(64px + 1rem + env(safe-area-inset-top,0px)));padding-bottom:max(1rem,env(safe-area-inset-bottom,0px));pointer-events:none}.settings-modal{background:var(--background-light);border-radius:16px;width:100%;max-width:500px;max-height:calc(100vh - 2rem);box-shadow:var(--shadow-xl);border:1px solid var(--border-color);overflow:hidden;margin:auto;display:flex;pointer-events:auto;flex-direction:column;min-height:-webkit-min-content;min-height:-moz-min-content;min-height:min-content}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6);border-bottom:1px solid var(--border-color);background:var(--background);flex-shrink:0}.settings-header h3{margin:0;color:var(--text-primary);font-size:var(--text-xl);font-weight:600}.settings-close-btn{background:none;border:none;font-size:var(--text-2xl);color:var(--text-secondary);cursor:pointer;padding:var(--spacing-2);border-radius:50%;transition:all .2s ease;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.settings-close-btn:hover{background:var(--background-secondary);color:var(--text-primary)}.settings-content{padding:var(--spacing-6);background:var(--background-light);flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}.settings-footer{background:var(--background-light);border-top:1px solid var(--border-color);padding:var(--spacing-6);flex-shrink:0}.settings-description{margin:0 0 var(--spacing-6) 0;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.current-settings{background:var(--background-secondary);padding:var(--spacing-4);border-radius:12px;margin-bottom:var(--spacing-6);border:1px solid var(--border-color)}.current-settings h4{margin:0 0 var(--spacing-3) 0;color:var(--text-primary);font-size:var(--text-base);font-weight:600}.current-settings p{margin:var(--spacing-2) 0;color:var(--text-secondary);font-size:var(--text-sm)}.current-settings strong{color:var(--text-primary);font-weight:600}.language-setting{margin-bottom:var(--spacing-6)}.language-setting label{display:block;margin-bottom:var(--spacing-2);color:var(--text-primary);font-weight:500;font-size:var(--text-sm)}.language-setting select{width:100%;background:var(--background-secondary);border:2px solid var(--border-color);border-radius:12px;padding:var(--spacing-3) var(--spacing-4);color:var(--text-primary);font-size:var(--text-base);transition:all .2s ease;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2378716c' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--spacing-3) center;background-repeat:no-repeat;background-size:1rem;padding-right:2.5rem}.language-setting select:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.language-setting select:hover{border-color:var(--text-secondary)}.language-setting select:disabled{opacity:.6;cursor:not-allowed;background-color:var(--background)}.language-setting select option{background:var(--background-secondary);color:var(--text-primary);padding:var(--spacing-2);border:none}.language-setting select option:hover,.language-setting select option:focus{background:var(--primary-600);color:#fff}.language-setting small{display:block;margin-top:var(--spacing-2);color:var(--text-muted);font-size:var(--text-xs);font-style:italic}.cs-transcript-section{margin-top:var(--spacing-8);padding-top:var(--spacing-6);border-top:1px solid var(--border-color)}.cs-transcript-heading{margin:0 0 var(--spacing-3) 0;color:var(--text-primary);font-size:var(--text-base);font-weight:600}.cs-transcript-intro{margin:0 0 var(--spacing-6) 0;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.cs-option{border-bottom:1px solid var(--border-color)}.cs-option:last-child{border-bottom:none}.cs-option-content{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4) 0;gap:var(--spacing-4)}.cs-option-text{flex:1;min-width:0}.cs-option-title{color:var(--text-primary);font-weight:500;font-size:var(--text-sm);margin-bottom:.25rem}.cs-option-description{color:var(--text-muted);font-size:var(--text-xs);line-height:1.4}.cs-toggle{position:relative;flex-shrink:0}.cs-toggle-input{position:absolute;opacity:0;width:0;height:0}.cs-toggle-slider{display:block;width:48px;height:24px;background-color:var(--border-color);border-radius:24px;cursor:pointer;transition:background-color .3s ease;position:relative}.cs-toggle-slider:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background-color:#fff;top:3px;left:3px;transition:transform .3s ease;box-shadow:0 2px 4px rgba(0,0,0,.2)}.cs-toggle-input:checked+.cs-toggle-slider{background-color:var(--primary-500)}.cs-toggle-input:checked+.cs-toggle-slider:before{transform:translate(24px)}.cs-toggle-input:disabled+.cs-toggle-slider{opacity:.6;cursor:not-allowed}.conversation-settings .message{margin:var(--spacing-4) 0;padding:var(--spacing-3) var(--spacing-4);border-radius:12px;font-size:var(--text-sm);font-weight:500}.conversation-settings .message.success{background:rgba(16,185,129,.1);color:var(--green-500);border:1px solid rgba(16,185,129,.3)}.conversation-settings .message.error{background:rgba(239,68,68,.1);color:var(--red-500);border:1px solid rgba(239,68,68,.3)}.settings-actions{display:flex;gap:var(--spacing-3);justify-content:flex-end}@media (max-width: 768px){.settings-overlay{padding:var(--spacing-2);align-items:flex-start;overflow-y:auto;padding-top:max(4rem,calc(64px + var(--spacing-2) + env(safe-area-inset-top,0px)))}.settings-modal{max-width:100%;width:calc(100vw - var(--spacing-4));max-height:calc(100vh - 8rem);margin:var(--spacing-2) auto}.settings-content,.settings-header,.settings-footer{padding:var(--spacing-4)}.settings-actions{flex-direction:column;gap:var(--spacing-2)}.btn{width:100%}.language-setting{margin-bottom:var(--spacing-4)}.cs-transcript-section{margin-top:var(--spacing-6);padding-top:var(--spacing-4)}.cs-option-content{padding:var(--spacing-3) 0}}@media (max-width: 480px){.settings-overlay{padding:var(--spacing-1);overflow-y:auto;padding-top:max(4rem,calc(64px + var(--spacing-1) + env(safe-area-inset-top,0px)))}.settings-modal{width:calc(100vw - var(--spacing-2));max-height:calc(100vh - 8rem);margin:var(--spacing-1) auto;border-radius:12px}.settings-content,.settings-header,.settings-footer{padding:var(--spacing-3)}.settings-header h3{font-size:var(--text-lg)}.current-settings{padding:var(--spacing-3)}.cs-option-content{flex-direction:column;align-items:flex-start;gap:var(--spacing-3)}.cs-option-text{width:100%}.cs-toggle{align-self:flex-start}}@media (max-height: 600px){.settings-overlay{padding:.5rem;overflow-y:auto;padding-top:max(4rem,calc(64px + .5rem + env(safe-area-inset-top,0px)))}.settings-modal{max-height:calc(100vh - 8rem);margin:.5rem auto}.settings-content{padding:var(--spacing-4)}.settings-header,.settings-footer{padding:var(--spacing-3)}.language-setting{margin-bottom:var(--spacing-3)}.cs-transcript-section{margin-top:var(--spacing-4);padding-top:var(--spacing-3)}}@media (min-height: 700px) and (min-width: 769px){.settings-overlay{align-items:center;overflow-y:auto}.settings-modal{margin-top:auto;margin-bottom:auto}}@media (min-width: 769px) and (max-height: 699px){.settings-overlay{align-items:flex-start;overflow-y:auto}}.chat-floating-button{position:fixed;left:-20px;top:50%;transform:translateY(-50%);z-index:150;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.chat-floating-button.pressed{transform:translateY(-50%) scale(.95)}.chat-floating-button:hover{left:-10px}.floating-button-collapsed{width:60px;height:80px;background:var(--primary-600);border-radius:0 12px 12px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;box-shadow:2px 0 12px rgba(0,0,0,.15);transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.1);border-left:none}.floating-button-collapsed svg{width:20px;height:20px;color:var(--white)}.floating-button-collapsed .tab-label{font-size:10px;font-weight:600;color:var(--white);text-transform:uppercase;letter-spacing:.5px;writing-mode:vertical-rl;-webkit-text-orientation:mixed;text-orientation:mixed}.chat-floating-button:hover .floating-button-collapsed{background:var(--primary-700);box-shadow:3px 0 16px rgba(0,0,0,.2)}.floating-button-expanded{background:var(--primary-600);border-radius:0 16px 16px 0;padding:16px 24px 16px 16px;display:flex;align-items:center;gap:12px;box-shadow:2px 0 16px rgba(0,0,0,.2);transition:all .3s cubic-bezier(.4,0,.2,1);animation:expandIn .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.1);border-left:none;min-width:120px}.chat-floating-button:hover .floating-button-expanded{background:var(--primary-700);box-shadow:3px 0 20px rgba(0,0,0,.25)}.floating-button-expanded .button-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.floating-button-expanded .button-icon svg{width:20px;height:20px;color:var(--white)}.floating-button-expanded .button-content{display:flex;flex-direction:column;gap:2px}.floating-button-expanded .button-text{color:var(--white);font-size:14px;font-weight:600;white-space:nowrap;line-height:1.2}.floating-button-expanded .button-subtitle{color:rgba(255,255,255,.8);font-size:11px;font-weight:400;white-space:nowrap;line-height:1.2}.floating-button-expanded .button-chevron{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.floating-button-expanded .button-chevron svg{width:14px;height:14px;color:var(--white);opacity:.8}@keyframes expandIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 480px){.chat-floating-button{left:-25px}.chat-floating-button:hover{left:-15px}.floating-button-collapsed{width:55px;height:70px}.floating-button-collapsed svg{width:18px;height:18px}.floating-button-collapsed .tab-label{font-size:9px}.floating-button-expanded{padding:12px 20px 12px 12px;min-width:100px}.floating-button-expanded .button-text{font-size:13px}.floating-button-expanded .button-subtitle{font-size:10px}}@media (prefers-contrast: high){.floating-button-collapsed,.floating-button-expanded{border:2px solid var(--white)}}@media (prefers-reduced-motion: reduce){.chat-floating-button,.floating-button-collapsed,.floating-button-expanded{transition:none}@keyframes expandIn{0%,to{transform:scale(1);opacity:1}}}.setup-spinner{display:flex;justify-content:center;margin-bottom:1rem}.spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top-color:var(--olive-500);border-radius:50%;animation:spin 1s linear infinite}.settings-icon{width:16px;height:16px}.improve-btn-inline{background:#eff6ff;color:#3b82f6;border:1px solid #dbeafe;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.25rem;margin-left:auto}.improve-btn-inline:hover{background:#dbeafe;border-color:#3b82f6}.simple-transcription-container{background:#fff;border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow:hidden;font-family:Inter,sans-serif;color:#374151;min-width:300px;min-height:200px;position:relative;z-index:50200}.simple-transcription-header{display:flex;justify-content:flex-end;align-items:center;padding:.5rem;background:#fff;border-bottom:1px solid var(--gray-200);flex-shrink:0;min-height:44px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.header-spacer{flex:1}.header-controls{display:flex;align-items:center;gap:.5rem}.simple-transcription-container .simple-transcription-header .translation-toggle-btn{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;padding:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#6b7280;width:32px;height:32px}.simple-transcription-container .simple-transcription-header .translation-toggle-btn:hover{background:#e5e7eb;border-color:#d1d5db}.simple-transcription-container .simple-transcription-header .translation-toggle-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff;box-shadow:0 1px 3px rgba(59,130,246,.3)}.simple-transcription-container .simple-transcription-header .translation-icon{width:16px;height:16px}.simple-transcription-container .simple-transcription-header .settings-btn{all:unset;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#6b7280;flex-shrink:0;padding:0;box-sizing:border-box}.simple-transcription-container .simple-transcription-header .settings-btn:hover{background:#e5e7eb;transform:scale(1.05);border-color:#d1d5db;color:#374151}.simple-transcription-container .simple-transcription-header .settings-btn svg{width:16px;height:16px;stroke-width:2;color:#6b7280;fill:none;stroke:currentColor;display:block}.simple-transcription-container .simple-transcription-header .settings-btn:active{transform:scale(.95)}.simple-transcription-container .simple-transcription-settings{background:#fff;background-color:#fff;border-bottom:1px solid rgba(156,180,113,.15);padding:1rem;overflow:hidden;flex-shrink:0}.simple-transcription-settings .settings-content{display:flex;flex-direction:column;gap:.75rem;background:transparent}.simple-transcription-settings .settings-info{text-align:center;color:#6b7280;margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(156,180,113,.15)}.simple-transcription-settings .settings-row{display:flex;align-items:center;gap:.75rem;font-size:.8rem;background:transparent}.simple-transcription-settings .settings-row label{color:#374151;font-weight:500;min-width:120px;background:transparent}.simple-transcription-settings .settings-row input[type=checkbox]{margin-right:.5rem;width:16px;height:16px;cursor:pointer;position:relative;z-index:10}.simple-transcription-settings .settings-row select{background:#fff;background-color:#fff;border:1px solid rgba(156,180,113,.3);border-radius:6px;padding:.375rem .5rem;color:#374151;font-size:.8rem;cursor:pointer;flex:1;max-width:150px}.settings-row select:focus{outline:none;border-color:#9cb471;box-shadow:0 0 0 2px rgba(156,180,113,.2)}.auto-detect{background:rgba(156,180,113,.1);padding:.375rem .75rem;border-radius:6px;font-size:.8rem;color:#4c540d;font-weight:500}.simple-transcription-content{flex:1;overflow-y:auto;background:#fff;min-height:0}.transcriptions-list{padding:.75rem}.transcriptions-list::-webkit-scrollbar{width:6px}.transcriptions-list::-webkit-scrollbar-track{background:rgba(156,180,113,.1);border-radius:3px}.transcriptions-list::-webkit-scrollbar-thumb{background:rgba(156,180,113,.3);border-radius:3px}.no-transcriptions{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#6b7280;padding:2rem;gap:.5rem;height:100%;min-height:150px}.empty-icon{width:24px;height:24px;color:#9cb471;opacity:.7}.no-transcriptions p{font-size:.875rem;font-weight:500;margin:0}.no-transcriptions small{font-size:.75rem;opacity:.8}.transcription-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem;margin-bottom:.5rem;transition:all .2s ease;animation:slideInUp .3s ease}.transcription-item:last-child{margin-bottom:0}.transcription-item.local{background:#eff6ff;border-left:3px solid #3B82F6;margin-left:20px;margin-right:5px}.transcription-item.remote{background:#f3f4f6;border-left:3px solid #10b981;margin-left:5px;margin-right:20px}.transcription-item.interim{opacity:.7}.transcription-item.interim .transcription-text{font-style:italic;color:#6b7280}.transcription-item.final .transcription-text{font-style:normal;color:#374151}.interim-indicator{animation:ellipsis 1.5s infinite;display:inline-block;width:20px;text-align:left;margin-left:2px}@keyframes ellipsis{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.transcription-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.75rem;color:#6b7280}.speaker{font-weight:600;color:#374151}.timestamp{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.65rem}.transcription-text{font-size:.875rem;line-height:1.5;color:#1f2937;word-wrap:break-word;white-space:pre-wrap}.transcription-text ruby{ruby-position:over;line-height:2.2}.transcription-text rt{font-size:.65em;color:#64748b;font-weight:400;line-height:1.2}.transcription-text rb{font-weight:400;font-size:1em;line-height:1}.transcription-text .chinese-pinyin{display:inline-block;vertical-align:top}.simple-transcription-footer{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--primary-500);border-top:1px solid rgba(156,180,113,.15);font-size:.75rem;flex-shrink:0;min-height:40px}.language-info{color:#4c540d;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-info{color:#6b7280;font-weight:500}.resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;background:rgba(156,180,113,.2);border-radius:4px 0 12px;display:flex;align-items:center;justify-content:center;cursor:nw-resize;transition:all .2s ease}.resize-handle:hover{background:rgba(156,180,113,.3);transform:scale(1.1)}.resize-handle svg{width:12px;height:12px;color:#4c540d}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.inline-translation{margin-top:.5rem;padding-left:1rem;display:flex;align-items:flex-start;gap:.5rem;animation:fadeIn .3s ease}.translation-arrow{color:#9cb471;font-size:1rem;line-height:1.2;flex-shrink:0}.inline-translation .translation-text{background:#f8fafc;padding:.5rem .75rem;border-radius:6px;border-left:2px solid #64748b;flex:1;font-size:.875rem;line-height:1.5}.inline-translation .language-label{font-weight:600;color:#3b82f6;font-size:.7rem;text-transform:uppercase;margin-right:.5rem}.inline-translation .text{color:#374151}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.simple-transcription-container:not(.mobile-embedded){position:fixed;left:10px;right:10px;top:50%;transform:translateY(-50%);width:auto;height:70vh;max-height:500px}.video-call-interface .simple-transcription-container.mobile-embedded{position:static;width:100%;max-height:110px;height:auto;min-height:60px;min-width:auto;transform:none;margin:0;flex-shrink:0;border-radius:0;border:none;border-top:1px solid rgba(156,180,113,.3);box-shadow:none;display:flex;flex-direction:row;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.video-call-interface .simple-transcription-container.mobile-embedded .simple-transcription-header,.video-call-interface .simple-transcription-container.mobile-embedded .simple-transcription-footer{display:none}.video-call-interface .simple-transcription-container.mobile-embedded .simple-transcription-content{flex:1;max-height:110px;min-height:auto;overflow:hidden;display:flex;align-items:flex-start;padding:.5rem .75rem;background:transparent}.video-call-interface .simple-transcription-container.mobile-embedded .transcriptions-list{display:flex;flex-direction:column-reverse;padding:0;width:100%}.video-call-interface .simple-transcription-container.mobile-embedded .transcription-item{margin:0;padding:0;border:none;background:transparent;display:none;animation:none}.video-call-interface .simple-transcription-container.mobile-embedded .transcription-item:first-child{display:flex;flex-direction:column;gap:.25rem}.video-call-interface .simple-transcription-container.mobile-embedded .transcription-header{display:flex;justify-content:flex-end;align-items:center;padding:.25rem .75rem;gap:.5rem}.video-call-interface .simple-transcription-container.mobile-embedded .transcription-header .speaker,.video-call-interface .simple-transcription-container.mobile-embedded .transcription-header .timestamp{display:none}.video-call-interface .simple-transcription-container.mobile-embedded .improve-btn-inline{font-size:.7rem;padding:.2rem .4rem;margin:0}.video-call-interface .simple-transcription-container.mobile-embedded .improve-icon{width:10px;height:10px}.video-call-interface .simple-transcription-container.mobile-embedded .transcription-text{font-size:.8rem;line-height:1.2;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;margin-bottom:.15rem}.video-call-interface .simple-transcription-container.mobile-embedded .inline-translation{margin-top:.15rem;padding-left:0;gap:.25rem}.video-call-interface .simple-transcription-container.mobile-embedded .translation-arrow{font-size:.7rem;margin-top:.1rem}.video-call-interface .simple-transcription-container.mobile-embedded .inline-translation .translation-text{background:rgba(59,130,246,.15);padding:.15rem .4rem;border-radius:3px;border-left:2px solid #3B82F6;font-size:.75rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-call-interface .simple-transcription-container.mobile-embedded .inline-translation .language-label{font-size:.65rem;margin-right:.25rem}.video-call-interface .simple-transcription-container.mobile-embedded .inline-translation .text{font-size:.75rem}.video-call-interface .simple-transcription-container.mobile-embedded .no-transcriptions{min-height:32px;height:32px;padding:0;font-size:.7rem;color:rgba(255,255,255,.5)}.video-call-interface .simple-transcription-container.mobile-embedded .resize-handle{display:none}}.quota-exhausted-notice{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 24px;margin:16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:12px;text-align:center;animation:slideIn .3s ease-out}.ice-breakers-message{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:1rem;margin:1rem 0;box-shadow:0 2px 8px rgba(0,0,0,.06)}.ice-breakers-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.header-left{display:flex;align-items:center;gap:.5rem}.sparkles-icon{width:18px;height:18px;color:var(--primary-700)}.ice-breakers-title{font-size:.875rem;font-weight:600;color:var(--primary-800)}.category-badge{background:var(--orange-500);color:#fff;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.header-actions{display:flex;gap:.5rem}.toggle-language-btn,.new-question-btn{background:#fff;border:1px solid var(--primary-200);border-radius:6px;padding:4px 8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.toggle-language-btn:hover,.new-question-btn:hover{background:var(--primary-50);border-color:var(--primary-300)}.language-icon,.refresh-icon{width:16px;height:16px;color:var(--primary-700)}.refresh-icon.spinning{animation:spin 1s linear infinite}.ice-breakers-content{margin-bottom:.75rem}.question-container{display:flex;flex-direction:column;gap:.5rem}.question-text{display:flex;gap:.5rem;padding:.5rem;border-radius:8px}.question-text.primary{background:#fff;border:1px solid var(--primary-200)}.question-text.secondary{background:var(--gray-50);border:1px solid var(--gray-200);font-size:.875rem}.language-label{font-weight:600;color:var(--gray-600);min-width:80px;font-size:.75rem}.text{color:var(--gray-900);flex:1;font-size:.875rem;line-height:1.4}.text .chinese-pinyin{display:inline-block;vertical-align:top}.text .chinese-pinyin ruby{ruby-position:over;line-height:2.2}.text .chinese-pinyin rt{font-size:.65em;color:#64748b;font-weight:400;line-height:1.2}.text .chinese-pinyin rb{font-weight:400;font-size:1em;line-height:1}.no-question{text-align:center;color:var(--gray-600);padding:1rem;font-style:italic}.ice-breakers-footer{display:flex;justify-content:center}.use-question-btn{background:var(--primary-600);color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.use-question-btn:hover{background:var(--primary-700);transform:translateY(-1px);box-shadow:0 4px 12px rgba(185,204,129,.25)}.use-question-btn:active{transform:translateY(0)}.call-chatbox{display:flex;flex-direction:column;background:var(--background-light);border:1px solid var(--border-light);box-shadow:0 4px 20px rgba(0,0,0,.15);overflow:hidden;isolation:isolate}.call-chatbox.call-chatbox-pinned{position:fixed;right:0;top:0;bottom:0;width:320px;z-index:5;border-radius:0;border-right:none;border-left:1px solid var(--border-light);box-shadow:-4px 0 20px rgba(0,0,0,.1)}.call-chatbox.call-chatbox-floating{position:absolute;bottom:100px;right:20px;width:350px;max-width:90vw;height:500px;max-height:calc(100vh - 200px);border-radius:12px;z-index:5}.chatbox-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#fff;color:var(--text-primary);border-bottom:1px solid var(--border-light)}.chatbox-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1rem}.chatbox-title svg{width:18px;height:18px;flex-shrink:0;color:var(--text-secondary)}.chatbox-close-btn{background:none;border:none;color:var(--text-secondary);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;transition:all .2s;flex-shrink:0}.chatbox-close-btn:hover{background:var(--gray-100);color:var(--text-primary)}.chatbox-close-btn svg{width:18px;height:18px;flex-shrink:0}.chatbox-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;background:var(--background);min-height:0}.chatbox-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary);text-align:center;gap:1rem}.chatbox-empty svg{width:48px;height:48px;opacity:.5;flex-shrink:0}.chatbox-empty p{margin:0;font-size:.95rem}.chat-message{display:flex;flex-direction:column;gap:.5rem;animation:messageSlide .3s ease-out}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.own{align-items:flex-end}.chat-message.other{align-items:flex-start}.message-content{max-width:80%;padding:.75rem 1rem;border-radius:12px;word-wrap:break-word;line-height:1.5;font-size:.95rem;position:relative}.chat-message.own .message-content{background:var(--olive-600);color:#fff;border-bottom-right-radius:4px}.chat-message.other .message-content{background:#f3f4f6;color:var(--text-primary);border:1px solid var(--border-light);border-bottom-left-radius:4px}.message-actions{display:flex;gap:.5rem;opacity:.7;transition:opacity .2s}.chat-message:hover .message-actions{opacity:1}.translate-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:transparent;border:1px solid var(--border-light);border-radius:6px;color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all .2s;white-space:nowrap}.translate-btn:hover{background:var(--background-secondary);color:var(--olive-600);border-color:var(--olive-500)}.translate-btn:disabled{opacity:.5;cursor:not-allowed}.translate-btn svg{width:14px;height:14px;flex-shrink:0;display:block}.check-result{background:var(--background);border:1px solid var(--olive-200);border-radius:8px;padding:1rem;margin:0 1rem 1rem;animation:fadeIn .3s ease-out}.check-result-header{display:flex;align-items:center;gap:.5rem;color:var(--olive-600);font-weight:600;margin-bottom:.75rem}.check-result-header svg{width:16px;height:16px;flex-shrink:0}.corrections,.alternatives{margin-bottom:1rem}.corrections h4,.alternatives h4{margin:0 0 .5rem;font-size:.85rem;color:var(--text-secondary);font-weight:600}.correction{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:rgba(255,152,0,.1);border-radius:6px;margin-bottom:.5rem;font-size:.9rem}.correction .original{text-decoration:line-through;color:var(--text-secondary)}.correction .arrow{color:var(--orange-500);font-weight:700}.correction .corrected{color:var(--olive-600);font-weight:600;cursor:pointer;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-underline-offset:2px}.correction .corrected:hover{color:var(--olive-700)}.alternative{padding:.5rem .75rem;background:#f3f4f6;border:1px solid var(--border-light);border-radius:6px;margin-bottom:.5rem;cursor:pointer;transition:all .2s;font-size:.9rem}.alternative:hover{background:#e5e7eb;border-color:#9ca3af;color:#374151}.chatbox-input-area{display:flex;align-items:center;gap:.5rem;padding:1rem;background:var(--background-light);border-top:1px solid var(--border-light)}.chat-input{flex:1;padding:.75rem;border:2px solid var(--border-light);border-radius:8px;background:var(--background);color:var(--text-primary);font-size:.95rem;outline:none;transition:border-color .2s;min-width:0}.chat-input:focus{border-color:var(--gray-400);box-shadow:0 0 0 1px var(--gray-400)}.chat-input::placeholder{color:var(--text-muted)}.check-message-btn,.send-message-btn{width:36px;height:36px;min-width:36px;min-height:36px;border:none;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0;padding:0}.check-message-btn{background:var(--background-secondary);color:var(--orange-500)}.check-message-btn:hover:not(:disabled){background:var(--orange-500);color:#fff}.send-message-btn{background:var(--olive-600);color:#fff}.send-message-btn:hover:not(:disabled){background:var(--olive-600);transform:translateY(-1px);box-shadow:0 2px 8px rgba(156,180,113,.3)}.check-message-btn:disabled,.send-message-btn:disabled{opacity:.5;cursor:not-allowed}.check-message-btn svg,.send-message-btn svg{width:20px;height:20px;flex-shrink:0;display:block}@media (max-width: 768px){.call-chatbox.call-chatbox-pinned,.call-chatbox.call-chatbox-floating,.call-chatbox{position:static;width:100%;height:100%;max-width:100%;max-height:100%;left:auto;right:auto;top:auto;bottom:auto;border-radius:0;border:none;box-shadow:none;display:flex;flex-direction:column;background:#fff}.call-chatbox .chatbox-header{padding:.75rem 1rem;background:#fff;flex-shrink:0}.call-chatbox .chatbox-title{font-size:1rem}.call-chatbox .chatbox-messages{flex:1;min-height:0;overflow-y:auto;padding:.75rem .75rem 1rem;background:#fffff8;scroll-padding-bottom:100px}.call-chatbox .message-content{font-size:.9rem;max-width:85%}.call-chatbox .chatbox-input-area{padding:.75rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom));background:#fff;flex-shrink:0;border-top:1px solid var(--border-light);position:-webkit-sticky;position:sticky;bottom:0;z-index:10}.call-chatbox .chat-input{font-size:.9rem;padding:.5rem .75rem;background:#fff;border:2px solid var(--border-light);color:#1f2937}.call-chatbox .chat-input::placeholder{color:#9ca3af}.call-chatbox .chat-input:focus~.chatbox-messages,.call-chatbox .chatbox-messages:has(~.chatbox-input-area .chat-input:focus){margin-bottom:0}}@media (prefers-color-scheme: dark){.call-chatbox{background:#1f2937;border-color:#374151}.chatbox-header{background:#111827;color:#fff}.chatbox-messages{background:#1f2937}.chat-input{background:#111827;border-color:#374151;color:#fff}.chat-input::placeholder{color:#9ca3af}.chat-message.other .message-content,.alternative{background:#374151;color:#fff;border-color:#4b5563}.alternative:hover{background:#4b5563;border-color:#6b7280}}.mobile-call-swipe-wrapper{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;background:#000;display:flex;flex-direction:column;width:100vw;height:100vh}.mobile-screen-navigation{display:flex;gap:.5rem;z-index:var(--z-mobile-navigation);background:rgba(0,0,0,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:25px;padding:.5rem;border:1px solid rgba(255,255,255,.4);box-shadow:0 4px 12px rgba(0,0,0,.5);justify-content:center;align-items:center;flex-shrink:0;margin:1rem auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.screen-nav-button{display:flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:rgba(255,255,255,.1);border:1px solid transparent;border-radius:20px;color:rgba(255,255,255,.7);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;outline:none}.screen-nav-button:hover{background:rgba(255,255,255,.15);color:rgba(255,255,255,.9)}.screen-nav-button.active{background:rgba(255,255,255,.2);color:#fff;border-color:rgba(255,255,255,.3)}.screen-nav-button .nav-icon{width:1rem;height:1rem}.screens-container{display:flex;width:200%;height:100%;position:relative;flex:1;transition:transform .3s ease-out;left:0;top:0}.screen{width:50%;height:100%;position:relative;overflow:hidden;flex-shrink:0}.call-screen{display:flex;align-items:center;justify-content:center;background:#000}.components-screen,.chat-screen{background:#000;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.navigation-indicators{position:absolute;bottom:80px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:24px;z-index:100;padding:0 20px}.nav-button{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.nav-button:hover:not(.disabled){background:rgba(255,255,255,.3);transform:scale(1.1)}.nav-button.disabled{opacity:.3;cursor:not-allowed}.nav-button svg{width:20px;height:20px}.screen-dots{display:flex;gap:8px;align-items:center}.dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);border:none;cursor:pointer;transition:all .3s;padding:0}.dot.active{width:24px;background:#fff}.dot:hover:not(.active){background:rgba(255,255,255,.5)}.screen-labels{position:absolute;bottom:40px;left:0;right:0;display:flex;justify-content:center;gap:32px;z-index:100}.screen-labels .label{font-size:12px;font-weight:500;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.5px;transition:color .3s}.screen-labels .label.active{color:#fff}@media (max-width: 768px){.call-chat-box{position:static;width:100%;height:auto;max-height:400px;left:auto;top:auto;box-shadow:0 2px 10px rgba(0,0,0,.1);border-radius:12px}.call-chat-box.minimized,.call-chat-box .resize-handle{display:none}.simple-live-transcription,.cultural-questions-popup,.call-suggestions-popup{position:static;width:100%;left:auto;top:auto;max-height:350px;margin-bottom:16px}.resize-handle,.drag-handle{display:none}.video-call-interface{height:100vh}.local-video{width:80px;height:60px;top:16px;right:16px}}@keyframes swipeHint{0%,to{transform:translate(0);opacity:0}50%{transform:translate(-20px);opacity:1}}.swipe-hint{position:absolute;top:50%;right:20px;transform:translateY(-50%);color:#fff;font-size:14px;display:flex;align-items:center;gap:8px;animation:swipeHint 2s ease-in-out infinite}.swipe-hint svg{width:20px;height:20px}.language-exchange-timer{position:absolute;top:80px;left:50%;transform:translate(-50%);background:rgba(0,0,0,.8);color:#fff;padding:8px 16px;border-radius:20px;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.language-exchange-timer .timer-icon,.language-exchange-timer .switch-icon{width:16px;height:16px}.language-exchange-timer .timer-icon{color:#10b981}.language-exchange-timer .switch-icon{color:#6b7280;animation:rotate 2s linear infinite}.language-exchange-timer .timer-text{min-width:120px;text-align:center}.language-timer-notification{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.9);color:#fff;padding:24px 32px;border-radius:16px;display:flex;align-items:center;gap:16px;font-size:18px;font-weight:600;z-index:10000;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 10px 40px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.1)}.language-timer-notification .notification-icon{width:32px;height:32px;color:#10b981;flex-shrink:0}.language-timer-notification p{margin:0;line-height:1.4}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.language-exchange-timer{top:70px;font-size:12px;padding:6px 12px}.language-exchange-timer .timer-icon,.language-exchange-timer .switch-icon{width:14px;height:14px}.language-timer-notification{width:90%;max-width:320px;padding:20px 24px;font-size:16px}.language-timer-notification .notification-icon{width:24px;height:24px}}.instant-call-timer-simple{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:99999;background:rgba(0,0,0,.85);color:#fff;padding:10px 20px;border-radius:25px;box-shadow:0 4px 12px rgba(0,0,0,.3);border:2px solid #9cb847;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;pointer-events:none}.timer-content{display:flex;align-items:center;gap:10px}.timer-icon{display:flex;align-items:center;color:#9cb847}.timer-display{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:1px}.instant-call-timer-simple *{z-index:inherit}.quota-warning{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:999999;width:90%;max-width:600px}.quota-warning-content{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#fff5f5,#fff);border:3px solid #f59e0b;border-radius:16px;padding:20px 24px;box-shadow:0 10px 40px rgba(245,158,11,.3);animation:pulse-warning 2s ease-in-out infinite}@keyframes pulse-warning{0%,to{box-shadow:0 10px 40px rgba(245,158,11,.3)}50%{box-shadow:0 10px 50px rgba(245,158,11,.5)}}.quota-warning .warning-icon{color:#f59e0b;flex-shrink:0}.quota-warning .warning-text{flex:1;display:flex;flex-direction:column;gap:4px}.quota-warning .warning-title{font-size:1.1rem;font-weight:700;color:#f59e0b;line-height:1.2}.quota-warning .warning-message{font-size:.95rem;font-weight:500;color:var(--text-secondary);line-height:1.4}.quota-warning .warning-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.quota-warning .upgrade-button{display:flex;align-items:center;gap:6px;background:#f59e0b;color:#fff;border:none;border-radius:8px;padding:10px 16px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.quota-warning .upgrade-button:hover{background:#d97706;transform:translateY(-2px);box-shadow:0 4px 12px rgba(245,158,11,.4)}.quota-warning .upgrade-button:active{transform:translateY(0)}.quota-warning .close-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;color:var(--text-tertiary);border:none;border-radius:50%;cursor:pointer;transition:all .2s ease}.quota-warning .close-button:hover{background:rgba(0,0,0,.05);color:var(--text-primary)}@media (max-width: 768px){.quota-warning{top:60px;width:calc(100% - 24px);left:12px;transform:none}.quota-warning-content{flex-wrap:wrap;padding:16px;gap:12px}.quota-warning .warning-icon{width:24px;height:24px}.quota-warning .warning-title{font-size:1rem}.quota-warning .warning-message{font-size:.85rem}.quota-warning .warning-actions{width:100%;justify-content:space-between}.quota-warning .upgrade-button{flex:1;justify-content:center;padding:12px 16px}}.quota-warning[data-depleted=true] .quota-warning-content{border-color:var(--orange-terracotta);background:linear-gradient(135deg,#fff0f0,#fff)}.quota-warning[data-depleted=true] .warning-icon,.quota-warning[data-depleted=true] .warning-title{color:var(--orange-terracotta)}.quota-warning[data-depleted=true] .upgrade-button{background:var(--orange-terracotta)}.quota-warning[data-depleted=true] .upgrade-button:hover{background:#dc2626}.user-info-card-simple{align-items:center;gap:14px;background:#fff;color:#1f2937;padding:14px 18px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.05);border:2px solid #9cb847;max-width:340px;cursor:default}.user-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0;position:relative;border:2px solid #e5e7eb}.user-avatar img{width:100%;height:100%;object-fit:cover;display:block}.user-avatar-fallback{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#9cb847,#7a9336);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:17px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.1)}.user-name{font-weight:700;font-size:15px;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}.user-username{font-size:12px;color:#6b7280;font-weight:500;margin-bottom:5px}.user-languages{display:flex;gap:6px;flex-wrap:wrap}.lang-badge{font-size:11px;padding:4px 10px;border-radius:6px;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.lang-badge .lang-label{font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.lang-badge.native{background:#f0fdf4;color:#166534;border:1px solid #86efac}.lang-badge.native .lang-label{color:#15803d}.lang-badge.learning{background:#fff7ed;color:#c2410c;border:1px solid #fdba74}.lang-badge.learning .lang-label{color:#ea580c}.user-info-card-compact{position:fixed;top:1rem;left:1rem;z-index:50250;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:.75rem;display:flex;gap:.75rem;align-items:center;cursor:pointer;transition:all .2s ease;max-width:280px;border:1px solid rgba(255,255,255,.1)}.user-info-card-compact:hover{background:rgba(0,0,0,.85);transform:scale(1.02);border-color:rgba(255,255,255,.2)}.user-info-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--olive-600);display:flex;align-items:center;justify-content:center}.user-info-avatar img{width:100%;height:100%;object-fit:cover}.avatar-initials{color:#fff;font-weight:600;font-size:1.125rem}.user-info-details{flex:1;min-width:0;color:#fff}.user-info-name{font-weight:600;font-size:.9375rem;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info-languages{display:flex;align-items:center;gap:.375rem;margin-bottom:.25rem;font-size:.75rem}.language-badge{padding:.125rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:500;white-space:nowrap}.language-badge.native{background:rgba(156,184,113,.3);color:#d8e69c}.language-badge.learning{background:rgba(241,90,34,.3);color:#fbc184}.arrow{color:rgba(255,255,255,.5);font-size:.75rem}.user-info-level{font-size:.6875rem;color:rgba(255,255,255,.7)}.user-info-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);z-index:60000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.user-info-modal{position:fixed;top:50%;left:50%;z-index:60001;background:#fff;border-radius:16px;width:90%;max-width:480px;max-height:85vh;max-height:85dvh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.5)}.user-info-close{position:absolute;top:1rem;right:1rem;background:rgba(0,0,0,.1);border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#6b7280;z-index:1}.user-info-close:hover{background:rgba(0,0,0,.2);color:#374151}.user-info-modal-header{text-align:center;padding:2rem 2rem 1.5rem;background:linear-gradient(to bottom,#f9fafb,#fff);border-bottom:1px solid #e5e7eb}.user-info-avatar-large{width:96px;height:96px;border-radius:50%;overflow:hidden;margin:0 auto 1rem;background:var(--olive-600);display:flex;align-items:center;justify-content:center;border:3px solid white;box-shadow:0 4px 12px rgba(0,0,0,.15)}.user-info-avatar-large img{width:100%;height:100%;object-fit:cover}.user-info-avatar-large .avatar-initials{font-size:2.5rem}.user-info-modal-header h2{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0 0 .5rem}.user-bio{color:#6b7280;font-size:.875rem;line-height:1.5;max-width:400px;margin:0 auto}.user-info-modal-content{padding:1.5rem 2rem 2rem}.info-section{margin-bottom:1.5rem}.info-section:last-child{margin-bottom:0}.info-section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;color:var(--orange-600)}.info-section-header h3{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin:0}.info-value{font-size:1rem;color:#1f2937;margin:0;font-weight:500}.learning-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.level-badge{padding:.25rem .75rem;background:var(--primary-500);color:var(--text-on-primary);border-radius:6px;font-size:.8125rem;font-weight:600}.level-badge-inline{display:inline-block;padding:2px 8px;background:#9cb847;color:#fff;border-radius:4px;font-size:10px;font-weight:700;margin-left:4px;text-transform:uppercase;letter-spacing:.3px}.languages-grid{display:flex;flex-direction:column;gap:.75rem}.language-item{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.language-label{font-size:.875rem;font-weight:600;color:#6b7280;min-width:80px}.language-value{font-size:1rem;color:#1f2937;font-weight:500}.about-grid{display:flex;flex-direction:column;gap:.5rem}.about-item{display:flex;align-items:center;gap:.5rem}.about-label{font-size:.875rem;font-weight:600;color:#6b7280;min-width:80px}.about-value{font-size:.9375rem;color:#1f2937;font-weight:500}.learning-goals{line-height:1.6;color:#374151}.interests-list{display:flex;flex-wrap:wrap;gap:.5rem}.interest-tag{padding:.375rem .75rem;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;font-size:.8125rem;color:#374151;font-weight:500}@media (max-width: 768px){.user-info-card-compact{top:4.5rem;left:.5rem;max-width:240px;padding:.625rem}.user-info-avatar{width:40px;height:40px}.avatar-initials{font-size:1rem}.user-info-name{font-size:.875rem}.user-info-languages{font-size:.6875rem}.language-badge{font-size:.625rem;padding:.0625rem .375rem}.user-info-level{font-size:.625rem}.user-info-modal{width:95%;max-height:90vh;max-height:90dvh}.user-info-modal-header{padding:1.5rem 1.5rem 1rem}.user-info-avatar-large{width:80px;height:80px}.user-info-avatar-large .avatar-initials{font-size:2rem}.user-info-modal-header h2{font-size:1.25rem}.user-info-modal-content{padding:1rem 1.5rem 1.5rem}}.user-info-modal-overlay{background:rgba(0,0,0,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:20px}.user-info-modal-content{background:#fff;border-radius:16px;max-width:500px;width:100%;max-height:90vh;max-height:90dvh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.5)}.modal-close-btn{position:absolute;top:16px;right:16px;background:rgba(0,0,0,.1);border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#374151;z-index:1}.modal-close-btn:hover{background:rgba(0,0,0,.2);transform:scale(1.1)}.modal-header{text-align:center;padding:40px 20px 20px;background:linear-gradient(to bottom,#f9fafb,#fff);border-bottom:1px solid #e5e7eb}.modal-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;margin:0 auto 16px;border:3px solid #9cb847;box-shadow:0 4px 12px rgba(0,0,0,.15)}.modal-avatar img{width:100%;height:100%;object-fit:cover}.modal-avatar-fallback{width:100%;height:100%;background:#9cb847;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:32px;color:#fff}.modal-name{font-size:24px;font-weight:700;color:#1f2937;margin:0 0 4px}.modal-username{font-size:14px;color:#6b7280;margin:0}.modal-body{padding:24px}.modal-section{margin-bottom:20px}.modal-section:last-child{margin-bottom:0}.modal-section-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#9cb847}.modal-section-header h3{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin:0}.modal-bio{font-size:14px;line-height:1.6;color:#374151;margin:0}.modal-languages{display:flex;flex-direction:column;gap:8px}.modal-language-item{display:flex;align-items:center;gap:8px}.language-label{font-size:13px;font-weight:600;color:#6b7280;min-width:70px}.language-value{font-size:14px;color:#1f2937;font-weight:500}.level-badge-modal{display:inline-block;padding:2px 8px;background:#9cb847;color:#fff;border-radius:4px;font-size:11px;font-weight:600;margin-left:6px}.modal-about{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#374151}.modal-goals{font-size:14px;line-height:1.6;color:#374151;margin:0}.modal-section-title{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin:0 0 12px}.modal-interests{display:flex;flex-wrap:wrap;gap:8px}@media (max-width: 768px){.user-info-card-simple{top:80px;max-width:280px;padding:10px 14px}.user-avatar{width:36px;height:36px}.user-name{font-size:13px}.user-username{font-size:10px}.lang-badge{font-size:9px;padding:2px 6px}.user-info-modal-content{max-width:95%}.modal-header{padding:32px 16px 16px}.modal-avatar{width:64px;height:64px}.modal-name{font-size:20px}.modal-body{padding:20px 16px}}.practice-language-popup-container{position:fixed;top:5rem;left:50%;transform:translate(-50%);z-index:999999;pointer-events:auto}.practice-language-popup{background:var(--background);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.25);border:1px solid var(--border-primary);max-width:400px;width:90vw;overflow:hidden}.practice-language-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem .5rem}.practice-language-icon-container{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--primary-color);border-radius:50%}.practice-language-icon{color:#fff}.practice-language-close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;transition:color .2s;display:flex;align-items:center;justify-content:center}.practice-language-close-btn:hover{color:var(--text-primary)}.practice-language-content{padding:1rem 1.5rem;text-align:center}.practice-language-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--text-secondary)}.practice-language-name{margin:0 0 .75rem;font-size:1.75rem;font-weight:700;color:var(--primary-color)}.practice-language-description{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.practice-language-hint{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--surface-secondary);border-top:1px solid var(--border-primary);font-size:.75rem;color:var(--text-secondary)}.hint-icon{color:var(--primary-color);flex-shrink:0}@media (max-width: 768px){.practice-language-popup-container{top:4rem;left:50%;transform:translate(-50%);width:auto;max-width:95vw}.practice-language-popup{max-width:none;width:95vw}.practice-language-content{padding:.75rem 1rem}.practice-language-name{font-size:1.5rem}.practice-language-description{font-size:.8125rem}.practice-language-hint{padding:.625rem 1rem;font-size:.6875rem}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px) translate(-50%)}to{opacity:1;transform:translateY(0) translate(-50%)}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0) translate(-50%)}to{opacity:0;transform:translateY(-10px) translate(-50%)}}.video-call-settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:50300;display:flex;justify-content:flex-end;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.video-call-settings-panel{width:400px;height:100vh;background:var(--background-light, #f8f9fa);box-shadow:-8px 0 24px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:50301}.settings-header{padding:1.5rem;border-bottom:1px solid var(--border-light, #e0e0e0);display:flex;justify-content:space-between;align-items:center;background:var(--background, #ffffff);position:-webkit-sticky;position:sticky;top:0;z-index:1}.settings-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.settings-header .close-btn{width:36px;height:36px;border:none;background:transparent;color:var(--text-secondary);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.settings-header .close-btn:hover{background:var(--background-secondary);color:var(--text-primary)}.settings-header .close-btn svg{width:20px;height:20px}.settings-tabs{display:flex;gap:.5rem;padding:.75rem 1rem;background:var(--background, #ffffff);border-bottom:1px solid var(--border-light, #e0e0e0);position:-webkit-sticky;position:sticky;top:73px;z-index:1}.tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:none;background:transparent;color:var(--text-secondary);border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.tab-btn:hover{background:var(--background-secondary);color:var(--text-primary)}.tab-btn.active{background:var(--olive-600);color:#fff;box-shadow:0 2px 4px rgba(156,180,113,.2)}.tab-icon{width:16px;height:16px}.settings-content{flex:1;overflow-y:auto;padding:1.5rem;background:var(--background-soft, #fafbfc)}.tab-content{display:flex;flex-direction:column;gap:1.5rem}.setting-group{background:var(--background, #ffffff);border:1px solid var(--border-light, #e0e0e0);border-radius:12px;overflow:hidden;transition:all .2s;box-shadow:0 1px 3px rgba(0,0,0,.05)}.setting-group:hover{box-shadow:0 3px 8px rgba(0,0,0,.1);border-color:var(--border, #d0d0d0)}.setting-label{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;cursor:pointer;transition:background .2s}.setting-label:hover{background:var(--background-secondary, #f1f3f5)}.setting-label-vertical{display:flex;flex-direction:column;gap:1rem;padding:1rem 1.25rem}.setting-icon{width:24px;height:24px;color:var(--olive-600);flex-shrink:0}.setting-icon.inline{display:inline-block;width:20px;height:20px;vertical-align:middle;margin-right:.5rem}.setting-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.setting-header{display:flex;flex-direction:column;gap:.25rem}.setting-title{font-size:.95rem;font-weight:600;color:var(--text-primary)}.setting-description{font-size:.8rem;color:var(--text-secondary);line-height:1.4}.setting-toggle{width:44px;height:24px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--background-secondary, #f1f3f5);border:2px solid var(--border-light, #e0e0e0);border-radius:12px;position:relative;cursor:pointer;transition:all .3s;flex-shrink:0}.setting-toggle:checked{background:var(--olive-500, #9cb471);border-color:var(--olive-500, #9cb471)}.setting-toggle:after{content:"";position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:2px;left:2px;transition:transform .3s;box-shadow:0 2px 4px rgba(0,0,0,.2)}.setting-toggle:checked:after{transform:translate(20px)}.setting-select{width:100%;padding:.75rem;border:2px solid var(--border-light);border-radius:8px;background:var(--background-secondary);color:var(--text-primary);font-size:.95rem;cursor:pointer;transition:all .2s}.setting-select:focus{outline:none;border-color:var(--olive-500)}.setting-slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--background-secondary);border-radius:3px;outline:none;margin:1rem 0}.setting-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--olive-500);border-radius:50%;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.setting-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 2px 8px rgba(156,180,113,.4)}.slider-value{display:block;text-align:center;font-size:.9rem;font-weight:600;color:var(--olive-600)}.settings-info-box{margin:1.25rem;padding:1rem;background:var(--info-background, #e3f2fd);border:1px solid var(--info-border, #90caf9);border-radius:8px;color:var(--info-text, #0d47a1);font-size:.875rem;line-height:1.5}.settings-info-box p{margin:0}.settings-info-box strong{font-weight:600}.settings-warning-box{margin:.75rem 1.25rem 1.25rem;padding:1rem;background:#fff3cd;border:1px solid #ffb74d;border-radius:8px;color:#7f4f00;font-size:.875rem;line-height:1.5}.settings-warning-box p{margin:0}.settings-warning-box strong{font-weight:600}.settings-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-light, #e0e0e0);background:var(--background, #ffffff);position:-webkit-sticky;position:sticky;bottom:0;z-index:1;box-shadow:0 -2px 8px rgba(0,0,0,.05)}.settings-note{margin:0;font-size:.8rem;color:var(--text-secondary);text-align:center;font-style:italic}@media (max-width: 768px){.video-call-settings-panel{width:100vw;max-width:100%}.settings-tabs{flex-direction:column}.tab-btn{justify-content:flex-start}}.video-call-overlay.video-call-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;height:100dvh;background:#000;z-index:var(--z-video-overlay, 50000);display:flex;flex-direction:column;overflow:hidden}.video-call-main-content{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:1}.video-call-floating-components{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:2}.video-call-floating-components>*{pointer-events:auto}.call-components-container{position:relative;width:100%;height:100%}.video-call-interface{width:100%;height:100%;display:flex;flex-direction:column;position:relative}.video-display-container{flex:1;width:100%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.remote-video{width:100%;height:100%;position:absolute;top:0;left:0;background:#000;display:flex;align-items:center;justify-content:center}.remote-video video{width:100%;height:100%;object-fit:contain;max-width:100%;max-height:100%}.local-video{position:fixed;top:1rem;right:1rem;width:200px;height:150px;background:#000;border-radius:8px;overflow:hidden;border:2px solid rgba(255,255,255,.2);z-index:50110;box-shadow:0 2px 8px rgba(0,0,0,.4);transition:right .3s ease}.video-call-overlay.chat-open .video-call-main-content{width:calc(100% - 320px);margin-right:0}.video-call-overlay.chat-open .local-video{right:calc(320px + 1rem)}.local-video video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1);display:block}.video-call-interface .video-call-overlay .local-video{display:block;visibility:visible;opacity:1}.audio-call-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.85);padding:2rem}.audio-call-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;max-width:500px;width:100%}.audio-avatar-container{position:relative;width:180px;height:180px;border-radius:50%;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.4);border:4px solid rgba(255,255,255,.1)}.audio-avatar-image{width:100%;height:100%;object-fit:cover}.audio-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--olive-600);color:#fff;font-size:4rem;font-weight:600}.audio-participant-name{margin:0;font-size:1.75rem;font-weight:600;color:#fff;text-align:center}.audio-status-indicator,.audio-volume-visualizer{display:flex;flex-direction:column;align-items:center;gap:.75rem}.volume-bars-container{display:flex;align-items:flex-end;gap:.5rem;height:60px}.volume-bar{width:8px;border-radius:4px;min-height:8px;transition:all .1s ease}.audio-status-label{font-size:1rem;color:rgba(255,255,255,.9);font-weight:500;text-align:center}.audio-connection-status{font-size:1.125rem;color:rgba(255,255,255,.7);margin:0;text-align:center}@media (max-width: 768px){.audio-call-container{padding:1rem}.audio-avatar-container{width:140px;height:140px}.audio-avatar-placeholder{font-size:3rem}.audio-participant-name{font-size:1.5rem}.volume-bars-container{height:50px}.audio-status-label{font-size:.9rem}.audio-connection-status{font-size:1rem}}.avatar-placeholder{width:120px;height:120px;border-radius:50%;background:var(--primary-color, #9CB471);display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;color:#fff;border:3px solid rgba(255,255,255,.2)}.avatar-placeholder.small{width:60px;height:60px;font-size:1.5rem}.avatar-placeholder.large{width:150px;height:150px;font-size:4rem}.video-call-overlay .call-controls{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;gap:1rem;padding:1rem 2rem;background:rgba(0,0,0,.8);border-radius:60px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:var(--z-video-controls);pointer-events:auto}.video-call-interface .control-btn,.video-call-overlay .control-btn,.call-controls .control-btn{width:48px;height:48px;min-width:48px;min-height:48px;max-width:48px;max-height:48px;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;position:relative;padding:0;margin:0;box-sizing:border-box;outline:none;font-family:inherit;text-decoration:none;overflow:visible;pointer-events:auto}.video-call-interface .control-btn:hover,.video-call-overlay .control-btn:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.5);transform:scale(1.05)}.video-call-interface .control-btn:active,.video-call-overlay .control-btn:active{transform:scale(.95)}.video-call-interface .control-btn.active,.video-call-overlay .control-btn.active{background:var(--primary-color);border-color:var(--primary-color)}.video-call-interface .control-btn.mute-btn.active,.video-call-overlay .control-btn.mute-btn.active,.video-call-interface .control-btn.end-call-btn,.video-call-overlay .control-btn.end-call-btn{background:#ef4444;border-color:#ef4444}.video-call-interface .control-btn.end-call-btn:hover,.video-call-overlay .control-btn.end-call-btn:hover{background:#dc2626;border-color:#dc2626}.video-call-interface .control-btn svg,.video-call-overlay .control-btn svg{width:24px;height:24px;display:block;margin:0 auto;pointer-events:none;color:currentColor}.video-call-interface .control-btn:disabled,.video-call-overlay .control-btn:disabled{opacity:.5;cursor:not-allowed;background:rgba(100,100,100,.3);border-color:rgba(255,255,255,.2)}.call-header{position:absolute;top:0;left:0;right:0;z-index:50150;background:var(--primary-500);padding:1.5rem;color:#fff}.video-container{flex:1;position:relative;background:#000;width:100%;height:100%}.screen-share-video{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;z-index:5;display:flex;align-items:center;justify-content:center}.screen-share-video video{width:100%;height:100%;object-fit:contain;max-width:100%;max-height:100%}.remote-video-pip{position:fixed;top:5rem;right:1rem;width:200px;height:150px;border-radius:8px;overflow:hidden;z-index:10;box-shadow:0 4px 12px rgba(0,0,0,.5)}.remote-video-pip video{width:100%;height:100%;object-fit:cover}.video-call-overlay .simple-transcription-container{z-index:calc(var(--z-video-overlay, 50000) + 200)}.video-call-overlay .call-chatbox{z-index:calc(var(--z-video-overlay, 50000) + 150)}@media (max-width: 768px){.local-video{width:90px;height:160px;top:4.5rem;right:.5rem;z-index:10}.local-video video{object-fit:contain}.video-call-interface .control-btn,.video-call-overlay .control-btn{width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px}.video-call-interface .control-btn svg,.video-call-overlay .control-btn svg{width:20px;height:20px}.video-call-floating-components{display:none}.avatar-placeholder.large{width:100px;height:100px;font-size:2.5rem}.remote-video{width:100%;height:100%;position:absolute;top:0;left:0}.remote-video video{width:100%;height:100%;object-fit:contain;max-width:none;max-height:none;background:#000}.video-display-container{width:100%;height:100%;position:relative;background:#000}.screen-share-video{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;display:flex;background:#000}.screen-share-video video{width:100%;height:100%;object-fit:contain;display:block}.remote-video-pip{position:fixed;top:4.5rem;right:.5rem;width:80px;height:120px;z-index:10;border-radius:8px;overflow:hidden}}.video-loading{display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.improve-modal-container{position:fixed;top:20px;right:20px;z-index:var(--z-improve-modal, 50500);pointer-events:auto}.call-ending-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;z-index:var(--z-call-ending, 50600);pointer-events:auto}.post-call-rating-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.post-call-rating-modal{background:var(--background-color, #ffffff);border-radius:8px;max-width:500px;width:100%;max-height:90vh;max-height:90dvh;overflow-y:auto;box-shadow:0 2px 4px rgba(0,0,0,.08)}.rating-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color, #e0e0e0)}.rating-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #333)}.rating-close-btn{background:none;border:none;cursor:pointer;padding:.25rem;color:var(--text-secondary, #666);transition:color .2s}.rating-close-btn:hover{color:var(--text-primary, #333)}.rating-content{padding:1.5rem}.rating-user-info{text-align:center;margin-bottom:2rem}.rating-user-info p{margin:0;color:var(--text-primary, #333);font-size:1rem}.rating-stars{display:flex;justify-content:center;gap:.5rem;margin-bottom:2rem}.star-button{background:none;border:none;cursor:pointer;padding:0;transition:transform .2s}.star-button:hover{transform:scale(1.1)}.star-filled{color:var(--primary-color, #f15a22)}.star-empty{color:var(--border-color, #e0e0e0)}.rating-comment{margin-bottom:1.5rem}.rating-comment label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary, #333)}.optional-label{color:var(--text-secondary, #666);font-weight:400;font-size:.9rem}.rating-comment textarea{width:100%;padding:.75rem;border:1px solid var(--border-color, #e0e0e0);border-radius:8px;font-family:inherit;font-size:1rem;resize:vertical;min-height:100px}.rating-comment textarea:focus{outline:none;border-color:var(--primary-color, #f15a22)}.character-count{text-align:right;font-size:.875rem;color:var(--text-secondary, #666);margin-top:.25rem}.rating-error{background-color:#fee;color:#c33;padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.rating-actions{display:flex;gap:1rem;margin-bottom:1rem}.btn-skip,.btn-submit{flex:1;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-skip{background-color:var(--background-secondary, #f5f5f5);color:var(--text-secondary, #666)}.btn-skip:hover:not(:disabled){background-color:var(--border-color, #e0e0e0)}.btn-submit{background-color:var(--primary-color, #f15a22);color:#fff}.btn-submit:hover:not(:disabled){opacity:.9}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.rating-privacy-note{text-align:center;font-size:.875rem;color:var(--text-secondary, #666);margin:0;padding-top:1rem;border-top:1px solid var(--border-color, #e0e0e0)}@media (max-width: 640px){.post-call-rating-modal{max-width:100%;margin:0;border-radius:8px 8px 0 0}.rating-stars{gap:.25rem}.star-button svg{width:40px;height:40px}.rating-actions{flex-direction:column}}.react-joyride__tooltip{max-width:420px}.react-joyride__tooltip h3{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:#1f2937}.react-joyride__tooltip p{font-size:1rem;line-height:1.5;color:#4b5563;margin-bottom:.5rem}.react-joyride__tooltip ul{margin-left:1rem}.react-joyride__tooltip li{font-size:.95rem;color:#4b5563;margin-bottom:.25rem}.react-joyride__tooltip em{font-style:italic;color:#10b981;font-weight:500}.react-joyride__spotlight{border-radius:.5rem}.react-joyride__progress{background-color:#e5e7eb;height:3px}.react-joyride__progressbar{background-color:#10b981}.react-joyride__button--primary{transition:all .2s ease}.react-joyride__button--primary:hover{background-color:#059669;transform:translateY(-1px)}.react-joyride__button--skip{transition:all .2s ease}.react-joyride__button--skip:hover{color:#374151}.react-joyride__beacon span{background-color:#10b981}.react-joyride__beacon span:nth-child(1){animation:joyride-beacon-pulse 1.2s infinite}@keyframes joyride-beacon-pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.7}to{transform:scale(2);opacity:0}}.trial-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:10003;opacity:0;transition:opacity .3s ease;padding:1rem}.trial-dialog-overlay.visible{opacity:1}.trial-dialog{background:#fff;border-radius:1rem;padding:2rem;max-width:500px;width:100%;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);position:relative;transform:scale(.9) translateY(20px);opacity:0;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.trial-dialog.visible{transform:scale(1) translateY(0);opacity:1}.trial-dialog-icon{font-size:3rem;text-align:center;margin-bottom:1rem;animation:bounce 1s ease-in-out}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.trial-dialog-title{font-size:1.75rem;font-weight:700;text-align:center;color:#1f2937;margin-bottom:1rem}.trial-dialog-description{font-size:1rem;line-height:1.5;color:#4b5563;text-align:center;margin-bottom:1.5rem}.trial-dialog-features{background-color:#f9fafb;border-radius:.75rem;padding:1.25rem;margin-bottom:1.5rem}.trial-feature{display:flex;align-items:center;gap:.75rem;margin-bottom:.875rem;font-size:.9375rem;color:#374151}.trial-feature:last-child{margin-bottom:0}.trial-feature-icon{width:20px;height:20px;color:#10b981;flex-shrink:0}.trial-dialog-actions{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.trial-dialog-button{padding:.875rem 1.5rem;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;border:none;width:100%}.trial-dialog-button.primary{background-color:#10b981;color:#fff}.trial-dialog-button.primary:hover{background-color:#059669;transform:translateY(-1px)}.trial-dialog-button.secondary{background-color:#fff;color:#10b981;border:2px solid #10b981}.trial-dialog-button.secondary:hover{background-color:#f0fdf4;transform:translateY(-1px)}.trial-dialog-note{font-size:.8125rem;color:#6b7280;text-align:center;margin:0;padding:0 1rem}.trial-dialog-close{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;padding:.5rem;color:#9ca3af;transition:color .2s ease}.trial-dialog-close:hover{color:#4b5563}.trial-dialog-close svg{width:20px;height:20px}@media (max-width: 640px){.trial-dialog{padding:1.5rem;margin:1rem}.trial-dialog-title{font-size:1.5rem}.trial-dialog-description{font-size:.9375rem}.trial-dialog-button{padding:.75rem 1.25rem;font-size:.9375rem}}.welcome-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000000}.welcome-popup-wrapper{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000001;width:90%;max-width:600px;max-height:90vh;max-height:90dvh}.welcome-popup-container{width:100%;height:100%;background:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.2);overflow:hidden;display:flex;flex-direction:column}.welcome-popup-close{position:absolute;top:16px;right:16px;background:rgba(255,255,255,.9);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10;color:#333}.welcome-popup-close:hover{background:#fff;transform:scale(1.05);box-shadow:0 2px 8px rgba(0,0,0,.15)}.welcome-popup-image{width:100%;height:250px;overflow:hidden;flex-shrink:0;margin-top:20px}.welcome-popup-image img{width:100%;height:100%;object-fit:cover;object-position:center 60%}.welcome-popup-content{padding:32px;overflow-y:auto;flex:1}.welcome-popup-title{font-size:28px;font-weight:700;color:#9cb847;margin:0 0 24px;text-align:center}.welcome-popup-message{color:#4b5563;font-size:16px;line-height:1.6;margin-bottom:32px}.welcome-popup-message p{margin:0 0 16px}.welcome-popup-message p:last-child{margin-bottom:0}.welcome-popup-signature{font-style:italic;margin-top:24px!important;padding-top:24px;border-top:1px solid #e5e7eb}.welcome-popup-signature strong{color:#9cb847;font-style:normal}.welcome-popup-button{width:100%;padding:16px 24px;background:#9cb847;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px rgba(0,0,0,.1)}.welcome-popup-button:hover{background:#8aa63d;transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.welcome-popup-button:active{transform:translateY(0)}@media (max-width: 640px){.welcome-popup-overlay{z-index:1000000!important;position:fixed!important;display:block!important}.welcome-popup-wrapper{width:95%;max-height:95vh;max-height:95dvh;z-index:1000001!important;position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;display:block!important}.welcome-popup-container{max-height:95vh;max-height:95dvh;overflow-y:auto;display:flex!important}.welcome-popup-image{height:200px}.welcome-popup-content{padding:24px}.welcome-popup-title{font-size:24px}.welcome-popup-message{font-size:15px}.welcome-popup-button{padding:14px 20px;font-size:15px}}@media (max-width: 768px) and (min-width: 641px){.welcome-popup-overlay{z-index:1000000!important;position:fixed!important;display:block!important}.welcome-popup-wrapper{z-index:1000001!important;position:fixed!important;display:block!important}.welcome-popup-image{height:220px}.welcome-popup-content{padding:28px}}.chat-page{display:flex;width:100vw;flex-direction:row;position:fixed;left:0;right:0;top:var(--nav-height, 64px);height:calc(100vh - var(--nav-height, 64px));height:calc(100dvh - var(--nav-height, 64px));background:#fff;box-sizing:border-box;overflow:visible;max-width:100vw;padding-top:0;margin-top:0;z-index:auto}.chat-main,.chat-main-area{flex:1 1 auto;display:flex;flex-direction:column;height:100%;overflow:visible;border-left:none;background-color:#fff;width:100%;box-sizing:border-box}.chat-main.ai-tutor-chat,.chat-main-area.ai-tutor-chat{padding-top:0}.chat-header{position:-webkit-sticky;position:sticky;top:0;margin-top:0;z-index:var(--z-chat-header, 200);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:.75rem 1rem;background:var(--background-cream);border-bottom:none;box-shadow:0 2px 4px rgba(0,0,0,.1);min-height:60px}body.video-call-active .chat-header,body:has(.video-call-overlay) .chat-header,body:has(.video-call-interface) .chat-header,body:has(.simple-transcription-container) .chat-header{z-index:var(--z-below-video)}.chat-main:has(.chat-header .ai-badge) .chat-header,.chat-main-area:has(.chat-header .ai-badge) .chat-header,.ai-tutor-chat .chat-header{margin-top:0;padding-top:.75rem}.chat-header-user{display:flex;align-items:center;gap:1rem}.chat-header-avatar,.chat-header-avatar-placeholder{width:48px;height:48px;border-radius:50%;flex-shrink:0}.chat-header-avatar{object-fit:cover;border:2px solid var(--orange-500);transition:all .2s ease}.chat-header-avatar:hover{transform:scale(1.05);box-shadow:0 0 0 4px rgba(251,146,60,.2)}.chat-header-avatar-placeholder{background:var(--primary-500);color:var(--text-on-primary);display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;border:2px solid var(--orange-500);transition:all .2s ease}.chat-header-avatar-placeholder:hover{transform:scale(1.05);box-shadow:0 0 0 4px rgba(251,146,60,.2)}.chat-header-info h2{margin:0 0 .25rem;color:var(--text-primary);font-size:1.25rem;font-weight:600}.header-actions{display:flex;align-items:center;gap:.75rem}.connection-status{padding:.25rem .5rem;border-radius:8px;font-size:.75rem;font-weight:600}.connection-status.error{background:rgba(220,38,38,.1);color:var(--red-500);border:1px solid rgba(220,38,38,.3)}.error-message{padding:.75rem 1rem;background-color:rgba(220,38,38,.1);color:var(--red-500);border:1px solid rgba(220,38,38,.3);border-radius:var(--radius-md);margin-bottom:1rem;font-size:.875rem}.messages-container{flex:1;min-height:0;max-width:100%;width:100%;overflow-y:auto;overflow-x:hidden;padding:.75rem;gap:.5rem;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;display:flex;flex-direction:column;box-sizing:border-box;background-color:#fff}.message-form{flex-shrink:0;width:100%;position:relative;z-index:20;padding:1.5rem;background:var(--background-cream);border-top:none;color:var(--text-primary);display:flex;gap:1rem;align-items:center;box-shadow:0 -2px 4px rgba(0,0,0,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:60px;box-sizing:border-box;max-width:100%}.input-container{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;background:var(--orange-light);border:2px solid transparent;border-radius:25px;padding:.25rem;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:none}.message-form .input-container:focus-within{border-color:#fbc184;box-shadow:0 0 0 3px rgba(251,193,132,.2);background:rgba(251,193,132,.05);transform:none}.message-input{flex:1;padding:.75rem 1rem;border:none;border-radius:20px;font-size:16px;background:transparent;color:var(--text-primary);outline:none;min-height:44px;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.message-input:focus{outline:none}.message-input::placeholder{color:var(--text-muted);font-style:italic}.input-actions{display:flex;align-items:center;gap:.5rem;padding-right:.5rem;padding-left:.25rem;flex-shrink:0;height:40px}.voice-btn{background:var(--red-500);border:1px solid rgba(220,38,38,.4);border-radius:50%;padding:0;margin:0;color:var(--text-on-primary);cursor:pointer;transition:all .2s ease;font-size:1rem;display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;box-shadow:0 2px 8px rgba(220,38,38,.25)}.voice-btn:hover:not(:disabled){background:var(--red-600);border-color:var(--red-600);color:var(--text-on-primary);transform:scale(1.05);box-shadow:0 4px 12px rgba(220,38,38,.4)}.voice-btn:disabled{opacity:.6;cursor:not-allowed;background:var(--color-danger-500);box-shadow:0 1px 3px rgba(220,38,38,.15);transform:none}.send-button{flex-shrink:0;padding:0 1rem;margin:0;background:var(--orange-500);color:var(--text-on-primary);border:none;border-radius:20px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:80px;height:40px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;-webkit-tap-highlight-color:transparent;box-shadow:0 2px 8px rgba(251,146,60,.25)}.send-button:hover:not(:disabled){background:var(--orange-600);transform:translateY(-2px);box-shadow:0 4px 12px rgba(251,146,60,.4)}.send-button:disabled{background:var(--orange-300);opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.incoming-call-notification{position:fixed;top:calc(var(--nav-height, 64px) + 1rem);left:1rem;right:1rem;z-index:var(--z-modal, 500);background:var(--background-dark);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:2rem;box-shadow:var(--shadow-xl);border:1px solid rgba(255,255,255,.1);animation:slideIn .3s ease-out}body.video-call-active .incoming-call-notification,body:has(.video-call-overlay) .incoming-call-notification,body:has(.video-call-interface) .incoming-call-notification{z-index:var(--z-below-video)}.call-notification-content{text-align:center;color:var(--text-on-primary)}.call-notification-content h3{margin:0 0 .5rem;font-size:1.5rem;color:var(--primary-color)}.call-notification-content p{margin:0 0 1.5rem;color:rgba(255,255,255,.8)}.call-actions{display:flex;gap:1rem;justify-content:center}.accept-call-btn,.reject-call-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:100px}.accept-call-btn{background:var(--green-500);color:var(--text-on-primary)}.accept-call-btn:hover{background:var(--green-600);transform:translateY(-1px)}.reject-call-btn{background:var(--red-500);color:var(--text-on-primary)}.reject-call-btn:hover{background:var(--red-600);transform:translateY(-1px)}@keyframes slideIn{0%{opacity:0;transform:translate(-50%,-60%)}to{opacity:1;transform:translate(-50%,-50%)}}.no-chat-selected,.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary);text-align:center;padding:3rem;background:var(--background-secondary);border-radius:0;box-shadow:none;border:1px solid var(--border-color);box-sizing:border-box;height:100%;width:100%}.no-chat-selected h2{margin:0 0 1rem;color:var(--text-primary);background:var(--primary-color);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.welcome-actions{margin-top:2rem;display:flex;gap:1rem;justify-content:center}.welcome-actions .btn{padding:.75rem 1.5rem;border-radius:0;font-weight:600;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.welcome-actions .btn-secondary{background:rgba(255,255,255,.1);color:var(--text-primary);border:1px solid rgba(255,255,255,.2)}.welcome-actions .btn-secondary:hover{background:rgba(156,180,113,.2);border-color:rgba(156,180,113,.4);transform:translateY(-1px)}.ai-thinking{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:rgba(156,180,113,.1);border:1px solid rgba(156,180,113,.2);border-radius:15px;margin:.5rem 0;max-width:70%;align-self:flex-start;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.thinking-indicator{display:flex;gap:.5rem;align-items:center}.thinking-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-500);animation:thinkingPulse 1.4s ease-in-out infinite both}.thinking-dot:nth-child(1){animation-delay:-.32s}.thinking-dot:nth-child(2){animation-delay:-.16s}.thinking-dot:nth-child(3){animation-delay:0}@keyframes thinkingPulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.thinking-text{color:var(--primary-color);font-style:italic;font-size:.9rem;font-weight:500}.message-bubble.streaming{position:relative;overflow:hidden}.message-bubble.streaming:after{content:"";position:absolute;top:0;right:0;bottom:0;width:3px;background:var(--primary-500);animation:streamingCursor 1s ease-in-out infinite}@keyframes streamingCursor{0%,50%{opacity:1}51%,to{opacity:0}}.message-form .send-button[disabled]{background:var(--primary-light);cursor:not-allowed;transform:none;box-shadow:none;opacity:.6}.message-form .message-input[disabled]{background:var(--background-secondary);border-color:var(--border-light);cursor:not-allowed;color:var(--text-muted)}.message-form .message-input[disabled]::placeholder{color:var(--text-muted)}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:var(--background)}.messages-container::-webkit-scrollbar-thumb{background:var(--primary-500);border-radius:var(--radius-lg, 8px)}@media (max-width: 768px){.chat-page{position:fixed;top:var(--nav-height, 56px);left:0;right:0;bottom:0;height:calc(100vh - var(--nav-height, 56px));height:calc(100dvh - var(--nav-height, 56px));display:flex;flex-direction:column;overflow:visible}.chat-main-area,.chat-main{flex:1;display:flex;flex-direction:column;overflow:visible;min-height:0}.messages-container{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;min-height:0}.message-form{flex-shrink:0}.chat-main,.chat-main-area{flex:1;display:flex;flex-direction:column;height:100%;overflow:visible;background-color:var(--background-white);border-left:none;padding-top:0}.chat-header{position:relative;top:0;margin-top:0;z-index:10;flex-shrink:0;padding:.75rem 1rem;background:var(--background-cream);border-bottom:none;box-shadow:0 2px 4px rgba(0,0,0,.1);min-height:60px}.chat-header-user{gap:.75rem}.chat-header-info h2{font-size:1rem;margin:0 0 .25rem}.header-actions{gap:.5rem}.call-btn,.feedback-btn,.conversation-settings-btn,.profile-btn,.settings-btn{min-width:32px;height:32px;font-size:1rem;padding:.4rem}.back-nook{position:absolute;left:0;top:50%;transform:translateY(-50%);width:24px;height:48px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-left:none;border-radius:0 12px 12px 0;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);font-size:.9rem;z-index:10;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:none}.back-nook:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.25);color:rgba(255,255,255,.9);width:28px;box-shadow:none}.back-nook:active{background:rgba(255,255,255,.2);transform:translateY(-50%) scale(.95)}.messages-container{flex:1 1 auto;min-height:0;max-width:100%;width:100%;overflow-y:auto;overflow-x:hidden;padding:.75rem;gap:.5rem;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;display:flex;flex-direction:column;box-sizing:border-box;margin:0;left:0;right:0}.message-form{flex-shrink:0;width:100%;max-width:100%;display:flex;align-items:center;flex-wrap:nowrap;gap:.75rem;box-sizing:border-box;padding:1rem;background:var(--background-cream);border-top:none;color:var(--text-primary);box-shadow:0 -2px 4px rgba(0,0,0,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:60px;position:relative;z-index:10;margin:0;left:0;right:0}.input-container{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:.5rem;background:var(--background-secondary);border:none;border-radius:25px;padding:.5rem;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:none;box-sizing:border-box;max-width:100%;width:100%;margin:0;left:0;right:0}.message-input{flex:1;padding:.75rem 1rem;border:none;border-radius:20px;font-size:16px;background:transparent;color:var(--text-primary);outline:none;min-height:44px;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;margin:0;width:100%;box-sizing:border-box}.input-actions{display:flex;align-items:center;gap:.5rem;padding:0 .25rem;flex-shrink:0;margin:0}.voice-btn{background:var(--red-500);border:1px solid rgba(220,38,38,.4);border-radius:50%;padding:0;margin:0;color:var(--text-on-primary);cursor:pointer;transition:all .2s ease;font-size:1rem;display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;box-shadow:0 2px 8px rgba(220,38,38,.25)}.send-button{flex-shrink:0;padding:0 1rem;margin:0;background:var(--primary-color);color:var(--text-on-primary);border:none;border-radius:20px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:80px;height:40px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.ai-thinking{max-width:85%;padding:.75rem 1rem}.thinking-text{font-size:.8rem}.thinking-dot{width:6px;height:6px}.welcome-user-info{flex-direction:column;text-align:center;gap:1rem;margin:1rem 0;padding:1rem}.welcome-avatar-image,.welcome-avatar-placeholder{width:50px;height:50px;font-size:1.25rem}.welcome-user-details h3{font-size:1.1rem}.welcome-user-details p{font-size:.85rem}.incoming-call-notification{position:fixed;top:calc(var(--nav-height, 64px) + 1rem);left:1rem;right:1rem;z-index:1000}.no-chat-selected{padding:2rem 1rem;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-y:auto;-webkit-overflow-scrolling:touch;width:100%;box-sizing:border-box;margin:0;left:0;right:0}.no-chat-selected h2{font-size:1.5rem}}@media (min-width: 769px){.chat-page{display:flex;flex-direction:row;top:var(--nav-height, 64px);padding-top:0;margin-top:0;height:calc(100vh - var(--nav-height, 64px));height:calc(100dvh - var(--nav-height, 64px));box-sizing:border-box;overflow:visible;width:100vw;max-width:100vw}.chat-main,.chat-main-area{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;width:100%;box-sizing:border-box}.messages-container{flex:1 1 auto;min-height:0;max-width:100%;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.chat-list{display:flex;flex-direction:column;width:280px;min-width:280px;max-width:280px;height:100%;flex-shrink:0}.empty-state,.no-chat-selected{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%}}.message-group{display:flex;flex-direction:column;margin-bottom:.5rem}.welcome-user-info{display:flex;align-items:center;gap:1rem;margin:2rem 0;padding:1.5rem;background:rgba(255,255,255,.05);border-radius:0;border:1px solid rgba(255,255,255,.1)}.welcome-user-avatar{flex-shrink:0}.welcome-avatar-image{width:60px;height:60px;border-radius:50%;object-fit:cover;border:3px solid var(--orange-500)}.welcome-avatar-placeholder{width:60px;height:60px;border-radius:50%;background:var(--primary-500);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:var(--text-on-primary);border:3px solid var(--orange-500)}.welcome-user-details h3{margin:0 0 .5rem;color:var(--text-primary);font-size:1.25rem}.welcome-user-details p{margin:0;color:var(--text-secondary);font-size:.9rem}.chat-page{display:flex;flex-direction:row}@media screen and (min-width: 769px){.chat-page{display:flex;flex-direction:row;width:100vw;position:fixed;left:0;right:0;top:var(--nav-height, 64px);height:calc(100vh - var(--nav-height, 64px));height:calc(100dvh - var(--nav-height, 64px))}.chat-list{width:280px;min-width:280px;max-width:280px;flex-shrink:0}.empty-state,.no-chat-selected{flex:1}}.location-input-container{position:relative;width:100%}.location-input-wrapper{position:relative;display:flex;align-items:center;background:var(--background);border:2px solid var(--border-color);border-radius:var(--radius-md);transition:all .2s ease;overflow:hidden}.location-input-wrapper:focus-within{border-color:var(--primary-600);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.location-input{flex:1;padding:12px 16px;border:none;background:transparent;font-size:16px;color:var(--text-primary);outline:none}.location-input::placeholder{color:var(--text-secondary)}.location-input:disabled{background:var(--background-soft);color:var(--text-muted);cursor:not-allowed}.location-input-icon{width:20px;height:20px;color:var(--text-secondary);flex-shrink:0}.location-clear-btn{padding:8px;background:none;border:none;cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-sm);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.location-clear-btn:hover{color:var(--text-primary);background:var(--background-hover)}.location-detect-btn{padding:8px 12px;background:var(--primary-50);border:none;cursor:pointer;color:var(--primary-600);transition:all .2s ease;display:flex;align-items:center;justify-content:center;border-left:1px solid var(--border-light)}.location-detect-btn:hover:not(:disabled){background:var(--primary-100);color:var(--primary-700)}.location-detect-btn:disabled{cursor:not-allowed;opacity:.6}.location-detect-btn.detecting{background:var(--primary-100)}.location-spinner{width:20px;height:20px;border:2px solid var(--primary-200);border-top:2px solid var(--primary-600);border-radius:50%;animation:location-spin 1s linear infinite}@keyframes location-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.location-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--background);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;max-height:200px;overflow-y:auto;margin-top:4px}.location-suggestion{display:flex;align-items:center;padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--border-light);transition:background-color .2s ease;gap:12px}.location-suggestion:last-child{border-bottom:none}.location-suggestion:hover,.location-suggestion.selected{background:var(--background-hover)}.location-suggestion.loading{cursor:default;opacity:.7}.suggestion-icon{width:16px;height:16px;color:var(--text-secondary);flex-shrink:0}.suggestion-content{flex:1;min-width:0}.suggestion-name{font-weight:500;color:var(--text-primary);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-details{font-size:12px;color:var(--text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-spinner{width:16px;height:16px;border:2px solid var(--border-color);border-top:2px solid var(--primary-600);border-radius:50%;animation:location-spin 1s linear infinite}@media (max-width: 768px){.location-input{padding:10px 14px;font-size:16px}.location-suggestions{max-height:150px}.location-suggestion{padding:10px 14px}}@media (prefers-color-scheme: dark){.location-input-wrapper,.location-suggestions{background:var(--background-dark);border-color:var(--border-dark)}.location-suggestion{border-bottom-color:var(--border-dark)}.location-suggestion:hover,.location-suggestion.selected{background:var(--background-hover-dark)}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border:none;border-radius:var(--radius-md);font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease;text-decoration:none;outline:none;min-width:auto;position:relative;overflow:hidden}.btn:focus{outline:2px solid var(--primary-500);outline-offset:2px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:disabled:hover{transform:none}.btn-base{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border:none;border-radius:12px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease;text-decoration:none;outline:none;min-width:auto;position:relative;overflow:hidden}.btn-base:focus{outline:2px solid var(--primary-500);outline-offset:2px}.btn-base:disabled{opacity:.6;cursor:not-allowed}.btn-base:disabled:hover{transform:none}.btn.btn-primary,.btn-base.btn-primary{background:linear-gradient(135deg,var(--orange-600) 0%,var(--orange-700) 100%);color:#fff;box-shadow:0 4px 12px rgba(255,140,0,.25);font-weight:600}.btn.btn-primary:hover:not(:disabled),.btn-base.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--orange-700) 0%,var(--orange-800) 100%);transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,140,0,.35)}.btn.btn-primary:active:not(:disabled),.btn-base.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 3px 10px rgba(255,140,0,.3)}.btn.btn-secondary,.btn-base.btn-secondary{background:#fff;color:var(--olive-700);border:2px solid var(--olive-500);font-weight:600}.btn.btn-secondary:hover:not(:disabled),.btn-base.btn-secondary:hover:not(:disabled){background:var(--olive-500);color:#fff;border-color:var(--olive-600);transform:translateY(-1px);box-shadow:0 4px 12px rgba(156,184,71,.2)}.btn.btn-secondary:active:not(:disabled),.btn-base.btn-secondary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px rgba(156,184,71,.15)}.btn-danger{background:var(--error-500);color:#fff;box-shadow:0 2px 8px rgba(239,68,68,.2)}.btn-danger:hover:not(:disabled){background:var(--error-600);transform:translateY(-1px);box-shadow:0 4px 12px rgba(239,68,68,.3)}.btn-danger:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px rgba(239,68,68,.2)}.btn-sm{padding:.5rem 1rem;font-size:.8rem}.btn-lg{padding:1rem 2rem;font-size:1rem}.btn-xl{padding:1.25rem 2.5rem;font-size:1.1rem}.btn-full{width:100%}.btn-auto{width:auto}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent;box-shadow:none}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.btn-icon{padding:.75rem;border-radius:50%;width:auto;height:auto;min-width:2.5rem;min-height:2.5rem}.btn-friend{background:#9cb847;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px rgba(0,0,0,.1)}.btn-friend:hover:not(:disabled){background:#8aa33d;transform:translateY(-1px)}.btn-friend.pending{background:var(--gray-200);color:var(--gray-700);border:1px solid var(--gray-300)}.btn-friend.pending:hover:not(:disabled){background:var(--gray-300)}.btn-friend.pending-received{background:#f97316;color:#fff;cursor:default}@media (prefers-color-scheme: dark){.btn-friend{background:#9cb847}.btn-friend:hover:not(:disabled){background:#b0cc5a}.btn-friend.pending{background:var(--gray-700);color:var(--gray-300);border-color:var(--gray-600)}.btn-friend.pending:hover:not(:disabled){background:var(--gray-600)}.btn-friend.pending-received{background:#f97316}}@media (max-width: 768px){.btn-base{padding:.6rem 1.2rem;font-size:.85rem}.btn-sm{padding:.4rem .8rem;font-size:.75rem}.btn-lg{padding:.8rem 1.6rem;font-size:.95rem}.btn-xl{padding:1rem 2rem;font-size:1rem}.btn-full{width:100%;min-width:auto}}@media (prefers-contrast: high){.btn-primary{border:2px solid var(--text-on-primary)}.btn-secondary{border-width:3px}.btn-danger{border:2px solid white}}.profile-page{min-height:calc(100vh - var(--nav-height, 64px));background:var(--background-soft);color:var(--text-primary);padding:2rem;padding-top:calc(var(--nav-height, 64px) + 2rem);box-sizing:border-box;overflow-y:auto;position:relative}.profile-page .profile-back-button{margin-bottom:2rem}.profile-page .back-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--background-light);border:2px solid var(--border-light);border-radius:12px;color:var(--text-primary);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px rgba(0,0,0,.05)}.profile-page .back-btn:hover{background:var(--background-secondary);border-color:var(--text-secondary);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.profile-page .profile-header{display:flex;align-items:flex-start;gap:2rem;margin-bottom:3rem;padding:2rem;background:var(--background-light);border-radius:20px;border:1px solid var(--border-light);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.profile-page .profile-avatar{position:relative;flex-shrink:0}.profile-page .profile-avatar img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid var(--border-light);box-shadow:0 2px 8px rgba(0,0,0,.1)}.profile-page .picture-controls{position:absolute;bottom:-5px;right:-5px;display:flex;gap:.5rem;z-index:10}.profile-page .change-picture-btn{width:40px;height:40px;border-radius:50%;border:3px solid white;background:linear-gradient(135deg,var(--orange-500) 0%,var(--orange-600) 100%);color:#fff;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 4px 12px rgba(249,115,22,.4),0 2px 4px rgba(0,0,0,.1);position:relative}.profile-page .change-picture-btn:hover{background:linear-gradient(135deg,var(--orange-600) 0%,var(--orange-700) 100%);transform:scale(1.15) rotate(5deg);box-shadow:0 6px 20px rgba(249,115,22,.5),0 4px 8px rgba(0,0,0,.15)}.profile-page .change-picture-btn:active{transform:scale(1.05) rotate(5deg);box-shadow:0 2px 8px rgba(249,115,22,.4)}.profile-page .remove-picture-btn{width:40px;height:40px;border-radius:50%;border:3px solid white;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 4px 12px rgba(220,38,38,.4),0 2px 4px rgba(0,0,0,.1);position:relative}.profile-page .remove-picture-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:scale(1.15) rotate(-5deg);box-shadow:0 6px 20px rgba(220,38,38,.5),0 4px 8px rgba(0,0,0,.15)}.profile-page .remove-picture-btn:active{transform:scale(1.05) rotate(-5deg);box-shadow:0 2px 8px rgba(220,38,38,.4)}.profile-page .profile-info{flex:1}.profile-page .profile-info h1{margin:0 0 .5rem;font-size:2.5rem;font-weight:700;color:var(--text-primary)}.profile-page .profile-username{margin:0 0 1rem;font-size:1.1rem;color:var(--text-secondary)}.profile-page .profile-location{margin:.5rem 0;color:var(--text-secondary);font-size:1rem}.profile-page .profile-activity{margin:0;color:var(--text-muted);font-size:.9rem}.profile-page .edit-name-section{margin-bottom:.5rem}.profile-page .edit-name-input{width:100%;padding:.75rem;border:2px solid var(--border-light);border-radius:8px;background:var(--background-secondary);color:var(--text-primary);font-size:2.5rem;font-weight:700;transition:border-color .2s ease;box-sizing:border-box}.profile-page .edit-name-input:focus{outline:none;border-color:var(--orange-500)}.profile-page .edit-location-section{margin:.5rem 0}.profile-page .edit-location-input{width:100%}.profile-page .edit-location-input .location-input-wrapper{border-radius:6px;border:2px solid var(--border-light);background:var(--background-secondary)}.profile-page .edit-location-input .location-input{padding:8px 12px 8px 44px;font-size:1rem;color:var(--text-secondary);background:transparent}.profile-page .edit-location-input .location-input-wrapper:focus-within{border-color:var(--orange-500)}.profile-page .edit-textarea{width:100%;padding:.75rem;border:2px solid var(--border-light);border-radius:8px;background:var(--background-secondary);color:var(--text-primary);font-size:1rem;transition:border-color .2s ease;box-sizing:border-box;resize:vertical;min-height:100px;font-family:inherit}.profile-page .edit-textarea:focus{outline:none;border-color:var(--orange-500)}.profile-page .edit-language-section{display:flex;flex-direction:column;gap:.5rem}.profile-page .language-tag-container{display:inline-flex;align-items:center;gap:.5rem;background:var(--orange-500);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.9rem;font-weight:500;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content}.profile-page .remove-language-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s ease}.profile-page .remove-language-btn:hover{background:rgba(255,255,255,.2)}.profile-page .add-language-btn{background:var(--background-secondary);color:var(--orange-500);border:2px dashed var(--orange-500);border-radius:8px;padding:.5rem 1rem;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease;text-align:center}.profile-page .add-language-btn:hover{background:var(--orange-500);color:#fff;border-style:solid}.profile-page .learning-goals-container{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.profile-page .goal-tag-container{display:inline-flex;align-items:center;gap:.5rem;background:var(--orange-500);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.9rem;font-weight:500;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content}.profile-page .goal-tag{color:#fff}.profile-page .remove-goal-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s ease}.profile-page .remove-goal-btn:hover{background:rgba(255,255,255,.2)}.profile-page .add-goal-btn{background:var(--background-secondary);color:var(--orange-500);border:2px dashed var(--orange-500);border-radius:8px;padding:.5rem 1rem;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease;text-align:center}.profile-page .add-goal-btn:hover{background:var(--orange-500);color:#fff;border-style:solid}.profile-page .profile-select{width:100%;padding:.75rem;border:2px solid var(--border-light);border-radius:8px;background:var(--background-secondary);color:var(--text-primary);font-size:1rem;transition:border-color .2s ease;cursor:pointer}.profile-page .profile-select:focus{outline:none;border-color:var(--orange-500)}.profile-page .profile-gender{margin:.5rem 0;color:var(--text-secondary);font-size:1rem;font-style:italic}.profile-page .profile-gender-preferences{margin:.75rem 0;padding:.75rem;background:var(--background-secondary);border-radius:8px;border:1px solid var(--border-light)}.profile-page .profile-gender-preferences p{margin:.25rem 0;font-size:.9rem;color:var(--text-secondary)}.profile-page .profile-gender-preferences strong{color:var(--text-primary)}.profile-page .checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:1rem;color:var(--text-primary)}.profile-page .checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--orange-500);cursor:pointer}.profile-page .modern-checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:1rem;color:var(--text-primary);position:relative;padding:.75rem 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.profile-page .modern-checkbox{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.profile-page .checkbox-custom{position:relative;height:22px;width:22px;background:var(--background-light);border:2px solid var(--border-light);border-radius:6px;transition:all .2s ease;flex-shrink:0}.profile-page .modern-checkbox-label:hover .checkbox-custom{border-color:var(--orange-500);background:rgba(249,115,22,.05)}.profile-page .modern-checkbox:checked~.checkbox-custom{background:var(--orange-500);border-color:var(--orange-500)}.profile-page .checkbox-custom:after{content:"";position:absolute;display:none;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.profile-page .modern-checkbox:checked~.checkbox-custom:after{display:block}.profile-page .modern-checkbox:focus~.checkbox-custom{outline:2px solid var(--orange-500);outline-offset:2px}.profile-page .checkbox-text{flex:1;color:var(--text-primary);font-weight:500}.profile-page .warning-text{font-size:.85rem;color:var(--orange-500);margin-top:.5rem;margin-left:2.5rem;font-style:italic}.profile-page .profile-actions{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.profile-page .section-actions{display:flex;gap:1rem;justify-content:flex-end;align-items:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-light)}.profile-page .profile-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;border:1.5px solid transparent;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;min-width:180px;justify-content:center;position:relative;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.profile-page .profile-btn.primary{background:linear-gradient(135deg,var(--orange-500) 0%,var(--orange-600) 100%);color:#fff;border-color:var(--orange-500);box-shadow:0 4px 12px rgba(249,115,22,.3);font-weight:600}.profile-page .profile-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,var(--orange-600) 0%,var(--orange-700) 100%);transform:translateY(-2px);box-shadow:0 6px 20px rgba(249,115,22,.4)}.profile-page .profile-btn.secondary{background:#fff;color:var(--orange-600);border:2px solid var(--orange-500);box-shadow:0 2px 8px rgba(249,115,22,.15);font-weight:600}.profile-page .profile-btn.secondary:hover:not(:disabled){background:var(--orange-50);border-color:var(--orange-600);color:var(--orange-700);transform:translateY(-2px);box-shadow:0 4px 12px rgba(249,115,22,.25)}.profile-page .profile-btn.review{background:linear-gradient(135deg,#fbbf24 0%,var(--orange-500) 100%);color:#fff;border-color:var(--orange-500);box-shadow:0 4px 12px rgba(251,191,36,.3);font-weight:600}.profile-page .profile-btn.review:hover:not(:disabled){background:linear-gradient(135deg,var(--orange-500) 0%,var(--orange-600) 100%);transform:translateY(-2px);box-shadow:0 6px 20px rgba(249,115,22,.4)}.profile-page .profile-btn.danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-color:#dc2626;box-shadow:0 4px 12px rgba(220,38,38,.3);font-weight:600}.profile-page .profile-btn.danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px);box-shadow:0 6px 20px rgba(220,38,38,.4)}.profile-page .profile-btn.report{background:#fff;color:#dc2626;border:2px solid #ef4444;box-shadow:0 2px 8px rgba(220,38,38,.15);font-weight:600}.profile-page .profile-btn.report:hover:not(:disabled){background:#fef2f2;border-color:#dc2626;color:#b91c1c;transform:translateY(-2px);box-shadow:0 4px 12px rgba(220,38,38,.25)}.profile-page .profile-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 2px 4px rgba(0,0,0,.1)}.profile-page .profile-content{display:grid;gap:2rem}.profile-page .profile-section{background:var(--background-light);border-radius:16px;padding:2rem;border:1px solid var(--border-light);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.profile-page .profile-section h2{margin:0 0 1.5rem;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.profile-page .languages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.profile-page .language-card{background:var(--background-secondary);padding:1.5rem;border-radius:12px;border:1px solid var(--border-light)}.profile-page .language-card h3{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.profile-page .language-card p{margin:0;color:var(--text-secondary);font-size:1rem}.profile-page .language-tags{display:flex;flex-wrap:wrap;gap:.5rem}.profile-page .language-tag{background:var(--orange-500);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.9rem;font-weight:500}.profile-page .profile-bio{color:var(--text-secondary);line-height:1.6;font-size:1rem;margin:0}.profile-page .reviews-list{display:grid;gap:1rem}.profile-page .review-card{background:var(--background-secondary);padding:1.5rem;border-radius:12px;border:1px solid var(--border-light)}.profile-page .review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.profile-page .reviewer-info{display:flex;flex-direction:column;gap:.25rem}.profile-page .reviewer-name{font-weight:600;color:var(--text-primary);font-size:1rem}.profile-page .review-date{color:var(--text-muted);font-size:.9rem}.profile-page .review-rating{font-size:1.2rem}.profile-page .review-text{color:var(--text-secondary);line-height:1.5;margin:0 0 .5rem}.profile-page .review-language{color:var(--text-muted);font-size:.9rem;margin:0;font-style:italic}.profile-page .account-info{display:grid;gap:1rem}.profile-page .info-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--background-secondary);border-radius:8px;border:1px solid var(--border-light)}.profile-page .info-label{font-weight:600;color:var(--text-primary);font-size:.9rem}.profile-page .info-value{color:var(--text-secondary);font-size:.9rem}.profile-page .loading,.profile-page .error{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:1.2rem;color:var(--text-secondary)}.profile-page .error{color:var(--red-500)}.profile-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.profile-page .modal-content{background:var(--background-light);border-radius:16px;border:1px solid var(--border-light);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px rgba(0,0,0,.3)}.profile-page .modal-header{display:flex;justify-content:center;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-light);position:relative}.profile-page .modal-header h3{margin:0;font-size:1.3rem;text-align:center;font-weight:600;color:var(--text-primary)}.profile-page .modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease}.profile-page .modal-close:hover{background:var(--background-secondary);color:var(--text-primary)}.profile-page .modal-body{padding:1.5rem}.profile-page .modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid var(--border-light)}.profile-page .rating-input{display:flex;gap:.5rem}.profile-page .star-btn{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease;color:var(--text-muted)}.profile-page .star-btn:hover{color:var(--orange-500);transform:scale(1.1)}.profile-page .star-btn.active{color:var(--orange-500)}.profile-page .privacy-settings{display:flex;flex-direction:column;gap:1.5rem}.profile-page .privacy-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;background:var(--surface);border-radius:12px;border:1px solid var(--border-light)}.profile-page .privacy-info h3{font-size:1.1rem;color:var(--text-primary);margin-bottom:.5rem}.profile-page .privacy-info p{font-size:.9rem;color:var(--text-secondary);margin:0}.profile-page .profile-btn.danger{background:var(--red-500);color:#fff}.profile-page .profile-btn.danger:hover{background:var(--red-600)}.profile-page .delete-account-section{border:2px solid var(--red-500);background:#fef2f2}.profile-page .delete-account-section h2{color:var(--red-600)}.profile-page .delete-modal .warning-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.profile-page .delete-modal .warning-title{font-size:1.1rem;font-weight:600;color:var(--red-600);margin-bottom:1rem}.profile-page .delete-modal .warning-message ul{margin:.5rem 0;padding-left:1.5rem}.profile-page .delete-modal .warning-message li{color:var(--text-secondary);margin:.5rem 0}.profile-page .delete-modal .warning-note{font-size:.85rem;color:var(--text-secondary);margin-top:1rem;font-style:italic}.profile-page .delete-modal input.confirmed{border-color:var(--red-500);color:var(--red-600)}.profile-page .consent-modal{max-width:600px}.profile-page .consent-section{margin-bottom:2rem}.profile-page .consent-section h4{font-size:1.1rem;color:var(--text-primary);margin-bottom:1rem}.profile-page .consent-item{margin-bottom:1rem}.profile-page .consent-item label{display:flex;align-items:start;gap:.75rem;cursor:pointer}.profile-page .consent-item input[type=checkbox]{margin-top:.25rem;cursor:pointer}.profile-page .consent-item strong{display:block;color:var(--text-primary);margin-bottom:.25rem}.profile-page .consent-item p{font-size:.85rem;color:var(--text-secondary);margin:0}.profile-page .modal-footer .btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:500;border:none;cursor:pointer;transition:all .3s ease}.profile-page .modal-footer .btn.primary{background:var(--orange-500);color:#fff}.profile-page .modal-footer .btn.primary:hover{background:var(--orange-600)}.profile-page .modal-footer .btn.secondary{background:var(--gray-100);color:var(--text-primary)}.profile-page .modal-footer .btn.secondary:hover{background:var(--gray-200)}.profile-page .modal-footer .btn.danger{background:var(--red-500);color:#fff}.profile-page .modal-footer .btn.danger:hover{background:var(--red-600)}@media (max-width: 768px){.profile-page{padding:1rem;padding-top:calc(var(--nav-height, 64px) + 1rem);padding-bottom:150px}.profile-page .delete-account-section{margin-bottom:3rem}.profile-page .profile-header{flex-direction:column;align-items:center;text-align:center;gap:1.5rem;padding:1.5rem}.profile-page .profile-avatar{margin:0 auto}.profile-page .profile-info{width:100%}.profile-page .profile-info h1{font-size:2rem;word-break:break-word}.profile-page .edit-name-input{font-size:2rem}.profile-page .profile-actions{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.5rem;width:100%}.profile-page .section-actions{flex-direction:column;gap:.75rem}.profile-page .section-actions .profile-btn{width:100%}.profile-page .profile-btn{min-width:auto;padding:.75rem 1.25rem;font-size:.9rem;white-space:normal;text-align:center}.profile-page .privacy-item{flex-direction:column;align-items:stretch;gap:1rem}.profile-page .privacy-item .profile-btn{width:100%}.profile-page .languages-grid{grid-template-columns:1fr}.profile-page .modal-content{margin:1rem;max-width:none}.profile-page .modal-footer{flex-direction:column;gap:.75rem}.profile-page .modal-footer .btn{width:100%}.profile-page .info-item{flex-direction:column;align-items:flex-start;gap:.5rem}.profile-page .language-tag-container,.profile-page .goal-tag-container{max-width:100%}.profile-page .warning-text{margin-left:0}.profile-page .profile-section{padding:1.5rem}.profile-page .language-card{padding:1.25rem}.profile-page .privacy-info h3{font-size:1rem}.profile-page .privacy-info p{font-size:.85rem}.profile-page .profile-content{margin-bottom:2rem}}@media (max-width: 480px){.profile-page{padding:.75rem;padding-top:calc(var(--nav-height, 64px) + .75rem);padding-bottom:150px}.profile-page .delete-account-section{margin-bottom:3rem}.profile-page .profile-header{padding:1rem}.profile-page .profile-info h1{font-size:1.5rem;word-break:break-word}.profile-page .edit-name-input{font-size:1.5rem}.profile-page .profile-avatar img{width:90px;height:90px}.profile-page .change-picture-btn,.profile-page .remove-picture-btn{width:36px;height:36px}.profile-page .profile-section{padding:1rem}.profile-page .profile-section h2{font-size:1.25rem}.profile-page .language-card{padding:1rem}.profile-page .profile-btn{padding:.65rem 1rem;font-size:.85rem}.profile-page .modal-overlay{padding:.5rem}.profile-page .modal-header h3{font-size:1.1rem}.profile-page .hobbies-input-container{gap:.75rem}.profile-page .hobby-input-row{flex-direction:column;align-items:stretch}.profile-page .add-hobby-btn{width:100%}.profile-page .profile-content{margin-bottom:2rem}}.profile-page .language-selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;max-height:400px;overflow-y:auto;padding:.5rem}.profile-page .language-option{padding:.75rem 1rem;border:2px solid var(--border-light);border-radius:12px;background:var(--background-secondary);color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center;box-shadow:0 2px 4px rgba(0,0,0,.05)}.profile-page .language-option:hover:not(:disabled){background:var(--background-light);border-color:var(--orange-500);color:var(--orange-500);transform:translateY(-1px);box-shadow:0 4px 8px rgba(249,115,22,.15)}.profile-page .language-option.selected{background:var(--orange-500);color:#fff;border-color:var(--orange-500);box-shadow:0 4px 8px rgba(249,115,22,.25)}.profile-page .language-option:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 768px){.language-selection-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}.language-option{padding:.5rem .75rem;font-size:.8rem}}@media (max-width: 480px){.language-selection-grid{grid-template-columns:1fr 1fr}}.profile-page .hobbies-input-container{display:flex;flex-direction:column;gap:1rem}.profile-page .hobby-input-row{display:flex;gap:.5rem;align-items:center}.profile-page .hobby-input{flex:1;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--background-secondary);color:var(--text-primary);font-size:.9rem;transition:all .2s ease}.profile-page .hobby-input:focus{outline:none;border-color:var(--orange-500);box-shadow:0 0 0 3px rgba(249,115,22,.1);background:var(--background-light)}.profile-page .hobby-input::placeholder{color:var(--text-muted);font-style:italic}.profile-page .add-hobby-btn{padding:.75rem 1rem;background:var(--orange-500);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.profile-page .add-hobby-btn:hover:not(:disabled){background:var(--orange-600);transform:translateY(-1px)}.profile-page .add-hobby-btn:disabled{background:var(--gray-400);cursor:not-allowed;transform:none}.profile-page .hobbies-list h5{margin:0 0 .5rem;font-size:.9rem;color:var(--text-secondary);font-weight:600}.profile-page .hobbies-enumerated{list-style:decimal;padding-left:1.5rem;margin:0}.profile-page .hobby-item{display:flex;align-items:center;justify-content:space-between;padding:.25rem 0;margin-bottom:.25rem}.profile-page .hobby-text{flex:1;font-size:.9rem;color:var(--text-primary)}.profile-page .remove-hobby-btn{background:var(--red-500);color:#fff;border:none;border-radius:50%;width:20px;height:20px;cursor:pointer;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-left:.5rem;transition:all .2s ease}.profile-page .remove-hobby-btn:hover{background:var(--red-600);transform:scale(1.1)}.profile-page .proficiency-select{padding:.5rem 2.25rem .5rem .75rem;border:2px solid #e5e7eb;border-radius:8px;background:#fff;color:var(--text-primary);font-size:.813rem;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px rgba(0,0,0,.08);appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23f97316' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .625rem center;background-repeat:no-repeat;background-size:1rem;min-width:120px;margin:0 .5rem}.profile-page .proficiency-select:hover:not(:disabled){border-color:var(--orange-500);box-shadow:0 4px 6px rgba(249,115,22,.12);background-color:rgba(249,115,22,.03);transform:translateY(-1px)}.profile-page .proficiency-select:focus{outline:none;border-color:var(--orange-500);box-shadow:0 0 0 3px rgba(249,115,22,.1),0 4px 6px rgba(249,115,22,.08);background-color:#fff}.profile-page .proficiency-select option{background:#fff;color:var(--text-primary);padding:.5rem;font-weight:500}.user-discovery{min-height:calc(100vh - var(--nav-height, 64px));background:var(--background);color:var(--text-primary);padding:2rem;padding-top:calc(var(--nav-height, 64px) + 2rem);box-sizing:border-box;overflow-y:auto;position:relative}.user-discovery.loading{display:flex;align-items:center;justify-content:center}.loading-spinner{font-size:1.2rem;color:var(--text-secondary);text-align:center}.discovery-header{text-align:center;margin-bottom:2rem;padding:.5rem 1rem 2rem;position:relative}.discovery-header h1{font-size:2.75rem;font-weight:800;color:var(--text-primary);margin-bottom:1.25rem;line-height:1.1;letter-spacing:-.02em;position:relative;padding-bottom:1rem}.discovery-header h1:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100px;height:4px;background:var(--orange-600);border-radius:2px}.discovery-header p{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.6;text-align:center;display:block;width:100%;font-weight:400}.discovery-filters{background:var(--background-light);border-radius:16px;padding:2rem;margin-bottom:3rem;border:1px solid var(--border-light)}.filter-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.search-box{position:relative;flex:1 1 280px;min-width:200px}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;z-index:2}.search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;border:2px solid var(--border-light);border-radius:12px;background:var(--background-secondary);color:var(--text-primary);font-size:1rem;transition:all .3s ease}.search-input:focus{outline:none;border-color:var(--primary-color);background:var(--background-light);box-shadow:0 0 0 3px var(--border-focus)}.search-input::placeholder{color:var(--text-muted)}.filter-select{flex:0 1 auto;width:auto;max-width:180px;min-width:120px;padding:.5rem 2rem .5rem .75rem;border:2px solid #e5e7eb;border-radius:8px;background:#fff;color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239cb847' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1rem}.filter-select:hover:not(:disabled){border-color:var(--olive-400);box-shadow:0 4px 6px rgba(156,184,71,.12),0 2px 4px rgba(156,184,71,.08);background-color:var(--olive-50);transform:translateY(-1px)}.filter-select:focus{outline:none;border-color:var(--olive-600);box-shadow:0 0 0 3px rgba(156,184,71,.15),0 4px 6px rgba(156,184,71,.1);background-color:#fff}.filter-select option{background:#fff;color:var(--text-primary);padding:.5rem;font-weight:500}.filter-checkbox{display:flex;align-items:center;flex:0 1 auto;padding:.5rem .75rem;border-radius:8px;background:#fff;border:2px solid #e5e7eb;box-shadow:0 1px 3px rgba(0,0,0,.08);transition:all .2s ease}.filter-checkbox:hover{border-color:var(--olive-400);background-color:var(--olive-50)}.checkbox-label{display:flex;align-items:center;gap:.625rem;cursor:pointer;font-size:.875rem;color:var(--text-primary);font-weight:500;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-input{width:1.125rem;height:1.125rem;cursor:pointer;border:2px solid #d1d5db;border-radius:4px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#fff;transition:all .2s ease;position:relative;flex-shrink:0}.checkbox-input:checked{background:var(--olive-600);border-color:var(--olive-600)}.search-button{flex:0 0 auto;padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px rgba(156,184,71,.2);white-space:nowrap}.search-button:hover:not(:disabled){background:var(--olive-600);box-shadow:0 4px 8px rgba(156,184,71,.3);transform:translateY(-1px)}.search-button:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px rgba(156,184,71,.2)}.search-button:disabled{opacity:.6;cursor:not-allowed}.checkbox-input:checked:after{content:"";position:absolute;top:50%;left:50%;width:.375rem;height:.625rem;border:solid white;border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}.checkbox-input:focus{outline:none;box-shadow:0 0 0 3px rgba(156,184,71,.15)}.checkbox-text{font-weight:500}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:1.5rem;margin-bottom:2rem;max-width:1400px;margin-left:auto;margin-right:auto}.user-card{background:var(--background-light);border-radius:24px;padding:1.5rem;border:1px solid var(--border-light);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}.user-card:hover{box-shadow:var(--shadow-xl);border-color:var(--primary-light)}.user-header{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.user-header-row{display:flex;align-items:flex-start;gap:1rem;flex:1}.user-avatar-container{position:relative;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.75rem}.user-discovery-page .user-avatar{position:relative;width:60px;height:60px;border-radius:50%;overflow:visible;background:var(--primary-color);box-shadow:var(--shadow-colored);border:2px solid var(--primary-color);z-index:1}.user-discovery.in-call .user-avatar,.video-call-overlay~* .user-avatar,.video-call-interface~* .user-avatar{z-index:auto}.user-discovery-page .user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;overflow:hidden}.avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;font-weight:700}.avatar-overlay{position:absolute;bottom:0;right:0;width:100%;height:100%;pointer-events:none;z-index:15}.user-card .user-avatar-container .avatar-overlay .status-indicator{position:absolute;bottom:0;right:0;width:16px;height:16px;aspect-ratio:1 / 1;border:2px solid var(--background-light);border-radius:50%;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:5}.user-discovery.in-call .status-indicator,.video-call-overlay~* .status-indicator,.video-call-interface~* .status-indicator{z-index:1}.user-card .user-avatar-container .avatar-overlay .status-indicator.online{background:var(--green-500);animation:pulse 2s infinite}.user-card .user-avatar-container .avatar-overlay .status-indicator.recent{background:var(--yellow-500)}.user-card .user-avatar-container .avatar-overlay .status-indicator.offline{background:var(--gray-400)}.status-pulse{width:6px;height:6px;aspect-ratio:1 / 1;background:#fff;border-radius:50%;animation:statusPulse 1.5s infinite}@keyframes statusPulse{0%{transform:scale(.8);opacity:1}50%{transform:scale(1.2);opacity:.7}to{transform:scale(.8);opacity:1}}.tutor-badge{background:var(--primary-500);color:#fff;padding:.4rem .8rem;border-radius:20px;display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:600;box-shadow:var(--shadow-colored);border:2px solid var(--orange-500);white-space:nowrap;margin-top:.5rem;position:relative;z-index:1;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;box-sizing:border-box}.tutor-badge svg{width:12px;height:12px}.friend-badge-icon-small{width:14px;height:14px;color:var(--orange-600);margin-left:.375rem;flex-shrink:0;vertical-align:middle}.user-basic-info{flex:1;min-width:0}.user-name-section{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.user-name{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-primary);line-height:1.2;position:relative;z-index:auto}.user-discovery.in-call .user-name,.video-call-overlay~* .user-name,.video-call-interface~* .user-name{z-index:auto}.tutor-label{background:var(--primary-500);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.user-location-section{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--text-secondary)}.location-icon{color:var(--text-muted);flex-shrink:0}.user-location{font-size:.85rem;color:var(--text-secondary);margin:0}.user-rating{margin-top:.5rem}.rating-container{display:flex;align-items:center;gap:.75rem}.rating-stars{display:flex;gap:.1rem}.star{font-size:.9rem;transition:all .2s ease}.star.filled{color:var(--yellow-500)}.star.empty{color:var(--gray-300)}.rating-details{display:flex;align-items:center;gap:.5rem}.rating-container.clickable,.no-rating.clickable{cursor:pointer;transition:all .2s ease;border-radius:8px;padding:.5rem;margin:-.5rem}.rating-container.clickable:hover,.no-rating.clickable:hover{background:var(--background-soft);transform:translateY(-1px)}.rating-container.clickable:active,.no-rating.clickable:active{transform:translateY(0)}.rating-container.clickable:hover .star.filled{color:var(--primary-color);transform:scale(1.1)}.rating-container.clickable:hover .rating-score{color:var(--primary-color);font-weight:600}.rating-container.clickable:hover .rating-count{color:var(--primary-color)}.rating-score{font-size:.85rem;font-weight:700;color:var(--text-primary)}.rating-count{font-size:.75rem;color:var(--text-muted)}.no-rating{display:flex;align-items:center}.no-rating-text{font-size:.75rem;color:var(--text-muted);font-style:italic}.user-status-section{margin-top:1rem}.status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:0;border-radius:0;font-size:.8rem;font-weight:600;transition:all .3s ease;background:none;border:none}.status-badge.online{background:none;color:var(--green-700);border:none}.status-badge.recent{background:none;color:var(--yellow-700);border:none}.status-badge.offline{background:none;color:var(--gray-600);border:none}.status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.status-text{font-size:.8rem;font-weight:600;text-transform:capitalize}.user-languages{margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem}.user-languages .section-header{margin-bottom:.5rem}.user-languages .language-tags{width:100%;box-sizing:border-box}.language-section{display:block;width:100%;margin-bottom:0}.language-section:last-child{margin-bottom:0}.section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.user-languages .section-icon{color:var(--primary-color);flex-shrink:0;width:20px;height:20px;display:block;vertical-align:middle}.section-header strong{font-size:.8rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.user-bio{margin-bottom:1.5rem}.bio-content{display:flex;gap:.75rem;align-items:flex-start}.bio-icon{color:var(--text-muted);flex-shrink:0;margin-top:.1rem}.user-bio p{font-size:.85rem;color:var(--text-secondary);line-height:1.6;margin:0;font-style:italic}.user-actions{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:.5rem;flex-shrink:0;padding:0;align-self:center;width:auto;align-items:center;justify-items:center}.action-btn-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:2px solid var(--olive-500);background:var(--white);color:var(--olive-700);border-radius:10px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:visible;box-shadow:var(--shadow-md);flex-shrink:0;line-height:1;padding:0}.action-btn-icon:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:currentColor;opacity:0;transition:opacity .3s ease}.action-btn-icon:hover:before{opacity:.1}.action-btn-icon svg{width:20px;height:20px;z-index:auto;transition:transform .3s ease;display:block;margin:auto}.action-btn-icon:hover svg{transform:scale(1.1)}.action-btn-icon.add-friend{background:var(--olive-600);border-color:var(--olive-600);color:var(--white)}.action-btn-icon.add-friend:hover{background:var(--olive-600);border-color:var(--olive-600);box-shadow:0 8px 20px rgba(156,180,113,.3)}.action-btn-icon.friend{background:var(--olive-600);border-color:var(--olive-600);color:var(--white)}.action-btn-icon.friend:disabled{opacity:.7;cursor:not-allowed}.action-btn-icon.pending{background:var(--orange-500);border-color:var(--orange-500);color:var(--white)}.action-btn-icon.pending:disabled{opacity:.7;cursor:not-allowed}.action-btn-icon.cancel-request{background:var(--red-500);border-color:var(--red-500);color:var(--white)}.action-btn-icon.cancel-request:hover{background:var(--red-600);border-color:var(--red-600);box-shadow:0 8px 20px rgba(220,38,38,.3)}.action-btn-icon.message{background:var(--white);color:var(--olive-700);border:2px solid var(--olive-500)}.action-btn-icon.message:hover{background:var(--orange-500);border-color:var(--orange-500);color:var(--white);box-shadow:0 8px 20px rgba(255,152,0,.3)}.action-btn-icon.view-profile{background:var(--white);border-color:var(--gray-400);color:var(--gray-700)}.action-btn-icon.view-profile:hover{background:var(--gray-100);border-color:var(--gray-500);box-shadow:0 8px 20px rgba(0,0,0,.1)}.action-btn-icon.report-user{background:var(--white);color:var(--amber-600);border:2px solid var(--amber-600)}.action-btn-icon.report-user:hover{background:var(--red-600);color:var(--white);border-color:var(--red-600);box-shadow:0 8px 20px rgba(220,38,38,.3)}.action-btn-icon:disabled{opacity:.6;cursor:not-allowed;transform:none}.language-tags{display:flex;flex-wrap:wrap;gap:.5rem}.language-tag{padding:.4rem .8rem;border-radius:20px;font-size:.7rem;font-weight:600;border:2px solid;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.language-tag.speaks{background:var(--green-100);color:var(--green-700);border-color:var(--green-300)}.language-tag.learning{background:var(--blue-100);color:var(--blue-700);border-color:var(--blue-300)}.language-tag.interest{text-transform:capitalize;letter-spacing:.3px}.no-results{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.no-results h3{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary)}.no-results p{font-size:1rem;color:var(--text-secondary)}@media (max-width: 1200px){.users-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));max-width:1000px}}@media (max-width: 768px){.user-discovery{padding:1rem .75rem;padding-top:calc(var(--nav-height, 64px) + 1rem)}.discovery-header{margin-bottom:1.5rem;padding:0 .5rem}.discovery-header h1{font-size:2rem}.discovery-header p{font-size:1rem}.discovery-filters{padding:1rem;margin:0 .5rem 1.5rem;border-radius:12px}.filter-row{grid-template-columns:1fr;gap:.75rem}.search-box{order:1}.users-grid{grid-template-columns:1fr;gap:1rem;max-width:none;padding:0 .5rem}.user-card{padding:1rem;border-radius:16px;margin:0}.user-header{flex-direction:column;text-align:center;gap:.75rem;margin-bottom:1rem}.user-avatar-container{gap:.5rem}.user-status-section{margin-top:.75rem}.user-discovery-page .user-avatar{width:50px;height:50px}.avatar-fallback{font-size:1.2rem}.user-card .user-avatar-container .avatar-overlay .status-indicator{width:14px;height:14px;aspect-ratio:1 / 1}.user-name{font-size:1.25rem}.user-name-section{flex-direction:column;align-items:center;gap:.5rem;margin-bottom:.5rem}.tutor-badge{padding:.3rem .6rem;font-size:.65rem;display:inline-flex;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;box-sizing:border-box}.tutor-badge svg{width:10px;height:10px}.user-location-section{justify-content:center;margin-bottom:.5rem}.rating-container{justify-content:center;flex-direction:column;gap:.5rem}.user-actions{grid-template-columns:repeat(4,1fr);grid-template-rows:1fr;gap:.75rem;margin-top:.75rem;margin-left:0;justify-content:center;align-self:center;width:100%;max-width:220px}.action-btn-icon{width:36px;height:36px;padding:0;line-height:1}.action-btn-icon svg{width:18px;height:18px;display:block;margin:auto}.status-badge{justify-content:center;width:100%}.section-header,.language-tags{justify-content:center}.bio-content{flex-direction:column;text-align:center;gap:.5rem}.language-tag{font-size:.75rem;padding:.35rem .7rem}.language-section{margin-bottom:.5rem}.user-languages{margin-bottom:.75rem}.user-bio{margin-bottom:1rem}}@media (max-width: 480px){.user-discovery{padding:.5rem;padding-top:calc(var(--nav-height, 64px) + .75rem)}.discovery-header{padding:0 .25rem;margin-bottom:1rem}.discovery-header h1{font-size:1.75rem}.discovery-filters{padding:.75rem;margin:0 .25rem 1rem;border-radius:12px}.users-grid{padding:0 .25rem;gap:.75rem}.user-card{padding:.75rem;border-radius:14px}.user-header{gap:.5rem;margin-bottom:.75rem}.user-basic-info{margin-right:0;margin-bottom:.75rem}.user-discovery-page .user-avatar{width:45px;height:45px}.avatar-fallback{font-size:1rem}.user-card .user-avatar-container .avatar-overlay .status-indicator{width:12px;height:12px;aspect-ratio:1 / 1}.tutor-badge{padding:.25rem .5rem;font-size:.6rem;display:inline-flex;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;box-sizing:border-box}.tutor-badge svg{width:8px;height:8px}.user-name{font-size:1.1rem}.user-name-section,.user-location-section{margin-bottom:.25rem}.user-actions{grid-template-columns:repeat(4,1fr);grid-template-rows:1fr;gap:.5rem;margin-top:.5rem;margin-left:0;justify-content:center;width:100%;max-width:200px}.action-btn-icon{width:32px;height:32px;padding:0;line-height:1}.action-btn-icon svg{width:16px;height:16px;display:block;margin:auto}.language-tag{font-size:.65rem;padding:.3rem .6rem}.language-section{margin-bottom:.4rem}.user-languages{margin-bottom:.5rem}.user-bio{margin-bottom:.75rem}.status-badge{padding:.35rem .7rem;font-size:.75rem}.section-header strong{font-size:.75rem}.user-bio p{font-size:.8rem}}.pagination-controls{display:flex;align-items:center;justify-content:center;gap:2rem;margin:3rem 0;padding:1.5rem;background:var(--background-light);border-radius:16px;border:1px solid var(--border-light)}.pagination-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--background-secondary);border:2px solid var(--border-light);border-radius:12px;color:var(--text-primary);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.pagination-btn:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-colored)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn svg{width:20px;height:20px}.pagination-info{font-size:1rem;color:var(--text-primary);font-weight:600;display:flex;flex-direction:column;align-items:center;gap:.25rem}.pagination-total{font-size:.85rem;color:var(--text-secondary);font-weight:400}@media (max-width: 768px){.pagination-controls{flex-direction:column;gap:1rem;margin:2rem 0;padding:1rem}.pagination-btn{width:100%;justify-content:center}}.user-skeleton{background:rgba(255,255,255,.1);border-radius:12px;padding:20px;animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-avatar{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.2);margin-bottom:15px}.skeleton-name{height:20px;width:70%;background:rgba(255,255,255,.2);border-radius:4px;margin-bottom:10px}.skeleton-bio{height:14px;width:90%;background:rgba(255,255,255,.15);border-radius:4px;margin-bottom:15px}.skeleton-languages{display:flex;gap:10px}.skeleton-lang{height:24px;width:60px;background:rgba(255,255,255,.15);border-radius:12px}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding:20px}@keyframes skeleton-pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.learning-analytics{min-height:calc(100vh - var(--nav-height, 64px));background:var(--background-soft);color:var(--text-primary);padding:1rem 1rem 2rem;box-sizing:border-box;overflow-y:auto;position:relative;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}.analytics-header{text-align:center;margin-bottom:2.5rem;padding:.5rem 1rem 2rem;display:flex;flex-direction:column;align-items:center;width:100%;position:relative}.header-content{text-align:center;width:100%;display:flex;flex-direction:column;align-items:center}.analytics-header h1{font-size:2.75rem;font-weight:800;color:var(--text-primary);margin-bottom:1.25rem;line-height:1.1;text-align:center;display:block;width:100%;letter-spacing:-.02em;position:relative;padding-bottom:1rem}.analytics-header h1:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100px;height:4px;background:#5056a5;border-radius:2px}.analytics-header p{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.6;text-align:center;display:block;width:100%;font-weight:400}.analytics-main-content{padding:0 1rem}.analytics-tabs-container{border:2px solid var(--primary-color);border-radius:12px;padding:0;margin-bottom:2rem}.analytics-tabs{display:flex;gap:2rem;padding:1.5rem 2rem 0;border-bottom:1px solid #e5e7eb;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--primary-color) transparent}.analytics-tabs::-webkit-scrollbar{height:6px}.analytics-tabs::-webkit-scrollbar-track{background:transparent}.analytics-tabs::-webkit-scrollbar-thumb{background-color:var(--primary-color);border-radius:3px}.analytics-tabs .tab-button{display:flex;align-items:center;gap:.5rem;padding:0 0 1rem;background:transparent;border:none;border-bottom:3px solid transparent;color:#9ca3af;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;margin-bottom:-1px}.analytics-tabs .tab-button:hover{color:#6b7280}.analytics-tabs .tab-button.active{color:var(--text-primary);font-weight:700;border-bottom-color:var(--orange-600)}.analytics-tabs .tab-button svg{flex-shrink:0}.tab-content{animation:fadeIn .3s ease-in;background:#fff;padding:2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.no-data-message{text-align:center;padding:4rem 2rem;color:var(--text-secondary);font-size:1.1rem}.error-message{background:var(--gray-100);border:2px solid var(--gray-600);border-radius:12px;padding:2rem;margin:2rem 0;box-shadow:var(--shadow-md)}.no-conversations-error h3,.general-error h3{color:var(--gray-800);font-size:1.25rem;font-weight:700;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.error-details{background:var(--background-light);border-radius:8px;padding:1rem;margin:1rem 0}.error-details p{margin:.5rem 0;color:var(--text-primary)}.error-suggestions{background:var(--background-soft);border-radius:8px;padding:1rem;margin-top:1rem}.error-suggestions h5{color:var(--text-primary);margin:0 0 .5rem}.error-suggestions ul{margin:.5rem 0;padding-left:1.5rem}.error-suggestions li{margin:.25rem 0;color:var(--text-secondary)}.debug-controls{margin:1rem 0}.debug-toggle-btn{background:var(--primary-color);color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;cursor:pointer;transition:all .2s ease}.debug-toggle-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.invalid-tab-message{text-align:center;padding:2rem;background:var(--primary-500);border-radius:12px;border:2px solid var(--orange-500);margin:2rem 0}.invalid-tab-message p{margin:.5rem 0;color:var(--orange-800);font-size:1rem;line-height:1.5}@media (max-width: 768px){.analytics-main-content{padding:0 .5rem}.analytics-header h1{font-size:2rem}.analytics-header p{font-size:1rem}.analytics-tabs{padding:1rem 1rem 0;gap:1.5rem}.analytics-tabs .tab-button{font-size:.875rem;padding:0 0 .75rem}.tab-content{padding:1.5rem}}@media (max-width: 480px){.analytics-tabs{padding:.75rem .75rem 0;gap:1rem}.analytics-tabs .tab-button{font-size:.75rem;padding:0 0 .625rem}.tab-content{padding:1rem}}.analytics-controls{background:transparent;border-radius:0;margin-bottom:2rem;box-shadow:none;overflow:visible;border:none}.tab-navigation-container{border:2px solid var(--primary-color);border-radius:10px;margin:0 0 2rem}.tab-navigation{display:flex;background:transparent;padding:1.25rem 1.5rem 0;margin:0;gap:2rem;border-bottom:1px solid #e5e7eb}.tab-navigation .tab-button{background:transparent;border:none;border-bottom:3px solid transparent;padding:0 0 1rem;font-size:.875rem;font-weight:500;color:#9ca3af;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;margin-bottom:-1px}.tab-navigation .tab-button:hover:not(.active){color:#6b7280}.tab-navigation .tab-button.active{color:var(--text-primary);font-weight:700;border-bottom-color:var(--orange-600)}.analytics-controls .tab-content{padding:1.5rem;background:transparent}.form-grid{display:flex;gap:1.25rem;align-items:stretch;flex-wrap:nowrap}.form-field{display:flex;flex-direction:column;flex:1;min-width:0;gap:.5rem}.form-field.action-field{flex:0 0 auto;min-width:140px;display:flex;flex-direction:column}.form-label{font-size:.875rem;font-weight:600;color:#1f2937;margin-bottom:0;letter-spacing:.01em;line-height:1.4}.form-hint{font-size:.813rem;color:#6b7280;margin-top:.375rem;line-height:1.5;font-style:normal;padding-left:.25rem}.form-select{padding:.75rem 2.75rem .75rem 1rem;border:2px solid #e5e7eb;border-radius:10px;background:#fff;color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%;box-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239cb847' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25rem;min-height:44px;height:auto;line-height:1.6}.form-select:hover:not(:disabled){border-color:var(--olive-400);box-shadow:0 4px 6px rgba(156,184,71,.12),0 2px 4px rgba(156,184,71,.08);background:var(--olive-50) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239cb847' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e") no-repeat right .75rem center / 1.25rem;transform:translateY(-1px)}.form-select:focus{outline:none;border-color:var(--olive-600);box-shadow:0 0 0 3px rgba(156,184,71,.15),0 4px 6px rgba(156,184,71,.1);background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239cb847' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e") no-repeat right .75rem center / 1.25rem}.form-select:disabled{opacity:1;cursor:not-allowed;background:#f3f4f6 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 8 4 4 4-4'/%3e%3c/svg%3e") no-repeat right .75rem center / 1.25rem;border-color:#e5e7eb;color:#6b7280}.form-select option{padding:.5rem;background:#fff;color:var(--text-primary);font-weight:500}.form-select option:disabled{color:#9ca3af;background:#f3f4f6}.form-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--olive-600);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;height:44px;line-height:1.6;box-shadow:var(--shadow-sm);position:relative}.form-button:hover:not(:disabled){background:var(--olive-700);box-shadow:0 2px 4px rgba(156,184,71,.2)}.form-button:active:not(:disabled){box-shadow:var(--shadow-sm)}.form-button:disabled{opacity:1;cursor:not-allowed;background:#9ca3af;color:#e5e7eb;transform:none;box-shadow:0 2px 4px rgba(0,0,0,.1)}.loading-spinner{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.warning-banner{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:var(--primary-500);border:1px solid #f59e0b;border-radius:8px;margin-bottom:1rem;width:100%}.warning-icon{flex-shrink:0;color:#f59e0b;margin-top:.1rem}.warning-content{font-size:.875rem;color:#92400e;line-height:1.4}.warning-content strong{font-weight:600;color:#78350f}.solo-recording-info{padding:1.5rem;background:var(--primary-500);border-radius:12px;margin-bottom:1rem;border:1px solid rgba(185,204,129,.3);box-shadow:0 3px 12px rgba(185,204,129,.15)}.solo-header h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.125rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.solo-header p{margin:.25rem 0;color:var(--text-secondary);font-size:.875rem;font-weight:500}.solo-transcription{margin-top:1rem}.solo-transcription h4{margin:0 0 .75rem;color:var(--text-primary);font-size:1rem;font-weight:600}.transcription-text{background:rgba(255,255,255,.8);padding:1rem;border-radius:8px;border:1px solid rgba(185,204,129,.2);font-style:italic;color:var(--text-secondary);line-height:1.5;box-shadow:inset 0 1px 3px rgba(0,0,0,.05)}.no-calls-message{text-align:center;padding:2rem 1.5rem;background:var(--primary-500);border-radius:12px;border:2px dashed rgba(185,204,129,.4);color:var(--text-secondary);margin:1rem 0}.no-calls-message p{margin:0;font-size:.9rem;line-height:1.4}@media (max-width: 1024px){.form-grid{gap:1rem;flex-wrap:wrap}.form-field{min-width:calc(50% - .5rem)}.form-field.action-field{min-width:100%}}@media (max-width: 768px){.analytics-controls{border-radius:12px;margin-bottom:1.5rem}.tab-navigation{padding:1rem 1rem 0;gap:1.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-navigation .tab-button{padding:0 0 .75rem;min-height:auto;font-size:.813rem;white-space:nowrap}.analytics-controls .tab-content{padding:1.5rem}.form-grid{flex-direction:column;gap:1rem}.form-field,.form-field.action-field{min-width:100%}.form-select{font-size:16px;padding:.75rem 2.25rem .75rem 1rem}.form-button{padding:.75rem 1.25rem;font-size:.85rem}.solo-recording-info{padding:1.25rem}}@media (max-width: 480px){.analytics-controls .tab-content{padding:1rem}.tab-navigation{padding:.75rem .75rem 0;gap:1rem}.tab-navigation .tab-button{font-size:.75rem;padding:0 0 .625rem;gap:.25rem}.inline-icon{width:1rem;height:1rem;margin-right:.25rem}.form-select{padding:.625rem 2rem .625rem .75rem}}@media (prefers-contrast: high){.tab-navigation-container{border-width:3px}.tab-navigation{border-bottom-width:2px}.tab-navigation .tab-button.active{border-bottom-width:4px}.form-select{border:2px solid var(--text-primary)}.form-button{border:2px solid var(--primary-color)}}@media (prefers-reduced-motion: reduce){.tab-navigation .tab-button,.form-select,.form-button{transition:none}.form-button:before{display:none}.loading-spinner{animation:none}}.analytics-section,.vocabulary-analytics-panel,.enhanced-vocabulary-panel{background:var(--background-light);border-radius:16px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 12px rgba(0,0,0,.05);border:1px solid var(--border-light)}.vocabulary-section-header,.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-light)}.vocabulary-section-header h3,.section-header h3{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.vocabulary-icon,.section-icon{width:1.75rem;height:1.75rem;color:var(--primary-color)}.icon-sm{width:1rem;height:1rem}.vocabulary-overview,.vocab-metric-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem}.vocab-metric-card{border:1px solid var(--border-light);border-radius:12px;padding:1.25rem;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.05);transition:all .2s ease}.vocab-metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.1)}.vocab-metric-card.primary{background:var(--primary-500);border-color:var(--primary-color);color:#fff}.metric-value{font-size:2rem;font-weight:700;color:var(--primary-color);margin-bottom:.25rem;line-height:1}.vocab-metric-card.primary .metric-value{color:#fff}.metric-label{font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:.125rem}.vocab-metric-card.primary .metric-label{color:rgba(255,255,255,.95)}.metric-sublabel{font-size:.8rem;color:var(--text-muted)}.vocab-metric-card.primary .metric-sublabel{color:rgba(255,255,255,.8)}.word-frequency-chart{border:1px solid var(--border-light);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.05)}.frequency-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.frequency-header h4{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.view-toggles{display:flex;gap:.5rem}.word-frequency-chart .toggle-btn{padding:.375rem .75rem;border:1px solid var(--border-light);border-radius:6px;background:var(--background-secondary);color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.25rem;min-height:auto;height:auto;box-shadow:none}.word-frequency-chart .toggle-btn:hover{background:var(--background-light);border-color:var(--primary-color);color:var(--primary-color);transform:none}.word-frequency-chart .toggle-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:none}.word-cloud{padding:1rem;background:rgba(185,204,129,.05);border-radius:8px;text-align:center;line-height:1.4;min-height:200px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem}.word-cloud-item{cursor:pointer;transition:all .2s ease;padding:.25rem .5rem;border-radius:4px;font-weight:500}.word-cloud-item:hover{background:rgba(255,255,255,.8);transform:scale(1.1);box-shadow:0 2px 8px rgba(0,0,0,.15)}.frequency-bars{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:rgba(185,204,129,.05);border-radius:8px}.frequency-bar-container{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:1rem;padding:.5rem;background:var(--background-light);border-radius:8px;border:1px solid var(--border-light);transition:all .2s ease}.frequency-bar-container:hover{border-color:var(--primary-color);box-shadow:0 2px 4px rgba(0,0,0,.05)}.word-label{font-size:.9rem;font-weight:600;color:var(--text-primary);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frequency-bar{height:24px;background:var(--background-secondary);border-radius:12px;overflow:hidden;position:relative;display:flex;align-items:center}.frequency-fill{height:100%;background:var(--primary-500);border-radius:12px;transition:width .3s ease;position:absolute;top:0;left:0;min-width:4px}.frequency-count{font-size:.8rem;font-weight:600;color:var(--text-primary);position:relative;z-index:1;margin-left:auto;padding:0 .75rem;background:rgba(255,255,255,.9);border-radius:10px;line-height:20px;margin-right:2px}.vocabulary-insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.vocab-insight-card{background:var(--primary-500);border:1px solid #0ea5e9;border-radius:12px;padding:1.25rem}.vocab-insight-card h4{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.insight-list{display:flex;flex-direction:column;gap:.75rem}.insight-item{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:rgba(255,255,255,.7);border-radius:8px}.insight-icon{width:1.25rem;height:1.25rem;color:#0ea5e9;flex-shrink:0;margin-top:.125rem}.insight-text{font-size:.9rem;color:var(--text-secondary);line-height:1.4}.insight-text strong{color:var(--text-primary)}.new-words-section{background:var(--background-soft);border-radius:12px;padding:1.5rem;margin-bottom:2rem;border:1px solid var(--border-color)}.new-words-section h4{color:var(--text-primary);margin-bottom:1rem;font-size:1.125rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.new-words-list{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}@media (max-width: 768px){.new-words-list{grid-template-columns:1fr}}.new-word-item{background:var(--background-light);border-radius:8px;padding:1.25rem 1.25rem 1.25rem 1rem;border:1px solid var(--border-color);border-left-width:4px;border-left-color:var(--tea-green-500);transition:all .2s ease}.new-word-item:hover{border-top-color:var(--primary-color);border-right-color:var(--primary-color);border-bottom-color:var(--primary-color);box-shadow:0 2px 8px rgba(0,0,0,.05)}.thematic-vocabulary{background:var(--background-soft);border-radius:12px;padding:1.5rem;margin-bottom:2rem;border:1px solid var(--border-color)}.thematic-vocabulary h4{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.125rem;font-weight:600}.theme-clusters{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.theme-cluster{background:var(--background-light);border-radius:8px;padding:1.25rem;border:1px solid var(--border-color);transition:transform .2s ease,box-shadow .2s ease}.theme-cluster:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.theme-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.theme-icon{width:1.25rem;height:1.25rem;color:var(--primary-color)}.theme-header h5{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.theme-count{font-size:.875rem;color:var(--text-secondary);flex-grow:1}.add-theme-to-deck-button{background:var(--orange-600);border:none;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#fff;box-shadow:0 1px 3px rgba(249,115,22,.3);flex-shrink:0}.add-theme-to-deck-button .button-icon{width:18px;height:18px;stroke-width:2.5}.add-theme-to-deck-button:hover:not(:disabled){background:var(--orange-700);transform:scale(1.05);box-shadow:0 2px 6px rgba(249,115,22,.4)}.add-theme-to-deck-button:disabled{background:rgba(156,180,113,.3);cursor:not-allowed;transform:none;box-shadow:none}.add-theme-to-deck-button.added{background:rgba(16,185,129,.8);border:1px solid rgba(16,185,129,.9)}.add-theme-to-deck-button.added .button-icon{color:#fff}.theme-words{display:flex;flex-wrap:wrap;gap:.5rem}.theme-word{background:rgba(185,204,129,.1);border:1px solid rgba(185,204,129,.3);border-radius:16px;padding:.375rem .75rem;font-size:.875rem;color:var(--text-primary);transition:all .2s ease}.theme-word:hover{background:rgba(185,204,129,.2);transform:translateY(-1px)}.word-translation{color:var(--text-secondary);font-size:.8rem;margin-left:.25rem}.new-word-item .word-info{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.new-word-item .word{font-size:1.1rem;font-weight:700;color:var(--primary-color)}.word-wrapper{display:inline-flex;align-items:center;position:relative}.new-word-item .clickable-word{cursor:pointer;transition:all .2s ease}.new-word-item .clickable-word:hover{text-decoration:underline;color:var(--primary-dark)}.word-wrapper:after{content:"▼";font-size:.7em;margin-left:.3rem;opacity:.5;transition:transform .2s ease}.new-word-item.expanded .word-wrapper:after{transform:rotate(-180deg)}.word-badges{display:flex;gap:.5rem;align-items:center}.word-level{background:var(--tea-green-500);color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.word-level.level-a1,.word-level.level-hsk1{background:#10b981}.word-level.level-a2,.word-level.level-hsk2{background:#3b82f6}.word-level.level-b1,.word-level.level-hsk3{background:#8b5cf6}.word-level.level-b2,.word-level.level-hsk4{background:#f59e0b}.word-level.level-c1,.word-level.level-hsk5{background:#ef4444}.word-level.level-c2,.word-level.level-hsk6{background:#dc2626}.word-gender{background:var(--background-secondary);color:var(--text-secondary);padding:.25rem .5rem;border-radius:12px;font-size:.7rem;font-weight:500}.show-more-btn{width:100%;margin-top:1rem;padding:.75rem 1rem;background:var(--background-secondary);border:1px solid var(--border-light);border-radius:8px;color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.show-more-btn:hover{background:var(--tea-green-100);border-color:var(--tea-green-500);color:var(--tea-green-700)}.section-header-with-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.words-summary{font-size:.85rem;color:var(--text-secondary)}.summary-count{background:var(--tea-green-100);color:var(--tea-green-700);padding:.25rem .75rem;border-radius:12px;font-weight:500}.word-translation{color:var(--text-secondary);font-style:italic;margin-top:.25rem}.word-details{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-light);animation:expandIn .2s ease-out}@keyframes expandIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.word-context{background:var(--background-soft);border-radius:6px;padding:.75rem;margin-bottom:.5rem}.word-context .context-label{font-weight:600;color:var(--text-secondary);display:block;margin-bottom:.5rem}.word-context .context-text{font-size:.95rem;line-height:1.6;color:var(--text-primary);display:block;padding:.5rem;background:var(--background-light);border-radius:4px;border-left:3px solid var(--primary-color)}.context-metadata{margin-top:.5rem;font-size:.85rem;color:var(--text-secondary)}.context-time{font-style:italic}.context-partner{font-weight:500;color:var(--primary-color)}.context-label{font-weight:500;color:var(--text-secondary);margin-right:.5rem}.context-text{color:var(--text-primary);font-style:italic}.context-text.no-context{color:var(--text-muted);font-style:italic;font-size:.9rem}.word-tips{background:rgba(0,163,255,.05);border:1px solid rgba(0,163,255,.2);border-radius:6px;padding:.75rem}.word-tips h6{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.word-tips ul{margin:0;padding-left:1.25rem}.word-tips li{font-size:.8rem;color:var(--text-secondary);line-height:1.4;margin-bottom:.25rem}.overview-tab,.themes-tab,.frequency-tab{display:flex;flex-direction:column;gap:2rem}.all-time-vocabulary-section,.current-period-section{margin-bottom:2rem}.all-time-vocabulary-section h4,.current-period-section h4{color:var(--text-primary);margin-bottom:1rem;font-size:1.125rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.no-data-message{text-align:center;padding:3rem 2rem;background:var(--primary-500);border:2px dashed var(--border-light);border-radius:16px;color:var(--text-secondary)}.no-data-message h4{color:var(--text-primary);font-size:1.25rem;margin-bottom:1rem}.no-data-message p{font-size:1rem;line-height:1.6;margin-bottom:1rem}.no-data-tips{background:rgba(255,255,255,.7);border-radius:12px;padding:1rem;margin-top:1rem;text-align:left}.no-data-tips h5{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.no-data-tips ul{margin:0;padding-left:1.25rem}.no-data-tips li{font-size:.9rem;color:var(--text-secondary);line-height:1.4;margin-bottom:.25rem}@media (max-width: 768px){.enhanced-vocabulary-panel{padding:1rem;margin-bottom:1.5rem}.vocabulary-overview{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.vocabulary-insights{grid-template-columns:1fr;gap:1rem}.frequency-header{flex-direction:column;align-items:flex-start;gap:.75rem}.view-toggles{align-self:stretch}.word-frequency-chart .toggle-btn{flex:1;text-align:center}.frequency-bar-container{flex-direction:column;align-items:flex-start;gap:.5rem}.word-label{min-width:auto;font-size:.85rem}.new-words-list{grid-template-columns:1fr;gap:.75rem}.frequency-bar-container{grid-template-columns:1fr;gap:.5rem}.word-label{margin-bottom:.25rem}}.analysis-tabs .tab-button:hover{color:var(--primary-color);background:rgba(185,204,129,.15);border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 4px 12px rgba(185,204,129,.2)}.analysis-tabs .tab-button.active{color:var(--text-on-primary);background:var(--primary-500);border-color:var(--primary-color);box-shadow:0 4px 16px rgba(185,204,129,.3);transform:translateY(-1px)}.progress-tracking-section{background:var(--background-soft);border-radius:12px;padding:1.5rem;margin-bottom:2rem;border:1px solid var(--border-color)}.progress-tracking-section h4{color:var(--text-primary);margin-bottom:1rem;font-size:1.125rem;font-weight:600}.weekly-progress-chart{background:var(--background-light);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem;border:1px solid var(--border-color)}.progress-bars{display:grid;gap:1rem}.progress-item{display:grid;grid-template-columns:100px 1fr 80px;align-items:center;gap:1rem}.week-label{font-weight:600;color:var(--text-primary);font-size:.875rem}.progress-bar-container{height:20px;background:var(--background-secondary);border-radius:10px;position:relative;overflow:hidden}.progress-bar-fill{height:100%;border-radius:10px;transition:width .3s ease;background:var(--primary-500)}.progress-value{font-size:.875rem;font-weight:600;color:var(--text-primary);text-align:right}.weekly-chart-container{margin:2rem 0;min-height:600px;width:100%;display:flex;justify-content:center;align-items:center}.weekly-chart-svg{width:100%;height:600px;min-height:600px;background:var(--background-light);border-radius:8px;border:1px solid var(--border-color);padding:1.5rem;box-shadow:0 2px 4px rgba(0,0,0,.1);display:block}@media (min-width: 1200px){.weekly-chart-container{min-height:700px}.weekly-chart-svg{height:700px;min-height:700px}}@media (max-width: 768px){.analysis-tabs .tab-button{padding:.5rem 1rem;font-size:.8rem;min-height:40px;height:40px}.tab-content{padding:1rem}.weekly-chart-container{min-height:400px}.weekly-chart-svg{height:400px;min-height:400px;padding:.5rem}}@media (max-width: 480px){.vocabulary-overview{grid-template-columns:1fr}.metric-value{font-size:1.5rem}.vocab-metric-card,.word-frequency-chart,.vocab-insight-card,.new-vocabulary-section{padding:1rem}.word-cloud{min-height:150px;padding:.75rem}}.contextual-usage{background:var(--background-soft);border-radius:12px;padding:1.5rem;margin-bottom:2rem;border:1px solid var(--border-color)}.contextual-usage h4{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.125rem;font-weight:600}.usage-examples{display:grid;gap:1rem}.usage-example{background:var(--background-light);border-radius:8px;padding:1.25rem;border:1px solid var(--border-color);border-left:4px solid var(--border-color)}.usage-example.correct{border-left-color:var(--tea-green-500);background:rgba(61,155,95,.05)}.usage-example.informal{border-left-color:var(--blue-500);background:rgba(59,130,246,.05)}.usage-example.incorrect{border-left-color:var(--red-500);background:rgba(239,68,68,.05)}.usage-header{display:flex;gap:1rem;margin-bottom:.75rem}.usage-type,.usage-register{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.usage-type{background:var(--primary-color);color:#fff}.usage-register{background:var(--background-secondary);color:var(--text-secondary)}.usage-text{font-size:1rem;color:var(--text-primary);margin-bottom:.5rem;font-style:italic}.usage-feedback{font-size:.875rem;color:var(--text-secondary);margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-light)}.section-description{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.5}.insufficient-data-message{text-align:center;padding:2rem;background:var(--primary-500);border:2px solid #f59e0b;border-radius:16px;margin:1rem 0}.data-stats{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1rem 0}.stat-item{text-align:center}.stat-label{font-size:.875rem;color:var(--text-secondary);display:block}.stat-divider{font-size:1.5rem;color:var(--text-muted)}.insufficient-data-suggestions{background:rgba(255,255,255,.7);border-radius:8px;padding:1rem;margin:1rem 0;text-align:left}.insufficient-data-suggestions h5{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.insufficient-data-suggestions ul{margin:0;padding-left:1.25rem}.insufficient-data-suggestions li{font-size:.9rem;color:var(--text-secondary);line-height:1.4;margin-bottom:.25rem}.inline-icon{width:1.25rem;height:1.25rem;display:inline-block;vertical-align:middle;margin-right:.5rem;stroke-width:2}.btn-icon{width:1rem;height:1rem;display:inline-block;vertical-align:middle;margin-right:.375rem;stroke-width:2}.grammar-analysis-panel{background:var(--background-light);border-radius:16px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 12px rgba(0,0,0,.05);border:1px solid var(--border-light)}.grammar-section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-light)}.grammar-section-header h3{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.grammar-icon{width:1.75rem;height:1.75rem;color:var(--primary-color)}.error-patterns-grid{display:grid;gap:1rem;margin-bottom:2rem}.error-pattern{background:var(--primary-500);border:1px solid #f59e0b;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px rgba(245,158,11,.1);transition:all .2s ease}.error-pattern:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(245,158,11,.15)}.error-pattern.high{background:var(--primary-500);border-color:#ef4444}.error-pattern.medium{background:var(--primary-500);border-color:#f59e0b}.error-pattern.low{background:var(--primary-500);border-color:#22c55e}.error-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.error-header h5{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;flex:1}.error-icon{width:1.25rem;height:1.25rem;color:#f59e0b}.error-pattern.high .error-icon{color:#ef4444}.error-pattern.low .error-icon{color:#22c55e}.error-frequency{background:rgba(0,0,0,.1);color:var(--text-primary);padding:.25rem .5rem;border-radius:12px;font-size:.8rem;font-weight:600}.error-description{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:.75rem}.error-note{background:rgba(0,0,0,.05);border-radius:8px;padding:.75rem;margin-bottom:.75rem;font-size:.9rem;color:var(--text-secondary)}.error-note strong{color:var(--text-primary)}.error-suggestions{background:rgba(255,255,255,.7);border-radius:8px;padding:.75rem;margin-bottom:.75rem}.error-suggestions h6{font-size:.9rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.error-suggestions ul{margin:0;padding-left:1.25rem}.error-suggestions li{font-size:.85rem;color:var(--text-secondary);line-height:1.4;margin-bottom:.25rem}.error-examples{background:rgba(255,255,255,.8);border-radius:8px;padding:.75rem;display:flex;flex-direction:column;gap:.75rem}.error-example{display:flex;flex-direction:column;gap:.25rem;padding:.5rem;background:rgba(255,255,255,.5);border-radius:6px}.incorrect{font-size:.85rem;color:#dc2626;font-weight:500}.correct{font-size:.85rem;color:#16a34a;font-weight:500}.explanation{font-size:.8rem;color:var(--text-muted);font-style:italic}.grammar-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.grammar-stat-card{border:1px solid var(--border-light);border-radius:12px;padding:1.25rem;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.05);transition:all .2s ease}.grammar-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.1)}.grammar-stat-value{font-size:2rem;font-weight:700;color:var(--primary-color);margin-bottom:.25rem}.grammar-stat-label{font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:.125rem}.grammar-stat-sublabel{font-size:.8rem;color:var(--text-muted)}.no-grammar-data{text-align:center;padding:3rem 2rem;background:var(--primary-500);border:2px solid #0ea5e9;border-radius:16px;color:var(--text-secondary)}.no-grammar-data h4{color:var(--text-primary);font-size:1.25rem;margin-bottom:1rem}.no-grammar-data p{font-size:1rem;line-height:1.6;margin-bottom:1rem}.grammar-tips{background:rgba(255,255,255,.7);border-radius:12px;padding:1rem;margin-top:1rem;text-align:left}.grammar-tips h5{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.grammar-tips ul{margin:0;padding-left:1.25rem}.grammar-tips li{font-size:.9rem;color:var(--text-secondary);line-height:1.4;margin-bottom:.25rem}.analytics-section{background:var(--background-light);border-radius:16px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 12px rgba(0,0,0,.05);border:1px solid var(--border-light)}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-light)}.section-header h3{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.section-icon{width:1.75rem;height:1.75rem;color:var(--primary-color)}.analysis-tabs-container{border:2px solid var(--primary-color);border-radius:10px;margin-bottom:1.5rem}.analysis-tabs{display:flex;gap:2rem;padding:1.25rem 1.5rem 0;border-bottom:1px solid #e5e7eb;overflow-x:auto;scrollbar-width:none}.grammar-analysis-panel .tab-button{background:transparent;border:none;border-bottom:3px solid transparent;padding:0 0 1rem;font-size:.875rem;font-weight:500;color:#9ca3af;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:flex;align-items:center;justify-content:center;margin-bottom:-1px}.grammar-analysis-panel .tab-button:hover{color:#6b7280}.grammar-analysis-panel .tab-button.active{color:var(--text-primary);font-weight:700;border-bottom-color:var(--orange-600)}.grammar-analysis-panel .tab-content{padding:1.5rem;min-height:300px}.sentence-complexity-chart{background:var(--background-soft);border-radius:12px;padding:1.5rem;margin-bottom:2rem;border:1px solid var(--border-color)}.sentence-complexity-chart h4{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.125rem;font-weight:600}.complexity-bars{display:grid;gap:1rem;margin-bottom:1.5rem}.complexity-bar{display:grid;grid-template-columns:100px 1fr 120px;align-items:center;gap:1rem}.bar-label{font-weight:600;color:var(--text-primary)}.bar-container{height:24px;background:var(--background-light);border-radius:12px;position:relative;border:1px solid var(--border-color);overflow:hidden}.bar-fill{position:absolute;top:0;left:0;height:100%;border-radius:12px;transition:width .3s ease}.bar-fill.simple,.bar-fill.compound,.bar-fill.complex{background:var(--primary-500)}.bar-value{font-size:.75rem;font-weight:600;color:var(--text-primary);white-space:nowrap;margin-left:.5rem}.complexity-insights{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.insight{font-size:.9rem;color:var(--text-secondary)}.insufficient-data-message{text-align:center;padding:3rem 2rem;background:var(--primary-500);border:2px solid #f59e0b;border-radius:16px;color:var(--text-secondary)}.insufficient-data-message h4{color:var(--text-primary);font-size:1.25rem;margin-bottom:1rem}.data-stats{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1rem 0;font-size:1rem}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.stat-divider{font-size:1.5rem;color:var(--text-muted);font-weight:300}.loading-indicator{text-align:center;padding:3rem 2rem;background:var(--primary-500);border:2px solid #0ea5e9;border-radius:16px;color:var(--text-secondary);font-size:1.1rem}.grammar-mastery-overview{background:var(--surface-secondary);border-radius:16px;padding:1.5rem;margin-bottom:2rem;border:1px solid var(--border-secondary)}.grammar-mastery-overview h4{font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.mastery-categories{margin-bottom:1.5rem}.mastery-categories h5{font-size:1rem;font-weight:600;color:var(--text-secondary);margin-bottom:1rem}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem}.category-card{background:#fff;border-radius:8px;padding:1rem;border:1.5px solid #e5e7eb;box-shadow:0 1px 2px rgba(0,0,0,.04)}.category-card.improvement,.category-card.strength{border-color:#e5e7eb;background:#fff}.category-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.category-icon{width:1.125rem;height:1.125rem;flex-shrink:0}.category-icon.warning{color:#f59e0b}.category-icon.success{color:#10b981}.category-name-container{display:flex;align-items:center;gap:.5rem;flex:1;flex-wrap:wrap}.category-name{font-weight:600;color:var(--text-primary);font-size:.938rem}.level-badge-small{display:inline-block;background:var(--primary-color);color:#fff;padding:.125rem .5rem;border-radius:8px;font-size:.688rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.mastery-bar{height:6px;background:#f3f4f6;border-radius:3px;overflow:hidden;margin-bottom:.5rem}.mastery-fill{height:100%;background:#9ca3af;border-radius:3px;transition:width .3s ease}.category-card.improvement .mastery-fill{background:#f59e0b}.category-card.strength .mastery-fill{background:#10b981}.mastery-label{font-size:.813rem;color:var(--text-secondary);font-weight:500}.error-cards{display:grid;gap:1rem;margin-top:1rem}.error-card{background:var(--background-soft);border:1px solid var(--border-light);border-radius:12px;padding:1.25rem;transition:all .2s ease}.error-card:hover{border-color:var(--warning-color, #f59e0b);box-shadow:0 2px 8px rgba(245,158,11,.1)}.error-simple{display:flex;align-items:center;gap:.75rem}.error-type{font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.error-example{display:flex;align-items:center;gap:.5rem;margin:.75rem 0;font-family:Courier New,monospace}.error-text{color:var(--error-color, #ef4444);background:rgba(239,68,68,.1);padding:.25rem .5rem;border-radius:4px}.arrow{color:var(--text-secondary)}.correction-text{color:var(--success-color, #10b981);background:rgba(16,185,129,.1);padding:.25rem .5rem;border-radius:4px}.error-explanation{font-size:.875rem;color:var(--text-secondary);line-height:1.5}.grammar-summary-stats{background:var(--background-soft);border-radius:16px;padding:1.5rem;margin-top:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat-card{background:var(--background-light);border-radius:12px;padding:1.25rem;text-align:center;border:1px solid var(--border-light);transition:all .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.stat-icon{width:2rem;height:2rem;margin:0 auto .75rem;color:var(--primary-color)}.stat-icon.success{color:var(--success-color, #10b981)}.stat-content{display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.875rem;color:var(--text-secondary)}.category-card.clickable{cursor:pointer;transition:all .2s ease}.category-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1);border-color:var(--primary-color)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:center;align-items:center;padding:1.5rem;border-bottom:2px solid #e5e7eb;position:relative}.modal-icon{width:2rem;height:2rem;flex-shrink:0}.modal-icon.warning{color:#f59e0b}.modal-icon.success{color:#10b981}.modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary);text-align:center}.modal-close{position:absolute;right:1.5rem;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--text-secondary);transition:all .2s ease;border-radius:8px}.modal-close:hover{background:#f3f4f6;color:var(--text-primary)}.modal-close svg{width:1.5rem;height:1.5rem}.modal-body{padding:1.5rem;overflow-x:hidden}.modal-level{margin-bottom:1rem}.level-badge{display:inline-block;background:var(--primary-color);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600}.modal-accuracy{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem;background:#f9fafb;border-radius:8px}.accuracy-label{font-weight:600;color:var(--text-secondary)}.accuracy-value{font-size:1.25rem;font-weight:700;padding:.25rem .75rem;border-radius:6px}.accuracy-value.high{color:#10b981;background:rgba(16,185,129,.1)}.accuracy-value.medium{color:#f59e0b;background:rgba(245,158,11,.1)}.accuracy-value.low{color:#ef4444;background:rgba(239,68,68,.1)}.modal-description{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin-bottom:1.5rem}.modal-examples{margin-top:1.5rem;max-width:100%}.modal-examples h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.modal-examples .example-item{display:flex;align-items:flex-start;gap:.75rem;padding:.625rem .875rem;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:8px;margin-bottom:.5rem;max-width:100%;overflow:hidden;min-height:auto}.modal-examples .example-item.error{background:#fee2e2;border-left-color:#ef4444}.modal-examples .example-item.success{background:#d1fae5;border-left-color:#10b981}.modal-examples .example-icon{width:1.25rem;height:1.25rem;flex-shrink:0;margin-top:.125rem}.modal-examples .example-item.error .example-icon{color:#ef4444}.modal-examples .example-item.success .example-icon{color:#10b981}.modal-examples .example-text{flex:1;color:var(--text-primary);font-size:.875rem;line-height:1.4;word-break:break-word;overflow-wrap:break-word;min-width:0}.success-message{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#d1fae5;border-left:3px solid #10b981;border-radius:8px}.success-message .example-icon{color:#10b981}.success-message p{flex:1;color:var(--text-primary);font-size:.938rem;margin:0}.not-practiced-message{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:8px}.not-practiced-message .example-icon{color:#f59e0b;width:1.5rem;height:1.5rem}.not-practiced-message p{flex:1;color:var(--text-primary);font-size:.938rem;margin:0}@media (max-width: 768px){.grammar-analysis-panel{padding:1rem;margin-bottom:1.5rem}.grammar-summary{grid-template-columns:1fr;gap:.75rem}.error-pattern{padding:1rem}.error-examples{padding:.5rem}.error-example{padding:.375rem}.analysis-tabs{flex-wrap:wrap;gap:.375rem}.grammar-analysis-panel .tab-button{padding:.5rem 1rem;font-size:.8rem;min-height:40px}.data-stats{flex-direction:column;gap:.5rem}.modal-content{max-height:95vh;margin:.5rem}.modal-header,.modal-body{padding:1rem}.category-grid{grid-template-columns:1fr}}.rephrasing-suggestions{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-secondary)}.rephrasing-suggestions h4{margin-bottom:.5rem;color:var(--text-primary);font-size:1.125rem;font-weight:600}.rephrasing-suggestions .section-description{color:var(--text-secondary);margin-bottom:1.5rem}.rephrase-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.rephrase-item{background:var(--surface-secondary);border:1px solid var(--border-secondary);border-radius:8px;padding:1.25rem}.rephrase-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.improvement-type{font-size:.875rem;font-weight:600;color:var(--primary)}.fluency-gain{font-size:.75rem;padding:.25rem .75rem;background:rgba(46,160,67,.1);color:var(--success);border-radius:16px;font-weight:500}.rephrase-comparison{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;background:var(--surface-primary);border-radius:8px}.original,.improved{flex:1}.original .label,.improved .label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem;font-weight:500}.original .text{color:var(--text-secondary);font-style:italic}.improved{display:flex;flex-direction:column;gap:.5rem;position:relative}.improved .text{color:var(--success);font-weight:500}.arrow{color:var(--text-secondary);font-size:1.25rem;flex-shrink:0}.add-to-deck-button{position:absolute;top:0;right:0;background:var(--orange-600);border:none;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#fff;box-shadow:0 1px 3px rgba(249,115,22,.3)}.add-to-deck-button .button-icon{width:18px;height:18px;stroke-width:2.5}.add-to-deck-button:hover:not(:disabled){background:var(--orange-700);transform:scale(1.05);box-shadow:0 2px 6px rgba(249,115,22,.4)}.add-to-deck-button:disabled{background:rgba(156,180,113,.3);cursor:not-allowed;transform:none;box-shadow:none}.add-to-deck-button.added{background:rgba(16,185,129,.8);border:1px solid rgba(16,185,129,.9)}.add-to-deck-button.added .button-icon{color:#fff}.rephrase-explanation{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:rgba(59,130,246,.05);border:1px solid rgba(59,130,246,.1);border-radius:6px;font-size:.875rem;color:var(--text-secondary)}.rephrase-explanation .info-icon{width:16px;height:16px;color:var(--primary);flex-shrink:0;margin-top:2px}.rephrasing-insights{background:var(--surface-secondary);border:1px solid var(--border-secondary);border-radius:8px;padding:1rem 1.25rem}.rephrasing-insights h5{margin-bottom:.75rem;color:var(--text-primary);font-size:.875rem;font-weight:600}.rephrasing-insights ul{margin:0;padding-left:1.5rem}.rephrasing-insights li{margin-bottom:.5rem;color:var(--text-secondary);font-size:.875rem}.rephrasing-insights li:last-child{margin-bottom:0}.rephrasing-tips{margin-top:1.5rem;padding:1rem 1.25rem;background:var(--surface-secondary);border-radius:8px}.rephrasing-tips h5{margin-bottom:.75rem;color:var(--text-primary);font-size:.875rem;font-weight:600}.rephrasing-tips ul{margin:0;padding-left:1.5rem}.rephrasing-tips li{margin-bottom:.5rem;color:var(--text-secondary);font-size:.875rem}.rephrasing-tips li:last-child{margin-bottom:0}.rephrasing-suggestions .no-data-message{text-align:center;padding:2rem;background:var(--surface-secondary);border-radius:8px;border:1px solid var(--border-secondary)}.rephrasing-suggestions .no-data-message p{margin-bottom:.75rem;color:var(--text-secondary)}.rephrasing-suggestions .no-data-message p strong{color:var(--text-primary)}.rephrasing-suggestions .no-data-message .rephrasing-tips{text-align:left;margin-top:1.5rem;background:var(--surface-primary)}@media (max-width: 768px){.rephrase-comparison{flex-direction:column;gap:.5rem}.arrow{transform:rotate(90deg)}.original,.improved{width:100%}.add-to-deck-button{position:static;margin-top:.5rem;width:100%;height:40px;border-radius:8px}.add-to-deck-button .button-icon{width:20px;height:20px}}.enhanced-grammar-analysis{padding:1.5rem;background:var(--background-secondary);border-radius:12px;margin-top:1rem}.analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-secondary)}.analysis-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.25rem;color:var(--text-primary)}.header-icon{width:24px;height:24px;color:var(--primary)}.level-info{display:flex;gap:2rem}.current-level,.progress-info{display:flex;flex-direction:column;align-items:center}.level-info .label{font-size:.875rem;color:var(--text-secondary)}.level-info .value{font-size:1.5rem;font-weight:700;color:var(--primary)}.level-progress-bar{margin-bottom:2rem}.progress-header{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.875rem;color:var(--text-secondary)}.progress-track{height:12px;background:var(--surface-tertiary);border-radius:6px;overflow:hidden}.progress-fill{height:100%;background:var(--primary-500);transition:width .3s ease}.level-selector{margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem}.level-selector label{font-weight:500;color:var(--text-secondary)}.level-buttons{display:flex;gap:.5rem}.level-button{padding:.5rem 1rem;background:var(--surface-secondary);border:1px solid var(--border-secondary);border-radius:8px;cursor:pointer;transition:all .2s}.level-button:hover{background:var(--surface-tertiary);border-color:var(--primary)}.level-button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.patterns-container h4{margin-bottom:1rem;color:var(--text-primary)}.patterns-list{display:flex;flex-direction:column;gap:1rem}.pattern-card{background:var(--surface-primary);border:1px solid var(--border-secondary);border-radius:12px;overflow:hidden;transition:all .2s}.pattern-card.success{border-color:var(--success)}.pattern-card.warning{border-color:var(--warning)}.pattern-card.error{border-color:var(--danger)}.pattern-header{padding:1rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;background:var(--surface-secondary)}.pattern-header:hover{background:var(--surface-tertiary)}.pattern-info{flex:1}.pattern-name{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.level-badge{font-size:.75rem;padding:.125rem .5rem;background:var(--primary);color:#fff;border-radius:4px}.pattern-description{margin:.25rem 0 0;font-size:.875rem;color:var(--text-secondary)}.pattern-stats{display:flex;align-items:center;gap:1.5rem}.accuracy-circle{width:60px;height:60px;position:relative}.circular-chart{width:100%;height:100%}.circle-bg{fill:none;stroke:var(--surface-tertiary);stroke-width:3}.circle{fill:none;stroke-width:3;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dasharray .3s}.pattern-card.success .circle{stroke:var(--success)}.pattern-card.warning .circle{stroke:var(--warning)}.pattern-card.error .circle{stroke:var(--danger)}.percentage{fill:var(--text-primary);font-size:14px;font-weight:700;text-anchor:middle}.attempts-info{display:flex;flex-direction:column;align-items:center}.attempts-label{font-size:.75rem;color:var(--text-secondary)}.attempts-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.expand-icon{width:20px;height:20px;color:var(--text-secondary)}.pattern-details{padding:1.5rem;background:var(--surface-primary);border-top:1px solid var(--border-secondary)}.examples-section{margin-bottom:1.5rem}.examples-section:last-child{margin-bottom:0}.examples-section h5{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--text-primary)}.section-icon{width:18px;height:18px}.correct-examples .section-icon{color:var(--success)}.incorrect-examples .section-icon,.user-incorrect .section-icon{color:var(--danger)}.user-correct .section-icon{color:var(--success)}.examples-list{display:flex;flex-direction:column;gap:.5rem}.example-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:var(--surface-secondary);border-radius:8px;font-size:.875rem}.example-item.correct,.example-item.user-correct{background:rgba(46,160,67,.1)}.example-item.incorrect,.example-item.user-incorrect{background:rgba(239,68,68,.1)}.example-marker{font-weight:700;flex-shrink:0}.example-item.correct .example-marker,.example-item.user-correct .example-marker{color:var(--success)}.example-item.incorrect .example-marker,.example-item.user-incorrect .example-marker{color:var(--danger)}.example-text{line-height:1.5}.more-examples{margin-top:.5rem;font-size:.8125rem;color:var(--text-secondary);font-style:italic}.practice-recommendation{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.2);border-radius:8px;margin-top:1rem}.recommendation-icon{width:20px;height:20px;color:var(--primary);flex-shrink:0}.practice-recommendation p{margin:0;font-size:.875rem;color:var(--text-primary)}.analysis-summary{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-secondary)}.analysis-summary h4{margin-bottom:1rem;color:var(--text-primary)}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat-card{text-align:center;padding:1.5rem;background:var(--surface-secondary);border-radius:8px}.stat-value{font-size:2rem;font-weight:700;color:var(--primary)}.stat-label{font-size:.875rem;color:var(--text-secondary);margin-top:.25rem}.detailed-feedback{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-secondary)}.detailed-feedback h4{margin-bottom:1rem;color:var(--text-primary)}.feedback-summary{padding:1rem;background:var(--surface-secondary);border-radius:8px;margin-bottom:1.5rem}.feedback-summary p{margin:0;line-height:1.6;color:var(--text-primary)}.feedback-section{margin-bottom:1.5rem}.feedback-section h5{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--text-primary)}.feedback-section.strengths .section-icon{color:var(--success)}.feedback-section.improvements .section-icon{color:var(--warning)}.feedback-section.recommendations .section-icon{color:var(--primary)}.feedback-section ul{list-style:none;padding:0;margin:0}.feedback-section li{padding:.75rem 0;border-bottom:1px solid var(--border-tertiary)}.feedback-section li:last-child{border-bottom:none}.level-indicator{font-size:.75rem;color:var(--text-secondary);font-weight:400}.improvement-examples{margin-top:.5rem;padding-left:1rem}.example-snippet{font-size:.8125rem;color:var(--text-secondary);font-style:italic;margin:.25rem 0}.no-data-message,.no-patterns-message{text-align:center;padding:3rem;color:var(--text-secondary)}.no-data-message p,.no-patterns-message p{margin:0}@media (max-width: 768px){.analysis-header{flex-direction:column;align-items:flex-start;gap:1rem}.level-info{gap:1rem}.summary-stats{grid-template-columns:1fr}.pattern-header{flex-direction:column;align-items:flex-start;gap:1rem}.pattern-stats{width:100%;justify-content:space-between}}.enhanced-vocabulary-panel,.grammar-analysis-panel,.fluency-analysis-panel,.progress-tracking-panel{background:var(--background-light);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 4px -1px rgba(0,0,0,.1);border:1px solid var(--border-color)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.section-header h3{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.section-icon{width:1.5rem;height:1.5rem;color:var(--primary-color);flex-shrink:0}.analysis-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:.25rem;align-items:center}.analysis-tabs::-webkit-scrollbar{display:none}.analysis-tabs .tab-button{background:rgba(255,255,255,.7);border:2px solid transparent;padding:.875rem 1.5rem;font-size:.875rem;font-weight:600;color:var(--text-secondary);cursor:pointer;border-radius:12px;transition:all .3s ease;white-space:nowrap;position:relative;box-shadow:0 2px 4px rgba(0,0,0,.08);min-height:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0;outline:none}.analysis-tabs .tab-button:hover{color:var(--primary-color);background:rgba(230,192,133,.15);border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 4px 12px rgba(230,192,133,.2)}.analysis-tabs .tab-button.active{color:var(--text-on-primary);background:var(--primary-500);border-color:var(--primary-color);box-shadow:0 4px 16px rgba(230,192,133,.3);transform:translateY(-1px)}.tab-content{min-height:300px;padding:1.5rem;background:var(--background-light);border-radius:8px;margin-top:.5rem}.tab-content>*{margin-bottom:1.5rem}.tab-content>*:last-child{margin-bottom:0}.tab-content h4{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;line-height:1.3}.tab-content p{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin-bottom:1rem}.vocab-metric-card{border:1px solid var(--border-color);border-radius:16px;padding:1.5rem;text-align:center;transition:all .3s ease;box-shadow:0 2px 4px rgba(0,0,0,.05)}.vocab-metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.vocab-metric-card .metric-value{font-size:2.5rem;font-weight:700;color:var(--primary-color);margin-bottom:.5rem;line-height:1}.vocab-metric-card .metric-label{font-size:1rem;font-weight:600;color:var(--text-secondary);margin-bottom:.25rem}.vocab-metric-card .metric-sublabel{font-size:.875rem;color:var(--text-muted)}.vocab-metric-card.primary{background:var(--primary-500);border-color:var(--primary-color)}.vocab-metric-card.primary .metric-value,.vocab-metric-card.primary .metric-label{color:#fff}.vocab-metric-card.primary .metric-sublabel{color:rgba(255,255,255,.9)}.vocabulary-analysis-section{margin-bottom:2rem}.vocabulary-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.no-data-message{text-align:center;padding:2rem;background-color:var(--background-light);border-radius:8px;margin-top:1rem;border:1px solid var(--border-color)}.no-data-message p{margin:.5rem 0;color:var(--text-secondary)}.no-data-message p:first-child{font-size:1.1rem;color:var(--text-primary);margin-bottom:1rem}.no-data-message ul{text-align:left;max-width:400px;margin:1rem auto;padding-left:1.5rem}.no-data-message li{margin:.5rem 0;color:var(--text-secondary)}.tab-placeholder{text-align:center;padding:3rem 2rem;color:var(--text-secondary);background-color:var(--background-light);border-radius:8px;border:1px solid var(--border-color)}.tab-placeholder h4{color:var(--text-primary);margin-bottom:1rem;font-size:1.5rem}.tab-placeholder p{font-size:1.1rem;line-height:1.6;max-width:500px;margin:0 auto}.proficiency-section{margin-top:2rem}.proficiency-container{background:var(--primary-500);border-radius:16px;padding:1.5rem;border:1px solid var(--border-color)}.proficiency-current{margin-bottom:1.5rem}.proficiency-level-badge{display:flex;flex-direction:column;align-items:center;margin-bottom:1rem}.level-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem}.level-value{font-size:2rem;font-weight:700;color:var(--text-primary);background:transparent}.proficiency-progress{display:flex;flex-direction:column;gap:.5rem}.progress-bar{width:100%;height:12px;background:rgba(0,0,0,.1);border-radius:6px;overflow:hidden;position:relative}.progress-fill{height:100%;background:var(--primary-500);border-radius:6px;transition:width .5s ease;position:relative}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--primary-500);animation:shimmer 2s infinite}.progress-text{font-size:.875rem;color:var(--text-secondary);text-align:center}.proficiency-next{padding-top:1.5rem;border-top:1px solid var(--border-color)}.next-level-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.next-label{font-size:1rem;font-weight:600;color:var(--text-primary)}.words-needed{font-size:.875rem;color:var(--text-secondary);background:rgba(230,192,133,.1);padding:.5rem 1rem;border-radius:20px;border:1px solid rgba(230,192,133,.3)}.words-needed strong{color:var(--primary-color);font-weight:700;font-size:1rem}.level-tip{font-size:.875rem;color:var(--text-secondary);font-style:italic;padding:.75rem;background:rgba(230,192,133,.05);border-radius:8px;border-left:3px solid var(--primary-color)}.proficiency-max{text-align:center;font-size:1.125rem;font-weight:600;color:var(--primary-color);padding:1rem;background:var(--primary-500);border-radius:12px;border:2px solid var(--primary-color)}.proficiency-level-section{margin-top:1rem;margin-bottom:1rem}.proficiency-level-section h4{margin-bottom:.5rem}.proficiency-overview-card{display:inline-flex;align-items:center;gap:.75rem;padding:.625rem .875rem;background:rgba(156,184,71,.05);border:1px solid var(--border-color);border-radius:6px}.proficiency-overview-card .level-badge{font-size:1.125rem;font-weight:700;color:#fff;background:var(--primary-color);padding:.375rem .75rem;border-radius:4px;flex-shrink:0}.proficiency-overview-card .progress-bar-mini{width:120px;height:8px;background:rgba(0,0,0,.1);border-radius:4px;overflow:hidden;flex-shrink:0}.proficiency-overview-card .progress-fill-mini{height:100%;background:var(--primary-color);border-radius:4px;transition:width .5s ease}.proficiency-overview-card .progress-text-mini{font-size:.938rem;font-weight:600;color:var(--text-primary);flex-shrink:0;min-width:38px}.proficiency-overview-card .words-to-next{font-size:.938rem;color:var(--text-secondary);padding-left:.75rem;border-left:1px solid var(--border-color);flex-shrink:0}.proficiency-overview-card .words-to-next strong{color:var(--primary-color);font-weight:700}@media (max-width: 768px){.enhanced-vocabulary-panel,.grammar-analysis-panel,.fluency-analysis-panel,.progress-tracking-panel{padding:1rem;margin-bottom:2rem}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.analysis-tabs .tab-button{padding:.5rem 1rem;font-size:.8rem}.tab-content{padding:1rem}.vocabulary-overview{grid-template-columns:1fr}.proficiency-overview-card{display:flex;flex-wrap:wrap;gap:.5rem}.proficiency-overview-card .progress-bar-mini{width:80px}.proficiency-overview-card .words-to-next{flex-basis:100%;padding-left:0;padding-top:.5rem;border-left:none;border-top:1px solid var(--border-color);text-align:center}}.transcript-viewer{background:var(--background-soft);border:1px solid var(--border-light);border-radius:12px;overflow:hidden;margin:1rem 0}.transcript-header{display:flex;align-items:center;padding:1rem 1.5rem;background:var(--background-light);border-bottom:1px solid var(--border-light);gap:.75rem}.transcript-icon{width:1.5rem;height:1.5rem;color:var(--primary-color);flex-shrink:0}.transcript-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary);flex:1}.raw-data-toggle{background:none;border:1px solid var(--border-color);border-radius:6px;padding:.5rem;cursor:pointer;color:var(--text-secondary);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.raw-data-toggle:hover{background:var(--background-soft);color:var(--text-primary);border-color:var(--primary-color)}.raw-data-toggle.dev-only{opacity:.5;border-style:dashed;font-size:.75rem;padding:.25rem}.raw-data-toggle.dev-only:hover{opacity:.8;background:var(--yellow-50);border-color:var(--yellow-300);color:var(--yellow-700)}.raw-data-toggle svg{width:1rem;height:1rem}.raw-data-section{padding:1rem 1.5rem;background:var(--background-light);border-bottom:1px solid var(--border-light)}.raw-data-section h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--text-primary)}.raw-data{background:var(--background-dark);color:var(--text-on-dark);padding:1rem;border-radius:6px;font-size:.75rem;line-height:1.4;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto}.transcript-body{padding:1.5rem}.transcript-meta{display:flex;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-light)}.meta-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.meta-icon{width:1rem;height:1rem;color:var(--text-secondary)}.transcript-entries{display:flex;flex-direction:column;gap:1rem}.transcript-entry{background:#fff;border:1px solid var(--border-light);border-radius:8px;padding:1rem;transition:all .2s ease}.transcript-entry:hover{border-color:var(--border-color);box-shadow:0 2px 8px rgba(0,0,0,.1)}.entry-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.speaker-name{font-weight:600;color:var(--primary-color);font-size:.875rem}.entry-time{font-size:.75rem;color:var(--text-secondary);background:var(--background-soft);padding:.25rem .5rem;border-radius:4px}.confidence-badge{font-size:.75rem;color:var(--text-secondary);background:var(--background-soft);padding:.25rem .5rem;border-radius:4px;font-weight:500}.entry-content{font-size:.875rem;line-height:1.5;color:var(--text-primary)}.solo-transcript{background:#fff;border:1px solid var(--border-light);border-radius:8px;padding:1.5rem}.transcript-text{font-size:.875rem;line-height:1.6;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.no-transcript,.no-entries{padding:2rem;text-align:center;color:var(--text-secondary)}.no-transcript p,.no-entries p{margin:0;font-size:.875rem}.no-entries .no-entries-help{margin-top:.5rem;font-size:.75rem;color:var(--text-muted);font-style:italic}@media (max-width: 768px){.transcript-header{padding:.75rem 1rem}.transcript-body{padding:1rem}.transcript-meta{flex-direction:column;gap:.75rem}.entry-header{flex-direction:column;align-items:flex-start;gap:.5rem}.raw-data{font-size:.7rem;padding:.75rem}}.flashcards{min-height:calc(100vh - var(--nav-height, 64px));background:var(--background-soft);color:var(--text-primary);padding:1rem;padding-top:calc(var(--nav-height, 64px) + 1rem);box-sizing:border-box;overflow-y:auto;position:relative;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}.flashcards-header{text-align:center;margin-bottom:2rem;padding:.5rem 1rem 2rem;position:relative}.flashcards-header h1{font-size:2.75rem;font-weight:800;color:var(--text-primary);margin-bottom:1.25rem;line-height:1.1;text-align:center;letter-spacing:-.02em;position:relative;padding-bottom:1rem}.flashcards-header h1:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100px;height:4px;background:#5056a5;border-radius:2px}.flashcards-header p{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.6;text-align:center;display:block;width:100%;font-weight:400}.error-message{background:var(--background-soft);border:2px solid var(--red-500, #dc2626);border-radius:12px;padding:1rem;margin-bottom:1.5rem;text-align:center}.error-message p{color:var(--red-600, #b91c1c);font-weight:600;margin:0}.flashcards-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.flashcards-loading p{margin-top:1rem;font-size:1.1rem;color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.generation-panel{background:var(--background-soft);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid var(--border-light);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px rgba(0,0,0,.05)}.generation-panel h2{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin-bottom:2rem;text-align:center}.decks-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.deck-item{display:flex;justify-content:space-between;align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.75rem;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px rgba(0,0,0,.08);cursor:pointer}.deck-item:hover{background:var(--olive-50);border-color:var(--olive-400);transform:translateY(-2px);box-shadow:0 4px 6px rgba(156,184,71,.12),0 2px 4px rgba(156,184,71,.08)}.deck-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.deck-info h3{margin:0;font-size:1.125rem;font-weight:600;color:#1f2937;line-height:1.4}.deck-info p{margin:0;font-size:.875rem;color:#6b7280;line-height:1.5}.deck-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.deck-card-types{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.card-type-badge{padding:.25rem .625rem;background:var(--olive-100);color:var(--olive-700);border-radius:6px;font-size:.75rem;font-weight:500}.deck-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.deck-action-icon-btn{background:var(--background-soft);border:2px solid var(--border-color);border-radius:8px;padding:.5rem .75rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.deck-action-icon-btn .icon{width:1.25rem;height:1.25rem;color:var(--text-secondary)}.deck-action-icon-btn:hover{background:var(--olive-50);border-color:var(--olive-500);transform:translateY(-1px)}.deck-action-icon-btn:hover .icon{color:var(--olive-600)}.deck-action-icon-btn.delete:hover{background:rgba(239,68,68,.1);border-color:var(--red-500)}.deck-action-icon-btn.delete:hover .icon{color:var(--red-500)}.deck-rename-form{display:flex;gap:.75rem;align-items:center;width:100%}.deck-rename-input{flex:1;padding:.5rem .75rem;border:2px solid var(--olive-500);border-radius:8px;font-size:1rem;font-weight:600;color:var(--text-primary);background:var(--background)}.deck-rename-input:focus{outline:none;border-color:var(--orange-600);box-shadow:0 0 0 3px rgba(249,115,22,.1)}.deck-rename-actions{display:flex;gap:.5rem}.rename-save-btn,.rename-cancel-btn{width:36px;height:36px;border-radius:6px;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.rename-save-btn .icon,.rename-cancel-btn .icon{width:1.25rem;height:1.25rem}.rename-save-btn{background:var(--tea-green-500);color:#fff}.rename-save-btn:hover{background:var(--tea-green-600);transform:scale(1.05)}.rename-cancel-btn{background:var(--red-500);color:#fff}.rename-cancel-btn:hover{background:var(--red-600);transform:scale(1.05)}.delete-confirm{display:flex;gap:.5rem;align-items:center;padding:.5rem 1rem;background:rgba(239,68,68,.1);border-radius:8px;border:2px solid var(--red-500)}.delete-confirm span{font-weight:600;color:var(--red-600);font-size:.875rem}.confirm-delete-btn,.cancel-delete-btn{padding:.375rem .875rem;border-radius:6px;border:none;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.confirm-delete-btn{background:var(--red-500);color:#fff}.confirm-delete-btn:hover{background:var(--red-600);transform:translateY(-1px)}.cancel-delete-btn{background:var(--background-soft);color:var(--text-primary);border:2px solid var(--border-color)}.cancel-delete-btn:hover{background:var(--background-light);border-color:var(--border-dark)}.deck-actions-footer{display:flex;justify-content:center;margin-top:2rem;padding-top:1.5rem;border-top:2px solid var(--border-light)}.generate-another-deck-btn{padding:1rem 2.5rem;background:var(--orange-600);color:#fff;border:none;border-radius:12px;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px rgba(249,115,22,.2);letter-spacing:.02em}.generate-another-deck-btn:hover{background:var(--orange-700);transform:translateY(-2px);box-shadow:0 6px 12px rgba(249,115,22,.3)}.generate-another-deck-btn:active{transform:translateY(0)}.study-btn.enhanced{padding:.75rem 1.5rem;background:var(--olive-600);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.08);white-space:nowrap}.study-btn.enhanced:hover{background:var(--olive-700);transform:translateY(-1px);box-shadow:0 4px 6px rgba(156,184,71,.15)}.deck-actions .control-btn{padding:.75rem 1.25rem;font-size:.9rem;min-width:100px}.generation-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.generation-controls{display:flex;flex-direction:column;gap:2rem}.control-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group label{font-weight:600;color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.control-group select:not(.modern-select){padding:.75rem 1rem;border:2px solid var(--border-light);border-radius:0;font-size:1rem;background:var(--background-light);color:var(--text-primary);transition:all .3s ease;cursor:pointer}.control-group select:not(.modern-select):focus{outline:none;border-color:var(--primary-color);background:var(--background-soft);box-shadow:0 0 0 3px var(--border-focus)}.control-group select:not(.modern-select) option{background:var(--background);color:var(--text-primary)}.card-types-section{margin-bottom:2rem}.card-types-section label{display:block;font-weight:600;color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.card-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.card-type-option{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.25rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px rgba(0,0,0,.08)}.card-type-option:hover{background:var(--olive-50);border-color:var(--olive-400);transform:translateY(-2px);box-shadow:0 4px 6px rgba(156,184,71,.12),0 2px 4px rgba(156,184,71,.08)}.card-type-option.selected{border-color:var(--olive-600);background:var(--olive-50);box-shadow:0 2px 4px rgba(156,184,71,.15)}.card-type-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.card-type-header input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--olive-600)}.card-type-name{font-weight:600;color:var(--text-primary);font-size:1rem}.card-type-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0}.generation-method-section{margin-bottom:2rem}.generation-method-section>label{display:block;font-weight:600;color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.method-options{display:flex;flex-direction:column;gap:1rem}.method-option{display:flex;align-items:flex-start;gap:.75rem;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.25rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px rgba(0,0,0,.08)}.method-option:hover{background:var(--olive-50);border-color:var(--olive-400);box-shadow:0 2px 4px rgba(156,184,71,.12)}.method-option input[type=radio]{margin-top:.25rem;width:18px;height:18px;cursor:pointer;accent-color:var(--olive-600);flex-shrink:0}.method-option label{display:flex;flex-direction:column;gap:.375rem;cursor:pointer;flex:1}.method-option strong{font-weight:600;color:var(--text-primary);font-size:1rem}.method-option .method-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;display:block;font-weight:400}.focus-areas{display:flex;flex-direction:column;gap:1rem}.focus-toggles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.focus-toggle{padding:.75rem 1rem;border:2px solid var(--border-light);border-radius:8px;background:var(--background-soft);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center;min-height:48px;display:flex;align-items:center;justify-content:center}.focus-toggle:hover{border-color:var(--border-color);background:var(--background-light);transform:translateY(-1px)}.focus-toggle.active{border-color:var(--primary-color);background:var(--background-light);color:var(--primary-color);font-weight:600;box-shadow:0 2px 8px rgba(59,130,246,.15)}.generate-btn{padding:.5rem 1rem;background:var(--primary-500);color:var(--text-on-primary);border:none;border-radius:6px;font-weight:600;font-size:.8rem;cursor:pointer;transition:all .3s ease;align-self:center;min-width:120px;position:relative;overflow:hidden;box-shadow:0 1px 4px rgba(156,180,113,.2)}.generate-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--primary-500);transition:left .5s}.generate-btn:hover:not(:disabled){background:var(--primary-500);transform:translateY(-.5px);box-shadow:0 2px 8px rgba(230,126,34,.3)}.generate-btn:hover:not(:disabled):before{left:100%}.generate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.generating-state{text-align:center;padding:4rem 2rem;background:var(--background-light);border-radius:16px;box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.generating-state h3{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;margin-top:1rem}.generating-state p{color:var(--text-secondary);font-size:1rem}.study-session{background:var(--background-light);border-radius:16px;padding:2rem;box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.session-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.progress-info{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:200px}.card-counter{font-weight:600;color:var(--text-primary);font-size:1.1rem}.progress-bar{width:100%;height:8px;background:var(--border-color);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--orange-600);border-radius:4px;transition:width .3s ease}.session-stats{display:flex;gap:1rem;align-items:center}.session-controls{display:flex;align-items:center;gap:1rem}.manage-cards-button,.my-decks-button{background:var(--orange-600);color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px rgba(249,115,22,.3);display:flex;align-items:center;gap:.375rem}.manage-cards-button .button-icon,.my-decks-button .button-icon{width:1.125rem;height:1.125rem}.manage-cards-button:hover,.my-decks-button:hover{background:var(--orange-700);transform:translateY(-1px);box-shadow:0 2px 6px rgba(249,115,22,.4)}.manage-cards-button:active,.my-decks-button:active{transform:translateY(0)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--background);border-radius:16px;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(0,0,0,.3);position:relative;z-index:1001}.modal-content.deck-management-modal{max-width:1200px}.card-manager-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.card-manager-content{background:var(--background);border-radius:16px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(0,0,0,.2)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid var(--border-light)}.modal-header h2{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.modal-body{flex:1;overflow-y:auto;padding:2rem}.modal-footer{padding:1.5rem 2rem;border-top:2px solid var(--border-light);display:flex;justify-content:flex-end;gap:1rem}.deck-management-body{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.card-manager-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid var(--border-light)}.card-manager-header h2{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.modal-close,.close-modal-btn{background:transparent;border:none;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease;color:var(--text-secondary)}.modal-close:hover,.close-modal-btn:hover{background:rgba(239,68,68,.1);color:var(--red-500)}.close-modal-btn .close-icon{width:1.75rem;height:1.75rem;color:var(--text-secondary)}.close-modal-btn:hover .close-icon{color:var(--red-500)}.card-manager-body{flex:1;overflow-y:auto;padding:2rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem}.card-list-manager h3,.add-card-section h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.manageable-card-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto;padding-right:.5rem}.manageable-card-item{display:flex;gap:.75rem;align-items:center;background:var(--background-soft);border:2px solid var(--border-light);border-radius:8px;padding:1rem;transition:all .2s ease}.manageable-card-item:hover{border-color:var(--olive-400);box-shadow:0 2px 4px rgba(156,184,71,.1)}.card-preview{flex:1;display:flex;flex-direction:column;gap:.5rem;font-size:.875rem}.card-preview-front,.card-preview-back{line-height:1.4;color:var(--text-primary)}.card-preview-front strong,.card-preview-back strong{color:var(--olive-600);margin-right:.5rem}.delete-card-btn{background:rgba(239,68,68,.1);border:2px solid var(--red-500);border-radius:6px;padding:.5rem .75rem;cursor:pointer;transition:all .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.delete-card-btn .icon{width:1.25rem;height:1.25rem;color:var(--red-500)}.delete-card-btn:hover{background:var(--red-500);transform:scale(1.05)}.delete-card-btn:hover .icon{color:#fff}.card-actions{display:flex;gap:.5rem;align-items:center}.edit-card-btn{background:rgba(80,86,165,.1);border:2px solid #5056a5;border-radius:6px;padding:.5rem .75rem;cursor:pointer;transition:all .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.edit-card-btn .icon{width:1.25rem;height:1.25rem;color:#5056a5}.edit-card-btn:hover{background:#5056a5;transform:scale(1.05)}.edit-card-btn:hover .icon{color:#fff}.card-edit-form{display:flex;flex-direction:column;gap:1rem;width:100%}.card-edit-form .form-group{display:flex;flex-direction:column;gap:.5rem}.card-edit-form label{font-weight:600;color:var(--text-primary);font-size:.875rem}.edit-textarea{padding:.75rem;border:2px solid var(--border-color);border-radius:8px;font-size:.875rem;color:var(--text-primary);background:var(--background);font-family:inherit;resize:vertical;transition:all .2s ease;min-height:60px}.edit-textarea:focus{outline:none;border-color:var(--olive-500);box-shadow:0 0 0 3px rgba(156,184,71,.1)}.edit-actions{display:flex;gap:.5rem;justify-content:flex-end}.save-edit-btn{padding:.5rem 1rem;background:var(--tea-green-500);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.save-edit-btn .icon{width:1rem;height:1rem}.save-edit-btn:hover{background:var(--tea-green-600);transform:translateY(-1px);box-shadow:0 2px 6px rgba(61,155,95,.3)}.cancel-edit-btn{padding:.5rem 1rem;background:var(--background-soft);color:var(--text-primary);border:2px solid var(--border-color);border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.cancel-edit-btn .icon{width:1rem;height:1rem}.cancel-edit-btn:hover{background:var(--background-light);border-color:var(--olive-500)}.add-card-section{display:flex;flex-direction:column}.add-card-hint{font-size:.875rem;color:var(--text-secondary);font-style:italic;margin-bottom:1.5rem;padding:.75rem;background:var(--olive-50);border-left:3px solid var(--olive-500);border-radius:4px}.manual-card-form{display:flex;flex-direction:column;gap:1rem}.manual-card-form .form-group{display:flex;flex-direction:column;gap:.5rem}.manual-card-form label{font-weight:600;color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.manual-card-form textarea{padding:.75rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;color:var(--text-primary);background:var(--background);font-family:inherit;resize:vertical;transition:all .2s ease}.manual-card-form textarea:focus{outline:none;border-color:var(--olive-500);box-shadow:0 0 0 3px rgba(156,184,71,.1)}.add-manual-card-btn{padding:.875rem 1.5rem;background:var(--tea-green-500);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px rgba(61,155,95,.2)}.add-manual-card-btn:hover{background:var(--tea-green-600);transform:translateY(-1px);box-shadow:0 4px 8px rgba(61,155,95,.3)}.card-manager-footer{padding:1.5rem 2rem;border-top:2px solid var(--border-light);display:flex;justify-content:flex-end}.close-manager-btn{padding:.75rem 2rem;background:var(--background-soft);color:var(--text-primary);border:2px solid var(--border-color);border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.close-manager-btn:hover{background:var(--background-light);border-color:var(--olive-500)}.card-list-section,.add-card-section{display:flex;flex-direction:column;gap:1rem}.card-list-section h3,.add-card-section h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0;padding-bottom:.75rem;border-bottom:2px solid var(--border-light)}.card-list-container{display:flex;flex-direction:column;gap:.75rem;max-height:500px;overflow-y:auto;padding-right:.5rem}.deck-card-item{background:var(--background-soft);border:2px solid var(--border-light);border-radius:8px;padding:1rem;transition:all .2s ease;display:flex;align-items:flex-start;gap:1rem}.deck-card-item:hover{border-color:var(--olive-400);box-shadow:0 2px 4px rgba(156,184,71,.1)}.deck-card-item.editing{border-color:var(--olive-600);background:var(--background-light)}.card-preview{flex:1;display:flex;gap:.75rem}.card-number{font-weight:700;color:var(--olive-600);font-size:.875rem;min-width:2rem}.card-preview-text{flex:1;display:flex;flex-direction:column;gap:.5rem;font-size:.875rem}.card-front,.card-back{line-height:1.4;color:var(--text-primary)}.card-front strong,.card-back strong{color:var(--olive-600);margin-right:.375rem}.card-actions{display:flex;gap:.5rem;align-items:flex-start}.btn-icon{background:transparent;border:2px solid var(--border-color);border-radius:6px;padding:.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.btn-icon:hover{border-color:var(--olive-500);background:var(--olive-50);color:var(--olive-700);transform:translateY(-1px)}.btn-icon.edit:hover{border-color:#5056a5;background:rgba(80,86,165,.1);color:#5056a5}.btn-icon.delete:hover{border-color:var(--red-500);background:rgba(239,68,68,.1);color:var(--red-500)}.card-edit-form{width:100%;display:flex;flex-direction:column;gap:1rem}.card-edit-actions{display:flex;gap:.5rem;justify-content:flex-end}.add-card-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--text-primary);font-size:.875rem}.form-group input,.form-group textarea{padding:.75rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;color:var(--text-primary);background:var(--background);font-family:inherit;transition:all .2s ease}.form-group textarea{resize:vertical;min-height:80px}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--olive-500);box-shadow:0 0 0 3px rgba(156,184,71,.1)}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary{background:var(--olive-600);color:#fff}.btn-primary:hover:not(:disabled){background:var(--olive-700);transform:translateY(-1px);box-shadow:0 4px 6px rgba(156,184,71,.15)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--background-soft);color:var(--text-primary);border:2px solid var(--border-color)}.btn-secondary:hover{background:var(--background-light);border-color:var(--olive-500)}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-block{width:100%}.stat{padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:.875rem}.stat.correct{background:rgba(61,155,95,.15);color:var(--tea-green-600)}.stat.incorrect{background:rgba(220,38,38,.15);color:var(--red-500)}.flashcard-container{display:flex;justify-content:center;margin:2rem 0;position:relative;z-index:1}.flashcard-reveal{width:100%;max-width:600px;position:relative;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.1);z-index:1}.flashcard-question,.flashcard-answer{cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1)}.flashcard-question{background:#fbc184;color:#1f2937;padding:3rem 2rem;min-height:200px;display:flex;align-items:center;justify-content:center;border-radius:8px 8px 0 0}.flashcard-answer{background:#d8e69c;color:#1f2937;max-height:0;padding:0 2rem;overflow:hidden;display:flex;align-items:center;justify-content:center;opacity:0;border-radius:0 0 8px 8px}.flashcard-reveal.revealed .flashcard-answer{max-height:300px;padding:3rem 2rem;opacity:1;min-height:200px}.card-content{text-align:center;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.card-category{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;opacity:.8;margin-bottom:1rem;font-weight:600}.card-text{font-size:1.5rem;font-weight:600;line-height:1.5;word-wrap:break-word;position:relative;z-index:1}.card-hint{font-size:.95rem;opacity:.9;font-style:italic;margin-top:.5rem}.listening-mode-toggle{background:var(--background-soft);border:2px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.listening-mode-toggle:hover{border-color:var(--primary-600);background:var(--background-hover)}.listening-mode-toggle.active{background:var(--primary-500);border-color:var(--primary-600);color:#fff}.listening-mode-indicator{display:flex;flex-direction:column;align-items:center;gap:1rem}.speaker-icon{font-size:3rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.listening-text{font-size:1.2rem;font-weight:600}.replay-button{background:rgba(255,255,255,.2);border:2px solid rgba(255,255,255,.4);color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.replay-button:hover{background:rgba(255,255,255,.3);border-color:rgba(255,255,255,.6)}.answer-input-section{margin-top:1.5rem;padding:1.5rem;background:var(--background-soft);border-radius:8px;border:2px solid var(--border-color)}.input-prompt{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;text-align:center}.answer-input-controls{display:flex;gap:.75rem;align-items:center}.answer-input{flex:1;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:6px;background:var(--background);color:var(--text-primary);font-size:1.1rem;transition:all .2s ease}.answer-input:focus{outline:none;border-color:var(--primary-600);box-shadow:0 0 0 3px rgba(156,184,71,.1)}.answer-input.feedback-correct{border-color:var(--green-600);background:rgba(168,195,74,.1)}.answer-input.feedback-incorrect{border-color:var(--red-600);background:rgba(239,68,68,.1)}.speak-button{background:var(--primary-500);border:none;color:#fff;padding:.75rem 1.25rem;border-radius:6px;font-size:1.2rem;cursor:pointer;transition:all .2s ease;min-width:60px}.speak-button:hover:not(:disabled){background:var(--primary-600);transform:translateY(-1px)}.speak-button.listening{background:var(--orange-600);animation:pulse 1.5s ease-in-out infinite}.speak-button:disabled{opacity:.6;cursor:not-allowed}.submit-button{background:var(--primary-500);border:none;color:#fff;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.submit-button:hover:not(:disabled){background:var(--primary-600);transform:translateY(-1px)}.submit-button:disabled{opacity:.5;cursor:not-allowed}.answer-feedback{margin-top:1rem;padding:.75rem 1.25rem;border-radius:6px;font-size:1.1rem;font-weight:600;text-align:center}.answer-feedback.correct{background:rgba(168,195,74,.15);color:var(--green-600);border:2px solid var(--green-600)}.answer-feedback.incorrect{background:rgba(239,68,68,.15);color:var(--red-600);border:2px solid var(--red-600)}.correct-answer-display{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(239,68,68,.3);font-size:1rem}.next-card-action{margin-top:1.5rem;display:flex;justify-content:center}.next-card-button{background:var(--primary-color);color:#fff;border:none;padding:.875rem 2.5rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px rgba(0,0,0,.1)}.next-card-button:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.next-card-button:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,.1)}.card-difficulty{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;opacity:.8;margin-top:1rem;font-weight:600}.answer-actions{text-align:center;margin:2rem 0}.answer-actions h3{font-size:1.3rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem}.action-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.action-btn{padding:.875rem 2rem;border:none;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;min-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;justify-content:center}.action-btn.correct{background:#fff;color:#5056a5;font-weight:600;border:2px solid #5056a5}.action-btn.correct:hover{background:rgba(80,86,165,.05);transform:translateY(-2px);box-shadow:0 4px 12px rgba(80,86,165,.2)}.action-btn.incorrect{background:#fff;color:var(--red-600);border:2px solid var(--red-500)}.action-btn.incorrect:hover{background:rgba(239,68,68,.05);transform:translateY(-2px);box-shadow:0 4px 12px rgba(239,68,68,.2)}.action-btn.primary{background:#5056a5;color:#fff}.action-btn.primary:hover{background:#5056a5;transform:translateY(-2px);box-shadow:0 4px 12px rgba(80,86,165,.4)}.study-controls{display:flex;gap:1rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}.control-btn{padding:.875rem 1.5rem;background:var(--background-soft);color:var(--text-primary);border:2px solid var(--border-color);border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;min-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;justify-content:center}.control-btn:hover{background:var(--background-light);border-color:var(--primary-color);transform:translateY(-1px)}.session-review{background:var(--background-light);border-radius:16px;padding:3rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.3);text-align:center;border:1px solid var(--border-color)}.review-header{margin-bottom:3rem}.review-header h2{font-size:2rem;font-weight:700;color:var(--text-white);margin-bottom:.5rem}.review-header p{color:var(--text-secondary);font-size:1.1rem}.review-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:var(--primary-500);border-radius:12px;padding:2rem;text-align:center;border:1px solid rgba(72,52,212,.2)}.stat-value{font-size:2.5rem;font-weight:700;color:var(--primary-color);margin-bottom:.5rem}.stat-label{font-size:.875rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.review-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.review-actions .action-btn{min-width:140px;max-width:200px;white-space:normal;word-wrap:break-word;text-align:center;line-height:1.3}@media (max-width: 768px){.flashcards{padding:1rem;padding-top:calc(var(--nav-height, 64px) + 1rem);min-height:calc(100dvh - var(--nav-height, 64px));max-height:calc(100dvh - var(--nav-height, 64px));overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative}.flashcards-header h1{font-size:2rem}.flashcards-header p{font-size:1rem}.generation-panel{padding:1.5rem}.control-row{flex-direction:column}.focus-toggles,.card-type-grid{grid-template-columns:1fr}.method-options{gap:.75rem}.flashcard{min-height:300px;margin:0 .5rem}.card-text{font-size:1.1rem}.session-header{flex-direction:column;gap:1rem}.session-stats{justify-content:center}.action-buttons{flex-direction:column;gap:.75rem}.study-controls{padding:1rem}.review-stats{grid-template-columns:1fr}.review-actions{flex-direction:column;gap:1rem}.action-btn{padding:.875rem 2rem;font-size:1rem;width:100%;max-width:none}.review-actions .action-btn{width:100%}.deck-item{flex-direction:column;align-items:flex-start;gap:1rem}.deck-actions{width:100%;justify-content:center}.deck-actions .control-btn{flex:1;max-width:200px}.generation-actions{flex-direction:column;gap:1rem}.generation-actions .generate-btn,.generation-actions .control-btn{width:100%}.generate-another-deck-btn{width:100%;max-width:100%;padding:1rem 1.5rem;font-size:1rem}.card-manager-body{grid-template-columns:1fr;padding:1rem}.card-manager-header,.card-manager-footer{padding:1rem}.manageable-card-list{max-height:300px}.study-controls{padding:1rem;flex-direction:column;gap:1rem}.deck-management-body{grid-template-columns:1fr;gap:1.5rem}.card-list-container{max-height:300px}.modal-content.deck-management-modal{max-width:100%}.study-controls .control-btn{width:100%;max-width:none}.answer-input-section{padding:1rem}.answer-input-controls{flex-wrap:wrap}.answer-input{width:100%}.speak-button,.submit-button{flex:1;min-width:100px}}@media (max-width: 480px){.flashcards{padding:.5rem;padding-top:calc(var(--nav-height, 64px) + .5rem);min-height:calc(100dvh - var(--nav-height, 64px));max-height:calc(100dvh - var(--nav-height, 64px));overflow-y:auto;-webkit-overflow-scrolling:touch}.flashcard{width:280px;height:180px}.card-text{font-size:1rem}.card-content{padding:1.5rem}.review-stats{grid-template-columns:1fr}.stat-value{font-size:2rem}}@media (prefers-reduced-motion: reduce){.flashcard{transition:none}.loading-spinner{animation:none}.action-btn:hover,.control-btn:hover,.generate-btn:hover{transform:none}}.flashcard:focus,.action-btn:focus,.control-btn:focus,.generate-btn:focus{outline:3px solid var(--blue-500);outline-offset:2px}@media (prefers-contrast: high){.flashcard-front{background:var(--background-dark);color:var(--text-on-primary);border:2px solid var(--border-dark)}.flashcard-back{background:var(--gray-800);color:var(--text-on-primary);border:2px solid var(--border-dark)}}.modern-select{padding:.75rem 1rem;border:2px solid var(--border-light);border-radius:12px;background:var(--background-secondary);color:var(--text-primary);font-size:1rem;cursor:pointer;transition:border-color .2s,box-shadow .2s;box-shadow:0 1px 6px rgba(156,180,113,.05)}.modern-select:focus{border-color:var(--primary-color);box-shadow:0 2px 8px rgba(156,180,113,.12)}.modern-select option{background:var(--background);color:var(--text-primary)}.modern-select option:disabled{color:var(--text-secondary);opacity:.6;cursor:not-allowed}.modern-select option.has-count{padding-right:4rem}#hours-back{min-width:200px}.vocabulary-select{margin-left:12px;min-width:140px}.feedback-controls .modern-select{min-width:160px}.generation-controls .modern-select{min-width:140px}.quick-actions{display:flex;justify-content:center;margin-top:16px}.quick-action-btn{padding:8px 16px;background-color:#f3f4f6;color:#6b7280;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease-in-out;outline:none}.quick-action-btn:hover:not(:disabled){background-color:#e5e7eb;color:#374151;border-color:#e67e22;transform:translateY(-1px)}.quick-action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 768px){.modern-select{font-size:16px;padding:12px 36px 12px 16px}.vocabulary-select{margin-left:0;margin-top:8px}.feedback-controls .modern-select,.generation-controls .modern-select{min-width:100%}}@media (prefers-contrast: high){.modern-select{border-width:2px;border-color:#000}.modern-select:focus{border-color:#e67e22;box-shadow:0 0 0 3px #e67e22}}@media (prefers-reduced-motion: reduce){.modern-select,.quick-action-btn{transition:none}}@media (prefers-color-scheme: dark){.modern-select{background-color:#1f2937;border-color:#374151;color:#f9fafb;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e")}.modern-select:focus{border-color:#e67e22;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23e67e22' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e")}.modern-select option{background-color:#1f2937;color:#f9fafb}.quick-action-btn{background-color:#374151;color:#d1d5db;border-color:#4b5563}.quick-action-btn:hover:not(:disabled){background-color:#4b5563;color:#f9fafb}}.flashcard-instruction{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--olive-50);border:1px solid var(--olive-200);border-radius:8px;margin-bottom:1rem;font-size:.9rem;color:var(--text-secondary)}.instruction-icon{font-size:1.2rem;flex-shrink:0}.target-word-badge{display:inline-block;padding:.25rem .5rem;background:var(--orange-500);color:#fff;border-radius:4px;font-weight:700;margin-left:.25rem}.flashcard-text-content{font-size:inherit;line-height:1.6;color:inherit}.highlighted-word{display:inline-block;padding:.2rem .4rem;background:var(--orange-100);border:2px solid var(--orange-500);border-radius:4px;color:var(--text-primary);font-weight:600;margin:0 .1rem;transition:all .2s ease}.highlighted-word:hover{background:var(--orange-200);transform:scale(1.05)}.context-line{font-style:italic;color:var(--text-secondary);border-left:3px solid var(--olive-500);padding:.5rem 0 .5rem 1rem;margin:.5rem 0}.flashcard-main-question{font-size:1.3rem;font-weight:600;margin-bottom:1.5rem;color:#fff;text-align:center;display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap}.target-word-main{color:var(--orange-400);font-size:1.5rem;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.audio-play-button{background:rgba(255,255,255,.2);border:2px solid rgba(255,255,255,.3);color:#fff;padding:.5rem;border-radius:50%;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px}.audio-play-button:hover{background:rgba(255,255,255,.3);border-color:rgba(255,255,255,.5);transform:scale(1.1)}.audio-icon{width:20px;height:20px;stroke-width:2}.flashcard-context-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.7);margin-bottom:.5rem;font-weight:600}.flashcard-structured-content{width:100%;display:flex;flex-direction:column;gap:1.25rem}.flashcard-main-content{display:flex;flex-direction:column;gap:.75rem}.flashcard-main-content p{margin:0;line-height:1.6;font-size:inherit}.flashcard-section{background:rgba(255,255,255,.08);border-left:4px solid var(--olive-500);border-radius:6px;padding:1rem 1.25rem;margin:.5rem 0}.flashcard-section-label{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--olive-400);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.flashcard-section-label:before{content:"";width:20px;height:2px;background:var(--olive-400)}.flashcard-section-content{display:flex;flex-direction:column;gap:.5rem}.flashcard-section-content p{margin:0;line-height:1.6;font-size:1.05em}.flashcard-bullet{list-style:none;position:relative;padding-left:1.5rem;margin:.375rem 0;line-height:1.5}.flashcard-bullet:before{content:"•";position:absolute;left:.5rem;color:var(--orange-500);font-weight:700;font-size:1.2em}.flashcard-numbered{margin:.375rem 0;padding-left:.5rem;line-height:1.5}.flashcard-answer .flashcard-structured-content{color:#1f2937}.flashcard-answer .flashcard-section{background:rgba(255,255,255,.4);border-left-color:var(--olive-600)}.flashcard-answer .flashcard-section-label{color:var(--olive-700)}.flashcard-answer .flashcard-section-label:before{background:var(--olive-600)}.flashcard-question .flashcard-structured-content{color:#1f2937}.flashcard-question .flashcard-section{background:rgba(255,255,255,.15);border-left-color:var(--orange-400)}.flashcard-question .flashcard-section-label{color:var(--orange-600)}.flashcard-question .flashcard-section-label:before{background:var(--orange-500)}.flashcard-answer-hoverable{line-height:1.8}.flashcard-answer-hoverable .word-hover-wrapper{position:relative;display:inline}.flashcard-answer .word-hover-wrapper .word-hover-buttons{background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 12px rgba(0,0,0,.3)}.flashcard-answer .word-hover-wrapper .word-hover-button{color:var(--text-primary)}.flashcard-answer .word-hover-wrapper .word-hover-button:hover{background:var(--background-hover)}@media (max-width: 768px){.flashcard-instruction{font-size:.85rem;padding:.5rem .75rem}.target-word-badge{font-size:.85rem;padding:.2rem .4rem}.highlighted-word{padding:.15rem .3rem;font-size:.95em}.flashcard-main-question{font-size:1.1rem;gap:.5rem}.target-word-main{font-size:1.3rem}.audio-play-button{min-width:36px;min-height:36px;padding:.4rem}.audio-icon{width:18px;height:18px}.flashcard-structured-content{gap:1rem}.flashcard-section{padding:.75rem 1rem;margin:.375rem 0}.flashcard-section-label{font-size:.8rem;margin-bottom:.5rem}.flashcard-section-label:before{width:15px}.flashcard-section-content p{font-size:1em}.flashcard-bullet{padding-left:1.25rem;font-size:.95em}.flashcard-bullet:before{left:.375rem;font-size:1.1em}.flashcard-numbered{font-size:.95em}}.system-status-container{max-width:1200px;margin:0 auto;padding:2rem;min-height:100vh;background:var(--background)}.system-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.system-header h1{font-size:2rem;color:var(--text-primary);margin:0}.back-button{background:var(--primary-color);color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;cursor:pointer;transition:all .2s ease}.back-button:hover{background:var(--primary-dark);transform:translateY(-1px)}.status-section{background:var(--background-light);border:1px solid var(--border-light);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.status-section h2{font-size:1.5rem;color:var(--text-primary);margin:0 0 1rem}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1rem}.status-item{display:flex;justify-content:space-between;padding:.75rem;background:var(--background);border-radius:8px;border:1px solid var(--border-light)}.status-item .label{font-weight:600;color:var(--text-secondary)}.status-item .value{font-weight:500;color:var(--text-primary)}.status-item .value.success{color:var(--success-color)}.status-item .value.error{color:var(--error-color)}.gpu-device{background:var(--background);border:1px solid var(--border-light);border-radius:8px;padding:1rem;margin-top:1rem}.gpu-device h3{font-size:1.125rem;color:var(--text-primary);margin:0 0 1rem}.device-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem}.stat{display:flex;flex-direction:column}.stat-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem}.stat-value{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.memory-bar{position:relative;height:24px;background:var(--background-light);border-radius:4px;overflow:hidden;border:1px solid var(--border-light)}.memory-used{position:absolute;left:0;top:0;bottom:0;background:var(--primary-500);transition:width .3s ease}.memory-text{position:absolute;left:8px;top:50%;transform:translateY(-50%);font-size:.75rem;font-weight:600;color:var(--text-primary);z-index:1}.verify-button{background:var(--primary-color);color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:1rem}.verify-button:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.verify-button:disabled{background:var(--gray-300);cursor:not-allowed;opacity:.6}.models-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.model-card{background:var(--background);border:2px solid var(--border-light);border-radius:8px;padding:1rem;transition:all .2s ease}.model-card.loaded{border-color:var(--success-color)}.model-card.not-loaded{border-color:var(--error-color);opacity:.7}.model-card h3{font-size:1rem;color:var(--text-primary);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.5px}.model-info{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.875rem}.model-info .label{color:var(--text-secondary)}.model-info .value{font-weight:600;color:var(--text-primary)}.not-loaded-message{text-align:center;color:var(--text-muted);font-style:italic;padding:1rem 0}.verification-summary{display:flex;gap:2rem;padding:1rem;background:var(--background);border-radius:8px;margin-bottom:1rem}.summary-label{font-weight:600}.summary-label.success{color:var(--success-color)}.summary-label.error{color:var(--error-color)}.test-results{display:flex;flex-direction:column;gap:.75rem}.test-result{background:var(--background);border-left:4px solid;border-radius:4px;padding:1rem}.test-result.passed{border-color:var(--success-color)}.test-result.failed{border-color:var(--error-color)}.test-result h4{margin:0 0 .5rem;color:var(--text-primary)}.test-details{color:var(--text-secondary);font-size:.875rem;margin:0}.test-error{color:var(--error-color);font-size:.875rem;margin:0}.loading,.error{text-align:center;padding:4rem 2rem;font-size:1.25rem;color:var(--text-secondary)}.error{color:var(--error-color)}@media (max-width: 768px){.system-status-container{padding:1rem}.system-header{flex-direction:column;gap:1rem;align-items:stretch}.status-grid{grid-template-columns:1fr}.device-stats{grid-template-columns:repeat(2,1fr)}.models-grid{grid-template-columns:1fr}.verification-summary{flex-direction:column;gap:.5rem}}.admin-dashboard{min-height:100vh;background:#f8faf9;padding:2rem}.admin-dashboard.loading,.admin-dashboard.unauthorized{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem}.loading-spinner{width:48px;height:48px;border:4px solid rgba(156,180,113,.2);border-top-color:var(--primary-600);border-radius:50%;animation:spin 1s linear infinite}.unauthorized-message{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.1)}.unauthorized-message .icon-large{width:64px;height:64px;color:var(--red-500);margin-bottom:1rem}.unauthorized-message h2{color:var(--text-primary);margin-bottom:.5rem}.unauthorized-message p{color:var(--text-secondary);margin:.5rem 0}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dashboard-header h1{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0}.header-actions{display:flex;align-items:center;gap:1rem}.last-updated{color:var(--text-secondary);font-size:.875rem}.business-metrics-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f97316;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.business-metrics-btn:hover{background:#ea580c;transform:translateY(-1px)}.business-metrics-btn .icon{width:18px;height:18px}.activity-monitoring-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#8b5cf6;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.activity-monitoring-btn:hover{background:#7c3aed;transform:translateY(-1px)}.activity-monitoring-btn .icon{width:18px;height:18px}.refresh-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--primary-600);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.refresh-btn:hover{background:var(--primary-700);transform:translateY(-1px)}.refresh-btn:disabled{opacity:.7;cursor:not-allowed}.refresh-btn .icon{width:16px;height:16px}.refresh-btn .icon.spinning{animation:spin 1s linear infinite}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.metric-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.06);display:flex;gap:1rem;transition:all .2s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.1)}.metric-card.users{border-top:3px solid var(--blue-500)}.metric-card.conversations{border-top:3px solid var(--green-500)}.metric-card.calls{border-top:3px solid var(--purple-500)}.metric-card.system{border-top:3px solid var(--orange-500)}.metric-icon{width:48px;height:48px;background:rgba(156,180,113,.1);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.metric-icon svg{width:24px;height:24px;color:var(--primary-600)}.metric-content h3{font-size:.875rem;font-weight:500;color:var(--text-secondary);margin:0 0 .25rem}.metric-value{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1}.metric-subtext{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.activities-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 8px rgba(0,0,0,.06)}.activities-section h2{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.section-icon{width:20px;height:20px;color:var(--primary-600)}.activities-list{display:flex;flex-direction:column;gap:.75rem}.no-activities{text-align:center;color:var(--text-secondary);padding:2rem}.activity-item{display:flex;gap:1rem;padding:.75rem;background:rgba(156,180,113,.05);border-radius:8px;transition:all .2s ease}.activity-item:hover{background:rgba(156,180,113,.1)}.activity-item.login{border-left:3px solid var(--blue-500)}.activity-item.conversation{border-left:3px solid var(--green-500)}.activity-item.call{border-left:3px solid var(--purple-500)}.activity-icon{width:32px;height:32px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-icon svg{width:16px;height:16px;color:var(--primary-600)}.activity-content{flex:1}.activity-description{font-size:.875rem;color:var(--text-primary);margin-bottom:.25rem}.activity-time{font-size:.75rem;color:var(--text-muted)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:2rem}.dashboard-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.06)}.dashboard-section h2{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.empty-state{text-align:center;color:var(--text-secondary);padding:2rem}.placeholder{text-align:center;color:var(--text-muted);padding:1rem;background:rgba(156,180,113,.05);border-radius:8px}.language-stats{display:flex;flex-direction:column;gap:.75rem}.stat-item{display:flex;align-items:center;gap:1rem}.stat-label{font-weight:500;color:var(--text-primary);min-width:100px}.stat-value{font-size:.875rem;color:var(--text-secondary);margin-left:auto}.stat-bar{flex:1;height:8px;background:rgba(156,180,113,.1);border-radius:4px;overflow:hidden}.stat-bar-fill{height:100%;background:var(--primary-600);border-radius:4px;transition:width .3s ease}.system-health-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.06)}.system-health-section h2{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.health-item{padding:1rem;background:rgba(156,180,113,.05);border-radius:8px;display:flex;flex-direction:column;gap:.5rem}.health-label{font-size:.875rem;color:var(--text-secondary)}.health-value{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.health-item{position:relative}.health-indicator{position:absolute;top:1rem;right:1rem;width:10px;height:10px;border-radius:50%}.health-indicator.good{background:var(--green-500)}.health-indicator.warning{background:var(--orange-500)}.health-indicator.critical{background:var(--red-500)}.usage-stats-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 8px rgba(0,0,0,.06)}.usage-stats-section h2{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.usage-card{padding:1.5rem;background:rgba(156,184,71,.08);border-radius:12px;text-align:center;transition:all .2s ease;border:1px solid rgba(156,184,71,.15)}.usage-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08);background:rgba(156,184,71,.12)}.usage-icon{width:32px;height:32px;color:var(--primary-600);margin:0 auto 1rem}.usage-value{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.usage-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.user-items{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto}.online-user-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:rgba(156,180,113,.05);border-radius:8px;transition:all .2s ease;position:relative}.online-user-item:hover{background:rgba(156,180,113,.1)}.user-avatar{width:40px;height:40px;background:var(--primary-600);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;flex-shrink:0}.user-info{flex:1;min-width:0}.user-name{font-weight:500;color:var(--text-primary);font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-last-seen{font-size:.7rem;color:var(--text-muted);margin-top:.25rem}.online-indicator{width:10px;height:10px;background:var(--green-500);border-radius:50%;flex-shrink:0;animation:pulse 2s infinite}.capacity-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 8px rgba(0,0,0,.06)}.capacity-section h2{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.capacity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.capacity-card{padding:1rem;border-radius:8px;border:2px solid;transition:all .2s ease}.capacity-card.normal{border-color:var(--green-500);background:rgba(34,197,94,.05)}.capacity-card.warning{border-color:var(--orange-500);background:rgba(249,115,22,.05)}.capacity-card.critical{border-color:var(--red-500);background:rgba(239,68,68,.05)}.capacity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.capacity-name{font-weight:600;color:var(--text-primary);font-size:.875rem}.capacity-level-badge{font-size:1.25rem}.capacity-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.capacity-percentage{font-size:.875rem;color:var(--text-secondary);margin-bottom:.75rem}.capacity-bar{height:8px;background:rgba(0,0,0,.05);border-radius:4px;overflow:hidden}.capacity-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.capacity-bar-fill.normal{background:var(--green-500)}.capacity-bar-fill.warning{background:var(--orange-500)}.capacity-bar-fill.critical{background:var(--red-500)}.talk-now-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 8px rgba(0,0,0,.06)}.talk-now-section h2,.talk-now-section h3{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-primary);margin:1rem 0 .75rem}.talk-now-section h2{font-size:1.25rem;margin-top:0}.talk-now-section h3{font-size:1rem}.talk-now-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-box{padding:1rem;background:rgba(156,184,71,.08);border-radius:8px;text-align:center}.stat-box .stat-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.stat-box .stat-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.language-breakdown,.scenario-breakdown{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem;margin-bottom:1rem}.breakdown-item{display:flex;justify-content:space-between;padding:.5rem .75rem;background:rgba(156,184,71,.05);border-radius:6px}.breakdown-label{font-size:.875rem;color:var(--text-primary);font-weight:500;text-transform:capitalize}.breakdown-value{font-size:.875rem;color:var(--text-secondary);font-weight:600}.waiting-users-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.waiting-user-card{padding:1rem;background:rgba(156,184,71,.05);border-radius:8px;border-left:3px solid var(--primary-600)}.waiting-user-card .user-name{font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.waiting-user-card .user-details{font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem}.badge.background-mode{display:inline-block;padding:.25rem .5rem;background:var(--blue-500);color:#fff;border-radius:4px;font-size:.75rem;font-weight:500;margin-top:.5rem}.active-calls-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 8px rgba(0,0,0,.06)}.active-calls-section h2{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.calls-list{display:flex;flex-direction:column;gap:1rem}.call-card{padding:1rem;background:rgba(147,51,234,.05);border-radius:8px;border-left:3px solid var(--purple-500)}.call-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.call-type{font-weight:600;color:var(--text-primary);text-transform:capitalize}.call-duration{font-size:.875rem;color:var(--text-secondary);font-weight:500}.call-participants{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin-bottom:.75rem}.participant-info{padding:.75rem;background:#fff;border-radius:6px}.participant-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.participant-details{font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem}.participant-location{font-size:.75rem;color:var(--text-muted)}.call-meta{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid rgba(0,0,0,.05)}.call-started{font-size:.875rem;color:var(--text-secondary)}.end-call-btn{padding:.5rem 1rem;background:var(--red-500);color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;font-size:.875rem;transition:all .2s ease}.end-call-btn:hover{background:var(--red-600);transform:translateY(-1px);box-shadow:0 2px 8px rgba(239,68,68,.3)}@media (max-width: 768px){.admin-dashboard{padding:1rem}.dashboard-header{flex-direction:column;gap:1rem;align-items:flex-start}.dashboard-header h1{font-size:1.5rem}.metrics-grid,.dashboard-grid{grid-template-columns:1fr}.health-grid{grid-template-columns:1fr 1fr}}.fraud-alerts-section{grid-column:span 2}.fraud-stats-summary{display:flex;gap:1.5rem;margin-bottom:1.5rem;padding:1rem;background:rgba(156,184,71,.1);border-radius:8px;border-left:4px solid var(--primary-color)}.fraud-stat{display:flex;flex-direction:column;gap:.25rem}.fraud-stat.blocked{border-left:3px solid #f97316;padding-left:.75rem}.fraud-stat.high-severity{border-left:3px solid #ef4444;padding-left:.75rem}.fraud-stat .stat-label{font-size:.875rem;color:var(--text-secondary)}.fraud-stat .stat-value{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.fraud-alerts-list{display:flex;flex-direction:column;gap:.75rem;max-height:600px;overflow-y:auto}.fraud-alert-item{padding:1rem;background:var(--surface-color);border-radius:6px;border-left:3px solid var(--border-color);transition:all .2s ease}.fraud-alert-item:hover{box-shadow:0 2px 8px rgba(0,0,0,.1);transform:translateY(-1px)}.fraud-alert-item.severity-low{border-left-color:#3b82f6}.fraud-alert-item.severity-medium{border-left-color:#f97316}.fraud-alert-item.severity-high{border-left-color:#ef4444;background:rgba(239,68,68,.05)}.alert-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.alert-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.alert-badge.low{background:#dbeafe;color:#1e40af}.alert-badge.medium{background:#ffedd5;color:#c2410c}.alert-badge.high{background:#fee2e2;color:#991b1b}.alert-type{font-size:.875rem;color:var(--text-secondary);font-weight:500}.alert-time{margin-left:auto;font-size:.75rem;color:var(--text-tertiary)}.alert-description{margin-bottom:.75rem;color:var(--text-primary);line-height:1.5}.alert-details{display:flex;gap:1rem;flex-wrap:wrap}.detail-item{font-size:.813rem;padding:.25rem .5rem;background:rgba(0,0,0,.05);border-radius:4px;font-family:monospace}.detail-item.action{background:rgba(156,184,71,.15);color:var(--primary-color);font-weight:500}.business-metrics{min-height:100vh;background:#f8faf9;padding:2rem}.business-metrics.loading,.business-metrics.error{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem}.loading-spinner{width:48px;height:48px;border:4px solid rgba(156,184,71,.2);border-top-color:#9cb847;border-radius:50%;animation:spin 1s linear infinite}.metrics-header{margin-bottom:2rem}.back-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;transition:all .2s ease;margin-bottom:1rem}.back-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.back-btn svg{width:20px;height:20px}.metrics-header h1{font-size:2rem;font-weight:700;color:#1e293b;margin:0}.date-range-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 1px 3px rgba(0,0,0,.1);display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem}.date-inputs{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.date-input-group{display:flex;flex-direction:column;gap:.5rem;position:relative}.date-input-group .icon{position:absolute;top:2rem;left:.75rem;width:16px;height:16px;color:#64748b;pointer-events:none}.date-input-group label{font-size:.875rem;font-weight:500;color:#475569}.date-input-group input{padding:.5rem .75rem .5rem 2.5rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#1e293b;transition:border-color .2s ease}.date-input-group input:focus{outline:none;border-color:#9cb847}.apply-btn{padding:.5rem 1.5rem;background:#9cb847;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.apply-btn:hover{background:#8aa63c;transform:translateY(-1px)}.business-metrics .date-range-section button.download-btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem;background:#f97316;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;min-width:auto;height:auto;width:auto}.business-metrics .date-range-section button.download-btn:hover:not(:disabled){background:#ea580c;transform:translateY(-1px);box-shadow:0 2px 4px rgba(249,115,22,.3)}.business-metrics .date-range-section button.download-btn:disabled{opacity:.5;cursor:not-allowed;background:#f97316;transform:none}.business-metrics .date-range-section button.download-btn svg{width:18px;height:18px;flex-shrink:0;display:block}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:transform .2s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.card-header .icon{width:24px;height:24px;padding:.5rem;border-radius:8px;background:rgba(156,184,71,.1);color:#9cb847}.summary-card.revenue .card-header .icon{background:rgba(34,197,94,.1);color:#22c55e}.summary-card.costs .card-header .icon{background:rgba(239,68,68,.1);color:#ef4444}.summary-card.profit .card-header .icon{background:rgba(59,130,246,.1);color:#3b82f6}.summary-card.subscribers .card-header .icon{background:rgba(249,115,22,.1);color:#f97316}.card-header h3{font-size:.875rem;font-weight:600;color:#64748b;margin:0;text-transform:uppercase;letter-spacing:.05em}.card-value{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:.25rem}.card-subtext{font-size:.875rem;color:#64748b}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.detail-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1)}.detail-section h2{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 1rem;padding-bottom:1rem;border-bottom:2px solid #f1f5f9}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #f1f5f9}.detail-row:last-child{border-bottom:none}.detail-row.total{margin-top:.5rem;padding-top:1rem;border-top:2px solid #f1f5f9;border-bottom:none;font-weight:600}.detail-row .label{display:flex;align-items:center;gap:.5rem;color:#475569;font-size:.9375rem}.detail-row .label .icon{width:16px;height:16px}.detail-row .label .icon.green{color:#22c55e}.detail-row .label .icon.orange{color:#f97316}.detail-row .label .icon.red{color:#ef4444}.detail-row .value{font-size:1.125rem;font-weight:600;color:#1e293b}.detail-row .value.positive{color:#22c55e}.detail-row .value.negative{color:#ef4444}.daily-table-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1)}.daily-table-section h2{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 1rem;padding-bottom:1rem;border-bottom:2px solid #f1f5f9}.table-wrapper{overflow-x:auto}.daily-table{width:100%;border-collapse:collapse;font-size:.875rem}.daily-table thead{background:#f8fafc}.daily-table th{padding:.75rem;text-align:left;font-weight:600;color:#475569;border-bottom:2px solid #e2e8f0;white-space:nowrap}.daily-table td{padding:.75rem;color:#1e293b;border-bottom:1px solid #f1f5f9}.daily-table tbody tr:hover{background:#f8fafc}.daily-table td.positive{color:#22c55e;font-weight:500}.daily-table td.negative{color:#ef4444;font-weight:500}@media (max-width: 768px){.business-metrics{padding:1rem}.metrics-header h1{font-size:1.5rem}.summary-grid,.details-grid{grid-template-columns:1fr}.date-range-section{flex-direction:column;align-items:stretch}.date-inputs{flex-direction:column}.card-value{font-size:1.5rem}}.live-activity-stream{display:flex;flex-direction:column;height:500px}.stream-status{margin-bottom:1rem}.connection-status-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500}.status-connected{background:#d1fae5;color:#065f46}.status-connecting{background:#fef3c7;color:#92400e}.status-disconnected{background:#fed7aa;color:#9a3412}.status-error{background:#fee2e2;color:#991b1b}.spinner{width:12px;height:12px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}.stream-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.stream-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#6b7280;padding:2rem}.stream-empty svg{margin-bottom:1rem;opacity:.5}.stream-empty p{font-weight:600;color:#374151;margin-bottom:.25rem}.stream-empty span{font-size:.875rem}.stream-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fff;border-left:3px solid;border-radius:6px;transition:all .2s;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.stream-item:hover{background:#f9fafb;box-shadow:0 1px 3px rgba(0,0,0,.1)}.stream-item.activity-blue{border-left-color:#3b82f6}.stream-item.activity-green{border-left-color:#10b981}.stream-item.activity-purple{border-left-color:#8b5cf6}.stream-item.activity-orange{border-left-color:#f97316}.stream-item.activity-gray{border-left-color:#6b7280}.stream-item-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:6px}.stream-item.activity-blue .stream-item-icon{color:#3b82f6;background:#dbeafe}.stream-item.activity-green .stream-item-icon{color:#10b981;background:#d1fae5}.stream-item.activity-purple .stream-item-icon{color:#8b5cf6;background:#ede9fe}.stream-item.activity-orange .stream-item-icon{color:#f97316;background:#ffedd5}.stream-item.activity-gray .stream-item-icon{color:#6b7280;background:#f3f4f6}.stream-item-content{flex:1;min-width:0}.stream-item-name{font-weight:500;color:#111827;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stream-item-details{display:flex;gap:.5rem;font-size:.75rem;color:#6b7280;margin-top:.25rem}.stream-detail{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stream-item-time{flex-shrink:0;font-size:.75rem;color:#9ca3af;white-space:nowrap}.stream-list::-webkit-scrollbar{width:6px}.stream-list::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.stream-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.stream-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.activity-filters{display:flex;flex-direction:column;gap:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem;position:relative}.filter-label{font-size:.875rem;font-weight:600;color:#374151}.filter-input-wrapper{position:relative;display:flex;align-items:center}.filter-select,.filter-input{width:100%;padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#111827;background:#fff;transition:all .2s}.filter-select:focus,.filter-input:focus{outline:none;border-color:#9cb847;box-shadow:0 0 0 3px rgba(156,184,71,.1)}.filter-select:hover,.filter-input:hover{border-color:#9ca3af}.filter-clear-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);padding:.25rem;background:#f3f4f6;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.filter-clear-btn:hover{background:#e5e7eb;color:#374151}.btn-clear-all{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;margin-top:.5rem;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-clear-all:hover{background:#fee2e2;border-color:#fca5a5}input[type=datetime-local]{cursor:pointer}input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer}.activity-analytics{display:flex;flex-direction:column;gap:1.5rem}.analytics-loading{padding:2rem;text-align:center;color:#6b7280}.analytics-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.summary-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.summary-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:8px}.summary-content{flex:1}.summary-value{font-size:1.5rem;font-weight:700;color:#111827;line-height:1.2}.summary-label{font-size:.875rem;color:#6b7280;margin-top:.25rem}.analytics-chart{background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb;overflow:hidden}.chart-header{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#fff;border-bottom:1px solid #e5e7eb}.chart-header h3{font-size:1rem;font-weight:600;color:#111827;margin:0}.chart-content{padding:1rem}.chart-empty{padding:2rem;text-align:center;color:#9ca3af;font-size:.875rem}.bar-chart{display:flex;flex-direction:column;gap:1rem}.bar-chart-item{display:flex;flex-direction:column;gap:.5rem}.bar-label{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.bar-label>span:first-child{font-weight:500;color:#374151}.bar-count{font-weight:600;color:#6b7280;font-size:.75rem}.bar-container{height:32px;background:#fff;border-radius:6px;overflow:hidden;border:1px solid #e5e7eb}.bar-fill{height:100%;display:flex;align-items:center;padding:0 .75rem;transition:width .3s ease;position:relative}.bar-percentage{color:#fff;font-size:.75rem;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2)}@media (max-width: 768px){.analytics-summary{grid-template-columns:1fr}.summary-card{padding:.875rem}.summary-icon{width:40px;height:40px}.summary-value{font-size:1.25rem}}.session-replay-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.session-replay-modal{background:#fff;border-radius:12px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.btn-close{padding:.5rem;background:transparent;border:none;color:#6b7280;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-close:hover{background:#f3f4f6;color:#111827}.modal-body{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.session-info{background:#f9fafb;border-radius:8px;padding:1rem;border:1px solid #e5e7eb}.session-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.info-item{display:flex;align-items:center;gap:.75rem}.info-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;border:1px solid #e5e7eb;color:#6b7280}.info-content{flex:1;min-width:0}.info-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.info-value{font-size:.875rem;color:#111827;font-weight:500;margin-top:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-display{background:#f9fafb;border-radius:8px;border:2px solid #9cb847;overflow:hidden}.activity-display-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border-bottom:1px solid #e5e7eb}.activity-index{font-size:.875rem;font-weight:600;color:#374151}.activity-time{font-size:.875rem;color:#6b7280}.activity-display-content{padding:1.5rem}.activity-type-badge{display:inline-block;padding:.25rem .75rem;background:#9cb847;color:#fff;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.activity-name{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 .75rem}.activity-page{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.875rem;margin-bottom:.5rem}.activity-url{color:#3b82f6;font-size:.875rem;font-family:Monaco,Courier New,monospace;word-break:break-all;margin-bottom:.5rem}.activity-target{color:#6b7280;font-size:.875rem;margin-bottom:.5rem}.activity-metadata{margin-top:1rem;padding:1rem;background:#fff;border-radius:6px;border:1px solid #e5e7eb}.activity-metadata strong{color:#374151;display:block;margin-bottom:.5rem;font-size:.875rem}.activity-metadata pre{margin:0;font-size:.75rem;color:#6b7280;overflow-x:auto}.playback-controls{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.playback-buttons{display:flex;gap:.5rem}.control-btn{padding:.75rem;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.control-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.control-btn:disabled{opacity:.5;cursor:not-allowed}.control-btn-primary{background:#9cb847;color:#fff;border-color:#9cb847}.control-btn-primary:hover:not(:disabled){background:#8aa63d;border-color:#8aa63d}.playback-info{display:flex;gap:1rem;align-items:center}.speed-select{padding:.5rem .75rem;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:.875rem;cursor:pointer}.timeline{padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.timeline-track{position:relative;height:4px;background:#e5e7eb;border-radius:2px}.timeline-point{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:#fff;border:2px solid #d1d5db;border-radius:50%;cursor:pointer;transition:all .2s}.timeline-point:hover{width:16px;height:16px;border-color:#9cb847}.timeline-point.completed{background:#9cb847;border-color:#9cb847}.timeline-point.active{width:16px;height:16px;background:#9cb847;border-color:#9cb847;box-shadow:0 0 0 4px rgba(156,184,71,.2)}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width: 768px){.session-replay-modal-overlay{padding:1rem}.session-info-grid{grid-template-columns:1fr}.playback-controls{flex-direction:column;gap:1rem}}.activity-monitoring{padding:2rem;max-width:1600px;margin:0 auto;background:#f9fafb;min-height:100vh}.activity-monitoring-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e5e7eb}.header-content{flex:1}.page-title{display:flex;align-items:center;gap:.75rem;font-size:2rem;font-weight:700;color:#111827;margin:0}.page-subtitle{color:#6b7280;margin-top:.5rem;font-size:1rem}.btn-refresh{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-weight:500;cursor:pointer;transition:all .2s}.btn-refresh:hover{background:#f9fafb;border-color:#9ca3af}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem;color:#6b7280}.activity-monitoring-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}@media (max-width: 1024px){.activity-monitoring-grid{grid-template-columns:1fr}}.activity-monitoring-content{display:grid;grid-template-columns:300px 1fr;gap:1.5rem}@media (max-width: 1024px){.activity-monitoring-content{grid-template-columns:1fr}}.activity-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.section-header h2{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:#111827;margin:0}.live-indicator{display:flex;align-items:center;gap:.5rem;color:#10b981;font-weight:600;font-size:.875rem}.pulse-dot{width:8px;height:8px;background:#10b981;border-radius:50%;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.activity-count{color:#6b7280;font-size:.875rem;font-weight:500}.filters-section,.activities-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1);overflow:hidden}.activities-list{display:flex;flex-direction:column;gap:.75rem;max-height:800px;overflow-y:auto;overflow-x:hidden}.activity-card{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s}.activity-card:hover{background:#f3f4f6;border-color:#d1d5db;box-shadow:0 2px 4px rgba(0,0,0,.05)}.activity-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.activity-content{flex:1;min-width:0;overflow:hidden}.activity-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.activity-name{font-weight:600;color:#111827;font-size:.95rem}.activity-time{color:#6b7280;font-size:.875rem;white-space:nowrap}.activity-details{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.875rem;color:#6b7280;margin-bottom:.5rem;overflow:hidden}.activity-type{padding:.25rem .5rem;background:#e5e7eb;border-radius:4px;font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.025em}.activity-page,.activity-user{font-size:.875rem}.activity-url{color:#3b82f6;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Monaco,Courier New,monospace}.btn-view-session{flex-shrink:0;padding:.5rem;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-view-session:hover{background:#f9fafb;border-color:#9ca3af;color:#111827}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#6b7280}.empty-state svg{margin-bottom:1rem;opacity:.5}.empty-state p{font-size:1.125rem;font-weight:600;margin-bottom:.5rem;color:#374151}.empty-state span{font-size:.875rem}.activities-list::-webkit-scrollbar{width:8px}.activities-list::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.activities-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.activities-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.scheduled-downgrade-notice{margin-bottom:2rem;width:100%}.scheduled-downgrade-notice .info-box{background-color:#fef3c7;border:1px solid #fbbf24;border-radius:8px;padding:1rem;display:flex;gap:1rem;align-items:flex-start;box-shadow:0 1px 3px rgba(0,0,0,.1)}.scheduled-downgrade-notice .info-icon{flex-shrink:0}.scheduled-downgrade-notice .info-content{flex-grow:1}.scheduled-downgrade-notice .info-title{font-size:1rem;font-weight:600;color:#92400e;margin:0 0 .5rem}.scheduled-downgrade-notice .info-message{font-size:.875rem;color:#78350f;margin:0 0 .5rem;line-height:1.5}.scheduled-downgrade-notice .info-note{font-size:.75rem;color:#92400e;margin:0;font-style:italic}.scheduled-downgrade-notice .error-message{font-size:.875rem;color:#dc2626;margin:.5rem 0 0;padding:.5rem;background-color:#fee2e2;border-radius:4px}.scheduled-downgrade-notice .info-actions{flex-shrink:0}.scheduled-downgrade-notice .cancel-button{padding:.5rem 1rem;background-color:#9cb847;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.scheduled-downgrade-notice .cancel-button:hover:not(:disabled){background-color:#8aa33e;transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.scheduled-downgrade-notice .cancel-button:active:not(:disabled){transform:translateY(0)}.scheduled-downgrade-notice .cancel-button:disabled{background-color:#d1d5db;cursor:not-allowed;opacity:.6}@media (max-width: 640px){.scheduled-downgrade-notice .info-box{flex-direction:column}.scheduled-downgrade-notice .info-actions,.scheduled-downgrade-notice .cancel-button{width:100%}}.pricing-page{min-height:calc(100vh - var(--nav-height, 64px));background:#fafaf8;padding:1rem;padding-top:calc(var(--nav-height, 64px) + 1rem);box-sizing:border-box;overflow-y:auto;position:relative}.pricing-hero{text-align:center;margin-bottom:2rem;padding:.5rem 1rem 2rem;position:relative}.pricing-hero h1{font-size:2.75rem;font-weight:800;color:#111827;margin-bottom:1.25rem;line-height:1.1;letter-spacing:-.02em;position:relative;padding-bottom:1rem}.pricing-hero h1:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100px;height:4px;background:#9cb847;border-radius:2px}.pricing-hero p{font-size:1.125rem;color:#6b7280}.billing-toggle{display:flex;justify-content:center;gap:.5rem;margin-bottom:3rem;padding:.25rem;background:#f0f1e0;border-radius:100px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin-left:auto;margin-right:auto}.billing-toggle button{padding:.625rem 1.5rem;border:none;background:transparent;border-radius:100px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s;position:relative}.billing-toggle button.active{background:#fff;color:#9cb847;box-shadow:0 2px 4px rgba(156,184,71,.15)}.billing-toggle .badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;background:#9cb847;color:#fff;border-radius:4px;font-size:.75rem;font-weight:600}.pricing-tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:1400px;margin:0 auto 4rem;padding:0 1rem}.pricing-tier{background:#fff;border:2px solid #f0f1e0;border-radius:16px;padding:2rem 1.5rem;position:relative;transition:all .3s;display:flex;flex-direction:column}.pricing-tier:hover{border-color:#d8e69c;box-shadow:0 4px 12px rgba(156,184,71,.15);transform:translateY(-4px)}.pricing-tier.popular{border-color:#9cb847;box-shadow:0 4px 12px rgba(156,184,71,.2);background:#f8faf0}.pricing-tier.current{border-color:#d8e69c;background:#f8faf0}.popular-badge,.current-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:.375rem 1rem;border-radius:100px;font-size:.75rem;font-weight:600;color:#fff;white-space:nowrap}.popular-badge{background:#9cb847}.current-badge{background:#d8e69c;color:#2d3b1f}.tier-header{text-align:center;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.tier-header h3{font-size:1.5rem;font-weight:700;color:#111827;margin-bottom:1rem}.tier-price{margin-bottom:.5rem}.tier-price .price{font-size:2.5rem;font-weight:700;color:#111827}.tier-price .period{font-size:1rem;color:#6b7280;margin-left:.25rem}.tier-price .savings{display:block;margin-top:.375rem;font-size:.875rem;color:#10b981;font-weight:600}.tier-multiplier{font-size:.875rem;color:#6b7280;font-weight:500}.tier-features{list-style:none;padding:0;margin:0 0 1.5rem;flex-grow:1}.tier-features li{display:flex;align-items:flex-start;gap:.625rem;padding:.625rem 0;font-size:.9375rem;color:#4b5563}.tier-features .check-icon{width:1.25rem;height:1.25rem;flex-shrink:0;color:#9cb847;margin-top:.125rem}.tier-cta{width:100%;padding:.75rem 1.5rem;border:none;border-radius:100px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;background:#d8e69c;color:#2d3b1f}.tier-cta:hover:not(:disabled){background:#9cb847;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(156,184,71,.25)}.tier-cta:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}.pricing-tier.popular .tier-cta{background:#9cb847;color:#fff}.pricing-tier.popular .tier-cta:hover:not(:disabled){background:#8aa63d;box-shadow:0 4px 12px rgba(156,184,71,.35)}.pricing-tier.current .tier-cta{background:#9ca3af}.feature-comparison{max-width:1200px;margin:0 auto 4rem;padding:0 1rem}.feature-comparison h2{text-align:center;font-size:2rem;font-weight:700;color:#111827;margin-bottom:2rem}.comparison-table{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:2rem}.comparison-category{margin-bottom:2rem}.comparison-category:last-child{margin-bottom:0}.comparison-category h3{font-size:1.25rem;font-weight:600;color:#111827;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #9cb847}.comparison-row{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:1rem;padding:.75rem 0;border-bottom:1px solid #f3f4f6;align-items:center}.comparison-row:last-child{border-bottom:none}.feature-name{font-weight:500;color:#374151}.feature-value{text-align:center;color:#6b7280;font-size:.9375rem}.pricing-faq{max-width:1200px;margin:0 auto;padding:0 1rem}.pricing-faq h2{text-align:center;font-size:2rem;font-weight:700;color:#111827;margin-bottom:2rem}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.faq-item{background:#f8faf0;border:2px solid #f0f1e0;border-radius:12px;padding:1.5rem;transition:all .2s}.faq-item:hover{border-color:#d8e69c;box-shadow:0 2px 8px rgba(156,184,71,.1)}.faq-item h4{font-size:1.125rem;font-weight:600;color:#111827;margin-bottom:.75rem}.faq-item p{color:#6b7280;line-height:1.6;font-size:.9375rem}@media (max-width: 1280px){.pricing-tiers{grid-template-columns:repeat(2,1fr);max-width:900px}}@media (max-width: 768px){.pricing-hero h1{font-size:2rem}.pricing-tiers{grid-template-columns:1fr}.pricing-tier{padding:2rem}.comparison-row{grid-template-columns:1fr;gap:.5rem}.feature-value{text-align:left;padding-left:1rem}.feature-value:before{content:"• ";color:#9cb847}.faq-grid{grid-template-columns:1fr}}@media (min-width: 769px) and (max-width: 1024px){.comparison-row{grid-template-columns:1.5fr repeat(4,1fr);gap:.75rem}}.signup-trial-page{min-height:100vh;background:linear-gradient(to bottom,#f9fafb,#fff);padding:2rem 1rem;display:flex;align-items:center;justify-content:center}.signup-trial-container{max-width:1000px;width:100%;margin:0 auto}.signup-trial-header{text-align:center;margin-bottom:3rem}.signup-trial-header h1{font-size:2.5rem;font-weight:700;color:#111827;margin-bottom:.75rem;display:inline-block;position:relative;padding-bottom:.5rem}.signup-trial-header h1:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:#9cb847;border-radius:2px}.signup-trial-header p{font-size:1.125rem;color:#6b7280;margin-top:1rem}.trial-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem}.trial-option-card{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:2rem;cursor:pointer;transition:all .3s;position:relative}.trial-option-card:hover{border-color:#9cb847;box-shadow:0 4px 12px rgba(156,184,71,.1);transform:translateY(-2px)}.trial-option-card.selected{border-color:#9cb847;background:#f7f9f4;box-shadow:0 4px 12px rgba(156,184,71,.2)}.trial-option-card.has-badge{padding-top:2.5rem}.trial-badge{position:absolute;top:.75rem;right:.75rem;padding:.25rem .75rem;background:#9cb847;color:#fff;border-radius:4px;font-size:.75rem;font-weight:600}.trial-option-icon{width:3rem;height:3rem;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:50%}.trial-option-icon .icon{width:1.75rem;height:1.75rem;color:#6b7280}.trial-option-card.selected .trial-option-icon{background:#9cb847}.trial-option-card.selected .trial-option-icon .icon{color:#fff}.trial-option-card h3{text-align:center;font-size:1.25rem;font-weight:600;color:#111827;margin-bottom:.5rem}.trial-option-description{text-align:center;font-size:.9375rem;color:#6b7280;margin-bottom:1.5rem}.trial-option-details{list-style:none;padding:0;margin:0 0 1.5rem}.trial-option-details li{display:flex;align-items:center;gap:.75rem;padding:.625rem 0;font-size:.9375rem;color:#4b5563;line-height:1.5}.trial-option-details .check-icon{width:1.5rem!important;height:1.5rem!important;min-width:1.5rem;min-height:1.5rem;flex-shrink:0;color:#9cb847;display:inline-flex;align-items:center;justify-content:center}.trial-option-radio{display:flex;justify-content:center}.trial-option-radio input[type=radio]{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:#9cb847}.invite-code-section{max-width:500px;margin:0 auto 2rem;padding:1.5rem;background:#fff;border:2px solid #e5e7eb;border-radius:8px}.invite-code-section label{display:block;font-weight:600;color:#111827;margin-bottom:.75rem;font-size:.9375rem}.invite-code-input-wrapper{position:relative}.invite-code-input-wrapper input{width:100%;padding:.75rem 3rem .75rem 1rem;border:2px solid #e5e7eb;border-radius:6px;font-size:1rem;font-weight:500;text-transform:uppercase;transition:all .2s}.invite-code-input-wrapper input:focus{outline:none;border-color:#9cb847}.invite-code-input-wrapper input.valid{border-color:#10b981;background:#f0fdf4}.invite-code-input-wrapper input.invalid{border-color:#ef4444;background:#fef2f2}.validation-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:1.5rem;height:1.5rem}.validation-icon.valid{color:#10b981}.validation-icon.invalid{color:#ef4444}.invite-code-success{margin-top:.75rem;color:#10b981;font-size:.875rem;font-weight:500}.trial-error-message{max-width:500px;margin:0 auto 1.5rem;padding:1rem;background:#fef2f2;border:2px solid #ef4444;border-radius:6px;color:#991b1b;font-size:.9375rem;text-align:center}.trial-actions{max-width:500px;margin:0 auto 2rem;display:flex;flex-direction:column;gap:1rem}.trial-continue-btn{width:100%;padding:1rem 2rem;background:#9cb847;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.trial-continue-btn:hover:not(:disabled){background:#8ba63d;transform:translateY(-1px);box-shadow:0 2px 4px rgba(156,184,71,.3)}.trial-continue-btn:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.trial-skip-btn{width:100%;padding:.875rem 2rem;background:transparent;color:#6b7280;border:2px solid #e5e7eb;border-radius:6px;font-weight:500;font-size:.9375rem;cursor:pointer;transition:all .2s}.trial-skip-btn:hover:not(:disabled){border-color:#9cb847;color:#9cb847}.trial-skip-btn:disabled{opacity:.5;cursor:not-allowed}.trial-security-notice{text-align:center;margin-top:2rem}.trial-security-notice p{font-size:.875rem;color:#6b7280}@media (max-width: 768px){.signup-trial-header h1{font-size:2rem}.trial-option-card{padding:1.5rem}.trial-option-details li{font-size:.875rem}.trial-option-details .check-icon{width:1.25rem!important;height:1.25rem!important;min-width:1.25rem;min-height:1.25rem}.invite-code-section{padding:1rem}}@media (max-width: 640px){.trial-options-grid{grid-template-columns:1fr}.signup-trial-header h1{font-size:1.75rem}.trial-option-details li{gap:.5rem}}.usage-dashboard{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.usage-dashboard.compact{padding:1rem;margin-bottom:1rem}.usage-loading,.usage-error{text-align:center;padding:2rem;color:#6b7280;font-size:.9375rem}.usage-error{color:#ef4444}.usage-dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.usage-tier-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.tier-badge{padding:.375rem .875rem;border-radius:6px;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.tier-badge.tier-free{background:#f3f4f6;color:#6b7280}.tier-badge.tier-premium{background:#fbc184;color:#6b4423}.tier-badge.tier-pro{background:#e1eec8;color:#2d3b1f}.tier-badge.tier-ultimate{background:#f15a22;color:#fff}.tier-badge.trial-active{border:2px solid #9cb847;box-shadow:0 0 0 2px rgba(156,184,71,.1)}.trial-countdown{display:flex;align-items:center;gap:.375rem;padding:.375rem .875rem;background:#fbc184;border-radius:6px;font-size:.8125rem;font-weight:500;color:#6b4423}.trial-countdown .icon{width:1rem;height:1rem}.upgrade-btn-small{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:#9cb847;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.upgrade-btn-small .icon{width:1rem;height:1rem}.upgrade-btn-small:hover{background:#8aa63d;transform:translateY(-1px);box-shadow:0 2px 4px rgba(156,184,71,.2)}.usage-bars-container{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}.usage-bar-item{display:flex;flex-direction:column;gap:.5rem}.usage-bar-label{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:500;color:#374151}.usage-icon-wrapper{width:1.5rem;min-width:1.5rem;height:1.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.usage-icon{width:1.25rem;height:1.25rem;color:#6b7280}.usage-bar-label>span:first-of-type{flex:1}.usage-bar-label>span:last-child{font-weight:600;color:#111827;margin-left:auto}.usage-bar-track{width:100%;height:.75rem;background:#f3f4f6;border-radius:999px;overflow:hidden;position:relative}.usage-bar-fill{height:100%;border-radius:999px;transition:width .5s ease;position:relative}.usage-bar-fill:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.usage-bar-fill.normal{background:#d8e69c}.usage-bar-fill.warning{background:#fbc184}.usage-bar-fill.danger{background:#f15a22}.usage-upgrade-prompt{padding:1rem;background:#f8faf0;border:2px solid #9cb847;border-radius:6px;margin-bottom:1.5rem;text-align:center}.usage-upgrade-prompt p{margin-bottom:.75rem;font-size:.9375rem;color:#2d3b1f;font-weight:500}.upgrade-btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#9cb847;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s}.upgrade-btn-primary .icon{width:1.125rem;height:1.125rem}.upgrade-btn-primary:hover{background:#8aa63d;transform:translateY(-1px);box-shadow:0 2px 4px rgba(156,184,71,.2)}.usage-ad-section{padding:1rem;background:#f9fafb;border:2px dashed #d1d5db;border-radius:6px;text-align:center}.usage-ad-section p{margin-bottom:.75rem;font-size:.875rem;color:#6b7280}.watch-ad-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#6b7280;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.watch-ad-btn .icon{width:1rem;height:1rem}.watch-ad-btn:hover{background:#4b5563;transform:translateY(-1px);box-shadow:0 2px 4px rgba(107,114,128,.3)}.usage-dashboard.compact .usage-dashboard-header{margin-bottom:1rem;padding-bottom:.75rem}.usage-dashboard.compact .usage-bars-container{gap:1rem;margin-bottom:0}.usage-dashboard.compact .usage-bar-track{height:.5rem}.usage-dashboard.compact .tier-badge,.usage-dashboard.compact .trial-countdown{font-size:.75rem;padding:.25rem .625rem}.ad-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.ad-modal-content{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}@media (max-width: 768px){.usage-dashboard{padding:1rem}.usage-dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem}.upgrade-btn-small{width:100%;justify-content:center}.usage-bar-label{font-size:.875rem}.usage-icon-wrapper{width:1.375rem;min-width:1.375rem;height:1.125rem}.usage-icon{width:1.125rem;height:1.125rem}}.token-wallet-page{min-height:calc(100vh - var(--nav-height, 64px));background:#fafaf8;padding:1rem;padding-top:calc(var(--nav-height, 64px) + 1rem);box-sizing:border-box;overflow-y:auto;position:relative}.wallet-container{max-width:900px;margin:0 auto}.wallet-loading{text-align:center;padding:3rem;color:#6b7280;font-size:1rem}.wallet-header{text-align:center;margin-bottom:2rem;padding:.5rem 1rem 2rem;position:relative}.wallet-header h1{font-size:2.75rem;font-weight:800;color:#111827;margin-bottom:1.25rem;line-height:1.1;letter-spacing:-.02em;position:relative;padding-bottom:1rem}.wallet-header h1:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100px;height:4px;background:#9cb847;border-radius:2px}.wallet-header p{font-size:1rem;color:#6b7280}.wallet-balance-card{background:#e1eec8;color:#2d3b1f;border-radius:8px;padding:1rem;margin-bottom:1.5rem;box-shadow:0 2px 4px rgba(0,0,0,.08)}.balance-grid{display:grid;grid-template-columns:1fr 2fr;gap:1rem;align-items:center}.teacher-benefits-callout{background:linear-gradient(135deg,#fff7ed,#ffedd5);border:2px solid #f97316;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px rgba(249,115,22,.15)}.benefits-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.benefits-header h3{margin:0;color:#ea580c;font-size:1.25rem;font-weight:700}.benefits-content p{margin:0 0 .75rem;color:#78716c;font-size:.95rem;line-height:1.5}.benefits-list{list-style:none;padding:0;margin:0 0 1rem}.benefits-list li{padding:.5rem 0;color:#57534e;font-size:.95rem;line-height:1.6;display:flex;align-items:flex-start;gap:.5rem}.benefits-list li:before{content:"✓";color:#f97316;font-weight:700;font-size:1.1rem;flex-shrink:0}.benefits-list li strong{color:#ea580c}.benefits-note{margin:1rem 0 0;padding:.75rem;background:#fff;border-left:3px solid #f97316;border-radius:4px;font-size:.9rem;color:#57534e;font-style:italic}.balance-section{display:flex;flex-direction:column;gap:.25rem}.balance-header-compact{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:600;opacity:.75;text-transform:uppercase;letter-spacing:.05em;color:#2d3b1f}.balance-header-compact svg{width:14px;height:14px;flex-shrink:0;color:#2d3b1f}.balance-amount-compact{display:flex;align-items:baseline;gap:.375rem}.balance-number{font-size:1.5rem;font-weight:700;line-height:1;color:#2d3b1f}.balance-tokens{font-size:.75rem;opacity:.75;color:#2d3b1f}.rates-group{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:.75rem;background:rgba(216,230,156,.3);border-radius:6px;border:1px solid rgba(45,59,31,.15)}.rate-section{display:flex;flex-direction:column;gap:.25rem}.rate-header{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:600;opacity:.75;text-transform:uppercase;letter-spacing:.05em;color:#2d3b1f}.rate-header svg{width:14px;height:14px;flex-shrink:0;color:#2d3b1f}.rate-value{font-size:.8125rem;font-weight:600;line-height:1.3;color:#2d3b1f}.wallet-section{margin-bottom:1.5rem}.wallet-section h2{font-size:1.375rem;font-weight:700;color:#111827;margin-bottom:.875rem}.token-packages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.token-package-card{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:1rem;text-align:center;transition:all .3s;position:relative}.token-package-card:hover{border-color:#9cb847;box-shadow:0 2px 4px rgba(156,184,71,.15);transform:translateY(-2px)}.token-package-card.popular{border-color:#9cb847;box-shadow:0 2px 4px rgba(156,184,71,.15)}.package-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);padding:.25rem .875rem;background:#9cb847;color:#fff;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.package-header{display:flex;flex-direction:column;align-items:center;margin-bottom:.875rem;padding-bottom:.875rem;border-bottom:1px solid #e5e7eb}.package-label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.package-amount{font-size:2rem;font-weight:700;color:#111827;line-height:1;margin-bottom:.25rem}.package-unit{font-size:.875rem;color:#6b7280}.package-price{margin-bottom:.375rem}.price-value{font-size:1.75rem;font-weight:700;color:#9cb847}.package-rate{font-size:.8125rem;color:#6b7280;margin-bottom:.875rem}.token-package-card .package-buy-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1rem;background:#9cb847;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.token-package-card .package-buy-btn svg{width:1.125rem;height:1.125rem;color:currentColor}.token-package-card .package-buy-btn:hover:not(:disabled){background:#8aa63d;transform:translateY(-1px);box-shadow:0 2px 4px rgba(156,184,71,.2)}.token-package-card .package-buy-btn:disabled{opacity:.6;cursor:not-allowed}.no-transactions{text-align:center;padding:2rem;background:#fff;border:2px dashed #e5e7eb;border-radius:8px}.no-transactions-icon{width:2.5rem;height:2.5rem;margin:0 auto .75rem;color:#d1d5db}.no-transactions p{color:#6b7280;font-size:.875rem}.transactions-list{background:#fff;border:2px solid #e5e7eb;border-radius:8px;overflow:hidden}.transaction-item{display:flex;align-items:center;gap:.75rem;padding:1rem;border-bottom:1px solid #f3f4f6}.transaction-item:last-child{border-bottom:none}.transaction-icon{width:2rem;height:2rem;flex-shrink:0;padding:.375rem;border-radius:50%}.transaction-icon.purchase{background:#e1eec8;color:#2d3b1f}.transaction-icon.earned{background:#fbc184;color:#6b4423}.transaction-icon.spent{background:#fee2e2;color:#991b1b}.transaction-details{flex:1;display:flex;flex-direction:column;gap:.125rem}.transaction-label{font-weight:600;color:#111827;font-size:.875rem}.transaction-date{font-size:.75rem;color:#6b7280}.transaction-amount{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem}.amount-value{font-size:1rem;font-weight:700}.amount-value.positive{color:#10b981}.amount-value.negative{color:#ef4444}.amount-unit{font-size:.75rem;color:#6b7280}.wallet-error-message{padding:1rem;background:#fee2e2;border:2px solid #ef4444;border-radius:6px;color:#991b1b;font-size:.9375rem;text-align:center;margin-bottom:1.5rem}.wallet-info-section{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;padding:1rem}.wallet-info-section h3{font-size:1rem;font-weight:600;color:#111827;margin-bottom:.75rem}.wallet-info-section ul{list-style:none;padding:0;margin:0}.wallet-info-section li{padding:.375rem 0 .375rem 1.25rem;color:#6b7280;font-size:.875rem;position:relative}.wallet-info-section li:before{content:"•";position:absolute;left:.5rem;color:#9cb847;font-weight:700}@media (max-width: 768px){.token-wallet-page{padding:1rem}.wallet-header h1{font-size:1.75rem}.wallet-balance-card{padding:1rem}.balance-grid{grid-template-columns:1fr;gap:.875rem}.rates-group{grid-template-columns:1fr;gap:.75rem}.balance-section,.rate-section{text-align:center;align-items:center}.balance-header-compact,.rate-header{justify-content:center}.balance-number{font-size:1.375rem}.token-packages-grid{grid-template-columns:1fr}.transaction-item{padding:.875rem}.wallet-section h2{font-size:1.25rem}}.team-page{min-height:calc(100vh - var(--nav-height, 64px));background:#fafaf8;padding:1rem;padding-top:calc(var(--nav-height, 64px) + 1rem);padding-bottom:100px;box-sizing:border-box;overflow-y:auto;position:relative}.team-hero{text-align:center;margin-bottom:2rem;padding:.5rem 1rem 2rem;position:relative}.team-hero h1{font-size:2.75rem;font-weight:800;color:#111827;margin-bottom:1.25rem;line-height:1.1;letter-spacing:-.02em;position:relative;padding-bottom:1rem}.team-hero h1:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100px;height:4px;background:#9cb847;border-radius:2px}.team-hero p{font-size:1.125rem;color:#6b7280}.team-container{max-width:1200px;margin:0 auto}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:2rem}.team-member-card{background:#fff;border-radius:8px;padding:2rem;text-align:center;transition:all .2s ease;border:1px solid #e5e7eb}.team-member-card:hover{box-shadow:0 2px 4px rgba(0,0,0,.08)}.team-member-photo-container{margin-bottom:1.5rem;display:flex;justify-content:center}.team-member-photo{width:150px;height:150px;border-radius:50%;object-fit:cover;border:3px solid #f15a22}.team-member-photo-placeholder{width:150px;height:150px;border-radius:50%;background:#d8e69c;display:flex;align-items:center;justify-content:center;border:3px solid #d8e69c}.team-member-initials{font-size:2rem;font-weight:700;color:#5056a5}.team-member-info{text-align:center}.team-member-name{font-size:1.5rem;font-weight:600;color:#333;margin-bottom:.25rem}.team-member-role{font-size:1rem;font-weight:500;color:#f15a22;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px}.team-member-bio{font-size:.9375rem;color:#555;line-height:1.6;text-align:left}@media (max-width: 768px){.team-page{padding:1rem;padding-top:calc(var(--nav-height, 64px) + 1rem);padding-bottom:120px}.team-hero h1{font-size:2rem}.team-hero p{font-size:1rem}.team-grid{grid-template-columns:1fr;gap:1.5rem}.team-member-card{padding:1.5rem}.team-member-photo,.team-member-photo-placeholder{width:120px;height:120px}.team-member-initials{font-size:1.5rem}.team-member-name{font-size:1.25rem}}.ai-voice-call-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;padding:1rem}.ai-voice-improve-popup{z-index:99999!important;isolation:isolate!important}.ai-voice-call-container{background:var(--background-light);border-radius:16px;width:100%;max-width:600px;max-height:90vh;max-height:90dvh;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.3);border:1px solid var(--border-color);display:flex;flex-direction:column}.ai-voice-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color);background:var(--background)}.ai-info{display:flex;align-items:center;gap:1rem}.ai-icon{width:32px;height:32px;color:var(--primary-color)}.ai-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0}.ai-avatar img{width:100%;height:100%;object-fit:cover}.ai-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.ai-details h3{margin:0;color:var(--text-primary);font-size:1.25rem;font-weight:600;line-height:1.2}.ai-info h3{margin:0;color:var(--text-primary);font-size:1.25rem;font-weight:600}.session-status{margin:0;color:#374151;font-size:.875rem}.header-controls{display:flex;align-items:center;gap:1rem}.language-selector{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--gray-800);color:var(--gray-100);font-size:.875rem;cursor:pointer;transition:all .2s ease}.language-selector:hover{border-color:var(--primary-color);background:var(--gray-700)}.language-selector:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(139,105,20,.1)}.translation-toggle-btn{background:var(--background-light);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:36px;height:36px}.translation-toggle-btn:hover{background:var(--background);border-color:var(--primary-color);color:var(--primary-color)}.translation-toggle-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.ai-close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.ai-close-btn:hover{background:var(--background-light);color:var(--text-primary)}.ai-close-btn svg{width:20px;height:20px}.conversation-history{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;max-height:400px}.error-message{display:flex;align-items:center;gap:.75rem;padding:1rem;background:rgba(220,38,38,.1);color:var(--red-500);border:1px solid rgba(220,38,38,.3);border-radius:8px;margin-bottom:1rem}.error-icon{width:20px;height:20px;flex-shrink:0}.dismiss-error{background:none;border:none;color:var(--red-500);cursor:pointer;padding:.25rem;border-radius:4px;margin-left:auto}.dismiss-error:hover{background:rgba(220,38,38,.1)}.dismiss-error svg{width:16px;height:16px}.welcome-message{text-align:center;padding:2rem;color:#374151}.welcome-icon{width:48px;height:48px;color:var(--primary-color);margin:0 auto 1rem}.conversation-entry{padding:1rem;border-radius:12px;border:1px solid var(--border-color);background:var(--background)}.conversation-entry.user{background:var(--primary-color);color:#fff;margin-left:2rem}.conversation-entry.ai{background:var(--background-light);margin-right:2rem}.entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.improve-btn-inline{background:var(--olive-100);color:var(--olive-700);border:1px solid var(--olive-300);padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.25rem;margin-left:auto}.improve-btn-inline:hover{background:var(--olive-200);border-color:var(--olive-500)}.improve-icon{width:12px;height:12px}.entry-type{font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.entry-time{font-size:.75rem;opacity:.7}.entry-message{line-height:1.5;word-wrap:break-word}.play-audio-btn{display:flex;align-items:center;gap:.5rem;background:var(--primary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s ease}.play-audio-btn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.play-audio-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.play-audio-btn svg{width:16px;height:16px}.ai-message-actions{display:flex;gap:.75rem;margin-top:.5rem;flex-wrap:wrap}.translate-btn{display:flex;align-items:center;gap:.5rem;background:var(--primary-500);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s ease;white-space:nowrap;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.translate-btn:hover:not(:disabled){background:var(--primary-600);transform:translateY(-1px)}.translate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.translate-btn svg{width:16px;height:16px}.translate-btn .spinner{animation:spin 1s linear infinite}.message-translation{margin-top:.5rem;padding:.5rem;background:var(--background-light, #f8f8f8);border-radius:6px;font-size:.875rem}.translation-label{font-weight:600;color:var(--text-secondary);margin-right:.5rem}.translation-text{color:var(--text-primary)}.ai-voice-controls{padding:1.5rem;border-top:1px solid var(--border-color);background:var(--background)}.control-buttons{display:flex;justify-content:center;margin-bottom:1rem;gap:1rem}.ai-voice-call-container .record-btn{display:flex;align-items:center;gap:.75rem;background-color:var(--orange-primary);color:#fff;border:none;padding:1rem 2rem;border-radius:50px;cursor:pointer;font-size:1rem;font-weight:600;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;min-width:200px;justify-content:center;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;position:relative;overflow:visible}.ai-voice-call-container .record-btn:before{display:none}.ai-voice-call-container .record-btn:hover:not(:disabled):not(.recording):not(.processing){background-color:var(--orange-terracotta);color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px rgba(247,115,22,.3)}.ai-voice-call-container .record-btn:active:not(:disabled):not(.recording):not(.processing){background-color:var(--orange-terracotta);color:#fff;transform:translateY(0);box-shadow:0 4px 15px rgba(247,115,22,.4)}.ai-voice-call-container .record-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.ai-voice-call-container .record-btn.processing{background:var(--gray-600);animation:pulse 2s infinite}.ai-voice-call-container .record-btn.recording{background:var(--green-500);animation:pulse-recording 1.5s infinite;transform:scale(1.05);box-shadow:0 8px 25px rgba(16,185,129,.4)}.stop-btn{display:flex;align-items:center;gap:.75rem;background:var(--gray-600);color:#fff;border:none;padding:1rem 2rem;border-radius:50px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s ease;min-width:200px;justify-content:center}.stop-btn:hover{background:var(--gray-700);transform:translateY(-2px);box-shadow:0 8px 25px rgba(107,114,128,.3)}.record-btn svg,.stop-btn svg{width:24px;height:24px;flex-shrink:0}.record-btn,.record-btn:hover,.record-btn:active{color:#fff}.record-btn svg,.record-btn:hover:not(:disabled) svg,.record-btn:active:not(:disabled) svg{color:#fff;fill:currentColor}.chat-btn{width:50px;height:50px;border-radius:50%;background-color:var(--background-secondary);color:var(--text-primary);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.chat-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px var(--shadow-color);background-color:var(--primary-color);color:var(--text-on-primary)}.chat-btn.active{background-color:var(--primary-color);color:var(--text-on-primary);box-shadow:0 0 20px rgba(99,102,241,.4)}.chat-btn svg{width:24px;height:24px}.processing-indicator{display:flex;align-items:center;justify-content:center;gap:.75rem;color:var(--text-secondary);font-size:.875rem}.processing-indicator svg{width:20px;height:20px}.spinning{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.8}}@keyframes pulse-recording{0%,to{box-shadow:0 8px 25px rgba(16,185,129,.4);transform:scale(1.05)}50%{box-shadow:0 12px 35px rgba(16,185,129,.6);transform:scale(1.08)}}.conversation-history::-webkit-scrollbar{width:6px}.conversation-history::-webkit-scrollbar-track{background:var(--background)}.conversation-history::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.conversation-history::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}@media (max-width: 768px){.ai-voice-call-overlay{padding:.5rem}.ai-voice-call-container{max-height:95vh;max-height:95dvh;max-width:100%}.ai-voice-header{padding:1rem;flex-wrap:wrap;gap:.75rem}.ai-info{flex:1;min-width:0;gap:.75rem}.ai-details{flex:1;min-width:0}.ai-avatar{width:40px;height:40px}.ai-details h3,.ai-info h3{font-size:1rem}.session-status{font-size:.75rem}.header-controls{gap:.5rem;flex-wrap:wrap}.language-selector{font-size:.75rem;padding:.4rem .75rem}.conversation-history{padding:1rem;max-height:300px}.ai-voice-controls{padding:1rem}.record-btn,.stop-btn{padding:.75rem 1.5rem;min-width:160px;font-size:.875rem}.record-btn.recording{color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2)}.ai-message-actions{flex-direction:column;gap:.5rem}.translate-btn,.play-audio-btn{width:100%;justify-content:center}.conversation-entry.user{margin-left:1rem}.conversation-entry.ai{margin-right:1rem}}@media (max-width: 480px){.ai-voice-header{padding:.75rem}.ai-info{width:100%}.header-controls{width:100%;justify-content:space-between}}.conversation-entry.ai .message .message-sender{color:var(--primary-600)}.thinking-indicator .dot{width:8px;height:8px;border-radius:50%;background-color:var(--primary-500);opacity:.4;animation:thinking-bounce 1.4s infinite ease-in-out both}.talk-now-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:var(--z-talk-now-modal, 500)}.talk-now-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);width:90%;max-width:500px;max-height:90vh;max-height:90dvh;overflow-y:auto;position:relative;color:#1f2937;font-family:inherit;font-size:16px;line-height:1.5}.talk-now-modal:has(.ai-interface-container){max-width:700px;max-height:95vh;max-height:95dvh}.ai-interface-container{margin:0;border-radius:0;overflow:hidden;background:transparent;border:none;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.ai-interface-container .ai-voice-call-container{background:transparent;border-radius:0;box-shadow:none;margin:0 auto;padding:16px;border:none;width:100%;max-width:500px;display:flex;flex-direction:column;align-items:center}.ai-interface-container .ai-voice-header{padding:12px 16px;border-bottom:none}.ai-interface-container .conversation-history{max-height:300px;overflow-y:auto;margin-bottom:16px;width:100%}.ai-interface-container .ai-voice-controls{border-top:none;padding-top:16px;margin-top:16px;width:100%;display:flex;flex-direction:column;align-items:center}.talk-now-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;color:#6b7280;z-index:10;padding:8px;border-radius:8px;transition:all .2s ease}.talk-now-close:hover{background:#f3f4f6;color:#374151}.talk-now-form{padding:32px}.talk-now-header{text-align:center;margin-bottom:32px;padding:1.5rem 0}.talk-now-header .header-icon{display:none}.talk-now-header h2{font-size:2.25rem;font-weight:800;color:var(--text-primary);margin:0 0 .5rem;line-height:1.2;letter-spacing:-.02em;padding-bottom:1rem;position:relative}.talk-now-header h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100px;height:4px;background:var(--orange-600);border-radius:2px}.talk-now-header p{color:#374151;font-size:16px;margin:0;line-height:1.4}.form-group{margin-bottom:24px}.form-group label{display:block;font-weight:600;color:#374151;margin-bottom:8px;font-size:14px}.form-group select{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:12px;font-size:16px;transition:border-color .2s ease;background:#fff}.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(185,204,129,.1)}.language-toggles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.language-toggle{padding:12px 16px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center;min-height:48px;display:flex;align-items:center;justify-content:center}.language-toggle:hover{border-color:#d1d5db;background:#f9fafb;transform:translateY(-1px)}.language-toggle.active{border-color:var(--primary-color);background:var(--primary-50);color:var(--primary-color);font-weight:600;box-shadow:0 2px 8px rgba(185,204,129,.15)}.language-hint{display:block;color:#4b5563;font-size:12px;margin-top:8px;font-style:italic;line-height:1.4}.no-native-languages{color:var(--text-secondary);font-style:italic;text-align:center;padding:20px;background:rgba(0,0,0,.05);border-radius:8px;margin:10px 0}.preference-toggles{display:grid;gap:12px}.preference-toggle{display:flex;align-items:center;gap:12px;padding:16px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;width:100%;box-sizing:border-box}.preference-toggle:hover{border-color:#d1d5db;background:#f9fafb;transform:translateY(-1px)}.preference-toggle.active{border-color:var(--primary-color);background:var(--primary-50);color:var(--primary-color);font-weight:600;box-shadow:0 2px 8px rgba(185,204,129,.15);position:relative}.preference-toggle.active:after{content:"✓";position:absolute;top:8px;right:12px;font-size:16px;color:var(--primary-color);font-weight:700}.preference-icon{width:24px;height:24px;flex-shrink:0}.preference-content{display:flex;flex-direction:column;gap:4px;flex:1}.token-cost{display:flex;align-items:center;gap:4px;font-size:12px;color:#f97316;font-weight:600;margin-top:2px}.preference-toggle.active .token-cost{color:#ea580c}.token-warning-box{margin-top:12px;padding:12px;border-radius:8px;background:#fef3c7;border:1px solid #fcd34d}.token-loading{display:flex;align-items:center;gap:8px;font-size:14px;color:#78716c}.insufficient-tokens-warning{display:flex;gap:12px;align-items:flex-start}.insufficient-tokens-warning .warning-content{flex:1}.insufficient-tokens-warning strong{display:block;color:#dc2626;font-size:14px;font-weight:600;margin-bottom:4px}.insufficient-tokens-warning p{margin:0 0 8px;color:#78716c;font-size:13px;line-height:1.4}.insufficient-tokens-warning a{display:inline-block;color:#f97316;font-weight:600;font-size:13px;text-decoration:underline}.insufficient-tokens-warning a:hover{color:#ea580c}.token-info{display:flex;align-items:center;gap:8px;font-size:14px;color:#78716c;font-weight:500}.talk-now-submit{width:100%;background:var(--olive-600);color:#fff;border:none;padding:16px 24px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px}.talk-now-submit:hover{transform:translateY(-1px);box-shadow:0 8px 25px rgba(59,130,246,.3)}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.talk-now-searching{padding:0;display:flex;flex-direction:column;height:100%}.waiting-header{display:flex;justify-content:space-between;align-items:center;padding:16px 60px 16px 20px;border-bottom:1px solid var(--border-secondary)}.waiting-header-left{display:flex;align-items:center;gap:12px}.chacha-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0}.chacha-avatar img{width:100%;height:100%;object-fit:cover}.waiting-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.waiting-timer{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--primary-color)}.searching-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px}.searching-message{color:var(--text-secondary);margin-bottom:40px;font-size:15px;line-height:1.5;text-align:center;max-width:400px}.searching-animation{margin-bottom:0;display:flex;align-items:center;justify-content:center}.searching-spinner{opacity:.8}.searching-dots{display:inline-block}.waiting-time{background:var(--background-secondary);padding:12px 20px;border-radius:8px;font-weight:600;color:var(--text-primary);margin-bottom:24px;display:inline-block}.searching-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;padding:16px 24px;background:var(--background-secondary);border-top:1px solid var(--border-secondary)}.minimize-button{background:var(--primary-color);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:14px}.minimize-button:hover{background:var(--olive-700);transform:translateY(-1px)}.cancel-button{background:var(--red-500);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:14px}.cancel-button:hover{background:var(--red-600)}.talk-now-bot{padding:0;text-align:center;display:flex;flex-direction:column;height:100%}.bot-indicator{margin-bottom:24px}.talk-now-bot h3{font-size:24px;font-weight:700;color:#1f2937;margin-bottom:8px}.talk-now-bot p{color:#374151;margin-bottom:24px}.bot-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;padding:16px 24px;background:var(--background-secondary);border-top:1px solid var(--border-secondary)}.end-practice-button{background:#6b7280;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.end-practice-button:hover{background:#4b5563}.timeout-options{margin-bottom:24px}.timeout-message{color:#f59e0b;font-weight:600;margin-bottom:16px;text-align:center}.timeout-buttons{display:flex;gap:12px;justify-content:center}.continue-ai-button{background:var(--primary-color);color:#fff;border:none;padding:12px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:14px}.continue-ai-button:hover{background:var(--olive-700);transform:translateY(-1px)}.talk-now-ai-only{padding:48px 32px;text-align:center}.ai-only-indicator{margin-bottom:24px}.talk-now-ai-only h3{font-size:24px;font-weight:700;color:#1f2937;margin-bottom:8px}.talk-now-ai-only p{color:#374151;margin-bottom:24px}.ai-only-status{display:flex;justify-content:center;gap:24px;margin-bottom:24px;font-size:14px;font-weight:600;color:#374151}.ai-only-actions{display:flex;justify-content:center}.talk-now-matched{padding:32px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;max-width:100%;overflow:hidden}.matched-animation{margin-bottom:20px;display:flex;justify-content:center}.matched-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;background:var(--primary-color);border-radius:50%;border:3px solid var(--primary-color);box-shadow:0 4px 12px rgba(156,184,113,.3)}.talk-now-matched h3{font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:16px;word-break:break-word}.match-info{margin-bottom:24px;width:100%;max-width:100%}.match-info>p{color:var(--text-secondary);margin-bottom:12px;font-size:15px;word-break:break-word}.participant-info{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:12px;background:var(--background-secondary);border-radius:10px;border:1px solid var(--border-secondary);max-width:100%;overflow:hidden}.participant-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0}.participant-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;background:var(--primary-color);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600}.participant-details{text-align:left;flex:1;min-width:0;overflow:hidden}.participant-details h4{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.participant-details p{font-size:13px;color:var(--text-secondary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-countdown{margin-bottom:12px;width:100%}.match-countdown>p{color:var(--text-secondary);margin-bottom:12px;font-size:14px}.countdown-circle{min-width:60px;height:48px;background:var(--primary-color);border-radius:24px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:700;margin:0 auto;padding:0 20px;box-shadow:0 2px 8px rgba(156,184,113,.3);white-space:nowrap}.connecting-animation{display:flex;justify-content:center;gap:8px}.connecting-dot{width:12px;height:12px;background:#10b981;border-radius:50%}.ai-header{display:flex;align-items:center;gap:16px;padding:16px 24px;background:var(--background-secondary);border-bottom:1px solid var(--border-secondary);border-radius:16px 16px 0 0}.ai-info{flex:1}.ai-info h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.language-selector-container{margin-top:8px}.language-selector-container label{display:block;font-size:12px;font-weight:500;color:#64748b;margin-bottom:4px}.language-selector{padding:6px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;background:#fff;color:#374151}.bot-avatar{position:relative;width:48px;height:48px;border-radius:50%;overflow:hidden;background:var(--primary-color);display:flex;align-items:center;justify-content:center}.bot-avatar img{width:100%;height:100%;object-fit:cover}.chacha-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff}.integrated-ai-voice{display:flex;flex-direction:column;height:400px;background:#fff;border-radius:0 0 16px 16px;overflow:hidden}.conversation-area{flex:1;overflow-y:auto;padding:16px;background:#f8fafc}.empty-conversation{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#64748b;text-align:center}.empty-icon{margin-bottom:16px;opacity:.6}.empty-conversation p{font-size:14px;margin:0}.conversation-messages{display:flex;flex-direction:column;gap:12px}.message{display:flex;align-items:flex-start;gap:8px;max-width:100%}.message.user{flex-direction:row-reverse}.message.ai{flex-direction:row}.message-content{flex:1;max-width:80%;padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.4;word-wrap:break-word;word-break:normal}.message.user .message-content{background:var(--primary-500);color:var(--text-on-primary);border-bottom-right-radius:4px}.message.ai .message-content{background:var(--background-light);color:var(--text-primary);border:1px solid var(--border-color);border-bottom-left-radius:4px}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:11px;font-weight:600}.message.user .message-header{color:rgba(255,255,255,.8)}.message.ai .message-header{color:#64748b}.message-sender{text-transform:uppercase;letter-spacing:.5px}.message-sender.ai{color:var(--primary-color)}.message-time{opacity:.7}.message.user .message-time{opacity:1;color:var(--text-on-primary)}.message-text{margin:0}.play-button{background:var(--primary-500);color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;margin-top:8px}.play-button:hover{transform:scale(1.1);box-shadow:0 4px 12px rgba(16,185,129,.3)}.play-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.voice-controls{padding:16px;background:#fff;border-top:1px solid #e2e8f0}.ai-error{background:#fef2f2;color:#dc2626;padding:8px 12px;border-radius:8px;font-size:12px;margin-bottom:12px;border:1px solid #fecaca}.control-buttons{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:8px}.record-button{background:var(--primary-500);color:#fff;border:none;border-radius:50%;width:64px;height:64px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px rgba(16,185,129,.3)}.record-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 16px rgba(16,185,129,.4)}.record-button.recording{background:var(--primary-500);animation:pulse 1.5s infinite}.record-button:disabled{opacity:.6;cursor:not-allowed;transform:none}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.processing-indicator{display:flex;align-items:center;gap:8px;color:#64748b;font-size:12px;font-weight:500}.voice-status{text-align:center;font-size:12px;color:#64748b;font-weight:500}.bot-actions,.ai-only-actions{padding:16px 24px;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:center}.continue-ai-btn{background:var(--primary-500);color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.continue-ai-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(139,92,246,.3)}.end-practice-button{background:var(--gray-600);color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.end-practice-button:hover{background:var(--gray-700);transform:translateY(-1px)}.ai-voice-container{padding:16px;background:#fafbfc;border-bottom:1px solid #e2e8f0}.ai-voice-container .ai-voice-overlay{position:static;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.ai-voice-container .ai-voice-modal{position:static;background:#fff;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.1);width:100%;max-width:none;margin:0;transform:none}.ai-voice-container .ai-voice-close{display:none}@media (max-width: 640px){.talk-now-modal{margin:16px;width:calc(100% - 32px)}.talk-now-modal:has(.ai-voice-container){max-width:calc(100% - 32px)}.talk-now-form,.talk-now-searching,.talk-now-bot,.talk-now-matched{padding:24px}.bot-header,.ai-header{padding:12px 16px}.ai-voice-container{padding:12px}.status-row{flex-direction:column;gap:12px}.integrated-ai-voice{height:350px}.conversation-area{padding:12px}.message-content{max-width:85%;padding:10px 14px;font-size:13px}.control-buttons{gap:12px}.record-button{width:56px;height:56px}.play-button{width:28px;height:28px}.bot-actions,.ai-only-actions{padding:12px 16px;flex-direction:column}.continue-ai-btn,.end-practice-button{width:100%;justify-content:center}}.step-info{margin-top:16px;padding:12px 16px;background:#f0f9ff;border-radius:8px;border:1px solid #e0f2fe}.preference-summary{font-size:14px;color:#0369a1;font-weight:500;line-height:1.4}.form-actions{display:flex;gap:12px;margin-top:24px}.talk-now-back{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;flex:1}.talk-now-back:hover{background:#e5e7eb;transform:translateY(-1px)}.form-actions .talk-now-submit{flex:2}.talk-now-submit:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed;transform:none}.thinking-indicator{display:inline-flex;align-items:center;gap:4px;padding:4px 0}.thinking-indicator .dot{width:6px;height:6px;border-radius:50%;background-color:#9cb471;opacity:.4;animation:thinking-bounce 1.4s infinite ease-in-out both}.thinking-indicator .dot:nth-child(1){animation-delay:-.32s}.thinking-indicator .dot:nth-child(2){animation-delay:-.16s}@keyframes thinking-bounce{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1.2);opacity:1}}.background-mode-button{margin-top:1rem;padding:.75rem 1.5rem;background-color:var(--accent-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s;font-size:14px}.background-mode-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2)}.talk-now-match-pending{text-align:center;padding:2rem}.match-pending-icon{margin-bottom:1.5rem;display:flex;justify-content:center}.talk-now-match-pending h3{font-size:24px;font-weight:700;color:#1f2937;margin-bottom:.5rem}.talk-now-match-pending p{color:#374151;margin-bottom:1.5rem}.match-partner-info{margin:1.5rem 0;padding:1rem;background-color:rgba(156,184,71,.1);border-radius:8px}.match-partner-info p{margin:.25rem 0;color:#374151;font-size:14px}.acceptance-countdown{margin:2rem 0}.countdown-circle.large{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;background-color:var(--primary-color);color:#fff;margin:0 auto 1rem;box-shadow:0 4px 12px rgba(0,0,0,.15)}.acceptance-countdown p{color:#374151;font-size:14px;margin:0}.match-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.accept-match-button{padding:.75rem 2rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s;font-size:14px}.reject-match-button{padding:.75rem 2rem;background-color:var(--red-500);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s;font-size:14px}.accept-match-button:hover,.reject-match-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2)}@media (max-width: 640px){.talk-now-match-pending{padding:1.5rem}.countdown-circle.large{width:100px;height:100px;font-size:2.5rem}.match-actions{flex-direction:column;gap:.75rem}.accept-match-button,.reject-match-button{width:100%}}.talk-now-info-box{display:flex;gap:12px;align-items:flex-start;background:rgba(156,184,113,.08);border:1px solid rgba(156,184,113,.3);border-radius:12px;padding:16px;margin-bottom:24px}.talk-now-info-box .info-content{flex:1}.talk-now-info-box .info-title{font-size:.95rem;font-weight:600;color:var(--primary-color);margin-bottom:8px}.talk-now-info-box .info-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.talk-now-info-box .info-list li{font-size:.85rem;color:var(--text-secondary);line-height:1.4;padding-left:16px;position:relative}.talk-now-info-box .info-list li:before{content:"•";position:absolute;left:4px;color:var(--primary-color);font-weight:600}@media (max-width: 640px){.talk-now-info-box{padding:12px;margin-bottom:16px}.talk-now-info-box .info-title{font-size:.9rem}.talk-now-info-box .info-list li{font-size:.8rem}}.learning-studio-dropdown{position:relative}.learning-studio-dropdown .learning-studio-trigger{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:var(--primary-600);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:none;box-shadow:0 4px 15px rgba(99,102,241,.2)}.learning-studio-dropdown .learning-studio-trigger:hover{transform:none;box-shadow:0 4px 15px rgba(99,102,241,.2);background-color:var(--primary-600)}.learning-studio-dropdown.navigation-style .learning-studio-trigger{display:flex;align-items:center;gap:6px;padding:8px 12px;background-color:transparent;background:transparent;color:var(--text-primary);border-radius:4px;font-size:14px;font-weight:500;box-shadow:none;transform:none;transition:none}.learning-studio-dropdown.navigation-style .learning-studio-trigger:hover{background-color:rgba(80,86,165,.1);background:rgba(80,86,165,.1);color:#5056a5;transform:none;box-shadow:none;transition:background-color .15s ease}.learning-studio-dropdown .trigger-icon{width:20px;height:20px}.learning-studio-dropdown .chevron-icon{width:16px;height:16px;transition:transform .3s ease}.learning-studio-dropdown .chevron-icon.open{transform:rotate(180deg)}.learning-studio-dropdown .learning-studio-menu{position:absolute;top:100%;left:0;margin-top:4px;background:var(--background-cream, #f1f8ee);border-radius:8px;box-shadow:0 4px 24px rgba(0,0,0,.12);min-width:280px;z-index:1000;overflow:hidden;animation:slideDown .2s ease-out;border:1px solid rgba(0,0,0,.06)}.learning-studio-dropdown .menu-header{display:none}.learning-studio-dropdown .menu-items{padding:8px}.learning-studio-dropdown .menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left;box-shadow:none}.learning-studio-dropdown .menu-item:hover{background:rgba(80,86,165,.1);transform:none;box-shadow:none}.learning-studio-dropdown .menu-item-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:10px;color:#5056a5;flex-shrink:0;transition:all .2s ease}.learning-studio-dropdown .menu-item:hover .menu-item-icon{background-color:#5056a5;color:#fff;transform:scale(1.05)}.learning-studio-dropdown .menu-item-icon svg{width:20px;height:20px;stroke-width:2}.learning-studio-dropdown .menu-item-content h4{margin:0 0 1px;color:#111827;font-size:14px;font-weight:500;letter-spacing:-.01em}.learning-studio-dropdown .menu-item-content p{margin:0;color:#6b7280;font-size:12px;font-weight:400}@media (max-width: 640px){.learning-studio-dropdown .learning-studio-menu{position:fixed;top:auto;bottom:0;left:0;right:0;margin:0;border-radius:16px 16px 0 0;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.live-call-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:var(--z-live-call-assistant);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.live-call-modal{background:#fff;border-radius:20px;box-shadow:0 25px 80px rgba(0,0,0,.3);width:90%;max-width:600px;max-height:90vh;overflow-y:auto;position:relative}.live-call-header{display:flex;flex-direction:column;align-items:center;padding:1rem 1.5rem;background:#fff;border-bottom:none;border-radius:16px 16px 0 0;position:relative}.live-call-header .close-button{position:absolute;top:1.5rem;right:2rem;background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;transition:background .2s}.live-call-header .close-button:hover{background:#f3f4f6}.live-call-header .close-icon{width:20px;height:20px;color:#6b7280}.live-call-header .header-title{font-size:2.25rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em;text-align:center;position:relative;padding-bottom:1rem;margin:0}.live-call-header .header-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100px;height:4px;background:var(--orange-600);border-radius:2px}.live-call-modal .live-call-header .header-icon{display:none}.live-call-content{padding:32px}.scenario-selection h3{font-size:24px;font-weight:700;color:#1f2937;margin:0 0 8px;text-align:center}.scenario-selection p{color:#6b7280;text-align:center;margin:0 0 32px}.recording-disclaimer{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-bottom:24px}.disclaimer-icon{font-size:20px;line-height:1;flex-shrink:0}.disclaimer-text{flex:1}.disclaimer-text p{margin:0;font-size:14px;line-height:1.5;color:#92400e}.scenarios-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.speaker-selection h3{font-size:24px;font-weight:700;color:#1f2937;margin:0 0 8px;text-align:center}.speaker-selection p{color:#6b7280;text-align:center;margin:0 0 32px}.speaker-options{display:flex;flex-direction:column;gap:12px}.speaker-option-btn{display:flex;align-items:center;gap:16px;padding:16px 24px;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s;font-size:16px;font-weight:500;color:#1f2937}.speaker-option-btn:hover{border-color:var(--primary-color);background:var(--primary-color-light, rgba(139, 105, 20, .05));transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.speaker-option-btn.analyze-all{border-color:#d1d5db;background:#f9fafb;margin-top:8px}.speaker-option-btn.analyze-all:hover{border-color:#9ca3af;background:#f3f4f6}.speaker-icon{font-size:24px}.speaker-label{flex:1;text-align:left}.scenario-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;padding:20px;cursor:pointer;transition:all .3s;text-align:center}.scenario-card:hover{border-color:var(--olive-600);transform:translateY(-2px);box-shadow:0 4px 12px rgba(156,180,113,.2);background:var(--olive-50)}.scenario-icon{display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:var(--olive-600)}.scenario-card h4{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 8px}.scenario-card p{font-size:14px;color:#6b7280;margin:0}.custom-scenario-input{margin-top:2rem;padding:1.5rem;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;animation:fadeIn .3s ease}.custom-scenario-input h4{margin:0 0 .5rem;color:#374151;font-size:1.125rem;font-weight:600}.custom-scenario-input p{margin:0 0 1rem;color:#6b7280;font-size:.875rem;line-height:1.5}.scenario-textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;line-height:1.5;color:#374151;background:#fff;resize:vertical;min-height:100px;font-family:inherit;transition:all .2s ease}.scenario-textarea:focus{outline:none;border-color:var(--olive-500);box-shadow:0 0 0 3px rgba(156,180,113,.1)}.scenario-textarea::placeholder{color:#9ca3af;font-style:italic}.custom-scenario-actions{display:flex;gap:1rem;margin-top:1rem;justify-content:flex-end}.scenario-action-btn{padding:.75rem 1.5rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;display:flex;align-items:center;justify-content:center;min-width:100px}.scenario-action-btn.cancel{background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.scenario-action-btn.cancel:hover{background:#e5e7eb;color:#374151}.scenario-action-btn.continue{background:var(--olive-600);color:#fff}.scenario-action-btn.continue:hover:not(:disabled){background:var(--olive-600);transform:translateY(-1px)}.scenario-action-btn.continue:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed;transform:none}.recording-interface{text-align:center}.back-to-scenarios-link{background:none;border:none;color:var(--primary-color);font-size:14px;font-weight:500;cursor:pointer;padding:8px 0;margin-bottom:16px;display:inline-flex;align-items:center;gap:4px;transition:all .2s ease}.back-to-scenarios-link:hover{color:var(--primary-dark);text-decoration:underline}.recording-status{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;padding:20px;background:var(--cream-50);border-radius:12px;border:1px solid #e5e7eb}.status-title{font-size:24px;font-weight:600;color:#1f2937;margin:0;line-height:1.3}.scenario-badge{display:inline-flex;align-items:center;gap:10px;padding:10px 20px;background:#fff;border:2px solid var(--olive-200);border-radius:10px;font-size:15px;font-weight:600;color:#1f2937;box-shadow:0 1px 3px rgba(0,0,0,.08)}.scenario-badge .scenario-icon{display:flex;align-items:center;justify-content:center;color:var(--olive-600)}.scenario-name{color:#2d3a1a;font-weight:600}.live-call-modal .language-selection{margin-bottom:24px;display:flex;align-items:center;justify-content:center;gap:12px}.live-call-modal .language-selection label{font-weight:600;color:#4b5563}.live-call-modal select.language-select{padding:.625rem 2.75rem .625rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.875rem;font-weight:500;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239cb847' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25rem;color:var(--text-primary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);appearance:none;-webkit-appearance:none;-moz-appearance:none;min-width:140px}.live-call-modal select.language-select:hover:not(:disabled){border-color:var(--olive-400);box-shadow:0 4px 6px rgba(156,184,71,.12),0 2px 4px rgba(156,184,71,.08);background-color:var(--olive-50);transform:translateY(-1px)}.live-call-modal select.language-select:focus{outline:none;border-color:var(--olive-600);box-shadow:0 0 0 3px rgba(156,184,71,.15),0 4px 6px rgba(156,184,71,.1);background-color:#fff}.live-call-modal select.language-select:disabled{opacity:.5;cursor:not-allowed;background-color:#f3f4f6;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25rem;border-color:#e5e7eb;color:#9ca3af}.live-call-modal select.language-select option{padding:.5rem;background:#fff;color:var(--text-primary);font-weight:500}.live-transcription-dialog{margin:20px 0;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb;max-height:400px;display:flex;flex-direction:column}.dialog-header{padding:12px 16px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:12px 12px 0 0}.dialog-header h4{margin:0;color:#111827;font-size:.9375rem;font-weight:600}.dialog-header-controls{display:flex;align-items:center;gap:8px}.translation-toggle-btn{background:var(--background-light, #f3f4f6);border:2px solid var(--border-color, #e5e7eb);color:var(--text-secondary, #6b7280);cursor:pointer;padding:6px;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:36px;height:36px}.translation-toggle-btn:hover{background:var(--background, #fff);border-color:var(--primary-color);transform:translateY(-1px)}.translation-toggle-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff;box-shadow:0 2px 8px rgba(139,105,20,.3)}.toggle-icon{width:20px;height:20px;display:block;flex-shrink:0}.live-call-modal button.hint-button-prominent{background:var(--primary-500);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s;box-shadow:0 2px 4px rgba(251,191,36,.2)}.live-call-modal .hint-button-prominent:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(251,191,36,.3)}.live-call-modal .hint-button-prominent:disabled{opacity:.5;cursor:not-allowed}.live-call-modal button.hint-button-prominent .hint-text{color:#fff}.live-call-modal button.hint-button-prominent .hint-icon{width:20px;height:20px;color:#fff}.dialog-messages{padding:20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}.dialog-placeholder{text-align:center;color:#9ca3af;font-style:italic;padding:40px 0}.quota-exhausted-notice{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 24px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:12px;text-align:center;animation:slideIn .3s ease-out}.quota-notice-icon{font-size:48px;line-height:1}.quota-notice-content{display:flex;flex-direction:column;gap:12px}.quota-notice-content h4{font-size:18px;font-weight:700;color:#92400e;margin:0}.quota-notice-content p{font-size:14px;color:#78350f;margin:0;line-height:1.5}.quota-upgrade-btn{display:inline-block;padding:10px 24px;background:var(--orange-600);color:#fff;font-weight:600;font-size:14px;border-radius:8px;text-decoration:none;transition:all .2s;margin-top:8px}.quota-upgrade-btn:hover{background:#ea580c;transform:translateY(-1px);box-shadow:0 4px 12px rgba(249,115,22,.3)}.dialog-message{animation:slideIn .3s ease-out}.dialog-message.user{background:#fff;padding:12px 16px;border-radius:8px;border:1px solid #e5e7eb}.dialog-message.user[data-interim=true]{opacity:.7;font-style:italic;border-style:dashed}.dialog-message.hint{background:transparent;padding:0;border:none}.dialog-message.system{background:#e0e7ff;padding:12px 16px;border-radius:8px;border:1px solid #c7d2fe;font-style:italic;text-align:center}.dialog-message.error{background:#fee2e2;padding:12px 16px;border-radius:8px;border:1px solid #fecaca;color:#dc2626;text-align:center}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}.message-speaker{font-size:12px;font-weight:600;color:var(--primary-color);padding:2px 8px;background:var(--primary-color-light, rgba(139, 105, 20, .1));border-radius:4px}.message-time{font-size:12px;color:#6b7280;margin-left:auto}.live-call-modal button.improve-btn-inline{background:#eff6ff;color:#3b82f6;border:1px solid #dbeafe;padding:4px 12px;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s}.live-call-modal .improve-btn-inline:hover{background:#dbeafe;border-color:#3b82f6}.live-call-modal .improve-btn-inline .inline-icon{display:inline-block;vertical-align:middle;margin-right:4px}.message-text{margin:0;color:#111827;line-height:1.5}.message-translation{margin-top:8px;padding:8px 12px;background:var(--olive-50, #f8fafc);border-left:3px solid var(--primary-color, #8b6914);border-radius:4px}.message-translation .translation-arrow{font-size:12px;color:var(--text-secondary, #6b7280);margin-bottom:4px}.message-translation .translation-text{color:#374151;font-size:14px;line-height:1.5;font-style:italic}.recording-timer{margin:24px 0}.timer-text{font-size:36px;font-weight:300;color:#4b5563;font-variant-numeric:tabular-nums}.recording-controls{display:flex;gap:16px;justify-content:center;margin-top:24px}.live-call-modal button.control-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;font-size:16px;font-weight:600;border-radius:12px;cursor:pointer;transition:all .2s ease;border:none;min-width:180px;justify-content:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-decoration:none;outline:none}.control-icon{width:20px;height:20px}.live-call-modal button.control-btn.start-btn{background:var(--primary-500);color:#fff}.live-call-modal .start-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(156,180,113,.3)}.live-call-modal button.control-btn.pause-btn{background:var(--primary-500);color:#fff}.live-call-modal button.control-btn.stop-btn{background:#ef4444;color:#fff}.live-call-modal button.control-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.results-interface{text-align:center}.results-interface h3{font-size:24px;font-weight:700;color:#1f2937;margin:0 0 8px}.results-interface>p{color:#6b7280;margin:0 0 24px}.final-transcript{margin:24px 0;text-align:left}.final-transcript h4{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#1f2937;margin:0 0 12px}.section-icon{width:20px;height:20px;color:var(--olive-600)}.transcript-content{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;color:#4b5563;line-height:1.6}.action-buttons{margin-top:32px;display:flex;gap:16px;justify-content:center}.live-call-modal button.control-btn.reset-btn{background:var(--primary-500);color:#fff}.live-call-modal button.control-btn.analyze-btn{background:#f97316;color:#fff}.live-call-modal .analyze-btn:hover:not(:disabled){background:#ea580c;transform:translateY(-1px);box-shadow:0 4px 12px rgba(249,115,22,.3)}.live-call-modal .analyze-btn:disabled{opacity:.5;cursor:not-allowed}.call-analysis{margin-top:24px;padding:24px;background:#fafafa;border:1px solid #e5e7eb;border-radius:12px;text-align:left;box-shadow:0 2px 8px rgba(0,0,0,.04)}.call-analysis h4{margin:0 0 20px;color:#111827;font-size:20px;font-weight:700;display:flex;align-items:center;gap:10px;padding-bottom:16px;border-bottom:2px solid #e5e7eb}.analysis-content{color:#4b5563;line-height:1.8;white-space:pre-wrap;font-size:15px}.analysis-content:not(:has(.analysis-section)){display:block}.analysis-content:first-line{font-weight:600;color:#374151;font-size:16px;line-height:2}.analysis-content{text-align:left;padding:16px;background:#fff;border-radius:10px;border:1px solid #e5e7eb;word-spacing:.1em;letter-spacing:.02em}.analysis-section-modern{margin-bottom:20px;border-radius:16px;border:1px solid #e1e8ef;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:all .3s ease}.analysis-section-modern:last-child{margin-bottom:0}.analysis-section-modern:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.08);border-color:#c7d2fe}.analysis-section-modern .section-header{background:#f8f9fa;border-bottom:1px solid #e1e8ef;padding:16px 20px}.section-header h5{margin:0;color:#1e293b;font-size:16px;font-weight:700;display:flex;align-items:center;gap:10px;letter-spacing:-.02em}.section-header .section-icon{color:#1e293b;flex-shrink:0}.section-content{padding:20px}.section-intro{margin:0 0 16px;color:#475569;font-size:15px;line-height:1.7;font-weight:500;padding:12px 16px;background:#f1f5f9;border-radius:8px;border-left:4px solid #cbd5e1}.section-text p{margin:0 0 12px;color:#475569;line-height:1.7;font-size:15px}.section-text p:last-child{margin-bottom:0}.analysis-list{margin:0;padding:0;list-style:none}.analysis-list li{position:relative;margin-bottom:12px;padding:12px 16px 12px 40px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;color:#475569;line-height:1.6;font-size:15px;transition:all .2s ease}.analysis-list li:last-child{margin-bottom:0}.analysis-list li:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translate(2px)}.analysis-list li:before{content:"▸";position:absolute;left:16px;top:12px;color:#64748b;font-weight:700;font-size:16px;line-height:1.6}.analysis-section{margin-bottom:24px;padding:16px;background:#fff;border-radius:10px;border:1px solid #e5e7eb;transition:all .2s ease}.analysis-section:last-child{margin-bottom:0}.analysis-section:hover{box-shadow:0 4px 12px rgba(0,0,0,.06);border-color:#d1d5db}.analysis-section h5{margin:0 0 12px;color:#374151;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.analysis-section p{margin:0;color:#4b5563;line-height:1.7;font-size:15px}.analysis-section ul{margin:0;padding-left:24px;list-style:none}.analysis-section ul li{position:relative;margin-bottom:8px;color:#4b5563;line-height:1.6;font-size:15px;padding-left:20px}.analysis-section ul li:before{content:"•";position:absolute;left:0;color:#64748b;font-weight:700;font-size:18px;line-height:1;top:2px}.analysis-section ul li:last-child{margin-bottom:0}.error-message{margin-top:16px;padding:12px;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px}.hint-container{background:#f8fafc;border-radius:12px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.1);margin-top:8px;border:1px solid #e2e8f0;animation:fadeInScale .3s ease-out}.hint-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.hint-icon{width:20px;height:20px;color:#475569;flex-shrink:0}.hint-title{font-weight:600;color:#475569;font-size:.8125rem;text-transform:capitalize;letter-spacing:0}.hint-options{display:flex;flex-direction:column;gap:10px}.hint-option{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;background:#fff;border-radius:8px;border:1px solid #e2e8f0;transition:all .2s ease}.hint-option:hover{transform:translate(2px);border-color:#cbd5e1;box-shadow:0 2px 6px rgba(0,0,0,.08)}.hint-number{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:#64748b;color:#fff;border-radius:50%;font-weight:600;font-size:.75rem;flex-shrink:0;margin-top:2px}.hint-text{color:#475569;font-size:.9375rem;line-height:1.5;flex:1}.hint-content{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.hint-phrase{color:#1e293b;font-size:.9375rem;font-weight:600;line-height:1.5;word-break:break-word}.hint-phrase .chinese-pinyin{display:inline-block;vertical-align:top}.hint-phrase .chinese-pinyin ruby{ruby-position:over;line-height:2.2}.hint-phrase .chinese-pinyin rt{font-size:.65em;color:#64748b;font-weight:400;line-height:1.2}.hint-phrase .chinese-pinyin rb{font-weight:600;font-size:1em;line-height:1}.hint-translation{color:#64748b;font-size:.875rem;font-style:italic;opacity:.9;line-height:1.4}.improvement-container{background:#f0f9ff;border-radius:12px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.1);margin-top:12px;border:1px solid #bae6fd;animation:fadeInScale .3s ease-out}.improvement-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #bae6fd}.improvement-icon{width:20px;height:20px;color:#0369a1;flex-shrink:0}.improvement-title{font-weight:600;color:#0369a1;font-size:.8125rem;text-transform:capitalize;letter-spacing:0}.improvement-content{display:flex;flex-direction:column;gap:10px}.improvement-text{margin:0;color:#1e293b;font-size:.9375rem;font-weight:500;line-height:1.6;padding:12px 16px;background:#fff;border-radius:8px;border:1px solid #e0f2fe}.improvement-explanation{margin:0;color:#475569;font-size:.875rem;line-height:1.5;font-style:italic;padding-left:16px}.audio-player-section{margin:24px 0;padding:20px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;text-align:left}.audio-player-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#1f2937;margin:0 0 16px}.audio-player-container{display:flex;flex-direction:column;gap:12px}.audio-player{width:100%;height:48px;border-radius:8px;background:#fff;border:1px solid #e5e7eb;outline:none;cursor:pointer}.audio-player:focus{border-color:var(--olive-600);box-shadow:0 0 0 3px rgba(156,180,113,.1)}.audio-player::-webkit-media-controls-panel{background:#fff;border-radius:8px}.audio-player::-webkit-media-controls-play-button,.audio-player::-webkit-media-controls-current-time-display,.audio-player::-webkit-media-controls-time-remaining-display{color:#4b5563}.audio-info{display:flex;align-items:center;gap:16px;font-size:14px;color:#6b7280}.audio-duration{display:inline-flex;align-items:center;gap:4px;font-weight:500}@media (max-width: 768px){.live-call-modal{width:95%;max-width:none;margin:20px auto}.live-call-header,.live-call-content{padding:20px}.recording-controls,.action-buttons{flex-wrap:wrap;gap:12px}.live-call-modal .recording-controls button.control-btn,.live-call-modal .action-buttons button.control-btn{min-width:160px;padding:12px 20px;font-size:15px;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s ease;flex:1 1 auto;max-width:200px}.live-call-modal .recording-controls button.control-btn.start-btn{background:var(--green-500);color:#fff}.live-call-modal .recording-controls button.control-btn.pause-btn{background:var(--orange-600);color:#fff}.live-call-modal .recording-controls button.control-btn.stop-btn{background:#ef4444;color:#fff}.live-call-modal .action-buttons button.control-btn.reset-btn{background:var(--primary-500);color:#fff}.live-call-modal .action-buttons button.control-btn.analyze-btn{background:#f97316;color:#fff}.scenarios-grid{grid-template-columns:1fr;gap:12px}.live-transcription-dialog{max-height:300px}.hint-container{padding:12px}.hint-option{padding:8px 12px}.improvement-container{padding:12px}.action-buttons{flex-wrap:wrap}.call-analysis{padding:16px;margin-top:16px}.call-analysis h4{font-size:18px;margin-bottom:16px;padding-bottom:12px}.analysis-section-modern{margin-bottom:16px;border-radius:12px}.section-header{padding:12px 16px}.section-header h5{font-size:15px;gap:8px}.section-content{padding:16px}.section-intro{font-size:14px;padding:10px 12px;margin-bottom:12px}.section-text p{font-size:14px;margin-bottom:10px}.analysis-list li{font-size:14px;padding:10px 14px 10px 32px;margin-bottom:10px}.analysis-list li:before{left:12px;top:10px;font-size:14px}.analysis-section{margin-bottom:16px;padding:12px}.analysis-section h5{font-size:15px;margin-bottom:10px}.analysis-section p,.analysis-section ul li,.analysis-content{font-size:14px}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95) translateY(5px)}to{opacity:1;transform:scale(1) translateY(0)}}.hoverable-text-container{position:relative}.hoverable-text{line-height:1.8;font-size:16px;color:var(--text-primary);letter-spacing:.05em}.hoverable-word{cursor:pointer;padding:2px 4px;margin:0;border-radius:4px;transition:background-color .2s ease,color .2s ease;display:inline-block;box-sizing:border-box}.hoverable-word:hover{background-color:var(--background-soft, rgba(0, 0, 0, .05))}.hoverable-word.selected{background-color:var(--primary-300, #93c5fd);color:var(--primary-800, #1e40af)}.reading-word-tooltip{position:absolute;background:var(--white);border:1px solid var(--border-color);border-radius:8px;padding:12px;box-shadow:var(--shadow-lg);z-index:1000;min-width:180px;transform:translate(-50%);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(-5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.reading-tooltip-word{font-weight:600;color:var(--text-primary);margin-bottom:8px;text-align:center}.reading-tooltip-translation{color:var(--text-secondary);font-size:14px;margin-bottom:8px;text-align:center;font-style:italic}.reading-tooltip-actions{display:flex;gap:8px;justify-content:center;margin-top:8px}.reading-tooltip-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:40px;border:2px solid var(--border-color);background:var(--white);border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);padding:0;overflow:hidden}.reading-tooltip-btn:hover:not(:disabled){background:var(--background-light);border-color:var(--primary-600);transform:translateY(-1px);box-shadow:var(--shadow-md)}.reading-tooltip-btn:disabled{opacity:.5;cursor:not-allowed}.reading-tooltip-icon{width:24px;height:24px;color:var(--text-secondary);display:block;flex-shrink:0}.reading-tooltip-btn svg.reading-tooltip-icon{width:24px;height:24px}.reading-tooltip-btn:hover:not(:disabled) .reading-tooltip-icon{color:var(--primary-600)}.hoverable-word[data-chinese=true]{padding:2px 3px;margin:0 1px;border-radius:2px;background-color:rgba(185,204,129,.1);border:1px solid rgba(185,204,129,.3)}.hoverable-word[data-chinese=true]:hover{background-color:rgba(185,204,129,.2);border-color:rgba(185,204,129,.5)}.hoverable-word[data-chinese=true].selected{background-color:rgba(185,204,129,.3);border-color:rgba(185,204,129,.7);color:var(--text-primary, #1f2937)}@media (max-width: 640px){.reading-word-tooltip{min-width:150px}.hoverable-text{font-size:15px}}.highlightable-reading-text{line-height:2;font-size:1.125rem;color:var(--text-primary);padding:1.5rem;background:var(--background-soft);border-radius:8px;margin-bottom:1rem}.reading-word{position:relative;transition:background-color .3s ease;padding:2px 4px;margin:-2px -4px;display:inline-block;border-radius:3px}.reading-word.highlighted{background-color:var(--orange-200, rgba(251, 191, 36, .3));color:var(--text-primary)}.reading-word.highlighted.already-read{background-color:var(--primary-200);animation:none}.reading-word.highlighted.current{background-color:var(--orange-300, rgba(251, 191, 36, .5))}.reading-word.highlighted:after{content:"";position:absolute;bottom:0;left:4px;right:4px;height:2px;background-color:var(--orange-600, rgba(234, 88, 12, .8));border-radius:1px;opacity:.8}.reading-passages-container{max-width:800px;margin:0 auto;padding:20px}.reading-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.reading-title{display:flex;align-items:center;gap:8px;font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.reading-title svg{width:24px;height:24px;flex-shrink:0}.reading-stats{display:flex;gap:16px;font-size:14px;color:var(--text-secondary)}.reading-controls{display:flex;gap:1rem;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap}.language-select{padding:.625rem 2.75rem .625rem 1rem;border:2px solid #e5e7eb;border-radius:10px;background:#fff;color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239cb847' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25rem;min-width:160px}.language-select:hover:not(:disabled){border-color:var(--olive-400);box-shadow:0 4px 6px rgba(156,184,71,.12),0 2px 4px rgba(156,184,71,.08);background-color:var(--olive-50);transform:translateY(-1px)}.language-select:focus{outline:none;border-color:var(--olive-600);box-shadow:0 0 0 3px rgba(156,184,71,.15),0 4px 6px rgba(156,184,71,.1);background-color:#fff}.level-filter{display:flex;align-items:center;gap:.625rem;font-size:.875rem;color:#374151;font-weight:500;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:.5rem;border-radius:8px;transition:background .2s ease}.level-filter:hover{background:var(--olive-50)}.level-filter input[type=checkbox]{width:1.125rem;height:1.125rem;cursor:pointer;border:2px solid #d1d5db;border-radius:4px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#fff;transition:all .2s ease;position:relative}.level-filter input[type=checkbox]:checked{background:var(--olive-600);border-color:var(--olive-600)}.level-filter input[type=checkbox]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:.375rem;height:.625rem;border:solid white;border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}.level-filter input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 3px rgba(156,184,71,.15)}.passages-list{display:flex;flex-direction:column;gap:16px}.passage-card{background:#fff;border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:box-shadow .2s ease}.passage-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.1)}.passage-header{padding:16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.passage-header:hover{background-color:var(--background-soft)}.passage-header svg{width:20px;height:20px;flex-shrink:0}.passage-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.passage-meta{display:flex;gap:12px;align-items:center}.level-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:16px;font-size:.813rem;font-weight:600;border:1px solid currentColor;opacity:.9}.level-badge svg{width:16px;height:16px;flex-shrink:0}.level-badge.bg-green-100{background-color:var(--olive-50);color:var(--olive-800);border-color:var(--olive-500)}.level-badge.bg-blue-100{background-color:var(--olive-100);color:var(--olive-900);border-color:var(--olive-600)}.level-badge.bg-purple-100{background-color:#fff7ed;color:var(--orange-800);border-color:var(--orange-500)}.level-badge.bg-gray-100{background-color:var(--tea-green-100);color:var(--tea-green-800);border-color:var(--tea-green-600)}.word-count{font-size:14px;color:var(--text-secondary)}.passage-content{padding:0 16px 16px;border-top:1px solid var(--border-light);animation:fadeIn .2s ease-out}.passage-text{margin:16px 0;line-height:1.8;color:var(--text-primary);font-size:16px}.passage-source{font-size:12px;color:var(--text-secondary);font-style:italic;margin-bottom:16px}.recording-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-light)}.record-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.record-btn svg{width:20px;height:20px;flex-shrink:0}.record-btn.start{background-color:var(--primary-600);color:#fff}.record-btn.start:hover{background-color:var(--primary-700);color:#fff}.record-btn.stop{background-color:#dc2626;color:#fff}.record-btn.stop:hover{background-color:#b91c1c;color:#fff}.recording-active-container{display:flex;align-items:center;gap:16px}.recording-status{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:var(--background-soft);border-radius:8px;border:1px solid var(--border-color)}.recording-indicator{width:12px;height:12px;background-color:#dc2626;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}.recording-time{font-size:14px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.recording-actions{display:flex;flex-direction:column;gap:12px;margin-top:12px}.playback-controls{display:flex;align-items:center;gap:12px;padding:12px;background:var(--background-soft);border-radius:8px;border:1px solid var(--border-light)}.playback-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background-color:var(--primary-600);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.playback-btn:hover{background-color:var(--primary-700);transform:translateY(-1px)}.playback-btn:active{transform:translateY(0)}.playback-icon{width:18px;height:18px;flex-shrink:0}.recording-duration{margin-left:auto;font-size:14px;font-weight:500;color:var(--text-secondary);font-variant-numeric:tabular-nums}.action-buttons{display:flex;gap:12px}.analyze-btn{padding:10px 20px;background-color:var(--primary-600);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.analyze-btn:hover:not(:disabled){background-color:var(--primary-700)}.analyze-btn:disabled{opacity:.6;cursor:not-allowed}.analyze-spinner{width:18px;height:18px;animation:spin .8s linear infinite;flex-shrink:0}.analyze-btn:disabled{opacity:1;background-color:var(--primary-500);cursor:wait}.reset-btn{padding:10px 20px;background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.reset-btn:hover{background-color:var(--background-soft)}.analysis-results{background-color:var(--background-soft);padding:16px;border-radius:8px;margin-top:16px}.analysis-results h4{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary)}.scores{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.score-item{text-align:center;padding:12px;background:#fff;border-radius:8px;border:1px solid var(--border-light)}.score-label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.score-value{display:block;font-size:24px;font-weight:600;color:var(--primary-600)}.feedback{margin:16px 0;padding:12px;background:#fff;border-radius:8px;border:1px solid var(--border-light);color:var(--text-primary);line-height:1.6}.strengths{margin:16px 0}.strengths h5{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--green-600)}.strengths ul{margin:0;padding-left:20px;list-style:none}.strengths li.strength-item{margin-bottom:6px;color:var(--green-700);font-size:14px;line-height:1.5}.areas-for-improvement{margin:16px 0}.areas-for-improvement h5{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--orange-600)}.areas-for-improvement ul{margin:0;padding-left:20px;list-style:none}.areas-for-improvement li.improvement-item{margin-bottom:6px;color:var(--orange-700);font-size:14px;line-height:1.5}.suggestions{margin:16px 0}.suggestions h5{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--text-primary)}.suggestions ul{margin:0;padding-left:20px}.suggestions li{margin-bottom:4px;color:var(--text-secondary);font-size:14px}.analysis-actions{display:flex;gap:12px;margin-top:16px;justify-content:center}.record-again-btn{padding:10px 20px;background-color:var(--primary-600);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.record-again-btn:hover{background-color:var(--primary-700)}.no-passages{text-align:center;padding:40px;color:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.reading-title-icon{width:24px;height:24px}.level-badge-icon{width:16px;height:16px}.expand-icon{width:20px;height:20px}.record-button-icon{width:20px;height:20px;flex-shrink:0}.reference-audio-section{display:flex;align-items:center;gap:12px;margin:16px 0;padding:12px;background:var(--olive-50);border-radius:8px;border:1px solid var(--olive-200)}.reference-audio-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background-color:var(--olive-600);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.reference-audio-btn:hover{background-color:var(--olive-700);transform:translateY(-1px);box-shadow:0 2px 4px rgba(156,184,71,.2)}.reference-audio-btn:active{transform:translateY(0)}.reference-audio-icon{width:18px;height:18px;flex-shrink:0}.reference-audio-label{font-size:13px;color:var(--olive-800);font-weight:500}.word-analysis{margin:20px 0;padding:16px;background:#fff;border-radius:8px;border:1px solid var(--border-light)}.word-analysis h5{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--text-primary)}.word-analysis-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.word-analysis-item{padding:12px;background:var(--background-soft);border-radius:8px;border:1px solid var(--border-light);transition:all .2s ease}.word-analysis-item:hover{box-shadow:0 2px 4px rgba(0,0,0,.08);border-color:var(--olive-300)}.word-analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.word-text{font-size:16px;font-weight:600;color:var(--text-primary)}.word-score{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.word-score.good{background-color:var(--green-100);color:var(--green-700)}.word-score.moderate{background-color:var(--orange-100);color:var(--orange-700)}.word-score.needs-work{background-color:#fee2e2;color:#991b1b}.word-issue{font-size:13px;color:var(--orange-700);margin:6px 0;line-height:1.4}.word-suggestion{font-size:13px;color:var(--primary-700);margin:6px 0;line-height:1.4}.word-audio-controls{margin-top:8px;display:flex;gap:6px}.word-audio-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid;border-radius:5px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.word-audio-btn:disabled{opacity:.5;cursor:not-allowed}.word-audio-btn.user-pronunciation{background-color:#dbeafe;color:#1e40af;border-color:#93c5fd}.word-audio-btn.user-pronunciation:hover:not(:disabled){background-color:#3b82f6;color:#fff;border-color:#3b82f6;transform:translateY(-1px);box-shadow:0 1px 3px rgba(59,130,246,.3)}.word-audio-btn.user-pronunciation.playing{background-color:#3b82f6;color:#fff;border-color:#3b82f6;animation:pulse-blue 1.5s ease-in-out infinite}.word-audio-btn.reference-pronunciation{background-color:var(--olive-100);color:var(--olive-800);border-color:var(--olive-300)}.word-audio-btn.reference-pronunciation:hover{background-color:var(--olive-600);color:#fff;border-color:var(--olive-600);transform:translateY(-1px);box-shadow:0 1px 3px rgba(156,184,71,.2)}.word-audio-btn.reference-pronunciation.playing{background-color:var(--olive-600);color:#fff;border-color:var(--olive-600);animation:pulse-olive 1.5s ease-in-out infinite}.word-audio-btn:active:not(:disabled){transform:translateY(0)}@keyframes pulse-blue{0%,to{box-shadow:0 1px 3px rgba(59,130,246,.3)}50%{box-shadow:0 2px 8px rgba(59,130,246,.5)}}@keyframes pulse-olive{0%,to{box-shadow:0 1px 3px rgba(156,184,71,.2)}50%{box-shadow:0 2px 8px rgba(156,184,71,.4)}}@media (max-width: 768px){.word-analysis-grid{grid-template-columns:1fr}.reference-audio-section{flex-direction:column;align-items:flex-start}.reference-audio-label{order:-1;margin-bottom:8px}}.reading-practice-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.reading-practice-modal{background:#fff;border-radius:20px;box-shadow:0 25px 80px rgba(0,0,0,.3);width:90%;max-width:900px;max-height:90vh;max-height:90dvh;overflow-y:auto;position:relative}.reading-practice-header{display:flex;flex-direction:column;align-items:center;padding:1.5rem 2rem;background:#fff;border-bottom:none;border-radius:16px 16px 0 0;position:-webkit-sticky;position:sticky;top:0;z-index:10;position:relative}.reading-practice-header .close-button{position:absolute;top:1.5rem;right:2rem;background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;transition:background .2s}.reading-practice-header .close-button:hover{background:#f3f4f6}.reading-practice-header .close-icon{width:20px;height:20px;color:#6b7280}.reading-practice-header .header-title{font-size:2.25rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em;text-align:center;position:relative;padding-bottom:1rem;margin:0}.reading-practice-header .header-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100px;height:4px;background:var(--orange-600);border-radius:2px}.reading-practice-modal .header-icon{display:none}.reading-practice-content{padding:0}.reading-practice-modal .reading-header{display:none}.notification-bell{position:relative}.notification-bell-button{position:relative;padding:.5rem;border-radius:.5rem;background-color:transparent;border:none;cursor:pointer;transition:background-color .2s ease}.notification-bell-button:hover{background-color:rgba(255,255,255,.1)}.notification-bell-icon{width:1.5rem;height:1.5rem;color:var(--text-secondary);transition:color .2s ease}.notification-bell-icon.active{color:var(--yellow-400, #facc15)}.notification-badge{position:absolute;top:-.25rem;right:-.25rem;background-color:var(--red-500, #ef4444);color:#fff;font-size:.75rem;font-weight:700;border-radius:9999px;min-width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;padding:0 .25rem;animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.notification-dropdown{position:absolute;right:0;top:100%;margin-top:.5rem;width:20rem;background-color:var(--background-cream);border-radius:.5rem;box-shadow:0 10px 25px -5px rgba(0,0,0,.3);border:1px solid var(--border-color);z-index:50;max-height:24rem;overflow-y:auto;animation:dropdown-appear .2s ease-out}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.notification-dropdown-header{padding:1rem;border-bottom:1px solid var(--border-color)}.notification-dropdown-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;padding-bottom:.5rem;border-bottom:3px solid var(--orange-primary);display:block;width:100%}.notification-empty{padding:2rem;text-align:center;color:var(--text-muted)}.notification-list{divide-y:1px solid var(--border-color)}.notification-item{padding:1rem;transition:background-color .2s ease;cursor:pointer}.notification-item:hover{background-color:var(--background-hover)}.notification-item.unread{background-color:rgba(59,130,246,.1)}.notification-item-content{display:flex;align-items:flex-start;gap:.75rem}.notification-icon-wrapper{flex-shrink:0;width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.notification-icon-wrapper.friend-request{background-color:rgba(59,130,246,.2)}.notification-icon-wrapper.accepted{background-color:rgba(34,197,94,.2)}.notification-icon-wrapper.rejected{background-color:rgba(156,163,175,.2)}.notification-icon{width:1rem;height:1rem}.notification-icon.friend-request{color:var(--blue-600, #2563eb)}.notification-icon.accepted{color:var(--green-600, #16a34a)}.notification-icon.rejected{color:var(--gray-600, #4b5563)}.notification-text{flex:1;min-width:0}.notification-message{font-size:.875rem;color:var(--text-primary);margin-bottom:.25rem}.notification-timestamp{font-size:.75rem;color:var(--text-muted)}.notification-actions{display:flex;gap:.5rem;margin-top:.5rem}.notification-action-button{font-size:.75rem;font-weight:500;padding:.25rem .75rem;border-radius:.25rem;border:none;cursor:pointer;transition:all .2s ease}.notification-action-button.accept{background-color:var(--blue-600, #2563eb);color:#fff}.notification-action-button.accept:hover{background-color:var(--blue-700, #1d4ed8)}.notification-action-button.decline{background-color:var(--gray-300, #d1d5db);color:var(--gray-700, #374151)}.notification-action-button.decline:hover{background-color:var(--gray-400, #9ca3af)}@media (prefers-color-scheme: dark){.notification-action-button.decline{background-color:var(--gray-600, #4b5563);color:var(--gray-300, #d1d5db)}.notification-action-button.decline:hover{background-color:var(--gray-500, #6b7280)}}@media (max-width: 640px){.notification-dropdown{position:fixed;top:4rem;right:.5rem;left:.5rem;width:auto;max-width:calc(100vw - 1rem)}}.feedback-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:flex-start;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:40px 20px;overflow-y:auto}.feedback-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.2);width:90%;max-width:600px;max-height:calc(100vh - 80px);overflow-y:auto;position:relative;margin:auto}.feedback-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:none}.feedback-header h2{margin:0;font-size:2.25rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em;padding-bottom:1rem;position:relative;flex:1;text-align:center}.feedback-header h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100px;height:4px;background:var(--orange-600);border-radius:2px}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;transition:background .2s}.close-button:hover{background:#f3f4f6}.close-icon{width:20px;height:20px;color:#6b7280}.feedback-content{padding:28px}.feedback-intro{margin:0 0 24px;font-size:16px;color:#4b5563;line-height:1.6}.category-selection{padding:0}.category-prompt{margin:0 0 24px;font-size:16px;color:var(--text-secondary);line-height:1.6;text-align:center}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.category-card{border:2px solid #e5e7eb;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s;background:#fafafa}.category-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}.category-card.green:hover{border-color:var(--olive-600, #9cb471);background:var(--olive-50, #f8faef)}.category-card.blue:hover{border-color:var(--olive-500, #b9cc81);background:var(--olive-50, #f8faef)}.category-card.orange:hover{border-color:var(--orange-500, #ff9800);background:#fff7ed}.category-card.purple:hover{border-color:var(--olive-600, #9cb471);background:var(--olive-50, #f8faef)}.category-icon{width:32px;height:32px;margin-bottom:8px;color:#6b7280}.category-card.green:hover .category-icon{color:var(--olive-600, #9cb471)}.category-card.blue:hover .category-icon{color:var(--olive-500, #b9cc81)}.category-card.orange:hover .category-icon{color:var(--orange-500, #ff9800)}.category-card.purple:hover .category-icon{color:var(--olive-600, #9cb471)}.category-title{margin:0 0 4px;font-size:16px;font-weight:600;color:#111827}.category-description{margin:0;font-size:14px;color:#6b7280;line-height:1.4}.category-card h4{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-primary)}.category-card p{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.4}.selected-category{padding:16px;background:#f9fafb;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:12px}.selected-category .category-icon{width:24px;height:24px}.selected-category .category-icon.green{color:var(--olive-600, #9cb471)}.selected-category .category-icon.blue{color:var(--olive-500, #b9cc81)}.selected-category .category-icon.orange{color:var(--orange-500, #ff9800)}.selected-category .category-icon.purple{color:var(--olive-600, #9cb471)}.selected-category-text{font-size:14px;color:#4b5563}.selected-category-text strong{color:#111827;font-weight:600}.feedback-form{width:100%}.back-button{background:none;border:none;color:var(--olive-600);font-size:14px;font-weight:600;cursor:pointer;padding:0;margin-bottom:20px;transition:color .2s}.back-button:hover{color:var(--olive-700)}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.feedback-textarea{width:100%;min-height:120px;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;line-height:1.5;resize:vertical;transition:border-color .2s;font-family:inherit}.feedback-textarea:focus{outline:none;border-color:var(--olive-600, #9cb471)}.feedback-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.cancel-btn,.submit-btn{padding:10px 20px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.cancel-btn{background:var(--white);color:var(--olive-700);border:2px solid var(--olive-500)}.cancel-btn:hover{background:var(--olive-50);border-color:var(--olive-600);color:var(--olive-800)}.submit-btn{background:var(--primary-600, #9cb847);color:#fff;border:2px solid var(--primary-600, #9cb847)}.submit-btn:hover{background:var(--primary-700, #88a438);border-color:var(--primary-700, #88a438);transform:translateY(-1px);box-shadow:0 4px 12px rgba(156,184,71,.3)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.success-state,.success-message{text-align:center;padding:60px 40px}.success-icon{width:64px;height:64px;color:var(--olive-600, #9cb471);margin-bottom:20px}.success-state h3,.success-message h3{margin:0 0 12px;font-size:24px;font-weight:700;color:var(--text-primary)}.success-state p,.success-message p{margin:0;font-size:16px;color:var(--text-secondary);line-height:1.5}@media (max-width: 640px){.feedback-modal{width:95%;max-height:90vh}.feedback-header,.feedback-content{padding:20px}.category-grid{grid-template-columns:1fr;gap:12px}.category-card{padding:16px}.feedback-actions{flex-direction:column-reverse}.cancel-btn,.submit-btn{width:100%}}.feedback-button{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--white);border:2px solid var(--olive-500);border-radius:8px;cursor:pointer;transition:all .2s;color:var(--olive-700);font-size:14px;font-weight:600;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.08)}.feedback-button:hover{background:var(--orange-500, #ff9800);border-color:var(--orange-500, #ff9800);color:var(--white, #ffffff);transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,152,0,.25)}.feedback-button-icon{width:16px;height:16px}.feedback-button-text{display:block}@media (max-width: 480px){.feedback-button-text{display:none}.feedback-button{padding:8px}}.conversation-corner-dropdown{position:relative}.conversation-corner-dropdown .conversation-corner-trigger{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:var(--orange-600);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(255,140,0,.2)}.conversation-corner-dropdown .conversation-corner-trigger:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,140,0,.3);background-color:var(--orange-700)}.conversation-corner-dropdown.navigation-style .conversation-corner-trigger{display:flex;align-items:center;gap:6px;padding:8px 12px;background-color:transparent;color:var(--text-primary);border:none;border-radius:4px;font-size:14px;font-weight:500;box-shadow:none;transform:none;transition:background-color .15s ease;cursor:pointer}.conversation-corner-dropdown.navigation-style .conversation-corner-trigger:hover{background-color:rgba(241,90,34,.1);color:#f15a22;transform:none;box-shadow:none}.conversation-corner-dropdown .trigger-icon{width:20px;height:20px}.conversation-corner-dropdown .chevron-icon{width:16px;height:16px;transition:transform .3s ease}.conversation-corner-dropdown .chevron-icon.open{transform:rotate(180deg)}.conversation-corner-dropdown .conversation-corner-menu{position:absolute;top:100%;left:0;margin-top:4px;background:var(--background-cream, #f1f8ee);border-radius:8px;box-shadow:0 4px 24px rgba(0,0,0,.12);min-width:280px;z-index:1000;overflow:hidden;animation:slideDown .2s ease-out;border:1px solid rgba(0,0,0,.06)}.conversation-corner-dropdown .menu-header{display:none}.conversation-corner-dropdown .menu-items{padding:8px}.conversation-corner-dropdown .menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left;text-decoration:none;color:inherit;box-shadow:none}.conversation-corner-dropdown .menu-item:hover{background:rgba(249,115,22,.1);transform:none;box-shadow:none}.conversation-corner-dropdown .menu-item.highlight{background:transparent}.conversation-corner-dropdown .menu-item.highlight:hover{background:rgba(249,115,22,.1);transform:none;box-shadow:none}.conversation-corner-dropdown .menu-item-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:transparent;border-radius:10px;color:var(--orange-600);flex-shrink:0;transition:all .2s ease}.conversation-corner-dropdown .menu-item:hover .menu-item-icon{background-color:var(--orange-600);color:#fff;transform:scale(1.05)}.conversation-corner-dropdown .menu-item.highlight .menu-item-icon{background-color:transparent;color:var(--orange-600)}.conversation-corner-dropdown .menu-item-icon svg{width:20px;height:20px;stroke-width:2}.conversation-corner-dropdown .menu-item-content h4{margin:0 0 1px;color:#111827;font-size:14px;font-weight:500;letter-spacing:-.01em}.conversation-corner-dropdown .menu-item-content p{margin:0;color:#6b7280;font-size:12px;font-weight:400}.mobile-conversation-corner{width:100%}.mobile-conversation-corner .mobile-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 1.25rem;background:transparent;border:none;color:var(--text-secondary);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;min-height:56px;-webkit-tap-highlight-color:transparent}.mobile-conversation-corner .mobile-dropdown-trigger:hover{background:var(--background-hover)}.mobile-conversation-corner .mobile-dropdown-trigger.active{color:#f15a22}@media (max-width: 640px){.conversation-corner-dropdown .conversation-corner-menu{position:fixed;top:auto;bottom:0;left:0;right:0;margin:0;border-radius:16px 16px 0 0;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.profile-dropdown{position:relative;display:inline-block}.profile-dropdown-trigger{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:transparent;border:1px solid #e5e7eb;border-radius:2rem;cursor:pointer;transition:all .2s}.profile-dropdown-trigger:hover{background:#f9fafb;border-color:#d1d5db}.profile-dropdown-trigger.active{background:#f3f4f6;border-color:#9cb847}.profile-dropdown-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.profile-dropdown-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#9cb847,#a8c555);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.profile-dropdown-user-info{display:flex;flex-direction:column;align-items:flex-start}.profile-dropdown-name{font-size:.95rem;font-weight:500;color:#1f2937;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-dropdown-caret{color:#6b7280;transition:transform .2s;flex-shrink:0}.profile-dropdown-caret.open{transform:rotate(180deg)}.profile-dropdown-menu{position:absolute;top:calc(100% + .5rem);right:0;min-width:200px;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);padding:.5rem;z-index:1000;animation:slideDown .2s ease-out}.profile-dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;width:100%;text-align:left;color:#374151;text-decoration:none;border:none;background:transparent;border-radius:.5rem;cursor:pointer;transition:all .15s;font-size:.95rem}.profile-dropdown-item:hover{background:#f3f4f6;color:#1f2937}.profile-dropdown-item.active{background:#e8f5e9;color:#9cb847;font-weight:600}.profile-dropdown-item.danger{color:#dc2626}.profile-dropdown-item.danger:hover{background:#fee2e2;color:#b91c1c}.profile-dropdown-item svg{flex-shrink:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.profile-dropdown-user-info{display:none}.profile-dropdown-trigger{padding:.5rem}.profile-dropdown-menu{min-width:180px}}.mobile-nav-header{display:none}@media (max-width: 768px){.mobile-nav-header{display:flex;align-items:center;justify-content:flex-end}}.mobile-menu-toggle{padding:8px;background:transparent;border:none;cursor:pointer;color:var(--text-primary);border-radius:8px;transition:background-color .2s}.mobile-menu-toggle:hover{background-color:var(--background-hover)}.menu-icon{width:24px;height:24px}.mobile-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.5);z-index:998}.mobile-menu-panel{position:fixed;top:0;right:0;bottom:0;width:85%;max-width:320px;background-color:var(--background-cream, #f1f8ee);box-shadow:-2px 0 10px rgba(0,0,0,.1);z-index:999;overflow-y:auto;display:flex;flex-direction:column}.mobile-user-section{padding:20px;background-color:var(--background-cream, #f1f8ee);border-bottom:1px solid var(--border-color);overflow:visible}.mobile-user-profile{display:flex;align-items:center;gap:12px;text-decoration:none;margin-bottom:16px}.mobile-nav .user-avatar{width:48px;height:48px;border-radius:50%;border:2px solid var(--primary-color)}.mobile-nav .user-avatar-placeholder{width:48px;height:48px;border-radius:50%;background:var(--primary-600);display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:600}.user-info{flex:1}.user-name{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.user-username{font-size:14px;color:var(--text-muted)}.mobile-user-section .user-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;position:relative;flex-wrap:nowrap}.mobile-user-section .help-tour-button{padding:8px;background:transparent;border:none;cursor:pointer;color:var(--text-primary);border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1}.mobile-user-section .help-tour-button:hover{background-color:rgba(156,184,71,.1);color:var(--primary-500)}.mobile-user-section .feedback-button{flex-shrink:0;z-index:1}.mobile-user-section .feedback-button .feedback-button-text{display:block!important}.mobile-user-section .language-selector-v2{flex-shrink:0;z-index:1}.mobile-nav-items{flex:1;padding:8px}.nav-section{margin-bottom:12px;display:block;clear:both}.nav-section-header{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;background:transparent;border:none;border-radius:8px;cursor:pointer;text-align:left;font-size:16px;font-weight:500;color:var(--text-primary);transition:background-color .2s;min-height:52px;box-sizing:border-box}.nav-section-header:hover,.nav-section-header.expanded{background-color:var(--background-hover)}.section-icon{width:20px;height:20px;flex-shrink:0}.chevron-icon{width:16px;height:16px;margin-left:auto;transition:transform .2s}.chevron-icon.rotate{transform:rotate(180deg)}.nav-subitems{display:block;width:100%;padding-bottom:8px}.nav-subitem{display:flex;align-items:center;gap:12px;padding:14px 16px 14px 48px;text-decoration:none;color:var(--text-secondary);font-size:15px;background:transparent;border:none;width:100%;text-align:left;cursor:pointer;transition:background-color .2s,color .2s;touch-action:auto;-webkit-tap-highlight-color:rgba(0,0,0,.1);-moz-user-select:none;user-select:none;-webkit-user-select:none;min-height:48px;box-sizing:border-box;position:static;z-index:auto}.nav-subitem:hover{background-color:var(--background-light);color:var(--text-primary)}.nav-subitem.active{background-color:var(--primary-100);color:var(--primary-600);font-weight:500}.nav-subitem.highlight{color:var(--orange-500);font-weight:500}.nav-subitem.highlight:hover{background-color:var(--orange-100);color:var(--orange-600)}.nav-subitem .subitem-icon{width:18px;height:18px;flex-shrink:0}.mobile-logout-section{padding:16px;border-top:1px solid var(--border-color);margin-top:auto}.logout-button{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:16px;color:var(--text-secondary);transition:all .2s}.logout-button:hover{background-color:rgba(220,38,38,.1);border-color:var(--red-500);color:var(--red-600)}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.minimized-talk-now-banner{position:fixed;top:70px;left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:8px;background:var(--background-white);border:2px solid var(--primary-color);border-radius:24px;padding:8px 16px;box-shadow:var(--shadow-lg);animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.minimized-banner-content{background:none;border:none;cursor:pointer;padding:4px 8px;display:flex;align-items:center;gap:8px;color:var(--text-primary);font-size:.9rem;font-weight:500;transition:all .2s ease}.minimized-banner-content:hover{opacity:.9}.banner-text{white-space:nowrap}.banner-time{display:flex;align-items:center;gap:4px;padding:2px 8px;background:var(--background-cream);border-radius:12px;font-size:.85rem;font-weight:600;color:var(--text-secondary)}.banner-close-btn{background:none;border:none;cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:24px;font-weight:300;line-height:1;border-radius:50%;transition:all .2s ease}.banner-close-btn:hover{background:var(--background-light);color:var(--text-primary)}@media (max-width: 768px){.minimized-talk-now-banner{top:60px;left:12px;right:12px;transform:none;width:auto}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.banner-text{font-size:.85rem}.banner-time{font-size:.8rem}}nav.navigation-bar,.navigation-bar{position:fixed;top:0;left:0;right:0;width:100%;z-index:10000;background:var(--background-cream);background-color:var(--background-cream);border-bottom:none;box-shadow:0 2px 4px rgba(0,0,0,.1);height:64px;box-sizing:border-box;--nav-height: 64px;margin:0;padding:0}.nav-container{max-width:1280px;margin:0 auto;padding:0 20px}.nav-content{display:flex;align-items:center;justify-content:space-between;height:64px}.nav-logo{display:flex;align-items:center;text-decoration:none;margin-left:-4px}.logo-text{font-size:1.75rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.logo-main{height:40px;width:auto;object-fit:contain;object-position:center}.logo-icon{height:40px;width:auto;margin-left:12px}.desktop-nav-items{display:flex;align-items:center;gap:8px;margin-left:40px}.nav-link{display:flex;align-items:center;gap:6px;padding:8px 12px;text-decoration:none;color:var(--text-primary);font-size:14px;font-weight:500;border-radius:4px;transition:background-color .15s ease}.nav-link:hover{background-color:rgba(241,90,34,.1);color:var(--text-primary)}.nav-link.active{background-color:var(--background-white);color:var(--text-primary);font-weight:600;box-shadow:var(--shadow-sm)}.nav-icon{width:20px;height:20px}.desktop-actions{display:flex;align-items:center;gap:16px;margin-left:auto}.navigation-bar .feedback-button{background:var(--background-white);color:var(--pink-feedback);border:1px solid var(--pink-feedback)}.navigation-bar .feedback-button:hover{background:var(--pink-feedback);color:#fff;border-color:var(--pink-feedback);box-shadow:var(--button-hover-shadow)}.user-profile-link{display:flex;align-items:center;gap:8px;padding:6px 12px;text-decoration:none;border-radius:8px;transition:background-color .2s}.user-profile-link:hover{background-color:rgba(0,0,0,.05)}.icon-nav-btn{padding:8px;background:transparent;border:none;cursor:pointer;color:var(--text-primary);border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center;text-decoration:none}.icon-nav-btn:hover{background-color:rgba(156,184,71,.1);color:var(--primary-500)}.icon-nav-btn.active{background-color:var(--background-white);color:var(--primary-500);box-shadow:var(--shadow-sm)}.help-btn{padding:8px;background:transparent;border:none;cursor:pointer;color:var(--text-primary);border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center}.help-btn:hover{background-color:rgba(156,184,71,.1);color:var(--primary-500)}.logout-btn{padding:8px;background:transparent;border:none;cursor:pointer;color:var(--text-primary);border-radius:8px;transition:all .2s}.logout-btn:hover{background-color:rgba(220,38,38,.1);color:#dc2626}.logout-icon{width:20px;height:20px}.user-profile-link{display:flex;align-items:center;gap:8px;transition:all .2s;text-decoration:none}.user-profile-link:hover{opacity:.8}.nav-container .user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid var(--border-color);box-sizing:border-box}.nav-container .user-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:var(--primary-500);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;border:2px solid var(--border-color)}.user-display-name{font-size:14px;font-weight:600;color:var(--text-primary)}@media (max-width: 768px){nav.navigation-bar,.navigation-bar{padding-top:env(safe-area-inset-top);height:calc(56px + env(safe-area-inset-top));--nav-height: calc(56px + env(safe-area-inset-top)) ;z-index:9999}.nav-container{padding:0 max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.nav-content{height:56px}.nav-logo{margin-left:0}.logo-main{height:36px}.logo-icon{height:32px;margin-left:8px}.desktop-nav-items,.desktop-actions{display:none}.mobile-nav-actions{display:flex;align-items:center;gap:8px}}.token-balance-display{display:flex;align-items:center;gap:6px;padding:6px 12px;background:rgba(156,184,71,.1);border:1px solid rgba(156,184,71,.2);border-radius:20px;color:var(--primary-color);text-decoration:none;transition:all .2s ease;cursor:pointer}.token-balance-display:hover{background:rgba(156,184,71,.15);border-color:rgba(156,184,71,.3);transform:translateY(-1px)}.token-balance-amount{font-size:14px;font-weight:600;color:var(--text-primary)}.token-balance-display.loading{opacity:.6;cursor:default;pointer-events:none}.error-boundary-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--background-primary);padding:48px 16px}@media (min-width: 640px){.error-boundary-container{padding:48px 24px}}@media (min-width: 1024px){.error-boundary-container{padding:48px 32px}}.error-content{text-align:center;max-width:600px}.error-icon{margin:0 auto 24px;width:48px;height:48px;color:var(--error-color, #dc2626)}.error-title{margin-top:24px;font-size:1.875rem;font-weight:800;color:var(--text-primary);line-height:1.2}.error-description{margin-top:8px;font-size:.875rem;color:var(--text-secondary)}.error-details{margin-top:16px;text-align:left}.error-details-summary{cursor:pointer;font-size:.875rem;color:var(--text-muted);transition:color .2s ease}.error-details-summary:hover{color:var(--text-secondary)}.error-stack{margin-top:8px;font-size:.75rem;color:var(--text-secondary);background-color:var(--background-secondary);padding:8px;border-radius:6px;overflow:auto;max-height:256px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;white-space:pre-wrap}.error-actions{margin-top:24px;display:flex;flex-direction:column;gap:12px}@media (min-width: 640px){.error-actions{flex-direction:row;justify-content:center}}.error-btn-primary{width:100%;display:flex;justify-content:center;padding:8px 16px;border:none;border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.05);font-size:.875rem;font-weight:500;color:#fff;background-color:var(--orange-500, #f97316);cursor:pointer;transition:background-color .2s ease}.error-btn-primary:hover{background-color:var(--orange-600, #ea580c)}.error-btn-primary:focus{outline:none;box-shadow:0 0 0 2px rgba(249,115,22,.5)}.error-btn-secondary{width:100%;display:flex;justify-content:center;padding:8px 16px;border:1px solid var(--border-color);border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.05);font-size:.875rem;font-weight:500;color:var(--text-primary);background-color:var(--background-primary);cursor:pointer;transition:background-color .2s ease}.error-btn-secondary:hover{background-color:var(--background-secondary)}.error-btn-secondary:focus{outline:none;box-shadow:0 0 0 2px rgba(249,115,22,.5)}@media (min-width: 640px){.error-btn-primary,.error-btn-secondary{width:auto;min-width:120px}}.toast-container{position:fixed;top:1rem;right:1rem;z-index:50400;max-width:24rem;width:100%;pointer-events:none}.toast-wrapper{pointer-events:auto}.toast-item{border-radius:.5rem;box-shadow:var(--shadow-lg);padding:1rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;transform:translate(0);transition:all .3s ease-in-out;color:#fff}.toast-item:hover{transform:scale(1.05)}.toast-success{background-color:var(--green-500, #10b981)}.toast-error{background-color:var(--red-500)}.toast-warning{background-color:var(--yellow-500, #f59e0b)}.toast-info{background-color:var(--blue-500, #3b82f6)}.toast-content{display:flex;align-items:center}.toast-icon-wrapper{flex-shrink:0}.toast-icon{width:1.25rem;height:1.25rem}.toast-message{margin-left:.75rem}.toast-text{font-size:var(--text-sm);font-weight:500}.toast-dismiss{margin-left:1rem;flex-shrink:0;border-radius:.5rem;padding:.375rem;display:inline-flex;color:#fff;background-color:transparent;border:none;cursor:pointer;transition:background-color .2s}.toast-dismiss:hover{background-color:rgba(255,255,255,.2)}.toast-dismiss:focus{outline:none;box-shadow:0 0 0 2px rgba(255,255,255,.5)}.toast-dismiss-icon{width:1rem;height:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-item{animation:slideInRight .3s ease-out}.toast-item.toast-removing{animation:slideOutRight .3s ease-in}@media (max-width: 640px){.toast-container{right:.5rem;left:.5rem;max-width:none}.toast-item{margin-left:.5rem;margin-right:.5rem}}.footer-container{background-color:var(--background-soft);border-top:1px solid var(--primary-300);padding:.25rem 0;width:100%;position:fixed;bottom:0;left:0;right:0;z-index:50;min-height:28px;box-shadow:0 -1px 3px rgba(0,0,0,.05)}.footer-content{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem}.footer-section{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.footer-copyright{font-size:.75rem;color:var(--text-secondary);margin:0;line-height:1.2}.footer-link{font-size:.75rem;color:var(--text-secondary);text-decoration:none;transition:color .2s ease;line-height:1.2}.footer-link:hover{color:var(--primary-600);text-decoration:underline}.footer-divider{color:var(--text-muted);font-size:.75rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1.2}@media (max-width: 768px){.footer-container{padding:.3rem max(.5rem,env(safe-area-inset-left));padding-right:max(.5rem,env(safe-area-inset-right));padding-bottom:calc(.3rem + env(safe-area-inset-bottom));min-height:calc(28px + env(safe-area-inset-bottom))}.footer-content{display:block;text-align:center;padding:0}.footer-section{display:block;margin:.2rem 0}.footer-copyright{font-size:.625rem;margin:0;padding:0;display:block}.footer-link{font-size:.625rem;display:inline;margin:0 .3rem}.footer-divider{display:none}}:root{--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-notification: 800;--z-critical: 900;--z-maximum: 999;--z-navigation: 1000;--z-chat-header: 50;--z-chat-sidebar: var(--z-base);--z-message-input: var(--z-base);--z-user-discovery-elements: 5;--z-below-video: 1;--z-video-call-overlay: var(--z-modal);--z-ai-voice-call: var(--z-modal);--z-talk-now-modal: var(--z-modal);--z-settings-modal: var(--z-modal);--z-profile-modal: var(--z-modal);--z-loading-overlay: var(--z-notification);--z-video-overlay: 50000;--z-video-controls: 50100;--z-ice-breakers: 50200;--z-call-suggestions: 50200;--z-live-transcription: 50200;--z-live-translation: 50200;--z-video-settings: 50300;--z-live-call-assistant: 50400;--z-mobile-navigation: 50150;--z-improve-modal: 50500;--z-call-ending: 50600;--z-incoming-call: 70000;--z-voice-recorder: 9999;--z-recording-consent: 70002;--z-emergency-modal: 70003}.z-base{z-index:var(--z-base)}.z-dropdown{z-index:var(--z-dropdown)}.z-sticky{z-index:var(--z-sticky)}.z-fixed{z-index:var(--z-fixed)}.z-modal-backdrop{z-index:var(--z-modal-backdrop)}.z-modal{z-index:var(--z-modal)}.z-popover{z-index:var(--z-popover)}.z-tooltip{z-index:var(--z-tooltip)}.z-notification{z-index:var(--z-notification)}.friend-notifications-container{position:fixed;top:calc(64px + 1rem);right:1rem;z-index:var(--z-notification)}.friend-notifications-list{display:flex;flex-direction:column;gap:.5rem}.friend-notification-item{background-color:#fff;border:1px solid var(--gray-200);border-radius:.5rem;box-shadow:0 2px 4px rgba(0,0,0,.1);padding:1rem;max-width:20rem;transform:translate(0);transition:all .3s ease;animation:slideInRight .3s ease-out}@media (prefers-color-scheme: dark){.friend-notification-item{background-color:var(--gray-800);border-color:var(--gray-700)}}.friend-notification-content{display:flex;align-items:flex-start;gap:.75rem}.friend-notification-icon-wrapper{flex-shrink:0}.friend-notification-icon{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.friend-notification-icon.request{background-color:var(--orange-100)}.friend-notification-icon.accepted{background-color:var(--olive-100)}.friend-notification-icon.rejected{background-color:var(--gray-100)}@media (prefers-color-scheme: dark){.friend-notification-icon.request{background-color:var(--orange-800)}.friend-notification-icon.accepted{background-color:var(--olive-800)}.friend-notification-icon.rejected{background-color:var(--gray-700)}}.friend-notification-icon svg{width:1rem;height:1rem}.friend-notification-icon.request svg{color:var(--orange-600)}.friend-notification-icon.accepted svg{color:var(--olive-600)}.friend-notification-icon.rejected svg{color:var(--gray-600)}@media (prefers-color-scheme: dark){.friend-notification-icon.request svg{color:var(--orange-400)}.friend-notification-icon.accepted svg{color:var(--olive-400)}.friend-notification-icon.rejected svg{color:var(--gray-400)}}.friend-notification-body{flex:1;min-width:0}.friend-notification-header{display:flex;align-items:center;justify-content:space-between}.friend-notification-name{font-size:var(--text-sm);font-weight:500;color:var(--gray-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (prefers-color-scheme: dark){.friend-notification-name{color:var(--gray-100)}}.friend-notification-dismiss{margin-left:.5rem;color:var(--gray-400);background:none;border:none;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:color .2s}.friend-notification-dismiss:hover{color:var(--gray-600)}@media (prefers-color-scheme: dark){.friend-notification-dismiss:hover{color:var(--gray-300)}}.friend-notification-dismiss svg{width:1rem;height:1rem}.friend-notification-message{font-size:var(--text-sm);color:var(--gray-600);margin-top:.25rem}@media (prefers-color-scheme: dark){.friend-notification-message{color:var(--gray-400)}}.friend-notification-actions{display:flex;gap:.5rem;margin-top:.75rem}.friend-notification-btn{flex:1;font-size:var(--text-xs);font-weight:500;padding:.375rem .75rem;border-radius:.25rem;border:none;cursor:pointer;transition:all .2s;text-align:center}.friend-notification-btn.accept{background-color:#9cb847;color:#fff}.friend-notification-btn.accept:hover{background-color:#8aa33d}.friend-notification-btn.decline{background-color:var(--gray-200);color:var(--gray-700);border:1px solid var(--gray-300)}.friend-notification-btn.decline:hover{background-color:var(--gray-300);border-color:var(--gray-400)}.friend-notification-btn.chat{background-color:#f97316;color:#fff;display:flex;align-items:center;justify-content:center;gap:.375rem}.friend-notification-btn.chat:hover{background-color:#ea580c}.friend-notification-btn.chat .chat-icon{width:1rem;height:1rem}@media (prefers-color-scheme: dark){.friend-notification-btn.accept{background-color:#9cb847}.friend-notification-btn.accept:hover{background-color:#b0cc5a}.friend-notification-btn.decline{background-color:var(--gray-700);color:var(--gray-300);border-color:var(--gray-600)}.friend-notification-btn.decline:hover{background-color:var(--gray-600);border-color:var(--gray-500)}.friend-notification-btn.chat{background-color:#f97316}.friend-notification-btn.chat:hover{background-color:#fb923c}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 640px){.friend-notifications-container{top:calc(56px + 1rem);left:1rem;right:1rem}.friend-notification-item{max-width:100%}}.app-loading-container{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center}.app-wrapper{min-height:100vh;min-height:100dvh;background-color:var(--gray-50);transition:colors .3s;display:flex;flex-direction:column;position:relative;overflow-x:hidden}.app-content-wrapper{flex:1;display:flex;align-items:center;justify-content:center}.app-loading-content{text-align:center}.app-loading-spinner{animation:spin 1s linear infinite;border-radius:50%;height:3rem;width:3rem;border:2px solid transparent;border-bottom-color:var(--orange-500);margin:0 auto 1rem}.app-loading-text{color:var(--gray-600);font-size:var(--text-base);margin-bottom:1rem}.app-loading-reset-link{margin-top:1rem;font-size:var(--text-sm);color:var(--blue-600);text-decoration:underline;background:none;border:none;cursor:pointer;padding:0;transition:color .2s}.app-loading-reset-link:hover{color:var(--blue-800)}.app-wrapper{min-height:100vh;background-color:var(--gray-50);transition:colors .3s;display:flex;flex-direction:column;position:relative;overflow-x:hidden}.app-content-wrapper{flex:1;display:flex;flex-direction:column}.main-content{flex:1;padding-top:var(--nav-height);padding-bottom:40px}.main-content[data-page="/chat"]{padding-bottom:0}.main-content-no-nav{flex:1;display:flex;flex-direction:column;padding-bottom:40px}@media (prefers-color-scheme: dark){.app-wrapper{background-color:var(--gray-900)}}.app-debug-tools{position:fixed;bottom:1rem;left:1rem;z-index:50}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.main-content,.main-content-no-nav{padding-bottom:50px}}.pwa-install-prompt.pwa-install-prompt{position:fixed;bottom:8rem;left:1rem;right:1rem;z-index:900;background-color:#fff;border-radius:.5rem;box-shadow:var(--shadow-sm);border:1px solid #e5e7eb;padding:1rem 3rem 1rem 1rem;max-width:100%}@media (min-width: 768px){.pwa-install-prompt.pwa-install-prompt{left:auto;right:1rem;max-width:24rem}}.pwa-install-prompt .pwa-install-prompt-close{position:absolute;top:.75rem;right:.75rem;color:#9ca3af;background:none;border:none;cursor:pointer;padding:.25rem;border-radius:.25rem;z-index:10;transition:color .2s}.pwa-install-prompt .pwa-install-prompt-close:hover{color:#4b5563}.pwa-install-prompt .pwa-install-prompt-close svg{width:1rem;height:1rem}.pwa-install-prompt .pwa-install-prompt-content{display:flex;align-items:flex-start;gap:.75rem}.pwa-install-prompt .pwa-install-prompt-icon{flex-shrink:0;width:2.5rem;height:2.5rem;background-color:#ffedd5;border-radius:.5rem;display:flex;align-items:center;justify-content:center}.pwa-install-prompt .pwa-install-prompt-icon svg,.pwa-install-prompt .pwa-install-prompt-icon img,.pwa-install-prompt .pwa-install-prompt-icon div{width:1.5rem;height:1.5rem;flex-shrink:0}.pwa-install-prompt .pwa-install-prompt-text{flex:1;padding-right:.5rem}.pwa-install-prompt .pwa-install-prompt-title{font-size:.875rem;font-weight:600;color:#111827;margin:0 0 .25rem}.pwa-install-prompt .pwa-install-prompt-description{font-size:.75rem;color:#6b7280;margin:0 0 .75rem;line-height:1.4}.pwa-install-prompt .pwa-install-prompt-button{display:inline-flex;align-items:center;padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:#fff;background-color:#ff9800;border:none;border-radius:.375rem;cursor:pointer;transition:background-color .2s;text-decoration:none}.pwa-install-prompt .pwa-install-prompt-button:hover:not(:disabled){background-color:#e67c00}.pwa-install-prompt .pwa-install-prompt-button:disabled{background-color:#9ca3af;cursor:not-allowed}.pwa-install-prompt .pwa-install-prompt-button svg{width:1rem;height:1rem;margin-right:.25rem}.pwa-install-prompt .pwa-install-prompt-debug{margin-left:.5rem;display:inline-flex;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:500;color:#6b7280;background-color:#f3f4f6;border:none;border-radius:.375rem;cursor:pointer;transition:background-color .2s}.pwa-install-prompt .pwa-install-prompt-debug:hover{background-color:#e5e7eb}.pwa-install-prompt .pwa-install-prompt-ios-description{margin-top:.25rem;margin-bottom:.5rem}.notification-permission-container{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.notification-permission-container{--white: #ffffff;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--emerald-500: #10b981;--emerald-600: #059669;--emerald-700: #047857}@media (prefers-color-scheme: dark){.notification-permission-container{background-color:var(--gray-800);border-color:var(--gray-700)}.notification-permission-container p{color:var(--gray-300)}.notification-permission-container .tip-section{background-color:var(--gray-900);border-color:var(--gray-700)}.notification-permission-container [style*=gray-50] p{color:var(--gray-400)}}@media (max-width: 640px){.notification-permission-container{right:10px;width:calc(100vw - 20px);max-width:none}}.daily-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10001;padding:5rem 1rem 1rem;animation:fadeIn .3s ease-in-out}.daily-popup-container{background:#fff;border-radius:1rem;max-width:520px;width:100%;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);animation:slideUp .3s ease-out}.daily-popup-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;cursor:pointer;color:#6b7280;padding:.5rem;border-radius:.5rem;transition:all .2s;display:flex;align-items:center;justify-content:center;z-index:1}.daily-popup-close:hover{background:#f3f4f6;color:#1f2937}.daily-popup-content{padding:1.5rem}.daily-popup-content+.daily-popup-content{border-top:2px solid #e5e7eb;margin-top:0}.daily-popup-header{text-align:center;margin-bottom:1.5rem}.daily-popup-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:linear-gradient(135deg,#9cb847,#a8c555);border-radius:1rem;margin-bottom:1rem}.daily-popup-icon svg{color:#fff!important}.daily-popup-title{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.daily-popup-subtitle{font-size:.95rem;color:#6b7280;line-height:1.5}.daily-popup-users{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.daily-popup-user-card{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid #e5e7eb;border-radius:.75rem;cursor:pointer;transition:all .2s}.daily-popup-user-card:hover{border-color:#9cb847;background:#f9fafb;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);transform:translateY(-2px)}.daily-popup-user-avatar{flex-shrink:0;width:60px;height:60px;border-radius:50%;overflow:hidden}.daily-popup-user-avatar img{width:100%;height:100%;object-fit:cover}.daily-popup-user-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#9cb847,#a8c555);color:#fff;font-size:1.5rem;font-weight:600}.daily-popup-user-info{flex:1}.daily-popup-user-name{font-size:1.1rem;font-weight:600;color:#1f2937;margin-bottom:.5rem}.daily-popup-user-languages{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.25rem}.daily-popup-language-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;background:#f3f4f6;border-radius:1rem;font-size:.85rem;color:#4b5563}.daily-popup-language-badge.learning{background:#e0f2fe;color:#0369a1}.daily-popup-user-activity{font-size:.85rem;color:#9ca3af;margin:0}.daily-popup-user-action{flex-shrink:0}.daily-popup-user-cta{font-size:.9rem;font-weight:600;color:#9cb847}.daily-popup-reminder{background:#fef3c7;border-left:4px solid #f59e0b;padding:1.25rem;border-radius:.5rem;margin-bottom:1.5rem}.daily-popup-reminder-text{font-size:.95rem;color:#92400e;margin-bottom:.75rem}.daily-popup-reminder-hint{font-size:.9rem;color:#78350f;margin:0}.daily-popup-actions{display:flex;flex-direction:column;gap:.75rem}.daily-popup-primary-btn{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,#9cb847,#a8c555);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.daily-popup-primary-btn:hover{background:linear-gradient(135deg,#8aa63f,#96b349);box-shadow:0 4px 6px -1px rgba(0,0,0,.1);transform:translateY(-1px)}.daily-popup-dismiss-btn{width:100%;padding:.875rem 1.5rem;background:transparent;color:#6b7280;border:none;border-radius:.5rem;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.daily-popup-dismiss-btn:hover{background:#f3f4f6;color:#1f2937}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.daily-popup-overlay{padding:4.5rem .5rem .5rem;align-items:flex-start}.daily-popup-container{max-height:90vh;margin-top:1rem}.daily-popup-content{padding:1.25rem 1rem}.daily-popup-content+.daily-popup-content{padding-top:1rem}.daily-popup-header{margin-bottom:1rem}.daily-popup-title{font-size:1.25rem}.daily-popup-subtitle{font-size:.9rem}.daily-popup-reminder{margin-bottom:1rem}.daily-popup-user-card{padding:.875rem}.daily-popup-user-avatar{width:50px;height:50px}.daily-popup-users{gap:.75rem}.daily-popup-user-name{font-size:1rem}}.daily-popup-user-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.daily-popup-icebreaker{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.icebreaker-header-section{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.icebreaker-label{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.icebreaker-label .sparkle-icon{color:#9cb847;flex-shrink:0}.sparkle-suggestions-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,#9cb847,#a8c555);border:none;border-radius:8px;cursor:pointer;transition:all .2s;color:#fff;flex-shrink:0}.sparkle-suggestions-btn:hover:not(:disabled){background:linear-gradient(135deg,#8aa63f,#96b349);transform:scale(1.05);box-shadow:0 4px 12px rgba(156,184,71,.3)}.sparkle-suggestions-btn:disabled{opacity:.6;cursor:not-allowed}.loading-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.icebreaker-question{font-size:1rem;font-weight:500;color:#1f2937;margin-bottom:1rem;line-height:1.6;cursor:default}.icebreaker-suggestions{margin-bottom:1rem;padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.suggestions-label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:#6b7280;margin-bottom:.75rem}.suggestions-label .suggestions-sparkle{color:#9cb847}.suggestions-list{display:flex;flex-direction:column;gap:.5rem}.suggestion-chip{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:.75rem 1rem;text-align:left;color:#1f2937;font-size:.95rem;cursor:pointer;transition:all .2s;line-height:1.5;animation:slideInFromLeft .3s ease-out forwards;opacity:0}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.suggestion-chip:hover{background:#9cb847;color:#fff;border-color:#9cb847;transform:translate(4px)}.suggestion-chip.suggestion-loading{cursor:default;opacity:.6}.suggestion-chip.suggestion-loading:hover{background:#fff;color:#1f2937;border-color:#d1d5db;transform:translate(0)}.loading-dots{display:flex;align-items:center;gap:.25rem;justify-content:center;padding:.5rem 0}.loading-dots span{width:6px;height:6px;background:#9cb847;border-radius:50%;animation:dotPulse 1.4s infinite ease-in-out both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.icebreaker-corrections{margin-bottom:1rem;padding:1rem;background:#f0f9ff;border-radius:8px;border:1px solid #bae6fd;max-width:100%;overflow-wrap:break-word;word-wrap:break-word}.corrections-label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:#0369a1;margin-bottom:.75rem}.correction-improved,.correction-explanation,.correction-alternatives{margin-bottom:.75rem}.correction-improved:last-child,.correction-explanation:last-child,.correction-alternatives:last-child{margin-bottom:0}.correction-label{font-size:.8rem;font-weight:600;color:#64748b;margin-bottom:.5rem}.correction-text-clickable{background:#fff;border:1px solid #9cb847;border-radius:6px;padding:.75rem;text-align:left;color:#1f2937;font-size:.95rem;cursor:pointer;transition:all .2s;line-height:1.5;display:block;width:100%;overflow-wrap:break-word;word-wrap:break-word}.correction-text-clickable:hover{background:#9cb847;color:#fff;transform:translate(4px)}.correction-text{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:.75rem;color:#4b5563;font-size:.9rem;line-height:1.5;overflow-wrap:break-word;word-wrap:break-word}.correction-tips{margin-bottom:.75rem}.correction-tips:last-child{margin-bottom:0}.tips-list{display:flex;flex-direction:column;gap:.375rem}.tip-item{color:#4b5563;font-size:.875rem;line-height:1.5;padding-left:.5rem}@keyframes dotPulse{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.icebreaker-answer-section{display:flex;flex-direction:column;gap:.75rem}.icebreaker-answer-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;color:#1f2937;font-family:inherit;resize:vertical;min-height:80px;transition:all .2s}.icebreaker-answer-input:focus{outline:none;border-color:#9cb847;box-shadow:0 0 0 3px rgba(156,184,71,.1)}.icebreaker-answer-input::placeholder{color:#9ca3af}.icebreaker-actions{display:flex;gap:.75rem;align-items:center}.icebreaker-send-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;background:#9cb847;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;flex:1}.icebreaker-send-btn:hover:not(:disabled){background:#8aa839;transform:translateY(-1px);box-shadow:0 4px 12px rgba(156,184,71,.25)}.icebreaker-send-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.icebreaker-answer-input{font-size:.875rem;min-height:70px}.icebreaker-send-btn{padding:.75rem 1.25rem;font-size:.875rem}}
