/* Strict Horizontal Constraints & Smooth Scrolling */
html, body {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
    scroll-behavior: smooth;
}

/* Bilingual Toggle Engine */
body:not(.zh-mode) .lang-en { display: block; }
body:not(.zh-mode) .lang-zh { display: none !important; }
body.zh-mode .lang-en { display: none !important; }
body.zh-mode .lang-zh { display: block; }

/* Custom soft animations */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in {
    animation: fadeIn 0.8s ease-out forwards;
}

/* AI Postural Advisor Rich HTML Output Styling */
#aiResponseTextContainer h3 {
    font-family: "Playfair Display", Georgia, serif;
    color: #1C352D; /* forest-900 */
    font-size: 1.25rem;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    font-weight: 600;
}
#aiResponseTextContainer p {
    margin-bottom: 1rem;
    line-height: 1.625;
    font-weight: 300;
    color: #2D312E; /* charcoal */
}
#aiResponseTextContainer strong {
    font-weight: 600;
    color: #1C352D; /* forest-900 */
}
#aiResponseTextContainer ul {
    list-style-type: disc;
    padding-left: 1.25rem;
    margin-bottom: 1.25rem;
}
#aiResponseTextContainer li {
    margin-bottom: 0.5rem;
    font-weight: 300;
}