/* masticfrog on Forgejo -- generated by tools/build-theme.py.
   Do not edit by hand: the source is tokens.json, built against
   Forgejo 15.0.6+gitea-1.22.0.

   This is an overlay on top of the selected Forgejo theme, not a
   theme of its own. Only what carries the look is overridden;
   everything else keeps its value from the base theme and so
   survives an upgrade that introduces new variables.

   Which block applies is decided by the <html> data-theme: *="light",
   *="dark" and *="auto" also catch the gitea-* themes and any
   colour-vision variants, without naming each one. */

/* -- Fonts, self-hosted, SIL OFL ----------------------------------- */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/space-mono-400-latin-ext.woff2') format('woff2');
  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: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/space-mono-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/space-mono-700-latin-ext.woff2') format('woff2');
  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: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/space-mono-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('../fonts/instrument-sans-var-latin-ext.woff2') format('woff2');
  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: 'Instrument Sans';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('../fonts/instrument-sans-var-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* -- Mode-independent: typography and geometry --------------------- */
:root[data-theme] {
  --fonts-proportional: 'Instrument Sans', system-ui, sans-serif;
  --border-radius: 0;
  --border-radius-medium: 0;
  --border-radius-large: 0;
}

/* -- Light --------------------------------------------------------- */
:root[data-theme*="light"], :root[data-theme*="auto"] {
  --color-body: #eae2d2;
  --color-box-body: #f9f6ef;
  --color-box-header: #eeebe4;
  --color-box-body-highlight: #e3dfd8;
  --color-card: #f9f6ef;
  --color-menu: #f9f6ef;
  --color-button: #f9f6ef;
  --color-secondary-bg: #eeebe4;
  --color-header-wrapper: #f9f6ef;
  --color-header-wrapper-transparent: #f9f6ef00;
  --color-footer: #eeebe4;
  --color-nav-bg: #eeebe4;
  --color-nav-hover-bg: #dad6cf;
  --color-secondary-nav-bg: #eae2d2;
  --color-project-board-bg: #eeebe4;
  --color-secondary: #cabda3;
  --color-light-border: #cabda3;
  --color-timeline: #cabda3;
  --color-shadow: transparent;
  --color-light: #f9f6efcc;
  --color-hover: #1a130914;
  --color-active: #1a130924;
  --color-expand-button: #dedbd3;
  --color-reaction-bg: #1a13090f;
  --color-reaction-hover-bg: #8a5c0033;
  --color-reaction-active-bg: #8a5c004c;
  --color-text-dark: #1a1309;
  --color-text: #40382a;
  --color-text-light: #6b6152;
  --color-text-light-1: #6b6152;
  --color-text-light-2: #6b6152;
  --color-text-light-3: #6b6152;
  --color-text-focus: #1a1309;
  --color-placeholder-text: #6b6152;
  --color-caret: #40382a;
  --color-selection-bg: #8a5c00;
  --color-selection-fg: #fffaf0;
  --color-input-background: #f9f6ef;
  --color-input-text: #40382a;
  --color-input-border: #8a7159;
  --color-input-border-hover: #8a5c00;
  --color-input-toggle-background: #dad6cf;
  --color-primary: #8a5c00;
  --color-primary-contrast: #fffaf0;
  --color-primary-dark-1: #7e5401;
  --color-primary-light-1: #966d1b;
  --color-primary-dark-2: #714c02;
  --color-primary-light-2: #a37f37;
  --color-primary-dark-3: #654403;
  --color-primary-light-3: #af9052;
  --color-primary-dark-4: #593c04;
  --color-primary-light-4: #bca26d;
  --color-primary-dark-5: #4c3405;
  --color-primary-light-5: #c8b388;
  --color-primary-dark-6: #402c06;
  --color-primary-light-6: #d5c5a4;
  --color-primary-dark-7: #342407;
  --color-primary-light-7: #e1d6bf;
  --color-primary-alpha-10: #8a5c001a;
  --color-primary-alpha-20: #8a5c0033;
  --color-primary-alpha-30: #8a5c004c;
  --color-primary-alpha-40: #8a5c0066;
  --color-primary-alpha-50: #8a5c0080;
  --color-primary-alpha-60: #8a5c0099;
  --color-primary-alpha-70: #8a5c00b2;
  --color-primary-alpha-80: #8a5c00cc;
  --color-primary-alpha-90: #8a5c00e6;
  --color-primary-hover: var(--color-primary-dark-2);
  --color-primary-active: var(--color-primary-dark-4);
  --color-highlight-fg: #1a1309;
  --color-highlight-bg: #8a5c0038;
  --color-editor-line-highlight: #8a5c001f;
  --color-label-bg: #dedbd3;
  --color-label-bg-alt: #e7e4dd;
  --color-label-hover-bg: #d1cdc6;
  --color-label-active-bg: #c3c0b8;
  --color-label-text: #40382a;
  --color-tooltip-bg: #1a1309;
  --color-tooltip-text: #f6e7b4;
  --color-overlay-backdrop: #2b2114bf;
  --color-code-bg: #f9f6ef;
  --color-markup-code-block: #ece8e1;
  --color-markup-code-inline: #dedbd3;
  --color-markup-table-row: #f0ede6;
  --color-success-text: #2f6b1f;
  --color-success-bg: #dcefd0;
  --color-success-border: #86ad78;
  --color-warning-text: #8a5300;
  --color-warning-bg: #fbe6b4;
  --color-warning-border: #c29c5a;
  --color-info-text: #1c4a72;
  --color-info-bg: #d4e6f5;
  --color-info-border: #7898b4;
  --color-error-text: #a81f0e;
  --color-error-bg: #fbdcd6;
  --color-error-border: #d27e72;
  --color-error-bg-hover: #f1c5be;
  --color-error-bg-active: #eab6ae;
  --color-diff-added-row-bg: #e5f1d9;
  --color-diff-removed-row-bg: #fae4de;
  --color-diff-moved-row-bg: #faebc6;
  --color-diff-added-word-bg: #dcefd0;
  --color-diff-removed-word-bg: #fbdcd6;
  --color-diff-added-row-border: #97ba89;
  --color-diff-removed-row-border: #da9086;
  --color-diff-moved-row-border: #ceab6c;
  --color-diff-inactive: #f0ede6;
}

/* -- Dark ---------------------------------------------------------- */
:root[data-theme*="dark"] {
  --color-body: #100e0b;
  --color-box-body: #1e1b16;
  --color-box-header: #292621;
  --color-box-body-highlight: #34312c;
  --color-card: #1e1b16;
  --color-menu: #1e1b16;
  --color-button: #1e1b16;
  --color-secondary-bg: #292621;
  --color-header-wrapper: #1e1b16;
  --color-header-wrapper-transparent: #1e1b1600;
  --color-footer: #292621;
  --color-nav-bg: #292621;
  --color-nav-hover-bg: #3d3a34;
  --color-secondary-nav-bg: #100e0b;
  --color-project-board-bg: #292621;
  --color-secondary: #463f33;
  --color-light-border: #463f33;
  --color-timeline: #463f33;
  --color-shadow: transparent;
  --color-light: #1e1b16cc;
  --color-hover: #fdf8ee14;
  --color-active: #fdf8ee24;
  --color-expand-button: #393630;
  --color-reaction-bg: #fdf8ee0f;
  --color-reaction-hover-bg: #f0cf7e33;
  --color-reaction-active-bg: #f0cf7e4c;
  --color-text-dark: #fdf8ee;
  --color-text: #d8cdb4;
  --color-text-light: #a3947a;
  --color-text-light-1: #a3947a;
  --color-text-light-2: #a3947a;
  --color-text-light-3: #a3947a;
  --color-text-focus: #fdf8ee;
  --color-placeholder-text: #a3947a;
  --color-caret: #d8cdb4;
  --color-selection-bg: #f0cf7e;
  --color-selection-fg: #1a1309;
  --color-input-background: #1e1b16;
  --color-input-text: #d8cdb4;
  --color-input-border: #786e5a;
  --color-input-border-hover: #f0cf7e;
  --color-input-toggle-background: #3d3a34;
  --color-primary: #f0cf7e;
  --color-primary-contrast: #1a1309;
  --color-primary-dark-1: #f1d48a;
  --color-primary-light-1: #d3b66f;
  --color-primary-dark-2: #f3d897;
  --color-primary-light-2: #b69d60;
  --color-primary-dark-3: #f4dda3;
  --color-primary-light-3: #998451;
  --color-primary-dark-4: #f6e1af;
  --color-primary-light-4: #7c6b42;
  --color-primary-dark-5: #f7e6bc;
  --color-primary-light-5: #5e5233;
  --color-primary-dark-6: #f9eac8;
  --color-primary-light-6: #413824;
  --color-primary-dark-7: #faefd4;
  --color-primary-light-7: #241f15;
  --color-primary-alpha-10: #f0cf7e1a;
  --color-primary-alpha-20: #f0cf7e33;
  --color-primary-alpha-30: #f0cf7e4c;
  --color-primary-alpha-40: #f0cf7e66;
  --color-primary-alpha-50: #f0cf7e80;
  --color-primary-alpha-60: #f0cf7e99;
  --color-primary-alpha-70: #f0cf7eb2;
  --color-primary-alpha-80: #f0cf7ecc;
  --color-primary-alpha-90: #f0cf7ee6;
  --color-primary-hover: var(--color-primary-dark-2);
  --color-primary-active: var(--color-primary-dark-4);
  --color-highlight-fg: #fdf8ee;
  --color-highlight-bg: #f0cf7e38;
  --color-editor-line-highlight: #f0cf7e1f;
  --color-label-bg: #393630;
  --color-label-bg-alt: #302d27;
  --color-label-hover-bg: #46433d;
  --color-label-active-bg: #54504a;
  --color-label-text: #d8cdb4;
  --color-tooltip-bg: #f0cf7e;
  --color-tooltip-text: #1a1309;
  --color-overlay-backdrop: #2b2114bf;
  --color-code-bg: #1e1b16;
  --color-markup-code-block: #2b2823;
  --color-markup-code-inline: #393630;
  --color-markup-table-row: #27241f;
  --color-success-text: #96e06a;
  --color-success-bg: #1a2612;
  --color-success-border: #58833e;
  --color-warning-text: #ffc44d;
  --color-warning-bg: #2b2110;
  --color-warning-border: #95722e;
  --color-info-text: #7cc4ff;
  --color-info-bg: #121e2b;
  --color-info-border: #477195;
  --color-error-text: #ff8e79;
  --color-error-bg: #2e1613;
  --color-error-border: #965246;
  --color-error-bg-hover: #47241f;
  --color-error-bg-active: #582e27;
  --color-diff-added-row-bg: #1b2313;
  --color-diff-removed-row-bg: #291814;
  --color-diff-moved-row-bg: #271f12;
  --color-diff-added-word-bg: #1a2612;
  --color-diff-removed-word-bg: #2e1613;
  --color-diff-added-row-border: #4c7035;
  --color-diff-removed-row-border: #82463c;
  --color-diff-moved-row-border: #806228;
  --color-diff-inactive: #27241f;
}

@media (prefers-color-scheme: dark) {
  :root[data-theme*="auto"] {
    --color-body: #100e0b;
    --color-box-body: #1e1b16;
    --color-box-header: #292621;
    --color-box-body-highlight: #34312c;
    --color-card: #1e1b16;
    --color-menu: #1e1b16;
    --color-button: #1e1b16;
    --color-secondary-bg: #292621;
    --color-header-wrapper: #1e1b16;
    --color-header-wrapper-transparent: #1e1b1600;
    --color-footer: #292621;
    --color-nav-bg: #292621;
    --color-nav-hover-bg: #3d3a34;
    --color-secondary-nav-bg: #100e0b;
    --color-project-board-bg: #292621;
    --color-secondary: #463f33;
    --color-light-border: #463f33;
    --color-timeline: #463f33;
    --color-shadow: transparent;
    --color-light: #1e1b16cc;
    --color-hover: #fdf8ee14;
    --color-active: #fdf8ee24;
    --color-expand-button: #393630;
    --color-reaction-bg: #fdf8ee0f;
    --color-reaction-hover-bg: #f0cf7e33;
    --color-reaction-active-bg: #f0cf7e4c;
    --color-text-dark: #fdf8ee;
    --color-text: #d8cdb4;
    --color-text-light: #a3947a;
    --color-text-light-1: #a3947a;
    --color-text-light-2: #a3947a;
    --color-text-light-3: #a3947a;
    --color-text-focus: #fdf8ee;
    --color-placeholder-text: #a3947a;
    --color-caret: #d8cdb4;
    --color-selection-bg: #f0cf7e;
    --color-selection-fg: #1a1309;
    --color-input-background: #1e1b16;
    --color-input-text: #d8cdb4;
    --color-input-border: #786e5a;
    --color-input-border-hover: #f0cf7e;
    --color-input-toggle-background: #3d3a34;
    --color-primary: #f0cf7e;
    --color-primary-contrast: #1a1309;
    --color-primary-dark-1: #f1d48a;
    --color-primary-light-1: #d3b66f;
    --color-primary-dark-2: #f3d897;
    --color-primary-light-2: #b69d60;
    --color-primary-dark-3: #f4dda3;
    --color-primary-light-3: #998451;
    --color-primary-dark-4: #f6e1af;
    --color-primary-light-4: #7c6b42;
    --color-primary-dark-5: #f7e6bc;
    --color-primary-light-5: #5e5233;
    --color-primary-dark-6: #f9eac8;
    --color-primary-light-6: #413824;
    --color-primary-dark-7: #faefd4;
    --color-primary-light-7: #241f15;
    --color-primary-alpha-10: #f0cf7e1a;
    --color-primary-alpha-20: #f0cf7e33;
    --color-primary-alpha-30: #f0cf7e4c;
    --color-primary-alpha-40: #f0cf7e66;
    --color-primary-alpha-50: #f0cf7e80;
    --color-primary-alpha-60: #f0cf7e99;
    --color-primary-alpha-70: #f0cf7eb2;
    --color-primary-alpha-80: #f0cf7ecc;
    --color-primary-alpha-90: #f0cf7ee6;
    --color-primary-hover: var(--color-primary-dark-2);
    --color-primary-active: var(--color-primary-dark-4);
    --color-highlight-fg: #fdf8ee;
    --color-highlight-bg: #f0cf7e38;
    --color-editor-line-highlight: #f0cf7e1f;
    --color-label-bg: #393630;
    --color-label-bg-alt: #302d27;
    --color-label-hover-bg: #46433d;
    --color-label-active-bg: #54504a;
    --color-label-text: #d8cdb4;
    --color-tooltip-bg: #f0cf7e;
    --color-tooltip-text: #1a1309;
    --color-overlay-backdrop: #2b2114bf;
    --color-code-bg: #1e1b16;
    --color-markup-code-block: #2b2823;
    --color-markup-code-inline: #393630;
    --color-markup-table-row: #27241f;
    --color-success-text: #96e06a;
    --color-success-bg: #1a2612;
    --color-success-border: #58833e;
    --color-warning-text: #ffc44d;
    --color-warning-bg: #2b2110;
    --color-warning-border: #95722e;
    --color-info-text: #7cc4ff;
    --color-info-bg: #121e2b;
    --color-info-border: #477195;
    --color-error-text: #ff8e79;
    --color-error-bg: #2e1613;
    --color-error-border: #965246;
    --color-error-bg-hover: #47241f;
    --color-error-bg-active: #582e27;
    --color-diff-added-row-bg: #1b2313;
    --color-diff-removed-row-bg: #291814;
    --color-diff-moved-row-bg: #271f12;
    --color-diff-added-word-bg: #1a2612;
    --color-diff-removed-word-bg: #2e1613;
    --color-diff-added-row-border: #4c7035;
    --color-diff-removed-row-border: #82463c;
    --color-diff-moved-row-border: #806228;
    --color-diff-inactive: #27241f;
}
}

/* -- Components ---------------------------------------------------------- */

/* geometry.shadow: none. --color-shadow: transparent catches most of it,
   these two rules catch the rest. */
:root[data-theme] .ui.dropdown .menu,
:root[data-theme] .ui.menu .menu,
:root[data-theme] .tippy-box {
  box-shadow: none;
  border: 1px solid var(--color-secondary);
}

/* typography.scale: heading/lg and heading/sm run in mono 700.
   Running text stays sans -- "Mono nie fuer Fliesstext". */
:root[data-theme] h1, :root[data-theme] h2, :root[data-theme] h3,
:root[data-theme] h4, :root[data-theme] .ui.header {
  font-family: 'Space Mono', var(--fonts-monospace);
  font-weight: 700;
  letter-spacing: -0.02em;
}
/* Headings inside rendered markup keep the proportional face: there the
   heading is part of the text, not part of the surface. */
:root[data-theme] .markup h1, :root[data-theme] .markup h2,
:root[data-theme] .markup h3, :root[data-theme] .markup h4,
:root[data-theme] .markup h5, :root[data-theme] .markup h6 {
  font-family: var(--fonts-proportional);
  font-weight: 600;
  letter-spacing: -0.01em;
}

/* brand.wordmarkRules: "Mono in Kopfzeile und Kacheln". */
:root[data-theme] #navbar .brand strong,
:root[data-theme] #navbar .brand .text {
  font-family: 'Space Mono', var(--fonts-monospace);
  font-weight: 700;
  letter-spacing: -0.02em;
}

/* logo.rendering: pixelated, and never smoothly resampled. */
:root[data-theme] #navbar .brand img,
:root[data-theme] img[src*="/assets/img/logo"] {
  image-rendering: pixelated;
}

/* interaction.focusRing: 2px accent, offset 3. Applies to anything that can
   take focus -- a visible ring is an accessibility requirement, not trim. */
:root[data-theme] :focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}

/* interaction.reducedMotion: respected, and then without transitions. */
@media (prefers-reduced-motion: reduce) {
  :root[data-theme] *,
  :root[data-theme] *::before,
  :root[data-theme] *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
