body { font-family: 'Inter', sans-serif; }
.chart-container { position: relative; width: 100%; max-width: 450px; margin-left: auto; margin-right: auto; height: 300px; max-height: 400px; }
@media (min-width: 768px) { .chart-container { height: 350px; } }
.nav-link { transition: all 0.3s ease; position: relative; padding-bottom: 4px; }
.nav-link::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background-color: #3b82f6; transition: width 0.3s ease; }
.nav-link:hover::after, .nav-link.active::after { width: 100%; }
.tab-btn.active { background-color: #3b82f6; color: white; border-color: #3b82f6; }
.process-step.active { border-color: #3b82f6; transform: scale(1.05); box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); }
.process-line { height: 2px; background-color: #e5e7eb; top: 50%; transform: translateY(-50%); z-index: -1; }
#language-selector { appearance: none; -webkit-appearance: none; -moz-appearance: none; }
.loader { border: 4px solid #f3f3f3; border-radius: 50%; border-top: 4px solid #3b82f6; width: 24px; height: 24px; animation: spin 1s linear infinite; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.gemini-output h5 { font-weight: bold; margin-top: 1rem; margin-bottom: 0.5rem; }
.gemini-output ul { list-style-type: disc; margin-left: 1.5rem; }
.gemini-output p { margin-bottom: 1rem; }
