/* Generated by Cassiopeia Themer — do not edit by hand. */
/* Edit at Components → Cassiopeia Themer → Brand. */
:root {
    --cassiopeia-color-primary: #a0522d;
    --cassiopeia-color-link: #a0522d;
    --cassiopeia-color-hover: #904a29;
    --primary: #a0522d;
    --primary-rgb: 160, 82, 45;
    --bs-primary: #a0522d;
    --bs-primary-rgb: 160, 82, 45;
    --link-color: #a0522d;
    --link-color-rgb: 160, 82, 45;
    --bs-link-color: #a0522d;
    --bs-link-color-rgb: 160, 82, 45;
    --link-hover-color: #884626;
    --link-hover-color-rgb: 136, 70, 38;
    --bs-link-hover-color: #884626;
    --bs-link-hover-color-rgb: 136, 70, 38;
    --cassiopeia-color-secondary: #77574a;
    --secondary: #77574a;
    --secondary-rgb: 119, 87, 74;
    --bs-secondary: #77574a;
    --bs-secondary-rgb: 119, 87, 74;
    --cassiopeia-banner-bg: #675f30;
    --accent: #675f30;
    --accent-rgb: 103, 95, 48;
    --bs-accent: #675f30;
    --bs-accent-rgb: 103, 95, 48;
    --code-color: #675f30;
    --code-color-rgb: 103, 95, 48;
    --bs-code-color: #675f30;
    --bs-code-color-rgb: 103, 95, 48;
    --kbd-bg: #382e2a;
    --bs-kbd-bg: #382e2a;
    --kbd-color: #ffede7;
    --bs-kbd-color: #ffede7;
    --cassiopeia-color-page-bg: #fff8f0;
    --body-bg: #fff8f0;
    --body-bg-rgb: 255, 248, 240;
    --bs-body-bg: #fff8f0;
    --bs-body-bg-rgb: 255, 248, 240;
    --cassiopeia-color-text: #1a1613;
    --body-color: #1a1613;
    --body-color-rgb: 26, 22, 19;
    --bs-body-color: #1a1613;
    --bs-body-color-rgb: 26, 22, 19;
    --secondary-color: #5c5248;
    --secondary-color-rgb: 92, 82, 72;
    --bs-secondary-color: #5c5248;
    --bs-secondary-color-rgb: 92, 82, 72;
    --cassiopeia-color-headings: #1a1613;
    --cassiopeia-color-light: #f5ded5;
    --light: #f5ded5;
    --light-rgb: 245, 222, 213;
    --bs-light: #f5ded5;
    --bs-light-rgb: 245, 222, 213;
    --cassiopeia-color-dark: #382e2a;
    --dark: #382e2a;
    --dark-rgb: 56, 46, 42;
    --bs-dark: #382e2a;
    --bs-dark-rgb: 56, 46, 42;
    --secondary-bg: #efeae4;
    --secondary-bg-rgb: 239, 234, 228;
    --bs-secondary-bg: #efeae4;
    --bs-secondary-bg-rgb: 239, 234, 228;
    --tertiary-bg: #f3e7da;
    --tertiary-bg-rgb: 243, 231, 218;
    --bs-tertiary-bg: #f3e7da;
    --bs-tertiary-bg-rgb: 243, 231, 218;
    --border-color: #5c5248;
    --border-color-rgb: 92, 82, 72;
    --bs-border-color: #5c5248;
    --bs-border-color-rgb: 92, 82, 72;
    --border-color-translucent: #e4d8c9;
    --bs-border-color-translucent: #e4d8c9;
    --primary-bg-subtle: #fdf1e7;
    --primary-bg-subtle-rgb: 253, 241, 231;
    --bs-primary-bg-subtle: #fdf1e7;
    --bs-primary-bg-subtle-rgb: 253, 241, 231;
    --primary-text-emphasis: #71361a;
    --bs-primary-text-emphasis: #71361a;
    --secondary-bg-subtle: #ffdbcd;
    --secondary-bg-subtle-rgb: 255, 219, 205;
    --bs-secondary-bg-subtle: #ffdbcd;
    --bs-secondary-bg-subtle-rgb: 255, 219, 205;
    --secondary-text-emphasis: #5d4034;
    --bs-secondary-text-emphasis: #5d4034;
    --danger-bg-subtle: #ffdad6;
    --danger-bg-subtle-rgb: 255, 218, 214;
    --bs-danger-bg-subtle: #ffdad6;
    --bs-danger-bg-subtle-rgb: 255, 218, 214;
    --danger-text-emphasis: #93000a;
    --bs-danger-text-emphasis: #93000a;
    --cassiopeia-color-success: #198754;
    --success: #198754;
    --success-rgb: 25, 135, 84;
    --bs-success: #198754;
    --bs-success-rgb: 25, 135, 84;
    --cassiopeia-color-info: #0dcaf0;
    --info: #0dcaf0;
    --info-rgb: 13, 202, 240;
    --bs-info: #0dcaf0;
    --bs-info-rgb: 13, 202, 240;
    --cassiopeia-color-warning: #ffc107;
    --warning: #ffc107;
    --warning-rgb: 255, 193, 7;
    --bs-warning: #ffc107;
    --bs-warning-rgb: 255, 193, 7;
    --cassiopeia-color-danger: #a32e2e;
    --danger: #a32e2e;
    --danger-rgb: 163, 46, 46;
    --bs-danger: #a32e2e;
    --bs-danger-rgb: 163, 46, 46;
    --cassiopeia-font-family-body: "Atkinson Hyperlegible Next", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --cassiopeia-font-family-headings: "Atkinson Hyperlegible Next", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

    /* Bootstrap component vars derived from surfaces — */
    /* keeps accordion / card / modal / dropdown / pagination / */
    /* list-group / form / nav / offcanvas / toast on-palette. */
    --accordion-bg: var(--body-bg);
    --bs-accordion-bg: var(--body-bg);
    --accordion-color: var(--body-color);
    --bs-accordion-color: var(--body-color);
    --accordion-border-color: var(--border-color);
    --bs-accordion-border-color: var(--border-color);
    --accordion-btn-bg: var(--body-bg);
    --bs-accordion-btn-bg: var(--body-bg);
    --accordion-btn-color: var(--body-color);
    --bs-accordion-btn-color: var(--body-color);
    --accordion-active-bg: var(--light);
    --bs-accordion-active-bg: var(--light);
    --accordion-active-color: var(--body-color);
    --bs-accordion-active-color: var(--body-color);
    --card-bg: var(--body-bg);
    --bs-card-bg: var(--body-bg);
    --card-color: var(--body-color);
    --bs-card-color: var(--body-color);
    --card-border-color: var(--border-color);
    --bs-card-border-color: var(--border-color);
    --card-cap-bg: var(--secondary-bg);
    --bs-card-cap-bg: var(--secondary-bg);
    --card-cap-color: var(--body-color);
    --bs-card-cap-color: var(--body-color);
    --modal-bg: var(--body-bg);
    --bs-modal-bg: var(--body-bg);
    --modal-color: var(--body-color);
    --bs-modal-color: var(--body-color);
    --modal-border-color: var(--border-color);
    --bs-modal-border-color: var(--border-color);
    --modal-header-border-color: var(--border-color);
    --bs-modal-header-border-color: var(--border-color);
    --modal-footer-border-color: var(--border-color);
    --bs-modal-footer-border-color: var(--border-color);
    --dropdown-bg: var(--body-bg);
    --bs-dropdown-bg: var(--body-bg);
    --dropdown-color: var(--body-color);
    --bs-dropdown-color: var(--body-color);
    --dropdown-border-color: var(--border-color);
    --bs-dropdown-border-color: var(--border-color);
    --dropdown-link-color: var(--body-color);
    --bs-dropdown-link-color: var(--body-color);
    --dropdown-link-hover-bg: var(--secondary-bg);
    --bs-dropdown-link-hover-bg: var(--secondary-bg);
    --dropdown-link-hover-color: var(--body-color);
    --bs-dropdown-link-hover-color: var(--body-color);
    --dropdown-link-active-bg: var(--primary);
    --bs-dropdown-link-active-bg: var(--primary);
    --dropdown-divider-bg: var(--border-color);
    --bs-dropdown-divider-bg: var(--border-color);
    --list-group-bg: var(--body-bg);
    --bs-list-group-bg: var(--body-bg);
    --list-group-color: var(--body-color);
    --bs-list-group-color: var(--body-color);
    --list-group-border-color: var(--border-color);
    --bs-list-group-border-color: var(--border-color);
    --list-group-action-color: var(--body-color);
    --bs-list-group-action-color: var(--body-color);
    --list-group-action-hover-bg: var(--secondary-bg);
    --bs-list-group-action-hover-bg: var(--secondary-bg);
    --list-group-action-hover-color: var(--body-color);
    --bs-list-group-action-hover-color: var(--body-color);
    --list-group-active-bg: var(--primary);
    --bs-list-group-active-bg: var(--primary);
    --list-group-active-border-color: var(--primary);
    --bs-list-group-active-border-color: var(--primary);
    --pagination-bg: var(--body-bg);
    --bs-pagination-bg: var(--body-bg);
    --pagination-color: var(--body-color);
    --bs-pagination-color: var(--body-color);
    --pagination-border-color: var(--border-color);
    --bs-pagination-border-color: var(--border-color);
    --pagination-hover-bg: var(--secondary-bg);
    --bs-pagination-hover-bg: var(--secondary-bg);
    --pagination-hover-color: var(--body-color);
    --bs-pagination-hover-color: var(--body-color);
    --pagination-hover-border-color: var(--border-color);
    --bs-pagination-hover-border-color: var(--border-color);
    --pagination-active-bg: var(--primary);
    --bs-pagination-active-bg: var(--primary);
    --pagination-active-border-color: var(--primary);
    --bs-pagination-active-border-color: var(--primary);
    --form-control-bg: var(--body-bg);
    --bs-form-control-bg: var(--body-bg);
    --form-control-color: var(--body-color);
    --bs-form-control-color: var(--body-color);
    --form-control-border-color: var(--border-color);
    --bs-form-control-border-color: var(--border-color);
    --form-check-bg: var(--body-bg);
    --bs-form-check-bg: var(--body-bg);
    --nav-link-color: var(--body-color);
    --bs-nav-link-color: var(--body-color);
    --nav-link-hover-color: var(--primary);
    --bs-nav-link-hover-color: var(--primary);
    --nav-tabs-border-color: var(--border-color);
    --bs-nav-tabs-border-color: var(--border-color);
    --nav-tabs-link-active-bg: var(--body-bg);
    --bs-nav-tabs-link-active-bg: var(--body-bg);
    --nav-tabs-link-active-color: var(--body-color);
    --bs-nav-tabs-link-active-color: var(--body-color);
    --nav-pills-link-active-bg: var(--primary);
    --bs-nav-pills-link-active-bg: var(--primary);
    --nav-underline-link-active-color: var(--primary);
    --bs-nav-underline-link-active-color: var(--primary);
    --offcanvas-bg: var(--body-bg);
    --bs-offcanvas-bg: var(--body-bg);
    --offcanvas-color: var(--body-color);
    --bs-offcanvas-color: var(--body-color);
    --offcanvas-border-color: var(--border-color);
    --bs-offcanvas-border-color: var(--border-color);
    --toast-bg: var(--body-bg);
    --bs-toast-bg: var(--body-bg);
    --toast-color: var(--body-color);
    --bs-toast-color: var(--body-color);
    --toast-border-color: var(--border-color);
    --bs-toast-border-color: var(--border-color);
    --toast-header-bg: var(--secondary-bg);
    --bs-toast-header-bg: var(--secondary-bg);
    --toast-header-color: var(--body-color);
    --bs-toast-header-color: var(--body-color);
    --toast-header-border-color: var(--border-color);
    --bs-toast-header-border-color: var(--border-color);
    --popover-bg: var(--body-bg);
    --bs-popover-bg: var(--body-bg);
    --popover-color: var(--body-color);
    --bs-popover-color: var(--body-color);
    --popover-border-color: var(--border-color);
    --bs-popover-border-color: var(--border-color);
    --popover-header-bg: var(--secondary-bg);
    --bs-popover-header-bg: var(--secondary-bg);
    --popover-header-color: var(--body-color);
    --bs-popover-header-color: var(--body-color);
    --breadcrumb-bg: var(--secondary-bg);
    --bs-breadcrumb-bg: var(--secondary-bg);
    --breadcrumb-divider-color: var(--secondary-color);
    --bs-breadcrumb-divider-color: var(--secondary-color);
    --breadcrumb-item-active-color: var(--body-color);
    --bs-breadcrumb-item-active-color: var(--body-color);
    --table-color: var(--body-color);
    --bs-table-color: var(--body-color);
    --table-border-color: var(--border-color);
    --bs-table-border-color: var(--border-color);
    --table-striped-bg: var(--secondary-bg);
    --bs-table-striped-bg: var(--secondary-bg);
    --table-hover-bg: var(--light);
    --bs-table-hover-bg: var(--light);
    --table-active-bg: var(--light);
    --bs-table-active-bg: var(--light);
}

