:root {
    /* Color system */
    --stf-primary: #8b4513;
    --stf-primary-rgb: 139, 69, 19;
    --stf-primary-dark: #654321;
    --stf-accent: #d2691e;
    --stf-accent-rgb: 210, 105, 30;
    --stf-highlight: #f4a460;
    --stf-bg: #fff8f0;
    --stf-surface: #ffffff;
    --stf-border: #e8d5c0;
    --stf-radius: 0.75rem;
    --stf-focus: #c26a28;
    /* Bootstrap variable overrides */
    --bs-body-bg: var(--stf-bg);
    --bs-body-color: #2c1810;
    --bs-primary: var(--stf-primary);
    --bs-primary-rgb: var(--stf-primary-rgb);
    --bs-link-color: var(--stf-primary);
    --bs-link-hover-color: var(--stf-primary-dark);
    --bs-border-color: var(--stf-border);
    --bs-border-radius: var(--stf-radius);
    --bs-border-radius-lg: 1rem;
    --bs-border-radius-sm: 0.5rem;
    --bs-focus-ring-color: rgba(var(--stf-accent-rgb), 0.35);
}

[data-theme="dark"] {
    --stf-primary: #f4a460;
    --stf-primary-rgb: 244, 164, 96;
    --stf-primary-dark: #c26a28;
    --stf-accent: #ffbe82;
    --stf-accent-rgb: 255, 190, 130;
    --stf-highlight: #ffd5ad;
    --stf-bg: #1d130c;
    --stf-surface: #2b1b11;
    --stf-border: #3b2416;
    --bs-body-bg: var(--stf-bg);
    --bs-body-color: #fbe6d8;
    --bs-link-color: var(--stf-primary);
    --bs-link-hover-color: var(--stf-highlight);
    --bs-border-color: var(--stf-border);
    --bs-focus-ring-color: rgba(var(--stf-primary-rgb), 0.4);
}

:root,
[data-theme="dark"] {
    color-scheme: light dark;
}

.focus-outline:focus-visible {
    outline: 3px solid var(--stf-focus);
    outline-offset: 2px;
}

/**** Utility custom tweaks ****/
.card-brand-border {
    border-top: 4px solid var(--stf-primary);
}

.navbar-brand {
    font-weight: 700;
}

/* Allow elevated surface container */
.surface-container {
    background: var(--stf-surface);
    border-radius: var(--stf-radius);
    box-shadow: 0 12px 32px rgba(139, 69, 19, 0.09);
    border: 1px solid var(--stf-border);
}

/* Typography refinements for post body */
.post-body h2,
.post-body h3,
.post-body h4 {
    scroll-margin-top: 6rem;
}

.post-body img {
    max-width: 100%;
    height: auto;
    border-radius: 0.75rem;
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.08);
}

.post-body blockquote {
    padding: 0.75rem 1rem;
    border-left: 4px solid var(--stf-accent);
    background: rgba(var(--stf-accent-rgb), 0.08);
    border-radius: 0.5rem;
}

/* Dark mode adjustments */
[data-theme="dark"] .surface-container {
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.55);
}

#components-reconnect-modal {
    display: none !important;
}
