forticia-theme-meta-info {
  --theme-display-name: "Forticia";
  --theme-color-scheme: "dark";
}

/* ============ Forticia brand — matches forticia-website marketing ============ */
/* bg #070b11 · ink #f4efe6 · muted #b7b3a9 · faint #7d7a72 · accent #3b82f6  */
/* Fonts: Instrument Serif (display) · Plus Jakarta Sans (body)               */

@font-face {
  font-family: "Instrument Serif";
  src: url("/assets/css/instrument-serif.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Instrument Serif";
  src: url("/assets/css/instrument-serif-italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("/assets/css/jakarta-latin-ext.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("/assets/css/jakarta-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --is-dark-theme: true;

  /* primary = accent blue */
  --color-primary: #3b82f6;
  --color-primary-contrast: #ffffff;
  --color-primary-dark-1: #5b9afe;
  --color-primary-dark-2: #8bb4ff;
  --color-primary-dark-3: #a9c8ff;
  --color-primary-dark-4: #c4d9ff;
  --color-primary-dark-5: #dce9ff;
  --color-primary-dark-6: #eef5ff;
  --color-primary-dark-7: #f7faff;
  --color-primary-light-1: #2563eb;
  --color-primary-light-2: #1d4fd8;
  --color-primary-light-3: #1a45bd;
  --color-primary-light-4: #173a9c;
  --color-primary-light-5: #12296a;
  --color-primary-light-6: #0b1a3f;
  --color-primary-light-7: #060d1e;
  --color-primary-alpha-10: #3b82f61a;
  --color-primary-alpha-20: #3b82f633;
  --color-primary-alpha-30: #3b82f64d;
  --color-primary-alpha-40: #3b82f666;
  --color-primary-alpha-50: #3b82f680;
  --color-primary-alpha-60: #3b82f699;
  --color-primary-alpha-70: #3b82f6b3;
  --color-primary-alpha-80: #3b82f6cc;
  --color-primary-alpha-90: #3b82f6e1;
  --color-primary-hover: #2563eb;
  --color-primary-active: #1d4fd8;

  /* secondary = ink hairlines on dark */
  --color-secondary: #1c242f;
  --color-secondary-dark-1: #232d3a;
  --color-secondary-dark-2: #2a3644;
  --color-secondary-dark-3: #34414f;
  --color-secondary-dark-4: #3d4b5a;
  --color-secondary-dark-5: #485767;
  --color-secondary-dark-6: #536475;
  --color-secondary-dark-7: #5f7183;
  --color-secondary-dark-8: #6b7e90;
  --color-secondary-dark-9: #77899b;
  --color-secondary-dark-10: #8395a6;
  --color-secondary-dark-11: #8fa1b1;
  --color-secondary-dark-12: #9aacbb;
  --color-secondary-dark-13: #a3b4c2;
  --color-secondary-light-1: #19212b;
  --color-secondary-light-2: #141b24;
  --color-secondary-light-3: #0f151d;
  --color-secondary-light-4: #0b1017;
  --color-secondary-alpha-10: #1c242f1a;
  --color-secondary-alpha-20: #1c242f33;
  --color-secondary-alpha-30: #1c242f4d;
  --color-secondary-alpha-40: #1c242f66;
  --color-secondary-alpha-50: #1c242f80;
  --color-secondary-alpha-60: #1c242f99;
  --color-secondary-alpha-70: #1c242fb3;
  --color-secondary-alpha-80: #1c242fcc;
  --color-secondary-alpha-90: #1c242fe1;
  --color-secondary-button: #1c242f;
  --color-secondary-hover: #232d3a;
  --color-secondary-active: #2a3644;

  /* console */
  --color-console-fg: #f4efe6;
  --color-console-fg-subtle: #b7b3a9;
  --color-console-bg: #0a0f16;
  --color-console-border: #1c242f;
  --color-console-hover-bg: #121a24;
  --color-console-active-bg: #161f2a;
  --color-console-menu-bg: #0e141c;
  --color-console-menu-border: #1c242f;
  --color-console-link: #8bb4ff;

  /* named colors — tuned to the palette */
  --color-red: #e5484d;
  --color-orange: #f76b15;
  --color-yellow: #ffc53d;
  --color-olive: #a3b832;
  --color-green: #46a758;
  --color-teal: #12a594;
  --color-blue: #3b82f6;
  --color-violet: #8e7bff;
  --color-purple: #bf7af0;
  --color-pink: #f472b6;
  --color-brown: #c2815c;
  --color-black: #0a0f16;
  --color-red-light: #f26d6d;
  --color-orange-light: #ff9557;
  --color-yellow-light: #ffd97a;
  --color-olive-light: #bccf52;
  --color-green-light: #6ec87e;
  --color-teal-light: #2cc4b5;
  --color-blue-light: #5b9afe;
  --color-violet-light: #a99cff;
  --color-purple-light: #d09cf5;
  --color-pink-light: #f995c9;
  --color-brown-light: #d49d7e;
  --color-black-light: #161d27;
  --color-red-dark-1: #cf3b40;
  --color-orange-dark-1: #e55d0c;
  --color-yellow-dark-1: #e6ac26;
  --color-olive-dark-1: #93a72c;
  --color-green-dark-1: #3b934c;
  --color-teal-dark-1: #0f8d7f;
  --color-blue-dark-1: #2f6fd6;
  --color-violet-dark-1: #7a68f0;
  --color-purple-dark-1: #ad5fe3;
  --color-pink-dark-1: #e5579f;
  --color-brown-dark-1: #ab6e4e;
  --color-black-dark-1: #131a23;
  --color-red-dark-2: #b83136;
  --color-orange-dark-2: #cc520b;
  --color-yellow-dark-2: #cc991f;
  --color-olive-dark-2: #829426;
  --color-green-dark-2: #31803f;
  --color-teal-dark-2: #0d7a6e;
  --color-blue-dark-2: #2a63c2;
  --color-violet-dark-2: #6856d8;
  --color-purple-dark-2: #9a4fd0;
  --color-pink-dark-2: #cc4b8e;
  --color-brown-dark-2: #965d41;
  --color-black-dark-2: #101720;

  /* ansi */
  --color-ansi-black: #0a0f16;
  --color-ansi-red: #e5484d;
  --color-ansi-green: #46a758;
  --color-ansi-yellow: #ffc53d;
  --color-ansi-blue: #3b82f6;
  --color-ansi-magenta: #f472b6;
  --color-ansi-cyan: #12a594;
  --color-ansi-white: #b7b3a9;
  --color-ansi-bright-black: #2a3644;
  --color-ansi-bright-red: #f26d6d;
  --color-ansi-bright-green: #6ec87e;
  --color-ansi-bright-yellow: #ffd97a;
  --color-ansi-bright-blue: #5b9afe;
  --color-ansi-bright-magenta: #f995c9;
  --color-ansi-bright-cyan: #2cc4b5;
  --color-ansi-bright-white: #f4efe6;

  /* 16-color series */
  --color-series-16-0: #3b82f6;
  --color-series-16-1: #12a594;
  --color-series-16-2: #e5484d;
  --color-series-16-3: #a3b832;
  --color-series-16-4: #bf7af0;
  --color-series-16-5: #8e7bff;
  --color-series-16-6: #f76b15;
  --color-series-16-7: #46a758;
  --color-series-16-8: #c2815c;
  --color-series-16-9: #2a6f84;
  --color-series-16-10: #ffc53d;
  --color-series-16-11: #3d965c;
  --color-series-16-12: #792a93;
  --color-series-16-13: #439d73;
  --color-series-16-14: #103aad;
  --color-series-16-15: #f472b6;

  /* other */
  --color-grey: #1c242f;
  --color-grey-light: #7d7a72;
  --color-gold: #d4b455;
  --color-white: #f4efe6;
  --color-diff-added-fg: #6ec87e;
  --color-diff-added-linenum-bg: #12331d;
  --color-diff-added-row-bg: #0e2617;
  --color-diff-added-row-border: #1c4a2c;
  --color-diff-added-word-bg: #1e5c30;
  --color-diff-moved-row-bg: #4a4d26;
  --color-diff-moved-row-border: #6a7035;
  --color-diff-removed-fg: #f26d6d;
  --color-diff-removed-linenum-bg: #3d1618;
  --color-diff-removed-row-bg: #2a0f11;
  --color-diff-removed-row-border: #5c2b2e;
  --color-diff-removed-word-bg: #6f2427;
  --color-diff-inactive: #131a23;
  --color-error-border: #5c1f22;
  --color-error-bg: #241316;
  --color-error-bg-active: #38191d;
  --color-error-bg-hover: #2e1619;
  --color-error-text: #f26d6d;
  --color-success-border: #1d4a2c;
  --color-success-bg: #12251a;
  --color-success-text: #6ec87e;
  --color-warning-border: #4d3d14;
  --color-warning-bg: #251f10;
  --color-warning-text: #ffc53d;
  --color-info-border: #173a6e;
  --color-info-bg: #101b2c;
  --color-info-text: #5b9afe;
  --color-priority-border: #3a2670;
  --color-priority-bg: #1a1630;
  --color-priority-text: #a99cff;
  --color-red-badge: #e5484d;
  --color-red-badge-bg: #e5484d1a;
  --color-red-badge-hover-bg: #e5484d4d;
  --color-green-badge: #46a758;
  --color-green-badge-bg: #46a7581a;
  --color-green-badge-hover-bg: #46a7584d;
  --color-yellow-badge: #ffc53d;
  --color-yellow-badge-bg: #ffc53d1a;
  --color-yellow-badge-hover-bg: #ffc53d4d;
  --color-orange-badge: #f76b15;
  --color-orange-badge-bg: #f76b151a;
  --color-orange-badge-hover-bg: #f76b154d;
  --color-git: #f05133;
  --color-logo: #8bb4ff;

  /* target-based — the core surfaces */
  --color-body: #070b11;
  --color-box-header: #0c1118;
  --color-box-body: #0c1118;
  --color-box-body-highlight: #101724;
  --color-text-dark: #f4efe6;
  --color-text: #ddd8cf;
  --color-text-light: #b7b3a9;
  --color-text-light-1: #b7b3a9;
  --color-text-light-2: #9a968c;
  --color-text-light-3: #7d7a72;
  --color-footer: #05080d;
  --color-timeline: #1c242f;
  --color-input-text: #f4efe6;
  --color-input-background: #0a0f16;
  --color-input-toggle-background: #1c242f;
  --color-input-border: #232d3a;
  --color-light: #f4efe628;
  --color-light-border: #f4efe61e;
  --color-hover: #f4efe60a;
  --color-hover-opaque: #111826;
  --color-active: #f4efe614;
  --color-menu: #0c1118;
  --color-card: #0c1118;
  --color-markup-table-row: #f4efe607;
  --color-markup-code-block: #f4efe60a;
  --color-markup-code-inline: #f4efe619;
  --color-button: #121a24;
  --color-code-bg: #0a0f16;
  --color-shadow: #00000050;
  --color-shadow-opaque: #000000;
  --color-secondary-bg: #101724;
  --color-expand-button: #1c242f;
  --color-placeholder-text: #7d7a72;
  --color-editor-line-highlight: #f4efe60d;
  --color-editor-selection: #3b82f655;
  --color-project-column-bg: #0f151d;
  --color-caret: #f4efe6;
  --color-reaction-bg: #f4efe60d;
  --color-reaction-hover-bg: #12296a;
  --color-reaction-active-bg: #173a9c;
  --color-tooltip-text: #f4efe6;
  --color-tooltip-bg: #0a0f16f0;
  --color-nav-bg: #0a0f16;
  --color-nav-hover-bg: #161f2a;
  --color-nav-text: #ddd8cf;
  --color-secondary-nav-bg: #0c1118;
  --color-label-text: #f4efe6;
  --color-label-bg: #7d7a7240;
  --color-label-hover-bg: #7d7a7270;
  --color-label-active-bg: #7d7a72a0;
  --color-accent: #3b82f6;
  --color-small-accent: #2563eb;
  --color-highlight-fg: #ffc53d;
  --color-highlight-bg: #2a2410;
  --color-overlay-backdrop: #000000c0;
  --color-danger: #e5484d;
  --color-transparency-grid-light: #161d27;
  --color-transparency-grid-dark: #0a0f16;
  --color-workflow-edge-hover: #5f7183;

  /* syntax */
  --color-syntax-keyword: #8bb4ff;
  --color-syntax-bool: #2cc4b5;
  --color-syntax-control: #ffc53d;
  --color-syntax-name: #ffc53d;
  --color-syntax-type: #f995c9;
  --color-syntax-number: #5b9afe;
  --color-syntax-operator: #8bb4ff;
  --color-syntax-regexp: #d09cf5;
  --color-syntax-string: #6ec87e;
  --color-syntax-comment: #7d7a72;
  --color-syntax-invalid: #f26d6d;
  --color-syntax-link: #5b9afe;
  --color-syntax-tag: #f26d6d;
  --color-syntax-attribute: #d09cf5;
  --color-syntax-property: #5b9afe;
  --color-syntax-variable: #ffc53d;
  --color-syntax-string-special: #ffc53d;
  --color-syntax-escape: #d4b455;
  --color-syntax-entity: #d09cf5;
  --color-syntax-preproc: #46a758;
  --color-syntax-preproc-file: #5b9afe;
  --color-syntax-decorator: #46a758;
  --color-syntax-namespace: #b7b3a9;
  --color-syntax-name-pseudo: #d09cf5;
  --color-syntax-comment-special: #a99cff;
  --color-syntax-text: #ddd8cf;
  --color-syntax-text-alt: #b7b3a9;
  --color-syntax-punctuation: #9a968c;
  --color-syntax-whitespace: #536475;
  --color-syntax-diff-fg: #f4efe6;
  --color-syntax-deleted-bg: #2a0f11;
  --color-syntax-inserted-bg: #0e2617;
  --color-syntax-emph: #d4b455;
  --color-syntax-strong: #ffc53d;
  --color-syntax-heading: #8bb4ff;
  --color-syntax-subheading: #6ec87e;
  --color-syntax-output: #7d7a72;
  --color-syntax-prompt: #ffc53d;
  --color-syntax-traceback: #f26d6d;
  --color-syntax-matching-bracket-bg: #3b82f648;
  --color-syntax-nonmatching-bracket-bg: #e5484d48;

  accent-color: #3b82f6;
  color-scheme: dark;

  --fonts-regular: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;
  --fonts-monospace: "SF Mono", ui-monospace, "Cascadia Code", "Menlo", monospace;
}

/* ============ Typography ============ */

body,
.ui,
html {
  font-family: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif !important;
  letter-spacing: -0.005em;
}

/* headings everywhere get the display serif */
h1, h2, h3,
.ui.header,
.page-content h1 {
  font-family: "Instrument Serif", "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -0.02em;
}

/* repo header: org / repo names in the 1.27 DOM */
.repo-header a.muted,
.repo-header .flex-text-block a,
.secondary-nav a.muted,
.repo-button {
  font-family: "Instrument Serif", "Times New Roman", serif !important;
  letter-spacing: -0.02em;
}

.repo-header a.muted:hover,
.repo-header .flex-text-block a:hover {
  color: #8bb4ff;
}

.ui.header .sub.header {
  font-family: var(--fonts-regular);
  letter-spacing: 0;
}

/* kicker-style section labels */
.ui.top.attached.header,
.ui.dividing.header,
.repository.file.list .header {
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.75rem;
  font-weight: 700;
  font-family: var(--fonts-regular);
}

/* ============ Zero radius (brand rule) ============ */

.ui.button,
.ui.basic.button,
.ui.primary.button,
.ui.menu,
.ui.dropdown .menu,
.ui.dropdown .menu > .item,
.ui.card,
.ui.cards > .card,
.ui.segment,
.ui.raised.segment,
.ui.tabular.menu,
.ui.secondary.menu,
.ui.action.input,
.ui.input > input,
.ui.form input,
.ui.form textarea,
.ui.form select,
input,
textarea,
select,
.ui.label,
.ui.label.basic,
.ui.badge,
.ui.message,
.ui.modal,
.ui.popup,
.ui.card > .content > .description,
.ui.attached,
.ui.top.attached,
.ui.bottom.attached,
.ui.pagination.menu .item,
#navbar,
.following.bar {
  border-radius: 0 !important;
}

/* ============ Navbar ============ */

#navbar {
  background: rgba(10, 15, 22, 0.85);
  backdrop-filter: blur(18px) saturate(1.2);
  border-bottom: 1px solid #f4efe614;
}

#navbar .item {
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #b7b3a9;
  transition: color 0.3s ease;
}

#navbar .item:hover,
#navbar .item.active {
  color: #f4efe6;
}

