/* ============================================================
   BayesLayer — Forgejo theme matching the bayes.inferencelabs.com
   brand. Inherits the complete forgejo-dark theme, then overrides
   the color/font/radius tokens with the BayesLayer palette.

   Palette is the authoritative `C` object from the site repo
   (site/src/theme/palette.ts): Proof Lime accent on near-black
   green, off-white text, hairline borders, every corner 90°.
   ============================================================ */

@import url("https://fonts.googleapis.com/css2?family=Host+Grotesk:wght@400;600;700&family=Fragment+Mono&family=Inter:wght@400;500;600;700;900&display=swap");
@import url("./theme-forgejo-dark.css");

:root {
  /* ---- BayesLayer brand palette ---- */
  --bl-bg: #0d110f;
  --bl-bg2: #0f1512;
  --bl-panel: #101613;
  --bl-fg: #efeeea;
  --bl-fg2: #8b918b;
  --bl-fg3: #b9bdb6;
  --bl-accent: #aef23a;
  --bl-accent-ink: #16210a;
  --bl-reject: #d8625c;
  --bl-hair: rgba(255, 255, 255, 0.1);
  --bl-hair2: rgba(255, 255, 255, 0.05);

  /* ---- Typography ---- */
  --fonts-proportional: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, Helvetica, Arial, sans-serif;
  --fonts-monospace: "Fragment Mono", ui-monospace, "SF Mono", Menlo, Consolas,
    monospace;

  /* ---- Primary = Proof Lime ---- */
  --color-primary: var(--bl-accent);
  --color-primary-contrast: var(--bl-accent-ink);
  --color-primary-dark-1: #a0e62b;
  --color-primary-dark-2: #92d61f;
  --color-primary-dark-3: #83c016;
  --color-primary-dark-4: #74aa10;
  --color-primary-dark-5: #65940c;
  --color-primary-dark-6: #567e08;
  --color-primary-dark-7: #476805;
  --color-primary-light-1: #bbf45c;
  --color-primary-light-2: #c8f67e;
  --color-primary-light-3: #d5f8a0;
  --color-primary-light-4: #e2fac2;
  --color-primary-light-5: #eefce0;
  --color-primary-light-6: #f6fdf0;
  --color-primary-light-7: #fbfef8;
  --color-primary-hover: #bbf45c;
  --color-primary-active: #c8f67e;
  --color-primary-alpha-10: rgba(174, 242, 58, 0.1);
  --color-primary-alpha-20: rgba(174, 242, 58, 0.2);
  --color-primary-alpha-30: rgba(174, 242, 58, 0.3);
  --color-primary-alpha-40: rgba(174, 242, 58, 0.4);
  --color-primary-alpha-50: rgba(174, 242, 58, 0.5);
  --color-primary-alpha-60: rgba(174, 242, 58, 0.6);
  --color-primary-alpha-70: rgba(174, 242, 58, 0.7);
  --color-primary-alpha-80: rgba(174, 242, 58, 0.8);
  --color-primary-alpha-90: rgba(174, 242, 58, 0.9);
  --color-accent: var(--bl-accent);

  /* ---- Page + surface backgrounds ---- */
  --color-body: var(--bl-bg);
  --color-nav-bg: var(--bl-bg2);
  --color-nav-hover-bg: var(--color-primary-alpha-10);
  --color-footer: var(--bl-bg2);
  --color-box-header: var(--bl-bg2);
  --color-box-body: var(--bl-panel);
  --color-box-body-highlight: #131a16;
  --color-menu: var(--bl-panel);
  --color-card: var(--bl-panel);
  --color-secondary-bg: var(--bl-bg2);
  --color-markup-code-block: var(--bl-bg2);
  --color-code-bg: var(--bl-bg);
  --color-code-sidebar-bg: var(--bl-bg2);
  --color-input-background: var(--bl-bg2);
  --color-input-text: var(--bl-fg);
  --color-input-border: rgba(255, 255, 255, 0.12);
  --color-input-border-hover: var(--bl-accent);
  --color-active-line: var(--color-primary-alpha-10);
  --color-editor-line-highlight: var(--color-primary-alpha-10);
  --color-project-column-bg: var(--bl-bg2);
  --color-reaction-bg: rgba(255, 255, 255, 0.06);
  --color-reaction-active-bg: var(--color-primary-alpha-20);
  --color-tooltip-text: var(--bl-accent-ink);
  --color-tooltip-bg: var(--bl-accent);

  /* ---- Text hierarchy ---- */
  --color-text: var(--bl-fg);
  --color-text-light: #cfd2cc;
  --color-text-light-1: var(--bl-fg3);
  --color-text-light-2: var(--bl-fg2);
  --color-text-light-3: #6e746e;
  --color-text-dark: #ffffff;
  --color-placeholder-text: #6f6f6f;
  --color-label-text: var(--bl-fg);

  /* ---- Borders + neutral (secondary) chrome ---- */
  --color-secondary: var(--bl-hair);
  --color-secondary-dark-1: rgba(255, 255, 255, 0.14);
  --color-secondary-dark-2: rgba(255, 255, 255, 0.18);
  --color-secondary-dark-3: rgba(255, 255, 255, 0.22);
  --color-secondary-dark-4: rgba(255, 255, 255, 0.26);
  --color-secondary-light-1: rgba(255, 255, 255, 0.08);
  --color-secondary-light-2: rgba(255, 255, 255, 0.06);
  --color-secondary-alpha-30: rgba(255, 255, 255, 0.12);
  --color-secondary-alpha-40: rgba(255, 255, 255, 0.16);
  --color-secondary-alpha-50: rgba(255, 255, 255, 0.2);
  --color-secondary-alpha-60: rgba(255, 255, 255, 0.24);
  --color-secondary-alpha-70: rgba(255, 255, 255, 0.28);
  --color-secondary-alpha-80: rgba(255, 255, 255, 0.32);
  --color-secondary-alpha-90: rgba(255, 255, 255, 0.36);
  --color-secondary-button: rgba(255, 255, 255, 0.05);
  --color-secondary-hover: rgba(255, 255, 255, 0.09);
  --color-secondary-active: rgba(255, 255, 255, 0.12);
  --color-light-border: var(--bl-hair);

  /* ---- Hover / active surfaces ---- */
  --color-hover: rgba(255, 255, 255, 0.04);
  --color-active: var(--color-primary-alpha-10);
  --color-light: rgba(255, 255, 255, 0.04);
  --color-light-mimic-enabled: rgba(0, 0, 0, 0.5);
  --color-shadow: rgba(0, 0, 0, 0.5);

  /* ---- Reject red mapped to the restrained brand red ---- */
  --color-red: var(--bl-reject);
  --color-red-dark-1: #df726d;
  --color-red-light-1: #c84f49;
}

