/*
 * VoxUkraine theme for Vikunja (#197). Injected into the page by the reverse
 * proxy (nginx sub_filter); the Vikunja image is never modified. Not deployed
 * to the server yet (#305). Written against Vikunja 2.6.0; re-run the selector audit
 * (deploy/vikunja-theme/audit.py) after every Vikunja upgrade.
 *
 * RULES
 *
 * 1. Variables first. Vikunja's frontend is built on CSS variables (:root, and
 *    :root.dark for dark mode). Change a variable and every component that
 *    uses it follows, in both modes, with nothing to break on upgrade. Reach
 *    for a selector only when no variable controls the thing. Override colour
 *    families through their parts (--primary-h/-s/-l), not the derived value.
 *    The audit reports tokens the frontend does not define; those may still
 *    work (the frontend reads some with a fallback) but are not guaranteed.
 *
 * 2. Never target Vue scoped attributes (data-v-xxxx). They are hashes that
 *    change on every Vikunja build.
 *
 * 3. No structural selectors: no :nth-child / :first-child / :last-child, no
 *    child (>) or sibling (+ ~) combinators, no deep descendant chains. One
 *    stable class (or a stable data- attribute, or the route class on
 *    #main-content) per selector, at most two parts. Stable hooks that exist
 *    in 2.6.0 are listed in docs/vikunja-theme.md.
 *
 * 4. Fail soft. Every rule must be harmless if its selector stops matching:
 *    cosmetic only, never layout the page depends on, never `display: none`
 *    on something a person needs to do their work. A rule that stops matching
 *    must show up as a 0 in the audit, not as a broken page.
 *
 * 5. Dark mode: Vikunja puts the class `dark` or `light` on <html>. Token
 *    overrides for dark go in a `:root.dark` block next to the light one.
 *
 * Sections below are in this order and nothing else goes at the top level.
 */


/* ==========================================================================
 * 1. TOKENS: CSS variable overrides only. No selectors other than :root and
 *    :root.dark. Per-variable notes: docs/vikunja-theme.md.
 * ========================================================================== */

:root {
	/* e.g. --primary-h / --primary-s / --primary-l for the accent colour */
}

:root.dark {
	/* dark-mode counterparts of the light values above */
}


/* ==========================================================================
 * 2. COSMETIC: small visual rules on stable class names (colour, radius,
 *    spacing, font). Nothing here may change what is clickable or visible.
 * ========================================================================== */

/* Vox Tasks artwork (#305). Vikunja's own llama artwork is inline SVG components and a CSS background, so it cannot be
 * swapped through config; these rules put the raccoon (served by the proxy) in the same boxes. Each is harmless if its
 * selector stops matching: the llama just shows. */
.no-auth-wrapper {
	/* login / register / reset pages, bottom left; Vikunja's own rule is scoped (data-v), hence !important */
	background-image: url(/images/vox-fogg.svg) !important;
}

.llama-cool,
svg.logo {
	/* "no tasks" empty state, and the loading splash: the llama SVG becomes a raccoon background. The svg keeps its own
	   size; its llama paths are hidden, which is decoration only */
	background: url(/images/vox-fogg.svg) center / contain no-repeat;
}

.llama-cool *,
svg.logo * {
	display: none;
}



/* ==========================================================================
 * 3. HIDDEN: elements hidden on purpose. Each rule needs a one-line comment
 *    saying why and which issue decided it. Prefer settings/config over
 *    hiding; hide only what cannot be switched off any other way.
 * ========================================================================== */