#navbar-logo img,
#navbar .brand {
  height: 24px;
  width: auto;
}

/* dropdown menus */
.ui.dropdown .menu {
  background: #0c1118;
  border: 1px solid #f4efe61e;
  box-shadow: 0 24px 50px -28px rgba(0, 0, 0, 0.85);
}

.ui.dropdown .menu > .item:hover {
  background: #161f2a;
  color: #8bb4ff;
}

/* ============ Buttons (brand pill-less, uppercase) ============ */

.ui.primary.button,
.ui.positive.button {
  background: #3b82f6;
  color: #fff;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: background 0.3s ease;
}

.ui.primary.button:hover,
.ui.positive.button:hover {
  background: #2563eb;
}

.ui.basic.button {
  border: 1px solid #f4efe624;
  background: transparent;
  color: #f4efe6;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.ui.basic.button:hover {
  background: #f4efe6;
  color: #070b11;
  border-color: #f4efe6;
}

.ui.basic.primary.button,
.ui.basic.blue.button {
  color: #8bb4ff;
  border-color: #3b82f666;
}

.ui.basic.primary.button:hover,
.ui.basic.blue.button:hover {
  background: #3b82f6;
  color: #fff;
}

/* ============ Inputs / forms ============ */

input,
textarea,
select,
.ui.input > input,
.ui.form input,
.ui.form textarea {
  background: #0a0f16;
  border: 1px solid #f4efe61e;
  border-radius: 0;
  color: #f4efe6;
  transition: border-color 0.3s ease;
}

