@charset "UTF-8";
/* seo3 (Jon, 10 November 2026): moved from layouts/partials/head-css and footer-scripts.
   Loaded right after the theme CSS, where the inline blocks were. Each note keeps its history. */

/* muted-v1 (Jon, 202 and 208): the theme draws muted text as #676a79 at 50% - about 2:1 on white.
 #495057 is 8.18:1 (approved on screen, session 68). Light mode only: dark mode keeps the theme's
 own value, and a wrapper that sets its own (.qso-page) still wins. */
:root:not([data-bs-theme=dark]), [data-bs-theme=light] { --bs-secondary-color: #495057; }
/* darktheme-v1 (Jon, 209): four classes carry light-mode literals with no dark rule at all.
 Measured on the box's compiled CSS, on the dark card #141519: .btn-outline-secondary,
 .btn-outline-dark and .text-dark all draw #14191e, which is 1.03:1 - invisible. .bg-white
 paints a white band across a dark card. A .badge.bg-light keeps its dark text on the
 #202227 the theme gives bg-light in dark, 1.11:1.
 text-dark is excluded on a badge: "badge bg-warning text-dark" is correct as it is.
 DARK MODE ONLY. Light mode is untouched by every rule below. */
[data-bs-theme=dark] .btn-outline-secondary,
[data-bs-theme=dark] .btn-outline-dark {
    --bs-btn-color: #dee2e6;
    --bs-btn-border-color: #dee2e6;
    --bs-btn-hover-color: #191a1f;
    --bs-btn-hover-bg: #dee2e6;
    --bs-btn-hover-border-color: #dee2e6;
    --bs-btn-active-color: #191a1f;
    --bs-btn-active-bg: #dee2e6;
    --bs-btn-active-border-color: #dee2e6;
    --bs-btn-disabled-color: #dee2e6;
    --bs-btn-disabled-border-color: #dee2e6;
}
[data-bs-theme=dark] .text-dark:not(.badge) { color: var(--bs-body-color) !important; }
[data-bs-theme=dark] .badge.bg-light { background-color: #dee2e6 !important; }
/* badgedark1 (AC0CO, 6 November 2026): the theme's dark .text-secondary is #c5c6cc, about 1.3:1 on the badge above;
   "Pending" was unreadable. #495057 is about 6.3:1. */
[data-bs-theme=dark] .badge.bg-light.text-secondary { color: #495057 !important; }
[data-bs-theme=dark] .bg-white { background-color: var(--bs-card-bg-dark) !important; }
/* parkpages1b (Jon, 11 November 2026): the rule above gave a search box's magnifier (input-group-text bg-white) the
 card's colour, while the theme paints the field beside it with --bs-body-bg and a --bs-gray-100 border, so the box
 looked cut off on Groups & Clubs and the Parks Directory. The magnifier takes the field's own colours. */
[data-bs-theme=dark] .input-group > .input-group-text.bg-white { background-color: var(--bs-body-bg) !important; border-color: var(--bs-gray-100); }
/* darktheme-v2 (Jon, 209): the neutral text literals the views carry, as variables. The LIGHT
 values are exactly the literals they replace, so light mode does not move. Each use keeps its
 old value as a var() fallback, so a page that does not load this partial is unchanged too.
 Measured on the dark card #141519: #495057 2.23:1, #555 2.45:1, #444 1.87:1;
 #dee2e6 14.01:1 and #c5c6cc 10.71:1, both the theme's own dark tones. */
:root, [data-bs-theme=light] {
    --qsl-ink: #495057;
    --qsl-ink2: #444;
    --qsl-muted: #555;
}
[data-bs-theme=dark] {
    --qsl-ink: #dee2e6;
    --qsl-ink2: #dee2e6;
    --qsl-muted: #c5c6cc;
}
/* darktheme-v3 (Jon, 209): the rest of the literals, and the panels. Same rule as v2 - the
 LIGHT value of every variable is exactly the literal it replaces, and each use keeps that
 literal as its var() fallback, so light mode does not move.
 The panels keep their inline light background; only the dark rules below repaint them, so
 text that reads light everywhere else reads on them too (ink 10.2:1 on #2b3035, and each
 panel is 1.2-1.4:1 against the card so it still reads as a panel). */
:root, [data-bs-theme=light] {
    --qsl-green: #2d8a1e;
    --qsl-green-2: #226b17;
    --qsl-red: #b02a37;
    --qsl-red-2: #c0392b;
    --qsl-red-3: #a12020;
    --qsl-blue: #0d6efd;
    --qsl-amber: #b87309;
    --qsl-amber-2: #7d5700;
    --qsl-amber-3: #b8860b;
    --qsl-amber-4: #7a4a00;
    --qsl-ink-3: #212529;
    --qsl-ink-4: #33383d;
    --qsl-ink-5: #333;
    --qsl-ink-6: #17240f;
    --qsl-olive: #4a563f;
}
[data-bs-theme=dark] {
    --qsl-green: #46b82f;
    --qsl-green-2: #46b82f;
    --qsl-red: #ea868f;
    --qsl-red-2: #ea868f;
    --qsl-red-3: #ea868f;
    --qsl-blue: #6ea8fe;
    --qsl-amber: #e8b339;
    --qsl-amber-2: #e8b339;
    --qsl-amber-3: #e8b339;
    --qsl-amber-4: #e8b339;
    --qsl-ink-3: #dee2e6;
    --qsl-ink-4: #dee2e6;
    --qsl-ink-5: #dee2e6;
    --qsl-ink-6: #dee2e6;
    --qsl-olive: #c5c6cc;
}
[data-bs-theme=dark] .qsl-panel { background-color: #2b3035 !important; }
[data-bs-theme=dark] .qsl-panel-green { background-color: #22301f !important; }
[data-bs-theme=dark] .qsl-panel-amber { background-color: #332b18 !important; }
[data-bs-theme=dark] .qsl-panel-red { background-color: #3a2120 !important; }
/* darktheme-v4 (Jon, 209): the theme ships "[data-bs-theme=dark] .alert-light" with its
 background set to --bs-gray-600, which in dark mode is #c5c6cc - a light grey - under the
 alert's near-white text #f8f9fa: 1.62:1. Every other alert colour measures 7:1 or better
 and is left alone. This paints alert-light like the other panels (ink 10.23:1).
 DARK MODE ONLY. */
[data-bs-theme=dark] .alert-light {
    --bs-alert-bg: #2b3035;
    --bs-alert-border-color: #495057;
    --bs-alert-color: #dee2e6;
    --bs-alert-link-color: #dee2e6;
}
/* placeholderdark1 (Jon, 249): in dark mode the theme draws a placeholder in --bs-gray-500,
 #bfc0c9, level with typed text, so a hint read as a filled-in value. This takes the theme's own
 --bs-gray-300 (#5f5f68), muted the way light mode's placeholder already is. DARK MODE ONLY. */
[data-bs-theme=dark] .form-control::placeholder { color: var(--bs-gray-300); opacity: 1; }
/* wiki-v1 (Jon, 210): the support wiki's section headings take the brand green.
 SCOPED TO .wiki-body, which appears in ONE file in the tree
 (resources/views/support/page.blade.php), so this cannot reach another page.
 The colour is the VARIABLE, not the literal, so dark mode is already handled:
 #2d8a1e light (4.4:1 on the white card), #46b82f dark (7.2:1 on the dark card).
 4.4:1 clears the 3:1 bar for LARGE text and an h2 here is 1.875rem.
 ⛔ DO NOT REUSE THIS COLOUR FOR BODY TEXT - it is below 4.5:1.
 No !important: the theme's h2 rule is element-level and this one is not. */
.wiki-body h2 {
    color: var(--qsl-green, #2d8a1e);
}

/* Twemoji 17.0.3 - self-hosted emoji artwork. Attribution lives on /support. */
img.emoji {
    height: 1.15em;
    width: 1.15em;
    margin: 0 .05em 0 .1em;
    vertical-align: -0.15em;
    display: inline-block;
}