body {
    background-color: #fff8f0;
    color: #1a1613;
    font-family: "Atkinson Hyperlegible Next", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    color: #1a1613;
    font-family: "Atkinson Hyperlegible Next", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Brand and semantic foreground / background overrides */
.btn-primary, .btn-primary:focus {
    background-color: #a0522d;
    border-color: #a0522d;
    color: #ffffff;
}
.btn-primary:hover, .btn-primary:active {
    background-color: color-mix(in srgb, #a0522d 88%, black);
    border-color: color-mix(in srgb, #a0522d 88%, black);
    color: #ffffff;
}
.alert-primary {
    background-color: #fdf1e7;
    border-color: #fdf1e7;
    color: #71361a;
}
.text-primary {
    color: #a0522d;
}
.bg-primary {
    background-color: #a0522d;
    border-color: #a0522d;
}
.border-primary {
    border-color: #a0522d !important;
}
.text-bg-primary {
    background-color: #a0522d;
    border-color: #a0522d;
    color: #ffffff;
}
.badge.bg-primary {
    color: #ffffff;
}
.btn-secondary, .btn-secondary:focus {
    background-color: #77574a;
    border-color: #77574a;
    color: #ffffff;
}
.btn-secondary:hover, .btn-secondary:active {
    background-color: color-mix(in srgb, #77574a 88%, black);
    border-color: color-mix(in srgb, #77574a 88%, black);
    color: #ffffff;
}
.alert-secondary {
    background-color: #ffdbcd;
    border-color: #ffdbcd;
    color: #5d4034;
}
.text-secondary {
    color: #77574a;
}
.bg-secondary {
    background-color: #77574a;
    border-color: #77574a;
}
.border-secondary {
    border-color: #77574a !important;
}
.text-bg-secondary {
    background-color: #77574a;
    border-color: #77574a;
    color: #ffffff;
}
.badge.bg-secondary {
    color: #ffffff;
}
.btn-success, .btn-success:focus {
    background-color: #198754;
    border-color: #198754;
    color: #ffffff;
}
.btn-success:hover, .btn-success:active {
    background-color: color-mix(in srgb, #198754 88%, black);
    border-color: color-mix(in srgb, #198754 88%, black);
    color: #ffffff;
}
.alert-success {
    background-color: #198754;
    border-color: #198754;
    color: #ffffff;
}
.text-success {
    color: #198754;
}
.bg-success {
    background-color: #198754;
    border-color: #198754;
}
.border-success {
    border-color: #198754 !important;
}
.text-bg-success {
    background-color: #198754;
    border-color: #198754;
    color: #ffffff;
}
.badge.bg-success {
    color: #ffffff;
}
.btn-info, .btn-info:focus {
    background-color: #0dcaf0;
    border-color: #0dcaf0;
    color: #000000;
}
.btn-info:hover, .btn-info:active {
    background-color: color-mix(in srgb, #0dcaf0 88%, black);
    border-color: color-mix(in srgb, #0dcaf0 88%, black);
    color: #000000;
}
.alert-info {
    background-color: #0dcaf0;
    border-color: #0dcaf0;
    color: #000000;
}
.text-info {
    color: #0dcaf0;
}
.bg-info {
    background-color: #0dcaf0;
    border-color: #0dcaf0;
}
.border-info {
    border-color: #0dcaf0 !important;
}
.text-bg-info {
    background-color: #0dcaf0;
    border-color: #0dcaf0;
    color: #000000;
}
.badge.bg-info {
    color: #000000;
}
.btn-warning, .btn-warning:focus {
    background-color: #ffc107;
    border-color: #ffc107;
    color: #000000;
}
.btn-warning:hover, .btn-warning:active {
    background-color: color-mix(in srgb, #ffc107 88%, black);
    border-color: color-mix(in srgb, #ffc107 88%, black);
    color: #000000;
}
.alert-warning {
    background-color: #ffc107;
    border-color: #ffc107;
    color: #000000;
}
.text-warning {
    color: #ffc107;
}
.bg-warning {
    background-color: #ffc107;
    border-color: #ffc107;
}
.border-warning {
    border-color: #ffc107 !important;
}
.text-bg-warning {
    background-color: #ffc107;
    border-color: #ffc107;
    color: #000000;
}
.badge.bg-warning {
    color: #000000;
}
.btn-danger, .btn-danger:focus {
    background-color: #a32e2e;
    border-color: #a32e2e;
    color: #ffffff;
}
.btn-danger:hover, .btn-danger:active {
    background-color: color-mix(in srgb, #a32e2e 88%, black);
    border-color: color-mix(in srgb, #a32e2e 88%, black);
    color: #ffffff;
}
.alert-danger {
    background-color: #ffdad6;
    border-color: #ffdad6;
    color: #93000a;
}
.text-danger {
    color: #a32e2e;
}
.bg-danger {
    background-color: #a32e2e;
    border-color: #a32e2e;
}
.border-danger {
    border-color: #a32e2e !important;
}
.text-bg-danger {
    background-color: #a32e2e;
    border-color: #a32e2e;
    color: #ffffff;
}
.badge.bg-danger {
    color: #ffffff;
}
.site-banner, [class*="site-banner"], a.site-banner {
    background-color: #675f30;
    color: #ffffff;
}
.bg-dark, .container-footer, body footer, .text-bg-dark {
    color: #ffede7;
}
.bg-dark a, .container-footer a, body footer a {
    color: #ffede7;
}

/* Form controls & muted text — override Bootstrap's hardcoded greys */
.text-muted, .text-body-secondary { color: #5c5248 !important; }
.form-text { color: #5c5248; }
.form-control::placeholder, textarea::placeholder { color: #5c5248; opacity: 1; }
.form-label, .col-form-label, legend { color: #1a1613; }
.form-control, .form-select { border-color: #5c5248; }
.form-control:focus, .form-select:focus {
        border-color: #a0522d;
        box-shadow: 0 0 0 .25rem rgba(160, 82, 45, .25);
}
.form-check-input:checked { background-color: #a0522d; border-color: #a0522d; }
.form-check-input:focus {
        border-color: #a0522d;
        box-shadow: 0 0 0 .25rem rgba(160, 82, 45, .25);
}
.invalid-feedback, .invalid-tooltip { color: #a32e2e; }
.form-control.is-invalid, .was-validated .form-control:invalid,
.form-select.is-invalid, .was-validated .form-select:invalid { border-color: #a32e2e; }
.form-control.is-invalid:focus, .was-validated .form-control:invalid:focus {
        border-color: #a32e2e;
        box-shadow: 0 0 0 .25rem rgba(163, 46, 46, .25);
}
.valid-feedback, .valid-tooltip { color: #198754; }
.form-control.is-valid, .was-validated .form-control:valid,
.form-select.is-valid, .was-validated .form-select:valid { border-color: #198754; }
.form-control.is-valid:focus, .was-validated .form-control:valid:focus {
        border-color: #198754;
        box-shadow: 0 0 0 .25rem rgba(25, 135, 84, .25);
}

/* Card header — keep on-palette even for heading-tag headers */
.card-header {
    background-color: #efeae4;
    color: #1a1613;
    border-bottom-color: #5c5248;
}

/* Inline code chip + pre panel from surfaces */
:not(pre) > code {
    background-color: #f3e7da;
    padding: .15em .4em;
    border-radius: .25rem;
}
pre {
    background-color: #f3e7da;
    padding: 1rem;
    border-radius: .375rem;
    border: 1px solid #5c5248;
}
pre code { background: none; padding: 0; }

/* Blockquote */
.blockquote-footer { color: #5c5248; }
.blockquote, figure.blockquote, .blockquote[class] {
    border-left: .25rem solid #675f30;
    padding-left: 1rem;
}

/* Accordion vars at component scope — Bootstrap declares these on .accordion, beating :root */
.accordion {
    --accordion-active-bg: #f5ded5;
    --bs-accordion-active-bg: #f5ded5;
    --accordion-active-color: #1a1613;
    --bs-accordion-active-color: #1a1613;
    --accordion-bg: #fff8f0;
    --bs-accordion-bg: #fff8f0;
    --accordion-color: #1a1613;
    --bs-accordion-color: #1a1613;
    --accordion-btn-bg: #fff8f0;
    --bs-accordion-btn-bg: #fff8f0;
    --accordion-btn-color: #1a1613;
    --bs-accordion-btn-color: #1a1613;
    --accordion-border-color: #5c5248;
    --bs-accordion-border-color: #5c5248;
}

/* Header gradient */
header, .header, .container-header, body > header {
    background-image: linear-gradient(180deg, #a0522d, #5d301a);
}

/* Footer gradient */
.footer, .container-footer, body > footer {
    background-image: linear-gradient(180deg, #a0522d, #5d301a);
}

/* Layout */
:root {
    --bs-border-radius: 0.5rem;
    --bs-border-radius-sm: 0.375rem;
    --bs-border-radius-lg: 0.5rem;
    --bs-box-shadow-sm: 0 1px 3px rgba(0,0,0,.08);
    --bs-box-shadow: 0 1px 3px rgba(0,0,0,.08);
    --bs-box-shadow-lg: 0 4px 8px rgba(0,0,0,.1);
}

@media (min-width: 1200px) {
    body .container { max-width: 1140px; }
}

body main, body .container-component, body article {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
body p, body .lead { margin-bottom: 1rem; }

.btn, .form-control, .form-select { border-radius: 0.375rem; }
.card, .alert, .modal-content { border-radius: 0.5rem; }
.badge { border-radius: 0.5rem; }

.card { box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.dropdown-menu, .modal-content { box-shadow: 0 4px 8px rgba(0,0,0,.1); }

a { text-decoration: none; }
a:hover { text-decoration: underline; }

/* Themer: inline navbar — desktop */
.container-header,
header.container-header {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 1rem;
    padding: .5rem 1rem;
    position: relative;
}
.container-header > .grid-child { width: auto; max-width: none; margin-left: 0; margin-right: 0; }
.container-header > .grid-child:first-child,
.container-header .container-logo,
.container-header .grid-child.container-logo { flex: 0 0 auto; min-width: 0; }
.container-header .navbar-brand { margin: 0; padding: 0; }
.container-header .site-title { font-weight: 600; line-height: 1; margin: 0; }
.container-header .container-nav,
.container-header .container-menu,
.container-header .grid-child.container-nav,
.container-header .grid-child.container-menu { flex: 1 1 0; min-width: 0; margin-left: auto; display: flex; flex-wrap: nowrap; align-items: center; gap: 1rem; justify-content: flex-end; padding: 0; }
.container-header .container-nav > .menu { flex: 1 1 auto; min-width: 0; display: flex; justify-content: flex-end; margin: 0; }
.container-header .container-nav .navbar { width: 100%; padding: 0; margin: 0; flex-wrap: wrap; justify-content: flex-end; align-items: center; }
.container-header .container-search,
.container-header .container-nav .container-search,
.container-header .grid-child.container-search { flex: 0 1 20rem; min-width: 0; margin: 0; }
.container-header .container-nav .container-search,
.container-header .container-nav nav { margin-top: 0; }
.container-header .navbar-collapse { flex-grow: 1; flex-basis: auto; align-items: center; }
.container-header .mod-menu { display: flex; flex: 1 1 auto; flex-direction: row; flex-wrap: wrap; gap: .5rem; row-gap: .25rem; margin: 0; padding: 0; list-style: none; align-items: center; justify-content: flex-start; }
.container-header .mod-menu > li { white-space: nowrap; }
.container-header .mod-menu > li > a { padding: .5rem .75rem; }
/* Themer: inline navbar — mobile */
@media (max-width: 991.98px) {
    .container-header,
    header.container-header { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .5rem; flex-wrap: initial; }
    .container-header > .grid-child:first-child,
    .container-header .container-logo,
    .container-header .grid-child.container-logo { grid-column: 2; justify-self: center; flex: initial; }
    .container-header .container-search,
    .container-header .grid-child.container-search { grid-column: 1 / -1; grid-row: 2; flex: initial; max-width: none; }
    .container-header .container-nav,
    .container-header .container-menu,
    .container-header .grid-child.container-nav,
    .container-header .grid-child.container-menu { grid-column: 3; justify-self: end; flex: initial; margin-left: 0; padding: 0; display: block; }
    .container-header .container-nav,
    .container-header .container-nav .navbar { position: static; }
    .container-header .container-nav > .menu { width: auto; }
    .container-header .container-nav .navbar { width: auto; padding: 0; margin: 0; flex-wrap: wrap; justify-content: flex-end; }
    .container-header .navbar-toggler { display: inline-block; margin-left: auto; }
    .container-header .navbar-collapse,
    .container-header .navbar-collapse.show,
    .container-header .navbar-collapse.collapsing {
        position: absolute !important;
        top: 100%;
        left: 0;
        right: 0;
        width: auto;
        background-color: var(--cassiopeia-color-primary, #1c3d5a);
        background-image: linear-gradient(180deg, #a0522d, #5d301a);
        padding: 1rem;
        z-index: 1029;
        flex-basis: auto;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        box-shadow: 0 .25rem .75rem rgba(0,0,0,.18);
    }
    .container-header .navbar-collapse .mod-menu { flex-direction: column; align-items: stretch; gap: 0; width: 100%; margin: 0; }
    .container-header .navbar-collapse .mod-menu > li { white-space: normal; }
    .container-header .navbar-collapse .mod-menu > li > a { display: block; padding: .65rem .5rem; border-bottom: 1px solid rgba(255,255,255,.12); color: #fff; }
}
.container-header .navbar-toggler { color: #fff; border-color: rgba(255,255,255,.25); padding: .5rem .75rem; line-height: 1; border-radius: .375rem; }
.container-header .navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(255,255,255,.25); }
.container-header .navbar-toggler .icon-menu { color: inherit; }
/* Themer: ellipsis toggler */
.container-header .navbar-toggler { background-image: none; }
.container-header .navbar-toggler .icon-menu,
.container-header .navbar-toggler .navbar-toggler-icon { display: none; }
.container-header .navbar-toggler::before {
    content: "";
    display: block;
    width: 1.4rem;
    height: 1.4rem;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='3' cy='8' r='1.6'/><circle cx='8' cy='8' r='1.6'/><circle cx='13' cy='8' r='1.6'/></svg>") center / contain no-repeat;
            mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='3' cy='8' r='1.6'/><circle cx='8' cy='8' r='1.6'/><circle cx='13' cy='8' r='1.6'/></svg>") center / contain no-repeat;
}

/* Themer: sticky header */
.container-header,
header.container-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background-color: var(--cassiopeia-color-primary, #fff);
    backdrop-filter: saturate(180%) blur(8px);
    -webkit-backdrop-filter: saturate(180%) blur(8px);
    box-shadow: 0 1px 0 rgba(0,0,0,.06);
}

/* Menu polish — stock Cassiopeia mod_menu rough edges */
.metismenu.mod-menu[class] .metismenu-item.parent { flex-wrap: nowrap; }

/* Blog article cards */
.cards .blog-item {
    display: flex;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: .5rem;
    box-shadow: var(--bs-box-shadow, 0 1px 3px rgba(0,0,0,.08));
    background: var(--bs-body-bg, #fff);
    overflow: hidden;
    height: 100%;
    margin-bottom: 1.5rem;
}
.cards .blog-item .item-image { margin: 0; }
.cards .blog-item .item-image img { display: block; width: 100%; height: auto; object-fit: cover; }
.cards .blog-item .item-content { padding: 1.25rem; flex: 1 1 auto; }
.cards .blog-item { flex-direction: column; }
.cards .blog-item .item-image { flex: none; }
.cards-top .blog-item { flex-direction: column; }
.cards-top .blog-item .item-image { flex: none; }
.cards-bottom .blog-item { flex-direction: column-reverse; }
.cards-bottom .blog-item .item-image { flex: none; }
.cards-left .blog-item { flex-direction: column; }
@media (min-width: 768px) {
    .cards-left .blog-item { flex-direction: row; }
    .cards-left .blog-item .item-image { flex: 0 0 40%; }
    .cards-left .blog-item .item-image img { height: 100%; }
}
.cards-right .blog-item { flex-direction: column; }
@media (min-width: 768px) {
    .cards-right .blog-item { flex-direction: row-reverse; }
    .cards-right .blog-item .item-image { flex: 0 0 40%; }
    .cards-right .blog-item .item-image img { height: 100%; }
}
.cards-alt .blog-item { flex-direction: column; }
@media (min-width: 768px) {
    .cards-alt .blog-item { flex-direction: row; }
    .cards-alt .blog-item .item-image { flex: 0 0 40%; }
    .cards-alt .blog-item .item-image img { height: 100%; }
    .cards-alt .blog-item:nth-child(even) { flex-direction: row-reverse; }
}

/* Dark appearance — active when data-bs-theme="dark" */
[data-bs-theme="dark"] {
    --body-bg: #1a110e;
    --body-bg-rgb: 26, 17, 14;
    --bs-body-bg: #1a110e;
    --bs-body-bg-rgb: 26, 17, 14;
    --cassiopeia-color-page-bg: #1a110e;
    --body-color: #f1dfd8;
    --body-color-rgb: 241, 223, 216;
    --bs-body-color: #f1dfd8;
    --bs-body-color-rgb: 241, 223, 216;
    --cassiopeia-color-text: #f1dfd8;
    --bs-emphasis-color: #f1dfd8;
    --secondary-color: #d8c2ba;
    --secondary-color-rgb: 216, 194, 186;
    --bs-secondary-color: #d8c2ba;
    --bs-secondary-color-rgb: 216, 194, 186;
    --cassiopeia-color-headings: #f1dfd8;
    --secondary-bg: #322824;
    --secondary-bg-rgb: 50, 40, 36;
    --bs-secondary-bg: #322824;
    --bs-secondary-bg-rgb: 50, 40, 36;
    --tertiary-bg: #271e1a;
    --tertiary-bg-rgb: 39, 30, 26;
    --bs-tertiary-bg: #271e1a;
    --bs-tertiary-bg-rgb: 39, 30, 26;
    --border-color: #a08d85;
    --border-color-rgb: 160, 141, 133;
    --bs-border-color: #a08d85;
    --bs-border-color-rgb: 160, 141, 133;
    --primary: #ffb596;
    --primary-rgb: 255, 181, 150;
    --bs-primary: #ffb596;
    --bs-primary-rgb: 255, 181, 150;
    --link-color: #ffb596;
    --link-color-rgb: 255, 181, 150;
    --bs-link-color: #ffb596;
    --bs-link-color-rgb: 255, 181, 150;
    --cassiopeia-color-primary: #ffb596;
    --cassiopeia-color-link: #ffb596;
    --secondary: #e6bead;
    --secondary-rgb: 230, 190, 173;
    --bs-secondary: #e6bead;
    --bs-secondary-rgb: 230, 190, 173;
    --accent: #d2c78f;
    --accent-rgb: 210, 199, 143;
    --bs-accent: #d2c78f;
    --bs-accent-rgb: 210, 199, 143;
    --primary-bg-subtle: #71361a;
    --primary-bg-subtle-rgb: 113, 54, 26;
    --bs-primary-bg-subtle: #71361a;
    --bs-primary-bg-subtle-rgb: 113, 54, 26;
    --bs-primary-text-emphasis: #ffdbcd;
    --danger: #ffb4ab;
    --danger-rgb: 255, 180, 171;
    --bs-danger: #ffb4ab;
    --bs-danger-rgb: 255, 180, 171;
}