input:focus,
textarea:focus,
select:focus,
.ui.input > input:focus {
  border-color: #8bb4ff;
}

::placeholder {
  color: #7d7a72;
}

/* ============ Cards / panels ============ */

.ui.card,
.ui.segment,
.repository .segment,
.ui.attached.segment {
  background: #0c1118;
  border: 1px solid #f4efe614;
  box-shadow: none;
}

.ui.card > .content,
.ui.segment {
  border-top: none;
}

.ui.card:hover {
  border-color: #3b82f666;
  box-shadow: 0 24px 50px -28px rgba(0, 0, 0, 0.85);
}

.ui.divider {
  border-top: 1px solid #f4efe614;
  border-bottom: none;
}

/* ============ Repo list ============ */

.repository.list .item,
.ui.link.list .item {
  border-bottom: 1px solid #f4efe614;
  padding: 18px 0;
}

.repository.list .item .header a,
.repo-title a,
.repository-summary a.repo-name {
  color: #f4efe6;
  font-family: "Instrument Serif", serif;
  font-size: 1.35rem;
  letter-spacing: -0.02em;
}

.repository.list .item .header a:hover,
.repo-title a:hover {
  color: #8bb4ff;
}

.repository .metas {
  color: #7d7a72;
}

/* ============ Tables ============ */

