/* Study Tools Shared Theme */
:root {
    /* Light Mode Defaults */
    --k-study-bg: #ffffff;
    --k-study-surface: #f8fafc;
    --k-study-border: #e2e8f0;
    --k-study-text: #1e293b;
    --k-study-text-muted: #64748b;
    --k-study-primary: #7c3aed;
    --k-study-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.05);
    --k-study-input-bg: #f8fafc;
    --k-study-input-border: #e2e8f0;
    --k-study-placeholder: #94a3b8;
}

body.theme-dark {
    /* Dark Mode Overrides */
    --k-study-bg: #0f172a;
    --k-study-surface: #1e293b;
    /* Slightly lighter than bg for contrast */
    --k-study-border: rgba(148, 163, 184, 0.45);
    --k-study-text: #e5e7eb;
    --k-study-text-muted: #94a3b8;
    --k-study-primary: #8b5cf6;
    /* Slightly lighter purple for dark mode */
    --k-study-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.5);
    --k-study-input-bg: #111827;
    --k-study-input-border: rgba(148, 163, 184, 0.18);
    --k-study-placeholder: rgba(148, 163, 184, 0.6);
}

/* Universal Card Reset */
.kube-math-card {
    background: var(--k-study-bg) !important;
    border: 1px solid var(--k-study-border) !important;
    color: var(--k-study-text) !important;
    box-shadow: var(--k-study-shadow) !important;
}

/* Inputs & Selects */
.kube-math-card input,
.kube-math-card select,
.kube-math-card textarea,
.main-number-input,
.kube-input,
.kube-select,
.kube-textarea {
    background-color: var(--k-study-input-bg) !important;
    border-color: var(--k-study-input-border) !important;
    color: var(--k-study-text) !important;
}

.kube-math-card input:focus,
.kube-math-card select:focus,
.kube-math-card textarea:focus {
    border-color: var(--k-study-primary) !important;
    background-color: var(--k-study-bg) !important;
    /* Slight shift on focus to bg color */
}

.kube-math-card input::placeholder,
.kube-math-card textarea::placeholder {
    color: var(--k-study-placeholder) !important;
    opacity: 1;
}

/* Text Colors */
.kube-math-card h1,
.kube-math-card h2,
.kube-math-card h3,
.kube-math-card label {
    color: var(--k-study-text);
}

.input-label,
.ctrl-label,
.res-label,
.stat-label {
    color: var(--k-study-text-muted) !important;
}

/* Result Areas - specific override */
.result-display,
.result-area,
.result-box,
.viz-box,
.viz-container {
    background: var(--k-study-surface) !important;
    border-color: var(--k-study-border) !important;
}

/* Buttons */
.calculate-btn {
    /* Usually these have specific colors, but ensure text is readable */
    color: #ffffff !important;
}

.calculate-btn:hover {
    filter: brightness(110%);
}

/* Toggles */
.toggle-group {
    background: var(--k-study-surface) !important;
}

.toggle-btn {
    color: var(--k-study-text-muted) !important;
}

.toggle-btn.active {
    background: var(--k-study-bg) !important;
    color: var(--k-study-primary) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

/* Table */
.kube-table th {
    color: var(--k-study-text-muted) !important;
    border-bottom-color: var(--k-study-border) !important;
}

.kube-table td {
    color: var(--k-study-text) !important;
    border-bottom-color: var(--k-study-border) !important;
}