body { 
    font-family: 'Lato', sans-serif; 
    background-color: #f4f6f9; 
    color: #333; 
    --theme-color: #3498db; /* Default to Field blue */
    --theme-hover-color: #2980b9;
}
.font-heavy { 
    font-weight: 900; 
}
.lucide { 
    width: 1.25em; 
    height: 1.25em; 
    display: inline-block; 
}
:disabled { 
    opacity: 0.5; 
    cursor: not-allowed; 
}
#notification { 
    transition: opacity 0.3s, transform 0.3s; 
}

/* Base Theme Colors */
.bg-ianseo-dark { background-color: #2c3e50; }
.text-theme { color: var(--theme-color); }
.ring-theme:focus { --tw-ring-color: var(--theme-color); }
.focus\:border-theme:focus { border-color: var(--theme-color); }

/* Theming based on body class */
body.theme-hunter { --theme-color: #c0392b; --theme-hover-color: #a93226; }
body.theme-animal { --theme-color: #f1c40f; --theme-hover-color: #d4ac0d; }

/* Component Styles */
.tab-btn { 
    color: #7f8c8d; 
    border-bottom: 4px solid transparent; 
    transition: all 0.2s ease-in-out; 
}
.tab-btn.active { 
    color: var(--theme-color); 
    border-bottom-color: var(--theme-color); 
}

.round-btn { 
    background-color: #e2e8f0; 
    color: #2c3e50; 
    font-weight: 700; 
    transition: all 0.2s ease-in-out; 
}
.round-btn.active { 
    background-color: #2c3e50; 
    color: white; 
}

.btn { 
    border-radius: 0.375rem; 
    padding: 0.75rem 1rem; 
    font-weight: 700; 
    text-transform: uppercase; 
    letter-spacing: 0.05em; 
    transition: all 0.2s ease-in-out; 
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); 
}
.btn-primary { 
    background-color: var(--theme-color); 
    color: white; 
}
.btn-primary:hover { 
    background-color: var(--theme-hover-color); 
}
.btn-secondary { 
    background-color: #bdc3c7; 
    color: #2c3e50; 
}
.btn-secondary:hover { 
    background-color: #95a5a6; 
}
.btn-danger { 
    background-color: #e74c3c; 
    color: white; 
}
.btn-danger:hover {
     background-color: #c0392b; 
}