table,
.ui.table {
  background: #0c1118;
  border: 1px solid #f4efe614;
  color: #ddd8cf;
}

.ui.table > header {
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.72rem;
}

.ui.table > tr > td,
.ui.table tbody tr {
  border-bottom: 1px solid #f4efe60a;
}

.ui.table > tr:hover,
.ui.table tbody tr:hover {
  background: #101724;
}

/* ============ Code / markdown ============ */

.markup,
.markup code {
  font-family: var(--fonts-monospace);
  font-size: 0.85em;
}

.markup pre,
.markup code {
  background: #0a0f16 !important;
  border: 1px solid #f4efe614;
}

.markup h1, .markup h2 {
  font-family: "Instrument Serif", serif;
  letter-spacing: -0.02em;
  border-bottom: 1px solid #f4efe614;
}

/* ============ Labels / badges ============ */

.ui.label {
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: #f4efe60d;
  color: #b7b3a9;
  border: 1px solid #f4efe61e;
}

.ui.blue.label {
  background: #3b82f61f;
  border-color: #3b82f666;
  color: #8bb4ff;
}

.ui.green.label {
  background: #46a7581f;
  border-color: #46a75866;
  color: #6ec87e;
}

/* ============ Footer ============ */

footer {
  background: #05080d;
  border-top: 1px solid #f4efe614;
}

/* hide the explore link — private-only instance */
#navbar a[href="/explore/repos"],
#navbar a[href$="/explore/repos"] {
  display: none;
}

/* ============ Scrollbar ============ */

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: #070b11;
}

::-webkit-scrollbar-thumb {
  background: #1c242f;
}

::-webkit-scrollbar-thumb:hover {
  background: #2a3644;
}

/* ============ Selection ============ */

::selection {
  background: #3b82f666;
  color: #fff;
}