:root {
    color-scheme: light;
    --page-bg: #f6f8fc;
    --card-bg: #ffffff;
    --text-color: #212529;
    --muted-color: #6c757d;
    --border-color: #dee2e6;
    --accent: #4361ee;
}
[data-theme="dark"] {
    color-scheme: dark;
    --page-bg: #191b20;
    --card-bg: #282b31;
    --text-color: #f8f9fa;
    --muted-color: #adb5bd;
    --border-color: #454950;
    --accent: #818cf8;
}
body {
    min-height: 100vh;
    background: var(--page-bg);
    color: var(--text-color);
    transition: background-color .2s ease, color .2s ease;
}
.card {
    background: var(--card-bg);
    color: var(--text-color);
    border-color: var(--border-color);
}
.text-secondary { color: var(--muted-color) !important; }
.streak-card { border-top: .3rem solid var(--accent); }
.streak-value {
    color: var(--accent);
    font-size: clamp(3.5rem, 12vw, 7rem);
    font-weight: 800;
    line-height: 1;
    min-height: 1em;
}
.metric-value {
    color: var(--accent);
    font-size: 2.5rem;
    font-weight: 750;
    line-height: 1;
}
.comments-list { display: grid; gap: 1rem; }
.comment-card { border-left: .25rem solid var(--accent); }
.comment-avatar {
    width: 2.25rem;
    height: 2.25rem;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    margin-right: .75rem;
    border-radius: 50%;
    background: var(--accent);
    color: #fff;
    font-weight: 700;
}
.form-control, .form-select {
    background-color: var(--card-bg);
    color: var(--text-color);
    border-color: var(--border-color);
}
.form-feedback { min-height: 1.5rem; color: var(--muted-color); }
.form-feedback.is-error { color: var(--bs-danger); }
.form-feedback.is-success { color: var(--bs-success); }
@media (max-width: 575.98px) {
    header .btn { font-size: .875rem; }
}
