/* CivicForge - River Rhine (Light) · Forgejo theme for git.loop-coop.net
 * Civic Design System reskin, keyed to the dein-bingen "River Rhine" palette.
 * ---------------------------------------------------------------------------
 * Robust by design: this file @imports Forgejo's own base light theme first,
 * then overrides ONLY the brand + chrome variables. Every variable we do not
 * touch keeps Forgejo's own sensible default, so the theme survives upgrades
 * and never leaves a value undefined.
 *
 * River Rhine: river-blue chrome (#0c3b50), Rhein-turquoise accent (#0c7a8a,
 * AA on white for links + white text on button fills). Water-tinted surfaces.
 * Register as `civicforge-rhine-light` in app.ini (see README).
 */
@import url("/assets/css/theme-forgejo-light.css");

:root {
  /* --- brand accent: one hue, full ramp derived via color-mix ------------ */
  --color-primary: #0c7a8a;
  --color-primary-contrast: #ffffff;
  --color-primary-hover: color-mix(in srgb, var(--color-primary), black 8%);
  --color-primary-active: color-mix(in srgb, var(--color-primary), black 14%);

  --color-primary-dark-1: color-mix(in srgb, var(--color-primary), black 8%);
  --color-primary-dark-2: color-mix(in srgb, var(--color-primary), black 16%);
  --color-primary-dark-3: color-mix(in srgb, var(--color-primary), black 24%);
  --color-primary-dark-4: color-mix(in srgb, var(--color-primary), black 32%);
  --color-primary-dark-5: color-mix(in srgb, var(--color-primary), black 42%);
  --color-primary-dark-6: color-mix(in srgb, var(--color-primary), black 55%);
  --color-primary-dark-7: color-mix(in srgb, var(--color-primary), black 68%);

  --color-primary-light-1: color-mix(in srgb, var(--color-primary), white 12%);
  --color-primary-light-2: color-mix(in srgb, var(--color-primary), white 24%);
  --color-primary-light-3: color-mix(in srgb, var(--color-primary), white 40%);
  --color-primary-light-4: color-mix(in srgb, var(--color-primary), white 56%);
  --color-primary-light-5: color-mix(in srgb, var(--color-primary), white 70%);
  --color-primary-light-6: color-mix(in srgb, var(--color-primary), white 82%);
  --color-primary-light-7: color-mix(in srgb, var(--color-primary), white 92%);

  --color-primary-alpha-10: color-mix(in srgb, var(--color-primary) 10%, transparent);
  --color-primary-alpha-20: color-mix(in srgb, var(--color-primary) 20%, transparent);
  --color-primary-alpha-30: color-mix(in srgb, var(--color-primary) 30%, transparent);
  --color-primary-alpha-40: color-mix(in srgb, var(--color-primary) 40%, transparent);
  --color-primary-alpha-50: color-mix(in srgb, var(--color-primary) 50%, transparent);
  --color-primary-alpha-60: color-mix(in srgb, var(--color-primary) 60%, transparent);
  --color-primary-alpha-70: color-mix(in srgb, var(--color-primary) 70%, transparent);
  --color-primary-alpha-80: color-mix(in srgb, var(--color-primary) 80%, transparent);
  --color-primary-alpha-90: color-mix(in srgb, var(--color-primary) 90%, transparent);

  /* --- top navbar chrome: river-blue -------------------------------------- */
  --color-nav-bg: #0c3b50;
  --color-nav-hover-bg: #14506b;
  --color-nav-text: #dcebf1;

  /* --- page + surfaces: water-tinted -------------------------------------- */
  --color-body: #eef4f6;
  --color-secondary-bg: #e3edf1;
  --color-box-header: #e8f0f3;

  /* --- accent link colour (Forgejo derives links from primary) ------------ */
  --color-active: color-mix(in srgb, var(--color-primary) 12%, transparent);
  --color-hover: color-mix(in srgb, var(--color-primary) 8%, transparent);
}

/* --- Forgejo 15 layout fixes (identical in all four CivicForge themes) ------
 * A small, deliberate deviation from the "brand variables only" rule above,
 * required by Forgejo 15 itself:
 *   1. Navbar text. Forgejo 15 dropped the --color-nav-text variable and
 *      hardcodes `.ui.menu .item { color:#000000de }`, so the top-bar links
 *      render dark on our dark chrome. These id-scoped rules (which beat the
 *      hardcoded selector) restore light text, while the navbar dropdown
 *      popups (light surfaces) are kept on the default --color-text.
 *   2. A little more vertical space between list rows and menu items.
 * Scoped and minimal, so they stay robust across Forgejo upgrades.
 */
#navbar .item,
#navbar .item > a,
#navbar .item:hover,
#navbar .item > a:hover {
  color: var(--color-nav-text);
}
#navbar .ui.dropdown .menu .item,
#navbar .ui.dropdown .menu .item:hover,
#navbar .ui.dropdown .menu .item > a {
  color: var(--color-text);
}

.page-content .flex-item {
  padding-top: 13px;
  padding-bottom: 13px;
}
.page-content .ui.divided.list > .item {
  padding-top: 9px;
  padding-bottom: 9px;
}
.page-content .ui.vertical.menu .item {
  padding-top: 11px;
  padding-bottom: 11px;
}

/* --- IBM Plex typography (self-hosted; fonts mounted at /assets/fonts via forgejo-theme.tf) --- */
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/ibm-plex-sans-400.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/fonts/ibm-plex-sans-500.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/ibm-plex-sans-600.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/ibm-plex-sans-700.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/ibm-plex-mono-400.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/ibm-plex-mono-600.woff2") format("woff2"); }
:root {
  --fonts-proportional: "IBM Plex Sans";
  --fonts-monospace: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}