/* Lattice grid on the page surface — echoes site `.bl-grid`. */
body {
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 40px 40px;
  background-attachment: fixed;
}

/* Hairline under the navbar, matching the brand's thin dividers. */
.page-content > .navbar,
#navbar,
.ui.secondary.menu.navbar {
  border-bottom: 1px solid var(--bl-hair);
}

/* Every corner 90° — the brand's visual through-line. Scoped to chrome;
   avatars stay circular below. */
.ui.button,
.ui.input > input,
.ui.dropdown,
.ui.selection.dropdown,
.ui.dropdown .menu,
input,
textarea,
select,
.ui.segment,
.ui.attached.segment,
.ui.menu,
.ui.card,
.ui.label,
.ui.table,
.repository .ui.segment,
.flex-item,
.markup pre {
  border-radius: 0 !important;
}

.ui.avatar,
.ui.avatar img,
img.avatar,
.avatar,
.ui.circular.button,
.ui.circular.label {
  border-radius: 50% !important;
}

/* Accent glow on primary buttons — the site's `.bl-btn-glow` treatment. */
.ui.primary.button:hover,
.ui.green.button:hover {
  box-shadow: 0 0 24px var(--color-primary-alpha-40);
}

/* ---- Footer (custom base/footer_content.tmpl) ----
   Forgejo branding removed; slim branded bar matching the site footer. */
.bl-footer.page-footer {
  border-top: 1px solid var(--bl-hair);
  padding: 18px 24px;
  font-family: var(--fonts-monospace);
  font-size: 11px;
  color: var(--bl-fg2);
}
.bl-footer.page-footer .left-links,
.bl-footer.page-footer .right-links {
  display: flex;
  align-items: center;
  gap: 16px;
}
.bl-footer.page-footer a {
  color: var(--bl-fg2);
  transition:
    color 0.2s,
    text-decoration-color 0.2s;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 4px;
}
.bl-footer.page-footer a:hover {
  color: var(--bl-accent);
  text-decoration-color: var(--bl-accent);
}
.bl-footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  line-height: 1;
  text-decoration: none !important;
}
.bl-footer-brand img {
  display: block;
  width: 18px;
  height: 18px;
  /* logo.svg's baseline sits low in its 64-unit box; nudge down so the mark
     optically centers on the wordmark cap height. */
  transform: translateY(1px);
}
.bl-footer.page-footer .bl-footer-name {
  font-family: "Host Grotesk", var(--fonts-proportional);
  font-weight: 700;
  font-size: 13px;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--bl-fg);
}
.bl-footer-tag {
  line-height: 1;
}
.bl-footer-tag .ac {
  color: var(--bl-accent);
}
.bl-footer.page-footer .language .flex-text-inline {
  color: var(--bl-fg2);
}
