:root {
  --primary-h: 2deg;
  --primary-s: 77%;
  --primary-l: 40%;
  --primary-a: 1;
  --primary-hsl: var(--primary-h), var(--primary-s), var(--primary-l);
  --primary: #b71d17;
  --primary-dark: #8f1511;
  --primary-light: #f8e8e7;
  --link: #0d416d;
  --link-hover: #092f50;
}

.logo {
  max-block-size: 58px !important;
  max-inline-size: 220px !important;
  object-fit: contain;
}

.auth-wrapper .logo {
  margin-inline: auto;
}

/* Remove Vikunja's decorative llama from every unauthenticated screen. */
.no-auth-wrapper {
  background-image: none !important;
  background-color: var(--site-background) !important;
}

/* Replace the stock llama landscape on login and registration pages. */
.no-auth-wrapper .image {
  background-image: url('/branding/login-students.webp') !important;
  background-position: center !important;
  background-size: cover !important;
}

/* Replace Vikunja's offline llama landscape as well. */
.offline {
  background: #541310 url('/branding/offline-students-life.webp') center / cover no-repeat !important;
}

img[src*="/llama-"],
img[src*="llama_"] {
  display: none !important;
}

/* The built-in loading logo is an inline llama SVG. Replace it before routes render. */
.vikunja-loading .logo {
  display: none !important;
}

.vikunja-loading::before {
  content: '';
  display: block;
  inline-size: min(240px, 70vw);
  block-size: 72px;
  margin-block-end: 1rem;
  background: url('/branding/students-life-logo.svg') center / contain no-repeat;
}

/* Empty-state illustrations use inline vendor SVGs. The observer removes them;
   this rule prevents a brief flash while the route is mounting. */
.nothing svg[role="img"],
.empty-state svg[role="img"],
[class*="empty"] svg[role="img"] {
  display: none !important;
}
